diff --git a/docs/OtherSupporting/HydroDyn/HydroDyn_HorizontalMembers_Plan_Rev3.pdf b/docs/OtherSupporting/HydroDyn/HydroDyn_HorizontalMembers_Plan_Rev3.pdf new file mode 100644 index 0000000000..59bccdf915 Binary files /dev/null and b/docs/OtherSupporting/HydroDyn/HydroDyn_HorizontalMembers_Plan_Rev3.pdf differ diff --git a/docs/OtherSupporting/OutListParameters.xlsx b/docs/OtherSupporting/OutListParameters.xlsx index 97fd75bc0b..f1b360d6a2 100644 Binary files a/docs/OtherSupporting/OutListParameters.xlsx and b/docs/OtherSupporting/OutListParameters.xlsx differ diff --git a/docs/source/user/api_change.rst b/docs/source/user/api_change.rst index 97040f95bd..01a78629a0 100644 --- a/docs/source/user/api_change.rst +++ b/docs/source/user/api_change.rst @@ -41,6 +41,42 @@ AeroDyn \* (-) OLAF 26 RegFunctionPart 2 RegFunctionPart - Particle regularization function {0: None, 1: Exponential, 2: Compact, "default": 1} [only if VelocityMethod=2,3] (switch) ============================================= ======== ==================== ========================================================================================================================================================================================================================================================================================================== +The meaning of the HydroDyn ``WaveDisp`` input has changed, although its valid values (0 and 1) are unchanged. +``WaveDisp`` now controls both where the wave kinematics and dynamic pressure are evaluated and the orientation +of the strip-theory (Morison) members and joints. With ``WaveDisp=0``, the strip-theory members are placed at a +reference configuration consistent with the potential-flow model—the reference yaw (from ``PtfmYMod``, +``PtfmRefY``, and ``PtfmYCutOff``) plus a horizontal x-y drift of the platform reference point governed by +``ExctnDisp`` and ``ExctnCutOff``—rather than being held at the undisplaced position rotated by a constant +``PtfmRefY``. These five inputs are honored by strip-theory members when ``WaveDisp=0`` even if no potential-flow +model is present (``PotMod=0``). The previous ``WaveDisp=0`` behavior is recovered by setting ``PtfmYMod=0`` and +``ExctnDisp=0``. With ``WaveDisp=1``, the exact instantaneous displaced position and orientation are used, including +the vertical displacement, which was previously ignored unless ``WaveStMod>0``. + +============================================= ======== ==================== ========================================================================================================================================================================================================================================================================================================== +Modified in OpenFAST `5.1.0` +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +Module Line Flag Name Example Value +============================================= ======== ==================== ========================================================================================================================================================================================================================================================================================================== +HydroDyn 7 ExctnDisp 0 ExctnDisp - Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position} [used by potential flow when PotMod=1, ExctnMod>0, and SeaState's WaveMod>0; also used by strip theory when WaveDisp=0] (switch) +HydroDyn 8 ExctnCutOff 0.01 ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0; only used when ExctnDisp=2] +HydroDyn \* WaveDisp 0 WaveDisp - Method of displacing strip-theory members and joints {0: use potential-flow consistent displacement, 1: use exact instantaneous displacement} (switch) +============================================= ======== ==================== ========================================================================================================================================================================================================================================================================================================== + +In previous versions of OpenFAST, HydroDyn's input file included the ``AMMod`` option to control the method of computing +distributed strip-theory added-mass force. Setting ``AMMod`` to 0 forces HydroDyn to always compute the added-mass +force up to the still water level (SWL). This switch was added because of numerical stability issues encountered when +evaluating the added-mass force up to the instantaneous free surface with some hydroelastic models. With the improved +solver stability of OpenFAST `5.1.0`, the ``AMMod`` option was deemed no longer necessary based on user feedback and was +removed. + +============================================= ======== ==================== ========================================================================================================================================================================================================================================================================================================== +Removed in OpenFAST `5.1.0` +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +Module Line Flag Name Example Value +============================================= ======== ==================== ========================================================================================================================================================================================================================================================================================================== +HydroDyn \* AMMod 0 AMMod - Method of computing distributed strip-theory added-mass force {0: evaluate up to SWL, 1: evaluate up to instantaneous free surface if WaveStMod > 0} (switch) +============================================= ======== ==================== ========================================================================================================================================================================================================================================================================================================== + 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 9df2179bc4..47baa37bf0 100644 --- a/docs/source/user/hydrodyn/appendix.rst +++ b/docs/source/user/hydrodyn/appendix.rst @@ -10,11 +10,11 @@ structure:: ------- HydroDyn Input File ---------------------------------------------------- historic NREL 5.0 MW offshore baseline floating platform HydroDyn input properties for the OC4 Semi-submersible. False Echo - Echo the input file data (flag) - ---------------------- FLOATING PLATFORM --------------------------------------- [unused with WaveMod=6] + ---------------------- FLOATING PLATFORM --------------------------------------- [only ExctnDisp, ExctnCutOff, PtfmYMod, PtfmRefY, and PtfmYCutOff used with WaveMod=6] 1 PotMod - Potential-flow model {0: none=no potential flow, 1: frequency-to-time-domain transforms based on WAMIT output, 2: fluid-impulse theory (FIT)} (switch) 1 ExctnMod - Wave-excitation model {0: no wave-excitation calculation, 1: DFT, 2: state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ssexctn INPUT FILE; if PtfmYMod=1, need ExctnMod=0 or 1] - 0 ExctnDisp - Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0 and SeaState's WaveMod>0]} (switch) - 10 ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0] [used only when PotMod=1, ExctnMod>0, and ExctnDisp=2]) [only used when PotMod=1 and ExctnMod>0 and SeaState's WaveMod>0]} (switch) + 0 ExctnDisp - Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position} [used by potential flow when PotMod=1, ExctnMod>0, and SeaState's WaveMod>0; also used by strip theory when WaveDisp=0] (switch) + 10 ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0; only used when ExctnDisp=2] 0 PtfmYMod - Model for large platform yaw offset {0: Static reference yaw offset based on PtfmRefY, 1: dynamic reference yaw offset based on low-pass filtering the PRP yaw motion with cutoff frequency PtfmYCutOff} (switch) 0 PtfmRefY - Constant (if PtfmYMod=0) or initial (if PtfmYMod=1) platform reference yaw offset (deg) 0.01 PtfmYCutOff - Cutoff frequency for the low-pass filtering of PRP yaw motion when PtfmYMod=1 [>0.0; unused when PtfmYMod=0] (Hz) @@ -67,8 +67,7 @@ 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) - 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 WaveDisp - Method of displacing strip-theory members and joints {0: use potential-flow consistent displacement, 1: use exact instantaneous displacement} (switch) 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 (-) @@ -339,6 +338,7 @@ MαNβFBxi, MαNβFByi, MαNβFBzi, MαNβMBxi, MαNβMByi, MαNβMBzi (N/ MαNβFBFxi, MαNβFBFyi, MαNβFBFzi, MαNβMBFxi, MαNβMBFyi, MαNβMBFzi (N/m), (N/m), (N/m), (N·m/m), (N·m/m), (N·m/m) Negative buoyancy loads due to flooding/ballasting at MαNβ MαNβFMGxi, MαNβFMGyi, MαNβFMGzi, MαNβMMGxi, MαNβMMGyi, MαNβMMGzi (N/m), (N/m), (N/m), (N·m/m), (N·m/m), (N·m/m) Loads due to marine growth weight at MαNβ MαNβFAMxi, MαNβFAMyi, MαNβFAMzi (N/m), (N/m), (N/m) Hydrodynamic added-mass forces at MαNβ +MαNβFWExi, MαNβFWEyi, MαNβFWEzi (N/m), (N/m), (N/m) Hydrodynamic water-entry/exit forces at MαNβ MαNβFAGxi, MαNβFAGyi, MαNβFAGzi, MαNβMAGxi, MαNβMAGyi, MαNβMAGzi (N/m), (N/m), (N/m), (N·m/m), (N·m/m), (N·m/m) Marine growth mass inertia loads at MαNβ MαNβFAFxi, MαNβFAFyi, MαNβFAFzi, MαNβMAFxi, MαNβMAFyi, MαNβMAFzi (N/m), (N/m), (N/m), (N·m/m), (N·m/m), (N·m/m) Flooding/ballasting mass inertia loads at MαNβ **Lumped Loads at Joints** @@ -348,5 +348,6 @@ JαFBxi, JαFByi, JαFBzi, JαMBxi, JαMByi, JαMBzi (N), (N), JαFBFxi, JαFBFyi, JαFBFzi, JαMBFxi, JαMBFyi, JαMBFzi (N), (N), (N), (N·m), (N·m), (N·m) Negative buoyancy loads due to flooding/ballasting at Jα JαFMGxi, JαFMGyi, JαFMGzi (N), (N), (N) Forces due to marine growth weight at Jα JαFAMxi, JαFAMyi, JαFAMzi (N), (N), (N) Hydrodynamic added-mass forces at Jα +JαFWExi, JαFWEyi, JαFWEzi (N), (N), (N) Hydrodynamic water-entry/exit forces at Jα JαFAGxi, JαFAGyi, JαFAGzi, JαMAGxi, JαMAGyi, JαMAGzi (N), (N), (N), (N·m), (N·m), (N·m) Marine growth mass inertia loads at Jα ================================================================ ========================================================================================================== ======================================================================================== diff --git a/docs/source/user/hydrodyn/index.rst b/docs/source/user/hydrodyn/index.rst index 421b962dea..756e29bbf7 100644 --- a/docs/source/user/hydrodyn/index.rst +++ b/docs/source/user/hydrodyn/index.rst @@ -37,6 +37,7 @@ of HydroDyn. - :download:`Implementation Plan - 2nd-order Forces Within HydroDyn <../../../OtherSupporting/HydroDyn/HydroDyn_2ndOrderForces_Plan.pdf>` - :download:`Implementation Plan - 2nd-order Wave Kinematics Within HydroDyn <../../../OtherSupporting/HydroDyn/WAVE2_document.pdf>` - :download:`Plan for Adding Wave Stretching to HydroDyn <../../../OtherSupporting/HydroDyn/HydroDyn_WaveStretching_Plan.docx>` +- :download:`Implementation Plan - Hydrodynamic Loads on Strip-Theory Members at a Shallow Angle Relative to the Free Surface <../../../OtherSupporting/HydroDyn/HydroDyn_HorizontalMembers_Plan_Rev3.pdf>` HydroDyn allows for multiple approaches for calculating the hydrodynamic diff --git a/docs/source/user/hydrodyn/input_files.rst b/docs/source/user/hydrodyn/input_files.rst index 36e2e6825f..aa6bbfb52f 100644 --- a/docs/source/user/hydrodyn/input_files.rst +++ b/docs/source/user/hydrodyn/input_files.rst @@ -219,7 +219,10 @@ nonzero **MSL2SWL** or **WaveMod** = 6 in SeaState. If the load contributions from potential-flow theory are to be included, set **PotMod** to 1 to use frequency-to-time domain transforms based on WAMIT output or 2 to use FIT (FIT is not yet documented in -this manual). The remaining parameters in this section are only used when +this manual). The inputs **ExctnDisp**, **ExctnCutOff**, **PtfmYMod**, +**PtfmRefY**, and **PtfmYCutOff** also affect the strip-theory (Morison) +loads when **WaveDisp** = 0, even if **PotMod** = 0, as explained under Strip theory +options below. The remaining parameters in this section are only used when **PotMod** = 1. **ExctnMod** can be set to 0 for no wave excitation, 1 for @@ -244,12 +247,32 @@ motion to prevent double counting the contributions from first-order structural motion already included in the second-order potential-flow wave excitation. +Beyond the potential-flow wave excitation, **ExctnDisp** and **ExctnCutOff** also +govern the horizontal x-y drift applied to the strip-theory (Morison) members +when **WaveDisp** = 0, as described under Strip theory options below. These inputs +are honored regardless of whether potential-flow bodies are present, so a +strip-theory-only model can use the same reference-position treatment. When +**ExctnDisp** = 2, **ExctnCutOff** must be greater than zero even without +potential-flow bodies. + HydroDyn now supports large but slow (well below wave frequencies) transient platform yaw motion with both strip-theory only and hybrid potential-flow models. To enable this capability, the inputs -**PtfmYMod**, **PtfmRefY**, **PtfmYCutoff**, and **NExctnHdg** must -be set appropriately. Note that HydroDyn still requires the platform -roll and pitch angles to be small, i.e., within +/-15 deg. +**PtfmYMod**, **PtfmRefY**, **PtfmYCutOff**, and **NExctnHdg** must +be set appropriately. **PtfmYMod**, **PtfmRefY**, and **PtfmYCutOff** +also set the reference yaw orientation of the strip-theory members +when **WaveDisp** = 0 even if potential flow is not used +(**PotMod** = 0), as described below. **NExctnHdg** only affects the +potential-flow wave excitation and has no impact on the strip-theory +members. Strip-theory-only models with **WaveDisp** = 1 support large +yaw motion without any of these inputs. Note that HydroDyn still +requires the platform roll and pitch angles to be small, i.e., within ++/-15 deg, with the only exception being strip-theory only models with +**WaveDisp** = 1. In this latter case, HydroDyn places no restriction +on platform rotation. A severe warning is displayed if the roll or pitch +angle of a potential-flow body exceeds this limit. Strip-theory-only +models with **WaveDisp** = 0 are not checked, even though their loads +assume small roll and pitch angles. To conform with the first- and second-order potential-flow theory, which limits the structure to small displacement about a reference @@ -273,8 +296,8 @@ platform yaw rotation, analogous to the modeling of slow-drift motion with **ExctnDisp** = 2 above. In this case, the **PtfmRefY** input allows the user to specify the initial reference yaw position at **t** = 0. The cutoff frequency of the first-order low-pass filter -for platform yaw rotation can be set with **PtfmYCutoff** in Hz. -Ideally, **PtfmYCutoff** should be placed between the wave frequency +for platform yaw rotation can be set with **PtfmYCutOff** in Hz. +Ideally, **PtfmYCutOff** should be placed between the wave frequency region and the characteristic frequency of any slow but large change in platform heading to filter out as much wave-frequency platform motion as possible while minimizing the phase shift in the low-frequency @@ -284,6 +307,11 @@ time-dependent **PtfmRefY**. A severe warning will be displayed if this requirement is not met at any point during the simulation, while still allowing the simulation to continue if possible. +With either **PtfmYMod** option, the +/-15 deg yaw requirement and the +associated warning only apply when **PtfmRefY** is used, i.e., with +potential-flow bodies or with strip-theory members and **WaveDisp** = 0. +They do not apply to strip-theory-only models with **WaveDisp** = 1. + With **PtfmYMod** = 1, HydroDyn requires the first- and second-order (mean- or slow-drift loads from Newman's approximation only) potential-flow wave excitation input file(s) to cover the full range @@ -302,24 +330,24 @@ should be set appropriately to ensure adequate angular resolution in platform heading. However, a high **NExctnHdg** can increase memory use by OpenFAST substantially. -Additional constraints on HydroDyn inputs apply when **PtfmYMod** = 1. -The strip-theory hydrodynamic load must be evaluated using the wave -kinematics and dynamic pressure at the displaced structure position -by setting **WaveDisp** = 1. State-space wave excitation cannot be used. -**ExctnMod** must be either 0 (no wave excitation) or 1 (frequency-to-time -domain transform using inverse discrete Fourier transform). Lastly, -full difference- and sum-frequency QTFs are not supported, requiring -both **DiffQTF** and **SumQTF** to be set to 0. However, mean- or -slow-drift loads based on Newman's approximation can be included through -the **MnDrift** or **NewmanApp** inputs explained below. - -Note that the inputs **PtfmYMod** and **PtfmRefY** also affect the -strip-theory hydrodynamic load. This is because the orientation of -the strip-theory members is updated based on **PtfmRefY** instead -of the instantaneous platform yaw rotation. Behavior of previous -versions of HydroDyn can be approximately recovered by setting -**PtfmYMod** = 0 and **PtfmRefY** = 0 deg, in which case, the -inputs **PtfmYCutoff** and **NExctnHdg** are not used. +Additional restrictions on HydroDyn inputs apply when **PtfmYMod** = 1. +First, state-space wave excitation cannot be used. **ExctnMod** must be +either 0 (no wave excitation) or 1 (frequency-to-time domain transform +using inverse discrete Fourier transform). Secondly, full difference- +and sum-frequency QTFs are not supported, requiring both **DiffQTF** +and **SumQTF** to be set to 0. However, mean- or slow-drift loads based +on Newman's approximation can be included through the **MnDrift** or +**NewmanApp** inputs explained below. + +Note that **PtfmYMod** and **PtfmRefY** also affect the strip-theory +hydrodynamic load when **WaveDisp** = 0. In that mode, the displacement +and rotation of the strip-theory members and joints are based on +**PtfmRefY** (together with the x-y drift from **ExctnDisp**) rather than +the full 6DOF instantaneous structure motion, as described under Strip +theory options below. When **WaveDisp** = 1, the exact instantaneous +member and joint orientations are used instead, so **PtfmRefY** does not +affect the strip-theory load. The inputs **PtfmYCutOff** and **NExctnHdg** +are not used when **PtfmYMod** = 0. HydroDyn has two methods for calculating the radiation memory effect. Set **RdtnMod** to 1 for the convolution method, 2 for the linear @@ -549,12 +577,12 @@ pressure above the still water level is negative. See **Note** below. The instantaneous displaced position of the body is always used to obtain the correct hydrostatic restoring force and moment. Note that when **FKMod** = 1, the **ExctnDisp** and **ExctnCutOff** settings only affect the scattering -part of the wave excitation based on the *.3sc* file. Similarly, **PtfmYMod**, -**PtfmRefY**, and **PtfmYCutOff** will only affect the scattering part of the -wave excitation and the wave radiation load calculation, with the Froude-Krylov -wave excitation and hydrostatic load calculation superseded by the body-exact -pressure integration. These inputs can still be set freely by the user as -appropriate. +part of the wave excitation of that body based on the *.3sc* file. Similarly, +**PtfmYMod**, **PtfmRefY**, and **PtfmYCutOff** will only affect the scattering +part of the wave excitation and the wave radiation load calculation for that +body, with the Froude-Krylov wave excitation and hydrostatic load calculation +superseded by the body-exact pressure integration. These inputs can still be +set freely by the user as appropriate. **Note:** While OpenFAST allows the user to select any of the available **WaveStMod** options with the nonlinear Froude-Krylov and hydrostatic load @@ -707,29 +735,29 @@ apply constant hydrostatic/buoyancy loads to the generalized modes. Strip theory options -------------------- -**WaveDisp** can be set to 0 to compute the strip-theory loads using the -wave kinematics and dynamic pressure at the undisplaced position of the -structure. If set to 1, the loads will be computed using the wave kinematics -and dynamic pressure at the instantaneous displaced positions of the strip-theory -members. Note that when wave stretching is not used (\ **WaveStMod** = 0 in -SeaState), only the *X*- and *Y*-displacements of the strip-theory member -nodes are considered when **WaveDisp** = 1, while the vertical *Z*-displacement is -ignored. This is done to avoid discontinuous nodal loads that can result in -unphysical structural vibration with a SubDyn substructure model. When -**WaveStMod** > 0 and **WaveDisp** = 1, displacements of strip-theory members -in all three directions are considered when computing the wave kinematics. -A load smoothing procedure is performed to avoid discontinuous nodal loads -in this case. - -**AMMod** controls the computation of distributed strip-theory added-mass force. -If **AMMod** = 0, the strip-theory added-mass force is always evaluated up -to the SWL while neglecting the vertical displacement of the strip-theory member -nodes, even if wave stretching is enabled. With **AMMod** = 1, the strip-theory -added-mass force is evaluated up to the instantaneous free surface if -**WaveStMod** > 0. The vertical displacement of strip-theory members will also be -accounted for if **WaveDisp** = 1. **AMMod** should only be set to 0 if wave -stretching is causing numerical instabilities with flexible fixed-bottom support -structures modeled in SubDyn. +**WaveDisp** controls both the position at which the wave kinematics and dynamic +pressure are evaluated and the orientation of the strip-theory members and joints +used when computing the hydrodynamic loads. + +Setting **WaveDisp** = 0 evaluates the loads at a reference configuration of the +strip-theory members that is consistent with the potential-flow model. Rather +than holding the members at their undisplaced position and orientation, HydroDyn +positions and orients them using the reference yaw (set through **PtfmYMod** and +**PtfmRefY**) together with a horizontal x-y drift of the HydroDyn origin (PRP) +governed by **ExctnDisp** and **ExctnCutOff** (see above). This results in 3DOF +horizontal-plane displacements only (surge, sway, and yaw). Both the member and +joint orientations used to compute the hydrodynamic loads and the node positions +at which the wave kinematics and dynamic pressure are queried follow this +reference configuration, so a mixed potential-flow/strip-theory model remains +geometrically self-consistent. The behavior of previous versions of HydroDyn with +**WaveDisp** = 0 can be recovered by setting **PtfmYMod** = 0 and **ExctnDisp** = 0. + +With **WaveDisp** = 1, the strip-theory loads are computed considering the full +6DOF instantaneous motion of the strip-theory members and joints. The wave +kinematics and dynamic pressure are evaluated at the exact instantaneous positions +of the strip-theory member nodes and joints, and member and joint orientations +consider full 3DOF rotation of the structure. A load smoothing procedure is +performed to avoid discontinuous nodal loads as members cross the free surface. **HstMod** controls the computation of distributed hydrostatic loads on strip-theory members. If **HstMod** = 0, the hydrostatic pressure is always @@ -919,7 +947,7 @@ Members **NMembers** is the user-specified number of members and determines the number of rows in the subsequent table. For each member distinguished by **MemberID**, **MJointID1** specifies the starting joint, and **MJointID2** specifies the ending joint, corresponding to an identifier (**JointID**) from the MEMBER JOINTS table. Likewise, **MPropSetID1** corresponds to the starting cross-section properties, and **MProSetID2** specify the ending cross-section properties, allowing for tapered members. **MSecGeom** indicates the cross-section shape of the member. It can be set to either 1 for circular cross section or 2 for rectangular cross section. Depending on **MSecGeom**, **MPropSetID1** and **MPropSetID2** either refer to entries in the CYLINDRICAL MEMBER CROSS-SECTION PROPERTIES table or the RECTANGULAR MEMBER CROSS-SECTION PROPERTIES table. **MSpinOrient** is an angle in degrees that specifies the spin orientation of each member, i.e., the rotation about the member axis. When **MSpinOrient** = 0, Side A of a rectangular section referenced in previous sections is parallel to the horizontal plane. If the member is perfectly vertical, Side A is parallel to the global *X*-axis when **MSpinOrient** = 0. Setting **MSpinOrient** to a nonzero value will rotate the member about its axis (pointing from the starting joint to the ending joint) following the right-hand convention by the prescribed angle. **MSpinOrient** should be specified for both members with rectangular cross sections and members with circular cross sections; however, it has no effect on the latter. **MDivSize** determines the maximum spacing (in meters) between simulation nodes where the distributed loads are actually computed; the smaller the number, the finer the resolution and longer the computational time. -Each member in your model will have hydrodynamic coefficients, which are specified using one of the three models (**MCoefMod**). Model 1 uses a single set of coefficients found in the SIMPLE HYDRODYNAMIC COEFFICIENTS sections. Model 2 is depth-based, and is determined via the table found in the DEPTH-BASED HYDRODYNAMIC COEFFICIENTS sections. Model 3 specifies coefficients for a particular member, by referring to the MEMBER-BASED HYDRODYNAMIC COEFFICIENTS sections. Depending on **MSecGeom**, HydroDyn will either use the hydrodynamic coefficients from the input tables for circular sections or rectangular sections as appropriate. The **MHstLMod** switch controls the computation of hydrostatic loads on strip-theory members when **PropPot** = FALSE. Setting **MHstLMod** to 0 disables hydrostatic load. If set to 1, hydrostatic loads will be computed analytically. This approach is efficient, but it only works for fully submerged or surface-piercing members that are far from horizontal without partially wetted endplates. For nearly horizontal members close to the free surface or members that experience partially wetted endplates, a semi-numerical approach for hydrostatic load can be selected by setting **MHstLMod** to 2. This approach works with any member positioning in relation to the free surface at the cost of slightly longer computing time. Note that for members with rectangular cross sections, **MHstLMod** must be either 0 or 2. The analytical approach with **MHstLMod** set to 1 is not available for rectangular members. The **PropPot** flag indicates whether the corresponding member is included in the potential-flow solution. When **PropPot** = TRUE, only viscous-drag loads and ballasting loads will be computed for that member, with the assumption that all other load components are already included in the potential-flow solution. +Each member in your model will have hydrodynamic coefficients, which are specified using one of the three models (**MCoefMod**). Model 1 uses a single set of coefficients found in the SIMPLE HYDRODYNAMIC COEFFICIENTS sections. Model 2 is depth-based, and is determined via the table found in the DEPTH-BASED HYDRODYNAMIC COEFFICIENTS sections. Model 3 specifies coefficients for a particular member, by referring to the MEMBER-BASED HYDRODYNAMIC COEFFICIENTS sections. Depending on **MSecGeom**, HydroDyn will either use the hydrodynamic coefficients from the input tables for circular sections or rectangular sections as appropriate. The **MHstLMod** switch controls the computation of hydrostatic loads on strip-theory members when **PropPot** = FALSE. Setting **MHstLMod** to 0 disables hydrostatic load. If set to 1, hydrostatic loads will be computed analytically. This approach is efficient, but it only works for fully submerged or surface-piercing members that are far from horizontal without partially wetted endplates. For nearly horizontal members close to the free surface or members that experience partially wetted endplates, a semi-numerical approach for hydrostatic load can be selected by setting **MHstLMod** to 2. This approach works with any member positioning in relation to the free surface at the cost of slightly longer computing time. Circular members at a shallow angle to the free surface also use a modified hydrodynamic load model that accounts for partial submergence of each section; see :numref:`hd-shallow-angle-members`. **MHstLMod** = 2 is recommended for these members. Note that for members with rectangular cross sections, **MHstLMod** must be either 0 or 2. The analytical approach with **MHstLMod** set to 1 is not available for rectangular members. The **PropPot** flag indicates whether the corresponding member is included in the potential-flow solution. When **PropPot** = TRUE, only viscous-drag loads and ballasting loads will be computed for that member, with the assumption that all other load components are already included in the potential-flow solution. In addition to the required inputs for each member explained above, we have several optional inputs for more advanced transverse drag modeling for rectangular members. These are **FDMod**, **VnCOffA**, **VnCOffB**, **FDLoFScA**, and **FDLoFScB**, as shown in the example below. For each rectangular member (**MSecGeom** = 2), users can either omit all these optional inputs together, in which case the simple default drag formulation will be used, or provide all five optional inputs to enable more advanced drag formulation. It is not allowed to provide only a subset of these optional inputs, while omitting others. These inputs are not relevant to members with circular cross sections (**MSecGeom** = 1) and should be omitted for these members. HydroDyn will simply ignore these optional inputs if provided for a circular member, and a warning will be displayed at the start of the simulation. diff --git a/docs/source/user/hydrodyn/modeling_considerations.rst b/docs/source/user/hydrodyn/modeling_considerations.rst index bea87bd790..6f76571d14 100644 --- a/docs/source/user/hydrodyn/modeling_considerations.rst +++ b/docs/source/user/hydrodyn/modeling_considerations.rst @@ -284,6 +284,116 @@ the inertia coefficient. For the distributed loads along members, there are separate set of hydrodynamic coefficients both with and without marine growth (**MG**). +.. _hd-shallow-angle-members: + +Strip-Theory Members at a Shallow Angle to the Free Surface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The standard strip-theory formulation treats each member section as either +fully submerged or dry depending on whether its centerline is below or above +the free surface (or SWL without wave stretching), and it implicitly assumes +the waterplane is perpendicular to the member axis. This is adequate for +surface-piercing members that are steep relative to the free surface, but not +for nearly horizontal members, such as pontoons and braces, that are close to +or cross the free surface. For these members, HydroDyn uses a modified +hydrodynamic load model that accounts for partial submergence of each circular +section. No additional inputs are required. The model is selected +automatically, and the user-specified hydrodynamic coefficients are used in +the same way as in the standard model. Details of the formulation are given +in the implementation plan, +:download:`Hydrodynamic Loads on Strip-Theory Members at a Shallow Angle Relative to the Free Surface <../../../OtherSupporting/HydroDyn/HydroDyn_HorizontalMembers_Plan_Rev3.pdf>`. + +**Applicability and blending.** The modified model applies to the distributed +loads on members with circular cross sections (**MSecGeom** = 1). Members +with rectangular cross sections always use the standard model. The choice is +made node by node based on the angle between the member axis and the local +free surface plane, which includes the local wave slope when wave stretching is +enabled. When the member axis is within 25 deg of the free surface, only the +modified model is used. When it is steeper than 35 deg, only the standard +model is used. In between, the loads from the two models are blended smoothly. +For members with **PropPot** = TRUE, only the drag load is computed, as in +the standard model. + +**Section submergence.** The submergence of each section is described by the +depth of the section center below the free surface, measured in the section +plane, normalized by the section radius. The wave kinematics and dynamic +pressure are evaluated at the section center if it is submerged and on the +free surface directly below it otherwise. Because the submergence is based +on the node positions used for the wave kinematics, **WaveDisp** = 1 is +strongly recommended so that the submergence follows the instantaneous motion +of the structure. The hydrostatic loads are not part of this model. +**MHstLMod** = 2 is recommended for these members for a consistent treatment +of the hydrostatic loads. Using **WaveDisp** = 1, **MHstLMod** = 2, +**Cp** = 1, **AxCp** = 1, and **Cb** = 1 ensures a consistent treatment of +both the dynamic Froude-Krylov force and hydrostatic loads. This setup is +strongly recommended for nearly horizontal strip-theory members floating on +the free surface. + +**Distributed loads.** The following load components are modified for +sections with partial or shallow submergence if the section normal is close to +parallel to the free surface. All of them reduce to the standard strip-theory +loads once the section is fully submerged and sufficiently deep. + +* Added mass and scattering: the transverse added mass depends on the + submergence and differs between the in-plane horizontal (sway) and + vertical (heave) directions. The heave added mass follows the + infinite-frequency potential-flow solution for a circular section near the + free surface (:cite:`Taylor:1930`, :cite:`GreenhowAhn:1988`). The + sway added mass follows the zero-frequency (rigid free surface) solution, + which is more representative of slow horizontal motion. Both are scaled by + **Ca** and reach the deeply submerged value when the section center is five + radii below the free surface. + +* Water entry and exit: as the added mass changes with submergence, an + additional force proportional to the rate of change of the added mass is + applied to conserve fluid momentum, following :cite:`vonKarman:1929`. + This force is based on the infinite-frequency added mass in both + directions. It is smoothed near the first contact between the section and + the free surface and is not intended to predict peak slamming loads. + +* Froude-Krylov: the dynamic pressure is integrated over the wetted part of + the section perimeter and scaled by **Cp**. + +* Drag: the transverse drag uses the wetted width of the section, i.e., the + chord at the waterline when the section center is above the free surface + and the full diameter otherwise. + +* Axial loads on tapered members: the axial added-mass, Froude-Krylov, and + drag loads are scaled by the wetted fraction of the section perimeter. + A water-entry/exit force in the axial direction is also included. This + force is based on the rate of change of the axial added mass and is + smoothed near both points of tangent contact between the section and the + free surface. + +**Joint loads.** The lumped loads at joints (member end plates) use a single +formulation for all orientations, so no blending is needed. The added-mass, +scattering, Froude-Krylov, and drag loads are scaled by the wetted fraction of +the end plate area, :math:`r`: the added-mass and scattering loads scale with +:math:`r^{3/2}`, and the Froude-Krylov and drag loads scale with :math:`r`. A +water-entry/exit force accounts for the change of the end-plate added mass +with submergence. End plates within 5 deg of being parallel to the free surface +are treated as either fully wet or fully dry with water-entry/exit force +dropped. When the end plate is fully submerged, the standard joint loads are +recovered. + +**Limitations.** The model has no memory: radiation damping and other +free-surface memory effects are not included, so damping of motions near the +free surface relies on drag only. The water-entry/exit forces conserve momentum +in each direction separately and are symmetric between entry and exit, i.e., +the energy removed on entry is returned on exit. A suitable drag coefficient +is required to account for the energy lost to viscous effects and/or water spray +if important. If accurate hydrodynamic loads are required for large, nearly +horizontal members that do not experience significant nonlinear submergence +effects, a potential-flow model can be considered instead. Conversely, for +slender members where these effects are significant, the strip-theory approach +may be more appropriate and convenient. Note that potential-flow models can +be used in conjunction with the nonlinear, mesh-based Froude-Krylov and +hydrostatic pressure integration over the instantaneous wetted surface +(**FKMod** = 1). This captures the nonlinear wetting effects on the +Froude-Krylov and hydrostatic loads and retains radiation damping. However, +the added mass, radiation, and scattering loads remain linear about the mean +wetted surface, so their dependence on the instantaneous submergence and the +resulting water-entry/exit forces are not captured. + Impact of Substructure Motions on Loads ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In general, HydroDyn assumes that structural motions of the substructure diff --git a/docs/source/user/hydrodyn/references.bib b/docs/source/user/hydrodyn/references.bib index b32d2066f7..2120880fd9 100644 --- a/docs/source/user/hydrodyn/references.bib +++ b/docs/source/user/hydrodyn/references.bib @@ -39,3 +39,31 @@ @manual{Standing:1987 organization = "Proceedings of the 79th Annual OTC", year = 1987, } + +@article{Taylor:1930, + author = "J. L. Taylor", + title = "Some hydrodynamical inertia coefficients", + journal = "Philosophical Magazine", + volume = "9", + number = "55", + pages = "161--183", + year = 1930, +} + +@article{GreenhowAhn:1988, + author = "M. Greenhow and S. I. Ahn", + title = "Added mass and damping of horizontal circular cylinder sections", + journal = "Ocean Engineering", + volume = "15", + number = "5", + pages = "495--504", + year = 1988, +} + +@techreport{vonKarman:1929, + author = "T. von K{\'a}rm{\'a}n", + title = "The impact on seaplane floats during landing", + institution = "National Advisory Committee for Aeronautics", + number = "Technical Note No. 321", + year = 1929, +} diff --git a/modules/hydrodyn/src/HydroDyn.f90 b/modules/hydrodyn/src/HydroDyn.f90 index b956880bc8..98b9618868 100644 --- a/modules/hydrodyn/src/HydroDyn.f90 +++ b/modules/hydrodyn/src/HydroDyn.f90 @@ -184,6 +184,11 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I p%WaveField => InitInp%WaveField p%PtfmYMod = InputFileData%PtfmYMod + ! Capture the user-specified ExctnDisp/ExctnCutOff that drive the Morison WaveDisp=0 horizontal drift (PtfmRefXY) here, + ! before HydroDynInput_ProcessInitData may force ExctnDisp=0 for the WAMIT excitation grid. This lets the Morison drift + ! follow the user settings regardless of whether potential-flow bodies are present (0: none, 1: instantaneous, 2: filtered). + p%PtfmXYMod = InputFileData%WAMIT%ExctnDisp + p%CXYFilt = exp(-TwoPi*Interval*InputFileData%WAMIT%ExctnCutOff) InputFileData%Morison%WaveField => InitInp%WaveField InputFileData%WAMIT%WaveField => InitInp%WaveField @@ -248,6 +253,10 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I END IF xd%PtfmRefY = InputFileData%PtfmRefY + ! Seed the filtered Morison WaveDisp=0 drift from the initial platform offset (matches WAMIT BdyPosFilt) to avoid a startup transient + xd%PtfmRefXY(1,:) = InitInp%PlatformPos(1) + xd%PtfmRefXY(2,:) = InitInp%PlatformPos(2) + ! Open a summary of the HydroDyn Initialization. Note: OutRootName must be set by the caller because there may not be an input file to obtain this rootname from. IF ( InputFileData%HDSum ) THEN @@ -636,6 +645,7 @@ SUBROUTINE HydroDyn_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, I InputFileData%Morison%VisMeshes = p%VisMeshes ! Additional Morison inputs to be initialized just in case u%Morison%PtfmRefY = 0.0_ReKi + u%Morison%PtfmRefXY = 0.0_ReKi u%Morison%PRP = [0.0_ReKi,0.0_ReKi,0.0_ReKi] ! Initialize the Morison Element Calculations CALL Morison_Init(InputFileData%Morison, u%Morison, p%Morison, x%Morison, xd%Morison, z%Morison, OtherState%Morison, & @@ -1223,24 +1233,32 @@ SUBROUTINE HydroDyn_UpdateStates( t, n, Inputs, InputTimes, p, x, xd, z, OtherSt nTime = size(Inputs) ! Update PtfmRefY - IF (p%PtfmYMod .EQ. 1) THEN + IF (p%PtfmYMod .EQ. 1 .OR. p%PtfmXYMod .EQ. 2) THEN ! Inefficient. Only need to interp PRPMesh below. Fix later. CALL HydroDyn_CopyInput(Inputs(1), u, MESH_NEWCOPY, ErrStat2, ErrMsg2) call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) CALL HydroDyn_Input_ExtrapInterp(Inputs, InputTimes, u, t, ErrStat2, ErrMsg2) call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - PRPRotation = EulerExtractZYX(u%PRPMesh%Orientation(:,:,1)) - ! Yaw angle from EulerExtractZYX might not be continous in time and can contain jumps of TwoPi - ! Adjust past xd%PtfmRefY to follow. - IF ( ABS(PRPRotation(3)-xd%PtfmRefY(1)) > ABS(PRPRotation(3)-(xd%PtfmRefY(1)-TwoPi)) ) THEN - xd%PtfmRefY = xd%PtfmRefY - TwoPi - ELSE IF ( ABS(PRPRotation(3)-xd%PtfmRefY(1)) > ABS(PRPRotation(3)-(xd%PtfmRefY(1)+TwoPi)) ) THEN - xd%PtfmRefY = xd%PtfmRefY + TwoPi + IF (p%PtfmYMod .EQ. 1) THEN + PRPRotation = EulerExtractZYX(u%PRPMesh%Orientation(:,:,1)) + ! Yaw angle from EulerExtractZYX might not be continous in time and can contain jumps of TwoPi + ! Adjust past xd%PtfmRefY to follow. + IF ( ABS(PRPRotation(3)-xd%PtfmRefY(1)) > ABS(PRPRotation(3)-(xd%PtfmRefY(1)-TwoPi)) ) THEN + xd%PtfmRefY = xd%PtfmRefY - TwoPi + ELSE IF ( ABS(PRPRotation(3)-xd%PtfmRefY(1)) > ABS(PRPRotation(3)-(xd%PtfmRefY(1)+TwoPi)) ) THEN + xd%PtfmRefY = xd%PtfmRefY + TwoPi + END IF + ! Update PtfmRefY states + xd%PtfmRefY(3) = xd%PtfmRefY(2) + xd%PtfmRefY(2) = xd%PtfmRefY(1) + xd%PtfmRefY(1) = p%CYawFilt * xd%PtfmRefY(1) + (1.0-p%CYawFilt) * PRPRotation(3) + END IF + IF (p%PtfmXYMod .EQ. 2) THEN + ! Low-pass filter the PRP x,y displacement (parallel to PtfmRefY) + xd%PtfmRefXY(:,3) = xd%PtfmRefXY(:,2) + xd%PtfmRefXY(:,2) = xd%PtfmRefXY(:,1) + xd%PtfmRefXY(:,1) = p%CXYFilt * xd%PtfmRefXY(:,1) + (1.0-p%CXYFilt) * u%PRPMesh%TranslationDisp(1:2,1) END IF - ! Update PtfmRefY states - xd%PtfmRefY(3) = xd%PtfmRefY(2) - xd%PtfmRefY(2) = xd%PtfmRefY(1) - xd%PtfmRefY(1) = p%CYawFilt * xd%PtfmRefY(1) + (1.0-p%CYawFilt) * PRPRotation(3) CALL HydroDyn_DestroyInput(u, ErrStat2, ErrMsg2) call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) END IF @@ -1257,6 +1275,14 @@ SUBROUTINE HydroDyn_UpdateStates( t, n, Inputs, InputTimes, p, x, xd, z, OtherSt CALL Morison_CopyInput(Inputs(i)%Morison, Inputs_Morison(i), MESH_NEWCOPY, ErrStat2, ErrMsg2) call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) Inputs_Morison(i)%PtfmRefY = xd%PtfmRefY(i) + select case (p%PtfmXYMod) + case (1) ! instantaneous PRP x,y drift + Inputs_Morison(i)%PtfmRefXY = Inputs(i)%PRPMesh%TranslationDisp(1:2,1) + case (2) ! low-pass filtered PRP x,y drift + Inputs_Morison(i)%PtfmRefXY = xd%PtfmRefXY(:,i) + case default ! 0: no drift + Inputs_Morison(i)%PtfmRefXY = 0.0_ReKi + end select Inputs_Morison(i)%PRP = Inputs(i)%PRPMesh%Position(:,1) + Inputs(i)%PRPMesh%TranslationDisp(:,1) END DO CALL Morison_CopyInput(Inputs(1)%Morison, u_Morison, MESH_NEWCOPY, ErrStat2, ErrMsg2) @@ -1491,6 +1517,7 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, integer(IntKi) :: iBody, indxStart, indxEnd, AddDOFCntr ! Counters REAL(ReKi), ALLOCATABLE :: RRg2b(:,:), RRb2g(:,:) REAL(ReKi) :: PtfmRefY + REAL(ReKi) :: PtfmRefXY(2) REAL(R8Ki) :: PRPRotation(3) REAL(ReKi) :: NLFKForce(3,p%NBody) @@ -1540,13 +1567,25 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, PtfmRefY = p%CYawFilt * xd%PtfmRefY(1) + (1.0-p%CYawFilt) * PRPRotation(3) END IF END IF - IF ( (ABS( WrapToPi(PRPRotation(3)-PtfmRefY) ) > LrgAngle) .AND. FrstWarn_LrgY ) THEN + ! PtfmRefY is only used by potential-flow bodies and by strip-theory members with WaveDisp=0 + IF ( (ABS( WrapToPi(PRPRotation(3)-PtfmRefY) ) > LrgAngle) .AND. FrstWarn_LrgY .AND. & + ( p%PotMod == 1 .OR. ( u%Morison%Mesh%Committed .AND. p%Morison%WaveDisp == 0 ) ) ) THEN ErrStat2 = ErrID_Severe - ErrMsg2 = 'Yaw angle at PRP relative to the reference yaw position (PtfmRefY) violated the small angle assumption. The solution might be inaccurate. Consider using PtfmYMod=1 and adjust PtfmYCutoff. Simulation continuing, but future warnings will be suppressed.' + ErrMsg2 = 'Yaw angle at PRP relative to the reference yaw position (PtfmRefY) violated the small angle assumption. The solution might be inaccurate. Consider using PtfmYMod=1 and adjust PtfmYCutOff. Simulation continuing, but future warnings will be suppressed.' FrstWarn_LrgY = .FALSE. if (Failed()) return END IF + ! Fresh x,y drift of the HD origin for WaveDisp=0 Morison (parallel to PtfmRefY) + SELECT CASE (p%PtfmXYMod) + CASE (1) ! instantaneous PRP x,y drift + PtfmRefXY = u%PRPMesh%TranslationDisp(1:2,1) + CASE (2) ! low-pass filtered PRP x,y drift + PtfmRefXY = p%CXYFilt * xd%PtfmRefXY(:,1) + (1.0-p%CXYFilt) * u%PRPMesh%TranslationDisp(1:2,1) + CASE DEFAULT ! 0: no drift + PtfmRefXY = 0.0_ReKi + END SELECT + !------------------------------------------------------------------- ! Additional stiffness, damping forces. These need to be placed on a point mesh which is located at the WAMIT reference point (WRP). ! This mesh will need to get mapped by the glue code for use by either ElastoDyn or SubDyn. @@ -1835,6 +1874,7 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, IF ( u%Morison%Mesh%Committed ) THEN ! Make sure we are using Morison / there is a valid mesh u%Morison%PtfmRefY = PtfmRefY + u%Morison%PtfmRefXY = PtfmRefXY u%Morison%PRP = u%PRPMesh%Position(:,1)+u%PRPMesh%TranslationDisp(:,1) CALL Morison_CalcOutput( Time, u%Morison, p%Morison, x%Morison, xd%Morison, & z%Morison, OtherState%Morison, y%Morison, m%Morison, & diff --git a/modules/hydrodyn/src/HydroDyn.txt b/modules/hydrodyn/src/HydroDyn.txt index 7e64865aba..bd0b2328f4 100644 --- a/modules/hydrodyn/src/HydroDyn.txt +++ b/modules/hydrodyn/src/HydroDyn.txt @@ -116,6 +116,7 @@ typedef ^ ContinuousStateType Morison_Con typedef ^ DiscreteStateType WAMIT_DiscreteStateType WAMIT {:} - - "discrete states from the wamit module" - typedef ^ DiscreteStateType Morison_DiscreteStateType Morison - - - "discrete states from the Morison module" - typedef ^ DiscreteStateType ReKi PtfmRefY {:} - - "Reference yaw position of the PRP relative to the inertial frame - Current step and two previous steps" (radians) +typedef ^ DiscreteStateType ReKi PtfmRefXY {2}{3} - - "Low-pass filtered x,y drift of the PRP/HD origin - current and two previous steps, consistent with WAMIT ExctnDisp=2" (m) # # # Define constraint states here: @@ -168,6 +169,8 @@ typedef ^ ^ logical typedef ^ ^ SeaSt_WaveFieldType *WaveField - - - "Pointer to SeaState wave field" - typedef ^ ^ INTEGER PtfmYMod - - - "Large yaw model" - typedef ^ ^ ReKi CYawFilt - - - "Low-pass filter constant for reference platform yaw position PtfmRefY" - +typedef ^ ^ INTEGER PtfmXYMod - - - "X/Y drift mode for the PRP, from the user-specified ExctnDisp applied regardless of potential-flow bodies (0 none, 1 instantaneous, 2 filtered). Used to displace the Morison members when WaveDisp=0" - +typedef ^ ^ ReKi CXYFilt - - - "Low-pass filter constant for the PRP x,y drift position (from ExctnCutOff)" - # # # ..... Inputs .................................................................................................................... diff --git a/modules/hydrodyn/src/HydroDyn_Input.f90 b/modules/hydrodyn/src/HydroDyn_Input.f90 index b091062a9f..589f2c2684 100644 --- a/modules/hydrodyn/src/HydroDyn_Input.f90 +++ b/modules/hydrodyn/src/HydroDyn_Input.f90 @@ -136,12 +136,11 @@ SUBROUTINE HydroDyn_ParseInput( InputFileName, OutRootName, FileInfo_In, InputFi call ParseVar( FileInfo_In, CurLine, 'ExctnMod', InputFileData%WAMIT%ExctnMod, ErrStat2, ErrMsg2, UnEc ) if (Failed()) return; - ! ExctnDisp - Use body displacements to compute Wave Excitations {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0]} (switch) + ! ExctnDisp - Use body displacements to compute Wave Excitations {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position} [used by potential flow when PotMod=1, ExctnMod>0, and WaveMod>0; also used by strip theory when WaveDisp=0] (switch) call ParseVar( FileInfo_In, CurLine, 'ExctnDisp', InputFileData%WAMIT%ExctnDisp, ErrStat2, ErrMsg2, UnEc ) if (Failed()) return; - ! ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0] [used only when PotMod=1, ExctnMod>0, and ExctnDisp=2]) - ! [STATE-SPACE REQUIRES *.ssexctn INPUT FILE] + ! ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0; only used when ExctnDisp=2] call ParseVar( FileInfo_In, CurLine, 'ExctnCutOff', InputFileData%WAMIT%ExctnCutOff, ErrStat2, ErrMsg2, UnEc ) if (Failed()) return; @@ -364,10 +363,6 @@ SUBROUTINE HydroDyn_ParseInput( InputFileName, OutRootName, FileInfo_In, InputFi call ParseVar( FileInfo_In, CurLine, 'WaveDisp', InputFileData%Morison%WaveDisp, ErrStat2, ErrMsg2, UnEc ) if (Failed()) return; - ! AMMod - Method of computing distributed added-mass force. {0: nodes below SWL when undisplaced. 1: Up to the free surface} (switch) - call ParseVar( FileInfo_In, CurLine, 'AMMod', InputFileData%Morison%AMMod, ErrStat2, ErrMsg2, UnEc ) - if (Failed()) return; - ! HstMod - Method of computing strip-theory hydrostatic loads. {0: Up to the still water level. 1: Up to the instantaneous free surface} (switch) call ParseVar( FileInfo_In, CurLine, 'HstMod', InputFileData%Morison%HstMod, ErrStat2, ErrMsg2, UnEc ) if (Failed()) return; @@ -1506,15 +1501,18 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS END IF + ! ExctnCutOff - validate before ExctnDisp may be forced to 0 below. ExctnDisp=2 also drives the Morison WaveDisp=0 drift + ! (PtfmRefXY), so a valid cutoff is required whenever ExctnDisp=2, even without potential-flow bodies. + if ( InputFileData%WAMIT%ExctnDisp < 0 .or. InputFileData%WAMIT%ExctnDisp > 2 ) then + CALL SetErrStat( ErrID_Fatal,'ExctnDisp must be 0, 1, or 2.',ErrStat,ErrMsg,RoutineName) + else if ( InputFileData%WAMIT%ExctnDisp == 2 .and. InputFileData%WAMIT%ExctnCutOff <= 0.0 ) then + CALL SetErrStat( ErrID_Fatal,'ExctnCutOff must be greater than zero.',ErrStat,ErrMsg,RoutineName) + end if + ! ExctnDisp - Method of computing Wave Excitation if ( InputFileData%PotMod /= 1 .or. InputFileData%WAMIT%ExctnMod == 0 .or. InitInp%WaveField%WaveMod == WaveMod_None) then InputFileData%WAMIT%ExctnDisp = 0 !Force ExctnDisp = 0, so that the Grid of Wave Excitation forces is not computed (saves time and memory) end if - - ! ExctnCutOff - if ( InputFileData%PotMod == 1 .and. InputFileData%WAMIT%ExctnMod > 0 .and. InputFileData%WAMIT%ExctnDisp == 2 .and. InputFileData%WAMIT%ExctnCutOff <= 0.0 ) then - CALL SetErrStat( ErrID_Fatal,'ExctnCutOff must be greater than zero.',ErrStat,ErrMsg,RoutineName) - end if ! PtfmVol0 - Displaced volume of water when the platform is in its undisplaced position @@ -1874,10 +1872,6 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS CALL SetErrStat( ErrID_Fatal,'WaveDisp must be 0 or 1',ErrStat,ErrMsg,RoutineName) RETURN END IF - IF ( InputFileData%Morison%AMMod /= 0 .AND. InputFileData%Morison%AMMod /= 1) THEN - CALL SetErrStat( ErrID_Fatal,'AMMod must be 0 or 1',ErrStat,ErrMsg,RoutineName) - RETURN - END IF IF ( InputFileData%Morison%HstMod /= 0 .AND. InputFileData%Morison%HstMod /= 1) THEN CALL SetErrStat( ErrID_Fatal,'HstMod must be 0 or 1',ErrStat,ErrMsg,RoutineName) RETURN @@ -2745,10 +2739,6 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS if ( InputFileData%PtfmYCutOff <= 0.0_ReKi ) then CALL SetErrStat( ErrID_Fatal, 'PtfmYCutOff must be greater than 0 Hz.',ErrStat,ErrMsg,RoutineName) end if - if ( InputFileData%Morison%WaveDisp == 0 .AND. InputFileData%Morison%NMembers > 0 ) then - call SetErrStat( ErrID_Fatal,'Dynamic reference yaw offset (PtfmYMod=1) cannot be used with WaveDisp=0. Set WaveDisp=1.',ErrStat,ErrMsg,RoutineName) - return - end if if ( InputFileData%PotMod > 0 .AND. InputFileData%WAMIT%ExctnMod == 2 ) then call SetErrStat( ErrID_Fatal,'Dynamic reference yaw offset (PtfmYMod=1) cannot be used with state-space wave excitations. Set ExctnMod=0 or 1.', ErrStat, ErrMsg, RoutineName ) return diff --git a/modules/hydrodyn/src/HydroDyn_Types.f90 b/modules/hydrodyn/src/HydroDyn_Types.f90 index 7ceb823149..857d30e4b5 100644 --- a/modules/hydrodyn/src/HydroDyn_Types.f90 +++ b/modules/hydrodyn/src/HydroDyn_Types.f90 @@ -133,6 +133,7 @@ MODULE HydroDyn_Types TYPE(WAMIT_DiscreteStateType) , DIMENSION(:), ALLOCATABLE :: WAMIT !< discrete states from the wamit module [-] TYPE(Morison_DiscreteStateType) :: Morison !< discrete states from the Morison module [-] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: PtfmRefY !< Reference yaw position of the PRP relative to the inertial frame - Current step and two previous steps [(radians)] + REAL(ReKi) , DIMENSION(1:2,1:3) :: PtfmRefXY = 0.0_ReKi !< Low-pass filtered x,y drift of the PRP/HD origin - current and two previous steps, consistent with WAMIT ExctnDisp=2 [(m)] END TYPE HydroDyn_DiscreteStateType ! ======================= ! ========= HydroDyn_ConstraintStateType ======= @@ -184,6 +185,8 @@ MODULE HydroDyn_Types TYPE(SeaSt_WaveFieldType) , POINTER :: WaveField => NULL() !< Pointer to SeaState wave field [-] INTEGER(IntKi) :: PtfmYMod = 0_IntKi !< Large yaw model [-] REAL(ReKi) :: CYawFilt = 0.0_ReKi !< Low-pass filter constant for reference platform yaw position PtfmRefY [-] + INTEGER(IntKi) :: PtfmXYMod = 0_IntKi !< X/Y drift mode for the PRP, from the user-specified ExctnDisp applied regardless of potential-flow bodies (0 none, 1 instantaneous, 2 filtered). Used to displace the Morison members when WaveDisp=0 [-] + REAL(ReKi) :: CXYFilt = 0.0_ReKi !< Low-pass filter constant for the PRP x,y drift position (from ExctnCutOff) [-] END TYPE HydroDyn_ParameterType ! ======================= ! ========= HydroDyn_InputType ======= @@ -233,21 +236,22 @@ MODULE HydroDyn_Types integer(IntKi), public, parameter :: HydroDyn_x_Morison_DummyContState = 4 ! HydroDyn%Morison%DummyContState integer(IntKi), public, parameter :: HydroDyn_u_Morison_Mesh = 5 ! HydroDyn%Morison%Mesh integer(IntKi), public, parameter :: HydroDyn_u_Morison_PtfmRefY = 6 ! HydroDyn%Morison%PtfmRefY - integer(IntKi), public, parameter :: HydroDyn_u_Morison_PRP = 7 ! HydroDyn%Morison%PRP - integer(IntKi), public, parameter :: HydroDyn_u_WAMITMesh = 8 ! HydroDyn%WAMITMesh - integer(IntKi), public, parameter :: HydroDyn_u_PRPMesh = 9 ! HydroDyn%PRPMesh - integer(IntKi), public, parameter :: HydroDyn_u_qAddDOF = 10 ! HydroDyn%qAddDOF - integer(IntKi), public, parameter :: HydroDyn_u_qAddDOFDot = 11 ! HydroDyn%qAddDOFDot - integer(IntKi), public, parameter :: HydroDyn_u_qAddDOFDotDot = 12 ! HydroDyn%qAddDOFDotDot - integer(IntKi), public, parameter :: HydroDyn_y_WAMIT_Mesh = 13 ! HydroDyn%WAMIT(DL%i1)%Mesh - integer(IntKi), public, parameter :: HydroDyn_y_WAMIT_FAddDOF = 14 ! HydroDyn%WAMIT(DL%i1)%FAddDOF - integer(IntKi), public, parameter :: HydroDyn_y_WAMIT2_Mesh = 15 ! HydroDyn%WAMIT2(DL%i1)%Mesh - integer(IntKi), public, parameter :: HydroDyn_y_Morison_Mesh = 16 ! HydroDyn%Morison%Mesh - integer(IntKi), public, parameter :: HydroDyn_y_Morison_VisMesh = 17 ! HydroDyn%Morison%VisMesh - integer(IntKi), public, parameter :: HydroDyn_y_Morison_WriteOutput = 18 ! HydroDyn%Morison%WriteOutput - integer(IntKi), public, parameter :: HydroDyn_y_WAMITMesh = 19 ! HydroDyn%WAMITMesh - integer(IntKi), public, parameter :: HydroDyn_y_WriteOutput = 20 ! HydroDyn%WriteOutput - integer(IntKi), public, parameter :: HydroDyn_y_FAddDOF = 21 ! HydroDyn%FAddDOF + integer(IntKi), public, parameter :: HydroDyn_u_Morison_PtfmRefXY = 7 ! HydroDyn%Morison%PtfmRefXY + integer(IntKi), public, parameter :: HydroDyn_u_Morison_PRP = 8 ! HydroDyn%Morison%PRP + integer(IntKi), public, parameter :: HydroDyn_u_WAMITMesh = 9 ! HydroDyn%WAMITMesh + integer(IntKi), public, parameter :: HydroDyn_u_PRPMesh = 10 ! HydroDyn%PRPMesh + integer(IntKi), public, parameter :: HydroDyn_u_qAddDOF = 11 ! HydroDyn%qAddDOF + integer(IntKi), public, parameter :: HydroDyn_u_qAddDOFDot = 12 ! HydroDyn%qAddDOFDot + integer(IntKi), public, parameter :: HydroDyn_u_qAddDOFDotDot = 13 ! HydroDyn%qAddDOFDotDot + integer(IntKi), public, parameter :: HydroDyn_y_WAMIT_Mesh = 14 ! HydroDyn%WAMIT(DL%i1)%Mesh + integer(IntKi), public, parameter :: HydroDyn_y_WAMIT_FAddDOF = 15 ! HydroDyn%WAMIT(DL%i1)%FAddDOF + integer(IntKi), public, parameter :: HydroDyn_y_WAMIT2_Mesh = 16 ! HydroDyn%WAMIT2(DL%i1)%Mesh + integer(IntKi), public, parameter :: HydroDyn_y_Morison_Mesh = 17 ! HydroDyn%Morison%Mesh + integer(IntKi), public, parameter :: HydroDyn_y_Morison_VisMesh = 18 ! HydroDyn%Morison%VisMesh + integer(IntKi), public, parameter :: HydroDyn_y_Morison_WriteOutput = 19 ! HydroDyn%Morison%WriteOutput + integer(IntKi), public, parameter :: HydroDyn_y_WAMITMesh = 20 ! HydroDyn%WAMITMesh + integer(IntKi), public, parameter :: HydroDyn_y_WriteOutput = 21 ! HydroDyn%WriteOutput + integer(IntKi), public, parameter :: HydroDyn_y_FAddDOF = 22 ! HydroDyn%FAddDOF contains @@ -1066,8 +1070,8 @@ subroutine HydroDyn_CopyDiscState(SrcDiscStateData, DstDiscStateData, CtrlCode, integer(IntKi), intent(in ) :: CtrlCode integer(IntKi), intent( out) :: ErrStat character(*), intent( out) :: ErrMsg - integer(B4Ki) :: i1 - integer(B4Ki) :: LB(1), UB(1) + integer(B4Ki) :: i1, i2 + integer(B4Ki) :: LB(2), UB(2) integer(IntKi) :: ErrStat2 character(ErrMsgLen) :: ErrMsg2 character(*), parameter :: RoutineName = 'HydroDyn_CopyDiscState' @@ -1104,14 +1108,15 @@ subroutine HydroDyn_CopyDiscState(SrcDiscStateData, DstDiscStateData, CtrlCode, end if DstDiscStateData%PtfmRefY = SrcDiscStateData%PtfmRefY end if + DstDiscStateData%PtfmRefXY = SrcDiscStateData%PtfmRefXY end subroutine subroutine HydroDyn_DestroyDiscState(DiscStateData, ErrStat, ErrMsg) type(HydroDyn_DiscreteStateType), intent(inout) :: DiscStateData integer(IntKi), intent( out) :: ErrStat character(*), intent( out) :: ErrMsg - integer(B4Ki) :: i1 - integer(B4Ki) :: LB(1), UB(1) + integer(B4Ki) :: i1, i2 + integer(B4Ki) :: LB(2), UB(2) integer(IntKi) :: ErrStat2 character(ErrMsgLen) :: ErrMsg2 character(*), parameter :: RoutineName = 'HydroDyn_DestroyDiscState' @@ -1137,8 +1142,8 @@ subroutine HydroDyn_PackDiscState(RF, Indata) type(RegFile), intent(inout) :: RF type(HydroDyn_DiscreteStateType), intent(in) :: InData character(*), parameter :: RoutineName = 'HydroDyn_PackDiscState' - integer(B4Ki) :: i1 - integer(B4Ki) :: LB(1), UB(1) + integer(B4Ki) :: i1, i2 + integer(B4Ki) :: LB(2), UB(2) if (RF%ErrStat >= AbortErrLev) return call RegPack(RF, allocated(InData%WAMIT)) if (allocated(InData%WAMIT)) then @@ -1151,6 +1156,7 @@ subroutine HydroDyn_PackDiscState(RF, Indata) end if call Morison_PackDiscState(RF, InData%Morison) call RegPackAlloc(RF, InData%PtfmRefY) + call RegPack(RF, InData%PtfmRefXY) if (RegCheckErr(RF, RoutineName)) return end subroutine @@ -1158,8 +1164,8 @@ subroutine HydroDyn_UnPackDiscState(RF, OutData) type(RegFile), intent(inout) :: RF type(HydroDyn_DiscreteStateType), intent(inout) :: OutData character(*), parameter :: RoutineName = 'HydroDyn_UnPackDiscState' - integer(B4Ki) :: i1 - integer(B4Ki) :: LB(1), UB(1) + integer(B4Ki) :: i1, i2 + integer(B4Ki) :: LB(2), UB(2) integer(IntKi) :: stat logical :: IsAllocAssoc if (RF%ErrStat /= ErrID_None) return @@ -1178,6 +1184,7 @@ subroutine HydroDyn_UnPackDiscState(RF, OutData) end if call Morison_UnpackDiscState(RF, OutData%Morison) ! Morison call RegUnpackAlloc(RF, OutData%PtfmRefY); if (RegCheckErr(RF, RoutineName)) return + call RegUnpack(RF, OutData%PtfmRefXY); if (RegCheckErr(RF, RoutineName)) return end subroutine subroutine HydroDyn_CopyConstrState(SrcConstrStateData, DstConstrStateData, CtrlCode, ErrStat, ErrMsg) @@ -1499,6 +1506,8 @@ subroutine HydroDyn_CopyParam(SrcParamData, DstParamData, CtrlCode, ErrStat, Err DstParamData%WaveField => SrcParamData%WaveField DstParamData%PtfmYMod = SrcParamData%PtfmYMod DstParamData%CYawFilt = SrcParamData%CYawFilt + DstParamData%PtfmXYMod = SrcParamData%PtfmXYMod + DstParamData%CXYFilt = SrcParamData%CXYFilt end subroutine subroutine HydroDyn_DestroyParam(ParamData, ErrStat, ErrMsg) @@ -1637,6 +1646,8 @@ subroutine HydroDyn_PackParam(RF, Indata) end if call RegPack(RF, InData%PtfmYMod) call RegPack(RF, InData%CYawFilt) + call RegPack(RF, InData%PtfmXYMod) + call RegPack(RF, InData%CXYFilt) if (RegCheckErr(RF, RoutineName)) return end subroutine @@ -1739,6 +1750,8 @@ subroutine HydroDyn_UnPackParam(RF, OutData) end if call RegUnpack(RF, OutData%PtfmYMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%CYawFilt); if (RegCheckErr(RF, RoutineName)) return + call RegUnpack(RF, OutData%PtfmXYMod); if (RegCheckErr(RF, RoutineName)) return + call RegUnpack(RF, OutData%CXYFilt); if (RegCheckErr(RF, RoutineName)) return end subroutine subroutine HydroDyn_CopyInput(SrcInputData, DstInputData, CtrlCode, ErrStat, ErrMsg) @@ -2888,6 +2901,8 @@ subroutine HydroDyn_VarPackInput(V, u, ValAry) call MV_PackMesh(V, u%Morison%Mesh, ValAry) ! Mesh case (HydroDyn_u_Morison_PtfmRefY) VarVals(1) = u%Morison%PtfmRefY ! Scalar + case (HydroDyn_u_Morison_PtfmRefXY) + VarVals = u%Morison%PtfmRefXY(V%iLB:V%iUB) ! Rank 1 Array case (HydroDyn_u_Morison_PRP) VarVals = u%Morison%PRP(V%iLB:V%iUB) ! Rank 1 Array case (HydroDyn_u_WAMITMesh) @@ -2926,6 +2941,8 @@ subroutine HydroDyn_VarUnpackInput(V, ValAry, u) call MV_UnpackMesh(V, ValAry, u%Morison%Mesh) ! Mesh case (HydroDyn_u_Morison_PtfmRefY) u%Morison%PtfmRefY = VarVals(1) ! Scalar + case (HydroDyn_u_Morison_PtfmRefXY) + u%Morison%PtfmRefXY(V%iLB:V%iUB) = VarVals ! Rank 1 Array case (HydroDyn_u_Morison_PRP) u%Morison%PRP(V%iLB:V%iUB) = VarVals ! Rank 1 Array case (HydroDyn_u_WAMITMesh) @@ -2950,6 +2967,8 @@ function HydroDyn_InputFieldName(DL) result(Name) Name = "u%Morison%Mesh" case (HydroDyn_u_Morison_PtfmRefY) Name = "u%Morison%PtfmRefY" + case (HydroDyn_u_Morison_PtfmRefXY) + Name = "u%Morison%PtfmRefXY" case (HydroDyn_u_Morison_PRP) Name = "u%Morison%PRP" case (HydroDyn_u_WAMITMesh) diff --git a/modules/hydrodyn/src/Morison.f90 b/modules/hydrodyn/src/Morison.f90 index 4dfe7e438e..0ee59d980e 100644 --- a/modules/hydrodyn/src/Morison.f90 +++ b/modules/hydrodyn/src/Morison.f90 @@ -24,10 +24,8 @@ MODULE Morison USE Morison_Types USE Morison_Output USE SeaSt_WaveField - ! USE HydroDyn_Output_Types USE NWTC_Library USE YawOffset - IMPLICIT NONE @@ -35,21 +33,37 @@ MODULE Morison TYPE(ProgDesc), PARAMETER :: Morison_ProgDesc = ProgDesc( 'Morison', '', '' ) - INTERFACE Morison_DirCosMtrx - MODULE PROCEDURE Morison_DirCosMtrx_Spin - MODULE PROCEDURE Morison_DirCosMtrx_noSpin - END INTERFACE - ! ..... Public Subroutines ................................................................................................... PUBLIC:: Morison_GenerateSimulationNodes PUBLIC :: Morison_Init ! Initialization routine PUBLIC :: Morison_CalcOutput ! Routine for computing outputs PUBLIC :: Morison_UpdateDiscState ! Routine for updating discrete states + + ! ..... Shallow-angle strip-theory model constants ............................................................................... + REAL(ReKi), PARAMETER :: HM_SinAngLo = 0.4226182617406994_ReKi ! sin(25 deg): pure shallow-angle model below this |n_w.k| + REAL(ReKi), PARAMETER :: HM_SinAngHi = 0.5735764363510461_ReKi ! sin(35 deg): pure baseline model above this |n_w.k| + REAL(ReKi), PARAMETER :: HM_SMin = 0.0871557427476582_ReKi ! sin(5 deg): joint end plate treated as parallel to the free surface below this S + REAL(ReKi), PARAMETER :: HM_Eps = 0.2_ReKi ! Smoothing length of the water entry/exit force normalized by R + REAL(ReKi), PARAMETER :: HM_HbarDeep = 5.0_ReKi ! Normalized center depth beyond which the added mass is the deeply submerged value + REAL(DbKi), PARAMETER :: HM_AsymTol = 1.0E-3_DbKi ! Switch to asymptotic heave added mass when 2*pi-theta is below this + LOGICAL, PARAMETER :: HM_SwayZeroFreq = .TRUE. ! Sway added mass: zero-frequency (.TRUE.) or infinite-frequency (.FALSE.); entry/exit force always uses infinite frequency + ! Polynomial coefficients (ascending powers of Hbar) of the normalized added mass (Table 1) + REAL(DbKi), PARAMETER :: HM_CoefSub(0:5) = (/ -5.782806107250993E-02_DbKi, 1.043012143185959E+00_DbKi, -4.153257652497481E-01_DbKi, & + 8.303624394187833E-02_DbKi, -8.289169840152171E-03_DbKi, 3.286758827989542E-04_DbKi /) ! Heave and sway, 1 <= Hbar <= 5 + REAL(DbKi), PARAMETER :: HM_CoefSwy1(0:4) = (/ 2.026423672846756E-01_DbKi, 3.582967038045702E-01_DbKi, 1.982404817062564E-01_DbKi, & + 1.321603211375043E-01_DbKi, 8.957417595114259E-02_DbKi /) ! Sway, -1 <= Hbar <= 0 + REAL(DbKi), PARAMETER :: HM_CoefSwy2(0:4) = (/ 2.026423672846756E-01_DbKi, 3.582967038045703E-01_DbKi, 1.982404817062560E-01_DbKi, & + -1.321603211375040E-01_DbKi, 1.791483519022852E-02_DbKi /) ! Sway, 0 <= Hbar <= 1 + ! Zero-frequency sway added mass: bridge across the cusp at Hbar = 1 (powers of Hbar-1) and submerged tail (powers of 1/Hbar) + REAL(DbKi), PARAMETER :: HM_CoefSwyZ1(0:5) = (/ 2.104159421957775E+00_DbKi, -2.965948375729567E+00_DbKi, -3.919588885535995E+01_DbKi, & + 5.558658150878864E+01_DbKi, 1.319449187374385E+03_DbKi, 3.136836992349601E+03_DbKi /) ! 0.8 <= Hbar <= 1.1 + REAL(DbKi), PARAMETER :: HM_CoefSwyZ2(0:4) = (/ 1.207805984092653E+00_DbKi, -2.502373347997483E+00_DbKi, 9.714661186777143E+00_DbKi, & + -1.337160281428654E+01_DbKi, 6.909412843781649E+00_DbKi /) ! 1.1 <= Hbar <= 5, refit if HM_HbarDeep changes CONTAINS !---------------------------------------------------------------------------------------------------------------------------------- -SUBROUTINE Morison_DirCosMtrx_Spin( pos0, pos1, spin, DirCos ) +SUBROUTINE Morison_DirCosMtrx( pos0, pos1, spin, DirCos ) ! Compute the direction cosine matrix given two end points and a spin angle for rectangular members ! Left multiplying DirCos with a vector in element local sys returns vector in global sys ! Updated to match the convention in SubDyn for consistency @@ -105,59 +119,12 @@ SUBROUTINE Morison_DirCosMtrx_Spin( pos0, pos1, spin, DirCos ) DirCos = matmul(DirCos,Rspin) END IF -END SUBROUTINE Morison_DirCosMtrx_Spin - -SUBROUTINE Morison_DirCosMtrx_noSpin( pos0, pos1, DirCos ) -! Compute the direction cosine matrix given two end points without spin for cylindrical members -! Left multiplying DirCos with a vector in element local sys returns vector in global sys -! Updated to match the convention in SubDyn for consistency - - REAL(ReKi), INTENT( IN ) :: pos0(3), pos1(3) - Real(ReKi), INTENT( OUT ) :: DirCos(3,3) - Real(DbKi) :: Le, Lexy - Real(DbKi) :: dx, dy, dz - - DirCos = 0.0 - - dx = pos1(1) - pos0(1) - dy = pos1(2) - pos0(2) - dz = pos1(3) - pos0(3) - - Lexy = sqrt( dx*dx + dy*dy ) - - IF ( EqualRealNos(Lexy, 0.0_DbKi) ) THEN - IF (dz > 0) THEN - DirCos(1,1) = 1.0 - DirCos(2,2) = 1.0 - DirCos(3,3) = 1.0 - ELSE - DirCos(1,1) = 1.0 - DirCos(2,2) = -1.0 - DirCos(3,3) = -1.0 - END IF - ELSE - Le = sqrt( dx*dx + dy*dy + dz*dz ) - - DirCos(1, 1) = dy/Lexy - DirCos(1, 2) = dx*dz/(Lexy*Le) - DirCos(1, 3) = dx/Le - - DirCos(2, 1) = -dx/Lexy - DirCos(2, 2) = dy*dz/(Lexy*Le) - DirCos(2, 3) = dy/Le - - DirCos(3, 1) = 0.0 - DirCos(3, 2) = -Lexy/Le - DirCos(3, 3) = dz/Le - END IF - -END SUBROUTINE Morison_DirCosMtrx_noSpin - +END SUBROUTINE Morison_DirCosMtrx SUBROUTINE GetDisplacedNodePosition( u, p, forceDisplaced, pos ) TYPE(Morison_InputType), INTENT(IN ) :: u !< Inputs at Time TYPE(Morison_ParameterType), INTENT(IN ) :: p !< Parameters - LOGICAL, INTENT(IN ) :: forceDisplaced ! Set to true to return the exact displaced position no matter WaveDisp or WaveStMod + LOGICAL, INTENT(IN ) :: forceDisplaced ! Set to true to return the exact displaced position regardless of WaveDisp REAL(ReKi), INTENT( OUT) :: pos(:,:) ! Displaced node positions REAL(ReKi) :: Orient(3,3) @@ -168,64 +135,57 @@ SUBROUTINE GetDisplacedNodePosition( u, p, forceDisplaced, pos ) pos = u%Mesh%Position pos(3,:) = pos(3,:) - p%WaveField%MSL2SWL ! Z position measured from the SWL IF ( (p%WaveDisp /= 0) .OR. forceDisplaced ) THEN - ! Use displaced X and Y position + ! Use the full displaced position (X, Y, and Z) pos(1,:) = pos(1,:) + u%Mesh%TranslationDisp(1,:) pos(2,:) = pos(2,:) + u%Mesh%TranslationDisp(2,:) - IF ( (p%WaveField%WaveStMod > 0) .OR. forceDisplaced ) THEN - ! Use displaced Z position only when wave stretching is enabled - pos(3,:) = pos(3,:) + u%Mesh%TranslationDisp(3,:) - END IF - ELSE ! p%WaveDisp=0 implies PtfmYMod=0 - ! Rotate the structure based on PtfmRefY (constant) + pos(3,:) = pos(3,:) + u%Mesh%TranslationDisp(3,:) + ELSE ! WaveDisp=0: position the structure using the reference yaw only + ! Rotate the structure based on PtfmRefY (reference yaw, may be static or dynamic) call GetPtfmRefYOrient(u%PtfmRefY, Orient, ErrStat2, ErrMsg2) pos = matmul(transpose(Orient),pos) + ! Add the x,y drift of the HD origin so Morison tracks the potential-flow bodies + pos(1,:) = pos(1,:) + u%PtfmRefXY(1) + pos(2,:) = pos(2,:) + u%PtfmRefXY(2) END IF END SUBROUTINE GetDisplacedNodePosition - -SUBROUTINE YawMember(member, PtfmRefY, ErrStat, ErrMsg) +SUBROUTINE RotateMemberNode(p, im, member, PtfmRefY, NOrientation, ErrStat, ErrMsg) + TYPE(Morison_ParameterType), INTENT(IN ) :: p + Integer(IntKi), intent(in ) :: im ! Member index into p%Members (pristine reference) Type(Morison_MemberType), intent(inout) :: member Real(ReKi), intent(in ) :: PtfmRefY + Real(R8Ki), intent(in ) :: NOrientation(3,3) Integer(IntKi), intent( out) :: ErrStat Character(*), intent( out) :: ErrMsg - Real(ReKi) :: k(3), x_hat(3), y_hat(3) - Real(ReKi) :: kkt(3,3) - Real(ReKi) :: Ak(3,3) - Integer(IntKi) :: ErrStat2 - Character(ErrMsgLen) :: ErrMsg2 + Real(ReKi) :: Rg2b(3,3), Rb2g(3,3) - Character(*), parameter :: RoutineName = 'YawMember' + Character(*), parameter :: RoutineName = 'RotateMemberNode' ErrStat = ErrID_None ErrMsg = '' - call hiFrameTransform(h2i,PtfmRefY,member%k,k,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) - member%k = k - - call hiFrameTransform(h2i,PtfmRefY,member%kkt,kkt,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) - member%kkt = kkt - - call hiFrameTransform(h2i,PtfmRefY,member%Ak,Ak,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) - member%Ak = Ak - - IF (member%MSecGeom == MSecGeom_Rec) THEN - - call hiFrameTransform(h2i,PtfmRefY,member%x_hat,x_hat,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) - member%x_hat = x_hat + select case (p%WaveDisp) + case (0) + call GetPtfmRefYOrient(PtfmRefY, Rg2b, ErrStat, ErrMsg) + if (ErrStat /= ErrID_None) return + case (1) + Rg2b = NOrientation + end select + Rb2g = transpose(Rg2b) - call hiFrameTransform(h2i,PtfmRefY,member%y_hat,y_hat,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) - member%y_hat = y_hat + ! Rotate the reference-configuration vectors to the current global orientation at this node. + ! Source is p%Members(im) so repeated per-node calls do not compound on the overwritten local copy. + member%k = matmul(Rb2g, p%Members(im)%k) + member%kkt = matmul(Rb2g, matmul(p%Members(im)%kkt, Rg2b)) + member%Ak = matmul(Rb2g, matmul(p%Members(im)%Ak, Rg2b)) + member%x_hat = matmul(Rb2g, p%Members(im)%x_hat) + member%y_hat = matmul(Rb2g, p%Members(im)%y_hat) - END IF + ! Note: Deliberately left member%CMatrix unchanged because we need the undisplaced version outside when constructing the full nodal orientation. -END SUBROUTINE YawMember +END SUBROUTINE RotateMemberNode !==================================================================================================== SUBROUTINE GetDistance ( a, b, l ) @@ -240,261 +200,30 @@ SUBROUTINE GetDistance ( a, b, l ) END SUBROUTINE GetDistance -!==================================================================================================== -SUBROUTINE ElementCentroid ( Rs, Re, p1, h, DCM, centroid ) -! This private subroutine computes the centroid of a tapered right cylinder element. -!---------------------------------------------------------------------------------------------------- - - REAL(ReKi), INTENT ( IN ) :: Rs ! starting radius - REAL(ReKi), INTENT ( IN ) :: Re ! ending radius - REAL(ReKi), INTENT ( IN ) :: p1(3) ! starting point of the element in global coordinates - REAL(ReKi), INTENT ( IN ) :: h ! height of the element - REAL(ReKi), INTENT ( IN ) :: DCM(3,3) ! direction cosine matrix to transform local element coordinates to global coordinates - REAL(ReKi), INTENT ( OUT ) :: centroid(3) ! centroid of the element in local coordinates - - centroid(1) = 0.0 - centroid(2) = 0.0 - centroid(3) = h * (Rs*Rs + 2.0*Rs*Re + 3.0*Re*Re) / (4.0*( Rs*Rs + Rs*Re + Re*Re ) ) !( 2.0*Re + Rs ) / ( 3.0 * ( Rs + Re ) ) - centroid = matmul( DCM, centroid ) + p1 - -END SUBROUTINE ElementCentroid - -!==================================================================================================== -REAL(ReKi) FUNCTION ElementVolume ( Rs, Re, h ) -! This private function computes the volume of a tapered right cylinder element. -!---------------------------------------------------------------------------------------------------- - - REAL(ReKi), INTENT ( IN ) :: Rs ! starting radius - REAL(ReKi), INTENT ( IN ) :: Re ! ending radius - REAL(ReKi), INTENT ( IN ) :: h ! height of the element - - ElementVolume = Pi*h*( Rs*Rs + Re*Re + Rs*Re ) / 3.0 - -END FUNCTION ElementVolume - -!==================================================================================================== -SUBROUTINE FindInterpFactor( p, p1, p2, s ) - - REAL(ReKi), INTENT ( IN ) :: p, p1, p2 - REAL(ReKi), INTENT ( OUT ) :: s - - REAL(ReKi) :: dp -! find normalized interpolation factor, s, such: -! p = p1*(1-s) + p2*s -! *--------------*--------------------------------* -! p1 p p2 -! -! 0-----------------------------------------------1 -! <------- s ----> - - dp = p2 - p1 - IF ( EqualRealNos(dp, 0.0_ReKi) ) THEN - s = 0 - ELSE - s = ( p - p1 ) / dp - END IF - -END SUBROUTINE FindInterpFactor -!======================================================================= -FUNCTION InterpWrappedStpInt( XValIn, XAry, YAry, Ind, AryLen ) - - - ! This function returns a y-value that corresponds to an input x-value which is wrapped back - ! into the range [1-XAry(AryLen). It finds a x-value which corresponds to a value in the XAry where XAry(Ind-1) < MOD(XValIn, XAry(AryLen)) <= XAry(Ind) - ! It is assumed that XAry is sorted in ascending order. - ! It uses the passed index as the starting point and does a stepwise interpolation from there. This is - ! especially useful when the calling routines save the value from the last time this routine was called - ! for a given case where XVal does not change much from call to call. . - ! - ! This routine assumes YAry is INTEGER. - - - ! Function declaration. - - INTEGER :: InterpWrappedStpInt ! This function. - - - ! Argument declarations. - - INTEGER, INTENT(IN) :: AryLen ! Length of the arrays. - INTEGER, INTENT(INOUT) :: Ind ! Initial and final index into the arrays. - - REAL(SiKi), INTENT(IN) :: XAry (AryLen) ! Array of X values to be interpolated. - REAL(SiKi), INTENT(IN) :: XValIn ! X value to be interpolated. - INTEGER, INTENT(IN) :: YAry (AryLen) ! Array of Y values to be interpolated. - - REAL(SiKi) :: XVal ! X value to be interpolated. - - - - ! Wrap XValIn into the range XAry(1) to XAry(AryLen) - XVal = MOD(XValIn, XAry(AryLen)) - - ! Set the Ind to the first index if we are at the beginning of XAry - IF ( XVal <= XAry(2) ) THEN - Ind = 1 - END IF - - - ! Let's check the limits first. - - IF ( XVal <= XAry(1) ) THEN - InterpWrappedStpInt = YAry(1) - Ind = 1 - RETURN - ELSE IF ( XVal >= XAry(AryLen) ) THEN - InterpWrappedStpInt = YAry(AryLen) - Ind = MAX(AryLen - 1, 1) - RETURN - END IF - - - ! Let's interpolate! - - Ind = MAX( MIN( Ind, AryLen-1 ), 1 ) - - DO - - IF ( XVal < XAry(Ind) ) THEN - - Ind = Ind - 1 - - ELSE IF ( XVal >= XAry(Ind+1) ) THEN - - Ind = Ind + 1 - - ELSE - - InterpWrappedStpInt = YAry(Ind) - RETURN - - END IF - - END DO - - RETURN -END FUNCTION InterpWrappedStpInt ! ( XVal, XAry, YAry, Ind, AryLen ) - - -!======================================================================= -FUNCTION InterpWrappedStpLogical( XValIn, XAry, YAry, Ind, AryLen ) - - - ! This function returns a y-value that corresponds to an input x-value which is wrapped back - ! into the range [0-XAry(AryLen) by interpolating into the arrays. - ! It is assumed that XAry is sorted in ascending order. - ! It uses the passed index as the starting point and does a stepwise interpolation from there. This is - ! especially useful when the calling routines save the value from the last time this routine was called - ! for a given case where XVal does not change much from call to call. When there is no correlation - ! from one interpolation to another, InterpBin() may be a better choice. - ! It returns the first or last YAry() value if XVal is outside the limits of XAry(). - ! This routine assumes YAry is REAL. - - - ! Function declaration. - - LOGICAL :: InterpWrappedStpLogical ! This function. - - - ! Argument declarations. - - INTEGER, INTENT(IN) :: AryLen ! Length of the arrays. - INTEGER, INTENT(INOUT) :: Ind ! Initial and final index into the arrays. - - REAL(SiKi), INTENT(IN) :: XAry (AryLen) ! Array of X values to be interpolated. - REAL(SiKi), INTENT(IN) :: XValIn ! X value to be interpolated. - LOGICAL, INTENT(IN) :: YAry (AryLen) ! Array of Y values to be interpolated. - - REAL(SiKi) :: XVal ! X value to be interpolated. - - - - ! Wrap XValIn into the range XAry(1) to XAry(AryLen) - XVal = MOD(XValIn, XAry(AryLen)) - - ! Set the Ind to the first index if we are at the beginning of XAry - IF ( XVal <= XAry(2) ) THEN - Ind = 1 - END IF - - - ! Let's check the limits first. - - IF ( XVal <= XAry(1) ) THEN - InterpWrappedStpLogical = YAry(1) - Ind = 1 - RETURN - ELSE IF ( XVal >= XAry(AryLen) ) THEN - InterpWrappedStpLogical = YAry(AryLen) - Ind = MAX(AryLen - 1, 1) - RETURN - END IF - - - ! Let's interpolate! - - Ind = MAX( MIN( Ind, AryLen-1 ), 1 ) - - DO - - IF ( XVal < XAry(Ind) ) THEN - - Ind = Ind - 1 - - ELSE IF ( XVal >= XAry(Ind+1) ) THEN - - Ind = Ind + 1 - - ELSE +!---------------------------------------------------------------------------------------------------------------------------------- +subroutine GetElementAxialVec(p1, p2, k_hat, errStat, errMsg) + ! Instantaneous elemental axial unit vector from node p1 to node p2. + ! Guards against zero-length elements (do not assume rigid structure). + real(ReKi), intent(in ) :: p1(3),p2(3) + real(ReKi), intent( out) :: k_hat(3) + integer, intent( out) :: errStat ! returns a non-zero value when an error occurs + character(*), intent( out) :: errMsg ! Error message if errStat /= ErrID_None + character(*), parameter :: RoutineName = 'GetElementAxialVec' - InterpWrappedStpLogical = YAry(Ind) - RETURN + real(ReKi) :: vec(3), vecLen - END IF + errStat = ErrID_None + errMsg = "" - END DO + vec = p2 - p1 + vecLen = SQRT(Dot_Product(vec,vec)) + if ( vecLen < 0.000001 ) then + call SeterrStat(ErrID_Fatal, 'An element of the Morison structure has co-located endpoints! This should never occur. Please review your model.', errStat, errMsg, RoutineName ) + return + end if + k_hat = vec / vecLen - RETURN -END FUNCTION InterpWrappedStpLogical ! ( XVal, XAry, YAry, Ind, AryLen ) -!---------------------------------------------------------------------------------------------------------------------------------- -subroutine GetOrientationAngles(p1, p2, phi, sinPhi, cosPhi, tanPhi, sinBeta, cosBeta, k_hat, errStat, errMsg) - real(ReKi), intent(in ) :: p1(3),p2(3) - real(ReKi), intent( out) :: phi, sinPhi, cosPhi, tanPhi, sinBeta, cosBeta, k_hat(3) - integer, intent( out) :: errStat ! returns a non-zero value when an error occurs - character(*), intent( out) :: errMsg ! Error message if errStat /= ErrID_None - character(*), parameter :: RoutineName = 'GetOrientationAngles' - - real(ReKi) :: vec(3), vecLen, vecLen2D, beta - - ! Initialize errStat - - errStat = ErrID_None - errMsg = "" - - ! calculate isntantaneous incline angle and heading, and related trig values - ! the first and last NodeIndx values point to the corresponding Joint nodes idices which are at the start of the Mesh - vec = p2 - p1 - vecLen = SQRT(Dot_Product(vec,vec)) - vecLen2D = SQRT(vec(1)**2+vec(2)**2) - if ( vecLen < 0.000001 ) then - call SeterrStat(ErrID_Fatal, 'An element of the Morison structure has co-located endpoints! This should never occur. Please review your model.', errStat, errMsg, RoutineName ) - return - else - k_hat = vec / vecLen - phi = atan2(vecLen2D, vec(3)) ! incline angle - end if - if ( EqualRealNos(phi, 0.0_ReKi) ) then - beta = 0.0_ReKi - else - beta = atan2(vec(2), vec(1)) ! heading of incline - endif - sinPhi = sin(phi) - cosPhi = cos(phi) - tanPhi = tan(phi) - sinBeta = sin(beta) - cosBeta = cos(beta) - -end subroutine GetOrientationAngles +end subroutine GetElementAxialVec !---------------------------------------------------------------------------------------------------------------------------------- !function to return conical taper geometry calculations (volume and center of volume) SUBROUTINE CylTaperCalc(R1, R2, H, taperV, h_c) @@ -1391,8 +1120,6 @@ SUBROUTINE SetDepthBasedCoefs_Cyl( z, tMG, NCoefDpth, CoefDpths, Cd, Ca, Cp, AxC END DO ! Linearly interpolate the coef values based on depth - !CALL FindInterpFactor( z, CoefDpths(indx1)%Dpth, CoefDpths(indx2)%Dpth, s ) - dd = CoefDpths(indx1)%Dpth - CoefDpths(indx2)%Dpth IF ( EqualRealNos(dd, 0.0_ReKi) ) THEN s = 0 @@ -1465,8 +1192,6 @@ SUBROUTINE SetDepthBasedCoefs_Rec( z, tMG, NCoefDpth, CoefDpths, CdA, CdB, CaA, END DO ! Linearly interpolate the coef values based on depth - !CALL FindInterpFactor( z, CoefDpths(indx1)%Dpth, CoefDpths(indx2)%Dpth, s ) - dd = CoefDpths(indx1)%Dpth - CoefDpths(indx2)%Dpth IF ( EqualRealNos(dd, 0.0_ReKi) ) THEN s = 0 @@ -1789,6 +1514,7 @@ subroutine AllocateMemberDataArrays( member, memberLoads, errStat, errMsg ) call AllocAry(member%Cb , member%NElements+1, 'member%Cb ', errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( memberLoads%F_D , 6, member%NElements+1, 'memberLoads%F_D' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( memberLoads%F_A , 6, member%NElements+1, 'memberLoads%F_A' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) + call AllocAry( memberLoads%F_WE , 6, member%NElements+1, 'memberLoads%F_WE' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( memberLoads%F_B , 6, member%NElements+1, 'memberLoads%F_B' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( memberLoads%F_BF , 6, member%NElements+1, 'memberLoads%F_BF' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( memberLoads%F_I , 6, member%NElements+1, 'memberLoads%F_I' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) @@ -1871,6 +1597,7 @@ subroutine AllocateMemberDataArrays( member, memberLoads, errStat, errMsg ) member%Cb = 0.0_ReKi memberLoads%F_D = 0.0_ReKi memberLoads%F_A = 0.0_ReKi + memberLoads%F_WE = 0.0_ReKi memberLoads%F_B = 0.0_ReKi memberLoads%F_BF = 0.0_ReKi memberLoads%F_I = 0.0_ReKi @@ -1989,7 +1716,6 @@ subroutine SetMemberProperties_Cyl( gravity, member, MCoefMod, MmbrCoefIDIndx, M real(ReKi) :: memLength real(ReKi) :: Za real(ReKi) :: Zb - real(ReKi) :: phi real(ReKi) :: sinPhi real(ReKi) :: cosPhi real(ReKi) :: Rmid @@ -2018,11 +1744,12 @@ subroutine SetMemberProperties_Cyl( gravity, member, MCoefMod, MmbrCoefIDIndx, M member%kkt = matmul(transpose(tk),tk) call Eye(Imat,errStat,errMsg) member%Ak = Imat - member%kkt - phi = acos( max(-1.0_ReKi, min(1.0_ReKi, vec(3)/memLength) ) ) ! incline angle - sinPhi = sin(phi) - cosPhi = cos(phi) - member%cosPhi_ref = cosPhi - + cosPhi = member%k(3) ! cosine of inclination from vertical (z-component of axial unit vector) + sinPhi = sqrt( member%k(1)**2 + member%k(2)**2 ) ! sine of inclination from vertical + CALL Morison_DirCosMtrx( InitInp%Nodes(member%NodeIndx(1))%Position, InitInp%Nodes(member%NodeIndx(N+1))%Position, 0.0_ReKi, member%CMatrix ) + member%x_hat = member%CMatrix(1:3,1) + member%y_hat = member%CMatrix(1:3,2) + ! These are all per node and not done here, yet do i = 1, member%NElements+1 @@ -2064,7 +1791,7 @@ subroutine SetMemberProperties_Cyl( gravity, member, MCoefMod, MmbrCoefIDIndx, M RETURN END IF ! Check inclination - If ( ABS(phi) .GE. 0.174533 ) THEN ! If inclination from vertical is greater than 10 deg + If ( ABS(cosPhi) <= 0.9848077530_ReKi ) THEN ! If inclination from vertical is greater than 10 deg CALL SetErrStat(ErrID_Fatal, 'MacCamy-Fuchs members must be within 10 degrees from vertical. This is not true for Member ID '//trim(num2lstr(member%MemberID)), errStat, errMsg, RoutineName ) RETURN END IF @@ -2127,7 +1854,7 @@ subroutine SetMemberProperties_Cyl( gravity, member, MCoefMod, MmbrCoefIDIndx, M call SetErrStat(ErrID_Fatal, 'The lower end-plate of a member must not cross the water plane. This is not true for Member ID '//trim(num2lstr(member%MemberID)), errStat, errMsg, RoutineName ) end if end if - if ( ( Za < -InitInp%WaveField%EffWtrDpth .and. Zb >= -InitInp%WaveField%EffWtrDpth ) .and. ( phi > 10.0*d2r .or. abs((member%RMG(N+1) - member%RMG(1))/member%RefLength)>0.1 ) ) then + if ( ( Za < -InitInp%WaveField%EffWtrDpth .and. Zb >= -InitInp%WaveField%EffWtrDpth ) .and. ( ABS(cosPhi) < 0.9848077530_ReKi .or. abs((member%RMG(N+1) - member%RMG(1))/member%RefLength)>0.1 ) ) then call SetErrStat(ErrID_Fatal, 'A member which crosses the seabed must not be inclined more than 10 degrees from vertical or have a taper larger than 0.1. This is not true for Member ID '//trim(num2lstr(member%MemberID)), errStat, errMsg, RoutineName ) end if @@ -2143,7 +1870,7 @@ subroutine SetMemberProperties_Cyl( gravity, member, MCoefMod, MmbrCoefIDIndx, M Za = InitInp%Nodes(member%NodeIndx(i))%Position(3) if (Za > -InitInp%WaveField%EffWtrDpth) then ! find the lowest node above the seabed - if (cosPhi < 0.173648178 ) then ! phi > 80 degrees and member is seabed crossing + if (ABS(cosPhi) < 0.173648178 ) then ! phi > 80 degrees and member is seabed crossing call SetErrStat(ErrID_Fatal, 'A seabed crossing member must have an inclination angle of <= 80 degrees from vertical. This is not true for Member ID '//trim(num2lstr(member%MemberID)), errStat, errMsg, RoutineName ) end if @@ -2341,8 +2068,6 @@ subroutine SetMemberProperties_Rec( gravity, member, MCoefMod, MmbrCoefIDIndx, M real(ReKi) :: memLength real(ReKi) :: Za real(ReKi) :: Zb - real(ReKi) :: phi - real(ReKi) :: sinPhi real(ReKi) :: cosPhi real(ReKi) :: SaMid, SbMid real(ReKi) :: SaMidMG, SbMidMG @@ -2350,7 +2075,7 @@ subroutine SetMemberProperties_Rec( gravity, member, MCoefMod, MmbrCoefIDIndx, M real(ReKi) :: Lmid real(ReKi) :: li real(ReKi) :: Vinner_l, Vinner_u, Vouter_l, Vouter_u, Vballast_l, Vballast_u - real(ReKi) :: tk(1,3), Imat(3,3), CMatrix(3,3) + real(ReKi) :: tk(1,3), Imat(3,3) REAL(ReKi) :: h_c ! center of mass offset from first node errStat = ErrID_None @@ -2370,15 +2095,10 @@ subroutine SetMemberProperties_Rec( gravity, member, MCoefMod, MmbrCoefIDIndx, M member%kkt = matmul(transpose(tk),tk) call Eye(Imat,errStat,errMsg) member%Ak = Imat - member%kkt - IF (member%MSecGeom == MSecGeom_Rec) THEN - CALL Morison_DirCosMtrx( InitInp%Nodes(member%NodeIndx(1))%Position, InitInp%Nodes(member%NodeIndx(N+1))%Position, member%MSpinOrient, CMatrix ) - member%x_hat = CMatrix(1:3,1) - member%y_hat = CMatrix(1:3,2) - END IF - phi = acos( max(-1.0_ReKi, min(1.0_ReKi, vec(3)/memLength) ) ) ! incline angle - sinPhi = sin(phi) - cosPhi = cos(phi) - member%cosPhi_ref = cosPhi + CALL Morison_DirCosMtrx( InitInp%Nodes(member%NodeIndx(1))%Position, InitInp%Nodes(member%NodeIndx(N+1))%Position, member%MSpinOrient, member%CMatrix ) + member%x_hat = member%CMatrix(1:3,1) + member%y_hat = member%CMatrix(1:3,2) + cosPhi = member%k(3) ! cosine of inclination from vertical (z-component of axial unit vector) ! These are all per node and not done here, yet @@ -2465,16 +2185,8 @@ subroutine SetMemberProperties_Rec( gravity, member, MCoefMod, MmbrCoefIDIndx, M ! Check the member does not exhibit any of the following conditions if (.not. member%PropPot) then - ! MHstLMod=1 is not allowed for rectangular members at the moment. Skip the following check. - ! if (member%MHstLMod == 1) then - ! if ( abs(Zb) < abs(member%Rmg(N+1)*sinPhi) ) then - ! call SetErrStat(ErrID_Fatal, 'The upper end-plate of a member must not cross the water plane. This is not true for Member ID '//trim(num2lstr(member%MemberID)), errStat, errMsg, RoutineName ) - ! end if - ! if ( abs(Za) < abs(member%Rmg(1)*sinPhi) ) then - ! call SetErrStat(ErrID_Fatal, 'The lower end-plate of a member must not cross the water plane. This is not true for Member ID '//trim(num2lstr(member%MemberID)), errStat, errMsg, RoutineName ) - ! end if - ! end if - if ( ( Za < -InitInp%WaveField%EffWtrDpth .and. Zb >= -InitInp%WaveField%EffWtrDpth ) .and. ( phi > 10.0*d2r .or. abs((member%SaMG(N+1) - member%SaMG(1))/member%RefLength)>0.1 .or. abs((member%SbMG(N+1) - member%SbMG(1))/member%RefLength)>0.1 ) ) then + ! MHstLMod=1 is not allowed for rectangular members. Skip the check for partially wetted endplates. + if ( ( Za < -InitInp%WaveField%EffWtrDpth .and. Zb >= -InitInp%WaveField%EffWtrDpth ) .and. ( ABS(cosPhi) < 0.9848077530_ReKi .or. abs((member%SaMG(N+1) - member%SaMG(1))/member%RefLength)>0.1 .or. abs((member%SbMG(N+1) - member%SbMG(1))/member%RefLength)>0.1 ) ) then call SetErrStat(ErrID_Fatal, 'A member which crosses the seabed must not be inclined more than 10 degrees from vertical or have a taper larger than 0.1. This is not true for Member ID '//trim(num2lstr(member%MemberID)), errStat, errMsg, RoutineName ) end if end if @@ -2488,7 +2200,7 @@ subroutine SetMemberProperties_Rec( gravity, member, MCoefMod, MmbrCoefIDIndx, M Za = InitInp%Nodes(member%NodeIndx(i))%Position(3) if (Za > -InitInp%WaveField%EffWtrDpth) then ! find the lowest node above the seabed - if (cosPhi < 0.173648178 ) then ! phi > 80 degrees and member is seabed crossing + if (ABS(cosPhi) < 0.173648178 ) then ! phi > 80 degrees and member is seabed crossing call SetErrStat(ErrID_Fatal, 'A seabed crossing member must have an inclination angle of <= 80 degrees from vertical. This is not true for Member ID '//trim(num2lstr(member%MemberID)), errStat, errMsg, RoutineName ) end if @@ -2809,7 +2521,6 @@ SUBROUTINE Morison_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, In p%NMOutputs = InitInp%NMOutputs ! Number of members to output [ >=0 and <10] p%OutAll = InitInp%OutAll p%WaveDisp = InitInp%WaveDisp - p%AMMod = InitInp%AMMod p%HstMod = InitInp%HstMod p%VisMeshes = InitInp%VisMeshes ! visualization mesh for morison elements p%PtfmYMod = InitInp%PtfmYMod @@ -2818,12 +2529,6 @@ SUBROUTINE Morison_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, In ! Pointer to SeaState WaveField p%WaveField => InitInp%WaveField - ! Only compute added-mass force up to the free surface if wave stretching is enabled - IF ( p%WaveField%WaveStMod .EQ. 0_IntKi ) THEN - ! Setting AMMod to zero just in case. Probably redundant. - p%AMMod = 0_IntKi - END IF - ! Only compute hydrostatic loads up to the wave free surface if waves stretching is enabled IF ( p%WaveField%WaveStMod .EQ. 0_IntKi ) THEN p%HstMod = 0_IntKi @@ -3398,12 +3103,18 @@ SUBROUTINE AllocateNodeLoadVariables(InitInp, p, m, NNodes, errStat, errMsg ) CHARACTER(*), INTENT( OUT) :: errMsg ! Error message if errStat /= ErrID_None integer(IntKi) :: errStat2 ! Returns a non-zero value when an error occurs CHARACTER(errMsgLen) :: errMsg2 ! Error message if errStat2 /= ErrID_None + integer(IntKi) :: im, maxMemNodes character(*), parameter :: routineName = 'AllocateNodeLoadVariables' ! Initialize errStat errStat = ErrID_None errMsg = "" + maxMemNodes = 0 + do im = 1, p%NMembers + maxMemNodes = max(maxMemNodes, p%Members(im)%NElements+1) + end do + call AllocAry( m%DispNodePosHdn, 3, NNodes , 'm%DispNodePosHdn', errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( m%DispNodePosHst, 3, NNodes , 'm%DispNodePosHst', errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( m%nodeInWater , NNodes , 'm%nodeInWater' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) @@ -3420,6 +3131,9 @@ SUBROUTINE AllocateNodeLoadVariables(InitInp, p, m, NNodes, errStat, errMsg ) call AllocAry( m%F_I_End , 3, p%NJoints, 'm%F_I_End' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( m%F_BF_End , 6, p%NJoints, 'm%F_BF_End' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( m%F_A_End , 3, p%NJoints, 'm%F_A_End' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) + call AllocAry( m%F_WE_End , 3, p%NJoints, 'm%F_WE_End' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) + call AllocAry( m%HM_w , maxMemNodes , 'm%HM_w' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) + call AllocAry( m%HM_nw , 3, maxMemNodes , 'm%HM_nw' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( m%F_D_End , 3, p%NJoints, 'm%F_D_End' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( m%F_B_End , 6, p%NJoints, 'm%F_B_End' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) call AllocAry( m%F_IMG_End , 6, p%NJoints, 'm%F_IMG_End' , errStat2, errMsg2); call SetErrStat(errStat2, errMsg2, errStat, errMsg, routineName) @@ -3450,6 +3164,9 @@ SUBROUTINE AllocateNodeLoadVariables(InitInp, p, m, NNodes, errStat, errMsg ) m%F_I_End = 0.0 m%F_BF_End = 0.0 m%F_A_End = 0.0 + m%F_WE_End = 0.0 + m%HM_w = 1.0_ReKi + m%HM_nw = 0.0_ReKi m%F_D_End = 0.0 m%F_B_End = 0.0 m%F_IMG_End = 0.0 @@ -3496,12 +3213,6 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, INTEGER :: N ! Number of elements within a given member REAL(ReKi) :: dl ! Element length within a given member, m REAL(ReKi) :: vec(3) ! Vector pointing from a member's 1st node to its last node - REAL(ReKi) :: phi, phi1, phi2 ! member tilt angle - REAL(ReKi) :: cosPhi, cosPhi1, cosPhi2 - REAL(ReKi) :: sinPhi, sinPhi1, sinPhi2 - REAL(ReKi) :: tanPhi - REAL(ReKi) :: sinBeta, sinBeta1, sinBeta2 - REAL(ReKi) :: cosBeta, cosBeta1, cosBeta2 REAL(ReKi) :: CMatrix(3,3), CMatrix1(3,3), CMatrix2(3,3), CTrans(3,3) ! Direction cosine matrix for element, and its transpose REAL(ReKi) :: l, z1, z2, zMid, r1, r2, r1b, r2b, r1In, r2In, rMidIn, z_hi, zFillGroup REAL(ReKi) :: Sa1, Sa2, Sa1b, Sa2b, SaMidb, Sa1In, Sa2In, SaMidIn @@ -3519,13 +3230,12 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, REAL(ReKi) :: a_s1(3) REAL(ReKi) :: alpha_s1(3) REAL(ReKi) :: omega_s1(3) - REAL(ReKi) :: a_s2(3) + REAL(ReKi) :: a_s2(3) REAL(ReKi) :: alpha_s2(3) REAL(ReKi) :: omega_s2(3) REAL(ReKi) :: pos1(3), pos2(3) REAL(ReKi) :: Imat(3,3) REAL(ReKi) :: iArm(3), iTerm(3), h_c, dRdl_p, dRdl_pp, dSadl_p, dSadl_pp, dSbdl_p, dSbdl_pp, f_hydro(3), Am(3,3), lstar, deltal, deltalLeft, deltalRight - REAL(ReKi) :: h, h_c_AM, deltal_AM REAL(ReKi) :: F_WMG(6), F_IMG(6), F_If(6), F_B0(6), F_B1(6), F_B2(6), F_B_End(6) REAL(ReKi) :: AM_End(3,3), An_End(3), DP_Const_End(3), I_MG_End(3,3) @@ -3538,14 +3248,11 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, REAL(ReKi) :: F_D0(3) REAL(ReKi) :: F_A0(3) REAL(ReKi) :: F_I0(3) - REAL(ReKi) :: F_0(3) REAL(ReKi) :: F_DS(3) REAL(ReKi) :: F_AS(3) REAL(ReKi) :: F_IS(3) - REAL(ReKi) :: F_S(3) REAL(ReKi) :: f_redist REAL(ReKi) :: Df_hydro(3) - REAL(ReKi) :: DM_hydro(3) REAL(ReKi) :: Df_hydro_lumped(6) REAL(ReKi) :: FVFSInt(3) REAL(ReKi) :: FAFSInt(3) @@ -3560,6 +3267,12 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, INTEGER(IntKi) :: secStat INTEGER(IntKi) :: nodeInWater REAL(SiKi) :: WaveElev1, WaveElev2, WaveElev, FDynP, FV(3), FA(3), FAMCF(3) + REAL(ReKi) :: HM_R, HM_H, HM_S, HM_Zeta + REAL(ReKi) :: HM_Xz(3), HM_pc, HM_v0(3), HM_a0(3), HM_vr(3), HM_vfz(3), HM_Hdot + REAL(ReKi) :: HM_FD(6), HM_FA(6), HM_FI(6), HM_FWE(6) + REAL(ReKi) :: HM_fc, HM_dfc, HM_d, HM_wr, HM_Fy, HM_Fz, HM_mux, HM_dmux, HM_muy, HM_dmuy, HM_ws1, HM_ws2 + REAL(ReKi) :: HM_rJ, HM_drJdH + LOGICAL :: HM_doBase LOGICAL :: Is1stElement, Is1stFloodedMember LOGICAL :: calcHstLdsLocal @@ -3578,13 +3291,13 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, !=============================================================================================== ! Get displaced positions of the hydrodynamic nodes - CALL GetDisplacedNodePosition( u, p, .FALSE., m%DispNodePosHdn ) ! For hydrodynamic loads; depends on WaveDisp and WaveStMod + CALL GetDisplacedNodePosition( u, p, .FALSE., m%DispNodePosHdn ) ! For hydrodynamic loads; depends on WaveDisp CALL GetDisplacedNodePosition( u, p, .TRUE. , m%DispNodePosHst ) ! For hydrostatic loads; always use actual displaced position !=============================================================================================== ! Calculate the fluid kinematics at all mesh nodes and store for use in the equations below CALL WaveField_GetWaveKin( p%WaveField, m%WaveField_m, Time, m%DispNodePosHdn, .FALSE., .TRUE., m%nodeInWater, m%WaveElev1, m%WaveElev2, m%WaveElev, m%FDynP, m%FV, m%FA, m%FAMCF, ErrStat2, ErrMsg2 ) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + if (Failed()) return ! Compute fluid velocity relative to the structure DO j = 1, p%NNodes m%vrel(:,j) = ( m%FV(:,j) - u%Mesh%TranslationVel(:,j) ) * m%nodeInWater(j) @@ -3628,45 +3341,34 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, DO im = 1, p%NMembers mem = p%Members(im) N = mem%NElements - call YawMember(mem, u%PtfmRefY, ErrStat2, ErrMsg2) - call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) !zero member loads m%memberLoads(im)%F_B = 0.0_ReKi m%memberLoads(im)%F_BF = 0.0_ReKi m%memberLoads(im)%F_D = 0.0_ReKi m%memberLoads(im)%F_A = 0.0_ReKi + m%memberLoads(im)%F_WE = 0.0_ReKi m%memberLoads(im)%F_I = 0.0_ReKi m%memberLoads(im)%F_WMG = 0.0_ReKi m%memberLoads(im)%F_IMG = 0.0_ReKi m%memberLoads(im)%F_If = 0.0_ReKi - ! Determine member submergence status - IF ( p%WaveField%WaveStMod .EQ. 0_IntKi ) THEN ! No wave stretching - Only need to check the two ends - IF ( m%nodeInWater(mem%NodeIndx(1)) .NE. m%nodeInWater(mem%NodeIndx(N+1)) ) THEN - MemSubStat = 1_IntKi ! Member centerline crosses the SWL once - ELSE IF ( m%nodeInWater(mem%NodeIndx(1)) .EQ. 0_IntKi ) THEN + ! Determine member submergence status - check every node because members can deform + NumFSX = 0_IntKi ! Number of free-surface crossing + DO i = 1, N ! loop through member elements + IF ( m%nodeInWater(mem%NodeIndx(i)) .NE. m%nodeInWater(mem%NodeIndx(i+1)) ) THEN + NumFSX = NumFSX + 1 + END IF + END DO + IF (NumFSX .EQ. 1_IntKi) THEN + MemSubStat = 1_IntKi ! Member centerline crosses the free surface once + ELSE IF (NumFSX .GT. 1_IntKi) THEN + MemSubStat = 2_IntKi ! Member centerline crosses the free surface multiple time + ELSE ! Member centerline does not cross the free surface + IF ( m%nodeInWater(mem%NodeIndx(1)) .EQ. 0_IntKi ) THEN MemSubStat = 3_IntKi ! Member centerline completely above water ELSE - MemSubStat = 0_IntKi ! Member centerline fully submerged - END IF - ELSE IF ( p%WaveField%WaveStMod > 0_IntKi ) THEN ! Has wave stretching - Need to check every node - NumFSX = 0_IntKi ! Number of free-surface crossing - DO i = 1, N ! loop through member elements - IF ( m%nodeInWater(mem%NodeIndx(i)) .NE. m%nodeInWater(mem%NodeIndx(i+1)) ) THEN - NumFSX = NumFSX + 1 - END IF - END DO - IF (NumFSX .EQ. 1_IntKi) THEN - MemSubStat = 1_IntKi ! Member centerline crosses the free surface once - ELSE IF (NumFSX .GT. 1_IntKi) THEN - MemSubStat = 2_IntKi ! Member centerline crosses the free surface multiple time - ELSE ! Member centerline does not cross the free surface - IF ( m%nodeInWater(mem%NodeIndx(1)) .EQ. 0_IntKi ) THEN - MemSubStat = 3_IntKi ! Member centerline completely above water - ELSE - MemSubStat = 0_IntKi ! Member centerline completely submerged - END IF + MemSubStat = 0_IntKi ! Member centerline completely submerged END IF END IF @@ -3674,17 +3376,14 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, IF ( .NOT. mem%PropPot ) THEN ! Member is NOT modeled with Potential Flow Theory DO i = max(mem%i_floor,1), N ! loop through member elements that are not completely buried in the seabed - ! calculate instantaneous incline angle and heading, and related trig values + ! instantaneous elemental axial unit vector (1st -> 2nd node) ! the first and last NodeIndx values point to the corresponding Joint nodes indices which are at the start of the Mesh pos1 = m%DispNodePosHst(:, mem%NodeIndx(i )) pos2 = m%DispNodePosHst(:, mem%NodeIndx(i+1)) - call GetOrientationAngles( pos1, pos2, phi, sinPhi, cosPhi, tanPhi, sinBeta, cosBeta, k_hat, errStat2, errMsg2 ) - call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - ! Compute element to global DirCos matrix for undisplaced structure first - call Morison_DirCosMtrx( u%Mesh%Position(:,mem%NodeIndx(i )), u%Mesh%Position(:,mem%NodeIndx(i+1)), mem%MSpinOrient, CMatrix ) - ! Prepend body motion - Assuming the rotation of the starting node is representative of the whole element - CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,mem%NodeIndx(i))),CMatrix) + call GetElementAxialVec( pos1, pos2, k_hat, errStat2, errMsg2 ); if (Failed()) return + ! Compute total element orientation matrix assuming the rotation of the starting node is representative of the whole element + CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,mem%NodeIndx(i))),mem%CMatrix) CTrans = transpose(CMatrix) ! Note: CMatrix is element local to global displaced. CTrans is the opposite. ! save some commonly used variables @@ -3695,14 +3394,15 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, a_s2 = u%Mesh%TranslationAcc(:, mem%NodeIndx(i+1)) alpha_s2 = u%Mesh%RotationAcc (:, mem%NodeIndx(i+1)) omega_s2 = u%Mesh%RotationVel (:, mem%NodeIndx(i+1)) - IF (mem%MSecGeom == MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) r1 = mem%RMG(i ) ! outer radius at element nodes including marine growth r2 = mem%RMG(i+1) r1b = mem%RMGB(i ) ! outer radius at element nodes including marine growth scaled by sqrt(Cb) r2b = mem%RMGB(i+1) dRdl_mg = mem%dRdl_mg(i) ! Taper of element including marine growth dRdl_mg_b = mem%dRdl_mg_b(i) ! Taper of element including marine growth with radius scaling by sqrt(Cb) - ELSE IF (mem%MSecGeom == MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) Sa1 = mem%SaMG(i ) ! outer side A at element nodes including marine growth Sa2 = mem%SaMG(i+1) Sb1 = mem%SbMG(i ) ! outer side B at element nodes including marine growth @@ -3715,7 +3415,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, dSadl_mg_b = mem%dSadl_mg_b(i) ! Taper of element side A including marine growth with radius scaling by sqrt(Cb) dSbdl_mg = mem%dSbdl_mg(i) ! Taper of element side B including marine growth dSbdl_mg_b = mem%dSbdl_mg_b(i) ! Taper of element side B including marine growth with radius scaling by sqrt(Cb) - END IF + END SELECT ! ------------------ marine growth: Sides: Section 4.1.2 -------------------- ! ----- marine growth weight @@ -3723,16 +3423,16 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, ! lower node F_WMG(3) = - mem%m_mg_l(i)*g ! weight force : Note: this is a constant - F_WMG(4) = - mem%m_mg_l(i)*g * mem%h_cmg_l(i)* sinPhi * sinBeta! weight force - F_WMG(5) = mem%m_mg_l(i)*g * mem%h_cmg_l(i)* sinPhi * cosBeta! weight force + F_WMG(4) = - mem%m_mg_l(i)*g * mem%h_cmg_l(i)* k_hat(2) ! weight force + F_WMG(5) = mem%m_mg_l(i)*g * mem%h_cmg_l(i)* k_hat(1) ! weight force m%memberLoads(im)%F_WMG(:,i) = m%memberLoads(im)%F_WMG(:,i) + F_WMG y%Mesh%Force (:,mem%NodeIndx(i)) = y%Mesh%Force (:,mem%NodeIndx(i)) + F_WMG(1:3) y%Mesh%Moment(:,mem%NodeIndx(i)) = y%Mesh%Moment(:,mem%NodeIndx(i)) + F_WMG(4:6) ! upper node F_WMG(3) = - mem%m_mg_u(i)*g ! weight force : Note: this is a constant - F_WMG(4) = - mem%m_mg_u(i)*g * mem%h_cmg_u(i)* sinPhi * sinBeta! weight force - F_WMG(5) = mem%m_mg_u(i)*g * mem%h_cmg_u(i)* sinPhi * cosBeta! weight force + F_WMG(4) = - mem%m_mg_u(i)*g * mem%h_cmg_u(i)* k_hat(2) ! weight force + F_WMG(5) = mem%m_mg_u(i)*g * mem%h_cmg_u(i)* k_hat(1) ! weight force m%memberLoads(im)%F_WMG(:,i+1) = m%memberLoads(im)%F_WMG(:,i+1) + F_WMG y%Mesh%Force (:,mem%NodeIndx(i+1)) = y%Mesh%Force (:,mem%NodeIndx(i+1)) + F_WMG(1:3) y%Mesh%Moment(:,mem%NodeIndx(i+1)) = y%Mesh%Moment(:,mem%NodeIndx(i+1)) + F_WMG(4:6) @@ -3740,13 +3440,14 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, ! ----- marine growth inertial load ! lower node Imat = 0.0_ReKi - IF (mem%MSecGeom == MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) Imat(1,1) = mem%I_rmg_l(i) Imat(2,2) = mem%I_rmg_l(i) - ELSE IF (mem%MSecGeom == MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) Imat(1,1) = mem%I_xmg_l(i) Imat(2,2) = mem%I_ymg_l(i) - END IF + END SELECT Imat(3,3) = mem%I_lmg_l(i) Imat = matmul(matmul(CMatrix, Imat), CTrans) iArm = mem%h_cmg_l(i) * k_hat @@ -3760,13 +3461,14 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, ! upper node Imat = 0.0_ReKi - IF (mem%MSecGeom == MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) Imat(1,1) = mem%I_rmg_u(i) Imat(2,2) = mem%I_rmg_u(i) - ELSE IF (mem%MSecGeom == MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) Imat(1,1) = mem%I_xmg_u(i) Imat(2,2) = mem%I_ymg_u(i) - END IF + END SELECT Imat(3,3) = mem%I_lmg_u(i) Imat = matmul(matmul(CMatrix, Imat), CTrans) iArm = mem%h_cmg_u(i) * k_hat @@ -3790,16 +3492,15 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, case (1) IF ( p%HstMod > 0_IntKi ) THEN ! If wave stretching is enabled, compute buoyancy up to free surface - CALL GetTotalWaveElev(p, m, Time, pos1, Zeta1, ErrStat2, ErrMsg2 ) - CALL GetTotalWaveElev(p, m, Time, pos2, Zeta2, ErrStat2, ErrMsg2 ) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + CALL GetTotalWaveElev(p, m, Time, pos1, Zeta1, ErrStat2, ErrMsg2 ); if (Failed()) return + CALL GetTotalWaveElev(p, m, Time, pos2, Zeta2, ErrStat2, ErrMsg2 ); if (Failed()) return ELSE ! Without wave stretching, compute buoyancy based on SWL Zeta1 = 0.0_ReKi Zeta2 = 0.0_ReKi END IF Is1stElement = ( i .EQ. 1) CALL getElementHstLds_Mod1(p, m, mem, Time, pos1, pos2, Zeta1, Zeta2, k_hat, r1b, r2b, dl, mem%alpha(i), Is1stElement, F_B0, F_B1, F_B2, ErrStat2, ErrMsg2 ) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + if (Failed()) return ! Add nodal loads to mesh IF ( .NOT. Is1stElement ) THEN m%memberLoads(im)%F_B(:, i-1) = m%memberLoads(im)%F_B(:, i-1) + F_B0 @@ -3820,25 +3521,23 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, posMid = 0.5 * (pos1+pos2) IF (p%HstMod > 0_IntKi) THEN - CALL GetTotalWaveElev(p, m, Time, posMid, ZetaMid, ErrStat2, ErrMsg2 ) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - CALL GetFreeSurfaceNormal( p, m, Time, posMid, n_hat, ErrStat2, ErrMsg2 ) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + CALL GetTotalWaveElev(p, m, Time, posMid, ZetaMid, ErrStat2, ErrMsg2 ); if (Failed()) return + CALL GetFreeSurfaceNormal( p, m, Time, posMid, n_hat, ErrStat2, ErrMsg2 ); if (Failed()) return FSPt = (/posMid(1),posMid(2),ZetaMid/) ! Reference point on the free surface ELSE FSPt = (/posMid(1),posMid(2),0.0_ReKi/) n_hat = (/0.0,0.0,1.0/) END IF - IF (mem%MSecGeom == MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) CALL GetSectionUnitVectors_Cyl( k_hat, y_hat, z_hat ) CALL getElementHstLds_Mod2_Cyl( p, pos1, pos2, FSPt, k_hat, y_hat, z_hat, n_hat, r1b, r2b, dl, F_B1, F_B2, ErrStat2, ErrMsg2) - ELSE IF (mem%MSecGeom == MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) CALL GetSectionUnitVectors_Rec( CMatrix, x_hat, y_hat ) CALL getElementHstLds_Mod2_Rec( p, pos1, pos2, FSPt, k_hat, x_hat, y_hat, n_hat, Sa1b, Sa2b, Sb1b, Sb2b, dl, F_B1, F_B2, ErrStat2, ErrMsg2) - END IF - - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + END SELECT + if (Failed()) return ! Add nodal loads to mesh m%memberLoads(im)%F_B(:,i ) = m%memberLoads(im)%F_B(:,i ) + F_B1 @@ -3858,16 +3557,14 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, zFillGroup = m%zFillGroup(mem%MmbrFilledIDIndx) DO i = max(mem%i_floor,1), N ! loop through member elements that are not completely buried in the seabed IF (mem%floodstatus(i)>0) THEN - ! calculate instantaneous incline angle and heading, and related trig values + ! instantaneous elemental axial unit vector (1st -> 2nd node) ! the first and last NodeIndx values point to the corresponding Joint nodes indices which are at the start of the Mesh pos1 = m%DispNodePosHst(:,mem%NodeIndx(i )) pos2 = m%DispNodePosHst(:,mem%NodeIndx(i+1)) - call GetOrientationAngles( pos1, pos2, phi, sinPhi, cosPhi, tanPhi, sinBeta, cosBeta, k_hat, errStat2, errMsg2 ); if (Failed()) return - ! Compute element to global DirCos matrix for undisplaced structure first - call Morison_DirCosMtrx( u%Mesh%Position(:,mem%NodeIndx(i )), u%Mesh%Position(:,mem%NodeIndx(i+1)), mem%MSpinOrient, CMatrix ) - ! Prepend body motion - Assuming the rotation of the starting node is representative of the whole element - CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,mem%NodeIndx(i))),CMatrix) + call GetElementAxialVec( pos1, pos2, k_hat, errStat2, errMsg2 ); if (Failed()) return + ! Compute total element orientation matrix assuming the rotation of the starting node is representative of the whole element + CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,mem%NodeIndx(i))),mem%CMatrix) CTrans = transpose(CMatrix) ! Note: CMatrix is element local to global displaced. CTrans is the opposite. ! save some commonly used variables @@ -3880,7 +3577,8 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, a_s2 = u%Mesh%TranslationAcc(:, mem%NodeIndx(i+1)) alpha_s2 = u%Mesh%RotationAcc (:, mem%NodeIndx(i+1)) omega_s2 = u%Mesh%RotationVel (:, mem%NodeIndx(i+1)) - IF (mem%MSecGeom == MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) r1In = mem%Rin(i ) ! outer radius at element nodes including marine growth r2In = mem%Rin(i+1) IF ( mem%floodstatus(i) == 1 ) THEN ! Fully flooded element @@ -3891,7 +3589,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, l = mem%h_fill/mem%dl rMidIn = r1In * (1.0-l) + r2In * l END IF - ELSE IF (mem%MSecGeom == MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) Sa1In = mem%Sain(i ) ! outer side A at element nodes including marine growth Sa2In = mem%Sain(i+1) Sb1In = mem%Sbin(i ) ! outer side B at element nodes including marine growth @@ -3906,18 +3604,19 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, SaMidIn = Sa1In * (1.0-l) + Sa2In * l SbMidIn = Sb1In * (1.0-l) + Sb2In * l END IF - END IF + END SELECT ! ------------------ flooded ballast inertia: sides: Section 6.1.1 : Always compute regardless of PropPot setting --------------------- ! lower node Imat = 0.0_ReKi - IF (mem%MSecGeom == MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) Imat(1,1) = mem%I_rfb_l(i) Imat(2,2) = mem%I_rfb_l(i) - ELSE IF (mem%MSecGeom == MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) Imat(1,1) = mem%I_xfb_l(i) Imat(2,2) = mem%I_yfb_l(i) - END IF + END SELECT Imat(3,3) = mem%I_lfb_l(i) Imat = matmul(matmul(CMatrix, Imat), CTrans) iArm = mem%h_cfb_l(i) * k_hat @@ -3931,13 +3630,14 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, ! upper node Imat = 0.0_ReKi - IF (mem%MSecGeom == MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) Imat(1,1) = mem%I_rfb_u(i) Imat(2,2) = mem%I_rfb_u(i) - ELSE IF (mem%MSecGeom == MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) Imat(1,1) = mem%I_xfb_u(i) Imat(2,2) = mem%I_yfb_u(i) - END IF + END SELECT Imat(3,3) = mem%I_lfb_u(i) Imat = matmul(matmul(CMatrix, Imat), CTrans) iArm = mem%h_cfb_u(i) * k_hat @@ -3952,7 +3652,8 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, ! ------------------ flooded ballast weight : sides : Section 5.1.2 & 5.2.2 : Always compute regardless of PropPot setting --------------------- F_B1 = 0.0 F_B2 = 0.0 - IF (mem%MSecGeom == MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) F_B1(3) = - p%gravity * mem%m_fb_l(i) F_B1(1:3) = F_B1(1:3) + mem%FillDens * p%gravity * pi * ( rMidIn*rMidIn*(zMid-zFillGroup) - r1In*r1In*(z1-zFillGroup) ) * k_hat F_B1(4:6) = -( p%gravity * mem%m_fb_l(i) * mem%h_cfb_l(i) + mem%FillDens * p%gravity * 0.25*pi*(rMidIn**4-r1In**4) ) * Cross_Product(k_hat,(/0.0,0.0,1.0/)) @@ -3964,7 +3665,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, F_B1(1:3) = F_B1(1:3) + mem%FillDens * p%gravity * pi * rMidIn**2* (zFillGroup - zMid) * k_hat F_B1(4:6) = F_B1(4:6) + mem%FillDens * p%gravity * 0.25 * pi * rMidIn**4* Cross_Product(k_hat,(/0.0,0.0,1.0/)) END IF - ELSE IF (mem%MSecGeom == MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) CALL GetSectionUnitVectors_Rec( CMatrix, x_hat, y_hat ) F_B1(3) = - p%gravity * mem%m_fb_l(i) F_B1(1:3) = F_B1(1:3) + mem%FillDens * p%gravity * ( SaMidIn*SbMidIn*(zMid-zFillGroup) - Sa1In*Sb1In*(z1-zFillGroup) ) * k_hat @@ -3981,7 +3682,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, F_B1(1:3) = F_B1(1:3) + mem%FillDens * p%gravity * SaMidIn*SbMidIn*(zFillGroup-zMid) * k_hat F_B1(4:6) = F_B1(4:6) + mem%FillDens * p%gravity / 12.0 * (SaMidIn**3*SbMidIn*x_hat(3)*y_hat - SaMidIn*SbMidIn**3*y_hat(3)*x_hat) END IF - END IF + END SELECT m%memberLoads(im)%F_BF(:, i ) = m%memberLoads(im)%F_BF(:, i ) + F_B1 m%memberLoads(im)%F_BF(:, i+1) = m%memberLoads(im)%F_BF(:, i+1) + F_B2 @@ -3997,10 +3698,28 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, !-----------------------------------------------------------------------------------------------------! ! External Hydrodynamic Side Loads - Start ! !-----------------------------------------------------------------------------------------------------! - IF ( p%WaveField%WaveStMod > 0 .AND. MemSubStat == 1 .AND. (m%NodeInWater(mem%NodeIndx(N+1)).EQ.0_IntKi) ) THEN + ! Nodal weight of the baseline model and local free-surface normal for the shallow-angle model + m%HM_w ( 1:N+1) = 1.0_ReKi + m%HM_nw(:,1:N+1) = 0.0_ReKi + IF ( mem%MSecGeom == MSecGeom_Cyl ) THEN + DO i = mem%i_floor+1,N+1 + call RotateMemberNode(p, im, mem, u%PtfmRefY, u%Mesh%Orientation(:,:,mem%NodeIndx(i)), ErrStat2, ErrMsg2); if (Failed()) return + IF ( p%WaveField%WaveStMod > 0_IntKi ) THEN + pos1 = m%DispNodePosHdn(:,mem%NodeIndx(i)) + CALL GetFreeSurfaceNormal( p, m, Time, pos1, n_hat, ErrStat2, ErrMsg2 ); if (Failed()) return + m%HM_nw(:,i) = n_hat + ELSE + m%HM_nw(:,i) = (/ 0.0_ReKi, 0.0_ReKi, 1.0_ReKi /) + END IF + m%HM_w(i) = HM_BlendWeight( abs(dot_product(m%HM_nw(:,i), mem%k)) ) + END DO + END IF + HM_doBase = ANY( m%HM_w(mem%i_floor+1:N+1) > 0.0_ReKi ) + + IF ( (p%WaveField%WaveStMod > 0 .OR. p%WaveDisp == 1_IntKi) .AND. MemSubStat == 1 .AND. (m%NodeInWater(mem%NodeIndx(N+1)).EQ.0_IntKi) .AND. HM_doBase ) THEN !----------------------------Apply load smoothing----------------------------! ! only when: - ! 1. wave stretching is enabled + ! 1. wave stretching is enabled or WaveDisp=1. Either can lead to member nodes going in and out of water ! 2. member centerline crosses the free surface exactly once ! 3. the last node is out of water, which implies the first node is in water @@ -4012,9 +3731,18 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, pos1 = m%DispNodePosHdn(:,mem%NodeIndx(i )) pos2 = m%DispNodePosHdn(:,mem%NodeIndx(i+1)) - ! Free surface elevation above or below node i and i+1 - Zeta1 = m%WaveElev(mem%NodeIndx(i)) - Zeta2 = m%WaveElev(mem%NodeIndx(i+1)) + ! Free surface elevation above or below node i and i+1. + ! Without wave stretching the free surface is the SWL (z=0), consistent with how nodeInWater/MemSubStat are determined. + IF ( p%WaveField%WaveStMod > 0_IntKi ) THEN + Zeta1 = m%WaveElev(mem%NodeIndx(i )) + Zeta2 = m%WaveElev(mem%NodeIndx(i+1)) + ELSE + Zeta1 = 0.0_ReKi + Zeta2 = 0.0_ReKi + END IF + + ! Rotate member properties based on local node orientation + call RotateMemberNode(p, im, mem, u%PtfmRefY, u%Mesh%Orientation(:,:,mem%NodeIndx(i)), ErrStat2, ErrMsg2); if (Failed()) return ! Compute deltal and h_c IF ( i == 1 ) THEN ! First node @@ -4040,93 +3768,50 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, END IF ! Compute the slope of member radius/side length - IF (mem%MSecGeom==MSecGeom_Cyl) THEN - IF (i == 1) THEN - dRdl_p = abs(mem%dRdl_mg(i)) - dRdl_pp = mem%dRdl_mg(i) - ELSE IF ( i > 1 .AND. i < (N+1)) THEN - dRdl_p = 0.5*( abs(mem%dRdl_mg(i-1)) + abs(mem%dRdl_mg(i)) ) - dRdl_pp = 0.5*( mem%dRdl_mg(i-1) + mem%dRdl_mg(i) ) - ELSE - dRdl_p = abs(mem%dRdl_mg(N)) - dRdl_pp = mem%dRdl_mg(N) - END IF - ELSE IF (mem%MSecGeom==MSecGeom_Rec) THEN - IF (i == 1) THEN - dSadl_p = abs(mem%dSadl_mg(i)) - dSadl_pp = mem%dSadl_mg(i) - dSbdl_p = abs(mem%dSbdl_mg(i)) - dSbdl_pp = mem%dSbdl_mg(i) - ELSE IF ( i > 1 .AND. i < (N+1)) THEN - dSadl_p = 0.5*( abs(mem%dSadl_mg(i-1)) + abs(mem%dSadl_mg(i)) ) - dSadl_pp = 0.5*( mem%dSadl_mg(i-1) + mem%dSadl_mg(i) ) - dSbdl_p = 0.5*( abs(mem%dSbdl_mg(i-1)) + abs(mem%dSbdl_mg(i)) ) - dSbdl_pp = 0.5*( mem%dSbdl_mg(i-1) + mem%dSbdl_mg(i) ) - ELSE - dSadl_p = abs(mem%dSadl_mg(N)) - dSadl_pp = mem%dSadl_mg(N) - dSbdl_p = abs(mem%dSbdl_mg(N)) - dSbdl_pp = mem%dSbdl_mg(N) - END IF - END IF + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) + CALL GetNodeTaper( mem%dRdl_mg, i, N, dRdl_p, dRdl_pp ) + CASE (MSecGeom_Rec) + CALL GetNodeTaper( mem%dSadl_mg, i, N, dSadl_p, dSadl_pp ) + CALL GetNodeTaper( mem%dSbdl_mg, i, N, dSbdl_p, dSbdl_pp ) + END SELECT !-------------------- hydrodynamic drag loads: sides: Section 7.1.2 ------------------------! vec = matmul( mem%Ak,m%vrel(:,mem%NodeIndx(i)) ) - IF (mem%MSecGeom==MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) f_hydro = mem%Cd(i)*p%WaveField%WtrDens*mem%RMG(i)*TwoNorm(vec)*vec + & ! radial part 0.5*mem%AxCd(i)*p%WaveField%WtrDens * pi*mem%RMG(i)*dRdl_p * & ! axial part abs(dot_product( mem%k, m%vrel(:,mem%NodeIndx(i)) )) * matmul( mem%kkt, m%vrel(:,mem%NodeIndx(i)) ) ! axial part cont'd - ELSE IF (mem%MSecGeom==MSecGeom_Rec) THEN - Call GetDistDrag_Rec(p, m, u, xd, Time,mem,i,dSadl_p,dSbdl_p,f_hydro,ErrStat2,ErrMsg2); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - END IF + CASE (MSecGeom_Rec) + Call GetDistDrag_Rec(p, m, u, xd, Time,mem,i,dSadl_p,dSbdl_p,f_hydro,ErrStat2,ErrMsg2); if (Failed()) return + END SELECT CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_D(:, i) ) - y%Mesh%Force (:,mem%NodeIndx(i)) = y%Mesh%Force (:,mem%NodeIndx(i)) + m%memberLoads(im)%F_D(1:3, i) - y%Mesh%Moment(:,mem%NodeIndx(i)) = y%Mesh%Moment(:,mem%NodeIndx(i)) + m%memberLoads(im)%F_D(4:6, i) IF (i == FSElem) THEN ! Save the distributed load at the first node below the free surface F_D0 = f_hydro END IF IF ( .NOT. mem%PropPot ) THEN !-------------------- hydrodynamic added mass loads: sides: Section 7.1.3 ------------------------! - IF (mem%MSecGeom==MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) Am = mem%Ca(i)*p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i)*mem%Ak + 2.0*mem%AxCa(i)*p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i)*dRdl_p*mem%kkt f_hydro = -matmul( Am, u%Mesh%TranslationAcc(:,mem%NodeIndx(i)) ) - ELSE IF (mem%MSecGeom==MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) f_hydro = -p%WaveField%WtrDens*mem%CaB(i) * 0.25*pi*mem%SbMG(i)*mem%SbMG(i) * Dot_Product(u%Mesh%TranslationAcc(:,mem%NodeIndx(i)),mem%x_hat)*mem%x_hat & -p%WaveField%WtrDens*mem%CaA(i) * 0.25*pi*mem%SaMG(i)*mem%SaMG(i) * Dot_Product(u%Mesh%TranslationAcc(:,mem%NodeIndx(i)),mem%y_hat)*mem%y_hat & -0.5*p%WaveField%WtrDens*mem%AxCa(i) * (dSbdl_p*mem%SaMG(i)+dSadl_p*mem%SbMG(i))*SQRT(mem%SaMG(i)*mem%SbMG(i)) * Dot_Product(u%Mesh%TranslationAcc(:,mem%NodeIndx(i)),mem%k)*mem%k + END SELECT + ! Compute added-mass force up to the instantaneous free surface + f_hydro = f_hydro * m%nodeInWater(mem%NodeIndx(i)) ! Zero the force if node above free surface + CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_A(:, i) ) + IF (i == FSElem) THEN ! Save the distributed load at the first node below the free surface + F_A0 = f_hydro END IF - IF ( p%AMMod .EQ. 0_IntKi ) THEN ! Compute added-mass force up to the SWL - z1 = u%Mesh%Position(3, mem%NodeIndx(i)) - p%WaveField%MSL2SWL ! Undisplaced z-position of the current node - IF ( z1 > 0.0_ReKi ) THEN ! Node is above SWL undisplaced; zero added-mass force - f_hydro = 0.0_ReKi - CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_A(:, i) ) - ELSE - ! Need to compute deltal_AM and h_c_AM based on the formulation without wave stretching. - z2 = u%Mesh%Position(3, mem%NodeIndx(i+1)) - p%WaveField%MSL2SWL ! Undisplaced z-position of the next node - IF ( z2 > 0.0_ReKi ) THEN ! Element i crosses the SWL - h = -z1 / mem%cosPhi_ref ! Length of Element i between SWL and node i, h>=0 - deltal_AM = mem%dl/2.0 + h - h_c_AM = 0.5*(h-mem%dl/2.0) - ELSE - deltal_AM = deltal; - h_c_AM = h_c - END IF - ! Note: Do not overwrite deltal and h_c here. Still need them for the fluid inertia and drag forces. - CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal_AM, h_c_AM, m%memberLoads(im)%F_A(:, i) ) - END IF - ELSE ! Compute added-mass force up to the instantaneous free surface - f_hydro = f_hydro * m%nodeInWater(mem%NodeIndx(i)) ! Zero the force if node above free surface - CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_A(:, i) ) - IF (i == FSElem) THEN ! Save the distributed load at the first node below the free surface - F_A0 = f_hydro - END IF - END IF ! AMMod 0 or 1 - y%Mesh%Force (:,mem%NodeIndx(i)) = y%Mesh%Force (:,mem%NodeIndx(i)) + m%memberLoads(im)%F_A(1:3, i) - y%Mesh%Moment(:,mem%NodeIndx(i)) = y%Mesh%Moment(:,mem%NodeIndx(i)) + m%memberLoads(im)%F_A(4:6, i) !--------------------- hydrodynamic inertia loads: sides: Section 7.1.4 --------------------------! - IF (mem%MSecGeom==MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) IF (mem%PropMCF) THEN f_hydro= p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i) * matmul( mem%Ak, m%FAMCF(:,mem%NodeIndx(i)) ) + & 2.0*mem%AxCa(i)*p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i)*dRdl_p * matmul( mem%kkt, m%FA(:,mem%NodeIndx(i)) ) + & @@ -4136,7 +3821,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, 2.0*mem%AxCa(i) *p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i)*dRdl_p * matmul( mem%kkt, m%FA(:,mem%NodeIndx(i)) ) + & 2.0*m%FDynP(mem%NodeIndx(i))*mem%AxCp(i)*pi*mem%RMG(i)*dRdl_pp*mem%k END IF - ELSE IF (mem%MSecGeom==MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) ! Note: MacCamy-Fuchs correction cannot be applied to rectangular members f_hydro= mem%Cp(i)*p%WaveField%WtrDens* mem%SaMG(i)*mem%SbMG(i) * matmul( mem%Ak, m%FA(:,mem%NodeIndx(i)) ) + & ! transver FK component m%FDynP(mem%NodeIndx(i))*mem%AxCp(i)* (mem%SaMG(i)*dSbdl_pp+dSadl_pp*mem%SbMG(i)) *mem%k + & ! axial FK component @@ -4144,10 +3829,8 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, p%WaveField%WtrDens*mem%CaA(i) * 0.25*pi*mem%SaMG(i)*mem%SaMG(i) * Dot_Product(m%FA(:,mem%NodeIndx(i)),mem%y_hat)*mem%y_hat + & ! y-component of diffraction part 0.5*p%WaveField%WtrDens*mem%AxCa(i) * (dSbdl_p*mem%SaMG(i)+dSadl_p*mem%SbMG(i))*SQRT(mem%SaMG(i)*mem%SbMG(i)) * & ! axial component of diffraction part Dot_Product(m%FA(:,mem%NodeIndx(i)),mem%k)*mem%k ! axial component of diffraction part cont'd - END IF + END SELECT CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_I(:, i) ) - y%Mesh%Force (:,mem%NodeIndx(i)) = y%Mesh%Force (:,mem%NodeIndx(i)) + m%memberLoads(im)%F_I(1:3, i) - y%Mesh%Moment(:,mem%NodeIndx(i)) = y%Mesh%Moment(:,mem%NodeIndx(i)) + m%memberLoads(im)%F_I(4:6, i) IF (i == FSElem) THEN ! Save the distributed load at the first node below the free surface F_I0 = f_hydro END IF @@ -4155,12 +3838,20 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, END DO ! i =1,N+1 ! loop through member nodes + IF ( FSElem < 1_IntKi ) THEN ! No free-surface-crossing element found; guard against invalid FSElem indexing below + ErrStat2 = ErrID_Fatal + ErrMsg2 = 'Failed to locate the free-surface-crossing element for Member ID '//trim(num2lstr(mem%MemberID))//'.' + if (Failed()) return + END IF + !----------------------------------------------------------------------------------------------------! ! Compute the distributed loads at the point of intersection between the member and the free surface ! !----------------------------------------------------------------------------------------------------! + ! Rotate member properties to the free-surface-crossing element (its starting node is representative) + call RotateMemberNode(p, im, mem, u%PtfmRefY, u%Mesh%Orientation(:,:,mem%NodeIndx(FSElem)), ErrStat2, ErrMsg2); if (Failed()) return ! Get wave kinematics at the free-surface intersection. Set forceNodeInWater=.TRUE. to guarantee the free-surface intersection is in water. CALL WaveField_GetNodeWaveKin( p%WaveField, m%WaveField_m, Time, FSInt, .TRUE., .TRUE., nodeInWater, WaveElev1, WaveElev2, WaveElev, FDynP, FV, FA, FAMCF, ErrStat2, ErrMsg2 ) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + if (Failed()) return FDynPFSInt = REAL(FDynP,ReKi) FVFSInt = REAL(FV, ReKi) FAFSInt = REAL(FA, ReKi) @@ -4179,7 +3870,8 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, (1.0-SubRatio) * u%Mesh%TranslationVel(:,mem%NodeIndx(FSElem )) & ) - IF (mem%MSecGeom==MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) dRdl_p = abs(mem%dRdl_mg(FSElem)) dRdl_pp = mem%dRdl_mg(FSElem) RMGFSInt = SubRatio * mem%RMG( FSElem+1) + (1.0-SubRatio) * mem%RMG( FSElem) @@ -4199,11 +3891,9 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, IF ( .NOT. mem%PropPot ) THEN ! ------------------- hydrodynamic added mass loads: sides: Section 7.1.3 ------------------------ - IF (p%AMMod > 0_IntKi) THEN - Am = CaFSInt*p%WaveField%WtrDens*pi*RMGFSInt*RMGFSInt*mem%Ak + & - 2.0*AxCaFSInt*p%WaveField%WtrDens*pi*RMGFSInt*RMGFSInt*dRdl_p*mem%kkt - F_AS = -matmul( Am, SAFSInt ) - END IF + Am = CaFSInt*p%WaveField%WtrDens*pi*RMGFSInt*RMGFSInt*mem%Ak + & + 2.0*AxCaFSInt*p%WaveField%WtrDens*pi*RMGFSInt*RMGFSInt*dRdl_p*mem%kkt + F_AS = -matmul( Am, SAFSInt ) ! ------------------- hydrodynamic inertia loads: sides: Section 7.1.4 ------------------------ IF ( mem%PropMCF) THEN @@ -4216,16 +3906,13 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, 2.0*AxCpFSInt *pi*RMGFSInt *dRdl_pp * FDynPFSInt*mem%k END IF END IF - ELSE IF (mem%MSecGeom==MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) dSadl_p = abs(mem%dSadl_mg(FSElem)) dSadl_pp = mem%dSadl_mg(FSElem) dSbdl_p = abs(mem%dSbdl_mg(FSElem)) dSbdl_pp = mem%dSbdl_mg(FSElem) SaMGFSInt = SubRatio * mem%SaMG(FSElem+1) + (1.0-SubRatio) * mem%SaMG(FSElem) SbMGFSInt = SubRatio * mem%SbMG(FSElem+1) + (1.0-SubRatio) * mem%SbMG(FSElem) - ! CdAFSInt = SubRatio * mem%CdA( FSElem+1) + (1.0-SubRatio) * mem%CdA( FSElem) - ! CdBFSInt = SubRatio * mem%CdB( FSElem+1) + (1.0-SubRatio) * mem%CdB( FSElem) - ! AxCdFSInt = SubRatio * mem%AxCd(FSElem+1) + (1.0-SubRatio) * mem%AxCd(FSElem) CaAFSInt = SubRatio * mem%CaA( FSElem+1) + (1.0-SubRatio) * mem%CaA( FSElem) CaBFSInt = SubRatio * mem%CaB( FSElem+1) + (1.0-SubRatio) * mem%CaB( FSElem) AxCaFSInt = SubRatio * mem%AxCa(FSElem+1) + (1.0-SubRatio) * mem%AxCa(FSElem) @@ -4233,18 +3920,16 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, AxCpFSInt = SubRatio * mem%AxCp(FSElem+1) + (1.0-SubRatio) * mem%AxCp(FSElem) Call GetDistDrag_Rec(p, m, u, xd, Time,mem,FSElem,dSadl_p,dSbdl_p,F_DS,ErrStat2,ErrMsg2,SubRatio,vrelFSInt) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + if (Failed()) return ! Hydrodynamic added mass and inertia loads IF ( .NOT. mem%PropPot ) THEN ! ------------------- hydrodynamic added mass loads: sides: Section 7.1.3 ------------------------ - IF (p%AMMod > 0_IntKi) THEN - F_AS = -p%WaveField%WtrDens*CaBFSInt * 0.25*pi*SbMGFSInt*SbMGFSInt * Dot_Product(SAFSInt,mem%x_hat)*mem%x_hat & - -p%WaveField%WtrDens*CaAFSInt * 0.25*pi*SaMGFSInt*SaMGFSInt * Dot_Product(SAFSInt,mem%y_hat)*mem%y_hat & - -0.5*p%WaveField%WtrDens*AxCaFSInt * (dSbdl_p*SaMGFSInt+dSadl_p*SbMGFSInt)*SQRT(SaMGFSInt*SbMGFSInt) * Dot_Product(SAFSInt,mem%k)*mem%k - END IF - + F_AS = -p%WaveField%WtrDens*CaBFSInt * 0.25*pi*SbMGFSInt*SbMGFSInt * Dot_Product(SAFSInt,mem%x_hat)*mem%x_hat & + -p%WaveField%WtrDens*CaAFSInt * 0.25*pi*SaMGFSInt*SaMGFSInt * Dot_Product(SAFSInt,mem%y_hat)*mem%y_hat & + -0.5*p%WaveField%WtrDens*AxCaFSInt * (dSbdl_p*SaMGFSInt+dSadl_p*SbMGFSInt)*SQRT(SaMGFSInt*SbMGFSInt) * Dot_Product(SAFSInt,mem%k)*mem%k + ! ------------------- hydrodynamic inertia loads: sides: Section 7.1.4 ------------------------ F_IS= CpFSInt*p%WaveField%WtrDens* SaMGFSInt*SbMGFSInt * matmul( mem%Ak, FAFSInt ) + & ! transver FK component FDynPFSInt*AxCpFSInt* (SaMGFSInt*dSbdl_pp+dSadl_pp*SbMGFSInt) *mem%k + & ! axial FK component @@ -4254,7 +3939,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, Dot_Product(FAFSInt,mem%k)*mem%k ! axial component of diffraction part cont'd END IF - END IF + END SELECT !----------------------------------------------------------------------------------------------------! ! Perform the load redistribution for smooth time series ! !----------------------------------------------------------------------------------------------------! @@ -4273,86 +3958,70 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, Df_hydro = ((SubRatio-1.0_ReKi)/(2.0_ReKi)-f_redist)*F_D0 + SubRatio/2.0_ReKi*F_DS CALL LumpDistrHydroLoads( Df_hydro, mem%k, deltal, h_c, Df_hydro_lumped) m%memberLoads(im)%F_D(:, FSElem) = m%memberLoads(im)%F_D(:, FSElem) + Df_hydro_lumped - y%Mesh%Force (:,mem%NodeIndx(FSElem)) = y%Mesh%Force (:,mem%NodeIndx(FSElem)) + Df_hydro_lumped(1:3) - y%Mesh%Moment(:,mem%NodeIndx(FSElem)) = y%Mesh%Moment(:,mem%NodeIndx(FSElem)) + Df_hydro_lumped(4:6) ! Apply load redistribution to the second node below the free surface IF (FSElem > 1_IntKi) THEN ! Note: Only need to modify the loads on the second node below the free surface when there is at least one fully submerged element. Df_hydro = f_redist * F_D0 CALL LumpDistrHydroLoads( Df_hydro, mem%k, deltal, h_c, Df_hydro_lumped) m%memberLoads(im)%F_D(:, FSElem-1) = m%memberLoads(im)%F_D(:, FSElem-1) + Df_hydro_lumped - y%Mesh%Force (:,mem%NodeIndx(FSElem-1)) = y%Mesh%Force (:,mem%NodeIndx(FSElem-1)) + Df_hydro_lumped(1:3) - y%Mesh%Moment(:,mem%NodeIndx(FSElem-1)) = y%Mesh%Moment(:,mem%NodeIndx(FSElem-1)) + Df_hydro_lumped(4:6) END IF ! Hydrodynamic added mass and inertia loads IF ( .NOT. mem%PropPot ) THEN - - IF ( p%AMMod > 0_IntKi ) THEN - !-------------------- hydrodynamic added mass loads: sides: Section 7.1.3 ------------------------! - ! Apply load redistribution to the first node below the free surface - Df_hydro = ((SubRatio-1.0_ReKi)/(2.0_ReKi)-f_redist)*F_A0 + SubRatio/2.0_ReKi*F_AS - CALL LumpDistrHydroLoads( Df_hydro, mem%k, deltal, h_c, Df_hydro_lumped) - m%memberLoads(im)%F_A(:, FSElem) = m%memberLoads(im)%F_A(:, FSElem) + Df_hydro_lumped - y%Mesh%Force (:,mem%NodeIndx(FSElem)) = y%Mesh%Force (:,mem%NodeIndx(FSElem)) + Df_hydro_lumped(1:3) - y%Mesh%Moment(:,mem%NodeIndx(FSElem)) = y%Mesh%Moment(:,mem%NodeIndx(FSElem)) + Df_hydro_lumped(4:6) - - ! Apply load redistribution to the second node below the free surface - IF (FSElem > 1_IntKi) THEN - Df_hydro = f_redist * F_A0 - CALL LumpDistrHydroLoads( Df_hydro, mem%k, deltal, h_c, Df_hydro_lumped) - m%memberLoads(im)%F_A(:, FSElem-1) = m%memberLoads(im)%F_A(:, FSElem-1) + Df_hydro_lumped - y%Mesh%Force (:,mem%NodeIndx(FSElem-1)) = y%Mesh%Force (:,mem%NodeIndx(FSElem-1)) + Df_hydro_lumped(1:3) - y%Mesh%Moment(:,mem%NodeIndx(FSElem-1)) = y%Mesh%Moment(:,mem%NodeIndx(FSElem-1)) + Df_hydro_lumped(4:6) - END IF + + !-------------------- hydrodynamic added mass loads: sides: Section 7.1.3 ------------------------! + ! Apply load redistribution to the first node below the free surface + Df_hydro = ((SubRatio-1.0_ReKi)/(2.0_ReKi)-f_redist)*F_A0 + SubRatio/2.0_ReKi*F_AS + CALL LumpDistrHydroLoads( Df_hydro, mem%k, deltal, h_c, Df_hydro_lumped) + m%memberLoads(im)%F_A(:, FSElem) = m%memberLoads(im)%F_A(:, FSElem) + Df_hydro_lumped + + ! Apply load redistribution to the second node below the free surface + IF (FSElem > 1_IntKi) THEN + Df_hydro = f_redist * F_A0 + CALL LumpDistrHydroLoads( Df_hydro, mem%k, deltal, h_c, Df_hydro_lumped) + m%memberLoads(im)%F_A(:, FSElem-1) = m%memberLoads(im)%F_A(:, FSElem-1) + Df_hydro_lumped END IF - + !-------------------- hydrodynamic inertia loads: sides: Section 7.1.4 --------------------------! ! Apply load redistribution to the first node below the free surface Df_hydro = ((SubRatio-1.0_ReKi)/(2.0_ReKi)-f_redist)*F_I0 + SubRatio/2.0_ReKi*F_IS CALL LumpDistrHydroLoads( Df_hydro, mem%k, deltal, h_c, Df_hydro_lumped) m%memberLoads(im)%F_I(:, FSElem) = m%memberLoads(im)%F_I(:, FSElem) + Df_hydro_lumped - y%Mesh%Force (:,mem%NodeIndx(FSElem)) = y%Mesh%Force (:,mem%NodeIndx(FSElem)) + Df_hydro_lumped(1:3) - y%Mesh%Moment(:,mem%NodeIndx(FSElem)) = y%Mesh%Moment(:,mem%NodeIndx(FSElem)) + Df_hydro_lumped(4:6) ! Apply load redistribution to the second node below the free surface IF (FSElem > 1_IntKi) THEN Df_hydro = f_redist * F_I0 CALL LumpDistrHydroLoads( Df_hydro, mem%k, deltal, h_c, Df_hydro_lumped) m%memberLoads(im)%F_I(:, FSElem-1) = m%memberLoads(im)%F_I(:, FSElem-1) + Df_hydro_lumped - y%Mesh%Force (:,mem%NodeIndx(FSElem-1)) = y%Mesh%Force (:,mem%NodeIndx(FSElem-1)) + Df_hydro_lumped(1:3) - y%Mesh%Moment(:,mem%NodeIndx(FSElem-1)) = y%Mesh%Moment(:,mem%NodeIndx(FSElem-1)) + Df_hydro_lumped(4:6) END IF END IF !----------------------------------------------------------------------------------------------------! ! Perform moment correction to compensate for load redistribution ! !----------------------------------------------------------------------------------------------------! - ! Moment correction to the first and second nodes below the free surface - F_S = F_DS - F_0 = F_D0 + ! Moment correction to the first and second nodes below the free surface, split by load component + ! First node below the free surface + m%memberLoads(im)%F_D(4:6, FSElem) = m%memberLoads(im)%F_D(4:6, FSElem) + 0.5_ReKi * SubRatio**2 * deltal * deltal * cross_product(mem%k, F_DS) IF ( .NOT. mem%PropPot) THEN - F_S = F_S + F_IS - F_0 = F_0 + F_I0 - IF ( p%AMMod > 0_IntKi) THEN - F_S = F_S + F_AS - F_0 = F_0 + F_A0 - END IF + m%memberLoads(im)%F_A(4:6, FSElem) = m%memberLoads(im)%F_A(4:6, FSElem) + 0.5_ReKi * SubRatio**2 * deltal * deltal * cross_product(mem%k, F_AS) + m%memberLoads(im)%F_I(4:6, FSElem) = m%memberLoads(im)%F_I(4:6, FSElem) + 0.5_ReKi * SubRatio**2 * deltal * deltal * cross_product(mem%k, F_IS) END IF - ! First node below the free surface - DM_hydro = 0.5_ReKi * SubRatio**2 * deltal * cross_product(mem%k, F_S) - y%Mesh%Moment(:,mem%NodeIndx(FSElem)) = y%Mesh%Moment(:,mem%NodeIndx(FSElem)) + DM_hydro * deltal ! Second node below the free surface IF (FSElem > 1_IntKi) THEN - DM_hydro = f_redist * deltal * cross_product(mem%k, F_0) - y%Mesh%Moment(:,mem%NodeIndx(FSElem-1)) = y%Mesh%Moment(:,mem%NodeIndx(FSElem-1)) + DM_hydro * deltal + m%memberLoads(im)%F_D(4:6, FSElem-1) = m%memberLoads(im)%F_D(4:6, FSElem-1) + f_redist * deltal * deltal * cross_product(mem%k, F_D0) + IF ( .NOT. mem%PropPot) THEN + m%memberLoads(im)%F_A(4:6, FSElem-1) = m%memberLoads(im)%F_A(4:6, FSElem-1) + f_redist * deltal * deltal * cross_product(mem%k, F_A0) + m%memberLoads(im)%F_I(4:6, FSElem-1) = m%memberLoads(im)%F_I(4:6, FSElem-1) + f_redist * deltal * deltal * cross_product(mem%k, F_I0) + END IF END IF - ELSE IF ( MemSubStat .NE. 3_IntKi) THEN ! Skip members with centerline completely out of water + ELSE IF ( MemSubStat .NE. 3_IntKi .AND. HM_doBase ) THEN ! Skip members with centerline completely out of water !----------------------------No load smoothing----------------------------! DO i = mem%i_floor+1,N+1 ! loop through member nodes starting from the first node above seabed z1 = m%DispNodePosHdn(3, mem%NodeIndx(i)) pos1 = m%DispNodePosHdn(:, mem%NodeIndx(i)) + ! Rotate member properties based on local node orientation + call RotateMemberNode(p, im, mem, u%PtfmRefY, u%Mesh%Orientation(:,:,mem%NodeIndx(i)), ErrStat2, ErrMsg2); if (Failed()) return !---------------------------------------------Compute deltal and h_c------------------------------------------! ! Cannot make any assumption about WaveStMod and member orientation IF ( m%NodeInWater(mem%NodeIndx(i)) .EQ. 0_IntKi ) THEN ! Node is out of water @@ -4407,96 +4076,44 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, END IF ! Compute the slope of member radius/side length - IF (mem%MSecGeom==MSecGeom_Cyl) THEN - IF (i == 1) THEN - dRdl_p = abs(mem%dRdl_mg(i)) - dRdl_pp = mem%dRdl_mg(i) - ELSE IF ( i > 1 .AND. i < (N+1)) THEN - dRdl_p = 0.5*( abs(mem%dRdl_mg(i-1)) + abs(mem%dRdl_mg(i)) ) - dRdl_pp = 0.5*( mem%dRdl_mg(i-1) + mem%dRdl_mg(i) ) - ELSE - dRdl_p = abs(mem%dRdl_mg(N)) - dRdl_pp = mem%dRdl_mg(N) - END IF - ELSE IF (mem%MSecGeom==MSecGeom_Rec) THEN - IF (i == 1) THEN - dSadl_p = abs(mem%dSadl_mg(i)) - dSadl_pp = mem%dSadl_mg(i) - dSbdl_p = abs(mem%dSbdl_mg(i)) - dSbdl_pp = mem%dSbdl_mg(i) - ELSE IF ( i > 1 .AND. i < (N+1)) THEN - dSadl_p = 0.5*( abs(mem%dSadl_mg(i-1)) + abs(mem%dSadl_mg(i)) ) - dSadl_pp = 0.5*( mem%dSadl_mg(i-1) + mem%dSadl_mg(i) ) - dSbdl_p = 0.5*( abs(mem%dSbdl_mg(i-1)) + abs(mem%dSbdl_mg(i)) ) - dSbdl_pp = 0.5*( mem%dSbdl_mg(i-1) + mem%dSbdl_mg(i) ) - ELSE - dSadl_p = abs(mem%dSadl_mg(N)) - dSadl_pp = mem%dSadl_mg(N) - dSbdl_p = abs(mem%dSbdl_mg(N)) - dSbdl_pp = mem%dSbdl_mg(N) - END IF - END IF + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) + CALL GetNodeTaper( mem%dRdl_mg, i, N, dRdl_p, dRdl_pp ) + CASE (MSecGeom_Rec) + CALL GetNodeTaper( mem%dSadl_mg, i, N, dSadl_p, dSadl_pp ) + CALL GetNodeTaper( mem%dSbdl_mg, i, N, dSbdl_p, dSbdl_pp ) + END SELECT !--------------------- hydrodynamic drag loads: sides: Section 7.1.2 --------------------------------! vec = matmul( mem%Ak,m%vrel(:,mem%NodeIndx(i)) ) - IF (mem%MSecGeom==MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) f_hydro = mem%Cd(i)*p%WaveField%WtrDens*mem%RMG(i)*TwoNorm(vec)*vec + & ! radial part 0.5*mem%AxCd(i)*p%WaveField%WtrDens*pi*mem%RMG(i)*dRdl_p * & ! axial part abs(dot_product( mem%k, m%vrel(:,mem%NodeIndx(i)) )) * matmul( mem%kkt, m%vrel(:,mem%NodeIndx(i)) ) ! axial part cont'd - ELSE IF (mem%MSecGeom==MSecGeom_Rec) THEN - Call GetDistDrag_Rec(p, m, u, xd, Time,mem,i,dSadl_p,dSbdl_p,f_hydro,ErrStat2,ErrMsg2) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - END IF + CASE (MSecGeom_Rec) + Call GetDistDrag_Rec(p, m, u, xd, Time,mem,i,dSadl_p,dSbdl_p,f_hydro,ErrStat2,ErrMsg2); if (Failed()) return + END SELECT CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_D(:, i) ) - y%Mesh%Force (:,mem%NodeIndx(i)) = y%Mesh%Force (:,mem%NodeIndx(i)) + m%memberLoads(im)%F_D(1:3, i) - y%Mesh%Moment(:,mem%NodeIndx(i)) = y%Mesh%Moment(:,mem%NodeIndx(i)) + m%memberLoads(im)%F_D(4:6, i) IF ( .NOT. mem%PropPot ) THEN !-------------------- hydrodynamic added mass loads: sides: Section 7.1.3 ------------------------! - IF (mem%MSecGeom==MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) Am = mem%Ca(i)*p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i)*mem%Ak + 2.0*mem%AxCa(i)*p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i)*dRdl_p*mem%kkt f_hydro = -matmul( Am, u%Mesh%TranslationAcc(:,mem%NodeIndx(i)) ) - ELSE IF (mem%MSecGeom==MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) f_hydro = -p%WaveField%WtrDens*mem%CaB(i) * 0.25*pi*mem%SbMG(i)*mem%SbMG(i) * Dot_Product(u%Mesh%TranslationAcc(:,mem%NodeIndx(i)),mem%x_hat)*mem%x_hat & -p%WaveField%WtrDens*mem%CaA(i) * 0.25*pi*mem%SaMG(i)*mem%SaMG(i) * Dot_Product(u%Mesh%TranslationAcc(:,mem%NodeIndx(i)),mem%y_hat)*mem%y_hat & -0.5*p%WaveField%WtrDens*mem%AxCa(i) * (dSbdl_p*mem%SaMG(i)+dSadl_p*mem%SbMG(i))*SQRT(mem%SaMG(i)*mem%SbMG(i)) * Dot_Product(u%Mesh%TranslationAcc(:,mem%NodeIndx(i)),mem%k)*mem%k - END IF - IF ( p%AMMod .EQ. 0_IntKi ) THEN ! Always compute added-mass force on nodes below SWL when undisplaced - z1 = u%Mesh%Position(3, mem%NodeIndx(i)) - p%WaveField%MSL2SWL ! Undisplaced z-position of the current node - IF ( z1 > 0.0_ReKi ) THEN ! Node is above SWL when undisplaced; zero added-mass force - f_hydro = 0.0_ReKi - CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_A(:, i) ) - ELSE ! Node at or below SWL when undisplaced - IF ( i == 1 ) THEN - deltalLeft = 0.0_ReKi - ELSE IF ( i == mem%i_floor+1 ) THEN - deltalLeft = -mem%h_floor - ELSE - deltalLeft = 0.5_ReKi * mem%dl - END IF - IF ( i == N+1 ) THEN - deltalRight = 0.0_ReKi - ELSE - z2 = u%Mesh%Position(3, mem%NodeIndx(i+1)) - p%WaveField%MSL2SWL - IF ( z2 > 0.0_ReKi ) THEN ! Element i crosses the SWL - deltalRight = -z1 / mem%cosPhi_ref - ELSE - deltalRight = 0.5_ReKi * mem%dl - END IF - END IF - deltal_AM = deltalRight + deltalLeft - h_c_AM = 0.5_ReKi * ( deltalRight - deltalLeft ) - CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal_AM, h_c_AM, m%memberLoads(im)%F_A(:, i) ) - END IF - ELSE ! Compute added-mass force on the instantaneous wetted section of the member - f_hydro = f_hydro * m%nodeInWater(mem%NodeIndx(i)) ! Zero the force if node above free surface - CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_A(:, i) ) - END IF ! AMMod 0 or 1 - y%Mesh%Force (:,mem%NodeIndx(i)) = y%Mesh%Force (:,mem%NodeIndx(i)) + m%memberLoads(im)%F_A(1:3, i) - y%Mesh%Moment(:,mem%NodeIndx(i)) = y%Mesh%Moment(:,mem%NodeIndx(i)) + m%memberLoads(im)%F_A(4:6, i) + END SELECT + ! Compute added-mass force on the instantaneous wetted section of the member + f_hydro = f_hydro * m%nodeInWater(mem%NodeIndx(i)) ! Zero the force if node above free surface + CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_A(:, i) ) !-------------------- hydrodynamic inertia loads: sides: Section 7.1.4 ---------------------------! - IF (mem%MSecGeom==MSecGeom_Cyl) THEN + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) IF ( mem%PropMCF ) THEN f_hydro= p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i) * matmul( mem%Ak, m%FAMCF(:,mem%NodeIndx(i)) ) + & 2.0*mem%AxCa(i)*p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i)*dRdl_p * matmul( mem%kkt, m%FA(:,mem%NodeIndx(i)) ) + & @@ -4506,7 +4123,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, 2.0*mem%AxCa(i) *p%WaveField%WtrDens*pi*mem%RMG(i)*mem%RMG(i)*dRdl_p * matmul( mem%kkt, m%FA(:,mem%NodeIndx(i)) ) + & 2.0*m%FDynP(mem%NodeIndx(i))*mem%AxCp(i)*pi*mem%RMG(i)*dRdl_pp*mem%k END IF - ELSE IF (mem%MSecGeom==MSecGeom_Rec) THEN + CASE (MSecGeom_Rec) ! Note: MacCamy-Fuchs correction cannot be applied to rectangular members f_hydro= mem%Cp(i)*p%WaveField%WtrDens* mem%SaMG(i)*mem%SbMG(i) * matmul( mem%Ak, m%FA(:,mem%NodeIndx(i)) ) + & ! transver FK component m%FDynP(mem%NodeIndx(i))*mem%AxCp(i)* (mem%SaMG(i)*dSbdl_pp+dSadl_pp*mem%SbMG(i)) *mem%k + & ! axial FK component @@ -4514,18 +4131,134 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, p%WaveField%WtrDens*mem%CaA(i) * 0.25*pi*mem%SaMG(i)*mem%SaMG(i) * Dot_Product(m%FA(:,mem%NodeIndx(i)),mem%y_hat)*mem%y_hat + & ! y-component of diffraction part 0.5*p%WaveField%WtrDens*mem%AxCa(i) * (dSbdl_p*mem%SaMG(i)+dSadl_p*mem%SbMG(i))*SQRT(mem%SaMG(i)*mem%SbMG(i)) * & ! axial component of diffraction part Dot_Product(m%FA(:,mem%NodeIndx(i)),mem%k)*mem%k ! axial component of diffraction part cont'd - END IF + END SELECT CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, m%memberLoads(im)%F_I(:, i) ) - y%Mesh%Force (:,mem%NodeIndx(i)) = y%Mesh%Force (:,mem%NodeIndx(i)) + m%memberLoads(im)%F_I(1:3, i) - y%Mesh%Moment(:,mem%NodeIndx(i)) = y%Mesh%Moment(:,mem%NodeIndx(i)) + m%memberLoads(im)%F_I(4:6, i) END IF END DO ! i = 1,N+1 ! loop through member nodes END IF ! Check if the member is surface piercing + + !----------------------------Shallow-angle model----------------------------! + ! Runs regardless of MemSubStat because a section with its center above water can still be wetted + IF ( ANY( m%HM_w(mem%i_floor+1:N+1) < 1.0_ReKi ) ) THEN + DO i = mem%i_floor+1,N+1 + IF ( m%HM_w(i) >= 1.0_ReKi ) CYCLE + HM_FD = 0.0_ReKi + HM_FA = 0.0_ReKi + HM_FI = 0.0_ReKi + HM_FWE = 0.0_ReKi + call RotateMemberNode(p, im, mem, u%PtfmRefY, u%Mesh%Orientation(:,:,mem%NodeIndx(i)), ErrStat2, ErrMsg2); if (Failed()) return + + pos1 = m%DispNodePosHdn(:,mem%NodeIndx(i)) + IF ( p%WaveField%WaveStMod > 0_IntKi ) THEN + HM_Zeta = m%WaveElev(mem%NodeIndx(i)) + ELSE + HM_Zeta = 0.0_ReKi + END IF + HM_R = mem%RMG(i) + CALL HM_SectionSubmergence( pos1(3), HM_Zeta, m%HM_nw(:,i), mem%k, HM_H, HM_S ) + + IF ( HM_H > -HM_R ) THEN ! Dry sections carry no shallow-angle load + ! Full tributary length with every node treated as wet + IF ( i == 1 ) THEN + deltalLeft = 0.0_ReKi + ELSE IF ( i == mem%i_floor+1 ) THEN + deltalLeft = -mem%h_floor + ELSE + deltalLeft = 0.5_ReKi * mem%dl + END IF + IF ( i == N+1 ) THEN + deltalRight = 0.0_ReKi + ELSE + deltalRight = 0.5_ReKi * mem%dl + END IF + deltal = deltalRight + deltalLeft + h_c = 0.5_ReKi * ( deltalRight - deltalLeft ) + + CALL GetNodeTaper( mem%dRdl_mg, i, N, dRdl_p, dRdl_pp ) + CALL GetSectionUnitVectors_Cyl( mem%k, y_hat, z_hat ) + CALL HM_WettedCircFrac( HM_H, HM_R, HM_fc, HM_dfc ) + + ! Wave kinematics at X_0: section center if submerged, otherwise the free surface directly above or below it + HM_Xz = (/ pos1(1), pos1(2), HM_Zeta /) + IF ( m%nodeInWater(mem%NodeIndx(i)) == 1_IntKi ) THEN + HM_pc = m%FDynP( mem%NodeIndx(i)) + HM_v0 = m%FV (:,mem%NodeIndx(i)) + HM_a0 = m%FA (:,mem%NodeIndx(i)) + ELSE + CALL WaveField_GetNodeWaveKin( p%WaveField, m%WaveField_m, Time, HM_Xz, .TRUE., .TRUE., nodeInWater, WaveElev1, WaveElev2, WaveElev, FDynP, FV, FA, FAMCF, ErrStat2, ErrMsg2 ); if (Failed()) return + HM_v0 = REAL(FV,ReKi) + HM_a0 = REAL(FA,ReKi) + HM_pc = REAL(FDynP,ReKi) - p%WaveField%WtrDens * DOT_PRODUCT( HM_a0, pos1-HM_Xz ) + END IF + HM_vr = u%Mesh%TranslationVel(:,mem%NodeIndx(i)) - HM_v0 + + ! Rate of change of the center depth; only needed while the added mass depends on H + IF ( HM_H >= HM_HbarDeep*HM_R ) THEN + HM_Hdot = 0.0_ReKi + ELSE IF ( p%WaveField%WaveStMod > 0_IntKi ) THEN + IF ( m%nodeInWater(mem%NodeIndx(i)) == 1_IntKi ) THEN + CALL WaveField_GetNodeWaveKin( p%WaveField, m%WaveField_m, Time, HM_Xz, .TRUE., .TRUE., nodeInWater, WaveElev1, WaveElev2, WaveElev, FDynP, FV, FA, FAMCF, ErrStat2, ErrMsg2 ); if (Failed()) return + HM_vfz = REAL(FV,ReKi) + ELSE + HM_vfz = HM_v0 + END IF + HM_Hdot = DOT_PRODUCT( HM_vfz - u%Mesh%TranslationVel(:,mem%NodeIndx(i)), m%HM_nw(:,i) ) / HM_S + ELSE ! Free surface fixed at the SWL + HM_Hdot = -u%Mesh%TranslationVel(3,mem%NodeIndx(i)) / HM_S + END IF + + ! Drag: transverse on the wetted width d(H), axial on the wetted fraction of the circumference + vec = matmul( mem%Ak, HM_vr ) + HM_wr = DOT_PRODUCT( mem%k, HM_vr ) + IF ( HM_H < 0.0_ReKi ) THEN + HM_d = 2.0_ReKi*SQRT( MAX(HM_R*HM_R-HM_H*HM_H, 0.0_ReKi) ) + ELSE + HM_d = 2.0_ReKi*HM_R + END IF + f_hydro = -0.5_ReKi*p%WaveField%WtrDens*mem%Cd(i)*HM_d*TwoNorm(vec)*vec & + -0.5_ReKi*p%WaveField%WtrDens*mem%AxCd(i)*pi*HM_R*dRdl_p*HM_fc*abs(HM_wr)*HM_wr*mem%k + CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, HM_FD ) + + IF ( .NOT. mem%PropPot ) THEN + ! Added mass with submergence-dependent sway (y_hat) and heave (z_hat) components + CALL HM_AddedMassSway ( HM_H/HM_R, HM_mux, HM_dmux ) + CALL HM_AddedMassHeave( HM_H/HM_R, HM_muy, HM_dmuy ) + Am = mem%Ca(i)*p%WaveField%WtrDens*pi*HM_R*HM_R*( HM_mux*OuterProduct(y_hat,y_hat) + HM_muy*OuterProduct(z_hat,z_hat) ) + & + 2.0_ReKi*mem%AxCa(i)*p%WaveField%WtrDens*pi*HM_R*HM_R*dRdl_p*HM_fc*mem%kkt + f_hydro = -matmul( Am, u%Mesh%TranslationAcc(:,mem%NodeIndx(i)) ) + CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, HM_FA ) + + ! Froude-Krylov (transverse on the wetted arc, axial on the wetted fraction of the circumference) plus scattering + CALL GetSectionFreeSurfaceIntersects_Cyl( REAL(pos1,DbKi), REAL(HM_Xz,DbKi), mem%k, y_hat, z_hat, m%HM_nw(:,i), REAL(HM_R,DbKi), theta1, theta2, secStat ) + CALL HM_FKSection( theta1, theta2, HM_R, p%WaveField%WtrDens, HM_pc, DOT_PRODUCT(HM_a0,y_hat), DOT_PRODUCT(HM_a0,z_hat), HM_Fy, HM_Fz ) + f_hydro = mem%Cp(i)*( HM_Fy*y_hat + HM_Fz*z_hat ) + 2.0_ReKi*mem%AxCp(i)*HM_pc*pi*HM_R*dRdl_pp*HM_fc*mem%k + matmul( Am, HM_a0 ) + CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, HM_FI ) + + ! Water entry/exit from the rate of change of the added mass, smoothed near tangent contact + HM_ws1 = HM_SmoothStep( (HM_R+HM_H)/(HM_Eps*HM_R) ) + HM_ws2 = HM_SmoothStep( (HM_R-HM_H)/(HM_Eps*HM_R) ) + f_hydro = -HM_Hdot*( mem%Ca(i)*p%WaveField%WtrDens*pi*HM_R*( HM_dmux*DOT_PRODUCT(HM_vr,y_hat)*y_hat + HM_dmuy*DOT_PRODUCT(HM_vr,z_hat)*HM_ws1*z_hat ) + & + 2.0_ReKi*mem%AxCa(i)*p%WaveField%WtrDens*pi*HM_R*HM_R*dRdl_p*HM_dfc*HM_wr*HM_ws1*HM_ws2*mem%k ) + CALL LumpDistrHydroLoads( f_hydro, mem%k, deltal, h_c, HM_FWE ) + END IF + END IF + + ! Blend with the baseline model + m%memberLoads(im)%F_D (:,i) = m%HM_w(i)*m%memberLoads(im)%F_D(:,i) + (1.0_ReKi-m%HM_w(i))*HM_FD + m%memberLoads(im)%F_A (:,i) = m%HM_w(i)*m%memberLoads(im)%F_A(:,i) + (1.0_ReKi-m%HM_w(i))*HM_FA + m%memberLoads(im)%F_I (:,i) = m%HM_w(i)*m%memberLoads(im)%F_I(:,i) + (1.0_ReKi-m%HM_w(i))*HM_FI + m%memberLoads(im)%F_WE(:,i) = (1.0_ReKi-m%HM_w(i))*HM_FWE + END DO + END IF !-----------------------------------------------------------------------------------------------------! ! External Hydrodynamic Side Loads - End ! !-----------------------------------------------------------------------------------------------------! + DO i = 1, N+1 + y%Mesh%Force (:,mem%NodeIndx(i)) = y%Mesh%Force (:,mem%NodeIndx(i)) + m%memberLoads(im)%F_D(1:3,i) + m%memberLoads(im)%F_A(1:3,i) + m%memberLoads(im)%F_I(1:3,i) + m%memberLoads(im)%F_WE(1:3,i) + y%Mesh%Moment(:,mem%NodeIndx(i)) = y%Mesh%Moment(:,mem%NodeIndx(i)) + m%memberLoads(im)%F_D(4:6,i) + m%memberLoads(im)%F_A(4:6,i) + m%memberLoads(im)%F_I(4:6,i) + m%memberLoads(im)%F_WE(4:6,i) + END DO ! Compute total member force and moment about PRP if OutAll ! Cannot use mesh force and moment above because multiple members can share the same end joints @@ -4535,6 +4268,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, m%memberLoads(im)%F_tot = 0.0_ReKi do i = 1,N+1 m%memberLoads(im)%F_sum(:,i) = m%memberLoads(im)%F_D(:,i) + m%memberLoads(im)%F_I(:,i) + m%memberLoads(im)%F_A(:,i) + & + m%memberLoads(im)%F_WE(:,i) + & m%memberLoads(im)%F_B(:,i) + m%memberLoads(im)%F_BF(:,i) + m%memberLoads(im)%F_IF(:,i) + & m%memberLoads(im)%F_WMG(:,i) + m%memberLoads(im)%F_IMG(:,i) m%memberLoads(im)%F_tot = m%memberLoads(im)%F_tot + m%memberLoads(im)%F_sum(:,i) @@ -4551,20 +4285,13 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, ! We need to subtract the MSL2SWL offset to place this in the SWL reference system pos1 = m%DispNodePosHst(:,mem%NodeIndx(1)) pos2 = m%DispNodePosHst(:,mem%NodeIndx(2)) - call GetOrientationAngles( pos1, pos2, phi1, sinPhi1, cosPhi1, tanPhi, sinBeta1, cosBeta1, k_hat1, errStat2, errMsg2 ) - call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call GetElementAxialVec( pos1, pos2, k_hat1, errStat2, errMsg2 ); if (Failed()) return if ( N == 1 ) then ! Only one element in member - sinPhi2 = sinPhi1 - cosPhi2 = cosPhi1 - sinBeta2 = sinBeta1 - cosBeta2 = cosBeta1 - k_hat2 = k_hat1 + k_hat2 = k_hat1 else - ! We need to subtract the MSL2SWL offset to place this in the SWL reference system pos1 = m%DispNodePosHst(:, mem%NodeIndx(N )) pos2 = m%DispNodePosHst(:, mem%NodeIndx(N+1)) - call GetOrientationAngles( pos1, pos2, phi2, sinPhi2, cosPhi2, tanPhi, sinBeta2, cosBeta2, k_hat2, errStat2, errMsg2 ) - call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call GetElementAxialVec( pos1, pos2, k_hat2, errStat2, errMsg2 ); if (Failed()) return end if ! z-coordinates of the two ends of the member z1 = m%DispNodePosHst(3,mem%NodeIndx( 1)) @@ -4572,10 +4299,9 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, if (mem%MSecGeom == MSecGeom_Rec) then ! Compute total orientation matrix of starting and ending joints - call Morison_DirCosMtrx( u%Mesh%Position(:,mem%NodeIndx(1)), u%Mesh%Position(:,mem%NodeIndx(N+1)), mem%MSpinOrient, CMatrix ) - CMatrix1 = matmul(transpose(u%Mesh%Orientation(:,:,mem%NodeIndx(1 ))),CMatrix) + CMatrix1 = matmul(transpose(u%Mesh%Orientation(:,:,mem%NodeIndx(1 ))),mem%CMatrix) CALL GetSectionUnitVectors_Rec( CMatrix1, x_hat1, y_hat1 ) - CMatrix2 = matmul(transpose(u%Mesh%Orientation(:,:,mem%NodeIndx(N+1))),CMatrix) + CMatrix2 = matmul(transpose(u%Mesh%Orientation(:,:,mem%NodeIndx(N+1))),mem%CMatrix) CALL GetSectionUnitVectors_Rec( CMatrix2, x_hat2, y_hat2 ) end if @@ -4584,24 +4310,26 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, if ( mem%memfloodstatus > 0 ) then if ( mem%i_floor == 0 ) then ! If the member is not buried in the seabed, compute the internal hydrostatic load on the starting endplate - if ( mem%MSecGeom == MSecGeom_Cyl ) then + SELECT CASE (mem%MSecGeom) + CASE (MSecGeom_Cyl) m%F_BF_End(1:3, mem%NodeIndx( 1)) = m%F_BF_End(1:3, mem%NodeIndx( 1)) - mem%FillDens * g * pi * mem%Rin( 1)**2* (zFillGroup - z1) * k_hat1 m%F_BF_End(4:6, mem%NodeIndx( 1)) = m%F_BF_End(4:6, mem%NodeIndx( 1)) - mem%FillDens * g * 0.25 * pi * mem%Rin( 1)**4* Cross_Product(k_hat1,(/0.0,0.0,1.0/)) - else if ( mem%MSecGeom == MSecGeom_Rec ) then + CASE (MSecGeom_Rec) m%F_BF_End(1:3, mem%NodeIndx( 1)) = m%F_BF_End(1:3, mem%NodeIndx( 1)) - mem%FillDens * g * mem%SaIn( 1) *mem%SbIn( 1)* (zFillGroup - z1) * k_hat1 m%F_BF_End(4:6, mem%NodeIndx( 1)) = m%F_BF_End(4:6, mem%NodeIndx( 1)) - mem%FillDens * g / 12.0 * (mem%SaIn( 1)**3*mem%SbIn( 1)*x_hat1(3)*y_hat1 - mem%SaIn(1)*mem%SbIn(1)**3*y_hat1(3)*x_hat1) - end if + END SELECT end if if ( (mem%i_floor 0_IntKi) THEN - CALL GetTotalWaveElev(p, m, Time, pos1, Zeta1, ErrStat2, ErrMsg2) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - CALL GetFreeSurfaceNormal(p, m, Time, pos1, n_hat, ErrStat2, ErrMsg2) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - FSPt = (/pos1(1),pos1(2),Zeta1/) ! Reference point on the free surface - ELSE - FSPt = (/pos1(1),pos1(2),0.0_ReKi/) - n_hat = (/0.0,0.0,1.0/) - END IF - - if (mem%MSecGeom==MSecGeom_Cyl) then - CALL GetSectionUnitVectors_Cyl( k_hat1, y_hat, z_hat ) - CALL GetSectionFreeSurfaceIntersects_Cyl( REAL(pos1,DbKi), REAL(FSPt,DbKi), k_hat1, y_hat, z_hat, n_hat, REAL(r1,DbKi), theta1, theta2, secStat) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - CALL GetEndPlateHstLds_Cyl(p, pos1, k_hat1, y_hat, z_hat, r1, theta1, theta2, F_B_End) - IF (mem%MHstLMod == 1) THEN ! Check for partially wetted end plates - IF ( .NOT.( EqualRealNos((theta2-theta1),0.0_DbKi) .OR. EqualRealNos((theta2-theta1),2.0_DbKi*PI_D) ) ) THEN - CALL SetErrStat(ErrID_Warn, 'End plate is partially wetted with MHstLMod = 1. The buoyancy load and distribution potentially have large error. This has happened to the first node of Member ID ' //trim(num2lstr(mem%MemberID)), errStat, errMsg, RoutineName ) - END IF - END IF - else if (mem%MSecGeom==MSecGeom_Rec) then - CALL GetSectionUnitVectors_Rec( CMatrix1, x_hat, y_hat ) - CALL GetEndPlateHstLds_Rec(p, pos1, k_hat1, x_hat, y_hat, Sa1, Sb1, FSPt, n_hat, F_B_End) - end if - m%F_B_End(:, mem%NodeIndx( 1)) = m%F_B_End(:, mem%NodeIndx( 1)) + F_B_End - - ! Compute loads on the end plate of node N+1 - IF (p%HstMod > 0_IntKi) THEN - CALL GetTotalWaveElev(p, m, Time, pos2, Zeta2, ErrStat2, ErrMsg2) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - CALL GetFreeSurfaceNormal(p, m, Time, pos2, n_hat, ErrStat2, ErrMsg2) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - FSPt = (/pos2(1),pos2(2),Zeta2/) ! Reference point on the free surface - ELSE - FSPt = (/pos2(1),pos2(2),0.0_ReKi/) - n_hat = (/0.0,0.0,1.0/) - END IF - - if (mem%MSecGeom==MSecGeom_Cyl) then - CALL GetSectionUnitVectors_Cyl( k_hat2, y_hat, z_hat ) - CALL GetSectionFreeSurfaceIntersects_Cyl( REAL(pos2,DbKi), REAL(FSPt,DbKi), k_hat2, y_hat, z_hat, n_hat, REAL(r2,DbKi), theta1, theta2, secStat) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - CALL GetEndPlateHstLds_Cyl(p, pos2, k_hat2, y_hat, z_hat, r2, theta1, theta2, F_B_End) - IF (mem%MHstLMod == 1) THEN ! Check for partially wetted end plates - IF ( .NOT.( EqualRealNos((theta2-theta1),0.0_DbKi) .OR. EqualRealNos((theta2-theta1),2.0_DbKi*PI_D) ) ) THEN - CALL SetErrStat(ErrID_Warn, 'End plate is partially wetted with MHstLMod = 1. The buoyancy load and distribution potentially have large error. This has happened to the last node of Member ID ' //trim(num2lstr(mem%MemberID)), errStat, errMsg, RoutineName ) - END IF - END IF - else if (mem%MSecGeom==MSecGeom_Rec) then - CALL GetSectionUnitVectors_Rec( CMatrix2, x_hat, y_hat ) - CALL GetEndPlateHstLds_Rec(p, pos2, k_hat2, x_hat, y_hat, Sa2, Sb2, FSPt, n_hat, F_B_End) - end if - m%F_B_End(:, mem%NodeIndx(N+1)) = m%F_B_End(:, mem%NodeIndx(N+1)) - F_B_End - - elseif ( mem%doEndBuoyancy ) then ! The member crosses the seabed line so only the upper end potentially have hydrostatic load - ! Only compute the loads on the end plate of node N+1 - IF (p%HstMod > 0_IntKi) THEN - CALL GetTotalWaveElev(p, m, Time, pos2, Zeta2, ErrStat2, ErrMsg2) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - CALL GetFreeSurfaceNormal(p, m, Time, pos2, n_hat, ErrStat2, ErrMsg2) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - FSPt = (/pos2(1),pos2(2),Zeta2/) ! Reference point on the free surface - ELSE - FSPt = (/pos2(1),pos2(2),0.0_ReKi/) - n_hat = (/0.0,0.0,1.0/) - END IF - - if (mem%MSecGeom==MSecGeom_Cyl) then - CALL GetSectionUnitVectors_Cyl( k_hat2, y_hat, z_hat ) - CALL GetSectionFreeSurfaceIntersects_Cyl( REAL(pos2,DbKi), REAL(FSPt,DbKi), k_hat2, y_hat, z_hat, n_hat, REAL(r2,DbKi), theta1, theta2, secStat) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - CALL GetEndPlateHstLds_Cyl(p, pos2, k_hat2, y_hat, z_hat, r2, theta1, theta2, F_B_End) - IF (mem%MHstLMod == 1) THEN ! Check for partially wetted end plates - IF ( .NOT.( EqualRealNos((theta2-theta1),0.0_DbKi) .OR. EqualRealNos((theta2-theta1),2.0_DbKi*PI_D) ) ) THEN - CALL SetErrStat(ErrID_Warn, 'End plate is partially wetted with MHstLMod = 1. The buoyancy load and distribution potentially have large error. This has happened to the last node of Member ID ' //trim(num2lstr(mem%MemberID)), errStat, errMsg, RoutineName ) - END IF - END IF - else if (mem%MSecGeom==MSecGeom_Rec) then - CALL GetSectionUnitVectors_Rec( CMatrix2, x_hat, y_hat ) - CALL GetEndPlateHstLds_Rec(p, pos2, k_hat2, x_hat, y_hat, Sa2, Sb2, FSPt, n_hat, F_B_End) - end if - m%F_B_End(:, mem%NodeIndx(N+1)) = m%F_B_End(:, mem%NodeIndx(N+1)) - F_B_End - + END SELECT + if (mem%i_floor == 0) then ! both ends at or above the seabed: load on both end plates + call AddEndBuoyancy(mem%NodeIndx( 1), pos1, k_hat1, r1, Sa1, Sb1, CMatrix1, 1.0_ReKi, 'first node') + call AddEndBuoyancy(mem%NodeIndx(N+1), pos2, k_hat2, r2, Sa2, Sb2, CMatrix2, -1.0_ReKi, 'last node') + elseif ( mem%doEndBuoyancy ) then ! seabed-crossing member: load only on the upper (N+1) end plate + call AddEndBuoyancy(mem%NodeIndx(N+1), pos2, k_hat2, r2, Sa2, Sb2, CMatrix2, -1.0_ReKi, 'last node') ! else ! entire member is buried below the seabed end if @@ -4723,9 +4371,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, ! External Hydrodynamic Joint Loads - Start ! ! F_D_End, F_I_End, F_A_End, F_IMG_End ! !---------------------------------------------------------------------------------------------------------------! - ! NOTE: All wave kinematics have already been zeroed out above the SWL or instantaneous wave height (for WaveStMod > 0), - ! so loads derived from the kinematics will be correct without the use of a nodeInWater value, but other loads need to be - ! multiplied by nodeInWater to zero them out above the SWL or instantaneous wave height. + ! NOTE: Hydrodynamic joint loads are scaled by the wetted fraction of the joint end plate from GetJointWetting. DO J = 1, p%NJoints ! Obtain the node index because WaveVel, WaveAcc, and WaveDynP are defined in the node indexing scheme, not the markers (No longer relevant?) @@ -4739,25 +4385,57 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, ! Effect of wave stretching already baked into m%FDynP, m%FA, and m%vrel. No additional modification needed. - ! Joint yaw offset - call YawJoint(p, J,u%PtfmRefY,AM_End,An_End,DP_Const_End,I_MG_End,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) - + ! Rotate joint properties + call RotateJoint(p, J,u%PtfmRefY,u%Mesh%Orientation(:,:,J),AM_End,An_End,DP_Const_End,I_MG_End,ErrStat2,ErrMsg2); if (Failed()) return + + ! Wetted fraction of the joint end plate + pos1 = m%DispNodePosHdn(:,J) + CALL GetJointWetting( p, m, Time, pos1, An_End, HM_rJ, HM_drJdH, HM_S, n_hat, HM_Zeta, ErrStat2, ErrMsg2 ); if (Failed()) return + + ! Wave kinematics at X_0: joint position if submerged, otherwise the free surface directly above or below it + HM_Xz = (/ pos1(1), pos1(2), HM_Zeta /) + IF ( m%nodeInWater(J) == 1_IntKi .OR. HM_rJ <= 0.0_ReKi ) THEN ! Dry joint (r=0): all loads vanish, so skip the extra query + HM_pc = m%FDynP( J) + HM_v0 = m%FV (:,J) + HM_a0 = m%FA (:,J) + ELSE + CALL WaveField_GetNodeWaveKin( p%WaveField, m%WaveField_m, Time, HM_Xz, .TRUE., .TRUE., nodeInWater, WaveElev1, WaveElev2, WaveElev, FDynP, FV, FA, FAMCF, ErrStat2, ErrMsg2 ); if (Failed()) return + HM_pc = REAL(FDynP,ReKi) + HM_v0 = REAL(FV,ReKi) + HM_a0 = REAL(FA,ReKi) + END IF + HM_vr = u%Mesh%TranslationVel(:,J) - HM_v0 + ! Lumped added mass loads qdotdot = reshape((/u%Mesh%TranslationAcc(:,J),u%Mesh%RotationAcc(:,J)/),(/6/)) - m%F_A_End(:,J) = m%nodeInWater(j) * matmul( AM_End, ( - qdotdot(1:3)) ) - - ! TODO: The original code did not multiply by nodeInWater, but should we? GJH - ! Should be ok because m%FDynP and m%FA are both zeroed above the SWL (when WaveStMod=0) or the instantaneous free surface (when WaveStMod>0) - m%F_I_End(:,J) = (DP_Const_End * m%FDynP(j) + matmul(AM_End,m%FA(:,j))) + m%F_A_End(:,J) = -HM_rJ*SQRT(HM_rJ) * matmul( AM_End, qdotdot(1:3) ) + + m%F_I_End(:,J) = HM_rJ*DP_Const_End*HM_pc + HM_rJ*SQRT(HM_rJ)*matmul( AM_End, HM_a0 ) + + ! Water entry/exit from the rate of change of the added mass + IF ( HM_drJdH > 0.0_ReKi ) THEN + IF ( p%WaveField%WaveStMod > 0_IntKi ) THEN + IF ( m%nodeInWater(J) == 1_IntKi ) THEN + CALL WaveField_GetNodeWaveKin( p%WaveField, m%WaveField_m, Time, HM_Xz, .TRUE., .TRUE., nodeInWater, WaveElev1, WaveElev2, WaveElev, FDynP, FV, FA, FAMCF, ErrStat2, ErrMsg2 ); if (Failed()) return + HM_vfz = REAL(FV,ReKi) + ELSE + HM_vfz = HM_v0 + END IF + HM_Hdot = DOT_PRODUCT( HM_vfz - u%Mesh%TranslationVel(:,J), n_hat ) / HM_S + ELSE ! Free surface fixed at the SWL + HM_Hdot = -u%Mesh%TranslationVel(3,J) / HM_S + END IF + m%F_WE_End(:,J) = -1.5_ReKi*SQRT(HM_rJ)*HM_drJdH*HM_Hdot * matmul( AM_End, HM_vr ) + ELSE + m%F_WE_End(:,J) = 0.0_ReKi + END IF ! Marine growth inertia: ends: Section 4.2.2 m%F_IMG_End(1:3,j) = -p%Mass_MG_End(j)*qdotdot(1:3) m%F_IMG_End(4:6,j) = -matmul(I_MG_End,qdotdot(4:6)) - cross_product(u%Mesh%RotationVel(:,J),matmul(I_MG_End,u%Mesh%RotationVel(:,J))) - ! Compute the dot product of the relative velocity vector with the directional Area of the Joint - ! m%nodeInWater(j) is probably not necessary because m%vrel is zeroed when the node is out of water - vmag = m%nodeInWater(j) * ( m%vrel(1,j)*An_End(1) + m%vrel(2,j)*An_End(2) + m%vrel(3,j)*An_End(3) ) + ! Relative normal velocity weighted by sqrt(r) so the quadratic drag scales with the wetted fraction r + vmag = -SQRT(HM_rJ) * DOT_PRODUCT( HM_vr, An_End ) ! High-pass filtering vmagf = p%VRelNFiltConst(J) * (vmag + xd%v_rel_n_FiltStat(J)) @@ -4778,7 +4456,7 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, + p%DragLoFSc_End(j) * An_End(i) * p%DragConst_End(j) * abs(vmag) *max(vmag, 0.0_ReKi) m%F_D_End(i,j) = 2.0_ReKi * m%F_D_End(i,j) END IF - m%F_tot_End(i,j) = m%F_D_End(i,j) + m%F_I_End(i,j) + p%F_WMG_End(i,j) + m%F_B_End(i,j) + m%F_BF_End(i,j) + m%F_A_End(i,j) + m%F_IMG_End(i,j) + m%F_tot_End(i,j) = m%F_D_End(i,j) + m%F_I_End(i,j) + p%F_WMG_End(i,j) + m%F_B_End(i,j) + m%F_BF_End(i,j) + m%F_A_End(i,j) + m%F_WE_End(i,j) + m%F_IMG_End(i,j) y%Mesh%Force(i,j) = y%Mesh%Force(i,j) + m%F_tot_End(i,j) ELSE ! Three moment components m%F_tot_End(i,j) = m%F_B_End(i,j) + m%F_BF_End(i,j) + m%F_IMG_End(i,j) @@ -4799,13 +4477,49 @@ SUBROUTINE Morison_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, errStat, ! map the motion to the visulization mesh if (p%VisMeshes) then - !FIXME: error handling is incorrect here (overwrites all previous errors/warnings) - call Transfer_Point_to_Line2( u%Mesh, y%VisMesh, m%VisMeshMap, ErrStat, ErrMsg ) + call Transfer_Point_to_Line2( u%Mesh, y%VisMesh, m%VisMeshMap, ErrStat2, ErrMsg2 ); if (Failed()) return endif CONTAINS + subroutine AddEndBuoyancy(iNode, pos, k_hatE, rE, SaE, SbE, CMatrixE, sgn, nodeLabel) + ! Accumulate the external hydrostatic (buoyancy) load on one member end plate. + integer(IntKi), intent(in) :: iNode ! mesh node index of the end plate + real(ReKi), intent(in) :: pos(3), k_hatE(3) ! end node position and axial unit vector + real(ReKi), intent(in) :: rE, SaE, SbE ! scaled end radius (Cyl) or side lengths (Rec) + real(ReKi), intent(in) :: CMatrixE(3,3) ! end section orientation (Rec only) + real(ReKi), intent(in) :: sgn ! +1 at the lower end, -1 at the upper end + character(*), intent(in) :: nodeLabel ! node description used in warning messages + real(ReKi) :: FSPtL(3), n_hatL(3), ZetaL, F_B_EndL(6) + real(DbKi) :: th1, th2 + integer(IntKi) :: secStatL + + if (p%HstMod > 0_IntKi) then + call GetTotalWaveElev(p, m, Time, pos, ZetaL, ErrStat2, ErrMsg2); if (Failed()) return + call GetFreeSurfaceNormal(p, m, Time, pos, n_hatL, ErrStat2, ErrMsg2); if (Failed()) return + FSPtL = (/pos(1),pos(2),ZetaL/) ! Reference point on the free surface + else + FSPtL = (/pos(1),pos(2),0.0_ReKi/) + n_hatL = (/0.0,0.0,1.0/) + end if + + select case (mem%MSecGeom) + case (MSecGeom_Cyl) + call GetSectionUnitVectors_Cyl( k_hatE, y_hat, z_hat ) + call GetSectionFreeSurfaceIntersects_Cyl( REAL(pos,DbKi), REAL(FSPtL,DbKi), k_hatE, y_hat, z_hat, n_hatL, REAL(rE,DbKi), th1, th2, secStatL) + call GetEndPlateHstLds_Cyl(p, pos, k_hatE, y_hat, z_hat, rE, th1, th2, F_B_EndL) + if (mem%MHstLMod == 1 .and. secStatL == 1) then ! secStatL == 1: end plate crosses the free surface (partially wetted) + call SetErrStat(ErrID_Warn, 'End plate is partially wetted with MHstLMod = 1. The buoyancy load and distribution potentially have large error. This has happened to the '//trim(nodeLabel)//' of Member ID '//trim(num2lstr(mem%MemberID)), errStat, errMsg, RoutineName ) + end if + case (MSecGeom_Rec) + call GetSectionUnitVectors_Rec( CMatrixE, x_hat, y_hat ) + call GetEndPlateHstLds_Rec(p, pos, k_hatE, x_hat, y_hat, SaE, SbE, FSPtL, n_hatL, F_B_EndL) + end select + + m%F_B_End(:, iNode) = m%F_B_End(:, iNode) + sgn * F_B_EndL + end subroutine AddEndBuoyancy + logical function Failed() CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) Failed = ErrStat >= AbortErrLev @@ -4854,6 +4568,56 @@ SUBROUTINE GetFreeSurfaceNormal(p, m, Time, pos, n, ErrStat, ErrMsg) END SUBROUTINE GetFreeSurfaceNormal + !> Wetted area fraction r = A_s(H)/A_J of a joint treated as a circular end plate with area |An_End| and normal An_End/|An_End| + SUBROUTINE GetJointWetting( p, m, Time, pos, An_End, r, drdH, S, n_w, zeta, ErrStat, ErrMsg ) + TYPE(Morison_ParameterType), INTENT( IN ) :: p + TYPE(Morison_MiscVarType), INTENT( INOUT ) :: m + REAL(DbKi), INTENT( IN ) :: Time + REAL(ReKi), INTENT( IN ) :: pos(3) ! Joint position + REAL(ReKi), INTENT( IN ) :: An_End(3) ! Joint directional area in the current orientation + REAL(ReKi), INTENT( OUT ) :: r ! Wetted area fraction + REAL(ReKi), INTENT( OUT ) :: drdH ! dr/dH; zero when the wetting is all-or-nothing + REAL(ReKi), INTENT( OUT ) :: S ! sqrt(1-(n_w.n_A)^2) + REAL(ReKi), INTENT( OUT ) :: n_w(3) ! Free-surface unit normal + REAL(ReKi), INTENT( OUT ) :: zeta ! Free-surface elevation at the joint + INTEGER(IntKi), INTENT( OUT ) :: ErrStat + CHARACTER(*), INTENT( OUT ) :: ErrMsg + CHARACTER(*), PARAMETER :: RoutineName = 'GetJointWetting' + INTEGER(IntKi) :: errStat2 + CHARACTER(ErrMsgLen) :: errMsg2 + REAL(ReKi) :: A_J, H, As, dAsdH + + ErrStat = ErrID_None + ErrMsg = "" + + IF ( p%WaveField%WaveStMod > 0_IntKi ) THEN + CALL GetTotalWaveElev( p, m, Time, pos, zeta, ErrStat2, ErrMsg2 ) + CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + CALL GetFreeSurfaceNormal( p, m, Time, pos, n_w, ErrStat2, ErrMsg2 ) + CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + IF ( ErrStat >= AbortErrLev ) RETURN + ELSE + zeta = 0.0_ReKi + n_w = (/ 0.0_ReKi, 0.0_ReKi, 1.0_ReKi /) + END IF + + A_J = TwoNorm( An_End ) + S = 0.0_ReKi + IF ( A_J > 0.0_ReKi ) THEN + CALL HM_SectionSubmergence( pos(3), zeta, n_w, An_End/A_J, H, S ) + END IF + + IF ( S < HM_SMin ) THEN ! No area or end plate nearly parallel to the free surface + r = MERGE( 1.0_ReKi, 0.0_ReKi, zeta >= pos(3) ) + drdH = 0.0_ReKi + ELSE + CALL HM_SubmergedArea( H, SQRT(A_J/Pi), As, dAsdH ) + r = MIN( As/A_J, 1.0_ReKi ) + drdH = dAsdH/A_J + END IF + + END SUBROUTINE GetJointWetting + SUBROUTINE GetSectionUnitVectors_Cyl( k, y, z ) REAL(ReKi), INTENT( In ) :: k(3) ! Member axial unit vector REAL(ReKi), INTENT( OUT ) :: y(3) ! Horizontal unit vector perpendicular to k @@ -4961,6 +4725,194 @@ SUBROUTINE GetSectionHstLds_Cyl(p, origin, pos0, k_hat, y_hat, z_hat, R, dRdl, t END SUBROUTINE GetSectionHstLds_Cyl + !> Cubic smoothing function w(s) = 3s^2 - 2s^3, clamped to 0 for s<0 and 1 for s>1 + PURE FUNCTION HM_SmoothStep( s ) RESULT( w ) + REAL(ReKi), INTENT( IN ) :: s + REAL(ReKi) :: w + IF ( s <= 0.0_ReKi ) THEN + w = 0.0_ReKi + ELSE IF ( s >= 1.0_ReKi ) THEN + w = 1.0_ReKi + ELSE + w = s*s*(3.0_ReKi-2.0_ReKi*s) + END IF + END FUNCTION HM_SmoothStep + + !> Weight of the baseline model as a function of |n_w.k|; the shallow-angle model gets 1-w + PURE FUNCTION HM_BlendWeight( cosAbs ) RESULT( w ) + REAL(ReKi), INTENT( IN ) :: cosAbs + REAL(ReKi) :: w + w = HM_SmoothStep( (cosAbs-HM_SinAngLo)/(HM_SinAngHi-HM_SinAngLo) ) + END FUNCTION HM_BlendWeight + + !> Submerged area A_s of a circular section with center depth H and its derivative dA_s/dH + PURE SUBROUTINE HM_SubmergedArea( H, R, As, dAsdH ) + REAL(ReKi), INTENT( IN ) :: H + REAL(ReKi), INTENT( IN ) :: R + REAL(ReKi), INTENT( OUT ) :: As + REAL(ReKi), INTENT( OUT ) :: dAsdH + REAL(DbKi) :: HD, RD, sq + IF ( H <= -R ) THEN + As = 0.0_ReKi + dAsdH = 0.0_ReKi + ELSE IF ( H >= R ) THEN + As = Pi*R*R + dAsdH = 0.0_ReKi + ELSE + HD = REAL(H,DbKi) + RD = REAL(R,DbKi) + sq = SQRT(RD*RD-HD*HD) + As = REAL( RD*RD*ACOS(-HD/RD) + HD*sq, ReKi ) + dAsdH = REAL( 2.0_DbKi*sq, ReKi ) + END IF + END SUBROUTINE HM_SubmergedArea + + !> Wetted fraction f_c of the circumference of a circular section with center depth H and its derivative df_c/dH + PURE SUBROUTINE HM_WettedCircFrac( H, R, fc, dfcdH ) + REAL(ReKi), INTENT( IN ) :: H + REAL(ReKi), INTENT( IN ) :: R + REAL(ReKi), INTENT( OUT ) :: fc + REAL(ReKi), INTENT( OUT ) :: dfcdH + REAL(DbKi) :: HD, RD + IF ( H <= -R ) THEN + fc = 0.0_ReKi + dfcdH = 0.0_ReKi + ELSE IF ( H >= R ) THEN + fc = 1.0_ReKi + dfcdH = 0.0_ReKi + ELSE + HD = REAL(H,DbKi) + RD = REAL(R,DbKi) + fc = REAL( ACOS(-HD/RD)/Pi_D, ReKi ) + dfcdH = REAL( 1.0_DbKi/(Pi_D*SQRT(RD*RD-HD*HD)), ReKi ) + END IF + END SUBROUTINE HM_WettedCircFrac + + !> Value and first derivative of the polynomial sum_k c(k) x^k + PURE SUBROUTINE HM_PolyEval( c, x, f, dfdx ) + REAL(DbKi), INTENT( IN ) :: c(0:) + REAL(DbKi), INTENT( IN ) :: x + REAL(DbKi), INTENT( OUT ) :: f + REAL(DbKi), INTENT( OUT ) :: dfdx + INTEGER(IntKi) :: k + f = c(UBOUND(c,1)) + dfdx = 0.0_DbKi + DO k = UBOUND(c,1)-1, 0, -1 + dfdx = dfdx*x + f + f = f*x + c(k) + END DO + END SUBROUTINE HM_PolyEval + + !> Normalized infinite-frequency heave added mass mu_yy/(rho*pi*R^2) of a circular section and its derivative w.r.t. Hbar = H/R + PURE SUBROUTINE HM_AddedMassHeave( HbarIn, mu, dmu ) + REAL(ReKi), INTENT( IN ) :: HbarIn + REAL(ReKi), INTENT( OUT ) :: mu + REAL(ReKi), INTENT( OUT ) :: dmu + REAL(DbKi) :: Hbar, phi, s, muD, dmuD + Hbar = REAL(HbarIn,DbKi) + IF ( Hbar <= -1.0_DbKi ) THEN + muD = 0.0_DbKi + dmuD = 0.0_DbKi + ELSE IF ( Hbar < 1.0_DbKi ) THEN ! Surface piercing (Taylor, 1930) + ! Half-angle form with s = sin(theta/2), cos(theta/2) = -Hbar, phi = 2*pi-theta to avoid cancellation near Hbar = +/-1 + s = SQRT( (1.0_DbKi-Hbar)*(1.0_DbKi+Hbar) ) + phi = 2.0_DbKi*ATAN2(s,Hbar) + IF ( phi < HM_AsymTol ) THEN + muD = (Pi_D**2/6.0_DbKi-1.0_DbKi) + (1.0_DbKi/12.0_DbKi-Pi_D**2/72.0_DbKi)*phi**2 + phi**3/(12.0_DbKi*Pi_D) & + + (Pi_D**2/2160.0_DbKi-1.0_DbKi/144.0_DbKi)*phi**4 + dmuD = (Pi_D**2/9.0_DbKi-2.0_DbKi/3.0_DbKi) - phi/Pi_D + (1.0_DbKi/12.0_DbKi-Pi_D**2/360.0_DbKi)*phi**2 + ELSE + muD = 2.0_DbKi*Pi_D**2*s*s/(3.0_DbKi*phi**2) + s*s/3.0_DbKi - 1.0_DbKi + (phi-SIN(phi))/TwoPi_D + dmuD = -4.0_DbKi*Pi_D**2*Hbar/(3.0_DbKi*phi**2) + 8.0_DbKi*Pi_D**2*s/(3.0_DbKi*phi**3) - 2.0_DbKi*Hbar/3.0_DbKi - 2.0_DbKi*s/Pi_D + END IF + ELSE IF ( Hbar <= REAL(HM_HbarDeep,DbKi) ) THEN ! Fully submerged near the free surface + CALL HM_PolyEval( HM_CoefSub, Hbar, muD, dmuD ) + ELSE + muD = 1.0_DbKi + dmuD = 0.0_DbKi + END IF + mu = REAL(muD, ReKi) + dmu = REAL(dmuD,ReKi) + END SUBROUTINE HM_AddedMassHeave + + !> Normalized sway added mass mu_xx/(rho*pi*R^2) of a circular section (zero or infinite frequency per HM_SwayZeroFreq) + !! and the infinite-frequency derivative w.r.t. Hbar = H/R + PURE SUBROUTINE HM_AddedMassSway( HbarIn, mu, dmu ) + REAL(ReKi), INTENT( IN ) :: HbarIn + REAL(ReKi), INTENT( OUT ) :: mu + REAL(ReKi), INTENT( OUT ) :: dmu + REAL(DbKi) :: Hbar, phi, s, muD, dmuD, NotUsed + Hbar = REAL(HbarIn,DbKi) + IF ( Hbar <= -1.0_DbKi ) THEN + muD = 0.0_DbKi + dmuD = 0.0_DbKi + ELSE IF ( Hbar <= 0.0_DbKi ) THEN + CALL HM_PolyEval( HM_CoefSwy1, Hbar, muD, dmuD ) + ELSE IF ( Hbar <= 1.0_DbKi ) THEN + CALL HM_PolyEval( HM_CoefSwy2, Hbar, muD, dmuD ) + ELSE IF ( Hbar <= REAL(HM_HbarDeep,DbKi) ) THEN + CALL HM_PolyEval( HM_CoefSub, Hbar, muD, dmuD ) + ELSE + muD = 1.0_DbKi + dmuD = 0.0_DbKi + END IF + + IF ( HM_SwayZeroFreq ) THEN ! Replace the value only; dmuD stays infinite-frequency + IF ( Hbar <= -1.0_DbKi ) THEN + muD = 0.0_DbKi + ELSE IF ( Hbar <= 0.8_DbKi ) THEN ! Surface piercing (double body); s and phi as in HM_AddedMassHeave + s = SQRT( (1.0_DbKi-Hbar)*(1.0_DbKi+Hbar) ) + phi = 2.0_DbKi*ATAN2(s,Hbar) + muD = (-2.0_DbKi*s*Hbar-TwoPi_D+phi+TwoPi_D/3.0_DbKi*(TwoPi_D-phi)*s*s*(TwoPi_D+phi)/(phi*phi))/TwoPi_D + ELSE IF ( Hbar <= 1.1_DbKi ) THEN + CALL HM_PolyEval( HM_CoefSwyZ1, Hbar-1.0_DbKi, muD, NotUsed ) + ELSE IF ( Hbar <= REAL(HM_HbarDeep,DbKi) ) THEN + CALL HM_PolyEval( HM_CoefSwyZ2, 1.0_DbKi/Hbar, muD, NotUsed ) + ELSE + muD = 1.0_DbKi + END IF + END IF + + mu = REAL(muD, ReKi) + dmu = REAL(dmuD,ReKi) + END SUBROUTINE HM_AddedMassSway + + !> Center depth H of a section measured in the section plane normal to the local free-surface cut, and S = sqrt(1-(n_w.k)^2) + PURE SUBROUTINE HM_SectionSubmergence( Zc, zeta, n_w, k, H, S ) + REAL(ReKi), INTENT( IN ) :: Zc ! Vertical position of the section center + REAL(ReKi), INTENT( IN ) :: zeta ! Free-surface elevation directly above/below the section center + REAL(ReKi), INTENT( IN ) :: n_w(3) ! Free-surface unit normal pointing from water to air + REAL(ReKi), INTENT( IN ) :: k(3) ! Member axial unit vector + REAL(ReKi), INTENT( OUT ) :: H + REAL(ReKi), INTENT( OUT ) :: S + REAL(ReKi) :: nk + nk = DOT_PRODUCT(n_w,k) + S = SQRT( MAX(1.0_ReKi-nk*nk, 0.0_ReKi) ) + IF ( S > 0.0_ReKi ) THEN + H = (zeta-Zc)*n_w(3)/S + ELSE ! Section parallel to the free surface: limit of H is +/- infinity + H = SIGN( HUGE(H), zeta-Zc ) + END IF + END SUBROUTINE HM_SectionSubmergence + + !> Transverse Froude-Krylov force per unit length on the wetted arc theta1->theta2 of a circular section, r = y_hat*cos(theta) + z_hat*sin(theta) + PURE SUBROUTINE HM_FKSection( theta1, theta2, R, rho, p_c, a_y, a_z, F_y, F_z ) + REAL(DbKi), INTENT( IN ) :: theta1, theta2 ! Start and end of the wetted arc + REAL(ReKi), INTENT( IN ) :: R ! Section radius + REAL(ReKi), INTENT( IN ) :: rho ! Water density + REAL(ReKi), INTENT( IN ) :: p_c ! Dynamic pressure at the section center + REAL(ReKi), INTENT( IN ) :: a_y, a_z ! Flow acceleration components along y_hat and z_hat + REAL(ReKi), INTENT( OUT ) :: F_y, F_z ! Force components along y_hat and z_hat + REAL(DbKi) :: pR, rR2, Iyy, Iyz, Izz + pR = REAL(p_c,DbKi)*REAL(R,DbKi) + rR2 = REAL(rho,DbKi)*REAL(R,DbKi)**2 + Iyy = 0.5_DbKi *(theta2-theta1) + 0.25_DbKi*(SIN(2.0_DbKi*theta2)-SIN(2.0_DbKi*theta1)) ! int cos^2 + Izz = 0.5_DbKi *(theta2-theta1) - 0.25_DbKi*(SIN(2.0_DbKi*theta2)-SIN(2.0_DbKi*theta1)) ! int sin^2 + Iyz = 0.25_DbKi*(COS(2.0_DbKi*theta1)-COS(2.0_DbKi*theta2)) ! int sin*cos + F_y = REAL( -pR*(SIN(theta2)-SIN(theta1)) + rR2*(REAL(a_y,DbKi)*Iyy + REAL(a_z,DbKi)*Iyz), ReKi ) + F_z = REAL( pR*(COS(theta2)-COS(theta1)) + rR2*(REAL(a_y,DbKi)*Iyz + REAL(a_z,DbKi)*Izz), ReKi ) + END SUBROUTINE HM_FKSection + SUBROUTINE GetSectionHstLds_Rec(p, origin, pos0, k_hat, x_hat, y_hat, Sa, Sb, dSadl, dSbdl, rFS, nFS, dFdl, secStat) TYPE(Morison_ParameterType), INTENT( IN ) :: p REAL(DbKi), INTENT( IN ) :: origin(3) @@ -6061,10 +6013,11 @@ SUBROUTINE getElementHstLds_Mod1(p, m, mem, Time, pos1, pos2, Zeta1, Zeta2, k_ha END IF END SUBROUTINE getElementHstLds_Mod1 - SUBROUTINE YawJoint(p, JointNo, PtfmRefY, AM_End, An_End, DP_Const_End, I_MG_End, ErrStat, ErrMsg) + SUBROUTINE RotateJoint(p, JointNo, PtfmRefY, JOrientation, AM_End, An_End, DP_Const_End, I_MG_End, ErrStat, ErrMsg) TYPE(Morison_ParameterType), INTENT( IN ) :: p Integer(IntKi), intent(in ) :: JointNo Real(ReKi), intent(in ) :: PtfmRefY + Real(R8Ki), intent(in ) :: JOrientation(3,3) Real(ReKi), intent( out) :: AM_End(3,3) Real(ReKi), intent( out) :: An_End(3) Real(ReKi), intent( out) :: DP_Const_End(3) @@ -6072,24 +6025,29 @@ SUBROUTINE YawJoint(p, JointNo, PtfmRefY, AM_End, An_End, DP_Const_End, I_MG_End Integer(IntKi), intent( out) :: ErrStat Character(*), intent( out) :: ErrMsg - Integer(IntKi) :: ErrStat2 - Character(ErrMsgLen) :: ErrMsg2 + Real(ReKi) :: Rg2b(3,3) + Real(ReKi) :: Rb2g(3,3) - Character(*), parameter :: RoutineName = 'YawJoint' + Character(*), parameter :: RoutineName = 'RotateJoint' ErrStat = ErrID_None ErrMsg = '' - call hiFrameTransform(h2i,PtfmRefY,p%AM_End(:,:,jointNo),AM_End,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) - call hiFrameTransform(h2i,PtfmRefY,p%An_End(:,jointNo),An_End,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) - call hiFrameTransform(h2i,PtfmRefY,p%DP_Const_End(:,jointNo),DP_Const_End,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) - call hiFrameTransform(h2i,PtfmRefY,p%I_MG_End(:,:,jointNo),I_MG_End,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) + select case (p%WaveDisp) + case (0) + call GetPtfmRefYOrient(PtfmRefY, Rg2b, ErrStat, ErrMsg) + if (ErrStat /= ErrID_None) return + case (1) + Rg2b = JOrientation + end select + Rb2g = transpose(Rg2b) - END SUBROUTINE YawJoint + AM_End = matmul(matmul(Rb2g,p%AM_End(:,:,jointNo)),Rg2b) + An_End = matmul(Rb2g,p%An_End(:,jointNo)) + DP_Const_End = matmul(Rb2g,p%DP_Const_End(:,jointNo)) + I_MG_End = matmul(matmul(Rb2g,p%I_MG_End(:,:,jointNo)),Rg2b) + + END SUBROUTINE RotateJoint SUBROUTINE getMemBallastHiPt(p, m, u, member, z_hi, ErrStat, ErrMsg) ! This subroutine returns the highest point of a member's internal ballast @@ -6102,7 +6060,7 @@ SUBROUTINE getMemBallastHiPt(p, m, u, member, z_hi, ErrStat, ErrMsg) Character(*), intent( out) :: ErrMsg Integer(IntKi) :: N, elemNo - Real(ReKi) :: CMatrix0(3,3), CMatrix(3,3) + Real(ReKi) :: CMatrix(3,3) Real(ReKi) :: k_hat(3), x_hat(3), y_hat(3), z_hat(3) Real(ReKi) :: l, rIn, SaIn, SbIn, z0, pos1(3), pos2(3) @@ -6149,13 +6107,11 @@ SUBROUTINE getMemBallastHiPt(p, m, u, member, z_hi, ErrStat, ErrMsg) z_hi = MAX( pos2(3) + rIn * z_hat(3), z_hi) END IF ELSE IF (member%MSecGeom == MSecGeom_Rec) THEN - ! DirCos matrix of undisplaced member - CALL Morison_DirCosMtrx( u%Mesh%Position(:,member%NodeIndx(1 )), u%Mesh%Position(:,member%NodeIndx(N+1)), member%MSpinOrient, CMatrix0 ) ! Check the vertices of the starting section pos1 = m%DispNodePosHst(:,member%NodeIndx(1)) pos2 = m%DispNodePosHst(:,member%NodeIndx(2)) z0 = pos1(3) - CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,member%NodeIndx(1 ))),CMatrix0) + CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,member%NodeIndx(1 ))),member%CMatrix) CALL GetSectionUnitVectors_Rec( CMatrix, x_hat, y_hat ) SaIn = member%SaIn(1) SbIn = member%SbIn(1) @@ -6168,7 +6124,7 @@ SUBROUTINE getMemBallastHiPt(p, m, u, member, z_hi, ErrStat, ErrMsg) pos1 = m%DispNodePosHst(:,member%NodeIndx(N )) pos2 = m%DispNodePosHst(:,member%NodeIndx(N+1)) z0 = pos2(3) - CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,member%NodeIndx(N+1))),CMatrix0) + CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,member%NodeIndx(N+1))),member%CMatrix) CALL GetSectionUnitVectors_Rec( CMatrix, x_hat, y_hat ) SaIn = member%SaIn(N+1) SbIn = member%SbIn(N+1) @@ -6181,9 +6137,9 @@ SUBROUTINE getMemBallastHiPt(p, m, u, member, z_hi, ErrStat, ErrMsg) pos1 = m%DispNodePosHst(:,member%NodeIndx(elemNo )) pos2 = m%DispNodePosHst(:,member%NodeIndx(elemNo+1)) if ( member%h_fill>0.5*member%dl ) then - CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,member%NodeIndx(elemNo+1))),CMatrix0) + CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,member%NodeIndx(elemNo+1))),member%CMatrix) else - CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,member%NodeIndx(elemNo ))),CMatrix0) + CMatrix = matmul(transpose(u%Mesh%Orientation(:,:,member%NodeIndx(elemNo ))),member%CMatrix) end if CALL GetSectionUnitVectors_Rec( CMatrix, x_hat, y_hat ) k_hat = Cross_Product(x_hat,y_hat) @@ -6385,54 +6341,26 @@ subroutine LumpDistrHydroLoads( f_hydro, k_hat, dl, h_c, lumpedLoad ) lumpedLoad(1:3) = f_hydro*dl lumpedLoad(4:6) = cross_product(k_hat*h_c, f_hydro)*dl end subroutine LumpDistrHydroLoads -!---------------------------------------------------------------------------------------------------------------------------------- -! Takes loads on node i in element tilted frame and converts to 6DOF loads at node i and adjacent node -PURE SUBROUTINE DistributeElementLoads(Fl, Fr, M, sinPhi, cosPhi, SinBeta, cosBeta, alpha, F1, F2) - - REAL(ReKi), INTENT ( IN ) :: Fl ! (N) axial load about node i - REAL(ReKi), INTENT ( IN ) :: Fr ! (N) radial load about node i in direction of tilt - REAL(ReKi), INTENT ( IN ) :: M ! (N-m) radial moment about node i, positive in direction of tilt angle - REAL(ReKi), INTENT ( IN ) :: sinPhi ! trig functions of tilt angle - REAL(ReKi), INTENT ( IN ) :: cosPhi - REAL(ReKi), INTENT ( IN ) :: sinBeta ! trig functions of heading of tilt - REAL(ReKi), INTENT ( IN ) :: cosBeta - REAL(ReKi), INTENT ( IN ) :: alpha ! fraction of load staying with node i (1-alpha goes to other node) - - REAL(ReKi), INTENT ( OUT ) :: F1(6) ! (N, Nm) force/moment vector for node i - REAL(ReKi), INTENT ( OUT ) :: F2(6) ! (N, Nm) force/moment vector for the other node (whether i+1, or i-1) - REAL(ReKi) :: F(6) - - F(1) = cosBeta*(Fl*sinPhi + Fr*cosPhi) - F(2) = sinBeta*(Fl*sinPhi + Fr*cosPhi) - F(3) = (Fl*cosPhi - Fr*sinPhi) - F(4) = -sinBeta * M - F(5) = cosBeta * M - F(6) = 0.0 - - F1 = F*alpha - F2 = F*(1.0_ReKi-alpha) - -END SUBROUTINE DistributeElementLoads -!---------------------------------------------------------------------------------------------------------------------------------- -! Takes loads on end node i and converts to 6DOF loads, adding to the nodes existing loads -PURE SUBROUTINE AddEndLoad(Fl, M, sinPhi, cosPhi, SinBeta, cosBeta, Fi) - - REAL(ReKi), INTENT ( IN ) :: Fl ! (N) axial load about node i - REAL(ReKi), INTENT ( IN ) :: M ! (N-m) radial moment about node i, positive in direction of tilt angle - REAL(ReKi), INTENT ( IN ) :: sinPhi ! trig functions of tilt angle - REAL(ReKi), INTENT ( IN ) :: cosPhi - REAL(ReKi), INTENT ( IN ) :: sinBeta ! trig functions of heading of tilt - REAL(ReKi), INTENT ( IN ) :: cosBeta - REAL(ReKi), INTENT ( INOUT ) :: Fi(6) ! (N, Nm) force/moment vector for end node i - - Fi(1) = Fi(1) + Fl*sinPhi*cosBeta - Fi(2) = Fi(2) + Fl*sinPhi*sinBeta - Fi(3) = Fi(3) + Fl*cosPhi - Fi(4) = Fi(4) - M*sinBeta - Fi(5) = Fi(5) + M*cosBeta - -END SUBROUTINE AddEndLoad +!---------------------------------------------------------------------------------------------------------------------------------- +!> Nodal taper from the element tapers dXdl(1:N): averaged magnitude (slope_p) and averaged signed value (slope_pp) +pure subroutine GetNodeTaper( dXdl, i, N, slope_p, slope_pp ) + real(ReKi), intent(in ) :: dXdl(:) + integer(IntKi), intent(in ) :: i + integer(IntKi), intent(in ) :: N + real(ReKi), intent( out) :: slope_p + real(ReKi), intent( out) :: slope_pp + if (i == 1) then + slope_p = abs(dXdl(1)) + slope_pp = dXdl(1) + else if (i < N+1) then + slope_p = 0.5_ReKi*( abs(dXdl(i-1)) + abs(dXdl(i)) ) + slope_pp = 0.5_ReKi*( dXdl(i-1) + dXdl(i) ) + else + slope_p = abs(dXdl(N)) + slope_pp = dXdl(N) + end if +end subroutine GetNodeTaper !---------------------------------------------------------------------------------------------------------------------------------- !> Tight coupling routine for updating discrete states @@ -6452,7 +6380,9 @@ SUBROUTINE Morison_UpdateDiscState( Time, u, p, x, xd, z, OtherState, m, errStat CHARACTER(*), INTENT( OUT) :: errMsg !< Error message if errStat /= ErrID_None INTEGER(IntKi) :: I, J, im, N INTEGER(IntKi) :: nodeInWater, tmpInt - REAL(ReKi) :: pos(3), vrel(3), FV(3), vmag, vmagf, An_End(3) + REAL(ReKi) :: pos(3), vrel(3), vmag, vmagf, An_End(3) + REAL(ReKi) :: Rg2b(3,3) + REAL(ReKi) :: rJ, drJdH, S, n_w(3), zeta REAL(ReKi) :: posFC(3), SVFC(3), vrelFC, vrelFCf REAL(SiKi) :: FVTmp(3),FATmp(3) TYPE(Morison_MemberType) :: mem !< Current member @@ -6466,7 +6396,7 @@ SUBROUTINE Morison_UpdateDiscState( Time, u, p, x, xd, z, OtherState, m, errStat errMsg = "" - CALL GetDisplacedNodePosition( u, p, .FALSE., m%DispNodePosHdn ) ! For hydrodynamic loads; depends on WaveDisp and WaveStMod + CALL GetDisplacedNodePosition( u, p, .FALSE., m%DispNodePosHdn ) ! For hydrodynamic loads; depends on WaveDisp ! Update state of the relative normal velocity high-pass filter at each joint DO J = 1, p%NJoints @@ -6474,18 +6404,29 @@ SUBROUTINE Morison_UpdateDiscState( Time, u, p, x, xd, z, OtherState, m, errStat ! Get joint position pos = m%DispNodePosHdn(:,J) - ! Get fluid velocity at the joint - CALL WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, pos, .FALSE., .TRUE., nodeInWater, FVTmp, ErrStat2, ErrMsg2 ) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) - FV = REAL(FVTmp, ReKi) - vrel = ( FV - u%Mesh%TranslationVel(:,J) ) * nodeInWater - - ! Transform An_End based on reference yaw offset - call hiFrameTransform(h2i,u%PtfmRefY,p%An_End(:,j),An_End,ErrStat2,ErrMsg2) - call SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName) + ! Rotate An_End based on p%WaveDisp: reference yaw only (0) or full instantaneous orientation (1) + select case (p%WaveDisp) + case (0) + call GetPtfmRefYOrient(u%PtfmRefY, Rg2b, ErrStat2, ErrMsg2) + if (Failed()) return + case (1) + Rg2b = u%Mesh%Orientation(:,:,J) + end select + An_End = matmul(transpose(Rg2b),p%An_End(:,j)) + + ! Wetted fraction of the joint end plate + CALL GetJointWetting( p, m, Time, pos, An_End, rJ, drJdH, S, n_w, zeta, ErrStat2, ErrMsg2 ); if (Failed()) return + + ! Relative normal velocity weighted by sqrt(r); flow velocity at the joint if submerged, otherwise on the free surface + vmag = 0.0_ReKi + IF ( rJ > 0.0_ReKi ) THEN + pos(3) = MIN( pos(3), zeta ) + CALL WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, pos, .TRUE., .TRUE., nodeInWater, FVTmp, ErrStat2, ErrMsg2 ) + if (Failed()) return + vrel = REAL(FVTmp, ReKi) - u%Mesh%TranslationVel(:,J) + vmag = SQRT(rJ) * DOT_PRODUCT( vrel, An_End ) + END IF - ! Compute the dot product of the relative velocity vector with the directional Area of the Joint - vmag = vrel(1)*An_End(1) + vrel(2)*An_End(2) + vrel(3)*An_End(3) ! High-pass filtering vmagf = p%VRelNFiltConst(J) * (vmag + xd%V_rel_n_FiltStat(J)) ! Update relative normal velocity filter state for joint J @@ -6499,22 +6440,22 @@ SUBROUTINE Morison_UpdateDiscState( Time, u, p, x, xd, z, OtherState, m, errStat N = p%Members(im)%NElements mem = p%Members(im) - call YawMember(mem, u%PtfmRefY, ErrStat2, ErrMsg2) - call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) DO I = mem%i_floor+1, N+1 pos = m%DispNodePosHdn(:, mem%NodeIndx(I)) CALL WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, pos, .FALSE., .TRUE., nodeInWater, FVTmp, ErrStat2, ErrMsg2 ) - CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + if (Failed()) return IF (nodeInWater .EQ. 1_IntKi) THEN + call RotateMemberNode(p, im, mem, u%PtfmRefY, u%Mesh%Orientation(:,:,mem%NodeIndx(i)), ErrStat2, ErrMsg2); if (Failed()) return + ! Note: We force each face center to also be wetted if the center node is wetted. Otherwise, the load-smoothing procedure might not work ! Side B - +x_hat side posFC = pos + mem%x_hat * 0.5 * mem%SaMG(i) SVFC = u%Mesh%TranslationVel(:,mem%NodeIndx(i)) + cross_product( u%Mesh%RotationVel(:,mem%NodeIndx(i)), mem%x_hat * 0.5 * mem%SaMG(i) ) - call WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, posFC, .TRUE., .TRUE., tmpInt, FVTmp, ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, posFC, .TRUE., .TRUE., tmpInt, FVTmp, ErrStat2, ErrMsg2 ); if (Failed()) return vrelFC = dot_product( REAL(FVTmp,ReKi) - SVFC, mem%x_hat ) vrelFCf = mem%VRelNFiltConstB * ( vrelFC + xd%MV_rel_n_FiltStat(1,mem%NodeIndx(I)) ) xd%MV_rel_n_FiltStat(1,mem%NodeIndx(I)) = vrelFCf - vrelFC @@ -6522,7 +6463,7 @@ SUBROUTINE Morison_UpdateDiscState( Time, u, p, x, xd, z, OtherState, m, errStat ! Side B - -x_hat side posFC = pos - mem%x_hat * 0.5 * mem%SaMG(i) SVFC = u%Mesh%TranslationVel(:,mem%NodeIndx(i)) + cross_product( u%Mesh%RotationVel(:,mem%NodeIndx(i)), -mem%x_hat * 0.5 * mem%SaMG(i) ) - call WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, posFC, .TRUE., .TRUE., tmpInt, FVTmp, ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, posFC, .TRUE., .TRUE., tmpInt, FVTmp, ErrStat2, ErrMsg2 ); if (Failed()) return vrelFC = dot_product( REAL(FVTmp,ReKi) - SVFC, -mem%x_hat ) vrelFCf = mem%VRelNFiltConstB * ( vrelFC + xd%MV_rel_n_FiltStat(2,mem%NodeIndx(I)) ) xd%MV_rel_n_FiltStat(2,mem%NodeIndx(I)) = vrelFCf - vrelFC @@ -6530,7 +6471,7 @@ SUBROUTINE Morison_UpdateDiscState( Time, u, p, x, xd, z, OtherState, m, errStat ! Side A - +y_hat side posFC = pos + mem%y_hat * 0.5 * mem%SbMG(i) SVFC = u%Mesh%TranslationVel(:,mem%NodeIndx(i)) + cross_product( u%Mesh%RotationVel(:,mem%NodeIndx(i)), mem%y_hat * 0.5 * mem%SbMG(i) ) - call WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, posFC, .TRUE., .TRUE., tmpInt, FVTmp, ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, posFC, .TRUE., .TRUE., tmpInt, FVTmp, ErrStat2, ErrMsg2 ); if (Failed()) return vrelFC = dot_product( REAL(FVTmp,ReKi) - SVFC, mem%y_hat ) vrelFCf = mem%VRelNFiltConstA * ( vrelFC + xd%MV_rel_n_FiltStat(3,mem%NodeIndx(I)) ) xd%MV_rel_n_FiltStat(3,mem%NodeIndx(I)) = vrelFCf - vrelFC @@ -6538,7 +6479,7 @@ SUBROUTINE Morison_UpdateDiscState( Time, u, p, x, xd, z, OtherState, m, errStat ! Side A - -y_hat side posFC = pos - mem%y_hat * 0.5 * mem%SbMG(i) SVFC = u%Mesh%TranslationVel(:,mem%NodeIndx(i)) + cross_product( u%Mesh%RotationVel(:,mem%NodeIndx(i)), -mem%y_hat * 0.5 * mem%SbMG(i) ) - call WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, posFC, .TRUE., .TRUE., tmpInt, FVTmp, ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + call WaveField_GetNodeWaveVel( p%WaveField, m%WaveField_m, Time, posFC, .TRUE., .TRUE., tmpInt, FVTmp, ErrStat2, ErrMsg2 ); if (Failed()) return vrelFC = dot_product( REAL(FVTmp,ReKi) - SVFC, -mem%y_hat ) vrelFCf = mem%VRelNFiltConstA * ( vrelFC + xd%MV_rel_n_FiltStat(4,mem%NodeIndx(I)) ) xd%MV_rel_n_FiltStat(4,mem%NodeIndx(I)) = vrelFCf - vrelFC @@ -6564,6 +6505,12 @@ SUBROUTINE Morison_UpdateDiscState( Time, u, p, x, xd, z, OtherState, m, errStat END IF ! If rectangular member END DO ! Iterate through members +contains + logical function Failed() + CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) + Failed = ErrStat >= AbortErrLev + end function Failed + END SUBROUTINE Morison_UpdateDiscState !---------------------------------------------------------------------------------------------------------------------------------- END MODULE Morison diff --git a/modules/hydrodyn/src/Morison.txt b/modules/hydrodyn/src/Morison.txt index f8da63bbea..68d3cd554a 100644 --- a/modules/hydrodyn/src/Morison.txt +++ b/modules/hydrodyn/src/Morison.txt @@ -130,11 +130,11 @@ typedef ^ Morison_MemberType INTEGER typedef ^ ^ INTEGER MemberID - - - "User-supplied integer ID for this member" - typedef ^ ^ INTEGER NElements - - - "number of elements in this member" - typedef ^ ^ ReKi RefLength - - - "the reference total length for this member" m -typedef ^ ^ ReKi cosPhi_ref - - - "the reference cosine of the inclination angle of the member" - typedef ^ ^ ReKi dl - - - "the reference element length for this member (may be less than MDivSize to achieve uniform element lengths)" m typedef ^ ^ ReKi k {3} - - "unit vector of the member's orientation (may be changed to per-element once additional flexibility is accounted for in HydroDyn)" m typedef ^ ^ ReKi kkt {3}{3} - - "matrix of matmul(k_hat, transpose(k_hat)" - typedef ^ ^ ReKi Ak {3}{3} - - "matrix of I - kkt" - +typedef ^ ^ ReKi CMatrix {3}{3} - - "Rotation matrix from the section local system to the global system" - typedef ^ ^ ReKi x_hat {3} - - "unit vector of rectangular member local x-axis aligned with Side A" - typedef ^ ^ ReKi y_hat {3} - - "unit vector of rectangular member local y-axis aligned with Side B" - typedef ^ ^ ReKi R {:} - - "outer member radius at each node" m @@ -240,6 +240,7 @@ typedef ^ ^ LOGICAL typedef ^ Morison_MemberLoads ReKi F_D {:}{:} - - "Member-based (side-effects) Nodal viscous drag loads at time t" - typedef ^ ^ ReKi F_I {:}{:} - - "Member-based (side-effects) Nodal inertial loads at time t" - typedef ^ ^ ReKi F_A {:}{:} - - "Member-based (side-effects) Nodal added mass loads at time t" - +typedef ^ ^ ReKi F_WE {:}{:} - - "Member-based (side-effects) Nodal water entry/exit loads at time t" - typedef ^ ^ ReKi F_B {:}{:} - - "Member-based (side-effects) Nodal buoyancy loads" - typedef ^ ^ ReKi F_BF {:}{:} - - "Member-based (side-effects) Nodal flooded ballast weight/buoyancy loads" - typedef ^ ^ ReKi F_If {:}{:} - - "Member-based (side-effects) Nodal flooded ballast inertia loads" - @@ -338,8 +339,7 @@ typedef ^ ^ INTEGER # e.g., the name of the input file, the file root name,etc. # typedef ^ InitInputType ReKi Gravity - - - "Gravity (scalar, positive-valued)" m/s^2 -typedef ^ ^ INTEGER WaveDisp - - - "Method of computing Wave Kinematics. (0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) " - -typedef ^ ^ INTEGER 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) [overwrite to 0 when WaveStMod = 0 in SeaState]" - +typedef ^ ^ INTEGER WaveDisp - - - "Method of displacing strip-theory members and joints {0: use potential-flow consistent displacement, 1: use exact instantaneous displacement}" - typedef ^ ^ INTEGER HstMod - - - "Method of computing strip-theory hydrostatic loads. (0: Up to the still water level. 1: Up to the instantaneous free surface) [overwrite to 0 when WaveStMod = 0 in SeaState]" - typedef ^ ^ INTEGER NJoints - - - "Number of user-specified joints" - typedef ^ ^ INTEGER NNodes - - - "Total number of nodes in the final software model" - @@ -461,11 +461,14 @@ typedef ^ ^ ReKi typedef ^ ^ ReKi F_I_End {:}{:} - - "Lumped intertia loads at time t, which may not correspond to the WaveTime array of times" - typedef ^ ^ ReKi F_IMG_End {:}{:} - - "Joint marine growth intertia loads at time t, which may not correspond to the WaveTime array of times" - typedef ^ ^ ReKi F_A_End {:}{:} - - "Lumped added mass loads at time t, which may not correspond to the WaveTime array of times" - +typedef ^ ^ ReKi F_WE_End {:}{:} - - "Lumped water entry/exit loads at time t" - typedef ^ ^ ReKi F_BF_End {:}{:} - - "Joint internal ballast hydrostatic loads" - typedef ^ ^ ReKi F_tot_End {:}{:} - - "Joint total loads" typedef ^ ^ ReKi V_rel_n {:} - - "Normal relative flow velocity at joints" m/s typedef ^ ^ ReKi V_rel_n_HiPass {:} - - "High-pass filtered normal relative flow velocity at joints" m/s typedef ^ ^ ReKi zFillGroup {:} - - "Instantaneous highest point of each filled group" m +typedef ^ ^ ReKi HM_w {:} - - "Weight of the baseline strip-theory model at each node of the current member for blending with the shallow-angle model" - +typedef ^ ^ ReKi HM_nw {:}{:} - - "Free-surface unit normal at each node of the current member" - typedef ^ ^ MeshMapType VisMeshMap - - - "Mesh mapping for visualization mesh" - typedef ^ ^ GridInterp_MiscVarType WaveField_m - - - "misc var information from the Grid Interpolation module" - @@ -475,9 +478,8 @@ typedef ^ ^ GridInterp_ # typedef ^ ParameterType DbKi DT - - - "Time step for continuous state integration & discrete state update" (sec) typedef ^ ^ ReKi Gravity - - - "Gravity (scalar, positive-valued)" m/s^2 -typedef ^ ^ INTEGER WaveDisp - - - "Method of computing Wave Kinematics. (0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) " - -typedef ^ ^ INTEGER 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) [overwrite to 0 when WaveMod = 0 or 6 or when WaveStMod = 0 in SeaState]" - -typedef ^ ^ INTEGER HstMod - - - "Method of computing strip-theory hydrostatic loads. (0: Up to the still water level. 1: Up to the instantaneous free surface) [overwrite to 0 when WaveStMod = 0 in SeaState]" - +typedef ^ ^ INTEGER WaveDisp - - - "Method of displacing strip-theory members and joints {0: use potential-flow consistent displacement, 1: use exact instantaneous displacement}" - +typedef ^ ^ INTEGER HstMod - - - "Method of computing strip-theory hydrostatic loads. (0: Up to the still water level. 1: Up to the instantaneous free surface) [overwrite to 0 when WaveStMod = 0 in SeaState]" - typedef ^ ^ INTEGER NMembers - - - "number of members" - typedef ^ ^ Morison_MemberType Members {:} - - "Array of Morison members used during simulation" - typedef ^ ^ INTEGER NNodes - - - "" - @@ -511,6 +513,7 @@ typedef ^ ^ Morison_Fil # typedef ^ InputType MeshType Mesh - - - "Kinematics of each node input mesh" - typedef ^ ^ ReKi PtfmRefY - - - "Reference platform yaw offset" (rad) +typedef ^ ^ ReKi PtfmRefXY {2} - - "x,y drift of the HydroDyn origin (PRP), consistent with potential-flow body ExctnDisp. Used to displace the Morison members when WaveDisp=0" (m) typedef ^ ^ ReKi PRP {3} - - "Coordinates of the principal reference point" (m) # # diff --git a/modules/hydrodyn/src/Morison_Output.f90 b/modules/hydrodyn/src/Morison_Output.f90 index efa49bd580..8189351c1a 100644 --- a/modules/hydrodyn/src/Morison_Output.f90 +++ b/modules/hydrodyn/src/Morison_Output.f90 @@ -35,7 +35,7 @@ MODULE Morison_Output ! using the parameters listed in the "OutListParameters.xlsx" Excel file. Any changes to these ! lines should be modified in the Matlab script and/or Excel worksheet as necessary. ! =================================================================================================== -! This code was generated by "Write_ChckOutLst.m" at 06-Sep-2022 13:57:52. +! This code was generated by "Write_ChckOutLst.m" at 22-Oct-2026 13:40:26. ! Indices for computing output channels: ! NOTES: @@ -1592,3105 +1592,3375 @@ MODULE Morison_Output INTEGER(IntKi), PARAMETER :: M9N7FIzi = 1537 INTEGER(IntKi), PARAMETER :: M9N8FIzi = 1538 INTEGER(IntKi), PARAMETER :: M9N9FIzi = 1539 - INTEGER(IntKi), PARAMETER :: M1N1FBxi = 1540 - INTEGER(IntKi), PARAMETER :: M1N2FBxi = 1541 - INTEGER(IntKi), PARAMETER :: M1N3FBxi = 1542 - INTEGER(IntKi), PARAMETER :: M1N4FBxi = 1543 - INTEGER(IntKi), PARAMETER :: M1N5FBxi = 1544 - INTEGER(IntKi), PARAMETER :: M1N6FBxi = 1545 - INTEGER(IntKi), PARAMETER :: M1N7FBxi = 1546 - INTEGER(IntKi), PARAMETER :: M1N8FBxi = 1547 - INTEGER(IntKi), PARAMETER :: M1N9FBxi = 1548 - INTEGER(IntKi), PARAMETER :: M2N1FBxi = 1549 - INTEGER(IntKi), PARAMETER :: M2N2FBxi = 1550 - INTEGER(IntKi), PARAMETER :: M2N3FBxi = 1551 - INTEGER(IntKi), PARAMETER :: M2N4FBxi = 1552 - INTEGER(IntKi), PARAMETER :: M2N5FBxi = 1553 - INTEGER(IntKi), PARAMETER :: M2N6FBxi = 1554 - INTEGER(IntKi), PARAMETER :: M2N7FBxi = 1555 - INTEGER(IntKi), PARAMETER :: M2N8FBxi = 1556 - INTEGER(IntKi), PARAMETER :: M2N9FBxi = 1557 - INTEGER(IntKi), PARAMETER :: M3N1FBxi = 1558 - INTEGER(IntKi), PARAMETER :: M3N2FBxi = 1559 - INTEGER(IntKi), PARAMETER :: M3N3FBxi = 1560 - INTEGER(IntKi), PARAMETER :: M3N4FBxi = 1561 - INTEGER(IntKi), PARAMETER :: M3N5FBxi = 1562 - INTEGER(IntKi), PARAMETER :: M3N6FBxi = 1563 - INTEGER(IntKi), PARAMETER :: M3N7FBxi = 1564 - INTEGER(IntKi), PARAMETER :: M3N8FBxi = 1565 - INTEGER(IntKi), PARAMETER :: M3N9FBxi = 1566 - INTEGER(IntKi), PARAMETER :: M4N1FBxi = 1567 - INTEGER(IntKi), PARAMETER :: M4N2FBxi = 1568 - INTEGER(IntKi), PARAMETER :: M4N3FBxi = 1569 - INTEGER(IntKi), PARAMETER :: M4N4FBxi = 1570 - INTEGER(IntKi), PARAMETER :: M4N5FBxi = 1571 - INTEGER(IntKi), PARAMETER :: M4N6FBxi = 1572 - INTEGER(IntKi), PARAMETER :: M4N7FBxi = 1573 - INTEGER(IntKi), PARAMETER :: M4N8FBxi = 1574 - INTEGER(IntKi), PARAMETER :: M4N9FBxi = 1575 - INTEGER(IntKi), PARAMETER :: M5N1FBxi = 1576 - INTEGER(IntKi), PARAMETER :: M5N2FBxi = 1577 - INTEGER(IntKi), PARAMETER :: M5N3FBxi = 1578 - INTEGER(IntKi), PARAMETER :: M5N4FBxi = 1579 - INTEGER(IntKi), PARAMETER :: M5N5FBxi = 1580 - INTEGER(IntKi), PARAMETER :: M5N6FBxi = 1581 - INTEGER(IntKi), PARAMETER :: M5N7FBxi = 1582 - INTEGER(IntKi), PARAMETER :: M5N8FBxi = 1583 - INTEGER(IntKi), PARAMETER :: M5N9FBxi = 1584 - INTEGER(IntKi), PARAMETER :: M6N1FBxi = 1585 - INTEGER(IntKi), PARAMETER :: M6N2FBxi = 1586 - INTEGER(IntKi), PARAMETER :: M6N3FBxi = 1587 - INTEGER(IntKi), PARAMETER :: M6N4FBxi = 1588 - INTEGER(IntKi), PARAMETER :: M6N5FBxi = 1589 - INTEGER(IntKi), PARAMETER :: M6N6FBxi = 1590 - INTEGER(IntKi), PARAMETER :: M6N7FBxi = 1591 - INTEGER(IntKi), PARAMETER :: M6N8FBxi = 1592 - INTEGER(IntKi), PARAMETER :: M6N9FBxi = 1593 - INTEGER(IntKi), PARAMETER :: M7N1FBxi = 1594 - INTEGER(IntKi), PARAMETER :: M7N2FBxi = 1595 - INTEGER(IntKi), PARAMETER :: M7N3FBxi = 1596 - INTEGER(IntKi), PARAMETER :: M7N4FBxi = 1597 - INTEGER(IntKi), PARAMETER :: M7N5FBxi = 1598 - INTEGER(IntKi), PARAMETER :: M7N6FBxi = 1599 - INTEGER(IntKi), PARAMETER :: M7N7FBxi = 1600 - INTEGER(IntKi), PARAMETER :: M7N8FBxi = 1601 - INTEGER(IntKi), PARAMETER :: M7N9FBxi = 1602 - INTEGER(IntKi), PARAMETER :: M8N1FBxi = 1603 - INTEGER(IntKi), PARAMETER :: M8N2FBxi = 1604 - INTEGER(IntKi), PARAMETER :: M8N3FBxi = 1605 - INTEGER(IntKi), PARAMETER :: M8N4FBxi = 1606 - INTEGER(IntKi), PARAMETER :: M8N5FBxi = 1607 - INTEGER(IntKi), PARAMETER :: M8N6FBxi = 1608 - INTEGER(IntKi), PARAMETER :: M8N7FBxi = 1609 - INTEGER(IntKi), PARAMETER :: M8N8FBxi = 1610 - INTEGER(IntKi), PARAMETER :: M8N9FBxi = 1611 - INTEGER(IntKi), PARAMETER :: M9N1FBxi = 1612 - INTEGER(IntKi), PARAMETER :: M9N2FBxi = 1613 - INTEGER(IntKi), PARAMETER :: M9N3FBxi = 1614 - INTEGER(IntKi), PARAMETER :: M9N4FBxi = 1615 - INTEGER(IntKi), PARAMETER :: M9N5FBxi = 1616 - INTEGER(IntKi), PARAMETER :: M9N6FBxi = 1617 - INTEGER(IntKi), PARAMETER :: M9N7FBxi = 1618 - INTEGER(IntKi), PARAMETER :: M9N8FBxi = 1619 - INTEGER(IntKi), PARAMETER :: M9N9FBxi = 1620 - INTEGER(IntKi), PARAMETER :: M1N1FByi = 1621 - INTEGER(IntKi), PARAMETER :: M1N2FByi = 1622 - INTEGER(IntKi), PARAMETER :: M1N3FByi = 1623 - INTEGER(IntKi), PARAMETER :: M1N4FByi = 1624 - INTEGER(IntKi), PARAMETER :: M1N5FByi = 1625 - INTEGER(IntKi), PARAMETER :: M1N6FByi = 1626 - INTEGER(IntKi), PARAMETER :: M1N7FByi = 1627 - INTEGER(IntKi), PARAMETER :: M1N8FByi = 1628 - INTEGER(IntKi), PARAMETER :: M1N9FByi = 1629 - INTEGER(IntKi), PARAMETER :: M2N1FByi = 1630 - INTEGER(IntKi), PARAMETER :: M2N2FByi = 1631 - INTEGER(IntKi), PARAMETER :: M2N3FByi = 1632 - INTEGER(IntKi), PARAMETER :: M2N4FByi = 1633 - INTEGER(IntKi), PARAMETER :: M2N5FByi = 1634 - INTEGER(IntKi), PARAMETER :: M2N6FByi = 1635 - INTEGER(IntKi), PARAMETER :: M2N7FByi = 1636 - INTEGER(IntKi), PARAMETER :: M2N8FByi = 1637 - INTEGER(IntKi), PARAMETER :: M2N9FByi = 1638 - INTEGER(IntKi), PARAMETER :: M3N1FByi = 1639 - INTEGER(IntKi), PARAMETER :: M3N2FByi = 1640 - INTEGER(IntKi), PARAMETER :: M3N3FByi = 1641 - INTEGER(IntKi), PARAMETER :: M3N4FByi = 1642 - INTEGER(IntKi), PARAMETER :: M3N5FByi = 1643 - INTEGER(IntKi), PARAMETER :: M3N6FByi = 1644 - INTEGER(IntKi), PARAMETER :: M3N7FByi = 1645 - INTEGER(IntKi), PARAMETER :: M3N8FByi = 1646 - INTEGER(IntKi), PARAMETER :: M3N9FByi = 1647 - INTEGER(IntKi), PARAMETER :: M4N1FByi = 1648 - INTEGER(IntKi), PARAMETER :: M4N2FByi = 1649 - INTEGER(IntKi), PARAMETER :: M4N3FByi = 1650 - INTEGER(IntKi), PARAMETER :: M4N4FByi = 1651 - INTEGER(IntKi), PARAMETER :: M4N5FByi = 1652 - INTEGER(IntKi), PARAMETER :: M4N6FByi = 1653 - INTEGER(IntKi), PARAMETER :: M4N7FByi = 1654 - INTEGER(IntKi), PARAMETER :: M4N8FByi = 1655 - INTEGER(IntKi), PARAMETER :: M4N9FByi = 1656 - INTEGER(IntKi), PARAMETER :: M5N1FByi = 1657 - INTEGER(IntKi), PARAMETER :: M5N2FByi = 1658 - INTEGER(IntKi), PARAMETER :: M5N3FByi = 1659 - INTEGER(IntKi), PARAMETER :: M5N4FByi = 1660 - INTEGER(IntKi), PARAMETER :: M5N5FByi = 1661 - INTEGER(IntKi), PARAMETER :: M5N6FByi = 1662 - INTEGER(IntKi), PARAMETER :: M5N7FByi = 1663 - INTEGER(IntKi), PARAMETER :: M5N8FByi = 1664 - INTEGER(IntKi), PARAMETER :: M5N9FByi = 1665 - INTEGER(IntKi), PARAMETER :: M6N1FByi = 1666 - INTEGER(IntKi), PARAMETER :: M6N2FByi = 1667 - INTEGER(IntKi), PARAMETER :: M6N3FByi = 1668 - INTEGER(IntKi), PARAMETER :: M6N4FByi = 1669 - INTEGER(IntKi), PARAMETER :: M6N5FByi = 1670 - INTEGER(IntKi), PARAMETER :: M6N6FByi = 1671 - INTEGER(IntKi), PARAMETER :: M6N7FByi = 1672 - INTEGER(IntKi), PARAMETER :: M6N8FByi = 1673 - INTEGER(IntKi), PARAMETER :: M6N9FByi = 1674 - INTEGER(IntKi), PARAMETER :: M7N1FByi = 1675 - INTEGER(IntKi), PARAMETER :: M7N2FByi = 1676 - INTEGER(IntKi), PARAMETER :: M7N3FByi = 1677 - INTEGER(IntKi), PARAMETER :: M7N4FByi = 1678 - INTEGER(IntKi), PARAMETER :: M7N5FByi = 1679 - INTEGER(IntKi), PARAMETER :: M7N6FByi = 1680 - INTEGER(IntKi), PARAMETER :: M7N7FByi = 1681 - INTEGER(IntKi), PARAMETER :: M7N8FByi = 1682 - INTEGER(IntKi), PARAMETER :: M7N9FByi = 1683 - INTEGER(IntKi), PARAMETER :: M8N1FByi = 1684 - INTEGER(IntKi), PARAMETER :: M8N2FByi = 1685 - INTEGER(IntKi), PARAMETER :: M8N3FByi = 1686 - INTEGER(IntKi), PARAMETER :: M8N4FByi = 1687 - INTEGER(IntKi), PARAMETER :: M8N5FByi = 1688 - INTEGER(IntKi), PARAMETER :: M8N6FByi = 1689 - INTEGER(IntKi), PARAMETER :: M8N7FByi = 1690 - INTEGER(IntKi), PARAMETER :: M8N8FByi = 1691 - INTEGER(IntKi), PARAMETER :: M8N9FByi = 1692 - INTEGER(IntKi), PARAMETER :: M9N1FByi = 1693 - INTEGER(IntKi), PARAMETER :: M9N2FByi = 1694 - INTEGER(IntKi), PARAMETER :: M9N3FByi = 1695 - INTEGER(IntKi), PARAMETER :: M9N4FByi = 1696 - INTEGER(IntKi), PARAMETER :: M9N5FByi = 1697 - INTEGER(IntKi), PARAMETER :: M9N6FByi = 1698 - INTEGER(IntKi), PARAMETER :: M9N7FByi = 1699 - INTEGER(IntKi), PARAMETER :: M9N8FByi = 1700 - INTEGER(IntKi), PARAMETER :: M9N9FByi = 1701 - INTEGER(IntKi), PARAMETER :: M1N1FBzi = 1702 - INTEGER(IntKi), PARAMETER :: M1N2FBzi = 1703 - INTEGER(IntKi), PARAMETER :: M1N3FBzi = 1704 - INTEGER(IntKi), PARAMETER :: M1N4FBzi = 1705 - INTEGER(IntKi), PARAMETER :: M1N5FBzi = 1706 - INTEGER(IntKi), PARAMETER :: M1N6FBzi = 1707 - INTEGER(IntKi), PARAMETER :: M1N7FBzi = 1708 - INTEGER(IntKi), PARAMETER :: M1N8FBzi = 1709 - INTEGER(IntKi), PARAMETER :: M1N9FBzi = 1710 - INTEGER(IntKi), PARAMETER :: M2N1FBzi = 1711 - INTEGER(IntKi), PARAMETER :: M2N2FBzi = 1712 - INTEGER(IntKi), PARAMETER :: M2N3FBzi = 1713 - INTEGER(IntKi), PARAMETER :: M2N4FBzi = 1714 - INTEGER(IntKi), PARAMETER :: M2N5FBzi = 1715 - INTEGER(IntKi), PARAMETER :: M2N6FBzi = 1716 - INTEGER(IntKi), PARAMETER :: M2N7FBzi = 1717 - INTEGER(IntKi), PARAMETER :: M2N8FBzi = 1718 - INTEGER(IntKi), PARAMETER :: M2N9FBzi = 1719 - INTEGER(IntKi), PARAMETER :: M3N1FBzi = 1720 - INTEGER(IntKi), PARAMETER :: M3N2FBzi = 1721 - INTEGER(IntKi), PARAMETER :: M3N3FBzi = 1722 - INTEGER(IntKi), PARAMETER :: M3N4FBzi = 1723 - INTEGER(IntKi), PARAMETER :: M3N5FBzi = 1724 - INTEGER(IntKi), PARAMETER :: M3N6FBzi = 1725 - INTEGER(IntKi), PARAMETER :: M3N7FBzi = 1726 - INTEGER(IntKi), PARAMETER :: M3N8FBzi = 1727 - INTEGER(IntKi), PARAMETER :: M3N9FBzi = 1728 - INTEGER(IntKi), PARAMETER :: M4N1FBzi = 1729 - INTEGER(IntKi), PARAMETER :: M4N2FBzi = 1730 - INTEGER(IntKi), PARAMETER :: M4N3FBzi = 1731 - INTEGER(IntKi), PARAMETER :: M4N4FBzi = 1732 - INTEGER(IntKi), PARAMETER :: M4N5FBzi = 1733 - INTEGER(IntKi), PARAMETER :: M4N6FBzi = 1734 - INTEGER(IntKi), PARAMETER :: M4N7FBzi = 1735 - INTEGER(IntKi), PARAMETER :: M4N8FBzi = 1736 - INTEGER(IntKi), PARAMETER :: M4N9FBzi = 1737 - INTEGER(IntKi), PARAMETER :: M5N1FBzi = 1738 - INTEGER(IntKi), PARAMETER :: M5N2FBzi = 1739 - INTEGER(IntKi), PARAMETER :: M5N3FBzi = 1740 - INTEGER(IntKi), PARAMETER :: M5N4FBzi = 1741 - INTEGER(IntKi), PARAMETER :: M5N5FBzi = 1742 - INTEGER(IntKi), PARAMETER :: M5N6FBzi = 1743 - INTEGER(IntKi), PARAMETER :: M5N7FBzi = 1744 - INTEGER(IntKi), PARAMETER :: M5N8FBzi = 1745 - INTEGER(IntKi), PARAMETER :: M5N9FBzi = 1746 - INTEGER(IntKi), PARAMETER :: M6N1FBzi = 1747 - INTEGER(IntKi), PARAMETER :: M6N2FBzi = 1748 - INTEGER(IntKi), PARAMETER :: M6N3FBzi = 1749 - INTEGER(IntKi), PARAMETER :: M6N4FBzi = 1750 - INTEGER(IntKi), PARAMETER :: M6N5FBzi = 1751 - INTEGER(IntKi), PARAMETER :: M6N6FBzi = 1752 - INTEGER(IntKi), PARAMETER :: M6N7FBzi = 1753 - INTEGER(IntKi), PARAMETER :: M6N8FBzi = 1754 - INTEGER(IntKi), PARAMETER :: M6N9FBzi = 1755 - INTEGER(IntKi), PARAMETER :: M7N1FBzi = 1756 - INTEGER(IntKi), PARAMETER :: M7N2FBzi = 1757 - INTEGER(IntKi), PARAMETER :: M7N3FBzi = 1758 - INTEGER(IntKi), PARAMETER :: M7N4FBzi = 1759 - INTEGER(IntKi), PARAMETER :: M7N5FBzi = 1760 - INTEGER(IntKi), PARAMETER :: M7N6FBzi = 1761 - INTEGER(IntKi), PARAMETER :: M7N7FBzi = 1762 - INTEGER(IntKi), PARAMETER :: M7N8FBzi = 1763 - INTEGER(IntKi), PARAMETER :: M7N9FBzi = 1764 - INTEGER(IntKi), PARAMETER :: M8N1FBzi = 1765 - INTEGER(IntKi), PARAMETER :: M8N2FBzi = 1766 - INTEGER(IntKi), PARAMETER :: M8N3FBzi = 1767 - INTEGER(IntKi), PARAMETER :: M8N4FBzi = 1768 - INTEGER(IntKi), PARAMETER :: M8N5FBzi = 1769 - INTEGER(IntKi), PARAMETER :: M8N6FBzi = 1770 - INTEGER(IntKi), PARAMETER :: M8N7FBzi = 1771 - INTEGER(IntKi), PARAMETER :: M8N8FBzi = 1772 - INTEGER(IntKi), PARAMETER :: M8N9FBzi = 1773 - INTEGER(IntKi), PARAMETER :: M9N1FBzi = 1774 - INTEGER(IntKi), PARAMETER :: M9N2FBzi = 1775 - INTEGER(IntKi), PARAMETER :: M9N3FBzi = 1776 - INTEGER(IntKi), PARAMETER :: M9N4FBzi = 1777 - INTEGER(IntKi), PARAMETER :: M9N5FBzi = 1778 - INTEGER(IntKi), PARAMETER :: M9N6FBzi = 1779 - INTEGER(IntKi), PARAMETER :: M9N7FBzi = 1780 - INTEGER(IntKi), PARAMETER :: M9N8FBzi = 1781 - INTEGER(IntKi), PARAMETER :: M9N9FBzi = 1782 - INTEGER(IntKi), PARAMETER :: M1N1MBxi = 1783 - INTEGER(IntKi), PARAMETER :: M1N2MBxi = 1784 - INTEGER(IntKi), PARAMETER :: M1N3MBxi = 1785 - INTEGER(IntKi), PARAMETER :: M1N4MBxi = 1786 - INTEGER(IntKi), PARAMETER :: M1N5MBxi = 1787 - INTEGER(IntKi), PARAMETER :: M1N6MBxi = 1788 - INTEGER(IntKi), PARAMETER :: M1N7MBxi = 1789 - INTEGER(IntKi), PARAMETER :: M1N8MBxi = 1790 - INTEGER(IntKi), PARAMETER :: M1N9MBxi = 1791 - INTEGER(IntKi), PARAMETER :: M2N1MBxi = 1792 - INTEGER(IntKi), PARAMETER :: M2N2MBxi = 1793 - INTEGER(IntKi), PARAMETER :: M2N3MBxi = 1794 - INTEGER(IntKi), PARAMETER :: M2N4MBxi = 1795 - INTEGER(IntKi), PARAMETER :: M2N5MBxi = 1796 - INTEGER(IntKi), PARAMETER :: M2N6MBxi = 1797 - INTEGER(IntKi), PARAMETER :: M2N7MBxi = 1798 - INTEGER(IntKi), PARAMETER :: M2N8MBxi = 1799 - INTEGER(IntKi), PARAMETER :: M2N9MBxi = 1800 - INTEGER(IntKi), PARAMETER :: M3N1MBxi = 1801 - INTEGER(IntKi), PARAMETER :: M3N2MBxi = 1802 - INTEGER(IntKi), PARAMETER :: M3N3MBxi = 1803 - INTEGER(IntKi), PARAMETER :: M3N4MBxi = 1804 - INTEGER(IntKi), PARAMETER :: M3N5MBxi = 1805 - INTEGER(IntKi), PARAMETER :: M3N6MBxi = 1806 - INTEGER(IntKi), PARAMETER :: M3N7MBxi = 1807 - INTEGER(IntKi), PARAMETER :: M3N8MBxi = 1808 - INTEGER(IntKi), PARAMETER :: M3N9MBxi = 1809 - INTEGER(IntKi), PARAMETER :: M4N1MBxi = 1810 - INTEGER(IntKi), PARAMETER :: M4N2MBxi = 1811 - INTEGER(IntKi), PARAMETER :: M4N3MBxi = 1812 - INTEGER(IntKi), PARAMETER :: M4N4MBxi = 1813 - INTEGER(IntKi), PARAMETER :: M4N5MBxi = 1814 - INTEGER(IntKi), PARAMETER :: M4N6MBxi = 1815 - INTEGER(IntKi), PARAMETER :: M4N7MBxi = 1816 - INTEGER(IntKi), PARAMETER :: M4N8MBxi = 1817 - INTEGER(IntKi), PARAMETER :: M4N9MBxi = 1818 - INTEGER(IntKi), PARAMETER :: M5N1MBxi = 1819 - INTEGER(IntKi), PARAMETER :: M5N2MBxi = 1820 - INTEGER(IntKi), PARAMETER :: M5N3MBxi = 1821 - INTEGER(IntKi), PARAMETER :: M5N4MBxi = 1822 - INTEGER(IntKi), PARAMETER :: M5N5MBxi = 1823 - INTEGER(IntKi), PARAMETER :: M5N6MBxi = 1824 - INTEGER(IntKi), PARAMETER :: M5N7MBxi = 1825 - INTEGER(IntKi), PARAMETER :: M5N8MBxi = 1826 - INTEGER(IntKi), PARAMETER :: M5N9MBxi = 1827 - INTEGER(IntKi), PARAMETER :: M6N1MBxi = 1828 - INTEGER(IntKi), PARAMETER :: M6N2MBxi = 1829 - INTEGER(IntKi), PARAMETER :: M6N3MBxi = 1830 - INTEGER(IntKi), PARAMETER :: M6N4MBxi = 1831 - INTEGER(IntKi), PARAMETER :: M6N5MBxi = 1832 - INTEGER(IntKi), PARAMETER :: M6N6MBxi = 1833 - INTEGER(IntKi), PARAMETER :: M6N7MBxi = 1834 - INTEGER(IntKi), PARAMETER :: M6N8MBxi = 1835 - INTEGER(IntKi), PARAMETER :: M6N9MBxi = 1836 - INTEGER(IntKi), PARAMETER :: M7N1MBxi = 1837 - INTEGER(IntKi), PARAMETER :: M7N2MBxi = 1838 - INTEGER(IntKi), PARAMETER :: M7N3MBxi = 1839 - INTEGER(IntKi), PARAMETER :: M7N4MBxi = 1840 - INTEGER(IntKi), PARAMETER :: M7N5MBxi = 1841 - INTEGER(IntKi), PARAMETER :: M7N6MBxi = 1842 - INTEGER(IntKi), PARAMETER :: M7N7MBxi = 1843 - INTEGER(IntKi), PARAMETER :: M7N8MBxi = 1844 - INTEGER(IntKi), PARAMETER :: M7N9MBxi = 1845 - INTEGER(IntKi), PARAMETER :: M8N1MBxi = 1846 - INTEGER(IntKi), PARAMETER :: M8N2MBxi = 1847 - INTEGER(IntKi), PARAMETER :: M8N3MBxi = 1848 - INTEGER(IntKi), PARAMETER :: M8N4MBxi = 1849 - INTEGER(IntKi), PARAMETER :: M8N5MBxi = 1850 - INTEGER(IntKi), PARAMETER :: M8N6MBxi = 1851 - INTEGER(IntKi), PARAMETER :: M8N7MBxi = 1852 - INTEGER(IntKi), PARAMETER :: M8N8MBxi = 1853 - INTEGER(IntKi), PARAMETER :: M8N9MBxi = 1854 - INTEGER(IntKi), PARAMETER :: M9N1MBxi = 1855 - INTEGER(IntKi), PARAMETER :: M9N2MBxi = 1856 - INTEGER(IntKi), PARAMETER :: M9N3MBxi = 1857 - INTEGER(IntKi), PARAMETER :: M9N4MBxi = 1858 - INTEGER(IntKi), PARAMETER :: M9N5MBxi = 1859 - INTEGER(IntKi), PARAMETER :: M9N6MBxi = 1860 - INTEGER(IntKi), PARAMETER :: M9N7MBxi = 1861 - INTEGER(IntKi), PARAMETER :: M9N8MBxi = 1862 - INTEGER(IntKi), PARAMETER :: M9N9MBxi = 1863 - INTEGER(IntKi), PARAMETER :: M1N1MByi = 1864 - INTEGER(IntKi), PARAMETER :: M1N2MByi = 1865 - INTEGER(IntKi), PARAMETER :: M1N3MByi = 1866 - INTEGER(IntKi), PARAMETER :: M1N4MByi = 1867 - INTEGER(IntKi), PARAMETER :: M1N5MByi = 1868 - INTEGER(IntKi), PARAMETER :: M1N6MByi = 1869 - INTEGER(IntKi), PARAMETER :: M1N7MByi = 1870 - INTEGER(IntKi), PARAMETER :: M1N8MByi = 1871 - INTEGER(IntKi), PARAMETER :: M1N9MByi = 1872 - INTEGER(IntKi), PARAMETER :: M2N1MByi = 1873 - INTEGER(IntKi), PARAMETER :: M2N2MByi = 1874 - INTEGER(IntKi), PARAMETER :: M2N3MByi = 1875 - INTEGER(IntKi), PARAMETER :: M2N4MByi = 1876 - INTEGER(IntKi), PARAMETER :: M2N5MByi = 1877 - INTEGER(IntKi), PARAMETER :: M2N6MByi = 1878 - INTEGER(IntKi), PARAMETER :: M2N7MByi = 1879 - INTEGER(IntKi), PARAMETER :: M2N8MByi = 1880 - INTEGER(IntKi), PARAMETER :: M2N9MByi = 1881 - INTEGER(IntKi), PARAMETER :: M3N1MByi = 1882 - INTEGER(IntKi), PARAMETER :: M3N2MByi = 1883 - INTEGER(IntKi), PARAMETER :: M3N3MByi = 1884 - INTEGER(IntKi), PARAMETER :: M3N4MByi = 1885 - INTEGER(IntKi), PARAMETER :: M3N5MByi = 1886 - INTEGER(IntKi), PARAMETER :: M3N6MByi = 1887 - INTEGER(IntKi), PARAMETER :: M3N7MByi = 1888 - INTEGER(IntKi), PARAMETER :: M3N8MByi = 1889 - INTEGER(IntKi), PARAMETER :: M3N9MByi = 1890 - INTEGER(IntKi), PARAMETER :: M4N1MByi = 1891 - INTEGER(IntKi), PARAMETER :: M4N2MByi = 1892 - INTEGER(IntKi), PARAMETER :: M4N3MByi = 1893 - INTEGER(IntKi), PARAMETER :: M4N4MByi = 1894 - INTEGER(IntKi), PARAMETER :: M4N5MByi = 1895 - INTEGER(IntKi), PARAMETER :: M4N6MByi = 1896 - INTEGER(IntKi), PARAMETER :: M4N7MByi = 1897 - INTEGER(IntKi), PARAMETER :: M4N8MByi = 1898 - INTEGER(IntKi), PARAMETER :: M4N9MByi = 1899 - INTEGER(IntKi), PARAMETER :: M5N1MByi = 1900 - INTEGER(IntKi), PARAMETER :: M5N2MByi = 1901 - INTEGER(IntKi), PARAMETER :: M5N3MByi = 1902 - INTEGER(IntKi), PARAMETER :: M5N4MByi = 1903 - INTEGER(IntKi), PARAMETER :: M5N5MByi = 1904 - INTEGER(IntKi), PARAMETER :: M5N6MByi = 1905 - INTEGER(IntKi), PARAMETER :: M5N7MByi = 1906 - INTEGER(IntKi), PARAMETER :: M5N8MByi = 1907 - INTEGER(IntKi), PARAMETER :: M5N9MByi = 1908 - INTEGER(IntKi), PARAMETER :: M6N1MByi = 1909 - INTEGER(IntKi), PARAMETER :: M6N2MByi = 1910 - INTEGER(IntKi), PARAMETER :: M6N3MByi = 1911 - INTEGER(IntKi), PARAMETER :: M6N4MByi = 1912 - INTEGER(IntKi), PARAMETER :: M6N5MByi = 1913 - INTEGER(IntKi), PARAMETER :: M6N6MByi = 1914 - INTEGER(IntKi), PARAMETER :: M6N7MByi = 1915 - INTEGER(IntKi), PARAMETER :: M6N8MByi = 1916 - INTEGER(IntKi), PARAMETER :: M6N9MByi = 1917 - INTEGER(IntKi), PARAMETER :: M7N1MByi = 1918 - INTEGER(IntKi), PARAMETER :: M7N2MByi = 1919 - INTEGER(IntKi), PARAMETER :: M7N3MByi = 1920 - INTEGER(IntKi), PARAMETER :: M7N4MByi = 1921 - INTEGER(IntKi), PARAMETER :: M7N5MByi = 1922 - INTEGER(IntKi), PARAMETER :: M7N6MByi = 1923 - INTEGER(IntKi), PARAMETER :: M7N7MByi = 1924 - INTEGER(IntKi), PARAMETER :: M7N8MByi = 1925 - INTEGER(IntKi), PARAMETER :: M7N9MByi = 1926 - INTEGER(IntKi), PARAMETER :: M8N1MByi = 1927 - INTEGER(IntKi), PARAMETER :: M8N2MByi = 1928 - INTEGER(IntKi), PARAMETER :: M8N3MByi = 1929 - INTEGER(IntKi), PARAMETER :: M8N4MByi = 1930 - INTEGER(IntKi), PARAMETER :: M8N5MByi = 1931 - INTEGER(IntKi), PARAMETER :: M8N6MByi = 1932 - INTEGER(IntKi), PARAMETER :: M8N7MByi = 1933 - INTEGER(IntKi), PARAMETER :: M8N8MByi = 1934 - INTEGER(IntKi), PARAMETER :: M8N9MByi = 1935 - INTEGER(IntKi), PARAMETER :: M9N1MByi = 1936 - INTEGER(IntKi), PARAMETER :: M9N2MByi = 1937 - INTEGER(IntKi), PARAMETER :: M9N3MByi = 1938 - INTEGER(IntKi), PARAMETER :: M9N4MByi = 1939 - INTEGER(IntKi), PARAMETER :: M9N5MByi = 1940 - INTEGER(IntKi), PARAMETER :: M9N6MByi = 1941 - INTEGER(IntKi), PARAMETER :: M9N7MByi = 1942 - INTEGER(IntKi), PARAMETER :: M9N8MByi = 1943 - INTEGER(IntKi), PARAMETER :: M9N9MByi = 1944 - INTEGER(IntKi), PARAMETER :: M1N1MBzi = 1945 - INTEGER(IntKi), PARAMETER :: M1N2MBzi = 1946 - INTEGER(IntKi), PARAMETER :: M1N3MBzi = 1947 - INTEGER(IntKi), PARAMETER :: M1N4MBzi = 1948 - INTEGER(IntKi), PARAMETER :: M1N5MBzi = 1949 - INTEGER(IntKi), PARAMETER :: M1N6MBzi = 1950 - INTEGER(IntKi), PARAMETER :: M1N7MBzi = 1951 - INTEGER(IntKi), PARAMETER :: M1N8MBzi = 1952 - INTEGER(IntKi), PARAMETER :: M1N9MBzi = 1953 - INTEGER(IntKi), PARAMETER :: M2N1MBzi = 1954 - INTEGER(IntKi), PARAMETER :: M2N2MBzi = 1955 - INTEGER(IntKi), PARAMETER :: M2N3MBzi = 1956 - INTEGER(IntKi), PARAMETER :: M2N4MBzi = 1957 - INTEGER(IntKi), PARAMETER :: M2N5MBzi = 1958 - INTEGER(IntKi), PARAMETER :: M2N6MBzi = 1959 - INTEGER(IntKi), PARAMETER :: M2N7MBzi = 1960 - INTEGER(IntKi), PARAMETER :: M2N8MBzi = 1961 - INTEGER(IntKi), PARAMETER :: M2N9MBzi = 1962 - INTEGER(IntKi), PARAMETER :: M3N1MBzi = 1963 - INTEGER(IntKi), PARAMETER :: M3N2MBzi = 1964 - INTEGER(IntKi), PARAMETER :: M3N3MBzi = 1965 - INTEGER(IntKi), PARAMETER :: M3N4MBzi = 1966 - INTEGER(IntKi), PARAMETER :: M3N5MBzi = 1967 - INTEGER(IntKi), PARAMETER :: M3N6MBzi = 1968 - INTEGER(IntKi), PARAMETER :: M3N7MBzi = 1969 - INTEGER(IntKi), PARAMETER :: M3N8MBzi = 1970 - INTEGER(IntKi), PARAMETER :: M3N9MBzi = 1971 - INTEGER(IntKi), PARAMETER :: M4N1MBzi = 1972 - INTEGER(IntKi), PARAMETER :: M4N2MBzi = 1973 - INTEGER(IntKi), PARAMETER :: M4N3MBzi = 1974 - INTEGER(IntKi), PARAMETER :: M4N4MBzi = 1975 - INTEGER(IntKi), PARAMETER :: M4N5MBzi = 1976 - INTEGER(IntKi), PARAMETER :: M4N6MBzi = 1977 - INTEGER(IntKi), PARAMETER :: M4N7MBzi = 1978 - INTEGER(IntKi), PARAMETER :: M4N8MBzi = 1979 - INTEGER(IntKi), PARAMETER :: M4N9MBzi = 1980 - INTEGER(IntKi), PARAMETER :: M5N1MBzi = 1981 - INTEGER(IntKi), PARAMETER :: M5N2MBzi = 1982 - INTEGER(IntKi), PARAMETER :: M5N3MBzi = 1983 - INTEGER(IntKi), PARAMETER :: M5N4MBzi = 1984 - INTEGER(IntKi), PARAMETER :: M5N5MBzi = 1985 - INTEGER(IntKi), PARAMETER :: M5N6MBzi = 1986 - INTEGER(IntKi), PARAMETER :: M5N7MBzi = 1987 - INTEGER(IntKi), PARAMETER :: M5N8MBzi = 1988 - INTEGER(IntKi), PARAMETER :: M5N9MBzi = 1989 - INTEGER(IntKi), PARAMETER :: M6N1MBzi = 1990 - INTEGER(IntKi), PARAMETER :: M6N2MBzi = 1991 - INTEGER(IntKi), PARAMETER :: M6N3MBzi = 1992 - INTEGER(IntKi), PARAMETER :: M6N4MBzi = 1993 - INTEGER(IntKi), PARAMETER :: M6N5MBzi = 1994 - INTEGER(IntKi), PARAMETER :: M6N6MBzi = 1995 - INTEGER(IntKi), PARAMETER :: M6N7MBzi = 1996 - INTEGER(IntKi), PARAMETER :: M6N8MBzi = 1997 - INTEGER(IntKi), PARAMETER :: M6N9MBzi = 1998 - INTEGER(IntKi), PARAMETER :: M7N1MBzi = 1999 - INTEGER(IntKi), PARAMETER :: M7N2MBzi = 2000 - INTEGER(IntKi), PARAMETER :: M7N3MBzi = 2001 - INTEGER(IntKi), PARAMETER :: M7N4MBzi = 2002 - INTEGER(IntKi), PARAMETER :: M7N5MBzi = 2003 - INTEGER(IntKi), PARAMETER :: M7N6MBzi = 2004 - INTEGER(IntKi), PARAMETER :: M7N7MBzi = 2005 - INTEGER(IntKi), PARAMETER :: M7N8MBzi = 2006 - INTEGER(IntKi), PARAMETER :: M7N9MBzi = 2007 - INTEGER(IntKi), PARAMETER :: M8N1MBzi = 2008 - INTEGER(IntKi), PARAMETER :: M8N2MBzi = 2009 - INTEGER(IntKi), PARAMETER :: M8N3MBzi = 2010 - INTEGER(IntKi), PARAMETER :: M8N4MBzi = 2011 - INTEGER(IntKi), PARAMETER :: M8N5MBzi = 2012 - INTEGER(IntKi), PARAMETER :: M8N6MBzi = 2013 - INTEGER(IntKi), PARAMETER :: M8N7MBzi = 2014 - INTEGER(IntKi), PARAMETER :: M8N8MBzi = 2015 - INTEGER(IntKi), PARAMETER :: M8N9MBzi = 2016 - INTEGER(IntKi), PARAMETER :: M9N1MBzi = 2017 - INTEGER(IntKi), PARAMETER :: M9N2MBzi = 2018 - INTEGER(IntKi), PARAMETER :: M9N3MBzi = 2019 - INTEGER(IntKi), PARAMETER :: M9N4MBzi = 2020 - INTEGER(IntKi), PARAMETER :: M9N5MBzi = 2021 - INTEGER(IntKi), PARAMETER :: M9N6MBzi = 2022 - INTEGER(IntKi), PARAMETER :: M9N7MBzi = 2023 - INTEGER(IntKi), PARAMETER :: M9N8MBzi = 2024 - INTEGER(IntKi), PARAMETER :: M9N9MBzi = 2025 - INTEGER(IntKi), PARAMETER :: M1N1FBFxi = 2026 - INTEGER(IntKi), PARAMETER :: M1N2FBFxi = 2027 - INTEGER(IntKi), PARAMETER :: M1N3FBFxi = 2028 - INTEGER(IntKi), PARAMETER :: M1N4FBFxi = 2029 - INTEGER(IntKi), PARAMETER :: M1N5FBFxi = 2030 - INTEGER(IntKi), PARAMETER :: M1N6FBFxi = 2031 - INTEGER(IntKi), PARAMETER :: M1N7FBFxi = 2032 - INTEGER(IntKi), PARAMETER :: M1N8FBFxi = 2033 - INTEGER(IntKi), PARAMETER :: M1N9FBFxi = 2034 - INTEGER(IntKi), PARAMETER :: M2N1FBFxi = 2035 - INTEGER(IntKi), PARAMETER :: M2N2FBFxi = 2036 - INTEGER(IntKi), PARAMETER :: M2N3FBFxi = 2037 - INTEGER(IntKi), PARAMETER :: M2N4FBFxi = 2038 - INTEGER(IntKi), PARAMETER :: M2N5FBFxi = 2039 - INTEGER(IntKi), PARAMETER :: M2N6FBFxi = 2040 - INTEGER(IntKi), PARAMETER :: M2N7FBFxi = 2041 - INTEGER(IntKi), PARAMETER :: M2N8FBFxi = 2042 - INTEGER(IntKi), PARAMETER :: M2N9FBFxi = 2043 - INTEGER(IntKi), PARAMETER :: M3N1FBFxi = 2044 - INTEGER(IntKi), PARAMETER :: M3N2FBFxi = 2045 - INTEGER(IntKi), PARAMETER :: M3N3FBFxi = 2046 - INTEGER(IntKi), PARAMETER :: M3N4FBFxi = 2047 - INTEGER(IntKi), PARAMETER :: M3N5FBFxi = 2048 - INTEGER(IntKi), PARAMETER :: M3N6FBFxi = 2049 - INTEGER(IntKi), PARAMETER :: M3N7FBFxi = 2050 - INTEGER(IntKi), PARAMETER :: M3N8FBFxi = 2051 - INTEGER(IntKi), PARAMETER :: M3N9FBFxi = 2052 - INTEGER(IntKi), PARAMETER :: M4N1FBFxi = 2053 - INTEGER(IntKi), PARAMETER :: M4N2FBFxi = 2054 - INTEGER(IntKi), PARAMETER :: M4N3FBFxi = 2055 - INTEGER(IntKi), PARAMETER :: M4N4FBFxi = 2056 - INTEGER(IntKi), PARAMETER :: M4N5FBFxi = 2057 - INTEGER(IntKi), PARAMETER :: M4N6FBFxi = 2058 - INTEGER(IntKi), PARAMETER :: M4N7FBFxi = 2059 - INTEGER(IntKi), PARAMETER :: M4N8FBFxi = 2060 - INTEGER(IntKi), PARAMETER :: M4N9FBFxi = 2061 - INTEGER(IntKi), PARAMETER :: M5N1FBFxi = 2062 - INTEGER(IntKi), PARAMETER :: M5N2FBFxi = 2063 - INTEGER(IntKi), PARAMETER :: M5N3FBFxi = 2064 - INTEGER(IntKi), PARAMETER :: M5N4FBFxi = 2065 - INTEGER(IntKi), PARAMETER :: M5N5FBFxi = 2066 - INTEGER(IntKi), PARAMETER :: M5N6FBFxi = 2067 - INTEGER(IntKi), PARAMETER :: M5N7FBFxi = 2068 - INTEGER(IntKi), PARAMETER :: M5N8FBFxi = 2069 - INTEGER(IntKi), PARAMETER :: M5N9FBFxi = 2070 - INTEGER(IntKi), PARAMETER :: M6N1FBFxi = 2071 - INTEGER(IntKi), PARAMETER :: M6N2FBFxi = 2072 - INTEGER(IntKi), PARAMETER :: M6N3FBFxi = 2073 - INTEGER(IntKi), PARAMETER :: M6N4FBFxi = 2074 - INTEGER(IntKi), PARAMETER :: M6N5FBFxi = 2075 - INTEGER(IntKi), PARAMETER :: M6N6FBFxi = 2076 - INTEGER(IntKi), PARAMETER :: M6N7FBFxi = 2077 - INTEGER(IntKi), PARAMETER :: M6N8FBFxi = 2078 - INTEGER(IntKi), PARAMETER :: M6N9FBFxi = 2079 - INTEGER(IntKi), PARAMETER :: M7N1FBFxi = 2080 - INTEGER(IntKi), PARAMETER :: M7N2FBFxi = 2081 - INTEGER(IntKi), PARAMETER :: M7N3FBFxi = 2082 - INTEGER(IntKi), PARAMETER :: M7N4FBFxi = 2083 - INTEGER(IntKi), PARAMETER :: M7N5FBFxi = 2084 - INTEGER(IntKi), PARAMETER :: M7N6FBFxi = 2085 - INTEGER(IntKi), PARAMETER :: M7N7FBFxi = 2086 - INTEGER(IntKi), PARAMETER :: M7N8FBFxi = 2087 - INTEGER(IntKi), PARAMETER :: M7N9FBFxi = 2088 - INTEGER(IntKi), PARAMETER :: M8N1FBFxi = 2089 - INTEGER(IntKi), PARAMETER :: M8N2FBFxi = 2090 - INTEGER(IntKi), PARAMETER :: M8N3FBFxi = 2091 - INTEGER(IntKi), PARAMETER :: M8N4FBFxi = 2092 - INTEGER(IntKi), PARAMETER :: M8N5FBFxi = 2093 - INTEGER(IntKi), PARAMETER :: M8N6FBFxi = 2094 - INTEGER(IntKi), PARAMETER :: M8N7FBFxi = 2095 - INTEGER(IntKi), PARAMETER :: M8N8FBFxi = 2096 - INTEGER(IntKi), PARAMETER :: M8N9FBFxi = 2097 - INTEGER(IntKi), PARAMETER :: M9N1FBFxi = 2098 - INTEGER(IntKi), PARAMETER :: M9N2FBFxi = 2099 - INTEGER(IntKi), PARAMETER :: M9N3FBFxi = 2100 - INTEGER(IntKi), PARAMETER :: M9N4FBFxi = 2101 - INTEGER(IntKi), PARAMETER :: M9N5FBFxi = 2102 - INTEGER(IntKi), PARAMETER :: M9N6FBFxi = 2103 - INTEGER(IntKi), PARAMETER :: M9N7FBFxi = 2104 - INTEGER(IntKi), PARAMETER :: M9N8FBFxi = 2105 - INTEGER(IntKi), PARAMETER :: M9N9FBFxi = 2106 - INTEGER(IntKi), PARAMETER :: M1N1FBFyi = 2107 - INTEGER(IntKi), PARAMETER :: M1N2FBFyi = 2108 - INTEGER(IntKi), PARAMETER :: M1N3FBFyi = 2109 - INTEGER(IntKi), PARAMETER :: M1N4FBFyi = 2110 - INTEGER(IntKi), PARAMETER :: M1N5FBFyi = 2111 - INTEGER(IntKi), PARAMETER :: M1N6FBFyi = 2112 - INTEGER(IntKi), PARAMETER :: M1N7FBFyi = 2113 - INTEGER(IntKi), PARAMETER :: M1N8FBFyi = 2114 - INTEGER(IntKi), PARAMETER :: M1N9FBFyi = 2115 - INTEGER(IntKi), PARAMETER :: M2N1FBFyi = 2116 - INTEGER(IntKi), PARAMETER :: M2N2FBFyi = 2117 - INTEGER(IntKi), PARAMETER :: M2N3FBFyi = 2118 - INTEGER(IntKi), PARAMETER :: M2N4FBFyi = 2119 - INTEGER(IntKi), PARAMETER :: M2N5FBFyi = 2120 - INTEGER(IntKi), PARAMETER :: M2N6FBFyi = 2121 - INTEGER(IntKi), PARAMETER :: M2N7FBFyi = 2122 - INTEGER(IntKi), PARAMETER :: M2N8FBFyi = 2123 - INTEGER(IntKi), PARAMETER :: M2N9FBFyi = 2124 - INTEGER(IntKi), PARAMETER :: M3N1FBFyi = 2125 - INTEGER(IntKi), PARAMETER :: M3N2FBFyi = 2126 - INTEGER(IntKi), PARAMETER :: M3N3FBFyi = 2127 - INTEGER(IntKi), PARAMETER :: M3N4FBFyi = 2128 - INTEGER(IntKi), PARAMETER :: M3N5FBFyi = 2129 - INTEGER(IntKi), PARAMETER :: M3N6FBFyi = 2130 - INTEGER(IntKi), PARAMETER :: M3N7FBFyi = 2131 - INTEGER(IntKi), PARAMETER :: M3N8FBFyi = 2132 - INTEGER(IntKi), PARAMETER :: M3N9FBFyi = 2133 - INTEGER(IntKi), PARAMETER :: M4N1FBFyi = 2134 - INTEGER(IntKi), PARAMETER :: M4N2FBFyi = 2135 - INTEGER(IntKi), PARAMETER :: M4N3FBFyi = 2136 - INTEGER(IntKi), PARAMETER :: M4N4FBFyi = 2137 - INTEGER(IntKi), PARAMETER :: M4N5FBFyi = 2138 - INTEGER(IntKi), PARAMETER :: M4N6FBFyi = 2139 - INTEGER(IntKi), PARAMETER :: M4N7FBFyi = 2140 - INTEGER(IntKi), PARAMETER :: M4N8FBFyi = 2141 - INTEGER(IntKi), PARAMETER :: M4N9FBFyi = 2142 - INTEGER(IntKi), PARAMETER :: M5N1FBFyi = 2143 - INTEGER(IntKi), PARAMETER :: M5N2FBFyi = 2144 - INTEGER(IntKi), PARAMETER :: M5N3FBFyi = 2145 - INTEGER(IntKi), PARAMETER :: M5N4FBFyi = 2146 - INTEGER(IntKi), PARAMETER :: M5N5FBFyi = 2147 - INTEGER(IntKi), PARAMETER :: M5N6FBFyi = 2148 - INTEGER(IntKi), PARAMETER :: M5N7FBFyi = 2149 - INTEGER(IntKi), PARAMETER :: M5N8FBFyi = 2150 - INTEGER(IntKi), PARAMETER :: M5N9FBFyi = 2151 - INTEGER(IntKi), PARAMETER :: M6N1FBFyi = 2152 - INTEGER(IntKi), PARAMETER :: M6N2FBFyi = 2153 - INTEGER(IntKi), PARAMETER :: M6N3FBFyi = 2154 - INTEGER(IntKi), PARAMETER :: M6N4FBFyi = 2155 - INTEGER(IntKi), PARAMETER :: M6N5FBFyi = 2156 - INTEGER(IntKi), PARAMETER :: M6N6FBFyi = 2157 - INTEGER(IntKi), PARAMETER :: M6N7FBFyi = 2158 - INTEGER(IntKi), PARAMETER :: M6N8FBFyi = 2159 - INTEGER(IntKi), PARAMETER :: M6N9FBFyi = 2160 - INTEGER(IntKi), PARAMETER :: M7N1FBFyi = 2161 - INTEGER(IntKi), PARAMETER :: M7N2FBFyi = 2162 - INTEGER(IntKi), PARAMETER :: M7N3FBFyi = 2163 - INTEGER(IntKi), PARAMETER :: M7N4FBFyi = 2164 - INTEGER(IntKi), PARAMETER :: M7N5FBFyi = 2165 - INTEGER(IntKi), PARAMETER :: M7N6FBFyi = 2166 - INTEGER(IntKi), PARAMETER :: M7N7FBFyi = 2167 - INTEGER(IntKi), PARAMETER :: M7N8FBFyi = 2168 - INTEGER(IntKi), PARAMETER :: M7N9FBFyi = 2169 - INTEGER(IntKi), PARAMETER :: M8N1FBFyi = 2170 - INTEGER(IntKi), PARAMETER :: M8N2FBFyi = 2171 - INTEGER(IntKi), PARAMETER :: M8N3FBFyi = 2172 - INTEGER(IntKi), PARAMETER :: M8N4FBFyi = 2173 - INTEGER(IntKi), PARAMETER :: M8N5FBFyi = 2174 - INTEGER(IntKi), PARAMETER :: M8N6FBFyi = 2175 - INTEGER(IntKi), PARAMETER :: M8N7FBFyi = 2176 - INTEGER(IntKi), PARAMETER :: M8N8FBFyi = 2177 - INTEGER(IntKi), PARAMETER :: M8N9FBFyi = 2178 - INTEGER(IntKi), PARAMETER :: M9N1FBFyi = 2179 - INTEGER(IntKi), PARAMETER :: M9N2FBFyi = 2180 - INTEGER(IntKi), PARAMETER :: M9N3FBFyi = 2181 - INTEGER(IntKi), PARAMETER :: M9N4FBFyi = 2182 - INTEGER(IntKi), PARAMETER :: M9N5FBFyi = 2183 - INTEGER(IntKi), PARAMETER :: M9N6FBFyi = 2184 - INTEGER(IntKi), PARAMETER :: M9N7FBFyi = 2185 - INTEGER(IntKi), PARAMETER :: M9N8FBFyi = 2186 - INTEGER(IntKi), PARAMETER :: M9N9FBFyi = 2187 - INTEGER(IntKi), PARAMETER :: M1N1FBFzi = 2188 - INTEGER(IntKi), PARAMETER :: M1N2FBFzi = 2189 - INTEGER(IntKi), PARAMETER :: M1N3FBFzi = 2190 - INTEGER(IntKi), PARAMETER :: M1N4FBFzi = 2191 - INTEGER(IntKi), PARAMETER :: M1N5FBFzi = 2192 - INTEGER(IntKi), PARAMETER :: M1N6FBFzi = 2193 - INTEGER(IntKi), PARAMETER :: M1N7FBFzi = 2194 - INTEGER(IntKi), PARAMETER :: M1N8FBFzi = 2195 - INTEGER(IntKi), PARAMETER :: M1N9FBFzi = 2196 - INTEGER(IntKi), PARAMETER :: M2N1FBFzi = 2197 - INTEGER(IntKi), PARAMETER :: M2N2FBFzi = 2198 - INTEGER(IntKi), PARAMETER :: M2N3FBFzi = 2199 - INTEGER(IntKi), PARAMETER :: M2N4FBFzi = 2200 - INTEGER(IntKi), PARAMETER :: M2N5FBFzi = 2201 - INTEGER(IntKi), PARAMETER :: M2N6FBFzi = 2202 - INTEGER(IntKi), PARAMETER :: M2N7FBFzi = 2203 - INTEGER(IntKi), PARAMETER :: M2N8FBFzi = 2204 - INTEGER(IntKi), PARAMETER :: M2N9FBFzi = 2205 - INTEGER(IntKi), PARAMETER :: M3N1FBFzi = 2206 - INTEGER(IntKi), PARAMETER :: M3N2FBFzi = 2207 - INTEGER(IntKi), PARAMETER :: M3N3FBFzi = 2208 - INTEGER(IntKi), PARAMETER :: M3N4FBFzi = 2209 - INTEGER(IntKi), PARAMETER :: M3N5FBFzi = 2210 - INTEGER(IntKi), PARAMETER :: M3N6FBFzi = 2211 - INTEGER(IntKi), PARAMETER :: M3N7FBFzi = 2212 - INTEGER(IntKi), PARAMETER :: M3N8FBFzi = 2213 - INTEGER(IntKi), PARAMETER :: M3N9FBFzi = 2214 - INTEGER(IntKi), PARAMETER :: M4N1FBFzi = 2215 - INTEGER(IntKi), PARAMETER :: M4N2FBFzi = 2216 - INTEGER(IntKi), PARAMETER :: M4N3FBFzi = 2217 - INTEGER(IntKi), PARAMETER :: M4N4FBFzi = 2218 - INTEGER(IntKi), PARAMETER :: M4N5FBFzi = 2219 - INTEGER(IntKi), PARAMETER :: M4N6FBFzi = 2220 - INTEGER(IntKi), PARAMETER :: M4N7FBFzi = 2221 - INTEGER(IntKi), PARAMETER :: M4N8FBFzi = 2222 - INTEGER(IntKi), PARAMETER :: M4N9FBFzi = 2223 - INTEGER(IntKi), PARAMETER :: M5N1FBFzi = 2224 - INTEGER(IntKi), PARAMETER :: M5N2FBFzi = 2225 - INTEGER(IntKi), PARAMETER :: M5N3FBFzi = 2226 - INTEGER(IntKi), PARAMETER :: M5N4FBFzi = 2227 - INTEGER(IntKi), PARAMETER :: M5N5FBFzi = 2228 - INTEGER(IntKi), PARAMETER :: M5N6FBFzi = 2229 - INTEGER(IntKi), PARAMETER :: M5N7FBFzi = 2230 - INTEGER(IntKi), PARAMETER :: M5N8FBFzi = 2231 - INTEGER(IntKi), PARAMETER :: M5N9FBFzi = 2232 - INTEGER(IntKi), PARAMETER :: M6N1FBFzi = 2233 - INTEGER(IntKi), PARAMETER :: M6N2FBFzi = 2234 - INTEGER(IntKi), PARAMETER :: M6N3FBFzi = 2235 - INTEGER(IntKi), PARAMETER :: M6N4FBFzi = 2236 - INTEGER(IntKi), PARAMETER :: M6N5FBFzi = 2237 - INTEGER(IntKi), PARAMETER :: M6N6FBFzi = 2238 - INTEGER(IntKi), PARAMETER :: M6N7FBFzi = 2239 - INTEGER(IntKi), PARAMETER :: M6N8FBFzi = 2240 - INTEGER(IntKi), PARAMETER :: M6N9FBFzi = 2241 - INTEGER(IntKi), PARAMETER :: M7N1FBFzi = 2242 - INTEGER(IntKi), PARAMETER :: M7N2FBFzi = 2243 - INTEGER(IntKi), PARAMETER :: M7N3FBFzi = 2244 - INTEGER(IntKi), PARAMETER :: M7N4FBFzi = 2245 - INTEGER(IntKi), PARAMETER :: M7N5FBFzi = 2246 - INTEGER(IntKi), PARAMETER :: M7N6FBFzi = 2247 - INTEGER(IntKi), PARAMETER :: M7N7FBFzi = 2248 - INTEGER(IntKi), PARAMETER :: M7N8FBFzi = 2249 - INTEGER(IntKi), PARAMETER :: M7N9FBFzi = 2250 - INTEGER(IntKi), PARAMETER :: M8N1FBFzi = 2251 - INTEGER(IntKi), PARAMETER :: M8N2FBFzi = 2252 - INTEGER(IntKi), PARAMETER :: M8N3FBFzi = 2253 - INTEGER(IntKi), PARAMETER :: M8N4FBFzi = 2254 - INTEGER(IntKi), PARAMETER :: M8N5FBFzi = 2255 - INTEGER(IntKi), PARAMETER :: M8N6FBFzi = 2256 - INTEGER(IntKi), PARAMETER :: M8N7FBFzi = 2257 - INTEGER(IntKi), PARAMETER :: M8N8FBFzi = 2258 - INTEGER(IntKi), PARAMETER :: M8N9FBFzi = 2259 - INTEGER(IntKi), PARAMETER :: M9N1FBFzi = 2260 - INTEGER(IntKi), PARAMETER :: M9N2FBFzi = 2261 - INTEGER(IntKi), PARAMETER :: M9N3FBFzi = 2262 - INTEGER(IntKi), PARAMETER :: M9N4FBFzi = 2263 - INTEGER(IntKi), PARAMETER :: M9N5FBFzi = 2264 - INTEGER(IntKi), PARAMETER :: M9N6FBFzi = 2265 - INTEGER(IntKi), PARAMETER :: M9N7FBFzi = 2266 - INTEGER(IntKi), PARAMETER :: M9N8FBFzi = 2267 - INTEGER(IntKi), PARAMETER :: M9N9FBFzi = 2268 - INTEGER(IntKi), PARAMETER :: M1N1MBFxi = 2269 - INTEGER(IntKi), PARAMETER :: M1N2MBFxi = 2270 - INTEGER(IntKi), PARAMETER :: M1N3MBFxi = 2271 - INTEGER(IntKi), PARAMETER :: M1N4MBFxi = 2272 - INTEGER(IntKi), PARAMETER :: M1N5MBFxi = 2273 - INTEGER(IntKi), PARAMETER :: M1N6MBFxi = 2274 - INTEGER(IntKi), PARAMETER :: M1N7MBFxi = 2275 - INTEGER(IntKi), PARAMETER :: M1N8MBFxi = 2276 - INTEGER(IntKi), PARAMETER :: M1N9MBFxi = 2277 - INTEGER(IntKi), PARAMETER :: M2N1MBFxi = 2278 - INTEGER(IntKi), PARAMETER :: M2N2MBFxi = 2279 - INTEGER(IntKi), PARAMETER :: M2N3MBFxi = 2280 - INTEGER(IntKi), PARAMETER :: M2N4MBFxi = 2281 - INTEGER(IntKi), PARAMETER :: M2N5MBFxi = 2282 - INTEGER(IntKi), PARAMETER :: M2N6MBFxi = 2283 - INTEGER(IntKi), PARAMETER :: M2N7MBFxi = 2284 - INTEGER(IntKi), PARAMETER :: M2N8MBFxi = 2285 - INTEGER(IntKi), PARAMETER :: M2N9MBFxi = 2286 - INTEGER(IntKi), PARAMETER :: M3N1MBFxi = 2287 - INTEGER(IntKi), PARAMETER :: M3N2MBFxi = 2288 - INTEGER(IntKi), PARAMETER :: M3N3MBFxi = 2289 - INTEGER(IntKi), PARAMETER :: M3N4MBFxi = 2290 - INTEGER(IntKi), PARAMETER :: M3N5MBFxi = 2291 - INTEGER(IntKi), PARAMETER :: M3N6MBFxi = 2292 - INTEGER(IntKi), PARAMETER :: M3N7MBFxi = 2293 - INTEGER(IntKi), PARAMETER :: M3N8MBFxi = 2294 - INTEGER(IntKi), PARAMETER :: M3N9MBFxi = 2295 - INTEGER(IntKi), PARAMETER :: M4N1MBFxi = 2296 - INTEGER(IntKi), PARAMETER :: M4N2MBFxi = 2297 - INTEGER(IntKi), PARAMETER :: M4N3MBFxi = 2298 - INTEGER(IntKi), PARAMETER :: M4N4MBFxi = 2299 - INTEGER(IntKi), PARAMETER :: M4N5MBFxi = 2300 - INTEGER(IntKi), PARAMETER :: M4N6MBFxi = 2301 - INTEGER(IntKi), PARAMETER :: M4N7MBFxi = 2302 - INTEGER(IntKi), PARAMETER :: M4N8MBFxi = 2303 - INTEGER(IntKi), PARAMETER :: M4N9MBFxi = 2304 - INTEGER(IntKi), PARAMETER :: M5N1MBFxi = 2305 - INTEGER(IntKi), PARAMETER :: M5N2MBFxi = 2306 - INTEGER(IntKi), PARAMETER :: M5N3MBFxi = 2307 - INTEGER(IntKi), PARAMETER :: M5N4MBFxi = 2308 - INTEGER(IntKi), PARAMETER :: M5N5MBFxi = 2309 - INTEGER(IntKi), PARAMETER :: M5N6MBFxi = 2310 - INTEGER(IntKi), PARAMETER :: M5N7MBFxi = 2311 - INTEGER(IntKi), PARAMETER :: M5N8MBFxi = 2312 - INTEGER(IntKi), PARAMETER :: M5N9MBFxi = 2313 - INTEGER(IntKi), PARAMETER :: M6N1MBFxi = 2314 - INTEGER(IntKi), PARAMETER :: M6N2MBFxi = 2315 - INTEGER(IntKi), PARAMETER :: M6N3MBFxi = 2316 - INTEGER(IntKi), PARAMETER :: M6N4MBFxi = 2317 - INTEGER(IntKi), PARAMETER :: M6N5MBFxi = 2318 - INTEGER(IntKi), PARAMETER :: M6N6MBFxi = 2319 - INTEGER(IntKi), PARAMETER :: M6N7MBFxi = 2320 - INTEGER(IntKi), PARAMETER :: M6N8MBFxi = 2321 - INTEGER(IntKi), PARAMETER :: M6N9MBFxi = 2322 - INTEGER(IntKi), PARAMETER :: M7N1MBFxi = 2323 - INTEGER(IntKi), PARAMETER :: M7N2MBFxi = 2324 - INTEGER(IntKi), PARAMETER :: M7N3MBFxi = 2325 - INTEGER(IntKi), PARAMETER :: M7N4MBFxi = 2326 - INTEGER(IntKi), PARAMETER :: M7N5MBFxi = 2327 - INTEGER(IntKi), PARAMETER :: M7N6MBFxi = 2328 - INTEGER(IntKi), PARAMETER :: M7N7MBFxi = 2329 - INTEGER(IntKi), PARAMETER :: M7N8MBFxi = 2330 - INTEGER(IntKi), PARAMETER :: M7N9MBFxi = 2331 - INTEGER(IntKi), PARAMETER :: M8N1MBFxi = 2332 - INTEGER(IntKi), PARAMETER :: M8N2MBFxi = 2333 - INTEGER(IntKi), PARAMETER :: M8N3MBFxi = 2334 - INTEGER(IntKi), PARAMETER :: M8N4MBFxi = 2335 - INTEGER(IntKi), PARAMETER :: M8N5MBFxi = 2336 - INTEGER(IntKi), PARAMETER :: M8N6MBFxi = 2337 - INTEGER(IntKi), PARAMETER :: M8N7MBFxi = 2338 - INTEGER(IntKi), PARAMETER :: M8N8MBFxi = 2339 - INTEGER(IntKi), PARAMETER :: M8N9MBFxi = 2340 - INTEGER(IntKi), PARAMETER :: M9N1MBFxi = 2341 - INTEGER(IntKi), PARAMETER :: M9N2MBFxi = 2342 - INTEGER(IntKi), PARAMETER :: M9N3MBFxi = 2343 - INTEGER(IntKi), PARAMETER :: M9N4MBFxi = 2344 - INTEGER(IntKi), PARAMETER :: M9N5MBFxi = 2345 - INTEGER(IntKi), PARAMETER :: M9N6MBFxi = 2346 - INTEGER(IntKi), PARAMETER :: M9N7MBFxi = 2347 - INTEGER(IntKi), PARAMETER :: M9N8MBFxi = 2348 - INTEGER(IntKi), PARAMETER :: M9N9MBFxi = 2349 - INTEGER(IntKi), PARAMETER :: M1N1MBFyi = 2350 - INTEGER(IntKi), PARAMETER :: M1N2MBFyi = 2351 - INTEGER(IntKi), PARAMETER :: M1N3MBFyi = 2352 - INTEGER(IntKi), PARAMETER :: M1N4MBFyi = 2353 - INTEGER(IntKi), PARAMETER :: M1N5MBFyi = 2354 - INTEGER(IntKi), PARAMETER :: M1N6MBFyi = 2355 - INTEGER(IntKi), PARAMETER :: M1N7MBFyi = 2356 - INTEGER(IntKi), PARAMETER :: M1N8MBFyi = 2357 - INTEGER(IntKi), PARAMETER :: M1N9MBFyi = 2358 - INTEGER(IntKi), PARAMETER :: M2N1MBFyi = 2359 - INTEGER(IntKi), PARAMETER :: M2N2MBFyi = 2360 - INTEGER(IntKi), PARAMETER :: M2N3MBFyi = 2361 - INTEGER(IntKi), PARAMETER :: M2N4MBFyi = 2362 - INTEGER(IntKi), PARAMETER :: M2N5MBFyi = 2363 - INTEGER(IntKi), PARAMETER :: M2N6MBFyi = 2364 - INTEGER(IntKi), PARAMETER :: M2N7MBFyi = 2365 - INTEGER(IntKi), PARAMETER :: M2N8MBFyi = 2366 - INTEGER(IntKi), PARAMETER :: M2N9MBFyi = 2367 - INTEGER(IntKi), PARAMETER :: M3N1MBFyi = 2368 - INTEGER(IntKi), PARAMETER :: M3N2MBFyi = 2369 - INTEGER(IntKi), PARAMETER :: M3N3MBFyi = 2370 - INTEGER(IntKi), PARAMETER :: M3N4MBFyi = 2371 - INTEGER(IntKi), PARAMETER :: M3N5MBFyi = 2372 - INTEGER(IntKi), PARAMETER :: M3N6MBFyi = 2373 - INTEGER(IntKi), PARAMETER :: M3N7MBFyi = 2374 - INTEGER(IntKi), PARAMETER :: M3N8MBFyi = 2375 - INTEGER(IntKi), PARAMETER :: M3N9MBFyi = 2376 - INTEGER(IntKi), PARAMETER :: M4N1MBFyi = 2377 - INTEGER(IntKi), PARAMETER :: M4N2MBFyi = 2378 - INTEGER(IntKi), PARAMETER :: M4N3MBFyi = 2379 - INTEGER(IntKi), PARAMETER :: M4N4MBFyi = 2380 - INTEGER(IntKi), PARAMETER :: M4N5MBFyi = 2381 - INTEGER(IntKi), PARAMETER :: M4N6MBFyi = 2382 - INTEGER(IntKi), PARAMETER :: M4N7MBFyi = 2383 - INTEGER(IntKi), PARAMETER :: M4N8MBFyi = 2384 - INTEGER(IntKi), PARAMETER :: M4N9MBFyi = 2385 - INTEGER(IntKi), PARAMETER :: M5N1MBFyi = 2386 - INTEGER(IntKi), PARAMETER :: M5N2MBFyi = 2387 - INTEGER(IntKi), PARAMETER :: M5N3MBFyi = 2388 - INTEGER(IntKi), PARAMETER :: M5N4MBFyi = 2389 - INTEGER(IntKi), PARAMETER :: M5N5MBFyi = 2390 - INTEGER(IntKi), PARAMETER :: M5N6MBFyi = 2391 - INTEGER(IntKi), PARAMETER :: M5N7MBFyi = 2392 - INTEGER(IntKi), PARAMETER :: M5N8MBFyi = 2393 - INTEGER(IntKi), PARAMETER :: M5N9MBFyi = 2394 - INTEGER(IntKi), PARAMETER :: M6N1MBFyi = 2395 - INTEGER(IntKi), PARAMETER :: M6N2MBFyi = 2396 - INTEGER(IntKi), PARAMETER :: M6N3MBFyi = 2397 - INTEGER(IntKi), PARAMETER :: M6N4MBFyi = 2398 - INTEGER(IntKi), PARAMETER :: M6N5MBFyi = 2399 - INTEGER(IntKi), PARAMETER :: M6N6MBFyi = 2400 - INTEGER(IntKi), PARAMETER :: M6N7MBFyi = 2401 - INTEGER(IntKi), PARAMETER :: M6N8MBFyi = 2402 - INTEGER(IntKi), PARAMETER :: M6N9MBFyi = 2403 - INTEGER(IntKi), PARAMETER :: M7N1MBFyi = 2404 - INTEGER(IntKi), PARAMETER :: M7N2MBFyi = 2405 - INTEGER(IntKi), PARAMETER :: M7N3MBFyi = 2406 - INTEGER(IntKi), PARAMETER :: M7N4MBFyi = 2407 - INTEGER(IntKi), PARAMETER :: M7N5MBFyi = 2408 - INTEGER(IntKi), PARAMETER :: M7N6MBFyi = 2409 - INTEGER(IntKi), PARAMETER :: M7N7MBFyi = 2410 - INTEGER(IntKi), PARAMETER :: M7N8MBFyi = 2411 - INTEGER(IntKi), PARAMETER :: M7N9MBFyi = 2412 - INTEGER(IntKi), PARAMETER :: M8N1MBFyi = 2413 - INTEGER(IntKi), PARAMETER :: M8N2MBFyi = 2414 - INTEGER(IntKi), PARAMETER :: M8N3MBFyi = 2415 - INTEGER(IntKi), PARAMETER :: M8N4MBFyi = 2416 - INTEGER(IntKi), PARAMETER :: M8N5MBFyi = 2417 - INTEGER(IntKi), PARAMETER :: M8N6MBFyi = 2418 - INTEGER(IntKi), PARAMETER :: M8N7MBFyi = 2419 - INTEGER(IntKi), PARAMETER :: M8N8MBFyi = 2420 - INTEGER(IntKi), PARAMETER :: M8N9MBFyi = 2421 - INTEGER(IntKi), PARAMETER :: M9N1MBFyi = 2422 - INTEGER(IntKi), PARAMETER :: M9N2MBFyi = 2423 - INTEGER(IntKi), PARAMETER :: M9N3MBFyi = 2424 - INTEGER(IntKi), PARAMETER :: M9N4MBFyi = 2425 - INTEGER(IntKi), PARAMETER :: M9N5MBFyi = 2426 - INTEGER(IntKi), PARAMETER :: M9N6MBFyi = 2427 - INTEGER(IntKi), PARAMETER :: M9N7MBFyi = 2428 - INTEGER(IntKi), PARAMETER :: M9N8MBFyi = 2429 - INTEGER(IntKi), PARAMETER :: M9N9MBFyi = 2430 - INTEGER(IntKi), PARAMETER :: M1N1MBFzi = 2431 - INTEGER(IntKi), PARAMETER :: M1N2MBFzi = 2432 - INTEGER(IntKi), PARAMETER :: M1N3MBFzi = 2433 - INTEGER(IntKi), PARAMETER :: M1N4MBFzi = 2434 - INTEGER(IntKi), PARAMETER :: M1N5MBFzi = 2435 - INTEGER(IntKi), PARAMETER :: M1N6MBFzi = 2436 - INTEGER(IntKi), PARAMETER :: M1N7MBFzi = 2437 - INTEGER(IntKi), PARAMETER :: M1N8MBFzi = 2438 - INTEGER(IntKi), PARAMETER :: M1N9MBFzi = 2439 - INTEGER(IntKi), PARAMETER :: M2N1MBFzi = 2440 - INTEGER(IntKi), PARAMETER :: M2N2MBFzi = 2441 - INTEGER(IntKi), PARAMETER :: M2N3MBFzi = 2442 - INTEGER(IntKi), PARAMETER :: M2N4MBFzi = 2443 - INTEGER(IntKi), PARAMETER :: M2N5MBFzi = 2444 - INTEGER(IntKi), PARAMETER :: M2N6MBFzi = 2445 - INTEGER(IntKi), PARAMETER :: M2N7MBFzi = 2446 - INTEGER(IntKi), PARAMETER :: M2N8MBFzi = 2447 - INTEGER(IntKi), PARAMETER :: M2N9MBFzi = 2448 - INTEGER(IntKi), PARAMETER :: M3N1MBFzi = 2449 - INTEGER(IntKi), PARAMETER :: M3N2MBFzi = 2450 - INTEGER(IntKi), PARAMETER :: M3N3MBFzi = 2451 - INTEGER(IntKi), PARAMETER :: M3N4MBFzi = 2452 - INTEGER(IntKi), PARAMETER :: M3N5MBFzi = 2453 - INTEGER(IntKi), PARAMETER :: M3N6MBFzi = 2454 - INTEGER(IntKi), PARAMETER :: M3N7MBFzi = 2455 - INTEGER(IntKi), PARAMETER :: M3N8MBFzi = 2456 - INTEGER(IntKi), PARAMETER :: M3N9MBFzi = 2457 - INTEGER(IntKi), PARAMETER :: M4N1MBFzi = 2458 - INTEGER(IntKi), PARAMETER :: M4N2MBFzi = 2459 - INTEGER(IntKi), PARAMETER :: M4N3MBFzi = 2460 - INTEGER(IntKi), PARAMETER :: M4N4MBFzi = 2461 - INTEGER(IntKi), PARAMETER :: M4N5MBFzi = 2462 - INTEGER(IntKi), PARAMETER :: M4N6MBFzi = 2463 - INTEGER(IntKi), PARAMETER :: M4N7MBFzi = 2464 - INTEGER(IntKi), PARAMETER :: M4N8MBFzi = 2465 - INTEGER(IntKi), PARAMETER :: M4N9MBFzi = 2466 - INTEGER(IntKi), PARAMETER :: M5N1MBFzi = 2467 - INTEGER(IntKi), PARAMETER :: M5N2MBFzi = 2468 - INTEGER(IntKi), PARAMETER :: M5N3MBFzi = 2469 - INTEGER(IntKi), PARAMETER :: M5N4MBFzi = 2470 - INTEGER(IntKi), PARAMETER :: M5N5MBFzi = 2471 - INTEGER(IntKi), PARAMETER :: M5N6MBFzi = 2472 - INTEGER(IntKi), PARAMETER :: M5N7MBFzi = 2473 - INTEGER(IntKi), PARAMETER :: M5N8MBFzi = 2474 - INTEGER(IntKi), PARAMETER :: M5N9MBFzi = 2475 - INTEGER(IntKi), PARAMETER :: M6N1MBFzi = 2476 - INTEGER(IntKi), PARAMETER :: M6N2MBFzi = 2477 - INTEGER(IntKi), PARAMETER :: M6N3MBFzi = 2478 - INTEGER(IntKi), PARAMETER :: M6N4MBFzi = 2479 - INTEGER(IntKi), PARAMETER :: M6N5MBFzi = 2480 - INTEGER(IntKi), PARAMETER :: M6N6MBFzi = 2481 - INTEGER(IntKi), PARAMETER :: M6N7MBFzi = 2482 - INTEGER(IntKi), PARAMETER :: M6N8MBFzi = 2483 - INTEGER(IntKi), PARAMETER :: M6N9MBFzi = 2484 - INTEGER(IntKi), PARAMETER :: M7N1MBFzi = 2485 - INTEGER(IntKi), PARAMETER :: M7N2MBFzi = 2486 - INTEGER(IntKi), PARAMETER :: M7N3MBFzi = 2487 - INTEGER(IntKi), PARAMETER :: M7N4MBFzi = 2488 - INTEGER(IntKi), PARAMETER :: M7N5MBFzi = 2489 - INTEGER(IntKi), PARAMETER :: M7N6MBFzi = 2490 - INTEGER(IntKi), PARAMETER :: M7N7MBFzi = 2491 - INTEGER(IntKi), PARAMETER :: M7N8MBFzi = 2492 - INTEGER(IntKi), PARAMETER :: M7N9MBFzi = 2493 - INTEGER(IntKi), PARAMETER :: M8N1MBFzi = 2494 - INTEGER(IntKi), PARAMETER :: M8N2MBFzi = 2495 - INTEGER(IntKi), PARAMETER :: M8N3MBFzi = 2496 - INTEGER(IntKi), PARAMETER :: M8N4MBFzi = 2497 - INTEGER(IntKi), PARAMETER :: M8N5MBFzi = 2498 - INTEGER(IntKi), PARAMETER :: M8N6MBFzi = 2499 - INTEGER(IntKi), PARAMETER :: M8N7MBFzi = 2500 - INTEGER(IntKi), PARAMETER :: M8N8MBFzi = 2501 - INTEGER(IntKi), PARAMETER :: M8N9MBFzi = 2502 - INTEGER(IntKi), PARAMETER :: M9N1MBFzi = 2503 - INTEGER(IntKi), PARAMETER :: M9N2MBFzi = 2504 - INTEGER(IntKi), PARAMETER :: M9N3MBFzi = 2505 - INTEGER(IntKi), PARAMETER :: M9N4MBFzi = 2506 - INTEGER(IntKi), PARAMETER :: M9N5MBFzi = 2507 - INTEGER(IntKi), PARAMETER :: M9N6MBFzi = 2508 - INTEGER(IntKi), PARAMETER :: M9N7MBFzi = 2509 - INTEGER(IntKi), PARAMETER :: M9N8MBFzi = 2510 - INTEGER(IntKi), PARAMETER :: M9N9MBFzi = 2511 - INTEGER(IntKi), PARAMETER :: M1N1FMGxi = 2512 - INTEGER(IntKi), PARAMETER :: M1N2FMGxi = 2513 - INTEGER(IntKi), PARAMETER :: M1N3FMGxi = 2514 - INTEGER(IntKi), PARAMETER :: M1N4FMGxi = 2515 - INTEGER(IntKi), PARAMETER :: M1N5FMGxi = 2516 - INTEGER(IntKi), PARAMETER :: M1N6FMGxi = 2517 - INTEGER(IntKi), PARAMETER :: M1N7FMGxi = 2518 - INTEGER(IntKi), PARAMETER :: M1N8FMGxi = 2519 - INTEGER(IntKi), PARAMETER :: M1N9FMGxi = 2520 - INTEGER(IntKi), PARAMETER :: M2N1FMGxi = 2521 - INTEGER(IntKi), PARAMETER :: M2N2FMGxi = 2522 - INTEGER(IntKi), PARAMETER :: M2N3FMGxi = 2523 - INTEGER(IntKi), PARAMETER :: M2N4FMGxi = 2524 - INTEGER(IntKi), PARAMETER :: M2N5FMGxi = 2525 - INTEGER(IntKi), PARAMETER :: M2N6FMGxi = 2526 - INTEGER(IntKi), PARAMETER :: M2N7FMGxi = 2527 - INTEGER(IntKi), PARAMETER :: M2N8FMGxi = 2528 - INTEGER(IntKi), PARAMETER :: M2N9FMGxi = 2529 - INTEGER(IntKi), PARAMETER :: M3N1FMGxi = 2530 - INTEGER(IntKi), PARAMETER :: M3N2FMGxi = 2531 - INTEGER(IntKi), PARAMETER :: M3N3FMGxi = 2532 - INTEGER(IntKi), PARAMETER :: M3N4FMGxi = 2533 - INTEGER(IntKi), PARAMETER :: M3N5FMGxi = 2534 - INTEGER(IntKi), PARAMETER :: M3N6FMGxi = 2535 - INTEGER(IntKi), PARAMETER :: M3N7FMGxi = 2536 - INTEGER(IntKi), PARAMETER :: M3N8FMGxi = 2537 - INTEGER(IntKi), PARAMETER :: M3N9FMGxi = 2538 - INTEGER(IntKi), PARAMETER :: M4N1FMGxi = 2539 - INTEGER(IntKi), PARAMETER :: M4N2FMGxi = 2540 - INTEGER(IntKi), PARAMETER :: M4N3FMGxi = 2541 - INTEGER(IntKi), PARAMETER :: M4N4FMGxi = 2542 - INTEGER(IntKi), PARAMETER :: M4N5FMGxi = 2543 - INTEGER(IntKi), PARAMETER :: M4N6FMGxi = 2544 - INTEGER(IntKi), PARAMETER :: M4N7FMGxi = 2545 - INTEGER(IntKi), PARAMETER :: M4N8FMGxi = 2546 - INTEGER(IntKi), PARAMETER :: M4N9FMGxi = 2547 - INTEGER(IntKi), PARAMETER :: M5N1FMGxi = 2548 - INTEGER(IntKi), PARAMETER :: M5N2FMGxi = 2549 - INTEGER(IntKi), PARAMETER :: M5N3FMGxi = 2550 - INTEGER(IntKi), PARAMETER :: M5N4FMGxi = 2551 - INTEGER(IntKi), PARAMETER :: M5N5FMGxi = 2552 - INTEGER(IntKi), PARAMETER :: M5N6FMGxi = 2553 - INTEGER(IntKi), PARAMETER :: M5N7FMGxi = 2554 - INTEGER(IntKi), PARAMETER :: M5N8FMGxi = 2555 - INTEGER(IntKi), PARAMETER :: M5N9FMGxi = 2556 - INTEGER(IntKi), PARAMETER :: M6N1FMGxi = 2557 - INTEGER(IntKi), PARAMETER :: M6N2FMGxi = 2558 - INTEGER(IntKi), PARAMETER :: M6N3FMGxi = 2559 - INTEGER(IntKi), PARAMETER :: M6N4FMGxi = 2560 - INTEGER(IntKi), PARAMETER :: M6N5FMGxi = 2561 - INTEGER(IntKi), PARAMETER :: M6N6FMGxi = 2562 - INTEGER(IntKi), PARAMETER :: M6N7FMGxi = 2563 - INTEGER(IntKi), PARAMETER :: M6N8FMGxi = 2564 - INTEGER(IntKi), PARAMETER :: M6N9FMGxi = 2565 - INTEGER(IntKi), PARAMETER :: M7N1FMGxi = 2566 - INTEGER(IntKi), PARAMETER :: M7N2FMGxi = 2567 - INTEGER(IntKi), PARAMETER :: M7N3FMGxi = 2568 - INTEGER(IntKi), PARAMETER :: M7N4FMGxi = 2569 - INTEGER(IntKi), PARAMETER :: M7N5FMGxi = 2570 - INTEGER(IntKi), PARAMETER :: M7N6FMGxi = 2571 - INTEGER(IntKi), PARAMETER :: M7N7FMGxi = 2572 - INTEGER(IntKi), PARAMETER :: M7N8FMGxi = 2573 - INTEGER(IntKi), PARAMETER :: M7N9FMGxi = 2574 - INTEGER(IntKi), PARAMETER :: M8N1FMGxi = 2575 - INTEGER(IntKi), PARAMETER :: M8N2FMGxi = 2576 - INTEGER(IntKi), PARAMETER :: M8N3FMGxi = 2577 - INTEGER(IntKi), PARAMETER :: M8N4FMGxi = 2578 - INTEGER(IntKi), PARAMETER :: M8N5FMGxi = 2579 - INTEGER(IntKi), PARAMETER :: M8N6FMGxi = 2580 - INTEGER(IntKi), PARAMETER :: M8N7FMGxi = 2581 - INTEGER(IntKi), PARAMETER :: M8N8FMGxi = 2582 - INTEGER(IntKi), PARAMETER :: M8N9FMGxi = 2583 - INTEGER(IntKi), PARAMETER :: M9N1FMGxi = 2584 - INTEGER(IntKi), PARAMETER :: M9N2FMGxi = 2585 - INTEGER(IntKi), PARAMETER :: M9N3FMGxi = 2586 - INTEGER(IntKi), PARAMETER :: M9N4FMGxi = 2587 - INTEGER(IntKi), PARAMETER :: M9N5FMGxi = 2588 - INTEGER(IntKi), PARAMETER :: M9N6FMGxi = 2589 - INTEGER(IntKi), PARAMETER :: M9N7FMGxi = 2590 - INTEGER(IntKi), PARAMETER :: M9N8FMGxi = 2591 - INTEGER(IntKi), PARAMETER :: M9N9FMGxi = 2592 - INTEGER(IntKi), PARAMETER :: M1N1FMGyi = 2593 - INTEGER(IntKi), PARAMETER :: M1N2FMGyi = 2594 - INTEGER(IntKi), PARAMETER :: M1N3FMGyi = 2595 - INTEGER(IntKi), PARAMETER :: M1N4FMGyi = 2596 - INTEGER(IntKi), PARAMETER :: M1N5FMGyi = 2597 - INTEGER(IntKi), PARAMETER :: M1N6FMGyi = 2598 - INTEGER(IntKi), PARAMETER :: M1N7FMGyi = 2599 - INTEGER(IntKi), PARAMETER :: M1N8FMGyi = 2600 - INTEGER(IntKi), PARAMETER :: M1N9FMGyi = 2601 - INTEGER(IntKi), PARAMETER :: M2N1FMGyi = 2602 - INTEGER(IntKi), PARAMETER :: M2N2FMGyi = 2603 - INTEGER(IntKi), PARAMETER :: M2N3FMGyi = 2604 - INTEGER(IntKi), PARAMETER :: M2N4FMGyi = 2605 - INTEGER(IntKi), PARAMETER :: M2N5FMGyi = 2606 - INTEGER(IntKi), PARAMETER :: M2N6FMGyi = 2607 - INTEGER(IntKi), PARAMETER :: M2N7FMGyi = 2608 - INTEGER(IntKi), PARAMETER :: M2N8FMGyi = 2609 - INTEGER(IntKi), PARAMETER :: M2N9FMGyi = 2610 - INTEGER(IntKi), PARAMETER :: M3N1FMGyi = 2611 - INTEGER(IntKi), PARAMETER :: M3N2FMGyi = 2612 - INTEGER(IntKi), PARAMETER :: M3N3FMGyi = 2613 - INTEGER(IntKi), PARAMETER :: M3N4FMGyi = 2614 - INTEGER(IntKi), PARAMETER :: M3N5FMGyi = 2615 - INTEGER(IntKi), PARAMETER :: M3N6FMGyi = 2616 - INTEGER(IntKi), PARAMETER :: M3N7FMGyi = 2617 - INTEGER(IntKi), PARAMETER :: M3N8FMGyi = 2618 - INTEGER(IntKi), PARAMETER :: M3N9FMGyi = 2619 - INTEGER(IntKi), PARAMETER :: M4N1FMGyi = 2620 - INTEGER(IntKi), PARAMETER :: M4N2FMGyi = 2621 - INTEGER(IntKi), PARAMETER :: M4N3FMGyi = 2622 - INTEGER(IntKi), PARAMETER :: M4N4FMGyi = 2623 - INTEGER(IntKi), PARAMETER :: M4N5FMGyi = 2624 - INTEGER(IntKi), PARAMETER :: M4N6FMGyi = 2625 - INTEGER(IntKi), PARAMETER :: M4N7FMGyi = 2626 - INTEGER(IntKi), PARAMETER :: M4N8FMGyi = 2627 - INTEGER(IntKi), PARAMETER :: M4N9FMGyi = 2628 - INTEGER(IntKi), PARAMETER :: M5N1FMGyi = 2629 - INTEGER(IntKi), PARAMETER :: M5N2FMGyi = 2630 - INTEGER(IntKi), PARAMETER :: M5N3FMGyi = 2631 - INTEGER(IntKi), PARAMETER :: M5N4FMGyi = 2632 - INTEGER(IntKi), PARAMETER :: M5N5FMGyi = 2633 - INTEGER(IntKi), PARAMETER :: M5N6FMGyi = 2634 - INTEGER(IntKi), PARAMETER :: M5N7FMGyi = 2635 - INTEGER(IntKi), PARAMETER :: M5N8FMGyi = 2636 - INTEGER(IntKi), PARAMETER :: M5N9FMGyi = 2637 - INTEGER(IntKi), PARAMETER :: M6N1FMGyi = 2638 - INTEGER(IntKi), PARAMETER :: M6N2FMGyi = 2639 - INTEGER(IntKi), PARAMETER :: M6N3FMGyi = 2640 - INTEGER(IntKi), PARAMETER :: M6N4FMGyi = 2641 - INTEGER(IntKi), PARAMETER :: M6N5FMGyi = 2642 - INTEGER(IntKi), PARAMETER :: M6N6FMGyi = 2643 - INTEGER(IntKi), PARAMETER :: M6N7FMGyi = 2644 - INTEGER(IntKi), PARAMETER :: M6N8FMGyi = 2645 - INTEGER(IntKi), PARAMETER :: M6N9FMGyi = 2646 - INTEGER(IntKi), PARAMETER :: M7N1FMGyi = 2647 - INTEGER(IntKi), PARAMETER :: M7N2FMGyi = 2648 - INTEGER(IntKi), PARAMETER :: M7N3FMGyi = 2649 - INTEGER(IntKi), PARAMETER :: M7N4FMGyi = 2650 - INTEGER(IntKi), PARAMETER :: M7N5FMGyi = 2651 - INTEGER(IntKi), PARAMETER :: M7N6FMGyi = 2652 - INTEGER(IntKi), PARAMETER :: M7N7FMGyi = 2653 - INTEGER(IntKi), PARAMETER :: M7N8FMGyi = 2654 - INTEGER(IntKi), PARAMETER :: M7N9FMGyi = 2655 - INTEGER(IntKi), PARAMETER :: M8N1FMGyi = 2656 - INTEGER(IntKi), PARAMETER :: M8N2FMGyi = 2657 - INTEGER(IntKi), PARAMETER :: M8N3FMGyi = 2658 - INTEGER(IntKi), PARAMETER :: M8N4FMGyi = 2659 - INTEGER(IntKi), PARAMETER :: M8N5FMGyi = 2660 - INTEGER(IntKi), PARAMETER :: M8N6FMGyi = 2661 - INTEGER(IntKi), PARAMETER :: M8N7FMGyi = 2662 - INTEGER(IntKi), PARAMETER :: M8N8FMGyi = 2663 - INTEGER(IntKi), PARAMETER :: M8N9FMGyi = 2664 - INTEGER(IntKi), PARAMETER :: M9N1FMGyi = 2665 - INTEGER(IntKi), PARAMETER :: M9N2FMGyi = 2666 - INTEGER(IntKi), PARAMETER :: M9N3FMGyi = 2667 - INTEGER(IntKi), PARAMETER :: M9N4FMGyi = 2668 - INTEGER(IntKi), PARAMETER :: M9N5FMGyi = 2669 - INTEGER(IntKi), PARAMETER :: M9N6FMGyi = 2670 - INTEGER(IntKi), PARAMETER :: M9N7FMGyi = 2671 - INTEGER(IntKi), PARAMETER :: M9N8FMGyi = 2672 - INTEGER(IntKi), PARAMETER :: M9N9FMGyi = 2673 - INTEGER(IntKi), PARAMETER :: M1N1FMGzi = 2674 - INTEGER(IntKi), PARAMETER :: M1N2FMGzi = 2675 - INTEGER(IntKi), PARAMETER :: M1N3FMGzi = 2676 - INTEGER(IntKi), PARAMETER :: M1N4FMGzi = 2677 - INTEGER(IntKi), PARAMETER :: M1N5FMGzi = 2678 - INTEGER(IntKi), PARAMETER :: M1N6FMGzi = 2679 - INTEGER(IntKi), PARAMETER :: M1N7FMGzi = 2680 - INTEGER(IntKi), PARAMETER :: M1N8FMGzi = 2681 - INTEGER(IntKi), PARAMETER :: M1N9FMGzi = 2682 - INTEGER(IntKi), PARAMETER :: M2N1FMGzi = 2683 - INTEGER(IntKi), PARAMETER :: M2N2FMGzi = 2684 - INTEGER(IntKi), PARAMETER :: M2N3FMGzi = 2685 - INTEGER(IntKi), PARAMETER :: M2N4FMGzi = 2686 - INTEGER(IntKi), PARAMETER :: M2N5FMGzi = 2687 - INTEGER(IntKi), PARAMETER :: M2N6FMGzi = 2688 - INTEGER(IntKi), PARAMETER :: M2N7FMGzi = 2689 - INTEGER(IntKi), PARAMETER :: M2N8FMGzi = 2690 - INTEGER(IntKi), PARAMETER :: M2N9FMGzi = 2691 - INTEGER(IntKi), PARAMETER :: M3N1FMGzi = 2692 - INTEGER(IntKi), PARAMETER :: M3N2FMGzi = 2693 - INTEGER(IntKi), PARAMETER :: M3N3FMGzi = 2694 - INTEGER(IntKi), PARAMETER :: M3N4FMGzi = 2695 - INTEGER(IntKi), PARAMETER :: M3N5FMGzi = 2696 - INTEGER(IntKi), PARAMETER :: M3N6FMGzi = 2697 - INTEGER(IntKi), PARAMETER :: M3N7FMGzi = 2698 - INTEGER(IntKi), PARAMETER :: M3N8FMGzi = 2699 - INTEGER(IntKi), PARAMETER :: M3N9FMGzi = 2700 - INTEGER(IntKi), PARAMETER :: M4N1FMGzi = 2701 - INTEGER(IntKi), PARAMETER :: M4N2FMGzi = 2702 - INTEGER(IntKi), PARAMETER :: M4N3FMGzi = 2703 - INTEGER(IntKi), PARAMETER :: M4N4FMGzi = 2704 - INTEGER(IntKi), PARAMETER :: M4N5FMGzi = 2705 - INTEGER(IntKi), PARAMETER :: M4N6FMGzi = 2706 - INTEGER(IntKi), PARAMETER :: M4N7FMGzi = 2707 - INTEGER(IntKi), PARAMETER :: M4N8FMGzi = 2708 - INTEGER(IntKi), PARAMETER :: M4N9FMGzi = 2709 - INTEGER(IntKi), PARAMETER :: M5N1FMGzi = 2710 - INTEGER(IntKi), PARAMETER :: M5N2FMGzi = 2711 - INTEGER(IntKi), PARAMETER :: M5N3FMGzi = 2712 - INTEGER(IntKi), PARAMETER :: M5N4FMGzi = 2713 - INTEGER(IntKi), PARAMETER :: M5N5FMGzi = 2714 - INTEGER(IntKi), PARAMETER :: M5N6FMGzi = 2715 - INTEGER(IntKi), PARAMETER :: M5N7FMGzi = 2716 - INTEGER(IntKi), PARAMETER :: M5N8FMGzi = 2717 - INTEGER(IntKi), PARAMETER :: M5N9FMGzi = 2718 - INTEGER(IntKi), PARAMETER :: M6N1FMGzi = 2719 - INTEGER(IntKi), PARAMETER :: M6N2FMGzi = 2720 - INTEGER(IntKi), PARAMETER :: M6N3FMGzi = 2721 - INTEGER(IntKi), PARAMETER :: M6N4FMGzi = 2722 - INTEGER(IntKi), PARAMETER :: M6N5FMGzi = 2723 - INTEGER(IntKi), PARAMETER :: M6N6FMGzi = 2724 - INTEGER(IntKi), PARAMETER :: M6N7FMGzi = 2725 - INTEGER(IntKi), PARAMETER :: M6N8FMGzi = 2726 - INTEGER(IntKi), PARAMETER :: M6N9FMGzi = 2727 - INTEGER(IntKi), PARAMETER :: M7N1FMGzi = 2728 - INTEGER(IntKi), PARAMETER :: M7N2FMGzi = 2729 - INTEGER(IntKi), PARAMETER :: M7N3FMGzi = 2730 - INTEGER(IntKi), PARAMETER :: M7N4FMGzi = 2731 - INTEGER(IntKi), PARAMETER :: M7N5FMGzi = 2732 - INTEGER(IntKi), PARAMETER :: M7N6FMGzi = 2733 - INTEGER(IntKi), PARAMETER :: M7N7FMGzi = 2734 - INTEGER(IntKi), PARAMETER :: M7N8FMGzi = 2735 - INTEGER(IntKi), PARAMETER :: M7N9FMGzi = 2736 - INTEGER(IntKi), PARAMETER :: M8N1FMGzi = 2737 - INTEGER(IntKi), PARAMETER :: M8N2FMGzi = 2738 - INTEGER(IntKi), PARAMETER :: M8N3FMGzi = 2739 - INTEGER(IntKi), PARAMETER :: M8N4FMGzi = 2740 - INTEGER(IntKi), PARAMETER :: M8N5FMGzi = 2741 - INTEGER(IntKi), PARAMETER :: M8N6FMGzi = 2742 - INTEGER(IntKi), PARAMETER :: M8N7FMGzi = 2743 - INTEGER(IntKi), PARAMETER :: M8N8FMGzi = 2744 - INTEGER(IntKi), PARAMETER :: M8N9FMGzi = 2745 - INTEGER(IntKi), PARAMETER :: M9N1FMGzi = 2746 - INTEGER(IntKi), PARAMETER :: M9N2FMGzi = 2747 - INTEGER(IntKi), PARAMETER :: M9N3FMGzi = 2748 - INTEGER(IntKi), PARAMETER :: M9N4FMGzi = 2749 - INTEGER(IntKi), PARAMETER :: M9N5FMGzi = 2750 - INTEGER(IntKi), PARAMETER :: M9N6FMGzi = 2751 - INTEGER(IntKi), PARAMETER :: M9N7FMGzi = 2752 - INTEGER(IntKi), PARAMETER :: M9N8FMGzi = 2753 - INTEGER(IntKi), PARAMETER :: M9N9FMGzi = 2754 - INTEGER(IntKi), PARAMETER :: M1N1MMGxi = 2755 - INTEGER(IntKi), PARAMETER :: M1N2MMGxi = 2756 - INTEGER(IntKi), PARAMETER :: M1N3MMGxi = 2757 - INTEGER(IntKi), PARAMETER :: M1N4MMGxi = 2758 - INTEGER(IntKi), PARAMETER :: M1N5MMGxi = 2759 - INTEGER(IntKi), PARAMETER :: M1N6MMGxi = 2760 - INTEGER(IntKi), PARAMETER :: M1N7MMGxi = 2761 - INTEGER(IntKi), PARAMETER :: M1N8MMGxi = 2762 - INTEGER(IntKi), PARAMETER :: M1N9MMGxi = 2763 - INTEGER(IntKi), PARAMETER :: M2N1MMGxi = 2764 - INTEGER(IntKi), PARAMETER :: M2N2MMGxi = 2765 - INTEGER(IntKi), PARAMETER :: M2N3MMGxi = 2766 - INTEGER(IntKi), PARAMETER :: M2N4MMGxi = 2767 - INTEGER(IntKi), PARAMETER :: M2N5MMGxi = 2768 - INTEGER(IntKi), PARAMETER :: M2N6MMGxi = 2769 - INTEGER(IntKi), PARAMETER :: M2N7MMGxi = 2770 - INTEGER(IntKi), PARAMETER :: M2N8MMGxi = 2771 - INTEGER(IntKi), PARAMETER :: M2N9MMGxi = 2772 - INTEGER(IntKi), PARAMETER :: M3N1MMGxi = 2773 - INTEGER(IntKi), PARAMETER :: M3N2MMGxi = 2774 - INTEGER(IntKi), PARAMETER :: M3N3MMGxi = 2775 - INTEGER(IntKi), PARAMETER :: M3N4MMGxi = 2776 - INTEGER(IntKi), PARAMETER :: M3N5MMGxi = 2777 - INTEGER(IntKi), PARAMETER :: M3N6MMGxi = 2778 - INTEGER(IntKi), PARAMETER :: M3N7MMGxi = 2779 - INTEGER(IntKi), PARAMETER :: M3N8MMGxi = 2780 - INTEGER(IntKi), PARAMETER :: M3N9MMGxi = 2781 - INTEGER(IntKi), PARAMETER :: M4N1MMGxi = 2782 - INTEGER(IntKi), PARAMETER :: M4N2MMGxi = 2783 - INTEGER(IntKi), PARAMETER :: M4N3MMGxi = 2784 - INTEGER(IntKi), PARAMETER :: M4N4MMGxi = 2785 - INTEGER(IntKi), PARAMETER :: M4N5MMGxi = 2786 - INTEGER(IntKi), PARAMETER :: M4N6MMGxi = 2787 - INTEGER(IntKi), PARAMETER :: M4N7MMGxi = 2788 - INTEGER(IntKi), PARAMETER :: M4N8MMGxi = 2789 - INTEGER(IntKi), PARAMETER :: M4N9MMGxi = 2790 - INTEGER(IntKi), PARAMETER :: M5N1MMGxi = 2791 - INTEGER(IntKi), PARAMETER :: M5N2MMGxi = 2792 - INTEGER(IntKi), PARAMETER :: M5N3MMGxi = 2793 - INTEGER(IntKi), PARAMETER :: M5N4MMGxi = 2794 - INTEGER(IntKi), PARAMETER :: M5N5MMGxi = 2795 - INTEGER(IntKi), PARAMETER :: M5N6MMGxi = 2796 - INTEGER(IntKi), PARAMETER :: M5N7MMGxi = 2797 - INTEGER(IntKi), PARAMETER :: M5N8MMGxi = 2798 - INTEGER(IntKi), PARAMETER :: M5N9MMGxi = 2799 - INTEGER(IntKi), PARAMETER :: M6N1MMGxi = 2800 - INTEGER(IntKi), PARAMETER :: M6N2MMGxi = 2801 - INTEGER(IntKi), PARAMETER :: M6N3MMGxi = 2802 - INTEGER(IntKi), PARAMETER :: M6N4MMGxi = 2803 - INTEGER(IntKi), PARAMETER :: M6N5MMGxi = 2804 - INTEGER(IntKi), PARAMETER :: M6N6MMGxi = 2805 - INTEGER(IntKi), PARAMETER :: M6N7MMGxi = 2806 - INTEGER(IntKi), PARAMETER :: M6N8MMGxi = 2807 - INTEGER(IntKi), PARAMETER :: M6N9MMGxi = 2808 - INTEGER(IntKi), PARAMETER :: M7N1MMGxi = 2809 - INTEGER(IntKi), PARAMETER :: M7N2MMGxi = 2810 - INTEGER(IntKi), PARAMETER :: M7N3MMGxi = 2811 - INTEGER(IntKi), PARAMETER :: M7N4MMGxi = 2812 - INTEGER(IntKi), PARAMETER :: M7N5MMGxi = 2813 - INTEGER(IntKi), PARAMETER :: M7N6MMGxi = 2814 - INTEGER(IntKi), PARAMETER :: M7N7MMGxi = 2815 - INTEGER(IntKi), PARAMETER :: M7N8MMGxi = 2816 - INTEGER(IntKi), PARAMETER :: M7N9MMGxi = 2817 - INTEGER(IntKi), PARAMETER :: M8N1MMGxi = 2818 - INTEGER(IntKi), PARAMETER :: M8N2MMGxi = 2819 - INTEGER(IntKi), PARAMETER :: M8N3MMGxi = 2820 - INTEGER(IntKi), PARAMETER :: M8N4MMGxi = 2821 - INTEGER(IntKi), PARAMETER :: M8N5MMGxi = 2822 - INTEGER(IntKi), PARAMETER :: M8N6MMGxi = 2823 - INTEGER(IntKi), PARAMETER :: M8N7MMGxi = 2824 - INTEGER(IntKi), PARAMETER :: M8N8MMGxi = 2825 - INTEGER(IntKi), PARAMETER :: M8N9MMGxi = 2826 - INTEGER(IntKi), PARAMETER :: M9N1MMGxi = 2827 - INTEGER(IntKi), PARAMETER :: M9N2MMGxi = 2828 - INTEGER(IntKi), PARAMETER :: M9N3MMGxi = 2829 - INTEGER(IntKi), PARAMETER :: M9N4MMGxi = 2830 - INTEGER(IntKi), PARAMETER :: M9N5MMGxi = 2831 - INTEGER(IntKi), PARAMETER :: M9N6MMGxi = 2832 - INTEGER(IntKi), PARAMETER :: M9N7MMGxi = 2833 - INTEGER(IntKi), PARAMETER :: M9N8MMGxi = 2834 - INTEGER(IntKi), PARAMETER :: M9N9MMGxi = 2835 - INTEGER(IntKi), PARAMETER :: M1N1MMGyi = 2836 - INTEGER(IntKi), PARAMETER :: M1N2MMGyi = 2837 - INTEGER(IntKi), PARAMETER :: M1N3MMGyi = 2838 - INTEGER(IntKi), PARAMETER :: M1N4MMGyi = 2839 - INTEGER(IntKi), PARAMETER :: M1N5MMGyi = 2840 - INTEGER(IntKi), PARAMETER :: M1N6MMGyi = 2841 - INTEGER(IntKi), PARAMETER :: M1N7MMGyi = 2842 - INTEGER(IntKi), PARAMETER :: M1N8MMGyi = 2843 - INTEGER(IntKi), PARAMETER :: M1N9MMGyi = 2844 - INTEGER(IntKi), PARAMETER :: M2N1MMGyi = 2845 - INTEGER(IntKi), PARAMETER :: M2N2MMGyi = 2846 - INTEGER(IntKi), PARAMETER :: M2N3MMGyi = 2847 - INTEGER(IntKi), PARAMETER :: M2N4MMGyi = 2848 - INTEGER(IntKi), PARAMETER :: M2N5MMGyi = 2849 - INTEGER(IntKi), PARAMETER :: M2N6MMGyi = 2850 - INTEGER(IntKi), PARAMETER :: M2N7MMGyi = 2851 - INTEGER(IntKi), PARAMETER :: M2N8MMGyi = 2852 - INTEGER(IntKi), PARAMETER :: M2N9MMGyi = 2853 - INTEGER(IntKi), PARAMETER :: M3N1MMGyi = 2854 - INTEGER(IntKi), PARAMETER :: M3N2MMGyi = 2855 - INTEGER(IntKi), PARAMETER :: M3N3MMGyi = 2856 - INTEGER(IntKi), PARAMETER :: M3N4MMGyi = 2857 - INTEGER(IntKi), PARAMETER :: M3N5MMGyi = 2858 - INTEGER(IntKi), PARAMETER :: M3N6MMGyi = 2859 - INTEGER(IntKi), PARAMETER :: M3N7MMGyi = 2860 - INTEGER(IntKi), PARAMETER :: M3N8MMGyi = 2861 - INTEGER(IntKi), PARAMETER :: M3N9MMGyi = 2862 - INTEGER(IntKi), PARAMETER :: M4N1MMGyi = 2863 - INTEGER(IntKi), PARAMETER :: M4N2MMGyi = 2864 - INTEGER(IntKi), PARAMETER :: M4N3MMGyi = 2865 - INTEGER(IntKi), PARAMETER :: M4N4MMGyi = 2866 - INTEGER(IntKi), PARAMETER :: M4N5MMGyi = 2867 - INTEGER(IntKi), PARAMETER :: M4N6MMGyi = 2868 - INTEGER(IntKi), PARAMETER :: M4N7MMGyi = 2869 - INTEGER(IntKi), PARAMETER :: M4N8MMGyi = 2870 - INTEGER(IntKi), PARAMETER :: M4N9MMGyi = 2871 - INTEGER(IntKi), PARAMETER :: M5N1MMGyi = 2872 - INTEGER(IntKi), PARAMETER :: M5N2MMGyi = 2873 - INTEGER(IntKi), PARAMETER :: M5N3MMGyi = 2874 - INTEGER(IntKi), PARAMETER :: M5N4MMGyi = 2875 - INTEGER(IntKi), PARAMETER :: M5N5MMGyi = 2876 - INTEGER(IntKi), PARAMETER :: M5N6MMGyi = 2877 - INTEGER(IntKi), PARAMETER :: M5N7MMGyi = 2878 - INTEGER(IntKi), PARAMETER :: M5N8MMGyi = 2879 - INTEGER(IntKi), PARAMETER :: M5N9MMGyi = 2880 - INTEGER(IntKi), PARAMETER :: M6N1MMGyi = 2881 - INTEGER(IntKi), PARAMETER :: M6N2MMGyi = 2882 - INTEGER(IntKi), PARAMETER :: M6N3MMGyi = 2883 - INTEGER(IntKi), PARAMETER :: M6N4MMGyi = 2884 - INTEGER(IntKi), PARAMETER :: M6N5MMGyi = 2885 - INTEGER(IntKi), PARAMETER :: M6N6MMGyi = 2886 - INTEGER(IntKi), PARAMETER :: M6N7MMGyi = 2887 - INTEGER(IntKi), PARAMETER :: M6N8MMGyi = 2888 - INTEGER(IntKi), PARAMETER :: M6N9MMGyi = 2889 - INTEGER(IntKi), PARAMETER :: M7N1MMGyi = 2890 - INTEGER(IntKi), PARAMETER :: M7N2MMGyi = 2891 - INTEGER(IntKi), PARAMETER :: M7N3MMGyi = 2892 - INTEGER(IntKi), PARAMETER :: M7N4MMGyi = 2893 - INTEGER(IntKi), PARAMETER :: M7N5MMGyi = 2894 - INTEGER(IntKi), PARAMETER :: M7N6MMGyi = 2895 - INTEGER(IntKi), PARAMETER :: M7N7MMGyi = 2896 - INTEGER(IntKi), PARAMETER :: M7N8MMGyi = 2897 - INTEGER(IntKi), PARAMETER :: M7N9MMGyi = 2898 - INTEGER(IntKi), PARAMETER :: M8N1MMGyi = 2899 - INTEGER(IntKi), PARAMETER :: M8N2MMGyi = 2900 - INTEGER(IntKi), PARAMETER :: M8N3MMGyi = 2901 - INTEGER(IntKi), PARAMETER :: M8N4MMGyi = 2902 - INTEGER(IntKi), PARAMETER :: M8N5MMGyi = 2903 - INTEGER(IntKi), PARAMETER :: M8N6MMGyi = 2904 - INTEGER(IntKi), PARAMETER :: M8N7MMGyi = 2905 - INTEGER(IntKi), PARAMETER :: M8N8MMGyi = 2906 - INTEGER(IntKi), PARAMETER :: M8N9MMGyi = 2907 - INTEGER(IntKi), PARAMETER :: M9N1MMGyi = 2908 - INTEGER(IntKi), PARAMETER :: M9N2MMGyi = 2909 - INTEGER(IntKi), PARAMETER :: M9N3MMGyi = 2910 - INTEGER(IntKi), PARAMETER :: M9N4MMGyi = 2911 - INTEGER(IntKi), PARAMETER :: M9N5MMGyi = 2912 - INTEGER(IntKi), PARAMETER :: M9N6MMGyi = 2913 - INTEGER(IntKi), PARAMETER :: M9N7MMGyi = 2914 - INTEGER(IntKi), PARAMETER :: M9N8MMGyi = 2915 - INTEGER(IntKi), PARAMETER :: M9N9MMGyi = 2916 - INTEGER(IntKi), PARAMETER :: M1N1MMGzi = 2917 - INTEGER(IntKi), PARAMETER :: M1N2MMGzi = 2918 - INTEGER(IntKi), PARAMETER :: M1N3MMGzi = 2919 - INTEGER(IntKi), PARAMETER :: M1N4MMGzi = 2920 - INTEGER(IntKi), PARAMETER :: M1N5MMGzi = 2921 - INTEGER(IntKi), PARAMETER :: M1N6MMGzi = 2922 - INTEGER(IntKi), PARAMETER :: M1N7MMGzi = 2923 - INTEGER(IntKi), PARAMETER :: M1N8MMGzi = 2924 - INTEGER(IntKi), PARAMETER :: M1N9MMGzi = 2925 - INTEGER(IntKi), PARAMETER :: M2N1MMGzi = 2926 - INTEGER(IntKi), PARAMETER :: M2N2MMGzi = 2927 - INTEGER(IntKi), PARAMETER :: M2N3MMGzi = 2928 - INTEGER(IntKi), PARAMETER :: M2N4MMGzi = 2929 - INTEGER(IntKi), PARAMETER :: M2N5MMGzi = 2930 - INTEGER(IntKi), PARAMETER :: M2N6MMGzi = 2931 - INTEGER(IntKi), PARAMETER :: M2N7MMGzi = 2932 - INTEGER(IntKi), PARAMETER :: M2N8MMGzi = 2933 - INTEGER(IntKi), PARAMETER :: M2N9MMGzi = 2934 - INTEGER(IntKi), PARAMETER :: M3N1MMGzi = 2935 - INTEGER(IntKi), PARAMETER :: M3N2MMGzi = 2936 - INTEGER(IntKi), PARAMETER :: M3N3MMGzi = 2937 - INTEGER(IntKi), PARAMETER :: M3N4MMGzi = 2938 - INTEGER(IntKi), PARAMETER :: M3N5MMGzi = 2939 - INTEGER(IntKi), PARAMETER :: M3N6MMGzi = 2940 - INTEGER(IntKi), PARAMETER :: M3N7MMGzi = 2941 - INTEGER(IntKi), PARAMETER :: M3N8MMGzi = 2942 - INTEGER(IntKi), PARAMETER :: M3N9MMGzi = 2943 - INTEGER(IntKi), PARAMETER :: M4N1MMGzi = 2944 - INTEGER(IntKi), PARAMETER :: M4N2MMGzi = 2945 - INTEGER(IntKi), PARAMETER :: M4N3MMGzi = 2946 - INTEGER(IntKi), PARAMETER :: M4N4MMGzi = 2947 - INTEGER(IntKi), PARAMETER :: M4N5MMGzi = 2948 - INTEGER(IntKi), PARAMETER :: M4N6MMGzi = 2949 - INTEGER(IntKi), PARAMETER :: M4N7MMGzi = 2950 - INTEGER(IntKi), PARAMETER :: M4N8MMGzi = 2951 - INTEGER(IntKi), PARAMETER :: M4N9MMGzi = 2952 - INTEGER(IntKi), PARAMETER :: M5N1MMGzi = 2953 - INTEGER(IntKi), PARAMETER :: M5N2MMGzi = 2954 - INTEGER(IntKi), PARAMETER :: M5N3MMGzi = 2955 - INTEGER(IntKi), PARAMETER :: M5N4MMGzi = 2956 - INTEGER(IntKi), PARAMETER :: M5N5MMGzi = 2957 - INTEGER(IntKi), PARAMETER :: M5N6MMGzi = 2958 - INTEGER(IntKi), PARAMETER :: M5N7MMGzi = 2959 - INTEGER(IntKi), PARAMETER :: M5N8MMGzi = 2960 - INTEGER(IntKi), PARAMETER :: M5N9MMGzi = 2961 - INTEGER(IntKi), PARAMETER :: M6N1MMGzi = 2962 - INTEGER(IntKi), PARAMETER :: M6N2MMGzi = 2963 - INTEGER(IntKi), PARAMETER :: M6N3MMGzi = 2964 - INTEGER(IntKi), PARAMETER :: M6N4MMGzi = 2965 - INTEGER(IntKi), PARAMETER :: M6N5MMGzi = 2966 - INTEGER(IntKi), PARAMETER :: M6N6MMGzi = 2967 - INTEGER(IntKi), PARAMETER :: M6N7MMGzi = 2968 - INTEGER(IntKi), PARAMETER :: M6N8MMGzi = 2969 - INTEGER(IntKi), PARAMETER :: M6N9MMGzi = 2970 - INTEGER(IntKi), PARAMETER :: M7N1MMGzi = 2971 - INTEGER(IntKi), PARAMETER :: M7N2MMGzi = 2972 - INTEGER(IntKi), PARAMETER :: M7N3MMGzi = 2973 - INTEGER(IntKi), PARAMETER :: M7N4MMGzi = 2974 - INTEGER(IntKi), PARAMETER :: M7N5MMGzi = 2975 - INTEGER(IntKi), PARAMETER :: M7N6MMGzi = 2976 - INTEGER(IntKi), PARAMETER :: M7N7MMGzi = 2977 - INTEGER(IntKi), PARAMETER :: M7N8MMGzi = 2978 - INTEGER(IntKi), PARAMETER :: M7N9MMGzi = 2979 - INTEGER(IntKi), PARAMETER :: M8N1MMGzi = 2980 - INTEGER(IntKi), PARAMETER :: M8N2MMGzi = 2981 - INTEGER(IntKi), PARAMETER :: M8N3MMGzi = 2982 - INTEGER(IntKi), PARAMETER :: M8N4MMGzi = 2983 - INTEGER(IntKi), PARAMETER :: M8N5MMGzi = 2984 - INTEGER(IntKi), PARAMETER :: M8N6MMGzi = 2985 - INTEGER(IntKi), PARAMETER :: M8N7MMGzi = 2986 - INTEGER(IntKi), PARAMETER :: M8N8MMGzi = 2987 - INTEGER(IntKi), PARAMETER :: M8N9MMGzi = 2988 - INTEGER(IntKi), PARAMETER :: M9N1MMGzi = 2989 - INTEGER(IntKi), PARAMETER :: M9N2MMGzi = 2990 - INTEGER(IntKi), PARAMETER :: M9N3MMGzi = 2991 - INTEGER(IntKi), PARAMETER :: M9N4MMGzi = 2992 - INTEGER(IntKi), PARAMETER :: M9N5MMGzi = 2993 - INTEGER(IntKi), PARAMETER :: M9N6MMGzi = 2994 - INTEGER(IntKi), PARAMETER :: M9N7MMGzi = 2995 - INTEGER(IntKi), PARAMETER :: M9N8MMGzi = 2996 - INTEGER(IntKi), PARAMETER :: M9N9MMGzi = 2997 - INTEGER(IntKi), PARAMETER :: M1N1FAMxi = 2998 - INTEGER(IntKi), PARAMETER :: M1N2FAMxi = 2999 - INTEGER(IntKi), PARAMETER :: M1N3FAMxi = 3000 - INTEGER(IntKi), PARAMETER :: M1N4FAMxi = 3001 - INTEGER(IntKi), PARAMETER :: M1N5FAMxi = 3002 - INTEGER(IntKi), PARAMETER :: M1N6FAMxi = 3003 - INTEGER(IntKi), PARAMETER :: M1N7FAMxi = 3004 - INTEGER(IntKi), PARAMETER :: M1N8FAMxi = 3005 - INTEGER(IntKi), PARAMETER :: M1N9FAMxi = 3006 - INTEGER(IntKi), PARAMETER :: M2N1FAMxi = 3007 - INTEGER(IntKi), PARAMETER :: M2N2FAMxi = 3008 - INTEGER(IntKi), PARAMETER :: M2N3FAMxi = 3009 - INTEGER(IntKi), PARAMETER :: M2N4FAMxi = 3010 - INTEGER(IntKi), PARAMETER :: M2N5FAMxi = 3011 - INTEGER(IntKi), PARAMETER :: M2N6FAMxi = 3012 - INTEGER(IntKi), PARAMETER :: M2N7FAMxi = 3013 - INTEGER(IntKi), PARAMETER :: M2N8FAMxi = 3014 - INTEGER(IntKi), PARAMETER :: M2N9FAMxi = 3015 - INTEGER(IntKi), PARAMETER :: M3N1FAMxi = 3016 - INTEGER(IntKi), PARAMETER :: M3N2FAMxi = 3017 - INTEGER(IntKi), PARAMETER :: M3N3FAMxi = 3018 - INTEGER(IntKi), PARAMETER :: M3N4FAMxi = 3019 - INTEGER(IntKi), PARAMETER :: M3N5FAMxi = 3020 - INTEGER(IntKi), PARAMETER :: M3N6FAMxi = 3021 - INTEGER(IntKi), PARAMETER :: M3N7FAMxi = 3022 - INTEGER(IntKi), PARAMETER :: M3N8FAMxi = 3023 - INTEGER(IntKi), PARAMETER :: M3N9FAMxi = 3024 - INTEGER(IntKi), PARAMETER :: M4N1FAMxi = 3025 - INTEGER(IntKi), PARAMETER :: M4N2FAMxi = 3026 - INTEGER(IntKi), PARAMETER :: M4N3FAMxi = 3027 - INTEGER(IntKi), PARAMETER :: M4N4FAMxi = 3028 - INTEGER(IntKi), PARAMETER :: M4N5FAMxi = 3029 - INTEGER(IntKi), PARAMETER :: M4N6FAMxi = 3030 - INTEGER(IntKi), PARAMETER :: M4N7FAMxi = 3031 - INTEGER(IntKi), PARAMETER :: M4N8FAMxi = 3032 - INTEGER(IntKi), PARAMETER :: M4N9FAMxi = 3033 - INTEGER(IntKi), PARAMETER :: M5N1FAMxi = 3034 - INTEGER(IntKi), PARAMETER :: M5N2FAMxi = 3035 - INTEGER(IntKi), PARAMETER :: M5N3FAMxi = 3036 - INTEGER(IntKi), PARAMETER :: M5N4FAMxi = 3037 - INTEGER(IntKi), PARAMETER :: M5N5FAMxi = 3038 - INTEGER(IntKi), PARAMETER :: M5N6FAMxi = 3039 - INTEGER(IntKi), PARAMETER :: M5N7FAMxi = 3040 - INTEGER(IntKi), PARAMETER :: M5N8FAMxi = 3041 - INTEGER(IntKi), PARAMETER :: M5N9FAMxi = 3042 - INTEGER(IntKi), PARAMETER :: M6N1FAMxi = 3043 - INTEGER(IntKi), PARAMETER :: M6N2FAMxi = 3044 - INTEGER(IntKi), PARAMETER :: M6N3FAMxi = 3045 - INTEGER(IntKi), PARAMETER :: M6N4FAMxi = 3046 - INTEGER(IntKi), PARAMETER :: M6N5FAMxi = 3047 - INTEGER(IntKi), PARAMETER :: M6N6FAMxi = 3048 - INTEGER(IntKi), PARAMETER :: M6N7FAMxi = 3049 - INTEGER(IntKi), PARAMETER :: M6N8FAMxi = 3050 - INTEGER(IntKi), PARAMETER :: M6N9FAMxi = 3051 - INTEGER(IntKi), PARAMETER :: M7N1FAMxi = 3052 - INTEGER(IntKi), PARAMETER :: M7N2FAMxi = 3053 - INTEGER(IntKi), PARAMETER :: M7N3FAMxi = 3054 - INTEGER(IntKi), PARAMETER :: M7N4FAMxi = 3055 - INTEGER(IntKi), PARAMETER :: M7N5FAMxi = 3056 - INTEGER(IntKi), PARAMETER :: M7N6FAMxi = 3057 - INTEGER(IntKi), PARAMETER :: M7N7FAMxi = 3058 - INTEGER(IntKi), PARAMETER :: M7N8FAMxi = 3059 - INTEGER(IntKi), PARAMETER :: M7N9FAMxi = 3060 - INTEGER(IntKi), PARAMETER :: M8N1FAMxi = 3061 - INTEGER(IntKi), PARAMETER :: M8N2FAMxi = 3062 - INTEGER(IntKi), PARAMETER :: M8N3FAMxi = 3063 - INTEGER(IntKi), PARAMETER :: M8N4FAMxi = 3064 - INTEGER(IntKi), PARAMETER :: M8N5FAMxi = 3065 - INTEGER(IntKi), PARAMETER :: M8N6FAMxi = 3066 - INTEGER(IntKi), PARAMETER :: M8N7FAMxi = 3067 - INTEGER(IntKi), PARAMETER :: M8N8FAMxi = 3068 - INTEGER(IntKi), PARAMETER :: M8N9FAMxi = 3069 - INTEGER(IntKi), PARAMETER :: M9N1FAMxi = 3070 - INTEGER(IntKi), PARAMETER :: M9N2FAMxi = 3071 - INTEGER(IntKi), PARAMETER :: M9N3FAMxi = 3072 - INTEGER(IntKi), PARAMETER :: M9N4FAMxi = 3073 - INTEGER(IntKi), PARAMETER :: M9N5FAMxi = 3074 - INTEGER(IntKi), PARAMETER :: M9N6FAMxi = 3075 - INTEGER(IntKi), PARAMETER :: M9N7FAMxi = 3076 - INTEGER(IntKi), PARAMETER :: M9N8FAMxi = 3077 - INTEGER(IntKi), PARAMETER :: M9N9FAMxi = 3078 - INTEGER(IntKi), PARAMETER :: M1N1FAMyi = 3079 - INTEGER(IntKi), PARAMETER :: M1N2FAMyi = 3080 - INTEGER(IntKi), PARAMETER :: M1N3FAMyi = 3081 - INTEGER(IntKi), PARAMETER :: M1N4FAMyi = 3082 - INTEGER(IntKi), PARAMETER :: M1N5FAMyi = 3083 - INTEGER(IntKi), PARAMETER :: M1N6FAMyi = 3084 - INTEGER(IntKi), PARAMETER :: M1N7FAMyi = 3085 - INTEGER(IntKi), PARAMETER :: M1N8FAMyi = 3086 - INTEGER(IntKi), PARAMETER :: M1N9FAMyi = 3087 - INTEGER(IntKi), PARAMETER :: M2N1FAMyi = 3088 - INTEGER(IntKi), PARAMETER :: M2N2FAMyi = 3089 - INTEGER(IntKi), PARAMETER :: M2N3FAMyi = 3090 - INTEGER(IntKi), PARAMETER :: M2N4FAMyi = 3091 - INTEGER(IntKi), PARAMETER :: M2N5FAMyi = 3092 - INTEGER(IntKi), PARAMETER :: M2N6FAMyi = 3093 - INTEGER(IntKi), PARAMETER :: M2N7FAMyi = 3094 - INTEGER(IntKi), PARAMETER :: M2N8FAMyi = 3095 - INTEGER(IntKi), PARAMETER :: M2N9FAMyi = 3096 - INTEGER(IntKi), PARAMETER :: M3N1FAMyi = 3097 - INTEGER(IntKi), PARAMETER :: M3N2FAMyi = 3098 - INTEGER(IntKi), PARAMETER :: M3N3FAMyi = 3099 - INTEGER(IntKi), PARAMETER :: M3N4FAMyi = 3100 - INTEGER(IntKi), PARAMETER :: M3N5FAMyi = 3101 - INTEGER(IntKi), PARAMETER :: M3N6FAMyi = 3102 - INTEGER(IntKi), PARAMETER :: M3N7FAMyi = 3103 - INTEGER(IntKi), PARAMETER :: M3N8FAMyi = 3104 - INTEGER(IntKi), PARAMETER :: M3N9FAMyi = 3105 - INTEGER(IntKi), PARAMETER :: M4N1FAMyi = 3106 - INTEGER(IntKi), PARAMETER :: M4N2FAMyi = 3107 - INTEGER(IntKi), PARAMETER :: M4N3FAMyi = 3108 - INTEGER(IntKi), PARAMETER :: M4N4FAMyi = 3109 - INTEGER(IntKi), PARAMETER :: M4N5FAMyi = 3110 - INTEGER(IntKi), PARAMETER :: M4N6FAMyi = 3111 - INTEGER(IntKi), PARAMETER :: M4N7FAMyi = 3112 - INTEGER(IntKi), PARAMETER :: M4N8FAMyi = 3113 - INTEGER(IntKi), PARAMETER :: M4N9FAMyi = 3114 - INTEGER(IntKi), PARAMETER :: M5N1FAMyi = 3115 - INTEGER(IntKi), PARAMETER :: M5N2FAMyi = 3116 - INTEGER(IntKi), PARAMETER :: M5N3FAMyi = 3117 - INTEGER(IntKi), PARAMETER :: M5N4FAMyi = 3118 - INTEGER(IntKi), PARAMETER :: M5N5FAMyi = 3119 - INTEGER(IntKi), PARAMETER :: M5N6FAMyi = 3120 - INTEGER(IntKi), PARAMETER :: M5N7FAMyi = 3121 - INTEGER(IntKi), PARAMETER :: M5N8FAMyi = 3122 - INTEGER(IntKi), PARAMETER :: M5N9FAMyi = 3123 - INTEGER(IntKi), PARAMETER :: M6N1FAMyi = 3124 - INTEGER(IntKi), PARAMETER :: M6N2FAMyi = 3125 - INTEGER(IntKi), PARAMETER :: M6N3FAMyi = 3126 - INTEGER(IntKi), PARAMETER :: M6N4FAMyi = 3127 - INTEGER(IntKi), PARAMETER :: M6N5FAMyi = 3128 - INTEGER(IntKi), PARAMETER :: M6N6FAMyi = 3129 - INTEGER(IntKi), PARAMETER :: M6N7FAMyi = 3130 - INTEGER(IntKi), PARAMETER :: M6N8FAMyi = 3131 - INTEGER(IntKi), PARAMETER :: M6N9FAMyi = 3132 - INTEGER(IntKi), PARAMETER :: M7N1FAMyi = 3133 - INTEGER(IntKi), PARAMETER :: M7N2FAMyi = 3134 - INTEGER(IntKi), PARAMETER :: M7N3FAMyi = 3135 - INTEGER(IntKi), PARAMETER :: M7N4FAMyi = 3136 - INTEGER(IntKi), PARAMETER :: M7N5FAMyi = 3137 - INTEGER(IntKi), PARAMETER :: M7N6FAMyi = 3138 - INTEGER(IntKi), PARAMETER :: M7N7FAMyi = 3139 - INTEGER(IntKi), PARAMETER :: M7N8FAMyi = 3140 - INTEGER(IntKi), PARAMETER :: M7N9FAMyi = 3141 - INTEGER(IntKi), PARAMETER :: M8N1FAMyi = 3142 - INTEGER(IntKi), PARAMETER :: M8N2FAMyi = 3143 - INTEGER(IntKi), PARAMETER :: M8N3FAMyi = 3144 - INTEGER(IntKi), PARAMETER :: M8N4FAMyi = 3145 - INTEGER(IntKi), PARAMETER :: M8N5FAMyi = 3146 - INTEGER(IntKi), PARAMETER :: M8N6FAMyi = 3147 - INTEGER(IntKi), PARAMETER :: M8N7FAMyi = 3148 - INTEGER(IntKi), PARAMETER :: M8N8FAMyi = 3149 - INTEGER(IntKi), PARAMETER :: M8N9FAMyi = 3150 - INTEGER(IntKi), PARAMETER :: M9N1FAMyi = 3151 - INTEGER(IntKi), PARAMETER :: M9N2FAMyi = 3152 - INTEGER(IntKi), PARAMETER :: M9N3FAMyi = 3153 - INTEGER(IntKi), PARAMETER :: M9N4FAMyi = 3154 - INTEGER(IntKi), PARAMETER :: M9N5FAMyi = 3155 - INTEGER(IntKi), PARAMETER :: M9N6FAMyi = 3156 - INTEGER(IntKi), PARAMETER :: M9N7FAMyi = 3157 - INTEGER(IntKi), PARAMETER :: M9N8FAMyi = 3158 - INTEGER(IntKi), PARAMETER :: M9N9FAMyi = 3159 - INTEGER(IntKi), PARAMETER :: M1N1FAMzi = 3160 - INTEGER(IntKi), PARAMETER :: M1N2FAMzi = 3161 - INTEGER(IntKi), PARAMETER :: M1N3FAMzi = 3162 - INTEGER(IntKi), PARAMETER :: M1N4FAMzi = 3163 - INTEGER(IntKi), PARAMETER :: M1N5FAMzi = 3164 - INTEGER(IntKi), PARAMETER :: M1N6FAMzi = 3165 - INTEGER(IntKi), PARAMETER :: M1N7FAMzi = 3166 - INTEGER(IntKi), PARAMETER :: M1N8FAMzi = 3167 - INTEGER(IntKi), PARAMETER :: M1N9FAMzi = 3168 - INTEGER(IntKi), PARAMETER :: M2N1FAMzi = 3169 - INTEGER(IntKi), PARAMETER :: M2N2FAMzi = 3170 - INTEGER(IntKi), PARAMETER :: M2N3FAMzi = 3171 - INTEGER(IntKi), PARAMETER :: M2N4FAMzi = 3172 - INTEGER(IntKi), PARAMETER :: M2N5FAMzi = 3173 - INTEGER(IntKi), PARAMETER :: M2N6FAMzi = 3174 - INTEGER(IntKi), PARAMETER :: M2N7FAMzi = 3175 - INTEGER(IntKi), PARAMETER :: M2N8FAMzi = 3176 - INTEGER(IntKi), PARAMETER :: M2N9FAMzi = 3177 - INTEGER(IntKi), PARAMETER :: M3N1FAMzi = 3178 - INTEGER(IntKi), PARAMETER :: M3N2FAMzi = 3179 - INTEGER(IntKi), PARAMETER :: M3N3FAMzi = 3180 - INTEGER(IntKi), PARAMETER :: M3N4FAMzi = 3181 - INTEGER(IntKi), PARAMETER :: M3N5FAMzi = 3182 - INTEGER(IntKi), PARAMETER :: M3N6FAMzi = 3183 - INTEGER(IntKi), PARAMETER :: M3N7FAMzi = 3184 - INTEGER(IntKi), PARAMETER :: M3N8FAMzi = 3185 - INTEGER(IntKi), PARAMETER :: M3N9FAMzi = 3186 - INTEGER(IntKi), PARAMETER :: M4N1FAMzi = 3187 - INTEGER(IntKi), PARAMETER :: M4N2FAMzi = 3188 - INTEGER(IntKi), PARAMETER :: M4N3FAMzi = 3189 - INTEGER(IntKi), PARAMETER :: M4N4FAMzi = 3190 - INTEGER(IntKi), PARAMETER :: M4N5FAMzi = 3191 - INTEGER(IntKi), PARAMETER :: M4N6FAMzi = 3192 - INTEGER(IntKi), PARAMETER :: M4N7FAMzi = 3193 - INTEGER(IntKi), PARAMETER :: M4N8FAMzi = 3194 - INTEGER(IntKi), PARAMETER :: M4N9FAMzi = 3195 - INTEGER(IntKi), PARAMETER :: M5N1FAMzi = 3196 - INTEGER(IntKi), PARAMETER :: M5N2FAMzi = 3197 - INTEGER(IntKi), PARAMETER :: M5N3FAMzi = 3198 - INTEGER(IntKi), PARAMETER :: M5N4FAMzi = 3199 - INTEGER(IntKi), PARAMETER :: M5N5FAMzi = 3200 - INTEGER(IntKi), PARAMETER :: M5N6FAMzi = 3201 - INTEGER(IntKi), PARAMETER :: M5N7FAMzi = 3202 - INTEGER(IntKi), PARAMETER :: M5N8FAMzi = 3203 - INTEGER(IntKi), PARAMETER :: M5N9FAMzi = 3204 - INTEGER(IntKi), PARAMETER :: M6N1FAMzi = 3205 - INTEGER(IntKi), PARAMETER :: M6N2FAMzi = 3206 - INTEGER(IntKi), PARAMETER :: M6N3FAMzi = 3207 - INTEGER(IntKi), PARAMETER :: M6N4FAMzi = 3208 - INTEGER(IntKi), PARAMETER :: M6N5FAMzi = 3209 - INTEGER(IntKi), PARAMETER :: M6N6FAMzi = 3210 - INTEGER(IntKi), PARAMETER :: M6N7FAMzi = 3211 - INTEGER(IntKi), PARAMETER :: M6N8FAMzi = 3212 - INTEGER(IntKi), PARAMETER :: M6N9FAMzi = 3213 - INTEGER(IntKi), PARAMETER :: M7N1FAMzi = 3214 - INTEGER(IntKi), PARAMETER :: M7N2FAMzi = 3215 - INTEGER(IntKi), PARAMETER :: M7N3FAMzi = 3216 - INTEGER(IntKi), PARAMETER :: M7N4FAMzi = 3217 - INTEGER(IntKi), PARAMETER :: M7N5FAMzi = 3218 - INTEGER(IntKi), PARAMETER :: M7N6FAMzi = 3219 - INTEGER(IntKi), PARAMETER :: M7N7FAMzi = 3220 - INTEGER(IntKi), PARAMETER :: M7N8FAMzi = 3221 - INTEGER(IntKi), PARAMETER :: M7N9FAMzi = 3222 - INTEGER(IntKi), PARAMETER :: M8N1FAMzi = 3223 - INTEGER(IntKi), PARAMETER :: M8N2FAMzi = 3224 - INTEGER(IntKi), PARAMETER :: M8N3FAMzi = 3225 - INTEGER(IntKi), PARAMETER :: M8N4FAMzi = 3226 - INTEGER(IntKi), PARAMETER :: M8N5FAMzi = 3227 - INTEGER(IntKi), PARAMETER :: M8N6FAMzi = 3228 - INTEGER(IntKi), PARAMETER :: M8N7FAMzi = 3229 - INTEGER(IntKi), PARAMETER :: M8N8FAMzi = 3230 - INTEGER(IntKi), PARAMETER :: M8N9FAMzi = 3231 - INTEGER(IntKi), PARAMETER :: M9N1FAMzi = 3232 - INTEGER(IntKi), PARAMETER :: M9N2FAMzi = 3233 - INTEGER(IntKi), PARAMETER :: M9N3FAMzi = 3234 - INTEGER(IntKi), PARAMETER :: M9N4FAMzi = 3235 - INTEGER(IntKi), PARAMETER :: M9N5FAMzi = 3236 - INTEGER(IntKi), PARAMETER :: M9N6FAMzi = 3237 - INTEGER(IntKi), PARAMETER :: M9N7FAMzi = 3238 - INTEGER(IntKi), PARAMETER :: M9N8FAMzi = 3239 - INTEGER(IntKi), PARAMETER :: M9N9FAMzi = 3240 - INTEGER(IntKi), PARAMETER :: M1N1FAGxi = 3241 - INTEGER(IntKi), PARAMETER :: M1N2FAGxi = 3242 - INTEGER(IntKi), PARAMETER :: M1N3FAGxi = 3243 - INTEGER(IntKi), PARAMETER :: M1N4FAGxi = 3244 - INTEGER(IntKi), PARAMETER :: M1N5FAGxi = 3245 - INTEGER(IntKi), PARAMETER :: M1N6FAGxi = 3246 - INTEGER(IntKi), PARAMETER :: M1N7FAGxi = 3247 - INTEGER(IntKi), PARAMETER :: M1N8FAGxi = 3248 - INTEGER(IntKi), PARAMETER :: M1N9FAGxi = 3249 - INTEGER(IntKi), PARAMETER :: M2N1FAGxi = 3250 - INTEGER(IntKi), PARAMETER :: M2N2FAGxi = 3251 - INTEGER(IntKi), PARAMETER :: M2N3FAGxi = 3252 - INTEGER(IntKi), PARAMETER :: M2N4FAGxi = 3253 - INTEGER(IntKi), PARAMETER :: M2N5FAGxi = 3254 - INTEGER(IntKi), PARAMETER :: M2N6FAGxi = 3255 - INTEGER(IntKi), PARAMETER :: M2N7FAGxi = 3256 - INTEGER(IntKi), PARAMETER :: M2N8FAGxi = 3257 - INTEGER(IntKi), PARAMETER :: M2N9FAGxi = 3258 - INTEGER(IntKi), PARAMETER :: M3N1FAGxi = 3259 - INTEGER(IntKi), PARAMETER :: M3N2FAGxi = 3260 - INTEGER(IntKi), PARAMETER :: M3N3FAGxi = 3261 - INTEGER(IntKi), PARAMETER :: M3N4FAGxi = 3262 - INTEGER(IntKi), PARAMETER :: M3N5FAGxi = 3263 - INTEGER(IntKi), PARAMETER :: M3N6FAGxi = 3264 - INTEGER(IntKi), PARAMETER :: M3N7FAGxi = 3265 - INTEGER(IntKi), PARAMETER :: M3N8FAGxi = 3266 - INTEGER(IntKi), PARAMETER :: M3N9FAGxi = 3267 - INTEGER(IntKi), PARAMETER :: M4N1FAGxi = 3268 - INTEGER(IntKi), PARAMETER :: M4N2FAGxi = 3269 - INTEGER(IntKi), PARAMETER :: M4N3FAGxi = 3270 - INTEGER(IntKi), PARAMETER :: M4N4FAGxi = 3271 - INTEGER(IntKi), PARAMETER :: M4N5FAGxi = 3272 - INTEGER(IntKi), PARAMETER :: M4N6FAGxi = 3273 - INTEGER(IntKi), PARAMETER :: M4N7FAGxi = 3274 - INTEGER(IntKi), PARAMETER :: M4N8FAGxi = 3275 - INTEGER(IntKi), PARAMETER :: M4N9FAGxi = 3276 - INTEGER(IntKi), PARAMETER :: M5N1FAGxi = 3277 - INTEGER(IntKi), PARAMETER :: M5N2FAGxi = 3278 - INTEGER(IntKi), PARAMETER :: M5N3FAGxi = 3279 - INTEGER(IntKi), PARAMETER :: M5N4FAGxi = 3280 - INTEGER(IntKi), PARAMETER :: M5N5FAGxi = 3281 - INTEGER(IntKi), PARAMETER :: M5N6FAGxi = 3282 - INTEGER(IntKi), PARAMETER :: M5N7FAGxi = 3283 - INTEGER(IntKi), PARAMETER :: M5N8FAGxi = 3284 - INTEGER(IntKi), PARAMETER :: M5N9FAGxi = 3285 - INTEGER(IntKi), PARAMETER :: M6N1FAGxi = 3286 - INTEGER(IntKi), PARAMETER :: M6N2FAGxi = 3287 - INTEGER(IntKi), PARAMETER :: M6N3FAGxi = 3288 - INTEGER(IntKi), PARAMETER :: M6N4FAGxi = 3289 - INTEGER(IntKi), PARAMETER :: M6N5FAGxi = 3290 - INTEGER(IntKi), PARAMETER :: M6N6FAGxi = 3291 - INTEGER(IntKi), PARAMETER :: M6N7FAGxi = 3292 - INTEGER(IntKi), PARAMETER :: M6N8FAGxi = 3293 - INTEGER(IntKi), PARAMETER :: M6N9FAGxi = 3294 - INTEGER(IntKi), PARAMETER :: M7N1FAGxi = 3295 - INTEGER(IntKi), PARAMETER :: M7N2FAGxi = 3296 - INTEGER(IntKi), PARAMETER :: M7N3FAGxi = 3297 - INTEGER(IntKi), PARAMETER :: M7N4FAGxi = 3298 - INTEGER(IntKi), PARAMETER :: M7N5FAGxi = 3299 - INTEGER(IntKi), PARAMETER :: M7N6FAGxi = 3300 - INTEGER(IntKi), PARAMETER :: M7N7FAGxi = 3301 - INTEGER(IntKi), PARAMETER :: M7N8FAGxi = 3302 - INTEGER(IntKi), PARAMETER :: M7N9FAGxi = 3303 - INTEGER(IntKi), PARAMETER :: M8N1FAGxi = 3304 - INTEGER(IntKi), PARAMETER :: M8N2FAGxi = 3305 - INTEGER(IntKi), PARAMETER :: M8N3FAGxi = 3306 - INTEGER(IntKi), PARAMETER :: M8N4FAGxi = 3307 - INTEGER(IntKi), PARAMETER :: M8N5FAGxi = 3308 - INTEGER(IntKi), PARAMETER :: M8N6FAGxi = 3309 - INTEGER(IntKi), PARAMETER :: M8N7FAGxi = 3310 - INTEGER(IntKi), PARAMETER :: M8N8FAGxi = 3311 - INTEGER(IntKi), PARAMETER :: M8N9FAGxi = 3312 - INTEGER(IntKi), PARAMETER :: M9N1FAGxi = 3313 - INTEGER(IntKi), PARAMETER :: M9N2FAGxi = 3314 - INTEGER(IntKi), PARAMETER :: M9N3FAGxi = 3315 - INTEGER(IntKi), PARAMETER :: M9N4FAGxi = 3316 - INTEGER(IntKi), PARAMETER :: M9N5FAGxi = 3317 - INTEGER(IntKi), PARAMETER :: M9N6FAGxi = 3318 - INTEGER(IntKi), PARAMETER :: M9N7FAGxi = 3319 - INTEGER(IntKi), PARAMETER :: M9N8FAGxi = 3320 - INTEGER(IntKi), PARAMETER :: M9N9FAGxi = 3321 - INTEGER(IntKi), PARAMETER :: M1N1FAGyi = 3322 - INTEGER(IntKi), PARAMETER :: M1N2FAGyi = 3323 - INTEGER(IntKi), PARAMETER :: M1N3FAGyi = 3324 - INTEGER(IntKi), PARAMETER :: M1N4FAGyi = 3325 - INTEGER(IntKi), PARAMETER :: M1N5FAGyi = 3326 - INTEGER(IntKi), PARAMETER :: M1N6FAGyi = 3327 - INTEGER(IntKi), PARAMETER :: M1N7FAGyi = 3328 - INTEGER(IntKi), PARAMETER :: M1N8FAGyi = 3329 - INTEGER(IntKi), PARAMETER :: M1N9FAGyi = 3330 - INTEGER(IntKi), PARAMETER :: M2N1FAGyi = 3331 - INTEGER(IntKi), PARAMETER :: M2N2FAGyi = 3332 - INTEGER(IntKi), PARAMETER :: M2N3FAGyi = 3333 - INTEGER(IntKi), PARAMETER :: M2N4FAGyi = 3334 - INTEGER(IntKi), PARAMETER :: M2N5FAGyi = 3335 - INTEGER(IntKi), PARAMETER :: M2N6FAGyi = 3336 - INTEGER(IntKi), PARAMETER :: M2N7FAGyi = 3337 - INTEGER(IntKi), PARAMETER :: M2N8FAGyi = 3338 - INTEGER(IntKi), PARAMETER :: M2N9FAGyi = 3339 - INTEGER(IntKi), PARAMETER :: M3N1FAGyi = 3340 - INTEGER(IntKi), PARAMETER :: M3N2FAGyi = 3341 - INTEGER(IntKi), PARAMETER :: M3N3FAGyi = 3342 - INTEGER(IntKi), PARAMETER :: M3N4FAGyi = 3343 - INTEGER(IntKi), PARAMETER :: M3N5FAGyi = 3344 - INTEGER(IntKi), PARAMETER :: M3N6FAGyi = 3345 - INTEGER(IntKi), PARAMETER :: M3N7FAGyi = 3346 - INTEGER(IntKi), PARAMETER :: M3N8FAGyi = 3347 - INTEGER(IntKi), PARAMETER :: M3N9FAGyi = 3348 - INTEGER(IntKi), PARAMETER :: M4N1FAGyi = 3349 - INTEGER(IntKi), PARAMETER :: M4N2FAGyi = 3350 - INTEGER(IntKi), PARAMETER :: M4N3FAGyi = 3351 - INTEGER(IntKi), PARAMETER :: M4N4FAGyi = 3352 - INTEGER(IntKi), PARAMETER :: M4N5FAGyi = 3353 - INTEGER(IntKi), PARAMETER :: M4N6FAGyi = 3354 - INTEGER(IntKi), PARAMETER :: M4N7FAGyi = 3355 - INTEGER(IntKi), PARAMETER :: M4N8FAGyi = 3356 - INTEGER(IntKi), PARAMETER :: M4N9FAGyi = 3357 - INTEGER(IntKi), PARAMETER :: M5N1FAGyi = 3358 - INTEGER(IntKi), PARAMETER :: M5N2FAGyi = 3359 - INTEGER(IntKi), PARAMETER :: M5N3FAGyi = 3360 - INTEGER(IntKi), PARAMETER :: M5N4FAGyi = 3361 - INTEGER(IntKi), PARAMETER :: M5N5FAGyi = 3362 - INTEGER(IntKi), PARAMETER :: M5N6FAGyi = 3363 - INTEGER(IntKi), PARAMETER :: M5N7FAGyi = 3364 - INTEGER(IntKi), PARAMETER :: M5N8FAGyi = 3365 - INTEGER(IntKi), PARAMETER :: M5N9FAGyi = 3366 - INTEGER(IntKi), PARAMETER :: M6N1FAGyi = 3367 - INTEGER(IntKi), PARAMETER :: M6N2FAGyi = 3368 - INTEGER(IntKi), PARAMETER :: M6N3FAGyi = 3369 - INTEGER(IntKi), PARAMETER :: M6N4FAGyi = 3370 - INTEGER(IntKi), PARAMETER :: M6N5FAGyi = 3371 - INTEGER(IntKi), PARAMETER :: M6N6FAGyi = 3372 - INTEGER(IntKi), PARAMETER :: M6N7FAGyi = 3373 - INTEGER(IntKi), PARAMETER :: M6N8FAGyi = 3374 - INTEGER(IntKi), PARAMETER :: M6N9FAGyi = 3375 - INTEGER(IntKi), PARAMETER :: M7N1FAGyi = 3376 - INTEGER(IntKi), PARAMETER :: M7N2FAGyi = 3377 - INTEGER(IntKi), PARAMETER :: M7N3FAGyi = 3378 - INTEGER(IntKi), PARAMETER :: M7N4FAGyi = 3379 - INTEGER(IntKi), PARAMETER :: M7N5FAGyi = 3380 - INTEGER(IntKi), PARAMETER :: M7N6FAGyi = 3381 - INTEGER(IntKi), PARAMETER :: M7N7FAGyi = 3382 - INTEGER(IntKi), PARAMETER :: M7N8FAGyi = 3383 - INTEGER(IntKi), PARAMETER :: M7N9FAGyi = 3384 - INTEGER(IntKi), PARAMETER :: M8N1FAGyi = 3385 - INTEGER(IntKi), PARAMETER :: M8N2FAGyi = 3386 - INTEGER(IntKi), PARAMETER :: M8N3FAGyi = 3387 - INTEGER(IntKi), PARAMETER :: M8N4FAGyi = 3388 - INTEGER(IntKi), PARAMETER :: M8N5FAGyi = 3389 - INTEGER(IntKi), PARAMETER :: M8N6FAGyi = 3390 - INTEGER(IntKi), PARAMETER :: M8N7FAGyi = 3391 - INTEGER(IntKi), PARAMETER :: M8N8FAGyi = 3392 - INTEGER(IntKi), PARAMETER :: M8N9FAGyi = 3393 - INTEGER(IntKi), PARAMETER :: M9N1FAGyi = 3394 - INTEGER(IntKi), PARAMETER :: M9N2FAGyi = 3395 - INTEGER(IntKi), PARAMETER :: M9N3FAGyi = 3396 - INTEGER(IntKi), PARAMETER :: M9N4FAGyi = 3397 - INTEGER(IntKi), PARAMETER :: M9N5FAGyi = 3398 - INTEGER(IntKi), PARAMETER :: M9N6FAGyi = 3399 - INTEGER(IntKi), PARAMETER :: M9N7FAGyi = 3400 - INTEGER(IntKi), PARAMETER :: M9N8FAGyi = 3401 - INTEGER(IntKi), PARAMETER :: M9N9FAGyi = 3402 - INTEGER(IntKi), PARAMETER :: M1N1FAGzi = 3403 - INTEGER(IntKi), PARAMETER :: M1N2FAGzi = 3404 - INTEGER(IntKi), PARAMETER :: M1N3FAGzi = 3405 - INTEGER(IntKi), PARAMETER :: M1N4FAGzi = 3406 - INTEGER(IntKi), PARAMETER :: M1N5FAGzi = 3407 - INTEGER(IntKi), PARAMETER :: M1N6FAGzi = 3408 - INTEGER(IntKi), PARAMETER :: M1N7FAGzi = 3409 - INTEGER(IntKi), PARAMETER :: M1N8FAGzi = 3410 - INTEGER(IntKi), PARAMETER :: M1N9FAGzi = 3411 - INTEGER(IntKi), PARAMETER :: M2N1FAGzi = 3412 - INTEGER(IntKi), PARAMETER :: M2N2FAGzi = 3413 - INTEGER(IntKi), PARAMETER :: M2N3FAGzi = 3414 - INTEGER(IntKi), PARAMETER :: M2N4FAGzi = 3415 - INTEGER(IntKi), PARAMETER :: M2N5FAGzi = 3416 - INTEGER(IntKi), PARAMETER :: M2N6FAGzi = 3417 - INTEGER(IntKi), PARAMETER :: M2N7FAGzi = 3418 - INTEGER(IntKi), PARAMETER :: M2N8FAGzi = 3419 - INTEGER(IntKi), PARAMETER :: M2N9FAGzi = 3420 - INTEGER(IntKi), PARAMETER :: M3N1FAGzi = 3421 - INTEGER(IntKi), PARAMETER :: M3N2FAGzi = 3422 - INTEGER(IntKi), PARAMETER :: M3N3FAGzi = 3423 - INTEGER(IntKi), PARAMETER :: M3N4FAGzi = 3424 - INTEGER(IntKi), PARAMETER :: M3N5FAGzi = 3425 - INTEGER(IntKi), PARAMETER :: M3N6FAGzi = 3426 - INTEGER(IntKi), PARAMETER :: M3N7FAGzi = 3427 - INTEGER(IntKi), PARAMETER :: M3N8FAGzi = 3428 - INTEGER(IntKi), PARAMETER :: M3N9FAGzi = 3429 - INTEGER(IntKi), PARAMETER :: M4N1FAGzi = 3430 - INTEGER(IntKi), PARAMETER :: M4N2FAGzi = 3431 - INTEGER(IntKi), PARAMETER :: M4N3FAGzi = 3432 - INTEGER(IntKi), PARAMETER :: M4N4FAGzi = 3433 - INTEGER(IntKi), PARAMETER :: M4N5FAGzi = 3434 - INTEGER(IntKi), PARAMETER :: M4N6FAGzi = 3435 - INTEGER(IntKi), PARAMETER :: M4N7FAGzi = 3436 - INTEGER(IntKi), PARAMETER :: M4N8FAGzi = 3437 - INTEGER(IntKi), PARAMETER :: M4N9FAGzi = 3438 - INTEGER(IntKi), PARAMETER :: M5N1FAGzi = 3439 - INTEGER(IntKi), PARAMETER :: M5N2FAGzi = 3440 - INTEGER(IntKi), PARAMETER :: M5N3FAGzi = 3441 - INTEGER(IntKi), PARAMETER :: M5N4FAGzi = 3442 - INTEGER(IntKi), PARAMETER :: M5N5FAGzi = 3443 - INTEGER(IntKi), PARAMETER :: M5N6FAGzi = 3444 - INTEGER(IntKi), PARAMETER :: M5N7FAGzi = 3445 - INTEGER(IntKi), PARAMETER :: M5N8FAGzi = 3446 - INTEGER(IntKi), PARAMETER :: M5N9FAGzi = 3447 - INTEGER(IntKi), PARAMETER :: M6N1FAGzi = 3448 - INTEGER(IntKi), PARAMETER :: M6N2FAGzi = 3449 - INTEGER(IntKi), PARAMETER :: M6N3FAGzi = 3450 - INTEGER(IntKi), PARAMETER :: M6N4FAGzi = 3451 - INTEGER(IntKi), PARAMETER :: M6N5FAGzi = 3452 - INTEGER(IntKi), PARAMETER :: M6N6FAGzi = 3453 - INTEGER(IntKi), PARAMETER :: M6N7FAGzi = 3454 - INTEGER(IntKi), PARAMETER :: M6N8FAGzi = 3455 - INTEGER(IntKi), PARAMETER :: M6N9FAGzi = 3456 - INTEGER(IntKi), PARAMETER :: M7N1FAGzi = 3457 - INTEGER(IntKi), PARAMETER :: M7N2FAGzi = 3458 - INTEGER(IntKi), PARAMETER :: M7N3FAGzi = 3459 - INTEGER(IntKi), PARAMETER :: M7N4FAGzi = 3460 - INTEGER(IntKi), PARAMETER :: M7N5FAGzi = 3461 - INTEGER(IntKi), PARAMETER :: M7N6FAGzi = 3462 - INTEGER(IntKi), PARAMETER :: M7N7FAGzi = 3463 - INTEGER(IntKi), PARAMETER :: M7N8FAGzi = 3464 - INTEGER(IntKi), PARAMETER :: M7N9FAGzi = 3465 - INTEGER(IntKi), PARAMETER :: M8N1FAGzi = 3466 - INTEGER(IntKi), PARAMETER :: M8N2FAGzi = 3467 - INTEGER(IntKi), PARAMETER :: M8N3FAGzi = 3468 - INTEGER(IntKi), PARAMETER :: M8N4FAGzi = 3469 - INTEGER(IntKi), PARAMETER :: M8N5FAGzi = 3470 - INTEGER(IntKi), PARAMETER :: M8N6FAGzi = 3471 - INTEGER(IntKi), PARAMETER :: M8N7FAGzi = 3472 - INTEGER(IntKi), PARAMETER :: M8N8FAGzi = 3473 - INTEGER(IntKi), PARAMETER :: M8N9FAGzi = 3474 - INTEGER(IntKi), PARAMETER :: M9N1FAGzi = 3475 - INTEGER(IntKi), PARAMETER :: M9N2FAGzi = 3476 - INTEGER(IntKi), PARAMETER :: M9N3FAGzi = 3477 - INTEGER(IntKi), PARAMETER :: M9N4FAGzi = 3478 - INTEGER(IntKi), PARAMETER :: M9N5FAGzi = 3479 - INTEGER(IntKi), PARAMETER :: M9N6FAGzi = 3480 - INTEGER(IntKi), PARAMETER :: M9N7FAGzi = 3481 - INTEGER(IntKi), PARAMETER :: M9N8FAGzi = 3482 - INTEGER(IntKi), PARAMETER :: M9N9FAGzi = 3483 - INTEGER(IntKi), PARAMETER :: M1N1MAGxi = 3484 - INTEGER(IntKi), PARAMETER :: M1N2MAGxi = 3485 - INTEGER(IntKi), PARAMETER :: M1N3MAGxi = 3486 - INTEGER(IntKi), PARAMETER :: M1N4MAGxi = 3487 - INTEGER(IntKi), PARAMETER :: M1N5MAGxi = 3488 - INTEGER(IntKi), PARAMETER :: M1N6MAGxi = 3489 - INTEGER(IntKi), PARAMETER :: M1N7MAGxi = 3490 - INTEGER(IntKi), PARAMETER :: M1N8MAGxi = 3491 - INTEGER(IntKi), PARAMETER :: M1N9MAGxi = 3492 - INTEGER(IntKi), PARAMETER :: M2N1MAGxi = 3493 - INTEGER(IntKi), PARAMETER :: M2N2MAGxi = 3494 - INTEGER(IntKi), PARAMETER :: M2N3MAGxi = 3495 - INTEGER(IntKi), PARAMETER :: M2N4MAGxi = 3496 - INTEGER(IntKi), PARAMETER :: M2N5MAGxi = 3497 - INTEGER(IntKi), PARAMETER :: M2N6MAGxi = 3498 - INTEGER(IntKi), PARAMETER :: M2N7MAGxi = 3499 - INTEGER(IntKi), PARAMETER :: M2N8MAGxi = 3500 - INTEGER(IntKi), PARAMETER :: M2N9MAGxi = 3501 - INTEGER(IntKi), PARAMETER :: M3N1MAGxi = 3502 - INTEGER(IntKi), PARAMETER :: M3N2MAGxi = 3503 - INTEGER(IntKi), PARAMETER :: M3N3MAGxi = 3504 - INTEGER(IntKi), PARAMETER :: M3N4MAGxi = 3505 - INTEGER(IntKi), PARAMETER :: M3N5MAGxi = 3506 - INTEGER(IntKi), PARAMETER :: M3N6MAGxi = 3507 - INTEGER(IntKi), PARAMETER :: M3N7MAGxi = 3508 - INTEGER(IntKi), PARAMETER :: M3N8MAGxi = 3509 - INTEGER(IntKi), PARAMETER :: M3N9MAGxi = 3510 - INTEGER(IntKi), PARAMETER :: M4N1MAGxi = 3511 - INTEGER(IntKi), PARAMETER :: M4N2MAGxi = 3512 - INTEGER(IntKi), PARAMETER :: M4N3MAGxi = 3513 - INTEGER(IntKi), PARAMETER :: M4N4MAGxi = 3514 - INTEGER(IntKi), PARAMETER :: M4N5MAGxi = 3515 - INTEGER(IntKi), PARAMETER :: M4N6MAGxi = 3516 - INTEGER(IntKi), PARAMETER :: M4N7MAGxi = 3517 - INTEGER(IntKi), PARAMETER :: M4N8MAGxi = 3518 - INTEGER(IntKi), PARAMETER :: M4N9MAGxi = 3519 - INTEGER(IntKi), PARAMETER :: M5N1MAGxi = 3520 - INTEGER(IntKi), PARAMETER :: M5N2MAGxi = 3521 - INTEGER(IntKi), PARAMETER :: M5N3MAGxi = 3522 - INTEGER(IntKi), PARAMETER :: M5N4MAGxi = 3523 - INTEGER(IntKi), PARAMETER :: M5N5MAGxi = 3524 - INTEGER(IntKi), PARAMETER :: M5N6MAGxi = 3525 - INTEGER(IntKi), PARAMETER :: M5N7MAGxi = 3526 - INTEGER(IntKi), PARAMETER :: M5N8MAGxi = 3527 - INTEGER(IntKi), PARAMETER :: M5N9MAGxi = 3528 - INTEGER(IntKi), PARAMETER :: M6N1MAGxi = 3529 - INTEGER(IntKi), PARAMETER :: M6N2MAGxi = 3530 - INTEGER(IntKi), PARAMETER :: M6N3MAGxi = 3531 - INTEGER(IntKi), PARAMETER :: M6N4MAGxi = 3532 - INTEGER(IntKi), PARAMETER :: M6N5MAGxi = 3533 - INTEGER(IntKi), PARAMETER :: M6N6MAGxi = 3534 - INTEGER(IntKi), PARAMETER :: M6N7MAGxi = 3535 - INTEGER(IntKi), PARAMETER :: M6N8MAGxi = 3536 - INTEGER(IntKi), PARAMETER :: M6N9MAGxi = 3537 - INTEGER(IntKi), PARAMETER :: M7N1MAGxi = 3538 - INTEGER(IntKi), PARAMETER :: M7N2MAGxi = 3539 - INTEGER(IntKi), PARAMETER :: M7N3MAGxi = 3540 - INTEGER(IntKi), PARAMETER :: M7N4MAGxi = 3541 - INTEGER(IntKi), PARAMETER :: M7N5MAGxi = 3542 - INTEGER(IntKi), PARAMETER :: M7N6MAGxi = 3543 - INTEGER(IntKi), PARAMETER :: M7N7MAGxi = 3544 - INTEGER(IntKi), PARAMETER :: M7N8MAGxi = 3545 - INTEGER(IntKi), PARAMETER :: M7N9MAGxi = 3546 - INTEGER(IntKi), PARAMETER :: M8N1MAGxi = 3547 - INTEGER(IntKi), PARAMETER :: M8N2MAGxi = 3548 - INTEGER(IntKi), PARAMETER :: M8N3MAGxi = 3549 - INTEGER(IntKi), PARAMETER :: M8N4MAGxi = 3550 - INTEGER(IntKi), PARAMETER :: M8N5MAGxi = 3551 - INTEGER(IntKi), PARAMETER :: M8N6MAGxi = 3552 - INTEGER(IntKi), PARAMETER :: M8N7MAGxi = 3553 - INTEGER(IntKi), PARAMETER :: M8N8MAGxi = 3554 - INTEGER(IntKi), PARAMETER :: M8N9MAGxi = 3555 - INTEGER(IntKi), PARAMETER :: M9N1MAGxi = 3556 - INTEGER(IntKi), PARAMETER :: M9N2MAGxi = 3557 - INTEGER(IntKi), PARAMETER :: M9N3MAGxi = 3558 - INTEGER(IntKi), PARAMETER :: M9N4MAGxi = 3559 - INTEGER(IntKi), PARAMETER :: M9N5MAGxi = 3560 - INTEGER(IntKi), PARAMETER :: M9N6MAGxi = 3561 - INTEGER(IntKi), PARAMETER :: M9N7MAGxi = 3562 - INTEGER(IntKi), PARAMETER :: M9N8MAGxi = 3563 - INTEGER(IntKi), PARAMETER :: M9N9MAGxi = 3564 - INTEGER(IntKi), PARAMETER :: M1N1MAGyi = 3565 - INTEGER(IntKi), PARAMETER :: M1N2MAGyi = 3566 - INTEGER(IntKi), PARAMETER :: M1N3MAGyi = 3567 - INTEGER(IntKi), PARAMETER :: M1N4MAGyi = 3568 - INTEGER(IntKi), PARAMETER :: M1N5MAGyi = 3569 - INTEGER(IntKi), PARAMETER :: M1N6MAGyi = 3570 - INTEGER(IntKi), PARAMETER :: M1N7MAGyi = 3571 - INTEGER(IntKi), PARAMETER :: M1N8MAGyi = 3572 - INTEGER(IntKi), PARAMETER :: M1N9MAGyi = 3573 - INTEGER(IntKi), PARAMETER :: M2N1MAGyi = 3574 - INTEGER(IntKi), PARAMETER :: M2N2MAGyi = 3575 - INTEGER(IntKi), PARAMETER :: M2N3MAGyi = 3576 - INTEGER(IntKi), PARAMETER :: M2N4MAGyi = 3577 - INTEGER(IntKi), PARAMETER :: M2N5MAGyi = 3578 - INTEGER(IntKi), PARAMETER :: M2N6MAGyi = 3579 - INTEGER(IntKi), PARAMETER :: M2N7MAGyi = 3580 - INTEGER(IntKi), PARAMETER :: M2N8MAGyi = 3581 - INTEGER(IntKi), PARAMETER :: M2N9MAGyi = 3582 - INTEGER(IntKi), PARAMETER :: M3N1MAGyi = 3583 - INTEGER(IntKi), PARAMETER :: M3N2MAGyi = 3584 - INTEGER(IntKi), PARAMETER :: M3N3MAGyi = 3585 - INTEGER(IntKi), PARAMETER :: M3N4MAGyi = 3586 - INTEGER(IntKi), PARAMETER :: M3N5MAGyi = 3587 - INTEGER(IntKi), PARAMETER :: M3N6MAGyi = 3588 - INTEGER(IntKi), PARAMETER :: M3N7MAGyi = 3589 - INTEGER(IntKi), PARAMETER :: M3N8MAGyi = 3590 - INTEGER(IntKi), PARAMETER :: M3N9MAGyi = 3591 - INTEGER(IntKi), PARAMETER :: M4N1MAGyi = 3592 - INTEGER(IntKi), PARAMETER :: M4N2MAGyi = 3593 - INTEGER(IntKi), PARAMETER :: M4N3MAGyi = 3594 - INTEGER(IntKi), PARAMETER :: M4N4MAGyi = 3595 - INTEGER(IntKi), PARAMETER :: M4N5MAGyi = 3596 - INTEGER(IntKi), PARAMETER :: M4N6MAGyi = 3597 - INTEGER(IntKi), PARAMETER :: M4N7MAGyi = 3598 - INTEGER(IntKi), PARAMETER :: M4N8MAGyi = 3599 - INTEGER(IntKi), PARAMETER :: M4N9MAGyi = 3600 - INTEGER(IntKi), PARAMETER :: M5N1MAGyi = 3601 - INTEGER(IntKi), PARAMETER :: M5N2MAGyi = 3602 - INTEGER(IntKi), PARAMETER :: M5N3MAGyi = 3603 - INTEGER(IntKi), PARAMETER :: M5N4MAGyi = 3604 - INTEGER(IntKi), PARAMETER :: M5N5MAGyi = 3605 - INTEGER(IntKi), PARAMETER :: M5N6MAGyi = 3606 - INTEGER(IntKi), PARAMETER :: M5N7MAGyi = 3607 - INTEGER(IntKi), PARAMETER :: M5N8MAGyi = 3608 - INTEGER(IntKi), PARAMETER :: M5N9MAGyi = 3609 - INTEGER(IntKi), PARAMETER :: M6N1MAGyi = 3610 - INTEGER(IntKi), PARAMETER :: M6N2MAGyi = 3611 - INTEGER(IntKi), PARAMETER :: M6N3MAGyi = 3612 - INTEGER(IntKi), PARAMETER :: M6N4MAGyi = 3613 - INTEGER(IntKi), PARAMETER :: M6N5MAGyi = 3614 - INTEGER(IntKi), PARAMETER :: M6N6MAGyi = 3615 - INTEGER(IntKi), PARAMETER :: M6N7MAGyi = 3616 - INTEGER(IntKi), PARAMETER :: M6N8MAGyi = 3617 - INTEGER(IntKi), PARAMETER :: M6N9MAGyi = 3618 - INTEGER(IntKi), PARAMETER :: M7N1MAGyi = 3619 - INTEGER(IntKi), PARAMETER :: M7N2MAGyi = 3620 - INTEGER(IntKi), PARAMETER :: M7N3MAGyi = 3621 - INTEGER(IntKi), PARAMETER :: M7N4MAGyi = 3622 - INTEGER(IntKi), PARAMETER :: M7N5MAGyi = 3623 - INTEGER(IntKi), PARAMETER :: M7N6MAGyi = 3624 - INTEGER(IntKi), PARAMETER :: M7N7MAGyi = 3625 - INTEGER(IntKi), PARAMETER :: M7N8MAGyi = 3626 - INTEGER(IntKi), PARAMETER :: M7N9MAGyi = 3627 - INTEGER(IntKi), PARAMETER :: M8N1MAGyi = 3628 - INTEGER(IntKi), PARAMETER :: M8N2MAGyi = 3629 - INTEGER(IntKi), PARAMETER :: M8N3MAGyi = 3630 - INTEGER(IntKi), PARAMETER :: M8N4MAGyi = 3631 - INTEGER(IntKi), PARAMETER :: M8N5MAGyi = 3632 - INTEGER(IntKi), PARAMETER :: M8N6MAGyi = 3633 - INTEGER(IntKi), PARAMETER :: M8N7MAGyi = 3634 - INTEGER(IntKi), PARAMETER :: M8N8MAGyi = 3635 - INTEGER(IntKi), PARAMETER :: M8N9MAGyi = 3636 - INTEGER(IntKi), PARAMETER :: M9N1MAGyi = 3637 - INTEGER(IntKi), PARAMETER :: M9N2MAGyi = 3638 - INTEGER(IntKi), PARAMETER :: M9N3MAGyi = 3639 - INTEGER(IntKi), PARAMETER :: M9N4MAGyi = 3640 - INTEGER(IntKi), PARAMETER :: M9N5MAGyi = 3641 - INTEGER(IntKi), PARAMETER :: M9N6MAGyi = 3642 - INTEGER(IntKi), PARAMETER :: M9N7MAGyi = 3643 - INTEGER(IntKi), PARAMETER :: M9N8MAGyi = 3644 - INTEGER(IntKi), PARAMETER :: M9N9MAGyi = 3645 - INTEGER(IntKi), PARAMETER :: M1N1MAGzi = 3646 - INTEGER(IntKi), PARAMETER :: M1N2MAGzi = 3647 - INTEGER(IntKi), PARAMETER :: M1N3MAGzi = 3648 - INTEGER(IntKi), PARAMETER :: M1N4MAGzi = 3649 - INTEGER(IntKi), PARAMETER :: M1N5MAGzi = 3650 - INTEGER(IntKi), PARAMETER :: M1N6MAGzi = 3651 - INTEGER(IntKi), PARAMETER :: M1N7MAGzi = 3652 - INTEGER(IntKi), PARAMETER :: M1N8MAGzi = 3653 - INTEGER(IntKi), PARAMETER :: M1N9MAGzi = 3654 - INTEGER(IntKi), PARAMETER :: M2N1MAGzi = 3655 - INTEGER(IntKi), PARAMETER :: M2N2MAGzi = 3656 - INTEGER(IntKi), PARAMETER :: M2N3MAGzi = 3657 - INTEGER(IntKi), PARAMETER :: M2N4MAGzi = 3658 - INTEGER(IntKi), PARAMETER :: M2N5MAGzi = 3659 - INTEGER(IntKi), PARAMETER :: M2N6MAGzi = 3660 - INTEGER(IntKi), PARAMETER :: M2N7MAGzi = 3661 - INTEGER(IntKi), PARAMETER :: M2N8MAGzi = 3662 - INTEGER(IntKi), PARAMETER :: M2N9MAGzi = 3663 - INTEGER(IntKi), PARAMETER :: M3N1MAGzi = 3664 - INTEGER(IntKi), PARAMETER :: M3N2MAGzi = 3665 - INTEGER(IntKi), PARAMETER :: M3N3MAGzi = 3666 - INTEGER(IntKi), PARAMETER :: M3N4MAGzi = 3667 - INTEGER(IntKi), PARAMETER :: M3N5MAGzi = 3668 - INTEGER(IntKi), PARAMETER :: M3N6MAGzi = 3669 - INTEGER(IntKi), PARAMETER :: M3N7MAGzi = 3670 - INTEGER(IntKi), PARAMETER :: M3N8MAGzi = 3671 - INTEGER(IntKi), PARAMETER :: M3N9MAGzi = 3672 - INTEGER(IntKi), PARAMETER :: M4N1MAGzi = 3673 - INTEGER(IntKi), PARAMETER :: M4N2MAGzi = 3674 - INTEGER(IntKi), PARAMETER :: M4N3MAGzi = 3675 - INTEGER(IntKi), PARAMETER :: M4N4MAGzi = 3676 - INTEGER(IntKi), PARAMETER :: M4N5MAGzi = 3677 - INTEGER(IntKi), PARAMETER :: M4N6MAGzi = 3678 - INTEGER(IntKi), PARAMETER :: M4N7MAGzi = 3679 - INTEGER(IntKi), PARAMETER :: M4N8MAGzi = 3680 - INTEGER(IntKi), PARAMETER :: M4N9MAGzi = 3681 - INTEGER(IntKi), PARAMETER :: M5N1MAGzi = 3682 - INTEGER(IntKi), PARAMETER :: M5N2MAGzi = 3683 - INTEGER(IntKi), PARAMETER :: M5N3MAGzi = 3684 - INTEGER(IntKi), PARAMETER :: M5N4MAGzi = 3685 - INTEGER(IntKi), PARAMETER :: M5N5MAGzi = 3686 - INTEGER(IntKi), PARAMETER :: M5N6MAGzi = 3687 - INTEGER(IntKi), PARAMETER :: M5N7MAGzi = 3688 - INTEGER(IntKi), PARAMETER :: M5N8MAGzi = 3689 - INTEGER(IntKi), PARAMETER :: M5N9MAGzi = 3690 - INTEGER(IntKi), PARAMETER :: M6N1MAGzi = 3691 - INTEGER(IntKi), PARAMETER :: M6N2MAGzi = 3692 - INTEGER(IntKi), PARAMETER :: M6N3MAGzi = 3693 - INTEGER(IntKi), PARAMETER :: M6N4MAGzi = 3694 - INTEGER(IntKi), PARAMETER :: M6N5MAGzi = 3695 - INTEGER(IntKi), PARAMETER :: M6N6MAGzi = 3696 - INTEGER(IntKi), PARAMETER :: M6N7MAGzi = 3697 - INTEGER(IntKi), PARAMETER :: M6N8MAGzi = 3698 - INTEGER(IntKi), PARAMETER :: M6N9MAGzi = 3699 - INTEGER(IntKi), PARAMETER :: M7N1MAGzi = 3700 - INTEGER(IntKi), PARAMETER :: M7N2MAGzi = 3701 - INTEGER(IntKi), PARAMETER :: M7N3MAGzi = 3702 - INTEGER(IntKi), PARAMETER :: M7N4MAGzi = 3703 - INTEGER(IntKi), PARAMETER :: M7N5MAGzi = 3704 - INTEGER(IntKi), PARAMETER :: M7N6MAGzi = 3705 - INTEGER(IntKi), PARAMETER :: M7N7MAGzi = 3706 - INTEGER(IntKi), PARAMETER :: M7N8MAGzi = 3707 - INTEGER(IntKi), PARAMETER :: M7N9MAGzi = 3708 - INTEGER(IntKi), PARAMETER :: M8N1MAGzi = 3709 - INTEGER(IntKi), PARAMETER :: M8N2MAGzi = 3710 - INTEGER(IntKi), PARAMETER :: M8N3MAGzi = 3711 - INTEGER(IntKi), PARAMETER :: M8N4MAGzi = 3712 - INTEGER(IntKi), PARAMETER :: M8N5MAGzi = 3713 - INTEGER(IntKi), PARAMETER :: M8N6MAGzi = 3714 - INTEGER(IntKi), PARAMETER :: M8N7MAGzi = 3715 - INTEGER(IntKi), PARAMETER :: M8N8MAGzi = 3716 - INTEGER(IntKi), PARAMETER :: M8N9MAGzi = 3717 - INTEGER(IntKi), PARAMETER :: M9N1MAGzi = 3718 - INTEGER(IntKi), PARAMETER :: M9N2MAGzi = 3719 - INTEGER(IntKi), PARAMETER :: M9N3MAGzi = 3720 - INTEGER(IntKi), PARAMETER :: M9N4MAGzi = 3721 - INTEGER(IntKi), PARAMETER :: M9N5MAGzi = 3722 - INTEGER(IntKi), PARAMETER :: M9N6MAGzi = 3723 - INTEGER(IntKi), PARAMETER :: M9N7MAGzi = 3724 - INTEGER(IntKi), PARAMETER :: M9N8MAGzi = 3725 - INTEGER(IntKi), PARAMETER :: M9N9MAGzi = 3726 - INTEGER(IntKi), PARAMETER :: M1N1FAFxi = 3727 - INTEGER(IntKi), PARAMETER :: M1N2FAFxi = 3728 - INTEGER(IntKi), PARAMETER :: M1N3FAFxi = 3729 - INTEGER(IntKi), PARAMETER :: M1N4FAFxi = 3730 - INTEGER(IntKi), PARAMETER :: M1N5FAFxi = 3731 - INTEGER(IntKi), PARAMETER :: M1N6FAFxi = 3732 - INTEGER(IntKi), PARAMETER :: M1N7FAFxi = 3733 - INTEGER(IntKi), PARAMETER :: M1N8FAFxi = 3734 - INTEGER(IntKi), PARAMETER :: M1N9FAFxi = 3735 - INTEGER(IntKi), PARAMETER :: M2N1FAFxi = 3736 - INTEGER(IntKi), PARAMETER :: M2N2FAFxi = 3737 - INTEGER(IntKi), PARAMETER :: M2N3FAFxi = 3738 - INTEGER(IntKi), PARAMETER :: M2N4FAFxi = 3739 - INTEGER(IntKi), PARAMETER :: M2N5FAFxi = 3740 - INTEGER(IntKi), PARAMETER :: M2N6FAFxi = 3741 - INTEGER(IntKi), PARAMETER :: M2N7FAFxi = 3742 - INTEGER(IntKi), PARAMETER :: M2N8FAFxi = 3743 - INTEGER(IntKi), PARAMETER :: M2N9FAFxi = 3744 - INTEGER(IntKi), PARAMETER :: M3N1FAFxi = 3745 - INTEGER(IntKi), PARAMETER :: M3N2FAFxi = 3746 - INTEGER(IntKi), PARAMETER :: M3N3FAFxi = 3747 - INTEGER(IntKi), PARAMETER :: M3N4FAFxi = 3748 - INTEGER(IntKi), PARAMETER :: M3N5FAFxi = 3749 - INTEGER(IntKi), PARAMETER :: M3N6FAFxi = 3750 - INTEGER(IntKi), PARAMETER :: M3N7FAFxi = 3751 - INTEGER(IntKi), PARAMETER :: M3N8FAFxi = 3752 - INTEGER(IntKi), PARAMETER :: M3N9FAFxi = 3753 - INTEGER(IntKi), PARAMETER :: M4N1FAFxi = 3754 - INTEGER(IntKi), PARAMETER :: M4N2FAFxi = 3755 - INTEGER(IntKi), PARAMETER :: M4N3FAFxi = 3756 - INTEGER(IntKi), PARAMETER :: M4N4FAFxi = 3757 - INTEGER(IntKi), PARAMETER :: M4N5FAFxi = 3758 - INTEGER(IntKi), PARAMETER :: M4N6FAFxi = 3759 - INTEGER(IntKi), PARAMETER :: M4N7FAFxi = 3760 - INTEGER(IntKi), PARAMETER :: M4N8FAFxi = 3761 - INTEGER(IntKi), PARAMETER :: M4N9FAFxi = 3762 - INTEGER(IntKi), PARAMETER :: M5N1FAFxi = 3763 - INTEGER(IntKi), PARAMETER :: M5N2FAFxi = 3764 - INTEGER(IntKi), PARAMETER :: M5N3FAFxi = 3765 - INTEGER(IntKi), PARAMETER :: M5N4FAFxi = 3766 - INTEGER(IntKi), PARAMETER :: M5N5FAFxi = 3767 - INTEGER(IntKi), PARAMETER :: M5N6FAFxi = 3768 - INTEGER(IntKi), PARAMETER :: M5N7FAFxi = 3769 - INTEGER(IntKi), PARAMETER :: M5N8FAFxi = 3770 - INTEGER(IntKi), PARAMETER :: M5N9FAFxi = 3771 - INTEGER(IntKi), PARAMETER :: M6N1FAFxi = 3772 - INTEGER(IntKi), PARAMETER :: M6N2FAFxi = 3773 - INTEGER(IntKi), PARAMETER :: M6N3FAFxi = 3774 - INTEGER(IntKi), PARAMETER :: M6N4FAFxi = 3775 - INTEGER(IntKi), PARAMETER :: M6N5FAFxi = 3776 - INTEGER(IntKi), PARAMETER :: M6N6FAFxi = 3777 - INTEGER(IntKi), PARAMETER :: M6N7FAFxi = 3778 - INTEGER(IntKi), PARAMETER :: M6N8FAFxi = 3779 - INTEGER(IntKi), PARAMETER :: M6N9FAFxi = 3780 - INTEGER(IntKi), PARAMETER :: M7N1FAFxi = 3781 - INTEGER(IntKi), PARAMETER :: M7N2FAFxi = 3782 - INTEGER(IntKi), PARAMETER :: M7N3FAFxi = 3783 - INTEGER(IntKi), PARAMETER :: M7N4FAFxi = 3784 - INTEGER(IntKi), PARAMETER :: M7N5FAFxi = 3785 - INTEGER(IntKi), PARAMETER :: M7N6FAFxi = 3786 - INTEGER(IntKi), PARAMETER :: M7N7FAFxi = 3787 - INTEGER(IntKi), PARAMETER :: M7N8FAFxi = 3788 - INTEGER(IntKi), PARAMETER :: M7N9FAFxi = 3789 - INTEGER(IntKi), PARAMETER :: M8N1FAFxi = 3790 - INTEGER(IntKi), PARAMETER :: M8N2FAFxi = 3791 - INTEGER(IntKi), PARAMETER :: M8N3FAFxi = 3792 - INTEGER(IntKi), PARAMETER :: M8N4FAFxi = 3793 - INTEGER(IntKi), PARAMETER :: M8N5FAFxi = 3794 - INTEGER(IntKi), PARAMETER :: M8N6FAFxi = 3795 - INTEGER(IntKi), PARAMETER :: M8N7FAFxi = 3796 - INTEGER(IntKi), PARAMETER :: M8N8FAFxi = 3797 - INTEGER(IntKi), PARAMETER :: M8N9FAFxi = 3798 - INTEGER(IntKi), PARAMETER :: M9N1FAFxi = 3799 - INTEGER(IntKi), PARAMETER :: M9N2FAFxi = 3800 - INTEGER(IntKi), PARAMETER :: M9N3FAFxi = 3801 - INTEGER(IntKi), PARAMETER :: M9N4FAFxi = 3802 - INTEGER(IntKi), PARAMETER :: M9N5FAFxi = 3803 - INTEGER(IntKi), PARAMETER :: M9N6FAFxi = 3804 - INTEGER(IntKi), PARAMETER :: M9N7FAFxi = 3805 - INTEGER(IntKi), PARAMETER :: M9N8FAFxi = 3806 - INTEGER(IntKi), PARAMETER :: M9N9FAFxi = 3807 - INTEGER(IntKi), PARAMETER :: M1N1FAFyi = 3808 - INTEGER(IntKi), PARAMETER :: M1N2FAFyi = 3809 - INTEGER(IntKi), PARAMETER :: M1N3FAFyi = 3810 - INTEGER(IntKi), PARAMETER :: M1N4FAFyi = 3811 - INTEGER(IntKi), PARAMETER :: M1N5FAFyi = 3812 - INTEGER(IntKi), PARAMETER :: M1N6FAFyi = 3813 - INTEGER(IntKi), PARAMETER :: M1N7FAFyi = 3814 - INTEGER(IntKi), PARAMETER :: M1N8FAFyi = 3815 - INTEGER(IntKi), PARAMETER :: M1N9FAFyi = 3816 - INTEGER(IntKi), PARAMETER :: M2N1FAFyi = 3817 - INTEGER(IntKi), PARAMETER :: M2N2FAFyi = 3818 - INTEGER(IntKi), PARAMETER :: M2N3FAFyi = 3819 - INTEGER(IntKi), PARAMETER :: M2N4FAFyi = 3820 - INTEGER(IntKi), PARAMETER :: M2N5FAFyi = 3821 - INTEGER(IntKi), PARAMETER :: M2N6FAFyi = 3822 - INTEGER(IntKi), PARAMETER :: M2N7FAFyi = 3823 - INTEGER(IntKi), PARAMETER :: M2N8FAFyi = 3824 - INTEGER(IntKi), PARAMETER :: M2N9FAFyi = 3825 - INTEGER(IntKi), PARAMETER :: M3N1FAFyi = 3826 - INTEGER(IntKi), PARAMETER :: M3N2FAFyi = 3827 - INTEGER(IntKi), PARAMETER :: M3N3FAFyi = 3828 - INTEGER(IntKi), PARAMETER :: M3N4FAFyi = 3829 - INTEGER(IntKi), PARAMETER :: M3N5FAFyi = 3830 - INTEGER(IntKi), PARAMETER :: M3N6FAFyi = 3831 - INTEGER(IntKi), PARAMETER :: M3N7FAFyi = 3832 - INTEGER(IntKi), PARAMETER :: M3N8FAFyi = 3833 - INTEGER(IntKi), PARAMETER :: M3N9FAFyi = 3834 - INTEGER(IntKi), PARAMETER :: M4N1FAFyi = 3835 - INTEGER(IntKi), PARAMETER :: M4N2FAFyi = 3836 - INTEGER(IntKi), PARAMETER :: M4N3FAFyi = 3837 - INTEGER(IntKi), PARAMETER :: M4N4FAFyi = 3838 - INTEGER(IntKi), PARAMETER :: M4N5FAFyi = 3839 - INTEGER(IntKi), PARAMETER :: M4N6FAFyi = 3840 - INTEGER(IntKi), PARAMETER :: M4N7FAFyi = 3841 - INTEGER(IntKi), PARAMETER :: M4N8FAFyi = 3842 - INTEGER(IntKi), PARAMETER :: M4N9FAFyi = 3843 - INTEGER(IntKi), PARAMETER :: M5N1FAFyi = 3844 - INTEGER(IntKi), PARAMETER :: M5N2FAFyi = 3845 - INTEGER(IntKi), PARAMETER :: M5N3FAFyi = 3846 - INTEGER(IntKi), PARAMETER :: M5N4FAFyi = 3847 - INTEGER(IntKi), PARAMETER :: M5N5FAFyi = 3848 - INTEGER(IntKi), PARAMETER :: M5N6FAFyi = 3849 - INTEGER(IntKi), PARAMETER :: M5N7FAFyi = 3850 - INTEGER(IntKi), PARAMETER :: M5N8FAFyi = 3851 - INTEGER(IntKi), PARAMETER :: M5N9FAFyi = 3852 - INTEGER(IntKi), PARAMETER :: M6N1FAFyi = 3853 - INTEGER(IntKi), PARAMETER :: M6N2FAFyi = 3854 - INTEGER(IntKi), PARAMETER :: M6N3FAFyi = 3855 - INTEGER(IntKi), PARAMETER :: M6N4FAFyi = 3856 - INTEGER(IntKi), PARAMETER :: M6N5FAFyi = 3857 - INTEGER(IntKi), PARAMETER :: M6N6FAFyi = 3858 - INTEGER(IntKi), PARAMETER :: M6N7FAFyi = 3859 - INTEGER(IntKi), PARAMETER :: M6N8FAFyi = 3860 - INTEGER(IntKi), PARAMETER :: M6N9FAFyi = 3861 - INTEGER(IntKi), PARAMETER :: M7N1FAFyi = 3862 - INTEGER(IntKi), PARAMETER :: M7N2FAFyi = 3863 - INTEGER(IntKi), PARAMETER :: M7N3FAFyi = 3864 - INTEGER(IntKi), PARAMETER :: M7N4FAFyi = 3865 - INTEGER(IntKi), PARAMETER :: M7N5FAFyi = 3866 - INTEGER(IntKi), PARAMETER :: M7N6FAFyi = 3867 - INTEGER(IntKi), PARAMETER :: M7N7FAFyi = 3868 - INTEGER(IntKi), PARAMETER :: M7N8FAFyi = 3869 - INTEGER(IntKi), PARAMETER :: M7N9FAFyi = 3870 - INTEGER(IntKi), PARAMETER :: M8N1FAFyi = 3871 - INTEGER(IntKi), PARAMETER :: M8N2FAFyi = 3872 - INTEGER(IntKi), PARAMETER :: M8N3FAFyi = 3873 - INTEGER(IntKi), PARAMETER :: M8N4FAFyi = 3874 - INTEGER(IntKi), PARAMETER :: M8N5FAFyi = 3875 - INTEGER(IntKi), PARAMETER :: M8N6FAFyi = 3876 - INTEGER(IntKi), PARAMETER :: M8N7FAFyi = 3877 - INTEGER(IntKi), PARAMETER :: M8N8FAFyi = 3878 - INTEGER(IntKi), PARAMETER :: M8N9FAFyi = 3879 - INTEGER(IntKi), PARAMETER :: M9N1FAFyi = 3880 - INTEGER(IntKi), PARAMETER :: M9N2FAFyi = 3881 - INTEGER(IntKi), PARAMETER :: M9N3FAFyi = 3882 - INTEGER(IntKi), PARAMETER :: M9N4FAFyi = 3883 - INTEGER(IntKi), PARAMETER :: M9N5FAFyi = 3884 - INTEGER(IntKi), PARAMETER :: M9N6FAFyi = 3885 - INTEGER(IntKi), PARAMETER :: M9N7FAFyi = 3886 - INTEGER(IntKi), PARAMETER :: M9N8FAFyi = 3887 - INTEGER(IntKi), PARAMETER :: M9N9FAFyi = 3888 - INTEGER(IntKi), PARAMETER :: M1N1FAFzi = 3889 - INTEGER(IntKi), PARAMETER :: M1N2FAFzi = 3890 - INTEGER(IntKi), PARAMETER :: M1N3FAFzi = 3891 - INTEGER(IntKi), PARAMETER :: M1N4FAFzi = 3892 - INTEGER(IntKi), PARAMETER :: M1N5FAFzi = 3893 - INTEGER(IntKi), PARAMETER :: M1N6FAFzi = 3894 - INTEGER(IntKi), PARAMETER :: M1N7FAFzi = 3895 - INTEGER(IntKi), PARAMETER :: M1N8FAFzi = 3896 - INTEGER(IntKi), PARAMETER :: M1N9FAFzi = 3897 - INTEGER(IntKi), PARAMETER :: M2N1FAFzi = 3898 - INTEGER(IntKi), PARAMETER :: M2N2FAFzi = 3899 - INTEGER(IntKi), PARAMETER :: M2N3FAFzi = 3900 - INTEGER(IntKi), PARAMETER :: M2N4FAFzi = 3901 - INTEGER(IntKi), PARAMETER :: M2N5FAFzi = 3902 - INTEGER(IntKi), PARAMETER :: M2N6FAFzi = 3903 - INTEGER(IntKi), PARAMETER :: M2N7FAFzi = 3904 - INTEGER(IntKi), PARAMETER :: M2N8FAFzi = 3905 - INTEGER(IntKi), PARAMETER :: M2N9FAFzi = 3906 - INTEGER(IntKi), PARAMETER :: M3N1FAFzi = 3907 - INTEGER(IntKi), PARAMETER :: M3N2FAFzi = 3908 - INTEGER(IntKi), PARAMETER :: M3N3FAFzi = 3909 - INTEGER(IntKi), PARAMETER :: M3N4FAFzi = 3910 - INTEGER(IntKi), PARAMETER :: M3N5FAFzi = 3911 - INTEGER(IntKi), PARAMETER :: M3N6FAFzi = 3912 - INTEGER(IntKi), PARAMETER :: M3N7FAFzi = 3913 - INTEGER(IntKi), PARAMETER :: M3N8FAFzi = 3914 - INTEGER(IntKi), PARAMETER :: M3N9FAFzi = 3915 - INTEGER(IntKi), PARAMETER :: M4N1FAFzi = 3916 - INTEGER(IntKi), PARAMETER :: M4N2FAFzi = 3917 - INTEGER(IntKi), PARAMETER :: M4N3FAFzi = 3918 - INTEGER(IntKi), PARAMETER :: M4N4FAFzi = 3919 - INTEGER(IntKi), PARAMETER :: M4N5FAFzi = 3920 - INTEGER(IntKi), PARAMETER :: M4N6FAFzi = 3921 - INTEGER(IntKi), PARAMETER :: M4N7FAFzi = 3922 - INTEGER(IntKi), PARAMETER :: M4N8FAFzi = 3923 - INTEGER(IntKi), PARAMETER :: M4N9FAFzi = 3924 - INTEGER(IntKi), PARAMETER :: M5N1FAFzi = 3925 - INTEGER(IntKi), PARAMETER :: M5N2FAFzi = 3926 - INTEGER(IntKi), PARAMETER :: M5N3FAFzi = 3927 - INTEGER(IntKi), PARAMETER :: M5N4FAFzi = 3928 - INTEGER(IntKi), PARAMETER :: M5N5FAFzi = 3929 - INTEGER(IntKi), PARAMETER :: M5N6FAFzi = 3930 - INTEGER(IntKi), PARAMETER :: M5N7FAFzi = 3931 - INTEGER(IntKi), PARAMETER :: M5N8FAFzi = 3932 - INTEGER(IntKi), PARAMETER :: M5N9FAFzi = 3933 - INTEGER(IntKi), PARAMETER :: M6N1FAFzi = 3934 - INTEGER(IntKi), PARAMETER :: M6N2FAFzi = 3935 - INTEGER(IntKi), PARAMETER :: M6N3FAFzi = 3936 - INTEGER(IntKi), PARAMETER :: M6N4FAFzi = 3937 - INTEGER(IntKi), PARAMETER :: M6N5FAFzi = 3938 - INTEGER(IntKi), PARAMETER :: M6N6FAFzi = 3939 - INTEGER(IntKi), PARAMETER :: M6N7FAFzi = 3940 - INTEGER(IntKi), PARAMETER :: M6N8FAFzi = 3941 - INTEGER(IntKi), PARAMETER :: M6N9FAFzi = 3942 - INTEGER(IntKi), PARAMETER :: M7N1FAFzi = 3943 - INTEGER(IntKi), PARAMETER :: M7N2FAFzi = 3944 - INTEGER(IntKi), PARAMETER :: M7N3FAFzi = 3945 - INTEGER(IntKi), PARAMETER :: M7N4FAFzi = 3946 - INTEGER(IntKi), PARAMETER :: M7N5FAFzi = 3947 - INTEGER(IntKi), PARAMETER :: M7N6FAFzi = 3948 - INTEGER(IntKi), PARAMETER :: M7N7FAFzi = 3949 - INTEGER(IntKi), PARAMETER :: M7N8FAFzi = 3950 - INTEGER(IntKi), PARAMETER :: M7N9FAFzi = 3951 - INTEGER(IntKi), PARAMETER :: M8N1FAFzi = 3952 - INTEGER(IntKi), PARAMETER :: M8N2FAFzi = 3953 - INTEGER(IntKi), PARAMETER :: M8N3FAFzi = 3954 - INTEGER(IntKi), PARAMETER :: M8N4FAFzi = 3955 - INTEGER(IntKi), PARAMETER :: M8N5FAFzi = 3956 - INTEGER(IntKi), PARAMETER :: M8N6FAFzi = 3957 - INTEGER(IntKi), PARAMETER :: M8N7FAFzi = 3958 - INTEGER(IntKi), PARAMETER :: M8N8FAFzi = 3959 - INTEGER(IntKi), PARAMETER :: M8N9FAFzi = 3960 - INTEGER(IntKi), PARAMETER :: M9N1FAFzi = 3961 - INTEGER(IntKi), PARAMETER :: M9N2FAFzi = 3962 - INTEGER(IntKi), PARAMETER :: M9N3FAFzi = 3963 - INTEGER(IntKi), PARAMETER :: M9N4FAFzi = 3964 - INTEGER(IntKi), PARAMETER :: M9N5FAFzi = 3965 - INTEGER(IntKi), PARAMETER :: M9N6FAFzi = 3966 - INTEGER(IntKi), PARAMETER :: M9N7FAFzi = 3967 - INTEGER(IntKi), PARAMETER :: M9N8FAFzi = 3968 - INTEGER(IntKi), PARAMETER :: M9N9FAFzi = 3969 - INTEGER(IntKi), PARAMETER :: M1N1MAFxi = 3970 - INTEGER(IntKi), PARAMETER :: M1N2MAFxi = 3971 - INTEGER(IntKi), PARAMETER :: M1N3MAFxi = 3972 - INTEGER(IntKi), PARAMETER :: M1N4MAFxi = 3973 - INTEGER(IntKi), PARAMETER :: M1N5MAFxi = 3974 - INTEGER(IntKi), PARAMETER :: M1N6MAFxi = 3975 - INTEGER(IntKi), PARAMETER :: M1N7MAFxi = 3976 - INTEGER(IntKi), PARAMETER :: M1N8MAFxi = 3977 - INTEGER(IntKi), PARAMETER :: M1N9MAFxi = 3978 - INTEGER(IntKi), PARAMETER :: M2N1MAFxi = 3979 - INTEGER(IntKi), PARAMETER :: M2N2MAFxi = 3980 - INTEGER(IntKi), PARAMETER :: M2N3MAFxi = 3981 - INTEGER(IntKi), PARAMETER :: M2N4MAFxi = 3982 - INTEGER(IntKi), PARAMETER :: M2N5MAFxi = 3983 - INTEGER(IntKi), PARAMETER :: M2N6MAFxi = 3984 - INTEGER(IntKi), PARAMETER :: M2N7MAFxi = 3985 - INTEGER(IntKi), PARAMETER :: M2N8MAFxi = 3986 - INTEGER(IntKi), PARAMETER :: M2N9MAFxi = 3987 - INTEGER(IntKi), PARAMETER :: M3N1MAFxi = 3988 - INTEGER(IntKi), PARAMETER :: M3N2MAFxi = 3989 - INTEGER(IntKi), PARAMETER :: M3N3MAFxi = 3990 - INTEGER(IntKi), PARAMETER :: M3N4MAFxi = 3991 - INTEGER(IntKi), PARAMETER :: M3N5MAFxi = 3992 - INTEGER(IntKi), PARAMETER :: M3N6MAFxi = 3993 - INTEGER(IntKi), PARAMETER :: M3N7MAFxi = 3994 - INTEGER(IntKi), PARAMETER :: M3N8MAFxi = 3995 - INTEGER(IntKi), PARAMETER :: M3N9MAFxi = 3996 - INTEGER(IntKi), PARAMETER :: M4N1MAFxi = 3997 - INTEGER(IntKi), PARAMETER :: M4N2MAFxi = 3998 - INTEGER(IntKi), PARAMETER :: M4N3MAFxi = 3999 - INTEGER(IntKi), PARAMETER :: M4N4MAFxi = 4000 - INTEGER(IntKi), PARAMETER :: M4N5MAFxi = 4001 - INTEGER(IntKi), PARAMETER :: M4N6MAFxi = 4002 - INTEGER(IntKi), PARAMETER :: M4N7MAFxi = 4003 - INTEGER(IntKi), PARAMETER :: M4N8MAFxi = 4004 - INTEGER(IntKi), PARAMETER :: M4N9MAFxi = 4005 - INTEGER(IntKi), PARAMETER :: M5N1MAFxi = 4006 - INTEGER(IntKi), PARAMETER :: M5N2MAFxi = 4007 - INTEGER(IntKi), PARAMETER :: M5N3MAFxi = 4008 - INTEGER(IntKi), PARAMETER :: M5N4MAFxi = 4009 - INTEGER(IntKi), PARAMETER :: M5N5MAFxi = 4010 - INTEGER(IntKi), PARAMETER :: M5N6MAFxi = 4011 - INTEGER(IntKi), PARAMETER :: M5N7MAFxi = 4012 - INTEGER(IntKi), PARAMETER :: M5N8MAFxi = 4013 - INTEGER(IntKi), PARAMETER :: M5N9MAFxi = 4014 - INTEGER(IntKi), PARAMETER :: M6N1MAFxi = 4015 - INTEGER(IntKi), PARAMETER :: M6N2MAFxi = 4016 - INTEGER(IntKi), PARAMETER :: M6N3MAFxi = 4017 - INTEGER(IntKi), PARAMETER :: M6N4MAFxi = 4018 - INTEGER(IntKi), PARAMETER :: M6N5MAFxi = 4019 - INTEGER(IntKi), PARAMETER :: M6N6MAFxi = 4020 - INTEGER(IntKi), PARAMETER :: M6N7MAFxi = 4021 - INTEGER(IntKi), PARAMETER :: M6N8MAFxi = 4022 - INTEGER(IntKi), PARAMETER :: M6N9MAFxi = 4023 - INTEGER(IntKi), PARAMETER :: M7N1MAFxi = 4024 - INTEGER(IntKi), PARAMETER :: M7N2MAFxi = 4025 - INTEGER(IntKi), PARAMETER :: M7N3MAFxi = 4026 - INTEGER(IntKi), PARAMETER :: M7N4MAFxi = 4027 - INTEGER(IntKi), PARAMETER :: M7N5MAFxi = 4028 - INTEGER(IntKi), PARAMETER :: M7N6MAFxi = 4029 - INTEGER(IntKi), PARAMETER :: M7N7MAFxi = 4030 - INTEGER(IntKi), PARAMETER :: M7N8MAFxi = 4031 - INTEGER(IntKi), PARAMETER :: M7N9MAFxi = 4032 - INTEGER(IntKi), PARAMETER :: M8N1MAFxi = 4033 - INTEGER(IntKi), PARAMETER :: M8N2MAFxi = 4034 - INTEGER(IntKi), PARAMETER :: M8N3MAFxi = 4035 - INTEGER(IntKi), PARAMETER :: M8N4MAFxi = 4036 - INTEGER(IntKi), PARAMETER :: M8N5MAFxi = 4037 - INTEGER(IntKi), PARAMETER :: M8N6MAFxi = 4038 - INTEGER(IntKi), PARAMETER :: M8N7MAFxi = 4039 - INTEGER(IntKi), PARAMETER :: M8N8MAFxi = 4040 - INTEGER(IntKi), PARAMETER :: M8N9MAFxi = 4041 - INTEGER(IntKi), PARAMETER :: M9N1MAFxi = 4042 - INTEGER(IntKi), PARAMETER :: M9N2MAFxi = 4043 - INTEGER(IntKi), PARAMETER :: M9N3MAFxi = 4044 - INTEGER(IntKi), PARAMETER :: M9N4MAFxi = 4045 - INTEGER(IntKi), PARAMETER :: M9N5MAFxi = 4046 - INTEGER(IntKi), PARAMETER :: M9N6MAFxi = 4047 - INTEGER(IntKi), PARAMETER :: M9N7MAFxi = 4048 - INTEGER(IntKi), PARAMETER :: M9N8MAFxi = 4049 - INTEGER(IntKi), PARAMETER :: M9N9MAFxi = 4050 - INTEGER(IntKi), PARAMETER :: M1N1MAFyi = 4051 - INTEGER(IntKi), PARAMETER :: M1N2MAFyi = 4052 - INTEGER(IntKi), PARAMETER :: M1N3MAFyi = 4053 - INTEGER(IntKi), PARAMETER :: M1N4MAFyi = 4054 - INTEGER(IntKi), PARAMETER :: M1N5MAFyi = 4055 - INTEGER(IntKi), PARAMETER :: M1N6MAFyi = 4056 - INTEGER(IntKi), PARAMETER :: M1N7MAFyi = 4057 - INTEGER(IntKi), PARAMETER :: M1N8MAFyi = 4058 - INTEGER(IntKi), PARAMETER :: M1N9MAFyi = 4059 - INTEGER(IntKi), PARAMETER :: M2N1MAFyi = 4060 - INTEGER(IntKi), PARAMETER :: M2N2MAFyi = 4061 - INTEGER(IntKi), PARAMETER :: M2N3MAFyi = 4062 - INTEGER(IntKi), PARAMETER :: M2N4MAFyi = 4063 - INTEGER(IntKi), PARAMETER :: M2N5MAFyi = 4064 - INTEGER(IntKi), PARAMETER :: M2N6MAFyi = 4065 - INTEGER(IntKi), PARAMETER :: M2N7MAFyi = 4066 - INTEGER(IntKi), PARAMETER :: M2N8MAFyi = 4067 - INTEGER(IntKi), PARAMETER :: M2N9MAFyi = 4068 - INTEGER(IntKi), PARAMETER :: M3N1MAFyi = 4069 - INTEGER(IntKi), PARAMETER :: M3N2MAFyi = 4070 - INTEGER(IntKi), PARAMETER :: M3N3MAFyi = 4071 - INTEGER(IntKi), PARAMETER :: M3N4MAFyi = 4072 - INTEGER(IntKi), PARAMETER :: M3N5MAFyi = 4073 - INTEGER(IntKi), PARAMETER :: M3N6MAFyi = 4074 - INTEGER(IntKi), PARAMETER :: M3N7MAFyi = 4075 - INTEGER(IntKi), PARAMETER :: M3N8MAFyi = 4076 - INTEGER(IntKi), PARAMETER :: M3N9MAFyi = 4077 - INTEGER(IntKi), PARAMETER :: M4N1MAFyi = 4078 - INTEGER(IntKi), PARAMETER :: M4N2MAFyi = 4079 - INTEGER(IntKi), PARAMETER :: M4N3MAFyi = 4080 - INTEGER(IntKi), PARAMETER :: M4N4MAFyi = 4081 - INTEGER(IntKi), PARAMETER :: M4N5MAFyi = 4082 - INTEGER(IntKi), PARAMETER :: M4N6MAFyi = 4083 - INTEGER(IntKi), PARAMETER :: M4N7MAFyi = 4084 - INTEGER(IntKi), PARAMETER :: M4N8MAFyi = 4085 - INTEGER(IntKi), PARAMETER :: M4N9MAFyi = 4086 - INTEGER(IntKi), PARAMETER :: M5N1MAFyi = 4087 - INTEGER(IntKi), PARAMETER :: M5N2MAFyi = 4088 - INTEGER(IntKi), PARAMETER :: M5N3MAFyi = 4089 - INTEGER(IntKi), PARAMETER :: M5N4MAFyi = 4090 - INTEGER(IntKi), PARAMETER :: M5N5MAFyi = 4091 - INTEGER(IntKi), PARAMETER :: M5N6MAFyi = 4092 - INTEGER(IntKi), PARAMETER :: M5N7MAFyi = 4093 - INTEGER(IntKi), PARAMETER :: M5N8MAFyi = 4094 - INTEGER(IntKi), PARAMETER :: M5N9MAFyi = 4095 - INTEGER(IntKi), PARAMETER :: M6N1MAFyi = 4096 - INTEGER(IntKi), PARAMETER :: M6N2MAFyi = 4097 - INTEGER(IntKi), PARAMETER :: M6N3MAFyi = 4098 - INTEGER(IntKi), PARAMETER :: M6N4MAFyi = 4099 - INTEGER(IntKi), PARAMETER :: M6N5MAFyi = 4100 - INTEGER(IntKi), PARAMETER :: M6N6MAFyi = 4101 - INTEGER(IntKi), PARAMETER :: M6N7MAFyi = 4102 - INTEGER(IntKi), PARAMETER :: M6N8MAFyi = 4103 - INTEGER(IntKi), PARAMETER :: M6N9MAFyi = 4104 - INTEGER(IntKi), PARAMETER :: M7N1MAFyi = 4105 - INTEGER(IntKi), PARAMETER :: M7N2MAFyi = 4106 - INTEGER(IntKi), PARAMETER :: M7N3MAFyi = 4107 - INTEGER(IntKi), PARAMETER :: M7N4MAFyi = 4108 - INTEGER(IntKi), PARAMETER :: M7N5MAFyi = 4109 - INTEGER(IntKi), PARAMETER :: M7N6MAFyi = 4110 - INTEGER(IntKi), PARAMETER :: M7N7MAFyi = 4111 - INTEGER(IntKi), PARAMETER :: M7N8MAFyi = 4112 - INTEGER(IntKi), PARAMETER :: M7N9MAFyi = 4113 - INTEGER(IntKi), PARAMETER :: M8N1MAFyi = 4114 - INTEGER(IntKi), PARAMETER :: M8N2MAFyi = 4115 - INTEGER(IntKi), PARAMETER :: M8N3MAFyi = 4116 - INTEGER(IntKi), PARAMETER :: M8N4MAFyi = 4117 - INTEGER(IntKi), PARAMETER :: M8N5MAFyi = 4118 - INTEGER(IntKi), PARAMETER :: M8N6MAFyi = 4119 - INTEGER(IntKi), PARAMETER :: M8N7MAFyi = 4120 - INTEGER(IntKi), PARAMETER :: M8N8MAFyi = 4121 - INTEGER(IntKi), PARAMETER :: M8N9MAFyi = 4122 - INTEGER(IntKi), PARAMETER :: M9N1MAFyi = 4123 - INTEGER(IntKi), PARAMETER :: M9N2MAFyi = 4124 - INTEGER(IntKi), PARAMETER :: M9N3MAFyi = 4125 - INTEGER(IntKi), PARAMETER :: M9N4MAFyi = 4126 - INTEGER(IntKi), PARAMETER :: M9N5MAFyi = 4127 - INTEGER(IntKi), PARAMETER :: M9N6MAFyi = 4128 - INTEGER(IntKi), PARAMETER :: M9N7MAFyi = 4129 - INTEGER(IntKi), PARAMETER :: M9N8MAFyi = 4130 - INTEGER(IntKi), PARAMETER :: M9N9MAFyi = 4131 - INTEGER(IntKi), PARAMETER :: M1N1MAFzi = 4132 - INTEGER(IntKi), PARAMETER :: M1N2MAFzi = 4133 - INTEGER(IntKi), PARAMETER :: M1N3MAFzi = 4134 - INTEGER(IntKi), PARAMETER :: M1N4MAFzi = 4135 - INTEGER(IntKi), PARAMETER :: M1N5MAFzi = 4136 - INTEGER(IntKi), PARAMETER :: M1N6MAFzi = 4137 - INTEGER(IntKi), PARAMETER :: M1N7MAFzi = 4138 - INTEGER(IntKi), PARAMETER :: M1N8MAFzi = 4139 - INTEGER(IntKi), PARAMETER :: M1N9MAFzi = 4140 - INTEGER(IntKi), PARAMETER :: M2N1MAFzi = 4141 - INTEGER(IntKi), PARAMETER :: M2N2MAFzi = 4142 - INTEGER(IntKi), PARAMETER :: M2N3MAFzi = 4143 - INTEGER(IntKi), PARAMETER :: M2N4MAFzi = 4144 - INTEGER(IntKi), PARAMETER :: M2N5MAFzi = 4145 - INTEGER(IntKi), PARAMETER :: M2N6MAFzi = 4146 - INTEGER(IntKi), PARAMETER :: M2N7MAFzi = 4147 - INTEGER(IntKi), PARAMETER :: M2N8MAFzi = 4148 - INTEGER(IntKi), PARAMETER :: M2N9MAFzi = 4149 - INTEGER(IntKi), PARAMETER :: M3N1MAFzi = 4150 - INTEGER(IntKi), PARAMETER :: M3N2MAFzi = 4151 - INTEGER(IntKi), PARAMETER :: M3N3MAFzi = 4152 - INTEGER(IntKi), PARAMETER :: M3N4MAFzi = 4153 - INTEGER(IntKi), PARAMETER :: M3N5MAFzi = 4154 - INTEGER(IntKi), PARAMETER :: M3N6MAFzi = 4155 - INTEGER(IntKi), PARAMETER :: M3N7MAFzi = 4156 - INTEGER(IntKi), PARAMETER :: M3N8MAFzi = 4157 - INTEGER(IntKi), PARAMETER :: M3N9MAFzi = 4158 - INTEGER(IntKi), PARAMETER :: M4N1MAFzi = 4159 - INTEGER(IntKi), PARAMETER :: M4N2MAFzi = 4160 - INTEGER(IntKi), PARAMETER :: M4N3MAFzi = 4161 - INTEGER(IntKi), PARAMETER :: M4N4MAFzi = 4162 - INTEGER(IntKi), PARAMETER :: M4N5MAFzi = 4163 - INTEGER(IntKi), PARAMETER :: M4N6MAFzi = 4164 - INTEGER(IntKi), PARAMETER :: M4N7MAFzi = 4165 - INTEGER(IntKi), PARAMETER :: M4N8MAFzi = 4166 - INTEGER(IntKi), PARAMETER :: M4N9MAFzi = 4167 - INTEGER(IntKi), PARAMETER :: M5N1MAFzi = 4168 - INTEGER(IntKi), PARAMETER :: M5N2MAFzi = 4169 - INTEGER(IntKi), PARAMETER :: M5N3MAFzi = 4170 - INTEGER(IntKi), PARAMETER :: M5N4MAFzi = 4171 - INTEGER(IntKi), PARAMETER :: M5N5MAFzi = 4172 - INTEGER(IntKi), PARAMETER :: M5N6MAFzi = 4173 - INTEGER(IntKi), PARAMETER :: M5N7MAFzi = 4174 - INTEGER(IntKi), PARAMETER :: M5N8MAFzi = 4175 - INTEGER(IntKi), PARAMETER :: M5N9MAFzi = 4176 - INTEGER(IntKi), PARAMETER :: M6N1MAFzi = 4177 - INTEGER(IntKi), PARAMETER :: M6N2MAFzi = 4178 - INTEGER(IntKi), PARAMETER :: M6N3MAFzi = 4179 - INTEGER(IntKi), PARAMETER :: M6N4MAFzi = 4180 - INTEGER(IntKi), PARAMETER :: M6N5MAFzi = 4181 - INTEGER(IntKi), PARAMETER :: M6N6MAFzi = 4182 - INTEGER(IntKi), PARAMETER :: M6N7MAFzi = 4183 - INTEGER(IntKi), PARAMETER :: M6N8MAFzi = 4184 - INTEGER(IntKi), PARAMETER :: M6N9MAFzi = 4185 - INTEGER(IntKi), PARAMETER :: M7N1MAFzi = 4186 - INTEGER(IntKi), PARAMETER :: M7N2MAFzi = 4187 - INTEGER(IntKi), PARAMETER :: M7N3MAFzi = 4188 - INTEGER(IntKi), PARAMETER :: M7N4MAFzi = 4189 - INTEGER(IntKi), PARAMETER :: M7N5MAFzi = 4190 - INTEGER(IntKi), PARAMETER :: M7N6MAFzi = 4191 - INTEGER(IntKi), PARAMETER :: M7N7MAFzi = 4192 - INTEGER(IntKi), PARAMETER :: M7N8MAFzi = 4193 - INTEGER(IntKi), PARAMETER :: M7N9MAFzi = 4194 - INTEGER(IntKi), PARAMETER :: M8N1MAFzi = 4195 - INTEGER(IntKi), PARAMETER :: M8N2MAFzi = 4196 - INTEGER(IntKi), PARAMETER :: M8N3MAFzi = 4197 - INTEGER(IntKi), PARAMETER :: M8N4MAFzi = 4198 - INTEGER(IntKi), PARAMETER :: M8N5MAFzi = 4199 - INTEGER(IntKi), PARAMETER :: M8N6MAFzi = 4200 - INTEGER(IntKi), PARAMETER :: M8N7MAFzi = 4201 - INTEGER(IntKi), PARAMETER :: M8N8MAFzi = 4202 - INTEGER(IntKi), PARAMETER :: M8N9MAFzi = 4203 - INTEGER(IntKi), PARAMETER :: M9N1MAFzi = 4204 - INTEGER(IntKi), PARAMETER :: M9N2MAFzi = 4205 - INTEGER(IntKi), PARAMETER :: M9N3MAFzi = 4206 - INTEGER(IntKi), PARAMETER :: M9N4MAFzi = 4207 - INTEGER(IntKi), PARAMETER :: M9N5MAFzi = 4208 - INTEGER(IntKi), PARAMETER :: M9N6MAFzi = 4209 - INTEGER(IntKi), PARAMETER :: M9N7MAFzi = 4210 - INTEGER(IntKi), PARAMETER :: M9N8MAFzi = 4211 - INTEGER(IntKi), PARAMETER :: M9N9MAFzi = 4212 + INTEGER(IntKi), PARAMETER :: M1N1FWExi = 1540 + INTEGER(IntKi), PARAMETER :: M1N2FWExi = 1541 + INTEGER(IntKi), PARAMETER :: M1N3FWExi = 1542 + INTEGER(IntKi), PARAMETER :: M1N4FWExi = 1543 + INTEGER(IntKi), PARAMETER :: M1N5FWExi = 1544 + INTEGER(IntKi), PARAMETER :: M1N6FWExi = 1545 + INTEGER(IntKi), PARAMETER :: M1N7FWExi = 1546 + INTEGER(IntKi), PARAMETER :: M1N8FWExi = 1547 + INTEGER(IntKi), PARAMETER :: M1N9FWExi = 1548 + INTEGER(IntKi), PARAMETER :: M2N1FWExi = 1549 + INTEGER(IntKi), PARAMETER :: M2N2FWExi = 1550 + INTEGER(IntKi), PARAMETER :: M2N3FWExi = 1551 + INTEGER(IntKi), PARAMETER :: M2N4FWExi = 1552 + INTEGER(IntKi), PARAMETER :: M2N5FWExi = 1553 + INTEGER(IntKi), PARAMETER :: M2N6FWExi = 1554 + INTEGER(IntKi), PARAMETER :: M2N7FWExi = 1555 + INTEGER(IntKi), PARAMETER :: M2N8FWExi = 1556 + INTEGER(IntKi), PARAMETER :: M2N9FWExi = 1557 + INTEGER(IntKi), PARAMETER :: M3N1FWExi = 1558 + INTEGER(IntKi), PARAMETER :: M3N2FWExi = 1559 + INTEGER(IntKi), PARAMETER :: M3N3FWExi = 1560 + INTEGER(IntKi), PARAMETER :: M3N4FWExi = 1561 + INTEGER(IntKi), PARAMETER :: M3N5FWExi = 1562 + INTEGER(IntKi), PARAMETER :: M3N6FWExi = 1563 + INTEGER(IntKi), PARAMETER :: M3N7FWExi = 1564 + INTEGER(IntKi), PARAMETER :: M3N8FWExi = 1565 + INTEGER(IntKi), PARAMETER :: M3N9FWExi = 1566 + INTEGER(IntKi), PARAMETER :: M4N1FWExi = 1567 + INTEGER(IntKi), PARAMETER :: M4N2FWExi = 1568 + INTEGER(IntKi), PARAMETER :: M4N3FWExi = 1569 + INTEGER(IntKi), PARAMETER :: M4N4FWExi = 1570 + INTEGER(IntKi), PARAMETER :: M4N5FWExi = 1571 + INTEGER(IntKi), PARAMETER :: M4N6FWExi = 1572 + INTEGER(IntKi), PARAMETER :: M4N7FWExi = 1573 + INTEGER(IntKi), PARAMETER :: M4N8FWExi = 1574 + INTEGER(IntKi), PARAMETER :: M4N9FWExi = 1575 + INTEGER(IntKi), PARAMETER :: M5N1FWExi = 1576 + INTEGER(IntKi), PARAMETER :: M5N2FWExi = 1577 + INTEGER(IntKi), PARAMETER :: M5N3FWExi = 1578 + INTEGER(IntKi), PARAMETER :: M5N4FWExi = 1579 + INTEGER(IntKi), PARAMETER :: M5N5FWExi = 1580 + INTEGER(IntKi), PARAMETER :: M5N6FWExi = 1581 + INTEGER(IntKi), PARAMETER :: M5N7FWExi = 1582 + INTEGER(IntKi), PARAMETER :: M5N8FWExi = 1583 + INTEGER(IntKi), PARAMETER :: M5N9FWExi = 1584 + INTEGER(IntKi), PARAMETER :: M6N1FWExi = 1585 + INTEGER(IntKi), PARAMETER :: M6N2FWExi = 1586 + INTEGER(IntKi), PARAMETER :: M6N3FWExi = 1587 + INTEGER(IntKi), PARAMETER :: M6N4FWExi = 1588 + INTEGER(IntKi), PARAMETER :: M6N5FWExi = 1589 + INTEGER(IntKi), PARAMETER :: M6N6FWExi = 1590 + INTEGER(IntKi), PARAMETER :: M6N7FWExi = 1591 + INTEGER(IntKi), PARAMETER :: M6N8FWExi = 1592 + INTEGER(IntKi), PARAMETER :: M6N9FWExi = 1593 + INTEGER(IntKi), PARAMETER :: M7N1FWExi = 1594 + INTEGER(IntKi), PARAMETER :: M7N2FWExi = 1595 + INTEGER(IntKi), PARAMETER :: M7N3FWExi = 1596 + INTEGER(IntKi), PARAMETER :: M7N4FWExi = 1597 + INTEGER(IntKi), PARAMETER :: M7N5FWExi = 1598 + INTEGER(IntKi), PARAMETER :: M7N6FWExi = 1599 + INTEGER(IntKi), PARAMETER :: M7N7FWExi = 1600 + INTEGER(IntKi), PARAMETER :: M7N8FWExi = 1601 + INTEGER(IntKi), PARAMETER :: M7N9FWExi = 1602 + INTEGER(IntKi), PARAMETER :: M8N1FWExi = 1603 + INTEGER(IntKi), PARAMETER :: M8N2FWExi = 1604 + INTEGER(IntKi), PARAMETER :: M8N3FWExi = 1605 + INTEGER(IntKi), PARAMETER :: M8N4FWExi = 1606 + INTEGER(IntKi), PARAMETER :: M8N5FWExi = 1607 + INTEGER(IntKi), PARAMETER :: M8N6FWExi = 1608 + INTEGER(IntKi), PARAMETER :: M8N7FWExi = 1609 + INTEGER(IntKi), PARAMETER :: M8N8FWExi = 1610 + INTEGER(IntKi), PARAMETER :: M8N9FWExi = 1611 + INTEGER(IntKi), PARAMETER :: M9N1FWExi = 1612 + INTEGER(IntKi), PARAMETER :: M9N2FWExi = 1613 + INTEGER(IntKi), PARAMETER :: M9N3FWExi = 1614 + INTEGER(IntKi), PARAMETER :: M9N4FWExi = 1615 + INTEGER(IntKi), PARAMETER :: M9N5FWExi = 1616 + INTEGER(IntKi), PARAMETER :: M9N6FWExi = 1617 + INTEGER(IntKi), PARAMETER :: M9N7FWExi = 1618 + INTEGER(IntKi), PARAMETER :: M9N8FWExi = 1619 + INTEGER(IntKi), PARAMETER :: M9N9FWExi = 1620 + INTEGER(IntKi), PARAMETER :: M1N1FWEyi = 1621 + INTEGER(IntKi), PARAMETER :: M1N2FWEyi = 1622 + INTEGER(IntKi), PARAMETER :: M1N3FWEyi = 1623 + INTEGER(IntKi), PARAMETER :: M1N4FWEyi = 1624 + INTEGER(IntKi), PARAMETER :: M1N5FWEyi = 1625 + INTEGER(IntKi), PARAMETER :: M1N6FWEyi = 1626 + INTEGER(IntKi), PARAMETER :: M1N7FWEyi = 1627 + INTEGER(IntKi), PARAMETER :: M1N8FWEyi = 1628 + INTEGER(IntKi), PARAMETER :: M1N9FWEyi = 1629 + INTEGER(IntKi), PARAMETER :: M2N1FWEyi = 1630 + INTEGER(IntKi), PARAMETER :: M2N2FWEyi = 1631 + INTEGER(IntKi), PARAMETER :: M2N3FWEyi = 1632 + INTEGER(IntKi), PARAMETER :: M2N4FWEyi = 1633 + INTEGER(IntKi), PARAMETER :: M2N5FWEyi = 1634 + INTEGER(IntKi), PARAMETER :: M2N6FWEyi = 1635 + INTEGER(IntKi), PARAMETER :: M2N7FWEyi = 1636 + INTEGER(IntKi), PARAMETER :: M2N8FWEyi = 1637 + INTEGER(IntKi), PARAMETER :: M2N9FWEyi = 1638 + INTEGER(IntKi), PARAMETER :: M3N1FWEyi = 1639 + INTEGER(IntKi), PARAMETER :: M3N2FWEyi = 1640 + INTEGER(IntKi), PARAMETER :: M3N3FWEyi = 1641 + INTEGER(IntKi), PARAMETER :: M3N4FWEyi = 1642 + INTEGER(IntKi), PARAMETER :: M3N5FWEyi = 1643 + INTEGER(IntKi), PARAMETER :: M3N6FWEyi = 1644 + INTEGER(IntKi), PARAMETER :: M3N7FWEyi = 1645 + INTEGER(IntKi), PARAMETER :: M3N8FWEyi = 1646 + INTEGER(IntKi), PARAMETER :: M3N9FWEyi = 1647 + INTEGER(IntKi), PARAMETER :: M4N1FWEyi = 1648 + INTEGER(IntKi), PARAMETER :: M4N2FWEyi = 1649 + INTEGER(IntKi), PARAMETER :: M4N3FWEyi = 1650 + INTEGER(IntKi), PARAMETER :: M4N4FWEyi = 1651 + INTEGER(IntKi), PARAMETER :: M4N5FWEyi = 1652 + INTEGER(IntKi), PARAMETER :: M4N6FWEyi = 1653 + INTEGER(IntKi), PARAMETER :: M4N7FWEyi = 1654 + INTEGER(IntKi), PARAMETER :: M4N8FWEyi = 1655 + INTEGER(IntKi), PARAMETER :: M4N9FWEyi = 1656 + INTEGER(IntKi), PARAMETER :: M5N1FWEyi = 1657 + INTEGER(IntKi), PARAMETER :: M5N2FWEyi = 1658 + INTEGER(IntKi), PARAMETER :: M5N3FWEyi = 1659 + INTEGER(IntKi), PARAMETER :: M5N4FWEyi = 1660 + INTEGER(IntKi), PARAMETER :: M5N5FWEyi = 1661 + INTEGER(IntKi), PARAMETER :: M5N6FWEyi = 1662 + INTEGER(IntKi), PARAMETER :: M5N7FWEyi = 1663 + INTEGER(IntKi), PARAMETER :: M5N8FWEyi = 1664 + INTEGER(IntKi), PARAMETER :: M5N9FWEyi = 1665 + INTEGER(IntKi), PARAMETER :: M6N1FWEyi = 1666 + INTEGER(IntKi), PARAMETER :: M6N2FWEyi = 1667 + INTEGER(IntKi), PARAMETER :: M6N3FWEyi = 1668 + INTEGER(IntKi), PARAMETER :: M6N4FWEyi = 1669 + INTEGER(IntKi), PARAMETER :: M6N5FWEyi = 1670 + INTEGER(IntKi), PARAMETER :: M6N6FWEyi = 1671 + INTEGER(IntKi), PARAMETER :: M6N7FWEyi = 1672 + INTEGER(IntKi), PARAMETER :: M6N8FWEyi = 1673 + INTEGER(IntKi), PARAMETER :: M6N9FWEyi = 1674 + INTEGER(IntKi), PARAMETER :: M7N1FWEyi = 1675 + INTEGER(IntKi), PARAMETER :: M7N2FWEyi = 1676 + INTEGER(IntKi), PARAMETER :: M7N3FWEyi = 1677 + INTEGER(IntKi), PARAMETER :: M7N4FWEyi = 1678 + INTEGER(IntKi), PARAMETER :: M7N5FWEyi = 1679 + INTEGER(IntKi), PARAMETER :: M7N6FWEyi = 1680 + INTEGER(IntKi), PARAMETER :: M7N7FWEyi = 1681 + INTEGER(IntKi), PARAMETER :: M7N8FWEyi = 1682 + INTEGER(IntKi), PARAMETER :: M7N9FWEyi = 1683 + INTEGER(IntKi), PARAMETER :: M8N1FWEyi = 1684 + INTEGER(IntKi), PARAMETER :: M8N2FWEyi = 1685 + INTEGER(IntKi), PARAMETER :: M8N3FWEyi = 1686 + INTEGER(IntKi), PARAMETER :: M8N4FWEyi = 1687 + INTEGER(IntKi), PARAMETER :: M8N5FWEyi = 1688 + INTEGER(IntKi), PARAMETER :: M8N6FWEyi = 1689 + INTEGER(IntKi), PARAMETER :: M8N7FWEyi = 1690 + INTEGER(IntKi), PARAMETER :: M8N8FWEyi = 1691 + INTEGER(IntKi), PARAMETER :: M8N9FWEyi = 1692 + INTEGER(IntKi), PARAMETER :: M9N1FWEyi = 1693 + INTEGER(IntKi), PARAMETER :: M9N2FWEyi = 1694 + INTEGER(IntKi), PARAMETER :: M9N3FWEyi = 1695 + INTEGER(IntKi), PARAMETER :: M9N4FWEyi = 1696 + INTEGER(IntKi), PARAMETER :: M9N5FWEyi = 1697 + INTEGER(IntKi), PARAMETER :: M9N6FWEyi = 1698 + INTEGER(IntKi), PARAMETER :: M9N7FWEyi = 1699 + INTEGER(IntKi), PARAMETER :: M9N8FWEyi = 1700 + INTEGER(IntKi), PARAMETER :: M9N9FWEyi = 1701 + INTEGER(IntKi), PARAMETER :: M1N1FWEzi = 1702 + INTEGER(IntKi), PARAMETER :: M1N2FWEzi = 1703 + INTEGER(IntKi), PARAMETER :: M1N3FWEzi = 1704 + INTEGER(IntKi), PARAMETER :: M1N4FWEzi = 1705 + INTEGER(IntKi), PARAMETER :: M1N5FWEzi = 1706 + INTEGER(IntKi), PARAMETER :: M1N6FWEzi = 1707 + INTEGER(IntKi), PARAMETER :: M1N7FWEzi = 1708 + INTEGER(IntKi), PARAMETER :: M1N8FWEzi = 1709 + INTEGER(IntKi), PARAMETER :: M1N9FWEzi = 1710 + INTEGER(IntKi), PARAMETER :: M2N1FWEzi = 1711 + INTEGER(IntKi), PARAMETER :: M2N2FWEzi = 1712 + INTEGER(IntKi), PARAMETER :: M2N3FWEzi = 1713 + INTEGER(IntKi), PARAMETER :: M2N4FWEzi = 1714 + INTEGER(IntKi), PARAMETER :: M2N5FWEzi = 1715 + INTEGER(IntKi), PARAMETER :: M2N6FWEzi = 1716 + INTEGER(IntKi), PARAMETER :: M2N7FWEzi = 1717 + INTEGER(IntKi), PARAMETER :: M2N8FWEzi = 1718 + INTEGER(IntKi), PARAMETER :: M2N9FWEzi = 1719 + INTEGER(IntKi), PARAMETER :: M3N1FWEzi = 1720 + INTEGER(IntKi), PARAMETER :: M3N2FWEzi = 1721 + INTEGER(IntKi), PARAMETER :: M3N3FWEzi = 1722 + INTEGER(IntKi), PARAMETER :: M3N4FWEzi = 1723 + INTEGER(IntKi), PARAMETER :: M3N5FWEzi = 1724 + INTEGER(IntKi), PARAMETER :: M3N6FWEzi = 1725 + INTEGER(IntKi), PARAMETER :: M3N7FWEzi = 1726 + INTEGER(IntKi), PARAMETER :: M3N8FWEzi = 1727 + INTEGER(IntKi), PARAMETER :: M3N9FWEzi = 1728 + INTEGER(IntKi), PARAMETER :: M4N1FWEzi = 1729 + INTEGER(IntKi), PARAMETER :: M4N2FWEzi = 1730 + INTEGER(IntKi), PARAMETER :: M4N3FWEzi = 1731 + INTEGER(IntKi), PARAMETER :: M4N4FWEzi = 1732 + INTEGER(IntKi), PARAMETER :: M4N5FWEzi = 1733 + INTEGER(IntKi), PARAMETER :: M4N6FWEzi = 1734 + INTEGER(IntKi), PARAMETER :: M4N7FWEzi = 1735 + INTEGER(IntKi), PARAMETER :: M4N8FWEzi = 1736 + INTEGER(IntKi), PARAMETER :: M4N9FWEzi = 1737 + INTEGER(IntKi), PARAMETER :: M5N1FWEzi = 1738 + INTEGER(IntKi), PARAMETER :: M5N2FWEzi = 1739 + INTEGER(IntKi), PARAMETER :: M5N3FWEzi = 1740 + INTEGER(IntKi), PARAMETER :: M5N4FWEzi = 1741 + INTEGER(IntKi), PARAMETER :: M5N5FWEzi = 1742 + INTEGER(IntKi), PARAMETER :: M5N6FWEzi = 1743 + INTEGER(IntKi), PARAMETER :: M5N7FWEzi = 1744 + INTEGER(IntKi), PARAMETER :: M5N8FWEzi = 1745 + INTEGER(IntKi), PARAMETER :: M5N9FWEzi = 1746 + INTEGER(IntKi), PARAMETER :: M6N1FWEzi = 1747 + INTEGER(IntKi), PARAMETER :: M6N2FWEzi = 1748 + INTEGER(IntKi), PARAMETER :: M6N3FWEzi = 1749 + INTEGER(IntKi), PARAMETER :: M6N4FWEzi = 1750 + INTEGER(IntKi), PARAMETER :: M6N5FWEzi = 1751 + INTEGER(IntKi), PARAMETER :: M6N6FWEzi = 1752 + INTEGER(IntKi), PARAMETER :: M6N7FWEzi = 1753 + INTEGER(IntKi), PARAMETER :: M6N8FWEzi = 1754 + INTEGER(IntKi), PARAMETER :: M6N9FWEzi = 1755 + INTEGER(IntKi), PARAMETER :: M7N1FWEzi = 1756 + INTEGER(IntKi), PARAMETER :: M7N2FWEzi = 1757 + INTEGER(IntKi), PARAMETER :: M7N3FWEzi = 1758 + INTEGER(IntKi), PARAMETER :: M7N4FWEzi = 1759 + INTEGER(IntKi), PARAMETER :: M7N5FWEzi = 1760 + INTEGER(IntKi), PARAMETER :: M7N6FWEzi = 1761 + INTEGER(IntKi), PARAMETER :: M7N7FWEzi = 1762 + INTEGER(IntKi), PARAMETER :: M7N8FWEzi = 1763 + INTEGER(IntKi), PARAMETER :: M7N9FWEzi = 1764 + INTEGER(IntKi), PARAMETER :: M8N1FWEzi = 1765 + INTEGER(IntKi), PARAMETER :: M8N2FWEzi = 1766 + INTEGER(IntKi), PARAMETER :: M8N3FWEzi = 1767 + INTEGER(IntKi), PARAMETER :: M8N4FWEzi = 1768 + INTEGER(IntKi), PARAMETER :: M8N5FWEzi = 1769 + INTEGER(IntKi), PARAMETER :: M8N6FWEzi = 1770 + INTEGER(IntKi), PARAMETER :: M8N7FWEzi = 1771 + INTEGER(IntKi), PARAMETER :: M8N8FWEzi = 1772 + INTEGER(IntKi), PARAMETER :: M8N9FWEzi = 1773 + INTEGER(IntKi), PARAMETER :: M9N1FWEzi = 1774 + INTEGER(IntKi), PARAMETER :: M9N2FWEzi = 1775 + INTEGER(IntKi), PARAMETER :: M9N3FWEzi = 1776 + INTEGER(IntKi), PARAMETER :: M9N4FWEzi = 1777 + INTEGER(IntKi), PARAMETER :: M9N5FWEzi = 1778 + INTEGER(IntKi), PARAMETER :: M9N6FWEzi = 1779 + INTEGER(IntKi), PARAMETER :: M9N7FWEzi = 1780 + INTEGER(IntKi), PARAMETER :: M9N8FWEzi = 1781 + INTEGER(IntKi), PARAMETER :: M9N9FWEzi = 1782 + INTEGER(IntKi), PARAMETER :: M1N1FBxi = 1783 + INTEGER(IntKi), PARAMETER :: M1N2FBxi = 1784 + INTEGER(IntKi), PARAMETER :: M1N3FBxi = 1785 + INTEGER(IntKi), PARAMETER :: M1N4FBxi = 1786 + INTEGER(IntKi), PARAMETER :: M1N5FBxi = 1787 + INTEGER(IntKi), PARAMETER :: M1N6FBxi = 1788 + INTEGER(IntKi), PARAMETER :: M1N7FBxi = 1789 + INTEGER(IntKi), PARAMETER :: M1N8FBxi = 1790 + INTEGER(IntKi), PARAMETER :: M1N9FBxi = 1791 + INTEGER(IntKi), PARAMETER :: M2N1FBxi = 1792 + INTEGER(IntKi), PARAMETER :: M2N2FBxi = 1793 + INTEGER(IntKi), PARAMETER :: M2N3FBxi = 1794 + INTEGER(IntKi), PARAMETER :: M2N4FBxi = 1795 + INTEGER(IntKi), PARAMETER :: M2N5FBxi = 1796 + INTEGER(IntKi), PARAMETER :: M2N6FBxi = 1797 + INTEGER(IntKi), PARAMETER :: M2N7FBxi = 1798 + INTEGER(IntKi), PARAMETER :: M2N8FBxi = 1799 + INTEGER(IntKi), PARAMETER :: M2N9FBxi = 1800 + INTEGER(IntKi), PARAMETER :: M3N1FBxi = 1801 + INTEGER(IntKi), PARAMETER :: M3N2FBxi = 1802 + INTEGER(IntKi), PARAMETER :: M3N3FBxi = 1803 + INTEGER(IntKi), PARAMETER :: M3N4FBxi = 1804 + INTEGER(IntKi), PARAMETER :: M3N5FBxi = 1805 + INTEGER(IntKi), PARAMETER :: M3N6FBxi = 1806 + INTEGER(IntKi), PARAMETER :: M3N7FBxi = 1807 + INTEGER(IntKi), PARAMETER :: M3N8FBxi = 1808 + INTEGER(IntKi), PARAMETER :: M3N9FBxi = 1809 + INTEGER(IntKi), PARAMETER :: M4N1FBxi = 1810 + INTEGER(IntKi), PARAMETER :: M4N2FBxi = 1811 + INTEGER(IntKi), PARAMETER :: M4N3FBxi = 1812 + INTEGER(IntKi), PARAMETER :: M4N4FBxi = 1813 + INTEGER(IntKi), PARAMETER :: M4N5FBxi = 1814 + INTEGER(IntKi), PARAMETER :: M4N6FBxi = 1815 + INTEGER(IntKi), PARAMETER :: M4N7FBxi = 1816 + INTEGER(IntKi), PARAMETER :: M4N8FBxi = 1817 + INTEGER(IntKi), PARAMETER :: M4N9FBxi = 1818 + INTEGER(IntKi), PARAMETER :: M5N1FBxi = 1819 + INTEGER(IntKi), PARAMETER :: M5N2FBxi = 1820 + INTEGER(IntKi), PARAMETER :: M5N3FBxi = 1821 + INTEGER(IntKi), PARAMETER :: M5N4FBxi = 1822 + INTEGER(IntKi), PARAMETER :: M5N5FBxi = 1823 + INTEGER(IntKi), PARAMETER :: M5N6FBxi = 1824 + INTEGER(IntKi), PARAMETER :: M5N7FBxi = 1825 + INTEGER(IntKi), PARAMETER :: M5N8FBxi = 1826 + INTEGER(IntKi), PARAMETER :: M5N9FBxi = 1827 + INTEGER(IntKi), PARAMETER :: M6N1FBxi = 1828 + INTEGER(IntKi), PARAMETER :: M6N2FBxi = 1829 + INTEGER(IntKi), PARAMETER :: M6N3FBxi = 1830 + INTEGER(IntKi), PARAMETER :: M6N4FBxi = 1831 + INTEGER(IntKi), PARAMETER :: M6N5FBxi = 1832 + INTEGER(IntKi), PARAMETER :: M6N6FBxi = 1833 + INTEGER(IntKi), PARAMETER :: M6N7FBxi = 1834 + INTEGER(IntKi), PARAMETER :: M6N8FBxi = 1835 + INTEGER(IntKi), PARAMETER :: M6N9FBxi = 1836 + INTEGER(IntKi), PARAMETER :: M7N1FBxi = 1837 + INTEGER(IntKi), PARAMETER :: M7N2FBxi = 1838 + INTEGER(IntKi), PARAMETER :: M7N3FBxi = 1839 + INTEGER(IntKi), PARAMETER :: M7N4FBxi = 1840 + INTEGER(IntKi), PARAMETER :: M7N5FBxi = 1841 + INTEGER(IntKi), PARAMETER :: M7N6FBxi = 1842 + INTEGER(IntKi), PARAMETER :: M7N7FBxi = 1843 + INTEGER(IntKi), PARAMETER :: M7N8FBxi = 1844 + INTEGER(IntKi), PARAMETER :: M7N9FBxi = 1845 + INTEGER(IntKi), PARAMETER :: M8N1FBxi = 1846 + INTEGER(IntKi), PARAMETER :: M8N2FBxi = 1847 + INTEGER(IntKi), PARAMETER :: M8N3FBxi = 1848 + INTEGER(IntKi), PARAMETER :: M8N4FBxi = 1849 + INTEGER(IntKi), PARAMETER :: M8N5FBxi = 1850 + INTEGER(IntKi), PARAMETER :: M8N6FBxi = 1851 + INTEGER(IntKi), PARAMETER :: M8N7FBxi = 1852 + INTEGER(IntKi), PARAMETER :: M8N8FBxi = 1853 + INTEGER(IntKi), PARAMETER :: M8N9FBxi = 1854 + INTEGER(IntKi), PARAMETER :: M9N1FBxi = 1855 + INTEGER(IntKi), PARAMETER :: M9N2FBxi = 1856 + INTEGER(IntKi), PARAMETER :: M9N3FBxi = 1857 + INTEGER(IntKi), PARAMETER :: M9N4FBxi = 1858 + INTEGER(IntKi), PARAMETER :: M9N5FBxi = 1859 + INTEGER(IntKi), PARAMETER :: M9N6FBxi = 1860 + INTEGER(IntKi), PARAMETER :: M9N7FBxi = 1861 + INTEGER(IntKi), PARAMETER :: M9N8FBxi = 1862 + INTEGER(IntKi), PARAMETER :: M9N9FBxi = 1863 + INTEGER(IntKi), PARAMETER :: M1N1FByi = 1864 + INTEGER(IntKi), PARAMETER :: M1N2FByi = 1865 + INTEGER(IntKi), PARAMETER :: M1N3FByi = 1866 + INTEGER(IntKi), PARAMETER :: M1N4FByi = 1867 + INTEGER(IntKi), PARAMETER :: M1N5FByi = 1868 + INTEGER(IntKi), PARAMETER :: M1N6FByi = 1869 + INTEGER(IntKi), PARAMETER :: M1N7FByi = 1870 + INTEGER(IntKi), PARAMETER :: M1N8FByi = 1871 + INTEGER(IntKi), PARAMETER :: M1N9FByi = 1872 + INTEGER(IntKi), PARAMETER :: M2N1FByi = 1873 + INTEGER(IntKi), PARAMETER :: M2N2FByi = 1874 + INTEGER(IntKi), PARAMETER :: M2N3FByi = 1875 + INTEGER(IntKi), PARAMETER :: M2N4FByi = 1876 + INTEGER(IntKi), PARAMETER :: M2N5FByi = 1877 + INTEGER(IntKi), PARAMETER :: M2N6FByi = 1878 + INTEGER(IntKi), PARAMETER :: M2N7FByi = 1879 + INTEGER(IntKi), PARAMETER :: M2N8FByi = 1880 + INTEGER(IntKi), PARAMETER :: M2N9FByi = 1881 + INTEGER(IntKi), PARAMETER :: M3N1FByi = 1882 + INTEGER(IntKi), PARAMETER :: M3N2FByi = 1883 + INTEGER(IntKi), PARAMETER :: M3N3FByi = 1884 + INTEGER(IntKi), PARAMETER :: M3N4FByi = 1885 + INTEGER(IntKi), PARAMETER :: M3N5FByi = 1886 + INTEGER(IntKi), PARAMETER :: M3N6FByi = 1887 + INTEGER(IntKi), PARAMETER :: M3N7FByi = 1888 + INTEGER(IntKi), PARAMETER :: M3N8FByi = 1889 + INTEGER(IntKi), PARAMETER :: M3N9FByi = 1890 + INTEGER(IntKi), PARAMETER :: M4N1FByi = 1891 + INTEGER(IntKi), PARAMETER :: M4N2FByi = 1892 + INTEGER(IntKi), PARAMETER :: M4N3FByi = 1893 + INTEGER(IntKi), PARAMETER :: M4N4FByi = 1894 + INTEGER(IntKi), PARAMETER :: M4N5FByi = 1895 + INTEGER(IntKi), PARAMETER :: M4N6FByi = 1896 + INTEGER(IntKi), PARAMETER :: M4N7FByi = 1897 + INTEGER(IntKi), PARAMETER :: M4N8FByi = 1898 + INTEGER(IntKi), PARAMETER :: M4N9FByi = 1899 + INTEGER(IntKi), PARAMETER :: M5N1FByi = 1900 + INTEGER(IntKi), PARAMETER :: M5N2FByi = 1901 + INTEGER(IntKi), PARAMETER :: M5N3FByi = 1902 + INTEGER(IntKi), PARAMETER :: M5N4FByi = 1903 + INTEGER(IntKi), PARAMETER :: M5N5FByi = 1904 + INTEGER(IntKi), PARAMETER :: M5N6FByi = 1905 + INTEGER(IntKi), PARAMETER :: M5N7FByi = 1906 + INTEGER(IntKi), PARAMETER :: M5N8FByi = 1907 + INTEGER(IntKi), PARAMETER :: M5N9FByi = 1908 + INTEGER(IntKi), PARAMETER :: M6N1FByi = 1909 + INTEGER(IntKi), PARAMETER :: M6N2FByi = 1910 + INTEGER(IntKi), PARAMETER :: M6N3FByi = 1911 + INTEGER(IntKi), PARAMETER :: M6N4FByi = 1912 + INTEGER(IntKi), PARAMETER :: M6N5FByi = 1913 + INTEGER(IntKi), PARAMETER :: M6N6FByi = 1914 + INTEGER(IntKi), PARAMETER :: M6N7FByi = 1915 + INTEGER(IntKi), PARAMETER :: M6N8FByi = 1916 + INTEGER(IntKi), PARAMETER :: M6N9FByi = 1917 + INTEGER(IntKi), PARAMETER :: M7N1FByi = 1918 + INTEGER(IntKi), PARAMETER :: M7N2FByi = 1919 + INTEGER(IntKi), PARAMETER :: M7N3FByi = 1920 + INTEGER(IntKi), PARAMETER :: M7N4FByi = 1921 + INTEGER(IntKi), PARAMETER :: M7N5FByi = 1922 + INTEGER(IntKi), PARAMETER :: M7N6FByi = 1923 + INTEGER(IntKi), PARAMETER :: M7N7FByi = 1924 + INTEGER(IntKi), PARAMETER :: M7N8FByi = 1925 + INTEGER(IntKi), PARAMETER :: M7N9FByi = 1926 + INTEGER(IntKi), PARAMETER :: M8N1FByi = 1927 + INTEGER(IntKi), PARAMETER :: M8N2FByi = 1928 + INTEGER(IntKi), PARAMETER :: M8N3FByi = 1929 + INTEGER(IntKi), PARAMETER :: M8N4FByi = 1930 + INTEGER(IntKi), PARAMETER :: M8N5FByi = 1931 + INTEGER(IntKi), PARAMETER :: M8N6FByi = 1932 + INTEGER(IntKi), PARAMETER :: M8N7FByi = 1933 + INTEGER(IntKi), PARAMETER :: M8N8FByi = 1934 + INTEGER(IntKi), PARAMETER :: M8N9FByi = 1935 + INTEGER(IntKi), PARAMETER :: M9N1FByi = 1936 + INTEGER(IntKi), PARAMETER :: M9N2FByi = 1937 + INTEGER(IntKi), PARAMETER :: M9N3FByi = 1938 + INTEGER(IntKi), PARAMETER :: M9N4FByi = 1939 + INTEGER(IntKi), PARAMETER :: M9N5FByi = 1940 + INTEGER(IntKi), PARAMETER :: M9N6FByi = 1941 + INTEGER(IntKi), PARAMETER :: M9N7FByi = 1942 + INTEGER(IntKi), PARAMETER :: M9N8FByi = 1943 + INTEGER(IntKi), PARAMETER :: M9N9FByi = 1944 + INTEGER(IntKi), PARAMETER :: M1N1FBzi = 1945 + INTEGER(IntKi), PARAMETER :: M1N2FBzi = 1946 + INTEGER(IntKi), PARAMETER :: M1N3FBzi = 1947 + INTEGER(IntKi), PARAMETER :: M1N4FBzi = 1948 + INTEGER(IntKi), PARAMETER :: M1N5FBzi = 1949 + INTEGER(IntKi), PARAMETER :: M1N6FBzi = 1950 + INTEGER(IntKi), PARAMETER :: M1N7FBzi = 1951 + INTEGER(IntKi), PARAMETER :: M1N8FBzi = 1952 + INTEGER(IntKi), PARAMETER :: M1N9FBzi = 1953 + INTEGER(IntKi), PARAMETER :: M2N1FBzi = 1954 + INTEGER(IntKi), PARAMETER :: M2N2FBzi = 1955 + INTEGER(IntKi), PARAMETER :: M2N3FBzi = 1956 + INTEGER(IntKi), PARAMETER :: M2N4FBzi = 1957 + INTEGER(IntKi), PARAMETER :: M2N5FBzi = 1958 + INTEGER(IntKi), PARAMETER :: M2N6FBzi = 1959 + INTEGER(IntKi), PARAMETER :: M2N7FBzi = 1960 + INTEGER(IntKi), PARAMETER :: M2N8FBzi = 1961 + INTEGER(IntKi), PARAMETER :: M2N9FBzi = 1962 + INTEGER(IntKi), PARAMETER :: M3N1FBzi = 1963 + INTEGER(IntKi), PARAMETER :: M3N2FBzi = 1964 + INTEGER(IntKi), PARAMETER :: M3N3FBzi = 1965 + INTEGER(IntKi), PARAMETER :: M3N4FBzi = 1966 + INTEGER(IntKi), PARAMETER :: M3N5FBzi = 1967 + INTEGER(IntKi), PARAMETER :: M3N6FBzi = 1968 + INTEGER(IntKi), PARAMETER :: M3N7FBzi = 1969 + INTEGER(IntKi), PARAMETER :: M3N8FBzi = 1970 + INTEGER(IntKi), PARAMETER :: M3N9FBzi = 1971 + INTEGER(IntKi), PARAMETER :: M4N1FBzi = 1972 + INTEGER(IntKi), PARAMETER :: M4N2FBzi = 1973 + INTEGER(IntKi), PARAMETER :: M4N3FBzi = 1974 + INTEGER(IntKi), PARAMETER :: M4N4FBzi = 1975 + INTEGER(IntKi), PARAMETER :: M4N5FBzi = 1976 + INTEGER(IntKi), PARAMETER :: M4N6FBzi = 1977 + INTEGER(IntKi), PARAMETER :: M4N7FBzi = 1978 + INTEGER(IntKi), PARAMETER :: M4N8FBzi = 1979 + INTEGER(IntKi), PARAMETER :: M4N9FBzi = 1980 + INTEGER(IntKi), PARAMETER :: M5N1FBzi = 1981 + INTEGER(IntKi), PARAMETER :: M5N2FBzi = 1982 + INTEGER(IntKi), PARAMETER :: M5N3FBzi = 1983 + INTEGER(IntKi), PARAMETER :: M5N4FBzi = 1984 + INTEGER(IntKi), PARAMETER :: M5N5FBzi = 1985 + INTEGER(IntKi), PARAMETER :: M5N6FBzi = 1986 + INTEGER(IntKi), PARAMETER :: M5N7FBzi = 1987 + INTEGER(IntKi), PARAMETER :: M5N8FBzi = 1988 + INTEGER(IntKi), PARAMETER :: M5N9FBzi = 1989 + INTEGER(IntKi), PARAMETER :: M6N1FBzi = 1990 + INTEGER(IntKi), PARAMETER :: M6N2FBzi = 1991 + INTEGER(IntKi), PARAMETER :: M6N3FBzi = 1992 + INTEGER(IntKi), PARAMETER :: M6N4FBzi = 1993 + INTEGER(IntKi), PARAMETER :: M6N5FBzi = 1994 + INTEGER(IntKi), PARAMETER :: M6N6FBzi = 1995 + INTEGER(IntKi), PARAMETER :: M6N7FBzi = 1996 + INTEGER(IntKi), PARAMETER :: M6N8FBzi = 1997 + INTEGER(IntKi), PARAMETER :: M6N9FBzi = 1998 + INTEGER(IntKi), PARAMETER :: M7N1FBzi = 1999 + INTEGER(IntKi), PARAMETER :: M7N2FBzi = 2000 + INTEGER(IntKi), PARAMETER :: M7N3FBzi = 2001 + INTEGER(IntKi), PARAMETER :: M7N4FBzi = 2002 + INTEGER(IntKi), PARAMETER :: M7N5FBzi = 2003 + INTEGER(IntKi), PARAMETER :: M7N6FBzi = 2004 + INTEGER(IntKi), PARAMETER :: M7N7FBzi = 2005 + INTEGER(IntKi), PARAMETER :: M7N8FBzi = 2006 + INTEGER(IntKi), PARAMETER :: M7N9FBzi = 2007 + INTEGER(IntKi), PARAMETER :: M8N1FBzi = 2008 + INTEGER(IntKi), PARAMETER :: M8N2FBzi = 2009 + INTEGER(IntKi), PARAMETER :: M8N3FBzi = 2010 + INTEGER(IntKi), PARAMETER :: M8N4FBzi = 2011 + INTEGER(IntKi), PARAMETER :: M8N5FBzi = 2012 + INTEGER(IntKi), PARAMETER :: M8N6FBzi = 2013 + INTEGER(IntKi), PARAMETER :: M8N7FBzi = 2014 + INTEGER(IntKi), PARAMETER :: M8N8FBzi = 2015 + INTEGER(IntKi), PARAMETER :: M8N9FBzi = 2016 + INTEGER(IntKi), PARAMETER :: M9N1FBzi = 2017 + INTEGER(IntKi), PARAMETER :: M9N2FBzi = 2018 + INTEGER(IntKi), PARAMETER :: M9N3FBzi = 2019 + INTEGER(IntKi), PARAMETER :: M9N4FBzi = 2020 + INTEGER(IntKi), PARAMETER :: M9N5FBzi = 2021 + INTEGER(IntKi), PARAMETER :: M9N6FBzi = 2022 + INTEGER(IntKi), PARAMETER :: M9N7FBzi = 2023 + INTEGER(IntKi), PARAMETER :: M9N8FBzi = 2024 + INTEGER(IntKi), PARAMETER :: M9N9FBzi = 2025 + INTEGER(IntKi), PARAMETER :: M1N1MBxi = 2026 + INTEGER(IntKi), PARAMETER :: M1N2MBxi = 2027 + INTEGER(IntKi), PARAMETER :: M1N3MBxi = 2028 + INTEGER(IntKi), PARAMETER :: M1N4MBxi = 2029 + INTEGER(IntKi), PARAMETER :: M1N5MBxi = 2030 + INTEGER(IntKi), PARAMETER :: M1N6MBxi = 2031 + INTEGER(IntKi), PARAMETER :: M1N7MBxi = 2032 + INTEGER(IntKi), PARAMETER :: M1N8MBxi = 2033 + INTEGER(IntKi), PARAMETER :: M1N9MBxi = 2034 + INTEGER(IntKi), PARAMETER :: M2N1MBxi = 2035 + INTEGER(IntKi), PARAMETER :: M2N2MBxi = 2036 + INTEGER(IntKi), PARAMETER :: M2N3MBxi = 2037 + INTEGER(IntKi), PARAMETER :: M2N4MBxi = 2038 + INTEGER(IntKi), PARAMETER :: M2N5MBxi = 2039 + INTEGER(IntKi), PARAMETER :: M2N6MBxi = 2040 + INTEGER(IntKi), PARAMETER :: M2N7MBxi = 2041 + INTEGER(IntKi), PARAMETER :: M2N8MBxi = 2042 + INTEGER(IntKi), PARAMETER :: M2N9MBxi = 2043 + INTEGER(IntKi), PARAMETER :: M3N1MBxi = 2044 + INTEGER(IntKi), PARAMETER :: M3N2MBxi = 2045 + INTEGER(IntKi), PARAMETER :: M3N3MBxi = 2046 + INTEGER(IntKi), PARAMETER :: M3N4MBxi = 2047 + INTEGER(IntKi), PARAMETER :: M3N5MBxi = 2048 + INTEGER(IntKi), PARAMETER :: M3N6MBxi = 2049 + INTEGER(IntKi), PARAMETER :: M3N7MBxi = 2050 + INTEGER(IntKi), PARAMETER :: M3N8MBxi = 2051 + INTEGER(IntKi), PARAMETER :: M3N9MBxi = 2052 + INTEGER(IntKi), PARAMETER :: M4N1MBxi = 2053 + INTEGER(IntKi), PARAMETER :: M4N2MBxi = 2054 + INTEGER(IntKi), PARAMETER :: M4N3MBxi = 2055 + INTEGER(IntKi), PARAMETER :: M4N4MBxi = 2056 + INTEGER(IntKi), PARAMETER :: M4N5MBxi = 2057 + INTEGER(IntKi), PARAMETER :: M4N6MBxi = 2058 + INTEGER(IntKi), PARAMETER :: M4N7MBxi = 2059 + INTEGER(IntKi), PARAMETER :: M4N8MBxi = 2060 + INTEGER(IntKi), PARAMETER :: M4N9MBxi = 2061 + INTEGER(IntKi), PARAMETER :: M5N1MBxi = 2062 + INTEGER(IntKi), PARAMETER :: M5N2MBxi = 2063 + INTEGER(IntKi), PARAMETER :: M5N3MBxi = 2064 + INTEGER(IntKi), PARAMETER :: M5N4MBxi = 2065 + INTEGER(IntKi), PARAMETER :: M5N5MBxi = 2066 + INTEGER(IntKi), PARAMETER :: M5N6MBxi = 2067 + INTEGER(IntKi), PARAMETER :: M5N7MBxi = 2068 + INTEGER(IntKi), PARAMETER :: M5N8MBxi = 2069 + INTEGER(IntKi), PARAMETER :: M5N9MBxi = 2070 + INTEGER(IntKi), PARAMETER :: M6N1MBxi = 2071 + INTEGER(IntKi), PARAMETER :: M6N2MBxi = 2072 + INTEGER(IntKi), PARAMETER :: M6N3MBxi = 2073 + INTEGER(IntKi), PARAMETER :: M6N4MBxi = 2074 + INTEGER(IntKi), PARAMETER :: M6N5MBxi = 2075 + INTEGER(IntKi), PARAMETER :: M6N6MBxi = 2076 + INTEGER(IntKi), PARAMETER :: M6N7MBxi = 2077 + INTEGER(IntKi), PARAMETER :: M6N8MBxi = 2078 + INTEGER(IntKi), PARAMETER :: M6N9MBxi = 2079 + INTEGER(IntKi), PARAMETER :: M7N1MBxi = 2080 + INTEGER(IntKi), PARAMETER :: M7N2MBxi = 2081 + INTEGER(IntKi), PARAMETER :: M7N3MBxi = 2082 + INTEGER(IntKi), PARAMETER :: M7N4MBxi = 2083 + INTEGER(IntKi), PARAMETER :: M7N5MBxi = 2084 + INTEGER(IntKi), PARAMETER :: M7N6MBxi = 2085 + INTEGER(IntKi), PARAMETER :: M7N7MBxi = 2086 + INTEGER(IntKi), PARAMETER :: M7N8MBxi = 2087 + INTEGER(IntKi), PARAMETER :: M7N9MBxi = 2088 + INTEGER(IntKi), PARAMETER :: M8N1MBxi = 2089 + INTEGER(IntKi), PARAMETER :: M8N2MBxi = 2090 + INTEGER(IntKi), PARAMETER :: M8N3MBxi = 2091 + INTEGER(IntKi), PARAMETER :: M8N4MBxi = 2092 + INTEGER(IntKi), PARAMETER :: M8N5MBxi = 2093 + INTEGER(IntKi), PARAMETER :: M8N6MBxi = 2094 + INTEGER(IntKi), PARAMETER :: M8N7MBxi = 2095 + INTEGER(IntKi), PARAMETER :: M8N8MBxi = 2096 + INTEGER(IntKi), PARAMETER :: M8N9MBxi = 2097 + INTEGER(IntKi), PARAMETER :: M9N1MBxi = 2098 + INTEGER(IntKi), PARAMETER :: M9N2MBxi = 2099 + INTEGER(IntKi), PARAMETER :: M9N3MBxi = 2100 + INTEGER(IntKi), PARAMETER :: M9N4MBxi = 2101 + INTEGER(IntKi), PARAMETER :: M9N5MBxi = 2102 + INTEGER(IntKi), PARAMETER :: M9N6MBxi = 2103 + INTEGER(IntKi), PARAMETER :: M9N7MBxi = 2104 + INTEGER(IntKi), PARAMETER :: M9N8MBxi = 2105 + INTEGER(IntKi), PARAMETER :: M9N9MBxi = 2106 + INTEGER(IntKi), PARAMETER :: M1N1MByi = 2107 + INTEGER(IntKi), PARAMETER :: M1N2MByi = 2108 + INTEGER(IntKi), PARAMETER :: M1N3MByi = 2109 + INTEGER(IntKi), PARAMETER :: M1N4MByi = 2110 + INTEGER(IntKi), PARAMETER :: M1N5MByi = 2111 + INTEGER(IntKi), PARAMETER :: M1N6MByi = 2112 + INTEGER(IntKi), PARAMETER :: M1N7MByi = 2113 + INTEGER(IntKi), PARAMETER :: M1N8MByi = 2114 + INTEGER(IntKi), PARAMETER :: M1N9MByi = 2115 + INTEGER(IntKi), PARAMETER :: M2N1MByi = 2116 + INTEGER(IntKi), PARAMETER :: M2N2MByi = 2117 + INTEGER(IntKi), PARAMETER :: M2N3MByi = 2118 + INTEGER(IntKi), PARAMETER :: M2N4MByi = 2119 + INTEGER(IntKi), PARAMETER :: M2N5MByi = 2120 + INTEGER(IntKi), PARAMETER :: M2N6MByi = 2121 + INTEGER(IntKi), PARAMETER :: M2N7MByi = 2122 + INTEGER(IntKi), PARAMETER :: M2N8MByi = 2123 + INTEGER(IntKi), PARAMETER :: M2N9MByi = 2124 + INTEGER(IntKi), PARAMETER :: M3N1MByi = 2125 + INTEGER(IntKi), PARAMETER :: M3N2MByi = 2126 + INTEGER(IntKi), PARAMETER :: M3N3MByi = 2127 + INTEGER(IntKi), PARAMETER :: M3N4MByi = 2128 + INTEGER(IntKi), PARAMETER :: M3N5MByi = 2129 + INTEGER(IntKi), PARAMETER :: M3N6MByi = 2130 + INTEGER(IntKi), PARAMETER :: M3N7MByi = 2131 + INTEGER(IntKi), PARAMETER :: M3N8MByi = 2132 + INTEGER(IntKi), PARAMETER :: M3N9MByi = 2133 + INTEGER(IntKi), PARAMETER :: M4N1MByi = 2134 + INTEGER(IntKi), PARAMETER :: M4N2MByi = 2135 + INTEGER(IntKi), PARAMETER :: M4N3MByi = 2136 + INTEGER(IntKi), PARAMETER :: M4N4MByi = 2137 + INTEGER(IntKi), PARAMETER :: M4N5MByi = 2138 + INTEGER(IntKi), PARAMETER :: M4N6MByi = 2139 + INTEGER(IntKi), PARAMETER :: M4N7MByi = 2140 + INTEGER(IntKi), PARAMETER :: M4N8MByi = 2141 + INTEGER(IntKi), PARAMETER :: M4N9MByi = 2142 + INTEGER(IntKi), PARAMETER :: M5N1MByi = 2143 + INTEGER(IntKi), PARAMETER :: M5N2MByi = 2144 + INTEGER(IntKi), PARAMETER :: M5N3MByi = 2145 + INTEGER(IntKi), PARAMETER :: M5N4MByi = 2146 + INTEGER(IntKi), PARAMETER :: M5N5MByi = 2147 + INTEGER(IntKi), PARAMETER :: M5N6MByi = 2148 + INTEGER(IntKi), PARAMETER :: M5N7MByi = 2149 + INTEGER(IntKi), PARAMETER :: M5N8MByi = 2150 + INTEGER(IntKi), PARAMETER :: M5N9MByi = 2151 + INTEGER(IntKi), PARAMETER :: M6N1MByi = 2152 + INTEGER(IntKi), PARAMETER :: M6N2MByi = 2153 + INTEGER(IntKi), PARAMETER :: M6N3MByi = 2154 + INTEGER(IntKi), PARAMETER :: M6N4MByi = 2155 + INTEGER(IntKi), PARAMETER :: M6N5MByi = 2156 + INTEGER(IntKi), PARAMETER :: M6N6MByi = 2157 + INTEGER(IntKi), PARAMETER :: M6N7MByi = 2158 + INTEGER(IntKi), PARAMETER :: M6N8MByi = 2159 + INTEGER(IntKi), PARAMETER :: M6N9MByi = 2160 + INTEGER(IntKi), PARAMETER :: M7N1MByi = 2161 + INTEGER(IntKi), PARAMETER :: M7N2MByi = 2162 + INTEGER(IntKi), PARAMETER :: M7N3MByi = 2163 + INTEGER(IntKi), PARAMETER :: M7N4MByi = 2164 + INTEGER(IntKi), PARAMETER :: M7N5MByi = 2165 + INTEGER(IntKi), PARAMETER :: M7N6MByi = 2166 + INTEGER(IntKi), PARAMETER :: M7N7MByi = 2167 + INTEGER(IntKi), PARAMETER :: M7N8MByi = 2168 + INTEGER(IntKi), PARAMETER :: M7N9MByi = 2169 + INTEGER(IntKi), PARAMETER :: M8N1MByi = 2170 + INTEGER(IntKi), PARAMETER :: M8N2MByi = 2171 + INTEGER(IntKi), PARAMETER :: M8N3MByi = 2172 + INTEGER(IntKi), PARAMETER :: M8N4MByi = 2173 + INTEGER(IntKi), PARAMETER :: M8N5MByi = 2174 + INTEGER(IntKi), PARAMETER :: M8N6MByi = 2175 + INTEGER(IntKi), PARAMETER :: M8N7MByi = 2176 + INTEGER(IntKi), PARAMETER :: M8N8MByi = 2177 + INTEGER(IntKi), PARAMETER :: M8N9MByi = 2178 + INTEGER(IntKi), PARAMETER :: M9N1MByi = 2179 + INTEGER(IntKi), PARAMETER :: M9N2MByi = 2180 + INTEGER(IntKi), PARAMETER :: M9N3MByi = 2181 + INTEGER(IntKi), PARAMETER :: M9N4MByi = 2182 + INTEGER(IntKi), PARAMETER :: M9N5MByi = 2183 + INTEGER(IntKi), PARAMETER :: M9N6MByi = 2184 + INTEGER(IntKi), PARAMETER :: M9N7MByi = 2185 + INTEGER(IntKi), PARAMETER :: M9N8MByi = 2186 + INTEGER(IntKi), PARAMETER :: M9N9MByi = 2187 + INTEGER(IntKi), PARAMETER :: M1N1MBzi = 2188 + INTEGER(IntKi), PARAMETER :: M1N2MBzi = 2189 + INTEGER(IntKi), PARAMETER :: M1N3MBzi = 2190 + INTEGER(IntKi), PARAMETER :: M1N4MBzi = 2191 + INTEGER(IntKi), PARAMETER :: M1N5MBzi = 2192 + INTEGER(IntKi), PARAMETER :: M1N6MBzi = 2193 + INTEGER(IntKi), PARAMETER :: M1N7MBzi = 2194 + INTEGER(IntKi), PARAMETER :: M1N8MBzi = 2195 + INTEGER(IntKi), PARAMETER :: M1N9MBzi = 2196 + INTEGER(IntKi), PARAMETER :: M2N1MBzi = 2197 + INTEGER(IntKi), PARAMETER :: M2N2MBzi = 2198 + INTEGER(IntKi), PARAMETER :: M2N3MBzi = 2199 + INTEGER(IntKi), PARAMETER :: M2N4MBzi = 2200 + INTEGER(IntKi), PARAMETER :: M2N5MBzi = 2201 + INTEGER(IntKi), PARAMETER :: M2N6MBzi = 2202 + INTEGER(IntKi), PARAMETER :: M2N7MBzi = 2203 + INTEGER(IntKi), PARAMETER :: M2N8MBzi = 2204 + INTEGER(IntKi), PARAMETER :: M2N9MBzi = 2205 + INTEGER(IntKi), PARAMETER :: M3N1MBzi = 2206 + INTEGER(IntKi), PARAMETER :: M3N2MBzi = 2207 + INTEGER(IntKi), PARAMETER :: M3N3MBzi = 2208 + INTEGER(IntKi), PARAMETER :: M3N4MBzi = 2209 + INTEGER(IntKi), PARAMETER :: M3N5MBzi = 2210 + INTEGER(IntKi), PARAMETER :: M3N6MBzi = 2211 + INTEGER(IntKi), PARAMETER :: M3N7MBzi = 2212 + INTEGER(IntKi), PARAMETER :: M3N8MBzi = 2213 + INTEGER(IntKi), PARAMETER :: M3N9MBzi = 2214 + INTEGER(IntKi), PARAMETER :: M4N1MBzi = 2215 + INTEGER(IntKi), PARAMETER :: M4N2MBzi = 2216 + INTEGER(IntKi), PARAMETER :: M4N3MBzi = 2217 + INTEGER(IntKi), PARAMETER :: M4N4MBzi = 2218 + INTEGER(IntKi), PARAMETER :: M4N5MBzi = 2219 + INTEGER(IntKi), PARAMETER :: M4N6MBzi = 2220 + INTEGER(IntKi), PARAMETER :: M4N7MBzi = 2221 + INTEGER(IntKi), PARAMETER :: M4N8MBzi = 2222 + INTEGER(IntKi), PARAMETER :: M4N9MBzi = 2223 + INTEGER(IntKi), PARAMETER :: M5N1MBzi = 2224 + INTEGER(IntKi), PARAMETER :: M5N2MBzi = 2225 + INTEGER(IntKi), PARAMETER :: M5N3MBzi = 2226 + INTEGER(IntKi), PARAMETER :: M5N4MBzi = 2227 + INTEGER(IntKi), PARAMETER :: M5N5MBzi = 2228 + INTEGER(IntKi), PARAMETER :: M5N6MBzi = 2229 + INTEGER(IntKi), PARAMETER :: M5N7MBzi = 2230 + INTEGER(IntKi), PARAMETER :: M5N8MBzi = 2231 + INTEGER(IntKi), PARAMETER :: M5N9MBzi = 2232 + INTEGER(IntKi), PARAMETER :: M6N1MBzi = 2233 + INTEGER(IntKi), PARAMETER :: M6N2MBzi = 2234 + INTEGER(IntKi), PARAMETER :: M6N3MBzi = 2235 + INTEGER(IntKi), PARAMETER :: M6N4MBzi = 2236 + INTEGER(IntKi), PARAMETER :: M6N5MBzi = 2237 + INTEGER(IntKi), PARAMETER :: M6N6MBzi = 2238 + INTEGER(IntKi), PARAMETER :: M6N7MBzi = 2239 + INTEGER(IntKi), PARAMETER :: M6N8MBzi = 2240 + INTEGER(IntKi), PARAMETER :: M6N9MBzi = 2241 + INTEGER(IntKi), PARAMETER :: M7N1MBzi = 2242 + INTEGER(IntKi), PARAMETER :: M7N2MBzi = 2243 + INTEGER(IntKi), PARAMETER :: M7N3MBzi = 2244 + INTEGER(IntKi), PARAMETER :: M7N4MBzi = 2245 + INTEGER(IntKi), PARAMETER :: M7N5MBzi = 2246 + INTEGER(IntKi), PARAMETER :: M7N6MBzi = 2247 + INTEGER(IntKi), PARAMETER :: M7N7MBzi = 2248 + INTEGER(IntKi), PARAMETER :: M7N8MBzi = 2249 + INTEGER(IntKi), PARAMETER :: M7N9MBzi = 2250 + INTEGER(IntKi), PARAMETER :: M8N1MBzi = 2251 + INTEGER(IntKi), PARAMETER :: M8N2MBzi = 2252 + INTEGER(IntKi), PARAMETER :: M8N3MBzi = 2253 + INTEGER(IntKi), PARAMETER :: M8N4MBzi = 2254 + INTEGER(IntKi), PARAMETER :: M8N5MBzi = 2255 + INTEGER(IntKi), PARAMETER :: M8N6MBzi = 2256 + INTEGER(IntKi), PARAMETER :: M8N7MBzi = 2257 + INTEGER(IntKi), PARAMETER :: M8N8MBzi = 2258 + INTEGER(IntKi), PARAMETER :: M8N9MBzi = 2259 + INTEGER(IntKi), PARAMETER :: M9N1MBzi = 2260 + INTEGER(IntKi), PARAMETER :: M9N2MBzi = 2261 + INTEGER(IntKi), PARAMETER :: M9N3MBzi = 2262 + INTEGER(IntKi), PARAMETER :: M9N4MBzi = 2263 + INTEGER(IntKi), PARAMETER :: M9N5MBzi = 2264 + INTEGER(IntKi), PARAMETER :: M9N6MBzi = 2265 + INTEGER(IntKi), PARAMETER :: M9N7MBzi = 2266 + INTEGER(IntKi), PARAMETER :: M9N8MBzi = 2267 + INTEGER(IntKi), PARAMETER :: M9N9MBzi = 2268 + INTEGER(IntKi), PARAMETER :: M1N1FBFxi = 2269 + INTEGER(IntKi), PARAMETER :: M1N2FBFxi = 2270 + INTEGER(IntKi), PARAMETER :: M1N3FBFxi = 2271 + INTEGER(IntKi), PARAMETER :: M1N4FBFxi = 2272 + INTEGER(IntKi), PARAMETER :: M1N5FBFxi = 2273 + INTEGER(IntKi), PARAMETER :: M1N6FBFxi = 2274 + INTEGER(IntKi), PARAMETER :: M1N7FBFxi = 2275 + INTEGER(IntKi), PARAMETER :: M1N8FBFxi = 2276 + INTEGER(IntKi), PARAMETER :: M1N9FBFxi = 2277 + INTEGER(IntKi), PARAMETER :: M2N1FBFxi = 2278 + INTEGER(IntKi), PARAMETER :: M2N2FBFxi = 2279 + INTEGER(IntKi), PARAMETER :: M2N3FBFxi = 2280 + INTEGER(IntKi), PARAMETER :: M2N4FBFxi = 2281 + INTEGER(IntKi), PARAMETER :: M2N5FBFxi = 2282 + INTEGER(IntKi), PARAMETER :: M2N6FBFxi = 2283 + INTEGER(IntKi), PARAMETER :: M2N7FBFxi = 2284 + INTEGER(IntKi), PARAMETER :: M2N8FBFxi = 2285 + INTEGER(IntKi), PARAMETER :: M2N9FBFxi = 2286 + INTEGER(IntKi), PARAMETER :: M3N1FBFxi = 2287 + INTEGER(IntKi), PARAMETER :: M3N2FBFxi = 2288 + INTEGER(IntKi), PARAMETER :: M3N3FBFxi = 2289 + INTEGER(IntKi), PARAMETER :: M3N4FBFxi = 2290 + INTEGER(IntKi), PARAMETER :: M3N5FBFxi = 2291 + INTEGER(IntKi), PARAMETER :: M3N6FBFxi = 2292 + INTEGER(IntKi), PARAMETER :: M3N7FBFxi = 2293 + INTEGER(IntKi), PARAMETER :: M3N8FBFxi = 2294 + INTEGER(IntKi), PARAMETER :: M3N9FBFxi = 2295 + INTEGER(IntKi), PARAMETER :: M4N1FBFxi = 2296 + INTEGER(IntKi), PARAMETER :: M4N2FBFxi = 2297 + INTEGER(IntKi), PARAMETER :: M4N3FBFxi = 2298 + INTEGER(IntKi), PARAMETER :: M4N4FBFxi = 2299 + INTEGER(IntKi), PARAMETER :: M4N5FBFxi = 2300 + INTEGER(IntKi), PARAMETER :: M4N6FBFxi = 2301 + INTEGER(IntKi), PARAMETER :: M4N7FBFxi = 2302 + INTEGER(IntKi), PARAMETER :: M4N8FBFxi = 2303 + INTEGER(IntKi), PARAMETER :: M4N9FBFxi = 2304 + INTEGER(IntKi), PARAMETER :: M5N1FBFxi = 2305 + INTEGER(IntKi), PARAMETER :: M5N2FBFxi = 2306 + INTEGER(IntKi), PARAMETER :: M5N3FBFxi = 2307 + INTEGER(IntKi), PARAMETER :: M5N4FBFxi = 2308 + INTEGER(IntKi), PARAMETER :: M5N5FBFxi = 2309 + INTEGER(IntKi), PARAMETER :: M5N6FBFxi = 2310 + INTEGER(IntKi), PARAMETER :: M5N7FBFxi = 2311 + INTEGER(IntKi), PARAMETER :: M5N8FBFxi = 2312 + INTEGER(IntKi), PARAMETER :: M5N9FBFxi = 2313 + INTEGER(IntKi), PARAMETER :: M6N1FBFxi = 2314 + INTEGER(IntKi), PARAMETER :: M6N2FBFxi = 2315 + INTEGER(IntKi), PARAMETER :: M6N3FBFxi = 2316 + INTEGER(IntKi), PARAMETER :: M6N4FBFxi = 2317 + INTEGER(IntKi), PARAMETER :: M6N5FBFxi = 2318 + INTEGER(IntKi), PARAMETER :: M6N6FBFxi = 2319 + INTEGER(IntKi), PARAMETER :: M6N7FBFxi = 2320 + INTEGER(IntKi), PARAMETER :: M6N8FBFxi = 2321 + INTEGER(IntKi), PARAMETER :: M6N9FBFxi = 2322 + INTEGER(IntKi), PARAMETER :: M7N1FBFxi = 2323 + INTEGER(IntKi), PARAMETER :: M7N2FBFxi = 2324 + INTEGER(IntKi), PARAMETER :: M7N3FBFxi = 2325 + INTEGER(IntKi), PARAMETER :: M7N4FBFxi = 2326 + INTEGER(IntKi), PARAMETER :: M7N5FBFxi = 2327 + INTEGER(IntKi), PARAMETER :: M7N6FBFxi = 2328 + INTEGER(IntKi), PARAMETER :: M7N7FBFxi = 2329 + INTEGER(IntKi), PARAMETER :: M7N8FBFxi = 2330 + INTEGER(IntKi), PARAMETER :: M7N9FBFxi = 2331 + INTEGER(IntKi), PARAMETER :: M8N1FBFxi = 2332 + INTEGER(IntKi), PARAMETER :: M8N2FBFxi = 2333 + INTEGER(IntKi), PARAMETER :: M8N3FBFxi = 2334 + INTEGER(IntKi), PARAMETER :: M8N4FBFxi = 2335 + INTEGER(IntKi), PARAMETER :: M8N5FBFxi = 2336 + INTEGER(IntKi), PARAMETER :: M8N6FBFxi = 2337 + INTEGER(IntKi), PARAMETER :: M8N7FBFxi = 2338 + INTEGER(IntKi), PARAMETER :: M8N8FBFxi = 2339 + INTEGER(IntKi), PARAMETER :: M8N9FBFxi = 2340 + INTEGER(IntKi), PARAMETER :: M9N1FBFxi = 2341 + INTEGER(IntKi), PARAMETER :: M9N2FBFxi = 2342 + INTEGER(IntKi), PARAMETER :: M9N3FBFxi = 2343 + INTEGER(IntKi), PARAMETER :: M9N4FBFxi = 2344 + INTEGER(IntKi), PARAMETER :: M9N5FBFxi = 2345 + INTEGER(IntKi), PARAMETER :: M9N6FBFxi = 2346 + INTEGER(IntKi), PARAMETER :: M9N7FBFxi = 2347 + INTEGER(IntKi), PARAMETER :: M9N8FBFxi = 2348 + INTEGER(IntKi), PARAMETER :: M9N9FBFxi = 2349 + INTEGER(IntKi), PARAMETER :: M1N1FBFyi = 2350 + INTEGER(IntKi), PARAMETER :: M1N2FBFyi = 2351 + INTEGER(IntKi), PARAMETER :: M1N3FBFyi = 2352 + INTEGER(IntKi), PARAMETER :: M1N4FBFyi = 2353 + INTEGER(IntKi), PARAMETER :: M1N5FBFyi = 2354 + INTEGER(IntKi), PARAMETER :: M1N6FBFyi = 2355 + INTEGER(IntKi), PARAMETER :: M1N7FBFyi = 2356 + INTEGER(IntKi), PARAMETER :: M1N8FBFyi = 2357 + INTEGER(IntKi), PARAMETER :: M1N9FBFyi = 2358 + INTEGER(IntKi), PARAMETER :: M2N1FBFyi = 2359 + INTEGER(IntKi), PARAMETER :: M2N2FBFyi = 2360 + INTEGER(IntKi), PARAMETER :: M2N3FBFyi = 2361 + INTEGER(IntKi), PARAMETER :: M2N4FBFyi = 2362 + INTEGER(IntKi), PARAMETER :: M2N5FBFyi = 2363 + INTEGER(IntKi), PARAMETER :: M2N6FBFyi = 2364 + INTEGER(IntKi), PARAMETER :: M2N7FBFyi = 2365 + INTEGER(IntKi), PARAMETER :: M2N8FBFyi = 2366 + INTEGER(IntKi), PARAMETER :: M2N9FBFyi = 2367 + INTEGER(IntKi), PARAMETER :: M3N1FBFyi = 2368 + INTEGER(IntKi), PARAMETER :: M3N2FBFyi = 2369 + INTEGER(IntKi), PARAMETER :: M3N3FBFyi = 2370 + INTEGER(IntKi), PARAMETER :: M3N4FBFyi = 2371 + INTEGER(IntKi), PARAMETER :: M3N5FBFyi = 2372 + INTEGER(IntKi), PARAMETER :: M3N6FBFyi = 2373 + INTEGER(IntKi), PARAMETER :: M3N7FBFyi = 2374 + INTEGER(IntKi), PARAMETER :: M3N8FBFyi = 2375 + INTEGER(IntKi), PARAMETER :: M3N9FBFyi = 2376 + INTEGER(IntKi), PARAMETER :: M4N1FBFyi = 2377 + INTEGER(IntKi), PARAMETER :: M4N2FBFyi = 2378 + INTEGER(IntKi), PARAMETER :: M4N3FBFyi = 2379 + INTEGER(IntKi), PARAMETER :: M4N4FBFyi = 2380 + INTEGER(IntKi), PARAMETER :: M4N5FBFyi = 2381 + INTEGER(IntKi), PARAMETER :: M4N6FBFyi = 2382 + INTEGER(IntKi), PARAMETER :: M4N7FBFyi = 2383 + INTEGER(IntKi), PARAMETER :: M4N8FBFyi = 2384 + INTEGER(IntKi), PARAMETER :: M4N9FBFyi = 2385 + INTEGER(IntKi), PARAMETER :: M5N1FBFyi = 2386 + INTEGER(IntKi), PARAMETER :: M5N2FBFyi = 2387 + INTEGER(IntKi), PARAMETER :: M5N3FBFyi = 2388 + INTEGER(IntKi), PARAMETER :: M5N4FBFyi = 2389 + INTEGER(IntKi), PARAMETER :: M5N5FBFyi = 2390 + INTEGER(IntKi), PARAMETER :: M5N6FBFyi = 2391 + INTEGER(IntKi), PARAMETER :: M5N7FBFyi = 2392 + INTEGER(IntKi), PARAMETER :: M5N8FBFyi = 2393 + INTEGER(IntKi), PARAMETER :: M5N9FBFyi = 2394 + INTEGER(IntKi), PARAMETER :: M6N1FBFyi = 2395 + INTEGER(IntKi), PARAMETER :: M6N2FBFyi = 2396 + INTEGER(IntKi), PARAMETER :: M6N3FBFyi = 2397 + INTEGER(IntKi), PARAMETER :: M6N4FBFyi = 2398 + INTEGER(IntKi), PARAMETER :: M6N5FBFyi = 2399 + INTEGER(IntKi), PARAMETER :: M6N6FBFyi = 2400 + INTEGER(IntKi), PARAMETER :: M6N7FBFyi = 2401 + INTEGER(IntKi), PARAMETER :: M6N8FBFyi = 2402 + INTEGER(IntKi), PARAMETER :: M6N9FBFyi = 2403 + INTEGER(IntKi), PARAMETER :: M7N1FBFyi = 2404 + INTEGER(IntKi), PARAMETER :: M7N2FBFyi = 2405 + INTEGER(IntKi), PARAMETER :: M7N3FBFyi = 2406 + INTEGER(IntKi), PARAMETER :: M7N4FBFyi = 2407 + INTEGER(IntKi), PARAMETER :: M7N5FBFyi = 2408 + INTEGER(IntKi), PARAMETER :: M7N6FBFyi = 2409 + INTEGER(IntKi), PARAMETER :: M7N7FBFyi = 2410 + INTEGER(IntKi), PARAMETER :: M7N8FBFyi = 2411 + INTEGER(IntKi), PARAMETER :: M7N9FBFyi = 2412 + INTEGER(IntKi), PARAMETER :: M8N1FBFyi = 2413 + INTEGER(IntKi), PARAMETER :: M8N2FBFyi = 2414 + INTEGER(IntKi), PARAMETER :: M8N3FBFyi = 2415 + INTEGER(IntKi), PARAMETER :: M8N4FBFyi = 2416 + INTEGER(IntKi), PARAMETER :: M8N5FBFyi = 2417 + INTEGER(IntKi), PARAMETER :: M8N6FBFyi = 2418 + INTEGER(IntKi), PARAMETER :: M8N7FBFyi = 2419 + INTEGER(IntKi), PARAMETER :: M8N8FBFyi = 2420 + INTEGER(IntKi), PARAMETER :: M8N9FBFyi = 2421 + INTEGER(IntKi), PARAMETER :: M9N1FBFyi = 2422 + INTEGER(IntKi), PARAMETER :: M9N2FBFyi = 2423 + INTEGER(IntKi), PARAMETER :: M9N3FBFyi = 2424 + INTEGER(IntKi), PARAMETER :: M9N4FBFyi = 2425 + INTEGER(IntKi), PARAMETER :: M9N5FBFyi = 2426 + INTEGER(IntKi), PARAMETER :: M9N6FBFyi = 2427 + INTEGER(IntKi), PARAMETER :: M9N7FBFyi = 2428 + INTEGER(IntKi), PARAMETER :: M9N8FBFyi = 2429 + INTEGER(IntKi), PARAMETER :: M9N9FBFyi = 2430 + INTEGER(IntKi), PARAMETER :: M1N1FBFzi = 2431 + INTEGER(IntKi), PARAMETER :: M1N2FBFzi = 2432 + INTEGER(IntKi), PARAMETER :: M1N3FBFzi = 2433 + INTEGER(IntKi), PARAMETER :: M1N4FBFzi = 2434 + INTEGER(IntKi), PARAMETER :: M1N5FBFzi = 2435 + INTEGER(IntKi), PARAMETER :: M1N6FBFzi = 2436 + INTEGER(IntKi), PARAMETER :: M1N7FBFzi = 2437 + INTEGER(IntKi), PARAMETER :: M1N8FBFzi = 2438 + INTEGER(IntKi), PARAMETER :: M1N9FBFzi = 2439 + INTEGER(IntKi), PARAMETER :: M2N1FBFzi = 2440 + INTEGER(IntKi), PARAMETER :: M2N2FBFzi = 2441 + INTEGER(IntKi), PARAMETER :: M2N3FBFzi = 2442 + INTEGER(IntKi), PARAMETER :: M2N4FBFzi = 2443 + INTEGER(IntKi), PARAMETER :: M2N5FBFzi = 2444 + INTEGER(IntKi), PARAMETER :: M2N6FBFzi = 2445 + INTEGER(IntKi), PARAMETER :: M2N7FBFzi = 2446 + INTEGER(IntKi), PARAMETER :: M2N8FBFzi = 2447 + INTEGER(IntKi), PARAMETER :: M2N9FBFzi = 2448 + INTEGER(IntKi), PARAMETER :: M3N1FBFzi = 2449 + INTEGER(IntKi), PARAMETER :: M3N2FBFzi = 2450 + INTEGER(IntKi), PARAMETER :: M3N3FBFzi = 2451 + INTEGER(IntKi), PARAMETER :: M3N4FBFzi = 2452 + INTEGER(IntKi), PARAMETER :: M3N5FBFzi = 2453 + INTEGER(IntKi), PARAMETER :: M3N6FBFzi = 2454 + INTEGER(IntKi), PARAMETER :: M3N7FBFzi = 2455 + INTEGER(IntKi), PARAMETER :: M3N8FBFzi = 2456 + INTEGER(IntKi), PARAMETER :: M3N9FBFzi = 2457 + INTEGER(IntKi), PARAMETER :: M4N1FBFzi = 2458 + INTEGER(IntKi), PARAMETER :: M4N2FBFzi = 2459 + INTEGER(IntKi), PARAMETER :: M4N3FBFzi = 2460 + INTEGER(IntKi), PARAMETER :: M4N4FBFzi = 2461 + INTEGER(IntKi), PARAMETER :: M4N5FBFzi = 2462 + INTEGER(IntKi), PARAMETER :: M4N6FBFzi = 2463 + INTEGER(IntKi), PARAMETER :: M4N7FBFzi = 2464 + INTEGER(IntKi), PARAMETER :: M4N8FBFzi = 2465 + INTEGER(IntKi), PARAMETER :: M4N9FBFzi = 2466 + INTEGER(IntKi), PARAMETER :: M5N1FBFzi = 2467 + INTEGER(IntKi), PARAMETER :: M5N2FBFzi = 2468 + INTEGER(IntKi), PARAMETER :: M5N3FBFzi = 2469 + INTEGER(IntKi), PARAMETER :: M5N4FBFzi = 2470 + INTEGER(IntKi), PARAMETER :: M5N5FBFzi = 2471 + INTEGER(IntKi), PARAMETER :: M5N6FBFzi = 2472 + INTEGER(IntKi), PARAMETER :: M5N7FBFzi = 2473 + INTEGER(IntKi), PARAMETER :: M5N8FBFzi = 2474 + INTEGER(IntKi), PARAMETER :: M5N9FBFzi = 2475 + INTEGER(IntKi), PARAMETER :: M6N1FBFzi = 2476 + INTEGER(IntKi), PARAMETER :: M6N2FBFzi = 2477 + INTEGER(IntKi), PARAMETER :: M6N3FBFzi = 2478 + INTEGER(IntKi), PARAMETER :: M6N4FBFzi = 2479 + INTEGER(IntKi), PARAMETER :: M6N5FBFzi = 2480 + INTEGER(IntKi), PARAMETER :: M6N6FBFzi = 2481 + INTEGER(IntKi), PARAMETER :: M6N7FBFzi = 2482 + INTEGER(IntKi), PARAMETER :: M6N8FBFzi = 2483 + INTEGER(IntKi), PARAMETER :: M6N9FBFzi = 2484 + INTEGER(IntKi), PARAMETER :: M7N1FBFzi = 2485 + INTEGER(IntKi), PARAMETER :: M7N2FBFzi = 2486 + INTEGER(IntKi), PARAMETER :: M7N3FBFzi = 2487 + INTEGER(IntKi), PARAMETER :: M7N4FBFzi = 2488 + INTEGER(IntKi), PARAMETER :: M7N5FBFzi = 2489 + INTEGER(IntKi), PARAMETER :: M7N6FBFzi = 2490 + INTEGER(IntKi), PARAMETER :: M7N7FBFzi = 2491 + INTEGER(IntKi), PARAMETER :: M7N8FBFzi = 2492 + INTEGER(IntKi), PARAMETER :: M7N9FBFzi = 2493 + INTEGER(IntKi), PARAMETER :: M8N1FBFzi = 2494 + INTEGER(IntKi), PARAMETER :: M8N2FBFzi = 2495 + INTEGER(IntKi), PARAMETER :: M8N3FBFzi = 2496 + INTEGER(IntKi), PARAMETER :: M8N4FBFzi = 2497 + INTEGER(IntKi), PARAMETER :: M8N5FBFzi = 2498 + INTEGER(IntKi), PARAMETER :: M8N6FBFzi = 2499 + INTEGER(IntKi), PARAMETER :: M8N7FBFzi = 2500 + INTEGER(IntKi), PARAMETER :: M8N8FBFzi = 2501 + INTEGER(IntKi), PARAMETER :: M8N9FBFzi = 2502 + INTEGER(IntKi), PARAMETER :: M9N1FBFzi = 2503 + INTEGER(IntKi), PARAMETER :: M9N2FBFzi = 2504 + INTEGER(IntKi), PARAMETER :: M9N3FBFzi = 2505 + INTEGER(IntKi), PARAMETER :: M9N4FBFzi = 2506 + INTEGER(IntKi), PARAMETER :: M9N5FBFzi = 2507 + INTEGER(IntKi), PARAMETER :: M9N6FBFzi = 2508 + INTEGER(IntKi), PARAMETER :: M9N7FBFzi = 2509 + INTEGER(IntKi), PARAMETER :: M9N8FBFzi = 2510 + INTEGER(IntKi), PARAMETER :: M9N9FBFzi = 2511 + INTEGER(IntKi), PARAMETER :: M1N1MBFxi = 2512 + INTEGER(IntKi), PARAMETER :: M1N2MBFxi = 2513 + INTEGER(IntKi), PARAMETER :: M1N3MBFxi = 2514 + INTEGER(IntKi), PARAMETER :: M1N4MBFxi = 2515 + INTEGER(IntKi), PARAMETER :: M1N5MBFxi = 2516 + INTEGER(IntKi), PARAMETER :: M1N6MBFxi = 2517 + INTEGER(IntKi), PARAMETER :: M1N7MBFxi = 2518 + INTEGER(IntKi), PARAMETER :: M1N8MBFxi = 2519 + INTEGER(IntKi), PARAMETER :: M1N9MBFxi = 2520 + INTEGER(IntKi), PARAMETER :: M2N1MBFxi = 2521 + INTEGER(IntKi), PARAMETER :: M2N2MBFxi = 2522 + INTEGER(IntKi), PARAMETER :: M2N3MBFxi = 2523 + INTEGER(IntKi), PARAMETER :: M2N4MBFxi = 2524 + INTEGER(IntKi), PARAMETER :: M2N5MBFxi = 2525 + INTEGER(IntKi), PARAMETER :: M2N6MBFxi = 2526 + INTEGER(IntKi), PARAMETER :: M2N7MBFxi = 2527 + INTEGER(IntKi), PARAMETER :: M2N8MBFxi = 2528 + INTEGER(IntKi), PARAMETER :: M2N9MBFxi = 2529 + INTEGER(IntKi), PARAMETER :: M3N1MBFxi = 2530 + INTEGER(IntKi), PARAMETER :: M3N2MBFxi = 2531 + INTEGER(IntKi), PARAMETER :: M3N3MBFxi = 2532 + INTEGER(IntKi), PARAMETER :: M3N4MBFxi = 2533 + INTEGER(IntKi), PARAMETER :: M3N5MBFxi = 2534 + INTEGER(IntKi), PARAMETER :: M3N6MBFxi = 2535 + INTEGER(IntKi), PARAMETER :: M3N7MBFxi = 2536 + INTEGER(IntKi), PARAMETER :: M3N8MBFxi = 2537 + INTEGER(IntKi), PARAMETER :: M3N9MBFxi = 2538 + INTEGER(IntKi), PARAMETER :: M4N1MBFxi = 2539 + INTEGER(IntKi), PARAMETER :: M4N2MBFxi = 2540 + INTEGER(IntKi), PARAMETER :: M4N3MBFxi = 2541 + INTEGER(IntKi), PARAMETER :: M4N4MBFxi = 2542 + INTEGER(IntKi), PARAMETER :: M4N5MBFxi = 2543 + INTEGER(IntKi), PARAMETER :: M4N6MBFxi = 2544 + INTEGER(IntKi), PARAMETER :: M4N7MBFxi = 2545 + INTEGER(IntKi), PARAMETER :: M4N8MBFxi = 2546 + INTEGER(IntKi), PARAMETER :: M4N9MBFxi = 2547 + INTEGER(IntKi), PARAMETER :: M5N1MBFxi = 2548 + INTEGER(IntKi), PARAMETER :: M5N2MBFxi = 2549 + INTEGER(IntKi), PARAMETER :: M5N3MBFxi = 2550 + INTEGER(IntKi), PARAMETER :: M5N4MBFxi = 2551 + INTEGER(IntKi), PARAMETER :: M5N5MBFxi = 2552 + INTEGER(IntKi), PARAMETER :: M5N6MBFxi = 2553 + INTEGER(IntKi), PARAMETER :: M5N7MBFxi = 2554 + INTEGER(IntKi), PARAMETER :: M5N8MBFxi = 2555 + INTEGER(IntKi), PARAMETER :: M5N9MBFxi = 2556 + INTEGER(IntKi), PARAMETER :: M6N1MBFxi = 2557 + INTEGER(IntKi), PARAMETER :: M6N2MBFxi = 2558 + INTEGER(IntKi), PARAMETER :: M6N3MBFxi = 2559 + INTEGER(IntKi), PARAMETER :: M6N4MBFxi = 2560 + INTEGER(IntKi), PARAMETER :: M6N5MBFxi = 2561 + INTEGER(IntKi), PARAMETER :: M6N6MBFxi = 2562 + INTEGER(IntKi), PARAMETER :: M6N7MBFxi = 2563 + INTEGER(IntKi), PARAMETER :: M6N8MBFxi = 2564 + INTEGER(IntKi), PARAMETER :: M6N9MBFxi = 2565 + INTEGER(IntKi), PARAMETER :: M7N1MBFxi = 2566 + INTEGER(IntKi), PARAMETER :: M7N2MBFxi = 2567 + INTEGER(IntKi), PARAMETER :: M7N3MBFxi = 2568 + INTEGER(IntKi), PARAMETER :: M7N4MBFxi = 2569 + INTEGER(IntKi), PARAMETER :: M7N5MBFxi = 2570 + INTEGER(IntKi), PARAMETER :: M7N6MBFxi = 2571 + INTEGER(IntKi), PARAMETER :: M7N7MBFxi = 2572 + INTEGER(IntKi), PARAMETER :: M7N8MBFxi = 2573 + INTEGER(IntKi), PARAMETER :: M7N9MBFxi = 2574 + INTEGER(IntKi), PARAMETER :: M8N1MBFxi = 2575 + INTEGER(IntKi), PARAMETER :: M8N2MBFxi = 2576 + INTEGER(IntKi), PARAMETER :: M8N3MBFxi = 2577 + INTEGER(IntKi), PARAMETER :: M8N4MBFxi = 2578 + INTEGER(IntKi), PARAMETER :: M8N5MBFxi = 2579 + INTEGER(IntKi), PARAMETER :: M8N6MBFxi = 2580 + INTEGER(IntKi), PARAMETER :: M8N7MBFxi = 2581 + INTEGER(IntKi), PARAMETER :: M8N8MBFxi = 2582 + INTEGER(IntKi), PARAMETER :: M8N9MBFxi = 2583 + INTEGER(IntKi), PARAMETER :: M9N1MBFxi = 2584 + INTEGER(IntKi), PARAMETER :: M9N2MBFxi = 2585 + INTEGER(IntKi), PARAMETER :: M9N3MBFxi = 2586 + INTEGER(IntKi), PARAMETER :: M9N4MBFxi = 2587 + INTEGER(IntKi), PARAMETER :: M9N5MBFxi = 2588 + INTEGER(IntKi), PARAMETER :: M9N6MBFxi = 2589 + INTEGER(IntKi), PARAMETER :: M9N7MBFxi = 2590 + INTEGER(IntKi), PARAMETER :: M9N8MBFxi = 2591 + INTEGER(IntKi), PARAMETER :: M9N9MBFxi = 2592 + INTEGER(IntKi), PARAMETER :: M1N1MBFyi = 2593 + INTEGER(IntKi), PARAMETER :: M1N2MBFyi = 2594 + INTEGER(IntKi), PARAMETER :: M1N3MBFyi = 2595 + INTEGER(IntKi), PARAMETER :: M1N4MBFyi = 2596 + INTEGER(IntKi), PARAMETER :: M1N5MBFyi = 2597 + INTEGER(IntKi), PARAMETER :: M1N6MBFyi = 2598 + INTEGER(IntKi), PARAMETER :: M1N7MBFyi = 2599 + INTEGER(IntKi), PARAMETER :: M1N8MBFyi = 2600 + INTEGER(IntKi), PARAMETER :: M1N9MBFyi = 2601 + INTEGER(IntKi), PARAMETER :: M2N1MBFyi = 2602 + INTEGER(IntKi), PARAMETER :: M2N2MBFyi = 2603 + INTEGER(IntKi), PARAMETER :: M2N3MBFyi = 2604 + INTEGER(IntKi), PARAMETER :: M2N4MBFyi = 2605 + INTEGER(IntKi), PARAMETER :: M2N5MBFyi = 2606 + INTEGER(IntKi), PARAMETER :: M2N6MBFyi = 2607 + INTEGER(IntKi), PARAMETER :: M2N7MBFyi = 2608 + INTEGER(IntKi), PARAMETER :: M2N8MBFyi = 2609 + INTEGER(IntKi), PARAMETER :: M2N9MBFyi = 2610 + INTEGER(IntKi), PARAMETER :: M3N1MBFyi = 2611 + INTEGER(IntKi), PARAMETER :: M3N2MBFyi = 2612 + INTEGER(IntKi), PARAMETER :: M3N3MBFyi = 2613 + INTEGER(IntKi), PARAMETER :: M3N4MBFyi = 2614 + INTEGER(IntKi), PARAMETER :: M3N5MBFyi = 2615 + INTEGER(IntKi), PARAMETER :: M3N6MBFyi = 2616 + INTEGER(IntKi), PARAMETER :: M3N7MBFyi = 2617 + INTEGER(IntKi), PARAMETER :: M3N8MBFyi = 2618 + INTEGER(IntKi), PARAMETER :: M3N9MBFyi = 2619 + INTEGER(IntKi), PARAMETER :: M4N1MBFyi = 2620 + INTEGER(IntKi), PARAMETER :: M4N2MBFyi = 2621 + INTEGER(IntKi), PARAMETER :: M4N3MBFyi = 2622 + INTEGER(IntKi), PARAMETER :: M4N4MBFyi = 2623 + INTEGER(IntKi), PARAMETER :: M4N5MBFyi = 2624 + INTEGER(IntKi), PARAMETER :: M4N6MBFyi = 2625 + INTEGER(IntKi), PARAMETER :: M4N7MBFyi = 2626 + INTEGER(IntKi), PARAMETER :: M4N8MBFyi = 2627 + INTEGER(IntKi), PARAMETER :: M4N9MBFyi = 2628 + INTEGER(IntKi), PARAMETER :: M5N1MBFyi = 2629 + INTEGER(IntKi), PARAMETER :: M5N2MBFyi = 2630 + INTEGER(IntKi), PARAMETER :: M5N3MBFyi = 2631 + INTEGER(IntKi), PARAMETER :: M5N4MBFyi = 2632 + INTEGER(IntKi), PARAMETER :: M5N5MBFyi = 2633 + INTEGER(IntKi), PARAMETER :: M5N6MBFyi = 2634 + INTEGER(IntKi), PARAMETER :: M5N7MBFyi = 2635 + INTEGER(IntKi), PARAMETER :: M5N8MBFyi = 2636 + INTEGER(IntKi), PARAMETER :: M5N9MBFyi = 2637 + INTEGER(IntKi), PARAMETER :: M6N1MBFyi = 2638 + INTEGER(IntKi), PARAMETER :: M6N2MBFyi = 2639 + INTEGER(IntKi), PARAMETER :: M6N3MBFyi = 2640 + INTEGER(IntKi), PARAMETER :: M6N4MBFyi = 2641 + INTEGER(IntKi), PARAMETER :: M6N5MBFyi = 2642 + INTEGER(IntKi), PARAMETER :: M6N6MBFyi = 2643 + INTEGER(IntKi), PARAMETER :: M6N7MBFyi = 2644 + INTEGER(IntKi), PARAMETER :: M6N8MBFyi = 2645 + INTEGER(IntKi), PARAMETER :: M6N9MBFyi = 2646 + INTEGER(IntKi), PARAMETER :: M7N1MBFyi = 2647 + INTEGER(IntKi), PARAMETER :: M7N2MBFyi = 2648 + INTEGER(IntKi), PARAMETER :: M7N3MBFyi = 2649 + INTEGER(IntKi), PARAMETER :: M7N4MBFyi = 2650 + INTEGER(IntKi), PARAMETER :: M7N5MBFyi = 2651 + INTEGER(IntKi), PARAMETER :: M7N6MBFyi = 2652 + INTEGER(IntKi), PARAMETER :: M7N7MBFyi = 2653 + INTEGER(IntKi), PARAMETER :: M7N8MBFyi = 2654 + INTEGER(IntKi), PARAMETER :: M7N9MBFyi = 2655 + INTEGER(IntKi), PARAMETER :: M8N1MBFyi = 2656 + INTEGER(IntKi), PARAMETER :: M8N2MBFyi = 2657 + INTEGER(IntKi), PARAMETER :: M8N3MBFyi = 2658 + INTEGER(IntKi), PARAMETER :: M8N4MBFyi = 2659 + INTEGER(IntKi), PARAMETER :: M8N5MBFyi = 2660 + INTEGER(IntKi), PARAMETER :: M8N6MBFyi = 2661 + INTEGER(IntKi), PARAMETER :: M8N7MBFyi = 2662 + INTEGER(IntKi), PARAMETER :: M8N8MBFyi = 2663 + INTEGER(IntKi), PARAMETER :: M8N9MBFyi = 2664 + INTEGER(IntKi), PARAMETER :: M9N1MBFyi = 2665 + INTEGER(IntKi), PARAMETER :: M9N2MBFyi = 2666 + INTEGER(IntKi), PARAMETER :: M9N3MBFyi = 2667 + INTEGER(IntKi), PARAMETER :: M9N4MBFyi = 2668 + INTEGER(IntKi), PARAMETER :: M9N5MBFyi = 2669 + INTEGER(IntKi), PARAMETER :: M9N6MBFyi = 2670 + INTEGER(IntKi), PARAMETER :: M9N7MBFyi = 2671 + INTEGER(IntKi), PARAMETER :: M9N8MBFyi = 2672 + INTEGER(IntKi), PARAMETER :: M9N9MBFyi = 2673 + INTEGER(IntKi), PARAMETER :: M1N1MBFzi = 2674 + INTEGER(IntKi), PARAMETER :: M1N2MBFzi = 2675 + INTEGER(IntKi), PARAMETER :: M1N3MBFzi = 2676 + INTEGER(IntKi), PARAMETER :: M1N4MBFzi = 2677 + INTEGER(IntKi), PARAMETER :: M1N5MBFzi = 2678 + INTEGER(IntKi), PARAMETER :: M1N6MBFzi = 2679 + INTEGER(IntKi), PARAMETER :: M1N7MBFzi = 2680 + INTEGER(IntKi), PARAMETER :: M1N8MBFzi = 2681 + INTEGER(IntKi), PARAMETER :: M1N9MBFzi = 2682 + INTEGER(IntKi), PARAMETER :: M2N1MBFzi = 2683 + INTEGER(IntKi), PARAMETER :: M2N2MBFzi = 2684 + INTEGER(IntKi), PARAMETER :: M2N3MBFzi = 2685 + INTEGER(IntKi), PARAMETER :: M2N4MBFzi = 2686 + INTEGER(IntKi), PARAMETER :: M2N5MBFzi = 2687 + INTEGER(IntKi), PARAMETER :: M2N6MBFzi = 2688 + INTEGER(IntKi), PARAMETER :: M2N7MBFzi = 2689 + INTEGER(IntKi), PARAMETER :: M2N8MBFzi = 2690 + INTEGER(IntKi), PARAMETER :: M2N9MBFzi = 2691 + INTEGER(IntKi), PARAMETER :: M3N1MBFzi = 2692 + INTEGER(IntKi), PARAMETER :: M3N2MBFzi = 2693 + INTEGER(IntKi), PARAMETER :: M3N3MBFzi = 2694 + INTEGER(IntKi), PARAMETER :: M3N4MBFzi = 2695 + INTEGER(IntKi), PARAMETER :: M3N5MBFzi = 2696 + INTEGER(IntKi), PARAMETER :: M3N6MBFzi = 2697 + INTEGER(IntKi), PARAMETER :: M3N7MBFzi = 2698 + INTEGER(IntKi), PARAMETER :: M3N8MBFzi = 2699 + INTEGER(IntKi), PARAMETER :: M3N9MBFzi = 2700 + INTEGER(IntKi), PARAMETER :: M4N1MBFzi = 2701 + INTEGER(IntKi), PARAMETER :: M4N2MBFzi = 2702 + INTEGER(IntKi), PARAMETER :: M4N3MBFzi = 2703 + INTEGER(IntKi), PARAMETER :: M4N4MBFzi = 2704 + INTEGER(IntKi), PARAMETER :: M4N5MBFzi = 2705 + INTEGER(IntKi), PARAMETER :: M4N6MBFzi = 2706 + INTEGER(IntKi), PARAMETER :: M4N7MBFzi = 2707 + INTEGER(IntKi), PARAMETER :: M4N8MBFzi = 2708 + INTEGER(IntKi), PARAMETER :: M4N9MBFzi = 2709 + INTEGER(IntKi), PARAMETER :: M5N1MBFzi = 2710 + INTEGER(IntKi), PARAMETER :: M5N2MBFzi = 2711 + INTEGER(IntKi), PARAMETER :: M5N3MBFzi = 2712 + INTEGER(IntKi), PARAMETER :: M5N4MBFzi = 2713 + INTEGER(IntKi), PARAMETER :: M5N5MBFzi = 2714 + INTEGER(IntKi), PARAMETER :: M5N6MBFzi = 2715 + INTEGER(IntKi), PARAMETER :: M5N7MBFzi = 2716 + INTEGER(IntKi), PARAMETER :: M5N8MBFzi = 2717 + INTEGER(IntKi), PARAMETER :: M5N9MBFzi = 2718 + INTEGER(IntKi), PARAMETER :: M6N1MBFzi = 2719 + INTEGER(IntKi), PARAMETER :: M6N2MBFzi = 2720 + INTEGER(IntKi), PARAMETER :: M6N3MBFzi = 2721 + INTEGER(IntKi), PARAMETER :: M6N4MBFzi = 2722 + INTEGER(IntKi), PARAMETER :: M6N5MBFzi = 2723 + INTEGER(IntKi), PARAMETER :: M6N6MBFzi = 2724 + INTEGER(IntKi), PARAMETER :: M6N7MBFzi = 2725 + INTEGER(IntKi), PARAMETER :: M6N8MBFzi = 2726 + INTEGER(IntKi), PARAMETER :: M6N9MBFzi = 2727 + INTEGER(IntKi), PARAMETER :: M7N1MBFzi = 2728 + INTEGER(IntKi), PARAMETER :: M7N2MBFzi = 2729 + INTEGER(IntKi), PARAMETER :: M7N3MBFzi = 2730 + INTEGER(IntKi), PARAMETER :: M7N4MBFzi = 2731 + INTEGER(IntKi), PARAMETER :: M7N5MBFzi = 2732 + INTEGER(IntKi), PARAMETER :: M7N6MBFzi = 2733 + INTEGER(IntKi), PARAMETER :: M7N7MBFzi = 2734 + INTEGER(IntKi), PARAMETER :: M7N8MBFzi = 2735 + INTEGER(IntKi), PARAMETER :: M7N9MBFzi = 2736 + INTEGER(IntKi), PARAMETER :: M8N1MBFzi = 2737 + INTEGER(IntKi), PARAMETER :: M8N2MBFzi = 2738 + INTEGER(IntKi), PARAMETER :: M8N3MBFzi = 2739 + INTEGER(IntKi), PARAMETER :: M8N4MBFzi = 2740 + INTEGER(IntKi), PARAMETER :: M8N5MBFzi = 2741 + INTEGER(IntKi), PARAMETER :: M8N6MBFzi = 2742 + INTEGER(IntKi), PARAMETER :: M8N7MBFzi = 2743 + INTEGER(IntKi), PARAMETER :: M8N8MBFzi = 2744 + INTEGER(IntKi), PARAMETER :: M8N9MBFzi = 2745 + INTEGER(IntKi), PARAMETER :: M9N1MBFzi = 2746 + INTEGER(IntKi), PARAMETER :: M9N2MBFzi = 2747 + INTEGER(IntKi), PARAMETER :: M9N3MBFzi = 2748 + INTEGER(IntKi), PARAMETER :: M9N4MBFzi = 2749 + INTEGER(IntKi), PARAMETER :: M9N5MBFzi = 2750 + INTEGER(IntKi), PARAMETER :: M9N6MBFzi = 2751 + INTEGER(IntKi), PARAMETER :: M9N7MBFzi = 2752 + INTEGER(IntKi), PARAMETER :: M9N8MBFzi = 2753 + INTEGER(IntKi), PARAMETER :: M9N9MBFzi = 2754 + INTEGER(IntKi), PARAMETER :: M1N1FMGxi = 2755 + INTEGER(IntKi), PARAMETER :: M1N2FMGxi = 2756 + INTEGER(IntKi), PARAMETER :: M1N3FMGxi = 2757 + INTEGER(IntKi), PARAMETER :: M1N4FMGxi = 2758 + INTEGER(IntKi), PARAMETER :: M1N5FMGxi = 2759 + INTEGER(IntKi), PARAMETER :: M1N6FMGxi = 2760 + INTEGER(IntKi), PARAMETER :: M1N7FMGxi = 2761 + INTEGER(IntKi), PARAMETER :: M1N8FMGxi = 2762 + INTEGER(IntKi), PARAMETER :: M1N9FMGxi = 2763 + INTEGER(IntKi), PARAMETER :: M2N1FMGxi = 2764 + INTEGER(IntKi), PARAMETER :: M2N2FMGxi = 2765 + INTEGER(IntKi), PARAMETER :: M2N3FMGxi = 2766 + INTEGER(IntKi), PARAMETER :: M2N4FMGxi = 2767 + INTEGER(IntKi), PARAMETER :: M2N5FMGxi = 2768 + INTEGER(IntKi), PARAMETER :: M2N6FMGxi = 2769 + INTEGER(IntKi), PARAMETER :: M2N7FMGxi = 2770 + INTEGER(IntKi), PARAMETER :: M2N8FMGxi = 2771 + INTEGER(IntKi), PARAMETER :: M2N9FMGxi = 2772 + INTEGER(IntKi), PARAMETER :: M3N1FMGxi = 2773 + INTEGER(IntKi), PARAMETER :: M3N2FMGxi = 2774 + INTEGER(IntKi), PARAMETER :: M3N3FMGxi = 2775 + INTEGER(IntKi), PARAMETER :: M3N4FMGxi = 2776 + INTEGER(IntKi), PARAMETER :: M3N5FMGxi = 2777 + INTEGER(IntKi), PARAMETER :: M3N6FMGxi = 2778 + INTEGER(IntKi), PARAMETER :: M3N7FMGxi = 2779 + INTEGER(IntKi), PARAMETER :: M3N8FMGxi = 2780 + INTEGER(IntKi), PARAMETER :: M3N9FMGxi = 2781 + INTEGER(IntKi), PARAMETER :: M4N1FMGxi = 2782 + INTEGER(IntKi), PARAMETER :: M4N2FMGxi = 2783 + INTEGER(IntKi), PARAMETER :: M4N3FMGxi = 2784 + INTEGER(IntKi), PARAMETER :: M4N4FMGxi = 2785 + INTEGER(IntKi), PARAMETER :: M4N5FMGxi = 2786 + INTEGER(IntKi), PARAMETER :: M4N6FMGxi = 2787 + INTEGER(IntKi), PARAMETER :: M4N7FMGxi = 2788 + INTEGER(IntKi), PARAMETER :: M4N8FMGxi = 2789 + INTEGER(IntKi), PARAMETER :: M4N9FMGxi = 2790 + INTEGER(IntKi), PARAMETER :: M5N1FMGxi = 2791 + INTEGER(IntKi), PARAMETER :: M5N2FMGxi = 2792 + INTEGER(IntKi), PARAMETER :: M5N3FMGxi = 2793 + INTEGER(IntKi), PARAMETER :: M5N4FMGxi = 2794 + INTEGER(IntKi), PARAMETER :: M5N5FMGxi = 2795 + INTEGER(IntKi), PARAMETER :: M5N6FMGxi = 2796 + INTEGER(IntKi), PARAMETER :: M5N7FMGxi = 2797 + INTEGER(IntKi), PARAMETER :: M5N8FMGxi = 2798 + INTEGER(IntKi), PARAMETER :: M5N9FMGxi = 2799 + INTEGER(IntKi), PARAMETER :: M6N1FMGxi = 2800 + INTEGER(IntKi), PARAMETER :: M6N2FMGxi = 2801 + INTEGER(IntKi), PARAMETER :: M6N3FMGxi = 2802 + INTEGER(IntKi), PARAMETER :: M6N4FMGxi = 2803 + INTEGER(IntKi), PARAMETER :: M6N5FMGxi = 2804 + INTEGER(IntKi), PARAMETER :: M6N6FMGxi = 2805 + INTEGER(IntKi), PARAMETER :: M6N7FMGxi = 2806 + INTEGER(IntKi), PARAMETER :: M6N8FMGxi = 2807 + INTEGER(IntKi), PARAMETER :: M6N9FMGxi = 2808 + INTEGER(IntKi), PARAMETER :: M7N1FMGxi = 2809 + INTEGER(IntKi), PARAMETER :: M7N2FMGxi = 2810 + INTEGER(IntKi), PARAMETER :: M7N3FMGxi = 2811 + INTEGER(IntKi), PARAMETER :: M7N4FMGxi = 2812 + INTEGER(IntKi), PARAMETER :: M7N5FMGxi = 2813 + INTEGER(IntKi), PARAMETER :: M7N6FMGxi = 2814 + INTEGER(IntKi), PARAMETER :: M7N7FMGxi = 2815 + INTEGER(IntKi), PARAMETER :: M7N8FMGxi = 2816 + INTEGER(IntKi), PARAMETER :: M7N9FMGxi = 2817 + INTEGER(IntKi), PARAMETER :: M8N1FMGxi = 2818 + INTEGER(IntKi), PARAMETER :: M8N2FMGxi = 2819 + INTEGER(IntKi), PARAMETER :: M8N3FMGxi = 2820 + INTEGER(IntKi), PARAMETER :: M8N4FMGxi = 2821 + INTEGER(IntKi), PARAMETER :: M8N5FMGxi = 2822 + INTEGER(IntKi), PARAMETER :: M8N6FMGxi = 2823 + INTEGER(IntKi), PARAMETER :: M8N7FMGxi = 2824 + INTEGER(IntKi), PARAMETER :: M8N8FMGxi = 2825 + INTEGER(IntKi), PARAMETER :: M8N9FMGxi = 2826 + INTEGER(IntKi), PARAMETER :: M9N1FMGxi = 2827 + INTEGER(IntKi), PARAMETER :: M9N2FMGxi = 2828 + INTEGER(IntKi), PARAMETER :: M9N3FMGxi = 2829 + INTEGER(IntKi), PARAMETER :: M9N4FMGxi = 2830 + INTEGER(IntKi), PARAMETER :: M9N5FMGxi = 2831 + INTEGER(IntKi), PARAMETER :: M9N6FMGxi = 2832 + INTEGER(IntKi), PARAMETER :: M9N7FMGxi = 2833 + INTEGER(IntKi), PARAMETER :: M9N8FMGxi = 2834 + INTEGER(IntKi), PARAMETER :: M9N9FMGxi = 2835 + INTEGER(IntKi), PARAMETER :: M1N1FMGyi = 2836 + INTEGER(IntKi), PARAMETER :: M1N2FMGyi = 2837 + INTEGER(IntKi), PARAMETER :: M1N3FMGyi = 2838 + INTEGER(IntKi), PARAMETER :: M1N4FMGyi = 2839 + INTEGER(IntKi), PARAMETER :: M1N5FMGyi = 2840 + INTEGER(IntKi), PARAMETER :: M1N6FMGyi = 2841 + INTEGER(IntKi), PARAMETER :: M1N7FMGyi = 2842 + INTEGER(IntKi), PARAMETER :: M1N8FMGyi = 2843 + INTEGER(IntKi), PARAMETER :: M1N9FMGyi = 2844 + INTEGER(IntKi), PARAMETER :: M2N1FMGyi = 2845 + INTEGER(IntKi), PARAMETER :: M2N2FMGyi = 2846 + INTEGER(IntKi), PARAMETER :: M2N3FMGyi = 2847 + INTEGER(IntKi), PARAMETER :: M2N4FMGyi = 2848 + INTEGER(IntKi), PARAMETER :: M2N5FMGyi = 2849 + INTEGER(IntKi), PARAMETER :: M2N6FMGyi = 2850 + INTEGER(IntKi), PARAMETER :: M2N7FMGyi = 2851 + INTEGER(IntKi), PARAMETER :: M2N8FMGyi = 2852 + INTEGER(IntKi), PARAMETER :: M2N9FMGyi = 2853 + INTEGER(IntKi), PARAMETER :: M3N1FMGyi = 2854 + INTEGER(IntKi), PARAMETER :: M3N2FMGyi = 2855 + INTEGER(IntKi), PARAMETER :: M3N3FMGyi = 2856 + INTEGER(IntKi), PARAMETER :: M3N4FMGyi = 2857 + INTEGER(IntKi), PARAMETER :: M3N5FMGyi = 2858 + INTEGER(IntKi), PARAMETER :: M3N6FMGyi = 2859 + INTEGER(IntKi), PARAMETER :: M3N7FMGyi = 2860 + INTEGER(IntKi), PARAMETER :: M3N8FMGyi = 2861 + INTEGER(IntKi), PARAMETER :: M3N9FMGyi = 2862 + INTEGER(IntKi), PARAMETER :: M4N1FMGyi = 2863 + INTEGER(IntKi), PARAMETER :: M4N2FMGyi = 2864 + INTEGER(IntKi), PARAMETER :: M4N3FMGyi = 2865 + INTEGER(IntKi), PARAMETER :: M4N4FMGyi = 2866 + INTEGER(IntKi), PARAMETER :: M4N5FMGyi = 2867 + INTEGER(IntKi), PARAMETER :: M4N6FMGyi = 2868 + INTEGER(IntKi), PARAMETER :: M4N7FMGyi = 2869 + INTEGER(IntKi), PARAMETER :: M4N8FMGyi = 2870 + INTEGER(IntKi), PARAMETER :: M4N9FMGyi = 2871 + INTEGER(IntKi), PARAMETER :: M5N1FMGyi = 2872 + INTEGER(IntKi), PARAMETER :: M5N2FMGyi = 2873 + INTEGER(IntKi), PARAMETER :: M5N3FMGyi = 2874 + INTEGER(IntKi), PARAMETER :: M5N4FMGyi = 2875 + INTEGER(IntKi), PARAMETER :: M5N5FMGyi = 2876 + INTEGER(IntKi), PARAMETER :: M5N6FMGyi = 2877 + INTEGER(IntKi), PARAMETER :: M5N7FMGyi = 2878 + INTEGER(IntKi), PARAMETER :: M5N8FMGyi = 2879 + INTEGER(IntKi), PARAMETER :: M5N9FMGyi = 2880 + INTEGER(IntKi), PARAMETER :: M6N1FMGyi = 2881 + INTEGER(IntKi), PARAMETER :: M6N2FMGyi = 2882 + INTEGER(IntKi), PARAMETER :: M6N3FMGyi = 2883 + INTEGER(IntKi), PARAMETER :: M6N4FMGyi = 2884 + INTEGER(IntKi), PARAMETER :: M6N5FMGyi = 2885 + INTEGER(IntKi), PARAMETER :: M6N6FMGyi = 2886 + INTEGER(IntKi), PARAMETER :: M6N7FMGyi = 2887 + INTEGER(IntKi), PARAMETER :: M6N8FMGyi = 2888 + INTEGER(IntKi), PARAMETER :: M6N9FMGyi = 2889 + INTEGER(IntKi), PARAMETER :: M7N1FMGyi = 2890 + INTEGER(IntKi), PARAMETER :: M7N2FMGyi = 2891 + INTEGER(IntKi), PARAMETER :: M7N3FMGyi = 2892 + INTEGER(IntKi), PARAMETER :: M7N4FMGyi = 2893 + INTEGER(IntKi), PARAMETER :: M7N5FMGyi = 2894 + INTEGER(IntKi), PARAMETER :: M7N6FMGyi = 2895 + INTEGER(IntKi), PARAMETER :: M7N7FMGyi = 2896 + INTEGER(IntKi), PARAMETER :: M7N8FMGyi = 2897 + INTEGER(IntKi), PARAMETER :: M7N9FMGyi = 2898 + INTEGER(IntKi), PARAMETER :: M8N1FMGyi = 2899 + INTEGER(IntKi), PARAMETER :: M8N2FMGyi = 2900 + INTEGER(IntKi), PARAMETER :: M8N3FMGyi = 2901 + INTEGER(IntKi), PARAMETER :: M8N4FMGyi = 2902 + INTEGER(IntKi), PARAMETER :: M8N5FMGyi = 2903 + INTEGER(IntKi), PARAMETER :: M8N6FMGyi = 2904 + INTEGER(IntKi), PARAMETER :: M8N7FMGyi = 2905 + INTEGER(IntKi), PARAMETER :: M8N8FMGyi = 2906 + INTEGER(IntKi), PARAMETER :: M8N9FMGyi = 2907 + INTEGER(IntKi), PARAMETER :: M9N1FMGyi = 2908 + INTEGER(IntKi), PARAMETER :: M9N2FMGyi = 2909 + INTEGER(IntKi), PARAMETER :: M9N3FMGyi = 2910 + INTEGER(IntKi), PARAMETER :: M9N4FMGyi = 2911 + INTEGER(IntKi), PARAMETER :: M9N5FMGyi = 2912 + INTEGER(IntKi), PARAMETER :: M9N6FMGyi = 2913 + INTEGER(IntKi), PARAMETER :: M9N7FMGyi = 2914 + INTEGER(IntKi), PARAMETER :: M9N8FMGyi = 2915 + INTEGER(IntKi), PARAMETER :: M9N9FMGyi = 2916 + INTEGER(IntKi), PARAMETER :: M1N1FMGzi = 2917 + INTEGER(IntKi), PARAMETER :: M1N2FMGzi = 2918 + INTEGER(IntKi), PARAMETER :: M1N3FMGzi = 2919 + INTEGER(IntKi), PARAMETER :: M1N4FMGzi = 2920 + INTEGER(IntKi), PARAMETER :: M1N5FMGzi = 2921 + INTEGER(IntKi), PARAMETER :: M1N6FMGzi = 2922 + INTEGER(IntKi), PARAMETER :: M1N7FMGzi = 2923 + INTEGER(IntKi), PARAMETER :: M1N8FMGzi = 2924 + INTEGER(IntKi), PARAMETER :: M1N9FMGzi = 2925 + INTEGER(IntKi), PARAMETER :: M2N1FMGzi = 2926 + INTEGER(IntKi), PARAMETER :: M2N2FMGzi = 2927 + INTEGER(IntKi), PARAMETER :: M2N3FMGzi = 2928 + INTEGER(IntKi), PARAMETER :: M2N4FMGzi = 2929 + INTEGER(IntKi), PARAMETER :: M2N5FMGzi = 2930 + INTEGER(IntKi), PARAMETER :: M2N6FMGzi = 2931 + INTEGER(IntKi), PARAMETER :: M2N7FMGzi = 2932 + INTEGER(IntKi), PARAMETER :: M2N8FMGzi = 2933 + INTEGER(IntKi), PARAMETER :: M2N9FMGzi = 2934 + INTEGER(IntKi), PARAMETER :: M3N1FMGzi = 2935 + INTEGER(IntKi), PARAMETER :: M3N2FMGzi = 2936 + INTEGER(IntKi), PARAMETER :: M3N3FMGzi = 2937 + INTEGER(IntKi), PARAMETER :: M3N4FMGzi = 2938 + INTEGER(IntKi), PARAMETER :: M3N5FMGzi = 2939 + INTEGER(IntKi), PARAMETER :: M3N6FMGzi = 2940 + INTEGER(IntKi), PARAMETER :: M3N7FMGzi = 2941 + INTEGER(IntKi), PARAMETER :: M3N8FMGzi = 2942 + INTEGER(IntKi), PARAMETER :: M3N9FMGzi = 2943 + INTEGER(IntKi), PARAMETER :: M4N1FMGzi = 2944 + INTEGER(IntKi), PARAMETER :: M4N2FMGzi = 2945 + INTEGER(IntKi), PARAMETER :: M4N3FMGzi = 2946 + INTEGER(IntKi), PARAMETER :: M4N4FMGzi = 2947 + INTEGER(IntKi), PARAMETER :: M4N5FMGzi = 2948 + INTEGER(IntKi), PARAMETER :: M4N6FMGzi = 2949 + INTEGER(IntKi), PARAMETER :: M4N7FMGzi = 2950 + INTEGER(IntKi), PARAMETER :: M4N8FMGzi = 2951 + INTEGER(IntKi), PARAMETER :: M4N9FMGzi = 2952 + INTEGER(IntKi), PARAMETER :: M5N1FMGzi = 2953 + INTEGER(IntKi), PARAMETER :: M5N2FMGzi = 2954 + INTEGER(IntKi), PARAMETER :: M5N3FMGzi = 2955 + INTEGER(IntKi), PARAMETER :: M5N4FMGzi = 2956 + INTEGER(IntKi), PARAMETER :: M5N5FMGzi = 2957 + INTEGER(IntKi), PARAMETER :: M5N6FMGzi = 2958 + INTEGER(IntKi), PARAMETER :: M5N7FMGzi = 2959 + INTEGER(IntKi), PARAMETER :: M5N8FMGzi = 2960 + INTEGER(IntKi), PARAMETER :: M5N9FMGzi = 2961 + INTEGER(IntKi), PARAMETER :: M6N1FMGzi = 2962 + INTEGER(IntKi), PARAMETER :: M6N2FMGzi = 2963 + INTEGER(IntKi), PARAMETER :: M6N3FMGzi = 2964 + INTEGER(IntKi), PARAMETER :: M6N4FMGzi = 2965 + INTEGER(IntKi), PARAMETER :: M6N5FMGzi = 2966 + INTEGER(IntKi), PARAMETER :: M6N6FMGzi = 2967 + INTEGER(IntKi), PARAMETER :: M6N7FMGzi = 2968 + INTEGER(IntKi), PARAMETER :: M6N8FMGzi = 2969 + INTEGER(IntKi), PARAMETER :: M6N9FMGzi = 2970 + INTEGER(IntKi), PARAMETER :: M7N1FMGzi = 2971 + INTEGER(IntKi), PARAMETER :: M7N2FMGzi = 2972 + INTEGER(IntKi), PARAMETER :: M7N3FMGzi = 2973 + INTEGER(IntKi), PARAMETER :: M7N4FMGzi = 2974 + INTEGER(IntKi), PARAMETER :: M7N5FMGzi = 2975 + INTEGER(IntKi), PARAMETER :: M7N6FMGzi = 2976 + INTEGER(IntKi), PARAMETER :: M7N7FMGzi = 2977 + INTEGER(IntKi), PARAMETER :: M7N8FMGzi = 2978 + INTEGER(IntKi), PARAMETER :: M7N9FMGzi = 2979 + INTEGER(IntKi), PARAMETER :: M8N1FMGzi = 2980 + INTEGER(IntKi), PARAMETER :: M8N2FMGzi = 2981 + INTEGER(IntKi), PARAMETER :: M8N3FMGzi = 2982 + INTEGER(IntKi), PARAMETER :: M8N4FMGzi = 2983 + INTEGER(IntKi), PARAMETER :: M8N5FMGzi = 2984 + INTEGER(IntKi), PARAMETER :: M8N6FMGzi = 2985 + INTEGER(IntKi), PARAMETER :: M8N7FMGzi = 2986 + INTEGER(IntKi), PARAMETER :: M8N8FMGzi = 2987 + INTEGER(IntKi), PARAMETER :: M8N9FMGzi = 2988 + INTEGER(IntKi), PARAMETER :: M9N1FMGzi = 2989 + INTEGER(IntKi), PARAMETER :: M9N2FMGzi = 2990 + INTEGER(IntKi), PARAMETER :: M9N3FMGzi = 2991 + INTEGER(IntKi), PARAMETER :: M9N4FMGzi = 2992 + INTEGER(IntKi), PARAMETER :: M9N5FMGzi = 2993 + INTEGER(IntKi), PARAMETER :: M9N6FMGzi = 2994 + INTEGER(IntKi), PARAMETER :: M9N7FMGzi = 2995 + INTEGER(IntKi), PARAMETER :: M9N8FMGzi = 2996 + INTEGER(IntKi), PARAMETER :: M9N9FMGzi = 2997 + INTEGER(IntKi), PARAMETER :: M1N1MMGxi = 2998 + INTEGER(IntKi), PARAMETER :: M1N2MMGxi = 2999 + INTEGER(IntKi), PARAMETER :: M1N3MMGxi = 3000 + INTEGER(IntKi), PARAMETER :: M1N4MMGxi = 3001 + INTEGER(IntKi), PARAMETER :: M1N5MMGxi = 3002 + INTEGER(IntKi), PARAMETER :: M1N6MMGxi = 3003 + INTEGER(IntKi), PARAMETER :: M1N7MMGxi = 3004 + INTEGER(IntKi), PARAMETER :: M1N8MMGxi = 3005 + INTEGER(IntKi), PARAMETER :: M1N9MMGxi = 3006 + INTEGER(IntKi), PARAMETER :: M2N1MMGxi = 3007 + INTEGER(IntKi), PARAMETER :: M2N2MMGxi = 3008 + INTEGER(IntKi), PARAMETER :: M2N3MMGxi = 3009 + INTEGER(IntKi), PARAMETER :: M2N4MMGxi = 3010 + INTEGER(IntKi), PARAMETER :: M2N5MMGxi = 3011 + INTEGER(IntKi), PARAMETER :: M2N6MMGxi = 3012 + INTEGER(IntKi), PARAMETER :: M2N7MMGxi = 3013 + INTEGER(IntKi), PARAMETER :: M2N8MMGxi = 3014 + INTEGER(IntKi), PARAMETER :: M2N9MMGxi = 3015 + INTEGER(IntKi), PARAMETER :: M3N1MMGxi = 3016 + INTEGER(IntKi), PARAMETER :: M3N2MMGxi = 3017 + INTEGER(IntKi), PARAMETER :: M3N3MMGxi = 3018 + INTEGER(IntKi), PARAMETER :: M3N4MMGxi = 3019 + INTEGER(IntKi), PARAMETER :: M3N5MMGxi = 3020 + INTEGER(IntKi), PARAMETER :: M3N6MMGxi = 3021 + INTEGER(IntKi), PARAMETER :: M3N7MMGxi = 3022 + INTEGER(IntKi), PARAMETER :: M3N8MMGxi = 3023 + INTEGER(IntKi), PARAMETER :: M3N9MMGxi = 3024 + INTEGER(IntKi), PARAMETER :: M4N1MMGxi = 3025 + INTEGER(IntKi), PARAMETER :: M4N2MMGxi = 3026 + INTEGER(IntKi), PARAMETER :: M4N3MMGxi = 3027 + INTEGER(IntKi), PARAMETER :: M4N4MMGxi = 3028 + INTEGER(IntKi), PARAMETER :: M4N5MMGxi = 3029 + INTEGER(IntKi), PARAMETER :: M4N6MMGxi = 3030 + INTEGER(IntKi), PARAMETER :: M4N7MMGxi = 3031 + INTEGER(IntKi), PARAMETER :: M4N8MMGxi = 3032 + INTEGER(IntKi), PARAMETER :: M4N9MMGxi = 3033 + INTEGER(IntKi), PARAMETER :: M5N1MMGxi = 3034 + INTEGER(IntKi), PARAMETER :: M5N2MMGxi = 3035 + INTEGER(IntKi), PARAMETER :: M5N3MMGxi = 3036 + INTEGER(IntKi), PARAMETER :: M5N4MMGxi = 3037 + INTEGER(IntKi), PARAMETER :: M5N5MMGxi = 3038 + INTEGER(IntKi), PARAMETER :: M5N6MMGxi = 3039 + INTEGER(IntKi), PARAMETER :: M5N7MMGxi = 3040 + INTEGER(IntKi), PARAMETER :: M5N8MMGxi = 3041 + INTEGER(IntKi), PARAMETER :: M5N9MMGxi = 3042 + INTEGER(IntKi), PARAMETER :: M6N1MMGxi = 3043 + INTEGER(IntKi), PARAMETER :: M6N2MMGxi = 3044 + INTEGER(IntKi), PARAMETER :: M6N3MMGxi = 3045 + INTEGER(IntKi), PARAMETER :: M6N4MMGxi = 3046 + INTEGER(IntKi), PARAMETER :: M6N5MMGxi = 3047 + INTEGER(IntKi), PARAMETER :: M6N6MMGxi = 3048 + INTEGER(IntKi), PARAMETER :: M6N7MMGxi = 3049 + INTEGER(IntKi), PARAMETER :: M6N8MMGxi = 3050 + INTEGER(IntKi), PARAMETER :: M6N9MMGxi = 3051 + INTEGER(IntKi), PARAMETER :: M7N1MMGxi = 3052 + INTEGER(IntKi), PARAMETER :: M7N2MMGxi = 3053 + INTEGER(IntKi), PARAMETER :: M7N3MMGxi = 3054 + INTEGER(IntKi), PARAMETER :: M7N4MMGxi = 3055 + INTEGER(IntKi), PARAMETER :: M7N5MMGxi = 3056 + INTEGER(IntKi), PARAMETER :: M7N6MMGxi = 3057 + INTEGER(IntKi), PARAMETER :: M7N7MMGxi = 3058 + INTEGER(IntKi), PARAMETER :: M7N8MMGxi = 3059 + INTEGER(IntKi), PARAMETER :: M7N9MMGxi = 3060 + INTEGER(IntKi), PARAMETER :: M8N1MMGxi = 3061 + INTEGER(IntKi), PARAMETER :: M8N2MMGxi = 3062 + INTEGER(IntKi), PARAMETER :: M8N3MMGxi = 3063 + INTEGER(IntKi), PARAMETER :: M8N4MMGxi = 3064 + INTEGER(IntKi), PARAMETER :: M8N5MMGxi = 3065 + INTEGER(IntKi), PARAMETER :: M8N6MMGxi = 3066 + INTEGER(IntKi), PARAMETER :: M8N7MMGxi = 3067 + INTEGER(IntKi), PARAMETER :: M8N8MMGxi = 3068 + INTEGER(IntKi), PARAMETER :: M8N9MMGxi = 3069 + INTEGER(IntKi), PARAMETER :: M9N1MMGxi = 3070 + INTEGER(IntKi), PARAMETER :: M9N2MMGxi = 3071 + INTEGER(IntKi), PARAMETER :: M9N3MMGxi = 3072 + INTEGER(IntKi), PARAMETER :: M9N4MMGxi = 3073 + INTEGER(IntKi), PARAMETER :: M9N5MMGxi = 3074 + INTEGER(IntKi), PARAMETER :: M9N6MMGxi = 3075 + INTEGER(IntKi), PARAMETER :: M9N7MMGxi = 3076 + INTEGER(IntKi), PARAMETER :: M9N8MMGxi = 3077 + INTEGER(IntKi), PARAMETER :: M9N9MMGxi = 3078 + INTEGER(IntKi), PARAMETER :: M1N1MMGyi = 3079 + INTEGER(IntKi), PARAMETER :: M1N2MMGyi = 3080 + INTEGER(IntKi), PARAMETER :: M1N3MMGyi = 3081 + INTEGER(IntKi), PARAMETER :: M1N4MMGyi = 3082 + INTEGER(IntKi), PARAMETER :: M1N5MMGyi = 3083 + INTEGER(IntKi), PARAMETER :: M1N6MMGyi = 3084 + INTEGER(IntKi), PARAMETER :: M1N7MMGyi = 3085 + INTEGER(IntKi), PARAMETER :: M1N8MMGyi = 3086 + INTEGER(IntKi), PARAMETER :: M1N9MMGyi = 3087 + INTEGER(IntKi), PARAMETER :: M2N1MMGyi = 3088 + INTEGER(IntKi), PARAMETER :: M2N2MMGyi = 3089 + INTEGER(IntKi), PARAMETER :: M2N3MMGyi = 3090 + INTEGER(IntKi), PARAMETER :: M2N4MMGyi = 3091 + INTEGER(IntKi), PARAMETER :: M2N5MMGyi = 3092 + INTEGER(IntKi), PARAMETER :: M2N6MMGyi = 3093 + INTEGER(IntKi), PARAMETER :: M2N7MMGyi = 3094 + INTEGER(IntKi), PARAMETER :: M2N8MMGyi = 3095 + INTEGER(IntKi), PARAMETER :: M2N9MMGyi = 3096 + INTEGER(IntKi), PARAMETER :: M3N1MMGyi = 3097 + INTEGER(IntKi), PARAMETER :: M3N2MMGyi = 3098 + INTEGER(IntKi), PARAMETER :: M3N3MMGyi = 3099 + INTEGER(IntKi), PARAMETER :: M3N4MMGyi = 3100 + INTEGER(IntKi), PARAMETER :: M3N5MMGyi = 3101 + INTEGER(IntKi), PARAMETER :: M3N6MMGyi = 3102 + INTEGER(IntKi), PARAMETER :: M3N7MMGyi = 3103 + INTEGER(IntKi), PARAMETER :: M3N8MMGyi = 3104 + INTEGER(IntKi), PARAMETER :: M3N9MMGyi = 3105 + INTEGER(IntKi), PARAMETER :: M4N1MMGyi = 3106 + INTEGER(IntKi), PARAMETER :: M4N2MMGyi = 3107 + INTEGER(IntKi), PARAMETER :: M4N3MMGyi = 3108 + INTEGER(IntKi), PARAMETER :: M4N4MMGyi = 3109 + INTEGER(IntKi), PARAMETER :: M4N5MMGyi = 3110 + INTEGER(IntKi), PARAMETER :: M4N6MMGyi = 3111 + INTEGER(IntKi), PARAMETER :: M4N7MMGyi = 3112 + INTEGER(IntKi), PARAMETER :: M4N8MMGyi = 3113 + INTEGER(IntKi), PARAMETER :: M4N9MMGyi = 3114 + INTEGER(IntKi), PARAMETER :: M5N1MMGyi = 3115 + INTEGER(IntKi), PARAMETER :: M5N2MMGyi = 3116 + INTEGER(IntKi), PARAMETER :: M5N3MMGyi = 3117 + INTEGER(IntKi), PARAMETER :: M5N4MMGyi = 3118 + INTEGER(IntKi), PARAMETER :: M5N5MMGyi = 3119 + INTEGER(IntKi), PARAMETER :: M5N6MMGyi = 3120 + INTEGER(IntKi), PARAMETER :: M5N7MMGyi = 3121 + INTEGER(IntKi), PARAMETER :: M5N8MMGyi = 3122 + INTEGER(IntKi), PARAMETER :: M5N9MMGyi = 3123 + INTEGER(IntKi), PARAMETER :: M6N1MMGyi = 3124 + INTEGER(IntKi), PARAMETER :: M6N2MMGyi = 3125 + INTEGER(IntKi), PARAMETER :: M6N3MMGyi = 3126 + INTEGER(IntKi), PARAMETER :: M6N4MMGyi = 3127 + INTEGER(IntKi), PARAMETER :: M6N5MMGyi = 3128 + INTEGER(IntKi), PARAMETER :: M6N6MMGyi = 3129 + INTEGER(IntKi), PARAMETER :: M6N7MMGyi = 3130 + INTEGER(IntKi), PARAMETER :: M6N8MMGyi = 3131 + INTEGER(IntKi), PARAMETER :: M6N9MMGyi = 3132 + INTEGER(IntKi), PARAMETER :: M7N1MMGyi = 3133 + INTEGER(IntKi), PARAMETER :: M7N2MMGyi = 3134 + INTEGER(IntKi), PARAMETER :: M7N3MMGyi = 3135 + INTEGER(IntKi), PARAMETER :: M7N4MMGyi = 3136 + INTEGER(IntKi), PARAMETER :: M7N5MMGyi = 3137 + INTEGER(IntKi), PARAMETER :: M7N6MMGyi = 3138 + INTEGER(IntKi), PARAMETER :: M7N7MMGyi = 3139 + INTEGER(IntKi), PARAMETER :: M7N8MMGyi = 3140 + INTEGER(IntKi), PARAMETER :: M7N9MMGyi = 3141 + INTEGER(IntKi), PARAMETER :: M8N1MMGyi = 3142 + INTEGER(IntKi), PARAMETER :: M8N2MMGyi = 3143 + INTEGER(IntKi), PARAMETER :: M8N3MMGyi = 3144 + INTEGER(IntKi), PARAMETER :: M8N4MMGyi = 3145 + INTEGER(IntKi), PARAMETER :: M8N5MMGyi = 3146 + INTEGER(IntKi), PARAMETER :: M8N6MMGyi = 3147 + INTEGER(IntKi), PARAMETER :: M8N7MMGyi = 3148 + INTEGER(IntKi), PARAMETER :: M8N8MMGyi = 3149 + INTEGER(IntKi), PARAMETER :: M8N9MMGyi = 3150 + INTEGER(IntKi), PARAMETER :: M9N1MMGyi = 3151 + INTEGER(IntKi), PARAMETER :: M9N2MMGyi = 3152 + INTEGER(IntKi), PARAMETER :: M9N3MMGyi = 3153 + INTEGER(IntKi), PARAMETER :: M9N4MMGyi = 3154 + INTEGER(IntKi), PARAMETER :: M9N5MMGyi = 3155 + INTEGER(IntKi), PARAMETER :: M9N6MMGyi = 3156 + INTEGER(IntKi), PARAMETER :: M9N7MMGyi = 3157 + INTEGER(IntKi), PARAMETER :: M9N8MMGyi = 3158 + INTEGER(IntKi), PARAMETER :: M9N9MMGyi = 3159 + INTEGER(IntKi), PARAMETER :: M1N1MMGzi = 3160 + INTEGER(IntKi), PARAMETER :: M1N2MMGzi = 3161 + INTEGER(IntKi), PARAMETER :: M1N3MMGzi = 3162 + INTEGER(IntKi), PARAMETER :: M1N4MMGzi = 3163 + INTEGER(IntKi), PARAMETER :: M1N5MMGzi = 3164 + INTEGER(IntKi), PARAMETER :: M1N6MMGzi = 3165 + INTEGER(IntKi), PARAMETER :: M1N7MMGzi = 3166 + INTEGER(IntKi), PARAMETER :: M1N8MMGzi = 3167 + INTEGER(IntKi), PARAMETER :: M1N9MMGzi = 3168 + INTEGER(IntKi), PARAMETER :: M2N1MMGzi = 3169 + INTEGER(IntKi), PARAMETER :: M2N2MMGzi = 3170 + INTEGER(IntKi), PARAMETER :: M2N3MMGzi = 3171 + INTEGER(IntKi), PARAMETER :: M2N4MMGzi = 3172 + INTEGER(IntKi), PARAMETER :: M2N5MMGzi = 3173 + INTEGER(IntKi), PARAMETER :: M2N6MMGzi = 3174 + INTEGER(IntKi), PARAMETER :: M2N7MMGzi = 3175 + INTEGER(IntKi), PARAMETER :: M2N8MMGzi = 3176 + INTEGER(IntKi), PARAMETER :: M2N9MMGzi = 3177 + INTEGER(IntKi), PARAMETER :: M3N1MMGzi = 3178 + INTEGER(IntKi), PARAMETER :: M3N2MMGzi = 3179 + INTEGER(IntKi), PARAMETER :: M3N3MMGzi = 3180 + INTEGER(IntKi), PARAMETER :: M3N4MMGzi = 3181 + INTEGER(IntKi), PARAMETER :: M3N5MMGzi = 3182 + INTEGER(IntKi), PARAMETER :: M3N6MMGzi = 3183 + INTEGER(IntKi), PARAMETER :: M3N7MMGzi = 3184 + INTEGER(IntKi), PARAMETER :: M3N8MMGzi = 3185 + INTEGER(IntKi), PARAMETER :: M3N9MMGzi = 3186 + INTEGER(IntKi), PARAMETER :: M4N1MMGzi = 3187 + INTEGER(IntKi), PARAMETER :: M4N2MMGzi = 3188 + INTEGER(IntKi), PARAMETER :: M4N3MMGzi = 3189 + INTEGER(IntKi), PARAMETER :: M4N4MMGzi = 3190 + INTEGER(IntKi), PARAMETER :: M4N5MMGzi = 3191 + INTEGER(IntKi), PARAMETER :: M4N6MMGzi = 3192 + INTEGER(IntKi), PARAMETER :: M4N7MMGzi = 3193 + INTEGER(IntKi), PARAMETER :: M4N8MMGzi = 3194 + INTEGER(IntKi), PARAMETER :: M4N9MMGzi = 3195 + INTEGER(IntKi), PARAMETER :: M5N1MMGzi = 3196 + INTEGER(IntKi), PARAMETER :: M5N2MMGzi = 3197 + INTEGER(IntKi), PARAMETER :: M5N3MMGzi = 3198 + INTEGER(IntKi), PARAMETER :: M5N4MMGzi = 3199 + INTEGER(IntKi), PARAMETER :: M5N5MMGzi = 3200 + INTEGER(IntKi), PARAMETER :: M5N6MMGzi = 3201 + INTEGER(IntKi), PARAMETER :: M5N7MMGzi = 3202 + INTEGER(IntKi), PARAMETER :: M5N8MMGzi = 3203 + INTEGER(IntKi), PARAMETER :: M5N9MMGzi = 3204 + INTEGER(IntKi), PARAMETER :: M6N1MMGzi = 3205 + INTEGER(IntKi), PARAMETER :: M6N2MMGzi = 3206 + INTEGER(IntKi), PARAMETER :: M6N3MMGzi = 3207 + INTEGER(IntKi), PARAMETER :: M6N4MMGzi = 3208 + INTEGER(IntKi), PARAMETER :: M6N5MMGzi = 3209 + INTEGER(IntKi), PARAMETER :: M6N6MMGzi = 3210 + INTEGER(IntKi), PARAMETER :: M6N7MMGzi = 3211 + INTEGER(IntKi), PARAMETER :: M6N8MMGzi = 3212 + INTEGER(IntKi), PARAMETER :: M6N9MMGzi = 3213 + INTEGER(IntKi), PARAMETER :: M7N1MMGzi = 3214 + INTEGER(IntKi), PARAMETER :: M7N2MMGzi = 3215 + INTEGER(IntKi), PARAMETER :: M7N3MMGzi = 3216 + INTEGER(IntKi), PARAMETER :: M7N4MMGzi = 3217 + INTEGER(IntKi), PARAMETER :: M7N5MMGzi = 3218 + INTEGER(IntKi), PARAMETER :: M7N6MMGzi = 3219 + INTEGER(IntKi), PARAMETER :: M7N7MMGzi = 3220 + INTEGER(IntKi), PARAMETER :: M7N8MMGzi = 3221 + INTEGER(IntKi), PARAMETER :: M7N9MMGzi = 3222 + INTEGER(IntKi), PARAMETER :: M8N1MMGzi = 3223 + INTEGER(IntKi), PARAMETER :: M8N2MMGzi = 3224 + INTEGER(IntKi), PARAMETER :: M8N3MMGzi = 3225 + INTEGER(IntKi), PARAMETER :: M8N4MMGzi = 3226 + INTEGER(IntKi), PARAMETER :: M8N5MMGzi = 3227 + INTEGER(IntKi), PARAMETER :: M8N6MMGzi = 3228 + INTEGER(IntKi), PARAMETER :: M8N7MMGzi = 3229 + INTEGER(IntKi), PARAMETER :: M8N8MMGzi = 3230 + INTEGER(IntKi), PARAMETER :: M8N9MMGzi = 3231 + INTEGER(IntKi), PARAMETER :: M9N1MMGzi = 3232 + INTEGER(IntKi), PARAMETER :: M9N2MMGzi = 3233 + INTEGER(IntKi), PARAMETER :: M9N3MMGzi = 3234 + INTEGER(IntKi), PARAMETER :: M9N4MMGzi = 3235 + INTEGER(IntKi), PARAMETER :: M9N5MMGzi = 3236 + INTEGER(IntKi), PARAMETER :: M9N6MMGzi = 3237 + INTEGER(IntKi), PARAMETER :: M9N7MMGzi = 3238 + INTEGER(IntKi), PARAMETER :: M9N8MMGzi = 3239 + INTEGER(IntKi), PARAMETER :: M9N9MMGzi = 3240 + INTEGER(IntKi), PARAMETER :: M1N1FAMxi = 3241 + INTEGER(IntKi), PARAMETER :: M1N2FAMxi = 3242 + INTEGER(IntKi), PARAMETER :: M1N3FAMxi = 3243 + INTEGER(IntKi), PARAMETER :: M1N4FAMxi = 3244 + INTEGER(IntKi), PARAMETER :: M1N5FAMxi = 3245 + INTEGER(IntKi), PARAMETER :: M1N6FAMxi = 3246 + INTEGER(IntKi), PARAMETER :: M1N7FAMxi = 3247 + INTEGER(IntKi), PARAMETER :: M1N8FAMxi = 3248 + INTEGER(IntKi), PARAMETER :: M1N9FAMxi = 3249 + INTEGER(IntKi), PARAMETER :: M2N1FAMxi = 3250 + INTEGER(IntKi), PARAMETER :: M2N2FAMxi = 3251 + INTEGER(IntKi), PARAMETER :: M2N3FAMxi = 3252 + INTEGER(IntKi), PARAMETER :: M2N4FAMxi = 3253 + INTEGER(IntKi), PARAMETER :: M2N5FAMxi = 3254 + INTEGER(IntKi), PARAMETER :: M2N6FAMxi = 3255 + INTEGER(IntKi), PARAMETER :: M2N7FAMxi = 3256 + INTEGER(IntKi), PARAMETER :: M2N8FAMxi = 3257 + INTEGER(IntKi), PARAMETER :: M2N9FAMxi = 3258 + INTEGER(IntKi), PARAMETER :: M3N1FAMxi = 3259 + INTEGER(IntKi), PARAMETER :: M3N2FAMxi = 3260 + INTEGER(IntKi), PARAMETER :: M3N3FAMxi = 3261 + INTEGER(IntKi), PARAMETER :: M3N4FAMxi = 3262 + INTEGER(IntKi), PARAMETER :: M3N5FAMxi = 3263 + INTEGER(IntKi), PARAMETER :: M3N6FAMxi = 3264 + INTEGER(IntKi), PARAMETER :: M3N7FAMxi = 3265 + INTEGER(IntKi), PARAMETER :: M3N8FAMxi = 3266 + INTEGER(IntKi), PARAMETER :: M3N9FAMxi = 3267 + INTEGER(IntKi), PARAMETER :: M4N1FAMxi = 3268 + INTEGER(IntKi), PARAMETER :: M4N2FAMxi = 3269 + INTEGER(IntKi), PARAMETER :: M4N3FAMxi = 3270 + INTEGER(IntKi), PARAMETER :: M4N4FAMxi = 3271 + INTEGER(IntKi), PARAMETER :: M4N5FAMxi = 3272 + INTEGER(IntKi), PARAMETER :: M4N6FAMxi = 3273 + INTEGER(IntKi), PARAMETER :: M4N7FAMxi = 3274 + INTEGER(IntKi), PARAMETER :: M4N8FAMxi = 3275 + INTEGER(IntKi), PARAMETER :: M4N9FAMxi = 3276 + INTEGER(IntKi), PARAMETER :: M5N1FAMxi = 3277 + INTEGER(IntKi), PARAMETER :: M5N2FAMxi = 3278 + INTEGER(IntKi), PARAMETER :: M5N3FAMxi = 3279 + INTEGER(IntKi), PARAMETER :: M5N4FAMxi = 3280 + INTEGER(IntKi), PARAMETER :: M5N5FAMxi = 3281 + INTEGER(IntKi), PARAMETER :: M5N6FAMxi = 3282 + INTEGER(IntKi), PARAMETER :: M5N7FAMxi = 3283 + INTEGER(IntKi), PARAMETER :: M5N8FAMxi = 3284 + INTEGER(IntKi), PARAMETER :: M5N9FAMxi = 3285 + INTEGER(IntKi), PARAMETER :: M6N1FAMxi = 3286 + INTEGER(IntKi), PARAMETER :: M6N2FAMxi = 3287 + INTEGER(IntKi), PARAMETER :: M6N3FAMxi = 3288 + INTEGER(IntKi), PARAMETER :: M6N4FAMxi = 3289 + INTEGER(IntKi), PARAMETER :: M6N5FAMxi = 3290 + INTEGER(IntKi), PARAMETER :: M6N6FAMxi = 3291 + INTEGER(IntKi), PARAMETER :: M6N7FAMxi = 3292 + INTEGER(IntKi), PARAMETER :: M6N8FAMxi = 3293 + INTEGER(IntKi), PARAMETER :: M6N9FAMxi = 3294 + INTEGER(IntKi), PARAMETER :: M7N1FAMxi = 3295 + INTEGER(IntKi), PARAMETER :: M7N2FAMxi = 3296 + INTEGER(IntKi), PARAMETER :: M7N3FAMxi = 3297 + INTEGER(IntKi), PARAMETER :: M7N4FAMxi = 3298 + INTEGER(IntKi), PARAMETER :: M7N5FAMxi = 3299 + INTEGER(IntKi), PARAMETER :: M7N6FAMxi = 3300 + INTEGER(IntKi), PARAMETER :: M7N7FAMxi = 3301 + INTEGER(IntKi), PARAMETER :: M7N8FAMxi = 3302 + INTEGER(IntKi), PARAMETER :: M7N9FAMxi = 3303 + INTEGER(IntKi), PARAMETER :: M8N1FAMxi = 3304 + INTEGER(IntKi), PARAMETER :: M8N2FAMxi = 3305 + INTEGER(IntKi), PARAMETER :: M8N3FAMxi = 3306 + INTEGER(IntKi), PARAMETER :: M8N4FAMxi = 3307 + INTEGER(IntKi), PARAMETER :: M8N5FAMxi = 3308 + INTEGER(IntKi), PARAMETER :: M8N6FAMxi = 3309 + INTEGER(IntKi), PARAMETER :: M8N7FAMxi = 3310 + INTEGER(IntKi), PARAMETER :: M8N8FAMxi = 3311 + INTEGER(IntKi), PARAMETER :: M8N9FAMxi = 3312 + INTEGER(IntKi), PARAMETER :: M9N1FAMxi = 3313 + INTEGER(IntKi), PARAMETER :: M9N2FAMxi = 3314 + INTEGER(IntKi), PARAMETER :: M9N3FAMxi = 3315 + INTEGER(IntKi), PARAMETER :: M9N4FAMxi = 3316 + INTEGER(IntKi), PARAMETER :: M9N5FAMxi = 3317 + INTEGER(IntKi), PARAMETER :: M9N6FAMxi = 3318 + INTEGER(IntKi), PARAMETER :: M9N7FAMxi = 3319 + INTEGER(IntKi), PARAMETER :: M9N8FAMxi = 3320 + INTEGER(IntKi), PARAMETER :: M9N9FAMxi = 3321 + INTEGER(IntKi), PARAMETER :: M1N1FAMyi = 3322 + INTEGER(IntKi), PARAMETER :: M1N2FAMyi = 3323 + INTEGER(IntKi), PARAMETER :: M1N3FAMyi = 3324 + INTEGER(IntKi), PARAMETER :: M1N4FAMyi = 3325 + INTEGER(IntKi), PARAMETER :: M1N5FAMyi = 3326 + INTEGER(IntKi), PARAMETER :: M1N6FAMyi = 3327 + INTEGER(IntKi), PARAMETER :: M1N7FAMyi = 3328 + INTEGER(IntKi), PARAMETER :: M1N8FAMyi = 3329 + INTEGER(IntKi), PARAMETER :: M1N9FAMyi = 3330 + INTEGER(IntKi), PARAMETER :: M2N1FAMyi = 3331 + INTEGER(IntKi), PARAMETER :: M2N2FAMyi = 3332 + INTEGER(IntKi), PARAMETER :: M2N3FAMyi = 3333 + INTEGER(IntKi), PARAMETER :: M2N4FAMyi = 3334 + INTEGER(IntKi), PARAMETER :: M2N5FAMyi = 3335 + INTEGER(IntKi), PARAMETER :: M2N6FAMyi = 3336 + INTEGER(IntKi), PARAMETER :: M2N7FAMyi = 3337 + INTEGER(IntKi), PARAMETER :: M2N8FAMyi = 3338 + INTEGER(IntKi), PARAMETER :: M2N9FAMyi = 3339 + INTEGER(IntKi), PARAMETER :: M3N1FAMyi = 3340 + INTEGER(IntKi), PARAMETER :: M3N2FAMyi = 3341 + INTEGER(IntKi), PARAMETER :: M3N3FAMyi = 3342 + INTEGER(IntKi), PARAMETER :: M3N4FAMyi = 3343 + INTEGER(IntKi), PARAMETER :: M3N5FAMyi = 3344 + INTEGER(IntKi), PARAMETER :: M3N6FAMyi = 3345 + INTEGER(IntKi), PARAMETER :: M3N7FAMyi = 3346 + INTEGER(IntKi), PARAMETER :: M3N8FAMyi = 3347 + INTEGER(IntKi), PARAMETER :: M3N9FAMyi = 3348 + INTEGER(IntKi), PARAMETER :: M4N1FAMyi = 3349 + INTEGER(IntKi), PARAMETER :: M4N2FAMyi = 3350 + INTEGER(IntKi), PARAMETER :: M4N3FAMyi = 3351 + INTEGER(IntKi), PARAMETER :: M4N4FAMyi = 3352 + INTEGER(IntKi), PARAMETER :: M4N5FAMyi = 3353 + INTEGER(IntKi), PARAMETER :: M4N6FAMyi = 3354 + INTEGER(IntKi), PARAMETER :: M4N7FAMyi = 3355 + INTEGER(IntKi), PARAMETER :: M4N8FAMyi = 3356 + INTEGER(IntKi), PARAMETER :: M4N9FAMyi = 3357 + INTEGER(IntKi), PARAMETER :: M5N1FAMyi = 3358 + INTEGER(IntKi), PARAMETER :: M5N2FAMyi = 3359 + INTEGER(IntKi), PARAMETER :: M5N3FAMyi = 3360 + INTEGER(IntKi), PARAMETER :: M5N4FAMyi = 3361 + INTEGER(IntKi), PARAMETER :: M5N5FAMyi = 3362 + INTEGER(IntKi), PARAMETER :: M5N6FAMyi = 3363 + INTEGER(IntKi), PARAMETER :: M5N7FAMyi = 3364 + INTEGER(IntKi), PARAMETER :: M5N8FAMyi = 3365 + INTEGER(IntKi), PARAMETER :: M5N9FAMyi = 3366 + INTEGER(IntKi), PARAMETER :: M6N1FAMyi = 3367 + INTEGER(IntKi), PARAMETER :: M6N2FAMyi = 3368 + INTEGER(IntKi), PARAMETER :: M6N3FAMyi = 3369 + INTEGER(IntKi), PARAMETER :: M6N4FAMyi = 3370 + INTEGER(IntKi), PARAMETER :: M6N5FAMyi = 3371 + INTEGER(IntKi), PARAMETER :: M6N6FAMyi = 3372 + INTEGER(IntKi), PARAMETER :: M6N7FAMyi = 3373 + INTEGER(IntKi), PARAMETER :: M6N8FAMyi = 3374 + INTEGER(IntKi), PARAMETER :: M6N9FAMyi = 3375 + INTEGER(IntKi), PARAMETER :: M7N1FAMyi = 3376 + INTEGER(IntKi), PARAMETER :: M7N2FAMyi = 3377 + INTEGER(IntKi), PARAMETER :: M7N3FAMyi = 3378 + INTEGER(IntKi), PARAMETER :: M7N4FAMyi = 3379 + INTEGER(IntKi), PARAMETER :: M7N5FAMyi = 3380 + INTEGER(IntKi), PARAMETER :: M7N6FAMyi = 3381 + INTEGER(IntKi), PARAMETER :: M7N7FAMyi = 3382 + INTEGER(IntKi), PARAMETER :: M7N8FAMyi = 3383 + INTEGER(IntKi), PARAMETER :: M7N9FAMyi = 3384 + INTEGER(IntKi), PARAMETER :: M8N1FAMyi = 3385 + INTEGER(IntKi), PARAMETER :: M8N2FAMyi = 3386 + INTEGER(IntKi), PARAMETER :: M8N3FAMyi = 3387 + INTEGER(IntKi), PARAMETER :: M8N4FAMyi = 3388 + INTEGER(IntKi), PARAMETER :: M8N5FAMyi = 3389 + INTEGER(IntKi), PARAMETER :: M8N6FAMyi = 3390 + INTEGER(IntKi), PARAMETER :: M8N7FAMyi = 3391 + INTEGER(IntKi), PARAMETER :: M8N8FAMyi = 3392 + INTEGER(IntKi), PARAMETER :: M8N9FAMyi = 3393 + INTEGER(IntKi), PARAMETER :: M9N1FAMyi = 3394 + INTEGER(IntKi), PARAMETER :: M9N2FAMyi = 3395 + INTEGER(IntKi), PARAMETER :: M9N3FAMyi = 3396 + INTEGER(IntKi), PARAMETER :: M9N4FAMyi = 3397 + INTEGER(IntKi), PARAMETER :: M9N5FAMyi = 3398 + INTEGER(IntKi), PARAMETER :: M9N6FAMyi = 3399 + INTEGER(IntKi), PARAMETER :: M9N7FAMyi = 3400 + INTEGER(IntKi), PARAMETER :: M9N8FAMyi = 3401 + INTEGER(IntKi), PARAMETER :: M9N9FAMyi = 3402 + INTEGER(IntKi), PARAMETER :: M1N1FAMzi = 3403 + INTEGER(IntKi), PARAMETER :: M1N2FAMzi = 3404 + INTEGER(IntKi), PARAMETER :: M1N3FAMzi = 3405 + INTEGER(IntKi), PARAMETER :: M1N4FAMzi = 3406 + INTEGER(IntKi), PARAMETER :: M1N5FAMzi = 3407 + INTEGER(IntKi), PARAMETER :: M1N6FAMzi = 3408 + INTEGER(IntKi), PARAMETER :: M1N7FAMzi = 3409 + INTEGER(IntKi), PARAMETER :: M1N8FAMzi = 3410 + INTEGER(IntKi), PARAMETER :: M1N9FAMzi = 3411 + INTEGER(IntKi), PARAMETER :: M2N1FAMzi = 3412 + INTEGER(IntKi), PARAMETER :: M2N2FAMzi = 3413 + INTEGER(IntKi), PARAMETER :: M2N3FAMzi = 3414 + INTEGER(IntKi), PARAMETER :: M2N4FAMzi = 3415 + INTEGER(IntKi), PARAMETER :: M2N5FAMzi = 3416 + INTEGER(IntKi), PARAMETER :: M2N6FAMzi = 3417 + INTEGER(IntKi), PARAMETER :: M2N7FAMzi = 3418 + INTEGER(IntKi), PARAMETER :: M2N8FAMzi = 3419 + INTEGER(IntKi), PARAMETER :: M2N9FAMzi = 3420 + INTEGER(IntKi), PARAMETER :: M3N1FAMzi = 3421 + INTEGER(IntKi), PARAMETER :: M3N2FAMzi = 3422 + INTEGER(IntKi), PARAMETER :: M3N3FAMzi = 3423 + INTEGER(IntKi), PARAMETER :: M3N4FAMzi = 3424 + INTEGER(IntKi), PARAMETER :: M3N5FAMzi = 3425 + INTEGER(IntKi), PARAMETER :: M3N6FAMzi = 3426 + INTEGER(IntKi), PARAMETER :: M3N7FAMzi = 3427 + INTEGER(IntKi), PARAMETER :: M3N8FAMzi = 3428 + INTEGER(IntKi), PARAMETER :: M3N9FAMzi = 3429 + INTEGER(IntKi), PARAMETER :: M4N1FAMzi = 3430 + INTEGER(IntKi), PARAMETER :: M4N2FAMzi = 3431 + INTEGER(IntKi), PARAMETER :: M4N3FAMzi = 3432 + INTEGER(IntKi), PARAMETER :: M4N4FAMzi = 3433 + INTEGER(IntKi), PARAMETER :: M4N5FAMzi = 3434 + INTEGER(IntKi), PARAMETER :: M4N6FAMzi = 3435 + INTEGER(IntKi), PARAMETER :: M4N7FAMzi = 3436 + INTEGER(IntKi), PARAMETER :: M4N8FAMzi = 3437 + INTEGER(IntKi), PARAMETER :: M4N9FAMzi = 3438 + INTEGER(IntKi), PARAMETER :: M5N1FAMzi = 3439 + INTEGER(IntKi), PARAMETER :: M5N2FAMzi = 3440 + INTEGER(IntKi), PARAMETER :: M5N3FAMzi = 3441 + INTEGER(IntKi), PARAMETER :: M5N4FAMzi = 3442 + INTEGER(IntKi), PARAMETER :: M5N5FAMzi = 3443 + INTEGER(IntKi), PARAMETER :: M5N6FAMzi = 3444 + INTEGER(IntKi), PARAMETER :: M5N7FAMzi = 3445 + INTEGER(IntKi), PARAMETER :: M5N8FAMzi = 3446 + INTEGER(IntKi), PARAMETER :: M5N9FAMzi = 3447 + INTEGER(IntKi), PARAMETER :: M6N1FAMzi = 3448 + INTEGER(IntKi), PARAMETER :: M6N2FAMzi = 3449 + INTEGER(IntKi), PARAMETER :: M6N3FAMzi = 3450 + INTEGER(IntKi), PARAMETER :: M6N4FAMzi = 3451 + INTEGER(IntKi), PARAMETER :: M6N5FAMzi = 3452 + INTEGER(IntKi), PARAMETER :: M6N6FAMzi = 3453 + INTEGER(IntKi), PARAMETER :: M6N7FAMzi = 3454 + INTEGER(IntKi), PARAMETER :: M6N8FAMzi = 3455 + INTEGER(IntKi), PARAMETER :: M6N9FAMzi = 3456 + INTEGER(IntKi), PARAMETER :: M7N1FAMzi = 3457 + INTEGER(IntKi), PARAMETER :: M7N2FAMzi = 3458 + INTEGER(IntKi), PARAMETER :: M7N3FAMzi = 3459 + INTEGER(IntKi), PARAMETER :: M7N4FAMzi = 3460 + INTEGER(IntKi), PARAMETER :: M7N5FAMzi = 3461 + INTEGER(IntKi), PARAMETER :: M7N6FAMzi = 3462 + INTEGER(IntKi), PARAMETER :: M7N7FAMzi = 3463 + INTEGER(IntKi), PARAMETER :: M7N8FAMzi = 3464 + INTEGER(IntKi), PARAMETER :: M7N9FAMzi = 3465 + INTEGER(IntKi), PARAMETER :: M8N1FAMzi = 3466 + INTEGER(IntKi), PARAMETER :: M8N2FAMzi = 3467 + INTEGER(IntKi), PARAMETER :: M8N3FAMzi = 3468 + INTEGER(IntKi), PARAMETER :: M8N4FAMzi = 3469 + INTEGER(IntKi), PARAMETER :: M8N5FAMzi = 3470 + INTEGER(IntKi), PARAMETER :: M8N6FAMzi = 3471 + INTEGER(IntKi), PARAMETER :: M8N7FAMzi = 3472 + INTEGER(IntKi), PARAMETER :: M8N8FAMzi = 3473 + INTEGER(IntKi), PARAMETER :: M8N9FAMzi = 3474 + INTEGER(IntKi), PARAMETER :: M9N1FAMzi = 3475 + INTEGER(IntKi), PARAMETER :: M9N2FAMzi = 3476 + INTEGER(IntKi), PARAMETER :: M9N3FAMzi = 3477 + INTEGER(IntKi), PARAMETER :: M9N4FAMzi = 3478 + INTEGER(IntKi), PARAMETER :: M9N5FAMzi = 3479 + INTEGER(IntKi), PARAMETER :: M9N6FAMzi = 3480 + INTEGER(IntKi), PARAMETER :: M9N7FAMzi = 3481 + INTEGER(IntKi), PARAMETER :: M9N8FAMzi = 3482 + INTEGER(IntKi), PARAMETER :: M9N9FAMzi = 3483 + INTEGER(IntKi), PARAMETER :: M1N1FAGxi = 3484 + INTEGER(IntKi), PARAMETER :: M1N2FAGxi = 3485 + INTEGER(IntKi), PARAMETER :: M1N3FAGxi = 3486 + INTEGER(IntKi), PARAMETER :: M1N4FAGxi = 3487 + INTEGER(IntKi), PARAMETER :: M1N5FAGxi = 3488 + INTEGER(IntKi), PARAMETER :: M1N6FAGxi = 3489 + INTEGER(IntKi), PARAMETER :: M1N7FAGxi = 3490 + INTEGER(IntKi), PARAMETER :: M1N8FAGxi = 3491 + INTEGER(IntKi), PARAMETER :: M1N9FAGxi = 3492 + INTEGER(IntKi), PARAMETER :: M2N1FAGxi = 3493 + INTEGER(IntKi), PARAMETER :: M2N2FAGxi = 3494 + INTEGER(IntKi), PARAMETER :: M2N3FAGxi = 3495 + INTEGER(IntKi), PARAMETER :: M2N4FAGxi = 3496 + INTEGER(IntKi), PARAMETER :: M2N5FAGxi = 3497 + INTEGER(IntKi), PARAMETER :: M2N6FAGxi = 3498 + INTEGER(IntKi), PARAMETER :: M2N7FAGxi = 3499 + INTEGER(IntKi), PARAMETER :: M2N8FAGxi = 3500 + INTEGER(IntKi), PARAMETER :: M2N9FAGxi = 3501 + INTEGER(IntKi), PARAMETER :: M3N1FAGxi = 3502 + INTEGER(IntKi), PARAMETER :: M3N2FAGxi = 3503 + INTEGER(IntKi), PARAMETER :: M3N3FAGxi = 3504 + INTEGER(IntKi), PARAMETER :: M3N4FAGxi = 3505 + INTEGER(IntKi), PARAMETER :: M3N5FAGxi = 3506 + INTEGER(IntKi), PARAMETER :: M3N6FAGxi = 3507 + INTEGER(IntKi), PARAMETER :: M3N7FAGxi = 3508 + INTEGER(IntKi), PARAMETER :: M3N8FAGxi = 3509 + INTEGER(IntKi), PARAMETER :: M3N9FAGxi = 3510 + INTEGER(IntKi), PARAMETER :: M4N1FAGxi = 3511 + INTEGER(IntKi), PARAMETER :: M4N2FAGxi = 3512 + INTEGER(IntKi), PARAMETER :: M4N3FAGxi = 3513 + INTEGER(IntKi), PARAMETER :: M4N4FAGxi = 3514 + INTEGER(IntKi), PARAMETER :: M4N5FAGxi = 3515 + INTEGER(IntKi), PARAMETER :: M4N6FAGxi = 3516 + INTEGER(IntKi), PARAMETER :: M4N7FAGxi = 3517 + INTEGER(IntKi), PARAMETER :: M4N8FAGxi = 3518 + INTEGER(IntKi), PARAMETER :: M4N9FAGxi = 3519 + INTEGER(IntKi), PARAMETER :: M5N1FAGxi = 3520 + INTEGER(IntKi), PARAMETER :: M5N2FAGxi = 3521 + INTEGER(IntKi), PARAMETER :: M5N3FAGxi = 3522 + INTEGER(IntKi), PARAMETER :: M5N4FAGxi = 3523 + INTEGER(IntKi), PARAMETER :: M5N5FAGxi = 3524 + INTEGER(IntKi), PARAMETER :: M5N6FAGxi = 3525 + INTEGER(IntKi), PARAMETER :: M5N7FAGxi = 3526 + INTEGER(IntKi), PARAMETER :: M5N8FAGxi = 3527 + INTEGER(IntKi), PARAMETER :: M5N9FAGxi = 3528 + INTEGER(IntKi), PARAMETER :: M6N1FAGxi = 3529 + INTEGER(IntKi), PARAMETER :: M6N2FAGxi = 3530 + INTEGER(IntKi), PARAMETER :: M6N3FAGxi = 3531 + INTEGER(IntKi), PARAMETER :: M6N4FAGxi = 3532 + INTEGER(IntKi), PARAMETER :: M6N5FAGxi = 3533 + INTEGER(IntKi), PARAMETER :: M6N6FAGxi = 3534 + INTEGER(IntKi), PARAMETER :: M6N7FAGxi = 3535 + INTEGER(IntKi), PARAMETER :: M6N8FAGxi = 3536 + INTEGER(IntKi), PARAMETER :: M6N9FAGxi = 3537 + INTEGER(IntKi), PARAMETER :: M7N1FAGxi = 3538 + INTEGER(IntKi), PARAMETER :: M7N2FAGxi = 3539 + INTEGER(IntKi), PARAMETER :: M7N3FAGxi = 3540 + INTEGER(IntKi), PARAMETER :: M7N4FAGxi = 3541 + INTEGER(IntKi), PARAMETER :: M7N5FAGxi = 3542 + INTEGER(IntKi), PARAMETER :: M7N6FAGxi = 3543 + INTEGER(IntKi), PARAMETER :: M7N7FAGxi = 3544 + INTEGER(IntKi), PARAMETER :: M7N8FAGxi = 3545 + INTEGER(IntKi), PARAMETER :: M7N9FAGxi = 3546 + INTEGER(IntKi), PARAMETER :: M8N1FAGxi = 3547 + INTEGER(IntKi), PARAMETER :: M8N2FAGxi = 3548 + INTEGER(IntKi), PARAMETER :: M8N3FAGxi = 3549 + INTEGER(IntKi), PARAMETER :: M8N4FAGxi = 3550 + INTEGER(IntKi), PARAMETER :: M8N5FAGxi = 3551 + INTEGER(IntKi), PARAMETER :: M8N6FAGxi = 3552 + INTEGER(IntKi), PARAMETER :: M8N7FAGxi = 3553 + INTEGER(IntKi), PARAMETER :: M8N8FAGxi = 3554 + INTEGER(IntKi), PARAMETER :: M8N9FAGxi = 3555 + INTEGER(IntKi), PARAMETER :: M9N1FAGxi = 3556 + INTEGER(IntKi), PARAMETER :: M9N2FAGxi = 3557 + INTEGER(IntKi), PARAMETER :: M9N3FAGxi = 3558 + INTEGER(IntKi), PARAMETER :: M9N4FAGxi = 3559 + INTEGER(IntKi), PARAMETER :: M9N5FAGxi = 3560 + INTEGER(IntKi), PARAMETER :: M9N6FAGxi = 3561 + INTEGER(IntKi), PARAMETER :: M9N7FAGxi = 3562 + INTEGER(IntKi), PARAMETER :: M9N8FAGxi = 3563 + INTEGER(IntKi), PARAMETER :: M9N9FAGxi = 3564 + INTEGER(IntKi), PARAMETER :: M1N1FAGyi = 3565 + INTEGER(IntKi), PARAMETER :: M1N2FAGyi = 3566 + INTEGER(IntKi), PARAMETER :: M1N3FAGyi = 3567 + INTEGER(IntKi), PARAMETER :: M1N4FAGyi = 3568 + INTEGER(IntKi), PARAMETER :: M1N5FAGyi = 3569 + INTEGER(IntKi), PARAMETER :: M1N6FAGyi = 3570 + INTEGER(IntKi), PARAMETER :: M1N7FAGyi = 3571 + INTEGER(IntKi), PARAMETER :: M1N8FAGyi = 3572 + INTEGER(IntKi), PARAMETER :: M1N9FAGyi = 3573 + INTEGER(IntKi), PARAMETER :: M2N1FAGyi = 3574 + INTEGER(IntKi), PARAMETER :: M2N2FAGyi = 3575 + INTEGER(IntKi), PARAMETER :: M2N3FAGyi = 3576 + INTEGER(IntKi), PARAMETER :: M2N4FAGyi = 3577 + INTEGER(IntKi), PARAMETER :: M2N5FAGyi = 3578 + INTEGER(IntKi), PARAMETER :: M2N6FAGyi = 3579 + INTEGER(IntKi), PARAMETER :: M2N7FAGyi = 3580 + INTEGER(IntKi), PARAMETER :: M2N8FAGyi = 3581 + INTEGER(IntKi), PARAMETER :: M2N9FAGyi = 3582 + INTEGER(IntKi), PARAMETER :: M3N1FAGyi = 3583 + INTEGER(IntKi), PARAMETER :: M3N2FAGyi = 3584 + INTEGER(IntKi), PARAMETER :: M3N3FAGyi = 3585 + INTEGER(IntKi), PARAMETER :: M3N4FAGyi = 3586 + INTEGER(IntKi), PARAMETER :: M3N5FAGyi = 3587 + INTEGER(IntKi), PARAMETER :: M3N6FAGyi = 3588 + INTEGER(IntKi), PARAMETER :: M3N7FAGyi = 3589 + INTEGER(IntKi), PARAMETER :: M3N8FAGyi = 3590 + INTEGER(IntKi), PARAMETER :: M3N9FAGyi = 3591 + INTEGER(IntKi), PARAMETER :: M4N1FAGyi = 3592 + INTEGER(IntKi), PARAMETER :: M4N2FAGyi = 3593 + INTEGER(IntKi), PARAMETER :: M4N3FAGyi = 3594 + INTEGER(IntKi), PARAMETER :: M4N4FAGyi = 3595 + INTEGER(IntKi), PARAMETER :: M4N5FAGyi = 3596 + INTEGER(IntKi), PARAMETER :: M4N6FAGyi = 3597 + INTEGER(IntKi), PARAMETER :: M4N7FAGyi = 3598 + INTEGER(IntKi), PARAMETER :: M4N8FAGyi = 3599 + INTEGER(IntKi), PARAMETER :: M4N9FAGyi = 3600 + INTEGER(IntKi), PARAMETER :: M5N1FAGyi = 3601 + INTEGER(IntKi), PARAMETER :: M5N2FAGyi = 3602 + INTEGER(IntKi), PARAMETER :: M5N3FAGyi = 3603 + INTEGER(IntKi), PARAMETER :: M5N4FAGyi = 3604 + INTEGER(IntKi), PARAMETER :: M5N5FAGyi = 3605 + INTEGER(IntKi), PARAMETER :: M5N6FAGyi = 3606 + INTEGER(IntKi), PARAMETER :: M5N7FAGyi = 3607 + INTEGER(IntKi), PARAMETER :: M5N8FAGyi = 3608 + INTEGER(IntKi), PARAMETER :: M5N9FAGyi = 3609 + INTEGER(IntKi), PARAMETER :: M6N1FAGyi = 3610 + INTEGER(IntKi), PARAMETER :: M6N2FAGyi = 3611 + INTEGER(IntKi), PARAMETER :: M6N3FAGyi = 3612 + INTEGER(IntKi), PARAMETER :: M6N4FAGyi = 3613 + INTEGER(IntKi), PARAMETER :: M6N5FAGyi = 3614 + INTEGER(IntKi), PARAMETER :: M6N6FAGyi = 3615 + INTEGER(IntKi), PARAMETER :: M6N7FAGyi = 3616 + INTEGER(IntKi), PARAMETER :: M6N8FAGyi = 3617 + INTEGER(IntKi), PARAMETER :: M6N9FAGyi = 3618 + INTEGER(IntKi), PARAMETER :: M7N1FAGyi = 3619 + INTEGER(IntKi), PARAMETER :: M7N2FAGyi = 3620 + INTEGER(IntKi), PARAMETER :: M7N3FAGyi = 3621 + INTEGER(IntKi), PARAMETER :: M7N4FAGyi = 3622 + INTEGER(IntKi), PARAMETER :: M7N5FAGyi = 3623 + INTEGER(IntKi), PARAMETER :: M7N6FAGyi = 3624 + INTEGER(IntKi), PARAMETER :: M7N7FAGyi = 3625 + INTEGER(IntKi), PARAMETER :: M7N8FAGyi = 3626 + INTEGER(IntKi), PARAMETER :: M7N9FAGyi = 3627 + INTEGER(IntKi), PARAMETER :: M8N1FAGyi = 3628 + INTEGER(IntKi), PARAMETER :: M8N2FAGyi = 3629 + INTEGER(IntKi), PARAMETER :: M8N3FAGyi = 3630 + INTEGER(IntKi), PARAMETER :: M8N4FAGyi = 3631 + INTEGER(IntKi), PARAMETER :: M8N5FAGyi = 3632 + INTEGER(IntKi), PARAMETER :: M8N6FAGyi = 3633 + INTEGER(IntKi), PARAMETER :: M8N7FAGyi = 3634 + INTEGER(IntKi), PARAMETER :: M8N8FAGyi = 3635 + INTEGER(IntKi), PARAMETER :: M8N9FAGyi = 3636 + INTEGER(IntKi), PARAMETER :: M9N1FAGyi = 3637 + INTEGER(IntKi), PARAMETER :: M9N2FAGyi = 3638 + INTEGER(IntKi), PARAMETER :: M9N3FAGyi = 3639 + INTEGER(IntKi), PARAMETER :: M9N4FAGyi = 3640 + INTEGER(IntKi), PARAMETER :: M9N5FAGyi = 3641 + INTEGER(IntKi), PARAMETER :: M9N6FAGyi = 3642 + INTEGER(IntKi), PARAMETER :: M9N7FAGyi = 3643 + INTEGER(IntKi), PARAMETER :: M9N8FAGyi = 3644 + INTEGER(IntKi), PARAMETER :: M9N9FAGyi = 3645 + INTEGER(IntKi), PARAMETER :: M1N1FAGzi = 3646 + INTEGER(IntKi), PARAMETER :: M1N2FAGzi = 3647 + INTEGER(IntKi), PARAMETER :: M1N3FAGzi = 3648 + INTEGER(IntKi), PARAMETER :: M1N4FAGzi = 3649 + INTEGER(IntKi), PARAMETER :: M1N5FAGzi = 3650 + INTEGER(IntKi), PARAMETER :: M1N6FAGzi = 3651 + INTEGER(IntKi), PARAMETER :: M1N7FAGzi = 3652 + INTEGER(IntKi), PARAMETER :: M1N8FAGzi = 3653 + INTEGER(IntKi), PARAMETER :: M1N9FAGzi = 3654 + INTEGER(IntKi), PARAMETER :: M2N1FAGzi = 3655 + INTEGER(IntKi), PARAMETER :: M2N2FAGzi = 3656 + INTEGER(IntKi), PARAMETER :: M2N3FAGzi = 3657 + INTEGER(IntKi), PARAMETER :: M2N4FAGzi = 3658 + INTEGER(IntKi), PARAMETER :: M2N5FAGzi = 3659 + INTEGER(IntKi), PARAMETER :: M2N6FAGzi = 3660 + INTEGER(IntKi), PARAMETER :: M2N7FAGzi = 3661 + INTEGER(IntKi), PARAMETER :: M2N8FAGzi = 3662 + INTEGER(IntKi), PARAMETER :: M2N9FAGzi = 3663 + INTEGER(IntKi), PARAMETER :: M3N1FAGzi = 3664 + INTEGER(IntKi), PARAMETER :: M3N2FAGzi = 3665 + INTEGER(IntKi), PARAMETER :: M3N3FAGzi = 3666 + INTEGER(IntKi), PARAMETER :: M3N4FAGzi = 3667 + INTEGER(IntKi), PARAMETER :: M3N5FAGzi = 3668 + INTEGER(IntKi), PARAMETER :: M3N6FAGzi = 3669 + INTEGER(IntKi), PARAMETER :: M3N7FAGzi = 3670 + INTEGER(IntKi), PARAMETER :: M3N8FAGzi = 3671 + INTEGER(IntKi), PARAMETER :: M3N9FAGzi = 3672 + INTEGER(IntKi), PARAMETER :: M4N1FAGzi = 3673 + INTEGER(IntKi), PARAMETER :: M4N2FAGzi = 3674 + INTEGER(IntKi), PARAMETER :: M4N3FAGzi = 3675 + INTEGER(IntKi), PARAMETER :: M4N4FAGzi = 3676 + INTEGER(IntKi), PARAMETER :: M4N5FAGzi = 3677 + INTEGER(IntKi), PARAMETER :: M4N6FAGzi = 3678 + INTEGER(IntKi), PARAMETER :: M4N7FAGzi = 3679 + INTEGER(IntKi), PARAMETER :: M4N8FAGzi = 3680 + INTEGER(IntKi), PARAMETER :: M4N9FAGzi = 3681 + INTEGER(IntKi), PARAMETER :: M5N1FAGzi = 3682 + INTEGER(IntKi), PARAMETER :: M5N2FAGzi = 3683 + INTEGER(IntKi), PARAMETER :: M5N3FAGzi = 3684 + INTEGER(IntKi), PARAMETER :: M5N4FAGzi = 3685 + INTEGER(IntKi), PARAMETER :: M5N5FAGzi = 3686 + INTEGER(IntKi), PARAMETER :: M5N6FAGzi = 3687 + INTEGER(IntKi), PARAMETER :: M5N7FAGzi = 3688 + INTEGER(IntKi), PARAMETER :: M5N8FAGzi = 3689 + INTEGER(IntKi), PARAMETER :: M5N9FAGzi = 3690 + INTEGER(IntKi), PARAMETER :: M6N1FAGzi = 3691 + INTEGER(IntKi), PARAMETER :: M6N2FAGzi = 3692 + INTEGER(IntKi), PARAMETER :: M6N3FAGzi = 3693 + INTEGER(IntKi), PARAMETER :: M6N4FAGzi = 3694 + INTEGER(IntKi), PARAMETER :: M6N5FAGzi = 3695 + INTEGER(IntKi), PARAMETER :: M6N6FAGzi = 3696 + INTEGER(IntKi), PARAMETER :: M6N7FAGzi = 3697 + INTEGER(IntKi), PARAMETER :: M6N8FAGzi = 3698 + INTEGER(IntKi), PARAMETER :: M6N9FAGzi = 3699 + INTEGER(IntKi), PARAMETER :: M7N1FAGzi = 3700 + INTEGER(IntKi), PARAMETER :: M7N2FAGzi = 3701 + INTEGER(IntKi), PARAMETER :: M7N3FAGzi = 3702 + INTEGER(IntKi), PARAMETER :: M7N4FAGzi = 3703 + INTEGER(IntKi), PARAMETER :: M7N5FAGzi = 3704 + INTEGER(IntKi), PARAMETER :: M7N6FAGzi = 3705 + INTEGER(IntKi), PARAMETER :: M7N7FAGzi = 3706 + INTEGER(IntKi), PARAMETER :: M7N8FAGzi = 3707 + INTEGER(IntKi), PARAMETER :: M7N9FAGzi = 3708 + INTEGER(IntKi), PARAMETER :: M8N1FAGzi = 3709 + INTEGER(IntKi), PARAMETER :: M8N2FAGzi = 3710 + INTEGER(IntKi), PARAMETER :: M8N3FAGzi = 3711 + INTEGER(IntKi), PARAMETER :: M8N4FAGzi = 3712 + INTEGER(IntKi), PARAMETER :: M8N5FAGzi = 3713 + INTEGER(IntKi), PARAMETER :: M8N6FAGzi = 3714 + INTEGER(IntKi), PARAMETER :: M8N7FAGzi = 3715 + INTEGER(IntKi), PARAMETER :: M8N8FAGzi = 3716 + INTEGER(IntKi), PARAMETER :: M8N9FAGzi = 3717 + INTEGER(IntKi), PARAMETER :: M9N1FAGzi = 3718 + INTEGER(IntKi), PARAMETER :: M9N2FAGzi = 3719 + INTEGER(IntKi), PARAMETER :: M9N3FAGzi = 3720 + INTEGER(IntKi), PARAMETER :: M9N4FAGzi = 3721 + INTEGER(IntKi), PARAMETER :: M9N5FAGzi = 3722 + INTEGER(IntKi), PARAMETER :: M9N6FAGzi = 3723 + INTEGER(IntKi), PARAMETER :: M9N7FAGzi = 3724 + INTEGER(IntKi), PARAMETER :: M9N8FAGzi = 3725 + INTEGER(IntKi), PARAMETER :: M9N9FAGzi = 3726 + INTEGER(IntKi), PARAMETER :: M1N1MAGxi = 3727 + INTEGER(IntKi), PARAMETER :: M1N2MAGxi = 3728 + INTEGER(IntKi), PARAMETER :: M1N3MAGxi = 3729 + INTEGER(IntKi), PARAMETER :: M1N4MAGxi = 3730 + INTEGER(IntKi), PARAMETER :: M1N5MAGxi = 3731 + INTEGER(IntKi), PARAMETER :: M1N6MAGxi = 3732 + INTEGER(IntKi), PARAMETER :: M1N7MAGxi = 3733 + INTEGER(IntKi), PARAMETER :: M1N8MAGxi = 3734 + INTEGER(IntKi), PARAMETER :: M1N9MAGxi = 3735 + INTEGER(IntKi), PARAMETER :: M2N1MAGxi = 3736 + INTEGER(IntKi), PARAMETER :: M2N2MAGxi = 3737 + INTEGER(IntKi), PARAMETER :: M2N3MAGxi = 3738 + INTEGER(IntKi), PARAMETER :: M2N4MAGxi = 3739 + INTEGER(IntKi), PARAMETER :: M2N5MAGxi = 3740 + INTEGER(IntKi), PARAMETER :: M2N6MAGxi = 3741 + INTEGER(IntKi), PARAMETER :: M2N7MAGxi = 3742 + INTEGER(IntKi), PARAMETER :: M2N8MAGxi = 3743 + INTEGER(IntKi), PARAMETER :: M2N9MAGxi = 3744 + INTEGER(IntKi), PARAMETER :: M3N1MAGxi = 3745 + INTEGER(IntKi), PARAMETER :: M3N2MAGxi = 3746 + INTEGER(IntKi), PARAMETER :: M3N3MAGxi = 3747 + INTEGER(IntKi), PARAMETER :: M3N4MAGxi = 3748 + INTEGER(IntKi), PARAMETER :: M3N5MAGxi = 3749 + INTEGER(IntKi), PARAMETER :: M3N6MAGxi = 3750 + INTEGER(IntKi), PARAMETER :: M3N7MAGxi = 3751 + INTEGER(IntKi), PARAMETER :: M3N8MAGxi = 3752 + INTEGER(IntKi), PARAMETER :: M3N9MAGxi = 3753 + INTEGER(IntKi), PARAMETER :: M4N1MAGxi = 3754 + INTEGER(IntKi), PARAMETER :: M4N2MAGxi = 3755 + INTEGER(IntKi), PARAMETER :: M4N3MAGxi = 3756 + INTEGER(IntKi), PARAMETER :: M4N4MAGxi = 3757 + INTEGER(IntKi), PARAMETER :: M4N5MAGxi = 3758 + INTEGER(IntKi), PARAMETER :: M4N6MAGxi = 3759 + INTEGER(IntKi), PARAMETER :: M4N7MAGxi = 3760 + INTEGER(IntKi), PARAMETER :: M4N8MAGxi = 3761 + INTEGER(IntKi), PARAMETER :: M4N9MAGxi = 3762 + INTEGER(IntKi), PARAMETER :: M5N1MAGxi = 3763 + INTEGER(IntKi), PARAMETER :: M5N2MAGxi = 3764 + INTEGER(IntKi), PARAMETER :: M5N3MAGxi = 3765 + INTEGER(IntKi), PARAMETER :: M5N4MAGxi = 3766 + INTEGER(IntKi), PARAMETER :: M5N5MAGxi = 3767 + INTEGER(IntKi), PARAMETER :: M5N6MAGxi = 3768 + INTEGER(IntKi), PARAMETER :: M5N7MAGxi = 3769 + INTEGER(IntKi), PARAMETER :: M5N8MAGxi = 3770 + INTEGER(IntKi), PARAMETER :: M5N9MAGxi = 3771 + INTEGER(IntKi), PARAMETER :: M6N1MAGxi = 3772 + INTEGER(IntKi), PARAMETER :: M6N2MAGxi = 3773 + INTEGER(IntKi), PARAMETER :: M6N3MAGxi = 3774 + INTEGER(IntKi), PARAMETER :: M6N4MAGxi = 3775 + INTEGER(IntKi), PARAMETER :: M6N5MAGxi = 3776 + INTEGER(IntKi), PARAMETER :: M6N6MAGxi = 3777 + INTEGER(IntKi), PARAMETER :: M6N7MAGxi = 3778 + INTEGER(IntKi), PARAMETER :: M6N8MAGxi = 3779 + INTEGER(IntKi), PARAMETER :: M6N9MAGxi = 3780 + INTEGER(IntKi), PARAMETER :: M7N1MAGxi = 3781 + INTEGER(IntKi), PARAMETER :: M7N2MAGxi = 3782 + INTEGER(IntKi), PARAMETER :: M7N3MAGxi = 3783 + INTEGER(IntKi), PARAMETER :: M7N4MAGxi = 3784 + INTEGER(IntKi), PARAMETER :: M7N5MAGxi = 3785 + INTEGER(IntKi), PARAMETER :: M7N6MAGxi = 3786 + INTEGER(IntKi), PARAMETER :: M7N7MAGxi = 3787 + INTEGER(IntKi), PARAMETER :: M7N8MAGxi = 3788 + INTEGER(IntKi), PARAMETER :: M7N9MAGxi = 3789 + INTEGER(IntKi), PARAMETER :: M8N1MAGxi = 3790 + INTEGER(IntKi), PARAMETER :: M8N2MAGxi = 3791 + INTEGER(IntKi), PARAMETER :: M8N3MAGxi = 3792 + INTEGER(IntKi), PARAMETER :: M8N4MAGxi = 3793 + INTEGER(IntKi), PARAMETER :: M8N5MAGxi = 3794 + INTEGER(IntKi), PARAMETER :: M8N6MAGxi = 3795 + INTEGER(IntKi), PARAMETER :: M8N7MAGxi = 3796 + INTEGER(IntKi), PARAMETER :: M8N8MAGxi = 3797 + INTEGER(IntKi), PARAMETER :: M8N9MAGxi = 3798 + INTEGER(IntKi), PARAMETER :: M9N1MAGxi = 3799 + INTEGER(IntKi), PARAMETER :: M9N2MAGxi = 3800 + INTEGER(IntKi), PARAMETER :: M9N3MAGxi = 3801 + INTEGER(IntKi), PARAMETER :: M9N4MAGxi = 3802 + INTEGER(IntKi), PARAMETER :: M9N5MAGxi = 3803 + INTEGER(IntKi), PARAMETER :: M9N6MAGxi = 3804 + INTEGER(IntKi), PARAMETER :: M9N7MAGxi = 3805 + INTEGER(IntKi), PARAMETER :: M9N8MAGxi = 3806 + INTEGER(IntKi), PARAMETER :: M9N9MAGxi = 3807 + INTEGER(IntKi), PARAMETER :: M1N1MAGyi = 3808 + INTEGER(IntKi), PARAMETER :: M1N2MAGyi = 3809 + INTEGER(IntKi), PARAMETER :: M1N3MAGyi = 3810 + INTEGER(IntKi), PARAMETER :: M1N4MAGyi = 3811 + INTEGER(IntKi), PARAMETER :: M1N5MAGyi = 3812 + INTEGER(IntKi), PARAMETER :: M1N6MAGyi = 3813 + INTEGER(IntKi), PARAMETER :: M1N7MAGyi = 3814 + INTEGER(IntKi), PARAMETER :: M1N8MAGyi = 3815 + INTEGER(IntKi), PARAMETER :: M1N9MAGyi = 3816 + INTEGER(IntKi), PARAMETER :: M2N1MAGyi = 3817 + INTEGER(IntKi), PARAMETER :: M2N2MAGyi = 3818 + INTEGER(IntKi), PARAMETER :: M2N3MAGyi = 3819 + INTEGER(IntKi), PARAMETER :: M2N4MAGyi = 3820 + INTEGER(IntKi), PARAMETER :: M2N5MAGyi = 3821 + INTEGER(IntKi), PARAMETER :: M2N6MAGyi = 3822 + INTEGER(IntKi), PARAMETER :: M2N7MAGyi = 3823 + INTEGER(IntKi), PARAMETER :: M2N8MAGyi = 3824 + INTEGER(IntKi), PARAMETER :: M2N9MAGyi = 3825 + INTEGER(IntKi), PARAMETER :: M3N1MAGyi = 3826 + INTEGER(IntKi), PARAMETER :: M3N2MAGyi = 3827 + INTEGER(IntKi), PARAMETER :: M3N3MAGyi = 3828 + INTEGER(IntKi), PARAMETER :: M3N4MAGyi = 3829 + INTEGER(IntKi), PARAMETER :: M3N5MAGyi = 3830 + INTEGER(IntKi), PARAMETER :: M3N6MAGyi = 3831 + INTEGER(IntKi), PARAMETER :: M3N7MAGyi = 3832 + INTEGER(IntKi), PARAMETER :: M3N8MAGyi = 3833 + INTEGER(IntKi), PARAMETER :: M3N9MAGyi = 3834 + INTEGER(IntKi), PARAMETER :: M4N1MAGyi = 3835 + INTEGER(IntKi), PARAMETER :: M4N2MAGyi = 3836 + INTEGER(IntKi), PARAMETER :: M4N3MAGyi = 3837 + INTEGER(IntKi), PARAMETER :: M4N4MAGyi = 3838 + INTEGER(IntKi), PARAMETER :: M4N5MAGyi = 3839 + INTEGER(IntKi), PARAMETER :: M4N6MAGyi = 3840 + INTEGER(IntKi), PARAMETER :: M4N7MAGyi = 3841 + INTEGER(IntKi), PARAMETER :: M4N8MAGyi = 3842 + INTEGER(IntKi), PARAMETER :: M4N9MAGyi = 3843 + INTEGER(IntKi), PARAMETER :: M5N1MAGyi = 3844 + INTEGER(IntKi), PARAMETER :: M5N2MAGyi = 3845 + INTEGER(IntKi), PARAMETER :: M5N3MAGyi = 3846 + INTEGER(IntKi), PARAMETER :: M5N4MAGyi = 3847 + INTEGER(IntKi), PARAMETER :: M5N5MAGyi = 3848 + INTEGER(IntKi), PARAMETER :: M5N6MAGyi = 3849 + INTEGER(IntKi), PARAMETER :: M5N7MAGyi = 3850 + INTEGER(IntKi), PARAMETER :: M5N8MAGyi = 3851 + INTEGER(IntKi), PARAMETER :: M5N9MAGyi = 3852 + INTEGER(IntKi), PARAMETER :: M6N1MAGyi = 3853 + INTEGER(IntKi), PARAMETER :: M6N2MAGyi = 3854 + INTEGER(IntKi), PARAMETER :: M6N3MAGyi = 3855 + INTEGER(IntKi), PARAMETER :: M6N4MAGyi = 3856 + INTEGER(IntKi), PARAMETER :: M6N5MAGyi = 3857 + INTEGER(IntKi), PARAMETER :: M6N6MAGyi = 3858 + INTEGER(IntKi), PARAMETER :: M6N7MAGyi = 3859 + INTEGER(IntKi), PARAMETER :: M6N8MAGyi = 3860 + INTEGER(IntKi), PARAMETER :: M6N9MAGyi = 3861 + INTEGER(IntKi), PARAMETER :: M7N1MAGyi = 3862 + INTEGER(IntKi), PARAMETER :: M7N2MAGyi = 3863 + INTEGER(IntKi), PARAMETER :: M7N3MAGyi = 3864 + INTEGER(IntKi), PARAMETER :: M7N4MAGyi = 3865 + INTEGER(IntKi), PARAMETER :: M7N5MAGyi = 3866 + INTEGER(IntKi), PARAMETER :: M7N6MAGyi = 3867 + INTEGER(IntKi), PARAMETER :: M7N7MAGyi = 3868 + INTEGER(IntKi), PARAMETER :: M7N8MAGyi = 3869 + INTEGER(IntKi), PARAMETER :: M7N9MAGyi = 3870 + INTEGER(IntKi), PARAMETER :: M8N1MAGyi = 3871 + INTEGER(IntKi), PARAMETER :: M8N2MAGyi = 3872 + INTEGER(IntKi), PARAMETER :: M8N3MAGyi = 3873 + INTEGER(IntKi), PARAMETER :: M8N4MAGyi = 3874 + INTEGER(IntKi), PARAMETER :: M8N5MAGyi = 3875 + INTEGER(IntKi), PARAMETER :: M8N6MAGyi = 3876 + INTEGER(IntKi), PARAMETER :: M8N7MAGyi = 3877 + INTEGER(IntKi), PARAMETER :: M8N8MAGyi = 3878 + INTEGER(IntKi), PARAMETER :: M8N9MAGyi = 3879 + INTEGER(IntKi), PARAMETER :: M9N1MAGyi = 3880 + INTEGER(IntKi), PARAMETER :: M9N2MAGyi = 3881 + INTEGER(IntKi), PARAMETER :: M9N3MAGyi = 3882 + INTEGER(IntKi), PARAMETER :: M9N4MAGyi = 3883 + INTEGER(IntKi), PARAMETER :: M9N5MAGyi = 3884 + INTEGER(IntKi), PARAMETER :: M9N6MAGyi = 3885 + INTEGER(IntKi), PARAMETER :: M9N7MAGyi = 3886 + INTEGER(IntKi), PARAMETER :: M9N8MAGyi = 3887 + INTEGER(IntKi), PARAMETER :: M9N9MAGyi = 3888 + INTEGER(IntKi), PARAMETER :: M1N1MAGzi = 3889 + INTEGER(IntKi), PARAMETER :: M1N2MAGzi = 3890 + INTEGER(IntKi), PARAMETER :: M1N3MAGzi = 3891 + INTEGER(IntKi), PARAMETER :: M1N4MAGzi = 3892 + INTEGER(IntKi), PARAMETER :: M1N5MAGzi = 3893 + INTEGER(IntKi), PARAMETER :: M1N6MAGzi = 3894 + INTEGER(IntKi), PARAMETER :: M1N7MAGzi = 3895 + INTEGER(IntKi), PARAMETER :: M1N8MAGzi = 3896 + INTEGER(IntKi), PARAMETER :: M1N9MAGzi = 3897 + INTEGER(IntKi), PARAMETER :: M2N1MAGzi = 3898 + INTEGER(IntKi), PARAMETER :: M2N2MAGzi = 3899 + INTEGER(IntKi), PARAMETER :: M2N3MAGzi = 3900 + INTEGER(IntKi), PARAMETER :: M2N4MAGzi = 3901 + INTEGER(IntKi), PARAMETER :: M2N5MAGzi = 3902 + INTEGER(IntKi), PARAMETER :: M2N6MAGzi = 3903 + INTEGER(IntKi), PARAMETER :: M2N7MAGzi = 3904 + INTEGER(IntKi), PARAMETER :: M2N8MAGzi = 3905 + INTEGER(IntKi), PARAMETER :: M2N9MAGzi = 3906 + INTEGER(IntKi), PARAMETER :: M3N1MAGzi = 3907 + INTEGER(IntKi), PARAMETER :: M3N2MAGzi = 3908 + INTEGER(IntKi), PARAMETER :: M3N3MAGzi = 3909 + INTEGER(IntKi), PARAMETER :: M3N4MAGzi = 3910 + INTEGER(IntKi), PARAMETER :: M3N5MAGzi = 3911 + INTEGER(IntKi), PARAMETER :: M3N6MAGzi = 3912 + INTEGER(IntKi), PARAMETER :: M3N7MAGzi = 3913 + INTEGER(IntKi), PARAMETER :: M3N8MAGzi = 3914 + INTEGER(IntKi), PARAMETER :: M3N9MAGzi = 3915 + INTEGER(IntKi), PARAMETER :: M4N1MAGzi = 3916 + INTEGER(IntKi), PARAMETER :: M4N2MAGzi = 3917 + INTEGER(IntKi), PARAMETER :: M4N3MAGzi = 3918 + INTEGER(IntKi), PARAMETER :: M4N4MAGzi = 3919 + INTEGER(IntKi), PARAMETER :: M4N5MAGzi = 3920 + INTEGER(IntKi), PARAMETER :: M4N6MAGzi = 3921 + INTEGER(IntKi), PARAMETER :: M4N7MAGzi = 3922 + INTEGER(IntKi), PARAMETER :: M4N8MAGzi = 3923 + INTEGER(IntKi), PARAMETER :: M4N9MAGzi = 3924 + INTEGER(IntKi), PARAMETER :: M5N1MAGzi = 3925 + INTEGER(IntKi), PARAMETER :: M5N2MAGzi = 3926 + INTEGER(IntKi), PARAMETER :: M5N3MAGzi = 3927 + INTEGER(IntKi), PARAMETER :: M5N4MAGzi = 3928 + INTEGER(IntKi), PARAMETER :: M5N5MAGzi = 3929 + INTEGER(IntKi), PARAMETER :: M5N6MAGzi = 3930 + INTEGER(IntKi), PARAMETER :: M5N7MAGzi = 3931 + INTEGER(IntKi), PARAMETER :: M5N8MAGzi = 3932 + INTEGER(IntKi), PARAMETER :: M5N9MAGzi = 3933 + INTEGER(IntKi), PARAMETER :: M6N1MAGzi = 3934 + INTEGER(IntKi), PARAMETER :: M6N2MAGzi = 3935 + INTEGER(IntKi), PARAMETER :: M6N3MAGzi = 3936 + INTEGER(IntKi), PARAMETER :: M6N4MAGzi = 3937 + INTEGER(IntKi), PARAMETER :: M6N5MAGzi = 3938 + INTEGER(IntKi), PARAMETER :: M6N6MAGzi = 3939 + INTEGER(IntKi), PARAMETER :: M6N7MAGzi = 3940 + INTEGER(IntKi), PARAMETER :: M6N8MAGzi = 3941 + INTEGER(IntKi), PARAMETER :: M6N9MAGzi = 3942 + INTEGER(IntKi), PARAMETER :: M7N1MAGzi = 3943 + INTEGER(IntKi), PARAMETER :: M7N2MAGzi = 3944 + INTEGER(IntKi), PARAMETER :: M7N3MAGzi = 3945 + INTEGER(IntKi), PARAMETER :: M7N4MAGzi = 3946 + INTEGER(IntKi), PARAMETER :: M7N5MAGzi = 3947 + INTEGER(IntKi), PARAMETER :: M7N6MAGzi = 3948 + INTEGER(IntKi), PARAMETER :: M7N7MAGzi = 3949 + INTEGER(IntKi), PARAMETER :: M7N8MAGzi = 3950 + INTEGER(IntKi), PARAMETER :: M7N9MAGzi = 3951 + INTEGER(IntKi), PARAMETER :: M8N1MAGzi = 3952 + INTEGER(IntKi), PARAMETER :: M8N2MAGzi = 3953 + INTEGER(IntKi), PARAMETER :: M8N3MAGzi = 3954 + INTEGER(IntKi), PARAMETER :: M8N4MAGzi = 3955 + INTEGER(IntKi), PARAMETER :: M8N5MAGzi = 3956 + INTEGER(IntKi), PARAMETER :: M8N6MAGzi = 3957 + INTEGER(IntKi), PARAMETER :: M8N7MAGzi = 3958 + INTEGER(IntKi), PARAMETER :: M8N8MAGzi = 3959 + INTEGER(IntKi), PARAMETER :: M8N9MAGzi = 3960 + INTEGER(IntKi), PARAMETER :: M9N1MAGzi = 3961 + INTEGER(IntKi), PARAMETER :: M9N2MAGzi = 3962 + INTEGER(IntKi), PARAMETER :: M9N3MAGzi = 3963 + INTEGER(IntKi), PARAMETER :: M9N4MAGzi = 3964 + INTEGER(IntKi), PARAMETER :: M9N5MAGzi = 3965 + INTEGER(IntKi), PARAMETER :: M9N6MAGzi = 3966 + INTEGER(IntKi), PARAMETER :: M9N7MAGzi = 3967 + INTEGER(IntKi), PARAMETER :: M9N8MAGzi = 3968 + INTEGER(IntKi), PARAMETER :: M9N9MAGzi = 3969 + INTEGER(IntKi), PARAMETER :: M1N1FAFxi = 3970 + INTEGER(IntKi), PARAMETER :: M1N2FAFxi = 3971 + INTEGER(IntKi), PARAMETER :: M1N3FAFxi = 3972 + INTEGER(IntKi), PARAMETER :: M1N4FAFxi = 3973 + INTEGER(IntKi), PARAMETER :: M1N5FAFxi = 3974 + INTEGER(IntKi), PARAMETER :: M1N6FAFxi = 3975 + INTEGER(IntKi), PARAMETER :: M1N7FAFxi = 3976 + INTEGER(IntKi), PARAMETER :: M1N8FAFxi = 3977 + INTEGER(IntKi), PARAMETER :: M1N9FAFxi = 3978 + INTEGER(IntKi), PARAMETER :: M2N1FAFxi = 3979 + INTEGER(IntKi), PARAMETER :: M2N2FAFxi = 3980 + INTEGER(IntKi), PARAMETER :: M2N3FAFxi = 3981 + INTEGER(IntKi), PARAMETER :: M2N4FAFxi = 3982 + INTEGER(IntKi), PARAMETER :: M2N5FAFxi = 3983 + INTEGER(IntKi), PARAMETER :: M2N6FAFxi = 3984 + INTEGER(IntKi), PARAMETER :: M2N7FAFxi = 3985 + INTEGER(IntKi), PARAMETER :: M2N8FAFxi = 3986 + INTEGER(IntKi), PARAMETER :: M2N9FAFxi = 3987 + INTEGER(IntKi), PARAMETER :: M3N1FAFxi = 3988 + INTEGER(IntKi), PARAMETER :: M3N2FAFxi = 3989 + INTEGER(IntKi), PARAMETER :: M3N3FAFxi = 3990 + INTEGER(IntKi), PARAMETER :: M3N4FAFxi = 3991 + INTEGER(IntKi), PARAMETER :: M3N5FAFxi = 3992 + INTEGER(IntKi), PARAMETER :: M3N6FAFxi = 3993 + INTEGER(IntKi), PARAMETER :: M3N7FAFxi = 3994 + INTEGER(IntKi), PARAMETER :: M3N8FAFxi = 3995 + INTEGER(IntKi), PARAMETER :: M3N9FAFxi = 3996 + INTEGER(IntKi), PARAMETER :: M4N1FAFxi = 3997 + INTEGER(IntKi), PARAMETER :: M4N2FAFxi = 3998 + INTEGER(IntKi), PARAMETER :: M4N3FAFxi = 3999 + INTEGER(IntKi), PARAMETER :: M4N4FAFxi = 4000 + INTEGER(IntKi), PARAMETER :: M4N5FAFxi = 4001 + INTEGER(IntKi), PARAMETER :: M4N6FAFxi = 4002 + INTEGER(IntKi), PARAMETER :: M4N7FAFxi = 4003 + INTEGER(IntKi), PARAMETER :: M4N8FAFxi = 4004 + INTEGER(IntKi), PARAMETER :: M4N9FAFxi = 4005 + INTEGER(IntKi), PARAMETER :: M5N1FAFxi = 4006 + INTEGER(IntKi), PARAMETER :: M5N2FAFxi = 4007 + INTEGER(IntKi), PARAMETER :: M5N3FAFxi = 4008 + INTEGER(IntKi), PARAMETER :: M5N4FAFxi = 4009 + INTEGER(IntKi), PARAMETER :: M5N5FAFxi = 4010 + INTEGER(IntKi), PARAMETER :: M5N6FAFxi = 4011 + INTEGER(IntKi), PARAMETER :: M5N7FAFxi = 4012 + INTEGER(IntKi), PARAMETER :: M5N8FAFxi = 4013 + INTEGER(IntKi), PARAMETER :: M5N9FAFxi = 4014 + INTEGER(IntKi), PARAMETER :: M6N1FAFxi = 4015 + INTEGER(IntKi), PARAMETER :: M6N2FAFxi = 4016 + INTEGER(IntKi), PARAMETER :: M6N3FAFxi = 4017 + INTEGER(IntKi), PARAMETER :: M6N4FAFxi = 4018 + INTEGER(IntKi), PARAMETER :: M6N5FAFxi = 4019 + INTEGER(IntKi), PARAMETER :: M6N6FAFxi = 4020 + INTEGER(IntKi), PARAMETER :: M6N7FAFxi = 4021 + INTEGER(IntKi), PARAMETER :: M6N8FAFxi = 4022 + INTEGER(IntKi), PARAMETER :: M6N9FAFxi = 4023 + INTEGER(IntKi), PARAMETER :: M7N1FAFxi = 4024 + INTEGER(IntKi), PARAMETER :: M7N2FAFxi = 4025 + INTEGER(IntKi), PARAMETER :: M7N3FAFxi = 4026 + INTEGER(IntKi), PARAMETER :: M7N4FAFxi = 4027 + INTEGER(IntKi), PARAMETER :: M7N5FAFxi = 4028 + INTEGER(IntKi), PARAMETER :: M7N6FAFxi = 4029 + INTEGER(IntKi), PARAMETER :: M7N7FAFxi = 4030 + INTEGER(IntKi), PARAMETER :: M7N8FAFxi = 4031 + INTEGER(IntKi), PARAMETER :: M7N9FAFxi = 4032 + INTEGER(IntKi), PARAMETER :: M8N1FAFxi = 4033 + INTEGER(IntKi), PARAMETER :: M8N2FAFxi = 4034 + INTEGER(IntKi), PARAMETER :: M8N3FAFxi = 4035 + INTEGER(IntKi), PARAMETER :: M8N4FAFxi = 4036 + INTEGER(IntKi), PARAMETER :: M8N5FAFxi = 4037 + INTEGER(IntKi), PARAMETER :: M8N6FAFxi = 4038 + INTEGER(IntKi), PARAMETER :: M8N7FAFxi = 4039 + INTEGER(IntKi), PARAMETER :: M8N8FAFxi = 4040 + INTEGER(IntKi), PARAMETER :: M8N9FAFxi = 4041 + INTEGER(IntKi), PARAMETER :: M9N1FAFxi = 4042 + INTEGER(IntKi), PARAMETER :: M9N2FAFxi = 4043 + INTEGER(IntKi), PARAMETER :: M9N3FAFxi = 4044 + INTEGER(IntKi), PARAMETER :: M9N4FAFxi = 4045 + INTEGER(IntKi), PARAMETER :: M9N5FAFxi = 4046 + INTEGER(IntKi), PARAMETER :: M9N6FAFxi = 4047 + INTEGER(IntKi), PARAMETER :: M9N7FAFxi = 4048 + INTEGER(IntKi), PARAMETER :: M9N8FAFxi = 4049 + INTEGER(IntKi), PARAMETER :: M9N9FAFxi = 4050 + INTEGER(IntKi), PARAMETER :: M1N1FAFyi = 4051 + INTEGER(IntKi), PARAMETER :: M1N2FAFyi = 4052 + INTEGER(IntKi), PARAMETER :: M1N3FAFyi = 4053 + INTEGER(IntKi), PARAMETER :: M1N4FAFyi = 4054 + INTEGER(IntKi), PARAMETER :: M1N5FAFyi = 4055 + INTEGER(IntKi), PARAMETER :: M1N6FAFyi = 4056 + INTEGER(IntKi), PARAMETER :: M1N7FAFyi = 4057 + INTEGER(IntKi), PARAMETER :: M1N8FAFyi = 4058 + INTEGER(IntKi), PARAMETER :: M1N9FAFyi = 4059 + INTEGER(IntKi), PARAMETER :: M2N1FAFyi = 4060 + INTEGER(IntKi), PARAMETER :: M2N2FAFyi = 4061 + INTEGER(IntKi), PARAMETER :: M2N3FAFyi = 4062 + INTEGER(IntKi), PARAMETER :: M2N4FAFyi = 4063 + INTEGER(IntKi), PARAMETER :: M2N5FAFyi = 4064 + INTEGER(IntKi), PARAMETER :: M2N6FAFyi = 4065 + INTEGER(IntKi), PARAMETER :: M2N7FAFyi = 4066 + INTEGER(IntKi), PARAMETER :: M2N8FAFyi = 4067 + INTEGER(IntKi), PARAMETER :: M2N9FAFyi = 4068 + INTEGER(IntKi), PARAMETER :: M3N1FAFyi = 4069 + INTEGER(IntKi), PARAMETER :: M3N2FAFyi = 4070 + INTEGER(IntKi), PARAMETER :: M3N3FAFyi = 4071 + INTEGER(IntKi), PARAMETER :: M3N4FAFyi = 4072 + INTEGER(IntKi), PARAMETER :: M3N5FAFyi = 4073 + INTEGER(IntKi), PARAMETER :: M3N6FAFyi = 4074 + INTEGER(IntKi), PARAMETER :: M3N7FAFyi = 4075 + INTEGER(IntKi), PARAMETER :: M3N8FAFyi = 4076 + INTEGER(IntKi), PARAMETER :: M3N9FAFyi = 4077 + INTEGER(IntKi), PARAMETER :: M4N1FAFyi = 4078 + INTEGER(IntKi), PARAMETER :: M4N2FAFyi = 4079 + INTEGER(IntKi), PARAMETER :: M4N3FAFyi = 4080 + INTEGER(IntKi), PARAMETER :: M4N4FAFyi = 4081 + INTEGER(IntKi), PARAMETER :: M4N5FAFyi = 4082 + INTEGER(IntKi), PARAMETER :: M4N6FAFyi = 4083 + INTEGER(IntKi), PARAMETER :: M4N7FAFyi = 4084 + INTEGER(IntKi), PARAMETER :: M4N8FAFyi = 4085 + INTEGER(IntKi), PARAMETER :: M4N9FAFyi = 4086 + INTEGER(IntKi), PARAMETER :: M5N1FAFyi = 4087 + INTEGER(IntKi), PARAMETER :: M5N2FAFyi = 4088 + INTEGER(IntKi), PARAMETER :: M5N3FAFyi = 4089 + INTEGER(IntKi), PARAMETER :: M5N4FAFyi = 4090 + INTEGER(IntKi), PARAMETER :: M5N5FAFyi = 4091 + INTEGER(IntKi), PARAMETER :: M5N6FAFyi = 4092 + INTEGER(IntKi), PARAMETER :: M5N7FAFyi = 4093 + INTEGER(IntKi), PARAMETER :: M5N8FAFyi = 4094 + INTEGER(IntKi), PARAMETER :: M5N9FAFyi = 4095 + INTEGER(IntKi), PARAMETER :: M6N1FAFyi = 4096 + INTEGER(IntKi), PARAMETER :: M6N2FAFyi = 4097 + INTEGER(IntKi), PARAMETER :: M6N3FAFyi = 4098 + INTEGER(IntKi), PARAMETER :: M6N4FAFyi = 4099 + INTEGER(IntKi), PARAMETER :: M6N5FAFyi = 4100 + INTEGER(IntKi), PARAMETER :: M6N6FAFyi = 4101 + INTEGER(IntKi), PARAMETER :: M6N7FAFyi = 4102 + INTEGER(IntKi), PARAMETER :: M6N8FAFyi = 4103 + INTEGER(IntKi), PARAMETER :: M6N9FAFyi = 4104 + INTEGER(IntKi), PARAMETER :: M7N1FAFyi = 4105 + INTEGER(IntKi), PARAMETER :: M7N2FAFyi = 4106 + INTEGER(IntKi), PARAMETER :: M7N3FAFyi = 4107 + INTEGER(IntKi), PARAMETER :: M7N4FAFyi = 4108 + INTEGER(IntKi), PARAMETER :: M7N5FAFyi = 4109 + INTEGER(IntKi), PARAMETER :: M7N6FAFyi = 4110 + INTEGER(IntKi), PARAMETER :: M7N7FAFyi = 4111 + INTEGER(IntKi), PARAMETER :: M7N8FAFyi = 4112 + INTEGER(IntKi), PARAMETER :: M7N9FAFyi = 4113 + INTEGER(IntKi), PARAMETER :: M8N1FAFyi = 4114 + INTEGER(IntKi), PARAMETER :: M8N2FAFyi = 4115 + INTEGER(IntKi), PARAMETER :: M8N3FAFyi = 4116 + INTEGER(IntKi), PARAMETER :: M8N4FAFyi = 4117 + INTEGER(IntKi), PARAMETER :: M8N5FAFyi = 4118 + INTEGER(IntKi), PARAMETER :: M8N6FAFyi = 4119 + INTEGER(IntKi), PARAMETER :: M8N7FAFyi = 4120 + INTEGER(IntKi), PARAMETER :: M8N8FAFyi = 4121 + INTEGER(IntKi), PARAMETER :: M8N9FAFyi = 4122 + INTEGER(IntKi), PARAMETER :: M9N1FAFyi = 4123 + INTEGER(IntKi), PARAMETER :: M9N2FAFyi = 4124 + INTEGER(IntKi), PARAMETER :: M9N3FAFyi = 4125 + INTEGER(IntKi), PARAMETER :: M9N4FAFyi = 4126 + INTEGER(IntKi), PARAMETER :: M9N5FAFyi = 4127 + INTEGER(IntKi), PARAMETER :: M9N6FAFyi = 4128 + INTEGER(IntKi), PARAMETER :: M9N7FAFyi = 4129 + INTEGER(IntKi), PARAMETER :: M9N8FAFyi = 4130 + INTEGER(IntKi), PARAMETER :: M9N9FAFyi = 4131 + INTEGER(IntKi), PARAMETER :: M1N1FAFzi = 4132 + INTEGER(IntKi), PARAMETER :: M1N2FAFzi = 4133 + INTEGER(IntKi), PARAMETER :: M1N3FAFzi = 4134 + INTEGER(IntKi), PARAMETER :: M1N4FAFzi = 4135 + INTEGER(IntKi), PARAMETER :: M1N5FAFzi = 4136 + INTEGER(IntKi), PARAMETER :: M1N6FAFzi = 4137 + INTEGER(IntKi), PARAMETER :: M1N7FAFzi = 4138 + INTEGER(IntKi), PARAMETER :: M1N8FAFzi = 4139 + INTEGER(IntKi), PARAMETER :: M1N9FAFzi = 4140 + INTEGER(IntKi), PARAMETER :: M2N1FAFzi = 4141 + INTEGER(IntKi), PARAMETER :: M2N2FAFzi = 4142 + INTEGER(IntKi), PARAMETER :: M2N3FAFzi = 4143 + INTEGER(IntKi), PARAMETER :: M2N4FAFzi = 4144 + INTEGER(IntKi), PARAMETER :: M2N5FAFzi = 4145 + INTEGER(IntKi), PARAMETER :: M2N6FAFzi = 4146 + INTEGER(IntKi), PARAMETER :: M2N7FAFzi = 4147 + INTEGER(IntKi), PARAMETER :: M2N8FAFzi = 4148 + INTEGER(IntKi), PARAMETER :: M2N9FAFzi = 4149 + INTEGER(IntKi), PARAMETER :: M3N1FAFzi = 4150 + INTEGER(IntKi), PARAMETER :: M3N2FAFzi = 4151 + INTEGER(IntKi), PARAMETER :: M3N3FAFzi = 4152 + INTEGER(IntKi), PARAMETER :: M3N4FAFzi = 4153 + INTEGER(IntKi), PARAMETER :: M3N5FAFzi = 4154 + INTEGER(IntKi), PARAMETER :: M3N6FAFzi = 4155 + INTEGER(IntKi), PARAMETER :: M3N7FAFzi = 4156 + INTEGER(IntKi), PARAMETER :: M3N8FAFzi = 4157 + INTEGER(IntKi), PARAMETER :: M3N9FAFzi = 4158 + INTEGER(IntKi), PARAMETER :: M4N1FAFzi = 4159 + INTEGER(IntKi), PARAMETER :: M4N2FAFzi = 4160 + INTEGER(IntKi), PARAMETER :: M4N3FAFzi = 4161 + INTEGER(IntKi), PARAMETER :: M4N4FAFzi = 4162 + INTEGER(IntKi), PARAMETER :: M4N5FAFzi = 4163 + INTEGER(IntKi), PARAMETER :: M4N6FAFzi = 4164 + INTEGER(IntKi), PARAMETER :: M4N7FAFzi = 4165 + INTEGER(IntKi), PARAMETER :: M4N8FAFzi = 4166 + INTEGER(IntKi), PARAMETER :: M4N9FAFzi = 4167 + INTEGER(IntKi), PARAMETER :: M5N1FAFzi = 4168 + INTEGER(IntKi), PARAMETER :: M5N2FAFzi = 4169 + INTEGER(IntKi), PARAMETER :: M5N3FAFzi = 4170 + INTEGER(IntKi), PARAMETER :: M5N4FAFzi = 4171 + INTEGER(IntKi), PARAMETER :: M5N5FAFzi = 4172 + INTEGER(IntKi), PARAMETER :: M5N6FAFzi = 4173 + INTEGER(IntKi), PARAMETER :: M5N7FAFzi = 4174 + INTEGER(IntKi), PARAMETER :: M5N8FAFzi = 4175 + INTEGER(IntKi), PARAMETER :: M5N9FAFzi = 4176 + INTEGER(IntKi), PARAMETER :: M6N1FAFzi = 4177 + INTEGER(IntKi), PARAMETER :: M6N2FAFzi = 4178 + INTEGER(IntKi), PARAMETER :: M6N3FAFzi = 4179 + INTEGER(IntKi), PARAMETER :: M6N4FAFzi = 4180 + INTEGER(IntKi), PARAMETER :: M6N5FAFzi = 4181 + INTEGER(IntKi), PARAMETER :: M6N6FAFzi = 4182 + INTEGER(IntKi), PARAMETER :: M6N7FAFzi = 4183 + INTEGER(IntKi), PARAMETER :: M6N8FAFzi = 4184 + INTEGER(IntKi), PARAMETER :: M6N9FAFzi = 4185 + INTEGER(IntKi), PARAMETER :: M7N1FAFzi = 4186 + INTEGER(IntKi), PARAMETER :: M7N2FAFzi = 4187 + INTEGER(IntKi), PARAMETER :: M7N3FAFzi = 4188 + INTEGER(IntKi), PARAMETER :: M7N4FAFzi = 4189 + INTEGER(IntKi), PARAMETER :: M7N5FAFzi = 4190 + INTEGER(IntKi), PARAMETER :: M7N6FAFzi = 4191 + INTEGER(IntKi), PARAMETER :: M7N7FAFzi = 4192 + INTEGER(IntKi), PARAMETER :: M7N8FAFzi = 4193 + INTEGER(IntKi), PARAMETER :: M7N9FAFzi = 4194 + INTEGER(IntKi), PARAMETER :: M8N1FAFzi = 4195 + INTEGER(IntKi), PARAMETER :: M8N2FAFzi = 4196 + INTEGER(IntKi), PARAMETER :: M8N3FAFzi = 4197 + INTEGER(IntKi), PARAMETER :: M8N4FAFzi = 4198 + INTEGER(IntKi), PARAMETER :: M8N5FAFzi = 4199 + INTEGER(IntKi), PARAMETER :: M8N6FAFzi = 4200 + INTEGER(IntKi), PARAMETER :: M8N7FAFzi = 4201 + INTEGER(IntKi), PARAMETER :: M8N8FAFzi = 4202 + INTEGER(IntKi), PARAMETER :: M8N9FAFzi = 4203 + INTEGER(IntKi), PARAMETER :: M9N1FAFzi = 4204 + INTEGER(IntKi), PARAMETER :: M9N2FAFzi = 4205 + INTEGER(IntKi), PARAMETER :: M9N3FAFzi = 4206 + INTEGER(IntKi), PARAMETER :: M9N4FAFzi = 4207 + INTEGER(IntKi), PARAMETER :: M9N5FAFzi = 4208 + INTEGER(IntKi), PARAMETER :: M9N6FAFzi = 4209 + INTEGER(IntKi), PARAMETER :: M9N7FAFzi = 4210 + INTEGER(IntKi), PARAMETER :: M9N8FAFzi = 4211 + INTEGER(IntKi), PARAMETER :: M9N9FAFzi = 4212 + INTEGER(IntKi), PARAMETER :: M1N1MAFxi = 4213 + INTEGER(IntKi), PARAMETER :: M1N2MAFxi = 4214 + INTEGER(IntKi), PARAMETER :: M1N3MAFxi = 4215 + INTEGER(IntKi), PARAMETER :: M1N4MAFxi = 4216 + INTEGER(IntKi), PARAMETER :: M1N5MAFxi = 4217 + INTEGER(IntKi), PARAMETER :: M1N6MAFxi = 4218 + INTEGER(IntKi), PARAMETER :: M1N7MAFxi = 4219 + INTEGER(IntKi), PARAMETER :: M1N8MAFxi = 4220 + INTEGER(IntKi), PARAMETER :: M1N9MAFxi = 4221 + INTEGER(IntKi), PARAMETER :: M2N1MAFxi = 4222 + INTEGER(IntKi), PARAMETER :: M2N2MAFxi = 4223 + INTEGER(IntKi), PARAMETER :: M2N3MAFxi = 4224 + INTEGER(IntKi), PARAMETER :: M2N4MAFxi = 4225 + INTEGER(IntKi), PARAMETER :: M2N5MAFxi = 4226 + INTEGER(IntKi), PARAMETER :: M2N6MAFxi = 4227 + INTEGER(IntKi), PARAMETER :: M2N7MAFxi = 4228 + INTEGER(IntKi), PARAMETER :: M2N8MAFxi = 4229 + INTEGER(IntKi), PARAMETER :: M2N9MAFxi = 4230 + INTEGER(IntKi), PARAMETER :: M3N1MAFxi = 4231 + INTEGER(IntKi), PARAMETER :: M3N2MAFxi = 4232 + INTEGER(IntKi), PARAMETER :: M3N3MAFxi = 4233 + INTEGER(IntKi), PARAMETER :: M3N4MAFxi = 4234 + INTEGER(IntKi), PARAMETER :: M3N5MAFxi = 4235 + INTEGER(IntKi), PARAMETER :: M3N6MAFxi = 4236 + INTEGER(IntKi), PARAMETER :: M3N7MAFxi = 4237 + INTEGER(IntKi), PARAMETER :: M3N8MAFxi = 4238 + INTEGER(IntKi), PARAMETER :: M3N9MAFxi = 4239 + INTEGER(IntKi), PARAMETER :: M4N1MAFxi = 4240 + INTEGER(IntKi), PARAMETER :: M4N2MAFxi = 4241 + INTEGER(IntKi), PARAMETER :: M4N3MAFxi = 4242 + INTEGER(IntKi), PARAMETER :: M4N4MAFxi = 4243 + INTEGER(IntKi), PARAMETER :: M4N5MAFxi = 4244 + INTEGER(IntKi), PARAMETER :: M4N6MAFxi = 4245 + INTEGER(IntKi), PARAMETER :: M4N7MAFxi = 4246 + INTEGER(IntKi), PARAMETER :: M4N8MAFxi = 4247 + INTEGER(IntKi), PARAMETER :: M4N9MAFxi = 4248 + INTEGER(IntKi), PARAMETER :: M5N1MAFxi = 4249 + INTEGER(IntKi), PARAMETER :: M5N2MAFxi = 4250 + INTEGER(IntKi), PARAMETER :: M5N3MAFxi = 4251 + INTEGER(IntKi), PARAMETER :: M5N4MAFxi = 4252 + INTEGER(IntKi), PARAMETER :: M5N5MAFxi = 4253 + INTEGER(IntKi), PARAMETER :: M5N6MAFxi = 4254 + INTEGER(IntKi), PARAMETER :: M5N7MAFxi = 4255 + INTEGER(IntKi), PARAMETER :: M5N8MAFxi = 4256 + INTEGER(IntKi), PARAMETER :: M5N9MAFxi = 4257 + INTEGER(IntKi), PARAMETER :: M6N1MAFxi = 4258 + INTEGER(IntKi), PARAMETER :: M6N2MAFxi = 4259 + INTEGER(IntKi), PARAMETER :: M6N3MAFxi = 4260 + INTEGER(IntKi), PARAMETER :: M6N4MAFxi = 4261 + INTEGER(IntKi), PARAMETER :: M6N5MAFxi = 4262 + INTEGER(IntKi), PARAMETER :: M6N6MAFxi = 4263 + INTEGER(IntKi), PARAMETER :: M6N7MAFxi = 4264 + INTEGER(IntKi), PARAMETER :: M6N8MAFxi = 4265 + INTEGER(IntKi), PARAMETER :: M6N9MAFxi = 4266 + INTEGER(IntKi), PARAMETER :: M7N1MAFxi = 4267 + INTEGER(IntKi), PARAMETER :: M7N2MAFxi = 4268 + INTEGER(IntKi), PARAMETER :: M7N3MAFxi = 4269 + INTEGER(IntKi), PARAMETER :: M7N4MAFxi = 4270 + INTEGER(IntKi), PARAMETER :: M7N5MAFxi = 4271 + INTEGER(IntKi), PARAMETER :: M7N6MAFxi = 4272 + INTEGER(IntKi), PARAMETER :: M7N7MAFxi = 4273 + INTEGER(IntKi), PARAMETER :: M7N8MAFxi = 4274 + INTEGER(IntKi), PARAMETER :: M7N9MAFxi = 4275 + INTEGER(IntKi), PARAMETER :: M8N1MAFxi = 4276 + INTEGER(IntKi), PARAMETER :: M8N2MAFxi = 4277 + INTEGER(IntKi), PARAMETER :: M8N3MAFxi = 4278 + INTEGER(IntKi), PARAMETER :: M8N4MAFxi = 4279 + INTEGER(IntKi), PARAMETER :: M8N5MAFxi = 4280 + INTEGER(IntKi), PARAMETER :: M8N6MAFxi = 4281 + INTEGER(IntKi), PARAMETER :: M8N7MAFxi = 4282 + INTEGER(IntKi), PARAMETER :: M8N8MAFxi = 4283 + INTEGER(IntKi), PARAMETER :: M8N9MAFxi = 4284 + INTEGER(IntKi), PARAMETER :: M9N1MAFxi = 4285 + INTEGER(IntKi), PARAMETER :: M9N2MAFxi = 4286 + INTEGER(IntKi), PARAMETER :: M9N3MAFxi = 4287 + INTEGER(IntKi), PARAMETER :: M9N4MAFxi = 4288 + INTEGER(IntKi), PARAMETER :: M9N5MAFxi = 4289 + INTEGER(IntKi), PARAMETER :: M9N6MAFxi = 4290 + INTEGER(IntKi), PARAMETER :: M9N7MAFxi = 4291 + INTEGER(IntKi), PARAMETER :: M9N8MAFxi = 4292 + INTEGER(IntKi), PARAMETER :: M9N9MAFxi = 4293 + INTEGER(IntKi), PARAMETER :: M1N1MAFyi = 4294 + INTEGER(IntKi), PARAMETER :: M1N2MAFyi = 4295 + INTEGER(IntKi), PARAMETER :: M1N3MAFyi = 4296 + INTEGER(IntKi), PARAMETER :: M1N4MAFyi = 4297 + INTEGER(IntKi), PARAMETER :: M1N5MAFyi = 4298 + INTEGER(IntKi), PARAMETER :: M1N6MAFyi = 4299 + INTEGER(IntKi), PARAMETER :: M1N7MAFyi = 4300 + INTEGER(IntKi), PARAMETER :: M1N8MAFyi = 4301 + INTEGER(IntKi), PARAMETER :: M1N9MAFyi = 4302 + INTEGER(IntKi), PARAMETER :: M2N1MAFyi = 4303 + INTEGER(IntKi), PARAMETER :: M2N2MAFyi = 4304 + INTEGER(IntKi), PARAMETER :: M2N3MAFyi = 4305 + INTEGER(IntKi), PARAMETER :: M2N4MAFyi = 4306 + INTEGER(IntKi), PARAMETER :: M2N5MAFyi = 4307 + INTEGER(IntKi), PARAMETER :: M2N6MAFyi = 4308 + INTEGER(IntKi), PARAMETER :: M2N7MAFyi = 4309 + INTEGER(IntKi), PARAMETER :: M2N8MAFyi = 4310 + INTEGER(IntKi), PARAMETER :: M2N9MAFyi = 4311 + INTEGER(IntKi), PARAMETER :: M3N1MAFyi = 4312 + INTEGER(IntKi), PARAMETER :: M3N2MAFyi = 4313 + INTEGER(IntKi), PARAMETER :: M3N3MAFyi = 4314 + INTEGER(IntKi), PARAMETER :: M3N4MAFyi = 4315 + INTEGER(IntKi), PARAMETER :: M3N5MAFyi = 4316 + INTEGER(IntKi), PARAMETER :: M3N6MAFyi = 4317 + INTEGER(IntKi), PARAMETER :: M3N7MAFyi = 4318 + INTEGER(IntKi), PARAMETER :: M3N8MAFyi = 4319 + INTEGER(IntKi), PARAMETER :: M3N9MAFyi = 4320 + INTEGER(IntKi), PARAMETER :: M4N1MAFyi = 4321 + INTEGER(IntKi), PARAMETER :: M4N2MAFyi = 4322 + INTEGER(IntKi), PARAMETER :: M4N3MAFyi = 4323 + INTEGER(IntKi), PARAMETER :: M4N4MAFyi = 4324 + INTEGER(IntKi), PARAMETER :: M4N5MAFyi = 4325 + INTEGER(IntKi), PARAMETER :: M4N6MAFyi = 4326 + INTEGER(IntKi), PARAMETER :: M4N7MAFyi = 4327 + INTEGER(IntKi), PARAMETER :: M4N8MAFyi = 4328 + INTEGER(IntKi), PARAMETER :: M4N9MAFyi = 4329 + INTEGER(IntKi), PARAMETER :: M5N1MAFyi = 4330 + INTEGER(IntKi), PARAMETER :: M5N2MAFyi = 4331 + INTEGER(IntKi), PARAMETER :: M5N3MAFyi = 4332 + INTEGER(IntKi), PARAMETER :: M5N4MAFyi = 4333 + INTEGER(IntKi), PARAMETER :: M5N5MAFyi = 4334 + INTEGER(IntKi), PARAMETER :: M5N6MAFyi = 4335 + INTEGER(IntKi), PARAMETER :: M5N7MAFyi = 4336 + INTEGER(IntKi), PARAMETER :: M5N8MAFyi = 4337 + INTEGER(IntKi), PARAMETER :: M5N9MAFyi = 4338 + INTEGER(IntKi), PARAMETER :: M6N1MAFyi = 4339 + INTEGER(IntKi), PARAMETER :: M6N2MAFyi = 4340 + INTEGER(IntKi), PARAMETER :: M6N3MAFyi = 4341 + INTEGER(IntKi), PARAMETER :: M6N4MAFyi = 4342 + INTEGER(IntKi), PARAMETER :: M6N5MAFyi = 4343 + INTEGER(IntKi), PARAMETER :: M6N6MAFyi = 4344 + INTEGER(IntKi), PARAMETER :: M6N7MAFyi = 4345 + INTEGER(IntKi), PARAMETER :: M6N8MAFyi = 4346 + INTEGER(IntKi), PARAMETER :: M6N9MAFyi = 4347 + INTEGER(IntKi), PARAMETER :: M7N1MAFyi = 4348 + INTEGER(IntKi), PARAMETER :: M7N2MAFyi = 4349 + INTEGER(IntKi), PARAMETER :: M7N3MAFyi = 4350 + INTEGER(IntKi), PARAMETER :: M7N4MAFyi = 4351 + INTEGER(IntKi), PARAMETER :: M7N5MAFyi = 4352 + INTEGER(IntKi), PARAMETER :: M7N6MAFyi = 4353 + INTEGER(IntKi), PARAMETER :: M7N7MAFyi = 4354 + INTEGER(IntKi), PARAMETER :: M7N8MAFyi = 4355 + INTEGER(IntKi), PARAMETER :: M7N9MAFyi = 4356 + INTEGER(IntKi), PARAMETER :: M8N1MAFyi = 4357 + INTEGER(IntKi), PARAMETER :: M8N2MAFyi = 4358 + INTEGER(IntKi), PARAMETER :: M8N3MAFyi = 4359 + INTEGER(IntKi), PARAMETER :: M8N4MAFyi = 4360 + INTEGER(IntKi), PARAMETER :: M8N5MAFyi = 4361 + INTEGER(IntKi), PARAMETER :: M8N6MAFyi = 4362 + INTEGER(IntKi), PARAMETER :: M8N7MAFyi = 4363 + INTEGER(IntKi), PARAMETER :: M8N8MAFyi = 4364 + INTEGER(IntKi), PARAMETER :: M8N9MAFyi = 4365 + INTEGER(IntKi), PARAMETER :: M9N1MAFyi = 4366 + INTEGER(IntKi), PARAMETER :: M9N2MAFyi = 4367 + INTEGER(IntKi), PARAMETER :: M9N3MAFyi = 4368 + INTEGER(IntKi), PARAMETER :: M9N4MAFyi = 4369 + INTEGER(IntKi), PARAMETER :: M9N5MAFyi = 4370 + INTEGER(IntKi), PARAMETER :: M9N6MAFyi = 4371 + INTEGER(IntKi), PARAMETER :: M9N7MAFyi = 4372 + INTEGER(IntKi), PARAMETER :: M9N8MAFyi = 4373 + INTEGER(IntKi), PARAMETER :: M9N9MAFyi = 4374 + INTEGER(IntKi), PARAMETER :: M1N1MAFzi = 4375 + INTEGER(IntKi), PARAMETER :: M1N2MAFzi = 4376 + INTEGER(IntKi), PARAMETER :: M1N3MAFzi = 4377 + INTEGER(IntKi), PARAMETER :: M1N4MAFzi = 4378 + INTEGER(IntKi), PARAMETER :: M1N5MAFzi = 4379 + INTEGER(IntKi), PARAMETER :: M1N6MAFzi = 4380 + INTEGER(IntKi), PARAMETER :: M1N7MAFzi = 4381 + INTEGER(IntKi), PARAMETER :: M1N8MAFzi = 4382 + INTEGER(IntKi), PARAMETER :: M1N9MAFzi = 4383 + INTEGER(IntKi), PARAMETER :: M2N1MAFzi = 4384 + INTEGER(IntKi), PARAMETER :: M2N2MAFzi = 4385 + INTEGER(IntKi), PARAMETER :: M2N3MAFzi = 4386 + INTEGER(IntKi), PARAMETER :: M2N4MAFzi = 4387 + INTEGER(IntKi), PARAMETER :: M2N5MAFzi = 4388 + INTEGER(IntKi), PARAMETER :: M2N6MAFzi = 4389 + INTEGER(IntKi), PARAMETER :: M2N7MAFzi = 4390 + INTEGER(IntKi), PARAMETER :: M2N8MAFzi = 4391 + INTEGER(IntKi), PARAMETER :: M2N9MAFzi = 4392 + INTEGER(IntKi), PARAMETER :: M3N1MAFzi = 4393 + INTEGER(IntKi), PARAMETER :: M3N2MAFzi = 4394 + INTEGER(IntKi), PARAMETER :: M3N3MAFzi = 4395 + INTEGER(IntKi), PARAMETER :: M3N4MAFzi = 4396 + INTEGER(IntKi), PARAMETER :: M3N5MAFzi = 4397 + INTEGER(IntKi), PARAMETER :: M3N6MAFzi = 4398 + INTEGER(IntKi), PARAMETER :: M3N7MAFzi = 4399 + INTEGER(IntKi), PARAMETER :: M3N8MAFzi = 4400 + INTEGER(IntKi), PARAMETER :: M3N9MAFzi = 4401 + INTEGER(IntKi), PARAMETER :: M4N1MAFzi = 4402 + INTEGER(IntKi), PARAMETER :: M4N2MAFzi = 4403 + INTEGER(IntKi), PARAMETER :: M4N3MAFzi = 4404 + INTEGER(IntKi), PARAMETER :: M4N4MAFzi = 4405 + INTEGER(IntKi), PARAMETER :: M4N5MAFzi = 4406 + INTEGER(IntKi), PARAMETER :: M4N6MAFzi = 4407 + INTEGER(IntKi), PARAMETER :: M4N7MAFzi = 4408 + INTEGER(IntKi), PARAMETER :: M4N8MAFzi = 4409 + INTEGER(IntKi), PARAMETER :: M4N9MAFzi = 4410 + INTEGER(IntKi), PARAMETER :: M5N1MAFzi = 4411 + INTEGER(IntKi), PARAMETER :: M5N2MAFzi = 4412 + INTEGER(IntKi), PARAMETER :: M5N3MAFzi = 4413 + INTEGER(IntKi), PARAMETER :: M5N4MAFzi = 4414 + INTEGER(IntKi), PARAMETER :: M5N5MAFzi = 4415 + INTEGER(IntKi), PARAMETER :: M5N6MAFzi = 4416 + INTEGER(IntKi), PARAMETER :: M5N7MAFzi = 4417 + INTEGER(IntKi), PARAMETER :: M5N8MAFzi = 4418 + INTEGER(IntKi), PARAMETER :: M5N9MAFzi = 4419 + INTEGER(IntKi), PARAMETER :: M6N1MAFzi = 4420 + INTEGER(IntKi), PARAMETER :: M6N2MAFzi = 4421 + INTEGER(IntKi), PARAMETER :: M6N3MAFzi = 4422 + INTEGER(IntKi), PARAMETER :: M6N4MAFzi = 4423 + INTEGER(IntKi), PARAMETER :: M6N5MAFzi = 4424 + INTEGER(IntKi), PARAMETER :: M6N6MAFzi = 4425 + INTEGER(IntKi), PARAMETER :: M6N7MAFzi = 4426 + INTEGER(IntKi), PARAMETER :: M6N8MAFzi = 4427 + INTEGER(IntKi), PARAMETER :: M6N9MAFzi = 4428 + INTEGER(IntKi), PARAMETER :: M7N1MAFzi = 4429 + INTEGER(IntKi), PARAMETER :: M7N2MAFzi = 4430 + INTEGER(IntKi), PARAMETER :: M7N3MAFzi = 4431 + INTEGER(IntKi), PARAMETER :: M7N4MAFzi = 4432 + INTEGER(IntKi), PARAMETER :: M7N5MAFzi = 4433 + INTEGER(IntKi), PARAMETER :: M7N6MAFzi = 4434 + INTEGER(IntKi), PARAMETER :: M7N7MAFzi = 4435 + INTEGER(IntKi), PARAMETER :: M7N8MAFzi = 4436 + INTEGER(IntKi), PARAMETER :: M7N9MAFzi = 4437 + INTEGER(IntKi), PARAMETER :: M8N1MAFzi = 4438 + INTEGER(IntKi), PARAMETER :: M8N2MAFzi = 4439 + INTEGER(IntKi), PARAMETER :: M8N3MAFzi = 4440 + INTEGER(IntKi), PARAMETER :: M8N4MAFzi = 4441 + INTEGER(IntKi), PARAMETER :: M8N5MAFzi = 4442 + INTEGER(IntKi), PARAMETER :: M8N6MAFzi = 4443 + INTEGER(IntKi), PARAMETER :: M8N7MAFzi = 4444 + INTEGER(IntKi), PARAMETER :: M8N8MAFzi = 4445 + INTEGER(IntKi), PARAMETER :: M8N9MAFzi = 4446 + INTEGER(IntKi), PARAMETER :: M9N1MAFzi = 4447 + INTEGER(IntKi), PARAMETER :: M9N2MAFzi = 4448 + INTEGER(IntKi), PARAMETER :: M9N3MAFzi = 4449 + INTEGER(IntKi), PARAMETER :: M9N4MAFzi = 4450 + INTEGER(IntKi), PARAMETER :: M9N5MAFzi = 4451 + INTEGER(IntKi), PARAMETER :: M9N6MAFzi = 4452 + INTEGER(IntKi), PARAMETER :: M9N7MAFzi = 4453 + INTEGER(IntKi), PARAMETER :: M9N8MAFzi = 4454 + INTEGER(IntKi), PARAMETER :: M9N9MAFzi = 4455 ! Joint-level Wave Kinematics: - INTEGER(IntKi), PARAMETER :: J1Vxi = 4213 - INTEGER(IntKi), PARAMETER :: J2Vxi = 4214 - INTEGER(IntKi), PARAMETER :: J3Vxi = 4215 - INTEGER(IntKi), PARAMETER :: J4Vxi = 4216 - INTEGER(IntKi), PARAMETER :: J5Vxi = 4217 - INTEGER(IntKi), PARAMETER :: J6Vxi = 4218 - INTEGER(IntKi), PARAMETER :: J7Vxi = 4219 - INTEGER(IntKi), PARAMETER :: J8Vxi = 4220 - INTEGER(IntKi), PARAMETER :: J9Vxi = 4221 - INTEGER(IntKi), PARAMETER :: J1Vyi = 4222 - INTEGER(IntKi), PARAMETER :: J2Vyi = 4223 - INTEGER(IntKi), PARAMETER :: J3Vyi = 4224 - INTEGER(IntKi), PARAMETER :: J4Vyi = 4225 - INTEGER(IntKi), PARAMETER :: J5Vyi = 4226 - INTEGER(IntKi), PARAMETER :: J6Vyi = 4227 - INTEGER(IntKi), PARAMETER :: J7Vyi = 4228 - INTEGER(IntKi), PARAMETER :: J8Vyi = 4229 - INTEGER(IntKi), PARAMETER :: J9Vyi = 4230 - INTEGER(IntKi), PARAMETER :: J1Vzi = 4231 - INTEGER(IntKi), PARAMETER :: J2Vzi = 4232 - INTEGER(IntKi), PARAMETER :: J3Vzi = 4233 - INTEGER(IntKi), PARAMETER :: J4Vzi = 4234 - INTEGER(IntKi), PARAMETER :: J5Vzi = 4235 - INTEGER(IntKi), PARAMETER :: J6Vzi = 4236 - INTEGER(IntKi), PARAMETER :: J7Vzi = 4237 - INTEGER(IntKi), PARAMETER :: J8Vzi = 4238 - INTEGER(IntKi), PARAMETER :: J9Vzi = 4239 - INTEGER(IntKi), PARAMETER :: J1Axi = 4240 - INTEGER(IntKi), PARAMETER :: J2Axi = 4241 - INTEGER(IntKi), PARAMETER :: J3Axi = 4242 - INTEGER(IntKi), PARAMETER :: J4Axi = 4243 - INTEGER(IntKi), PARAMETER :: J5Axi = 4244 - INTEGER(IntKi), PARAMETER :: J6Axi = 4245 - INTEGER(IntKi), PARAMETER :: J7Axi = 4246 - INTEGER(IntKi), PARAMETER :: J8Axi = 4247 - INTEGER(IntKi), PARAMETER :: J9Axi = 4248 - INTEGER(IntKi), PARAMETER :: J1Ayi = 4249 - INTEGER(IntKi), PARAMETER :: J2Ayi = 4250 - INTEGER(IntKi), PARAMETER :: J3Ayi = 4251 - INTEGER(IntKi), PARAMETER :: J4Ayi = 4252 - INTEGER(IntKi), PARAMETER :: J5Ayi = 4253 - INTEGER(IntKi), PARAMETER :: J6Ayi = 4254 - INTEGER(IntKi), PARAMETER :: J7Ayi = 4255 - INTEGER(IntKi), PARAMETER :: J8Ayi = 4256 - INTEGER(IntKi), PARAMETER :: J9Ayi = 4257 - INTEGER(IntKi), PARAMETER :: J1Azi = 4258 - INTEGER(IntKi), PARAMETER :: J2Azi = 4259 - INTEGER(IntKi), PARAMETER :: J3Azi = 4260 - INTEGER(IntKi), PARAMETER :: J4Azi = 4261 - INTEGER(IntKi), PARAMETER :: J5Azi = 4262 - INTEGER(IntKi), PARAMETER :: J6Azi = 4263 - INTEGER(IntKi), PARAMETER :: J7Azi = 4264 - INTEGER(IntKi), PARAMETER :: J8Azi = 4265 - INTEGER(IntKi), PARAMETER :: J9Azi = 4266 - INTEGER(IntKi), PARAMETER :: J1DynP = 4267 - INTEGER(IntKi), PARAMETER :: J2DynP = 4268 - INTEGER(IntKi), PARAMETER :: J3DynP = 4269 - INTEGER(IntKi), PARAMETER :: J4DynP = 4270 - INTEGER(IntKi), PARAMETER :: J5DynP = 4271 - INTEGER(IntKi), PARAMETER :: J6DynP = 4272 - INTEGER(IntKi), PARAMETER :: J7DynP = 4273 - INTEGER(IntKi), PARAMETER :: J8DynP = 4274 - INTEGER(IntKi), PARAMETER :: J9DynP = 4275 - INTEGER(IntKi), PARAMETER :: J1WaveElev = 4276 - INTEGER(IntKi), PARAMETER :: J2WaveElev = 4277 - INTEGER(IntKi), PARAMETER :: J3WaveElev = 4278 - INTEGER(IntKi), PARAMETER :: J4WaveElev = 4279 - INTEGER(IntKi), PARAMETER :: J5WaveElev = 4280 - INTEGER(IntKi), PARAMETER :: J6WaveElev = 4281 - INTEGER(IntKi), PARAMETER :: J7WaveElev = 4282 - INTEGER(IntKi), PARAMETER :: J8WaveElev = 4283 - INTEGER(IntKi), PARAMETER :: J9WaveElev = 4284 - INTEGER(IntKi), PARAMETER :: J1WaveElv1 = 4285 - INTEGER(IntKi), PARAMETER :: J2WaveElv1 = 4286 - INTEGER(IntKi), PARAMETER :: J3WaveElv1 = 4287 - INTEGER(IntKi), PARAMETER :: J4WaveElv1 = 4288 - INTEGER(IntKi), PARAMETER :: J5WaveElv1 = 4289 - INTEGER(IntKi), PARAMETER :: J6WaveElv1 = 4290 - INTEGER(IntKi), PARAMETER :: J7WaveElv1 = 4291 - INTEGER(IntKi), PARAMETER :: J8WaveElv1 = 4292 - INTEGER(IntKi), PARAMETER :: J9WaveElv1 = 4293 - INTEGER(IntKi), PARAMETER :: J1WaveElv2 = 4294 - INTEGER(IntKi), PARAMETER :: J2WaveElv2 = 4295 - INTEGER(IntKi), PARAMETER :: J3WaveElv2 = 4296 - INTEGER(IntKi), PARAMETER :: J4WaveElv2 = 4297 - INTEGER(IntKi), PARAMETER :: J5WaveElv2 = 4298 - INTEGER(IntKi), PARAMETER :: J6WaveElv2 = 4299 - INTEGER(IntKi), PARAMETER :: J7WaveElv2 = 4300 - INTEGER(IntKi), PARAMETER :: J8WaveElv2 = 4301 - INTEGER(IntKi), PARAMETER :: J9WaveElv2 = 4302 - INTEGER(IntKi), PARAMETER :: J1STVxi = 4303 - INTEGER(IntKi), PARAMETER :: J2STVxi = 4304 - INTEGER(IntKi), PARAMETER :: J3STVxi = 4305 - INTEGER(IntKi), PARAMETER :: J4STVxi = 4306 - INTEGER(IntKi), PARAMETER :: J5STVxi = 4307 - INTEGER(IntKi), PARAMETER :: J6STVxi = 4308 - INTEGER(IntKi), PARAMETER :: J7STVxi = 4309 - INTEGER(IntKi), PARAMETER :: J8STVxi = 4310 - INTEGER(IntKi), PARAMETER :: J9STVxi = 4311 - INTEGER(IntKi), PARAMETER :: J1STVyi = 4312 - INTEGER(IntKi), PARAMETER :: J2STVyi = 4313 - INTEGER(IntKi), PARAMETER :: J3STVyi = 4314 - INTEGER(IntKi), PARAMETER :: J4STVyi = 4315 - INTEGER(IntKi), PARAMETER :: J5STVyi = 4316 - INTEGER(IntKi), PARAMETER :: J6STVyi = 4317 - INTEGER(IntKi), PARAMETER :: J7STVyi = 4318 - INTEGER(IntKi), PARAMETER :: J8STVyi = 4319 - INTEGER(IntKi), PARAMETER :: J9STVyi = 4320 - INTEGER(IntKi), PARAMETER :: J1STVzi = 4321 - INTEGER(IntKi), PARAMETER :: J2STVzi = 4322 - INTEGER(IntKi), PARAMETER :: J3STVzi = 4323 - INTEGER(IntKi), PARAMETER :: J4STVzi = 4324 - INTEGER(IntKi), PARAMETER :: J5STVzi = 4325 - INTEGER(IntKi), PARAMETER :: J6STVzi = 4326 - INTEGER(IntKi), PARAMETER :: J7STVzi = 4327 - INTEGER(IntKi), PARAMETER :: J8STVzi = 4328 - INTEGER(IntKi), PARAMETER :: J9STVzi = 4329 - INTEGER(IntKi), PARAMETER :: J1STAxi = 4330 - INTEGER(IntKi), PARAMETER :: J2STAxi = 4331 - INTEGER(IntKi), PARAMETER :: J3STAxi = 4332 - INTEGER(IntKi), PARAMETER :: J4STAxi = 4333 - INTEGER(IntKi), PARAMETER :: J5STAxi = 4334 - INTEGER(IntKi), PARAMETER :: J6STAxi = 4335 - INTEGER(IntKi), PARAMETER :: J7STAxi = 4336 - INTEGER(IntKi), PARAMETER :: J8STAxi = 4337 - INTEGER(IntKi), PARAMETER :: J9STAxi = 4338 - INTEGER(IntKi), PARAMETER :: J1STAyi = 4339 - INTEGER(IntKi), PARAMETER :: J2STAyi = 4340 - INTEGER(IntKi), PARAMETER :: J3STAyi = 4341 - INTEGER(IntKi), PARAMETER :: J4STAyi = 4342 - INTEGER(IntKi), PARAMETER :: J5STAyi = 4343 - INTEGER(IntKi), PARAMETER :: J6STAyi = 4344 - INTEGER(IntKi), PARAMETER :: J7STAyi = 4345 - INTEGER(IntKi), PARAMETER :: J8STAyi = 4346 - INTEGER(IntKi), PARAMETER :: J9STAyi = 4347 - INTEGER(IntKi), PARAMETER :: J1STAzi = 4348 - INTEGER(IntKi), PARAMETER :: J2STAzi = 4349 - INTEGER(IntKi), PARAMETER :: J3STAzi = 4350 - INTEGER(IntKi), PARAMETER :: J4STAzi = 4351 - INTEGER(IntKi), PARAMETER :: J5STAzi = 4352 - INTEGER(IntKi), PARAMETER :: J6STAzi = 4353 - INTEGER(IntKi), PARAMETER :: J7STAzi = 4354 - INTEGER(IntKi), PARAMETER :: J8STAzi = 4355 - INTEGER(IntKi), PARAMETER :: J9STAzi = 4356 + INTEGER(IntKi), PARAMETER :: J1Vxi = 4456 + INTEGER(IntKi), PARAMETER :: J2Vxi = 4457 + INTEGER(IntKi), PARAMETER :: J3Vxi = 4458 + INTEGER(IntKi), PARAMETER :: J4Vxi = 4459 + INTEGER(IntKi), PARAMETER :: J5Vxi = 4460 + INTEGER(IntKi), PARAMETER :: J6Vxi = 4461 + INTEGER(IntKi), PARAMETER :: J7Vxi = 4462 + INTEGER(IntKi), PARAMETER :: J8Vxi = 4463 + INTEGER(IntKi), PARAMETER :: J9Vxi = 4464 + INTEGER(IntKi), PARAMETER :: J1Vyi = 4465 + INTEGER(IntKi), PARAMETER :: J2Vyi = 4466 + INTEGER(IntKi), PARAMETER :: J3Vyi = 4467 + INTEGER(IntKi), PARAMETER :: J4Vyi = 4468 + INTEGER(IntKi), PARAMETER :: J5Vyi = 4469 + INTEGER(IntKi), PARAMETER :: J6Vyi = 4470 + INTEGER(IntKi), PARAMETER :: J7Vyi = 4471 + INTEGER(IntKi), PARAMETER :: J8Vyi = 4472 + INTEGER(IntKi), PARAMETER :: J9Vyi = 4473 + INTEGER(IntKi), PARAMETER :: J1Vzi = 4474 + INTEGER(IntKi), PARAMETER :: J2Vzi = 4475 + INTEGER(IntKi), PARAMETER :: J3Vzi = 4476 + INTEGER(IntKi), PARAMETER :: J4Vzi = 4477 + INTEGER(IntKi), PARAMETER :: J5Vzi = 4478 + INTEGER(IntKi), PARAMETER :: J6Vzi = 4479 + INTEGER(IntKi), PARAMETER :: J7Vzi = 4480 + INTEGER(IntKi), PARAMETER :: J8Vzi = 4481 + INTEGER(IntKi), PARAMETER :: J9Vzi = 4482 + INTEGER(IntKi), PARAMETER :: J1Axi = 4483 + INTEGER(IntKi), PARAMETER :: J2Axi = 4484 + INTEGER(IntKi), PARAMETER :: J3Axi = 4485 + INTEGER(IntKi), PARAMETER :: J4Axi = 4486 + INTEGER(IntKi), PARAMETER :: J5Axi = 4487 + INTEGER(IntKi), PARAMETER :: J6Axi = 4488 + INTEGER(IntKi), PARAMETER :: J7Axi = 4489 + INTEGER(IntKi), PARAMETER :: J8Axi = 4490 + INTEGER(IntKi), PARAMETER :: J9Axi = 4491 + INTEGER(IntKi), PARAMETER :: J1Ayi = 4492 + INTEGER(IntKi), PARAMETER :: J2Ayi = 4493 + INTEGER(IntKi), PARAMETER :: J3Ayi = 4494 + INTEGER(IntKi), PARAMETER :: J4Ayi = 4495 + INTEGER(IntKi), PARAMETER :: J5Ayi = 4496 + INTEGER(IntKi), PARAMETER :: J6Ayi = 4497 + INTEGER(IntKi), PARAMETER :: J7Ayi = 4498 + INTEGER(IntKi), PARAMETER :: J8Ayi = 4499 + INTEGER(IntKi), PARAMETER :: J9Ayi = 4500 + INTEGER(IntKi), PARAMETER :: J1Azi = 4501 + INTEGER(IntKi), PARAMETER :: J2Azi = 4502 + INTEGER(IntKi), PARAMETER :: J3Azi = 4503 + INTEGER(IntKi), PARAMETER :: J4Azi = 4504 + INTEGER(IntKi), PARAMETER :: J5Azi = 4505 + INTEGER(IntKi), PARAMETER :: J6Azi = 4506 + INTEGER(IntKi), PARAMETER :: J7Azi = 4507 + INTEGER(IntKi), PARAMETER :: J8Azi = 4508 + INTEGER(IntKi), PARAMETER :: J9Azi = 4509 + INTEGER(IntKi), PARAMETER :: J1DynP = 4510 + INTEGER(IntKi), PARAMETER :: J2DynP = 4511 + INTEGER(IntKi), PARAMETER :: J3DynP = 4512 + INTEGER(IntKi), PARAMETER :: J4DynP = 4513 + INTEGER(IntKi), PARAMETER :: J5DynP = 4514 + INTEGER(IntKi), PARAMETER :: J6DynP = 4515 + INTEGER(IntKi), PARAMETER :: J7DynP = 4516 + INTEGER(IntKi), PARAMETER :: J8DynP = 4517 + INTEGER(IntKi), PARAMETER :: J9DynP = 4518 + INTEGER(IntKi), PARAMETER :: J1WaveElev = 4519 + INTEGER(IntKi), PARAMETER :: J2WaveElev = 4520 + INTEGER(IntKi), PARAMETER :: J3WaveElev = 4521 + INTEGER(IntKi), PARAMETER :: J4WaveElev = 4522 + INTEGER(IntKi), PARAMETER :: J5WaveElev = 4523 + INTEGER(IntKi), PARAMETER :: J6WaveElev = 4524 + INTEGER(IntKi), PARAMETER :: J7WaveElev = 4525 + INTEGER(IntKi), PARAMETER :: J8WaveElev = 4526 + INTEGER(IntKi), PARAMETER :: J9WaveElev = 4527 + INTEGER(IntKi), PARAMETER :: J1WaveElv1 = 4528 + INTEGER(IntKi), PARAMETER :: J2WaveElv1 = 4529 + INTEGER(IntKi), PARAMETER :: J3WaveElv1 = 4530 + INTEGER(IntKi), PARAMETER :: J4WaveElv1 = 4531 + INTEGER(IntKi), PARAMETER :: J5WaveElv1 = 4532 + INTEGER(IntKi), PARAMETER :: J6WaveElv1 = 4533 + INTEGER(IntKi), PARAMETER :: J7WaveElv1 = 4534 + INTEGER(IntKi), PARAMETER :: J8WaveElv1 = 4535 + INTEGER(IntKi), PARAMETER :: J9WaveElv1 = 4536 + INTEGER(IntKi), PARAMETER :: J1WaveElv2 = 4537 + INTEGER(IntKi), PARAMETER :: J2WaveElv2 = 4538 + INTEGER(IntKi), PARAMETER :: J3WaveElv2 = 4539 + INTEGER(IntKi), PARAMETER :: J4WaveElv2 = 4540 + INTEGER(IntKi), PARAMETER :: J5WaveElv2 = 4541 + INTEGER(IntKi), PARAMETER :: J6WaveElv2 = 4542 + INTEGER(IntKi), PARAMETER :: J7WaveElv2 = 4543 + INTEGER(IntKi), PARAMETER :: J8WaveElv2 = 4544 + INTEGER(IntKi), PARAMETER :: J9WaveElv2 = 4545 + INTEGER(IntKi), PARAMETER :: J1STVxi = 4546 + INTEGER(IntKi), PARAMETER :: J2STVxi = 4547 + INTEGER(IntKi), PARAMETER :: J3STVxi = 4548 + INTEGER(IntKi), PARAMETER :: J4STVxi = 4549 + INTEGER(IntKi), PARAMETER :: J5STVxi = 4550 + INTEGER(IntKi), PARAMETER :: J6STVxi = 4551 + INTEGER(IntKi), PARAMETER :: J7STVxi = 4552 + INTEGER(IntKi), PARAMETER :: J8STVxi = 4553 + INTEGER(IntKi), PARAMETER :: J9STVxi = 4554 + INTEGER(IntKi), PARAMETER :: J1STVyi = 4555 + INTEGER(IntKi), PARAMETER :: J2STVyi = 4556 + INTEGER(IntKi), PARAMETER :: J3STVyi = 4557 + INTEGER(IntKi), PARAMETER :: J4STVyi = 4558 + INTEGER(IntKi), PARAMETER :: J5STVyi = 4559 + INTEGER(IntKi), PARAMETER :: J6STVyi = 4560 + INTEGER(IntKi), PARAMETER :: J7STVyi = 4561 + INTEGER(IntKi), PARAMETER :: J8STVyi = 4562 + INTEGER(IntKi), PARAMETER :: J9STVyi = 4563 + INTEGER(IntKi), PARAMETER :: J1STVzi = 4564 + INTEGER(IntKi), PARAMETER :: J2STVzi = 4565 + INTEGER(IntKi), PARAMETER :: J3STVzi = 4566 + INTEGER(IntKi), PARAMETER :: J4STVzi = 4567 + INTEGER(IntKi), PARAMETER :: J5STVzi = 4568 + INTEGER(IntKi), PARAMETER :: J6STVzi = 4569 + INTEGER(IntKi), PARAMETER :: J7STVzi = 4570 + INTEGER(IntKi), PARAMETER :: J8STVzi = 4571 + INTEGER(IntKi), PARAMETER :: J9STVzi = 4572 + INTEGER(IntKi), PARAMETER :: J1STAxi = 4573 + INTEGER(IntKi), PARAMETER :: J2STAxi = 4574 + INTEGER(IntKi), PARAMETER :: J3STAxi = 4575 + INTEGER(IntKi), PARAMETER :: J4STAxi = 4576 + INTEGER(IntKi), PARAMETER :: J5STAxi = 4577 + INTEGER(IntKi), PARAMETER :: J6STAxi = 4578 + INTEGER(IntKi), PARAMETER :: J7STAxi = 4579 + INTEGER(IntKi), PARAMETER :: J8STAxi = 4580 + INTEGER(IntKi), PARAMETER :: J9STAxi = 4581 + INTEGER(IntKi), PARAMETER :: J1STAyi = 4582 + INTEGER(IntKi), PARAMETER :: J2STAyi = 4583 + INTEGER(IntKi), PARAMETER :: J3STAyi = 4584 + INTEGER(IntKi), PARAMETER :: J4STAyi = 4585 + INTEGER(IntKi), PARAMETER :: J5STAyi = 4586 + INTEGER(IntKi), PARAMETER :: J6STAyi = 4587 + INTEGER(IntKi), PARAMETER :: J7STAyi = 4588 + INTEGER(IntKi), PARAMETER :: J8STAyi = 4589 + INTEGER(IntKi), PARAMETER :: J9STAyi = 4590 + INTEGER(IntKi), PARAMETER :: J1STAzi = 4591 + INTEGER(IntKi), PARAMETER :: J2STAzi = 4592 + INTEGER(IntKi), PARAMETER :: J3STAzi = 4593 + INTEGER(IntKi), PARAMETER :: J4STAzi = 4594 + INTEGER(IntKi), PARAMETER :: J5STAzi = 4595 + INTEGER(IntKi), PARAMETER :: J6STAzi = 4596 + INTEGER(IntKi), PARAMETER :: J7STAzi = 4597 + INTEGER(IntKi), PARAMETER :: J8STAzi = 4598 + INTEGER(IntKi), PARAMETER :: J9STAzi = 4599 ! Joint Loads: - INTEGER(IntKi), PARAMETER :: J1FDxi = 4357 - INTEGER(IntKi), PARAMETER :: J2FDxi = 4358 - INTEGER(IntKi), PARAMETER :: J3FDxi = 4359 - INTEGER(IntKi), PARAMETER :: J4FDxi = 4360 - INTEGER(IntKi), PARAMETER :: J5FDxi = 4361 - INTEGER(IntKi), PARAMETER :: J6FDxi = 4362 - INTEGER(IntKi), PARAMETER :: J7FDxi = 4363 - INTEGER(IntKi), PARAMETER :: J8FDxi = 4364 - INTEGER(IntKi), PARAMETER :: J9FDxi = 4365 - INTEGER(IntKi), PARAMETER :: J1FDyi = 4366 - INTEGER(IntKi), PARAMETER :: J2FDyi = 4367 - INTEGER(IntKi), PARAMETER :: J3FDyi = 4368 - INTEGER(IntKi), PARAMETER :: J4FDyi = 4369 - INTEGER(IntKi), PARAMETER :: J5FDyi = 4370 - INTEGER(IntKi), PARAMETER :: J6FDyi = 4371 - INTEGER(IntKi), PARAMETER :: J7FDyi = 4372 - INTEGER(IntKi), PARAMETER :: J8FDyi = 4373 - INTEGER(IntKi), PARAMETER :: J9FDyi = 4374 - INTEGER(IntKi), PARAMETER :: J1FDzi = 4375 - INTEGER(IntKi), PARAMETER :: J2FDzi = 4376 - INTEGER(IntKi), PARAMETER :: J3FDzi = 4377 - INTEGER(IntKi), PARAMETER :: J4FDzi = 4378 - INTEGER(IntKi), PARAMETER :: J5FDzi = 4379 - INTEGER(IntKi), PARAMETER :: J6FDzi = 4380 - INTEGER(IntKi), PARAMETER :: J7FDzi = 4381 - INTEGER(IntKi), PARAMETER :: J8FDzi = 4382 - INTEGER(IntKi), PARAMETER :: J9FDzi = 4383 - INTEGER(IntKi), PARAMETER :: J1FBxi = 4384 - INTEGER(IntKi), PARAMETER :: J2FBxi = 4385 - INTEGER(IntKi), PARAMETER :: J3FBxi = 4386 - INTEGER(IntKi), PARAMETER :: J4FBxi = 4387 - INTEGER(IntKi), PARAMETER :: J5FBxi = 4388 - INTEGER(IntKi), PARAMETER :: J6FBxi = 4389 - INTEGER(IntKi), PARAMETER :: J7FBxi = 4390 - INTEGER(IntKi), PARAMETER :: J8FBxi = 4391 - INTEGER(IntKi), PARAMETER :: J9FBxi = 4392 - INTEGER(IntKi), PARAMETER :: J1FByi = 4393 - INTEGER(IntKi), PARAMETER :: J2FByi = 4394 - INTEGER(IntKi), PARAMETER :: J3FByi = 4395 - INTEGER(IntKi), PARAMETER :: J4FByi = 4396 - INTEGER(IntKi), PARAMETER :: J5FByi = 4397 - INTEGER(IntKi), PARAMETER :: J6FByi = 4398 - INTEGER(IntKi), PARAMETER :: J7FByi = 4399 - INTEGER(IntKi), PARAMETER :: J8FByi = 4400 - INTEGER(IntKi), PARAMETER :: J9FByi = 4401 - INTEGER(IntKi), PARAMETER :: J1FBzi = 4402 - INTEGER(IntKi), PARAMETER :: J2FBzi = 4403 - INTEGER(IntKi), PARAMETER :: J3FBzi = 4404 - INTEGER(IntKi), PARAMETER :: J4FBzi = 4405 - INTEGER(IntKi), PARAMETER :: J5FBzi = 4406 - INTEGER(IntKi), PARAMETER :: J6FBzi = 4407 - INTEGER(IntKi), PARAMETER :: J7FBzi = 4408 - INTEGER(IntKi), PARAMETER :: J8FBzi = 4409 - INTEGER(IntKi), PARAMETER :: J9FBzi = 4410 - INTEGER(IntKi), PARAMETER :: J1MBxi = 4411 - INTEGER(IntKi), PARAMETER :: J2MBxi = 4412 - INTEGER(IntKi), PARAMETER :: J3MBxi = 4413 - INTEGER(IntKi), PARAMETER :: J4MBxi = 4414 - INTEGER(IntKi), PARAMETER :: J5MBxi = 4415 - INTEGER(IntKi), PARAMETER :: J6MBxi = 4416 - INTEGER(IntKi), PARAMETER :: J7MBxi = 4417 - INTEGER(IntKi), PARAMETER :: J8MBxi = 4418 - INTEGER(IntKi), PARAMETER :: J9MBxi = 4419 - INTEGER(IntKi), PARAMETER :: J1MByi = 4420 - INTEGER(IntKi), PARAMETER :: J2MByi = 4421 - INTEGER(IntKi), PARAMETER :: J3MByi = 4422 - INTEGER(IntKi), PARAMETER :: J4MByi = 4423 - INTEGER(IntKi), PARAMETER :: J5MByi = 4424 - INTEGER(IntKi), PARAMETER :: J6MByi = 4425 - INTEGER(IntKi), PARAMETER :: J7MByi = 4426 - INTEGER(IntKi), PARAMETER :: J8MByi = 4427 - INTEGER(IntKi), PARAMETER :: J9MByi = 4428 - INTEGER(IntKi), PARAMETER :: J1MBzi = 4429 - INTEGER(IntKi), PARAMETER :: J2MBzi = 4430 - INTEGER(IntKi), PARAMETER :: J3MBzi = 4431 - INTEGER(IntKi), PARAMETER :: J4MBzi = 4432 - INTEGER(IntKi), PARAMETER :: J5MBzi = 4433 - INTEGER(IntKi), PARAMETER :: J6MBzi = 4434 - INTEGER(IntKi), PARAMETER :: J7MBzi = 4435 - INTEGER(IntKi), PARAMETER :: J8MBzi = 4436 - INTEGER(IntKi), PARAMETER :: J9MBzi = 4437 - INTEGER(IntKi), PARAMETER :: J1FBFxi = 4438 - INTEGER(IntKi), PARAMETER :: J2FBFxi = 4439 - INTEGER(IntKi), PARAMETER :: J3FBFxi = 4440 - INTEGER(IntKi), PARAMETER :: J4FBFxi = 4441 - INTEGER(IntKi), PARAMETER :: J5FBFxi = 4442 - INTEGER(IntKi), PARAMETER :: J6FBFxi = 4443 - INTEGER(IntKi), PARAMETER :: J7FBFxi = 4444 - INTEGER(IntKi), PARAMETER :: J8FBFxi = 4445 - INTEGER(IntKi), PARAMETER :: J9FBFxi = 4446 - INTEGER(IntKi), PARAMETER :: J1FBFyi = 4447 - INTEGER(IntKi), PARAMETER :: J2FBFyi = 4448 - INTEGER(IntKi), PARAMETER :: J3FBFyi = 4449 - INTEGER(IntKi), PARAMETER :: J4FBFyi = 4450 - INTEGER(IntKi), PARAMETER :: J5FBFyi = 4451 - INTEGER(IntKi), PARAMETER :: J6FBFyi = 4452 - INTEGER(IntKi), PARAMETER :: J7FBFyi = 4453 - INTEGER(IntKi), PARAMETER :: J8FBFyi = 4454 - INTEGER(IntKi), PARAMETER :: J9FBFyi = 4455 - INTEGER(IntKi), PARAMETER :: J1FBFzi = 4456 - INTEGER(IntKi), PARAMETER :: J2FBFzi = 4457 - INTEGER(IntKi), PARAMETER :: J3FBFzi = 4458 - INTEGER(IntKi), PARAMETER :: J4FBFzi = 4459 - INTEGER(IntKi), PARAMETER :: J5FBFzi = 4460 - INTEGER(IntKi), PARAMETER :: J6FBFzi = 4461 - INTEGER(IntKi), PARAMETER :: J7FBFzi = 4462 - INTEGER(IntKi), PARAMETER :: J8FBFzi = 4463 - INTEGER(IntKi), PARAMETER :: J9FBFzi = 4464 - INTEGER(IntKi), PARAMETER :: J1MBFxi = 4465 - INTEGER(IntKi), PARAMETER :: J2MBFxi = 4466 - INTEGER(IntKi), PARAMETER :: J3MBFxi = 4467 - INTEGER(IntKi), PARAMETER :: J4MBFxi = 4468 - INTEGER(IntKi), PARAMETER :: J5MBFxi = 4469 - INTEGER(IntKi), PARAMETER :: J6MBFxi = 4470 - INTEGER(IntKi), PARAMETER :: J7MBFxi = 4471 - INTEGER(IntKi), PARAMETER :: J8MBFxi = 4472 - INTEGER(IntKi), PARAMETER :: J9MBFxi = 4473 - INTEGER(IntKi), PARAMETER :: J1MBFyi = 4474 - INTEGER(IntKi), PARAMETER :: J2MBFyi = 4475 - INTEGER(IntKi), PARAMETER :: J3MBFyi = 4476 - INTEGER(IntKi), PARAMETER :: J4MBFyi = 4477 - INTEGER(IntKi), PARAMETER :: J5MBFyi = 4478 - INTEGER(IntKi), PARAMETER :: J6MBFyi = 4479 - INTEGER(IntKi), PARAMETER :: J7MBFyi = 4480 - INTEGER(IntKi), PARAMETER :: J8MBFyi = 4481 - INTEGER(IntKi), PARAMETER :: J9MBFyi = 4482 - INTEGER(IntKi), PARAMETER :: J1MBFzi = 4483 - INTEGER(IntKi), PARAMETER :: J2MBFzi = 4484 - INTEGER(IntKi), PARAMETER :: J3MBFzi = 4485 - INTEGER(IntKi), PARAMETER :: J4MBFzi = 4486 - INTEGER(IntKi), PARAMETER :: J5MBFzi = 4487 - INTEGER(IntKi), PARAMETER :: J6MBFzi = 4488 - INTEGER(IntKi), PARAMETER :: J7MBFzi = 4489 - INTEGER(IntKi), PARAMETER :: J8MBFzi = 4490 - INTEGER(IntKi), PARAMETER :: J9MBFzi = 4491 - INTEGER(IntKi), PARAMETER :: J1FIxi = 4492 - INTEGER(IntKi), PARAMETER :: J2FIxi = 4493 - INTEGER(IntKi), PARAMETER :: J3FIxi = 4494 - INTEGER(IntKi), PARAMETER :: J4FIxi = 4495 - INTEGER(IntKi), PARAMETER :: J5FIxi = 4496 - INTEGER(IntKi), PARAMETER :: J6FIxi = 4497 - INTEGER(IntKi), PARAMETER :: J7FIxi = 4498 - INTEGER(IntKi), PARAMETER :: J8FIxi = 4499 - INTEGER(IntKi), PARAMETER :: J9FIxi = 4500 - INTEGER(IntKi), PARAMETER :: J1FIyi = 4501 - INTEGER(IntKi), PARAMETER :: J2FIyi = 4502 - INTEGER(IntKi), PARAMETER :: J3FIyi = 4503 - INTEGER(IntKi), PARAMETER :: J4FIyi = 4504 - INTEGER(IntKi), PARAMETER :: J5FIyi = 4505 - INTEGER(IntKi), PARAMETER :: J6FIyi = 4506 - INTEGER(IntKi), PARAMETER :: J7FIyi = 4507 - INTEGER(IntKi), PARAMETER :: J8FIyi = 4508 - INTEGER(IntKi), PARAMETER :: J9FIyi = 4509 - INTEGER(IntKi), PARAMETER :: J1FIzi = 4510 - INTEGER(IntKi), PARAMETER :: J2FIzi = 4511 - INTEGER(IntKi), PARAMETER :: J3FIzi = 4512 - INTEGER(IntKi), PARAMETER :: J4FIzi = 4513 - INTEGER(IntKi), PARAMETER :: J5FIzi = 4514 - INTEGER(IntKi), PARAMETER :: J6FIzi = 4515 - INTEGER(IntKi), PARAMETER :: J7FIzi = 4516 - INTEGER(IntKi), PARAMETER :: J8FIzi = 4517 - INTEGER(IntKi), PARAMETER :: J9FIzi = 4518 - INTEGER(IntKi), PARAMETER :: J1FAMxi = 4519 - INTEGER(IntKi), PARAMETER :: J2FAMxi = 4520 - INTEGER(IntKi), PARAMETER :: J3FAMxi = 4521 - INTEGER(IntKi), PARAMETER :: J4FAMxi = 4522 - INTEGER(IntKi), PARAMETER :: J5FAMxi = 4523 - INTEGER(IntKi), PARAMETER :: J6FAMxi = 4524 - INTEGER(IntKi), PARAMETER :: J7FAMxi = 4525 - INTEGER(IntKi), PARAMETER :: J8FAMxi = 4526 - INTEGER(IntKi), PARAMETER :: J9FAMxi = 4527 - INTEGER(IntKi), PARAMETER :: J1FAMyi = 4528 - INTEGER(IntKi), PARAMETER :: J2FAMyi = 4529 - INTEGER(IntKi), PARAMETER :: J3FAMyi = 4530 - INTEGER(IntKi), PARAMETER :: J4FAMyi = 4531 - INTEGER(IntKi), PARAMETER :: J5FAMyi = 4532 - INTEGER(IntKi), PARAMETER :: J6FAMyi = 4533 - INTEGER(IntKi), PARAMETER :: J7FAMyi = 4534 - INTEGER(IntKi), PARAMETER :: J8FAMyi = 4535 - INTEGER(IntKi), PARAMETER :: J9FAMyi = 4536 - INTEGER(IntKi), PARAMETER :: J1FAMzi = 4537 - INTEGER(IntKi), PARAMETER :: J2FAMzi = 4538 - INTEGER(IntKi), PARAMETER :: J3FAMzi = 4539 - INTEGER(IntKi), PARAMETER :: J4FAMzi = 4540 - INTEGER(IntKi), PARAMETER :: J5FAMzi = 4541 - INTEGER(IntKi), PARAMETER :: J6FAMzi = 4542 - INTEGER(IntKi), PARAMETER :: J7FAMzi = 4543 - INTEGER(IntKi), PARAMETER :: J8FAMzi = 4544 - INTEGER(IntKi), PARAMETER :: J9FAMzi = 4545 - INTEGER(IntKi), PARAMETER :: J1FAGxi = 4546 - INTEGER(IntKi), PARAMETER :: J2FAGxi = 4547 - INTEGER(IntKi), PARAMETER :: J3FAGxi = 4548 - INTEGER(IntKi), PARAMETER :: J4FAGxi = 4549 - INTEGER(IntKi), PARAMETER :: J5FAGxi = 4550 - INTEGER(IntKi), PARAMETER :: J6FAGxi = 4551 - INTEGER(IntKi), PARAMETER :: J7FAGxi = 4552 - INTEGER(IntKi), PARAMETER :: J8FAGxi = 4553 - INTEGER(IntKi), PARAMETER :: J9FAGxi = 4554 - INTEGER(IntKi), PARAMETER :: J1FAGyi = 4555 - INTEGER(IntKi), PARAMETER :: J2FAGyi = 4556 - INTEGER(IntKi), PARAMETER :: J3FAGyi = 4557 - INTEGER(IntKi), PARAMETER :: J4FAGyi = 4558 - INTEGER(IntKi), PARAMETER :: J5FAGyi = 4559 - INTEGER(IntKi), PARAMETER :: J6FAGyi = 4560 - INTEGER(IntKi), PARAMETER :: J7FAGyi = 4561 - INTEGER(IntKi), PARAMETER :: J8FAGyi = 4562 - INTEGER(IntKi), PARAMETER :: J9FAGyi = 4563 - INTEGER(IntKi), PARAMETER :: J1FAGzi = 4564 - INTEGER(IntKi), PARAMETER :: J2FAGzi = 4565 - INTEGER(IntKi), PARAMETER :: J3FAGzi = 4566 - INTEGER(IntKi), PARAMETER :: J4FAGzi = 4567 - INTEGER(IntKi), PARAMETER :: J5FAGzi = 4568 - INTEGER(IntKi), PARAMETER :: J6FAGzi = 4569 - INTEGER(IntKi), PARAMETER :: J7FAGzi = 4570 - INTEGER(IntKi), PARAMETER :: J8FAGzi = 4571 - INTEGER(IntKi), PARAMETER :: J9FAGzi = 4572 - INTEGER(IntKi), PARAMETER :: J1MAGxi = 4573 - INTEGER(IntKi), PARAMETER :: J2MAGxi = 4574 - INTEGER(IntKi), PARAMETER :: J3MAGxi = 4575 - INTEGER(IntKi), PARAMETER :: J4MAGxi = 4576 - INTEGER(IntKi), PARAMETER :: J5MAGxi = 4577 - INTEGER(IntKi), PARAMETER :: J6MAGxi = 4578 - INTEGER(IntKi), PARAMETER :: J7MAGxi = 4579 - INTEGER(IntKi), PARAMETER :: J8MAGxi = 4580 - INTEGER(IntKi), PARAMETER :: J9MAGxi = 4581 - INTEGER(IntKi), PARAMETER :: J1MAGyi = 4582 - INTEGER(IntKi), PARAMETER :: J2MAGyi = 4583 - INTEGER(IntKi), PARAMETER :: J3MAGyi = 4584 - INTEGER(IntKi), PARAMETER :: J4MAGyi = 4585 - INTEGER(IntKi), PARAMETER :: J5MAGyi = 4586 - INTEGER(IntKi), PARAMETER :: J6MAGyi = 4587 - INTEGER(IntKi), PARAMETER :: J7MAGyi = 4588 - INTEGER(IntKi), PARAMETER :: J8MAGyi = 4589 - INTEGER(IntKi), PARAMETER :: J9MAGyi = 4590 - INTEGER(IntKi), PARAMETER :: J1MAGzi = 4591 - INTEGER(IntKi), PARAMETER :: J2MAGzi = 4592 - INTEGER(IntKi), PARAMETER :: J3MAGzi = 4593 - INTEGER(IntKi), PARAMETER :: J4MAGzi = 4594 - INTEGER(IntKi), PARAMETER :: J5MAGzi = 4595 - INTEGER(IntKi), PARAMETER :: J6MAGzi = 4596 - INTEGER(IntKi), PARAMETER :: J7MAGzi = 4597 - INTEGER(IntKi), PARAMETER :: J8MAGzi = 4598 - INTEGER(IntKi), PARAMETER :: J9MAGzi = 4599 - INTEGER(IntKi), PARAMETER :: J1FMGxi = 4600 - INTEGER(IntKi), PARAMETER :: J2FMGxi = 4601 - INTEGER(IntKi), PARAMETER :: J3FMGxi = 4602 - INTEGER(IntKi), PARAMETER :: J4FMGxi = 4603 - INTEGER(IntKi), PARAMETER :: J5FMGxi = 4604 - INTEGER(IntKi), PARAMETER :: J6FMGxi = 4605 - INTEGER(IntKi), PARAMETER :: J7FMGxi = 4606 - INTEGER(IntKi), PARAMETER :: J8FMGxi = 4607 - INTEGER(IntKi), PARAMETER :: J9FMGxi = 4608 - INTEGER(IntKi), PARAMETER :: J1FMGyi = 4609 - INTEGER(IntKi), PARAMETER :: J2FMGyi = 4610 - INTEGER(IntKi), PARAMETER :: J3FMGyi = 4611 - INTEGER(IntKi), PARAMETER :: J4FMGyi = 4612 - INTEGER(IntKi), PARAMETER :: J5FMGyi = 4613 - INTEGER(IntKi), PARAMETER :: J6FMGyi = 4614 - INTEGER(IntKi), PARAMETER :: J7FMGyi = 4615 - INTEGER(IntKi), PARAMETER :: J8FMGyi = 4616 - INTEGER(IntKi), PARAMETER :: J9FMGyi = 4617 - INTEGER(IntKi), PARAMETER :: J1FMGzi = 4618 - INTEGER(IntKi), PARAMETER :: J2FMGzi = 4619 - INTEGER(IntKi), PARAMETER :: J3FMGzi = 4620 - INTEGER(IntKi), PARAMETER :: J4FMGzi = 4621 - INTEGER(IntKi), PARAMETER :: J5FMGzi = 4622 - INTEGER(IntKi), PARAMETER :: J6FMGzi = 4623 - INTEGER(IntKi), PARAMETER :: J7FMGzi = 4624 - INTEGER(IntKi), PARAMETER :: J8FMGzi = 4625 - INTEGER(IntKi), PARAMETER :: J9FMGzi = 4626 + INTEGER(IntKi), PARAMETER :: J1FDxi = 4600 + INTEGER(IntKi), PARAMETER :: J2FDxi = 4601 + INTEGER(IntKi), PARAMETER :: J3FDxi = 4602 + INTEGER(IntKi), PARAMETER :: J4FDxi = 4603 + INTEGER(IntKi), PARAMETER :: J5FDxi = 4604 + INTEGER(IntKi), PARAMETER :: J6FDxi = 4605 + INTEGER(IntKi), PARAMETER :: J7FDxi = 4606 + INTEGER(IntKi), PARAMETER :: J8FDxi = 4607 + INTEGER(IntKi), PARAMETER :: J9FDxi = 4608 + INTEGER(IntKi), PARAMETER :: J1FDyi = 4609 + INTEGER(IntKi), PARAMETER :: J2FDyi = 4610 + INTEGER(IntKi), PARAMETER :: J3FDyi = 4611 + INTEGER(IntKi), PARAMETER :: J4FDyi = 4612 + INTEGER(IntKi), PARAMETER :: J5FDyi = 4613 + INTEGER(IntKi), PARAMETER :: J6FDyi = 4614 + INTEGER(IntKi), PARAMETER :: J7FDyi = 4615 + INTEGER(IntKi), PARAMETER :: J8FDyi = 4616 + INTEGER(IntKi), PARAMETER :: J9FDyi = 4617 + INTEGER(IntKi), PARAMETER :: J1FDzi = 4618 + INTEGER(IntKi), PARAMETER :: J2FDzi = 4619 + INTEGER(IntKi), PARAMETER :: J3FDzi = 4620 + INTEGER(IntKi), PARAMETER :: J4FDzi = 4621 + INTEGER(IntKi), PARAMETER :: J5FDzi = 4622 + INTEGER(IntKi), PARAMETER :: J6FDzi = 4623 + INTEGER(IntKi), PARAMETER :: J7FDzi = 4624 + INTEGER(IntKi), PARAMETER :: J8FDzi = 4625 + INTEGER(IntKi), PARAMETER :: J9FDzi = 4626 + INTEGER(IntKi), PARAMETER :: J1FBxi = 4627 + INTEGER(IntKi), PARAMETER :: J2FBxi = 4628 + INTEGER(IntKi), PARAMETER :: J3FBxi = 4629 + INTEGER(IntKi), PARAMETER :: J4FBxi = 4630 + INTEGER(IntKi), PARAMETER :: J5FBxi = 4631 + INTEGER(IntKi), PARAMETER :: J6FBxi = 4632 + INTEGER(IntKi), PARAMETER :: J7FBxi = 4633 + INTEGER(IntKi), PARAMETER :: J8FBxi = 4634 + INTEGER(IntKi), PARAMETER :: J9FBxi = 4635 + INTEGER(IntKi), PARAMETER :: J1FByi = 4636 + INTEGER(IntKi), PARAMETER :: J2FByi = 4637 + INTEGER(IntKi), PARAMETER :: J3FByi = 4638 + INTEGER(IntKi), PARAMETER :: J4FByi = 4639 + INTEGER(IntKi), PARAMETER :: J5FByi = 4640 + INTEGER(IntKi), PARAMETER :: J6FByi = 4641 + INTEGER(IntKi), PARAMETER :: J7FByi = 4642 + INTEGER(IntKi), PARAMETER :: J8FByi = 4643 + INTEGER(IntKi), PARAMETER :: J9FByi = 4644 + INTEGER(IntKi), PARAMETER :: J1FBzi = 4645 + INTEGER(IntKi), PARAMETER :: J2FBzi = 4646 + INTEGER(IntKi), PARAMETER :: J3FBzi = 4647 + INTEGER(IntKi), PARAMETER :: J4FBzi = 4648 + INTEGER(IntKi), PARAMETER :: J5FBzi = 4649 + INTEGER(IntKi), PARAMETER :: J6FBzi = 4650 + INTEGER(IntKi), PARAMETER :: J7FBzi = 4651 + INTEGER(IntKi), PARAMETER :: J8FBzi = 4652 + INTEGER(IntKi), PARAMETER :: J9FBzi = 4653 + INTEGER(IntKi), PARAMETER :: J1MBxi = 4654 + INTEGER(IntKi), PARAMETER :: J2MBxi = 4655 + INTEGER(IntKi), PARAMETER :: J3MBxi = 4656 + INTEGER(IntKi), PARAMETER :: J4MBxi = 4657 + INTEGER(IntKi), PARAMETER :: J5MBxi = 4658 + INTEGER(IntKi), PARAMETER :: J6MBxi = 4659 + INTEGER(IntKi), PARAMETER :: J7MBxi = 4660 + INTEGER(IntKi), PARAMETER :: J8MBxi = 4661 + INTEGER(IntKi), PARAMETER :: J9MBxi = 4662 + INTEGER(IntKi), PARAMETER :: J1MByi = 4663 + INTEGER(IntKi), PARAMETER :: J2MByi = 4664 + INTEGER(IntKi), PARAMETER :: J3MByi = 4665 + INTEGER(IntKi), PARAMETER :: J4MByi = 4666 + INTEGER(IntKi), PARAMETER :: J5MByi = 4667 + INTEGER(IntKi), PARAMETER :: J6MByi = 4668 + INTEGER(IntKi), PARAMETER :: J7MByi = 4669 + INTEGER(IntKi), PARAMETER :: J8MByi = 4670 + INTEGER(IntKi), PARAMETER :: J9MByi = 4671 + INTEGER(IntKi), PARAMETER :: J1MBzi = 4672 + INTEGER(IntKi), PARAMETER :: J2MBzi = 4673 + INTEGER(IntKi), PARAMETER :: J3MBzi = 4674 + INTEGER(IntKi), PARAMETER :: J4MBzi = 4675 + INTEGER(IntKi), PARAMETER :: J5MBzi = 4676 + INTEGER(IntKi), PARAMETER :: J6MBzi = 4677 + INTEGER(IntKi), PARAMETER :: J7MBzi = 4678 + INTEGER(IntKi), PARAMETER :: J8MBzi = 4679 + INTEGER(IntKi), PARAMETER :: J9MBzi = 4680 + INTEGER(IntKi), PARAMETER :: J1FBFxi = 4681 + INTEGER(IntKi), PARAMETER :: J2FBFxi = 4682 + INTEGER(IntKi), PARAMETER :: J3FBFxi = 4683 + INTEGER(IntKi), PARAMETER :: J4FBFxi = 4684 + INTEGER(IntKi), PARAMETER :: J5FBFxi = 4685 + INTEGER(IntKi), PARAMETER :: J6FBFxi = 4686 + INTEGER(IntKi), PARAMETER :: J7FBFxi = 4687 + INTEGER(IntKi), PARAMETER :: J8FBFxi = 4688 + INTEGER(IntKi), PARAMETER :: J9FBFxi = 4689 + INTEGER(IntKi), PARAMETER :: J1FBFyi = 4690 + INTEGER(IntKi), PARAMETER :: J2FBFyi = 4691 + INTEGER(IntKi), PARAMETER :: J3FBFyi = 4692 + INTEGER(IntKi), PARAMETER :: J4FBFyi = 4693 + INTEGER(IntKi), PARAMETER :: J5FBFyi = 4694 + INTEGER(IntKi), PARAMETER :: J6FBFyi = 4695 + INTEGER(IntKi), PARAMETER :: J7FBFyi = 4696 + INTEGER(IntKi), PARAMETER :: J8FBFyi = 4697 + INTEGER(IntKi), PARAMETER :: J9FBFyi = 4698 + INTEGER(IntKi), PARAMETER :: J1FBFzi = 4699 + INTEGER(IntKi), PARAMETER :: J2FBFzi = 4700 + INTEGER(IntKi), PARAMETER :: J3FBFzi = 4701 + INTEGER(IntKi), PARAMETER :: J4FBFzi = 4702 + INTEGER(IntKi), PARAMETER :: J5FBFzi = 4703 + INTEGER(IntKi), PARAMETER :: J6FBFzi = 4704 + INTEGER(IntKi), PARAMETER :: J7FBFzi = 4705 + INTEGER(IntKi), PARAMETER :: J8FBFzi = 4706 + INTEGER(IntKi), PARAMETER :: J9FBFzi = 4707 + INTEGER(IntKi), PARAMETER :: J1MBFxi = 4708 + INTEGER(IntKi), PARAMETER :: J2MBFxi = 4709 + INTEGER(IntKi), PARAMETER :: J3MBFxi = 4710 + INTEGER(IntKi), PARAMETER :: J4MBFxi = 4711 + INTEGER(IntKi), PARAMETER :: J5MBFxi = 4712 + INTEGER(IntKi), PARAMETER :: J6MBFxi = 4713 + INTEGER(IntKi), PARAMETER :: J7MBFxi = 4714 + INTEGER(IntKi), PARAMETER :: J8MBFxi = 4715 + INTEGER(IntKi), PARAMETER :: J9MBFxi = 4716 + INTEGER(IntKi), PARAMETER :: J1MBFyi = 4717 + INTEGER(IntKi), PARAMETER :: J2MBFyi = 4718 + INTEGER(IntKi), PARAMETER :: J3MBFyi = 4719 + INTEGER(IntKi), PARAMETER :: J4MBFyi = 4720 + INTEGER(IntKi), PARAMETER :: J5MBFyi = 4721 + INTEGER(IntKi), PARAMETER :: J6MBFyi = 4722 + INTEGER(IntKi), PARAMETER :: J7MBFyi = 4723 + INTEGER(IntKi), PARAMETER :: J8MBFyi = 4724 + INTEGER(IntKi), PARAMETER :: J9MBFyi = 4725 + INTEGER(IntKi), PARAMETER :: J1MBFzi = 4726 + INTEGER(IntKi), PARAMETER :: J2MBFzi = 4727 + INTEGER(IntKi), PARAMETER :: J3MBFzi = 4728 + INTEGER(IntKi), PARAMETER :: J4MBFzi = 4729 + INTEGER(IntKi), PARAMETER :: J5MBFzi = 4730 + INTEGER(IntKi), PARAMETER :: J6MBFzi = 4731 + INTEGER(IntKi), PARAMETER :: J7MBFzi = 4732 + INTEGER(IntKi), PARAMETER :: J8MBFzi = 4733 + INTEGER(IntKi), PARAMETER :: J9MBFzi = 4734 + INTEGER(IntKi), PARAMETER :: J1FIxi = 4735 + INTEGER(IntKi), PARAMETER :: J2FIxi = 4736 + INTEGER(IntKi), PARAMETER :: J3FIxi = 4737 + INTEGER(IntKi), PARAMETER :: J4FIxi = 4738 + INTEGER(IntKi), PARAMETER :: J5FIxi = 4739 + INTEGER(IntKi), PARAMETER :: J6FIxi = 4740 + INTEGER(IntKi), PARAMETER :: J7FIxi = 4741 + INTEGER(IntKi), PARAMETER :: J8FIxi = 4742 + INTEGER(IntKi), PARAMETER :: J9FIxi = 4743 + INTEGER(IntKi), PARAMETER :: J1FIyi = 4744 + INTEGER(IntKi), PARAMETER :: J2FIyi = 4745 + INTEGER(IntKi), PARAMETER :: J3FIyi = 4746 + INTEGER(IntKi), PARAMETER :: J4FIyi = 4747 + INTEGER(IntKi), PARAMETER :: J5FIyi = 4748 + INTEGER(IntKi), PARAMETER :: J6FIyi = 4749 + INTEGER(IntKi), PARAMETER :: J7FIyi = 4750 + INTEGER(IntKi), PARAMETER :: J8FIyi = 4751 + INTEGER(IntKi), PARAMETER :: J9FIyi = 4752 + INTEGER(IntKi), PARAMETER :: J1FIzi = 4753 + INTEGER(IntKi), PARAMETER :: J2FIzi = 4754 + INTEGER(IntKi), PARAMETER :: J3FIzi = 4755 + INTEGER(IntKi), PARAMETER :: J4FIzi = 4756 + INTEGER(IntKi), PARAMETER :: J5FIzi = 4757 + INTEGER(IntKi), PARAMETER :: J6FIzi = 4758 + INTEGER(IntKi), PARAMETER :: J7FIzi = 4759 + INTEGER(IntKi), PARAMETER :: J8FIzi = 4760 + INTEGER(IntKi), PARAMETER :: J9FIzi = 4761 + INTEGER(IntKi), PARAMETER :: J1FAMxi = 4762 + INTEGER(IntKi), PARAMETER :: J2FAMxi = 4763 + INTEGER(IntKi), PARAMETER :: J3FAMxi = 4764 + INTEGER(IntKi), PARAMETER :: J4FAMxi = 4765 + INTEGER(IntKi), PARAMETER :: J5FAMxi = 4766 + INTEGER(IntKi), PARAMETER :: J6FAMxi = 4767 + INTEGER(IntKi), PARAMETER :: J7FAMxi = 4768 + INTEGER(IntKi), PARAMETER :: J8FAMxi = 4769 + INTEGER(IntKi), PARAMETER :: J9FAMxi = 4770 + INTEGER(IntKi), PARAMETER :: J1FAMyi = 4771 + INTEGER(IntKi), PARAMETER :: J2FAMyi = 4772 + INTEGER(IntKi), PARAMETER :: J3FAMyi = 4773 + INTEGER(IntKi), PARAMETER :: J4FAMyi = 4774 + INTEGER(IntKi), PARAMETER :: J5FAMyi = 4775 + INTEGER(IntKi), PARAMETER :: J6FAMyi = 4776 + INTEGER(IntKi), PARAMETER :: J7FAMyi = 4777 + INTEGER(IntKi), PARAMETER :: J8FAMyi = 4778 + INTEGER(IntKi), PARAMETER :: J9FAMyi = 4779 + INTEGER(IntKi), PARAMETER :: J1FAMzi = 4780 + INTEGER(IntKi), PARAMETER :: J2FAMzi = 4781 + INTEGER(IntKi), PARAMETER :: J3FAMzi = 4782 + INTEGER(IntKi), PARAMETER :: J4FAMzi = 4783 + INTEGER(IntKi), PARAMETER :: J5FAMzi = 4784 + INTEGER(IntKi), PARAMETER :: J6FAMzi = 4785 + INTEGER(IntKi), PARAMETER :: J7FAMzi = 4786 + INTEGER(IntKi), PARAMETER :: J8FAMzi = 4787 + INTEGER(IntKi), PARAMETER :: J9FAMzi = 4788 + INTEGER(IntKi), PARAMETER :: J1FWExi = 4789 + INTEGER(IntKi), PARAMETER :: J2FWExi = 4790 + INTEGER(IntKi), PARAMETER :: J3FWExi = 4791 + INTEGER(IntKi), PARAMETER :: J4FWExi = 4792 + INTEGER(IntKi), PARAMETER :: J5FWExi = 4793 + INTEGER(IntKi), PARAMETER :: J6FWExi = 4794 + INTEGER(IntKi), PARAMETER :: J7FWExi = 4795 + INTEGER(IntKi), PARAMETER :: J8FWExi = 4796 + INTEGER(IntKi), PARAMETER :: J9FWExi = 4797 + INTEGER(IntKi), PARAMETER :: J1FWEyi = 4798 + INTEGER(IntKi), PARAMETER :: J2FWEyi = 4799 + INTEGER(IntKi), PARAMETER :: J3FWEyi = 4800 + INTEGER(IntKi), PARAMETER :: J4FWEyi = 4801 + INTEGER(IntKi), PARAMETER :: J5FWEyi = 4802 + INTEGER(IntKi), PARAMETER :: J6FWEyi = 4803 + INTEGER(IntKi), PARAMETER :: J7FWEyi = 4804 + INTEGER(IntKi), PARAMETER :: J8FWEyi = 4805 + INTEGER(IntKi), PARAMETER :: J9FWEyi = 4806 + INTEGER(IntKi), PARAMETER :: J1FWEzi = 4807 + INTEGER(IntKi), PARAMETER :: J2FWEzi = 4808 + INTEGER(IntKi), PARAMETER :: J3FWEzi = 4809 + INTEGER(IntKi), PARAMETER :: J4FWEzi = 4810 + INTEGER(IntKi), PARAMETER :: J5FWEzi = 4811 + INTEGER(IntKi), PARAMETER :: J6FWEzi = 4812 + INTEGER(IntKi), PARAMETER :: J7FWEzi = 4813 + INTEGER(IntKi), PARAMETER :: J8FWEzi = 4814 + INTEGER(IntKi), PARAMETER :: J9FWEzi = 4815 + INTEGER(IntKi), PARAMETER :: J1FAGxi = 4816 + INTEGER(IntKi), PARAMETER :: J2FAGxi = 4817 + INTEGER(IntKi), PARAMETER :: J3FAGxi = 4818 + INTEGER(IntKi), PARAMETER :: J4FAGxi = 4819 + INTEGER(IntKi), PARAMETER :: J5FAGxi = 4820 + INTEGER(IntKi), PARAMETER :: J6FAGxi = 4821 + INTEGER(IntKi), PARAMETER :: J7FAGxi = 4822 + INTEGER(IntKi), PARAMETER :: J8FAGxi = 4823 + INTEGER(IntKi), PARAMETER :: J9FAGxi = 4824 + INTEGER(IntKi), PARAMETER :: J1FAGyi = 4825 + INTEGER(IntKi), PARAMETER :: J2FAGyi = 4826 + INTEGER(IntKi), PARAMETER :: J3FAGyi = 4827 + INTEGER(IntKi), PARAMETER :: J4FAGyi = 4828 + INTEGER(IntKi), PARAMETER :: J5FAGyi = 4829 + INTEGER(IntKi), PARAMETER :: J6FAGyi = 4830 + INTEGER(IntKi), PARAMETER :: J7FAGyi = 4831 + INTEGER(IntKi), PARAMETER :: J8FAGyi = 4832 + INTEGER(IntKi), PARAMETER :: J9FAGyi = 4833 + INTEGER(IntKi), PARAMETER :: J1FAGzi = 4834 + INTEGER(IntKi), PARAMETER :: J2FAGzi = 4835 + INTEGER(IntKi), PARAMETER :: J3FAGzi = 4836 + INTEGER(IntKi), PARAMETER :: J4FAGzi = 4837 + INTEGER(IntKi), PARAMETER :: J5FAGzi = 4838 + INTEGER(IntKi), PARAMETER :: J6FAGzi = 4839 + INTEGER(IntKi), PARAMETER :: J7FAGzi = 4840 + INTEGER(IntKi), PARAMETER :: J8FAGzi = 4841 + INTEGER(IntKi), PARAMETER :: J9FAGzi = 4842 + INTEGER(IntKi), PARAMETER :: J1MAGxi = 4843 + INTEGER(IntKi), PARAMETER :: J2MAGxi = 4844 + INTEGER(IntKi), PARAMETER :: J3MAGxi = 4845 + INTEGER(IntKi), PARAMETER :: J4MAGxi = 4846 + INTEGER(IntKi), PARAMETER :: J5MAGxi = 4847 + INTEGER(IntKi), PARAMETER :: J6MAGxi = 4848 + INTEGER(IntKi), PARAMETER :: J7MAGxi = 4849 + INTEGER(IntKi), PARAMETER :: J8MAGxi = 4850 + INTEGER(IntKi), PARAMETER :: J9MAGxi = 4851 + INTEGER(IntKi), PARAMETER :: J1MAGyi = 4852 + INTEGER(IntKi), PARAMETER :: J2MAGyi = 4853 + INTEGER(IntKi), PARAMETER :: J3MAGyi = 4854 + INTEGER(IntKi), PARAMETER :: J4MAGyi = 4855 + INTEGER(IntKi), PARAMETER :: J5MAGyi = 4856 + INTEGER(IntKi), PARAMETER :: J6MAGyi = 4857 + INTEGER(IntKi), PARAMETER :: J7MAGyi = 4858 + INTEGER(IntKi), PARAMETER :: J8MAGyi = 4859 + INTEGER(IntKi), PARAMETER :: J9MAGyi = 4860 + INTEGER(IntKi), PARAMETER :: J1MAGzi = 4861 + INTEGER(IntKi), PARAMETER :: J2MAGzi = 4862 + INTEGER(IntKi), PARAMETER :: J3MAGzi = 4863 + INTEGER(IntKi), PARAMETER :: J4MAGzi = 4864 + INTEGER(IntKi), PARAMETER :: J5MAGzi = 4865 + INTEGER(IntKi), PARAMETER :: J6MAGzi = 4866 + INTEGER(IntKi), PARAMETER :: J7MAGzi = 4867 + INTEGER(IntKi), PARAMETER :: J8MAGzi = 4868 + INTEGER(IntKi), PARAMETER :: J9MAGzi = 4869 + INTEGER(IntKi), PARAMETER :: J1FMGxi = 4870 + INTEGER(IntKi), PARAMETER :: J2FMGxi = 4871 + INTEGER(IntKi), PARAMETER :: J3FMGxi = 4872 + INTEGER(IntKi), PARAMETER :: J4FMGxi = 4873 + INTEGER(IntKi), PARAMETER :: J5FMGxi = 4874 + INTEGER(IntKi), PARAMETER :: J6FMGxi = 4875 + INTEGER(IntKi), PARAMETER :: J7FMGxi = 4876 + INTEGER(IntKi), PARAMETER :: J8FMGxi = 4877 + INTEGER(IntKi), PARAMETER :: J9FMGxi = 4878 + INTEGER(IntKi), PARAMETER :: J1FMGyi = 4879 + INTEGER(IntKi), PARAMETER :: J2FMGyi = 4880 + INTEGER(IntKi), PARAMETER :: J3FMGyi = 4881 + INTEGER(IntKi), PARAMETER :: J4FMGyi = 4882 + INTEGER(IntKi), PARAMETER :: J5FMGyi = 4883 + INTEGER(IntKi), PARAMETER :: J6FMGyi = 4884 + INTEGER(IntKi), PARAMETER :: J7FMGyi = 4885 + INTEGER(IntKi), PARAMETER :: J8FMGyi = 4886 + INTEGER(IntKi), PARAMETER :: J9FMGyi = 4887 + INTEGER(IntKi), PARAMETER :: J1FMGzi = 4888 + INTEGER(IntKi), PARAMETER :: J2FMGzi = 4889 + INTEGER(IntKi), PARAMETER :: J3FMGzi = 4890 + INTEGER(IntKi), PARAMETER :: J4FMGzi = 4891 + INTEGER(IntKi), PARAMETER :: J5FMGzi = 4892 + INTEGER(IntKi), PARAMETER :: J6FMGzi = 4893 + INTEGER(IntKi), PARAMETER :: J7FMGzi = 4894 + INTEGER(IntKi), PARAMETER :: J8FMGzi = 4895 + INTEGER(IntKi), PARAMETER :: J9FMGzi = 4896 ! The maximum number of output channels which can be output by the code. - INTEGER(IntKi), PARAMETER, PUBLIC :: MaxOutPts = 4626 + INTEGER(IntKi), PARAMETER :: MaxOutPts = 4896 !End of code generated by Matlab script Write_ChckOutLst ! =================================================================================================== @@ -5940,7 +6210,89 @@ MODULE Morison_Output M9N7FAMxi,M9N7FAMyi,M9N7FAMzi, & M9N8FAMxi,M9N8FAMyi,M9N8FAMzi, & M9N9FAMxi,M9N9FAMyi,M9N9FAMzi/), (/3,9,9/)) - + + INTEGER, PARAMETER :: MNFWEi(3,9,9) = reshape((/M1N1FWExi,M1N1FWEyi,M1N1FWEzi, & + M1N2FWExi,M1N2FWEyi,M1N2FWEzi, & + M1N3FWExi,M1N3FWEyi,M1N3FWEzi, & + M1N4FWExi,M1N4FWEyi,M1N4FWEzi, & + M1N5FWExi,M1N5FWEyi,M1N5FWEzi, & + M1N6FWExi,M1N6FWEyi,M1N6FWEzi, & + M1N7FWExi,M1N7FWEyi,M1N7FWEzi, & + M1N8FWExi,M1N8FWEyi,M1N8FWEzi, & + M1N9FWExi,M1N9FWEyi,M1N9FWEzi, & + M2N1FWExi,M2N1FWEyi,M2N1FWEzi, & + M2N2FWExi,M2N2FWEyi,M2N2FWEzi, & + M2N3FWExi,M2N3FWEyi,M2N3FWEzi, & + M2N4FWExi,M2N4FWEyi,M2N4FWEzi, & + M2N5FWExi,M2N5FWEyi,M2N5FWEzi, & + M2N6FWExi,M2N6FWEyi,M2N6FWEzi, & + M2N7FWExi,M2N7FWEyi,M2N7FWEzi, & + M2N8FWExi,M2N8FWEyi,M2N8FWEzi, & + M2N9FWExi,M2N9FWEyi,M2N9FWEzi, & + M3N1FWExi,M3N1FWEyi,M3N1FWEzi, & + M3N2FWExi,M3N2FWEyi,M3N2FWEzi, & + M3N3FWExi,M3N3FWEyi,M3N3FWEzi, & + M3N4FWExi,M3N4FWEyi,M3N4FWEzi, & + M3N5FWExi,M3N5FWEyi,M3N5FWEzi, & + M3N6FWExi,M3N6FWEyi,M3N6FWEzi, & + M3N7FWExi,M3N7FWEyi,M3N7FWEzi, & + M3N8FWExi,M3N8FWEyi,M3N8FWEzi, & + M3N9FWExi,M3N9FWEyi,M3N9FWEzi, & + M4N1FWExi,M4N1FWEyi,M4N1FWEzi, & + M4N2FWExi,M4N2FWEyi,M4N2FWEzi, & + M4N3FWExi,M4N3FWEyi,M4N3FWEzi, & + M4N4FWExi,M4N4FWEyi,M4N4FWEzi, & + M4N5FWExi,M4N5FWEyi,M4N5FWEzi, & + M4N6FWExi,M4N6FWEyi,M4N6FWEzi, & + M4N7FWExi,M4N7FWEyi,M4N7FWEzi, & + M4N8FWExi,M4N8FWEyi,M4N8FWEzi, & + M4N9FWExi,M4N9FWEyi,M4N9FWEzi, & + M5N1FWExi,M5N1FWEyi,M5N1FWEzi, & + M5N2FWExi,M5N2FWEyi,M5N2FWEzi, & + M5N3FWExi,M5N3FWEyi,M5N3FWEzi, & + M5N4FWExi,M5N4FWEyi,M5N4FWEzi, & + M5N5FWExi,M5N5FWEyi,M5N5FWEzi, & + M5N6FWExi,M5N6FWEyi,M5N6FWEzi, & + M5N7FWExi,M5N7FWEyi,M5N7FWEzi, & + M5N8FWExi,M5N8FWEyi,M5N8FWEzi, & + M5N9FWExi,M5N9FWEyi,M5N9FWEzi, & + M6N1FWExi,M6N1FWEyi,M6N1FWEzi, & + M6N2FWExi,M6N2FWEyi,M6N2FWEzi, & + M6N3FWExi,M6N3FWEyi,M6N3FWEzi, & + M6N4FWExi,M6N4FWEyi,M6N4FWEzi, & + M6N5FWExi,M6N5FWEyi,M6N5FWEzi, & + M6N6FWExi,M6N6FWEyi,M6N6FWEzi, & + M6N7FWExi,M6N7FWEyi,M6N7FWEzi, & + M6N8FWExi,M6N8FWEyi,M6N8FWEzi, & + M6N9FWExi,M6N9FWEyi,M6N9FWEzi, & + M7N1FWExi,M7N1FWEyi,M7N1FWEzi, & + M7N2FWExi,M7N2FWEyi,M7N2FWEzi, & + M7N3FWExi,M7N3FWEyi,M7N3FWEzi, & + M7N4FWExi,M7N4FWEyi,M7N4FWEzi, & + M7N5FWExi,M7N5FWEyi,M7N5FWEzi, & + M7N6FWExi,M7N6FWEyi,M7N6FWEzi, & + M7N7FWExi,M7N7FWEyi,M7N7FWEzi, & + M7N8FWExi,M7N8FWEyi,M7N8FWEzi, & + M7N9FWExi,M7N9FWEyi,M7N9FWEzi, & + M8N1FWExi,M8N1FWEyi,M8N1FWEzi, & + M8N2FWExi,M8N2FWEyi,M8N2FWEzi, & + M8N3FWExi,M8N3FWEyi,M8N3FWEzi, & + M8N4FWExi,M8N4FWEyi,M8N4FWEzi, & + M8N5FWExi,M8N5FWEyi,M8N5FWEzi, & + M8N6FWExi,M8N6FWEyi,M8N6FWEzi, & + M8N7FWExi,M8N7FWEyi,M8N7FWEzi, & + M8N8FWExi,M8N8FWEyi,M8N8FWEzi, & + M8N9FWExi,M8N9FWEyi,M8N9FWEzi, & + M9N1FWExi,M9N1FWEyi,M9N1FWEzi, & + M9N2FWExi,M9N2FWEyi,M9N2FWEzi, & + M9N3FWExi,M9N3FWEyi,M9N3FWEzi, & + M9N4FWExi,M9N4FWEyi,M9N4FWEzi, & + M9N5FWExi,M9N5FWEyi,M9N5FWEzi, & + M9N6FWExi,M9N6FWEyi,M9N6FWEzi, & + M9N7FWExi,M9N7FWEyi,M9N7FWEzi, & + M9N8FWExi,M9N8FWEyi,M9N8FWEzi, & + M9N9FWExi,M9N9FWEyi,M9N9FWEzi/), (/3,9,9/)) + INTEGER, PARAMETER :: MNFAGi(3,9,9) = reshape((/M1N1FAGxi,M1N1FAGyi,M1N1FAGzi, & M1N2FAGxi,M1N2FAGyi,M1N2FAGzi, & M1N3FAGxi,M1N3FAGyi,M1N3FAGzi, & @@ -6415,7 +6767,17 @@ MODULE Morison_Output J7FAMxi, J7FAMyi, J7FAMzi , & J8FAMxi, J8FAMyi, J8FAMzi , & J9FAMxi, J9FAMyi, J9FAMzi/), (/3,9/)) - + + INTEGER, PARAMETER :: JFWEi(3,9) = reshape((/J1FWExi, J1FWEyi, J1FWEzi , & + J2FWExi, J2FWEyi, J2FWEzi , & + J3FWExi, J3FWEyi, J3FWEzi , & + J4FWExi, J4FWEyi, J4FWEzi , & + J5FWExi, J5FWEyi, J5FWEzi , & + J6FWExi, J6FWEyi, J6FWEzi , & + J7FWExi, J7FWEyi, J7FWEzi , & + J8FWExi, J8FWEyi, J8FWEzi , & + J9FWExi, J9FWEyi, J9FWEzi/), (/3,9/)) + INTEGER, PARAMETER :: JFMGi(3,9) = reshape((/J1FMGxi, J1FMGyi, J1FMGzi , & J2FMGxi, J2FMGyi, J2FMGzi , & J3FMGxi, J3FMGyi, J3FMGzi , & @@ -6427,100 +6789,106 @@ MODULE Morison_Output J9FMGxi, J9FMGyi, J9FMGzi/), (/3,9/)) !********************************************************************************************************************************** - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry1(1542) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry1(1632) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically "J1AXI ","J1AYI ","J1AZI ","J1DYNP ","J1FAGXI ","J1FAGYI ","J1FAGZI ", & "J1FAMXI ","J1FAMYI ","J1FAMZI ","J1FBFXI ","J1FBFYI ","J1FBFZI ","J1FBXI ", & "J1FBYI ","J1FBZI ","J1FDXI ","J1FDYI ","J1FDZI ","J1FIXI ","J1FIYI ", & - "J1FIZI ","J1FMGXI ","J1FMGYI ","J1FMGZI ","J1MAGXI ","J1MAGYI ","J1MAGZI ", & - "J1MBFXI ","J1MBFYI ","J1MBFZI ","J1MBXI ","J1MBYI ","J1MBZI ","J1STAXI ", & - "J1STAYI ","J1STAZI ","J1STVXI ","J1STVYI ","J1STVZI ","J1VXI ","J1VYI ", & - "J1VZI ","J1WAVEELEV","J1WAVEELV1","J1WAVEELV2","J2AXI ","J2AYI ","J2AZI ", & - "J2DYNP ","J2FAGXI ","J2FAGYI ","J2FAGZI ","J2FAMXI ","J2FAMYI ","J2FAMZI ", & - "J2FBFXI ","J2FBFYI ","J2FBFZI ","J2FBXI ","J2FBYI ","J2FBZI ","J2FDXI ", & - "J2FDYI ","J2FDZI ","J2FIXI ","J2FIYI ","J2FIZI ","J2FMGXI ","J2FMGYI ", & - "J2FMGZI ","J2MAGXI ","J2MAGYI ","J2MAGZI ","J2MBFXI ","J2MBFYI ","J2MBFZI ", & - "J2MBXI ","J2MBYI ","J2MBZI ","J2STAXI ","J2STAYI ","J2STAZI ","J2STVXI ", & - "J2STVYI ","J2STVZI ","J2VXI ","J2VYI ","J2VZI ","J2WAVEELEV","J2WAVEELV1", & - "J2WAVEELV2","J3AXI ","J3AYI ","J3AZI ","J3DYNP ","J3FAGXI ","J3FAGYI ", & - "J3FAGZI ","J3FAMXI ","J3FAMYI ","J3FAMZI ","J3FBFXI ","J3FBFYI ","J3FBFZI ", & - "J3FBXI ","J3FBYI ","J3FBZI ","J3FDXI ","J3FDYI ","J3FDZI ","J3FIXI ", & - "J3FIYI ","J3FIZI ","J3FMGXI ","J3FMGYI ","J3FMGZI ","J3MAGXI ","J3MAGYI ", & - "J3MAGZI ","J3MBFXI ","J3MBFYI ","J3MBFZI ","J3MBXI ","J3MBYI ","J3MBZI ", & - "J3STAXI ","J3STAYI ","J3STAZI ","J3STVXI ","J3STVYI ","J3STVZI ","J3VXI ", & - "J3VYI ","J3VZI ","J3WAVEELEV","J3WAVEELV1","J3WAVEELV2","J4AXI ","J4AYI ", & - "J4AZI ","J4DYNP ","J4FAGXI ","J4FAGYI ","J4FAGZI ","J4FAMXI ","J4FAMYI ", & - "J4FAMZI ","J4FBFXI ","J4FBFYI ","J4FBFZI ","J4FBXI ","J4FBYI ","J4FBZI ", & - "J4FDXI ","J4FDYI ","J4FDZI ","J4FIXI ","J4FIYI ","J4FIZI ","J4FMGXI ", & - "J4FMGYI ","J4FMGZI ","J4MAGXI ","J4MAGYI ","J4MAGZI ","J4MBFXI ","J4MBFYI ", & - "J4MBFZI ","J4MBXI ","J4MBYI ","J4MBZI ","J4STAXI ","J4STAYI ","J4STAZI ", & - "J4STVXI ","J4STVYI ","J4STVZI ","J4VXI ","J4VYI ","J4VZI ","J4WAVEELEV", & - "J4WAVEELV1","J4WAVEELV2","J5AXI ","J5AYI ","J5AZI ","J5DYNP ","J5FAGXI ", & - "J5FAGYI ","J5FAGZI ","J5FAMXI ","J5FAMYI ","J5FAMZI ","J5FBFXI ","J5FBFYI ", & - "J5FBFZI ","J5FBXI ","J5FBYI ","J5FBZI ","J5FDXI ","J5FDYI ","J5FDZI ", & - "J5FIXI ","J5FIYI ","J5FIZI ","J5FMGXI ","J5FMGYI ","J5FMGZI ","J5MAGXI ", & - "J5MAGYI ","J5MAGZI ","J5MBFXI ","J5MBFYI ","J5MBFZI ","J5MBXI ","J5MBYI ", & - "J5MBZI ","J5STAXI ","J5STAYI ","J5STAZI ","J5STVXI ","J5STVYI ","J5STVZI ", & - "J5VXI ","J5VYI ","J5VZI ","J5WAVEELEV","J5WAVEELV1","J5WAVEELV2","J6AXI ", & - "J6AYI ","J6AZI ","J6DYNP ","J6FAGXI ","J6FAGYI ","J6FAGZI ","J6FAMXI ", & - "J6FAMYI ","J6FAMZI ","J6FBFXI ","J6FBFYI ","J6FBFZI ","J6FBXI ","J6FBYI ", & - "J6FBZI ","J6FDXI ","J6FDYI ","J6FDZI ","J6FIXI ","J6FIYI ","J6FIZI ", & - "J6FMGXI ","J6FMGYI ","J6FMGZI ","J6MAGXI ","J6MAGYI ","J6MAGZI ","J6MBFXI ", & - "J6MBFYI ","J6MBFZI ","J6MBXI ","J6MBYI ","J6MBZI ","J6STAXI ","J6STAYI ", & - "J6STAZI ","J6STVXI ","J6STVYI ","J6STVZI ","J6VXI ","J6VYI ","J6VZI ", & - "J6WAVEELEV","J6WAVEELV1","J6WAVEELV2","J7AXI ","J7AYI ","J7AZI ","J7DYNP ", & - "J7FAGXI ","J7FAGYI ","J7FAGZI ","J7FAMXI ","J7FAMYI ","J7FAMZI ","J7FBFXI ", & - "J7FBFYI ","J7FBFZI ","J7FBXI ","J7FBYI ","J7FBZI ","J7FDXI ","J7FDYI ", & - "J7FDZI ","J7FIXI ","J7FIYI ","J7FIZI ","J7FMGXI ","J7FMGYI ","J7FMGZI ", & + "J1FIZI ","J1FMGXI ","J1FMGYI ","J1FMGZI ","J1FWEXI ","J1FWEYI ","J1FWEZI ", & + "J1MAGXI ","J1MAGYI ","J1MAGZI ","J1MBFXI ","J1MBFYI ","J1MBFZI ","J1MBXI ", & + "J1MBYI ","J1MBZI ","J1STAXI ","J1STAYI ","J1STAZI ","J1STVXI ","J1STVYI ", & + "J1STVZI ","J1VXI ","J1VYI ","J1VZI ","J1WAVEELEV","J1WAVEELV1","J1WAVEELV2", & + "J2AXI ","J2AYI ","J2AZI ","J2DYNP ","J2FAGXI ","J2FAGYI ","J2FAGZI ", & + "J2FAMXI ","J2FAMYI ","J2FAMZI ","J2FBFXI ","J2FBFYI ","J2FBFZI ","J2FBXI ", & + "J2FBYI ","J2FBZI ","J2FDXI ","J2FDYI ","J2FDZI ","J2FIXI ","J2FIYI ", & + "J2FIZI ","J2FMGXI ","J2FMGYI ","J2FMGZI ","J2FWEXI ","J2FWEYI ","J2FWEZI ", & + "J2MAGXI ","J2MAGYI ","J2MAGZI ","J2MBFXI ","J2MBFYI ","J2MBFZI ","J2MBXI ", & + "J2MBYI ","J2MBZI ","J2STAXI ","J2STAYI ","J2STAZI ","J2STVXI ","J2STVYI ", & + "J2STVZI ","J2VXI ","J2VYI ","J2VZI ","J2WAVEELEV","J2WAVEELV1","J2WAVEELV2", & + "J3AXI ","J3AYI ","J3AZI ","J3DYNP ","J3FAGXI ","J3FAGYI ","J3FAGZI ", & + "J3FAMXI ","J3FAMYI ","J3FAMZI ","J3FBFXI ","J3FBFYI ","J3FBFZI ","J3FBXI ", & + "J3FBYI ","J3FBZI ","J3FDXI ","J3FDYI ","J3FDZI ","J3FIXI ","J3FIYI ", & + "J3FIZI ","J3FMGXI ","J3FMGYI ","J3FMGZI ","J3FWEXI ","J3FWEYI ","J3FWEZI ", & + "J3MAGXI ","J3MAGYI ","J3MAGZI ","J3MBFXI ","J3MBFYI ","J3MBFZI ","J3MBXI ", & + "J3MBYI ","J3MBZI ","J3STAXI ","J3STAYI ","J3STAZI ","J3STVXI ","J3STVYI ", & + "J3STVZI ","J3VXI ","J3VYI ","J3VZI ","J3WAVEELEV","J3WAVEELV1","J3WAVEELV2", & + "J4AXI ","J4AYI ","J4AZI ","J4DYNP ","J4FAGXI ","J4FAGYI ","J4FAGZI ", & + "J4FAMXI ","J4FAMYI ","J4FAMZI ","J4FBFXI ","J4FBFYI ","J4FBFZI ","J4FBXI ", & + "J4FBYI ","J4FBZI ","J4FDXI ","J4FDYI ","J4FDZI ","J4FIXI ","J4FIYI ", & + "J4FIZI ","J4FMGXI ","J4FMGYI ","J4FMGZI ","J4FWEXI ","J4FWEYI ","J4FWEZI ", & + "J4MAGXI ","J4MAGYI ","J4MAGZI ","J4MBFXI ","J4MBFYI ","J4MBFZI ","J4MBXI ", & + "J4MBYI ","J4MBZI ","J4STAXI ","J4STAYI ","J4STAZI ","J4STVXI ","J4STVYI ", & + "J4STVZI ","J4VXI ","J4VYI ","J4VZI ","J4WAVEELEV","J4WAVEELV1","J4WAVEELV2", & + "J5AXI ","J5AYI ","J5AZI ","J5DYNP ","J5FAGXI ","J5FAGYI ","J5FAGZI ", & + "J5FAMXI ","J5FAMYI ","J5FAMZI ","J5FBFXI ","J5FBFYI ","J5FBFZI ","J5FBXI ", & + "J5FBYI ","J5FBZI ","J5FDXI ","J5FDYI ","J5FDZI ","J5FIXI ","J5FIYI ", & + "J5FIZI ","J5FMGXI ","J5FMGYI ","J5FMGZI ","J5FWEXI ","J5FWEYI ","J5FWEZI ", & + "J5MAGXI ","J5MAGYI ","J5MAGZI ","J5MBFXI ","J5MBFYI ","J5MBFZI ","J5MBXI ", & + "J5MBYI ","J5MBZI ","J5STAXI ","J5STAYI ","J5STAZI ","J5STVXI ","J5STVYI ", & + "J5STVZI ","J5VXI ","J5VYI ","J5VZI ","J5WAVEELEV","J5WAVEELV1","J5WAVEELV2", & + "J6AXI ","J6AYI ","J6AZI ","J6DYNP ","J6FAGXI ","J6FAGYI ","J6FAGZI ", & + "J6FAMXI ","J6FAMYI ","J6FAMZI ","J6FBFXI ","J6FBFYI ","J6FBFZI ","J6FBXI ", & + "J6FBYI ","J6FBZI ","J6FDXI ","J6FDYI ","J6FDZI ","J6FIXI ","J6FIYI ", & + "J6FIZI ","J6FMGXI ","J6FMGYI ","J6FMGZI ","J6FWEXI ","J6FWEYI ","J6FWEZI ", & + "J6MAGXI ","J6MAGYI ","J6MAGZI ","J6MBFXI ","J6MBFYI ","J6MBFZI ","J6MBXI ", & + "J6MBYI ","J6MBZI ","J6STAXI ","J6STAYI ","J6STAZI ","J6STVXI ","J6STVYI ", & + "J6STVZI ","J6VXI ","J6VYI ","J6VZI ","J6WAVEELEV","J6WAVEELV1","J6WAVEELV2", & + "J7AXI ","J7AYI ","J7AZI ","J7DYNP ","J7FAGXI ","J7FAGYI ","J7FAGZI ", & + "J7FAMXI ","J7FAMYI ","J7FAMZI ","J7FBFXI ","J7FBFYI ","J7FBFZI ","J7FBXI ", & + "J7FBYI ","J7FBZI ","J7FDXI ","J7FDYI ","J7FDZI ","J7FIXI ","J7FIYI ", & + "J7FIZI ","J7FMGXI ","J7FMGYI ","J7FMGZI ","J7FWEXI ","J7FWEYI ","J7FWEZI ", & "J7MAGXI ","J7MAGYI ","J7MAGZI ","J7MBFXI ","J7MBFYI ","J7MBFZI ","J7MBXI ", & "J7MBYI ","J7MBZI ","J7STAXI ","J7STAYI ","J7STAZI ","J7STVXI ","J7STVYI ", & "J7STVZI ","J7VXI ","J7VYI ","J7VZI ","J7WAVEELEV","J7WAVEELV1","J7WAVEELV2", & "J8AXI ","J8AYI ","J8AZI ","J8DYNP ","J8FAGXI ","J8FAGYI ","J8FAGZI ", & "J8FAMXI ","J8FAMYI ","J8FAMZI ","J8FBFXI ","J8FBFYI ","J8FBFZI ","J8FBXI ", & "J8FBYI ","J8FBZI ","J8FDXI ","J8FDYI ","J8FDZI ","J8FIXI ","J8FIYI ", & - "J8FIZI ","J8FMGXI ","J8FMGYI ","J8FMGZI ","J8MAGXI ","J8MAGYI ","J8MAGZI ", & - "J8MBFXI ","J8MBFYI ","J8MBFZI ","J8MBXI ","J8MBYI ","J8MBZI ","J8STAXI ", & - "J8STAYI ","J8STAZI ","J8STVXI ","J8STVYI ","J8STVZI ","J8VXI ","J8VYI ", & - "J8VZI ","J8WAVEELEV","J8WAVEELV1","J8WAVEELV2","J9AXI ","J9AYI ","J9AZI ", & - "J9DYNP ","J9FAGXI ","J9FAGYI ","J9FAGZI ","J9FAMXI ","J9FAMYI ","J9FAMZI ", & - "J9FBFXI ","J9FBFYI ","J9FBFZI ","J9FBXI ","J9FBYI ","J9FBZI ","J9FDXI ", & - "J9FDYI ","J9FDZI ","J9FIXI ","J9FIYI ","J9FIZI ","J9FMGXI ","J9FMGYI ", & - "J9FMGZI ","J9MAGXI ","J9MAGYI ","J9MAGZI ","J9MBFXI ","J9MBFYI ","J9MBFZI ", & - "J9MBXI ","J9MBYI ","J9MBZI ","J9STAXI ","J9STAYI ","J9STAZI ","J9STVXI ", & - "J9STVYI ","J9STVZI ","J9VXI ","J9VYI ","J9VZI ","J9WAVEELEV","J9WAVEELV1", & - "J9WAVEELV2","M1N1AXI ","M1N1AYI ","M1N1AZI ","M1N1DYNP ","M1N1FAFXI ","M1N1FAFYI ", & - "M1N1FAFZI ","M1N1FAGXI ","M1N1FAGYI ","M1N1FAGZI ","M1N1FAMXI ","M1N1FAMYI ","M1N1FAMZI ", & - "M1N1FBFXI ","M1N1FBFYI ","M1N1FBFZI ","M1N1FBXI ","M1N1FBYI ","M1N1FBZI ","M1N1FDXI ", & - "M1N1FDYI ","M1N1FDZI ","M1N1FIXI ","M1N1FIYI ","M1N1FIZI ","M1N1FMGXI ","M1N1FMGYI ", & - "M1N1FMGZI ","M1N1MAFXI ","M1N1MAFYI ","M1N1MAFZI ","M1N1MAGXI ","M1N1MAGYI ","M1N1MAGZI ", & - "M1N1MBFXI ","M1N1MBFYI ","M1N1MBFZI ","M1N1MBXI ","M1N1MBYI ","M1N1MBZI ","M1N1MMGXI ", & - "M1N1MMGYI ","M1N1MMGZI ","M1N1STAXI ","M1N1STAYI ","M1N1STAZI ","M1N1STVXI ","M1N1STVYI ", & - "M1N1STVZI ","M1N1VXI ","M1N1VYI ","M1N1VZI ","M1N2AXI ","M1N2AYI ","M1N2AZI ", & - "M1N2DYNP ","M1N2FAFXI ","M1N2FAFYI ","M1N2FAFZI ","M1N2FAGXI ","M1N2FAGYI ","M1N2FAGZI ", & - "M1N2FAMXI ","M1N2FAMYI ","M1N2FAMZI ","M1N2FBFXI ","M1N2FBFYI ","M1N2FBFZI ","M1N2FBXI ", & - "M1N2FBYI ","M1N2FBZI ","M1N2FDXI ","M1N2FDYI ","M1N2FDZI ","M1N2FIXI ","M1N2FIYI ", & - "M1N2FIZI ","M1N2FMGXI ","M1N2FMGYI ","M1N2FMGZI ","M1N2MAFXI ","M1N2MAFYI ","M1N2MAFZI ", & - "M1N2MAGXI ","M1N2MAGYI ","M1N2MAGZI ","M1N2MBFXI ","M1N2MBFYI ","M1N2MBFZI ","M1N2MBXI ", & - "M1N2MBYI ","M1N2MBZI ","M1N2MMGXI ","M1N2MMGYI ","M1N2MMGZI ","M1N2STAXI ","M1N2STAYI ", & - "M1N2STAZI ","M1N2STVXI ","M1N2STVYI ","M1N2STVZI ","M1N2VXI ","M1N2VYI ","M1N2VZI ", & - "M1N3AXI ","M1N3AYI ","M1N3AZI ","M1N3DYNP ","M1N3FAFXI ","M1N3FAFYI ","M1N3FAFZI ", & - "M1N3FAGXI ","M1N3FAGYI ","M1N3FAGZI ","M1N3FAMXI ","M1N3FAMYI ","M1N3FAMZI ","M1N3FBFXI ", & - "M1N3FBFYI ","M1N3FBFZI ","M1N3FBXI ","M1N3FBYI ","M1N3FBZI ","M1N3FDXI ","M1N3FDYI ", & - "M1N3FDZI ","M1N3FIXI ","M1N3FIYI ","M1N3FIZI ","M1N3FMGXI ","M1N3FMGYI ","M1N3FMGZI ", & - "M1N3MAFXI ","M1N3MAFYI ","M1N3MAFZI ","M1N3MAGXI ","M1N3MAGYI ","M1N3MAGZI ","M1N3MBFXI ", & - "M1N3MBFYI ","M1N3MBFZI ","M1N3MBXI ","M1N3MBYI ","M1N3MBZI ","M1N3MMGXI ","M1N3MMGYI ", & - "M1N3MMGZI ","M1N3STAXI ","M1N3STAYI ","M1N3STAZI ","M1N3STVXI ","M1N3STVYI ","M1N3STVZI ", & - "M1N3VXI ","M1N3VYI ","M1N3VZI ","M1N4AXI ","M1N4AYI ","M1N4AZI ","M1N4DYNP ", & - "M1N4FAFXI ","M1N4FAFYI ","M1N4FAFZI ","M1N4FAGXI ","M1N4FAGYI ","M1N4FAGZI ","M1N4FAMXI ", & - "M1N4FAMYI ","M1N4FAMZI ","M1N4FBFXI ","M1N4FBFYI ","M1N4FBFZI ","M1N4FBXI ","M1N4FBYI ", & - "M1N4FBZI ","M1N4FDXI ","M1N4FDYI ","M1N4FDZI ","M1N4FIXI ","M1N4FIYI ","M1N4FIZI ", & - "M1N4FMGXI ","M1N4FMGYI ","M1N4FMGZI ","M1N4MAFXI ","M1N4MAFYI ","M1N4MAFZI ","M1N4MAGXI ", & - "M1N4MAGYI ","M1N4MAGZI ","M1N4MBFXI ","M1N4MBFYI ","M1N4MBFZI ","M1N4MBXI ","M1N4MBYI ", & - "M1N4MBZI ","M1N4MMGXI ","M1N4MMGYI ","M1N4MMGZI ","M1N4STAXI ","M1N4STAYI ","M1N4STAZI ", & - "M1N4STVXI ","M1N4STVYI ","M1N4STVZI ","M1N4VXI ","M1N4VYI ","M1N4VZI ","M1N5AXI ", & - "M1N5AYI ","M1N5AZI ","M1N5DYNP ","M1N5FAFXI ","M1N5FAFYI ","M1N5FAFZI ","M1N5FAGXI ", & - "M1N5FAGYI ","M1N5FAGZI ","M1N5FAMXI ","M1N5FAMYI ","M1N5FAMZI ","M1N5FBFXI ","M1N5FBFYI ", & - "M1N5FBFZI ","M1N5FBXI ","M1N5FBYI ","M1N5FBZI ","M1N5FDXI ","M1N5FDYI ","M1N5FDZI ", & - "M1N5FIXI ","M1N5FIYI ","M1N5FIZI ","M1N5FMGXI ","M1N5FMGYI ","M1N5FMGZI ","M1N5MAFXI ", & + "J8FIZI ","J8FMGXI ","J8FMGYI ","J8FMGZI ","J8FWEXI ","J8FWEYI ","J8FWEZI ", & + "J8MAGXI ","J8MAGYI ","J8MAGZI ","J8MBFXI ","J8MBFYI ","J8MBFZI ","J8MBXI ", & + "J8MBYI ","J8MBZI ","J8STAXI ","J8STAYI ","J8STAZI ","J8STVXI ","J8STVYI ", & + "J8STVZI ","J8VXI ","J8VYI ","J8VZI ","J8WAVEELEV","J8WAVEELV1","J8WAVEELV2", & + "J9AXI ","J9AYI ","J9AZI ","J9DYNP ","J9FAGXI ","J9FAGYI ","J9FAGZI ", & + "J9FAMXI ","J9FAMYI ","J9FAMZI ","J9FBFXI ","J9FBFYI ","J9FBFZI ","J9FBXI ", & + "J9FBYI ","J9FBZI ","J9FDXI ","J9FDYI ","J9FDZI ","J9FIXI ","J9FIYI ", & + "J9FIZI ","J9FMGXI ","J9FMGYI ","J9FMGZI ","J9FWEXI ","J9FWEYI ","J9FWEZI ", & + "J9MAGXI ","J9MAGYI ","J9MAGZI ","J9MBFXI ","J9MBFYI ","J9MBFZI ","J9MBXI ", & + "J9MBYI ","J9MBZI ","J9STAXI ","J9STAYI ","J9STAZI ","J9STVXI ","J9STVYI ", & + "J9STVZI ","J9VXI ","J9VYI ","J9VZI ","J9WAVEELEV","J9WAVEELV1","J9WAVEELV2", & + "M1N1AXI ","M1N1AYI ","M1N1AZI ","M1N1DYNP ","M1N1FAFXI ","M1N1FAFYI ","M1N1FAFZI ", & + "M1N1FAGXI ","M1N1FAGYI ","M1N1FAGZI ","M1N1FAMXI ","M1N1FAMYI ","M1N1FAMZI ","M1N1FBFXI ", & + "M1N1FBFYI ","M1N1FBFZI ","M1N1FBXI ","M1N1FBYI ","M1N1FBZI ","M1N1FDXI ","M1N1FDYI ", & + "M1N1FDZI ","M1N1FIXI ","M1N1FIYI ","M1N1FIZI ","M1N1FMGXI ","M1N1FMGYI ","M1N1FMGZI ", & + "M1N1FWEXI ","M1N1FWEYI ","M1N1FWEZI ","M1N1MAFXI ","M1N1MAFYI ","M1N1MAFZI ","M1N1MAGXI ", & + "M1N1MAGYI ","M1N1MAGZI ","M1N1MBFXI ","M1N1MBFYI ","M1N1MBFZI ","M1N1MBXI ","M1N1MBYI ", & + "M1N1MBZI ","M1N1MMGXI ","M1N1MMGYI ","M1N1MMGZI ","M1N1STAXI ","M1N1STAYI ","M1N1STAZI ", & + "M1N1STVXI ","M1N1STVYI ","M1N1STVZI ","M1N1VXI ","M1N1VYI ","M1N1VZI ","M1N2AXI ", & + "M1N2AYI ","M1N2AZI ","M1N2DYNP ","M1N2FAFXI ","M1N2FAFYI ","M1N2FAFZI ","M1N2FAGXI ", & + "M1N2FAGYI ","M1N2FAGZI ","M1N2FAMXI ","M1N2FAMYI ","M1N2FAMZI ","M1N2FBFXI ","M1N2FBFYI ", & + "M1N2FBFZI ","M1N2FBXI ","M1N2FBYI ","M1N2FBZI ","M1N2FDXI ","M1N2FDYI ","M1N2FDZI ", & + "M1N2FIXI ","M1N2FIYI ","M1N2FIZI ","M1N2FMGXI ","M1N2FMGYI ","M1N2FMGZI ","M1N2FWEXI ", & + "M1N2FWEYI ","M1N2FWEZI ","M1N2MAFXI ","M1N2MAFYI ","M1N2MAFZI ","M1N2MAGXI ","M1N2MAGYI ", & + "M1N2MAGZI ","M1N2MBFXI ","M1N2MBFYI ","M1N2MBFZI ","M1N2MBXI ","M1N2MBYI ","M1N2MBZI ", & + "M1N2MMGXI ","M1N2MMGYI ","M1N2MMGZI ","M1N2STAXI ","M1N2STAYI ","M1N2STAZI ","M1N2STVXI ", & + "M1N2STVYI ","M1N2STVZI ","M1N2VXI ","M1N2VYI ","M1N2VZI ","M1N3AXI ","M1N3AYI ", & + "M1N3AZI ","M1N3DYNP ","M1N3FAFXI ","M1N3FAFYI ","M1N3FAFZI ","M1N3FAGXI ","M1N3FAGYI ", & + "M1N3FAGZI ","M1N3FAMXI ","M1N3FAMYI ","M1N3FAMZI ","M1N3FBFXI ","M1N3FBFYI ","M1N3FBFZI ", & + "M1N3FBXI ","M1N3FBYI ","M1N3FBZI ","M1N3FDXI ","M1N3FDYI ","M1N3FDZI ","M1N3FIXI ", & + "M1N3FIYI ","M1N3FIZI ","M1N3FMGXI ","M1N3FMGYI ","M1N3FMGZI ","M1N3FWEXI ","M1N3FWEYI ", & + "M1N3FWEZI ","M1N3MAFXI ","M1N3MAFYI ","M1N3MAFZI ","M1N3MAGXI ","M1N3MAGYI ","M1N3MAGZI ", & + "M1N3MBFXI ","M1N3MBFYI ","M1N3MBFZI ","M1N3MBXI ","M1N3MBYI ","M1N3MBZI ","M1N3MMGXI ", & + "M1N3MMGYI ","M1N3MMGZI ","M1N3STAXI ","M1N3STAYI ","M1N3STAZI ","M1N3STVXI ","M1N3STVYI ", & + "M1N3STVZI ","M1N3VXI ","M1N3VYI ","M1N3VZI ","M1N4AXI ","M1N4AYI ","M1N4AZI ", & + "M1N4DYNP ","M1N4FAFXI ","M1N4FAFYI ","M1N4FAFZI ","M1N4FAGXI ","M1N4FAGYI ","M1N4FAGZI ", & + "M1N4FAMXI ","M1N4FAMYI ","M1N4FAMZI ","M1N4FBFXI ","M1N4FBFYI ","M1N4FBFZI ","M1N4FBXI ", & + "M1N4FBYI ","M1N4FBZI ","M1N4FDXI ","M1N4FDYI ","M1N4FDZI ","M1N4FIXI ","M1N4FIYI ", & + "M1N4FIZI ","M1N4FMGXI ","M1N4FMGYI ","M1N4FMGZI ","M1N4FWEXI ","M1N4FWEYI ","M1N4FWEZI ", & + "M1N4MAFXI ","M1N4MAFYI ","M1N4MAFZI ","M1N4MAGXI ","M1N4MAGYI ","M1N4MAGZI ","M1N4MBFXI ", & + "M1N4MBFYI ","M1N4MBFZI ","M1N4MBXI ","M1N4MBYI ","M1N4MBZI ","M1N4MMGXI ","M1N4MMGYI ", & + "M1N4MMGZI ","M1N4STAXI ","M1N4STAYI ","M1N4STAZI ","M1N4STVXI ","M1N4STVYI ","M1N4STVZI ", & + "M1N4VXI ","M1N4VYI ","M1N4VZI ","M1N5AXI ","M1N5AYI ","M1N5AZI ","M1N5DYNP ", & + "M1N5FAFXI ","M1N5FAFYI ","M1N5FAFZI ","M1N5FAGXI ","M1N5FAGYI ","M1N5FAGZI ","M1N5FAMXI ", & + "M1N5FAMYI ","M1N5FAMZI ","M1N5FBFXI ","M1N5FBFYI ","M1N5FBFZI ","M1N5FBXI ","M1N5FBYI ", & + "M1N5FBZI ","M1N5FDXI ","M1N5FDYI ","M1N5FDZI ","M1N5FIXI ","M1N5FIYI ","M1N5FIZI ", & + "M1N5FMGXI ","M1N5FMGYI ","M1N5FMGZI ","M1N5FWEXI ","M1N5FWEYI ","M1N5FWEZI ","M1N5MAFXI ", & "M1N5MAFYI ","M1N5MAFZI ","M1N5MAGXI ","M1N5MAGYI ","M1N5MAGZI ","M1N5MBFXI ","M1N5MBFYI ", & "M1N5MBFZI ","M1N5MBXI ","M1N5MBYI ","M1N5MBZI ","M1N5MMGXI ","M1N5MMGYI ","M1N5MMGZI ", & "M1N5STAXI ","M1N5STAYI ","M1N5STAZI ","M1N5STVXI ","M1N5STVYI ","M1N5STVZI ","M1N5VXI ", & @@ -6528,51 +6896,54 @@ MODULE Morison_Output "M1N6FAFYI ","M1N6FAFZI ","M1N6FAGXI ","M1N6FAGYI ","M1N6FAGZI ","M1N6FAMXI ","M1N6FAMYI ", & "M1N6FAMZI ","M1N6FBFXI ","M1N6FBFYI ","M1N6FBFZI ","M1N6FBXI ","M1N6FBYI ","M1N6FBZI ", & "M1N6FDXI ","M1N6FDYI ","M1N6FDZI ","M1N6FIXI ","M1N6FIYI ","M1N6FIZI ","M1N6FMGXI ", & - "M1N6FMGYI ","M1N6FMGZI ","M1N6MAFXI ","M1N6MAFYI ","M1N6MAFZI ","M1N6MAGXI ","M1N6MAGYI ", & - "M1N6MAGZI ","M1N6MBFXI ","M1N6MBFYI ","M1N6MBFZI ","M1N6MBXI ","M1N6MBYI ","M1N6MBZI ", & - "M1N6MMGXI ","M1N6MMGYI ","M1N6MMGZI ","M1N6STAXI ","M1N6STAYI ","M1N6STAZI ","M1N6STVXI ", & - "M1N6STVYI ","M1N6STVZI ","M1N6VXI ","M1N6VYI ","M1N6VZI ","M1N7AXI ","M1N7AYI ", & - "M1N7AZI ","M1N7DYNP ","M1N7FAFXI ","M1N7FAFYI ","M1N7FAFZI ","M1N7FAGXI ","M1N7FAGYI ", & - "M1N7FAGZI ","M1N7FAMXI ","M1N7FAMYI ","M1N7FAMZI ","M1N7FBFXI ","M1N7FBFYI ","M1N7FBFZI ", & - "M1N7FBXI ","M1N7FBYI ","M1N7FBZI ","M1N7FDXI ","M1N7FDYI ","M1N7FDZI ","M1N7FIXI ", & - "M1N7FIYI ","M1N7FIZI ","M1N7FMGXI ","M1N7FMGYI ","M1N7FMGZI ","M1N7MAFXI ","M1N7MAFYI ", & - "M1N7MAFZI ","M1N7MAGXI ","M1N7MAGYI ","M1N7MAGZI ","M1N7MBFXI ","M1N7MBFYI ","M1N7MBFZI ", & - "M1N7MBXI ","M1N7MBYI ","M1N7MBZI ","M1N7MMGXI ","M1N7MMGYI ","M1N7MMGZI ","M1N7STAXI ", & - "M1N7STAYI ","M1N7STAZI ","M1N7STVXI ","M1N7STVYI ","M1N7STVZI ","M1N7VXI ","M1N7VYI ", & - "M1N7VZI ","M1N8AXI ","M1N8AYI ","M1N8AZI ","M1N8DYNP ","M1N8FAFXI ","M1N8FAFYI ", & - "M1N8FAFZI ","M1N8FAGXI ","M1N8FAGYI ","M1N8FAGZI ","M1N8FAMXI ","M1N8FAMYI ","M1N8FAMZI ", & - "M1N8FBFXI ","M1N8FBFYI ","M1N8FBFZI ","M1N8FBXI ","M1N8FBYI ","M1N8FBZI ","M1N8FDXI ", & - "M1N8FDYI ","M1N8FDZI ","M1N8FIXI ","M1N8FIYI ","M1N8FIZI ","M1N8FMGXI ","M1N8FMGYI ", & - "M1N8FMGZI ","M1N8MAFXI ","M1N8MAFYI ","M1N8MAFZI ","M1N8MAGXI ","M1N8MAGYI ","M1N8MAGZI ", & - "M1N8MBFXI ","M1N8MBFYI ","M1N8MBFZI ","M1N8MBXI ","M1N8MBYI ","M1N8MBZI ","M1N8MMGXI ", & - "M1N8MMGYI ","M1N8MMGZI ","M1N8STAXI ","M1N8STAYI ","M1N8STAZI ","M1N8STVXI ","M1N8STVYI ", & - "M1N8STVZI ","M1N8VXI ","M1N8VYI ","M1N8VZI ","M1N9AXI ","M1N9AYI ","M1N9AZI ", & - "M1N9DYNP ","M1N9FAFXI ","M1N9FAFYI ","M1N9FAFZI ","M1N9FAGXI ","M1N9FAGYI ","M1N9FAGZI ", & - "M1N9FAMXI ","M1N9FAMYI ","M1N9FAMZI ","M1N9FBFXI ","M1N9FBFYI ","M1N9FBFZI ","M1N9FBXI ", & - "M1N9FBYI ","M1N9FBZI ","M1N9FDXI ","M1N9FDYI ","M1N9FDZI ","M1N9FIXI ","M1N9FIYI ", & - "M1N9FIZI ","M1N9FMGXI ","M1N9FMGYI ","M1N9FMGZI ","M1N9MAFXI ","M1N9MAFYI ","M1N9MAFZI ", & - "M1N9MAGXI ","M1N9MAGYI ","M1N9MAGZI ","M1N9MBFXI ","M1N9MBFYI ","M1N9MBFZI ","M1N9MBXI ", & - "M1N9MBYI ","M1N9MBZI ","M1N9MMGXI ","M1N9MMGYI ","M1N9MMGZI ","M1N9STAXI ","M1N9STAYI ", & - "M1N9STAZI ","M1N9STVXI ","M1N9STVYI ","M1N9STVZI ","M1N9VXI ","M1N9VYI ","M1N9VZI ", & - "M2N1AXI ","M2N1AYI ","M2N1AZI ","M2N1DYNP ","M2N1FAFXI ","M2N1FAFYI ","M2N1FAFZI ", & - "M2N1FAGXI ","M2N1FAGYI ","M2N1FAGZI ","M2N1FAMXI ","M2N1FAMYI ","M2N1FAMZI ","M2N1FBFXI ", & - "M2N1FBFYI ","M2N1FBFZI ","M2N1FBXI ","M2N1FBYI ","M2N1FBZI ","M2N1FDXI ","M2N1FDYI ", & - "M2N1FDZI ","M2N1FIXI ","M2N1FIYI ","M2N1FIZI ","M2N1FMGXI ","M2N1FMGYI ","M2N1FMGZI ", & - "M2N1MAFXI ","M2N1MAFYI ","M2N1MAFZI ","M2N1MAGXI ","M2N1MAGYI ","M2N1MAGZI ","M2N1MBFXI ", & - "M2N1MBFYI ","M2N1MBFZI ","M2N1MBXI ","M2N1MBYI ","M2N1MBZI ","M2N1MMGXI ","M2N1MMGYI ", & - "M2N1MMGZI ","M2N1STAXI ","M2N1STAYI ","M2N1STAZI ","M2N1STVXI ","M2N1STVYI ","M2N1STVZI ", & - "M2N1VXI ","M2N1VYI ","M2N1VZI ","M2N2AXI ","M2N2AYI ","M2N2AZI ","M2N2DYNP ", & - "M2N2FAFXI ","M2N2FAFYI ","M2N2FAFZI ","M2N2FAGXI ","M2N2FAGYI ","M2N2FAGZI ","M2N2FAMXI ", & - "M2N2FAMYI ","M2N2FAMZI ","M2N2FBFXI ","M2N2FBFYI ","M2N2FBFZI ","M2N2FBXI ","M2N2FBYI ", & - "M2N2FBZI ","M2N2FDXI ","M2N2FDYI ","M2N2FDZI ","M2N2FIXI ","M2N2FIYI ","M2N2FIZI ", & - "M2N2FMGXI ","M2N2FMGYI ","M2N2FMGZI ","M2N2MAFXI ","M2N2MAFYI ","M2N2MAFZI ","M2N2MAGXI ", & - "M2N2MAGYI ","M2N2MAGZI ","M2N2MBFXI ","M2N2MBFYI ","M2N2MBFZI ","M2N2MBXI ","M2N2MBYI ", & - "M2N2MBZI ","M2N2MMGXI ","M2N2MMGYI ","M2N2MMGZI ","M2N2STAXI ","M2N2STAYI ","M2N2STAZI ", & - "M2N2STVXI ","M2N2STVYI ","M2N2STVZI ","M2N2VXI ","M2N2VYI ","M2N2VZI ","M2N3AXI ", & - "M2N3AYI ","M2N3AZI ","M2N3DYNP ","M2N3FAFXI ","M2N3FAFYI ","M2N3FAFZI ","M2N3FAGXI ", & - "M2N3FAGYI ","M2N3FAGZI ","M2N3FAMXI ","M2N3FAMYI ","M2N3FAMZI ","M2N3FBFXI ","M2N3FBFYI ", & - "M2N3FBFZI ","M2N3FBXI ","M2N3FBYI ","M2N3FBZI ","M2N3FDXI ","M2N3FDYI ","M2N3FDZI ", & - "M2N3FIXI ","M2N3FIYI ","M2N3FIZI ","M2N3FMGXI ","M2N3FMGYI ","M2N3FMGZI ","M2N3MAFXI ", & + "M1N6FMGYI ","M1N6FMGZI ","M1N6FWEXI ","M1N6FWEYI ","M1N6FWEZI ","M1N6MAFXI ","M1N6MAFYI ", & + "M1N6MAFZI ","M1N6MAGXI ","M1N6MAGYI ","M1N6MAGZI ","M1N6MBFXI ","M1N6MBFYI ","M1N6MBFZI ", & + "M1N6MBXI ","M1N6MBYI ","M1N6MBZI ","M1N6MMGXI ","M1N6MMGYI ","M1N6MMGZI ","M1N6STAXI ", & + "M1N6STAYI ","M1N6STAZI ","M1N6STVXI ","M1N6STVYI ","M1N6STVZI ","M1N6VXI ","M1N6VYI ", & + "M1N6VZI ","M1N7AXI ","M1N7AYI ","M1N7AZI ","M1N7DYNP ","M1N7FAFXI ","M1N7FAFYI ", & + "M1N7FAFZI ","M1N7FAGXI ","M1N7FAGYI ","M1N7FAGZI ","M1N7FAMXI ","M1N7FAMYI ","M1N7FAMZI ", & + "M1N7FBFXI ","M1N7FBFYI ","M1N7FBFZI ","M1N7FBXI ","M1N7FBYI ","M1N7FBZI ","M1N7FDXI ", & + "M1N7FDYI ","M1N7FDZI ","M1N7FIXI ","M1N7FIYI ","M1N7FIZI ","M1N7FMGXI ","M1N7FMGYI ", & + "M1N7FMGZI ","M1N7FWEXI ","M1N7FWEYI ","M1N7FWEZI ","M1N7MAFXI ","M1N7MAFYI ","M1N7MAFZI ", & + "M1N7MAGXI ","M1N7MAGYI ","M1N7MAGZI ","M1N7MBFXI ","M1N7MBFYI ","M1N7MBFZI ","M1N7MBXI ", & + "M1N7MBYI ","M1N7MBZI ","M1N7MMGXI ","M1N7MMGYI ","M1N7MMGZI ","M1N7STAXI ","M1N7STAYI ", & + "M1N7STAZI ","M1N7STVXI ","M1N7STVYI ","M1N7STVZI ","M1N7VXI ","M1N7VYI ","M1N7VZI ", & + "M1N8AXI ","M1N8AYI ","M1N8AZI ","M1N8DYNP ","M1N8FAFXI ","M1N8FAFYI ","M1N8FAFZI ", & + "M1N8FAGXI ","M1N8FAGYI ","M1N8FAGZI ","M1N8FAMXI ","M1N8FAMYI ","M1N8FAMZI ","M1N8FBFXI ", & + "M1N8FBFYI ","M1N8FBFZI ","M1N8FBXI ","M1N8FBYI ","M1N8FBZI ","M1N8FDXI ","M1N8FDYI ", & + "M1N8FDZI ","M1N8FIXI ","M1N8FIYI ","M1N8FIZI ","M1N8FMGXI ","M1N8FMGYI ","M1N8FMGZI ", & + "M1N8FWEXI ","M1N8FWEYI ","M1N8FWEZI ","M1N8MAFXI ","M1N8MAFYI ","M1N8MAFZI ","M1N8MAGXI ", & + "M1N8MAGYI ","M1N8MAGZI ","M1N8MBFXI ","M1N8MBFYI ","M1N8MBFZI ","M1N8MBXI ","M1N8MBYI ", & + "M1N8MBZI ","M1N8MMGXI ","M1N8MMGYI ","M1N8MMGZI ","M1N8STAXI ","M1N8STAYI ","M1N8STAZI ", & + "M1N8STVXI ","M1N8STVYI ","M1N8STVZI ","M1N8VXI ","M1N8VYI ","M1N8VZI ","M1N9AXI ", & + "M1N9AYI ","M1N9AZI ","M1N9DYNP ","M1N9FAFXI ","M1N9FAFYI ","M1N9FAFZI ","M1N9FAGXI ", & + "M1N9FAGYI ","M1N9FAGZI ","M1N9FAMXI ","M1N9FAMYI ","M1N9FAMZI ","M1N9FBFXI ","M1N9FBFYI ", & + "M1N9FBFZI ","M1N9FBXI ","M1N9FBYI ","M1N9FBZI ","M1N9FDXI ","M1N9FDYI ","M1N9FDZI ", & + "M1N9FIXI ","M1N9FIYI ","M1N9FIZI ","M1N9FMGXI ","M1N9FMGYI ","M1N9FMGZI ","M1N9FWEXI ", & + "M1N9FWEYI ","M1N9FWEZI ","M1N9MAFXI ","M1N9MAFYI ","M1N9MAFZI ","M1N9MAGXI ","M1N9MAGYI ", & + "M1N9MAGZI ","M1N9MBFXI ","M1N9MBFYI ","M1N9MBFZI ","M1N9MBXI ","M1N9MBYI ","M1N9MBZI ", & + "M1N9MMGXI ","M1N9MMGYI ","M1N9MMGZI ","M1N9STAXI ","M1N9STAYI ","M1N9STAZI ","M1N9STVXI ", & + "M1N9STVYI ","M1N9STVZI ","M1N9VXI ","M1N9VYI ","M1N9VZI ","M2N1AXI ","M2N1AYI ", & + "M2N1AZI ","M2N1DYNP ","M2N1FAFXI ","M2N1FAFYI ","M2N1FAFZI ","M2N1FAGXI ","M2N1FAGYI ", & + "M2N1FAGZI ","M2N1FAMXI ","M2N1FAMYI ","M2N1FAMZI ","M2N1FBFXI ","M2N1FBFYI ","M2N1FBFZI ", & + "M2N1FBXI ","M2N1FBYI ","M2N1FBZI ","M2N1FDXI ","M2N1FDYI ","M2N1FDZI ","M2N1FIXI ", & + "M2N1FIYI ","M2N1FIZI ","M2N1FMGXI ","M2N1FMGYI ","M2N1FMGZI ","M2N1FWEXI ","M2N1FWEYI ", & + "M2N1FWEZI ","M2N1MAFXI ","M2N1MAFYI ","M2N1MAFZI ","M2N1MAGXI ","M2N1MAGYI ","M2N1MAGZI ", & + "M2N1MBFXI ","M2N1MBFYI ","M2N1MBFZI ","M2N1MBXI ","M2N1MBYI ","M2N1MBZI ","M2N1MMGXI ", & + "M2N1MMGYI ","M2N1MMGZI ","M2N1STAXI ","M2N1STAYI ","M2N1STAZI ","M2N1STVXI ","M2N1STVYI ", & + "M2N1STVZI ","M2N1VXI ","M2N1VYI ","M2N1VZI ","M2N2AXI ","M2N2AYI ","M2N2AZI ", & + "M2N2DYNP ","M2N2FAFXI ","M2N2FAFYI ","M2N2FAFZI ","M2N2FAGXI ","M2N2FAGYI ","M2N2FAGZI ", & + "M2N2FAMXI ","M2N2FAMYI ","M2N2FAMZI ","M2N2FBFXI ","M2N2FBFYI ","M2N2FBFZI ","M2N2FBXI ", & + "M2N2FBYI ","M2N2FBZI ","M2N2FDXI ","M2N2FDYI ","M2N2FDZI ","M2N2FIXI ","M2N2FIYI ", & + "M2N2FIZI ","M2N2FMGXI ","M2N2FMGYI ","M2N2FMGZI ","M2N2FWEXI ","M2N2FWEYI ","M2N2FWEZI ", & + "M2N2MAFXI ","M2N2MAFYI ","M2N2MAFZI ","M2N2MAGXI ","M2N2MAGYI ","M2N2MAGZI ","M2N2MBFXI ", & + "M2N2MBFYI ","M2N2MBFZI ","M2N2MBXI ","M2N2MBYI ","M2N2MBZI ","M2N2MMGXI ","M2N2MMGYI ", & + "M2N2MMGZI ","M2N2STAXI ","M2N2STAYI ","M2N2STAZI ","M2N2STVXI ","M2N2STVYI ","M2N2STVZI ", & + "M2N2VXI ","M2N2VYI ","M2N2VZI ","M2N3AXI ","M2N3AYI ","M2N3AZI ","M2N3DYNP ", & + "M2N3FAFXI ","M2N3FAFYI ","M2N3FAFZI ","M2N3FAGXI ","M2N3FAGYI ","M2N3FAGZI ","M2N3FAMXI ", & + "M2N3FAMYI ","M2N3FAMZI ","M2N3FBFXI ","M2N3FBFYI ","M2N3FBFZI ","M2N3FBXI ","M2N3FBYI ", & + "M2N3FBZI ","M2N3FDXI ","M2N3FDYI ","M2N3FDZI ","M2N3FIXI ","M2N3FIYI ","M2N3FIZI ", & + "M2N3FMGXI ","M2N3FMGYI ","M2N3FMGZI ","M2N3FWEXI ","M2N3FWEYI ","M2N3FWEZI ","M2N3MAFXI ", & "M2N3MAFYI ","M2N3MAFZI ","M2N3MAGXI ","M2N3MAGYI ","M2N3MAGZI ","M2N3MBFXI ","M2N3MBFYI ", & "M2N3MBFZI ","M2N3MBXI ","M2N3MBYI ","M2N3MBZI ","M2N3MMGXI ","M2N3MMGYI ","M2N3MMGZI ", & "M2N3STAXI ","M2N3STAYI ","M2N3STAZI ","M2N3STVXI ","M2N3STVYI ","M2N3STVZI ","M2N3VXI ", & @@ -6580,51 +6951,54 @@ MODULE Morison_Output "M2N4FAFYI ","M2N4FAFZI ","M2N4FAGXI ","M2N4FAGYI ","M2N4FAGZI ","M2N4FAMXI ","M2N4FAMYI ", & "M2N4FAMZI ","M2N4FBFXI ","M2N4FBFYI ","M2N4FBFZI ","M2N4FBXI ","M2N4FBYI ","M2N4FBZI ", & "M2N4FDXI ","M2N4FDYI ","M2N4FDZI ","M2N4FIXI ","M2N4FIYI ","M2N4FIZI ","M2N4FMGXI ", & - "M2N4FMGYI ","M2N4FMGZI ","M2N4MAFXI ","M2N4MAFYI ","M2N4MAFZI ","M2N4MAGXI ","M2N4MAGYI ", & - "M2N4MAGZI ","M2N4MBFXI ","M2N4MBFYI ","M2N4MBFZI ","M2N4MBXI ","M2N4MBYI ","M2N4MBZI ", & - "M2N4MMGXI ","M2N4MMGYI ","M2N4MMGZI ","M2N4STAXI ","M2N4STAYI ","M2N4STAZI ","M2N4STVXI ", & - "M2N4STVYI ","M2N4STVZI ","M2N4VXI ","M2N4VYI ","M2N4VZI ","M2N5AXI ","M2N5AYI ", & - "M2N5AZI ","M2N5DYNP ","M2N5FAFXI ","M2N5FAFYI ","M2N5FAFZI ","M2N5FAGXI ","M2N5FAGYI ", & - "M2N5FAGZI ","M2N5FAMXI ","M2N5FAMYI ","M2N5FAMZI ","M2N5FBFXI ","M2N5FBFYI ","M2N5FBFZI ", & - "M2N5FBXI ","M2N5FBYI ","M2N5FBZI ","M2N5FDXI ","M2N5FDYI ","M2N5FDZI ","M2N5FIXI ", & - "M2N5FIYI ","M2N5FIZI ","M2N5FMGXI ","M2N5FMGYI ","M2N5FMGZI ","M2N5MAFXI ","M2N5MAFYI ", & - "M2N5MAFZI ","M2N5MAGXI ","M2N5MAGYI ","M2N5MAGZI ","M2N5MBFXI ","M2N5MBFYI ","M2N5MBFZI ", & - "M2N5MBXI ","M2N5MBYI ","M2N5MBZI ","M2N5MMGXI ","M2N5MMGYI ","M2N5MMGZI ","M2N5STAXI ", & - "M2N5STAYI ","M2N5STAZI ","M2N5STVXI ","M2N5STVYI ","M2N5STVZI ","M2N5VXI ","M2N5VYI ", & - "M2N5VZI ","M2N6AXI ","M2N6AYI ","M2N6AZI ","M2N6DYNP ","M2N6FAFXI ","M2N6FAFYI ", & - "M2N6FAFZI ","M2N6FAGXI ","M2N6FAGYI ","M2N6FAGZI ","M2N6FAMXI ","M2N6FAMYI ","M2N6FAMZI ", & - "M2N6FBFXI ","M2N6FBFYI ","M2N6FBFZI ","M2N6FBXI ","M2N6FBYI ","M2N6FBZI ","M2N6FDXI ", & - "M2N6FDYI ","M2N6FDZI ","M2N6FIXI ","M2N6FIYI ","M2N6FIZI ","M2N6FMGXI ","M2N6FMGYI ", & - "M2N6FMGZI ","M2N6MAFXI ","M2N6MAFYI ","M2N6MAFZI ","M2N6MAGXI ","M2N6MAGYI ","M2N6MAGZI ", & - "M2N6MBFXI ","M2N6MBFYI ","M2N6MBFZI ","M2N6MBXI ","M2N6MBYI ","M2N6MBZI ","M2N6MMGXI ", & - "M2N6MMGYI ","M2N6MMGZI ","M2N6STAXI ","M2N6STAYI ","M2N6STAZI ","M2N6STVXI ","M2N6STVYI ", & - "M2N6STVZI ","M2N6VXI ","M2N6VYI ","M2N6VZI ","M2N7AXI ","M2N7AYI ","M2N7AZI ", & - "M2N7DYNP ","M2N7FAFXI ","M2N7FAFYI ","M2N7FAFZI ","M2N7FAGXI ","M2N7FAGYI ","M2N7FAGZI ", & - "M2N7FAMXI ","M2N7FAMYI ","M2N7FAMZI ","M2N7FBFXI ","M2N7FBFYI ","M2N7FBFZI ","M2N7FBXI ", & - "M2N7FBYI ","M2N7FBZI ","M2N7FDXI ","M2N7FDYI ","M2N7FDZI ","M2N7FIXI ","M2N7FIYI ", & - "M2N7FIZI ","M2N7FMGXI ","M2N7FMGYI ","M2N7FMGZI ","M2N7MAFXI ","M2N7MAFYI ","M2N7MAFZI ", & - "M2N7MAGXI ","M2N7MAGYI ","M2N7MAGZI ","M2N7MBFXI ","M2N7MBFYI ","M2N7MBFZI ","M2N7MBXI ", & - "M2N7MBYI ","M2N7MBZI ","M2N7MMGXI ","M2N7MMGYI ","M2N7MMGZI ","M2N7STAXI ","M2N7STAYI ", & - "M2N7STAZI ","M2N7STVXI ","M2N7STVYI ","M2N7STVZI ","M2N7VXI ","M2N7VYI ","M2N7VZI ", & - "M2N8AXI ","M2N8AYI ","M2N8AZI ","M2N8DYNP ","M2N8FAFXI ","M2N8FAFYI ","M2N8FAFZI ", & - "M2N8FAGXI ","M2N8FAGYI ","M2N8FAGZI ","M2N8FAMXI ","M2N8FAMYI ","M2N8FAMZI ","M2N8FBFXI ", & - "M2N8FBFYI ","M2N8FBFZI ","M2N8FBXI ","M2N8FBYI ","M2N8FBZI ","M2N8FDXI ","M2N8FDYI ", & - "M2N8FDZI ","M2N8FIXI ","M2N8FIYI ","M2N8FIZI ","M2N8FMGXI ","M2N8FMGYI ","M2N8FMGZI ", & - "M2N8MAFXI ","M2N8MAFYI ","M2N8MAFZI ","M2N8MAGXI ","M2N8MAGYI ","M2N8MAGZI ","M2N8MBFXI ", & - "M2N8MBFYI ","M2N8MBFZI ","M2N8MBXI ","M2N8MBYI ","M2N8MBZI ","M2N8MMGXI ","M2N8MMGYI ", & - "M2N8MMGZI ","M2N8STAXI ","M2N8STAYI ","M2N8STAZI ","M2N8STVXI ","M2N8STVYI ","M2N8STVZI ", & - "M2N8VXI ","M2N8VYI ","M2N8VZI ","M2N9AXI ","M2N9AYI ","M2N9AZI ","M2N9DYNP ", & - "M2N9FAFXI ","M2N9FAFYI ","M2N9FAFZI ","M2N9FAGXI ","M2N9FAGYI ","M2N9FAGZI ","M2N9FAMXI ", & - "M2N9FAMYI ","M2N9FAMZI ","M2N9FBFXI ","M2N9FBFYI ","M2N9FBFZI ","M2N9FBXI ","M2N9FBYI ", & - "M2N9FBZI ","M2N9FDXI ","M2N9FDYI ","M2N9FDZI ","M2N9FIXI ","M2N9FIYI ","M2N9FIZI ", & - "M2N9FMGXI ","M2N9FMGYI ","M2N9FMGZI ","M2N9MAFXI ","M2N9MAFYI ","M2N9MAFZI ","M2N9MAGXI ", & - "M2N9MAGYI ","M2N9MAGZI ","M2N9MBFXI ","M2N9MBFYI ","M2N9MBFZI ","M2N9MBXI ","M2N9MBYI ", & - "M2N9MBZI ","M2N9MMGXI ","M2N9MMGYI ","M2N9MMGZI ","M2N9STAXI ","M2N9STAYI ","M2N9STAZI ", & - "M2N9STVXI ","M2N9STVYI ","M2N9STVZI ","M2N9VXI ","M2N9VYI ","M2N9VZI ","M3N1AXI ", & - "M3N1AYI ","M3N1AZI ","M3N1DYNP ","M3N1FAFXI ","M3N1FAFYI ","M3N1FAFZI ","M3N1FAGXI ", & - "M3N1FAGYI ","M3N1FAGZI ","M3N1FAMXI ","M3N1FAMYI ","M3N1FAMZI ","M3N1FBFXI ","M3N1FBFYI ", & - "M3N1FBFZI ","M3N1FBXI ","M3N1FBYI ","M3N1FBZI ","M3N1FDXI ","M3N1FDYI ","M3N1FDZI ", & - "M3N1FIXI ","M3N1FIYI ","M3N1FIZI ","M3N1FMGXI ","M3N1FMGYI ","M3N1FMGZI ","M3N1MAFXI ", & + "M2N4FMGYI ","M2N4FMGZI ","M2N4FWEXI ","M2N4FWEYI ","M2N4FWEZI ","M2N4MAFXI ","M2N4MAFYI ", & + "M2N4MAFZI ","M2N4MAGXI ","M2N4MAGYI ","M2N4MAGZI ","M2N4MBFXI ","M2N4MBFYI ","M2N4MBFZI ", & + "M2N4MBXI ","M2N4MBYI ","M2N4MBZI ","M2N4MMGXI ","M2N4MMGYI ","M2N4MMGZI ","M2N4STAXI ", & + "M2N4STAYI ","M2N4STAZI ","M2N4STVXI ","M2N4STVYI ","M2N4STVZI ","M2N4VXI ","M2N4VYI ", & + "M2N4VZI ","M2N5AXI ","M2N5AYI ","M2N5AZI ","M2N5DYNP ","M2N5FAFXI ","M2N5FAFYI ", & + "M2N5FAFZI ","M2N5FAGXI ","M2N5FAGYI ","M2N5FAGZI ","M2N5FAMXI ","M2N5FAMYI ","M2N5FAMZI ", & + "M2N5FBFXI ","M2N5FBFYI ","M2N5FBFZI ","M2N5FBXI ","M2N5FBYI ","M2N5FBZI ","M2N5FDXI ", & + "M2N5FDYI ","M2N5FDZI ","M2N5FIXI ","M2N5FIYI ","M2N5FIZI ","M2N5FMGXI ","M2N5FMGYI ", & + "M2N5FMGZI ","M2N5FWEXI ","M2N5FWEYI ","M2N5FWEZI ","M2N5MAFXI ","M2N5MAFYI ","M2N5MAFZI ", & + "M2N5MAGXI ","M2N5MAGYI ","M2N5MAGZI ","M2N5MBFXI ","M2N5MBFYI ","M2N5MBFZI ","M2N5MBXI ", & + "M2N5MBYI ","M2N5MBZI ","M2N5MMGXI ","M2N5MMGYI ","M2N5MMGZI ","M2N5STAXI ","M2N5STAYI ", & + "M2N5STAZI ","M2N5STVXI ","M2N5STVYI ","M2N5STVZI ","M2N5VXI ","M2N5VYI ","M2N5VZI ", & + "M2N6AXI ","M2N6AYI ","M2N6AZI ","M2N6DYNP ","M2N6FAFXI ","M2N6FAFYI ","M2N6FAFZI ", & + "M2N6FAGXI ","M2N6FAGYI ","M2N6FAGZI ","M2N6FAMXI ","M2N6FAMYI ","M2N6FAMZI ","M2N6FBFXI ", & + "M2N6FBFYI ","M2N6FBFZI ","M2N6FBXI ","M2N6FBYI ","M2N6FBZI ","M2N6FDXI ","M2N6FDYI ", & + "M2N6FDZI ","M2N6FIXI ","M2N6FIYI ","M2N6FIZI ","M2N6FMGXI ","M2N6FMGYI ","M2N6FMGZI ", & + "M2N6FWEXI ","M2N6FWEYI ","M2N6FWEZI ","M2N6MAFXI ","M2N6MAFYI ","M2N6MAFZI ","M2N6MAGXI ", & + "M2N6MAGYI ","M2N6MAGZI ","M2N6MBFXI ","M2N6MBFYI ","M2N6MBFZI ","M2N6MBXI ","M2N6MBYI ", & + "M2N6MBZI ","M2N6MMGXI ","M2N6MMGYI ","M2N6MMGZI ","M2N6STAXI ","M2N6STAYI ","M2N6STAZI ", & + "M2N6STVXI ","M2N6STVYI ","M2N6STVZI ","M2N6VXI ","M2N6VYI ","M2N6VZI ","M2N7AXI ", & + "M2N7AYI ","M2N7AZI ","M2N7DYNP ","M2N7FAFXI ","M2N7FAFYI ","M2N7FAFZI ","M2N7FAGXI ", & + "M2N7FAGYI ","M2N7FAGZI ","M2N7FAMXI ","M2N7FAMYI ","M2N7FAMZI ","M2N7FBFXI ","M2N7FBFYI ", & + "M2N7FBFZI ","M2N7FBXI ","M2N7FBYI ","M2N7FBZI ","M2N7FDXI ","M2N7FDYI ","M2N7FDZI ", & + "M2N7FIXI ","M2N7FIYI ","M2N7FIZI ","M2N7FMGXI ","M2N7FMGYI ","M2N7FMGZI ","M2N7FWEXI ", & + "M2N7FWEYI ","M2N7FWEZI ","M2N7MAFXI ","M2N7MAFYI ","M2N7MAFZI ","M2N7MAGXI ","M2N7MAGYI ", & + "M2N7MAGZI ","M2N7MBFXI ","M2N7MBFYI ","M2N7MBFZI ","M2N7MBXI ","M2N7MBYI ","M2N7MBZI ", & + "M2N7MMGXI ","M2N7MMGYI ","M2N7MMGZI ","M2N7STAXI ","M2N7STAYI ","M2N7STAZI ","M2N7STVXI ", & + "M2N7STVYI ","M2N7STVZI ","M2N7VXI ","M2N7VYI ","M2N7VZI ","M2N8AXI ","M2N8AYI ", & + "M2N8AZI ","M2N8DYNP ","M2N8FAFXI ","M2N8FAFYI ","M2N8FAFZI ","M2N8FAGXI ","M2N8FAGYI ", & + "M2N8FAGZI ","M2N8FAMXI ","M2N8FAMYI ","M2N8FAMZI ","M2N8FBFXI ","M2N8FBFYI ","M2N8FBFZI ", & + "M2N8FBXI ","M2N8FBYI ","M2N8FBZI ","M2N8FDXI ","M2N8FDYI ","M2N8FDZI ","M2N8FIXI ", & + "M2N8FIYI ","M2N8FIZI ","M2N8FMGXI ","M2N8FMGYI ","M2N8FMGZI ","M2N8FWEXI ","M2N8FWEYI ", & + "M2N8FWEZI ","M2N8MAFXI ","M2N8MAFYI ","M2N8MAFZI ","M2N8MAGXI ","M2N8MAGYI ","M2N8MAGZI ", & + "M2N8MBFXI ","M2N8MBFYI ","M2N8MBFZI ","M2N8MBXI ","M2N8MBYI ","M2N8MBZI ","M2N8MMGXI ", & + "M2N8MMGYI ","M2N8MMGZI ","M2N8STAXI ","M2N8STAYI ","M2N8STAZI ","M2N8STVXI ","M2N8STVYI ", & + "M2N8STVZI ","M2N8VXI ","M2N8VYI ","M2N8VZI ","M2N9AXI ","M2N9AYI ","M2N9AZI ", & + "M2N9DYNP ","M2N9FAFXI ","M2N9FAFYI ","M2N9FAFZI ","M2N9FAGXI ","M2N9FAGYI ","M2N9FAGZI ", & + "M2N9FAMXI ","M2N9FAMYI ","M2N9FAMZI ","M2N9FBFXI ","M2N9FBFYI ","M2N9FBFZI ","M2N9FBXI ", & + "M2N9FBYI ","M2N9FBZI ","M2N9FDXI ","M2N9FDYI ","M2N9FDZI ","M2N9FIXI ","M2N9FIYI ", & + "M2N9FIZI ","M2N9FMGXI ","M2N9FMGYI ","M2N9FMGZI ","M2N9FWEXI ","M2N9FWEYI ","M2N9FWEZI ", & + "M2N9MAFXI ","M2N9MAFYI ","M2N9MAFZI ","M2N9MAGXI ","M2N9MAGYI ","M2N9MAGZI ","M2N9MBFXI ", & + "M2N9MBFYI ","M2N9MBFZI ","M2N9MBXI ","M2N9MBYI ","M2N9MBZI ","M2N9MMGXI ","M2N9MMGYI ", & + "M2N9MMGZI ","M2N9STAXI ","M2N9STAYI ","M2N9STAZI ","M2N9STVXI ","M2N9STVYI ","M2N9STVZI ", & + "M2N9VXI ","M2N9VYI ","M2N9VZI ","M3N1AXI ","M3N1AYI ","M3N1AZI ","M3N1DYNP ", & + "M3N1FAFXI ","M3N1FAFYI ","M3N1FAFZI ","M3N1FAGXI ","M3N1FAGYI ","M3N1FAGZI ","M3N1FAMXI ", & + "M3N1FAMYI ","M3N1FAMZI ","M3N1FBFXI ","M3N1FBFYI ","M3N1FBFZI ","M3N1FBXI ","M3N1FBYI ", & + "M3N1FBZI ","M3N1FDXI ","M3N1FDYI ","M3N1FDZI ","M3N1FIXI ","M3N1FIYI ","M3N1FIZI ", & + "M3N1FMGXI ","M3N1FMGYI ","M3N1FMGZI ","M3N1FWEXI ","M3N1FWEYI ","M3N1FWEZI ","M3N1MAFXI ", & "M3N1MAFYI ","M3N1MAFZI ","M3N1MAGXI ","M3N1MAGYI ","M3N1MAGZI ","M3N1MBFXI ","M3N1MBFYI ", & "M3N1MBFZI ","M3N1MBXI ","M3N1MBYI ","M3N1MBZI ","M3N1MMGXI ","M3N1MMGYI ","M3N1MMGZI ", & "M3N1STAXI ","M3N1STAYI ","M3N1STAZI ","M3N1STVXI ","M3N1STVYI ","M3N1STVZI ","M3N1VXI ", & @@ -6632,292 +7006,309 @@ MODULE Morison_Output "M3N2FAFYI ","M3N2FAFZI ","M3N2FAGXI ","M3N2FAGYI ","M3N2FAGZI ","M3N2FAMXI ","M3N2FAMYI ", & "M3N2FAMZI ","M3N2FBFXI ","M3N2FBFYI ","M3N2FBFZI ","M3N2FBXI ","M3N2FBYI ","M3N2FBZI ", & "M3N2FDXI ","M3N2FDYI ","M3N2FDZI ","M3N2FIXI ","M3N2FIYI ","M3N2FIZI ","M3N2FMGXI ", & - "M3N2FMGYI ","M3N2FMGZI ","M3N2MAFXI ","M3N2MAFYI ","M3N2MAFZI ","M3N2MAGXI ","M3N2MAGYI ", & - "M3N2MAGZI ","M3N2MBFXI ","M3N2MBFYI ","M3N2MBFZI ","M3N2MBXI ","M3N2MBYI ","M3N2MBZI ", & - "M3N2MMGXI ","M3N2MMGYI ","M3N2MMGZI ","M3N2STAXI ","M3N2STAYI ","M3N2STAZI ","M3N2STVXI ", & - "M3N2STVYI ","M3N2STVZI ","M3N2VXI ","M3N2VYI ","M3N2VZI ","M3N3AXI ","M3N3AYI ", & - "M3N3AZI ","M3N3DYNP ","M3N3FAFXI ","M3N3FAFYI ","M3N3FAFZI ","M3N3FAGXI ","M3N3FAGYI ", & - "M3N3FAGZI ","M3N3FAMXI ","M3N3FAMYI ","M3N3FAMZI ","M3N3FBFXI ","M3N3FBFYI ","M3N3FBFZI ", & - "M3N3FBXI ","M3N3FBYI ","M3N3FBZI ","M3N3FDXI ","M3N3FDYI ","M3N3FDZI ","M3N3FIXI ", & - "M3N3FIYI ","M3N3FIZI ","M3N3FMGXI ","M3N3FMGYI ","M3N3FMGZI ","M3N3MAFXI ","M3N3MAFYI ", & - "M3N3MAFZI ","M3N3MAGXI ","M3N3MAGYI ","M3N3MAGZI ","M3N3MBFXI ","M3N3MBFYI ","M3N3MBFZI ", & - "M3N3MBXI ","M3N3MBYI ","M3N3MBZI ","M3N3MMGXI ","M3N3MMGYI ","M3N3MMGZI ","M3N3STAXI ", & - "M3N3STAYI ","M3N3STAZI ","M3N3STVXI ","M3N3STVYI ","M3N3STVZI ","M3N3VXI ","M3N3VYI ", & - "M3N3VZI ","M3N4AXI ","M3N4AYI ","M3N4AZI ","M3N4DYNP ","M3N4FAFXI ","M3N4FAFYI ", & - "M3N4FAFZI ","M3N4FAGXI ","M3N4FAGYI ","M3N4FAGZI ","M3N4FAMXI ","M3N4FAMYI ","M3N4FAMZI ", & - "M3N4FBFXI ","M3N4FBFYI ","M3N4FBFZI ","M3N4FBXI ","M3N4FBYI ","M3N4FBZI ","M3N4FDXI ", & - "M3N4FDYI ","M3N4FDZI ","M3N4FIXI ","M3N4FIYI ","M3N4FIZI ","M3N4FMGXI ","M3N4FMGYI ", & - "M3N4FMGZI ","M3N4MAFXI ","M3N4MAFYI ","M3N4MAFZI ","M3N4MAGXI ","M3N4MAGYI ","M3N4MAGZI ", & - "M3N4MBFXI ","M3N4MBFYI "/) - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry2(1542) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically - "M3N4MBFZI ","M3N4MBXI ","M3N4MBYI ","M3N4MBZI ","M3N4MMGXI ","M3N4MMGYI ","M3N4MMGZI ", & - "M3N4STAXI ","M3N4STAYI ","M3N4STAZI ","M3N4STVXI ","M3N4STVYI ","M3N4STVZI ","M3N4VXI ", & - "M3N4VYI ","M3N4VZI ","M3N5AXI ","M3N5AYI ","M3N5AZI ","M3N5DYNP ","M3N5FAFXI ", & - "M3N5FAFYI ","M3N5FAFZI ","M3N5FAGXI ","M3N5FAGYI ","M3N5FAGZI ","M3N5FAMXI ","M3N5FAMYI ", & - "M3N5FAMZI ","M3N5FBFXI ","M3N5FBFYI ","M3N5FBFZI ","M3N5FBXI ","M3N5FBYI ","M3N5FBZI ", & - "M3N5FDXI ","M3N5FDYI ","M3N5FDZI ","M3N5FIXI ","M3N5FIYI ","M3N5FIZI ","M3N5FMGXI ", & - "M3N5FMGYI ","M3N5FMGZI ","M3N5MAFXI ","M3N5MAFYI ","M3N5MAFZI ","M3N5MAGXI ","M3N5MAGYI ", & - "M3N5MAGZI ","M3N5MBFXI ","M3N5MBFYI ","M3N5MBFZI ","M3N5MBXI ","M3N5MBYI ","M3N5MBZI ", & - "M3N5MMGXI ","M3N5MMGYI ","M3N5MMGZI ","M3N5STAXI ","M3N5STAYI ","M3N5STAZI ","M3N5STVXI ", & - "M3N5STVYI ","M3N5STVZI ","M3N5VXI ","M3N5VYI ","M3N5VZI ","M3N6AXI ","M3N6AYI ", & - "M3N6AZI ","M3N6DYNP ","M3N6FAFXI ","M3N6FAFYI ","M3N6FAFZI ","M3N6FAGXI ","M3N6FAGYI ", & - "M3N6FAGZI ","M3N6FAMXI ","M3N6FAMYI ","M3N6FAMZI ","M3N6FBFXI ","M3N6FBFYI ","M3N6FBFZI ", & - "M3N6FBXI ","M3N6FBYI ","M3N6FBZI ","M3N6FDXI ","M3N6FDYI ","M3N6FDZI ","M3N6FIXI ", & - "M3N6FIYI ","M3N6FIZI ","M3N6FMGXI ","M3N6FMGYI ","M3N6FMGZI ","M3N6MAFXI ","M3N6MAFYI ", & - "M3N6MAFZI ","M3N6MAGXI ","M3N6MAGYI ","M3N6MAGZI ","M3N6MBFXI ","M3N6MBFYI ","M3N6MBFZI ", & - "M3N6MBXI ","M3N6MBYI ","M3N6MBZI ","M3N6MMGXI ","M3N6MMGYI ","M3N6MMGZI ","M3N6STAXI ", & - "M3N6STAYI ","M3N6STAZI ","M3N6STVXI ","M3N6STVYI ","M3N6STVZI ","M3N6VXI ","M3N6VYI ", & - "M3N6VZI ","M3N7AXI ","M3N7AYI ","M3N7AZI ","M3N7DYNP ","M3N7FAFXI ","M3N7FAFYI ", & - "M3N7FAFZI ","M3N7FAGXI ","M3N7FAGYI ","M3N7FAGZI ","M3N7FAMXI ","M3N7FAMYI ","M3N7FAMZI ", & - "M3N7FBFXI ","M3N7FBFYI ","M3N7FBFZI ","M3N7FBXI ","M3N7FBYI ","M3N7FBZI ","M3N7FDXI ", & - "M3N7FDYI ","M3N7FDZI ","M3N7FIXI ","M3N7FIYI ","M3N7FIZI ","M3N7FMGXI ","M3N7FMGYI ", & - "M3N7FMGZI ","M3N7MAFXI ","M3N7MAFYI ","M3N7MAFZI ","M3N7MAGXI ","M3N7MAGYI ","M3N7MAGZI ", & - "M3N7MBFXI ","M3N7MBFYI ","M3N7MBFZI ","M3N7MBXI ","M3N7MBYI ","M3N7MBZI ","M3N7MMGXI ", & - "M3N7MMGYI ","M3N7MMGZI ","M3N7STAXI ","M3N7STAYI ","M3N7STAZI ","M3N7STVXI ","M3N7STVYI ", & - "M3N7STVZI ","M3N7VXI ","M3N7VYI ","M3N7VZI ","M3N8AXI ","M3N8AYI ","M3N8AZI ", & - "M3N8DYNP ","M3N8FAFXI ","M3N8FAFYI ","M3N8FAFZI ","M3N8FAGXI ","M3N8FAGYI ","M3N8FAGZI ", & - "M3N8FAMXI ","M3N8FAMYI ","M3N8FAMZI ","M3N8FBFXI ","M3N8FBFYI ","M3N8FBFZI ","M3N8FBXI ", & - "M3N8FBYI ","M3N8FBZI ","M3N8FDXI ","M3N8FDYI ","M3N8FDZI ","M3N8FIXI ","M3N8FIYI ", & - "M3N8FIZI ","M3N8FMGXI ","M3N8FMGYI ","M3N8FMGZI ","M3N8MAFXI ","M3N8MAFYI ","M3N8MAFZI ", & - "M3N8MAGXI ","M3N8MAGYI ","M3N8MAGZI ","M3N8MBFXI ","M3N8MBFYI ","M3N8MBFZI ","M3N8MBXI ", & - "M3N8MBYI ","M3N8MBZI ","M3N8MMGXI ","M3N8MMGYI ","M3N8MMGZI ","M3N8STAXI ","M3N8STAYI ", & - "M3N8STAZI ","M3N8STVXI ","M3N8STVYI ","M3N8STVZI ","M3N8VXI ","M3N8VYI ","M3N8VZI ", & - "M3N9AXI ","M3N9AYI ","M3N9AZI ","M3N9DYNP ","M3N9FAFXI ","M3N9FAFYI ","M3N9FAFZI ", & - "M3N9FAGXI ","M3N9FAGYI ","M3N9FAGZI ","M3N9FAMXI ","M3N9FAMYI ","M3N9FAMZI ","M3N9FBFXI ", & - "M3N9FBFYI ","M3N9FBFZI ","M3N9FBXI ","M3N9FBYI ","M3N9FBZI ","M3N9FDXI ","M3N9FDYI ", & - "M3N9FDZI ","M3N9FIXI ","M3N9FIYI ","M3N9FIZI ","M3N9FMGXI ","M3N9FMGYI ","M3N9FMGZI ", & - "M3N9MAFXI ","M3N9MAFYI ","M3N9MAFZI ","M3N9MAGXI ","M3N9MAGYI ","M3N9MAGZI ","M3N9MBFXI ", & - "M3N9MBFYI ","M3N9MBFZI ","M3N9MBXI ","M3N9MBYI ","M3N9MBZI ","M3N9MMGXI ","M3N9MMGYI ", & - "M3N9MMGZI ","M3N9STAXI ","M3N9STAYI ","M3N9STAZI ","M3N9STVXI ","M3N9STVYI ","M3N9STVZI ", & - "M3N9VXI ","M3N9VYI ","M3N9VZI ","M4N1AXI ","M4N1AYI ","M4N1AZI ","M4N1DYNP ", & - "M4N1FAFXI ","M4N1FAFYI ","M4N1FAFZI ","M4N1FAGXI ","M4N1FAGYI ","M4N1FAGZI ","M4N1FAMXI ", & - "M4N1FAMYI ","M4N1FAMZI ","M4N1FBFXI ","M4N1FBFYI ","M4N1FBFZI ","M4N1FBXI ","M4N1FBYI ", & - "M4N1FBZI ","M4N1FDXI ","M4N1FDYI ","M4N1FDZI ","M4N1FIXI ","M4N1FIYI ","M4N1FIZI ", & - "M4N1FMGXI ","M4N1FMGYI ","M4N1FMGZI ","M4N1MAFXI ","M4N1MAFYI ","M4N1MAFZI ","M4N1MAGXI ", & + "M3N2FMGYI ","M3N2FMGZI ","M3N2FWEXI ","M3N2FWEYI ","M3N2FWEZI ","M3N2MAFXI ","M3N2MAFYI ", & + "M3N2MAFZI ","M3N2MAGXI ","M3N2MAGYI ","M3N2MAGZI ","M3N2MBFXI ","M3N2MBFYI ","M3N2MBFZI ", & + "M3N2MBXI ","M3N2MBYI ","M3N2MBZI ","M3N2MMGXI ","M3N2MMGYI ","M3N2MMGZI ","M3N2STAXI ", & + "M3N2STAYI ","M3N2STAZI ","M3N2STVXI ","M3N2STVYI ","M3N2STVZI ","M3N2VXI ","M3N2VYI ", & + "M3N2VZI ","M3N3AXI ","M3N3AYI ","M3N3AZI ","M3N3DYNP ","M3N3FAFXI ","M3N3FAFYI ", & + "M3N3FAFZI ","M3N3FAGXI ","M3N3FAGYI ","M3N3FAGZI ","M3N3FAMXI ","M3N3FAMYI ","M3N3FAMZI ", & + "M3N3FBFXI ","M3N3FBFYI ","M3N3FBFZI ","M3N3FBXI ","M3N3FBYI ","M3N3FBZI ","M3N3FDXI ", & + "M3N3FDYI ","M3N3FDZI ","M3N3FIXI ","M3N3FIYI ","M3N3FIZI ","M3N3FMGXI ","M3N3FMGYI ", & + "M3N3FMGZI ","M3N3FWEXI ","M3N3FWEYI ","M3N3FWEZI ","M3N3MAFXI ","M3N3MAFYI ","M3N3MAFZI ", & + "M3N3MAGXI ","M3N3MAGYI ","M3N3MAGZI ","M3N3MBFXI ","M3N3MBFYI ","M3N3MBFZI ","M3N3MBXI ", & + "M3N3MBYI ","M3N3MBZI ","M3N3MMGXI ","M3N3MMGYI ","M3N3MMGZI ","M3N3STAXI ","M3N3STAYI ", & + "M3N3STAZI ","M3N3STVXI ","M3N3STVYI ","M3N3STVZI ","M3N3VXI ","M3N3VYI ","M3N3VZI ", & + "M3N4AXI ","M3N4AYI ","M3N4AZI ","M3N4DYNP ","M3N4FAFXI ","M3N4FAFYI ","M3N4FAFZI ", & + "M3N4FAGXI ","M3N4FAGYI ","M3N4FAGZI ","M3N4FAMXI ","M3N4FAMYI ","M3N4FAMZI ","M3N4FBFXI ", & + "M3N4FBFYI ","M3N4FBFZI ","M3N4FBXI ","M3N4FBYI ","M3N4FBZI ","M3N4FDXI ","M3N4FDYI ", & + "M3N4FDZI ","M3N4FIXI ","M3N4FIYI ","M3N4FIZI ","M3N4FMGXI ","M3N4FMGYI ","M3N4FMGZI ", & + "M3N4FWEXI ","M3N4FWEYI ","M3N4FWEZI ","M3N4MAFXI ","M3N4MAFYI ","M3N4MAFZI ","M3N4MAGXI ", & + "M3N4MAGYI "/) + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry2(1632) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + "M3N4MAGZI ","M3N4MBFXI ","M3N4MBFYI ","M3N4MBFZI ","M3N4MBXI ","M3N4MBYI ","M3N4MBZI ", & + "M3N4MMGXI ","M3N4MMGYI ","M3N4MMGZI ","M3N4STAXI ","M3N4STAYI ","M3N4STAZI ","M3N4STVXI ", & + "M3N4STVYI ","M3N4STVZI ","M3N4VXI ","M3N4VYI ","M3N4VZI ","M3N5AXI ","M3N5AYI ", & + "M3N5AZI ","M3N5DYNP ","M3N5FAFXI ","M3N5FAFYI ","M3N5FAFZI ","M3N5FAGXI ","M3N5FAGYI ", & + "M3N5FAGZI ","M3N5FAMXI ","M3N5FAMYI ","M3N5FAMZI ","M3N5FBFXI ","M3N5FBFYI ","M3N5FBFZI ", & + "M3N5FBXI ","M3N5FBYI ","M3N5FBZI ","M3N5FDXI ","M3N5FDYI ","M3N5FDZI ","M3N5FIXI ", & + "M3N5FIYI ","M3N5FIZI ","M3N5FMGXI ","M3N5FMGYI ","M3N5FMGZI ","M3N5FWEXI ","M3N5FWEYI ", & + "M3N5FWEZI ","M3N5MAFXI ","M3N5MAFYI ","M3N5MAFZI ","M3N5MAGXI ","M3N5MAGYI ","M3N5MAGZI ", & + "M3N5MBFXI ","M3N5MBFYI ","M3N5MBFZI ","M3N5MBXI ","M3N5MBYI ","M3N5MBZI ","M3N5MMGXI ", & + "M3N5MMGYI ","M3N5MMGZI ","M3N5STAXI ","M3N5STAYI ","M3N5STAZI ","M3N5STVXI ","M3N5STVYI ", & + "M3N5STVZI ","M3N5VXI ","M3N5VYI ","M3N5VZI ","M3N6AXI ","M3N6AYI ","M3N6AZI ", & + "M3N6DYNP ","M3N6FAFXI ","M3N6FAFYI ","M3N6FAFZI ","M3N6FAGXI ","M3N6FAGYI ","M3N6FAGZI ", & + "M3N6FAMXI ","M3N6FAMYI ","M3N6FAMZI ","M3N6FBFXI ","M3N6FBFYI ","M3N6FBFZI ","M3N6FBXI ", & + "M3N6FBYI ","M3N6FBZI ","M3N6FDXI ","M3N6FDYI ","M3N6FDZI ","M3N6FIXI ","M3N6FIYI ", & + "M3N6FIZI ","M3N6FMGXI ","M3N6FMGYI ","M3N6FMGZI ","M3N6FWEXI ","M3N6FWEYI ","M3N6FWEZI ", & + "M3N6MAFXI ","M3N6MAFYI ","M3N6MAFZI ","M3N6MAGXI ","M3N6MAGYI ","M3N6MAGZI ","M3N6MBFXI ", & + "M3N6MBFYI ","M3N6MBFZI ","M3N6MBXI ","M3N6MBYI ","M3N6MBZI ","M3N6MMGXI ","M3N6MMGYI ", & + "M3N6MMGZI ","M3N6STAXI ","M3N6STAYI ","M3N6STAZI ","M3N6STVXI ","M3N6STVYI ","M3N6STVZI ", & + "M3N6VXI ","M3N6VYI ","M3N6VZI ","M3N7AXI ","M3N7AYI ","M3N7AZI ","M3N7DYNP ", & + "M3N7FAFXI ","M3N7FAFYI ","M3N7FAFZI ","M3N7FAGXI ","M3N7FAGYI ","M3N7FAGZI ","M3N7FAMXI ", & + "M3N7FAMYI ","M3N7FAMZI ","M3N7FBFXI ","M3N7FBFYI ","M3N7FBFZI ","M3N7FBXI ","M3N7FBYI ", & + "M3N7FBZI ","M3N7FDXI ","M3N7FDYI ","M3N7FDZI ","M3N7FIXI ","M3N7FIYI ","M3N7FIZI ", & + "M3N7FMGXI ","M3N7FMGYI ","M3N7FMGZI ","M3N7FWEXI ","M3N7FWEYI ","M3N7FWEZI ","M3N7MAFXI ", & + "M3N7MAFYI ","M3N7MAFZI ","M3N7MAGXI ","M3N7MAGYI ","M3N7MAGZI ","M3N7MBFXI ","M3N7MBFYI ", & + "M3N7MBFZI ","M3N7MBXI ","M3N7MBYI ","M3N7MBZI ","M3N7MMGXI ","M3N7MMGYI ","M3N7MMGZI ", & + "M3N7STAXI ","M3N7STAYI ","M3N7STAZI ","M3N7STVXI ","M3N7STVYI ","M3N7STVZI ","M3N7VXI ", & + "M3N7VYI ","M3N7VZI ","M3N8AXI ","M3N8AYI ","M3N8AZI ","M3N8DYNP ","M3N8FAFXI ", & + "M3N8FAFYI ","M3N8FAFZI ","M3N8FAGXI ","M3N8FAGYI ","M3N8FAGZI ","M3N8FAMXI ","M3N8FAMYI ", & + "M3N8FAMZI ","M3N8FBFXI ","M3N8FBFYI ","M3N8FBFZI ","M3N8FBXI ","M3N8FBYI ","M3N8FBZI ", & + "M3N8FDXI ","M3N8FDYI ","M3N8FDZI ","M3N8FIXI ","M3N8FIYI ","M3N8FIZI ","M3N8FMGXI ", & + "M3N8FMGYI ","M3N8FMGZI ","M3N8FWEXI ","M3N8FWEYI ","M3N8FWEZI ","M3N8MAFXI ","M3N8MAFYI ", & + "M3N8MAFZI ","M3N8MAGXI ","M3N8MAGYI ","M3N8MAGZI ","M3N8MBFXI ","M3N8MBFYI ","M3N8MBFZI ", & + "M3N8MBXI ","M3N8MBYI ","M3N8MBZI ","M3N8MMGXI ","M3N8MMGYI ","M3N8MMGZI ","M3N8STAXI ", & + "M3N8STAYI ","M3N8STAZI ","M3N8STVXI ","M3N8STVYI ","M3N8STVZI ","M3N8VXI ","M3N8VYI ", & + "M3N8VZI ","M3N9AXI ","M3N9AYI ","M3N9AZI ","M3N9DYNP ","M3N9FAFXI ","M3N9FAFYI ", & + "M3N9FAFZI ","M3N9FAGXI ","M3N9FAGYI ","M3N9FAGZI ","M3N9FAMXI ","M3N9FAMYI ","M3N9FAMZI ", & + "M3N9FBFXI ","M3N9FBFYI ","M3N9FBFZI ","M3N9FBXI ","M3N9FBYI ","M3N9FBZI ","M3N9FDXI ", & + "M3N9FDYI ","M3N9FDZI ","M3N9FIXI ","M3N9FIYI ","M3N9FIZI ","M3N9FMGXI ","M3N9FMGYI ", & + "M3N9FMGZI ","M3N9FWEXI ","M3N9FWEYI ","M3N9FWEZI ","M3N9MAFXI ","M3N9MAFYI ","M3N9MAFZI ", & + "M3N9MAGXI ","M3N9MAGYI ","M3N9MAGZI ","M3N9MBFXI ","M3N9MBFYI ","M3N9MBFZI ","M3N9MBXI ", & + "M3N9MBYI ","M3N9MBZI ","M3N9MMGXI ","M3N9MMGYI ","M3N9MMGZI ","M3N9STAXI ","M3N9STAYI ", & + "M3N9STAZI ","M3N9STVXI ","M3N9STVYI ","M3N9STVZI ","M3N9VXI ","M3N9VYI ","M3N9VZI ", & + "M4N1AXI ","M4N1AYI ","M4N1AZI ","M4N1DYNP ","M4N1FAFXI ","M4N1FAFYI ","M4N1FAFZI ", & + "M4N1FAGXI ","M4N1FAGYI ","M4N1FAGZI ","M4N1FAMXI ","M4N1FAMYI ","M4N1FAMZI ","M4N1FBFXI ", & + "M4N1FBFYI ","M4N1FBFZI ","M4N1FBXI ","M4N1FBYI ","M4N1FBZI ","M4N1FDXI ","M4N1FDYI ", & + "M4N1FDZI ","M4N1FIXI ","M4N1FIYI ","M4N1FIZI ","M4N1FMGXI ","M4N1FMGYI ","M4N1FMGZI ", & + "M4N1FWEXI ","M4N1FWEYI ","M4N1FWEZI ","M4N1MAFXI ","M4N1MAFYI ","M4N1MAFZI ","M4N1MAGXI ", & "M4N1MAGYI ","M4N1MAGZI ","M4N1MBFXI ","M4N1MBFYI ","M4N1MBFZI ","M4N1MBXI ","M4N1MBYI ", & "M4N1MBZI ","M4N1MMGXI ","M4N1MMGYI ","M4N1MMGZI ","M4N1STAXI ","M4N1STAYI ","M4N1STAZI ", & "M4N1STVXI ","M4N1STVYI ","M4N1STVZI ","M4N1VXI ","M4N1VYI ","M4N1VZI ","M4N2AXI ", & "M4N2AYI ","M4N2AZI ","M4N2DYNP ","M4N2FAFXI ","M4N2FAFYI ","M4N2FAFZI ","M4N2FAGXI ", & "M4N2FAGYI ","M4N2FAGZI ","M4N2FAMXI ","M4N2FAMYI ","M4N2FAMZI ","M4N2FBFXI ","M4N2FBFYI ", & "M4N2FBFZI ","M4N2FBXI ","M4N2FBYI ","M4N2FBZI ","M4N2FDXI ","M4N2FDYI ","M4N2FDZI ", & - "M4N2FIXI ","M4N2FIYI ","M4N2FIZI ","M4N2FMGXI ","M4N2FMGYI ","M4N2FMGZI ","M4N2MAFXI ", & - "M4N2MAFYI ","M4N2MAFZI ","M4N2MAGXI ","M4N2MAGYI ","M4N2MAGZI ","M4N2MBFXI ","M4N2MBFYI ", & - "M4N2MBFZI ","M4N2MBXI ","M4N2MBYI ","M4N2MBZI ","M4N2MMGXI ","M4N2MMGYI ","M4N2MMGZI ", & - "M4N2STAXI ","M4N2STAYI ","M4N2STAZI ","M4N2STVXI ","M4N2STVYI ","M4N2STVZI ","M4N2VXI ", & - "M4N2VYI ","M4N2VZI ","M4N3AXI ","M4N3AYI ","M4N3AZI ","M4N3DYNP ","M4N3FAFXI ", & - "M4N3FAFYI ","M4N3FAFZI ","M4N3FAGXI ","M4N3FAGYI ","M4N3FAGZI ","M4N3FAMXI ","M4N3FAMYI ", & - "M4N3FAMZI ","M4N3FBFXI ","M4N3FBFYI ","M4N3FBFZI ","M4N3FBXI ","M4N3FBYI ","M4N3FBZI ", & - "M4N3FDXI ","M4N3FDYI ","M4N3FDZI ","M4N3FIXI ","M4N3FIYI ","M4N3FIZI ","M4N3FMGXI ", & - "M4N3FMGYI ","M4N3FMGZI ","M4N3MAFXI ","M4N3MAFYI ","M4N3MAFZI ","M4N3MAGXI ","M4N3MAGYI ", & - "M4N3MAGZI ","M4N3MBFXI ","M4N3MBFYI ","M4N3MBFZI ","M4N3MBXI ","M4N3MBYI ","M4N3MBZI ", & - "M4N3MMGXI ","M4N3MMGYI ","M4N3MMGZI ","M4N3STAXI ","M4N3STAYI ","M4N3STAZI ","M4N3STVXI ", & - "M4N3STVYI ","M4N3STVZI ","M4N3VXI ","M4N3VYI ","M4N3VZI ","M4N4AXI ","M4N4AYI ", & - "M4N4AZI ","M4N4DYNP ","M4N4FAFXI ","M4N4FAFYI ","M4N4FAFZI ","M4N4FAGXI ","M4N4FAGYI ", & - "M4N4FAGZI ","M4N4FAMXI ","M4N4FAMYI ","M4N4FAMZI ","M4N4FBFXI ","M4N4FBFYI ","M4N4FBFZI ", & - "M4N4FBXI ","M4N4FBYI ","M4N4FBZI ","M4N4FDXI ","M4N4FDYI ","M4N4FDZI ","M4N4FIXI ", & - "M4N4FIYI ","M4N4FIZI ","M4N4FMGXI ","M4N4FMGYI ","M4N4FMGZI ","M4N4MAFXI ","M4N4MAFYI ", & - "M4N4MAFZI ","M4N4MAGXI ","M4N4MAGYI ","M4N4MAGZI ","M4N4MBFXI ","M4N4MBFYI ","M4N4MBFZI ", & - "M4N4MBXI ","M4N4MBYI ","M4N4MBZI ","M4N4MMGXI ","M4N4MMGYI ","M4N4MMGZI ","M4N4STAXI ", & - "M4N4STAYI ","M4N4STAZI ","M4N4STVXI ","M4N4STVYI ","M4N4STVZI ","M4N4VXI ","M4N4VYI ", & - "M4N4VZI ","M4N5AXI ","M4N5AYI ","M4N5AZI ","M4N5DYNP ","M4N5FAFXI ","M4N5FAFYI ", & - "M4N5FAFZI ","M4N5FAGXI ","M4N5FAGYI ","M4N5FAGZI ","M4N5FAMXI ","M4N5FAMYI ","M4N5FAMZI ", & - "M4N5FBFXI ","M4N5FBFYI ","M4N5FBFZI ","M4N5FBXI ","M4N5FBYI ","M4N5FBZI ","M4N5FDXI ", & - "M4N5FDYI ","M4N5FDZI ","M4N5FIXI ","M4N5FIYI ","M4N5FIZI ","M4N5FMGXI ","M4N5FMGYI ", & - "M4N5FMGZI ","M4N5MAFXI ","M4N5MAFYI ","M4N5MAFZI ","M4N5MAGXI ","M4N5MAGYI ","M4N5MAGZI ", & - "M4N5MBFXI ","M4N5MBFYI ","M4N5MBFZI ","M4N5MBXI ","M4N5MBYI ","M4N5MBZI ","M4N5MMGXI ", & - "M4N5MMGYI ","M4N5MMGZI ","M4N5STAXI ","M4N5STAYI ","M4N5STAZI ","M4N5STVXI ","M4N5STVYI ", & - "M4N5STVZI ","M4N5VXI ","M4N5VYI ","M4N5VZI ","M4N6AXI ","M4N6AYI ","M4N6AZI ", & - "M4N6DYNP ","M4N6FAFXI ","M4N6FAFYI ","M4N6FAFZI ","M4N6FAGXI ","M4N6FAGYI ","M4N6FAGZI ", & - "M4N6FAMXI ","M4N6FAMYI ","M4N6FAMZI ","M4N6FBFXI ","M4N6FBFYI ","M4N6FBFZI ","M4N6FBXI ", & - "M4N6FBYI ","M4N6FBZI ","M4N6FDXI ","M4N6FDYI ","M4N6FDZI ","M4N6FIXI ","M4N6FIYI ", & - "M4N6FIZI ","M4N6FMGXI ","M4N6FMGYI ","M4N6FMGZI ","M4N6MAFXI ","M4N6MAFYI ","M4N6MAFZI ", & - "M4N6MAGXI ","M4N6MAGYI ","M4N6MAGZI ","M4N6MBFXI ","M4N6MBFYI ","M4N6MBFZI ","M4N6MBXI ", & - "M4N6MBYI ","M4N6MBZI ","M4N6MMGXI ","M4N6MMGYI ","M4N6MMGZI ","M4N6STAXI ","M4N6STAYI ", & - "M4N6STAZI ","M4N6STVXI ","M4N6STVYI ","M4N6STVZI ","M4N6VXI ","M4N6VYI ","M4N6VZI ", & - "M4N7AXI ","M4N7AYI ","M4N7AZI ","M4N7DYNP ","M4N7FAFXI ","M4N7FAFYI ","M4N7FAFZI ", & - "M4N7FAGXI ","M4N7FAGYI ","M4N7FAGZI ","M4N7FAMXI ","M4N7FAMYI ","M4N7FAMZI ","M4N7FBFXI ", & - "M4N7FBFYI ","M4N7FBFZI ","M4N7FBXI ","M4N7FBYI ","M4N7FBZI ","M4N7FDXI ","M4N7FDYI ", & - "M4N7FDZI ","M4N7FIXI ","M4N7FIYI ","M4N7FIZI ","M4N7FMGXI ","M4N7FMGYI ","M4N7FMGZI ", & - "M4N7MAFXI ","M4N7MAFYI ","M4N7MAFZI ","M4N7MAGXI ","M4N7MAGYI ","M4N7MAGZI ","M4N7MBFXI ", & - "M4N7MBFYI ","M4N7MBFZI ","M4N7MBXI ","M4N7MBYI ","M4N7MBZI ","M4N7MMGXI ","M4N7MMGYI ", & - "M4N7MMGZI ","M4N7STAXI ","M4N7STAYI ","M4N7STAZI ","M4N7STVXI ","M4N7STVYI ","M4N7STVZI ", & - "M4N7VXI ","M4N7VYI ","M4N7VZI ","M4N8AXI ","M4N8AYI ","M4N8AZI ","M4N8DYNP ", & - "M4N8FAFXI ","M4N8FAFYI ","M4N8FAFZI ","M4N8FAGXI ","M4N8FAGYI ","M4N8FAGZI ","M4N8FAMXI ", & - "M4N8FAMYI ","M4N8FAMZI ","M4N8FBFXI ","M4N8FBFYI ","M4N8FBFZI ","M4N8FBXI ","M4N8FBYI ", & - "M4N8FBZI ","M4N8FDXI ","M4N8FDYI ","M4N8FDZI ","M4N8FIXI ","M4N8FIYI ","M4N8FIZI ", & - "M4N8FMGXI ","M4N8FMGYI ","M4N8FMGZI ","M4N8MAFXI ","M4N8MAFYI ","M4N8MAFZI ","M4N8MAGXI ", & + "M4N2FIXI ","M4N2FIYI ","M4N2FIZI ","M4N2FMGXI ","M4N2FMGYI ","M4N2FMGZI ","M4N2FWEXI ", & + "M4N2FWEYI ","M4N2FWEZI ","M4N2MAFXI ","M4N2MAFYI ","M4N2MAFZI ","M4N2MAGXI ","M4N2MAGYI ", & + "M4N2MAGZI ","M4N2MBFXI ","M4N2MBFYI ","M4N2MBFZI ","M4N2MBXI ","M4N2MBYI ","M4N2MBZI ", & + "M4N2MMGXI ","M4N2MMGYI ","M4N2MMGZI ","M4N2STAXI ","M4N2STAYI ","M4N2STAZI ","M4N2STVXI ", & + "M4N2STVYI ","M4N2STVZI ","M4N2VXI ","M4N2VYI ","M4N2VZI ","M4N3AXI ","M4N3AYI ", & + "M4N3AZI ","M4N3DYNP ","M4N3FAFXI ","M4N3FAFYI ","M4N3FAFZI ","M4N3FAGXI ","M4N3FAGYI ", & + "M4N3FAGZI ","M4N3FAMXI ","M4N3FAMYI ","M4N3FAMZI ","M4N3FBFXI ","M4N3FBFYI ","M4N3FBFZI ", & + "M4N3FBXI ","M4N3FBYI ","M4N3FBZI ","M4N3FDXI ","M4N3FDYI ","M4N3FDZI ","M4N3FIXI ", & + "M4N3FIYI ","M4N3FIZI ","M4N3FMGXI ","M4N3FMGYI ","M4N3FMGZI ","M4N3FWEXI ","M4N3FWEYI ", & + "M4N3FWEZI ","M4N3MAFXI ","M4N3MAFYI ","M4N3MAFZI ","M4N3MAGXI ","M4N3MAGYI ","M4N3MAGZI ", & + "M4N3MBFXI ","M4N3MBFYI ","M4N3MBFZI ","M4N3MBXI ","M4N3MBYI ","M4N3MBZI ","M4N3MMGXI ", & + "M4N3MMGYI ","M4N3MMGZI ","M4N3STAXI ","M4N3STAYI ","M4N3STAZI ","M4N3STVXI ","M4N3STVYI ", & + "M4N3STVZI ","M4N3VXI ","M4N3VYI ","M4N3VZI ","M4N4AXI ","M4N4AYI ","M4N4AZI ", & + "M4N4DYNP ","M4N4FAFXI ","M4N4FAFYI ","M4N4FAFZI ","M4N4FAGXI ","M4N4FAGYI ","M4N4FAGZI ", & + "M4N4FAMXI ","M4N4FAMYI ","M4N4FAMZI ","M4N4FBFXI ","M4N4FBFYI ","M4N4FBFZI ","M4N4FBXI ", & + "M4N4FBYI ","M4N4FBZI ","M4N4FDXI ","M4N4FDYI ","M4N4FDZI ","M4N4FIXI ","M4N4FIYI ", & + "M4N4FIZI ","M4N4FMGXI ","M4N4FMGYI ","M4N4FMGZI ","M4N4FWEXI ","M4N4FWEYI ","M4N4FWEZI ", & + "M4N4MAFXI ","M4N4MAFYI ","M4N4MAFZI ","M4N4MAGXI ","M4N4MAGYI ","M4N4MAGZI ","M4N4MBFXI ", & + "M4N4MBFYI ","M4N4MBFZI ","M4N4MBXI ","M4N4MBYI ","M4N4MBZI ","M4N4MMGXI ","M4N4MMGYI ", & + "M4N4MMGZI ","M4N4STAXI ","M4N4STAYI ","M4N4STAZI ","M4N4STVXI ","M4N4STVYI ","M4N4STVZI ", & + "M4N4VXI ","M4N4VYI ","M4N4VZI ","M4N5AXI ","M4N5AYI ","M4N5AZI ","M4N5DYNP ", & + "M4N5FAFXI ","M4N5FAFYI ","M4N5FAFZI ","M4N5FAGXI ","M4N5FAGYI ","M4N5FAGZI ","M4N5FAMXI ", & + "M4N5FAMYI ","M4N5FAMZI ","M4N5FBFXI ","M4N5FBFYI ","M4N5FBFZI ","M4N5FBXI ","M4N5FBYI ", & + "M4N5FBZI ","M4N5FDXI ","M4N5FDYI ","M4N5FDZI ","M4N5FIXI ","M4N5FIYI ","M4N5FIZI ", & + "M4N5FMGXI ","M4N5FMGYI ","M4N5FMGZI ","M4N5FWEXI ","M4N5FWEYI ","M4N5FWEZI ","M4N5MAFXI ", & + "M4N5MAFYI ","M4N5MAFZI ","M4N5MAGXI ","M4N5MAGYI ","M4N5MAGZI ","M4N5MBFXI ","M4N5MBFYI ", & + "M4N5MBFZI ","M4N5MBXI ","M4N5MBYI ","M4N5MBZI ","M4N5MMGXI ","M4N5MMGYI ","M4N5MMGZI ", & + "M4N5STAXI ","M4N5STAYI ","M4N5STAZI ","M4N5STVXI ","M4N5STVYI ","M4N5STVZI ","M4N5VXI ", & + "M4N5VYI ","M4N5VZI ","M4N6AXI ","M4N6AYI ","M4N6AZI ","M4N6DYNP ","M4N6FAFXI ", & + "M4N6FAFYI ","M4N6FAFZI ","M4N6FAGXI ","M4N6FAGYI ","M4N6FAGZI ","M4N6FAMXI ","M4N6FAMYI ", & + "M4N6FAMZI ","M4N6FBFXI ","M4N6FBFYI ","M4N6FBFZI ","M4N6FBXI ","M4N6FBYI ","M4N6FBZI ", & + "M4N6FDXI ","M4N6FDYI ","M4N6FDZI ","M4N6FIXI ","M4N6FIYI ","M4N6FIZI ","M4N6FMGXI ", & + "M4N6FMGYI ","M4N6FMGZI ","M4N6FWEXI ","M4N6FWEYI ","M4N6FWEZI ","M4N6MAFXI ","M4N6MAFYI ", & + "M4N6MAFZI ","M4N6MAGXI ","M4N6MAGYI ","M4N6MAGZI ","M4N6MBFXI ","M4N6MBFYI ","M4N6MBFZI ", & + "M4N6MBXI ","M4N6MBYI ","M4N6MBZI ","M4N6MMGXI ","M4N6MMGYI ","M4N6MMGZI ","M4N6STAXI ", & + "M4N6STAYI ","M4N6STAZI ","M4N6STVXI ","M4N6STVYI ","M4N6STVZI ","M4N6VXI ","M4N6VYI ", & + "M4N6VZI ","M4N7AXI ","M4N7AYI ","M4N7AZI ","M4N7DYNP ","M4N7FAFXI ","M4N7FAFYI ", & + "M4N7FAFZI ","M4N7FAGXI ","M4N7FAGYI ","M4N7FAGZI ","M4N7FAMXI ","M4N7FAMYI ","M4N7FAMZI ", & + "M4N7FBFXI ","M4N7FBFYI ","M4N7FBFZI ","M4N7FBXI ","M4N7FBYI ","M4N7FBZI ","M4N7FDXI ", & + "M4N7FDYI ","M4N7FDZI ","M4N7FIXI ","M4N7FIYI ","M4N7FIZI ","M4N7FMGXI ","M4N7FMGYI ", & + "M4N7FMGZI ","M4N7FWEXI ","M4N7FWEYI ","M4N7FWEZI ","M4N7MAFXI ","M4N7MAFYI ","M4N7MAFZI ", & + "M4N7MAGXI ","M4N7MAGYI ","M4N7MAGZI ","M4N7MBFXI ","M4N7MBFYI ","M4N7MBFZI ","M4N7MBXI ", & + "M4N7MBYI ","M4N7MBZI ","M4N7MMGXI ","M4N7MMGYI ","M4N7MMGZI ","M4N7STAXI ","M4N7STAYI ", & + "M4N7STAZI ","M4N7STVXI ","M4N7STVYI ","M4N7STVZI ","M4N7VXI ","M4N7VYI ","M4N7VZI ", & + "M4N8AXI ","M4N8AYI ","M4N8AZI ","M4N8DYNP ","M4N8FAFXI ","M4N8FAFYI ","M4N8FAFZI ", & + "M4N8FAGXI ","M4N8FAGYI ","M4N8FAGZI ","M4N8FAMXI ","M4N8FAMYI ","M4N8FAMZI ","M4N8FBFXI ", & + "M4N8FBFYI ","M4N8FBFZI ","M4N8FBXI ","M4N8FBYI ","M4N8FBZI ","M4N8FDXI ","M4N8FDYI ", & + "M4N8FDZI ","M4N8FIXI ","M4N8FIYI ","M4N8FIZI ","M4N8FMGXI ","M4N8FMGYI ","M4N8FMGZI ", & + "M4N8FWEXI ","M4N8FWEYI ","M4N8FWEZI ","M4N8MAFXI ","M4N8MAFYI ","M4N8MAFZI ","M4N8MAGXI ", & "M4N8MAGYI ","M4N8MAGZI ","M4N8MBFXI ","M4N8MBFYI ","M4N8MBFZI ","M4N8MBXI ","M4N8MBYI ", & "M4N8MBZI ","M4N8MMGXI ","M4N8MMGYI ","M4N8MMGZI ","M4N8STAXI ","M4N8STAYI ","M4N8STAZI ", & "M4N8STVXI ","M4N8STVYI ","M4N8STVZI ","M4N8VXI ","M4N8VYI ","M4N8VZI ","M4N9AXI ", & "M4N9AYI ","M4N9AZI ","M4N9DYNP ","M4N9FAFXI ","M4N9FAFYI ","M4N9FAFZI ","M4N9FAGXI ", & "M4N9FAGYI ","M4N9FAGZI ","M4N9FAMXI ","M4N9FAMYI ","M4N9FAMZI ","M4N9FBFXI ","M4N9FBFYI ", & "M4N9FBFZI ","M4N9FBXI ","M4N9FBYI ","M4N9FBZI ","M4N9FDXI ","M4N9FDYI ","M4N9FDZI ", & - "M4N9FIXI ","M4N9FIYI ","M4N9FIZI ","M4N9FMGXI ","M4N9FMGYI ","M4N9FMGZI ","M4N9MAFXI ", & - "M4N9MAFYI ","M4N9MAFZI ","M4N9MAGXI ","M4N9MAGYI ","M4N9MAGZI ","M4N9MBFXI ","M4N9MBFYI ", & - "M4N9MBFZI ","M4N9MBXI ","M4N9MBYI ","M4N9MBZI ","M4N9MMGXI ","M4N9MMGYI ","M4N9MMGZI ", & - "M4N9STAXI ","M4N9STAYI ","M4N9STAZI ","M4N9STVXI ","M4N9STVYI ","M4N9STVZI ","M4N9VXI ", & - "M4N9VYI ","M4N9VZI ","M5N1AXI ","M5N1AYI ","M5N1AZI ","M5N1DYNP ","M5N1FAFXI ", & - "M5N1FAFYI ","M5N1FAFZI ","M5N1FAGXI ","M5N1FAGYI ","M5N1FAGZI ","M5N1FAMXI ","M5N1FAMYI ", & - "M5N1FAMZI ","M5N1FBFXI ","M5N1FBFYI ","M5N1FBFZI ","M5N1FBXI ","M5N1FBYI ","M5N1FBZI ", & - "M5N1FDXI ","M5N1FDYI ","M5N1FDZI ","M5N1FIXI ","M5N1FIYI ","M5N1FIZI ","M5N1FMGXI ", & - "M5N1FMGYI ","M5N1FMGZI ","M5N1MAFXI ","M5N1MAFYI ","M5N1MAFZI ","M5N1MAGXI ","M5N1MAGYI ", & - "M5N1MAGZI ","M5N1MBFXI ","M5N1MBFYI ","M5N1MBFZI ","M5N1MBXI ","M5N1MBYI ","M5N1MBZI ", & - "M5N1MMGXI ","M5N1MMGYI ","M5N1MMGZI ","M5N1STAXI ","M5N1STAYI ","M5N1STAZI ","M5N1STVXI ", & - "M5N1STVYI ","M5N1STVZI ","M5N1VXI ","M5N1VYI ","M5N1VZI ","M5N2AXI ","M5N2AYI ", & - "M5N2AZI ","M5N2DYNP ","M5N2FAFXI ","M5N2FAFYI ","M5N2FAFZI ","M5N2FAGXI ","M5N2FAGYI ", & - "M5N2FAGZI ","M5N2FAMXI ","M5N2FAMYI ","M5N2FAMZI ","M5N2FBFXI ","M5N2FBFYI ","M5N2FBFZI ", & - "M5N2FBXI ","M5N2FBYI ","M5N2FBZI ","M5N2FDXI ","M5N2FDYI ","M5N2FDZI ","M5N2FIXI ", & - "M5N2FIYI ","M5N2FIZI ","M5N2FMGXI ","M5N2FMGYI ","M5N2FMGZI ","M5N2MAFXI ","M5N2MAFYI ", & - "M5N2MAFZI ","M5N2MAGXI ","M5N2MAGYI ","M5N2MAGZI ","M5N2MBFXI ","M5N2MBFYI ","M5N2MBFZI ", & - "M5N2MBXI ","M5N2MBYI ","M5N2MBZI ","M5N2MMGXI ","M5N2MMGYI ","M5N2MMGZI ","M5N2STAXI ", & - "M5N2STAYI ","M5N2STAZI ","M5N2STVXI ","M5N2STVYI ","M5N2STVZI ","M5N2VXI ","M5N2VYI ", & - "M5N2VZI ","M5N3AXI ","M5N3AYI ","M5N3AZI ","M5N3DYNP ","M5N3FAFXI ","M5N3FAFYI ", & - "M5N3FAFZI ","M5N3FAGXI ","M5N3FAGYI ","M5N3FAGZI ","M5N3FAMXI ","M5N3FAMYI ","M5N3FAMZI ", & - "M5N3FBFXI ","M5N3FBFYI ","M5N3FBFZI ","M5N3FBXI ","M5N3FBYI ","M5N3FBZI ","M5N3FDXI ", & - "M5N3FDYI ","M5N3FDZI ","M5N3FIXI ","M5N3FIYI ","M5N3FIZI ","M5N3FMGXI ","M5N3FMGYI ", & - "M5N3FMGZI ","M5N3MAFXI ","M5N3MAFYI ","M5N3MAFZI ","M5N3MAGXI ","M5N3MAGYI ","M5N3MAGZI ", & - "M5N3MBFXI ","M5N3MBFYI ","M5N3MBFZI ","M5N3MBXI ","M5N3MBYI ","M5N3MBZI ","M5N3MMGXI ", & - "M5N3MMGYI ","M5N3MMGZI ","M5N3STAXI ","M5N3STAYI ","M5N3STAZI ","M5N3STVXI ","M5N3STVYI ", & - "M5N3STVZI ","M5N3VXI ","M5N3VYI ","M5N3VZI ","M5N4AXI ","M5N4AYI ","M5N4AZI ", & - "M5N4DYNP ","M5N4FAFXI ","M5N4FAFYI ","M5N4FAFZI ","M5N4FAGXI ","M5N4FAGYI ","M5N4FAGZI ", & - "M5N4FAMXI ","M5N4FAMYI ","M5N4FAMZI ","M5N4FBFXI ","M5N4FBFYI ","M5N4FBFZI ","M5N4FBXI ", & - "M5N4FBYI ","M5N4FBZI ","M5N4FDXI ","M5N4FDYI ","M5N4FDZI ","M5N4FIXI ","M5N4FIYI ", & - "M5N4FIZI ","M5N4FMGXI ","M5N4FMGYI ","M5N4FMGZI ","M5N4MAFXI ","M5N4MAFYI ","M5N4MAFZI ", & - "M5N4MAGXI ","M5N4MAGYI ","M5N4MAGZI ","M5N4MBFXI ","M5N4MBFYI ","M5N4MBFZI ","M5N4MBXI ", & - "M5N4MBYI ","M5N4MBZI ","M5N4MMGXI ","M5N4MMGYI ","M5N4MMGZI ","M5N4STAXI ","M5N4STAYI ", & - "M5N4STAZI ","M5N4STVXI ","M5N4STVYI ","M5N4STVZI ","M5N4VXI ","M5N4VYI ","M5N4VZI ", & - "M5N5AXI ","M5N5AYI ","M5N5AZI ","M5N5DYNP ","M5N5FAFXI ","M5N5FAFYI ","M5N5FAFZI ", & - "M5N5FAGXI ","M5N5FAGYI ","M5N5FAGZI ","M5N5FAMXI ","M5N5FAMYI ","M5N5FAMZI ","M5N5FBFXI ", & - "M5N5FBFYI ","M5N5FBFZI ","M5N5FBXI ","M5N5FBYI ","M5N5FBZI ","M5N5FDXI ","M5N5FDYI ", & - "M5N5FDZI ","M5N5FIXI ","M5N5FIYI ","M5N5FIZI ","M5N5FMGXI ","M5N5FMGYI ","M5N5FMGZI ", & - "M5N5MAFXI ","M5N5MAFYI ","M5N5MAFZI ","M5N5MAGXI ","M5N5MAGYI ","M5N5MAGZI ","M5N5MBFXI ", & - "M5N5MBFYI ","M5N5MBFZI ","M5N5MBXI ","M5N5MBYI ","M5N5MBZI ","M5N5MMGXI ","M5N5MMGYI ", & - "M5N5MMGZI ","M5N5STAXI ","M5N5STAYI ","M5N5STAZI ","M5N5STVXI ","M5N5STVYI ","M5N5STVZI ", & - "M5N5VXI ","M5N5VYI ","M5N5VZI ","M5N6AXI ","M5N6AYI ","M5N6AZI ","M5N6DYNP ", & - "M5N6FAFXI ","M5N6FAFYI ","M5N6FAFZI ","M5N6FAGXI ","M5N6FAGYI ","M5N6FAGZI ","M5N6FAMXI ", & - "M5N6FAMYI ","M5N6FAMZI ","M5N6FBFXI ","M5N6FBFYI ","M5N6FBFZI ","M5N6FBXI ","M5N6FBYI ", & - "M5N6FBZI ","M5N6FDXI ","M5N6FDYI ","M5N6FDZI ","M5N6FIXI ","M5N6FIYI ","M5N6FIZI ", & - "M5N6FMGXI ","M5N6FMGYI ","M5N6FMGZI ","M5N6MAFXI ","M5N6MAFYI ","M5N6MAFZI ","M5N6MAGXI ", & + "M4N9FIXI ","M4N9FIYI ","M4N9FIZI ","M4N9FMGXI ","M4N9FMGYI ","M4N9FMGZI ","M4N9FWEXI ", & + "M4N9FWEYI ","M4N9FWEZI ","M4N9MAFXI ","M4N9MAFYI ","M4N9MAFZI ","M4N9MAGXI ","M4N9MAGYI ", & + "M4N9MAGZI ","M4N9MBFXI ","M4N9MBFYI ","M4N9MBFZI ","M4N9MBXI ","M4N9MBYI ","M4N9MBZI ", & + "M4N9MMGXI ","M4N9MMGYI ","M4N9MMGZI ","M4N9STAXI ","M4N9STAYI ","M4N9STAZI ","M4N9STVXI ", & + "M4N9STVYI ","M4N9STVZI ","M4N9VXI ","M4N9VYI ","M4N9VZI ","M5N1AXI ","M5N1AYI ", & + "M5N1AZI ","M5N1DYNP ","M5N1FAFXI ","M5N1FAFYI ","M5N1FAFZI ","M5N1FAGXI ","M5N1FAGYI ", & + "M5N1FAGZI ","M5N1FAMXI ","M5N1FAMYI ","M5N1FAMZI ","M5N1FBFXI ","M5N1FBFYI ","M5N1FBFZI ", & + "M5N1FBXI ","M5N1FBYI ","M5N1FBZI ","M5N1FDXI ","M5N1FDYI ","M5N1FDZI ","M5N1FIXI ", & + "M5N1FIYI ","M5N1FIZI ","M5N1FMGXI ","M5N1FMGYI ","M5N1FMGZI ","M5N1FWEXI ","M5N1FWEYI ", & + "M5N1FWEZI ","M5N1MAFXI ","M5N1MAFYI ","M5N1MAFZI ","M5N1MAGXI ","M5N1MAGYI ","M5N1MAGZI ", & + "M5N1MBFXI ","M5N1MBFYI ","M5N1MBFZI ","M5N1MBXI ","M5N1MBYI ","M5N1MBZI ","M5N1MMGXI ", & + "M5N1MMGYI ","M5N1MMGZI ","M5N1STAXI ","M5N1STAYI ","M5N1STAZI ","M5N1STVXI ","M5N1STVYI ", & + "M5N1STVZI ","M5N1VXI ","M5N1VYI ","M5N1VZI ","M5N2AXI ","M5N2AYI ","M5N2AZI ", & + "M5N2DYNP ","M5N2FAFXI ","M5N2FAFYI ","M5N2FAFZI ","M5N2FAGXI ","M5N2FAGYI ","M5N2FAGZI ", & + "M5N2FAMXI ","M5N2FAMYI ","M5N2FAMZI ","M5N2FBFXI ","M5N2FBFYI ","M5N2FBFZI ","M5N2FBXI ", & + "M5N2FBYI ","M5N2FBZI ","M5N2FDXI ","M5N2FDYI ","M5N2FDZI ","M5N2FIXI ","M5N2FIYI ", & + "M5N2FIZI ","M5N2FMGXI ","M5N2FMGYI ","M5N2FMGZI ","M5N2FWEXI ","M5N2FWEYI ","M5N2FWEZI ", & + "M5N2MAFXI ","M5N2MAFYI ","M5N2MAFZI ","M5N2MAGXI ","M5N2MAGYI ","M5N2MAGZI ","M5N2MBFXI ", & + "M5N2MBFYI ","M5N2MBFZI ","M5N2MBXI ","M5N2MBYI ","M5N2MBZI ","M5N2MMGXI ","M5N2MMGYI ", & + "M5N2MMGZI ","M5N2STAXI ","M5N2STAYI ","M5N2STAZI ","M5N2STVXI ","M5N2STVYI ","M5N2STVZI ", & + "M5N2VXI ","M5N2VYI ","M5N2VZI ","M5N3AXI ","M5N3AYI ","M5N3AZI ","M5N3DYNP ", & + "M5N3FAFXI ","M5N3FAFYI ","M5N3FAFZI ","M5N3FAGXI ","M5N3FAGYI ","M5N3FAGZI ","M5N3FAMXI ", & + "M5N3FAMYI ","M5N3FAMZI ","M5N3FBFXI ","M5N3FBFYI ","M5N3FBFZI ","M5N3FBXI ","M5N3FBYI ", & + "M5N3FBZI ","M5N3FDXI ","M5N3FDYI ","M5N3FDZI ","M5N3FIXI ","M5N3FIYI ","M5N3FIZI ", & + "M5N3FMGXI ","M5N3FMGYI ","M5N3FMGZI ","M5N3FWEXI ","M5N3FWEYI ","M5N3FWEZI ","M5N3MAFXI ", & + "M5N3MAFYI ","M5N3MAFZI ","M5N3MAGXI ","M5N3MAGYI ","M5N3MAGZI ","M5N3MBFXI ","M5N3MBFYI ", & + "M5N3MBFZI ","M5N3MBXI ","M5N3MBYI ","M5N3MBZI ","M5N3MMGXI ","M5N3MMGYI ","M5N3MMGZI ", & + "M5N3STAXI ","M5N3STAYI ","M5N3STAZI ","M5N3STVXI ","M5N3STVYI ","M5N3STVZI ","M5N3VXI ", & + "M5N3VYI ","M5N3VZI ","M5N4AXI ","M5N4AYI ","M5N4AZI ","M5N4DYNP ","M5N4FAFXI ", & + "M5N4FAFYI ","M5N4FAFZI ","M5N4FAGXI ","M5N4FAGYI ","M5N4FAGZI ","M5N4FAMXI ","M5N4FAMYI ", & + "M5N4FAMZI ","M5N4FBFXI ","M5N4FBFYI ","M5N4FBFZI ","M5N4FBXI ","M5N4FBYI ","M5N4FBZI ", & + "M5N4FDXI ","M5N4FDYI ","M5N4FDZI ","M5N4FIXI ","M5N4FIYI ","M5N4FIZI ","M5N4FMGXI ", & + "M5N4FMGYI ","M5N4FMGZI ","M5N4FWEXI ","M5N4FWEYI ","M5N4FWEZI ","M5N4MAFXI ","M5N4MAFYI ", & + "M5N4MAFZI ","M5N4MAGXI ","M5N4MAGYI ","M5N4MAGZI ","M5N4MBFXI ","M5N4MBFYI ","M5N4MBFZI ", & + "M5N4MBXI ","M5N4MBYI ","M5N4MBZI ","M5N4MMGXI ","M5N4MMGYI ","M5N4MMGZI ","M5N4STAXI ", & + "M5N4STAYI ","M5N4STAZI ","M5N4STVXI ","M5N4STVYI ","M5N4STVZI ","M5N4VXI ","M5N4VYI ", & + "M5N4VZI ","M5N5AXI ","M5N5AYI ","M5N5AZI ","M5N5DYNP ","M5N5FAFXI ","M5N5FAFYI ", & + "M5N5FAFZI ","M5N5FAGXI ","M5N5FAGYI ","M5N5FAGZI ","M5N5FAMXI ","M5N5FAMYI ","M5N5FAMZI ", & + "M5N5FBFXI ","M5N5FBFYI ","M5N5FBFZI ","M5N5FBXI ","M5N5FBYI ","M5N5FBZI ","M5N5FDXI ", & + "M5N5FDYI ","M5N5FDZI ","M5N5FIXI ","M5N5FIYI ","M5N5FIZI ","M5N5FMGXI ","M5N5FMGYI ", & + "M5N5FMGZI ","M5N5FWEXI ","M5N5FWEYI ","M5N5FWEZI ","M5N5MAFXI ","M5N5MAFYI ","M5N5MAFZI ", & + "M5N5MAGXI ","M5N5MAGYI ","M5N5MAGZI ","M5N5MBFXI ","M5N5MBFYI ","M5N5MBFZI ","M5N5MBXI ", & + "M5N5MBYI ","M5N5MBZI ","M5N5MMGXI ","M5N5MMGYI ","M5N5MMGZI ","M5N5STAXI ","M5N5STAYI ", & + "M5N5STAZI ","M5N5STVXI ","M5N5STVYI ","M5N5STVZI ","M5N5VXI ","M5N5VYI ","M5N5VZI ", & + "M5N6AXI ","M5N6AYI ","M5N6AZI ","M5N6DYNP ","M5N6FAFXI ","M5N6FAFYI ","M5N6FAFZI ", & + "M5N6FAGXI ","M5N6FAGYI ","M5N6FAGZI ","M5N6FAMXI ","M5N6FAMYI ","M5N6FAMZI ","M5N6FBFXI ", & + "M5N6FBFYI ","M5N6FBFZI ","M5N6FBXI ","M5N6FBYI ","M5N6FBZI ","M5N6FDXI ","M5N6FDYI ", & + "M5N6FDZI ","M5N6FIXI ","M5N6FIYI ","M5N6FIZI ","M5N6FMGXI ","M5N6FMGYI ","M5N6FMGZI ", & + "M5N6FWEXI ","M5N6FWEYI ","M5N6FWEZI ","M5N6MAFXI ","M5N6MAFYI ","M5N6MAFZI ","M5N6MAGXI ", & "M5N6MAGYI ","M5N6MAGZI ","M5N6MBFXI ","M5N6MBFYI ","M5N6MBFZI ","M5N6MBXI ","M5N6MBYI ", & "M5N6MBZI ","M5N6MMGXI ","M5N6MMGYI ","M5N6MMGZI ","M5N6STAXI ","M5N6STAYI ","M5N6STAZI ", & "M5N6STVXI ","M5N6STVYI ","M5N6STVZI ","M5N6VXI ","M5N6VYI ","M5N6VZI ","M5N7AXI ", & "M5N7AYI ","M5N7AZI ","M5N7DYNP ","M5N7FAFXI ","M5N7FAFYI ","M5N7FAFZI ","M5N7FAGXI ", & "M5N7FAGYI ","M5N7FAGZI ","M5N7FAMXI ","M5N7FAMYI ","M5N7FAMZI ","M5N7FBFXI ","M5N7FBFYI ", & "M5N7FBFZI ","M5N7FBXI ","M5N7FBYI ","M5N7FBZI ","M5N7FDXI ","M5N7FDYI ","M5N7FDZI ", & - "M5N7FIXI ","M5N7FIYI ","M5N7FIZI ","M5N7FMGXI ","M5N7FMGYI ","M5N7FMGZI ","M5N7MAFXI ", & - "M5N7MAFYI ","M5N7MAFZI ","M5N7MAGXI ","M5N7MAGYI ","M5N7MAGZI ","M5N7MBFXI ","M5N7MBFYI ", & - "M5N7MBFZI ","M5N7MBXI ","M5N7MBYI ","M5N7MBZI ","M5N7MMGXI ","M5N7MMGYI ","M5N7MMGZI ", & - "M5N7STAXI ","M5N7STAYI ","M5N7STAZI ","M5N7STVXI ","M5N7STVYI ","M5N7STVZI ","M5N7VXI ", & - "M5N7VYI ","M5N7VZI ","M5N8AXI ","M5N8AYI ","M5N8AZI ","M5N8DYNP ","M5N8FAFXI ", & - "M5N8FAFYI ","M5N8FAFZI ","M5N8FAGXI ","M5N8FAGYI ","M5N8FAGZI ","M5N8FAMXI ","M5N8FAMYI ", & - "M5N8FAMZI ","M5N8FBFXI ","M5N8FBFYI ","M5N8FBFZI ","M5N8FBXI ","M5N8FBYI ","M5N8FBZI ", & - "M5N8FDXI ","M5N8FDYI ","M5N8FDZI ","M5N8FIXI ","M5N8FIYI ","M5N8FIZI ","M5N8FMGXI ", & - "M5N8FMGYI ","M5N8FMGZI ","M5N8MAFXI ","M5N8MAFYI ","M5N8MAFZI ","M5N8MAGXI ","M5N8MAGYI ", & - "M5N8MAGZI ","M5N8MBFXI ","M5N8MBFYI ","M5N8MBFZI ","M5N8MBXI ","M5N8MBYI ","M5N8MBZI ", & - "M5N8MMGXI ","M5N8MMGYI ","M5N8MMGZI ","M5N8STAXI ","M5N8STAYI ","M5N8STAZI ","M5N8STVXI ", & - "M5N8STVYI ","M5N8STVZI ","M5N8VXI ","M5N8VYI ","M5N8VZI ","M5N9AXI ","M5N9AYI ", & - "M5N9AZI ","M5N9DYNP ","M5N9FAFXI ","M5N9FAFYI ","M5N9FAFZI ","M5N9FAGXI ","M5N9FAGYI ", & - "M5N9FAGZI ","M5N9FAMXI ","M5N9FAMYI ","M5N9FAMZI ","M5N9FBFXI ","M5N9FBFYI ","M5N9FBFZI ", & - "M5N9FBXI ","M5N9FBYI ","M5N9FBZI ","M5N9FDXI ","M5N9FDYI ","M5N9FDZI ","M5N9FIXI ", & - "M5N9FIYI ","M5N9FIZI ","M5N9FMGXI ","M5N9FMGYI ","M5N9FMGZI ","M5N9MAFXI ","M5N9MAFYI ", & - "M5N9MAFZI ","M5N9MAGXI ","M5N9MAGYI ","M5N9MAGZI ","M5N9MBFXI ","M5N9MBFYI ","M5N9MBFZI ", & - "M5N9MBXI ","M5N9MBYI ","M5N9MBZI ","M5N9MMGXI ","M5N9MMGYI ","M5N9MMGZI ","M5N9STAXI ", & - "M5N9STAYI ","M5N9STAZI ","M5N9STVXI ","M5N9STVYI ","M5N9STVZI ","M5N9VXI ","M5N9VYI ", & - "M5N9VZI ","M6N1AXI ","M6N1AYI ","M6N1AZI ","M6N1DYNP ","M6N1FAFXI ","M6N1FAFYI ", & - "M6N1FAFZI ","M6N1FAGXI ","M6N1FAGYI ","M6N1FAGZI ","M6N1FAMXI ","M6N1FAMYI ","M6N1FAMZI ", & - "M6N1FBFXI ","M6N1FBFYI ","M6N1FBFZI ","M6N1FBXI ","M6N1FBYI ","M6N1FBZI ","M6N1FDXI ", & - "M6N1FDYI ","M6N1FDZI ","M6N1FIXI ","M6N1FIYI ","M6N1FIZI ","M6N1FMGXI ","M6N1FMGYI ", & - "M6N1FMGZI ","M6N1MAFXI ","M6N1MAFYI ","M6N1MAFZI ","M6N1MAGXI ","M6N1MAGYI ","M6N1MAGZI ", & - "M6N1MBFXI ","M6N1MBFYI ","M6N1MBFZI ","M6N1MBXI ","M6N1MBYI ","M6N1MBZI ","M6N1MMGXI ", & - "M6N1MMGYI ","M6N1MMGZI ","M6N1STAXI ","M6N1STAYI ","M6N1STAZI ","M6N1STVXI ","M6N1STVYI ", & - "M6N1STVZI ","M6N1VXI ","M6N1VYI ","M6N1VZI ","M6N2AXI ","M6N2AYI ","M6N2AZI ", & - "M6N2DYNP ","M6N2FAFXI ","M6N2FAFYI ","M6N2FAFZI ","M6N2FAGXI ","M6N2FAGYI ","M6N2FAGZI ", & - "M6N2FAMXI ","M6N2FAMYI ","M6N2FAMZI ","M6N2FBFXI ","M6N2FBFYI ","M6N2FBFZI ","M6N2FBXI ", & - "M6N2FBYI ","M6N2FBZI ","M6N2FDXI ","M6N2FDYI ","M6N2FDZI ","M6N2FIXI ","M6N2FIYI ", & - "M6N2FIZI ","M6N2FMGXI ","M6N2FMGYI ","M6N2FMGZI ","M6N2MAFXI ","M6N2MAFYI ","M6N2MAFZI ", & - "M6N2MAGXI ","M6N2MAGYI ","M6N2MAGZI ","M6N2MBFXI ","M6N2MBFYI ","M6N2MBFZI ","M6N2MBXI ", & - "M6N2MBYI ","M6N2MBZI ","M6N2MMGXI ","M6N2MMGYI ","M6N2MMGZI ","M6N2STAXI ","M6N2STAYI ", & - "M6N2STAZI ","M6N2STVXI ","M6N2STVYI ","M6N2STVZI ","M6N2VXI ","M6N2VYI ","M6N2VZI ", & - "M6N3AXI ","M6N3AYI ","M6N3AZI ","M6N3DYNP ","M6N3FAFXI ","M6N3FAFYI ","M6N3FAFZI ", & - "M6N3FAGXI ","M6N3FAGYI ","M6N3FAGZI ","M6N3FAMXI ","M6N3FAMYI ","M6N3FAMZI ","M6N3FBFXI ", & - "M6N3FBFYI ","M6N3FBFZI ","M6N3FBXI ","M6N3FBYI ","M6N3FBZI ","M6N3FDXI ","M6N3FDYI ", & - "M6N3FDZI ","M6N3FIXI ","M6N3FIYI ","M6N3FIZI ","M6N3FMGXI ","M6N3FMGYI ","M6N3FMGZI ", & - "M6N3MAFXI ","M6N3MAFYI ","M6N3MAFZI ","M6N3MAGXI ","M6N3MAGYI ","M6N3MAGZI ","M6N3MBFXI ", & - "M6N3MBFYI ","M6N3MBFZI ","M6N3MBXI ","M6N3MBYI ","M6N3MBZI ","M6N3MMGXI ","M6N3MMGYI ", & - "M6N3MMGZI ","M6N3STAXI ","M6N3STAYI ","M6N3STAZI ","M6N3STVXI ","M6N3STVYI ","M6N3STVZI ", & - "M6N3VXI ","M6N3VYI ","M6N3VZI ","M6N4AXI ","M6N4AYI ","M6N4AZI ","M6N4DYNP ", & - "M6N4FAFXI ","M6N4FAFYI ","M6N4FAFZI ","M6N4FAGXI ","M6N4FAGYI ","M6N4FAGZI ","M6N4FAMXI ", & - "M6N4FAMYI ","M6N4FAMZI ","M6N4FBFXI ","M6N4FBFYI ","M6N4FBFZI ","M6N4FBXI ","M6N4FBYI ", & - "M6N4FBZI ","M6N4FDXI ","M6N4FDYI ","M6N4FDZI ","M6N4FIXI ","M6N4FIYI ","M6N4FIZI ", & - "M6N4FMGXI ","M6N4FMGYI ","M6N4FMGZI ","M6N4MAFXI ","M6N4MAFYI ","M6N4MAFZI ","M6N4MAGXI ", & + "M5N7FIXI ","M5N7FIYI ","M5N7FIZI ","M5N7FMGXI ","M5N7FMGYI ","M5N7FMGZI ","M5N7FWEXI ", & + "M5N7FWEYI ","M5N7FWEZI ","M5N7MAFXI ","M5N7MAFYI ","M5N7MAFZI ","M5N7MAGXI ","M5N7MAGYI ", & + "M5N7MAGZI ","M5N7MBFXI ","M5N7MBFYI ","M5N7MBFZI ","M5N7MBXI ","M5N7MBYI ","M5N7MBZI ", & + "M5N7MMGXI ","M5N7MMGYI ","M5N7MMGZI ","M5N7STAXI ","M5N7STAYI ","M5N7STAZI ","M5N7STVXI ", & + "M5N7STVYI ","M5N7STVZI ","M5N7VXI ","M5N7VYI ","M5N7VZI ","M5N8AXI ","M5N8AYI ", & + "M5N8AZI ","M5N8DYNP ","M5N8FAFXI ","M5N8FAFYI ","M5N8FAFZI ","M5N8FAGXI ","M5N8FAGYI ", & + "M5N8FAGZI ","M5N8FAMXI ","M5N8FAMYI ","M5N8FAMZI ","M5N8FBFXI ","M5N8FBFYI ","M5N8FBFZI ", & + "M5N8FBXI ","M5N8FBYI ","M5N8FBZI ","M5N8FDXI ","M5N8FDYI ","M5N8FDZI ","M5N8FIXI ", & + "M5N8FIYI ","M5N8FIZI ","M5N8FMGXI ","M5N8FMGYI ","M5N8FMGZI ","M5N8FWEXI ","M5N8FWEYI ", & + "M5N8FWEZI ","M5N8MAFXI ","M5N8MAFYI ","M5N8MAFZI ","M5N8MAGXI ","M5N8MAGYI ","M5N8MAGZI ", & + "M5N8MBFXI ","M5N8MBFYI ","M5N8MBFZI ","M5N8MBXI ","M5N8MBYI ","M5N8MBZI ","M5N8MMGXI ", & + "M5N8MMGYI ","M5N8MMGZI ","M5N8STAXI ","M5N8STAYI ","M5N8STAZI ","M5N8STVXI ","M5N8STVYI ", & + "M5N8STVZI ","M5N8VXI ","M5N8VYI ","M5N8VZI ","M5N9AXI ","M5N9AYI ","M5N9AZI ", & + "M5N9DYNP ","M5N9FAFXI ","M5N9FAFYI ","M5N9FAFZI ","M5N9FAGXI ","M5N9FAGYI ","M5N9FAGZI ", & + "M5N9FAMXI ","M5N9FAMYI ","M5N9FAMZI ","M5N9FBFXI ","M5N9FBFYI ","M5N9FBFZI ","M5N9FBXI ", & + "M5N9FBYI ","M5N9FBZI ","M5N9FDXI ","M5N9FDYI ","M5N9FDZI ","M5N9FIXI ","M5N9FIYI ", & + "M5N9FIZI ","M5N9FMGXI ","M5N9FMGYI ","M5N9FMGZI ","M5N9FWEXI ","M5N9FWEYI ","M5N9FWEZI ", & + "M5N9MAFXI ","M5N9MAFYI ","M5N9MAFZI ","M5N9MAGXI ","M5N9MAGYI ","M5N9MAGZI ","M5N9MBFXI ", & + "M5N9MBFYI ","M5N9MBFZI ","M5N9MBXI ","M5N9MBYI ","M5N9MBZI ","M5N9MMGXI ","M5N9MMGYI ", & + "M5N9MMGZI ","M5N9STAXI ","M5N9STAYI ","M5N9STAZI ","M5N9STVXI ","M5N9STVYI ","M5N9STVZI ", & + "M5N9VXI ","M5N9VYI ","M5N9VZI ","M6N1AXI ","M6N1AYI ","M6N1AZI ","M6N1DYNP ", & + "M6N1FAFXI ","M6N1FAFYI ","M6N1FAFZI ","M6N1FAGXI ","M6N1FAGYI ","M6N1FAGZI ","M6N1FAMXI ", & + "M6N1FAMYI ","M6N1FAMZI ","M6N1FBFXI ","M6N1FBFYI ","M6N1FBFZI ","M6N1FBXI ","M6N1FBYI ", & + "M6N1FBZI ","M6N1FDXI ","M6N1FDYI ","M6N1FDZI ","M6N1FIXI ","M6N1FIYI ","M6N1FIZI ", & + "M6N1FMGXI ","M6N1FMGYI ","M6N1FMGZI ","M6N1FWEXI ","M6N1FWEYI ","M6N1FWEZI ","M6N1MAFXI ", & + "M6N1MAFYI ","M6N1MAFZI ","M6N1MAGXI ","M6N1MAGYI ","M6N1MAGZI ","M6N1MBFXI ","M6N1MBFYI ", & + "M6N1MBFZI ","M6N1MBXI ","M6N1MBYI ","M6N1MBZI ","M6N1MMGXI ","M6N1MMGYI ","M6N1MMGZI ", & + "M6N1STAXI ","M6N1STAYI ","M6N1STAZI ","M6N1STVXI ","M6N1STVYI ","M6N1STVZI ","M6N1VXI ", & + "M6N1VYI ","M6N1VZI ","M6N2AXI ","M6N2AYI ","M6N2AZI ","M6N2DYNP ","M6N2FAFXI ", & + "M6N2FAFYI ","M6N2FAFZI ","M6N2FAGXI ","M6N2FAGYI ","M6N2FAGZI ","M6N2FAMXI ","M6N2FAMYI ", & + "M6N2FAMZI ","M6N2FBFXI ","M6N2FBFYI ","M6N2FBFZI ","M6N2FBXI ","M6N2FBYI ","M6N2FBZI ", & + "M6N2FDXI ","M6N2FDYI ","M6N2FDZI ","M6N2FIXI ","M6N2FIYI ","M6N2FIZI ","M6N2FMGXI ", & + "M6N2FMGYI ","M6N2FMGZI ","M6N2FWEXI ","M6N2FWEYI ","M6N2FWEZI ","M6N2MAFXI ","M6N2MAFYI ", & + "M6N2MAFZI ","M6N2MAGXI ","M6N2MAGYI ","M6N2MAGZI ","M6N2MBFXI ","M6N2MBFYI ","M6N2MBFZI ", & + "M6N2MBXI ","M6N2MBYI ","M6N2MBZI ","M6N2MMGXI ","M6N2MMGYI ","M6N2MMGZI ","M6N2STAXI ", & + "M6N2STAYI ","M6N2STAZI ","M6N2STVXI ","M6N2STVYI ","M6N2STVZI ","M6N2VXI ","M6N2VYI ", & + "M6N2VZI ","M6N3AXI ","M6N3AYI ","M6N3AZI ","M6N3DYNP ","M6N3FAFXI ","M6N3FAFYI ", & + "M6N3FAFZI ","M6N3FAGXI ","M6N3FAGYI ","M6N3FAGZI ","M6N3FAMXI ","M6N3FAMYI ","M6N3FAMZI ", & + "M6N3FBFXI ","M6N3FBFYI ","M6N3FBFZI ","M6N3FBXI ","M6N3FBYI ","M6N3FBZI ","M6N3FDXI ", & + "M6N3FDYI ","M6N3FDZI ","M6N3FIXI ","M6N3FIYI ","M6N3FIZI ","M6N3FMGXI ","M6N3FMGYI ", & + "M6N3FMGZI ","M6N3FWEXI ","M6N3FWEYI ","M6N3FWEZI ","M6N3MAFXI ","M6N3MAFYI ","M6N3MAFZI ", & + "M6N3MAGXI ","M6N3MAGYI ","M6N3MAGZI ","M6N3MBFXI ","M6N3MBFYI ","M6N3MBFZI ","M6N3MBXI ", & + "M6N3MBYI ","M6N3MBZI ","M6N3MMGXI ","M6N3MMGYI ","M6N3MMGZI ","M6N3STAXI ","M6N3STAYI ", & + "M6N3STAZI ","M6N3STVXI ","M6N3STVYI ","M6N3STVZI ","M6N3VXI ","M6N3VYI ","M6N3VZI ", & + "M6N4AXI ","M6N4AYI ","M6N4AZI ","M6N4DYNP ","M6N4FAFXI ","M6N4FAFYI ","M6N4FAFZI ", & + "M6N4FAGXI ","M6N4FAGYI ","M6N4FAGZI ","M6N4FAMXI ","M6N4FAMYI ","M6N4FAMZI ","M6N4FBFXI ", & + "M6N4FBFYI ","M6N4FBFZI ","M6N4FBXI ","M6N4FBYI ","M6N4FBZI ","M6N4FDXI ","M6N4FDYI ", & + "M6N4FDZI ","M6N4FIXI ","M6N4FIYI ","M6N4FIZI ","M6N4FMGXI ","M6N4FMGYI ","M6N4FMGZI ", & + "M6N4FWEXI ","M6N4FWEYI ","M6N4FWEZI ","M6N4MAFXI ","M6N4MAFYI ","M6N4MAFZI ","M6N4MAGXI ", & "M6N4MAGYI ","M6N4MAGZI ","M6N4MBFXI ","M6N4MBFYI ","M6N4MBFZI ","M6N4MBXI ","M6N4MBYI ", & "M6N4MBZI ","M6N4MMGXI ","M6N4MMGYI ","M6N4MMGZI ","M6N4STAXI ","M6N4STAYI ","M6N4STAZI ", & "M6N4STVXI ","M6N4STVYI ","M6N4STVZI ","M6N4VXI ","M6N4VYI ","M6N4VZI ","M6N5AXI ", & "M6N5AYI ","M6N5AZI ","M6N5DYNP ","M6N5FAFXI ","M6N5FAFYI ","M6N5FAFZI ","M6N5FAGXI ", & "M6N5FAGYI ","M6N5FAGZI ","M6N5FAMXI ","M6N5FAMYI ","M6N5FAMZI ","M6N5FBFXI ","M6N5FBFYI ", & "M6N5FBFZI ","M6N5FBXI ","M6N5FBYI ","M6N5FBZI ","M6N5FDXI ","M6N5FDYI ","M6N5FDZI ", & - "M6N5FIXI ","M6N5FIYI ","M6N5FIZI ","M6N5FMGXI ","M6N5FMGYI ","M6N5FMGZI ","M6N5MAFXI ", & - "M6N5MAFYI ","M6N5MAFZI ","M6N5MAGXI ","M6N5MAGYI ","M6N5MAGZI ","M6N5MBFXI ","M6N5MBFYI ", & - "M6N5MBFZI ","M6N5MBXI ","M6N5MBYI ","M6N5MBZI ","M6N5MMGXI ","M6N5MMGYI ","M6N5MMGZI ", & - "M6N5STAXI ","M6N5STAYI ","M6N5STAZI ","M6N5STVXI ","M6N5STVYI ","M6N5STVZI ","M6N5VXI ", & - "M6N5VYI ","M6N5VZI ","M6N6AXI ","M6N6AYI ","M6N6AZI ","M6N6DYNP ","M6N6FAFXI ", & - "M6N6FAFYI ","M6N6FAFZI ","M6N6FAGXI ","M6N6FAGYI ","M6N6FAGZI ","M6N6FAMXI ","M6N6FAMYI ", & - "M6N6FAMZI ","M6N6FBFXI ","M6N6FBFYI ","M6N6FBFZI ","M6N6FBXI ","M6N6FBYI ","M6N6FBZI ", & - "M6N6FDXI ","M6N6FDYI ","M6N6FDZI ","M6N6FIXI ","M6N6FIYI ","M6N6FIZI ","M6N6FMGXI ", & - "M6N6FMGYI ","M6N6FMGZI ","M6N6MAFXI ","M6N6MAFYI ","M6N6MAFZI ","M6N6MAGXI ","M6N6MAGYI ", & - "M6N6MAGZI ","M6N6MBFXI ","M6N6MBFYI ","M6N6MBFZI ","M6N6MBXI ","M6N6MBYI ","M6N6MBZI ", & - "M6N6MMGXI ","M6N6MMGYI ","M6N6MMGZI ","M6N6STAXI ","M6N6STAYI ","M6N6STAZI ","M6N6STVXI ", & - "M6N6STVYI ","M6N6STVZI ","M6N6VXI ","M6N6VYI ","M6N6VZI ","M6N7AXI ","M6N7AYI ", & - "M6N7AZI ","M6N7DYNP ","M6N7FAFXI ","M6N7FAFYI ","M6N7FAFZI ","M6N7FAGXI ","M6N7FAGYI ", & - "M6N7FAGZI ","M6N7FAMXI ","M6N7FAMYI ","M6N7FAMZI ","M6N7FBFXI ","M6N7FBFYI ","M6N7FBFZI ", & - "M6N7FBXI ","M6N7FBYI "/) - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry3(1542) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + "M6N5FIXI ","M6N5FIYI ","M6N5FIZI ","M6N5FMGXI ","M6N5FMGYI ","M6N5FMGZI ","M6N5FWEXI ", & + "M6N5FWEYI ","M6N5FWEZI ","M6N5MAFXI ","M6N5MAFYI ","M6N5MAFZI ","M6N5MAGXI ","M6N5MAGYI ", & + "M6N5MAGZI ","M6N5MBFXI ","M6N5MBFYI ","M6N5MBFZI ","M6N5MBXI ","M6N5MBYI ","M6N5MBZI ", & + "M6N5MMGXI ","M6N5MMGYI ","M6N5MMGZI ","M6N5STAXI ","M6N5STAYI ","M6N5STAZI ","M6N5STVXI ", & + "M6N5STVYI ","M6N5STVZI ","M6N5VXI ","M6N5VYI ","M6N5VZI ","M6N6AXI ","M6N6AYI ", & + "M6N6AZI ","M6N6DYNP ","M6N6FAFXI ","M6N6FAFYI ","M6N6FAFZI ","M6N6FAGXI ","M6N6FAGYI ", & + "M6N6FAGZI ","M6N6FAMXI ","M6N6FAMYI ","M6N6FAMZI ","M6N6FBFXI ","M6N6FBFYI ","M6N6FBFZI ", & + "M6N6FBXI ","M6N6FBYI ","M6N6FBZI ","M6N6FDXI ","M6N6FDYI ","M6N6FDZI ","M6N6FIXI ", & + "M6N6FIYI ","M6N6FIZI ","M6N6FMGXI ","M6N6FMGYI ","M6N6FMGZI ","M6N6FWEXI ","M6N6FWEYI ", & + "M6N6FWEZI ","M6N6MAFXI ","M6N6MAFYI ","M6N6MAFZI ","M6N6MAGXI ","M6N6MAGYI ","M6N6MAGZI ", & + "M6N6MBFXI ","M6N6MBFYI ","M6N6MBFZI ","M6N6MBXI ","M6N6MBYI ","M6N6MBZI ","M6N6MMGXI ", & + "M6N6MMGYI ","M6N6MMGZI ","M6N6STAXI ","M6N6STAYI ","M6N6STAZI ","M6N6STVXI ","M6N6STVYI ", & + "M6N6STVZI ","M6N6VXI ","M6N6VYI ","M6N6VZI ","M6N7AXI ","M6N7AYI ","M6N7AZI ", & + "M6N7DYNP ","M6N7FAFXI ","M6N7FAFYI ","M6N7FAFZI ","M6N7FAGXI ","M6N7FAGYI ","M6N7FAGZI ", & + "M6N7FAMXI ","M6N7FAMYI ","M6N7FAMZI ","M6N7FBFXI ","M6N7FBFYI ","M6N7FBFZI ","M6N7FBXI ", & + "M6N7FBYI "/) + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry3(1632) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically "M6N7FBZI ","M6N7FDXI ","M6N7FDYI ","M6N7FDZI ","M6N7FIXI ","M6N7FIYI ","M6N7FIZI ", & - "M6N7FMGXI ","M6N7FMGYI ","M6N7FMGZI ","M6N7MAFXI ","M6N7MAFYI ","M6N7MAFZI ","M6N7MAGXI ", & - "M6N7MAGYI ","M6N7MAGZI ","M6N7MBFXI ","M6N7MBFYI ","M6N7MBFZI ","M6N7MBXI ","M6N7MBYI ", & - "M6N7MBZI ","M6N7MMGXI ","M6N7MMGYI ","M6N7MMGZI ","M6N7STAXI ","M6N7STAYI ","M6N7STAZI ", & - "M6N7STVXI ","M6N7STVYI ","M6N7STVZI ","M6N7VXI ","M6N7VYI ","M6N7VZI ","M6N8AXI ", & - "M6N8AYI ","M6N8AZI ","M6N8DYNP ","M6N8FAFXI ","M6N8FAFYI ","M6N8FAFZI ","M6N8FAGXI ", & - "M6N8FAGYI ","M6N8FAGZI ","M6N8FAMXI ","M6N8FAMYI ","M6N8FAMZI ","M6N8FBFXI ","M6N8FBFYI ", & - "M6N8FBFZI ","M6N8FBXI ","M6N8FBYI ","M6N8FBZI ","M6N8FDXI ","M6N8FDYI ","M6N8FDZI ", & - "M6N8FIXI ","M6N8FIYI ","M6N8FIZI ","M6N8FMGXI ","M6N8FMGYI ","M6N8FMGZI ","M6N8MAFXI ", & - "M6N8MAFYI ","M6N8MAFZI ","M6N8MAGXI ","M6N8MAGYI ","M6N8MAGZI ","M6N8MBFXI ","M6N8MBFYI ", & - "M6N8MBFZI ","M6N8MBXI ","M6N8MBYI ","M6N8MBZI ","M6N8MMGXI ","M6N8MMGYI ","M6N8MMGZI ", & - "M6N8STAXI ","M6N8STAYI ","M6N8STAZI ","M6N8STVXI ","M6N8STVYI ","M6N8STVZI ","M6N8VXI ", & - "M6N8VYI ","M6N8VZI ","M6N9AXI ","M6N9AYI ","M6N9AZI ","M6N9DYNP ","M6N9FAFXI ", & - "M6N9FAFYI ","M6N9FAFZI ","M6N9FAGXI ","M6N9FAGYI ","M6N9FAGZI ","M6N9FAMXI ","M6N9FAMYI ", & - "M6N9FAMZI ","M6N9FBFXI ","M6N9FBFYI ","M6N9FBFZI ","M6N9FBXI ","M6N9FBYI ","M6N9FBZI ", & - "M6N9FDXI ","M6N9FDYI ","M6N9FDZI ","M6N9FIXI ","M6N9FIYI ","M6N9FIZI ","M6N9FMGXI ", & - "M6N9FMGYI ","M6N9FMGZI ","M6N9MAFXI ","M6N9MAFYI ","M6N9MAFZI ","M6N9MAGXI ","M6N9MAGYI ", & - "M6N9MAGZI ","M6N9MBFXI ","M6N9MBFYI ","M6N9MBFZI ","M6N9MBXI ","M6N9MBYI ","M6N9MBZI ", & - "M6N9MMGXI ","M6N9MMGYI ","M6N9MMGZI ","M6N9STAXI ","M6N9STAYI ","M6N9STAZI ","M6N9STVXI ", & - "M6N9STVYI ","M6N9STVZI ","M6N9VXI ","M6N9VYI ","M6N9VZI ","M7N1AXI ","M7N1AYI ", & - "M7N1AZI ","M7N1DYNP ","M7N1FAFXI ","M7N1FAFYI ","M7N1FAFZI ","M7N1FAGXI ","M7N1FAGYI ", & - "M7N1FAGZI ","M7N1FAMXI ","M7N1FAMYI ","M7N1FAMZI ","M7N1FBFXI ","M7N1FBFYI ","M7N1FBFZI ", & - "M7N1FBXI ","M7N1FBYI ","M7N1FBZI ","M7N1FDXI ","M7N1FDYI ","M7N1FDZI ","M7N1FIXI ", & - "M7N1FIYI ","M7N1FIZI ","M7N1FMGXI ","M7N1FMGYI ","M7N1FMGZI ","M7N1MAFXI ","M7N1MAFYI ", & - "M7N1MAFZI ","M7N1MAGXI ","M7N1MAGYI ","M7N1MAGZI ","M7N1MBFXI ","M7N1MBFYI ","M7N1MBFZI ", & - "M7N1MBXI ","M7N1MBYI ","M7N1MBZI ","M7N1MMGXI ","M7N1MMGYI ","M7N1MMGZI ","M7N1STAXI ", & - "M7N1STAYI ","M7N1STAZI ","M7N1STVXI ","M7N1STVYI ","M7N1STVZI ","M7N1VXI ","M7N1VYI ", & - "M7N1VZI ","M7N2AXI ","M7N2AYI ","M7N2AZI ","M7N2DYNP ","M7N2FAFXI ","M7N2FAFYI ", & - "M7N2FAFZI ","M7N2FAGXI ","M7N2FAGYI ","M7N2FAGZI ","M7N2FAMXI ","M7N2FAMYI ","M7N2FAMZI ", & - "M7N2FBFXI ","M7N2FBFYI ","M7N2FBFZI ","M7N2FBXI ","M7N2FBYI ","M7N2FBZI ","M7N2FDXI ", & - "M7N2FDYI ","M7N2FDZI ","M7N2FIXI ","M7N2FIYI ","M7N2FIZI ","M7N2FMGXI ","M7N2FMGYI ", & - "M7N2FMGZI ","M7N2MAFXI ","M7N2MAFYI ","M7N2MAFZI ","M7N2MAGXI ","M7N2MAGYI ","M7N2MAGZI ", & - "M7N2MBFXI ","M7N2MBFYI ","M7N2MBFZI ","M7N2MBXI ","M7N2MBYI ","M7N2MBZI ","M7N2MMGXI ", & - "M7N2MMGYI ","M7N2MMGZI ","M7N2STAXI ","M7N2STAYI ","M7N2STAZI ","M7N2STVXI ","M7N2STVYI ", & - "M7N2STVZI ","M7N2VXI ","M7N2VYI ","M7N2VZI ","M7N3AXI ","M7N3AYI ","M7N3AZI ", & - "M7N3DYNP ","M7N3FAFXI ","M7N3FAFYI ","M7N3FAFZI ","M7N3FAGXI ","M7N3FAGYI ","M7N3FAGZI ", & - "M7N3FAMXI ","M7N3FAMYI ","M7N3FAMZI ","M7N3FBFXI ","M7N3FBFYI ","M7N3FBFZI ","M7N3FBXI ", & - "M7N3FBYI ","M7N3FBZI ","M7N3FDXI ","M7N3FDYI ","M7N3FDZI ","M7N3FIXI ","M7N3FIYI ", & - "M7N3FIZI ","M7N3FMGXI ","M7N3FMGYI ","M7N3FMGZI ","M7N3MAFXI ","M7N3MAFYI ","M7N3MAFZI ", & - "M7N3MAGXI ","M7N3MAGYI ","M7N3MAGZI ","M7N3MBFXI ","M7N3MBFYI ","M7N3MBFZI ","M7N3MBXI ", & - "M7N3MBYI ","M7N3MBZI ","M7N3MMGXI ","M7N3MMGYI ","M7N3MMGZI ","M7N3STAXI ","M7N3STAYI ", & - "M7N3STAZI ","M7N3STVXI ","M7N3STVYI ","M7N3STVZI ","M7N3VXI ","M7N3VYI ","M7N3VZI ", & - "M7N4AXI ","M7N4AYI ","M7N4AZI ","M7N4DYNP ","M7N4FAFXI ","M7N4FAFYI ","M7N4FAFZI ", & - "M7N4FAGXI ","M7N4FAGYI ","M7N4FAGZI ","M7N4FAMXI ","M7N4FAMYI ","M7N4FAMZI ","M7N4FBFXI ", & - "M7N4FBFYI ","M7N4FBFZI ","M7N4FBXI ","M7N4FBYI ","M7N4FBZI ","M7N4FDXI ","M7N4FDYI ", & - "M7N4FDZI ","M7N4FIXI ","M7N4FIYI ","M7N4FIZI ","M7N4FMGXI ","M7N4FMGYI ","M7N4FMGZI ", & + "M6N7FMGXI ","M6N7FMGYI ","M6N7FMGZI ","M6N7FWEXI ","M6N7FWEYI ","M6N7FWEZI ","M6N7MAFXI ", & + "M6N7MAFYI ","M6N7MAFZI ","M6N7MAGXI ","M6N7MAGYI ","M6N7MAGZI ","M6N7MBFXI ","M6N7MBFYI ", & + "M6N7MBFZI ","M6N7MBXI ","M6N7MBYI ","M6N7MBZI ","M6N7MMGXI ","M6N7MMGYI ","M6N7MMGZI ", & + "M6N7STAXI ","M6N7STAYI ","M6N7STAZI ","M6N7STVXI ","M6N7STVYI ","M6N7STVZI ","M6N7VXI ", & + "M6N7VYI ","M6N7VZI ","M6N8AXI ","M6N8AYI ","M6N8AZI ","M6N8DYNP ","M6N8FAFXI ", & + "M6N8FAFYI ","M6N8FAFZI ","M6N8FAGXI ","M6N8FAGYI ","M6N8FAGZI ","M6N8FAMXI ","M6N8FAMYI ", & + "M6N8FAMZI ","M6N8FBFXI ","M6N8FBFYI ","M6N8FBFZI ","M6N8FBXI ","M6N8FBYI ","M6N8FBZI ", & + "M6N8FDXI ","M6N8FDYI ","M6N8FDZI ","M6N8FIXI ","M6N8FIYI ","M6N8FIZI ","M6N8FMGXI ", & + "M6N8FMGYI ","M6N8FMGZI ","M6N8FWEXI ","M6N8FWEYI ","M6N8FWEZI ","M6N8MAFXI ","M6N8MAFYI ", & + "M6N8MAFZI ","M6N8MAGXI ","M6N8MAGYI ","M6N8MAGZI ","M6N8MBFXI ","M6N8MBFYI ","M6N8MBFZI ", & + "M6N8MBXI ","M6N8MBYI ","M6N8MBZI ","M6N8MMGXI ","M6N8MMGYI ","M6N8MMGZI ","M6N8STAXI ", & + "M6N8STAYI ","M6N8STAZI ","M6N8STVXI ","M6N8STVYI ","M6N8STVZI ","M6N8VXI ","M6N8VYI ", & + "M6N8VZI ","M6N9AXI ","M6N9AYI ","M6N9AZI ","M6N9DYNP ","M6N9FAFXI ","M6N9FAFYI ", & + "M6N9FAFZI ","M6N9FAGXI ","M6N9FAGYI ","M6N9FAGZI ","M6N9FAMXI ","M6N9FAMYI ","M6N9FAMZI ", & + "M6N9FBFXI ","M6N9FBFYI ","M6N9FBFZI ","M6N9FBXI ","M6N9FBYI ","M6N9FBZI ","M6N9FDXI ", & + "M6N9FDYI ","M6N9FDZI ","M6N9FIXI ","M6N9FIYI ","M6N9FIZI ","M6N9FMGXI ","M6N9FMGYI ", & + "M6N9FMGZI ","M6N9FWEXI ","M6N9FWEYI ","M6N9FWEZI ","M6N9MAFXI ","M6N9MAFYI ","M6N9MAFZI ", & + "M6N9MAGXI ","M6N9MAGYI ","M6N9MAGZI ","M6N9MBFXI ","M6N9MBFYI ","M6N9MBFZI ","M6N9MBXI ", & + "M6N9MBYI ","M6N9MBZI ","M6N9MMGXI ","M6N9MMGYI ","M6N9MMGZI ","M6N9STAXI ","M6N9STAYI ", & + "M6N9STAZI ","M6N9STVXI ","M6N9STVYI ","M6N9STVZI ","M6N9VXI ","M6N9VYI ","M6N9VZI ", & + "M7N1AXI ","M7N1AYI ","M7N1AZI ","M7N1DYNP ","M7N1FAFXI ","M7N1FAFYI ","M7N1FAFZI ", & + "M7N1FAGXI ","M7N1FAGYI ","M7N1FAGZI ","M7N1FAMXI ","M7N1FAMYI ","M7N1FAMZI ","M7N1FBFXI ", & + "M7N1FBFYI ","M7N1FBFZI ","M7N1FBXI ","M7N1FBYI ","M7N1FBZI ","M7N1FDXI ","M7N1FDYI ", & + "M7N1FDZI ","M7N1FIXI ","M7N1FIYI ","M7N1FIZI ","M7N1FMGXI ","M7N1FMGYI ","M7N1FMGZI ", & + "M7N1FWEXI ","M7N1FWEYI ","M7N1FWEZI ","M7N1MAFXI ","M7N1MAFYI ","M7N1MAFZI ","M7N1MAGXI ", & + "M7N1MAGYI ","M7N1MAGZI ","M7N1MBFXI ","M7N1MBFYI ","M7N1MBFZI ","M7N1MBXI ","M7N1MBYI ", & + "M7N1MBZI ","M7N1MMGXI ","M7N1MMGYI ","M7N1MMGZI ","M7N1STAXI ","M7N1STAYI ","M7N1STAZI ", & + "M7N1STVXI ","M7N1STVYI ","M7N1STVZI ","M7N1VXI ","M7N1VYI ","M7N1VZI ","M7N2AXI ", & + "M7N2AYI ","M7N2AZI ","M7N2DYNP ","M7N2FAFXI ","M7N2FAFYI ","M7N2FAFZI ","M7N2FAGXI ", & + "M7N2FAGYI ","M7N2FAGZI ","M7N2FAMXI ","M7N2FAMYI ","M7N2FAMZI ","M7N2FBFXI ","M7N2FBFYI ", & + "M7N2FBFZI ","M7N2FBXI ","M7N2FBYI ","M7N2FBZI ","M7N2FDXI ","M7N2FDYI ","M7N2FDZI ", & + "M7N2FIXI ","M7N2FIYI ","M7N2FIZI ","M7N2FMGXI ","M7N2FMGYI ","M7N2FMGZI ","M7N2FWEXI ", & + "M7N2FWEYI ","M7N2FWEZI ","M7N2MAFXI ","M7N2MAFYI ","M7N2MAFZI ","M7N2MAGXI ","M7N2MAGYI ", & + "M7N2MAGZI ","M7N2MBFXI ","M7N2MBFYI ","M7N2MBFZI ","M7N2MBXI ","M7N2MBYI ","M7N2MBZI ", & + "M7N2MMGXI ","M7N2MMGYI ","M7N2MMGZI ","M7N2STAXI ","M7N2STAYI ","M7N2STAZI ","M7N2STVXI ", & + "M7N2STVYI ","M7N2STVZI ","M7N2VXI ","M7N2VYI ","M7N2VZI ","M7N3AXI ","M7N3AYI ", & + "M7N3AZI ","M7N3DYNP ","M7N3FAFXI ","M7N3FAFYI ","M7N3FAFZI ","M7N3FAGXI ","M7N3FAGYI ", & + "M7N3FAGZI ","M7N3FAMXI ","M7N3FAMYI ","M7N3FAMZI ","M7N3FBFXI ","M7N3FBFYI ","M7N3FBFZI ", & + "M7N3FBXI ","M7N3FBYI ","M7N3FBZI ","M7N3FDXI ","M7N3FDYI ","M7N3FDZI ","M7N3FIXI ", & + "M7N3FIYI ","M7N3FIZI ","M7N3FMGXI ","M7N3FMGYI ","M7N3FMGZI ","M7N3FWEXI ","M7N3FWEYI ", & + "M7N3FWEZI ","M7N3MAFXI ","M7N3MAFYI ","M7N3MAFZI ","M7N3MAGXI ","M7N3MAGYI ","M7N3MAGZI ", & + "M7N3MBFXI ","M7N3MBFYI ","M7N3MBFZI ","M7N3MBXI ","M7N3MBYI ","M7N3MBZI ","M7N3MMGXI ", & + "M7N3MMGYI ","M7N3MMGZI ","M7N3STAXI ","M7N3STAYI ","M7N3STAZI ","M7N3STVXI ","M7N3STVYI ", & + "M7N3STVZI ","M7N3VXI ","M7N3VYI ","M7N3VZI ","M7N4AXI ","M7N4AYI ","M7N4AZI ", & + "M7N4DYNP ","M7N4FAFXI ","M7N4FAFYI ","M7N4FAFZI ","M7N4FAGXI ","M7N4FAGYI ","M7N4FAGZI ", & + "M7N4FAMXI ","M7N4FAMYI ","M7N4FAMZI ","M7N4FBFXI ","M7N4FBFYI ","M7N4FBFZI ","M7N4FBXI ", & + "M7N4FBYI ","M7N4FBZI ","M7N4FDXI ","M7N4FDYI ","M7N4FDZI ","M7N4FIXI ","M7N4FIYI ", & + "M7N4FIZI ","M7N4FMGXI ","M7N4FMGYI ","M7N4FMGZI ","M7N4FWEXI ","M7N4FWEYI ","M7N4FWEZI ", & "M7N4MAFXI ","M7N4MAFYI ","M7N4MAFZI ","M7N4MAGXI ","M7N4MAGYI ","M7N4MAGZI ","M7N4MBFXI ", & "M7N4MBFYI ","M7N4MBFZI ","M7N4MBXI ","M7N4MBYI ","M7N4MBZI ","M7N4MMGXI ","M7N4MMGYI ", & "M7N4MMGZI ","M7N4STAXI ","M7N4STAYI ","M7N4STAZI ","M7N4STVXI ","M7N4STVYI ","M7N4STVZI ", & @@ -6925,51 +7316,54 @@ MODULE Morison_Output "M7N5FAFXI ","M7N5FAFYI ","M7N5FAFZI ","M7N5FAGXI ","M7N5FAGYI ","M7N5FAGZI ","M7N5FAMXI ", & "M7N5FAMYI ","M7N5FAMZI ","M7N5FBFXI ","M7N5FBFYI ","M7N5FBFZI ","M7N5FBXI ","M7N5FBYI ", & "M7N5FBZI ","M7N5FDXI ","M7N5FDYI ","M7N5FDZI ","M7N5FIXI ","M7N5FIYI ","M7N5FIZI ", & - "M7N5FMGXI ","M7N5FMGYI ","M7N5FMGZI ","M7N5MAFXI ","M7N5MAFYI ","M7N5MAFZI ","M7N5MAGXI ", & - "M7N5MAGYI ","M7N5MAGZI ","M7N5MBFXI ","M7N5MBFYI ","M7N5MBFZI ","M7N5MBXI ","M7N5MBYI ", & - "M7N5MBZI ","M7N5MMGXI ","M7N5MMGYI ","M7N5MMGZI ","M7N5STAXI ","M7N5STAYI ","M7N5STAZI ", & - "M7N5STVXI ","M7N5STVYI ","M7N5STVZI ","M7N5VXI ","M7N5VYI ","M7N5VZI ","M7N6AXI ", & - "M7N6AYI ","M7N6AZI ","M7N6DYNP ","M7N6FAFXI ","M7N6FAFYI ","M7N6FAFZI ","M7N6FAGXI ", & - "M7N6FAGYI ","M7N6FAGZI ","M7N6FAMXI ","M7N6FAMYI ","M7N6FAMZI ","M7N6FBFXI ","M7N6FBFYI ", & - "M7N6FBFZI ","M7N6FBXI ","M7N6FBYI ","M7N6FBZI ","M7N6FDXI ","M7N6FDYI ","M7N6FDZI ", & - "M7N6FIXI ","M7N6FIYI ","M7N6FIZI ","M7N6FMGXI ","M7N6FMGYI ","M7N6FMGZI ","M7N6MAFXI ", & - "M7N6MAFYI ","M7N6MAFZI ","M7N6MAGXI ","M7N6MAGYI ","M7N6MAGZI ","M7N6MBFXI ","M7N6MBFYI ", & - "M7N6MBFZI ","M7N6MBXI ","M7N6MBYI ","M7N6MBZI ","M7N6MMGXI ","M7N6MMGYI ","M7N6MMGZI ", & - "M7N6STAXI ","M7N6STAYI ","M7N6STAZI ","M7N6STVXI ","M7N6STVYI ","M7N6STVZI ","M7N6VXI ", & - "M7N6VYI ","M7N6VZI ","M7N7AXI ","M7N7AYI ","M7N7AZI ","M7N7DYNP ","M7N7FAFXI ", & - "M7N7FAFYI ","M7N7FAFZI ","M7N7FAGXI ","M7N7FAGYI ","M7N7FAGZI ","M7N7FAMXI ","M7N7FAMYI ", & - "M7N7FAMZI ","M7N7FBFXI ","M7N7FBFYI ","M7N7FBFZI ","M7N7FBXI ","M7N7FBYI ","M7N7FBZI ", & - "M7N7FDXI ","M7N7FDYI ","M7N7FDZI ","M7N7FIXI ","M7N7FIYI ","M7N7FIZI ","M7N7FMGXI ", & - "M7N7FMGYI ","M7N7FMGZI ","M7N7MAFXI ","M7N7MAFYI ","M7N7MAFZI ","M7N7MAGXI ","M7N7MAGYI ", & - "M7N7MAGZI ","M7N7MBFXI ","M7N7MBFYI ","M7N7MBFZI ","M7N7MBXI ","M7N7MBYI ","M7N7MBZI ", & - "M7N7MMGXI ","M7N7MMGYI ","M7N7MMGZI ","M7N7STAXI ","M7N7STAYI ","M7N7STAZI ","M7N7STVXI ", & - "M7N7STVYI ","M7N7STVZI ","M7N7VXI ","M7N7VYI ","M7N7VZI ","M7N8AXI ","M7N8AYI ", & - "M7N8AZI ","M7N8DYNP ","M7N8FAFXI ","M7N8FAFYI ","M7N8FAFZI ","M7N8FAGXI ","M7N8FAGYI ", & - "M7N8FAGZI ","M7N8FAMXI ","M7N8FAMYI ","M7N8FAMZI ","M7N8FBFXI ","M7N8FBFYI ","M7N8FBFZI ", & - "M7N8FBXI ","M7N8FBYI ","M7N8FBZI ","M7N8FDXI ","M7N8FDYI ","M7N8FDZI ","M7N8FIXI ", & - "M7N8FIYI ","M7N8FIZI ","M7N8FMGXI ","M7N8FMGYI ","M7N8FMGZI ","M7N8MAFXI ","M7N8MAFYI ", & - "M7N8MAFZI ","M7N8MAGXI ","M7N8MAGYI ","M7N8MAGZI ","M7N8MBFXI ","M7N8MBFYI ","M7N8MBFZI ", & - "M7N8MBXI ","M7N8MBYI ","M7N8MBZI ","M7N8MMGXI ","M7N8MMGYI ","M7N8MMGZI ","M7N8STAXI ", & - "M7N8STAYI ","M7N8STAZI ","M7N8STVXI ","M7N8STVYI ","M7N8STVZI ","M7N8VXI ","M7N8VYI ", & - "M7N8VZI ","M7N9AXI ","M7N9AYI ","M7N9AZI ","M7N9DYNP ","M7N9FAFXI ","M7N9FAFYI ", & - "M7N9FAFZI ","M7N9FAGXI ","M7N9FAGYI ","M7N9FAGZI ","M7N9FAMXI ","M7N9FAMYI ","M7N9FAMZI ", & - "M7N9FBFXI ","M7N9FBFYI ","M7N9FBFZI ","M7N9FBXI ","M7N9FBYI ","M7N9FBZI ","M7N9FDXI ", & - "M7N9FDYI ","M7N9FDZI ","M7N9FIXI ","M7N9FIYI ","M7N9FIZI ","M7N9FMGXI ","M7N9FMGYI ", & - "M7N9FMGZI ","M7N9MAFXI ","M7N9MAFYI ","M7N9MAFZI ","M7N9MAGXI ","M7N9MAGYI ","M7N9MAGZI ", & - "M7N9MBFXI ","M7N9MBFYI ","M7N9MBFZI ","M7N9MBXI ","M7N9MBYI ","M7N9MBZI ","M7N9MMGXI ", & - "M7N9MMGYI ","M7N9MMGZI ","M7N9STAXI ","M7N9STAYI ","M7N9STAZI ","M7N9STVXI ","M7N9STVYI ", & - "M7N9STVZI ","M7N9VXI ","M7N9VYI ","M7N9VZI ","M8N1AXI ","M8N1AYI ","M8N1AZI ", & - "M8N1DYNP ","M8N1FAFXI ","M8N1FAFYI ","M8N1FAFZI ","M8N1FAGXI ","M8N1FAGYI ","M8N1FAGZI ", & - "M8N1FAMXI ","M8N1FAMYI ","M8N1FAMZI ","M8N1FBFXI ","M8N1FBFYI ","M8N1FBFZI ","M8N1FBXI ", & - "M8N1FBYI ","M8N1FBZI ","M8N1FDXI ","M8N1FDYI ","M8N1FDZI ","M8N1FIXI ","M8N1FIYI ", & - "M8N1FIZI ","M8N1FMGXI ","M8N1FMGYI ","M8N1FMGZI ","M8N1MAFXI ","M8N1MAFYI ","M8N1MAFZI ", & - "M8N1MAGXI ","M8N1MAGYI ","M8N1MAGZI ","M8N1MBFXI ","M8N1MBFYI ","M8N1MBFZI ","M8N1MBXI ", & - "M8N1MBYI ","M8N1MBZI ","M8N1MMGXI ","M8N1MMGYI ","M8N1MMGZI ","M8N1STAXI ","M8N1STAYI ", & - "M8N1STAZI ","M8N1STVXI ","M8N1STVYI ","M8N1STVZI ","M8N1VXI ","M8N1VYI ","M8N1VZI ", & - "M8N2AXI ","M8N2AYI ","M8N2AZI ","M8N2DYNP ","M8N2FAFXI ","M8N2FAFYI ","M8N2FAFZI ", & - "M8N2FAGXI ","M8N2FAGYI ","M8N2FAGZI ","M8N2FAMXI ","M8N2FAMYI ","M8N2FAMZI ","M8N2FBFXI ", & - "M8N2FBFYI ","M8N2FBFZI ","M8N2FBXI ","M8N2FBYI ","M8N2FBZI ","M8N2FDXI ","M8N2FDYI ", & - "M8N2FDZI ","M8N2FIXI ","M8N2FIYI ","M8N2FIZI ","M8N2FMGXI ","M8N2FMGYI ","M8N2FMGZI ", & + "M7N5FMGXI ","M7N5FMGYI ","M7N5FMGZI ","M7N5FWEXI ","M7N5FWEYI ","M7N5FWEZI ","M7N5MAFXI ", & + "M7N5MAFYI ","M7N5MAFZI ","M7N5MAGXI ","M7N5MAGYI ","M7N5MAGZI ","M7N5MBFXI ","M7N5MBFYI ", & + "M7N5MBFZI ","M7N5MBXI ","M7N5MBYI ","M7N5MBZI ","M7N5MMGXI ","M7N5MMGYI ","M7N5MMGZI ", & + "M7N5STAXI ","M7N5STAYI ","M7N5STAZI ","M7N5STVXI ","M7N5STVYI ","M7N5STVZI ","M7N5VXI ", & + "M7N5VYI ","M7N5VZI ","M7N6AXI ","M7N6AYI ","M7N6AZI ","M7N6DYNP ","M7N6FAFXI ", & + "M7N6FAFYI ","M7N6FAFZI ","M7N6FAGXI ","M7N6FAGYI ","M7N6FAGZI ","M7N6FAMXI ","M7N6FAMYI ", & + "M7N6FAMZI ","M7N6FBFXI ","M7N6FBFYI ","M7N6FBFZI ","M7N6FBXI ","M7N6FBYI ","M7N6FBZI ", & + "M7N6FDXI ","M7N6FDYI ","M7N6FDZI ","M7N6FIXI ","M7N6FIYI ","M7N6FIZI ","M7N6FMGXI ", & + "M7N6FMGYI ","M7N6FMGZI ","M7N6FWEXI ","M7N6FWEYI ","M7N6FWEZI ","M7N6MAFXI ","M7N6MAFYI ", & + "M7N6MAFZI ","M7N6MAGXI ","M7N6MAGYI ","M7N6MAGZI ","M7N6MBFXI ","M7N6MBFYI ","M7N6MBFZI ", & + "M7N6MBXI ","M7N6MBYI ","M7N6MBZI ","M7N6MMGXI ","M7N6MMGYI ","M7N6MMGZI ","M7N6STAXI ", & + "M7N6STAYI ","M7N6STAZI ","M7N6STVXI ","M7N6STVYI ","M7N6STVZI ","M7N6VXI ","M7N6VYI ", & + "M7N6VZI ","M7N7AXI ","M7N7AYI ","M7N7AZI ","M7N7DYNP ","M7N7FAFXI ","M7N7FAFYI ", & + "M7N7FAFZI ","M7N7FAGXI ","M7N7FAGYI ","M7N7FAGZI ","M7N7FAMXI ","M7N7FAMYI ","M7N7FAMZI ", & + "M7N7FBFXI ","M7N7FBFYI ","M7N7FBFZI ","M7N7FBXI ","M7N7FBYI ","M7N7FBZI ","M7N7FDXI ", & + "M7N7FDYI ","M7N7FDZI ","M7N7FIXI ","M7N7FIYI ","M7N7FIZI ","M7N7FMGXI ","M7N7FMGYI ", & + "M7N7FMGZI ","M7N7FWEXI ","M7N7FWEYI ","M7N7FWEZI ","M7N7MAFXI ","M7N7MAFYI ","M7N7MAFZI ", & + "M7N7MAGXI ","M7N7MAGYI ","M7N7MAGZI ","M7N7MBFXI ","M7N7MBFYI ","M7N7MBFZI ","M7N7MBXI ", & + "M7N7MBYI ","M7N7MBZI ","M7N7MMGXI ","M7N7MMGYI ","M7N7MMGZI ","M7N7STAXI ","M7N7STAYI ", & + "M7N7STAZI ","M7N7STVXI ","M7N7STVYI ","M7N7STVZI ","M7N7VXI ","M7N7VYI ","M7N7VZI ", & + "M7N8AXI ","M7N8AYI ","M7N8AZI ","M7N8DYNP ","M7N8FAFXI ","M7N8FAFYI ","M7N8FAFZI ", & + "M7N8FAGXI ","M7N8FAGYI ","M7N8FAGZI ","M7N8FAMXI ","M7N8FAMYI ","M7N8FAMZI ","M7N8FBFXI ", & + "M7N8FBFYI ","M7N8FBFZI ","M7N8FBXI ","M7N8FBYI ","M7N8FBZI ","M7N8FDXI ","M7N8FDYI ", & + "M7N8FDZI ","M7N8FIXI ","M7N8FIYI ","M7N8FIZI ","M7N8FMGXI ","M7N8FMGYI ","M7N8FMGZI ", & + "M7N8FWEXI ","M7N8FWEYI ","M7N8FWEZI ","M7N8MAFXI ","M7N8MAFYI ","M7N8MAFZI ","M7N8MAGXI ", & + "M7N8MAGYI ","M7N8MAGZI ","M7N8MBFXI ","M7N8MBFYI ","M7N8MBFZI ","M7N8MBXI ","M7N8MBYI ", & + "M7N8MBZI ","M7N8MMGXI ","M7N8MMGYI ","M7N8MMGZI ","M7N8STAXI ","M7N8STAYI ","M7N8STAZI ", & + "M7N8STVXI ","M7N8STVYI ","M7N8STVZI ","M7N8VXI ","M7N8VYI ","M7N8VZI ","M7N9AXI ", & + "M7N9AYI ","M7N9AZI ","M7N9DYNP ","M7N9FAFXI ","M7N9FAFYI ","M7N9FAFZI ","M7N9FAGXI ", & + "M7N9FAGYI ","M7N9FAGZI ","M7N9FAMXI ","M7N9FAMYI ","M7N9FAMZI ","M7N9FBFXI ","M7N9FBFYI ", & + "M7N9FBFZI ","M7N9FBXI ","M7N9FBYI ","M7N9FBZI ","M7N9FDXI ","M7N9FDYI ","M7N9FDZI ", & + "M7N9FIXI ","M7N9FIYI ","M7N9FIZI ","M7N9FMGXI ","M7N9FMGYI ","M7N9FMGZI ","M7N9FWEXI ", & + "M7N9FWEYI ","M7N9FWEZI ","M7N9MAFXI ","M7N9MAFYI ","M7N9MAFZI ","M7N9MAGXI ","M7N9MAGYI ", & + "M7N9MAGZI ","M7N9MBFXI ","M7N9MBFYI ","M7N9MBFZI ","M7N9MBXI ","M7N9MBYI ","M7N9MBZI ", & + "M7N9MMGXI ","M7N9MMGYI ","M7N9MMGZI ","M7N9STAXI ","M7N9STAYI ","M7N9STAZI ","M7N9STVXI ", & + "M7N9STVYI ","M7N9STVZI ","M7N9VXI ","M7N9VYI ","M7N9VZI ","M8N1AXI ","M8N1AYI ", & + "M8N1AZI ","M8N1DYNP ","M8N1FAFXI ","M8N1FAFYI ","M8N1FAFZI ","M8N1FAGXI ","M8N1FAGYI ", & + "M8N1FAGZI ","M8N1FAMXI ","M8N1FAMYI ","M8N1FAMZI ","M8N1FBFXI ","M8N1FBFYI ","M8N1FBFZI ", & + "M8N1FBXI ","M8N1FBYI ","M8N1FBZI ","M8N1FDXI ","M8N1FDYI ","M8N1FDZI ","M8N1FIXI ", & + "M8N1FIYI ","M8N1FIZI ","M8N1FMGXI ","M8N1FMGYI ","M8N1FMGZI ","M8N1FWEXI ","M8N1FWEYI ", & + "M8N1FWEZI ","M8N1MAFXI ","M8N1MAFYI ","M8N1MAFZI ","M8N1MAGXI ","M8N1MAGYI ","M8N1MAGZI ", & + "M8N1MBFXI ","M8N1MBFYI ","M8N1MBFZI ","M8N1MBXI ","M8N1MBYI ","M8N1MBZI ","M8N1MMGXI ", & + "M8N1MMGYI ","M8N1MMGZI ","M8N1STAXI ","M8N1STAYI ","M8N1STAZI ","M8N1STVXI ","M8N1STVYI ", & + "M8N1STVZI ","M8N1VXI ","M8N1VYI ","M8N1VZI ","M8N2AXI ","M8N2AYI ","M8N2AZI ", & + "M8N2DYNP ","M8N2FAFXI ","M8N2FAFYI ","M8N2FAFZI ","M8N2FAGXI ","M8N2FAGYI ","M8N2FAGZI ", & + "M8N2FAMXI ","M8N2FAMYI ","M8N2FAMZI ","M8N2FBFXI ","M8N2FBFYI ","M8N2FBFZI ","M8N2FBXI ", & + "M8N2FBYI ","M8N2FBZI ","M8N2FDXI ","M8N2FDYI ","M8N2FDZI ","M8N2FIXI ","M8N2FIYI ", & + "M8N2FIZI ","M8N2FMGXI ","M8N2FMGYI ","M8N2FMGZI ","M8N2FWEXI ","M8N2FWEYI ","M8N2FWEZI ", & "M8N2MAFXI ","M8N2MAFYI ","M8N2MAFZI ","M8N2MAGXI ","M8N2MAGYI ","M8N2MAGZI ","M8N2MBFXI ", & "M8N2MBFYI ","M8N2MBFZI ","M8N2MBXI ","M8N2MBYI ","M8N2MBZI ","M8N2MMGXI ","M8N2MMGYI ", & "M8N2MMGZI ","M8N2STAXI ","M8N2STAYI ","M8N2STAZI ","M8N2STVXI ","M8N2STVYI ","M8N2STVZI ", & @@ -6977,51 +7371,54 @@ MODULE Morison_Output "M8N3FAFXI ","M8N3FAFYI ","M8N3FAFZI ","M8N3FAGXI ","M8N3FAGYI ","M8N3FAGZI ","M8N3FAMXI ", & "M8N3FAMYI ","M8N3FAMZI ","M8N3FBFXI ","M8N3FBFYI ","M8N3FBFZI ","M8N3FBXI ","M8N3FBYI ", & "M8N3FBZI ","M8N3FDXI ","M8N3FDYI ","M8N3FDZI ","M8N3FIXI ","M8N3FIYI ","M8N3FIZI ", & - "M8N3FMGXI ","M8N3FMGYI ","M8N3FMGZI ","M8N3MAFXI ","M8N3MAFYI ","M8N3MAFZI ","M8N3MAGXI ", & - "M8N3MAGYI ","M8N3MAGZI ","M8N3MBFXI ","M8N3MBFYI ","M8N3MBFZI ","M8N3MBXI ","M8N3MBYI ", & - "M8N3MBZI ","M8N3MMGXI ","M8N3MMGYI ","M8N3MMGZI ","M8N3STAXI ","M8N3STAYI ","M8N3STAZI ", & - "M8N3STVXI ","M8N3STVYI ","M8N3STVZI ","M8N3VXI ","M8N3VYI ","M8N3VZI ","M8N4AXI ", & - "M8N4AYI ","M8N4AZI ","M8N4DYNP ","M8N4FAFXI ","M8N4FAFYI ","M8N4FAFZI ","M8N4FAGXI ", & - "M8N4FAGYI ","M8N4FAGZI ","M8N4FAMXI ","M8N4FAMYI ","M8N4FAMZI ","M8N4FBFXI ","M8N4FBFYI ", & - "M8N4FBFZI ","M8N4FBXI ","M8N4FBYI ","M8N4FBZI ","M8N4FDXI ","M8N4FDYI ","M8N4FDZI ", & - "M8N4FIXI ","M8N4FIYI ","M8N4FIZI ","M8N4FMGXI ","M8N4FMGYI ","M8N4FMGZI ","M8N4MAFXI ", & - "M8N4MAFYI ","M8N4MAFZI ","M8N4MAGXI ","M8N4MAGYI ","M8N4MAGZI ","M8N4MBFXI ","M8N4MBFYI ", & - "M8N4MBFZI ","M8N4MBXI ","M8N4MBYI ","M8N4MBZI ","M8N4MMGXI ","M8N4MMGYI ","M8N4MMGZI ", & - "M8N4STAXI ","M8N4STAYI ","M8N4STAZI ","M8N4STVXI ","M8N4STVYI ","M8N4STVZI ","M8N4VXI ", & - "M8N4VYI ","M8N4VZI ","M8N5AXI ","M8N5AYI ","M8N5AZI ","M8N5DYNP ","M8N5FAFXI ", & - "M8N5FAFYI ","M8N5FAFZI ","M8N5FAGXI ","M8N5FAGYI ","M8N5FAGZI ","M8N5FAMXI ","M8N5FAMYI ", & - "M8N5FAMZI ","M8N5FBFXI ","M8N5FBFYI ","M8N5FBFZI ","M8N5FBXI ","M8N5FBYI ","M8N5FBZI ", & - "M8N5FDXI ","M8N5FDYI ","M8N5FDZI ","M8N5FIXI ","M8N5FIYI ","M8N5FIZI ","M8N5FMGXI ", & - "M8N5FMGYI ","M8N5FMGZI ","M8N5MAFXI ","M8N5MAFYI ","M8N5MAFZI ","M8N5MAGXI ","M8N5MAGYI ", & - "M8N5MAGZI ","M8N5MBFXI ","M8N5MBFYI ","M8N5MBFZI ","M8N5MBXI ","M8N5MBYI ","M8N5MBZI ", & - "M8N5MMGXI ","M8N5MMGYI ","M8N5MMGZI ","M8N5STAXI ","M8N5STAYI ","M8N5STAZI ","M8N5STVXI ", & - "M8N5STVYI ","M8N5STVZI ","M8N5VXI ","M8N5VYI ","M8N5VZI ","M8N6AXI ","M8N6AYI ", & - "M8N6AZI ","M8N6DYNP ","M8N6FAFXI ","M8N6FAFYI ","M8N6FAFZI ","M8N6FAGXI ","M8N6FAGYI ", & - "M8N6FAGZI ","M8N6FAMXI ","M8N6FAMYI ","M8N6FAMZI ","M8N6FBFXI ","M8N6FBFYI ","M8N6FBFZI ", & - "M8N6FBXI ","M8N6FBYI ","M8N6FBZI ","M8N6FDXI ","M8N6FDYI ","M8N6FDZI ","M8N6FIXI ", & - "M8N6FIYI ","M8N6FIZI ","M8N6FMGXI ","M8N6FMGYI ","M8N6FMGZI ","M8N6MAFXI ","M8N6MAFYI ", & - "M8N6MAFZI ","M8N6MAGXI ","M8N6MAGYI ","M8N6MAGZI ","M8N6MBFXI ","M8N6MBFYI ","M8N6MBFZI ", & - "M8N6MBXI ","M8N6MBYI ","M8N6MBZI ","M8N6MMGXI ","M8N6MMGYI ","M8N6MMGZI ","M8N6STAXI ", & - "M8N6STAYI ","M8N6STAZI ","M8N6STVXI ","M8N6STVYI ","M8N6STVZI ","M8N6VXI ","M8N6VYI ", & - "M8N6VZI ","M8N7AXI ","M8N7AYI ","M8N7AZI ","M8N7DYNP ","M8N7FAFXI ","M8N7FAFYI ", & - "M8N7FAFZI ","M8N7FAGXI ","M8N7FAGYI ","M8N7FAGZI ","M8N7FAMXI ","M8N7FAMYI ","M8N7FAMZI ", & - "M8N7FBFXI ","M8N7FBFYI ","M8N7FBFZI ","M8N7FBXI ","M8N7FBYI ","M8N7FBZI ","M8N7FDXI ", & - "M8N7FDYI ","M8N7FDZI ","M8N7FIXI ","M8N7FIYI ","M8N7FIZI ","M8N7FMGXI ","M8N7FMGYI ", & - "M8N7FMGZI ","M8N7MAFXI ","M8N7MAFYI ","M8N7MAFZI ","M8N7MAGXI ","M8N7MAGYI ","M8N7MAGZI ", & - "M8N7MBFXI ","M8N7MBFYI ","M8N7MBFZI ","M8N7MBXI ","M8N7MBYI ","M8N7MBZI ","M8N7MMGXI ", & - "M8N7MMGYI ","M8N7MMGZI ","M8N7STAXI ","M8N7STAYI ","M8N7STAZI ","M8N7STVXI ","M8N7STVYI ", & - "M8N7STVZI ","M8N7VXI ","M8N7VYI ","M8N7VZI ","M8N8AXI ","M8N8AYI ","M8N8AZI ", & - "M8N8DYNP ","M8N8FAFXI ","M8N8FAFYI ","M8N8FAFZI ","M8N8FAGXI ","M8N8FAGYI ","M8N8FAGZI ", & - "M8N8FAMXI ","M8N8FAMYI ","M8N8FAMZI ","M8N8FBFXI ","M8N8FBFYI ","M8N8FBFZI ","M8N8FBXI ", & - "M8N8FBYI ","M8N8FBZI ","M8N8FDXI ","M8N8FDYI ","M8N8FDZI ","M8N8FIXI ","M8N8FIYI ", & - "M8N8FIZI ","M8N8FMGXI ","M8N8FMGYI ","M8N8FMGZI ","M8N8MAFXI ","M8N8MAFYI ","M8N8MAFZI ", & - "M8N8MAGXI ","M8N8MAGYI ","M8N8MAGZI ","M8N8MBFXI ","M8N8MBFYI ","M8N8MBFZI ","M8N8MBXI ", & - "M8N8MBYI ","M8N8MBZI ","M8N8MMGXI ","M8N8MMGYI ","M8N8MMGZI ","M8N8STAXI ","M8N8STAYI ", & - "M8N8STAZI ","M8N8STVXI ","M8N8STVYI ","M8N8STVZI ","M8N8VXI ","M8N8VYI ","M8N8VZI ", & - "M8N9AXI ","M8N9AYI ","M8N9AZI ","M8N9DYNP ","M8N9FAFXI ","M8N9FAFYI ","M8N9FAFZI ", & - "M8N9FAGXI ","M8N9FAGYI ","M8N9FAGZI ","M8N9FAMXI ","M8N9FAMYI ","M8N9FAMZI ","M8N9FBFXI ", & - "M8N9FBFYI ","M8N9FBFZI ","M8N9FBXI ","M8N9FBYI ","M8N9FBZI ","M8N9FDXI ","M8N9FDYI ", & - "M8N9FDZI ","M8N9FIXI ","M8N9FIYI ","M8N9FIZI ","M8N9FMGXI ","M8N9FMGYI ","M8N9FMGZI ", & + "M8N3FMGXI ","M8N3FMGYI ","M8N3FMGZI ","M8N3FWEXI ","M8N3FWEYI ","M8N3FWEZI ","M8N3MAFXI ", & + "M8N3MAFYI ","M8N3MAFZI ","M8N3MAGXI ","M8N3MAGYI ","M8N3MAGZI ","M8N3MBFXI ","M8N3MBFYI ", & + "M8N3MBFZI ","M8N3MBXI ","M8N3MBYI ","M8N3MBZI ","M8N3MMGXI ","M8N3MMGYI ","M8N3MMGZI ", & + "M8N3STAXI ","M8N3STAYI ","M8N3STAZI ","M8N3STVXI ","M8N3STVYI ","M8N3STVZI ","M8N3VXI ", & + "M8N3VYI ","M8N3VZI ","M8N4AXI ","M8N4AYI ","M8N4AZI ","M8N4DYNP ","M8N4FAFXI ", & + "M8N4FAFYI ","M8N4FAFZI ","M8N4FAGXI ","M8N4FAGYI ","M8N4FAGZI ","M8N4FAMXI ","M8N4FAMYI ", & + "M8N4FAMZI ","M8N4FBFXI ","M8N4FBFYI ","M8N4FBFZI ","M8N4FBXI ","M8N4FBYI ","M8N4FBZI ", & + "M8N4FDXI ","M8N4FDYI ","M8N4FDZI ","M8N4FIXI ","M8N4FIYI ","M8N4FIZI ","M8N4FMGXI ", & + "M8N4FMGYI ","M8N4FMGZI ","M8N4FWEXI ","M8N4FWEYI ","M8N4FWEZI ","M8N4MAFXI ","M8N4MAFYI ", & + "M8N4MAFZI ","M8N4MAGXI ","M8N4MAGYI ","M8N4MAGZI ","M8N4MBFXI ","M8N4MBFYI ","M8N4MBFZI ", & + "M8N4MBXI ","M8N4MBYI ","M8N4MBZI ","M8N4MMGXI ","M8N4MMGYI ","M8N4MMGZI ","M8N4STAXI ", & + "M8N4STAYI ","M8N4STAZI ","M8N4STVXI ","M8N4STVYI ","M8N4STVZI ","M8N4VXI ","M8N4VYI ", & + "M8N4VZI ","M8N5AXI ","M8N5AYI ","M8N5AZI ","M8N5DYNP ","M8N5FAFXI ","M8N5FAFYI ", & + "M8N5FAFZI ","M8N5FAGXI ","M8N5FAGYI ","M8N5FAGZI ","M8N5FAMXI ","M8N5FAMYI ","M8N5FAMZI ", & + "M8N5FBFXI ","M8N5FBFYI ","M8N5FBFZI ","M8N5FBXI ","M8N5FBYI ","M8N5FBZI ","M8N5FDXI ", & + "M8N5FDYI ","M8N5FDZI ","M8N5FIXI ","M8N5FIYI ","M8N5FIZI ","M8N5FMGXI ","M8N5FMGYI ", & + "M8N5FMGZI ","M8N5FWEXI ","M8N5FWEYI ","M8N5FWEZI ","M8N5MAFXI ","M8N5MAFYI ","M8N5MAFZI ", & + "M8N5MAGXI ","M8N5MAGYI ","M8N5MAGZI ","M8N5MBFXI ","M8N5MBFYI ","M8N5MBFZI ","M8N5MBXI ", & + "M8N5MBYI ","M8N5MBZI ","M8N5MMGXI ","M8N5MMGYI ","M8N5MMGZI ","M8N5STAXI ","M8N5STAYI ", & + "M8N5STAZI ","M8N5STVXI ","M8N5STVYI ","M8N5STVZI ","M8N5VXI ","M8N5VYI ","M8N5VZI ", & + "M8N6AXI ","M8N6AYI ","M8N6AZI ","M8N6DYNP ","M8N6FAFXI ","M8N6FAFYI ","M8N6FAFZI ", & + "M8N6FAGXI ","M8N6FAGYI ","M8N6FAGZI ","M8N6FAMXI ","M8N6FAMYI ","M8N6FAMZI ","M8N6FBFXI ", & + "M8N6FBFYI ","M8N6FBFZI ","M8N6FBXI ","M8N6FBYI ","M8N6FBZI ","M8N6FDXI ","M8N6FDYI ", & + "M8N6FDZI ","M8N6FIXI ","M8N6FIYI ","M8N6FIZI ","M8N6FMGXI ","M8N6FMGYI ","M8N6FMGZI ", & + "M8N6FWEXI ","M8N6FWEYI ","M8N6FWEZI ","M8N6MAFXI ","M8N6MAFYI ","M8N6MAFZI ","M8N6MAGXI ", & + "M8N6MAGYI ","M8N6MAGZI ","M8N6MBFXI ","M8N6MBFYI ","M8N6MBFZI ","M8N6MBXI ","M8N6MBYI ", & + "M8N6MBZI ","M8N6MMGXI ","M8N6MMGYI ","M8N6MMGZI ","M8N6STAXI ","M8N6STAYI ","M8N6STAZI ", & + "M8N6STVXI ","M8N6STVYI ","M8N6STVZI ","M8N6VXI ","M8N6VYI ","M8N6VZI ","M8N7AXI ", & + "M8N7AYI ","M8N7AZI ","M8N7DYNP ","M8N7FAFXI ","M8N7FAFYI ","M8N7FAFZI ","M8N7FAGXI ", & + "M8N7FAGYI ","M8N7FAGZI ","M8N7FAMXI ","M8N7FAMYI ","M8N7FAMZI ","M8N7FBFXI ","M8N7FBFYI ", & + "M8N7FBFZI ","M8N7FBXI ","M8N7FBYI ","M8N7FBZI ","M8N7FDXI ","M8N7FDYI ","M8N7FDZI ", & + "M8N7FIXI ","M8N7FIYI ","M8N7FIZI ","M8N7FMGXI ","M8N7FMGYI ","M8N7FMGZI ","M8N7FWEXI ", & + "M8N7FWEYI ","M8N7FWEZI ","M8N7MAFXI ","M8N7MAFYI ","M8N7MAFZI ","M8N7MAGXI ","M8N7MAGYI ", & + "M8N7MAGZI ","M8N7MBFXI ","M8N7MBFYI ","M8N7MBFZI ","M8N7MBXI ","M8N7MBYI ","M8N7MBZI ", & + "M8N7MMGXI ","M8N7MMGYI ","M8N7MMGZI ","M8N7STAXI ","M8N7STAYI ","M8N7STAZI ","M8N7STVXI ", & + "M8N7STVYI ","M8N7STVZI ","M8N7VXI ","M8N7VYI ","M8N7VZI ","M8N8AXI ","M8N8AYI ", & + "M8N8AZI ","M8N8DYNP ","M8N8FAFXI ","M8N8FAFYI ","M8N8FAFZI ","M8N8FAGXI ","M8N8FAGYI ", & + "M8N8FAGZI ","M8N8FAMXI ","M8N8FAMYI ","M8N8FAMZI ","M8N8FBFXI ","M8N8FBFYI ","M8N8FBFZI ", & + "M8N8FBXI ","M8N8FBYI ","M8N8FBZI ","M8N8FDXI ","M8N8FDYI ","M8N8FDZI ","M8N8FIXI ", & + "M8N8FIYI ","M8N8FIZI ","M8N8FMGXI ","M8N8FMGYI ","M8N8FMGZI ","M8N8FWEXI ","M8N8FWEYI ", & + "M8N8FWEZI ","M8N8MAFXI ","M8N8MAFYI ","M8N8MAFZI ","M8N8MAGXI ","M8N8MAGYI ","M8N8MAGZI ", & + "M8N8MBFXI ","M8N8MBFYI ","M8N8MBFZI ","M8N8MBXI ","M8N8MBYI ","M8N8MBZI ","M8N8MMGXI ", & + "M8N8MMGYI ","M8N8MMGZI ","M8N8STAXI ","M8N8STAYI ","M8N8STAZI ","M8N8STVXI ","M8N8STVYI ", & + "M8N8STVZI ","M8N8VXI ","M8N8VYI ","M8N8VZI ","M8N9AXI ","M8N9AYI ","M8N9AZI ", & + "M8N9DYNP ","M8N9FAFXI ","M8N9FAFYI ","M8N9FAFZI ","M8N9FAGXI ","M8N9FAGYI ","M8N9FAGZI ", & + "M8N9FAMXI ","M8N9FAMYI ","M8N9FAMZI ","M8N9FBFXI ","M8N9FBFYI ","M8N9FBFZI ","M8N9FBXI ", & + "M8N9FBYI ","M8N9FBZI ","M8N9FDXI ","M8N9FDYI ","M8N9FDZI ","M8N9FIXI ","M8N9FIYI ", & + "M8N9FIZI ","M8N9FMGXI ","M8N9FMGYI ","M8N9FMGZI ","M8N9FWEXI ","M8N9FWEYI ","M8N9FWEZI ", & "M8N9MAFXI ","M8N9MAFYI ","M8N9MAFZI ","M8N9MAGXI ","M8N9MAGYI ","M8N9MAGZI ","M8N9MBFXI ", & "M8N9MBFYI ","M8N9MBFZI ","M8N9MBXI ","M8N9MBYI ","M8N9MBZI ","M8N9MMGXI ","M8N9MMGYI ", & "M8N9MMGZI ","M8N9STAXI ","M8N9STAYI ","M8N9STAZI ","M8N9STVXI ","M8N9STVYI ","M8N9STVZI ", & @@ -7029,51 +7426,54 @@ MODULE Morison_Output "M9N1FAFXI ","M9N1FAFYI ","M9N1FAFZI ","M9N1FAGXI ","M9N1FAGYI ","M9N1FAGZI ","M9N1FAMXI ", & "M9N1FAMYI ","M9N1FAMZI ","M9N1FBFXI ","M9N1FBFYI ","M9N1FBFZI ","M9N1FBXI ","M9N1FBYI ", & "M9N1FBZI ","M9N1FDXI ","M9N1FDYI ","M9N1FDZI ","M9N1FIXI ","M9N1FIYI ","M9N1FIZI ", & - "M9N1FMGXI ","M9N1FMGYI ","M9N1FMGZI ","M9N1MAFXI ","M9N1MAFYI ","M9N1MAFZI ","M9N1MAGXI ", & - "M9N1MAGYI ","M9N1MAGZI ","M9N1MBFXI ","M9N1MBFYI ","M9N1MBFZI ","M9N1MBXI ","M9N1MBYI ", & - "M9N1MBZI ","M9N1MMGXI ","M9N1MMGYI ","M9N1MMGZI ","M9N1STAXI ","M9N1STAYI ","M9N1STAZI ", & - "M9N1STVXI ","M9N1STVYI ","M9N1STVZI ","M9N1VXI ","M9N1VYI ","M9N1VZI ","M9N2AXI ", & - "M9N2AYI ","M9N2AZI ","M9N2DYNP ","M9N2FAFXI ","M9N2FAFYI ","M9N2FAFZI ","M9N2FAGXI ", & - "M9N2FAGYI ","M9N2FAGZI ","M9N2FAMXI ","M9N2FAMYI ","M9N2FAMZI ","M9N2FBFXI ","M9N2FBFYI ", & - "M9N2FBFZI ","M9N2FBXI ","M9N2FBYI ","M9N2FBZI ","M9N2FDXI ","M9N2FDYI ","M9N2FDZI ", & - "M9N2FIXI ","M9N2FIYI ","M9N2FIZI ","M9N2FMGXI ","M9N2FMGYI ","M9N2FMGZI ","M9N2MAFXI ", & - "M9N2MAFYI ","M9N2MAFZI ","M9N2MAGXI ","M9N2MAGYI ","M9N2MAGZI ","M9N2MBFXI ","M9N2MBFYI ", & - "M9N2MBFZI ","M9N2MBXI ","M9N2MBYI ","M9N2MBZI ","M9N2MMGXI ","M9N2MMGYI ","M9N2MMGZI ", & - "M9N2STAXI ","M9N2STAYI ","M9N2STAZI ","M9N2STVXI ","M9N2STVYI ","M9N2STVZI ","M9N2VXI ", & - "M9N2VYI ","M9N2VZI ","M9N3AXI ","M9N3AYI ","M9N3AZI ","M9N3DYNP ","M9N3FAFXI ", & - "M9N3FAFYI ","M9N3FAFZI ","M9N3FAGXI ","M9N3FAGYI ","M9N3FAGZI ","M9N3FAMXI ","M9N3FAMYI ", & - "M9N3FAMZI ","M9N3FBFXI ","M9N3FBFYI ","M9N3FBFZI ","M9N3FBXI ","M9N3FBYI ","M9N3FBZI ", & - "M9N3FDXI ","M9N3FDYI ","M9N3FDZI ","M9N3FIXI ","M9N3FIYI ","M9N3FIZI ","M9N3FMGXI ", & - "M9N3FMGYI ","M9N3FMGZI ","M9N3MAFXI ","M9N3MAFYI ","M9N3MAFZI ","M9N3MAGXI ","M9N3MAGYI ", & - "M9N3MAGZI ","M9N3MBFXI ","M9N3MBFYI ","M9N3MBFZI ","M9N3MBXI ","M9N3MBYI ","M9N3MBZI ", & - "M9N3MMGXI ","M9N3MMGYI ","M9N3MMGZI ","M9N3STAXI ","M9N3STAYI ","M9N3STAZI ","M9N3STVXI ", & - "M9N3STVYI ","M9N3STVZI ","M9N3VXI ","M9N3VYI ","M9N3VZI ","M9N4AXI ","M9N4AYI ", & - "M9N4AZI ","M9N4DYNP ","M9N4FAFXI ","M9N4FAFYI ","M9N4FAFZI ","M9N4FAGXI ","M9N4FAGYI ", & - "M9N4FAGZI ","M9N4FAMXI ","M9N4FAMYI ","M9N4FAMZI ","M9N4FBFXI ","M9N4FBFYI ","M9N4FBFZI ", & - "M9N4FBXI ","M9N4FBYI ","M9N4FBZI ","M9N4FDXI ","M9N4FDYI ","M9N4FDZI ","M9N4FIXI ", & - "M9N4FIYI ","M9N4FIZI ","M9N4FMGXI ","M9N4FMGYI ","M9N4FMGZI ","M9N4MAFXI ","M9N4MAFYI ", & - "M9N4MAFZI ","M9N4MAGXI ","M9N4MAGYI ","M9N4MAGZI ","M9N4MBFXI ","M9N4MBFYI ","M9N4MBFZI ", & - "M9N4MBXI ","M9N4MBYI ","M9N4MBZI ","M9N4MMGXI ","M9N4MMGYI ","M9N4MMGZI ","M9N4STAXI ", & - "M9N4STAYI ","M9N4STAZI ","M9N4STVXI ","M9N4STVYI ","M9N4STVZI ","M9N4VXI ","M9N4VYI ", & - "M9N4VZI ","M9N5AXI ","M9N5AYI ","M9N5AZI ","M9N5DYNP ","M9N5FAFXI ","M9N5FAFYI ", & - "M9N5FAFZI ","M9N5FAGXI ","M9N5FAGYI ","M9N5FAGZI ","M9N5FAMXI ","M9N5FAMYI ","M9N5FAMZI ", & - "M9N5FBFXI ","M9N5FBFYI ","M9N5FBFZI ","M9N5FBXI ","M9N5FBYI ","M9N5FBZI ","M9N5FDXI ", & - "M9N5FDYI ","M9N5FDZI ","M9N5FIXI ","M9N5FIYI ","M9N5FIZI ","M9N5FMGXI ","M9N5FMGYI ", & - "M9N5FMGZI ","M9N5MAFXI ","M9N5MAFYI ","M9N5MAFZI ","M9N5MAGXI ","M9N5MAGYI ","M9N5MAGZI ", & - "M9N5MBFXI ","M9N5MBFYI ","M9N5MBFZI ","M9N5MBXI ","M9N5MBYI ","M9N5MBZI ","M9N5MMGXI ", & - "M9N5MMGYI ","M9N5MMGZI ","M9N5STAXI ","M9N5STAYI ","M9N5STAZI ","M9N5STVXI ","M9N5STVYI ", & - "M9N5STVZI ","M9N5VXI ","M9N5VYI ","M9N5VZI ","M9N6AXI ","M9N6AYI ","M9N6AZI ", & - "M9N6DYNP ","M9N6FAFXI ","M9N6FAFYI ","M9N6FAFZI ","M9N6FAGXI ","M9N6FAGYI ","M9N6FAGZI ", & - "M9N6FAMXI ","M9N6FAMYI ","M9N6FAMZI ","M9N6FBFXI ","M9N6FBFYI ","M9N6FBFZI ","M9N6FBXI ", & - "M9N6FBYI ","M9N6FBZI ","M9N6FDXI ","M9N6FDYI ","M9N6FDZI ","M9N6FIXI ","M9N6FIYI ", & - "M9N6FIZI ","M9N6FMGXI ","M9N6FMGYI ","M9N6FMGZI ","M9N6MAFXI ","M9N6MAFYI ","M9N6MAFZI ", & - "M9N6MAGXI ","M9N6MAGYI ","M9N6MAGZI ","M9N6MBFXI ","M9N6MBFYI ","M9N6MBFZI ","M9N6MBXI ", & - "M9N6MBYI ","M9N6MBZI ","M9N6MMGXI ","M9N6MMGYI ","M9N6MMGZI ","M9N6STAXI ","M9N6STAYI ", & - "M9N6STAZI ","M9N6STVXI ","M9N6STVYI ","M9N6STVZI ","M9N6VXI ","M9N6VYI ","M9N6VZI ", & - "M9N7AXI ","M9N7AYI ","M9N7AZI ","M9N7DYNP ","M9N7FAFXI ","M9N7FAFYI ","M9N7FAFZI ", & - "M9N7FAGXI ","M9N7FAGYI ","M9N7FAGZI ","M9N7FAMXI ","M9N7FAMYI ","M9N7FAMZI ","M9N7FBFXI ", & - "M9N7FBFYI ","M9N7FBFZI ","M9N7FBXI ","M9N7FBYI ","M9N7FBZI ","M9N7FDXI ","M9N7FDYI ", & - "M9N7FDZI ","M9N7FIXI ","M9N7FIYI ","M9N7FIZI ","M9N7FMGXI ","M9N7FMGYI ","M9N7FMGZI ", & + "M9N1FMGXI ","M9N1FMGYI ","M9N1FMGZI ","M9N1FWEXI ","M9N1FWEYI ","M9N1FWEZI ","M9N1MAFXI ", & + "M9N1MAFYI ","M9N1MAFZI ","M9N1MAGXI ","M9N1MAGYI ","M9N1MAGZI ","M9N1MBFXI ","M9N1MBFYI ", & + "M9N1MBFZI ","M9N1MBXI ","M9N1MBYI ","M9N1MBZI ","M9N1MMGXI ","M9N1MMGYI ","M9N1MMGZI ", & + "M9N1STAXI ","M9N1STAYI ","M9N1STAZI ","M9N1STVXI ","M9N1STVYI ","M9N1STVZI ","M9N1VXI ", & + "M9N1VYI ","M9N1VZI ","M9N2AXI ","M9N2AYI ","M9N2AZI ","M9N2DYNP ","M9N2FAFXI ", & + "M9N2FAFYI ","M9N2FAFZI ","M9N2FAGXI ","M9N2FAGYI ","M9N2FAGZI ","M9N2FAMXI ","M9N2FAMYI ", & + "M9N2FAMZI ","M9N2FBFXI ","M9N2FBFYI ","M9N2FBFZI ","M9N2FBXI ","M9N2FBYI ","M9N2FBZI ", & + "M9N2FDXI ","M9N2FDYI ","M9N2FDZI ","M9N2FIXI ","M9N2FIYI ","M9N2FIZI ","M9N2FMGXI ", & + "M9N2FMGYI ","M9N2FMGZI ","M9N2FWEXI ","M9N2FWEYI ","M9N2FWEZI ","M9N2MAFXI ","M9N2MAFYI ", & + "M9N2MAFZI ","M9N2MAGXI ","M9N2MAGYI ","M9N2MAGZI ","M9N2MBFXI ","M9N2MBFYI ","M9N2MBFZI ", & + "M9N2MBXI ","M9N2MBYI ","M9N2MBZI ","M9N2MMGXI ","M9N2MMGYI ","M9N2MMGZI ","M9N2STAXI ", & + "M9N2STAYI ","M9N2STAZI ","M9N2STVXI ","M9N2STVYI ","M9N2STVZI ","M9N2VXI ","M9N2VYI ", & + "M9N2VZI ","M9N3AXI ","M9N3AYI ","M9N3AZI ","M9N3DYNP ","M9N3FAFXI ","M9N3FAFYI ", & + "M9N3FAFZI ","M9N3FAGXI ","M9N3FAGYI ","M9N3FAGZI ","M9N3FAMXI ","M9N3FAMYI ","M9N3FAMZI ", & + "M9N3FBFXI ","M9N3FBFYI ","M9N3FBFZI ","M9N3FBXI ","M9N3FBYI ","M9N3FBZI ","M9N3FDXI ", & + "M9N3FDYI ","M9N3FDZI ","M9N3FIXI ","M9N3FIYI ","M9N3FIZI ","M9N3FMGXI ","M9N3FMGYI ", & + "M9N3FMGZI ","M9N3FWEXI ","M9N3FWEYI ","M9N3FWEZI ","M9N3MAFXI ","M9N3MAFYI ","M9N3MAFZI ", & + "M9N3MAGXI ","M9N3MAGYI ","M9N3MAGZI ","M9N3MBFXI ","M9N3MBFYI ","M9N3MBFZI ","M9N3MBXI ", & + "M9N3MBYI ","M9N3MBZI ","M9N3MMGXI ","M9N3MMGYI ","M9N3MMGZI ","M9N3STAXI ","M9N3STAYI ", & + "M9N3STAZI ","M9N3STVXI ","M9N3STVYI ","M9N3STVZI ","M9N3VXI ","M9N3VYI ","M9N3VZI ", & + "M9N4AXI ","M9N4AYI ","M9N4AZI ","M9N4DYNP ","M9N4FAFXI ","M9N4FAFYI ","M9N4FAFZI ", & + "M9N4FAGXI ","M9N4FAGYI ","M9N4FAGZI ","M9N4FAMXI ","M9N4FAMYI ","M9N4FAMZI ","M9N4FBFXI ", & + "M9N4FBFYI ","M9N4FBFZI ","M9N4FBXI ","M9N4FBYI ","M9N4FBZI ","M9N4FDXI ","M9N4FDYI ", & + "M9N4FDZI ","M9N4FIXI ","M9N4FIYI ","M9N4FIZI ","M9N4FMGXI ","M9N4FMGYI ","M9N4FMGZI ", & + "M9N4FWEXI ","M9N4FWEYI ","M9N4FWEZI ","M9N4MAFXI ","M9N4MAFYI ","M9N4MAFZI ","M9N4MAGXI ", & + "M9N4MAGYI ","M9N4MAGZI ","M9N4MBFXI ","M9N4MBFYI ","M9N4MBFZI ","M9N4MBXI ","M9N4MBYI ", & + "M9N4MBZI ","M9N4MMGXI ","M9N4MMGYI ","M9N4MMGZI ","M9N4STAXI ","M9N4STAYI ","M9N4STAZI ", & + "M9N4STVXI ","M9N4STVYI ","M9N4STVZI ","M9N4VXI ","M9N4VYI ","M9N4VZI ","M9N5AXI ", & + "M9N5AYI ","M9N5AZI ","M9N5DYNP ","M9N5FAFXI ","M9N5FAFYI ","M9N5FAFZI ","M9N5FAGXI ", & + "M9N5FAGYI ","M9N5FAGZI ","M9N5FAMXI ","M9N5FAMYI ","M9N5FAMZI ","M9N5FBFXI ","M9N5FBFYI ", & + "M9N5FBFZI ","M9N5FBXI ","M9N5FBYI ","M9N5FBZI ","M9N5FDXI ","M9N5FDYI ","M9N5FDZI ", & + "M9N5FIXI ","M9N5FIYI ","M9N5FIZI ","M9N5FMGXI ","M9N5FMGYI ","M9N5FMGZI ","M9N5FWEXI ", & + "M9N5FWEYI ","M9N5FWEZI ","M9N5MAFXI ","M9N5MAFYI ","M9N5MAFZI ","M9N5MAGXI ","M9N5MAGYI ", & + "M9N5MAGZI ","M9N5MBFXI ","M9N5MBFYI ","M9N5MBFZI ","M9N5MBXI ","M9N5MBYI ","M9N5MBZI ", & + "M9N5MMGXI ","M9N5MMGYI ","M9N5MMGZI ","M9N5STAXI ","M9N5STAYI ","M9N5STAZI ","M9N5STVXI ", & + "M9N5STVYI ","M9N5STVZI ","M9N5VXI ","M9N5VYI ","M9N5VZI ","M9N6AXI ","M9N6AYI ", & + "M9N6AZI ","M9N6DYNP ","M9N6FAFXI ","M9N6FAFYI ","M9N6FAFZI ","M9N6FAGXI ","M9N6FAGYI ", & + "M9N6FAGZI ","M9N6FAMXI ","M9N6FAMYI ","M9N6FAMZI ","M9N6FBFXI ","M9N6FBFYI ","M9N6FBFZI ", & + "M9N6FBXI ","M9N6FBYI ","M9N6FBZI ","M9N6FDXI ","M9N6FDYI ","M9N6FDZI ","M9N6FIXI ", & + "M9N6FIYI ","M9N6FIZI ","M9N6FMGXI ","M9N6FMGYI ","M9N6FMGZI ","M9N6FWEXI ","M9N6FWEYI ", & + "M9N6FWEZI ","M9N6MAFXI ","M9N6MAFYI ","M9N6MAFZI ","M9N6MAGXI ","M9N6MAGYI ","M9N6MAGZI ", & + "M9N6MBFXI ","M9N6MBFYI ","M9N6MBFZI ","M9N6MBXI ","M9N6MBYI ","M9N6MBZI ","M9N6MMGXI ", & + "M9N6MMGYI ","M9N6MMGZI ","M9N6STAXI ","M9N6STAYI ","M9N6STAZI ","M9N6STVXI ","M9N6STVYI ", & + "M9N6STVZI ","M9N6VXI ","M9N6VYI ","M9N6VZI ","M9N7AXI ","M9N7AYI ","M9N7AZI ", & + "M9N7DYNP ","M9N7FAFXI ","M9N7FAFYI ","M9N7FAFZI ","M9N7FAGXI ","M9N7FAGYI ","M9N7FAGZI ", & + "M9N7FAMXI ","M9N7FAMYI ","M9N7FAMZI ","M9N7FBFXI ","M9N7FBFYI ","M9N7FBFZI ","M9N7FBXI ", & + "M9N7FBYI ","M9N7FBZI ","M9N7FDXI ","M9N7FDYI ","M9N7FDZI ","M9N7FIXI ","M9N7FIYI ", & + "M9N7FIZI ","M9N7FMGXI ","M9N7FMGYI ","M9N7FMGZI ","M9N7FWEXI ","M9N7FWEYI ","M9N7FWEZI ", & "M9N7MAFXI ","M9N7MAFYI ","M9N7MAFZI ","M9N7MAGXI ","M9N7MAGYI ","M9N7MAGZI ","M9N7MBFXI ", & "M9N7MBFYI ","M9N7MBFZI ","M9N7MBXI ","M9N7MBYI ","M9N7MBZI ","M9N7MMGXI ","M9N7MMGYI ", & "M9N7MMGZI ","M9N7STAXI ","M9N7STAYI ","M9N7STAZI ","M9N7STVXI ","M9N7STVYI ","M9N7STVZI ", & @@ -7081,115 +7481,122 @@ MODULE Morison_Output "M9N8FAFXI ","M9N8FAFYI ","M9N8FAFZI ","M9N8FAGXI ","M9N8FAGYI ","M9N8FAGZI ","M9N8FAMXI ", & "M9N8FAMYI ","M9N8FAMZI ","M9N8FBFXI ","M9N8FBFYI ","M9N8FBFZI ","M9N8FBXI ","M9N8FBYI ", & "M9N8FBZI ","M9N8FDXI ","M9N8FDYI ","M9N8FDZI ","M9N8FIXI ","M9N8FIYI ","M9N8FIZI ", & - "M9N8FMGXI ","M9N8FMGYI ","M9N8FMGZI ","M9N8MAFXI ","M9N8MAFYI ","M9N8MAFZI ","M9N8MAGXI ", & - "M9N8MAGYI ","M9N8MAGZI ","M9N8MBFXI ","M9N8MBFYI ","M9N8MBFZI ","M9N8MBXI ","M9N8MBYI ", & - "M9N8MBZI ","M9N8MMGXI ","M9N8MMGYI ","M9N8MMGZI ","M9N8STAXI ","M9N8STAYI ","M9N8STAZI ", & - "M9N8STVXI ","M9N8STVYI ","M9N8STVZI ","M9N8VXI ","M9N8VYI ","M9N8VZI ","M9N9AXI ", & - "M9N9AYI ","M9N9AZI ","M9N9DYNP ","M9N9FAFXI ","M9N9FAFYI ","M9N9FAFZI ","M9N9FAGXI ", & - "M9N9FAGYI ","M9N9FAGZI ","M9N9FAMXI ","M9N9FAMYI ","M9N9FAMZI ","M9N9FBFXI ","M9N9FBFYI ", & - "M9N9FBFZI ","M9N9FBXI ","M9N9FBYI ","M9N9FBZI ","M9N9FDXI ","M9N9FDYI ","M9N9FDZI ", & - "M9N9FIXI ","M9N9FIYI ","M9N9FIZI ","M9N9FMGXI ","M9N9FMGYI ","M9N9FMGZI ","M9N9MAFXI ", & - "M9N9MAFYI ","M9N9MAFZI ","M9N9MAGXI ","M9N9MAGYI ","M9N9MAGZI ","M9N9MBFXI ","M9N9MBFYI ", & - "M9N9MBFZI ","M9N9MBXI ","M9N9MBYI ","M9N9MBZI ","M9N9MMGXI ","M9N9MMGYI ","M9N9MMGZI ", & - "M9N9STAXI ","M9N9STAYI ","M9N9STAZI ","M9N9STVXI ","M9N9STVYI ","M9N9STVZI ","M9N9VXI ", & - "M9N9VYI ","M9N9VZI "/) - CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry(4626) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically + "M9N8FMGXI ","M9N8FMGYI ","M9N8FMGZI ","M9N8FWEXI ","M9N8FWEYI ","M9N8FWEZI ","M9N8MAFXI ", & + "M9N8MAFYI ","M9N8MAFZI ","M9N8MAGXI ","M9N8MAGYI ","M9N8MAGZI ","M9N8MBFXI ","M9N8MBFYI ", & + "M9N8MBFZI ","M9N8MBXI ","M9N8MBYI ","M9N8MBZI ","M9N8MMGXI ","M9N8MMGYI ","M9N8MMGZI ", & + "M9N8STAXI ","M9N8STAYI ","M9N8STAZI ","M9N8STVXI ","M9N8STVYI ","M9N8STVZI ","M9N8VXI ", & + "M9N8VYI ","M9N8VZI ","M9N9AXI ","M9N9AYI ","M9N9AZI ","M9N9DYNP ","M9N9FAFXI ", & + "M9N9FAFYI ","M9N9FAFZI ","M9N9FAGXI ","M9N9FAGYI ","M9N9FAGZI ","M9N9FAMXI ","M9N9FAMYI ", & + "M9N9FAMZI ","M9N9FBFXI ","M9N9FBFYI ","M9N9FBFZI ","M9N9FBXI ","M9N9FBYI ","M9N9FBZI ", & + "M9N9FDXI ","M9N9FDYI ","M9N9FDZI ","M9N9FIXI ","M9N9FIYI ","M9N9FIZI ","M9N9FMGXI ", & + "M9N9FMGYI ","M9N9FMGZI ","M9N9FWEXI ","M9N9FWEYI ","M9N9FWEZI ","M9N9MAFXI ","M9N9MAFYI ", & + "M9N9MAFZI ","M9N9MAGXI ","M9N9MAGYI ","M9N9MAGZI ","M9N9MBFXI ","M9N9MBFYI ","M9N9MBFZI ", & + "M9N9MBXI ","M9N9MBYI ","M9N9MBZI ","M9N9MMGXI ","M9N9MMGYI ","M9N9MMGZI ","M9N9STAXI ", & + "M9N9STAYI ","M9N9STAZI ","M9N9STVXI ","M9N9STVYI ","M9N9STVZI ","M9N9VXI ","M9N9VYI ", & + "M9N9VZI "/) + CHARACTER(OutStrLenM1), PARAMETER :: ValidParamAry(4896) = (/ & ! This lists the names of the allowed parameters, which must be sorted alphabetically ValidParamAry1, ValidParamAry2, ValidParamAry3/) - INTEGER(IntKi), PARAMETER :: ParamIndxAry1(1542) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + INTEGER(IntKi), PARAMETER :: ParamIndxAry1(1632) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) J1Axi , J1Ayi , J1Azi , J1DynP , J1FAGxi , J1FAGyi , J1FAGzi , & J1FAMxi , J1FAMyi , J1FAMzi , J1FBFxi , J1FBFyi , J1FBFzi , J1FBxi , & J1FByi , J1FBzi , J1FDxi , J1FDyi , J1FDzi , J1FIxi , J1FIyi , & - J1FIzi , J1FMGxi , J1FMGyi , J1FMGzi , J1MAGxi , J1MAGyi , J1MAGzi , & - J1MBFxi , J1MBFyi , J1MBFzi , J1MBxi , J1MByi , J1MBzi , J1STAxi , & - J1STAyi , J1STAzi , J1STVxi , J1STVyi , J1STVzi , J1Vxi , J1Vyi , & - J1Vzi , J1WaveElev , J1WaveElv1 , J1WaveElv2 , J2Axi , J2Ayi , J2Azi , & - J2DynP , J2FAGxi , J2FAGyi , J2FAGzi , J2FAMxi , J2FAMyi , J2FAMzi , & - J2FBFxi , J2FBFyi , J2FBFzi , J2FBxi , J2FByi , J2FBzi , J2FDxi , & - J2FDyi , J2FDzi , J2FIxi , J2FIyi , J2FIzi , J2FMGxi , J2FMGyi , & - J2FMGzi , J2MAGxi , J2MAGyi , J2MAGzi , J2MBFxi , J2MBFyi , J2MBFzi , & - J2MBxi , J2MByi , J2MBzi , J2STAxi , J2STAyi , J2STAzi , J2STVxi , & - J2STVyi , J2STVzi , J2Vxi , J2Vyi , J2Vzi , J2WaveElev , J2WaveElv1 , & - J2WaveElv2 , J3Axi , J3Ayi , J3Azi , J3DynP , J3FAGxi , J3FAGyi , & - J3FAGzi , J3FAMxi , J3FAMyi , J3FAMzi , J3FBFxi , J3FBFyi , J3FBFzi , & - J3FBxi , J3FByi , J3FBzi , J3FDxi , J3FDyi , J3FDzi , J3FIxi , & - J3FIyi , J3FIzi , J3FMGxi , J3FMGyi , J3FMGzi , J3MAGxi , J3MAGyi , & - J3MAGzi , J3MBFxi , J3MBFyi , J3MBFzi , J3MBxi , J3MByi , J3MBzi , & - J3STAxi , J3STAyi , J3STAzi , J3STVxi , J3STVyi , J3STVzi , J3Vxi , & - J3Vyi , J3Vzi , J3WaveElev , J3WaveElv1 , J3WaveElv2 , J4Axi , J4Ayi , & - J4Azi , J4DynP , J4FAGxi , J4FAGyi , J4FAGzi , J4FAMxi , J4FAMyi , & - J4FAMzi , J4FBFxi , J4FBFyi , J4FBFzi , J4FBxi , J4FByi , J4FBzi , & - J4FDxi , J4FDyi , J4FDzi , J4FIxi , J4FIyi , J4FIzi , J4FMGxi , & - J4FMGyi , J4FMGzi , J4MAGxi , J4MAGyi , J4MAGzi , J4MBFxi , J4MBFyi , & - J4MBFzi , J4MBxi , J4MByi , J4MBzi , J4STAxi , J4STAyi , J4STAzi , & - J4STVxi , J4STVyi , J4STVzi , J4Vxi , J4Vyi , J4Vzi , J4WaveElev , & - J4WaveElv1 , J4WaveElv2 , J5Axi , J5Ayi , J5Azi , J5DynP , J5FAGxi , & - J5FAGyi , J5FAGzi , J5FAMxi , J5FAMyi , J5FAMzi , J5FBFxi , J5FBFyi , & - J5FBFzi , J5FBxi , J5FByi , J5FBzi , J5FDxi , J5FDyi , J5FDzi , & - J5FIxi , J5FIyi , J5FIzi , J5FMGxi , J5FMGyi , J5FMGzi , J5MAGxi , & - J5MAGyi , J5MAGzi , J5MBFxi , J5MBFyi , J5MBFzi , J5MBxi , J5MByi , & - J5MBzi , J5STAxi , J5STAyi , J5STAzi , J5STVxi , J5STVyi , J5STVzi , & - J5Vxi , J5Vyi , J5Vzi , J5WaveElev , J5WaveElv1 , J5WaveElv2 , J6Axi , & - J6Ayi , J6Azi , J6DynP , J6FAGxi , J6FAGyi , J6FAGzi , J6FAMxi , & - J6FAMyi , J6FAMzi , J6FBFxi , J6FBFyi , J6FBFzi , J6FBxi , J6FByi , & - J6FBzi , J6FDxi , J6FDyi , J6FDzi , J6FIxi , J6FIyi , J6FIzi , & - J6FMGxi , J6FMGyi , J6FMGzi , J6MAGxi , J6MAGyi , J6MAGzi , J6MBFxi , & - J6MBFyi , J6MBFzi , J6MBxi , J6MByi , J6MBzi , J6STAxi , J6STAyi , & - J6STAzi , J6STVxi , J6STVyi , J6STVzi , J6Vxi , J6Vyi , J6Vzi , & - J6WaveElev , J6WaveElv1 , J6WaveElv2 , J7Axi , J7Ayi , J7Azi , J7DynP , & - J7FAGxi , J7FAGyi , J7FAGzi , J7FAMxi , J7FAMyi , J7FAMzi , J7FBFxi , & - J7FBFyi , J7FBFzi , J7FBxi , J7FByi , J7FBzi , J7FDxi , J7FDyi , & - J7FDzi , J7FIxi , J7FIyi , J7FIzi , J7FMGxi , J7FMGyi , J7FMGzi , & + J1FIzi , J1FMGxi , J1FMGyi , J1FMGzi , J1FWExi , J1FWEyi , J1FWEzi , & + J1MAGxi , J1MAGyi , J1MAGzi , J1MBFxi , J1MBFyi , J1MBFzi , J1MBxi , & + J1MByi , J1MBzi , J1STAxi , J1STAyi , J1STAzi , J1STVxi , J1STVyi , & + J1STVzi , J1Vxi , J1Vyi , J1Vzi , J1WaveElev , J1WaveElv1 , J1WaveElv2 , & + J2Axi , J2Ayi , J2Azi , J2DynP , J2FAGxi , J2FAGyi , J2FAGzi , & + J2FAMxi , J2FAMyi , J2FAMzi , J2FBFxi , J2FBFyi , J2FBFzi , J2FBxi , & + J2FByi , J2FBzi , J2FDxi , J2FDyi , J2FDzi , J2FIxi , J2FIyi , & + J2FIzi , J2FMGxi , J2FMGyi , J2FMGzi , J2FWExi , J2FWEyi , J2FWEzi , & + J2MAGxi , J2MAGyi , J2MAGzi , J2MBFxi , J2MBFyi , J2MBFzi , J2MBxi , & + J2MByi , J2MBzi , J2STAxi , J2STAyi , J2STAzi , J2STVxi , J2STVyi , & + J2STVzi , J2Vxi , J2Vyi , J2Vzi , J2WaveElev , J2WaveElv1 , J2WaveElv2 , & + J3Axi , J3Ayi , J3Azi , J3DynP , J3FAGxi , J3FAGyi , J3FAGzi , & + J3FAMxi , J3FAMyi , J3FAMzi , J3FBFxi , J3FBFyi , J3FBFzi , J3FBxi , & + J3FByi , J3FBzi , J3FDxi , J3FDyi , J3FDzi , J3FIxi , J3FIyi , & + J3FIzi , J3FMGxi , J3FMGyi , J3FMGzi , J3FWExi , J3FWEyi , J3FWEzi , & + J3MAGxi , J3MAGyi , J3MAGzi , J3MBFxi , J3MBFyi , J3MBFzi , J3MBxi , & + J3MByi , J3MBzi , J3STAxi , J3STAyi , J3STAzi , J3STVxi , J3STVyi , & + J3STVzi , J3Vxi , J3Vyi , J3Vzi , J3WaveElev , J3WaveElv1 , J3WaveElv2 , & + J4Axi , J4Ayi , J4Azi , J4DynP , J4FAGxi , J4FAGyi , J4FAGzi , & + J4FAMxi , J4FAMyi , J4FAMzi , J4FBFxi , J4FBFyi , J4FBFzi , J4FBxi , & + J4FByi , J4FBzi , J4FDxi , J4FDyi , J4FDzi , J4FIxi , J4FIyi , & + J4FIzi , J4FMGxi , J4FMGyi , J4FMGzi , J4FWExi , J4FWEyi , J4FWEzi , & + J4MAGxi , J4MAGyi , J4MAGzi , J4MBFxi , J4MBFyi , J4MBFzi , J4MBxi , & + J4MByi , J4MBzi , J4STAxi , J4STAyi , J4STAzi , J4STVxi , J4STVyi , & + J4STVzi , J4Vxi , J4Vyi , J4Vzi , J4WaveElev , J4WaveElv1 , J4WaveElv2 , & + J5Axi , J5Ayi , J5Azi , J5DynP , J5FAGxi , J5FAGyi , J5FAGzi , & + J5FAMxi , J5FAMyi , J5FAMzi , J5FBFxi , J5FBFyi , J5FBFzi , J5FBxi , & + J5FByi , J5FBzi , J5FDxi , J5FDyi , J5FDzi , J5FIxi , J5FIyi , & + J5FIzi , J5FMGxi , J5FMGyi , J5FMGzi , J5FWExi , J5FWEyi , J5FWEzi , & + J5MAGxi , J5MAGyi , J5MAGzi , J5MBFxi , J5MBFyi , J5MBFzi , J5MBxi , & + J5MByi , J5MBzi , J5STAxi , J5STAyi , J5STAzi , J5STVxi , J5STVyi , & + J5STVzi , J5Vxi , J5Vyi , J5Vzi , J5WaveElev , J5WaveElv1 , J5WaveElv2 , & + J6Axi , J6Ayi , J6Azi , J6DynP , J6FAGxi , J6FAGyi , J6FAGzi , & + J6FAMxi , J6FAMyi , J6FAMzi , J6FBFxi , J6FBFyi , J6FBFzi , J6FBxi , & + J6FByi , J6FBzi , J6FDxi , J6FDyi , J6FDzi , J6FIxi , J6FIyi , & + J6FIzi , J6FMGxi , J6FMGyi , J6FMGzi , J6FWExi , J6FWEyi , J6FWEzi , & + J6MAGxi , J6MAGyi , J6MAGzi , J6MBFxi , J6MBFyi , J6MBFzi , J6MBxi , & + J6MByi , J6MBzi , J6STAxi , J6STAyi , J6STAzi , J6STVxi , J6STVyi , & + J6STVzi , J6Vxi , J6Vyi , J6Vzi , J6WaveElev , J6WaveElv1 , J6WaveElv2 , & + J7Axi , J7Ayi , J7Azi , J7DynP , J7FAGxi , J7FAGyi , J7FAGzi , & + J7FAMxi , J7FAMyi , J7FAMzi , J7FBFxi , J7FBFyi , J7FBFzi , J7FBxi , & + J7FByi , J7FBzi , J7FDxi , J7FDyi , J7FDzi , J7FIxi , J7FIyi , & + J7FIzi , J7FMGxi , J7FMGyi , J7FMGzi , J7FWExi , J7FWEyi , J7FWEzi , & J7MAGxi , J7MAGyi , J7MAGzi , J7MBFxi , J7MBFyi , J7MBFzi , J7MBxi , & J7MByi , J7MBzi , J7STAxi , J7STAyi , J7STAzi , J7STVxi , J7STVyi , & J7STVzi , J7Vxi , J7Vyi , J7Vzi , J7WaveElev , J7WaveElv1 , J7WaveElv2 , & J8Axi , J8Ayi , J8Azi , J8DynP , J8FAGxi , J8FAGyi , J8FAGzi , & J8FAMxi , J8FAMyi , J8FAMzi , J8FBFxi , J8FBFyi , J8FBFzi , J8FBxi , & J8FByi , J8FBzi , J8FDxi , J8FDyi , J8FDzi , J8FIxi , J8FIyi , & - J8FIzi , J8FMGxi , J8FMGyi , J8FMGzi , J8MAGxi , J8MAGyi , J8MAGzi , & - J8MBFxi , J8MBFyi , J8MBFzi , J8MBxi , J8MByi , J8MBzi , J8STAxi , & - J8STAyi , J8STAzi , J8STVxi , J8STVyi , J8STVzi , J8Vxi , J8Vyi , & - J8Vzi , J8WaveElev , J8WaveElv1 , J8WaveElv2 , J9Axi , J9Ayi , J9Azi , & - J9DynP , J9FAGxi , J9FAGyi , J9FAGzi , J9FAMxi , J9FAMyi , J9FAMzi , & - J9FBFxi , J9FBFyi , J9FBFzi , J9FBxi , J9FByi , J9FBzi , J9FDxi , & - J9FDyi , J9FDzi , J9FIxi , J9FIyi , J9FIzi , J9FMGxi , J9FMGyi , & - J9FMGzi , J9MAGxi , J9MAGyi , J9MAGzi , J9MBFxi , J9MBFyi , J9MBFzi , & - J9MBxi , J9MByi , J9MBzi , J9STAxi , J9STAyi , J9STAzi , J9STVxi , & - J9STVyi , J9STVzi , J9Vxi , J9Vyi , J9Vzi , J9WaveElev , J9WaveElv1 , & - J9WaveElv2 , M1N1Axi , M1N1Ayi , M1N1Azi , M1N1DynP , M1N1FAFxi , M1N1FAFyi , & - M1N1FAFzi , M1N1FAGxi , M1N1FAGyi , M1N1FAGzi , M1N1FAMxi , M1N1FAMyi , M1N1FAMzi , & - M1N1FBFxi , M1N1FBFyi , M1N1FBFzi , M1N1FBxi , M1N1FByi , M1N1FBzi , M1N1FDxi , & - M1N1FDyi , M1N1FDzi , M1N1FIxi , M1N1FIyi , M1N1FIzi , M1N1FMGxi , M1N1FMGyi , & - M1N1FMGzi , M1N1MAFxi , M1N1MAFyi , M1N1MAFzi , M1N1MAGxi , M1N1MAGyi , M1N1MAGzi , & - M1N1MBFxi , M1N1MBFyi , M1N1MBFzi , M1N1MBxi , M1N1MByi , M1N1MBzi , M1N1MMGxi , & - M1N1MMGyi , M1N1MMGzi , M1N1STAxi , M1N1STAyi , M1N1STAzi , M1N1STVxi , M1N1STVyi , & - M1N1STVzi , M1N1Vxi , M1N1Vyi , M1N1Vzi , M1N2Axi , M1N2Ayi , M1N2Azi , & - M1N2DynP , M1N2FAFxi , M1N2FAFyi , M1N2FAFzi , M1N2FAGxi , M1N2FAGyi , M1N2FAGzi , & - M1N2FAMxi , M1N2FAMyi , M1N2FAMzi , M1N2FBFxi , M1N2FBFyi , M1N2FBFzi , M1N2FBxi , & - M1N2FByi , M1N2FBzi , M1N2FDxi , M1N2FDyi , M1N2FDzi , M1N2FIxi , M1N2FIyi , & - M1N2FIzi , M1N2FMGxi , M1N2FMGyi , M1N2FMGzi , M1N2MAFxi , M1N2MAFyi , M1N2MAFzi , & - M1N2MAGxi , M1N2MAGyi , M1N2MAGzi , M1N2MBFxi , M1N2MBFyi , M1N2MBFzi , M1N2MBxi , & - M1N2MByi , M1N2MBzi , M1N2MMGxi , M1N2MMGyi , M1N2MMGzi , M1N2STAxi , M1N2STAyi , & - M1N2STAzi , M1N2STVxi , M1N2STVyi , M1N2STVzi , M1N2Vxi , M1N2Vyi , M1N2Vzi , & - M1N3Axi , M1N3Ayi , M1N3Azi , M1N3DynP , M1N3FAFxi , M1N3FAFyi , M1N3FAFzi , & - M1N3FAGxi , M1N3FAGyi , M1N3FAGzi , M1N3FAMxi , M1N3FAMyi , M1N3FAMzi , M1N3FBFxi , & - M1N3FBFyi , M1N3FBFzi , M1N3FBxi , M1N3FByi , M1N3FBzi , M1N3FDxi , M1N3FDyi , & - M1N3FDzi , M1N3FIxi , M1N3FIyi , M1N3FIzi , M1N3FMGxi , M1N3FMGyi , M1N3FMGzi , & - M1N3MAFxi , M1N3MAFyi , M1N3MAFzi , M1N3MAGxi , M1N3MAGyi , M1N3MAGzi , M1N3MBFxi , & - M1N3MBFyi , M1N3MBFzi , M1N3MBxi , M1N3MByi , M1N3MBzi , M1N3MMGxi , M1N3MMGyi , & - M1N3MMGzi , M1N3STAxi , M1N3STAyi , M1N3STAzi , M1N3STVxi , M1N3STVyi , M1N3STVzi , & - M1N3Vxi , M1N3Vyi , M1N3Vzi , M1N4Axi , M1N4Ayi , M1N4Azi , M1N4DynP , & - M1N4FAFxi , M1N4FAFyi , M1N4FAFzi , M1N4FAGxi , M1N4FAGyi , M1N4FAGzi , M1N4FAMxi , & - M1N4FAMyi , M1N4FAMzi , M1N4FBFxi , M1N4FBFyi , M1N4FBFzi , M1N4FBxi , M1N4FByi , & - M1N4FBzi , M1N4FDxi , M1N4FDyi , M1N4FDzi , M1N4FIxi , M1N4FIyi , M1N4FIzi , & - M1N4FMGxi , M1N4FMGyi , M1N4FMGzi , M1N4MAFxi , M1N4MAFyi , M1N4MAFzi , M1N4MAGxi , & - M1N4MAGyi , M1N4MAGzi , M1N4MBFxi , M1N4MBFyi , M1N4MBFzi , M1N4MBxi , M1N4MByi , & - M1N4MBzi , M1N4MMGxi , M1N4MMGyi , M1N4MMGzi , M1N4STAxi , M1N4STAyi , M1N4STAzi , & - M1N4STVxi , M1N4STVyi , M1N4STVzi , M1N4Vxi , M1N4Vyi , M1N4Vzi , M1N5Axi , & - M1N5Ayi , M1N5Azi , M1N5DynP , M1N5FAFxi , M1N5FAFyi , M1N5FAFzi , M1N5FAGxi , & - M1N5FAGyi , M1N5FAGzi , M1N5FAMxi , M1N5FAMyi , M1N5FAMzi , M1N5FBFxi , M1N5FBFyi , & - M1N5FBFzi , M1N5FBxi , M1N5FByi , M1N5FBzi , M1N5FDxi , M1N5FDyi , M1N5FDzi , & - M1N5FIxi , M1N5FIyi , M1N5FIzi , M1N5FMGxi , M1N5FMGyi , M1N5FMGzi , M1N5MAFxi , & + J8FIzi , J8FMGxi , J8FMGyi , J8FMGzi , J8FWExi , J8FWEyi , J8FWEzi , & + J8MAGxi , J8MAGyi , J8MAGzi , J8MBFxi , J8MBFyi , J8MBFzi , J8MBxi , & + J8MByi , J8MBzi , J8STAxi , J8STAyi , J8STAzi , J8STVxi , J8STVyi , & + J8STVzi , J8Vxi , J8Vyi , J8Vzi , J8WaveElev , J8WaveElv1 , J8WaveElv2 , & + J9Axi , J9Ayi , J9Azi , J9DynP , J9FAGxi , J9FAGyi , J9FAGzi , & + J9FAMxi , J9FAMyi , J9FAMzi , J9FBFxi , J9FBFyi , J9FBFzi , J9FBxi , & + J9FByi , J9FBzi , J9FDxi , J9FDyi , J9FDzi , J9FIxi , J9FIyi , & + J9FIzi , J9FMGxi , J9FMGyi , J9FMGzi , J9FWExi , J9FWEyi , J9FWEzi , & + J9MAGxi , J9MAGyi , J9MAGzi , J9MBFxi , J9MBFyi , J9MBFzi , J9MBxi , & + J9MByi , J9MBzi , J9STAxi , J9STAyi , J9STAzi , J9STVxi , J9STVyi , & + J9STVzi , J9Vxi , J9Vyi , J9Vzi , J9WaveElev , J9WaveElv1 , J9WaveElv2 , & + M1N1Axi , M1N1Ayi , M1N1Azi , M1N1DynP , M1N1FAFxi , M1N1FAFyi , M1N1FAFzi , & + M1N1FAGxi , M1N1FAGyi , M1N1FAGzi , M1N1FAMxi , M1N1FAMyi , M1N1FAMzi , M1N1FBFxi , & + M1N1FBFyi , M1N1FBFzi , M1N1FBxi , M1N1FByi , M1N1FBzi , M1N1FDxi , M1N1FDyi , & + M1N1FDzi , M1N1FIxi , M1N1FIyi , M1N1FIzi , M1N1FMGxi , M1N1FMGyi , M1N1FMGzi , & + M1N1FWExi , M1N1FWEyi , M1N1FWEzi , M1N1MAFxi , M1N1MAFyi , M1N1MAFzi , M1N1MAGxi , & + M1N1MAGyi , M1N1MAGzi , M1N1MBFxi , M1N1MBFyi , M1N1MBFzi , M1N1MBxi , M1N1MByi , & + M1N1MBzi , M1N1MMGxi , M1N1MMGyi , M1N1MMGzi , M1N1STAxi , M1N1STAyi , M1N1STAzi , & + M1N1STVxi , M1N1STVyi , M1N1STVzi , M1N1Vxi , M1N1Vyi , M1N1Vzi , M1N2Axi , & + M1N2Ayi , M1N2Azi , M1N2DynP , M1N2FAFxi , M1N2FAFyi , M1N2FAFzi , M1N2FAGxi , & + M1N2FAGyi , M1N2FAGzi , M1N2FAMxi , M1N2FAMyi , M1N2FAMzi , M1N2FBFxi , M1N2FBFyi , & + M1N2FBFzi , M1N2FBxi , M1N2FByi , M1N2FBzi , M1N2FDxi , M1N2FDyi , M1N2FDzi , & + M1N2FIxi , M1N2FIyi , M1N2FIzi , M1N2FMGxi , M1N2FMGyi , M1N2FMGzi , M1N2FWExi , & + M1N2FWEyi , M1N2FWEzi , M1N2MAFxi , M1N2MAFyi , M1N2MAFzi , M1N2MAGxi , M1N2MAGyi , & + M1N2MAGzi , M1N2MBFxi , M1N2MBFyi , M1N2MBFzi , M1N2MBxi , M1N2MByi , M1N2MBzi , & + M1N2MMGxi , M1N2MMGyi , M1N2MMGzi , M1N2STAxi , M1N2STAyi , M1N2STAzi , M1N2STVxi , & + M1N2STVyi , M1N2STVzi , M1N2Vxi , M1N2Vyi , M1N2Vzi , M1N3Axi , M1N3Ayi , & + M1N3Azi , M1N3DynP , M1N3FAFxi , M1N3FAFyi , M1N3FAFzi , M1N3FAGxi , M1N3FAGyi , & + M1N3FAGzi , M1N3FAMxi , M1N3FAMyi , M1N3FAMzi , M1N3FBFxi , M1N3FBFyi , M1N3FBFzi , & + M1N3FBxi , M1N3FByi , M1N3FBzi , M1N3FDxi , M1N3FDyi , M1N3FDzi , M1N3FIxi , & + M1N3FIyi , M1N3FIzi , M1N3FMGxi , M1N3FMGyi , M1N3FMGzi , M1N3FWExi , M1N3FWEyi , & + M1N3FWEzi , M1N3MAFxi , M1N3MAFyi , M1N3MAFzi , M1N3MAGxi , M1N3MAGyi , M1N3MAGzi , & + M1N3MBFxi , M1N3MBFyi , M1N3MBFzi , M1N3MBxi , M1N3MByi , M1N3MBzi , M1N3MMGxi , & + M1N3MMGyi , M1N3MMGzi , M1N3STAxi , M1N3STAyi , M1N3STAzi , M1N3STVxi , M1N3STVyi , & + M1N3STVzi , M1N3Vxi , M1N3Vyi , M1N3Vzi , M1N4Axi , M1N4Ayi , M1N4Azi , & + M1N4DynP , M1N4FAFxi , M1N4FAFyi , M1N4FAFzi , M1N4FAGxi , M1N4FAGyi , M1N4FAGzi , & + M1N4FAMxi , M1N4FAMyi , M1N4FAMzi , M1N4FBFxi , M1N4FBFyi , M1N4FBFzi , M1N4FBxi , & + M1N4FByi , M1N4FBzi , M1N4FDxi , M1N4FDyi , M1N4FDzi , M1N4FIxi , M1N4FIyi , & + M1N4FIzi , M1N4FMGxi , M1N4FMGyi , M1N4FMGzi , M1N4FWExi , M1N4FWEyi , M1N4FWEzi , & + M1N4MAFxi , M1N4MAFyi , M1N4MAFzi , M1N4MAGxi , M1N4MAGyi , M1N4MAGzi , M1N4MBFxi , & + M1N4MBFyi , M1N4MBFzi , M1N4MBxi , M1N4MByi , M1N4MBzi , M1N4MMGxi , M1N4MMGyi , & + M1N4MMGzi , M1N4STAxi , M1N4STAyi , M1N4STAzi , M1N4STVxi , M1N4STVyi , M1N4STVzi , & + M1N4Vxi , M1N4Vyi , M1N4Vzi , M1N5Axi , M1N5Ayi , M1N5Azi , M1N5DynP , & + M1N5FAFxi , M1N5FAFyi , M1N5FAFzi , M1N5FAGxi , M1N5FAGyi , M1N5FAGzi , M1N5FAMxi , & + M1N5FAMyi , M1N5FAMzi , M1N5FBFxi , M1N5FBFyi , M1N5FBFzi , M1N5FBxi , M1N5FByi , & + M1N5FBzi , M1N5FDxi , M1N5FDyi , M1N5FDzi , M1N5FIxi , M1N5FIyi , M1N5FIzi , & + M1N5FMGxi , M1N5FMGyi , M1N5FMGzi , M1N5FWExi , M1N5FWEyi , M1N5FWEzi , M1N5MAFxi , & M1N5MAFyi , M1N5MAFzi , M1N5MAGxi , M1N5MAGyi , M1N5MAGzi , M1N5MBFxi , M1N5MBFyi , & M1N5MBFzi , M1N5MBxi , M1N5MByi , M1N5MBzi , M1N5MMGxi , M1N5MMGyi , M1N5MMGzi , & M1N5STAxi , M1N5STAyi , M1N5STAzi , M1N5STVxi , M1N5STVyi , M1N5STVzi , M1N5Vxi , & @@ -7197,51 +7604,54 @@ MODULE Morison_Output M1N6FAFyi , M1N6FAFzi , M1N6FAGxi , M1N6FAGyi , M1N6FAGzi , M1N6FAMxi , M1N6FAMyi , & M1N6FAMzi , M1N6FBFxi , M1N6FBFyi , M1N6FBFzi , M1N6FBxi , M1N6FByi , M1N6FBzi , & M1N6FDxi , M1N6FDyi , M1N6FDzi , M1N6FIxi , M1N6FIyi , M1N6FIzi , M1N6FMGxi , & - M1N6FMGyi , M1N6FMGzi , M1N6MAFxi , M1N6MAFyi , M1N6MAFzi , M1N6MAGxi , M1N6MAGyi , & - M1N6MAGzi , M1N6MBFxi , M1N6MBFyi , M1N6MBFzi , M1N6MBxi , M1N6MByi , M1N6MBzi , & - M1N6MMGxi , M1N6MMGyi , M1N6MMGzi , M1N6STAxi , M1N6STAyi , M1N6STAzi , M1N6STVxi , & - M1N6STVyi , M1N6STVzi , M1N6Vxi , M1N6Vyi , M1N6Vzi , M1N7Axi , M1N7Ayi , & - M1N7Azi , M1N7DynP , M1N7FAFxi , M1N7FAFyi , M1N7FAFzi , M1N7FAGxi , M1N7FAGyi , & - M1N7FAGzi , M1N7FAMxi , M1N7FAMyi , M1N7FAMzi , M1N7FBFxi , M1N7FBFyi , M1N7FBFzi , & - M1N7FBxi , M1N7FByi , M1N7FBzi , M1N7FDxi , M1N7FDyi , M1N7FDzi , M1N7FIxi , & - M1N7FIyi , M1N7FIzi , M1N7FMGxi , M1N7FMGyi , M1N7FMGzi , M1N7MAFxi , M1N7MAFyi , & - M1N7MAFzi , M1N7MAGxi , M1N7MAGyi , M1N7MAGzi , M1N7MBFxi , M1N7MBFyi , M1N7MBFzi , & - M1N7MBxi , M1N7MByi , M1N7MBzi , M1N7MMGxi , M1N7MMGyi , M1N7MMGzi , M1N7STAxi , & - M1N7STAyi , M1N7STAzi , M1N7STVxi , M1N7STVyi , M1N7STVzi , M1N7Vxi , M1N7Vyi , & - M1N7Vzi , M1N8Axi , M1N8Ayi , M1N8Azi , M1N8DynP , M1N8FAFxi , M1N8FAFyi , & - M1N8FAFzi , M1N8FAGxi , M1N8FAGyi , M1N8FAGzi , M1N8FAMxi , M1N8FAMyi , M1N8FAMzi , & - M1N8FBFxi , M1N8FBFyi , M1N8FBFzi , M1N8FBxi , M1N8FByi , M1N8FBzi , M1N8FDxi , & - M1N8FDyi , M1N8FDzi , M1N8FIxi , M1N8FIyi , M1N8FIzi , M1N8FMGxi , M1N8FMGyi , & - M1N8FMGzi , M1N8MAFxi , M1N8MAFyi , M1N8MAFzi , M1N8MAGxi , M1N8MAGyi , M1N8MAGzi , & - M1N8MBFxi , M1N8MBFyi , M1N8MBFzi , M1N8MBxi , M1N8MByi , M1N8MBzi , M1N8MMGxi , & - M1N8MMGyi , M1N8MMGzi , M1N8STAxi , M1N8STAyi , M1N8STAzi , M1N8STVxi , M1N8STVyi , & - M1N8STVzi , M1N8Vxi , M1N8Vyi , M1N8Vzi , M1N9Axi , M1N9Ayi , M1N9Azi , & - M1N9DynP , M1N9FAFxi , M1N9FAFyi , M1N9FAFzi , M1N9FAGxi , M1N9FAGyi , M1N9FAGzi , & - M1N9FAMxi , M1N9FAMyi , M1N9FAMzi , M1N9FBFxi , M1N9FBFyi , M1N9FBFzi , M1N9FBxi , & - M1N9FByi , M1N9FBzi , M1N9FDxi , M1N9FDyi , M1N9FDzi , M1N9FIxi , M1N9FIyi , & - M1N9FIzi , M1N9FMGxi , M1N9FMGyi , M1N9FMGzi , M1N9MAFxi , M1N9MAFyi , M1N9MAFzi , & - M1N9MAGxi , M1N9MAGyi , M1N9MAGzi , M1N9MBFxi , M1N9MBFyi , M1N9MBFzi , M1N9MBxi , & - M1N9MByi , M1N9MBzi , M1N9MMGxi , M1N9MMGyi , M1N9MMGzi , M1N9STAxi , M1N9STAyi , & - M1N9STAzi , M1N9STVxi , M1N9STVyi , M1N9STVzi , M1N9Vxi , M1N9Vyi , M1N9Vzi , & - M2N1Axi , M2N1Ayi , M2N1Azi , M2N1DynP , M2N1FAFxi , M2N1FAFyi , M2N1FAFzi , & - M2N1FAGxi , M2N1FAGyi , M2N1FAGzi , M2N1FAMxi , M2N1FAMyi , M2N1FAMzi , M2N1FBFxi , & - M2N1FBFyi , M2N1FBFzi , M2N1FBxi , M2N1FByi , M2N1FBzi , M2N1FDxi , M2N1FDyi , & - M2N1FDzi , M2N1FIxi , M2N1FIyi , M2N1FIzi , M2N1FMGxi , M2N1FMGyi , M2N1FMGzi , & - M2N1MAFxi , M2N1MAFyi , M2N1MAFzi , M2N1MAGxi , M2N1MAGyi , M2N1MAGzi , M2N1MBFxi , & - M2N1MBFyi , M2N1MBFzi , M2N1MBxi , M2N1MByi , M2N1MBzi , M2N1MMGxi , M2N1MMGyi , & - M2N1MMGzi , M2N1STAxi , M2N1STAyi , M2N1STAzi , M2N1STVxi , M2N1STVyi , M2N1STVzi , & - M2N1Vxi , M2N1Vyi , M2N1Vzi , M2N2Axi , M2N2Ayi , M2N2Azi , M2N2DynP , & - M2N2FAFxi , M2N2FAFyi , M2N2FAFzi , M2N2FAGxi , M2N2FAGyi , M2N2FAGzi , M2N2FAMxi , & - M2N2FAMyi , M2N2FAMzi , M2N2FBFxi , M2N2FBFyi , M2N2FBFzi , M2N2FBxi , M2N2FByi , & - M2N2FBzi , M2N2FDxi , M2N2FDyi , M2N2FDzi , M2N2FIxi , M2N2FIyi , M2N2FIzi , & - M2N2FMGxi , M2N2FMGyi , M2N2FMGzi , M2N2MAFxi , M2N2MAFyi , M2N2MAFzi , M2N2MAGxi , & - M2N2MAGyi , M2N2MAGzi , M2N2MBFxi , M2N2MBFyi , M2N2MBFzi , M2N2MBxi , M2N2MByi , & - M2N2MBzi , M2N2MMGxi , M2N2MMGyi , M2N2MMGzi , M2N2STAxi , M2N2STAyi , M2N2STAzi , & - M2N2STVxi , M2N2STVyi , M2N2STVzi , M2N2Vxi , M2N2Vyi , M2N2Vzi , M2N3Axi , & - M2N3Ayi , M2N3Azi , M2N3DynP , M2N3FAFxi , M2N3FAFyi , M2N3FAFzi , M2N3FAGxi , & - M2N3FAGyi , M2N3FAGzi , M2N3FAMxi , M2N3FAMyi , M2N3FAMzi , M2N3FBFxi , M2N3FBFyi , & - M2N3FBFzi , M2N3FBxi , M2N3FByi , M2N3FBzi , M2N3FDxi , M2N3FDyi , M2N3FDzi , & - M2N3FIxi , M2N3FIyi , M2N3FIzi , M2N3FMGxi , M2N3FMGyi , M2N3FMGzi , M2N3MAFxi , & + M1N6FMGyi , M1N6FMGzi , M1N6FWExi , M1N6FWEyi , M1N6FWEzi , M1N6MAFxi , M1N6MAFyi , & + M1N6MAFzi , M1N6MAGxi , M1N6MAGyi , M1N6MAGzi , M1N6MBFxi , M1N6MBFyi , M1N6MBFzi , & + M1N6MBxi , M1N6MByi , M1N6MBzi , M1N6MMGxi , M1N6MMGyi , M1N6MMGzi , M1N6STAxi , & + M1N6STAyi , M1N6STAzi , M1N6STVxi , M1N6STVyi , M1N6STVzi , M1N6Vxi , M1N6Vyi , & + M1N6Vzi , M1N7Axi , M1N7Ayi , M1N7Azi , M1N7DynP , M1N7FAFxi , M1N7FAFyi , & + M1N7FAFzi , M1N7FAGxi , M1N7FAGyi , M1N7FAGzi , M1N7FAMxi , M1N7FAMyi , M1N7FAMzi , & + M1N7FBFxi , M1N7FBFyi , M1N7FBFzi , M1N7FBxi , M1N7FByi , M1N7FBzi , M1N7FDxi , & + M1N7FDyi , M1N7FDzi , M1N7FIxi , M1N7FIyi , M1N7FIzi , M1N7FMGxi , M1N7FMGyi , & + M1N7FMGzi , M1N7FWExi , M1N7FWEyi , M1N7FWEzi , M1N7MAFxi , M1N7MAFyi , M1N7MAFzi , & + M1N7MAGxi , M1N7MAGyi , M1N7MAGzi , M1N7MBFxi , M1N7MBFyi , M1N7MBFzi , M1N7MBxi , & + M1N7MByi , M1N7MBzi , M1N7MMGxi , M1N7MMGyi , M1N7MMGzi , M1N7STAxi , M1N7STAyi , & + M1N7STAzi , M1N7STVxi , M1N7STVyi , M1N7STVzi , M1N7Vxi , M1N7Vyi , M1N7Vzi , & + M1N8Axi , M1N8Ayi , M1N8Azi , M1N8DynP , M1N8FAFxi , M1N8FAFyi , M1N8FAFzi , & + M1N8FAGxi , M1N8FAGyi , M1N8FAGzi , M1N8FAMxi , M1N8FAMyi , M1N8FAMzi , M1N8FBFxi , & + M1N8FBFyi , M1N8FBFzi , M1N8FBxi , M1N8FByi , M1N8FBzi , M1N8FDxi , M1N8FDyi , & + M1N8FDzi , M1N8FIxi , M1N8FIyi , M1N8FIzi , M1N8FMGxi , M1N8FMGyi , M1N8FMGzi , & + M1N8FWExi , M1N8FWEyi , M1N8FWEzi , M1N8MAFxi , M1N8MAFyi , M1N8MAFzi , M1N8MAGxi , & + M1N8MAGyi , M1N8MAGzi , M1N8MBFxi , M1N8MBFyi , M1N8MBFzi , M1N8MBxi , M1N8MByi , & + M1N8MBzi , M1N8MMGxi , M1N8MMGyi , M1N8MMGzi , M1N8STAxi , M1N8STAyi , M1N8STAzi , & + M1N8STVxi , M1N8STVyi , M1N8STVzi , M1N8Vxi , M1N8Vyi , M1N8Vzi , M1N9Axi , & + M1N9Ayi , M1N9Azi , M1N9DynP , M1N9FAFxi , M1N9FAFyi , M1N9FAFzi , M1N9FAGxi , & + M1N9FAGyi , M1N9FAGzi , M1N9FAMxi , M1N9FAMyi , M1N9FAMzi , M1N9FBFxi , M1N9FBFyi , & + M1N9FBFzi , M1N9FBxi , M1N9FByi , M1N9FBzi , M1N9FDxi , M1N9FDyi , M1N9FDzi , & + M1N9FIxi , M1N9FIyi , M1N9FIzi , M1N9FMGxi , M1N9FMGyi , M1N9FMGzi , M1N9FWExi , & + M1N9FWEyi , M1N9FWEzi , M1N9MAFxi , M1N9MAFyi , M1N9MAFzi , M1N9MAGxi , M1N9MAGyi , & + M1N9MAGzi , M1N9MBFxi , M1N9MBFyi , M1N9MBFzi , M1N9MBxi , M1N9MByi , M1N9MBzi , & + M1N9MMGxi , M1N9MMGyi , M1N9MMGzi , M1N9STAxi , M1N9STAyi , M1N9STAzi , M1N9STVxi , & + M1N9STVyi , M1N9STVzi , M1N9Vxi , M1N9Vyi , M1N9Vzi , M2N1Axi , M2N1Ayi , & + M2N1Azi , M2N1DynP , M2N1FAFxi , M2N1FAFyi , M2N1FAFzi , M2N1FAGxi , M2N1FAGyi , & + M2N1FAGzi , M2N1FAMxi , M2N1FAMyi , M2N1FAMzi , M2N1FBFxi , M2N1FBFyi , M2N1FBFzi , & + M2N1FBxi , M2N1FByi , M2N1FBzi , M2N1FDxi , M2N1FDyi , M2N1FDzi , M2N1FIxi , & + M2N1FIyi , M2N1FIzi , M2N1FMGxi , M2N1FMGyi , M2N1FMGzi , M2N1FWExi , M2N1FWEyi , & + M2N1FWEzi , M2N1MAFxi , M2N1MAFyi , M2N1MAFzi , M2N1MAGxi , M2N1MAGyi , M2N1MAGzi , & + M2N1MBFxi , M2N1MBFyi , M2N1MBFzi , M2N1MBxi , M2N1MByi , M2N1MBzi , M2N1MMGxi , & + M2N1MMGyi , M2N1MMGzi , M2N1STAxi , M2N1STAyi , M2N1STAzi , M2N1STVxi , M2N1STVyi , & + M2N1STVzi , M2N1Vxi , M2N1Vyi , M2N1Vzi , M2N2Axi , M2N2Ayi , M2N2Azi , & + M2N2DynP , M2N2FAFxi , M2N2FAFyi , M2N2FAFzi , M2N2FAGxi , M2N2FAGyi , M2N2FAGzi , & + M2N2FAMxi , M2N2FAMyi , M2N2FAMzi , M2N2FBFxi , M2N2FBFyi , M2N2FBFzi , M2N2FBxi , & + M2N2FByi , M2N2FBzi , M2N2FDxi , M2N2FDyi , M2N2FDzi , M2N2FIxi , M2N2FIyi , & + M2N2FIzi , M2N2FMGxi , M2N2FMGyi , M2N2FMGzi , M2N2FWExi , M2N2FWEyi , M2N2FWEzi , & + M2N2MAFxi , M2N2MAFyi , M2N2MAFzi , M2N2MAGxi , M2N2MAGyi , M2N2MAGzi , M2N2MBFxi , & + M2N2MBFyi , M2N2MBFzi , M2N2MBxi , M2N2MByi , M2N2MBzi , M2N2MMGxi , M2N2MMGyi , & + M2N2MMGzi , M2N2STAxi , M2N2STAyi , M2N2STAzi , M2N2STVxi , M2N2STVyi , M2N2STVzi , & + M2N2Vxi , M2N2Vyi , M2N2Vzi , M2N3Axi , M2N3Ayi , M2N3Azi , M2N3DynP , & + M2N3FAFxi , M2N3FAFyi , M2N3FAFzi , M2N3FAGxi , M2N3FAGyi , M2N3FAGzi , M2N3FAMxi , & + M2N3FAMyi , M2N3FAMzi , M2N3FBFxi , M2N3FBFyi , M2N3FBFzi , M2N3FBxi , M2N3FByi , & + M2N3FBzi , M2N3FDxi , M2N3FDyi , M2N3FDzi , M2N3FIxi , M2N3FIyi , M2N3FIzi , & + M2N3FMGxi , M2N3FMGyi , M2N3FMGzi , M2N3FWExi , M2N3FWEyi , M2N3FWEzi , M2N3MAFxi , & M2N3MAFyi , M2N3MAFzi , M2N3MAGxi , M2N3MAGyi , M2N3MAGzi , M2N3MBFxi , M2N3MBFyi , & M2N3MBFzi , M2N3MBxi , M2N3MByi , M2N3MBzi , M2N3MMGxi , M2N3MMGyi , M2N3MMGzi , & M2N3STAxi , M2N3STAyi , M2N3STAzi , M2N3STVxi , M2N3STVyi , M2N3STVzi , M2N3Vxi , & @@ -7249,51 +7659,54 @@ MODULE Morison_Output M2N4FAFyi , M2N4FAFzi , M2N4FAGxi , M2N4FAGyi , M2N4FAGzi , M2N4FAMxi , M2N4FAMyi , & M2N4FAMzi , M2N4FBFxi , M2N4FBFyi , M2N4FBFzi , M2N4FBxi , M2N4FByi , M2N4FBzi , & M2N4FDxi , M2N4FDyi , M2N4FDzi , M2N4FIxi , M2N4FIyi , M2N4FIzi , M2N4FMGxi , & - M2N4FMGyi , M2N4FMGzi , M2N4MAFxi , M2N4MAFyi , M2N4MAFzi , M2N4MAGxi , M2N4MAGyi , & - M2N4MAGzi , M2N4MBFxi , M2N4MBFyi , M2N4MBFzi , M2N4MBxi , M2N4MByi , M2N4MBzi , & - M2N4MMGxi , M2N4MMGyi , M2N4MMGzi , M2N4STAxi , M2N4STAyi , M2N4STAzi , M2N4STVxi , & - M2N4STVyi , M2N4STVzi , M2N4Vxi , M2N4Vyi , M2N4Vzi , M2N5Axi , M2N5Ayi , & - M2N5Azi , M2N5DynP , M2N5FAFxi , M2N5FAFyi , M2N5FAFzi , M2N5FAGxi , M2N5FAGyi , & - M2N5FAGzi , M2N5FAMxi , M2N5FAMyi , M2N5FAMzi , M2N5FBFxi , M2N5FBFyi , M2N5FBFzi , & - M2N5FBxi , M2N5FByi , M2N5FBzi , M2N5FDxi , M2N5FDyi , M2N5FDzi , M2N5FIxi , & - M2N5FIyi , M2N5FIzi , M2N5FMGxi , M2N5FMGyi , M2N5FMGzi , M2N5MAFxi , M2N5MAFyi , & - M2N5MAFzi , M2N5MAGxi , M2N5MAGyi , M2N5MAGzi , M2N5MBFxi , M2N5MBFyi , M2N5MBFzi , & - M2N5MBxi , M2N5MByi , M2N5MBzi , M2N5MMGxi , M2N5MMGyi , M2N5MMGzi , M2N5STAxi , & - M2N5STAyi , M2N5STAzi , M2N5STVxi , M2N5STVyi , M2N5STVzi , M2N5Vxi , M2N5Vyi , & - M2N5Vzi , M2N6Axi , M2N6Ayi , M2N6Azi , M2N6DynP , M2N6FAFxi , M2N6FAFyi , & - M2N6FAFzi , M2N6FAGxi , M2N6FAGyi , M2N6FAGzi , M2N6FAMxi , M2N6FAMyi , M2N6FAMzi , & - M2N6FBFxi , M2N6FBFyi , M2N6FBFzi , M2N6FBxi , M2N6FByi , M2N6FBzi , M2N6FDxi , & - M2N6FDyi , M2N6FDzi , M2N6FIxi , M2N6FIyi , M2N6FIzi , M2N6FMGxi , M2N6FMGyi , & - M2N6FMGzi , M2N6MAFxi , M2N6MAFyi , M2N6MAFzi , M2N6MAGxi , M2N6MAGyi , M2N6MAGzi , & - M2N6MBFxi , M2N6MBFyi , M2N6MBFzi , M2N6MBxi , M2N6MByi , M2N6MBzi , M2N6MMGxi , & - M2N6MMGyi , M2N6MMGzi , M2N6STAxi , M2N6STAyi , M2N6STAzi , M2N6STVxi , M2N6STVyi , & - M2N6STVzi , M2N6Vxi , M2N6Vyi , M2N6Vzi , M2N7Axi , M2N7Ayi , M2N7Azi , & - M2N7DynP , M2N7FAFxi , M2N7FAFyi , M2N7FAFzi , M2N7FAGxi , M2N7FAGyi , M2N7FAGzi , & - M2N7FAMxi , M2N7FAMyi , M2N7FAMzi , M2N7FBFxi , M2N7FBFyi , M2N7FBFzi , M2N7FBxi , & - M2N7FByi , M2N7FBzi , M2N7FDxi , M2N7FDyi , M2N7FDzi , M2N7FIxi , M2N7FIyi , & - M2N7FIzi , M2N7FMGxi , M2N7FMGyi , M2N7FMGzi , M2N7MAFxi , M2N7MAFyi , M2N7MAFzi , & - M2N7MAGxi , M2N7MAGyi , M2N7MAGzi , M2N7MBFxi , M2N7MBFyi , M2N7MBFzi , M2N7MBxi , & - M2N7MByi , M2N7MBzi , M2N7MMGxi , M2N7MMGyi , M2N7MMGzi , M2N7STAxi , M2N7STAyi , & - M2N7STAzi , M2N7STVxi , M2N7STVyi , M2N7STVzi , M2N7Vxi , M2N7Vyi , M2N7Vzi , & - M2N8Axi , M2N8Ayi , M2N8Azi , M2N8DynP , M2N8FAFxi , M2N8FAFyi , M2N8FAFzi , & - M2N8FAGxi , M2N8FAGyi , M2N8FAGzi , M2N8FAMxi , M2N8FAMyi , M2N8FAMzi , M2N8FBFxi , & - M2N8FBFyi , M2N8FBFzi , M2N8FBxi , M2N8FByi , M2N8FBzi , M2N8FDxi , M2N8FDyi , & - M2N8FDzi , M2N8FIxi , M2N8FIyi , M2N8FIzi , M2N8FMGxi , M2N8FMGyi , M2N8FMGzi , & - M2N8MAFxi , M2N8MAFyi , M2N8MAFzi , M2N8MAGxi , M2N8MAGyi , M2N8MAGzi , M2N8MBFxi , & - M2N8MBFyi , M2N8MBFzi , M2N8MBxi , M2N8MByi , M2N8MBzi , M2N8MMGxi , M2N8MMGyi , & - M2N8MMGzi , M2N8STAxi , M2N8STAyi , M2N8STAzi , M2N8STVxi , M2N8STVyi , M2N8STVzi , & - M2N8Vxi , M2N8Vyi , M2N8Vzi , M2N9Axi , M2N9Ayi , M2N9Azi , M2N9DynP , & - M2N9FAFxi , M2N9FAFyi , M2N9FAFzi , M2N9FAGxi , M2N9FAGyi , M2N9FAGzi , M2N9FAMxi , & - M2N9FAMyi , M2N9FAMzi , M2N9FBFxi , M2N9FBFyi , M2N9FBFzi , M2N9FBxi , M2N9FByi , & - M2N9FBzi , M2N9FDxi , M2N9FDyi , M2N9FDzi , M2N9FIxi , M2N9FIyi , M2N9FIzi , & - M2N9FMGxi , M2N9FMGyi , M2N9FMGzi , M2N9MAFxi , M2N9MAFyi , M2N9MAFzi , M2N9MAGxi , & - M2N9MAGyi , M2N9MAGzi , M2N9MBFxi , M2N9MBFyi , M2N9MBFzi , M2N9MBxi , M2N9MByi , & - M2N9MBzi , M2N9MMGxi , M2N9MMGyi , M2N9MMGzi , M2N9STAxi , M2N9STAyi , M2N9STAzi , & - M2N9STVxi , M2N9STVyi , M2N9STVzi , M2N9Vxi , M2N9Vyi , M2N9Vzi , M3N1Axi , & - M3N1Ayi , M3N1Azi , M3N1DynP , M3N1FAFxi , M3N1FAFyi , M3N1FAFzi , M3N1FAGxi , & - M3N1FAGyi , M3N1FAGzi , M3N1FAMxi , M3N1FAMyi , M3N1FAMzi , M3N1FBFxi , M3N1FBFyi , & - M3N1FBFzi , M3N1FBxi , M3N1FByi , M3N1FBzi , M3N1FDxi , M3N1FDyi , M3N1FDzi , & - M3N1FIxi , M3N1FIyi , M3N1FIzi , M3N1FMGxi , M3N1FMGyi , M3N1FMGzi , M3N1MAFxi , & + M2N4FMGyi , M2N4FMGzi , M2N4FWExi , M2N4FWEyi , M2N4FWEzi , M2N4MAFxi , M2N4MAFyi , & + M2N4MAFzi , M2N4MAGxi , M2N4MAGyi , M2N4MAGzi , M2N4MBFxi , M2N4MBFyi , M2N4MBFzi , & + M2N4MBxi , M2N4MByi , M2N4MBzi , M2N4MMGxi , M2N4MMGyi , M2N4MMGzi , M2N4STAxi , & + M2N4STAyi , M2N4STAzi , M2N4STVxi , M2N4STVyi , M2N4STVzi , M2N4Vxi , M2N4Vyi , & + M2N4Vzi , M2N5Axi , M2N5Ayi , M2N5Azi , M2N5DynP , M2N5FAFxi , M2N5FAFyi , & + M2N5FAFzi , M2N5FAGxi , M2N5FAGyi , M2N5FAGzi , M2N5FAMxi , M2N5FAMyi , M2N5FAMzi , & + M2N5FBFxi , M2N5FBFyi , M2N5FBFzi , M2N5FBxi , M2N5FByi , M2N5FBzi , M2N5FDxi , & + M2N5FDyi , M2N5FDzi , M2N5FIxi , M2N5FIyi , M2N5FIzi , M2N5FMGxi , M2N5FMGyi , & + M2N5FMGzi , M2N5FWExi , M2N5FWEyi , M2N5FWEzi , M2N5MAFxi , M2N5MAFyi , M2N5MAFzi , & + M2N5MAGxi , M2N5MAGyi , M2N5MAGzi , M2N5MBFxi , M2N5MBFyi , M2N5MBFzi , M2N5MBxi , & + M2N5MByi , M2N5MBzi , M2N5MMGxi , M2N5MMGyi , M2N5MMGzi , M2N5STAxi , M2N5STAyi , & + M2N5STAzi , M2N5STVxi , M2N5STVyi , M2N5STVzi , M2N5Vxi , M2N5Vyi , M2N5Vzi , & + M2N6Axi , M2N6Ayi , M2N6Azi , M2N6DynP , M2N6FAFxi , M2N6FAFyi , M2N6FAFzi , & + M2N6FAGxi , M2N6FAGyi , M2N6FAGzi , M2N6FAMxi , M2N6FAMyi , M2N6FAMzi , M2N6FBFxi , & + M2N6FBFyi , M2N6FBFzi , M2N6FBxi , M2N6FByi , M2N6FBzi , M2N6FDxi , M2N6FDyi , & + M2N6FDzi , M2N6FIxi , M2N6FIyi , M2N6FIzi , M2N6FMGxi , M2N6FMGyi , M2N6FMGzi , & + M2N6FWExi , M2N6FWEyi , M2N6FWEzi , M2N6MAFxi , M2N6MAFyi , M2N6MAFzi , M2N6MAGxi , & + M2N6MAGyi , M2N6MAGzi , M2N6MBFxi , M2N6MBFyi , M2N6MBFzi , M2N6MBxi , M2N6MByi , & + M2N6MBzi , M2N6MMGxi , M2N6MMGyi , M2N6MMGzi , M2N6STAxi , M2N6STAyi , M2N6STAzi , & + M2N6STVxi , M2N6STVyi , M2N6STVzi , M2N6Vxi , M2N6Vyi , M2N6Vzi , M2N7Axi , & + M2N7Ayi , M2N7Azi , M2N7DynP , M2N7FAFxi , M2N7FAFyi , M2N7FAFzi , M2N7FAGxi , & + M2N7FAGyi , M2N7FAGzi , M2N7FAMxi , M2N7FAMyi , M2N7FAMzi , M2N7FBFxi , M2N7FBFyi , & + M2N7FBFzi , M2N7FBxi , M2N7FByi , M2N7FBzi , M2N7FDxi , M2N7FDyi , M2N7FDzi , & + M2N7FIxi , M2N7FIyi , M2N7FIzi , M2N7FMGxi , M2N7FMGyi , M2N7FMGzi , M2N7FWExi , & + M2N7FWEyi , M2N7FWEzi , M2N7MAFxi , M2N7MAFyi , M2N7MAFzi , M2N7MAGxi , M2N7MAGyi , & + M2N7MAGzi , M2N7MBFxi , M2N7MBFyi , M2N7MBFzi , M2N7MBxi , M2N7MByi , M2N7MBzi , & + M2N7MMGxi , M2N7MMGyi , M2N7MMGzi , M2N7STAxi , M2N7STAyi , M2N7STAzi , M2N7STVxi , & + M2N7STVyi , M2N7STVzi , M2N7Vxi , M2N7Vyi , M2N7Vzi , M2N8Axi , M2N8Ayi , & + M2N8Azi , M2N8DynP , M2N8FAFxi , M2N8FAFyi , M2N8FAFzi , M2N8FAGxi , M2N8FAGyi , & + M2N8FAGzi , M2N8FAMxi , M2N8FAMyi , M2N8FAMzi , M2N8FBFxi , M2N8FBFyi , M2N8FBFzi , & + M2N8FBxi , M2N8FByi , M2N8FBzi , M2N8FDxi , M2N8FDyi , M2N8FDzi , M2N8FIxi , & + M2N8FIyi , M2N8FIzi , M2N8FMGxi , M2N8FMGyi , M2N8FMGzi , M2N8FWExi , M2N8FWEyi , & + M2N8FWEzi , M2N8MAFxi , M2N8MAFyi , M2N8MAFzi , M2N8MAGxi , M2N8MAGyi , M2N8MAGzi , & + M2N8MBFxi , M2N8MBFyi , M2N8MBFzi , M2N8MBxi , M2N8MByi , M2N8MBzi , M2N8MMGxi , & + M2N8MMGyi , M2N8MMGzi , M2N8STAxi , M2N8STAyi , M2N8STAzi , M2N8STVxi , M2N8STVyi , & + M2N8STVzi , M2N8Vxi , M2N8Vyi , M2N8Vzi , M2N9Axi , M2N9Ayi , M2N9Azi , & + M2N9DynP , M2N9FAFxi , M2N9FAFyi , M2N9FAFzi , M2N9FAGxi , M2N9FAGyi , M2N9FAGzi , & + M2N9FAMxi , M2N9FAMyi , M2N9FAMzi , M2N9FBFxi , M2N9FBFyi , M2N9FBFzi , M2N9FBxi , & + M2N9FByi , M2N9FBzi , M2N9FDxi , M2N9FDyi , M2N9FDzi , M2N9FIxi , M2N9FIyi , & + M2N9FIzi , M2N9FMGxi , M2N9FMGyi , M2N9FMGzi , M2N9FWExi , M2N9FWEyi , M2N9FWEzi , & + M2N9MAFxi , M2N9MAFyi , M2N9MAFzi , M2N9MAGxi , M2N9MAGyi , M2N9MAGzi , M2N9MBFxi , & + M2N9MBFyi , M2N9MBFzi , M2N9MBxi , M2N9MByi , M2N9MBzi , M2N9MMGxi , M2N9MMGyi , & + M2N9MMGzi , M2N9STAxi , M2N9STAyi , M2N9STAzi , M2N9STVxi , M2N9STVyi , M2N9STVzi , & + M2N9Vxi , M2N9Vyi , M2N9Vzi , M3N1Axi , M3N1Ayi , M3N1Azi , M3N1DynP , & + M3N1FAFxi , M3N1FAFyi , M3N1FAFzi , M3N1FAGxi , M3N1FAGyi , M3N1FAGzi , M3N1FAMxi , & + M3N1FAMyi , M3N1FAMzi , M3N1FBFxi , M3N1FBFyi , M3N1FBFzi , M3N1FBxi , M3N1FByi , & + M3N1FBzi , M3N1FDxi , M3N1FDyi , M3N1FDzi , M3N1FIxi , M3N1FIyi , M3N1FIzi , & + M3N1FMGxi , M3N1FMGyi , M3N1FMGzi , M3N1FWExi , M3N1FWEyi , M3N1FWEzi , M3N1MAFxi , & M3N1MAFyi , M3N1MAFzi , M3N1MAGxi , M3N1MAGyi , M3N1MAGzi , M3N1MBFxi , M3N1MBFyi , & M3N1MBFzi , M3N1MBxi , M3N1MByi , M3N1MBzi , M3N1MMGxi , M3N1MMGyi , M3N1MMGzi , & M3N1STAxi , M3N1STAyi , M3N1STAzi , M3N1STVxi , M3N1STVyi , M3N1STVzi , M3N1Vxi , & @@ -7301,292 +7714,309 @@ MODULE Morison_Output M3N2FAFyi , M3N2FAFzi , M3N2FAGxi , M3N2FAGyi , M3N2FAGzi , M3N2FAMxi , M3N2FAMyi , & M3N2FAMzi , M3N2FBFxi , M3N2FBFyi , M3N2FBFzi , M3N2FBxi , M3N2FByi , M3N2FBzi , & M3N2FDxi , M3N2FDyi , M3N2FDzi , M3N2FIxi , M3N2FIyi , M3N2FIzi , M3N2FMGxi , & - M3N2FMGyi , M3N2FMGzi , M3N2MAFxi , M3N2MAFyi , M3N2MAFzi , M3N2MAGxi , M3N2MAGyi , & - M3N2MAGzi , M3N2MBFxi , M3N2MBFyi , M3N2MBFzi , M3N2MBxi , M3N2MByi , M3N2MBzi , & - M3N2MMGxi , M3N2MMGyi , M3N2MMGzi , M3N2STAxi , M3N2STAyi , M3N2STAzi , M3N2STVxi , & - M3N2STVyi , M3N2STVzi , M3N2Vxi , M3N2Vyi , M3N2Vzi , M3N3Axi , M3N3Ayi , & - M3N3Azi , M3N3DynP , M3N3FAFxi , M3N3FAFyi , M3N3FAFzi , M3N3FAGxi , M3N3FAGyi , & - M3N3FAGzi , M3N3FAMxi , M3N3FAMyi , M3N3FAMzi , M3N3FBFxi , M3N3FBFyi , M3N3FBFzi , & - M3N3FBxi , M3N3FByi , M3N3FBzi , M3N3FDxi , M3N3FDyi , M3N3FDzi , M3N3FIxi , & - M3N3FIyi , M3N3FIzi , M3N3FMGxi , M3N3FMGyi , M3N3FMGzi , M3N3MAFxi , M3N3MAFyi , & - M3N3MAFzi , M3N3MAGxi , M3N3MAGyi , M3N3MAGzi , M3N3MBFxi , M3N3MBFyi , M3N3MBFzi , & - M3N3MBxi , M3N3MByi , M3N3MBzi , M3N3MMGxi , M3N3MMGyi , M3N3MMGzi , M3N3STAxi , & - M3N3STAyi , M3N3STAzi , M3N3STVxi , M3N3STVyi , M3N3STVzi , M3N3Vxi , M3N3Vyi , & - M3N3Vzi , M3N4Axi , M3N4Ayi , M3N4Azi , M3N4DynP , M3N4FAFxi , M3N4FAFyi , & - M3N4FAFzi , M3N4FAGxi , M3N4FAGyi , M3N4FAGzi , M3N4FAMxi , M3N4FAMyi , M3N4FAMzi , & - M3N4FBFxi , M3N4FBFyi , M3N4FBFzi , M3N4FBxi , M3N4FByi , M3N4FBzi , M3N4FDxi , & - M3N4FDyi , M3N4FDzi , M3N4FIxi , M3N4FIyi , M3N4FIzi , M3N4FMGxi , M3N4FMGyi , & - M3N4FMGzi , M3N4MAFxi , M3N4MAFyi , M3N4MAFzi , M3N4MAGxi , M3N4MAGyi , M3N4MAGzi , & - M3N4MBFxi , M3N4MBFyi /) - INTEGER(IntKi), PARAMETER :: ParamIndxAry2(1542) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) - M3N4MBFzi , M3N4MBxi , M3N4MByi , M3N4MBzi , M3N4MMGxi , M3N4MMGyi , M3N4MMGzi , & - M3N4STAxi , M3N4STAyi , M3N4STAzi , M3N4STVxi , M3N4STVyi , M3N4STVzi , M3N4Vxi , & - M3N4Vyi , M3N4Vzi , M3N5Axi , M3N5Ayi , M3N5Azi , M3N5DynP , M3N5FAFxi , & - M3N5FAFyi , M3N5FAFzi , M3N5FAGxi , M3N5FAGyi , M3N5FAGzi , M3N5FAMxi , M3N5FAMyi , & - M3N5FAMzi , M3N5FBFxi , M3N5FBFyi , M3N5FBFzi , M3N5FBxi , M3N5FByi , M3N5FBzi , & - M3N5FDxi , M3N5FDyi , M3N5FDzi , M3N5FIxi , M3N5FIyi , M3N5FIzi , M3N5FMGxi , & - M3N5FMGyi , M3N5FMGzi , M3N5MAFxi , M3N5MAFyi , M3N5MAFzi , M3N5MAGxi , M3N5MAGyi , & - M3N5MAGzi , M3N5MBFxi , M3N5MBFyi , M3N5MBFzi , M3N5MBxi , M3N5MByi , M3N5MBzi , & - M3N5MMGxi , M3N5MMGyi , M3N5MMGzi , M3N5STAxi , M3N5STAyi , M3N5STAzi , M3N5STVxi , & - M3N5STVyi , M3N5STVzi , M3N5Vxi , M3N5Vyi , M3N5Vzi , M3N6Axi , M3N6Ayi , & - M3N6Azi , M3N6DynP , M3N6FAFxi , M3N6FAFyi , M3N6FAFzi , M3N6FAGxi , M3N6FAGyi , & - M3N6FAGzi , M3N6FAMxi , M3N6FAMyi , M3N6FAMzi , M3N6FBFxi , M3N6FBFyi , M3N6FBFzi , & - M3N6FBxi , M3N6FByi , M3N6FBzi , M3N6FDxi , M3N6FDyi , M3N6FDzi , M3N6FIxi , & - M3N6FIyi , M3N6FIzi , M3N6FMGxi , M3N6FMGyi , M3N6FMGzi , M3N6MAFxi , M3N6MAFyi , & - M3N6MAFzi , M3N6MAGxi , M3N6MAGyi , M3N6MAGzi , M3N6MBFxi , M3N6MBFyi , M3N6MBFzi , & - M3N6MBxi , M3N6MByi , M3N6MBzi , M3N6MMGxi , M3N6MMGyi , M3N6MMGzi , M3N6STAxi , & - M3N6STAyi , M3N6STAzi , M3N6STVxi , M3N6STVyi , M3N6STVzi , M3N6Vxi , M3N6Vyi , & - M3N6Vzi , M3N7Axi , M3N7Ayi , M3N7Azi , M3N7DynP , M3N7FAFxi , M3N7FAFyi , & - M3N7FAFzi , M3N7FAGxi , M3N7FAGyi , M3N7FAGzi , M3N7FAMxi , M3N7FAMyi , M3N7FAMzi , & - M3N7FBFxi , M3N7FBFyi , M3N7FBFzi , M3N7FBxi , M3N7FByi , M3N7FBzi , M3N7FDxi , & - M3N7FDyi , M3N7FDzi , M3N7FIxi , M3N7FIyi , M3N7FIzi , M3N7FMGxi , M3N7FMGyi , & - M3N7FMGzi , M3N7MAFxi , M3N7MAFyi , M3N7MAFzi , M3N7MAGxi , M3N7MAGyi , M3N7MAGzi , & - M3N7MBFxi , M3N7MBFyi , M3N7MBFzi , M3N7MBxi , M3N7MByi , M3N7MBzi , M3N7MMGxi , & - M3N7MMGyi , M3N7MMGzi , M3N7STAxi , M3N7STAyi , M3N7STAzi , M3N7STVxi , M3N7STVyi , & - M3N7STVzi , M3N7Vxi , M3N7Vyi , M3N7Vzi , M3N8Axi , M3N8Ayi , M3N8Azi , & - M3N8DynP , M3N8FAFxi , M3N8FAFyi , M3N8FAFzi , M3N8FAGxi , M3N8FAGyi , M3N8FAGzi , & - M3N8FAMxi , M3N8FAMyi , M3N8FAMzi , M3N8FBFxi , M3N8FBFyi , M3N8FBFzi , M3N8FBxi , & - M3N8FByi , M3N8FBzi , M3N8FDxi , M3N8FDyi , M3N8FDzi , M3N8FIxi , M3N8FIyi , & - M3N8FIzi , M3N8FMGxi , M3N8FMGyi , M3N8FMGzi , M3N8MAFxi , M3N8MAFyi , M3N8MAFzi , & - M3N8MAGxi , M3N8MAGyi , M3N8MAGzi , M3N8MBFxi , M3N8MBFyi , M3N8MBFzi , M3N8MBxi , & - M3N8MByi , M3N8MBzi , M3N8MMGxi , M3N8MMGyi , M3N8MMGzi , M3N8STAxi , M3N8STAyi , & - M3N8STAzi , M3N8STVxi , M3N8STVyi , M3N8STVzi , M3N8Vxi , M3N8Vyi , M3N8Vzi , & - M3N9Axi , M3N9Ayi , M3N9Azi , M3N9DynP , M3N9FAFxi , M3N9FAFyi , M3N9FAFzi , & - M3N9FAGxi , M3N9FAGyi , M3N9FAGzi , M3N9FAMxi , M3N9FAMyi , M3N9FAMzi , M3N9FBFxi , & - M3N9FBFyi , M3N9FBFzi , M3N9FBxi , M3N9FByi , M3N9FBzi , M3N9FDxi , M3N9FDyi , & - M3N9FDzi , M3N9FIxi , M3N9FIyi , M3N9FIzi , M3N9FMGxi , M3N9FMGyi , M3N9FMGzi , & - M3N9MAFxi , M3N9MAFyi , M3N9MAFzi , M3N9MAGxi , M3N9MAGyi , M3N9MAGzi , M3N9MBFxi , & - M3N9MBFyi , M3N9MBFzi , M3N9MBxi , M3N9MByi , M3N9MBzi , M3N9MMGxi , M3N9MMGyi , & - M3N9MMGzi , M3N9STAxi , M3N9STAyi , M3N9STAzi , M3N9STVxi , M3N9STVyi , M3N9STVzi , & - M3N9Vxi , M3N9Vyi , M3N9Vzi , M4N1Axi , M4N1Ayi , M4N1Azi , M4N1DynP , & - M4N1FAFxi , M4N1FAFyi , M4N1FAFzi , M4N1FAGxi , M4N1FAGyi , M4N1FAGzi , M4N1FAMxi , & - M4N1FAMyi , M4N1FAMzi , M4N1FBFxi , M4N1FBFyi , M4N1FBFzi , M4N1FBxi , M4N1FByi , & - M4N1FBzi , M4N1FDxi , M4N1FDyi , M4N1FDzi , M4N1FIxi , M4N1FIyi , M4N1FIzi , & - M4N1FMGxi , M4N1FMGyi , M4N1FMGzi , M4N1MAFxi , M4N1MAFyi , M4N1MAFzi , M4N1MAGxi , & + M3N2FMGyi , M3N2FMGzi , M3N2FWExi , M3N2FWEyi , M3N2FWEzi , M3N2MAFxi , M3N2MAFyi , & + M3N2MAFzi , M3N2MAGxi , M3N2MAGyi , M3N2MAGzi , M3N2MBFxi , M3N2MBFyi , M3N2MBFzi , & + M3N2MBxi , M3N2MByi , M3N2MBzi , M3N2MMGxi , M3N2MMGyi , M3N2MMGzi , M3N2STAxi , & + M3N2STAyi , M3N2STAzi , M3N2STVxi , M3N2STVyi , M3N2STVzi , M3N2Vxi , M3N2Vyi , & + M3N2Vzi , M3N3Axi , M3N3Ayi , M3N3Azi , M3N3DynP , M3N3FAFxi , M3N3FAFyi , & + M3N3FAFzi , M3N3FAGxi , M3N3FAGyi , M3N3FAGzi , M3N3FAMxi , M3N3FAMyi , M3N3FAMzi , & + M3N3FBFxi , M3N3FBFyi , M3N3FBFzi , M3N3FBxi , M3N3FByi , M3N3FBzi , M3N3FDxi , & + M3N3FDyi , M3N3FDzi , M3N3FIxi , M3N3FIyi , M3N3FIzi , M3N3FMGxi , M3N3FMGyi , & + M3N3FMGzi , M3N3FWExi , M3N3FWEyi , M3N3FWEzi , M3N3MAFxi , M3N3MAFyi , M3N3MAFzi , & + M3N3MAGxi , M3N3MAGyi , M3N3MAGzi , M3N3MBFxi , M3N3MBFyi , M3N3MBFzi , M3N3MBxi , & + M3N3MByi , M3N3MBzi , M3N3MMGxi , M3N3MMGyi , M3N3MMGzi , M3N3STAxi , M3N3STAyi , & + M3N3STAzi , M3N3STVxi , M3N3STVyi , M3N3STVzi , M3N3Vxi , M3N3Vyi , M3N3Vzi , & + M3N4Axi , M3N4Ayi , M3N4Azi , M3N4DynP , M3N4FAFxi , M3N4FAFyi , M3N4FAFzi , & + M3N4FAGxi , M3N4FAGyi , M3N4FAGzi , M3N4FAMxi , M3N4FAMyi , M3N4FAMzi , M3N4FBFxi , & + M3N4FBFyi , M3N4FBFzi , M3N4FBxi , M3N4FByi , M3N4FBzi , M3N4FDxi , M3N4FDyi , & + M3N4FDzi , M3N4FIxi , M3N4FIyi , M3N4FIzi , M3N4FMGxi , M3N4FMGyi , M3N4FMGzi , & + M3N4FWExi , M3N4FWEyi , M3N4FWEzi , M3N4MAFxi , M3N4MAFyi , M3N4MAFzi , M3N4MAGxi , & + M3N4MAGyi /) + INTEGER(IntKi), PARAMETER :: ParamIndxAry2(1632) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + M3N4MAGzi , M3N4MBFxi , M3N4MBFyi , M3N4MBFzi , M3N4MBxi , M3N4MByi , M3N4MBzi , & + M3N4MMGxi , M3N4MMGyi , M3N4MMGzi , M3N4STAxi , M3N4STAyi , M3N4STAzi , M3N4STVxi , & + M3N4STVyi , M3N4STVzi , M3N4Vxi , M3N4Vyi , M3N4Vzi , M3N5Axi , M3N5Ayi , & + M3N5Azi , M3N5DynP , M3N5FAFxi , M3N5FAFyi , M3N5FAFzi , M3N5FAGxi , M3N5FAGyi , & + M3N5FAGzi , M3N5FAMxi , M3N5FAMyi , M3N5FAMzi , M3N5FBFxi , M3N5FBFyi , M3N5FBFzi , & + M3N5FBxi , M3N5FByi , M3N5FBzi , M3N5FDxi , M3N5FDyi , M3N5FDzi , M3N5FIxi , & + M3N5FIyi , M3N5FIzi , M3N5FMGxi , M3N5FMGyi , M3N5FMGzi , M3N5FWExi , M3N5FWEyi , & + M3N5FWEzi , M3N5MAFxi , M3N5MAFyi , M3N5MAFzi , M3N5MAGxi , M3N5MAGyi , M3N5MAGzi , & + M3N5MBFxi , M3N5MBFyi , M3N5MBFzi , M3N5MBxi , M3N5MByi , M3N5MBzi , M3N5MMGxi , & + M3N5MMGyi , M3N5MMGzi , M3N5STAxi , M3N5STAyi , M3N5STAzi , M3N5STVxi , M3N5STVyi , & + M3N5STVzi , M3N5Vxi , M3N5Vyi , M3N5Vzi , M3N6Axi , M3N6Ayi , M3N6Azi , & + M3N6DynP , M3N6FAFxi , M3N6FAFyi , M3N6FAFzi , M3N6FAGxi , M3N6FAGyi , M3N6FAGzi , & + M3N6FAMxi , M3N6FAMyi , M3N6FAMzi , M3N6FBFxi , M3N6FBFyi , M3N6FBFzi , M3N6FBxi , & + M3N6FByi , M3N6FBzi , M3N6FDxi , M3N6FDyi , M3N6FDzi , M3N6FIxi , M3N6FIyi , & + M3N6FIzi , M3N6FMGxi , M3N6FMGyi , M3N6FMGzi , M3N6FWExi , M3N6FWEyi , M3N6FWEzi , & + M3N6MAFxi , M3N6MAFyi , M3N6MAFzi , M3N6MAGxi , M3N6MAGyi , M3N6MAGzi , M3N6MBFxi , & + M3N6MBFyi , M3N6MBFzi , M3N6MBxi , M3N6MByi , M3N6MBzi , M3N6MMGxi , M3N6MMGyi , & + M3N6MMGzi , M3N6STAxi , M3N6STAyi , M3N6STAzi , M3N6STVxi , M3N6STVyi , M3N6STVzi , & + M3N6Vxi , M3N6Vyi , M3N6Vzi , M3N7Axi , M3N7Ayi , M3N7Azi , M3N7DynP , & + M3N7FAFxi , M3N7FAFyi , M3N7FAFzi , M3N7FAGxi , M3N7FAGyi , M3N7FAGzi , M3N7FAMxi , & + M3N7FAMyi , M3N7FAMzi , M3N7FBFxi , M3N7FBFyi , M3N7FBFzi , M3N7FBxi , M3N7FByi , & + M3N7FBzi , M3N7FDxi , M3N7FDyi , M3N7FDzi , M3N7FIxi , M3N7FIyi , M3N7FIzi , & + M3N7FMGxi , M3N7FMGyi , M3N7FMGzi , M3N7FWExi , M3N7FWEyi , M3N7FWEzi , M3N7MAFxi , & + M3N7MAFyi , M3N7MAFzi , M3N7MAGxi , M3N7MAGyi , M3N7MAGzi , M3N7MBFxi , M3N7MBFyi , & + M3N7MBFzi , M3N7MBxi , M3N7MByi , M3N7MBzi , M3N7MMGxi , M3N7MMGyi , M3N7MMGzi , & + M3N7STAxi , M3N7STAyi , M3N7STAzi , M3N7STVxi , M3N7STVyi , M3N7STVzi , M3N7Vxi , & + M3N7Vyi , M3N7Vzi , M3N8Axi , M3N8Ayi , M3N8Azi , M3N8DynP , M3N8FAFxi , & + M3N8FAFyi , M3N8FAFzi , M3N8FAGxi , M3N8FAGyi , M3N8FAGzi , M3N8FAMxi , M3N8FAMyi , & + M3N8FAMzi , M3N8FBFxi , M3N8FBFyi , M3N8FBFzi , M3N8FBxi , M3N8FByi , M3N8FBzi , & + M3N8FDxi , M3N8FDyi , M3N8FDzi , M3N8FIxi , M3N8FIyi , M3N8FIzi , M3N8FMGxi , & + M3N8FMGyi , M3N8FMGzi , M3N8FWExi , M3N8FWEyi , M3N8FWEzi , M3N8MAFxi , M3N8MAFyi , & + M3N8MAFzi , M3N8MAGxi , M3N8MAGyi , M3N8MAGzi , M3N8MBFxi , M3N8MBFyi , M3N8MBFzi , & + M3N8MBxi , M3N8MByi , M3N8MBzi , M3N8MMGxi , M3N8MMGyi , M3N8MMGzi , M3N8STAxi , & + M3N8STAyi , M3N8STAzi , M3N8STVxi , M3N8STVyi , M3N8STVzi , M3N8Vxi , M3N8Vyi , & + M3N8Vzi , M3N9Axi , M3N9Ayi , M3N9Azi , M3N9DynP , M3N9FAFxi , M3N9FAFyi , & + M3N9FAFzi , M3N9FAGxi , M3N9FAGyi , M3N9FAGzi , M3N9FAMxi , M3N9FAMyi , M3N9FAMzi , & + M3N9FBFxi , M3N9FBFyi , M3N9FBFzi , M3N9FBxi , M3N9FByi , M3N9FBzi , M3N9FDxi , & + M3N9FDyi , M3N9FDzi , M3N9FIxi , M3N9FIyi , M3N9FIzi , M3N9FMGxi , M3N9FMGyi , & + M3N9FMGzi , M3N9FWExi , M3N9FWEyi , M3N9FWEzi , M3N9MAFxi , M3N9MAFyi , M3N9MAFzi , & + M3N9MAGxi , M3N9MAGyi , M3N9MAGzi , M3N9MBFxi , M3N9MBFyi , M3N9MBFzi , M3N9MBxi , & + M3N9MByi , M3N9MBzi , M3N9MMGxi , M3N9MMGyi , M3N9MMGzi , M3N9STAxi , M3N9STAyi , & + M3N9STAzi , M3N9STVxi , M3N9STVyi , M3N9STVzi , M3N9Vxi , M3N9Vyi , M3N9Vzi , & + M4N1Axi , M4N1Ayi , M4N1Azi , M4N1DynP , M4N1FAFxi , M4N1FAFyi , M4N1FAFzi , & + M4N1FAGxi , M4N1FAGyi , M4N1FAGzi , M4N1FAMxi , M4N1FAMyi , M4N1FAMzi , M4N1FBFxi , & + M4N1FBFyi , M4N1FBFzi , M4N1FBxi , M4N1FByi , M4N1FBzi , M4N1FDxi , M4N1FDyi , & + M4N1FDzi , M4N1FIxi , M4N1FIyi , M4N1FIzi , M4N1FMGxi , M4N1FMGyi , M4N1FMGzi , & + M4N1FWExi , M4N1FWEyi , M4N1FWEzi , M4N1MAFxi , M4N1MAFyi , M4N1MAFzi , M4N1MAGxi , & M4N1MAGyi , M4N1MAGzi , M4N1MBFxi , M4N1MBFyi , M4N1MBFzi , M4N1MBxi , M4N1MByi , & M4N1MBzi , M4N1MMGxi , M4N1MMGyi , M4N1MMGzi , M4N1STAxi , M4N1STAyi , M4N1STAzi , & M4N1STVxi , M4N1STVyi , M4N1STVzi , M4N1Vxi , M4N1Vyi , M4N1Vzi , M4N2Axi , & M4N2Ayi , M4N2Azi , M4N2DynP , M4N2FAFxi , M4N2FAFyi , M4N2FAFzi , M4N2FAGxi , & M4N2FAGyi , M4N2FAGzi , M4N2FAMxi , M4N2FAMyi , M4N2FAMzi , M4N2FBFxi , M4N2FBFyi , & M4N2FBFzi , M4N2FBxi , M4N2FByi , M4N2FBzi , M4N2FDxi , M4N2FDyi , M4N2FDzi , & - M4N2FIxi , M4N2FIyi , M4N2FIzi , M4N2FMGxi , M4N2FMGyi , M4N2FMGzi , M4N2MAFxi , & - M4N2MAFyi , M4N2MAFzi , M4N2MAGxi , M4N2MAGyi , M4N2MAGzi , M4N2MBFxi , M4N2MBFyi , & - M4N2MBFzi , M4N2MBxi , M4N2MByi , M4N2MBzi , M4N2MMGxi , M4N2MMGyi , M4N2MMGzi , & - M4N2STAxi , M4N2STAyi , M4N2STAzi , M4N2STVxi , M4N2STVyi , M4N2STVzi , M4N2Vxi , & - M4N2Vyi , M4N2Vzi , M4N3Axi , M4N3Ayi , M4N3Azi , M4N3DynP , M4N3FAFxi , & - M4N3FAFyi , M4N3FAFzi , M4N3FAGxi , M4N3FAGyi , M4N3FAGzi , M4N3FAMxi , M4N3FAMyi , & - M4N3FAMzi , M4N3FBFxi , M4N3FBFyi , M4N3FBFzi , M4N3FBxi , M4N3FByi , M4N3FBzi , & - M4N3FDxi , M4N3FDyi , M4N3FDzi , M4N3FIxi , M4N3FIyi , M4N3FIzi , M4N3FMGxi , & - M4N3FMGyi , M4N3FMGzi , M4N3MAFxi , M4N3MAFyi , M4N3MAFzi , M4N3MAGxi , M4N3MAGyi , & - M4N3MAGzi , M4N3MBFxi , M4N3MBFyi , M4N3MBFzi , M4N3MBxi , M4N3MByi , M4N3MBzi , & - M4N3MMGxi , M4N3MMGyi , M4N3MMGzi , M4N3STAxi , M4N3STAyi , M4N3STAzi , M4N3STVxi , & - M4N3STVyi , M4N3STVzi , M4N3Vxi , M4N3Vyi , M4N3Vzi , M4N4Axi , M4N4Ayi , & - M4N4Azi , M4N4DynP , M4N4FAFxi , M4N4FAFyi , M4N4FAFzi , M4N4FAGxi , M4N4FAGyi , & - M4N4FAGzi , M4N4FAMxi , M4N4FAMyi , M4N4FAMzi , M4N4FBFxi , M4N4FBFyi , M4N4FBFzi , & - M4N4FBxi , M4N4FByi , M4N4FBzi , M4N4FDxi , M4N4FDyi , M4N4FDzi , M4N4FIxi , & - M4N4FIyi , M4N4FIzi , M4N4FMGxi , M4N4FMGyi , M4N4FMGzi , M4N4MAFxi , M4N4MAFyi , & - M4N4MAFzi , M4N4MAGxi , M4N4MAGyi , M4N4MAGzi , M4N4MBFxi , M4N4MBFyi , M4N4MBFzi , & - M4N4MBxi , M4N4MByi , M4N4MBzi , M4N4MMGxi , M4N4MMGyi , M4N4MMGzi , M4N4STAxi , & - M4N4STAyi , M4N4STAzi , M4N4STVxi , M4N4STVyi , M4N4STVzi , M4N4Vxi , M4N4Vyi , & - M4N4Vzi , M4N5Axi , M4N5Ayi , M4N5Azi , M4N5DynP , M4N5FAFxi , M4N5FAFyi , & - M4N5FAFzi , M4N5FAGxi , M4N5FAGyi , M4N5FAGzi , M4N5FAMxi , M4N5FAMyi , M4N5FAMzi , & - M4N5FBFxi , M4N5FBFyi , M4N5FBFzi , M4N5FBxi , M4N5FByi , M4N5FBzi , M4N5FDxi , & - M4N5FDyi , M4N5FDzi , M4N5FIxi , M4N5FIyi , M4N5FIzi , M4N5FMGxi , M4N5FMGyi , & - M4N5FMGzi , M4N5MAFxi , M4N5MAFyi , M4N5MAFzi , M4N5MAGxi , M4N5MAGyi , M4N5MAGzi , & - M4N5MBFxi , M4N5MBFyi , M4N5MBFzi , M4N5MBxi , M4N5MByi , M4N5MBzi , M4N5MMGxi , & - M4N5MMGyi , M4N5MMGzi , M4N5STAxi , M4N5STAyi , M4N5STAzi , M4N5STVxi , M4N5STVyi , & - M4N5STVzi , M4N5Vxi , M4N5Vyi , M4N5Vzi , M4N6Axi , M4N6Ayi , M4N6Azi , & - M4N6DynP , M4N6FAFxi , M4N6FAFyi , M4N6FAFzi , M4N6FAGxi , M4N6FAGyi , M4N6FAGzi , & - M4N6FAMxi , M4N6FAMyi , M4N6FAMzi , M4N6FBFxi , M4N6FBFyi , M4N6FBFzi , M4N6FBxi , & - M4N6FByi , M4N6FBzi , M4N6FDxi , M4N6FDyi , M4N6FDzi , M4N6FIxi , M4N6FIyi , & - M4N6FIzi , M4N6FMGxi , M4N6FMGyi , M4N6FMGzi , M4N6MAFxi , M4N6MAFyi , M4N6MAFzi , & - M4N6MAGxi , M4N6MAGyi , M4N6MAGzi , M4N6MBFxi , M4N6MBFyi , M4N6MBFzi , M4N6MBxi , & - M4N6MByi , M4N6MBzi , M4N6MMGxi , M4N6MMGyi , M4N6MMGzi , M4N6STAxi , M4N6STAyi , & - M4N6STAzi , M4N6STVxi , M4N6STVyi , M4N6STVzi , M4N6Vxi , M4N6Vyi , M4N6Vzi , & - M4N7Axi , M4N7Ayi , M4N7Azi , M4N7DynP , M4N7FAFxi , M4N7FAFyi , M4N7FAFzi , & - M4N7FAGxi , M4N7FAGyi , M4N7FAGzi , M4N7FAMxi , M4N7FAMyi , M4N7FAMzi , M4N7FBFxi , & - M4N7FBFyi , M4N7FBFzi , M4N7FBxi , M4N7FByi , M4N7FBzi , M4N7FDxi , M4N7FDyi , & - M4N7FDzi , M4N7FIxi , M4N7FIyi , M4N7FIzi , M4N7FMGxi , M4N7FMGyi , M4N7FMGzi , & - M4N7MAFxi , M4N7MAFyi , M4N7MAFzi , M4N7MAGxi , M4N7MAGyi , M4N7MAGzi , M4N7MBFxi , & - M4N7MBFyi , M4N7MBFzi , M4N7MBxi , M4N7MByi , M4N7MBzi , M4N7MMGxi , M4N7MMGyi , & - M4N7MMGzi , M4N7STAxi , M4N7STAyi , M4N7STAzi , M4N7STVxi , M4N7STVyi , M4N7STVzi , & - M4N7Vxi , M4N7Vyi , M4N7Vzi , M4N8Axi , M4N8Ayi , M4N8Azi , M4N8DynP , & - M4N8FAFxi , M4N8FAFyi , M4N8FAFzi , M4N8FAGxi , M4N8FAGyi , M4N8FAGzi , M4N8FAMxi , & - M4N8FAMyi , M4N8FAMzi , M4N8FBFxi , M4N8FBFyi , M4N8FBFzi , M4N8FBxi , M4N8FByi , & - M4N8FBzi , M4N8FDxi , M4N8FDyi , M4N8FDzi , M4N8FIxi , M4N8FIyi , M4N8FIzi , & - M4N8FMGxi , M4N8FMGyi , M4N8FMGzi , M4N8MAFxi , M4N8MAFyi , M4N8MAFzi , M4N8MAGxi , & + M4N2FIxi , M4N2FIyi , M4N2FIzi , M4N2FMGxi , M4N2FMGyi , M4N2FMGzi , M4N2FWExi , & + M4N2FWEyi , M4N2FWEzi , M4N2MAFxi , M4N2MAFyi , M4N2MAFzi , M4N2MAGxi , M4N2MAGyi , & + M4N2MAGzi , M4N2MBFxi , M4N2MBFyi , M4N2MBFzi , M4N2MBxi , M4N2MByi , M4N2MBzi , & + M4N2MMGxi , M4N2MMGyi , M4N2MMGzi , M4N2STAxi , M4N2STAyi , M4N2STAzi , M4N2STVxi , & + M4N2STVyi , M4N2STVzi , M4N2Vxi , M4N2Vyi , M4N2Vzi , M4N3Axi , M4N3Ayi , & + M4N3Azi , M4N3DynP , M4N3FAFxi , M4N3FAFyi , M4N3FAFzi , M4N3FAGxi , M4N3FAGyi , & + M4N3FAGzi , M4N3FAMxi , M4N3FAMyi , M4N3FAMzi , M4N3FBFxi , M4N3FBFyi , M4N3FBFzi , & + M4N3FBxi , M4N3FByi , M4N3FBzi , M4N3FDxi , M4N3FDyi , M4N3FDzi , M4N3FIxi , & + M4N3FIyi , M4N3FIzi , M4N3FMGxi , M4N3FMGyi , M4N3FMGzi , M4N3FWExi , M4N3FWEyi , & + M4N3FWEzi , M4N3MAFxi , M4N3MAFyi , M4N3MAFzi , M4N3MAGxi , M4N3MAGyi , M4N3MAGzi , & + M4N3MBFxi , M4N3MBFyi , M4N3MBFzi , M4N3MBxi , M4N3MByi , M4N3MBzi , M4N3MMGxi , & + M4N3MMGyi , M4N3MMGzi , M4N3STAxi , M4N3STAyi , M4N3STAzi , M4N3STVxi , M4N3STVyi , & + M4N3STVzi , M4N3Vxi , M4N3Vyi , M4N3Vzi , M4N4Axi , M4N4Ayi , M4N4Azi , & + M4N4DynP , M4N4FAFxi , M4N4FAFyi , M4N4FAFzi , M4N4FAGxi , M4N4FAGyi , M4N4FAGzi , & + M4N4FAMxi , M4N4FAMyi , M4N4FAMzi , M4N4FBFxi , M4N4FBFyi , M4N4FBFzi , M4N4FBxi , & + M4N4FByi , M4N4FBzi , M4N4FDxi , M4N4FDyi , M4N4FDzi , M4N4FIxi , M4N4FIyi , & + M4N4FIzi , M4N4FMGxi , M4N4FMGyi , M4N4FMGzi , M4N4FWExi , M4N4FWEyi , M4N4FWEzi , & + M4N4MAFxi , M4N4MAFyi , M4N4MAFzi , M4N4MAGxi , M4N4MAGyi , M4N4MAGzi , M4N4MBFxi , & + M4N4MBFyi , M4N4MBFzi , M4N4MBxi , M4N4MByi , M4N4MBzi , M4N4MMGxi , M4N4MMGyi , & + M4N4MMGzi , M4N4STAxi , M4N4STAyi , M4N4STAzi , M4N4STVxi , M4N4STVyi , M4N4STVzi , & + M4N4Vxi , M4N4Vyi , M4N4Vzi , M4N5Axi , M4N5Ayi , M4N5Azi , M4N5DynP , & + M4N5FAFxi , M4N5FAFyi , M4N5FAFzi , M4N5FAGxi , M4N5FAGyi , M4N5FAGzi , M4N5FAMxi , & + M4N5FAMyi , M4N5FAMzi , M4N5FBFxi , M4N5FBFyi , M4N5FBFzi , M4N5FBxi , M4N5FByi , & + M4N5FBzi , M4N5FDxi , M4N5FDyi , M4N5FDzi , M4N5FIxi , M4N5FIyi , M4N5FIzi , & + M4N5FMGxi , M4N5FMGyi , M4N5FMGzi , M4N5FWExi , M4N5FWEyi , M4N5FWEzi , M4N5MAFxi , & + M4N5MAFyi , M4N5MAFzi , M4N5MAGxi , M4N5MAGyi , M4N5MAGzi , M4N5MBFxi , M4N5MBFyi , & + M4N5MBFzi , M4N5MBxi , M4N5MByi , M4N5MBzi , M4N5MMGxi , M4N5MMGyi , M4N5MMGzi , & + M4N5STAxi , M4N5STAyi , M4N5STAzi , M4N5STVxi , M4N5STVyi , M4N5STVzi , M4N5Vxi , & + M4N5Vyi , M4N5Vzi , M4N6Axi , M4N6Ayi , M4N6Azi , M4N6DynP , M4N6FAFxi , & + M4N6FAFyi , M4N6FAFzi , M4N6FAGxi , M4N6FAGyi , M4N6FAGzi , M4N6FAMxi , M4N6FAMyi , & + M4N6FAMzi , M4N6FBFxi , M4N6FBFyi , M4N6FBFzi , M4N6FBxi , M4N6FByi , M4N6FBzi , & + M4N6FDxi , M4N6FDyi , M4N6FDzi , M4N6FIxi , M4N6FIyi , M4N6FIzi , M4N6FMGxi , & + M4N6FMGyi , M4N6FMGzi , M4N6FWExi , M4N6FWEyi , M4N6FWEzi , M4N6MAFxi , M4N6MAFyi , & + M4N6MAFzi , M4N6MAGxi , M4N6MAGyi , M4N6MAGzi , M4N6MBFxi , M4N6MBFyi , M4N6MBFzi , & + M4N6MBxi , M4N6MByi , M4N6MBzi , M4N6MMGxi , M4N6MMGyi , M4N6MMGzi , M4N6STAxi , & + M4N6STAyi , M4N6STAzi , M4N6STVxi , M4N6STVyi , M4N6STVzi , M4N6Vxi , M4N6Vyi , & + M4N6Vzi , M4N7Axi , M4N7Ayi , M4N7Azi , M4N7DynP , M4N7FAFxi , M4N7FAFyi , & + M4N7FAFzi , M4N7FAGxi , M4N7FAGyi , M4N7FAGzi , M4N7FAMxi , M4N7FAMyi , M4N7FAMzi , & + M4N7FBFxi , M4N7FBFyi , M4N7FBFzi , M4N7FBxi , M4N7FByi , M4N7FBzi , M4N7FDxi , & + M4N7FDyi , M4N7FDzi , M4N7FIxi , M4N7FIyi , M4N7FIzi , M4N7FMGxi , M4N7FMGyi , & + M4N7FMGzi , M4N7FWExi , M4N7FWEyi , M4N7FWEzi , M4N7MAFxi , M4N7MAFyi , M4N7MAFzi , & + M4N7MAGxi , M4N7MAGyi , M4N7MAGzi , M4N7MBFxi , M4N7MBFyi , M4N7MBFzi , M4N7MBxi , & + M4N7MByi , M4N7MBzi , M4N7MMGxi , M4N7MMGyi , M4N7MMGzi , M4N7STAxi , M4N7STAyi , & + M4N7STAzi , M4N7STVxi , M4N7STVyi , M4N7STVzi , M4N7Vxi , M4N7Vyi , M4N7Vzi , & + M4N8Axi , M4N8Ayi , M4N8Azi , M4N8DynP , M4N8FAFxi , M4N8FAFyi , M4N8FAFzi , & + M4N8FAGxi , M4N8FAGyi , M4N8FAGzi , M4N8FAMxi , M4N8FAMyi , M4N8FAMzi , M4N8FBFxi , & + M4N8FBFyi , M4N8FBFzi , M4N8FBxi , M4N8FByi , M4N8FBzi , M4N8FDxi , M4N8FDyi , & + M4N8FDzi , M4N8FIxi , M4N8FIyi , M4N8FIzi , M4N8FMGxi , M4N8FMGyi , M4N8FMGzi , & + M4N8FWExi , M4N8FWEyi , M4N8FWEzi , M4N8MAFxi , M4N8MAFyi , M4N8MAFzi , M4N8MAGxi , & M4N8MAGyi , M4N8MAGzi , M4N8MBFxi , M4N8MBFyi , M4N8MBFzi , M4N8MBxi , M4N8MByi , & M4N8MBzi , M4N8MMGxi , M4N8MMGyi , M4N8MMGzi , M4N8STAxi , M4N8STAyi , M4N8STAzi , & M4N8STVxi , M4N8STVyi , M4N8STVzi , M4N8Vxi , M4N8Vyi , M4N8Vzi , M4N9Axi , & M4N9Ayi , M4N9Azi , M4N9DynP , M4N9FAFxi , M4N9FAFyi , M4N9FAFzi , M4N9FAGxi , & M4N9FAGyi , M4N9FAGzi , M4N9FAMxi , M4N9FAMyi , M4N9FAMzi , M4N9FBFxi , M4N9FBFyi , & M4N9FBFzi , M4N9FBxi , M4N9FByi , M4N9FBzi , M4N9FDxi , M4N9FDyi , M4N9FDzi , & - M4N9FIxi , M4N9FIyi , M4N9FIzi , M4N9FMGxi , M4N9FMGyi , M4N9FMGzi , M4N9MAFxi , & - M4N9MAFyi , M4N9MAFzi , M4N9MAGxi , M4N9MAGyi , M4N9MAGzi , M4N9MBFxi , M4N9MBFyi , & - M4N9MBFzi , M4N9MBxi , M4N9MByi , M4N9MBzi , M4N9MMGxi , M4N9MMGyi , M4N9MMGzi , & - M4N9STAxi , M4N9STAyi , M4N9STAzi , M4N9STVxi , M4N9STVyi , M4N9STVzi , M4N9Vxi , & - M4N9Vyi , M4N9Vzi , M5N1Axi , M5N1Ayi , M5N1Azi , M5N1DynP , M5N1FAFxi , & - M5N1FAFyi , M5N1FAFzi , M5N1FAGxi , M5N1FAGyi , M5N1FAGzi , M5N1FAMxi , M5N1FAMyi , & - M5N1FAMzi , M5N1FBFxi , M5N1FBFyi , M5N1FBFzi , M5N1FBxi , M5N1FByi , M5N1FBzi , & - M5N1FDxi , M5N1FDyi , M5N1FDzi , M5N1FIxi , M5N1FIyi , M5N1FIzi , M5N1FMGxi , & - M5N1FMGyi , M5N1FMGzi , M5N1MAFxi , M5N1MAFyi , M5N1MAFzi , M5N1MAGxi , M5N1MAGyi , & - M5N1MAGzi , M5N1MBFxi , M5N1MBFyi , M5N1MBFzi , M5N1MBxi , M5N1MByi , M5N1MBzi , & - M5N1MMGxi , M5N1MMGyi , M5N1MMGzi , M5N1STAxi , M5N1STAyi , M5N1STAzi , M5N1STVxi , & - M5N1STVyi , M5N1STVzi , M5N1Vxi , M5N1Vyi , M5N1Vzi , M5N2Axi , M5N2Ayi , & - M5N2Azi , M5N2DynP , M5N2FAFxi , M5N2FAFyi , M5N2FAFzi , M5N2FAGxi , M5N2FAGyi , & - M5N2FAGzi , M5N2FAMxi , M5N2FAMyi , M5N2FAMzi , M5N2FBFxi , M5N2FBFyi , M5N2FBFzi , & - M5N2FBxi , M5N2FByi , M5N2FBzi , M5N2FDxi , M5N2FDyi , M5N2FDzi , M5N2FIxi , & - M5N2FIyi , M5N2FIzi , M5N2FMGxi , M5N2FMGyi , M5N2FMGzi , M5N2MAFxi , M5N2MAFyi , & - M5N2MAFzi , M5N2MAGxi , M5N2MAGyi , M5N2MAGzi , M5N2MBFxi , M5N2MBFyi , M5N2MBFzi , & - M5N2MBxi , M5N2MByi , M5N2MBzi , M5N2MMGxi , M5N2MMGyi , M5N2MMGzi , M5N2STAxi , & - M5N2STAyi , M5N2STAzi , M5N2STVxi , M5N2STVyi , M5N2STVzi , M5N2Vxi , M5N2Vyi , & - M5N2Vzi , M5N3Axi , M5N3Ayi , M5N3Azi , M5N3DynP , M5N3FAFxi , M5N3FAFyi , & - M5N3FAFzi , M5N3FAGxi , M5N3FAGyi , M5N3FAGzi , M5N3FAMxi , M5N3FAMyi , M5N3FAMzi , & - M5N3FBFxi , M5N3FBFyi , M5N3FBFzi , M5N3FBxi , M5N3FByi , M5N3FBzi , M5N3FDxi , & - M5N3FDyi , M5N3FDzi , M5N3FIxi , M5N3FIyi , M5N3FIzi , M5N3FMGxi , M5N3FMGyi , & - M5N3FMGzi , M5N3MAFxi , M5N3MAFyi , M5N3MAFzi , M5N3MAGxi , M5N3MAGyi , M5N3MAGzi , & - M5N3MBFxi , M5N3MBFyi , M5N3MBFzi , M5N3MBxi , M5N3MByi , M5N3MBzi , M5N3MMGxi , & - M5N3MMGyi , M5N3MMGzi , M5N3STAxi , M5N3STAyi , M5N3STAzi , M5N3STVxi , M5N3STVyi , & - M5N3STVzi , M5N3Vxi , M5N3Vyi , M5N3Vzi , M5N4Axi , M5N4Ayi , M5N4Azi , & - M5N4DynP , M5N4FAFxi , M5N4FAFyi , M5N4FAFzi , M5N4FAGxi , M5N4FAGyi , M5N4FAGzi , & - M5N4FAMxi , M5N4FAMyi , M5N4FAMzi , M5N4FBFxi , M5N4FBFyi , M5N4FBFzi , M5N4FBxi , & - M5N4FByi , M5N4FBzi , M5N4FDxi , M5N4FDyi , M5N4FDzi , M5N4FIxi , M5N4FIyi , & - M5N4FIzi , M5N4FMGxi , M5N4FMGyi , M5N4FMGzi , M5N4MAFxi , M5N4MAFyi , M5N4MAFzi , & - M5N4MAGxi , M5N4MAGyi , M5N4MAGzi , M5N4MBFxi , M5N4MBFyi , M5N4MBFzi , M5N4MBxi , & - M5N4MByi , M5N4MBzi , M5N4MMGxi , M5N4MMGyi , M5N4MMGzi , M5N4STAxi , M5N4STAyi , & - M5N4STAzi , M5N4STVxi , M5N4STVyi , M5N4STVzi , M5N4Vxi , M5N4Vyi , M5N4Vzi , & - M5N5Axi , M5N5Ayi , M5N5Azi , M5N5DynP , M5N5FAFxi , M5N5FAFyi , M5N5FAFzi , & - M5N5FAGxi , M5N5FAGyi , M5N5FAGzi , M5N5FAMxi , M5N5FAMyi , M5N5FAMzi , M5N5FBFxi , & - M5N5FBFyi , M5N5FBFzi , M5N5FBxi , M5N5FByi , M5N5FBzi , M5N5FDxi , M5N5FDyi , & - M5N5FDzi , M5N5FIxi , M5N5FIyi , M5N5FIzi , M5N5FMGxi , M5N5FMGyi , M5N5FMGzi , & - M5N5MAFxi , M5N5MAFyi , M5N5MAFzi , M5N5MAGxi , M5N5MAGyi , M5N5MAGzi , M5N5MBFxi , & - M5N5MBFyi , M5N5MBFzi , M5N5MBxi , M5N5MByi , M5N5MBzi , M5N5MMGxi , M5N5MMGyi , & - M5N5MMGzi , M5N5STAxi , M5N5STAyi , M5N5STAzi , M5N5STVxi , M5N5STVyi , M5N5STVzi , & - M5N5Vxi , M5N5Vyi , M5N5Vzi , M5N6Axi , M5N6Ayi , M5N6Azi , M5N6DynP , & - M5N6FAFxi , M5N6FAFyi , M5N6FAFzi , M5N6FAGxi , M5N6FAGyi , M5N6FAGzi , M5N6FAMxi , & - M5N6FAMyi , M5N6FAMzi , M5N6FBFxi , M5N6FBFyi , M5N6FBFzi , M5N6FBxi , M5N6FByi , & - M5N6FBzi , M5N6FDxi , M5N6FDyi , M5N6FDzi , M5N6FIxi , M5N6FIyi , M5N6FIzi , & - M5N6FMGxi , M5N6FMGyi , M5N6FMGzi , M5N6MAFxi , M5N6MAFyi , M5N6MAFzi , M5N6MAGxi , & + M4N9FIxi , M4N9FIyi , M4N9FIzi , M4N9FMGxi , M4N9FMGyi , M4N9FMGzi , M4N9FWExi , & + M4N9FWEyi , M4N9FWEzi , M4N9MAFxi , M4N9MAFyi , M4N9MAFzi , M4N9MAGxi , M4N9MAGyi , & + M4N9MAGzi , M4N9MBFxi , M4N9MBFyi , M4N9MBFzi , M4N9MBxi , M4N9MByi , M4N9MBzi , & + M4N9MMGxi , M4N9MMGyi , M4N9MMGzi , M4N9STAxi , M4N9STAyi , M4N9STAzi , M4N9STVxi , & + M4N9STVyi , M4N9STVzi , M4N9Vxi , M4N9Vyi , M4N9Vzi , M5N1Axi , M5N1Ayi , & + M5N1Azi , M5N1DynP , M5N1FAFxi , M5N1FAFyi , M5N1FAFzi , M5N1FAGxi , M5N1FAGyi , & + M5N1FAGzi , M5N1FAMxi , M5N1FAMyi , M5N1FAMzi , M5N1FBFxi , M5N1FBFyi , M5N1FBFzi , & + M5N1FBxi , M5N1FByi , M5N1FBzi , M5N1FDxi , M5N1FDyi , M5N1FDzi , M5N1FIxi , & + M5N1FIyi , M5N1FIzi , M5N1FMGxi , M5N1FMGyi , M5N1FMGzi , M5N1FWExi , M5N1FWEyi , & + M5N1FWEzi , M5N1MAFxi , M5N1MAFyi , M5N1MAFzi , M5N1MAGxi , M5N1MAGyi , M5N1MAGzi , & + M5N1MBFxi , M5N1MBFyi , M5N1MBFzi , M5N1MBxi , M5N1MByi , M5N1MBzi , M5N1MMGxi , & + M5N1MMGyi , M5N1MMGzi , M5N1STAxi , M5N1STAyi , M5N1STAzi , M5N1STVxi , M5N1STVyi , & + M5N1STVzi , M5N1Vxi , M5N1Vyi , M5N1Vzi , M5N2Axi , M5N2Ayi , M5N2Azi , & + M5N2DynP , M5N2FAFxi , M5N2FAFyi , M5N2FAFzi , M5N2FAGxi , M5N2FAGyi , M5N2FAGzi , & + M5N2FAMxi , M5N2FAMyi , M5N2FAMzi , M5N2FBFxi , M5N2FBFyi , M5N2FBFzi , M5N2FBxi , & + M5N2FByi , M5N2FBzi , M5N2FDxi , M5N2FDyi , M5N2FDzi , M5N2FIxi , M5N2FIyi , & + M5N2FIzi , M5N2FMGxi , M5N2FMGyi , M5N2FMGzi , M5N2FWExi , M5N2FWEyi , M5N2FWEzi , & + M5N2MAFxi , M5N2MAFyi , M5N2MAFzi , M5N2MAGxi , M5N2MAGyi , M5N2MAGzi , M5N2MBFxi , & + M5N2MBFyi , M5N2MBFzi , M5N2MBxi , M5N2MByi , M5N2MBzi , M5N2MMGxi , M5N2MMGyi , & + M5N2MMGzi , M5N2STAxi , M5N2STAyi , M5N2STAzi , M5N2STVxi , M5N2STVyi , M5N2STVzi , & + M5N2Vxi , M5N2Vyi , M5N2Vzi , M5N3Axi , M5N3Ayi , M5N3Azi , M5N3DynP , & + M5N3FAFxi , M5N3FAFyi , M5N3FAFzi , M5N3FAGxi , M5N3FAGyi , M5N3FAGzi , M5N3FAMxi , & + M5N3FAMyi , M5N3FAMzi , M5N3FBFxi , M5N3FBFyi , M5N3FBFzi , M5N3FBxi , M5N3FByi , & + M5N3FBzi , M5N3FDxi , M5N3FDyi , M5N3FDzi , M5N3FIxi , M5N3FIyi , M5N3FIzi , & + M5N3FMGxi , M5N3FMGyi , M5N3FMGzi , M5N3FWExi , M5N3FWEyi , M5N3FWEzi , M5N3MAFxi , & + M5N3MAFyi , M5N3MAFzi , M5N3MAGxi , M5N3MAGyi , M5N3MAGzi , M5N3MBFxi , M5N3MBFyi , & + M5N3MBFzi , M5N3MBxi , M5N3MByi , M5N3MBzi , M5N3MMGxi , M5N3MMGyi , M5N3MMGzi , & + M5N3STAxi , M5N3STAyi , M5N3STAzi , M5N3STVxi , M5N3STVyi , M5N3STVzi , M5N3Vxi , & + M5N3Vyi , M5N3Vzi , M5N4Axi , M5N4Ayi , M5N4Azi , M5N4DynP , M5N4FAFxi , & + M5N4FAFyi , M5N4FAFzi , M5N4FAGxi , M5N4FAGyi , M5N4FAGzi , M5N4FAMxi , M5N4FAMyi , & + M5N4FAMzi , M5N4FBFxi , M5N4FBFyi , M5N4FBFzi , M5N4FBxi , M5N4FByi , M5N4FBzi , & + M5N4FDxi , M5N4FDyi , M5N4FDzi , M5N4FIxi , M5N4FIyi , M5N4FIzi , M5N4FMGxi , & + M5N4FMGyi , M5N4FMGzi , M5N4FWExi , M5N4FWEyi , M5N4FWEzi , M5N4MAFxi , M5N4MAFyi , & + M5N4MAFzi , M5N4MAGxi , M5N4MAGyi , M5N4MAGzi , M5N4MBFxi , M5N4MBFyi , M5N4MBFzi , & + M5N4MBxi , M5N4MByi , M5N4MBzi , M5N4MMGxi , M5N4MMGyi , M5N4MMGzi , M5N4STAxi , & + M5N4STAyi , M5N4STAzi , M5N4STVxi , M5N4STVyi , M5N4STVzi , M5N4Vxi , M5N4Vyi , & + M5N4Vzi , M5N5Axi , M5N5Ayi , M5N5Azi , M5N5DynP , M5N5FAFxi , M5N5FAFyi , & + M5N5FAFzi , M5N5FAGxi , M5N5FAGyi , M5N5FAGzi , M5N5FAMxi , M5N5FAMyi , M5N5FAMzi , & + M5N5FBFxi , M5N5FBFyi , M5N5FBFzi , M5N5FBxi , M5N5FByi , M5N5FBzi , M5N5FDxi , & + M5N5FDyi , M5N5FDzi , M5N5FIxi , M5N5FIyi , M5N5FIzi , M5N5FMGxi , M5N5FMGyi , & + M5N5FMGzi , M5N5FWExi , M5N5FWEyi , M5N5FWEzi , M5N5MAFxi , M5N5MAFyi , M5N5MAFzi , & + M5N5MAGxi , M5N5MAGyi , M5N5MAGzi , M5N5MBFxi , M5N5MBFyi , M5N5MBFzi , M5N5MBxi , & + M5N5MByi , M5N5MBzi , M5N5MMGxi , M5N5MMGyi , M5N5MMGzi , M5N5STAxi , M5N5STAyi , & + M5N5STAzi , M5N5STVxi , M5N5STVyi , M5N5STVzi , M5N5Vxi , M5N5Vyi , M5N5Vzi , & + M5N6Axi , M5N6Ayi , M5N6Azi , M5N6DynP , M5N6FAFxi , M5N6FAFyi , M5N6FAFzi , & + M5N6FAGxi , M5N6FAGyi , M5N6FAGzi , M5N6FAMxi , M5N6FAMyi , M5N6FAMzi , M5N6FBFxi , & + M5N6FBFyi , M5N6FBFzi , M5N6FBxi , M5N6FByi , M5N6FBzi , M5N6FDxi , M5N6FDyi , & + M5N6FDzi , M5N6FIxi , M5N6FIyi , M5N6FIzi , M5N6FMGxi , M5N6FMGyi , M5N6FMGzi , & + M5N6FWExi , M5N6FWEyi , M5N6FWEzi , M5N6MAFxi , M5N6MAFyi , M5N6MAFzi , M5N6MAGxi , & M5N6MAGyi , M5N6MAGzi , M5N6MBFxi , M5N6MBFyi , M5N6MBFzi , M5N6MBxi , M5N6MByi , & M5N6MBzi , M5N6MMGxi , M5N6MMGyi , M5N6MMGzi , M5N6STAxi , M5N6STAyi , M5N6STAzi , & M5N6STVxi , M5N6STVyi , M5N6STVzi , M5N6Vxi , M5N6Vyi , M5N6Vzi , M5N7Axi , & M5N7Ayi , M5N7Azi , M5N7DynP , M5N7FAFxi , M5N7FAFyi , M5N7FAFzi , M5N7FAGxi , & M5N7FAGyi , M5N7FAGzi , M5N7FAMxi , M5N7FAMyi , M5N7FAMzi , M5N7FBFxi , M5N7FBFyi , & M5N7FBFzi , M5N7FBxi , M5N7FByi , M5N7FBzi , M5N7FDxi , M5N7FDyi , M5N7FDzi , & - M5N7FIxi , M5N7FIyi , M5N7FIzi , M5N7FMGxi , M5N7FMGyi , M5N7FMGzi , M5N7MAFxi , & - M5N7MAFyi , M5N7MAFzi , M5N7MAGxi , M5N7MAGyi , M5N7MAGzi , M5N7MBFxi , M5N7MBFyi , & - M5N7MBFzi , M5N7MBxi , M5N7MByi , M5N7MBzi , M5N7MMGxi , M5N7MMGyi , M5N7MMGzi , & - M5N7STAxi , M5N7STAyi , M5N7STAzi , M5N7STVxi , M5N7STVyi , M5N7STVzi , M5N7Vxi , & - M5N7Vyi , M5N7Vzi , M5N8Axi , M5N8Ayi , M5N8Azi , M5N8DynP , M5N8FAFxi , & - M5N8FAFyi , M5N8FAFzi , M5N8FAGxi , M5N8FAGyi , M5N8FAGzi , M5N8FAMxi , M5N8FAMyi , & - M5N8FAMzi , M5N8FBFxi , M5N8FBFyi , M5N8FBFzi , M5N8FBxi , M5N8FByi , M5N8FBzi , & - M5N8FDxi , M5N8FDyi , M5N8FDzi , M5N8FIxi , M5N8FIyi , M5N8FIzi , M5N8FMGxi , & - M5N8FMGyi , M5N8FMGzi , M5N8MAFxi , M5N8MAFyi , M5N8MAFzi , M5N8MAGxi , M5N8MAGyi , & - M5N8MAGzi , M5N8MBFxi , M5N8MBFyi , M5N8MBFzi , M5N8MBxi , M5N8MByi , M5N8MBzi , & - M5N8MMGxi , M5N8MMGyi , M5N8MMGzi , M5N8STAxi , M5N8STAyi , M5N8STAzi , M5N8STVxi , & - M5N8STVyi , M5N8STVzi , M5N8Vxi , M5N8Vyi , M5N8Vzi , M5N9Axi , M5N9Ayi , & - M5N9Azi , M5N9DynP , M5N9FAFxi , M5N9FAFyi , M5N9FAFzi , M5N9FAGxi , M5N9FAGyi , & - M5N9FAGzi , M5N9FAMxi , M5N9FAMyi , M5N9FAMzi , M5N9FBFxi , M5N9FBFyi , M5N9FBFzi , & - M5N9FBxi , M5N9FByi , M5N9FBzi , M5N9FDxi , M5N9FDyi , M5N9FDzi , M5N9FIxi , & - M5N9FIyi , M5N9FIzi , M5N9FMGxi , M5N9FMGyi , M5N9FMGzi , M5N9MAFxi , M5N9MAFyi , & - M5N9MAFzi , M5N9MAGxi , M5N9MAGyi , M5N9MAGzi , M5N9MBFxi , M5N9MBFyi , M5N9MBFzi , & - M5N9MBxi , M5N9MByi , M5N9MBzi , M5N9MMGxi , M5N9MMGyi , M5N9MMGzi , M5N9STAxi , & - M5N9STAyi , M5N9STAzi , M5N9STVxi , M5N9STVyi , M5N9STVzi , M5N9Vxi , M5N9Vyi , & - M5N9Vzi , M6N1Axi , M6N1Ayi , M6N1Azi , M6N1DynP , M6N1FAFxi , M6N1FAFyi , & - M6N1FAFzi , M6N1FAGxi , M6N1FAGyi , M6N1FAGzi , M6N1FAMxi , M6N1FAMyi , M6N1FAMzi , & - M6N1FBFxi , M6N1FBFyi , M6N1FBFzi , M6N1FBxi , M6N1FByi , M6N1FBzi , M6N1FDxi , & - M6N1FDyi , M6N1FDzi , M6N1FIxi , M6N1FIyi , M6N1FIzi , M6N1FMGxi , M6N1FMGyi , & - M6N1FMGzi , M6N1MAFxi , M6N1MAFyi , M6N1MAFzi , M6N1MAGxi , M6N1MAGyi , M6N1MAGzi , & - M6N1MBFxi , M6N1MBFyi , M6N1MBFzi , M6N1MBxi , M6N1MByi , M6N1MBzi , M6N1MMGxi , & - M6N1MMGyi , M6N1MMGzi , M6N1STAxi , M6N1STAyi , M6N1STAzi , M6N1STVxi , M6N1STVyi , & - M6N1STVzi , M6N1Vxi , M6N1Vyi , M6N1Vzi , M6N2Axi , M6N2Ayi , M6N2Azi , & - M6N2DynP , M6N2FAFxi , M6N2FAFyi , M6N2FAFzi , M6N2FAGxi , M6N2FAGyi , M6N2FAGzi , & - M6N2FAMxi , M6N2FAMyi , M6N2FAMzi , M6N2FBFxi , M6N2FBFyi , M6N2FBFzi , M6N2FBxi , & - M6N2FByi , M6N2FBzi , M6N2FDxi , M6N2FDyi , M6N2FDzi , M6N2FIxi , M6N2FIyi , & - M6N2FIzi , M6N2FMGxi , M6N2FMGyi , M6N2FMGzi , M6N2MAFxi , M6N2MAFyi , M6N2MAFzi , & - M6N2MAGxi , M6N2MAGyi , M6N2MAGzi , M6N2MBFxi , M6N2MBFyi , M6N2MBFzi , M6N2MBxi , & - M6N2MByi , M6N2MBzi , M6N2MMGxi , M6N2MMGyi , M6N2MMGzi , M6N2STAxi , M6N2STAyi , & - M6N2STAzi , M6N2STVxi , M6N2STVyi , M6N2STVzi , M6N2Vxi , M6N2Vyi , M6N2Vzi , & - M6N3Axi , M6N3Ayi , M6N3Azi , M6N3DynP , M6N3FAFxi , M6N3FAFyi , M6N3FAFzi , & - M6N3FAGxi , M6N3FAGyi , M6N3FAGzi , M6N3FAMxi , M6N3FAMyi , M6N3FAMzi , M6N3FBFxi , & - M6N3FBFyi , M6N3FBFzi , M6N3FBxi , M6N3FByi , M6N3FBzi , M6N3FDxi , M6N3FDyi , & - M6N3FDzi , M6N3FIxi , M6N3FIyi , M6N3FIzi , M6N3FMGxi , M6N3FMGyi , M6N3FMGzi , & - M6N3MAFxi , M6N3MAFyi , M6N3MAFzi , M6N3MAGxi , M6N3MAGyi , M6N3MAGzi , M6N3MBFxi , & - M6N3MBFyi , M6N3MBFzi , M6N3MBxi , M6N3MByi , M6N3MBzi , M6N3MMGxi , M6N3MMGyi , & - M6N3MMGzi , M6N3STAxi , M6N3STAyi , M6N3STAzi , M6N3STVxi , M6N3STVyi , M6N3STVzi , & - M6N3Vxi , M6N3Vyi , M6N3Vzi , M6N4Axi , M6N4Ayi , M6N4Azi , M6N4DynP , & - M6N4FAFxi , M6N4FAFyi , M6N4FAFzi , M6N4FAGxi , M6N4FAGyi , M6N4FAGzi , M6N4FAMxi , & - M6N4FAMyi , M6N4FAMzi , M6N4FBFxi , M6N4FBFyi , M6N4FBFzi , M6N4FBxi , M6N4FByi , & - M6N4FBzi , M6N4FDxi , M6N4FDyi , M6N4FDzi , M6N4FIxi , M6N4FIyi , M6N4FIzi , & - M6N4FMGxi , M6N4FMGyi , M6N4FMGzi , M6N4MAFxi , M6N4MAFyi , M6N4MAFzi , M6N4MAGxi , & + M5N7FIxi , M5N7FIyi , M5N7FIzi , M5N7FMGxi , M5N7FMGyi , M5N7FMGzi , M5N7FWExi , & + M5N7FWEyi , M5N7FWEzi , M5N7MAFxi , M5N7MAFyi , M5N7MAFzi , M5N7MAGxi , M5N7MAGyi , & + M5N7MAGzi , M5N7MBFxi , M5N7MBFyi , M5N7MBFzi , M5N7MBxi , M5N7MByi , M5N7MBzi , & + M5N7MMGxi , M5N7MMGyi , M5N7MMGzi , M5N7STAxi , M5N7STAyi , M5N7STAzi , M5N7STVxi , & + M5N7STVyi , M5N7STVzi , M5N7Vxi , M5N7Vyi , M5N7Vzi , M5N8Axi , M5N8Ayi , & + M5N8Azi , M5N8DynP , M5N8FAFxi , M5N8FAFyi , M5N8FAFzi , M5N8FAGxi , M5N8FAGyi , & + M5N8FAGzi , M5N8FAMxi , M5N8FAMyi , M5N8FAMzi , M5N8FBFxi , M5N8FBFyi , M5N8FBFzi , & + M5N8FBxi , M5N8FByi , M5N8FBzi , M5N8FDxi , M5N8FDyi , M5N8FDzi , M5N8FIxi , & + M5N8FIyi , M5N8FIzi , M5N8FMGxi , M5N8FMGyi , M5N8FMGzi , M5N8FWExi , M5N8FWEyi , & + M5N8FWEzi , M5N8MAFxi , M5N8MAFyi , M5N8MAFzi , M5N8MAGxi , M5N8MAGyi , M5N8MAGzi , & + M5N8MBFxi , M5N8MBFyi , M5N8MBFzi , M5N8MBxi , M5N8MByi , M5N8MBzi , M5N8MMGxi , & + M5N8MMGyi , M5N8MMGzi , M5N8STAxi , M5N8STAyi , M5N8STAzi , M5N8STVxi , M5N8STVyi , & + M5N8STVzi , M5N8Vxi , M5N8Vyi , M5N8Vzi , M5N9Axi , M5N9Ayi , M5N9Azi , & + M5N9DynP , M5N9FAFxi , M5N9FAFyi , M5N9FAFzi , M5N9FAGxi , M5N9FAGyi , M5N9FAGzi , & + M5N9FAMxi , M5N9FAMyi , M5N9FAMzi , M5N9FBFxi , M5N9FBFyi , M5N9FBFzi , M5N9FBxi , & + M5N9FByi , M5N9FBzi , M5N9FDxi , M5N9FDyi , M5N9FDzi , M5N9FIxi , M5N9FIyi , & + M5N9FIzi , M5N9FMGxi , M5N9FMGyi , M5N9FMGzi , M5N9FWExi , M5N9FWEyi , M5N9FWEzi , & + M5N9MAFxi , M5N9MAFyi , M5N9MAFzi , M5N9MAGxi , M5N9MAGyi , M5N9MAGzi , M5N9MBFxi , & + M5N9MBFyi , M5N9MBFzi , M5N9MBxi , M5N9MByi , M5N9MBzi , M5N9MMGxi , M5N9MMGyi , & + M5N9MMGzi , M5N9STAxi , M5N9STAyi , M5N9STAzi , M5N9STVxi , M5N9STVyi , M5N9STVzi , & + M5N9Vxi , M5N9Vyi , M5N9Vzi , M6N1Axi , M6N1Ayi , M6N1Azi , M6N1DynP , & + M6N1FAFxi , M6N1FAFyi , M6N1FAFzi , M6N1FAGxi , M6N1FAGyi , M6N1FAGzi , M6N1FAMxi , & + M6N1FAMyi , M6N1FAMzi , M6N1FBFxi , M6N1FBFyi , M6N1FBFzi , M6N1FBxi , M6N1FByi , & + M6N1FBzi , M6N1FDxi , M6N1FDyi , M6N1FDzi , M6N1FIxi , M6N1FIyi , M6N1FIzi , & + M6N1FMGxi , M6N1FMGyi , M6N1FMGzi , M6N1FWExi , M6N1FWEyi , M6N1FWEzi , M6N1MAFxi , & + M6N1MAFyi , M6N1MAFzi , M6N1MAGxi , M6N1MAGyi , M6N1MAGzi , M6N1MBFxi , M6N1MBFyi , & + M6N1MBFzi , M6N1MBxi , M6N1MByi , M6N1MBzi , M6N1MMGxi , M6N1MMGyi , M6N1MMGzi , & + M6N1STAxi , M6N1STAyi , M6N1STAzi , M6N1STVxi , M6N1STVyi , M6N1STVzi , M6N1Vxi , & + M6N1Vyi , M6N1Vzi , M6N2Axi , M6N2Ayi , M6N2Azi , M6N2DynP , M6N2FAFxi , & + M6N2FAFyi , M6N2FAFzi , M6N2FAGxi , M6N2FAGyi , M6N2FAGzi , M6N2FAMxi , M6N2FAMyi , & + M6N2FAMzi , M6N2FBFxi , M6N2FBFyi , M6N2FBFzi , M6N2FBxi , M6N2FByi , M6N2FBzi , & + M6N2FDxi , M6N2FDyi , M6N2FDzi , M6N2FIxi , M6N2FIyi , M6N2FIzi , M6N2FMGxi , & + M6N2FMGyi , M6N2FMGzi , M6N2FWExi , M6N2FWEyi , M6N2FWEzi , M6N2MAFxi , M6N2MAFyi , & + M6N2MAFzi , M6N2MAGxi , M6N2MAGyi , M6N2MAGzi , M6N2MBFxi , M6N2MBFyi , M6N2MBFzi , & + M6N2MBxi , M6N2MByi , M6N2MBzi , M6N2MMGxi , M6N2MMGyi , M6N2MMGzi , M6N2STAxi , & + M6N2STAyi , M6N2STAzi , M6N2STVxi , M6N2STVyi , M6N2STVzi , M6N2Vxi , M6N2Vyi , & + M6N2Vzi , M6N3Axi , M6N3Ayi , M6N3Azi , M6N3DynP , M6N3FAFxi , M6N3FAFyi , & + M6N3FAFzi , M6N3FAGxi , M6N3FAGyi , M6N3FAGzi , M6N3FAMxi , M6N3FAMyi , M6N3FAMzi , & + M6N3FBFxi , M6N3FBFyi , M6N3FBFzi , M6N3FBxi , M6N3FByi , M6N3FBzi , M6N3FDxi , & + M6N3FDyi , M6N3FDzi , M6N3FIxi , M6N3FIyi , M6N3FIzi , M6N3FMGxi , M6N3FMGyi , & + M6N3FMGzi , M6N3FWExi , M6N3FWEyi , M6N3FWEzi , M6N3MAFxi , M6N3MAFyi , M6N3MAFzi , & + M6N3MAGxi , M6N3MAGyi , M6N3MAGzi , M6N3MBFxi , M6N3MBFyi , M6N3MBFzi , M6N3MBxi , & + M6N3MByi , M6N3MBzi , M6N3MMGxi , M6N3MMGyi , M6N3MMGzi , M6N3STAxi , M6N3STAyi , & + M6N3STAzi , M6N3STVxi , M6N3STVyi , M6N3STVzi , M6N3Vxi , M6N3Vyi , M6N3Vzi , & + M6N4Axi , M6N4Ayi , M6N4Azi , M6N4DynP , M6N4FAFxi , M6N4FAFyi , M6N4FAFzi , & + M6N4FAGxi , M6N4FAGyi , M6N4FAGzi , M6N4FAMxi , M6N4FAMyi , M6N4FAMzi , M6N4FBFxi , & + M6N4FBFyi , M6N4FBFzi , M6N4FBxi , M6N4FByi , M6N4FBzi , M6N4FDxi , M6N4FDyi , & + M6N4FDzi , M6N4FIxi , M6N4FIyi , M6N4FIzi , M6N4FMGxi , M6N4FMGyi , M6N4FMGzi , & + M6N4FWExi , M6N4FWEyi , M6N4FWEzi , M6N4MAFxi , M6N4MAFyi , M6N4MAFzi , M6N4MAGxi , & M6N4MAGyi , M6N4MAGzi , M6N4MBFxi , M6N4MBFyi , M6N4MBFzi , M6N4MBxi , M6N4MByi , & M6N4MBzi , M6N4MMGxi , M6N4MMGyi , M6N4MMGzi , M6N4STAxi , M6N4STAyi , M6N4STAzi , & M6N4STVxi , M6N4STVyi , M6N4STVzi , M6N4Vxi , M6N4Vyi , M6N4Vzi , M6N5Axi , & M6N5Ayi , M6N5Azi , M6N5DynP , M6N5FAFxi , M6N5FAFyi , M6N5FAFzi , M6N5FAGxi , & M6N5FAGyi , M6N5FAGzi , M6N5FAMxi , M6N5FAMyi , M6N5FAMzi , M6N5FBFxi , M6N5FBFyi , & M6N5FBFzi , M6N5FBxi , M6N5FByi , M6N5FBzi , M6N5FDxi , M6N5FDyi , M6N5FDzi , & - M6N5FIxi , M6N5FIyi , M6N5FIzi , M6N5FMGxi , M6N5FMGyi , M6N5FMGzi , M6N5MAFxi , & - M6N5MAFyi , M6N5MAFzi , M6N5MAGxi , M6N5MAGyi , M6N5MAGzi , M6N5MBFxi , M6N5MBFyi , & - M6N5MBFzi , M6N5MBxi , M6N5MByi , M6N5MBzi , M6N5MMGxi , M6N5MMGyi , M6N5MMGzi , & - M6N5STAxi , M6N5STAyi , M6N5STAzi , M6N5STVxi , M6N5STVyi , M6N5STVzi , M6N5Vxi , & - M6N5Vyi , M6N5Vzi , M6N6Axi , M6N6Ayi , M6N6Azi , M6N6DynP , M6N6FAFxi , & - M6N6FAFyi , M6N6FAFzi , M6N6FAGxi , M6N6FAGyi , M6N6FAGzi , M6N6FAMxi , M6N6FAMyi , & - M6N6FAMzi , M6N6FBFxi , M6N6FBFyi , M6N6FBFzi , M6N6FBxi , M6N6FByi , M6N6FBzi , & - M6N6FDxi , M6N6FDyi , M6N6FDzi , M6N6FIxi , M6N6FIyi , M6N6FIzi , M6N6FMGxi , & - M6N6FMGyi , M6N6FMGzi , M6N6MAFxi , M6N6MAFyi , M6N6MAFzi , M6N6MAGxi , M6N6MAGyi , & - M6N6MAGzi , M6N6MBFxi , M6N6MBFyi , M6N6MBFzi , M6N6MBxi , M6N6MByi , M6N6MBzi , & - M6N6MMGxi , M6N6MMGyi , M6N6MMGzi , M6N6STAxi , M6N6STAyi , M6N6STAzi , M6N6STVxi , & - M6N6STVyi , M6N6STVzi , M6N6Vxi , M6N6Vyi , M6N6Vzi , M6N7Axi , M6N7Ayi , & - M6N7Azi , M6N7DynP , M6N7FAFxi , M6N7FAFyi , M6N7FAFzi , M6N7FAGxi , M6N7FAGyi , & - M6N7FAGzi , M6N7FAMxi , M6N7FAMyi , M6N7FAMzi , M6N7FBFxi , M6N7FBFyi , M6N7FBFzi , & - M6N7FBxi , M6N7FByi /) - INTEGER(IntKi), PARAMETER :: ParamIndxAry3(1542) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + M6N5FIxi , M6N5FIyi , M6N5FIzi , M6N5FMGxi , M6N5FMGyi , M6N5FMGzi , M6N5FWExi , & + M6N5FWEyi , M6N5FWEzi , M6N5MAFxi , M6N5MAFyi , M6N5MAFzi , M6N5MAGxi , M6N5MAGyi , & + M6N5MAGzi , M6N5MBFxi , M6N5MBFyi , M6N5MBFzi , M6N5MBxi , M6N5MByi , M6N5MBzi , & + M6N5MMGxi , M6N5MMGyi , M6N5MMGzi , M6N5STAxi , M6N5STAyi , M6N5STAzi , M6N5STVxi , & + M6N5STVyi , M6N5STVzi , M6N5Vxi , M6N5Vyi , M6N5Vzi , M6N6Axi , M6N6Ayi , & + M6N6Azi , M6N6DynP , M6N6FAFxi , M6N6FAFyi , M6N6FAFzi , M6N6FAGxi , M6N6FAGyi , & + M6N6FAGzi , M6N6FAMxi , M6N6FAMyi , M6N6FAMzi , M6N6FBFxi , M6N6FBFyi , M6N6FBFzi , & + M6N6FBxi , M6N6FByi , M6N6FBzi , M6N6FDxi , M6N6FDyi , M6N6FDzi , M6N6FIxi , & + M6N6FIyi , M6N6FIzi , M6N6FMGxi , M6N6FMGyi , M6N6FMGzi , M6N6FWExi , M6N6FWEyi , & + M6N6FWEzi , M6N6MAFxi , M6N6MAFyi , M6N6MAFzi , M6N6MAGxi , M6N6MAGyi , M6N6MAGzi , & + M6N6MBFxi , M6N6MBFyi , M6N6MBFzi , M6N6MBxi , M6N6MByi , M6N6MBzi , M6N6MMGxi , & + M6N6MMGyi , M6N6MMGzi , M6N6STAxi , M6N6STAyi , M6N6STAzi , M6N6STVxi , M6N6STVyi , & + M6N6STVzi , M6N6Vxi , M6N6Vyi , M6N6Vzi , M6N7Axi , M6N7Ayi , M6N7Azi , & + M6N7DynP , M6N7FAFxi , M6N7FAFyi , M6N7FAFzi , M6N7FAGxi , M6N7FAGyi , M6N7FAGzi , & + M6N7FAMxi , M6N7FAMyi , M6N7FAMzi , M6N7FBFxi , M6N7FBFyi , M6N7FBFzi , M6N7FBxi , & + M6N7FByi /) + INTEGER(IntKi), PARAMETER :: ParamIndxAry3(1632) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) M6N7FBzi , M6N7FDxi , M6N7FDyi , M6N7FDzi , M6N7FIxi , M6N7FIyi , M6N7FIzi , & - M6N7FMGxi , M6N7FMGyi , M6N7FMGzi , M6N7MAFxi , M6N7MAFyi , M6N7MAFzi , M6N7MAGxi , & - M6N7MAGyi , M6N7MAGzi , M6N7MBFxi , M6N7MBFyi , M6N7MBFzi , M6N7MBxi , M6N7MByi , & - M6N7MBzi , M6N7MMGxi , M6N7MMGyi , M6N7MMGzi , M6N7STAxi , M6N7STAyi , M6N7STAzi , & - M6N7STVxi , M6N7STVyi , M6N7STVzi , M6N7Vxi , M6N7Vyi , M6N7Vzi , M6N8Axi , & - M6N8Ayi , M6N8Azi , M6N8DynP , M6N8FAFxi , M6N8FAFyi , M6N8FAFzi , M6N8FAGxi , & - M6N8FAGyi , M6N8FAGzi , M6N8FAMxi , M6N8FAMyi , M6N8FAMzi , M6N8FBFxi , M6N8FBFyi , & - M6N8FBFzi , M6N8FBxi , M6N8FByi , M6N8FBzi , M6N8FDxi , M6N8FDyi , M6N8FDzi , & - M6N8FIxi , M6N8FIyi , M6N8FIzi , M6N8FMGxi , M6N8FMGyi , M6N8FMGzi , M6N8MAFxi , & - M6N8MAFyi , M6N8MAFzi , M6N8MAGxi , M6N8MAGyi , M6N8MAGzi , M6N8MBFxi , M6N8MBFyi , & - M6N8MBFzi , M6N8MBxi , M6N8MByi , M6N8MBzi , M6N8MMGxi , M6N8MMGyi , M6N8MMGzi , & - M6N8STAxi , M6N8STAyi , M6N8STAzi , M6N8STVxi , M6N8STVyi , M6N8STVzi , M6N8Vxi , & - M6N8Vyi , M6N8Vzi , M6N9Axi , M6N9Ayi , M6N9Azi , M6N9DynP , M6N9FAFxi , & - M6N9FAFyi , M6N9FAFzi , M6N9FAGxi , M6N9FAGyi , M6N9FAGzi , M6N9FAMxi , M6N9FAMyi , & - M6N9FAMzi , M6N9FBFxi , M6N9FBFyi , M6N9FBFzi , M6N9FBxi , M6N9FByi , M6N9FBzi , & - M6N9FDxi , M6N9FDyi , M6N9FDzi , M6N9FIxi , M6N9FIyi , M6N9FIzi , M6N9FMGxi , & - M6N9FMGyi , M6N9FMGzi , M6N9MAFxi , M6N9MAFyi , M6N9MAFzi , M6N9MAGxi , M6N9MAGyi , & - M6N9MAGzi , M6N9MBFxi , M6N9MBFyi , M6N9MBFzi , M6N9MBxi , M6N9MByi , M6N9MBzi , & - M6N9MMGxi , M6N9MMGyi , M6N9MMGzi , M6N9STAxi , M6N9STAyi , M6N9STAzi , M6N9STVxi , & - M6N9STVyi , M6N9STVzi , M6N9Vxi , M6N9Vyi , M6N9Vzi , M7N1Axi , M7N1Ayi , & - M7N1Azi , M7N1DynP , M7N1FAFxi , M7N1FAFyi , M7N1FAFzi , M7N1FAGxi , M7N1FAGyi , & - M7N1FAGzi , M7N1FAMxi , M7N1FAMyi , M7N1FAMzi , M7N1FBFxi , M7N1FBFyi , M7N1FBFzi , & - M7N1FBxi , M7N1FByi , M7N1FBzi , M7N1FDxi , M7N1FDyi , M7N1FDzi , M7N1FIxi , & - M7N1FIyi , M7N1FIzi , M7N1FMGxi , M7N1FMGyi , M7N1FMGzi , M7N1MAFxi , M7N1MAFyi , & - M7N1MAFzi , M7N1MAGxi , M7N1MAGyi , M7N1MAGzi , M7N1MBFxi , M7N1MBFyi , M7N1MBFzi , & - M7N1MBxi , M7N1MByi , M7N1MBzi , M7N1MMGxi , M7N1MMGyi , M7N1MMGzi , M7N1STAxi , & - M7N1STAyi , M7N1STAzi , M7N1STVxi , M7N1STVyi , M7N1STVzi , M7N1Vxi , M7N1Vyi , & - M7N1Vzi , M7N2Axi , M7N2Ayi , M7N2Azi , M7N2DynP , M7N2FAFxi , M7N2FAFyi , & - M7N2FAFzi , M7N2FAGxi , M7N2FAGyi , M7N2FAGzi , M7N2FAMxi , M7N2FAMyi , M7N2FAMzi , & - M7N2FBFxi , M7N2FBFyi , M7N2FBFzi , M7N2FBxi , M7N2FByi , M7N2FBzi , M7N2FDxi , & - M7N2FDyi , M7N2FDzi , M7N2FIxi , M7N2FIyi , M7N2FIzi , M7N2FMGxi , M7N2FMGyi , & - M7N2FMGzi , M7N2MAFxi , M7N2MAFyi , M7N2MAFzi , M7N2MAGxi , M7N2MAGyi , M7N2MAGzi , & - M7N2MBFxi , M7N2MBFyi , M7N2MBFzi , M7N2MBxi , M7N2MByi , M7N2MBzi , M7N2MMGxi , & - M7N2MMGyi , M7N2MMGzi , M7N2STAxi , M7N2STAyi , M7N2STAzi , M7N2STVxi , M7N2STVyi , & - M7N2STVzi , M7N2Vxi , M7N2Vyi , M7N2Vzi , M7N3Axi , M7N3Ayi , M7N3Azi , & - M7N3DynP , M7N3FAFxi , M7N3FAFyi , M7N3FAFzi , M7N3FAGxi , M7N3FAGyi , M7N3FAGzi , & - M7N3FAMxi , M7N3FAMyi , M7N3FAMzi , M7N3FBFxi , M7N3FBFyi , M7N3FBFzi , M7N3FBxi , & - M7N3FByi , M7N3FBzi , M7N3FDxi , M7N3FDyi , M7N3FDzi , M7N3FIxi , M7N3FIyi , & - M7N3FIzi , M7N3FMGxi , M7N3FMGyi , M7N3FMGzi , M7N3MAFxi , M7N3MAFyi , M7N3MAFzi , & - M7N3MAGxi , M7N3MAGyi , M7N3MAGzi , M7N3MBFxi , M7N3MBFyi , M7N3MBFzi , M7N3MBxi , & - M7N3MByi , M7N3MBzi , M7N3MMGxi , M7N3MMGyi , M7N3MMGzi , M7N3STAxi , M7N3STAyi , & - M7N3STAzi , M7N3STVxi , M7N3STVyi , M7N3STVzi , M7N3Vxi , M7N3Vyi , M7N3Vzi , & - M7N4Axi , M7N4Ayi , M7N4Azi , M7N4DynP , M7N4FAFxi , M7N4FAFyi , M7N4FAFzi , & - M7N4FAGxi , M7N4FAGyi , M7N4FAGzi , M7N4FAMxi , M7N4FAMyi , M7N4FAMzi , M7N4FBFxi , & - M7N4FBFyi , M7N4FBFzi , M7N4FBxi , M7N4FByi , M7N4FBzi , M7N4FDxi , M7N4FDyi , & - M7N4FDzi , M7N4FIxi , M7N4FIyi , M7N4FIzi , M7N4FMGxi , M7N4FMGyi , M7N4FMGzi , & + M6N7FMGxi , M6N7FMGyi , M6N7FMGzi , M6N7FWExi , M6N7FWEyi , M6N7FWEzi , M6N7MAFxi , & + M6N7MAFyi , M6N7MAFzi , M6N7MAGxi , M6N7MAGyi , M6N7MAGzi , M6N7MBFxi , M6N7MBFyi , & + M6N7MBFzi , M6N7MBxi , M6N7MByi , M6N7MBzi , M6N7MMGxi , M6N7MMGyi , M6N7MMGzi , & + M6N7STAxi , M6N7STAyi , M6N7STAzi , M6N7STVxi , M6N7STVyi , M6N7STVzi , M6N7Vxi , & + M6N7Vyi , M6N7Vzi , M6N8Axi , M6N8Ayi , M6N8Azi , M6N8DynP , M6N8FAFxi , & + M6N8FAFyi , M6N8FAFzi , M6N8FAGxi , M6N8FAGyi , M6N8FAGzi , M6N8FAMxi , M6N8FAMyi , & + M6N8FAMzi , M6N8FBFxi , M6N8FBFyi , M6N8FBFzi , M6N8FBxi , M6N8FByi , M6N8FBzi , & + M6N8FDxi , M6N8FDyi , M6N8FDzi , M6N8FIxi , M6N8FIyi , M6N8FIzi , M6N8FMGxi , & + M6N8FMGyi , M6N8FMGzi , M6N8FWExi , M6N8FWEyi , M6N8FWEzi , M6N8MAFxi , M6N8MAFyi , & + M6N8MAFzi , M6N8MAGxi , M6N8MAGyi , M6N8MAGzi , M6N8MBFxi , M6N8MBFyi , M6N8MBFzi , & + M6N8MBxi , M6N8MByi , M6N8MBzi , M6N8MMGxi , M6N8MMGyi , M6N8MMGzi , M6N8STAxi , & + M6N8STAyi , M6N8STAzi , M6N8STVxi , M6N8STVyi , M6N8STVzi , M6N8Vxi , M6N8Vyi , & + M6N8Vzi , M6N9Axi , M6N9Ayi , M6N9Azi , M6N9DynP , M6N9FAFxi , M6N9FAFyi , & + M6N9FAFzi , M6N9FAGxi , M6N9FAGyi , M6N9FAGzi , M6N9FAMxi , M6N9FAMyi , M6N9FAMzi , & + M6N9FBFxi , M6N9FBFyi , M6N9FBFzi , M6N9FBxi , M6N9FByi , M6N9FBzi , M6N9FDxi , & + M6N9FDyi , M6N9FDzi , M6N9FIxi , M6N9FIyi , M6N9FIzi , M6N9FMGxi , M6N9FMGyi , & + M6N9FMGzi , M6N9FWExi , M6N9FWEyi , M6N9FWEzi , M6N9MAFxi , M6N9MAFyi , M6N9MAFzi , & + M6N9MAGxi , M6N9MAGyi , M6N9MAGzi , M6N9MBFxi , M6N9MBFyi , M6N9MBFzi , M6N9MBxi , & + M6N9MByi , M6N9MBzi , M6N9MMGxi , M6N9MMGyi , M6N9MMGzi , M6N9STAxi , M6N9STAyi , & + M6N9STAzi , M6N9STVxi , M6N9STVyi , M6N9STVzi , M6N9Vxi , M6N9Vyi , M6N9Vzi , & + M7N1Axi , M7N1Ayi , M7N1Azi , M7N1DynP , M7N1FAFxi , M7N1FAFyi , M7N1FAFzi , & + M7N1FAGxi , M7N1FAGyi , M7N1FAGzi , M7N1FAMxi , M7N1FAMyi , M7N1FAMzi , M7N1FBFxi , & + M7N1FBFyi , M7N1FBFzi , M7N1FBxi , M7N1FByi , M7N1FBzi , M7N1FDxi , M7N1FDyi , & + M7N1FDzi , M7N1FIxi , M7N1FIyi , M7N1FIzi , M7N1FMGxi , M7N1FMGyi , M7N1FMGzi , & + M7N1FWExi , M7N1FWEyi , M7N1FWEzi , M7N1MAFxi , M7N1MAFyi , M7N1MAFzi , M7N1MAGxi , & + M7N1MAGyi , M7N1MAGzi , M7N1MBFxi , M7N1MBFyi , M7N1MBFzi , M7N1MBxi , M7N1MByi , & + M7N1MBzi , M7N1MMGxi , M7N1MMGyi , M7N1MMGzi , M7N1STAxi , M7N1STAyi , M7N1STAzi , & + M7N1STVxi , M7N1STVyi , M7N1STVzi , M7N1Vxi , M7N1Vyi , M7N1Vzi , M7N2Axi , & + M7N2Ayi , M7N2Azi , M7N2DynP , M7N2FAFxi , M7N2FAFyi , M7N2FAFzi , M7N2FAGxi , & + M7N2FAGyi , M7N2FAGzi , M7N2FAMxi , M7N2FAMyi , M7N2FAMzi , M7N2FBFxi , M7N2FBFyi , & + M7N2FBFzi , M7N2FBxi , M7N2FByi , M7N2FBzi , M7N2FDxi , M7N2FDyi , M7N2FDzi , & + M7N2FIxi , M7N2FIyi , M7N2FIzi , M7N2FMGxi , M7N2FMGyi , M7N2FMGzi , M7N2FWExi , & + M7N2FWEyi , M7N2FWEzi , M7N2MAFxi , M7N2MAFyi , M7N2MAFzi , M7N2MAGxi , M7N2MAGyi , & + M7N2MAGzi , M7N2MBFxi , M7N2MBFyi , M7N2MBFzi , M7N2MBxi , M7N2MByi , M7N2MBzi , & + M7N2MMGxi , M7N2MMGyi , M7N2MMGzi , M7N2STAxi , M7N2STAyi , M7N2STAzi , M7N2STVxi , & + M7N2STVyi , M7N2STVzi , M7N2Vxi , M7N2Vyi , M7N2Vzi , M7N3Axi , M7N3Ayi , & + M7N3Azi , M7N3DynP , M7N3FAFxi , M7N3FAFyi , M7N3FAFzi , M7N3FAGxi , M7N3FAGyi , & + M7N3FAGzi , M7N3FAMxi , M7N3FAMyi , M7N3FAMzi , M7N3FBFxi , M7N3FBFyi , M7N3FBFzi , & + M7N3FBxi , M7N3FByi , M7N3FBzi , M7N3FDxi , M7N3FDyi , M7N3FDzi , M7N3FIxi , & + M7N3FIyi , M7N3FIzi , M7N3FMGxi , M7N3FMGyi , M7N3FMGzi , M7N3FWExi , M7N3FWEyi , & + M7N3FWEzi , M7N3MAFxi , M7N3MAFyi , M7N3MAFzi , M7N3MAGxi , M7N3MAGyi , M7N3MAGzi , & + M7N3MBFxi , M7N3MBFyi , M7N3MBFzi , M7N3MBxi , M7N3MByi , M7N3MBzi , M7N3MMGxi , & + M7N3MMGyi , M7N3MMGzi , M7N3STAxi , M7N3STAyi , M7N3STAzi , M7N3STVxi , M7N3STVyi , & + M7N3STVzi , M7N3Vxi , M7N3Vyi , M7N3Vzi , M7N4Axi , M7N4Ayi , M7N4Azi , & + M7N4DynP , M7N4FAFxi , M7N4FAFyi , M7N4FAFzi , M7N4FAGxi , M7N4FAGyi , M7N4FAGzi , & + M7N4FAMxi , M7N4FAMyi , M7N4FAMzi , M7N4FBFxi , M7N4FBFyi , M7N4FBFzi , M7N4FBxi , & + M7N4FByi , M7N4FBzi , M7N4FDxi , M7N4FDyi , M7N4FDzi , M7N4FIxi , M7N4FIyi , & + M7N4FIzi , M7N4FMGxi , M7N4FMGyi , M7N4FMGzi , M7N4FWExi , M7N4FWEyi , M7N4FWEzi , & M7N4MAFxi , M7N4MAFyi , M7N4MAFzi , M7N4MAGxi , M7N4MAGyi , M7N4MAGzi , M7N4MBFxi , & M7N4MBFyi , M7N4MBFzi , M7N4MBxi , M7N4MByi , M7N4MBzi , M7N4MMGxi , M7N4MMGyi , & M7N4MMGzi , M7N4STAxi , M7N4STAyi , M7N4STAzi , M7N4STVxi , M7N4STVyi , M7N4STVzi , & @@ -7594,51 +8024,54 @@ MODULE Morison_Output M7N5FAFxi , M7N5FAFyi , M7N5FAFzi , M7N5FAGxi , M7N5FAGyi , M7N5FAGzi , M7N5FAMxi , & M7N5FAMyi , M7N5FAMzi , M7N5FBFxi , M7N5FBFyi , M7N5FBFzi , M7N5FBxi , M7N5FByi , & M7N5FBzi , M7N5FDxi , M7N5FDyi , M7N5FDzi , M7N5FIxi , M7N5FIyi , M7N5FIzi , & - M7N5FMGxi , M7N5FMGyi , M7N5FMGzi , M7N5MAFxi , M7N5MAFyi , M7N5MAFzi , M7N5MAGxi , & - M7N5MAGyi , M7N5MAGzi , M7N5MBFxi , M7N5MBFyi , M7N5MBFzi , M7N5MBxi , M7N5MByi , & - M7N5MBzi , M7N5MMGxi , M7N5MMGyi , M7N5MMGzi , M7N5STAxi , M7N5STAyi , M7N5STAzi , & - M7N5STVxi , M7N5STVyi , M7N5STVzi , M7N5Vxi , M7N5Vyi , M7N5Vzi , M7N6Axi , & - M7N6Ayi , M7N6Azi , M7N6DynP , M7N6FAFxi , M7N6FAFyi , M7N6FAFzi , M7N6FAGxi , & - M7N6FAGyi , M7N6FAGzi , M7N6FAMxi , M7N6FAMyi , M7N6FAMzi , M7N6FBFxi , M7N6FBFyi , & - M7N6FBFzi , M7N6FBxi , M7N6FByi , M7N6FBzi , M7N6FDxi , M7N6FDyi , M7N6FDzi , & - M7N6FIxi , M7N6FIyi , M7N6FIzi , M7N6FMGxi , M7N6FMGyi , M7N6FMGzi , M7N6MAFxi , & - M7N6MAFyi , M7N6MAFzi , M7N6MAGxi , M7N6MAGyi , M7N6MAGzi , M7N6MBFxi , M7N6MBFyi , & - M7N6MBFzi , M7N6MBxi , M7N6MByi , M7N6MBzi , M7N6MMGxi , M7N6MMGyi , M7N6MMGzi , & - M7N6STAxi , M7N6STAyi , M7N6STAzi , M7N6STVxi , M7N6STVyi , M7N6STVzi , M7N6Vxi , & - M7N6Vyi , M7N6Vzi , M7N7Axi , M7N7Ayi , M7N7Azi , M7N7DynP , M7N7FAFxi , & - M7N7FAFyi , M7N7FAFzi , M7N7FAGxi , M7N7FAGyi , M7N7FAGzi , M7N7FAMxi , M7N7FAMyi , & - M7N7FAMzi , M7N7FBFxi , M7N7FBFyi , M7N7FBFzi , M7N7FBxi , M7N7FByi , M7N7FBzi , & - M7N7FDxi , M7N7FDyi , M7N7FDzi , M7N7FIxi , M7N7FIyi , M7N7FIzi , M7N7FMGxi , & - M7N7FMGyi , M7N7FMGzi , M7N7MAFxi , M7N7MAFyi , M7N7MAFzi , M7N7MAGxi , M7N7MAGyi , & - M7N7MAGzi , M7N7MBFxi , M7N7MBFyi , M7N7MBFzi , M7N7MBxi , M7N7MByi , M7N7MBzi , & - M7N7MMGxi , M7N7MMGyi , M7N7MMGzi , M7N7STAxi , M7N7STAyi , M7N7STAzi , M7N7STVxi , & - M7N7STVyi , M7N7STVzi , M7N7Vxi , M7N7Vyi , M7N7Vzi , M7N8Axi , M7N8Ayi , & - M7N8Azi , M7N8DynP , M7N8FAFxi , M7N8FAFyi , M7N8FAFzi , M7N8FAGxi , M7N8FAGyi , & - M7N8FAGzi , M7N8FAMxi , M7N8FAMyi , M7N8FAMzi , M7N8FBFxi , M7N8FBFyi , M7N8FBFzi , & - M7N8FBxi , M7N8FByi , M7N8FBzi , M7N8FDxi , M7N8FDyi , M7N8FDzi , M7N8FIxi , & - M7N8FIyi , M7N8FIzi , M7N8FMGxi , M7N8FMGyi , M7N8FMGzi , M7N8MAFxi , M7N8MAFyi , & - M7N8MAFzi , M7N8MAGxi , M7N8MAGyi , M7N8MAGzi , M7N8MBFxi , M7N8MBFyi , M7N8MBFzi , & - M7N8MBxi , M7N8MByi , M7N8MBzi , M7N8MMGxi , M7N8MMGyi , M7N8MMGzi , M7N8STAxi , & - M7N8STAyi , M7N8STAzi , M7N8STVxi , M7N8STVyi , M7N8STVzi , M7N8Vxi , M7N8Vyi , & - M7N8Vzi , M7N9Axi , M7N9Ayi , M7N9Azi , M7N9DynP , M7N9FAFxi , M7N9FAFyi , & - M7N9FAFzi , M7N9FAGxi , M7N9FAGyi , M7N9FAGzi , M7N9FAMxi , M7N9FAMyi , M7N9FAMzi , & - M7N9FBFxi , M7N9FBFyi , M7N9FBFzi , M7N9FBxi , M7N9FByi , M7N9FBzi , M7N9FDxi , & - M7N9FDyi , M7N9FDzi , M7N9FIxi , M7N9FIyi , M7N9FIzi , M7N9FMGxi , M7N9FMGyi , & - M7N9FMGzi , M7N9MAFxi , M7N9MAFyi , M7N9MAFzi , M7N9MAGxi , M7N9MAGyi , M7N9MAGzi , & - M7N9MBFxi , M7N9MBFyi , M7N9MBFzi , M7N9MBxi , M7N9MByi , M7N9MBzi , M7N9MMGxi , & - M7N9MMGyi , M7N9MMGzi , M7N9STAxi , M7N9STAyi , M7N9STAzi , M7N9STVxi , M7N9STVyi , & - M7N9STVzi , M7N9Vxi , M7N9Vyi , M7N9Vzi , M8N1Axi , M8N1Ayi , M8N1Azi , & - M8N1DynP , M8N1FAFxi , M8N1FAFyi , M8N1FAFzi , M8N1FAGxi , M8N1FAGyi , M8N1FAGzi , & - M8N1FAMxi , M8N1FAMyi , M8N1FAMzi , M8N1FBFxi , M8N1FBFyi , M8N1FBFzi , M8N1FBxi , & - M8N1FByi , M8N1FBzi , M8N1FDxi , M8N1FDyi , M8N1FDzi , M8N1FIxi , M8N1FIyi , & - M8N1FIzi , M8N1FMGxi , M8N1FMGyi , M8N1FMGzi , M8N1MAFxi , M8N1MAFyi , M8N1MAFzi , & - M8N1MAGxi , M8N1MAGyi , M8N1MAGzi , M8N1MBFxi , M8N1MBFyi , M8N1MBFzi , M8N1MBxi , & - M8N1MByi , M8N1MBzi , M8N1MMGxi , M8N1MMGyi , M8N1MMGzi , M8N1STAxi , M8N1STAyi , & - M8N1STAzi , M8N1STVxi , M8N1STVyi , M8N1STVzi , M8N1Vxi , M8N1Vyi , M8N1Vzi , & - M8N2Axi , M8N2Ayi , M8N2Azi , M8N2DynP , M8N2FAFxi , M8N2FAFyi , M8N2FAFzi , & - M8N2FAGxi , M8N2FAGyi , M8N2FAGzi , M8N2FAMxi , M8N2FAMyi , M8N2FAMzi , M8N2FBFxi , & - M8N2FBFyi , M8N2FBFzi , M8N2FBxi , M8N2FByi , M8N2FBzi , M8N2FDxi , M8N2FDyi , & - M8N2FDzi , M8N2FIxi , M8N2FIyi , M8N2FIzi , M8N2FMGxi , M8N2FMGyi , M8N2FMGzi , & + M7N5FMGxi , M7N5FMGyi , M7N5FMGzi , M7N5FWExi , M7N5FWEyi , M7N5FWEzi , M7N5MAFxi , & + M7N5MAFyi , M7N5MAFzi , M7N5MAGxi , M7N5MAGyi , M7N5MAGzi , M7N5MBFxi , M7N5MBFyi , & + M7N5MBFzi , M7N5MBxi , M7N5MByi , M7N5MBzi , M7N5MMGxi , M7N5MMGyi , M7N5MMGzi , & + M7N5STAxi , M7N5STAyi , M7N5STAzi , M7N5STVxi , M7N5STVyi , M7N5STVzi , M7N5Vxi , & + M7N5Vyi , M7N5Vzi , M7N6Axi , M7N6Ayi , M7N6Azi , M7N6DynP , M7N6FAFxi , & + M7N6FAFyi , M7N6FAFzi , M7N6FAGxi , M7N6FAGyi , M7N6FAGzi , M7N6FAMxi , M7N6FAMyi , & + M7N6FAMzi , M7N6FBFxi , M7N6FBFyi , M7N6FBFzi , M7N6FBxi , M7N6FByi , M7N6FBzi , & + M7N6FDxi , M7N6FDyi , M7N6FDzi , M7N6FIxi , M7N6FIyi , M7N6FIzi , M7N6FMGxi , & + M7N6FMGyi , M7N6FMGzi , M7N6FWExi , M7N6FWEyi , M7N6FWEzi , M7N6MAFxi , M7N6MAFyi , & + M7N6MAFzi , M7N6MAGxi , M7N6MAGyi , M7N6MAGzi , M7N6MBFxi , M7N6MBFyi , M7N6MBFzi , & + M7N6MBxi , M7N6MByi , M7N6MBzi , M7N6MMGxi , M7N6MMGyi , M7N6MMGzi , M7N6STAxi , & + M7N6STAyi , M7N6STAzi , M7N6STVxi , M7N6STVyi , M7N6STVzi , M7N6Vxi , M7N6Vyi , & + M7N6Vzi , M7N7Axi , M7N7Ayi , M7N7Azi , M7N7DynP , M7N7FAFxi , M7N7FAFyi , & + M7N7FAFzi , M7N7FAGxi , M7N7FAGyi , M7N7FAGzi , M7N7FAMxi , M7N7FAMyi , M7N7FAMzi , & + M7N7FBFxi , M7N7FBFyi , M7N7FBFzi , M7N7FBxi , M7N7FByi , M7N7FBzi , M7N7FDxi , & + M7N7FDyi , M7N7FDzi , M7N7FIxi , M7N7FIyi , M7N7FIzi , M7N7FMGxi , M7N7FMGyi , & + M7N7FMGzi , M7N7FWExi , M7N7FWEyi , M7N7FWEzi , M7N7MAFxi , M7N7MAFyi , M7N7MAFzi , & + M7N7MAGxi , M7N7MAGyi , M7N7MAGzi , M7N7MBFxi , M7N7MBFyi , M7N7MBFzi , M7N7MBxi , & + M7N7MByi , M7N7MBzi , M7N7MMGxi , M7N7MMGyi , M7N7MMGzi , M7N7STAxi , M7N7STAyi , & + M7N7STAzi , M7N7STVxi , M7N7STVyi , M7N7STVzi , M7N7Vxi , M7N7Vyi , M7N7Vzi , & + M7N8Axi , M7N8Ayi , M7N8Azi , M7N8DynP , M7N8FAFxi , M7N8FAFyi , M7N8FAFzi , & + M7N8FAGxi , M7N8FAGyi , M7N8FAGzi , M7N8FAMxi , M7N8FAMyi , M7N8FAMzi , M7N8FBFxi , & + M7N8FBFyi , M7N8FBFzi , M7N8FBxi , M7N8FByi , M7N8FBzi , M7N8FDxi , M7N8FDyi , & + M7N8FDzi , M7N8FIxi , M7N8FIyi , M7N8FIzi , M7N8FMGxi , M7N8FMGyi , M7N8FMGzi , & + M7N8FWExi , M7N8FWEyi , M7N8FWEzi , M7N8MAFxi , M7N8MAFyi , M7N8MAFzi , M7N8MAGxi , & + M7N8MAGyi , M7N8MAGzi , M7N8MBFxi , M7N8MBFyi , M7N8MBFzi , M7N8MBxi , M7N8MByi , & + M7N8MBzi , M7N8MMGxi , M7N8MMGyi , M7N8MMGzi , M7N8STAxi , M7N8STAyi , M7N8STAzi , & + M7N8STVxi , M7N8STVyi , M7N8STVzi , M7N8Vxi , M7N8Vyi , M7N8Vzi , M7N9Axi , & + M7N9Ayi , M7N9Azi , M7N9DynP , M7N9FAFxi , M7N9FAFyi , M7N9FAFzi , M7N9FAGxi , & + M7N9FAGyi , M7N9FAGzi , M7N9FAMxi , M7N9FAMyi , M7N9FAMzi , M7N9FBFxi , M7N9FBFyi , & + M7N9FBFzi , M7N9FBxi , M7N9FByi , M7N9FBzi , M7N9FDxi , M7N9FDyi , M7N9FDzi , & + M7N9FIxi , M7N9FIyi , M7N9FIzi , M7N9FMGxi , M7N9FMGyi , M7N9FMGzi , M7N9FWExi , & + M7N9FWEyi , M7N9FWEzi , M7N9MAFxi , M7N9MAFyi , M7N9MAFzi , M7N9MAGxi , M7N9MAGyi , & + M7N9MAGzi , M7N9MBFxi , M7N9MBFyi , M7N9MBFzi , M7N9MBxi , M7N9MByi , M7N9MBzi , & + M7N9MMGxi , M7N9MMGyi , M7N9MMGzi , M7N9STAxi , M7N9STAyi , M7N9STAzi , M7N9STVxi , & + M7N9STVyi , M7N9STVzi , M7N9Vxi , M7N9Vyi , M7N9Vzi , M8N1Axi , M8N1Ayi , & + M8N1Azi , M8N1DynP , M8N1FAFxi , M8N1FAFyi , M8N1FAFzi , M8N1FAGxi , M8N1FAGyi , & + M8N1FAGzi , M8N1FAMxi , M8N1FAMyi , M8N1FAMzi , M8N1FBFxi , M8N1FBFyi , M8N1FBFzi , & + M8N1FBxi , M8N1FByi , M8N1FBzi , M8N1FDxi , M8N1FDyi , M8N1FDzi , M8N1FIxi , & + M8N1FIyi , M8N1FIzi , M8N1FMGxi , M8N1FMGyi , M8N1FMGzi , M8N1FWExi , M8N1FWEyi , & + M8N1FWEzi , M8N1MAFxi , M8N1MAFyi , M8N1MAFzi , M8N1MAGxi , M8N1MAGyi , M8N1MAGzi , & + M8N1MBFxi , M8N1MBFyi , M8N1MBFzi , M8N1MBxi , M8N1MByi , M8N1MBzi , M8N1MMGxi , & + M8N1MMGyi , M8N1MMGzi , M8N1STAxi , M8N1STAyi , M8N1STAzi , M8N1STVxi , M8N1STVyi , & + M8N1STVzi , M8N1Vxi , M8N1Vyi , M8N1Vzi , M8N2Axi , M8N2Ayi , M8N2Azi , & + M8N2DynP , M8N2FAFxi , M8N2FAFyi , M8N2FAFzi , M8N2FAGxi , M8N2FAGyi , M8N2FAGzi , & + M8N2FAMxi , M8N2FAMyi , M8N2FAMzi , M8N2FBFxi , M8N2FBFyi , M8N2FBFzi , M8N2FBxi , & + M8N2FByi , M8N2FBzi , M8N2FDxi , M8N2FDyi , M8N2FDzi , M8N2FIxi , M8N2FIyi , & + M8N2FIzi , M8N2FMGxi , M8N2FMGyi , M8N2FMGzi , M8N2FWExi , M8N2FWEyi , M8N2FWEzi , & M8N2MAFxi , M8N2MAFyi , M8N2MAFzi , M8N2MAGxi , M8N2MAGyi , M8N2MAGzi , M8N2MBFxi , & M8N2MBFyi , M8N2MBFzi , M8N2MBxi , M8N2MByi , M8N2MBzi , M8N2MMGxi , M8N2MMGyi , & M8N2MMGzi , M8N2STAxi , M8N2STAyi , M8N2STAzi , M8N2STVxi , M8N2STVyi , M8N2STVzi , & @@ -7646,51 +8079,54 @@ MODULE Morison_Output M8N3FAFxi , M8N3FAFyi , M8N3FAFzi , M8N3FAGxi , M8N3FAGyi , M8N3FAGzi , M8N3FAMxi , & M8N3FAMyi , M8N3FAMzi , M8N3FBFxi , M8N3FBFyi , M8N3FBFzi , M8N3FBxi , M8N3FByi , & M8N3FBzi , M8N3FDxi , M8N3FDyi , M8N3FDzi , M8N3FIxi , M8N3FIyi , M8N3FIzi , & - M8N3FMGxi , M8N3FMGyi , M8N3FMGzi , M8N3MAFxi , M8N3MAFyi , M8N3MAFzi , M8N3MAGxi , & - M8N3MAGyi , M8N3MAGzi , M8N3MBFxi , M8N3MBFyi , M8N3MBFzi , M8N3MBxi , M8N3MByi , & - M8N3MBzi , M8N3MMGxi , M8N3MMGyi , M8N3MMGzi , M8N3STAxi , M8N3STAyi , M8N3STAzi , & - M8N3STVxi , M8N3STVyi , M8N3STVzi , M8N3Vxi , M8N3Vyi , M8N3Vzi , M8N4Axi , & - M8N4Ayi , M8N4Azi , M8N4DynP , M8N4FAFxi , M8N4FAFyi , M8N4FAFzi , M8N4FAGxi , & - M8N4FAGyi , M8N4FAGzi , M8N4FAMxi , M8N4FAMyi , M8N4FAMzi , M8N4FBFxi , M8N4FBFyi , & - M8N4FBFzi , M8N4FBxi , M8N4FByi , M8N4FBzi , M8N4FDxi , M8N4FDyi , M8N4FDzi , & - M8N4FIxi , M8N4FIyi , M8N4FIzi , M8N4FMGxi , M8N4FMGyi , M8N4FMGzi , M8N4MAFxi , & - M8N4MAFyi , M8N4MAFzi , M8N4MAGxi , M8N4MAGyi , M8N4MAGzi , M8N4MBFxi , M8N4MBFyi , & - M8N4MBFzi , M8N4MBxi , M8N4MByi , M8N4MBzi , M8N4MMGxi , M8N4MMGyi , M8N4MMGzi , & - M8N4STAxi , M8N4STAyi , M8N4STAzi , M8N4STVxi , M8N4STVyi , M8N4STVzi , M8N4Vxi , & - M8N4Vyi , M8N4Vzi , M8N5Axi , M8N5Ayi , M8N5Azi , M8N5DynP , M8N5FAFxi , & - M8N5FAFyi , M8N5FAFzi , M8N5FAGxi , M8N5FAGyi , M8N5FAGzi , M8N5FAMxi , M8N5FAMyi , & - M8N5FAMzi , M8N5FBFxi , M8N5FBFyi , M8N5FBFzi , M8N5FBxi , M8N5FByi , M8N5FBzi , & - M8N5FDxi , M8N5FDyi , M8N5FDzi , M8N5FIxi , M8N5FIyi , M8N5FIzi , M8N5FMGxi , & - M8N5FMGyi , M8N5FMGzi , M8N5MAFxi , M8N5MAFyi , M8N5MAFzi , M8N5MAGxi , M8N5MAGyi , & - M8N5MAGzi , M8N5MBFxi , M8N5MBFyi , M8N5MBFzi , M8N5MBxi , M8N5MByi , M8N5MBzi , & - M8N5MMGxi , M8N5MMGyi , M8N5MMGzi , M8N5STAxi , M8N5STAyi , M8N5STAzi , M8N5STVxi , & - M8N5STVyi , M8N5STVzi , M8N5Vxi , M8N5Vyi , M8N5Vzi , M8N6Axi , M8N6Ayi , & - M8N6Azi , M8N6DynP , M8N6FAFxi , M8N6FAFyi , M8N6FAFzi , M8N6FAGxi , M8N6FAGyi , & - M8N6FAGzi , M8N6FAMxi , M8N6FAMyi , M8N6FAMzi , M8N6FBFxi , M8N6FBFyi , M8N6FBFzi , & - M8N6FBxi , M8N6FByi , M8N6FBzi , M8N6FDxi , M8N6FDyi , M8N6FDzi , M8N6FIxi , & - M8N6FIyi , M8N6FIzi , M8N6FMGxi , M8N6FMGyi , M8N6FMGzi , M8N6MAFxi , M8N6MAFyi , & - M8N6MAFzi , M8N6MAGxi , M8N6MAGyi , M8N6MAGzi , M8N6MBFxi , M8N6MBFyi , M8N6MBFzi , & - M8N6MBxi , M8N6MByi , M8N6MBzi , M8N6MMGxi , M8N6MMGyi , M8N6MMGzi , M8N6STAxi , & - M8N6STAyi , M8N6STAzi , M8N6STVxi , M8N6STVyi , M8N6STVzi , M8N6Vxi , M8N6Vyi , & - M8N6Vzi , M8N7Axi , M8N7Ayi , M8N7Azi , M8N7DynP , M8N7FAFxi , M8N7FAFyi , & - M8N7FAFzi , M8N7FAGxi , M8N7FAGyi , M8N7FAGzi , M8N7FAMxi , M8N7FAMyi , M8N7FAMzi , & - M8N7FBFxi , M8N7FBFyi , M8N7FBFzi , M8N7FBxi , M8N7FByi , M8N7FBzi , M8N7FDxi , & - M8N7FDyi , M8N7FDzi , M8N7FIxi , M8N7FIyi , M8N7FIzi , M8N7FMGxi , M8N7FMGyi , & - M8N7FMGzi , M8N7MAFxi , M8N7MAFyi , M8N7MAFzi , M8N7MAGxi , M8N7MAGyi , M8N7MAGzi , & - M8N7MBFxi , M8N7MBFyi , M8N7MBFzi , M8N7MBxi , M8N7MByi , M8N7MBzi , M8N7MMGxi , & - M8N7MMGyi , M8N7MMGzi , M8N7STAxi , M8N7STAyi , M8N7STAzi , M8N7STVxi , M8N7STVyi , & - M8N7STVzi , M8N7Vxi , M8N7Vyi , M8N7Vzi , M8N8Axi , M8N8Ayi , M8N8Azi , & - M8N8DynP , M8N8FAFxi , M8N8FAFyi , M8N8FAFzi , M8N8FAGxi , M8N8FAGyi , M8N8FAGzi , & - M8N8FAMxi , M8N8FAMyi , M8N8FAMzi , M8N8FBFxi , M8N8FBFyi , M8N8FBFzi , M8N8FBxi , & - M8N8FByi , M8N8FBzi , M8N8FDxi , M8N8FDyi , M8N8FDzi , M8N8FIxi , M8N8FIyi , & - M8N8FIzi , M8N8FMGxi , M8N8FMGyi , M8N8FMGzi , M8N8MAFxi , M8N8MAFyi , M8N8MAFzi , & - M8N8MAGxi , M8N8MAGyi , M8N8MAGzi , M8N8MBFxi , M8N8MBFyi , M8N8MBFzi , M8N8MBxi , & - M8N8MByi , M8N8MBzi , M8N8MMGxi , M8N8MMGyi , M8N8MMGzi , M8N8STAxi , M8N8STAyi , & - M8N8STAzi , M8N8STVxi , M8N8STVyi , M8N8STVzi , M8N8Vxi , M8N8Vyi , M8N8Vzi , & - M8N9Axi , M8N9Ayi , M8N9Azi , M8N9DynP , M8N9FAFxi , M8N9FAFyi , M8N9FAFzi , & - M8N9FAGxi , M8N9FAGyi , M8N9FAGzi , M8N9FAMxi , M8N9FAMyi , M8N9FAMzi , M8N9FBFxi , & - M8N9FBFyi , M8N9FBFzi , M8N9FBxi , M8N9FByi , M8N9FBzi , M8N9FDxi , M8N9FDyi , & - M8N9FDzi , M8N9FIxi , M8N9FIyi , M8N9FIzi , M8N9FMGxi , M8N9FMGyi , M8N9FMGzi , & + M8N3FMGxi , M8N3FMGyi , M8N3FMGzi , M8N3FWExi , M8N3FWEyi , M8N3FWEzi , M8N3MAFxi , & + M8N3MAFyi , M8N3MAFzi , M8N3MAGxi , M8N3MAGyi , M8N3MAGzi , M8N3MBFxi , M8N3MBFyi , & + M8N3MBFzi , M8N3MBxi , M8N3MByi , M8N3MBzi , M8N3MMGxi , M8N3MMGyi , M8N3MMGzi , & + M8N3STAxi , M8N3STAyi , M8N3STAzi , M8N3STVxi , M8N3STVyi , M8N3STVzi , M8N3Vxi , & + M8N3Vyi , M8N3Vzi , M8N4Axi , M8N4Ayi , M8N4Azi , M8N4DynP , M8N4FAFxi , & + M8N4FAFyi , M8N4FAFzi , M8N4FAGxi , M8N4FAGyi , M8N4FAGzi , M8N4FAMxi , M8N4FAMyi , & + M8N4FAMzi , M8N4FBFxi , M8N4FBFyi , M8N4FBFzi , M8N4FBxi , M8N4FByi , M8N4FBzi , & + M8N4FDxi , M8N4FDyi , M8N4FDzi , M8N4FIxi , M8N4FIyi , M8N4FIzi , M8N4FMGxi , & + M8N4FMGyi , M8N4FMGzi , M8N4FWExi , M8N4FWEyi , M8N4FWEzi , M8N4MAFxi , M8N4MAFyi , & + M8N4MAFzi , M8N4MAGxi , M8N4MAGyi , M8N4MAGzi , M8N4MBFxi , M8N4MBFyi , M8N4MBFzi , & + M8N4MBxi , M8N4MByi , M8N4MBzi , M8N4MMGxi , M8N4MMGyi , M8N4MMGzi , M8N4STAxi , & + M8N4STAyi , M8N4STAzi , M8N4STVxi , M8N4STVyi , M8N4STVzi , M8N4Vxi , M8N4Vyi , & + M8N4Vzi , M8N5Axi , M8N5Ayi , M8N5Azi , M8N5DynP , M8N5FAFxi , M8N5FAFyi , & + M8N5FAFzi , M8N5FAGxi , M8N5FAGyi , M8N5FAGzi , M8N5FAMxi , M8N5FAMyi , M8N5FAMzi , & + M8N5FBFxi , M8N5FBFyi , M8N5FBFzi , M8N5FBxi , M8N5FByi , M8N5FBzi , M8N5FDxi , & + M8N5FDyi , M8N5FDzi , M8N5FIxi , M8N5FIyi , M8N5FIzi , M8N5FMGxi , M8N5FMGyi , & + M8N5FMGzi , M8N5FWExi , M8N5FWEyi , M8N5FWEzi , M8N5MAFxi , M8N5MAFyi , M8N5MAFzi , & + M8N5MAGxi , M8N5MAGyi , M8N5MAGzi , M8N5MBFxi , M8N5MBFyi , M8N5MBFzi , M8N5MBxi , & + M8N5MByi , M8N5MBzi , M8N5MMGxi , M8N5MMGyi , M8N5MMGzi , M8N5STAxi , M8N5STAyi , & + M8N5STAzi , M8N5STVxi , M8N5STVyi , M8N5STVzi , M8N5Vxi , M8N5Vyi , M8N5Vzi , & + M8N6Axi , M8N6Ayi , M8N6Azi , M8N6DynP , M8N6FAFxi , M8N6FAFyi , M8N6FAFzi , & + M8N6FAGxi , M8N6FAGyi , M8N6FAGzi , M8N6FAMxi , M8N6FAMyi , M8N6FAMzi , M8N6FBFxi , & + M8N6FBFyi , M8N6FBFzi , M8N6FBxi , M8N6FByi , M8N6FBzi , M8N6FDxi , M8N6FDyi , & + M8N6FDzi , M8N6FIxi , M8N6FIyi , M8N6FIzi , M8N6FMGxi , M8N6FMGyi , M8N6FMGzi , & + M8N6FWExi , M8N6FWEyi , M8N6FWEzi , M8N6MAFxi , M8N6MAFyi , M8N6MAFzi , M8N6MAGxi , & + M8N6MAGyi , M8N6MAGzi , M8N6MBFxi , M8N6MBFyi , M8N6MBFzi , M8N6MBxi , M8N6MByi , & + M8N6MBzi , M8N6MMGxi , M8N6MMGyi , M8N6MMGzi , M8N6STAxi , M8N6STAyi , M8N6STAzi , & + M8N6STVxi , M8N6STVyi , M8N6STVzi , M8N6Vxi , M8N6Vyi , M8N6Vzi , M8N7Axi , & + M8N7Ayi , M8N7Azi , M8N7DynP , M8N7FAFxi , M8N7FAFyi , M8N7FAFzi , M8N7FAGxi , & + M8N7FAGyi , M8N7FAGzi , M8N7FAMxi , M8N7FAMyi , M8N7FAMzi , M8N7FBFxi , M8N7FBFyi , & + M8N7FBFzi , M8N7FBxi , M8N7FByi , M8N7FBzi , M8N7FDxi , M8N7FDyi , M8N7FDzi , & + M8N7FIxi , M8N7FIyi , M8N7FIzi , M8N7FMGxi , M8N7FMGyi , M8N7FMGzi , M8N7FWExi , & + M8N7FWEyi , M8N7FWEzi , M8N7MAFxi , M8N7MAFyi , M8N7MAFzi , M8N7MAGxi , M8N7MAGyi , & + M8N7MAGzi , M8N7MBFxi , M8N7MBFyi , M8N7MBFzi , M8N7MBxi , M8N7MByi , M8N7MBzi , & + M8N7MMGxi , M8N7MMGyi , M8N7MMGzi , M8N7STAxi , M8N7STAyi , M8N7STAzi , M8N7STVxi , & + M8N7STVyi , M8N7STVzi , M8N7Vxi , M8N7Vyi , M8N7Vzi , M8N8Axi , M8N8Ayi , & + M8N8Azi , M8N8DynP , M8N8FAFxi , M8N8FAFyi , M8N8FAFzi , M8N8FAGxi , M8N8FAGyi , & + M8N8FAGzi , M8N8FAMxi , M8N8FAMyi , M8N8FAMzi , M8N8FBFxi , M8N8FBFyi , M8N8FBFzi , & + M8N8FBxi , M8N8FByi , M8N8FBzi , M8N8FDxi , M8N8FDyi , M8N8FDzi , M8N8FIxi , & + M8N8FIyi , M8N8FIzi , M8N8FMGxi , M8N8FMGyi , M8N8FMGzi , M8N8FWExi , M8N8FWEyi , & + M8N8FWEzi , M8N8MAFxi , M8N8MAFyi , M8N8MAFzi , M8N8MAGxi , M8N8MAGyi , M8N8MAGzi , & + M8N8MBFxi , M8N8MBFyi , M8N8MBFzi , M8N8MBxi , M8N8MByi , M8N8MBzi , M8N8MMGxi , & + M8N8MMGyi , M8N8MMGzi , M8N8STAxi , M8N8STAyi , M8N8STAzi , M8N8STVxi , M8N8STVyi , & + M8N8STVzi , M8N8Vxi , M8N8Vyi , M8N8Vzi , M8N9Axi , M8N9Ayi , M8N9Azi , & + M8N9DynP , M8N9FAFxi , M8N9FAFyi , M8N9FAFzi , M8N9FAGxi , M8N9FAGyi , M8N9FAGzi , & + M8N9FAMxi , M8N9FAMyi , M8N9FAMzi , M8N9FBFxi , M8N9FBFyi , M8N9FBFzi , M8N9FBxi , & + M8N9FByi , M8N9FBzi , M8N9FDxi , M8N9FDyi , M8N9FDzi , M8N9FIxi , M8N9FIyi , & + M8N9FIzi , M8N9FMGxi , M8N9FMGyi , M8N9FMGzi , M8N9FWExi , M8N9FWEyi , M8N9FWEzi , & M8N9MAFxi , M8N9MAFyi , M8N9MAFzi , M8N9MAGxi , M8N9MAGyi , M8N9MAGzi , M8N9MBFxi , & M8N9MBFyi , M8N9MBFzi , M8N9MBxi , M8N9MByi , M8N9MBzi , M8N9MMGxi , M8N9MMGyi , & M8N9MMGzi , M8N9STAxi , M8N9STAyi , M8N9STAzi , M8N9STVxi , M8N9STVyi , M8N9STVzi , & @@ -7698,51 +8134,54 @@ MODULE Morison_Output M9N1FAFxi , M9N1FAFyi , M9N1FAFzi , M9N1FAGxi , M9N1FAGyi , M9N1FAGzi , M9N1FAMxi , & M9N1FAMyi , M9N1FAMzi , M9N1FBFxi , M9N1FBFyi , M9N1FBFzi , M9N1FBxi , M9N1FByi , & M9N1FBzi , M9N1FDxi , M9N1FDyi , M9N1FDzi , M9N1FIxi , M9N1FIyi , M9N1FIzi , & - M9N1FMGxi , M9N1FMGyi , M9N1FMGzi , M9N1MAFxi , M9N1MAFyi , M9N1MAFzi , M9N1MAGxi , & - M9N1MAGyi , M9N1MAGzi , M9N1MBFxi , M9N1MBFyi , M9N1MBFzi , M9N1MBxi , M9N1MByi , & - M9N1MBzi , M9N1MMGxi , M9N1MMGyi , M9N1MMGzi , M9N1STAxi , M9N1STAyi , M9N1STAzi , & - M9N1STVxi , M9N1STVyi , M9N1STVzi , M9N1Vxi , M9N1Vyi , M9N1Vzi , M9N2Axi , & - M9N2Ayi , M9N2Azi , M9N2DynP , M9N2FAFxi , M9N2FAFyi , M9N2FAFzi , M9N2FAGxi , & - M9N2FAGyi , M9N2FAGzi , M9N2FAMxi , M9N2FAMyi , M9N2FAMzi , M9N2FBFxi , M9N2FBFyi , & - M9N2FBFzi , M9N2FBxi , M9N2FByi , M9N2FBzi , M9N2FDxi , M9N2FDyi , M9N2FDzi , & - M9N2FIxi , M9N2FIyi , M9N2FIzi , M9N2FMGxi , M9N2FMGyi , M9N2FMGzi , M9N2MAFxi , & - M9N2MAFyi , M9N2MAFzi , M9N2MAGxi , M9N2MAGyi , M9N2MAGzi , M9N2MBFxi , M9N2MBFyi , & - M9N2MBFzi , M9N2MBxi , M9N2MByi , M9N2MBzi , M9N2MMGxi , M9N2MMGyi , M9N2MMGzi , & - M9N2STAxi , M9N2STAyi , M9N2STAzi , M9N2STVxi , M9N2STVyi , M9N2STVzi , M9N2Vxi , & - M9N2Vyi , M9N2Vzi , M9N3Axi , M9N3Ayi , M9N3Azi , M9N3DynP , M9N3FAFxi , & - M9N3FAFyi , M9N3FAFzi , M9N3FAGxi , M9N3FAGyi , M9N3FAGzi , M9N3FAMxi , M9N3FAMyi , & - M9N3FAMzi , M9N3FBFxi , M9N3FBFyi , M9N3FBFzi , M9N3FBxi , M9N3FByi , M9N3FBzi , & - M9N3FDxi , M9N3FDyi , M9N3FDzi , M9N3FIxi , M9N3FIyi , M9N3FIzi , M9N3FMGxi , & - M9N3FMGyi , M9N3FMGzi , M9N3MAFxi , M9N3MAFyi , M9N3MAFzi , M9N3MAGxi , M9N3MAGyi , & - M9N3MAGzi , M9N3MBFxi , M9N3MBFyi , M9N3MBFzi , M9N3MBxi , M9N3MByi , M9N3MBzi , & - M9N3MMGxi , M9N3MMGyi , M9N3MMGzi , M9N3STAxi , M9N3STAyi , M9N3STAzi , M9N3STVxi , & - M9N3STVyi , M9N3STVzi , M9N3Vxi , M9N3Vyi , M9N3Vzi , M9N4Axi , M9N4Ayi , & - M9N4Azi , M9N4DynP , M9N4FAFxi , M9N4FAFyi , M9N4FAFzi , M9N4FAGxi , M9N4FAGyi , & - M9N4FAGzi , M9N4FAMxi , M9N4FAMyi , M9N4FAMzi , M9N4FBFxi , M9N4FBFyi , M9N4FBFzi , & - M9N4FBxi , M9N4FByi , M9N4FBzi , M9N4FDxi , M9N4FDyi , M9N4FDzi , M9N4FIxi , & - M9N4FIyi , M9N4FIzi , M9N4FMGxi , M9N4FMGyi , M9N4FMGzi , M9N4MAFxi , M9N4MAFyi , & - M9N4MAFzi , M9N4MAGxi , M9N4MAGyi , M9N4MAGzi , M9N4MBFxi , M9N4MBFyi , M9N4MBFzi , & - M9N4MBxi , M9N4MByi , M9N4MBzi , M9N4MMGxi , M9N4MMGyi , M9N4MMGzi , M9N4STAxi , & - M9N4STAyi , M9N4STAzi , M9N4STVxi , M9N4STVyi , M9N4STVzi , M9N4Vxi , M9N4Vyi , & - M9N4Vzi , M9N5Axi , M9N5Ayi , M9N5Azi , M9N5DynP , M9N5FAFxi , M9N5FAFyi , & - M9N5FAFzi , M9N5FAGxi , M9N5FAGyi , M9N5FAGzi , M9N5FAMxi , M9N5FAMyi , M9N5FAMzi , & - M9N5FBFxi , M9N5FBFyi , M9N5FBFzi , M9N5FBxi , M9N5FByi , M9N5FBzi , M9N5FDxi , & - M9N5FDyi , M9N5FDzi , M9N5FIxi , M9N5FIyi , M9N5FIzi , M9N5FMGxi , M9N5FMGyi , & - M9N5FMGzi , M9N5MAFxi , M9N5MAFyi , M9N5MAFzi , M9N5MAGxi , M9N5MAGyi , M9N5MAGzi , & - M9N5MBFxi , M9N5MBFyi , M9N5MBFzi , M9N5MBxi , M9N5MByi , M9N5MBzi , M9N5MMGxi , & - M9N5MMGyi , M9N5MMGzi , M9N5STAxi , M9N5STAyi , M9N5STAzi , M9N5STVxi , M9N5STVyi , & - M9N5STVzi , M9N5Vxi , M9N5Vyi , M9N5Vzi , M9N6Axi , M9N6Ayi , M9N6Azi , & - M9N6DynP , M9N6FAFxi , M9N6FAFyi , M9N6FAFzi , M9N6FAGxi , M9N6FAGyi , M9N6FAGzi , & - M9N6FAMxi , M9N6FAMyi , M9N6FAMzi , M9N6FBFxi , M9N6FBFyi , M9N6FBFzi , M9N6FBxi , & - M9N6FByi , M9N6FBzi , M9N6FDxi , M9N6FDyi , M9N6FDzi , M9N6FIxi , M9N6FIyi , & - M9N6FIzi , M9N6FMGxi , M9N6FMGyi , M9N6FMGzi , M9N6MAFxi , M9N6MAFyi , M9N6MAFzi , & - M9N6MAGxi , M9N6MAGyi , M9N6MAGzi , M9N6MBFxi , M9N6MBFyi , M9N6MBFzi , M9N6MBxi , & - M9N6MByi , M9N6MBzi , M9N6MMGxi , M9N6MMGyi , M9N6MMGzi , M9N6STAxi , M9N6STAyi , & - M9N6STAzi , M9N6STVxi , M9N6STVyi , M9N6STVzi , M9N6Vxi , M9N6Vyi , M9N6Vzi , & - M9N7Axi , M9N7Ayi , M9N7Azi , M9N7DynP , M9N7FAFxi , M9N7FAFyi , M9N7FAFzi , & - M9N7FAGxi , M9N7FAGyi , M9N7FAGzi , M9N7FAMxi , M9N7FAMyi , M9N7FAMzi , M9N7FBFxi , & - M9N7FBFyi , M9N7FBFzi , M9N7FBxi , M9N7FByi , M9N7FBzi , M9N7FDxi , M9N7FDyi , & - M9N7FDzi , M9N7FIxi , M9N7FIyi , M9N7FIzi , M9N7FMGxi , M9N7FMGyi , M9N7FMGzi , & + M9N1FMGxi , M9N1FMGyi , M9N1FMGzi , M9N1FWExi , M9N1FWEyi , M9N1FWEzi , M9N1MAFxi , & + M9N1MAFyi , M9N1MAFzi , M9N1MAGxi , M9N1MAGyi , M9N1MAGzi , M9N1MBFxi , M9N1MBFyi , & + M9N1MBFzi , M9N1MBxi , M9N1MByi , M9N1MBzi , M9N1MMGxi , M9N1MMGyi , M9N1MMGzi , & + M9N1STAxi , M9N1STAyi , M9N1STAzi , M9N1STVxi , M9N1STVyi , M9N1STVzi , M9N1Vxi , & + M9N1Vyi , M9N1Vzi , M9N2Axi , M9N2Ayi , M9N2Azi , M9N2DynP , M9N2FAFxi , & + M9N2FAFyi , M9N2FAFzi , M9N2FAGxi , M9N2FAGyi , M9N2FAGzi , M9N2FAMxi , M9N2FAMyi , & + M9N2FAMzi , M9N2FBFxi , M9N2FBFyi , M9N2FBFzi , M9N2FBxi , M9N2FByi , M9N2FBzi , & + M9N2FDxi , M9N2FDyi , M9N2FDzi , M9N2FIxi , M9N2FIyi , M9N2FIzi , M9N2FMGxi , & + M9N2FMGyi , M9N2FMGzi , M9N2FWExi , M9N2FWEyi , M9N2FWEzi , M9N2MAFxi , M9N2MAFyi , & + M9N2MAFzi , M9N2MAGxi , M9N2MAGyi , M9N2MAGzi , M9N2MBFxi , M9N2MBFyi , M9N2MBFzi , & + M9N2MBxi , M9N2MByi , M9N2MBzi , M9N2MMGxi , M9N2MMGyi , M9N2MMGzi , M9N2STAxi , & + M9N2STAyi , M9N2STAzi , M9N2STVxi , M9N2STVyi , M9N2STVzi , M9N2Vxi , M9N2Vyi , & + M9N2Vzi , M9N3Axi , M9N3Ayi , M9N3Azi , M9N3DynP , M9N3FAFxi , M9N3FAFyi , & + M9N3FAFzi , M9N3FAGxi , M9N3FAGyi , M9N3FAGzi , M9N3FAMxi , M9N3FAMyi , M9N3FAMzi , & + M9N3FBFxi , M9N3FBFyi , M9N3FBFzi , M9N3FBxi , M9N3FByi , M9N3FBzi , M9N3FDxi , & + M9N3FDyi , M9N3FDzi , M9N3FIxi , M9N3FIyi , M9N3FIzi , M9N3FMGxi , M9N3FMGyi , & + M9N3FMGzi , M9N3FWExi , M9N3FWEyi , M9N3FWEzi , M9N3MAFxi , M9N3MAFyi , M9N3MAFzi , & + M9N3MAGxi , M9N3MAGyi , M9N3MAGzi , M9N3MBFxi , M9N3MBFyi , M9N3MBFzi , M9N3MBxi , & + M9N3MByi , M9N3MBzi , M9N3MMGxi , M9N3MMGyi , M9N3MMGzi , M9N3STAxi , M9N3STAyi , & + M9N3STAzi , M9N3STVxi , M9N3STVyi , M9N3STVzi , M9N3Vxi , M9N3Vyi , M9N3Vzi , & + M9N4Axi , M9N4Ayi , M9N4Azi , M9N4DynP , M9N4FAFxi , M9N4FAFyi , M9N4FAFzi , & + M9N4FAGxi , M9N4FAGyi , M9N4FAGzi , M9N4FAMxi , M9N4FAMyi , M9N4FAMzi , M9N4FBFxi , & + M9N4FBFyi , M9N4FBFzi , M9N4FBxi , M9N4FByi , M9N4FBzi , M9N4FDxi , M9N4FDyi , & + M9N4FDzi , M9N4FIxi , M9N4FIyi , M9N4FIzi , M9N4FMGxi , M9N4FMGyi , M9N4FMGzi , & + M9N4FWExi , M9N4FWEyi , M9N4FWEzi , M9N4MAFxi , M9N4MAFyi , M9N4MAFzi , M9N4MAGxi , & + M9N4MAGyi , M9N4MAGzi , M9N4MBFxi , M9N4MBFyi , M9N4MBFzi , M9N4MBxi , M9N4MByi , & + M9N4MBzi , M9N4MMGxi , M9N4MMGyi , M9N4MMGzi , M9N4STAxi , M9N4STAyi , M9N4STAzi , & + M9N4STVxi , M9N4STVyi , M9N4STVzi , M9N4Vxi , M9N4Vyi , M9N4Vzi , M9N5Axi , & + M9N5Ayi , M9N5Azi , M9N5DynP , M9N5FAFxi , M9N5FAFyi , M9N5FAFzi , M9N5FAGxi , & + M9N5FAGyi , M9N5FAGzi , M9N5FAMxi , M9N5FAMyi , M9N5FAMzi , M9N5FBFxi , M9N5FBFyi , & + M9N5FBFzi , M9N5FBxi , M9N5FByi , M9N5FBzi , M9N5FDxi , M9N5FDyi , M9N5FDzi , & + M9N5FIxi , M9N5FIyi , M9N5FIzi , M9N5FMGxi , M9N5FMGyi , M9N5FMGzi , M9N5FWExi , & + M9N5FWEyi , M9N5FWEzi , M9N5MAFxi , M9N5MAFyi , M9N5MAFzi , M9N5MAGxi , M9N5MAGyi , & + M9N5MAGzi , M9N5MBFxi , M9N5MBFyi , M9N5MBFzi , M9N5MBxi , M9N5MByi , M9N5MBzi , & + M9N5MMGxi , M9N5MMGyi , M9N5MMGzi , M9N5STAxi , M9N5STAyi , M9N5STAzi , M9N5STVxi , & + M9N5STVyi , M9N5STVzi , M9N5Vxi , M9N5Vyi , M9N5Vzi , M9N6Axi , M9N6Ayi , & + M9N6Azi , M9N6DynP , M9N6FAFxi , M9N6FAFyi , M9N6FAFzi , M9N6FAGxi , M9N6FAGyi , & + M9N6FAGzi , M9N6FAMxi , M9N6FAMyi , M9N6FAMzi , M9N6FBFxi , M9N6FBFyi , M9N6FBFzi , & + M9N6FBxi , M9N6FByi , M9N6FBzi , M9N6FDxi , M9N6FDyi , M9N6FDzi , M9N6FIxi , & + M9N6FIyi , M9N6FIzi , M9N6FMGxi , M9N6FMGyi , M9N6FMGzi , M9N6FWExi , M9N6FWEyi , & + M9N6FWEzi , M9N6MAFxi , M9N6MAFyi , M9N6MAFzi , M9N6MAGxi , M9N6MAGyi , M9N6MAGzi , & + M9N6MBFxi , M9N6MBFyi , M9N6MBFzi , M9N6MBxi , M9N6MByi , M9N6MBzi , M9N6MMGxi , & + M9N6MMGyi , M9N6MMGzi , M9N6STAxi , M9N6STAyi , M9N6STAzi , M9N6STVxi , M9N6STVyi , & + M9N6STVzi , M9N6Vxi , M9N6Vyi , M9N6Vzi , M9N7Axi , M9N7Ayi , M9N7Azi , & + M9N7DynP , M9N7FAFxi , M9N7FAFyi , M9N7FAFzi , M9N7FAGxi , M9N7FAGyi , M9N7FAGzi , & + M9N7FAMxi , M9N7FAMyi , M9N7FAMzi , M9N7FBFxi , M9N7FBFyi , M9N7FBFzi , M9N7FBxi , & + M9N7FByi , M9N7FBzi , M9N7FDxi , M9N7FDyi , M9N7FDzi , M9N7FIxi , M9N7FIyi , & + M9N7FIzi , M9N7FMGxi , M9N7FMGyi , M9N7FMGzi , M9N7FWExi , M9N7FWEyi , M9N7FWEzi , & M9N7MAFxi , M9N7MAFyi , M9N7MAFzi , M9N7MAGxi , M9N7MAGyi , M9N7MAGzi , M9N7MBFxi , & M9N7MBFyi , M9N7MBFzi , M9N7MBxi , M9N7MByi , M9N7MBzi , M9N7MMGxi , M9N7MMGyi , & M9N7MMGzi , M9N7STAxi , M9N7STAyi , M9N7STAzi , M9N7STVxi , M9N7STVyi , M9N7STVzi , & @@ -7750,19 +8189,20 @@ MODULE Morison_Output M9N8FAFxi , M9N8FAFyi , M9N8FAFzi , M9N8FAGxi , M9N8FAGyi , M9N8FAGzi , M9N8FAMxi , & M9N8FAMyi , M9N8FAMzi , M9N8FBFxi , M9N8FBFyi , M9N8FBFzi , M9N8FBxi , M9N8FByi , & M9N8FBzi , M9N8FDxi , M9N8FDyi , M9N8FDzi , M9N8FIxi , M9N8FIyi , M9N8FIzi , & - M9N8FMGxi , M9N8FMGyi , M9N8FMGzi , M9N8MAFxi , M9N8MAFyi , M9N8MAFzi , M9N8MAGxi , & - M9N8MAGyi , M9N8MAGzi , M9N8MBFxi , M9N8MBFyi , M9N8MBFzi , M9N8MBxi , M9N8MByi , & - M9N8MBzi , M9N8MMGxi , M9N8MMGyi , M9N8MMGzi , M9N8STAxi , M9N8STAyi , M9N8STAzi , & - M9N8STVxi , M9N8STVyi , M9N8STVzi , M9N8Vxi , M9N8Vyi , M9N8Vzi , M9N9Axi , & - M9N9Ayi , M9N9Azi , M9N9DynP , M9N9FAFxi , M9N9FAFyi , M9N9FAFzi , M9N9FAGxi , & - M9N9FAGyi , M9N9FAGzi , M9N9FAMxi , M9N9FAMyi , M9N9FAMzi , M9N9FBFxi , M9N9FBFyi , & - M9N9FBFzi , M9N9FBxi , M9N9FByi , M9N9FBzi , M9N9FDxi , M9N9FDyi , M9N9FDzi , & - M9N9FIxi , M9N9FIyi , M9N9FIzi , M9N9FMGxi , M9N9FMGyi , M9N9FMGzi , M9N9MAFxi , & - M9N9MAFyi , M9N9MAFzi , M9N9MAGxi , M9N9MAGyi , M9N9MAGzi , M9N9MBFxi , M9N9MBFyi , & - M9N9MBFzi , M9N9MBxi , M9N9MByi , M9N9MBzi , M9N9MMGxi , M9N9MMGyi , M9N9MMGzi , & - M9N9STAxi , M9N9STAyi , M9N9STAzi , M9N9STVxi , M9N9STVyi , M9N9STVzi , M9N9Vxi , & - M9N9Vyi , M9N9Vzi /) - INTEGER(IntKi), PARAMETER :: ParamIndxAry(4626) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) + M9N8FMGxi , M9N8FMGyi , M9N8FMGzi , M9N8FWExi , M9N8FWEyi , M9N8FWEzi , M9N8MAFxi , & + M9N8MAFyi , M9N8MAFzi , M9N8MAGxi , M9N8MAGyi , M9N8MAGzi , M9N8MBFxi , M9N8MBFyi , & + M9N8MBFzi , M9N8MBxi , M9N8MByi , M9N8MBzi , M9N8MMGxi , M9N8MMGyi , M9N8MMGzi , & + M9N8STAxi , M9N8STAyi , M9N8STAzi , M9N8STVxi , M9N8STVyi , M9N8STVzi , M9N8Vxi , & + M9N8Vyi , M9N8Vzi , M9N9Axi , M9N9Ayi , M9N9Azi , M9N9DynP , M9N9FAFxi , & + M9N9FAFyi , M9N9FAFzi , M9N9FAGxi , M9N9FAGyi , M9N9FAGzi , M9N9FAMxi , M9N9FAMyi , & + M9N9FAMzi , M9N9FBFxi , M9N9FBFyi , M9N9FBFzi , M9N9FBxi , M9N9FByi , M9N9FBzi , & + M9N9FDxi , M9N9FDyi , M9N9FDzi , M9N9FIxi , M9N9FIyi , M9N9FIzi , M9N9FMGxi , & + M9N9FMGyi , M9N9FMGzi , M9N9FWExi , M9N9FWEyi , M9N9FWEzi , M9N9MAFxi , M9N9MAFyi , & + M9N9MAFzi , M9N9MAGxi , M9N9MAGyi , M9N9MAGzi , M9N9MBFxi , M9N9MBFyi , M9N9MBFzi , & + M9N9MBxi , M9N9MByi , M9N9MBzi , M9N9MMGxi , M9N9MMGyi , M9N9MMGzi , M9N9STAxi , & + M9N9STAyi , M9N9STAzi , M9N9STVxi , M9N9STVyi , M9N9STVzi , M9N9Vxi , M9N9Vyi , & + M9N9Vzi /) + INTEGER(IntKi), PARAMETER :: ParamIndxAry(4896) = (/ & ! This lists the index into AllOuts(:) of the allowed parameters ValidParamAry(:) ParamIndxAry1, ParamIndxAry2, ParamIndxAry3/) !********************************************************************************************************************************** @@ -7882,7 +8322,10 @@ SUBROUTINE MrsnOut_MapOutputs( y, p, u, m ) AllOuts(MNFAMi (:,I,J)) =(mult1*m%memberLoads(im)%F_A (1:3,im1)*(1-s) + mult2*m%memberLoads(im)%F_A (1:3,im2)*s)/dl ! due to the structural member moving the fluid AllOuts(MNFAFi (:,I,J)) =(mult1*m%memberLoads(im)%F_If (1:3,im1)*(1-s) + mult2*m%memberLoads(im)%F_If(1:3 ,im2)*s)/dl ! due to the ballasted/flooded fluid AllOuts(MNMAFi (:,I,J)) =(mult1*m%memberLoads(im)%F_If (4:6,im1)*(1-s) + mult2*m%memberLoads(im)%F_If(4:6 ,im2)*s)/dl - + + ! water-entry/exit force + AllOuts(MNFWEi (:,I,J)) =(mult1*m%memberLoads(im)%F_WE (1:3,im1)*(1-s) + mult2*m%memberLoads(im)%F_WE (1:3,im2)*s)/dl + END DO END DO @@ -7911,6 +8354,7 @@ SUBROUTINE MrsnOut_MapOutputs( y, p, u, m ) AllOuts(JMBFi(:,I)) = m%F_BF_End(4:6, m1) ! ballasted/filled buoyancy moment AllOuts(JFIi (:,I)) = m%F_I_End (1:3, m1) ! inertial force AllOuts(JFAMi(:,I)) = m%F_A_End(1:3, m1) ! added mass force + AllOuts(JFWEi(:,I)) = m%F_WE_End(1:3, m1) ! water-entry/exit force AllOuts(JFAGi(:,I)) = m%F_IMG_End(1:3, m1) ! marine growth inertia AllOuts(JMAGi(:,I)) = m%F_IMG_End(4:6, m1) ! marine growth inertia AllOuts(JFMGi(:,I)) = p%F_WMG_End(1:3, m1) ! marine growth weight @@ -8199,47 +8643,43 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) - CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry1(1542) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters + CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry1(1632) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & "(N) ","(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) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m) ","(m) ","(m) ","(m/s^2)","(m/s^2)","(m/s^2)", & - "(Pa) ","(N) ","(N) ","(N) ","(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) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ","(m) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(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) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ", & - "(m) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & "(N) ","(N) ","(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) ", & - "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m) ","(m) ","(m) ","(m/s^2)","(m/s^2)", & - "(m/s^2)","(Pa) ","(N) ","(N) ","(N) ","(N) ","(N) ", & + "(N-m) ","(N-m) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ","(m) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N) ","(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) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ","(m) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ","(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) ","(m/s^2)","(m/s^2)","(m/s^2)", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ", & - "(m) ","(m) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & "(N) ","(N) ","(N) ","(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) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ","(m) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ","(N) ","(N) ", & + "(N-m) ","(N-m) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ","(m) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & "(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) ","(m/s^2)","(m/s^2)", & - "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m) ","(m) ","(m) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(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) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ","(m) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & @@ -8249,17 +8689,41 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & "(N) ","(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) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m) ","(m) ","(m) ","(m/s^2)","(m/s^2)","(m/s^2)", & - "(Pa) ","(N) ","(N) ","(N) ","(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) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ","(m) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & "(N) ","(N) ","(N) ","(N) ","(N) ","(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) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ", & - "(m) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & + "(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ","(N-m) ", & + "(N-m) ","(N-m) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ","(m) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N) ","(N) ","(N) ","(N) ", & + "(N) ","(N) ","(N) ","(N) ","(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) ","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m) ","(m) ","(m) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & + "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & + "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & @@ -8270,13 +8734,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & - "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8285,13 +8742,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8300,13 +8750,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & - "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & @@ -8315,13 +8758,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)", & - "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & @@ -8330,13 +8766,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & @@ -8344,13 +8773,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8359,13 +8781,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & - "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8374,13 +8789,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & - "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8389,13 +8797,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8404,13 +8805,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & - "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & @@ -8419,12 +8813,19 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)"/) - CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry2(1542) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & + "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & + "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & @@ -8435,13 +8836,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & - "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8450,13 +8844,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & - "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8465,13 +8852,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8480,13 +8860,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & - "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & @@ -8495,13 +8868,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)", & - "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & @@ -8510,18 +8876,29 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)"/) + CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry2(1632) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & + "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)", & + "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & @@ -8532,13 +8909,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & - "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & @@ -8547,13 +8917,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)", & - "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & @@ -8562,13 +8925,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & @@ -8576,13 +8932,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8591,13 +8940,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & - "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8606,13 +8948,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & - "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8621,14 +8956,7 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & @@ -8636,14 +8964,21 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & - "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & + "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & + "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) "/) - CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry3(1542) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8652,13 +8987,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8667,13 +8995,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & - "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8682,33 +9003,43 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & - "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & + "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & + "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & + "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & @@ -8719,13 +9050,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & - "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8734,33 +9058,43 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & - "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & - "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & - "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & + "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & + "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & + "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & @@ -8771,13 +9105,6 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & - "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8785,19 +9112,30 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)", & "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) "/) + CHARACTER(ChanLen), PARAMETER :: ParamUnitsAry3(1632) = (/ character(ChanLen) :: & ! This lists the units corresponding to the allowed parameters "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & - "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & + "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & + "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & @@ -8808,6 +9146,30 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & + "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)", & + "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & @@ -8816,6 +9178,30 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & + "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & + "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & + "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & @@ -8823,6 +9209,30 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)", & + "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & @@ -8831,6 +9241,30 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & + "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)", & + "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & + "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & @@ -8838,18 +9272,35 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & - "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & - "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & - "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & + "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)", & + "(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & @@ -8860,12 +9311,44 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) "(m/s^2)","(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)", & + "(m/s^2)","(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)", & + "(Pa) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) ","(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & "(m/s^2)","(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & - "(m/s) ","(m/s) "/) - CHARACTER(OutStrLenM1), PARAMETER :: ParamUnitsAry(4626) = (/ & ! This lists the units corresponding to the allowed parameters + "(m/s) ","(m/s) ","(m/s^2)","(m/s^2)","(m/s^2)","(Pa) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ", & + "(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N/m) ","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)", & + "(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(N-m/m)","(m/s^2)", & + "(m/s^2)","(m/s^2)","(m/s) ","(m/s) ","(m/s) ","(m/s) ","(m/s) ", & + "(m/s) "/) + CHARACTER(OutStrLenM1), PARAMETER :: ParamUnitsAry(4896) = (/ & ! This lists the units corresponding to the allowed parameters ParamUnitsAry1, ParamUnitsAry2, ParamUnitsAry3/) @@ -8896,6 +9379,7 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) InvalidOutput( MNFMGi(K,I,J)) = .true. InvalidOutput( MNMMGi(K,I,J)) = .true. InvalidOutput( MNFAMi(K,I,J)) = .true. + InvalidOutput( MNFWEi(K,I,J)) = .true. InvalidOutput( MNFAGi(K,I,J)) = .true. InvalidOutput( MNMAGi(K,I,J)) = .true. InvalidOutput( MNFAFi(K,I,J)) = .true. @@ -8922,6 +9406,7 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) InvalidOutput( MNFMGi(K,I,J)) = .true. InvalidOutput( MNMMGi(K,I,J)) = .true. InvalidOutput( MNFAMi(K,I,J)) = .true. + InvalidOutput( MNFWEi(K,I,J)) = .true. InvalidOutput( MNFAGi(K,I,J)) = .true. InvalidOutput( MNMAGi(K,I,J)) = .true. InvalidOutput( MNFAFi(K,I,J)) = .true. @@ -8948,6 +9433,7 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg ) InvalidOutput( JMBFi(K,I)) = .true. InvalidOutput( JFIi( K,I)) = .true. InvalidOutput( JFAMi(K,I)) = .true. + InvalidOutput( JFWEi(K,I)) = .true. InvalidOutput( JFAGi(K,I)) = .true. InvalidOutput( JMAGi(K,I)) = .true. InvalidOutput( JFMGi(K,I)) = .true. diff --git a/modules/hydrodyn/src/Morison_Types.f90 b/modules/hydrodyn/src/Morison_Types.f90 index 3ab02c2918..ec7d09f328 100644 --- a/modules/hydrodyn/src/Morison_Types.f90 +++ b/modules/hydrodyn/src/Morison_Types.f90 @@ -183,11 +183,11 @@ MODULE Morison_Types INTEGER(IntKi) :: MemberID = 0_IntKi !< User-supplied integer ID for this member [-] INTEGER(IntKi) :: NElements = 0_IntKi !< number of elements in this member [-] REAL(ReKi) :: RefLength = 0.0_ReKi !< the reference total length for this member [m] - REAL(ReKi) :: cosPhi_ref = 0.0_ReKi !< the reference cosine of the inclination angle of the member [-] REAL(ReKi) :: dl = 0.0_ReKi !< the reference element length for this member (may be less than MDivSize to achieve uniform element lengths) [m] REAL(ReKi) , DIMENSION(1:3) :: k = 0.0_ReKi !< unit vector of the member's orientation (may be changed to per-element once additional flexibility is accounted for in HydroDyn) [m] REAL(ReKi) , DIMENSION(1:3,1:3) :: kkt = 0.0_ReKi !< matrix of matmul(k_hat, transpose(k_hat) [-] REAL(ReKi) , DIMENSION(1:3,1:3) :: Ak = 0.0_ReKi !< matrix of I - kkt [-] + REAL(ReKi) , DIMENSION(1:3,1:3) :: CMatrix = 0.0_ReKi !< Rotation matrix from the section local system to the global system [-] REAL(ReKi) , DIMENSION(1:3) :: x_hat = 0.0_ReKi !< unit vector of rectangular member local x-axis aligned with Side A [-] REAL(ReKi) , DIMENSION(1:3) :: y_hat = 0.0_ReKi !< unit vector of rectangular member local y-axis aligned with Side B [-] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: R !< outer member radius at each node [m] @@ -289,6 +289,7 @@ MODULE Morison_Types REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_D !< Member-based (side-effects) Nodal viscous drag loads at time t [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_I !< Member-based (side-effects) Nodal inertial loads at time t [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_A !< Member-based (side-effects) Nodal added mass loads at time t [-] + REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_WE !< Member-based (side-effects) Nodal water entry/exit loads at time t [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_B !< Member-based (side-effects) Nodal buoyancy loads [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_BF !< Member-based (side-effects) Nodal flooded ballast weight/buoyancy loads [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_If !< Member-based (side-effects) Nodal flooded ballast inertia loads [-] @@ -406,8 +407,7 @@ MODULE Morison_Types ! ========= Morison_InitInputType ======= TYPE, PUBLIC :: Morison_InitInputType REAL(ReKi) :: Gravity = 0.0_ReKi !< Gravity (scalar, positive-valued) [m/s^2] - INTEGER(IntKi) :: WaveDisp = 0_IntKi !< Method of computing Wave Kinematics. (0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [-] - INTEGER(IntKi) :: AMMod = 0_IntKi !< 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) [overwrite to 0 when WaveStMod = 0 in SeaState] [-] + INTEGER(IntKi) :: WaveDisp = 0_IntKi !< Method of displacing strip-theory members and joints {0: use potential-flow consistent displacement, 1: use exact instantaneous displacement} [-] INTEGER(IntKi) :: HstMod = 0_IntKi !< Method of computing strip-theory hydrostatic loads. (0: Up to the still water level. 1: Up to the instantaneous free surface) [overwrite to 0 when WaveStMod = 0 in SeaState] [-] INTEGER(IntKi) :: NJoints = 0_IntKi !< Number of user-specified joints [-] INTEGER(IntKi) :: NNodes = 0_IntKi !< Total number of nodes in the final software model [-] @@ -529,11 +529,14 @@ MODULE Morison_Types REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_I_End !< Lumped intertia loads at time t, which may not correspond to the WaveTime array of times [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_IMG_End !< Joint marine growth intertia loads at time t, which may not correspond to the WaveTime array of times [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_A_End !< Lumped added mass loads at time t, which may not correspond to the WaveTime array of times [-] + REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_WE_End !< Lumped water entry/exit loads at time t [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_BF_End !< Joint internal ballast hydrostatic loads [-] REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: F_tot_End !< Joint total loads [-] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: V_rel_n !< Normal relative flow velocity at joints [m/s] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: V_rel_n_HiPass !< High-pass filtered normal relative flow velocity at joints [m/s] REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: zFillGroup !< Instantaneous highest point of each filled group [m] + REAL(ReKi) , DIMENSION(:), ALLOCATABLE :: HM_w !< Weight of the baseline strip-theory model at each node of the current member for blending with the shallow-angle model [-] + REAL(ReKi) , DIMENSION(:,:), ALLOCATABLE :: HM_nw !< Free-surface unit normal at each node of the current member [-] TYPE(MeshMapType) :: VisMeshMap !< Mesh mapping for visualization mesh [-] TYPE(GridInterp_MiscVarType) :: WaveField_m !< misc var information from the Grid Interpolation module [-] END TYPE Morison_MiscVarType @@ -542,8 +545,7 @@ MODULE Morison_Types TYPE, PUBLIC :: Morison_ParameterType REAL(DbKi) :: DT = 0.0_R8Ki !< Time step for continuous state integration & discrete state update [(sec)] REAL(ReKi) :: Gravity = 0.0_ReKi !< Gravity (scalar, positive-valued) [m/s^2] - INTEGER(IntKi) :: WaveDisp = 0_IntKi !< Method of computing Wave Kinematics. (0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [-] - INTEGER(IntKi) :: AMMod = 0_IntKi !< 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) [overwrite to 0 when WaveMod = 0 or 6 or when WaveStMod = 0 in SeaState] [-] + INTEGER(IntKi) :: WaveDisp = 0_IntKi !< Method of displacing strip-theory members and joints {0: use potential-flow consistent displacement, 1: use exact instantaneous displacement} [-] INTEGER(IntKi) :: HstMod = 0_IntKi !< Method of computing strip-theory hydrostatic loads. (0: Up to the still water level. 1: Up to the instantaneous free surface) [overwrite to 0 when WaveStMod = 0 in SeaState] [-] INTEGER(IntKi) :: NMembers = 0_IntKi !< number of members [-] TYPE(Morison_MemberType) , DIMENSION(:), ALLOCATABLE :: Members !< Array of Morison members used during simulation [-] @@ -577,6 +579,7 @@ MODULE Morison_Types TYPE, PUBLIC :: Morison_InputType TYPE(MeshType) :: Mesh !< Kinematics of each node input mesh [-] REAL(ReKi) :: PtfmRefY = 0.0_ReKi !< Reference platform yaw offset [(rad)] + REAL(ReKi) , DIMENSION(1:2) :: PtfmRefXY = 0.0_ReKi !< x,y drift of the HydroDyn origin (PRP), consistent with potential-flow body ExctnDisp. Used to displace the Morison members when WaveDisp=0 [(m)] REAL(ReKi) , DIMENSION(1:3) :: PRP = 0.0_ReKi !< Coordinates of the principal reference point [(m)] END TYPE Morison_InputType ! ======================= @@ -590,10 +593,11 @@ MODULE Morison_Types integer(IntKi), public, parameter :: Morison_x_DummyContState = 1 ! Morison%DummyContState integer(IntKi), public, parameter :: Morison_u_Mesh = 2 ! Morison%Mesh integer(IntKi), public, parameter :: Morison_u_PtfmRefY = 3 ! Morison%PtfmRefY - integer(IntKi), public, parameter :: Morison_u_PRP = 4 ! Morison%PRP - integer(IntKi), public, parameter :: Morison_y_Mesh = 5 ! Morison%Mesh - integer(IntKi), public, parameter :: Morison_y_VisMesh = 6 ! Morison%VisMesh - integer(IntKi), public, parameter :: Morison_y_WriteOutput = 7 ! Morison%WriteOutput + integer(IntKi), public, parameter :: Morison_u_PtfmRefXY = 4 ! Morison%PtfmRefXY + integer(IntKi), public, parameter :: Morison_u_PRP = 5 ! Morison%PRP + integer(IntKi), public, parameter :: Morison_y_Mesh = 6 ! Morison%Mesh + integer(IntKi), public, parameter :: Morison_y_VisMesh = 7 ! Morison%VisMesh + integer(IntKi), public, parameter :: Morison_y_WriteOutput = 8 ! Morison%WriteOutput contains @@ -1291,11 +1295,11 @@ subroutine Morison_CopyMemberType(SrcMemberTypeData, DstMemberTypeData, CtrlCode DstMemberTypeData%MemberID = SrcMemberTypeData%MemberID DstMemberTypeData%NElements = SrcMemberTypeData%NElements DstMemberTypeData%RefLength = SrcMemberTypeData%RefLength - DstMemberTypeData%cosPhi_ref = SrcMemberTypeData%cosPhi_ref DstMemberTypeData%dl = SrcMemberTypeData%dl DstMemberTypeData%k = SrcMemberTypeData%k DstMemberTypeData%kkt = SrcMemberTypeData%kkt DstMemberTypeData%Ak = SrcMemberTypeData%Ak + DstMemberTypeData%CMatrix = SrcMemberTypeData%CMatrix DstMemberTypeData%x_hat = SrcMemberTypeData%x_hat DstMemberTypeData%y_hat = SrcMemberTypeData%y_hat if (allocated(SrcMemberTypeData%R)) then @@ -2281,11 +2285,11 @@ subroutine Morison_PackMemberType(RF, Indata) call RegPack(RF, InData%MemberID) call RegPack(RF, InData%NElements) call RegPack(RF, InData%RefLength) - call RegPack(RF, InData%cosPhi_ref) call RegPack(RF, InData%dl) call RegPack(RF, InData%k) call RegPack(RF, InData%kkt) call RegPack(RF, InData%Ak) + call RegPack(RF, InData%CMatrix) call RegPack(RF, InData%x_hat) call RegPack(RF, InData%y_hat) call RegPackAlloc(RF, InData%R) @@ -2395,11 +2399,11 @@ subroutine Morison_UnPackMemberType(RF, OutData) call RegUnpack(RF, OutData%MemberID); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%NElements); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%RefLength); if (RegCheckErr(RF, RoutineName)) return - call RegUnpack(RF, OutData%cosPhi_ref); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%dl); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%k); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%kkt); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%Ak); if (RegCheckErr(RF, RoutineName)) return + call RegUnpack(RF, OutData%CMatrix); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%x_hat); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%y_hat); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%R); if (RegCheckErr(RF, RoutineName)) return @@ -2543,6 +2547,18 @@ subroutine Morison_CopyMemberLoads(SrcMemberLoadsData, DstMemberLoadsData, CtrlC end if DstMemberLoadsData%F_A = SrcMemberLoadsData%F_A end if + if (allocated(SrcMemberLoadsData%F_WE)) then + LB(1:2) = lbound(SrcMemberLoadsData%F_WE) + UB(1:2) = ubound(SrcMemberLoadsData%F_WE) + if (.not. allocated(DstMemberLoadsData%F_WE)) then + allocate(DstMemberLoadsData%F_WE(LB(1):UB(1),LB(2):UB(2)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstMemberLoadsData%F_WE.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstMemberLoadsData%F_WE = SrcMemberLoadsData%F_WE + end if if (allocated(SrcMemberLoadsData%F_B)) then LB(1:2) = lbound(SrcMemberLoadsData%F_B) UB(1:2) = ubound(SrcMemberLoadsData%F_B) @@ -2670,6 +2686,9 @@ subroutine Morison_DestroyMemberLoads(MemberLoadsData, ErrStat, ErrMsg) if (allocated(MemberLoadsData%F_A)) then deallocate(MemberLoadsData%F_A) end if + if (allocated(MemberLoadsData%F_WE)) then + deallocate(MemberLoadsData%F_WE) + end if if (allocated(MemberLoadsData%F_B)) then deallocate(MemberLoadsData%F_B) end if @@ -2707,6 +2726,7 @@ subroutine Morison_PackMemberLoads(RF, Indata) call RegPackAlloc(RF, InData%F_D) call RegPackAlloc(RF, InData%F_I) call RegPackAlloc(RF, InData%F_A) + call RegPackAlloc(RF, InData%F_WE) call RegPackAlloc(RF, InData%F_B) call RegPackAlloc(RF, InData%F_BF) call RegPackAlloc(RF, InData%F_If) @@ -2731,6 +2751,7 @@ subroutine Morison_UnPackMemberLoads(RF, OutData) call RegUnpackAlloc(RF, OutData%F_D); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%F_I); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%F_A); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%F_WE); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%F_B); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%F_BF); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%F_If); if (RegCheckErr(RF, RoutineName)) return @@ -3268,7 +3289,6 @@ subroutine Morison_CopyInitInput(SrcInitInputData, DstInitInputData, CtrlCode, E ErrMsg = '' DstInitInputData%Gravity = SrcInitInputData%Gravity DstInitInputData%WaveDisp = SrcInitInputData%WaveDisp - DstInitInputData%AMMod = SrcInitInputData%AMMod DstInitInputData%HstMod = SrcInitInputData%HstMod DstInitInputData%NJoints = SrcInitInputData%NJoints DstInitInputData%NNodes = SrcInitInputData%NNodes @@ -3717,7 +3737,6 @@ subroutine Morison_PackInitInput(RF, Indata) if (RF%ErrStat >= AbortErrLev) return call RegPack(RF, InData%Gravity) call RegPack(RF, InData%WaveDisp) - call RegPack(RF, InData%AMMod) call RegPack(RF, InData%HstMod) call RegPack(RF, InData%NJoints) call RegPack(RF, InData%NNodes) @@ -3924,7 +3943,6 @@ subroutine Morison_UnPackInitInput(RF, OutData) if (RF%ErrStat /= ErrID_None) return call RegUnpack(RF, OutData%Gravity); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%WaveDisp); if (RegCheckErr(RF, RoutineName)) return - call RegUnpack(RF, OutData%AMMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%HstMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%NJoints); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%NNodes); if (RegCheckErr(RF, RoutineName)) return @@ -4684,6 +4702,18 @@ subroutine Morison_CopyMisc(SrcMiscData, DstMiscData, CtrlCode, ErrStat, ErrMsg) end if DstMiscData%F_A_End = SrcMiscData%F_A_End end if + if (allocated(SrcMiscData%F_WE_End)) then + LB(1:2) = lbound(SrcMiscData%F_WE_End) + UB(1:2) = ubound(SrcMiscData%F_WE_End) + if (.not. allocated(DstMiscData%F_WE_End)) then + allocate(DstMiscData%F_WE_End(LB(1):UB(1),LB(2):UB(2)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstMiscData%F_WE_End.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstMiscData%F_WE_End = SrcMiscData%F_WE_End + end if if (allocated(SrcMiscData%F_BF_End)) then LB(1:2) = lbound(SrcMiscData%F_BF_End) UB(1:2) = ubound(SrcMiscData%F_BF_End) @@ -4744,6 +4774,30 @@ subroutine Morison_CopyMisc(SrcMiscData, DstMiscData, CtrlCode, ErrStat, ErrMsg) end if DstMiscData%zFillGroup = SrcMiscData%zFillGroup end if + if (allocated(SrcMiscData%HM_w)) then + LB(1:1) = lbound(SrcMiscData%HM_w) + UB(1:1) = ubound(SrcMiscData%HM_w) + if (.not. allocated(DstMiscData%HM_w)) then + allocate(DstMiscData%HM_w(LB(1):UB(1)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstMiscData%HM_w.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstMiscData%HM_w = SrcMiscData%HM_w + end if + if (allocated(SrcMiscData%HM_nw)) then + LB(1:2) = lbound(SrcMiscData%HM_nw) + UB(1:2) = ubound(SrcMiscData%HM_nw) + if (.not. allocated(DstMiscData%HM_nw)) then + allocate(DstMiscData%HM_nw(LB(1):UB(1),LB(2):UB(2)), stat=ErrStat2) + if (ErrStat2 /= 0) then + call SetErrStat(ErrID_Fatal, 'Error allocating DstMiscData%HM_nw.', ErrStat, ErrMsg, RoutineName) + return + end if + end if + DstMiscData%HM_nw = SrcMiscData%HM_nw + end if call NWTC_Library_CopyMeshMapType(SrcMiscData%VisMeshMap, DstMiscData%VisMeshMap, CtrlCode, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (ErrStat >= AbortErrLev) return @@ -4820,6 +4874,9 @@ subroutine Morison_DestroyMisc(MiscData, ErrStat, ErrMsg) if (allocated(MiscData%F_A_End)) then deallocate(MiscData%F_A_End) end if + if (allocated(MiscData%F_WE_End)) then + deallocate(MiscData%F_WE_End) + end if if (allocated(MiscData%F_BF_End)) then deallocate(MiscData%F_BF_End) end if @@ -4835,6 +4892,12 @@ subroutine Morison_DestroyMisc(MiscData, ErrStat, ErrMsg) if (allocated(MiscData%zFillGroup)) then deallocate(MiscData%zFillGroup) end if + if (allocated(MiscData%HM_w)) then + deallocate(MiscData%HM_w) + end if + if (allocated(MiscData%HM_nw)) then + deallocate(MiscData%HM_nw) + end if call NWTC_Library_DestroyMeshMapType(MiscData%VisMeshMap, ErrStat2, ErrMsg2) call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) call GridInterp_DestroyMisc(MiscData%WaveField_m, ErrStat2, ErrMsg2) @@ -4873,11 +4936,14 @@ subroutine Morison_PackMisc(RF, Indata) call RegPackAlloc(RF, InData%F_I_End) call RegPackAlloc(RF, InData%F_IMG_End) call RegPackAlloc(RF, InData%F_A_End) + call RegPackAlloc(RF, InData%F_WE_End) call RegPackAlloc(RF, InData%F_BF_End) call RegPackAlloc(RF, InData%F_tot_End) call RegPackAlloc(RF, InData%V_rel_n) call RegPackAlloc(RF, InData%V_rel_n_HiPass) call RegPackAlloc(RF, InData%zFillGroup) + call RegPackAlloc(RF, InData%HM_w) + call RegPackAlloc(RF, InData%HM_nw) call NWTC_Library_PackMeshMapType(RF, InData%VisMeshMap) call GridInterp_PackMisc(RF, InData%WaveField_m) if (RegCheckErr(RF, RoutineName)) return @@ -4921,11 +4987,14 @@ subroutine Morison_UnPackMisc(RF, OutData) call RegUnpackAlloc(RF, OutData%F_I_End); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%F_IMG_End); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%F_A_End); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%F_WE_End); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%F_BF_End); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%F_tot_End); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%V_rel_n); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%V_rel_n_HiPass); if (RegCheckErr(RF, RoutineName)) return call RegUnpackAlloc(RF, OutData%zFillGroup); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%HM_w); if (RegCheckErr(RF, RoutineName)) return + call RegUnpackAlloc(RF, OutData%HM_nw); if (RegCheckErr(RF, RoutineName)) return call NWTC_Library_UnpackMeshMapType(RF, OutData%VisMeshMap) ! VisMeshMap call GridInterp_UnpackMisc(RF, OutData%WaveField_m) ! WaveField_m end subroutine @@ -4946,7 +5015,6 @@ subroutine Morison_CopyParam(SrcParamData, DstParamData, CtrlCode, ErrStat, ErrM DstParamData%DT = SrcParamData%DT DstParamData%Gravity = SrcParamData%Gravity DstParamData%WaveDisp = SrcParamData%WaveDisp - DstParamData%AMMod = SrcParamData%AMMod DstParamData%HstMod = SrcParamData%HstMod DstParamData%NMembers = SrcParamData%NMembers if (allocated(SrcParamData%Members)) then @@ -5261,7 +5329,6 @@ subroutine Morison_PackParam(RF, Indata) call RegPack(RF, InData%DT) call RegPack(RF, InData%Gravity) call RegPack(RF, InData%WaveDisp) - call RegPack(RF, InData%AMMod) call RegPack(RF, InData%HstMod) call RegPack(RF, InData%NMembers) call RegPack(RF, allocated(InData%Members)) @@ -5352,7 +5419,6 @@ subroutine Morison_UnPackParam(RF, OutData) call RegUnpack(RF, OutData%DT); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%Gravity); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%WaveDisp); if (RegCheckErr(RF, RoutineName)) return - call RegUnpack(RF, OutData%AMMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%HstMod); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%NMembers); if (RegCheckErr(RF, RoutineName)) return if (allocated(OutData%Members)) deallocate(OutData%Members) @@ -5474,6 +5540,7 @@ subroutine Morison_CopyInput(SrcInputData, DstInputData, CtrlCode, ErrStat, ErrM call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName) if (ErrStat >= AbortErrLev) return DstInputData%PtfmRefY = SrcInputData%PtfmRefY + DstInputData%PtfmRefXY = SrcInputData%PtfmRefXY DstInputData%PRP = SrcInputData%PRP end subroutine @@ -5497,6 +5564,7 @@ subroutine Morison_PackInput(RF, Indata) if (RF%ErrStat >= AbortErrLev) return call MeshPack(RF, InData%Mesh) call RegPack(RF, InData%PtfmRefY) + call RegPack(RF, InData%PtfmRefXY) call RegPack(RF, InData%PRP) if (RegCheckErr(RF, RoutineName)) return end subroutine @@ -5508,6 +5576,7 @@ subroutine Morison_UnPackInput(RF, OutData) if (RF%ErrStat /= ErrID_None) return call MeshUnpack(RF, OutData%Mesh) ! Mesh call RegUnpack(RF, OutData%PtfmRefY); if (RegCheckErr(RF, RoutineName)) return + call RegUnpack(RF, OutData%PtfmRefXY); if (RegCheckErr(RF, RoutineName)) return call RegUnpack(RF, OutData%PRP); if (RegCheckErr(RF, RoutineName)) return end subroutine @@ -5685,6 +5754,7 @@ SUBROUTINE Morison_Input_ExtrapInterp1(u1, u2, tin, u_out, tin_out, ErrStat, Err CALL MeshExtrapInterp1(u1%Mesh, u2%Mesh, tin, u_out%Mesh, tin_out, ErrStat2, ErrMsg2) CALL SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg,RoutineName) u_out%PtfmRefY = a1*u1%PtfmRefY + a2*u2%PtfmRefY + u_out%PtfmRefXY = a1*u1%PtfmRefXY + a2*u2%PtfmRefXY u_out%PRP = a1*u1%PRP + a2*u2%PRP END SUBROUTINE @@ -5746,6 +5816,7 @@ SUBROUTINE Morison_Input_ExtrapInterp2(u1, u2, u3, tin, u_out, tin_out, ErrStat, CALL MeshExtrapInterp2(u1%Mesh, u2%Mesh, u3%Mesh, tin, u_out%Mesh, tin_out, ErrStat2, ErrMsg2) CALL SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg,RoutineName) u_out%PtfmRefY = a1*u1%PtfmRefY + a2*u2%PtfmRefY + a3*u3%PtfmRefY + u_out%PtfmRefXY = a1*u1%PtfmRefXY + a2*u2%PtfmRefXY + a3*u3%PtfmRefXY u_out%PRP = a1*u1%PRP + a2*u2%PRP + a3*u3%PRP END SUBROUTINE @@ -6044,6 +6115,8 @@ subroutine Morison_VarPackInput(V, u, ValAry) call MV_PackMesh(V, u%Mesh, ValAry) ! Mesh case (Morison_u_PtfmRefY) VarVals(1) = u%PtfmRefY ! Scalar + case (Morison_u_PtfmRefXY) + VarVals = u%PtfmRefXY(V%iLB:V%iUB) ! Rank 1 Array case (Morison_u_PRP) VarVals = u%PRP(V%iLB:V%iUB) ! Rank 1 Array case default @@ -6072,6 +6145,8 @@ subroutine Morison_VarUnpackInput(V, ValAry, u) call MV_UnpackMesh(V, ValAry, u%Mesh) ! Mesh case (Morison_u_PtfmRefY) u%PtfmRefY = VarVals(1) ! Scalar + case (Morison_u_PtfmRefXY) + u%PtfmRefXY(V%iLB:V%iUB) = VarVals ! Rank 1 Array case (Morison_u_PRP) u%PRP(V%iLB:V%iUB) = VarVals ! Rank 1 Array end select @@ -6086,6 +6161,8 @@ function Morison_InputFieldName(DL) result(Name) Name = "u%Mesh" case (Morison_u_PtfmRefY) Name = "u%PtfmRefY" + case (Morison_u_PtfmRefXY) + Name = "u%PtfmRefXY" case (Morison_u_PRP) Name = "u%PRP" case default diff --git a/modules/hydrodyn/src/WAMIT.f90 b/modules/hydrodyn/src/WAMIT.f90 index af55300db6..a2663878c5 100644 --- a/modules/hydrodyn/src/WAMIT.f90 +++ b/modules/hydrodyn/src/WAMIT.f90 @@ -2023,7 +2023,7 @@ SUBROUTINE WAMIT_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, Er END IF IF ( (ABS( WrapToPi(rotDisp(3)-u%PtfmRefY) ) > LrgAngle) .AND. FrstWarn_LrgY ) THEN ErrStat2 = ErrID_Severe - ErrMsg2 = 'Yaw angle of a potential-flow body relative to the reference yaw position (PtfmRefY) violated the small angle assumption. The solution might be inaccurate. Consider using PtfmYMod=1 and adjust PtfmYCutoff. Simulation continuing, but future warnings will be suppressed.' + ErrMsg2 = 'Yaw angle of a potential-flow body relative to the reference yaw position (PtfmRefY) violated the small angle assumption. The solution might be inaccurate. Consider using PtfmYMod=1 and adjust PtfmYCutOff. Simulation continuing, but future warnings will be suppressed.' call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) FrstWarn_LrgY = .FALSE. END IF diff --git a/openfast_io/openfast_io/FAST_reader.py b/openfast_io/openfast_io/FAST_reader.py index 63e8c1dc32..23b629f087 100644 --- a/openfast_io/openfast_io/FAST_reader.py +++ b/openfast_io/openfast_io/FAST_reader.py @@ -2031,7 +2031,6 @@ def read_HydroDyn(self, hd_file): #STRIP THEORY OPTIONS f.readline() self.fst_vt['HydroDyn']['WaveDisp'] = int_read(f.readline().split()[0]) - self.fst_vt['HydroDyn']['AMMod'] = int_read(f.readline().split()[0]) self.fst_vt['HydroDyn']['HstMod'] = int_read(f.readline().split()[0]) #AXIAL COEFFICIENTS diff --git a/openfast_io/openfast_io/FAST_writer.py b/openfast_io/openfast_io/FAST_writer.py index 477593306e..d3e6bbba87 100644 --- a/openfast_io/openfast_io/FAST_writer.py +++ b/openfast_io/openfast_io/FAST_writer.py @@ -1641,11 +1641,11 @@ def write_HydroDyn(self): f.write('------- HydroDyn Input File --------------------------------------------\n') f.write('Generated with OpenFAST_IO\n') f.write('{!s:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['Echo'], 'Echo', '- Echo the input file data (flag)\n')) - f.write('---------------------- FLOATING PLATFORM --------------------------------------- [unused with WaveMod=6]\n') + f.write('---------------------- FLOATING PLATFORM --------------------------------------- [only ExctnDisp, ExctnCutOff, PtfmYMod, PtfmRefY, and PtfmYCutOff used with WaveMod=6]\n') f.write('{:<22d} {:<11} {:}'.format(self.fst_vt['HydroDyn']['PotMod'], 'PotMod', '- Potential-flow model {0: none=no potential flow, 1: frequency-to-time-domain transforms based on WAMIT output, 2: fluid-impulse theory (FIT)} (switch)\n')) f.write('{:<22d} {:<11} {:}'.format(self.fst_vt['HydroDyn']['ExctnMod'], 'ExctnMod', '- Wave-excitation model {0: no wave-excitation calculation, 1: DFT, 2: state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ssexctn INPUT FILE]\n')) - f.write('{:<22d} {:<11} {:}'.format(self.fst_vt['HydroDyn']['ExctnDisp'], 'ExctnDisp','- Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0 and SeaState\'s WaveMod>0]} (switch)\n')) - f.write('{:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['ExctnCutOff'], 'ExctnCutOff','- Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0] [used only when PotMod=1, ExctnMod>0, and ExctnDisp=2]) [only used when PotMod=1 and ExctnMod>0 and SeaState\'s WaveMod>0]} (switch)\n')) + f.write('{:<22d} {:<11} {:}'.format(self.fst_vt['HydroDyn']['ExctnDisp'], 'ExctnDisp','- Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position} [used by potential flow when PotMod=1, ExctnMod>0, and SeaState\'s WaveMod>0; also used by strip theory when WaveDisp=0] (switch)\n')) + f.write('{:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['ExctnCutOff'], 'ExctnCutOff','- Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0; only used when ExctnDisp=2]\n')) f.write('{:<22d} {:<11} {:}'.format(self.fst_vt['HydroDyn']['PtfmYMod'], 'PtfmYMod', '- Model for large platform yaw offset {0: Static reference yaw offset based on PtfmRefY, 1: dynamic reference yaw offset based on low-pass filtering the PRP yaw motion with cutoff frequency PtfmYCutOff} (switch)\n')) f.write('{:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['PtfmRefY'], 'PtfmRefY', '- Constant (if PtfmYMod=0) or initial (if PtfmYMod=1) platform reference yaw offset (deg)\n')) f.write('{:<22} {:<11} {:}'.format(self.fst_vt['HydroDyn']['PtfmYCutOff'], 'PtfmYCutOff', '- Cutoff frequency for the low-pass filtering of PRP yaw motion when PtfmYMod=1 [unused when PtfmYMod=0] (Hz)\n')) @@ -1719,8 +1719,7 @@ def write_HydroDyn(self): f.write(ln) f.write('---------------------- STRIP THEORY OPTIONS --------------------------------------\n') - f.write('{:<22d} {:<11} {:}'.format(self.fst_vt['HydroDyn']['WaveDisp'], 'WaveDisp', '- Method of computing Wave Kinematics {0: use undisplaced position, 1: use displaced position) } (switch)\n')) - f.write('{:<22d} {:<11} {:}'.format(self.fst_vt['HydroDyn']['AMMod'], '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) [overwrite to 0 when WaveStMod = 0 in SeaState]]\n')) + f.write('{:<22d} {:<11} {:}'.format(self.fst_vt['HydroDyn']['WaveDisp'], 'WaveDisp', '- Method of displacing strip-theory members and joints {0: use potential-flow consistent displacement, 1: use exact instantaneous displacement} (switch)\n')) f.write('{:<22d} {:<11} {:}'.format(self.fst_vt['HydroDyn']['HstMod'], 'HstMod', '- Method of computing hydrostatic loads. (0: Up to the still water level. 1: Up to the instantaneous free surface) [overwrite to 0 when WaveStMod = 0 in SeaState]]\n')) f.write('---------------------- AXIAL COEFFICIENTS --------------------------------------\n') diff --git a/reg_tests/CTestList.cmake b/reg_tests/CTestList.cmake index 75ee500f81..920e79e569 100644 --- a/reg_tests/CTestList.cmake +++ b/reg_tests/CTestList.cmake @@ -508,6 +508,7 @@ 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") +hd_regression("hd_HMember_SurgeHeave" "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 e773db8bbf..73d993d51b 160000 --- a/reg_tests/r-test +++ b/reg_tests/r-test @@ -1 +1 @@ -Subproject commit e773db8bbf04208641791de8171a4607d1997a2a +Subproject commit 73d993d51bf845d14e381078d8c30b87ce897f53