LCOV - code coverage report
Current view: top level - EnergyPlus - FluidProperties.cc (source / functions) Hit Total Coverage
Test: lcov.output.filtered Lines: 1139 2255 50.5 %
Date: 2024-08-23 23:50:59 Functions: 49 67 73.1 %

          Line data    Source code
       1             : // EnergyPlus, Copyright (c) 1996-2024, The Board of Trustees of the University of Illinois,
       2             : // The Regents of the University of California, through Lawrence Berkeley National Laboratory
       3             : // (subject to receipt of any required approvals from the U.S. Dept. of Energy), Oak Ridge
       4             : // National Laboratory, managed by UT-Battelle, Alliance for Sustainable Energy, LLC, and other
       5             : // contributors. All rights reserved.
       6             : //
       7             : // NOTICE: This Software was developed under funding from the U.S. Department of Energy and the
       8             : // U.S. Government consequently retains certain rights. As such, the U.S. Government has been
       9             : // granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable,
      10             : // worldwide license in the Software to reproduce, distribute copies to the public, prepare
      11             : // derivative works, and perform publicly and display publicly, and to permit others to do so.
      12             : //
      13             : // Redistribution and use in source and binary forms, with or without modification, are permitted
      14             : // provided that the following conditions are met:
      15             : //
      16             : // (1) Redistributions of source code must retain the above copyright notice, this list of
      17             : //     conditions and the following disclaimer.
      18             : //
      19             : // (2) Redistributions in binary form must reproduce the above copyright notice, this list of
      20             : //     conditions and the following disclaimer in the documentation and/or other materials
      21             : //     provided with the distribution.
      22             : //
      23             : // (3) Neither the name of the University of California, Lawrence Berkeley National Laboratory,
      24             : //     the University of Illinois, U.S. Dept. of Energy nor the names of its contributors may be
      25             : //     used to endorse or promote products derived from this software without specific prior
      26             : //     written permission.
      27             : //
      28             : // (4) Use of EnergyPlus(TM) Name. If Licensee (i) distributes the software in stand-alone form
      29             : //     without changes from the version obtained under this License, or (ii) Licensee makes a
      30             : //     reference solely to the software portion of its product, Licensee must refer to the
      31             : //     software as "EnergyPlus version X" software, where "X" is the version number Licensee
      32             : //     obtained under this License and may not use a different name for the software. Except as
      33             : //     specifically required in this Section (4), Licensee shall not use in a company name, a
      34             : //     product name, in advertising, publicity, or other promotional activities any name, trade
      35             : //     name, trademark, logo, or other designation of "EnergyPlus", "E+", "e+" or confusingly
      36             : //     similar designation, without the U.S. Department of Energy's prior written consent.
      37             : //
      38             : // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
      39             : // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
      40             : // AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
      41             : // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
      42             : // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
      43             : // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
      44             : // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
      45             : // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      46             : // POSSIBILITY OF SUCH DAMAGE.
      47             : 
      48             : // C++ Headers
      49             : #include <cassert>
      50             : #include <cstddef>
      51             : #include <functional>
      52             : #include <limits>
      53             : 
      54             : // ObjexxFCL Headers
      55             : #include <ObjexxFCL/Fmath.hh>
      56             : 
      57             : // EnergyPlus Headers
      58             : #include <EnergyPlus/Data/EnergyPlusData.hh>
      59             : #include <EnergyPlus/DataIPShortCuts.hh>
      60             : #include <EnergyPlus/FluidProperties.hh>
      61             : #include <EnergyPlus/General.hh>
      62             : #include <EnergyPlus/InputProcessing/InputProcessor.hh>
      63             : #include <EnergyPlus/UtilityRoutines.hh>
      64             : 
      65             : namespace EnergyPlus {
      66             : 
      67             : namespace FluidProperties {
      68             : 
      69             :     // MODULE INFORMATION:
      70             :     //       AUTHOR         Mike Turner
      71             :     //       DATE WRITTEN   10 December 99
      72             :     //       MODIFIED       Rick Strand (April 2000, May 2000)
      73             :     //                      Simon Rees  (May, June 2002)
      74             :     //                      Rick Strand (June 2004)
      75             :     //                      Linda Lawrie (March 2008)
      76             :     //       RE-ENGINEERED  Rick Strand (April 2000, May 2000)
      77             : 
      78             :     // PURPOSE OF THIS MODULE:
      79             :     // This module contains subroutines which determine and return properties
      80             :     // of materials including enthalpy, quality, specific heat, and density.
      81             :     // The module uses InputProcessor to read the material type and the
      82             :     // associated charts from IN.IDF.  The module is only as powerful as the
      83             :     // amount of data loaded into this file.
      84             : 
      85             :     // METHODOLOGY EMPLOYED:
      86             :     // The module will first check if the current refrigerant has been read
      87             :     // in yet.  If not, it will get the data from IN.IDF and "store" it into
      88             :     // a set of variables.  Any future iterations with that refrigerant will
      89             :     // simply retrieve the data from storage instead of reading from the .IDF
      90             :     // file again.  After the data is made available, the module uses input
      91             :     // temperatures, pressures, and either quality or enthalpy to locate the
      92             :     // state point and choose the proper routine.  Finally, it performs a
      93             :     // double interpolation between temperatures and pressures or qualities
      94             :     // which surround the point on a chart specified by the input conditions.
      95             :     // The program is designed to work on either side of or under the vapor
      96             :     // dome.  This data can be added as needed.
      97             :     // Where properties are invalid at particular pressure/temperature points
      98             :     // in the data input file, zeros have to be inserted. This is necessary
      99             :     // as the data structures are rectangular. The zero values are used to detect
     100             :     // bounds of the data and issue appropriate warnings.
     101             :     // Properties of liquids (e.g. water) can be specified as glycol properties by
     102             :     // supplying the same data for concentrations of 0.0 and 1.0 only.
     103             :     // Temperature data has to be supplied in ascending order only.
     104             : 
     105             :     constexpr int DefaultNumGlyTemps(33);                  // Temperature dimension of default glycol data
     106             :     constexpr int DefaultNumGlyConcs(10);                  // Concentration dimension of default glycol data
     107             :     constexpr int DefaultNumSteamTemps(111);               // Temperature dimension of default steam data.
     108             :     constexpr int DefaultNumSteamSuperheatedTemps(114);    // Temperature dimension of default steam data.
     109             :     constexpr int DefaultNumSteamSuperheatedPressure(114); // Temperature dimension of default steam data.
     110             : 
     111             :     static constexpr std::array<Real64, DefaultNumGlyTemps> DefaultGlycolTemps = {
     112             :         -35.0, -30.0, -25.0, -20.0, -15.0, -10.0, -5.0, 0.0,  5.0,  10.0, 15.0,  20.0,  25.0,  30.0,  35.0,  40.0, 45.0,
     113             :         50.0,  55.0,  60.0,  65.0,  70.0,  75.0,  80.0, 85.0, 90.0, 95.0, 100.0, 105.0, 110.0, 115.0, 120.0, 125.0}; // 33 total temperature
     114             :     // points
     115             : 
     116             :     inline int GlycolTempToTempIndex(Real64 Temp)
     117             :     {
     118             :         return (int)(Temp / 5.0) + ((Temp < 0.0) ? 6 : 7);
     119             :     }
     120             : 
     121             :     static constexpr std::array<Real64, DefaultNumGlyConcs> DefaultGlycolConcs = {
     122             :         0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9}; // 10 total concentration points
     123             : 
     124             :     static constexpr std::array<Real64, DefaultNumGlyTemps> DefaultWaterCpData = {
     125             :         0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    4217.0, 4198.0, 4191.0, 4185.0, 4181.0, 4179.0, 4180.0, 4180.0, 4180.0, 4180.0,
     126             :         4181.0, 4183.0, 4185.0, 4188.0, 4192.0, 4196.0, 4200.0, 4203.0, 4208.0, 4213.0, 4218.0, 4223.0, 4228.0, 4233.0, 4238.0, 4243.0}; // in J/kg-K
     127             : 
     128             :     static constexpr std::array<Real64, DefaultNumGlyTemps> DefaultWaterViscData = {
     129             :         0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    1.7912e-3, 1.5183e-3, 1.306e-3,  1.1376e-3,
     130             :         1.0016e-3, 0.8901e-3, 0.7974e-3, 0.7193e-3, 0.653e-3,  0.5961e-3, 0.5468e-3, 0.504e-3,  0.4664e-3, 0.4332e-3, 0.4039e-3,
     131             :         0.3777e-3, 0.3543e-3, 0.3333e-3, 0.3144e-3, 0.2973e-3, 0.2817e-3, 0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3}; // in Pa-s
     132             : 
     133             :     static constexpr std::array<Real64, DefaultNumGlyTemps> DefaultWaterRhoData = {
     134             :         0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   999.8, 999.9, 999.7, 999.1, 998.2, 997.0, 995.6, 994.0, 992.2, 990.2,
     135             :         988.0, 985.7, 983.2, 980.5, 977.7, 974.8, 971.8, 968.6, 965.3, 961.9, 958.3, 0.0,   0.0,   0.0,   0.0,   0.0}; // in kg/m3
     136             : 
     137             :     static constexpr std::array<Real64, DefaultNumGlyTemps> DefaultWaterCondData = {
     138             :         0.0,    0.0,    0.0,    0.0,   0.0,    0.0,    0.0,  0.561,  0.5705, 0.58,   0.5893, 0.5984, 0.6072, 0.6155, 0.6233, 0.6306, 0.6373,
     139             :         0.6436, 0.6492, 0.6543, 0.659, 0.6631, 0.6668, 0.67, 0.6728, 0.6753, 0.6773, 0.6791, 0.0,    0.0,    0.0,    0.0,    0.0}; // in W/mK
     140             : 
     141             :     // Ethylene Glycol Data: Specific Heat in J/(kg-k)
     142             : 
     143             :     static constexpr std::array<std::array<Real64, DefaultNumGlyTemps>, DefaultNumGlyConcs>
     144             :         DefaultEthGlyCpData =
     145             :             {
     146             :                 {{0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    4217.0, 4198.0, 4191.0, 4185.0,
     147             :                   4181.0, 4179.0, 4180.0, 4180.0, 4180.0, 4180.0, 4181.0, 4183.0, 4185.0, 4188.0, 4192.0,
     148             :                   4196.0, 4200.0, 4203.0, 4208.0, 4213.0, 4218.0, 4223.0, 4228.0, 4233.0, 4238.0, 4243.0}, // DefaultWaterCpData
     149             :                  {0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    3937.0, 3946.0, 3954.0, 3963.0,
     150             :                   3972.0, 3981.0, 3989.0, 3998.0, 4007.0, 4015.0, 4024.0, 4033.0, 4042.0, 4050.0, 4059.0,
     151             :                   4068.0, 4077.0, 4085.0, 4094.0, 4103.0, 4112.0, 4120.0, 4129.0, 4138.0, 4147.0, 4155.0}, // Conc=0.1
     152             :                  {0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    3757.0, 3769.0, 3780.0, 3792.0, 3803.0,
     153             :                   3815.0, 3826.0, 3838.0, 3849.0, 3861.0, 3872.0, 3884.0, 3895.0, 3907.0, 3918.0, 3930.0,
     154             :                   3941.0, 3953.0, 3964.0, 3976.0, 3987.0, 3999.0, 4010.0, 4022.0, 4033.0, 4045.0, 4056.0}, // Conc=0.2
     155             :                  {0.0,    0.0,    0.0,    0.0,    0.0,    3560.0, 3574.0, 3589.0, 3603.0, 3617.0, 3631.0,
     156             :                   3645.0, 3660.0, 3674.0, 3688.0, 3702.0, 3716.0, 3730.0, 3745.0, 3759.0, 3773.0, 3787.0,
     157             :                   3801.0, 3816.0, 3830.0, 3844.0, 3858.0, 3872.0, 3886.0, 3901.0, 3915.0, 3929.0, 3943.0}, // Conc=0.3
     158             :                  {0.0,    0.0,    0.0,    3334.0, 3351.0, 3367.0, 3384.0, 3401.0, 3418.0, 3435.0, 3451.0,
     159             :                   3468.0, 3485.0, 3502.0, 3518.0, 3535.0, 3552.0, 3569.0, 3585.0, 3602.0, 3619.0, 3636.0,
     160             :                   3653.0, 3669.0, 3686.0, 3703.0, 3720.0, 3736.0, 3753.0, 3770.0, 3787.0, 3804.0, 3820.0}, // Conc=0.4
     161             :                  {3068.0, 3088.0, 3107.0, 3126.0, 3145.0, 3165.0, 3184.0, 3203.0, 3223.0, 3242.0, 3261.0,
     162             :                   3281.0, 3300.0, 3319.0, 3339.0, 3358.0, 3377.0, 3396.0, 3416.0, 3435.0, 3454.0, 3474.0,
     163             :                   3493.0, 3512.0, 3532.0, 3551.0, 3570.0, 3590.0, 3609.0, 3628.0, 3647.0, 3667.0, 3686.0}, // Conc=0.5
     164             :                  {2844.0, 2866.0, 2888.0, 2909.0, 2931.0, 2953.0, 2975.0, 2997.0, 3018.0, 3040.0, 3062.0,
     165             :                   3084.0, 3106.0, 3127.0, 3149.0, 3171.0, 3193.0, 3215.0, 3236.0, 3258.0, 3280.0, 3302.0,
     166             :                   3324.0, 3345.0, 3367.0, 3389.0, 3411.0, 3433.0, 3454.0, 3476.0, 3498.0, 3520.0, 3542.0}, // Conc=0.6
     167             :                  {2612.0, 2636.0, 2660.0, 2685.0, 2709.0, 2733.0, 2757.0, 2782.0, 2806.0, 2830.0, 2854.0,
     168             :                   2878.0, 2903.0, 2927.0, 2951.0, 2975.0, 3000.0, 3024.0, 3048.0, 3072.0, 3097.0, 3121.0,
     169             :                   3145.0, 3169.0, 3193.0, 3218.0, 3242.0, 3266.0, 3290.0, 3315.0, 3339.0, 3363.0, 3387.0}, // Conc=0.7
     170             :                  {2370.0, 2397.0, 2423.0, 2450.0, 2477.0, 2503.0, 2530.0, 2556.0, 2583.0, 2610.0, 2636.0,
     171             :                   2663.0, 2690.0, 2716.0, 2743.0, 2770.0, 2796.0, 2823.0, 2850.0, 2876.0, 2903.0, 2929.0,
     172             :                   2956.0, 2983.0, 3009.0, 3036.0, 3063.0, 3089.0, 3116.0, 3143.0, 3169.0, 3196.0, 3223.0}, // Conc=0.8
     173             :                  {0.0,    0.0,    2177.0, 2206.0, 2235.0, 2264.0, 2293.0, 2322.0, 2351.0, 2380.0, 2409.0,
     174             :                   2438.0, 2467.0, 2496.0, 2525.0, 2554.0, 2583.0, 2612.0, 2641.0, 2670.0, 2699.0, 2728.0,
     175             :                   2757.0, 2786.0, 2815.0, 2844.0, 2873.0, 2902.0, 2931.0, 2960.0, 2989.0, 3018.0, 3047.0}} // Conc=0.9
     176             :     };
     177             : 
     178             :     // Ethylene Glycol Data: Viscosity in mPa-s
     179             :     static constexpr std::array<std::array<Real64, DefaultNumGlyTemps>, DefaultNumGlyConcs> DefaultEthGlyViscData = {
     180             :         {{0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    1.7912e-3, 1.5183e-3, 1.306e-3,  1.1376e-3,
     181             :           1.0016e-3, 0.8901e-3, 0.7974e-3, 0.7193e-3, 0.653e-3,  0.5961e-3, 0.5468e-3, 0.504e-3,  0.4664e-3, 0.4332e-3, 0.4039e-3,
     182             :           0.3777e-3, 0.3543e-3, 0.3333e-3, 0.3144e-3, 0.2973e-3, 0.2817e-3, 0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3},
     183             :          {0.0e+00,  0.0e+00,  0.0e+00, 0.0e+00, 0.0e+00, 0.0e+00, 0.0e+00, 2.08e-03, 1.79e-03, 1.56e-03, 1.37e-03,
     184             :           1.21e-03, 1.08e-03, 9.7e-04, 8.8e-04, 8.0e-04, 7.3e-04, 6.7e-04, 6.2e-04,  5.7e-04,  5.3e-04,  5.0e-04,
     185             :           4.7e-04,  4.4e-04,  4.1e-04, 3.9e-04, 3.7e-04, 3.5e-04, 3.3e-04, 3.2e-04,  3.0e-04,  2.9e-04,  2.8e-04}, // Conc = 0.1
     186             :          {0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00, 3.65e-03, 3.02e-03, 2.54e-03, 2.18e-03, 1.89e-03,
     187             :           1.65e-03, 1.46e-03, 1.30e-03, 1.17e-03, 1.06e-03, 9.6e-04, 8.8e-04,  8.1e-04,  7.4e-04,  6.9e-04,  6.4e-04,
     188             :           5.9e-04,  5.5e-04,  5.2e-04,  4.9e-04,  4.6e-04,  4.3e-04, 4.0e-04,  3.8e-04,  3.6e-04,  3.4e-04,  3.3e-04}, // Conc = 0.2
     189             :          {0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  6.19e-03, 5.03e-03, 4.15e-03, 3.48e-03, 2.95e-03, 2.53e-03,
     190             :           2.20e-03, 1.92e-03, 1.69e-03, 1.50e-03, 1.34e-03, 1.21e-03, 1.09e-03, 9.9e-04,  9.0e-04,  8.3e-04,  7.6e-04,
     191             :           7.0e-04,  6.5e-04,  6.0e-04,  5.6e-04,  5.2e-04,  4.9e-04,  4.6e-04,  4.3e-04,  4.1e-04,  3.8e-04,  3.6e-04}, // Conc = 0.3
     192             :          {0.0e+00,  0.0e+00,  0.0e+00,  1.575e-02, 1.174e-02, 9.06e-03, 7.18e-03, 5.83e-03, 4.82e-03, 4.04e-03, 3.44e-03,
     193             :           2.96e-03, 2.57e-03, 2.26e-03, 1.99e-03,  1.77e-03,  1.59e-03, 1.43e-03, 1.29e-03, 1.17e-03, 1.06e-03, 9.7e-04,
     194             :           8.9e-04,  8.2e-04,  7.6e-04,  7.0e-04,   6.5e-04,   6.0e-04,  5.6e-04,  5.3e-04,  4.9e-04,  4.6e-04,  4.3e-04}, // Conc = 0.4
     195             :          {6.693e-02, 4.398e-02, 3.050e-02, 2.207e-02, 1.653e-02, 1.274e-02, 1.005e-02, 8.09e-03, 6.63e-03, 5.50e-03, 4.63e-03,
     196             :           3.94e-03,  3.39e-03,  2.94e-03,  2.56e-03,  2.26e-03,  2.00e-03,  1.78e-03,  1.59e-03, 1.43e-03, 1.29e-03, 1.17e-03,
     197             :           1.07e-03,  9.8e-04,   8.9e-04,   8.2e-04,   7.6e-04,   7.0e-04,   6.5e-04,   6.0e-04,  5.6e-04,  5.3e-04,  4.9e-04}, // Conc = 0.5
     198             :          {9.344e-02, 6.525e-02, 4.675e-02, 3.428e-02, 2.569e-02, 1.962e-02, 1.525e-02, 1.205e-02, 9.66e-03, 7.85e-03, 6.46e-03,
     199             :           5.38e-03,  4.52e-03,  3.84e-03,  3.29e-03,  2.84e-03,  2.47e-03,  2.16e-03,  1.91e-03,  1.69e-03, 1.51e-03, 1.35e-03,
     200             :           1.22e-03,  1.10e-03,  1.00e-03,  9.2e-04,   8.4e-04,   7.7e-04,   7.1e-04,   6.6e-04,   6.1e-04,  5.7e-04,  5.3e-04}, // Conc = 0.6
     201             :          {1.3353e-01, 9.657e-02, 7.038e-02, 5.194e-02, 3.888e-02, 2.953e-02, 2.276e-02, 1.779e-02, 1.409e-02, 1.131e-02, 9.18e-03,
     202             :           7.53e-03,   6.24e-03,  5.23e-03,  4.42e-03,  3.76e-03,  3.23e-03,  2.80e-03,  2.43e-03,  2.13e-03,  1.88e-03,  1.67e-03,
     203             :           1.49e-03,   1.33e-03,  1.20e-03,  1.09e-03,  9.9e-04,   9.0e-04,   8.2e-04,   7.6e-04,   7.0e-04,   6.4e-04,   6.0e-04}, // Conc = 0.7
     204             :          {1.9109e-01, 1.4102e-01, 1.0221e-01, 7.453e-02, 5.509e-02, 4.136e-02, 3.156e-02, 2.444e-02, 1.920e-02, 1.529e-02, 1.233e-02,
     205             :           1.005e-02,  8.29e-03,   6.90e-03,   5.79e-03,  4.91e-03,  4.19e-03,  3.61e-03,  3.12e-03,  2.72e-03,  2.39e-03,  2.11e-03,
     206             :           1.87e-03,   1.66e-03,   1.49e-03,   1.34e-03,  1.21e-03,  1.10e-03,  1.00e-03,  9.1e-04,   8.3e-04,   7.7e-04,   7.1e-04}, // Conc = 0.8
     207             :          {0.0e+00,   0.0e+00,   1.9687e-01, 1.2843e-01, 8.752e-02, 6.185e-02, 4.508e-02, 3.374e-02, 2.584e-02, 2.018e-02, 1.604e-02,
     208             :           1.295e-02, 1.059e-02, 8.77e-03,   7.34e-03,   6.21e-03,  5.30e-03,  4.56e-03,  3.95e-03,  3.45e-03,  3.03e-03,  2.67e-03,
     209             :           2.37e-03,  2.12e-03,  1.90e-03,   1.71e-03,   1.54e-03,  1.40e-03,  1.27e-03,  1.16e-03,  1.07e-03,  9.8e-04,   9.0e-04}} // Conc = 0.9
     210             :     };
     211             : 
     212             :     // Ethylene Glycol Data: Density in kg/m3
     213             :     static constexpr std::array<std::array<Real64, DefaultNumGlyTemps>, DefaultNumGlyConcs> DefaultEthGlyRhoData = {
     214             :         {{0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   999.8, 999.9, 999.7, 999.1, 998.2, 997.0, 995.6, 994.0, 992.2, 990.2,
     215             :           988.0, 985.7, 983.2, 980.5, 977.7, 974.8, 971.8, 968.6, 965.3, 961.9, 958.3, 0.0,   0.0,   0.0,   0.0,   0.0}, // DefaultWaterRhoData
     216             :          {0.00,    0.00,    0.00,    0.00,    0.00,    0.00,    0.00,    1018.73, 1017.57, 1016.28, 1014.87,
     217             :           1013.34, 1011.69, 1009.92, 1008.02, 1006.01, 1003.87, 1001.61, 999.23,  996.72,  994.10,  991.35,
     218             :           988.49,  985.50,  982.39,  979.15,  975.80,  972.32,  968.73,  965.01,  961.17,  957.21,  953.12}, // Conc=0.1
     219             :          {0.00,    0.00,    0.00,    0.00,    0.00,    0.00,    1036.85, 1035.67, 1034.36, 1032.94, 1031.39,
     220             :           1029.72, 1027.93, 1026.02, 1023.99, 1021.83, 1019.55, 1017.16, 1014.64, 1011.99, 1009.23, 1006.35,
     221             :           1003.34, 1000.21, 996.96,  993.59,  990.10,  986.48,  982.75,  978.89,  974.91,  970.81,  966.59}, // Conc=0.2
     222             :          {0.00,    0.00,    0.00,    0.00,    0.00,    1054.31, 1053.11, 1051.78, 1050.33, 1048.76, 1047.07,
     223             :           1045.25, 1043.32, 1041.26, 1039.08, 1036.78, 1034.36, 1031.36, 1029.15, 1026.36, 1023.45, 1020.42,
     224             :           1017.27, 1014.00, 1010.60, 1007.09, 1003.45, 999.69,  995.81,  991.81,  987.68,  983.43,  979.07}, // Conc=0.3
     225             :          {0.00,    0.00,    0.00,    1071.98, 1070.87, 1069.63, 1068.28, 1066.80, 1065.21, 1063.49, 1061.65,
     226             :           1059.68, 1057.60, 1055.39, 1053.07, 1050.62, 1048.05, 1045.35, 1042.54, 1039.61, 1036.55, 1033.37,
     227             :           1030.07, 1026.65, 1023.10, 1019.44, 1015.65, 1011.74, 1007.70, 1003.56, 999.29,  994.90,  990.38}, // Conc=0.4
     228             :          {1089.94, 1089.04, 1088.01, 1086.87, 1085.61, 1084.22, 1082.71, 1081.08, 1079.33, 1077.46, 1075.46,
     229             :           1073.35, 1071.11, 1068.75, 1066.27, 1063.66, 1060.94, 1058.09, 1055.13, 1052.04, 1048.83, 1045.49,
     230             :           1042.04, 1038.46, 1034.77, 1030.95, 1027.01, 1022.95, 1018.76, 1014.46, 1010.03, 1005.48, 1000.81}, // Conc=0.5
     231             :          {1104.60, 1103.54, 1102.36, 1101.06, 1099.64, 1098.09, 1096.43, 1094.64, 1092.73, 1090.70, 1088.54,
     232             :           1086.27, 1083.87, 1081.35, 1078.71, 1075.95, 1073.07, 1070.06, 1066.94, 1063.69, 1060.32, 1056.83,
     233             :           1053.22, 1049.48, 1045.63, 1041.65, 1037.55, 1033.33, 1028.99, 1024.52, 1019.94, 1015.23, 1010.40}, // Conc=0.6
     234             :          {1118.61, 1117.38, 1116.04, 1114.58, 1112.99, 1111.28, 1109.45, 1107.50, 1105.43, 1103.23, 1100.92,
     235             :           1098.48, 1095.92, 1093.24, 1090.43, 1087.51, 1084.46, 1081.30, 1078.01, 1074.60, 1071.06, 1067.41,
     236             :           1063.64, 1059.74, 1055.72, 1051.58, 1047.32, 1042.93, 1038.43, 1033.80, 1029.05, 1024.18, 1019.19}, // Conc=0.7
     237             :          {1132.11, 1130.72, 1129.21, 1127.57, 1125.82, 1123.94, 1121.94, 1119.82, 1117.58, 1115.22, 1112.73,
     238             :           1110.13, 1107.40, 1104.55, 1101.58, 1098.48, 1095.27, 1091.93, 1088.48, 1084.90, 1081.20, 1077.37,
     239             :           1073.43, 1069.36, 1065.18, 1060.87, 1056.44, 1051.88, 1047.21, 1042.41, 1037.50, 1032.46, 1027.30}, // Conc=0.8
     240             :          {0.00,    0.00,    1141.87, 1140.07, 1138.14, 1136.09, 1133.91, 1131.62, 1129.20, 1126.67, 1124.01,
     241             :           1121.23, 1118.32, 1115.30, 1112.15, 1108.89, 1105.50, 1101.99, 1098.36, 1094.60, 1090.73, 1086.73,
     242             :           1082.61, 1078.37, 1074.01, 1069.53, 1064.92, 1060.20, 1055.35, 1050.38, 1045.29, 1040.08, 1034.74}} // Conc=0.9
     243             :     };
     244             : 
     245             :     // Ethylene Glycol Data: Conductivity in W/(m-K)
     246             :     static constexpr std::
     247             :         array<std::array<Real64, DefaultNumGlyTemps>, DefaultNumGlyConcs>
     248             :             DefaultEthGlyCondData =
     249             :                 {
     250             :                     {{0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.561,  0.5705, 0.58,  0.5893,
     251             :                       0.5984, 0.6072, 0.6155, 0.6233, 0.6306, 0.6373, 0.6436, 0.6492, 0.6543, 0.659, 0.6631,
     252             :                       0.6668, 0.67,   0.6728, 0.6753, 0.6773, 0.6791, 0.0,    0.0,    0.0,    0.0,   0.0}, // DefaultWaterCondData
     253             :                      {0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.511, 0.520, 0.528, 0.537, 0.545, 0.552, 0.559, 0.566, 0.572, 0.577,
     254             :                       0.583, 0.588, 0.592, 0.596, 0.600, 0.603, 0.606, 0.608, 0.610, 0.612, 0.613, 0.614, 0.614, 0.614, 0.613, 0.612}, // Conc=0.1
     255             :                      {0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.460, 0.468, 0.476, 0.483, 0.490, 0.497, 0.503, 0.509, 0.515, 0.520, 0.525,
     256             :                       0.529, 0.534, 0.538, 0.541, 0.544, 0.547, 0.549, 0.551, 0.553, 0.555, 0.556, 0.556, 0.557, 0.557, 0.556, 0.555}, // Conc=0.2
     257             :                      {0.000, 0.000, 0.000, 0.000, 0.000, 0.415, 0.422, 0.429, 0.436, 0.442, 0.448, 0.453, 0.459, 0.464, 0.469, 0.473, 0.477,
     258             :                       0.481, 0.485, 0.488, 0.491, 0.494, 0.496, 0.498, 0.500, 0.501, 0.503, 0.504, 0.504, 0.505, 0.505, 0.504, 0.504}, // Conc=0.3
     259             :                      {0.000, 0.000, 0.000, 0.371, 0.377, 0.383, 0.389, 0.395, 0.400, 0.405, 0.410, 0.415, 0.419, 0.424, 0.428, 0.431, 0.435,
     260             :                       0.438, 0.441, 0.444, 0.446, 0.449, 0.451, 0.452, 0.454, 0.455, 0.456, 0.457, 0.458, 0.458, 0.458, 0.458, 0.458}, // Conc=0.4
     261             :                      {0.328, 0.333, 0.339, 0.344, 0.349, 0.354, 0.359, 0.364, 0.368, 0.373, 0.377, 0.380, 0.384, 0.387, 0.391, 0.394, 0.397,
     262             :                       0.399, 0.402, 0.404, 0.406, 0.408, 0.410, 0.411, 0.413, 0.414, 0.415, 0.416, 0.416, 0.417, 0.417, 0.417, 0.417}, // Conc=0.5
     263             :                      {0.307, 0.312, 0.316, 0.321, 0.325, 0.329, 0.333, 0.336, 0.340, 0.343, 0.346, 0.349, 0.352, 0.355, 0.358, 0.360, 0.363,
     264             :                       0.365, 0.367, 0.369, 0.371, 0.372, 0.374, 0.375, 0.376, 0.377, 0.378, 0.379, 0.379, 0.380, 0.380, 0.380, 0.380}, // Conc=0.6
     265             :                      {0.289, 0.293, 0.296, 0.300, 0.303, 0.306, 0.309, 0.312, 0.314, 0.317, 0.320, 0.322, 0.324, 0.327, 0.329, 0.331, 0.332,
     266             :                       0.334, 0.336, 0.337, 0.339, 0.340, 0.341, 0.342, 0.343, 0.344, 0.345, 0.346, 0.346, 0.347, 0.347, 0.347, 0.347}, // Conc=0.7
     267             :                      {0.274, 0.276, 0.279, 0.281, 0.283, 0.286, 0.288, 0.290, 0.292, 0.294, 0.296, 0.298, 0.299, 0.301, 0.303, 0.304, 0.306,
     268             :                       0.307, 0.308, 0.310, 0.311, 0.312, 0.313, 0.314, 0.314, 0.315, 0.316, 0.316, 0.317, 0.317, 0.318, 0.318, 0.318}, // Conc=0.8
     269             :                      {0.000, 0.000, 0.263, 0.265, 0.266, 0.268, 0.269, 0.271, 0.272, 0.274, 0.275, 0.276, 0.278, 0.279, 0.280, 0.281, 0.282,
     270             :                       0.283, 0.284, 0.285, 0.286, 0.287, 0.288, 0.288, 0.289, 0.290, 0.290, 0.291, 0.291, 0.292, 0.292, 0.293, 0.293}} // Conc=0.9
     271             :     };
     272             : 
     273             :     // Propylene Glycol Data: Specific Heat in J/(kg-k)
     274             :     static constexpr std::array<std::array<Real64, DefaultNumGlyTemps>, DefaultNumGlyConcs>
     275             :         DefaultPropGlyCpData =
     276             :             {
     277             :                 {{0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    4217.0, 4198.0, 4191.0, 4185.0,
     278             :                   4181.0, 4179.0, 4180.0, 4180.0, 4180.0, 4180.0, 4181.0, 4183.0, 4185.0, 4188.0, 4192.0,
     279             :                   4196.0, 4200.0, 4203.0, 4208.0, 4213.0, 4218.0, 4223.0, 4228.0, 4233.0, 4238.0, 4243.0}, // DefaultWaterCpData
     280             :                                                                                                            // in
     281             :                                                                                                            // J/kg-K
     282             :                  {0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    4042.0, 4050.0, 4058.0, 4067.0,
     283             :                   4075.0, 4083.0, 4091.0, 4099.0, 4107.0, 4115.0, 4123.0, 4131.0, 4139.0, 4147.0, 4155.0,
     284             :                   4163.0, 4171.0, 4179.0, 4187.0, 4195.0, 4203.0, 4211.0, 4219.0, 4227.0, 4235.0, 4243.0}, // Conc=0.1
     285             :                  {0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    3918.0, 3929.0, 3940.0, 3951.0, 3962.0,
     286             :                   3973.0, 3983.0, 3994.0, 4005.0, 4016.0, 4027.0, 4038.0, 4049.0, 4060.0, 4071.0, 4082.0,
     287             :                   4093.0, 4104.0, 4115.0, 4126.0, 4136.0, 4147.0, 4158.0, 4169.0, 4180.0, 4191.0, 4202.0}, // Conc=0.2
     288             :                  {0.0,    0.0,    0.0,    0.0,    0.0,    3765.0, 3779.0, 3793.0, 3807.0, 3820.0, 3834.0,
     289             :                   3848.0, 3862.0, 3875.0, 3889.0, 3903.0, 3917.0, 3930.0, 3944.0, 3958.0, 3972.0, 3985.0,
     290             :                   3999.0, 4013.0, 4027.0, 4040.0, 4054.0, 4068.0, 4082.0, 4095.0, 4109.0, 4123.0, 4137.0}, // Conc=0.3
     291             :                  {0.0,    0.0,    0.0,    0.0,    3586.0, 3603.0, 3619.0, 3636.0, 3652.0, 3669.0, 3685.0,
     292             :                   3702.0, 3718.0, 3735.0, 3751.0, 3768.0, 3784.0, 3801.0, 3817.0, 3834.0, 3850.0, 3867.0,
     293             :                   3883.0, 3900.0, 3916.0, 3933.0, 3949.0, 3966.0, 3982.0, 3999.0, 4015.0, 4032.0, 4049.0}, // Conc=0.4
     294             :                  {0.0,    0.0,    3358.0, 3378.0, 3397.0, 3416.0, 3435.0, 3455.0, 3474.0, 3493.0, 3513.0,
     295             :                   3532.0, 3551.0, 3570.0, 3590.0, 3609.0, 3628.0, 3648.0, 3667.0, 3686.0, 3706.0, 3725.0,
     296             :                   3744.0, 3763.0, 3783.0, 3802.0, 3821.0, 3841.0, 3860.0, 3879.0, 3898.0, 3918.0, 3937.0}, // Conc=0.5
     297             :                  {3096.0, 3118.0, 3140.0, 3162.0, 3184.0, 3206.0, 3228.0, 3250.0, 3272.0, 3295.0, 3317.0,
     298             :                   3339.0, 3361.0, 3383.0, 3405.0, 3427.0, 3449.0, 3471.0, 3493.0, 3515.0, 3537.0, 3559.0,
     299             :                   3581.0, 3603.0, 3625.0, 3647.0, 3670.0, 3692.0, 3714.0, 3736.0, 3758.0, 3780.0, 3802.0}, // Conc=0.6
     300             :                  {2843.0, 2868.0, 2893.0, 2918.0, 2943.0, 2968.0, 2993.0, 3018.0, 3042.0, 3067.0, 3092.0,
     301             :                   3117.0, 3142.0, 3167.0, 3192.0, 3217.0, 3242.0, 3266.0, 3291.0, 3316.0, 3341.0, 3366.0,
     302             :                   3391.0, 3416.0, 3441.0, 3465.0, 3490.0, 3515.0, 3540.0, 3565.0, 3590.0, 3615.0, 3640.0}, // Conc=0.7
     303             :                  {2572.0, 2600.0, 2627.0, 2655.0, 2683.0, 2710.0, 2738.0, 2766.0, 2793.0, 2821.0, 2849.0,
     304             :                   2876.0, 2904.0, 2931.0, 2959.0, 2987.0, 3014.0, 3042.0, 3070.0, 3097.0, 3125.0, 3153.0,
     305             :                   3180.0, 3208.0, 3236.0, 3263.0, 3291.0, 3319.0, 3346.0, 3374.0, 3402.0, 3429.0, 3457.0}, // Conc=0.8
     306             :                  {2264.0, 2295.0, 2326.0, 2356.0, 2387.0, 2417.0, 2448.0, 2478.0, 2509.0, 2539.0, 2570.0,
     307             :                   2600.0, 2631.0, 2661.0, 2692.0, 2723.0, 2753.0, 2784.0, 2814.0, 2845.0, 2875.0, 2906.0,
     308             :                   2936.0, 2967.0, 2997.0, 3028.0, 3058.0, 3089.0, 3119.0, 3150.0, 3181.0, 3211.0, 3242.0}} // Conc=0.9
     309             :     };
     310             : 
     311             :     // Propylene Glycol Data: Viscosity in mPa-s
     312             :     static constexpr std::array<std::array<Real64, DefaultNumGlyTemps>, DefaultNumGlyConcs> DefaultPropGlyViscData = {
     313             :         {{0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,    0.0e-3,   1.7912e-3, 1.5183e-3, 1.306e-3,  1.1376e-3, 1.0016e-3,
     314             :           0.8901e-3, 0.7974e-3, 0.7193e-3, 0.653e-3,  0.5961e-3, 0.5468e-3, 0.504e-3, 0.4664e-3, 0.4332e-3, 0.4039e-3, 0.3777e-3, 0.3543e-3,
     315             :           0.3333e-3, 0.3144e-3, 0.2973e-3, 0.2817e-3, 0.0e-3,    0.0e-3,    0.0e-3,   0.0e-3,    0.0e-3}, // DefaultWaterViscData in Pa-s
     316             :          {0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00, 0.0e+00, 0.0e+00, 0.0e+00, 2.68e-03, 2.23e-03, 1.89e-03, 1.63e-03,
     317             :           1.42e-03, 1.25e-03, 1.11e-03, 9.9e-04, 8.9e-04, 8.1e-04, 7.3e-04, 6.7e-04,  6.2e-04,  5.7e-04,  5.3e-04,
     318             :           4.9e-04,  4.6e-04,  4.3e-04,  4.0e-04, 3.8e-04, 3.5e-04, 3.3e-04, 3.2e-04,  3.0e-04,  2.8e-04,  2.7e-04}, // Conc=0.1
     319             :          {0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  4.98e-03, 4.05e-03, 3.34e-03, 2.79e-03, 2.36e-03,
     320             :           2.02e-03, 1.74e-03, 1.52e-03, 1.34e-03, 1.18e-03, 1.06e-03, 9.5e-04,  8.6e-04,  7.8e-04,  7.1e-04,  6.6e-04,
     321             :           6.0e-04,  5.6e-04,  5.2e-04,  4.9e-04,  4.5e-04,  4.3e-04,  4.0e-04,  3.8e-04,  3.6e-04,  3.4e-04,  3.2e-04}, // Conc=0.2
     322             :          {0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  1.187e-02, 9.08e-03, 7.08e-03, 5.61e-03, 4.52e-03, 3.69e-03,
     323             :           3.06e-03, 2.57e-03, 2.18e-03, 1.88e-03, 1.63e-03, 1.43e-03,  1.26e-03, 1.13e-03, 1.01e-03, 9.1e-04,  8.3e-04,
     324             :           7.6e-04,  7.0e-04,  6.5e-04,  6.1e-04,  5.7e-04,  5.3e-04,   5.0e-04,  4.7e-04,  4.5e-04,  4.3e-04,  4.1e-04}, // Conc=0.3
     325             :          {0.0e+00,  0.0e+00,  0.0e+00,  0.0e+00,  3.322e-02, 2.327e-02, 1.675e-02, 1.237e-02, 9.35e-03, 7.22e-03, 5.69e-03,
     326             :           4.57e-03, 3.73e-03, 3.09e-03, 2.60e-03, 2.21e-03,  1.91e-03,  1.66e-03,  1.47e-03,  1.30e-03, 1.17e-03, 1.06e-03,
     327             :           9.6e-04,  8.8e-04,  8.1e-04,  7.5e-04,  7.0e-04,   6.6e-04,   6.2e-04,   5.9e-04,   5.6e-04,  5.3e-04,  5.1e-04}, // Conc=0.4
     328             :          {0.0e+00,  0.0e+00,  1.1059e-01, 7.303e-02, 4.970e-02, 3.478e-02, 2.499e-02, 1.840e-02, 1.385e-02, 1.065e-02, 8.34e-03,
     329             :           6.65e-03, 5.39e-03, 4.43e-03,   3.69e-03,  3.11e-03,  2.65e-03,  2.29e-03,  1.99e-03,  1.75e-03,  1.55e-03,  1.38e-03,
     330             :           1.24e-03, 1.12e-03, 1.02e-03,   9.3e-04,   8.6e-04,   7.9e-04,   7.4e-04,   6.9e-04,   6.4e-04,   6.0e-04,   5.7e-04}, // Conc=0.5
     331             :          {5.2401e-01, 3.3039e-01, 2.1143e-01, 1.3796e-01, 9.200e-02, 6.278e-02, 4.384e-02, 3.132e-02, 2.287e-02, 1.705e-02, 1.296e-02,
     332             :           1.004e-02,  7.91e-03,   6.34e-03,   5.15e-03,   4.25e-03,  3.55e-03,  3.00e-03,  2.57e-03,  2.22e-03,  1.93e-03,  1.70e-03,
     333             :           1.51e-03,   1.35e-03,   1.22e-03,   1.10e-03,   1.01e-03,  9.2e-04,   8.5e-04,   7.9e-04,   7.4e-04,   6.9e-04,   6.5e-04}, // Conc=0.6
     334             :          {9.1618e-01, 5.5112e-01, 3.4009e-01, 2.1567e-01, 1.4062e-01, 9.423e-02, 6.483e-02, 4.574e-02, 3.304e-02, 2.441e-02, 1.841e-02,
     335             :           1.415e-02,  1.108e-02,  8.81e-03,   7.12e-03,   5.84e-03,   4.85e-03,  4.08e-03,  3.46e-03,  2.98e-03,  2.58e-03,  2.26e-03,
     336             :           1.99e-03,   1.77e-03,   1.59e-03,   1.43e-03,   1.30e-03,   1.18e-03,  1.08e-03,  1.00e-03,  9.3e-04,   8.6e-04,   8.0e-04}, // Conc=0.7
     337             :          {1.43422e+00, 9.0847e-01, 5.7592e-01, 3.6877e-01, 2.3986e-01, 1.5902e-01, 1.0764e-01, 7.445e-02, 5.263e-02, 3.799e-02, 2.800e-02,
     338             :           2.104e-02,   1.610e-02,  1.255e-02,  9.94e-03,   7.99e-03,   6.52e-03,   5.39e-03,   4.51e-03,  3.82e-03,  3.28e-03,  2.83e-03,
     339             :           2.47e-03,    2.18e-03,   1.94e-03,   1.73e-03,   1.56e-03,   1.42e-03,   1.29e-03,   1.19e-03,  1.09e-03,  1.02e-03,  9.5e-04}, // Conc=0.8
     340             :          {3.81329e+00, 2.07134e+00, 1.17609e+00, 6.9609e-01, 4.2819e-01, 2.7294e-01, 1.7978e-01, 1.2203e-01, 8.515e-02,
     341             :           6.093e-02,   4.462e-02,   3.338e-02,   2.545e-02,  1.976e-02,  1.560e-02,  1.249e-02,  1.015e-02,  8.35e-03,
     342             :           6.95e-03,    5.85e-03,    4.97e-03,    4.26e-03,   3.69e-03,   3.22e-03,   2.83e-03,   2.50e-03,   2.23e-03,
     343             :           2.00e-03,    1.80e-03,    1.63e-03,    1.48e-03,   1.35e-03,   1.24e-03}} // Conc=0.9
     344             :     };
     345             : 
     346             :     // Propylene Glycol Data: Density in kg/m3
     347             :     static constexpr std::array<std::array<Real64, DefaultNumGlyTemps>, DefaultNumGlyConcs> DefaultPropGlyRhoData = {
     348             :         {{0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   999.8, 999.9, 999.7, 999.1, 998.2, 997.0, 995.6, 994.0, 992.2, 990.2,
     349             :           988.0, 985.7, 983.2, 980.5, 977.7, 974.8, 971.8, 968.6, 965.3, 961.9, 958.3, 0.0,   0.0,   0.0,   0.0,   0.0}, // DefaultWaterRhoData in
     350             :          // kg/m3
     351             :          {0.00,    0.00,    0.00,    0.00,    0.00,    0.00,   0.00,   1013.85, 1012.61, 1011.24, 1009.75,
     352             :           1008.13, 1006.40, 1004.54, 1002.56, 1000.46, 998.23, 995.88, 993.41,  990.82,  988.11,  985.27,
     353             :           982.31,  979.23,  976.03,  972.70,  969.25,  965.68, 961.99, 958.17,  954.24,  950.18,  945.99}, // Conc=0.1
     354             :          {0.00,    0.00,    0.00,    0.00,    0.00,    0.00,    1027.24, 1025.84, 1024.32, 1022.68, 1020.91,
     355             :           1019.01, 1016.99, 1014.84, 1012.56, 1010.16, 1007.64, 1004.99, 1002.21, 999.31,  996.28,  993.12,
     356             :           989.85,  986.44,  982.91,  979.25,  975.47,  971.56,  967.53,  963.37,  959.09,  954.67,  950.14}, // Conc=0.2
     357             :          {0.00,    0.00,    0.00,    0.00,    0.00,    1039.42, 1037.89, 1036.24, 1034.46, 1032.55, 1030.51,
     358             :           1028.35, 1026.06, 1023.64, 1021.09, 1018.42, 1015.62, 1012.69, 1009.63, 1006.44, 1003.13, 999.69,
     359             :           996.12,  992.42,  988.60,  984.65,  980.57,  976.36,  972.03,  967.56,  962.97,  958.26,  953.41}, // Conc=0.3
     360             :          {0.00,    0.00,    0.00,    0.00,    1050.43, 1048.79, 1047.02, 1045.12, 1043.09, 1040.94, 1038.65,
     361             :           1036.24, 1033.70, 1031.03, 1028.23, 1025.30, 1022.24, 1019.06, 1015.75, 1012.30, 1008.73, 1005.03,
     362             :           1001.21, 997.25,  993.17,  988.95,  984.61,  980.14,  975.54,  970.81,  965.95,  960.97,  955.86}, // Conc=0.4
     363             :          {0.00,    0.00,    1062.11, 1060.49, 1058.73, 1056.85, 1054.84, 1052.71, 1050.44, 1048.04, 1045.52,
     364             :           1042.87, 1040.09, 1037.18, 1034.15, 1030.98, 1027.69, 1024.27, 1020.72, 1017.04, 1013.23, 1009.30,
     365             :           1005.24, 1001.05, 996.73,  992.28,  987.70,  983.00,  978.16,  973.20,  968.11,  962.89,  957.55}, // Conc=0.5
     366             :          {1072.92, 1071.31, 1069.58, 1067.72, 1065.73, 1063.61, 1061.37, 1059.00, 1056.50, 1053.88, 1051.13,
     367             :           1048.25, 1045.24, 1042.11, 1038.85, 1035.47, 1031.95, 1028.32, 1024.55, 1020.66, 1016.63, 1012.49,
     368             :           1008.21, 1003.81, 999.28,  994.63,  989.85,  984.94,  979.90,  974.74,  969.45,  964.03,  958.49}, // Conc=0.6
     369             :          {1079.67, 1077.82, 1075.84, 1073.74, 1071.51, 1069.16, 1066.69, 1064.09, 1061.36, 1058.51, 1055.54,
     370             :           1052.44, 1049.22, 1045.87, 1042.40, 1038.81, 1035.09, 1031.25, 1027.28, 1023.19, 1018.97, 1014.63,
     371             :           1010.16, 1005.57, 1000.86, 996.02,  991.06,  985.97,  980.76,  975.42,  969.96,  964.38,  958.67}, // Conc=0.7
     372             :          {1094.50, 1090.85, 1087.18, 1083.49, 1079.77, 1076.04, 1072.27, 1068.49, 1064.68, 1060.85, 1057.00,
     373             :           1053.12, 1049.22, 1045.30, 1041.35, 1037.38, 1033.39, 1029.37, 1025.33, 1021.27, 1017.19, 1013.08,
     374             :           1008.95, 1004.79, 1000.62, 996.41,  992.19,  987.94,  983.68,  979.38,  975.07,  970.73,  966.37}, // Conc=0.8
     375             :          {1092.46, 1088.82, 1085.15, 1081.46, 1077.74, 1074.00, 1070.24, 1066.46, 1062.65, 1058.82, 1054.96,
     376             :           1051.09, 1047.19, 1043.26, 1039.32, 1035.35, 1031.35, 1027.34, 1023.30, 1019.24, 1015.15, 1011.04,
     377             :           1006.91, 1002.76, 998.58,  994.38,  990.16,  985.91,  981.64,  977.35,  973.03,  968.69,  964.33}} // Conc=0.9
     378             :     };
     379             : 
     380             :     // Propylene Glycol Data: Conductivity in W/(m-K)
     381             :     static constexpr std::
     382             :         array<std::array<Real64, DefaultNumGlyTemps>, DefaultNumGlyConcs>
     383             :             DefaultPropGlyCondData =
     384             :                 {
     385             :                     {{0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.561,  0.5705, 0.58,  0.5893,
     386             :                       0.5984, 0.6072, 0.6155, 0.6233, 0.6306, 0.6373, 0.6436, 0.6492, 0.6543, 0.659, 0.6631,
     387             :                       0.6668, 0.67,   0.6728, 0.6753, 0.6773, 0.6791, 0.0,    0.0,    0.0,    0.0,   0.0}, // DefaultWaterCondData
     388             :                      // in W/mK
     389             :                      {0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.510, 0.518, 0.527, 0.535, 0.543, 0.550, 0.557, 0.563, 0.569, 0.575,
     390             :                       0.580, 0.585, 0.589, 0.593, 0.596, 0.599, 0.602, 0.604, 0.606, 0.607, 0.608, 0.609, 0.609, 0.608, 0.608, 0.606}, // Conc=0.1
     391             :                      {0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.456, 0.464, 0.472, 0.479, 0.485, 0.492, 0.498, 0.503, 0.508, 0.513, 0.518,
     392             :                       0.522, 0.526, 0.529, 0.532, 0.535, 0.538, 0.540, 0.541, 0.543, 0.544, 0.544, 0.544, 0.544, 0.544, 0.543, 0.542}, // Conc=0.2
     393             :                      {0.000, 0.000, 0.000, 0.000, 0.000, 0.410, 0.416, 0.423, 0.429, 0.434, 0.440, 0.445, 0.449, 0.454, 0.458, 0.462, 0.466,
     394             :                       0.469, 0.472, 0.475, 0.477, 0.479, 0.481, 0.482, 0.484, 0.484, 0.485, 0.485, 0.485, 0.485, 0.485, 0.484, 0.482}, // Conc=0.3
     395             :                      {0.000, 0.000, 0.000, 0.000, 0.369, 0.375, 0.380, 0.385, 0.389, 0.394, 0.398, 0.402, 0.406, 0.409, 0.412, 0.415, 0.418,
     396             :                       0.420, 0.423, 0.425, 0.426, 0.428, 0.429, 0.430, 0.431, 0.431, 0.432, 0.432, 0.432, 0.431, 0.430, 0.429, 0.428}, // Conc=0.4
     397             :                      {0.000, 0.000, 0.329, 0.334, 0.338, 0.342, 0.346, 0.349, 0.353, 0.356, 0.359, 0.362, 0.365, 0.367, 0.370, 0.372, 0.374,
     398             :                       0.375, 0.377, 0.378, 0.379, 0.380, 0.381, 0.382, 0.382, 0.382, 0.382, 0.382, 0.382, 0.381, 0.380, 0.379, 0.378}, // Conc=0.5
     399             :                      {0.296, 0.300, 0.303, 0.306, 0.309, 0.312, 0.314, 0.317, 0.319, 0.321, 0.323, 0.325, 0.327, 0.329, 0.330, 0.331, 0.333,
     400             :                       0.334, 0.335, 0.335, 0.336, 0.336, 0.337, 0.337, 0.337, 0.337, 0.336, 0.336, 0.335, 0.335, 0.334, 0.333, 0.332}, // Conc=0.6
     401             :                      {0.275, 0.277, 0.278, 0.280, 0.282, 0.284, 0.285, 0.286, 0.289, 0.290, 0.291, 0.292, 0.293, 0.293, 0.294, 0.294, 0.295,
     402             :                       0.295, 0.295, 0.295, 0.295, 0.295, 0.295, 0.295, 0.295, 0.294, 0.294, 0.293, 0.292, 0.292, 0.291, 0.290, 0.288}, // Conc=0.7
     403             :                      {0.255, 0.256, 0.257, 0.257, 0.258, 0.259, 0.259, 0.259, 0.260, 0.260, 0.260, 0.261, 0.261, 0.261, 0.261, 0.261, 0.260,
     404             :                       0.260, 0.260, 0.260, 0.259, 0.259, 0.258, 0.258, 0.257, 0.256, 0.256, 0.255, 0.254, 0.253, 0.252, 0.251, 0.250}, // Conc=0.8
     405             :                      {0.237, 0.237, 0.236, 0.236, 0.236, 0.235, 0.235, 0.234, 0.234, 0.233, 0.233, 0.232, 0.233, 0.231, 0.230, 0.229, 0.229,
     406             :                       0.228, 0.227, 0.227, 0.226, 0.225, 0.224, 0.223, 0.222, 0.221, 0.220, 0.219, 0.218, 0.217, 0.216, 0.215, 0.214}} // Conc=0.9
     407             :     };
     408             : 
     409             :     // Steam Refrigerant Data
     410             :     static constexpr std::array<Real64, DefaultNumSteamTemps> DefaultSteamTemps = {
     411             :         1.00e-002, 1.0,   5.0,   10.0,  15.0,  20.0,  25.0,  30.0,  35.0,  40.0,  45.0,  50.0,  55.0,  60.0,  65.0,  70.0,  72.0,  74.0,  76.0,
     412             :         78.0,      80.0,  82.0,  84.0,  86.0,  88.0,  90.0,  92.0,  94.0,  96.0,  98.0,  99.0,  100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 106.0,
     413             :         107.0,     108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0,
     414             :         126.0,     127.0, 128.0, 129.0, 130.0, 132.0, 134.0, 136.0, 138.0, 140.0, 142.0, 144.0, 146.0, 148.0, 150.0, 152.0, 154.0, 156.0, 158.0,
     415             :         160.0,     162.0, 164.0, 166.0, 168.0, 170.0, 172.0, 174.0, 176.0, 178.0, 180.0, 185.0, 190.0, 195.0, 200.0, 205.0, 210.0, 215.0, 220.0,
     416             :         225.0,     230.0, 240.0, 250.0, 260.0, 270.0, 280.0, 290.0, 300.0, 310.0, 320.0, 330.0, 340.0, 350.0, 360.0, 370.0};
     417             : 
     418             :     static constexpr std::array<Real64, DefaultNumSteamTemps> DefaultSteamPressData = {
     419             :         611.7,      657.1,      872.6,     1228.0,    1706.0,    2339.0,    3170.0,    4247.0,    5629.0,    7385.0,     9595.0,     12350.0,
     420             :         15760.0,    19950.0,    25040.0,   31200.0,   34000.0,   37010.0,   40240.0,   43700.0,   47410.0,   51390.0,    55640.0,    60170.0,
     421             :         65020.0,    70180.0,    75680.0,   81540.0,   87770.0,   94390.0,   97850.0,   101400.0,  105100.0,  108900.0,   112800.0,   116800.0,
     422             :         120900.0,   125100.0,   129500.0,  134000.0,  138600.0,  143400.0,  148300.0,  153300.0,  158400.0,  163700.0,   169200.0,   174800.0,
     423             :         180500.0,   186400.0,   192500.0,  198700.0,  205000.0,  211600.0,  218300.0,  225200.0,  232200.0,  239500.0,   246900.0,   254500.0,
     424             :         262300.0,   270300.0,   286800.0,  304200.0,  322400.0,  341500.0,  361500.0,  382500.0,  404400.0,  427300.0,   451200.0,   476200.0,
     425             :         502200.0,   529500.0,   557800.0,  587400.0,  618200.0,  650300.0,  683700.0,  718500.0,  754600.0,  792200.0,   831200.0,   871800.0,
     426             :         913800.0,   957500.0,   1003000.0, 1123000.0, 1255000.0, 1399000.0, 1555000.0, 1724000.0, 1908000.0, 2106000.0,  2320000.0,  2550000.0,
     427             :         2797000.0,  3347000.0,  3976000.0, 4692000.0, 5503000.0, 6417000.0, 7442000.0, 8588000.0, 9865000.0, 11280000.0, 12860000.0, 14600000.0,
     428             :         16530000.0, 18670000.0, 21040000.0};
     429             : 
     430             :     static constexpr std::array<Real64, DefaultNumSteamTemps> DefaultSteamEnthalpyFluidData = {
     431             :         0.59,      4177.0,    21020.0,   42020.0,   62980.0,   83910.0,   104800.0,  125700.0,  146600.0,  167500.0,  188400.0,  209300.0,  230300.0,
     432             :         251200.0,  272100.0,  293100.0,  301400.0,  309800.0,  318200.0,  326600.0,  335000.0,  343400.0,  351800.0,  360200.0,  368600.0,  377000.0,
     433             :         385500.0,  393900.0,  402300.0,  410700.0,  414900.0,  419200.0,  423400.0,  427600.0,  431800.0,  436000.0,  440300.0,  444500.0,  448700.0,
     434             :         453000.0,  457200.0,  461400.0,  465600.0,  469900.0,  474100.0,  478400.0,  482600.0,  486800.0,  491100.0,  495300.0,  499600.0,  503800.0,
     435             :         508100.0,  512300.0,  516600.0,  520800.0,  525100.0,  529300.0,  533600.0,  537900.0,  542100.0,  546400.0,  554900.0,  563500.0,  572000.0,
     436             :         580600.0,  589200.0,  597700.0,  606300.0,  614900.0,  623600.0,  632200.0,  640800.0,  649500.0,  658100.0,  666800.0,  675500.0,  684200.0,
     437             :         692900.0,  701600.0,  710300.0,  719100.0,  727800.0,  736600.0,  745400.0,  754200.0,  763100.0,  785200.0,  807400.0,  829800.0,  852300.0,
     438             :         874900.0,  897600.0,  920500.0,  943600.0,  966800.0,  990200.0,  1038000.0, 1086000.0, 1135000.0, 1185000.0, 1237000.0, 1290000.0, 1345000.0,
     439             :         1402000.0, 1462000.0, 1526000.0, 1595000.0, 1671000.0, 1762000.0, 1891000.0};
     440             : 
     441             :     static constexpr std::array<Real64, DefaultNumSteamTemps> DefaultSteamEnthalpyGasFluidData = {
     442             :         2501000.0, 2503000.0, 2510000.0, 2519000.0, 2528000.0, 2537000.0, 2547000.0, 2556000.0, 2565000.0, 2574000.0, 2582000.0, 2591000.0, 2600000.0,
     443             :         2609000.0, 2618000.0, 2626000.0, 2630000.0, 2633000.0, 2636000.0, 2640000.0, 2643000.0, 2646000.0, 2650000.0, 2653000.0, 2656000.0, 2660000.0,
     444             :         2663000.0, 2666000.0, 2669000.0, 2672000.0, 2674000.0, 2676000.0, 2677000.0, 2679000.0, 2680000.0, 2682000.0, 2683000.0, 2685000.0, 2686000.0,
     445             :         2688000.0, 2690000.0, 2691000.0, 2693000.0, 2694000.0, 2696000.0, 2697000.0, 2699000.0, 2700000.0, 2702000.0, 2703000.0, 2704000.0, 2706000.0,
     446             :         2707000.0, 2709000.0, 2710000.0, 2712000.0, 2713000.0, 2715000.0, 2716000.0, 2717000.0, 2719000.0, 2720000.0, 2723000.0, 2726000.0, 2728000.0,
     447             :         2731000.0, 2733000.0, 2736000.0, 2739000.0, 2741000.0, 2744000.0, 2746000.0, 2748000.0, 2751000.0, 2753000.0, 2755000.0, 2757000.0, 2760000.0,
     448             :         2762000.0, 2764000.0, 2766000.0, 2768000.0, 2770000.0, 2772000.0, 2774000.0, 2775000.0, 2777000.0, 2781000.0, 2785000.0, 2789000.0, 2792000.0,
     449             :         2795000.0, 2797000.0, 2799000.0, 2801000.0, 2802000.0, 2803000.0, 2803000.0, 2801000.0, 2797000.0, 2790000.0, 2780000.0, 2767000.0, 2750000.0,
     450             :         2728000.0, 2701000.0, 2666000.0, 2622000.0, 2564000.0, 2481000.0, 2335000.0};
     451             : 
     452             :     static constexpr std::array<Real64, DefaultNumSteamTemps> DefaultSteamCpFluidData = {
     453             :         4220.0, 4217.0, 4205.0, 4196.0, 4189.0, 4184.0, 4182.0, 4180.0, 4180.0, 4180.0, 4180.0, 4182.0, 4183.0,  4185.0,  4187.0, 4190.0,
     454             :         4191.0, 4193.0, 4194.0, 4195.0, 4197.0, 4198.0, 4200.0, 4202.0, 4203.0, 4205.0, 4207.0, 4209.0, 4211.0,  4213.0,  4215.0, 4216.0,
     455             :         4217.0, 4218.0, 4219.0, 4220.0, 4222.0, 4223.0, 4224.0, 4226.0, 4227.0, 4228.0, 4230.0, 4231.0, 4233.0,  4234.0,  4236.0, 4237.0,
     456             :         4239.0, 4240.0, 4242.0, 4244.0, 4245.0, 4247.0, 4249.0, 4250.0, 4252.0, 4254.0, 4256.0, 4258.0, 4260.0,  4261.0,  4265.0, 4270.0,
     457             :         4274.0, 4278.0, 4283.0, 4287.0, 4292.0, 4297.0, 4302.0, 4307.0, 4312.0, 4318.0, 4324.0, 4329.0, 4335.0,  4341.0,  4348.0, 4354.0,
     458             :         4361.0, 4368.0, 4375.0, 4382.0, 4390.0, 4397.0, 4405.0, 4425.0, 4447.0, 4471.0, 4496.0, 4523.0, 4551.0,  4582.0,  4615.0, 4650.0,
     459             :         4688.0, 4772.0, 4870.0, 4986.0, 5123.0, 5289.0, 5493.0, 5750.0, 6085.0, 6537.0, 7186.0, 8208.0, 10120.0, 15000.0, 45160.0};
     460             : 
     461             :     static constexpr std::array<Real64, DefaultNumSteamTemps> DefaultSteamCpGasFluidData = {
     462             :         1884.0, 1885.0, 1889.0, 1895.0, 1900.0, 1906.0, 1912.0, 1918.0, 1925.0, 1931.0, 1939.0, 1947.0,  1955.0,  1965.0,  1975.0, 1986.0,
     463             :         1991.0, 1996.0, 2001.0, 2006.0, 2012.0, 2018.0, 2024.0, 2030.0, 2036.0, 2043.0, 2050.0, 2057.0,  2064.0,  2072.0,  2076.0, 2080.0,
     464             :         2084.0, 2088.0, 2093.0, 2097.0, 2101.0, 2106.0, 2110.0, 2115.0, 2120.0, 2124.0, 2129.0, 2134.0,  2139.0,  2144.0,  2150.0, 2155.0,
     465             :         2160.0, 2166.0, 2171.0, 2177.0, 2183.0, 2189.0, 2195.0, 2201.0, 2207.0, 2213.0, 2219.0, 2226.0,  2232.0,  2239.0,  2252.0, 2266.0,
     466             :         2281.0, 2296.0, 2311.0, 2327.0, 2343.0, 2359.0, 2376.0, 2394.0, 2412.0, 2430.0, 2449.0, 2468.0,  2488.0,  2509.0,  2529.0, 2551.0,
     467             :         2572.0, 2594.0, 2617.0, 2640.0, 2664.0, 2688.0, 2713.0, 2777.0, 2844.0, 2915.0, 2990.0, 3068.0,  3150.0,  3237.0,  3329.0, 3426.0,
     468             :         3528.0, 3754.0, 4011.0, 4308.0, 4656.0, 5073.0, 5582.0, 6220.0, 7045.0, 8159.0, 9753.0, 12240.0, 16690.0, 27360.0, 96600.0};
     469             : 
     470             :     static constexpr std::array<Real64, DefaultNumSteamTemps> DefaultSteamDensityFluidData = {
     471             :         999.8, 999.9, 999.9, 999.7, 999.1, 998.2, 997.0, 995.6, 994.0, 992.2, 990.2, 988.0, 985.7, 983.2, 980.5, 977.7, 976.6, 975.4, 974.2,
     472             :         973.0, 971.8, 970.5, 969.2, 967.9, 966.6, 965.3, 963.9, 962.6, 961.2, 959.8, 959.1, 958.3, 957.6, 956.9, 956.2, 955.4, 954.7, 954.0,
     473             :         953.2, 952.5, 951.7, 950.9, 950.2, 949.4, 948.6, 947.9, 947.1, 946.3, 945.5, 944.7, 943.9, 943.1, 942.3, 941.5, 940.7, 939.8, 939.0,
     474             :         938.2, 937.4, 936.5, 935.7, 934.8, 933.1, 931.4, 929.7, 927.9, 926.1, 924.3, 922.5, 920.7, 918.9, 917.0, 915.1, 913.2, 911.3, 909.4,
     475             :         907.4, 905.5, 903.5, 901.5, 899.5, 897.5, 895.4, 893.3, 891.2, 889.1, 887.0, 881.6, 876.1, 870.4, 864.7, 858.8, 852.7, 846.5, 840.2,
     476             :         833.7, 827.1, 813.4, 798.9, 783.6, 767.5, 750.3, 731.9, 712.1, 690.7, 667.1, 640.8, 610.7, 574.7, 527.6, 451.4};
     477             : 
     478             :     static constexpr std::array<Real64, DefaultNumSteamTemps> DefaultSteamDensityGasFluidData = {
     479             :         4.86e-003, 5.20e-003, 6.80e-003, 9.41e-003, 1.28e-002, 1.73e-002, 2.31e-002, 3.04e-002, 3.97e-002, 5.12e-002, 6.56e-002, 8.32e-002, 0.10,
     480             :         0.13,      0.16,      0.20,      0.22,      0.23,      0.25,      0.27,      0.29,      0.32,      0.34,      0.37,      0.39,      0.42,
     481             :         0.45,      0.49,      0.52,      0.56,      0.58,      0.60,      0.62,      0.64,      0.66,      0.68,      0.71,      0.73,      0.75,
     482             :         0.78,      0.80,      0.83,      0.85,      0.88,      0.91,      0.94,      0.97,      1.00,      1.03,      1.06,      1.09,      1.12,
     483             :         1.16,      1.19,      1.23,      1.26,      1.30,      1.34,      1.38,      1.42,      1.46,      1.50,      1.58,      1.67,      1.77,
     484             :         1.86,      1.97,      2.07,      2.19,      2.30,      2.42,      2.55,      2.68,      2.82,      2.96,      3.11,      3.26,      3.42,
     485             :         3.59,      3.76,      3.94,      4.12,      4.32,      4.52,      4.72,      4.94,      5.16,      5.75,      6.40,      7.10,      7.86,
     486             :         8.69,      9.59,      10.56,     11.62,     12.75,     13.99,     16.75,     19.97,     23.71,     28.07,     33.16,     39.13,     46.17,
     487             :         54.54,     64.64,     77.05,     92.76,     113.60,    143.90,    201.80};
     488             : 
     489             :     static constexpr std::array<Real64, DefaultNumSteamSuperheatedTemps> DefaultSteamSuperheatedTemps = {
     490             :         1.00e-002, 1.0,   5.0,   10.0,  15.0,  20.0,  25.0,  30.0,  35.0,  40.0,  45.0,  50.0,  55.0,  60.0,  65.0,  70.0,  72.0,  74.0,  76.0,
     491             :         78.0,      80.0,  82.0,  84.0,  86.0,  88.0,  90.0,  92.0,  94.0,  96.0,  98.0,  99.0,  100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 106.0,
     492             :         107.0,     108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0,
     493             :         126.0,     127.0, 128.0, 129.0, 130.0, 132.0, 134.0, 136.0, 138.0, 140.0, 142.0, 144.0, 146.0, 148.0, 150.0, 152.0, 154.0, 156.0, 158.0,
     494             :         160.0,     162.0, 164.0, 166.0, 168.0, 170.0, 172.0, 174.0, 176.0, 178.0, 180.0, 185.0, 190.0, 195.0, 200.0, 205.0, 210.0, 215.0, 220.0,
     495             :         225.0,     230.0, 240.0, 250.0, 260.0, 270.0, 280.0, 290.0, 300.0, 310.0, 320.0, 330.0, 340.0, 350.0, 360.0, 370.0, 400.0, 450.0, 500.0};
     496             : 
     497             :     static constexpr std::array<Real64, DefaultNumSteamSuperheatedTemps> DefaultSteamSuperheatedPressData = {
     498             :         611.70,     657.10,     872.60,     1228.0,     1706.0,     2339.0,    3170.0,    4247.0,    5629.0,    7385.0,     9595.0,     12350.0,
     499             :         15760.0,    19950.0,    25040.0,    31200.0,    34000.0,    37010.0,   40240.0,   43700.0,   47410.0,   51390.0,    55640.0,    60170.0,
     500             :         65020.0,    70180.0,    75680.0,    81540.0,    87770.0,    94390.0,   97850.0,   101400.0,  105100.0,  108900.0,   112800.0,   116800.0,
     501             :         120900.0,   125100.0,   129500.0,   134000.0,   138600.0,   143400.0,  148300.0,  153300.0,  158400.0,  163700.0,   169200.0,   174800.0,
     502             :         180500.0,   186400.0,   192500.0,   198700.0,   205000.0,   211600.0,  218300.0,  225200.0,  232200.0,  239500.0,   246900.0,   254500.0,
     503             :         262300.0,   270300.0,   286800.0,   304200.0,   322400.0,   341500.0,  361500.0,  382500.0,  404400.0,  427300.0,   451200.0,   476200.0,
     504             :         502200.0,   529500.0,   557800.0,   587400.0,   618200.0,   650300.0,  683700.0,  718500.0,  754600.0,  792200.0,   831200.0,   871800.0,
     505             :         913800.0,   957500.0,   1003000.0,  1123000.0,  1255000.0,  1399000.0, 1555000.0, 1724000.0, 1908000.0, 2106000.0,  2320000.0,  2550000.0,
     506             :         2797000.0,  3347000.0,  3976000.0,  4692000.0,  5503000.0,  6417000.0, 7442000.0, 8588000.0, 9865000.0, 11280000.0, 12860000.0, 14600000.0,
     507             :         16530000.0, 18670000.0, 21040000.0, 30000000.0, 35000000.0, 40000000.0};
     508             : 
     509         796 :     void GetFluidPropertiesData(EnergyPlusData &state)
     510             :     {
     511             : 
     512             :         // SUBROUTINE INFORMATION:
     513             :         //       AUTHOR         Rick Strand
     514             :         //       DATE WRITTEN   April 2000
     515             :         //       MODIFIED       May 2002 Simon Rees (Added saturated pressure data retreaval)
     516             :         //                      June 2004 Rick Strand (Added glycol defaults and modified glycol data structure)
     517             :         //                      August 2011 Linda Lawrie (Added steam as default refrigerant)
     518             :         //                      August 2012 Linda Lawrie (more error checks on data input)
     519             : 
     520             :         // PURPOSE OF THIS SUBROUTINE:
     521             :         // The purpose of this subroutine is to read in all of the fluid
     522             :         // property data contained in the user input file.
     523             : 
     524             :         // METHODOLOGY EMPLOYED:
     525             :         // Standard EnergyPlus methodology.  Derived type portions are
     526             :         // allocated as necessary as the data is read into the program.
     527             : 
     528             :         // SUBROUTINE PARAMETER DEFINITIONS:
     529         796 :         Real64 constexpr PressToler(1.0); // Some reasonable value for comparisons
     530             :         static constexpr std::string_view routineName = "GetFluidPropertiesData";
     531             : 
     532             :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
     533         796 :         Array1D_string Alphas;            // Reads string value from input file
     534         796 :         Array1D_string cAlphaFields;      // field names for alpha fields
     535         796 :         Array1D_string cNumericFields;    // field names for numeric fields
     536             :         int NumAlphas;                    // States which alpha value to read from a "Number" line
     537         796 :         Array1D<Real64> Numbers;          // brings in data from IP
     538         796 :         Array1D_bool lAlphaFieldBlanks;   // logical for blank alpha fields
     539         796 :         Array1D_bool lNumericFieldBlanks; // logical for blank numeric fields
     540             :         int NumNumbers;                   // States which number value to read from a "Numbers" line
     541             :         int Status;                       // Either 1 "object found" or -1 "not found" (also used as temp)
     542             : 
     543         796 :         bool ErrorsFound(false);
     544         796 :         std::string CurrentModuleObject; // for ease in renaming.
     545             : 
     546             :         // SUBROUTINE LOCAL DATA:
     547             : 
     548             :         // Note two methods of Array initialization in use:
     549             :         // - Fixed list of values.  The second parameter is an initializer list (brace
     550             :         //   delimited list of numbers).
     551             :         // - Initializer function.  The second parameter is the function name.
     552             :         //   In several cases we need to pass water data to the initializer, but an
     553             :         //   Array initializer only takes one argument.  std::bind is used to convert the
     554             :         //   actual initializer into a function of one argument.
     555             : 
     556         796 :         auto &df = state.dataFluidProps;
     557             : 
     558             :         // This is here because of a unit test in HVACVRF:2358
     559         796 :         for (int i = 1; i <= df->refrigs.isize(); ++i)
     560           0 :             delete df->refrigs(i);
     561         796 :         df->refrigs.clear();
     562         796 :         for (int i = 1; i <= df->glycolsRaw.isize(); ++i)
     563           0 :             delete df->glycolsRaw(i);
     564         796 :         df->glycolsRaw.clear();
     565         796 :         for (int i = 1; i <= df->glycols.isize(); ++i)
     566           0 :             delete df->glycols(i);
     567         796 :         df->glycols.clear();
     568             : 
     569             :         // For default "glycol" fluids of Water, Ethylene Glycol, and Propylene Glycol
     570             : 
     571             :         // Where are these things initialized?
     572        1592 :         Array2D<Real64> DefaultSteamSuperheatedEnthalpyData(DefaultNumSteamSuperheatedPressure, DefaultNumSteamSuperheatedTemps);
     573        1592 :         Array2D<Real64> DefaultSteamSuperheatedDensityData(DefaultNumSteamSuperheatedPressure, DefaultNumSteamSuperheatedTemps);
     574             : 
     575             :         struct FluidTempData
     576             :         {
     577             :             // Members
     578             :             std::string Name;      // Name of the temperature list
     579             :             int NumOfTemps = 0;    // Number of temperatures in a particular arry
     580             :             Array1D<Real64> Temps; // Temperature values (degrees C)
     581             :         };
     582             : 
     583             :         // Object Data
     584         796 :         Array1D<FluidTempData> FluidTemps;
     585             : 
     586         796 :         int MaxAlphas = 0;
     587         796 :         int MaxNumbers = 0;
     588         796 :         if (state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Name") > 0) {
     589          37 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Name", Status, NumAlphas, NumNumbers);
     590          37 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     591          37 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     592             :         }
     593         796 :         if (state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:GlycolConcentration") > 0) {
     594          28 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(
     595             :                 state, "FluidProperties:GlycolConcentration", Status, NumAlphas, NumNumbers);
     596          28 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     597          28 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     598             :         }
     599         796 :         int NumOfFluidTempArrays = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Temperatures");
     600         796 :         if (NumOfFluidTempArrays > 0) {
     601          30 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Temperatures", Status, NumAlphas, NumNumbers);
     602          30 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     603          30 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     604             :         }
     605         796 :         int NumOfSatFluidPropArrays = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Saturated");
     606         796 :         if (NumOfSatFluidPropArrays > 0) {
     607          28 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Saturated", Status, NumAlphas, NumNumbers);
     608          28 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     609          28 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     610             :         }
     611         796 :         int NumOfSHFluidPropArrays = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Superheated");
     612         796 :         if (NumOfSHFluidPropArrays > 0) {
     613          28 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Superheated", Status, NumAlphas, NumNumbers);
     614          28 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     615          28 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     616             :         }
     617         796 :         int NumOfGlyFluidPropArrays = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Concentration");
     618         796 :         if (NumOfGlyFluidPropArrays > 0) {
     619           4 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Concentration", Status, NumAlphas, NumNumbers);
     620           4 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     621           4 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     622             :         }
     623             : 
     624         796 :         Alphas.allocate(MaxAlphas);
     625         796 :         cAlphaFields.allocate(MaxAlphas);
     626         796 :         lAlphaFieldBlanks.allocate(MaxAlphas);
     627             : 
     628         796 :         Alphas = "";
     629         796 :         cAlphaFields = "";
     630         796 :         lAlphaFieldBlanks = false;
     631             : 
     632         796 :         Numbers.allocate(MaxNumbers);
     633         796 :         cNumericFields.allocate(MaxNumbers);
     634         796 :         lNumericFieldBlanks.allocate(MaxNumbers);
     635             : 
     636         796 :         Numbers = 0.0;
     637         796 :         cNumericFields = "";
     638         796 :         lNumericFieldBlanks = false;
     639             : 
     640             :         // First things first, add refrigerant placeholder for Steam.
     641         796 :         auto *steam = new RefrigProps;
     642         796 :         steam->Name = "STEAM";
     643         796 :         df->refrigs.push_back(steam);
     644         796 :         steam->Num = df->refrigs.isize();
     645             : 
     646             :         // Check to see if there is any FluidName input.  If not, this is okay as
     647             :         // long as the user only desires to simulate loops with water.  More than
     648             :         // one FluidName input is not allowed.
     649         796 :         CurrentModuleObject = "FluidProperties:Name";
     650         796 :         int NumOfOptionalInput = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, CurrentModuleObject);
     651             : 
     652         836 :         for (int Loop = 1; Loop <= NumOfOptionalInput; ++Loop) {
     653          40 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
     654             :                                                                      CurrentModuleObject,
     655             :                                                                      Loop,
     656             :                                                                      Alphas,
     657             :                                                                      NumAlphas,
     658             :                                                                      Numbers,
     659             :                                                                      NumNumbers,
     660             :                                                                      Status,
     661             :                                                                      lNumericFieldBlanks,
     662             :                                                                      lAlphaFieldBlanks,
     663             :                                                                      cAlphaFields,
     664             :                                                                      cNumericFields);
     665             : 
     666          40 :             if (Alphas(2) == "REFRIGERANT") {
     667          29 :                 if (GetRefrigNum(state, Alphas(1)) == 0) {
     668          29 :                     auto *refrig = new RefrigProps;
     669          29 :                     refrig->Name = Alphas(1);
     670          29 :                     df->refrigs.push_back(refrig);
     671          29 :                     refrig->Num = df->refrigs.isize();
     672             :                 }
     673          11 :             } else if (Alphas(2) == "GLYCOL") {
     674          11 :                 if (GetGlycolRawNum(state, Alphas(1)) == 0) {
     675          11 :                     auto *glycolRaw = new GlycolRawProps;
     676          11 :                     glycolRaw->Name = Alphas(1);
     677          11 :                     df->glycolsRaw.push_back(glycolRaw);
     678          11 :                     glycolRaw->Num = df->glycolsRaw.isize();
     679             :                 }
     680             :             } else {
     681           0 :                 ShowSevereError(state, format("{}: {}=\"{}\", invalid type", routineName, CurrentModuleObject, Alphas(1)));
     682           0 :                 ShowContinueError(state, format("...entered value=\"{}, Only REFRIGERANT or GLYCOL allowed as {}", Alphas(2), cAlphaFields(2)));
     683           0 :                 ErrorsFound = true;
     684             :             }
     685             :         }
     686             : 
     687         796 :         if (ErrorsFound) {
     688           0 :             ShowFatalError(state, format("{}: Previous errors in input cause program termination.", routineName));
     689             :         }
     690             : 
     691             :         // Initialize Steam
     692         796 :         steam->NumPsPoints = DefaultNumSteamTemps;
     693         796 :         steam->PsTemps.allocate(DefaultNumSteamTemps);
     694         796 :         steam->PsValues.allocate(DefaultNumSteamTemps);
     695         796 :         steam->NumHPoints = DefaultNumSteamTemps;
     696         796 :         steam->HTemps.allocate(DefaultNumSteamTemps);
     697         796 :         steam->HfValues.allocate(DefaultNumSteamTemps);
     698         796 :         steam->HfgValues.allocate(DefaultNumSteamTemps);
     699         796 :         steam->NumCpPoints = DefaultNumSteamTemps;
     700         796 :         steam->CpTemps.allocate(DefaultNumSteamTemps);
     701         796 :         steam->CpfValues.allocate(DefaultNumSteamTemps);
     702         796 :         steam->CpfgValues.allocate(DefaultNumSteamTemps);
     703         796 :         steam->NumRhoPoints = DefaultNumSteamTemps;
     704         796 :         steam->RhoTemps.allocate(DefaultNumSteamTemps);
     705         796 :         steam->RhofValues.allocate(DefaultNumSteamTemps);
     706         796 :         steam->RhofgValues.allocate(DefaultNumSteamTemps);
     707             : 
     708         796 :         steam->PsTemps = DefaultSteamTemps;
     709         796 :         steam->PsValues = DefaultSteamPressData;
     710         796 :         steam->HTemps = DefaultSteamTemps;
     711         796 :         steam->HfValues = DefaultSteamEnthalpyFluidData;
     712         796 :         steam->HfgValues = DefaultSteamEnthalpyGasFluidData;
     713         796 :         steam->CpTemps = DefaultSteamTemps;
     714         796 :         steam->CpfValues = DefaultSteamCpFluidData;
     715         796 :         steam->CpfgValues = DefaultSteamCpGasFluidData;
     716         796 :         steam->RhoTemps = DefaultSteamTemps;
     717         796 :         steam->RhofValues = DefaultSteamDensityFluidData;
     718         796 :         steam->RhofgValues = DefaultSteamDensityGasFluidData;
     719             : 
     720         796 :         steam->NumSupTempPoints = DefaultNumSteamSuperheatedTemps;
     721         796 :         steam->NumSupPressPoints = DefaultNumSteamSuperheatedPressure;
     722         796 :         steam->SupTemps.allocate(steam->NumSupTempPoints);
     723         796 :         steam->SupPress.allocate(steam->NumSupPressPoints);
     724         796 :         steam->HshValues.allocate(steam->NumSupPressPoints, steam->NumSupTempPoints);
     725         796 :         steam->RhoshValues.allocate(steam->NumSupPressPoints, steam->NumSupTempPoints);
     726         796 :         steam->SupTemps = DefaultSteamSuperheatedTemps;
     727         796 :         steam->SupPress = DefaultSteamSuperheatedPressData;
     728         796 :         steam->HshValues = DefaultSteamSuperheatedEnthalpyData;
     729         796 :         steam->RhoshValues = DefaultSteamSuperheatedDensityData;
     730             : 
     731             :         // Read in all of the temperature arrays in the input file
     732         796 :         FluidTemps.allocate(NumOfFluidTempArrays);
     733             : 
     734         796 :         CurrentModuleObject = "FluidProperties:Temperatures";
     735             : 
     736         858 :         for (int Loop = 1; Loop <= NumOfFluidTempArrays; ++Loop) {
     737          62 :             auto &tempArray = FluidTemps(Loop);
     738             : 
     739          62 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
     740             :                                                                      CurrentModuleObject,
     741             :                                                                      Loop,
     742             :                                                                      Alphas,
     743             :                                                                      NumAlphas,
     744             :                                                                      Numbers,
     745             :                                                                      NumNumbers,
     746             :                                                                      Status,
     747             :                                                                      lNumericFieldBlanks,
     748             :                                                                      lAlphaFieldBlanks,
     749             :                                                                      cAlphaFields,
     750             :                                                                      cNumericFields);
     751             : 
     752          62 :             tempArray.Name = Alphas(1);
     753          62 :             tempArray.NumOfTemps = NumNumbers;
     754             : 
     755          62 :             tempArray.Temps.allocate(tempArray.NumOfTemps);
     756          62 :             tempArray.Temps = Numbers({1, NumNumbers});
     757             : 
     758        4877 :             for (int TempLoop = 2; TempLoop <= tempArray.NumOfTemps; ++TempLoop) {
     759        4815 :                 if (tempArray.Temps(TempLoop) <= tempArray.Temps(TempLoop - 1)) {
     760           0 :                     ShowSevereError(
     761           0 :                         state, format("{}: {} name={}, lists must have data in ascending order", routineName, CurrentModuleObject, tempArray.Name));
     762           0 :                     ShowContinueError(state,
     763           0 :                                       format("First out of order occurrence at Temperature #({}) {{{:.R3}}} >= Temp({}) {{{:.R3}}}",
     764           0 :                                              TempLoop - 1,
     765             :                                              tempArray.Temps(TempLoop - 1),
     766             :                                              TempLoop,
     767             :                                              tempArray.Temps(TempLoop)));
     768           0 :                     ErrorsFound = true;
     769           0 :                     break;
     770             :                 }
     771             :             }
     772             :         }
     773             : 
     774             :         // For each property, cycle through all the valid input until the proper match is found.
     775             : 
     776             :         // **********    SATURATED DATA SECTION    **********
     777             : 
     778             :         // Get: ***** Saturation Pressure temperatures and data (fluidgas only) *****
     779             :         // This section added by S.J.Rees May 2002.
     780         796 :         CurrentModuleObject = "FluidProperties:Saturated";
     781         999 :         for (int InData = 1; InData <= NumOfSatFluidPropArrays; ++InData) {
     782             : 
     783         203 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
     784             :                                                                      CurrentModuleObject,
     785             :                                                                      InData,
     786             :                                                                      Alphas,
     787             :                                                                      NumAlphas,
     788             :                                                                      Numbers,
     789             :                                                                      NumNumbers,
     790             :                                                                      Status,
     791             :                                                                      lNumericFieldBlanks,
     792             :                                                                      lAlphaFieldBlanks,
     793             :                                                                      cAlphaFields,
     794             :                                                                      cNumericFields);
     795             : 
     796         203 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
     797             : 
     798         203 :             auto *refrig = GetRefrig(state, Alphas(1));
     799         203 :             if (refrig == nullptr) {
     800           0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(1), Alphas(1));
     801           0 :                 ErrorsFound = true;
     802           0 :                 continue;
     803             :             }
     804             : 
     805         203 :             if (refrig->satTempArrayName != "" && refrig->satTempArrayName != Alphas(4)) {
     806           0 :                 ShowSevereCustomMessage(state, eoh, "Saturated temperature arrays are not the same for different properties");
     807           0 :                 ErrorsFound = true;
     808           0 :                 continue;
     809             :             }
     810         203 :             refrig->satTempArrayName = Alphas(4);
     811             : 
     812         203 :             int tempArrayNum = Util::FindItemInList(Alphas(4), FluidTemps);
     813         203 :             if (tempArrayNum == 0) {
     814           0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(4), Alphas(4));
     815           0 :                 ErrorsFound = true;
     816           0 :                 continue;
     817             :             }
     818             : 
     819         203 :             auto &tempArray = FluidTemps(tempArrayNum);
     820             : 
     821             :             // Make sure the number of points in the two arrays (temps and values) are the same
     822         203 :             if (NumNumbers != tempArray.NumOfTemps) {
     823           0 :                 ShowSevereError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
     824           0 :                 ShowContinueError(state,
     825           0 :                                   format("Temperature Name={}, Temperature array and fluid saturation pressure array must have the "
     826             :                                          "same number of points",
     827           0 :                                          tempArray.Name));
     828           0 :                 ShowContinueError(
     829           0 :                     state, format("Temperature # points={} whereas {} # {} points={}", tempArray.NumOfTemps, refrig->Name, Alphas(2), NumNumbers));
     830           0 :                 ErrorsFound = true;
     831           0 :                 break; // the TempLoop DO Loop
     832             :             }
     833             : 
     834         203 :             if (Alphas(2) == "PRESSURE" && Alphas(3) == "FLUIDGAS") {
     835          29 :                 refrig->NumPsPoints = tempArray.NumOfTemps;
     836          29 :                 refrig->PsTemps.allocate(refrig->NumPsPoints);
     837          29 :                 refrig->PsValues.allocate(refrig->NumPsPoints);
     838          29 :                 refrig->PsTemps = tempArray.Temps;
     839          29 :                 refrig->PsValues = Numbers({1, NumNumbers});
     840             : 
     841         174 :             } else if (Alphas(2) == "ENTHALPY" && Alphas(3) == "FLUID") {
     842          29 :                 refrig->NumHPoints = tempArray.NumOfTemps;
     843          29 :                 refrig->HTemps.allocate(refrig->NumHPoints);
     844          29 :                 refrig->HfValues.allocate(refrig->NumHPoints);
     845          29 :                 refrig->HTemps = tempArray.Temps;
     846          29 :                 refrig->HfValues = Numbers({1, NumNumbers});
     847             : 
     848         145 :             } else if (Alphas(2) == "ENTHALPY" && Alphas(3) == "FLUIDGAS") {
     849          29 :                 refrig->NumHPoints = tempArray.NumOfTemps;
     850          29 :                 refrig->HfgValues.allocate(refrig->NumHPoints);
     851          29 :                 refrig->HfgValues = Numbers({1, NumNumbers});
     852             : 
     853         116 :             } else if (Alphas(2) == "SPECIFICHEAT" && Alphas(3) == "FLUID") {
     854          29 :                 refrig->NumCpPoints = tempArray.NumOfTemps;
     855          29 :                 refrig->CpTemps.allocate(refrig->NumCpPoints);
     856          29 :                 refrig->CpfValues.allocate(refrig->NumCpPoints);
     857          29 :                 refrig->CpTemps = tempArray.Temps;
     858          29 :                 refrig->CpfValues = Numbers({1, NumNumbers});
     859             : 
     860          87 :             } else if (Alphas(2) == "SPECIFICHEAT" && Alphas(3) == "FLUIDGAS") {
     861          29 :                 refrig->NumCpPoints = tempArray.NumOfTemps;
     862          29 :                 refrig->CpfgValues.allocate(refrig->NumCpPoints);
     863          29 :                 refrig->CpfgValues = Numbers({1, NumNumbers});
     864             : 
     865          58 :             } else if (Alphas(2) == "DENSITY" && Alphas(3) == "FLUID") {
     866          29 :                 refrig->NumRhoPoints = tempArray.NumOfTemps;
     867          29 :                 refrig->RhoTemps.allocate(refrig->NumRhoPoints);
     868          29 :                 refrig->RhofValues.allocate(refrig->NumRhoPoints);
     869          29 :                 refrig->RhoTemps = tempArray.Temps;
     870          29 :                 refrig->RhofValues = Numbers({1, NumNumbers});
     871             : 
     872          29 :             } else if (Alphas(2) == "DENSITY" && Alphas(3) == "FLUIDGAS") {
     873          29 :                 refrig->NumRhoPoints = tempArray.NumOfTemps;
     874          29 :                 refrig->RhofgValues.allocate(refrig->NumRhoPoints);
     875          29 :                 refrig->RhofgValues = Numbers({1, NumNumbers});
     876             : 
     877           0 :             } else if (Alphas(3) == "FLUID") {
     878           0 :                 if (Alphas(2) != "ENTHALPY" && Alphas(2) != "SPECIFICHEAT" && Alphas(2) != "DENSITY") {
     879           0 :                     ShowWarningError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
     880           0 :                     ShowContinueError(state, format(R"({}="FLUID", but {}="{}" is not valid.)", cAlphaFields(3), cAlphaFields(2), Alphas(2)));
     881           0 :                     ShowContinueError(state, format(R"(Valid choices are "Enthalpy", "SpecificHeat", "Density".)"));
     882           0 :                     ShowContinueError(state, "This fluid property will not be processed nor available for the simulation.");
     883             :                 }
     884             : 
     885           0 :             } else if (Alphas(3) == "FLUIDGAS") {
     886           0 :                 if (Alphas(2) != "PRESSURE" && Alphas(2) != "ENTHALPY" && Alphas(2) != "SPECIFICHEAT" && Alphas(2) != "DENSITY") {
     887           0 :                     ShowWarningError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
     888           0 :                     ShowContinueError(state, format(R"({}="FluidGas", but {}="{}" is not valid.)", cAlphaFields(3), cAlphaFields(2), Alphas(2)));
     889           0 :                     ShowContinueError(state, format(R"(Valid choices are "Pressure", "Enthalpy", "SpecificHeat", "Density".)"));
     890           0 :                     ShowContinueError(state, "This fluid property will not be processed nor available for the simulation.");
     891             :                 }
     892             :             } else {
     893           0 :                 ShowWarningError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
     894           0 :                 ShowContinueError(state, format("{}=\"{}\" is not valid.", cAlphaFields(3), Alphas(3)));
     895           0 :                 ShowContinueError(state, format(R"(Valid choices are "Fluid", "GasFluid".)"));
     896           0 :                 ShowContinueError(state, "This fluid property will not be processed nor available for the simulation.");
     897             :             }
     898             :         } // for (inData)
     899             : 
     900        1621 :         for (auto const *refrig : df->refrigs) {
     901             : 
     902         825 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, refrig->Name};
     903         825 :             if (refrig->PsValues.size() == 0) {
     904           0 :                 ShowSevereCustomMessage(state,
     905             :                                         eoh,
     906           0 :                                         format(R"(No Gas/Fluid Saturation Pressure found. Need properties with {}="Pressure" and {}="FluidGas".)",
     907             :                                                cAlphaFields(2),
     908             :                                                cAlphaFields(3)));
     909           0 :                 ErrorsFound = true;
     910             :             }
     911             : 
     912         825 :             if (refrig->HfValues.size() == 0) {
     913           0 :                 ShowSevereCustomMessage(state,
     914             :                                         eoh,
     915           0 :                                         format(R"(No Saturated Fluid Enthalpy found. Need properties with {}="Enthalpy" and {}="Fluid".)",
     916             :                                                cAlphaFields(2),
     917             :                                                cAlphaFields(3)));
     918           0 :                 ErrorsFound = true;
     919             :             }
     920             : 
     921         825 :             if (refrig->HfgValues.size() == 0) {
     922           0 :                 ShowSevereCustomMessage(state,
     923             :                                         eoh,
     924           0 :                                         format(R"(No Saturated Gas/Fluid Enthalpy found. Need properties with {}="Enthalpy" and {}="FluidGas".)",
     925             :                                                cAlphaFields(2),
     926             :                                                cAlphaFields(3)));
     927           0 :                 ErrorsFound = true;
     928             :             }
     929             : 
     930         825 :             if (refrig->CpfValues.size() == 0) {
     931           0 :                 ShowSevereCustomMessage(state,
     932             :                                         eoh,
     933           0 :                                         format(R"(No Saturated Fluid Specific Heat found. Need properties with {}="SpecificHeat" and {}="Fluid".)",
     934             :                                                cAlphaFields(2),
     935             :                                                cAlphaFields(3)));
     936           0 :                 ErrorsFound = true;
     937             :             }
     938             : 
     939         825 :             if (refrig->CpfgValues.size() == 0) {
     940           0 :                 ShowSevereCustomMessage(
     941             :                     state,
     942             :                     eoh,
     943           0 :                     format(R"(No Saturated Gas/Fluid Specific Heat found. Need properties with {}="SpecificHeat" and {}="FluidGas".)",
     944             :                            cAlphaFields(2),
     945             :                            cAlphaFields(3)));
     946           0 :                 ErrorsFound = true;
     947             :             }
     948             : 
     949         825 :             if (refrig->RhofValues.size() == 0) {
     950           0 :                 ShowSevereCustomMessage(state,
     951             :                                         eoh,
     952           0 :                                         format(R"(No Saturated Fluid Density found. Need properties with {}="Density" and {}="Fluid".)",
     953             :                                                cAlphaFields(2),
     954             :                                                cAlphaFields(3)));
     955           0 :                 ErrorsFound = true;
     956             :             }
     957             : 
     958         825 :             if (refrig->RhofgValues.size() == 0) {
     959           0 :                 ShowSevereCustomMessage(state,
     960             :                                         eoh,
     961           0 :                                         format(R"(No Saturated Gas/Fluid Density found. Need properties with {}="Density" and {}="FluidGas".)",
     962             :                                                cAlphaFields(2),
     963             :                                                cAlphaFields(3)));
     964           0 :                 ErrorsFound = true;
     965             :             }
     966             :         } // for (refrigNum)
     967             : 
     968             :         // Check: TEMPERATURES for saturated density (must all be the same)
     969             :         //    IF (RefrigData(Loop)%NumCpPoints /= RefrigData(Loop)%NumCpPoints) THEN
     970             :         //!!!  Error -- can never happen, does this mean NumCp vs. NumRho?
     971             :         //      CALL ShowFatalError(state, 'GetFluidPropertiesData: Number of specific heat fluid and gas/fluid points are not the same')
     972             :         //    ELSE
     973             :         //      DO TempLoop = 1, RefrigData(Loop)%NumCpPoints
     974             :         //!!! Error -- something else that can never happen
     975             :         //        IF (ABS(RefrigData(Loop)%CpTemps(TempLoop)-RefrigData(Loop)%CpTemps(TempLoop)) > TempToler) THEN
     976             :         //          CALL ShowSevereError(state, 'GetFluidPropertiesData: Temperatures for specific heat fluid and '// &
     977             :         //                               'gas/fluid points are not the same')
     978             :         //          CALL ShowContinueError(state, 'Error occurs in Refrigerant Data Name='//TRIM(RefrigData(Loop)%Name))
     979             :         //          WRITE(String1,*) TempLoop
     980             :         //          String1=ADJUSTL(String1)
     981             :         //          String2=TrimSigDigits(RefrigData(Loop)%CpTemps(TempLoop),3)
     982             :         //          String2=ADJUSTL(String2)
     983             :         //          String4=TrimSigDigits(RefrigData(Loop)%CpTemps(TempLoop),3)
     984             :         //          String4=ADJUSTL(String4)
     985             :         //          CALL ShowContinueError(state, 'First Occurrence at CpTemp('//TRIM(String1)//') {'//TRIM(String2)//'} /=
     986             :         //          {'//TRIM(String4)//'}') ErrorsFound=.TRUE. EXIT
     987             :         //        ENDIF
     988             :         //      END DO
     989             :         //    END IF
     990             : 
     991             :         // **********   SUPERHEATED DATA SECTION   **********
     992             :         // Get: ***** ENTHALPY of SUPERHEATED GAS  *****
     993             :         // First find the number of pressure value syntax lines have been entered and
     994             :         // make sure that all of the pressure input is linked to the same temperature list
     995             : 
     996             :         // Need to do a setup pass to find the number of pressure points
     997         796 :         CurrentModuleObject = "FluidProperties:Superheated";
     998        4346 :         for (int InData = 1; InData <= NumOfSHFluidPropArrays; ++InData) {
     999        3550 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1000             :                                                                      CurrentModuleObject,
    1001             :                                                                      InData,
    1002             :                                                                      Alphas,
    1003             :                                                                      NumAlphas,
    1004             :                                                                      Numbers,
    1005             :                                                                      NumNumbers,
    1006             :                                                                      Status,
    1007             :                                                                      lNumericFieldBlanks,
    1008             :                                                                      lAlphaFieldBlanks,
    1009             :                                                                      cAlphaFields,
    1010             :                                                                      cNumericFields);
    1011             : 
    1012        3550 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1013             : 
    1014        3550 :             auto *refrig = GetRefrig(state, Alphas(1));
    1015        3550 :             if (refrig == nullptr) {
    1016           0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(1), Alphas(1));
    1017           0 :                 ErrorsFound = true;
    1018        1775 :                 continue;
    1019             :             }
    1020             : 
    1021        3550 :             if (refrig->supTempArrayName != "" && refrig->supTempArrayName != Alphas(3)) {
    1022           0 :                 ShowSevereCustomMessage(state, eoh, "Saturated temperature arrays are not the same for different properties");
    1023           0 :                 ErrorsFound = true;
    1024           0 :                 continue;
    1025             :             }
    1026             : 
    1027        3550 :             refrig->supTempArrayName = Alphas(3);
    1028             : 
    1029        3550 :             if (Alphas(2) != "ENTHALPY") continue;
    1030             : 
    1031        1775 :             int supTempArrayNum = Util::FindItemInList(refrig->supTempArrayName, FluidTemps);
    1032        1775 :             if (supTempArrayNum == 0) {
    1033           0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(3), Alphas(3));
    1034           0 :                 ErrorsFound = true;
    1035           0 :                 continue;
    1036             :             }
    1037             : 
    1038        1775 :             auto const &supTempArray = FluidTemps(supTempArrayNum);
    1039        1775 :             refrig->NumSupTempPoints = supTempArray.NumOfTemps;
    1040        1775 :             refrig->SupTemps.allocate(refrig->NumSupTempPoints);
    1041        1775 :             refrig->SupTemps = supTempArray.Temps;
    1042             : 
    1043        1775 :             if (Numbers(1) <= 0.0) {
    1044           0 :                 ShowSevereError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
    1045           0 :                 ShowContinueError(state, format("Negative pressures not allowed in fluid property input data, Value =[{:.3R}].", Numbers(1)));
    1046           0 :                 ErrorsFound = true;
    1047           0 :                 continue;
    1048             :             }
    1049             : 
    1050        1775 :             if (std::find(refrig->SupPress.begin(), refrig->SupPress.end(), Numbers(1)) == refrig->SupPress.end()) {
    1051        1775 :                 refrig->SupPress.push_back(Numbers(1));
    1052        1775 :                 ++refrig->NumSupPressPoints;
    1053             :             }
    1054             :         }
    1055             : 
    1056             :         // Sort and allocate pressure point arrays
    1057        1621 :         for (auto *refrig : df->refrigs) {
    1058         825 :             if (refrig->Name == "STEAM") continue;
    1059             : 
    1060          29 :             std::sort(refrig->SupPress.begin(), refrig->SupPress.end());
    1061             : 
    1062          29 :             refrig->HshValues.allocate(refrig->NumSupPressPoints, refrig->NumSupTempPoints);
    1063          29 :             refrig->RhoshValues.allocate(refrig->NumSupPressPoints, refrig->NumSupTempPoints);
    1064             :         }
    1065             : 
    1066             :         // Finally, get the pressure and enthalpy values from the user input
    1067         796 :         CurrentModuleObject = "FluidProperties:Superheated";
    1068        4346 :         for (int InData = 1; InData <= NumOfSHFluidPropArrays; ++InData) {
    1069        3550 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1070             :                                                                      CurrentModuleObject,
    1071             :                                                                      InData,
    1072             :                                                                      Alphas,
    1073             :                                                                      NumAlphas,
    1074             :                                                                      Numbers,
    1075             :                                                                      NumNumbers,
    1076             :                                                                      Status,
    1077             :                                                                      lNumericFieldBlanks,
    1078             :                                                                      lAlphaFieldBlanks,
    1079             :                                                                      cAlphaFields,
    1080             :                                                                      cNumericFields);
    1081             : 
    1082        3550 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1083             : 
    1084        3550 :             auto *refrig = GetRefrig(state, Alphas(1));
    1085        3550 :             if (refrig == nullptr) {
    1086           0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(1), Alphas(1));
    1087           0 :                 ErrorsFound = true;
    1088           0 :                 continue;
    1089             :             }
    1090             : 
    1091        3550 :             if ((NumNumbers - 1) != refrig->NumSupTempPoints) {
    1092           0 :                 ShowSevereCustomMessage(state,
    1093             :                                         eoh,
    1094           0 :                                         format("Number of superheated {} points ({}) not equal to number of temperature points ({})",
    1095             :                                                Alphas(2),
    1096           0 :                                                NumNumbers - 1,
    1097           0 :                                                refrig->NumSupTempPoints));
    1098           0 :                 ErrorsFound = true;
    1099           0 :                 continue;
    1100             :             }
    1101             : 
    1102             :             // Find which pressure point this temperature series belongs to
    1103        3550 :             auto pressFound = std::find(refrig->SupPress.begin(), refrig->SupPress.end(), Numbers(1));
    1104        3550 :             assert(pressFound != refrig->SupPress.end());
    1105        3550 :             int pressNum = (pressFound - refrig->SupPress.begin()) + 1;
    1106             : 
    1107        3550 :             if (Alphas(2) == "ENTHALPY") {
    1108        1775 :                 refrig->HshValues(pressNum, {1, refrig->NumSupTempPoints}) = Numbers({2, NumNumbers});
    1109        1775 :             } else if (Alphas(2) == "DENSITY") {
    1110        1775 :                 refrig->RhoshValues(pressNum, {1, refrig->NumSupTempPoints}) = Numbers({2, NumNumbers});
    1111             :             } else {
    1112           0 :                 ShowWarningInvalidKey(state,
    1113             :                                       eoh,
    1114           0 :                                       cAlphaFields(2),
    1115           0 :                                       Alphas(2),
    1116             :                                       "",
    1117             :                                       R"(Valid options are ("Enthalpy", "Density"). Fluid will not be available for simulation.)");
    1118           0 :                 ErrorsFound = true;
    1119           0 :                 continue;
    1120             :             }
    1121             :         } // for (InData)
    1122             : 
    1123             :         // *************** RAW GLYCOLS ***************
    1124             :         // Go through each glycol found in the fluid names statement and read in the data
    1125             :         // Note that every valid fluid must have ALL of the necessary data or a fatal error will
    1126             :         // be produced.
    1127             : 
    1128             :         // Propylene and ethylene are available by default
    1129             : 
    1130         796 :         auto *waterRaw = GetGlycolRaw(state, "WATER");
    1131         796 :         if (waterRaw == nullptr) {
    1132         796 :             waterRaw = new GlycolRawProps;
    1133         796 :             waterRaw->Name = "WATER";
    1134             : 
    1135         796 :             df->glycolsRaw.push_back(waterRaw);
    1136         796 :             waterRaw->Num = df->glycolsRaw.isize();
    1137             :         }
    1138             : 
    1139         796 :         waterRaw->CpDataPresent = true;
    1140         796 :         waterRaw->NumCpConcPoints = 1;
    1141         796 :         waterRaw->NumCpTempPoints = DefaultNumGlyTemps;
    1142         796 :         waterRaw->CpTemps.allocate(waterRaw->NumCpTempPoints);
    1143         796 :         waterRaw->CpTemps = DefaultGlycolTemps;
    1144         796 :         waterRaw->CpConcs.allocate(waterRaw->NumCpConcPoints);
    1145         796 :         waterRaw->CpConcs = 0.0;
    1146         796 :         waterRaw->CpValues.allocate(waterRaw->NumCpConcPoints, waterRaw->NumCpTempPoints);
    1147         796 :         waterRaw->CpValues(1, {1, waterRaw->NumCpTempPoints}) = DefaultWaterCpData;
    1148             : 
    1149         796 :         waterRaw->RhoDataPresent = true;
    1150         796 :         waterRaw->NumRhoConcPoints = 1;
    1151         796 :         waterRaw->NumRhoTempPoints = DefaultNumGlyTemps;
    1152         796 :         waterRaw->RhoTemps.allocate(waterRaw->NumRhoTempPoints);
    1153         796 :         waterRaw->RhoTemps = DefaultGlycolTemps;
    1154         796 :         waterRaw->RhoConcs.allocate(waterRaw->NumRhoConcPoints);
    1155         796 :         waterRaw->RhoConcs = 0.0;
    1156         796 :         waterRaw->RhoValues.allocate(waterRaw->NumRhoConcPoints, waterRaw->NumRhoTempPoints);
    1157         796 :         waterRaw->RhoValues(1, {1, waterRaw->NumRhoTempPoints}) = DefaultWaterRhoData;
    1158             : 
    1159         796 :         waterRaw->CondDataPresent = true;
    1160         796 :         waterRaw->NumCondConcPoints = 1;
    1161         796 :         waterRaw->NumCondTempPoints = DefaultNumGlyTemps;
    1162         796 :         waterRaw->CondTemps.allocate(waterRaw->NumCondTempPoints);
    1163         796 :         waterRaw->CondTemps = DefaultGlycolTemps;
    1164         796 :         waterRaw->CondConcs.allocate(waterRaw->NumCondConcPoints);
    1165         796 :         waterRaw->CondConcs = 0.0;
    1166         796 :         waterRaw->CondValues.allocate(waterRaw->NumCondConcPoints, waterRaw->NumCondTempPoints);
    1167         796 :         waterRaw->CondValues(1, {1, waterRaw->NumCondTempPoints}) = DefaultWaterCondData;
    1168             : 
    1169         796 :         waterRaw->ViscDataPresent = true;
    1170         796 :         waterRaw->NumViscConcPoints = 1;
    1171         796 :         waterRaw->NumViscTempPoints = DefaultNumGlyTemps;
    1172         796 :         waterRaw->ViscTemps.allocate(waterRaw->NumViscTempPoints);
    1173         796 :         waterRaw->ViscTemps = DefaultGlycolTemps;
    1174         796 :         waterRaw->ViscConcs.allocate(waterRaw->NumViscConcPoints);
    1175         796 :         waterRaw->ViscConcs = 0.0;
    1176         796 :         waterRaw->ViscValues.allocate(waterRaw->NumViscConcPoints, waterRaw->NumViscTempPoints);
    1177         796 :         waterRaw->ViscValues(1, {1, waterRaw->NumViscTempPoints}) = DefaultWaterViscData;
    1178             : 
    1179         796 :         auto *ethylene = GetGlycolRaw(state, "ETHYLENEGLYCOL");
    1180         796 :         if (ethylene == nullptr) {
    1181         796 :             ethylene = new GlycolRawProps;
    1182         796 :             ethylene->Name = "ETHYLENEGLYCOL";
    1183         796 :             df->glycolsRaw.push_back(ethylene);
    1184         796 :             ethylene->Num = df->glycolsRaw.isize();
    1185             :         }
    1186             : 
    1187             :         // Specific Heat
    1188         796 :         ethylene->CpDataPresent = true;                 // Flag set when specific heat data is available
    1189         796 :         ethylene->NumCpTempPoints = DefaultNumGlyTemps; // Number of temperature points for specific heat
    1190         796 :         ethylene->NumCpConcPoints = DefaultNumGlyConcs; // Number of concentration points for specific heat
    1191             : 
    1192         796 :         ethylene->CpTemps.allocate(ethylene->NumCpTempPoints); // Temperatures for specific heat of glycol
    1193         796 :         ethylene->CpTemps = DefaultGlycolTemps;
    1194             : 
    1195         796 :         ethylene->CpConcs.allocate(ethylene->NumCpConcPoints); // Concentration for specific heat of glycol
    1196         796 :         ethylene->CpConcs = DefaultGlycolConcs;
    1197             : 
    1198         796 :         ethylene->CpValues.allocate(ethylene->NumCpConcPoints, ethylene->NumCpTempPoints); // Specific heat data values
    1199        8756 :         for (int i = 1; i <= ethylene->NumCpConcPoints; ++i)
    1200        7960 :             ethylene->CpValues(i, {1, ethylene->NumCpTempPoints}) = DefaultEthGlyCpData[i - 1];
    1201             : 
    1202             :         // Density
    1203         796 :         ethylene->RhoDataPresent = true;
    1204         796 :         ethylene->NumRhoTempPoints = DefaultNumGlyTemps;
    1205         796 :         ethylene->NumRhoConcPoints = DefaultNumGlyConcs;
    1206             : 
    1207         796 :         ethylene->RhoTemps.allocate(ethylene->NumRhoTempPoints); // Temperatures for density of glycol
    1208         796 :         ethylene->RhoTemps = DefaultGlycolTemps;
    1209             : 
    1210         796 :         ethylene->RhoConcs.allocate(ethylene->NumRhoConcPoints); // Concentration for density of glycol
    1211         796 :         ethylene->RhoConcs = DefaultGlycolConcs;
    1212             : 
    1213         796 :         ethylene->RhoValues.allocate(ethylene->NumRhoConcPoints, ethylene->NumRhoTempPoints); // Density data values
    1214        8756 :         for (int i = 1; i <= ethylene->NumRhoConcPoints; ++i)
    1215        7960 :             ethylene->RhoValues(i, {1, ethylene->NumRhoTempPoints}) = DefaultEthGlyRhoData[i - 1];
    1216             : 
    1217             :         // Conductivity
    1218         796 :         ethylene->CondDataPresent = true;
    1219         796 :         ethylene->NumCondTempPoints = DefaultNumGlyTemps;
    1220         796 :         ethylene->NumCondConcPoints = DefaultNumGlyConcs;
    1221             : 
    1222         796 :         ethylene->CondTemps.allocate(ethylene->NumCondTempPoints); // Temperatures for density of glycol
    1223         796 :         ethylene->CondTemps = DefaultGlycolTemps;
    1224             : 
    1225         796 :         ethylene->CondConcs.allocate(ethylene->NumCondConcPoints); // Concentration for density of glycol
    1226         796 :         ethylene->CondConcs = DefaultGlycolConcs;
    1227             : 
    1228         796 :         ethylene->CondValues.allocate(ethylene->NumCondConcPoints, ethylene->NumCondTempPoints); // Density data values
    1229        8756 :         for (int i = 1; i <= ethylene->NumCondConcPoints; ++i)
    1230        7960 :             ethylene->CondValues(i, {1, ethylene->NumCondTempPoints}) = DefaultEthGlyCondData[i - 1];
    1231             : 
    1232             :         // Viscosity
    1233         796 :         ethylene->ViscDataPresent = true;
    1234         796 :         ethylene->NumViscTempPoints = DefaultNumGlyTemps;
    1235         796 :         ethylene->NumViscConcPoints = DefaultNumGlyConcs;
    1236             : 
    1237         796 :         ethylene->ViscTemps.allocate(ethylene->NumViscTempPoints); // Temperatures for density of glycol
    1238         796 :         ethylene->ViscTemps = DefaultGlycolTemps;
    1239             : 
    1240         796 :         ethylene->ViscConcs.allocate(ethylene->NumViscConcPoints); // Concentration for density of glycol
    1241         796 :         ethylene->ViscConcs = DefaultGlycolConcs;
    1242             : 
    1243         796 :         ethylene->ViscValues.allocate(ethylene->NumViscConcPoints, ethylene->NumViscTempPoints); // Density data values
    1244        8756 :         for (int i = 1; i <= ethylene->NumViscConcPoints; ++i)
    1245        7960 :             ethylene->ViscValues(i, {1, ethylene->NumViscTempPoints}) = DefaultEthGlyViscData[i - 1];
    1246             : 
    1247             :         // Propylene
    1248         796 :         auto *propylene = GetGlycolRaw(state, "PROPYLENEGLYCOL");
    1249         796 :         if (propylene == nullptr) {
    1250         789 :             propylene = new GlycolRawProps;
    1251         789 :             propylene->Name = "PROPYLENEGLYCOL";
    1252         789 :             df->glycolsRaw.push_back(propylene);
    1253         789 :             propylene->Num = df->glycolsRaw.isize();
    1254             :         }
    1255             : 
    1256             :         // Specific Heat
    1257         796 :         propylene->CpDataPresent = true;                 // Flag set when specific heat data is available
    1258         796 :         propylene->NumCpTempPoints = DefaultNumGlyTemps; // Number of temperature points for specific heat
    1259         796 :         propylene->NumCpConcPoints = DefaultNumGlyConcs; // Number of concentration points for specific heat
    1260             : 
    1261             :         // No ObjexxFCL templates for assigning std::array to Array1S, Probably want to covert these Array1D and 2D to std::vector eventually anyway
    1262         796 :         propylene->CpTemps.allocate(propylene->NumCpTempPoints); // Temperatures for specific heat of glycol
    1263         796 :         propylene->CpTemps = DefaultGlycolTemps;
    1264             : 
    1265         796 :         propylene->CpConcs.allocate(propylene->NumCpConcPoints); // Concentration for specific heat of glycol
    1266         796 :         propylene->CpConcs = DefaultGlycolConcs;
    1267             : 
    1268         796 :         propylene->CpValues.allocate(propylene->NumCpConcPoints, propylene->NumCpTempPoints); // Specific heat data values
    1269        8756 :         for (int i = 1; i <= propylene->NumCpConcPoints; ++i)
    1270        7960 :             propylene->CpValues(i, {1, propylene->NumCpTempPoints}) = DefaultPropGlyCpData[i - 1];
    1271             : 
    1272             :         // Density
    1273         796 :         propylene->RhoDataPresent = true;
    1274         796 :         propylene->NumRhoTempPoints = DefaultNumGlyTemps;
    1275         796 :         propylene->NumRhoConcPoints = DefaultNumGlyConcs;
    1276             : 
    1277         796 :         propylene->RhoTemps.allocate(propylene->NumRhoTempPoints); // Temperatures for density of glycol
    1278         796 :         propylene->RhoTemps = DefaultGlycolTemps;
    1279             : 
    1280         796 :         propylene->RhoConcs.allocate(propylene->NumRhoConcPoints); // Concentration for density of glycol
    1281         796 :         propylene->RhoConcs = DefaultGlycolConcs;
    1282             : 
    1283         796 :         propylene->RhoValues.allocate(propylene->NumRhoConcPoints, propylene->NumRhoTempPoints); // Density data values
    1284        8756 :         for (int i = 1; i <= propylene->NumRhoConcPoints; ++i)
    1285        7960 :             propylene->RhoValues(i, {1, propylene->NumRhoTempPoints}) = DefaultPropGlyRhoData[i - 1];
    1286             : 
    1287             :         // Conductivity
    1288         796 :         propylene->CondDataPresent = true;
    1289         796 :         propylene->NumCondTempPoints = DefaultNumGlyTemps;
    1290         796 :         propylene->NumCondConcPoints = DefaultNumGlyConcs;
    1291             : 
    1292         796 :         propylene->CondTemps.allocate(propylene->NumCondTempPoints); // Temperatures for density of glycol
    1293         796 :         propylene->CondTemps = DefaultGlycolTemps;
    1294             : 
    1295         796 :         propylene->CondConcs.allocate(propylene->NumCondConcPoints); // Concentration for density of glycol
    1296         796 :         propylene->CondConcs = DefaultGlycolConcs;
    1297             : 
    1298         796 :         propylene->CondValues.allocate(propylene->NumCondConcPoints, propylene->NumCondTempPoints); // Density data values
    1299        8756 :         for (int i = 1; i <= propylene->NumCondConcPoints; ++i)
    1300        7960 :             propylene->CondValues(i, {1, propylene->NumCondTempPoints}) = DefaultPropGlyCondData[i - 1];
    1301             : 
    1302             :         // Viscosity
    1303         796 :         propylene->ViscDataPresent = true;
    1304         796 :         propylene->NumViscTempPoints = DefaultNumGlyTemps;
    1305         796 :         propylene->NumViscConcPoints = DefaultNumGlyConcs;
    1306             : 
    1307         796 :         propylene->ViscTemps.allocate(propylene->NumViscTempPoints); // Temperatures for density of glycol
    1308         796 :         propylene->ViscTemps = DefaultGlycolTemps;
    1309             : 
    1310         796 :         propylene->ViscConcs.allocate(propylene->NumViscConcPoints); // Concentration for density of glycol
    1311         796 :         propylene->ViscConcs = DefaultGlycolConcs;
    1312             : 
    1313         796 :         propylene->ViscValues.allocate(propylene->NumViscConcPoints, propylene->NumViscTempPoints); // Density data values
    1314        8756 :         for (int i = 1; i <= propylene->NumViscConcPoints; ++i)
    1315        7960 :             propylene->ViscValues(i, {1, propylene->NumViscTempPoints}) = DefaultPropGlyViscData[i - 1];
    1316             : 
    1317         796 :         CurrentModuleObject = "FluidProperties:Concentration";
    1318         896 :         for (int InData = 1; InData <= NumOfGlyFluidPropArrays; ++InData) { // check temperatures given for specific heat are consistant
    1319         100 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1320             :                                                                      CurrentModuleObject,
    1321             :                                                                      InData,
    1322             :                                                                      Alphas,
    1323             :                                                                      NumAlphas,
    1324             :                                                                      Numbers,
    1325             :                                                                      NumNumbers,
    1326             :                                                                      Status,
    1327             :                                                                      lNumericFieldBlanks,
    1328             :                                                                      lAlphaFieldBlanks,
    1329             :                                                                      cAlphaFields,
    1330             :                                                                      cNumericFields);
    1331             : 
    1332         100 :             if (Alphas(1) == "WATER") continue; // Is this the right thing to do?
    1333             : 
    1334         100 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1335             : 
    1336         100 :             auto *glycolRaw = GetGlycolRaw(state, Alphas(1));
    1337         100 :             if (glycolRaw == nullptr) {
    1338           0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(1), Alphas(1));
    1339           0 :                 ErrorsFound = true;
    1340           0 :                 continue;
    1341             :             }
    1342             : 
    1343         100 :             if (Util::FindItemInList(Alphas(3), FluidTemps) == 0) {
    1344           0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(3), Alphas(3));
    1345           0 :                 ErrorsFound = true;
    1346           0 :                 continue;
    1347             :             }
    1348             : 
    1349         100 :             if (Numbers(1) < 0.0) {
    1350           0 :                 ShowSevereCustomMessage(state, eoh, "Negative concentrations not allowed in fluid property input data");
    1351           0 :                 ErrorsFound = true;
    1352           0 :                 continue;
    1353             :             }
    1354             : 
    1355             :             // Can temperatue and pressure points be different for different properties?  Why is this allowed?
    1356         100 :             if (Alphas(2) == "SPECIFICHEAT") {
    1357          25 :                 if (glycolRaw->CpTempArrayName != "" && glycolRaw->CpTempArrayName != Alphas(3)) {
    1358           0 :                     ShowSevereCustomMessage(state,
    1359             :                                             eoh,
    1360           0 :                                             format("All specific heat data for the same glycol must use the same temperature list"
    1361             :                                                    "Expected name={}, Entered name={}",
    1362           0 :                                                    glycolRaw->CpTempArrayName,
    1363             :                                                    Alphas(3)));
    1364           0 :                     ErrorsFound = true;
    1365           0 :                     continue;
    1366             :                 }
    1367          25 :                 glycolRaw->CpTempArrayName = Alphas(3);
    1368             : 
    1369          25 :                 if (std::find(glycolRaw->CpConcs.begin(), glycolRaw->CpConcs.end(), Numbers(1)) == glycolRaw->CpConcs.end()) {
    1370          15 :                     glycolRaw->CpConcs.push_back(Numbers(1));
    1371          15 :                     ++glycolRaw->NumCpConcPoints;
    1372             :                 }
    1373          25 :                 glycolRaw->CpDataPresent = true;
    1374             : 
    1375          75 :             } else if (Alphas(2) == "DENSITY") {
    1376          25 :                 if (glycolRaw->RhoTempArrayName != "" && glycolRaw->RhoTempArrayName != Alphas(3)) {
    1377           0 :                     ShowSevereCustomMessage(state,
    1378             :                                             eoh,
    1379           0 :                                             format("All density data for the same glycol must use the same temperature list"
    1380             :                                                    "Expected name={}, Entered name={}",
    1381           0 :                                                    glycolRaw->RhoTempArrayName,
    1382             :                                                    Alphas(3)));
    1383           0 :                     ErrorsFound = true;
    1384           0 :                     continue;
    1385             :                 }
    1386          25 :                 glycolRaw->RhoTempArrayName = Alphas(3);
    1387             : 
    1388          25 :                 if (std::find(glycolRaw->RhoConcs.begin(), glycolRaw->RhoConcs.end(), Numbers(1)) == glycolRaw->RhoConcs.end()) {
    1389          15 :                     glycolRaw->RhoConcs.push_back(Numbers(1));
    1390          15 :                     ++glycolRaw->NumRhoConcPoints;
    1391             :                 }
    1392          25 :                 glycolRaw->RhoDataPresent = true;
    1393             : 
    1394          50 :             } else if (Alphas(2) == "CONDUCTIVITY") {
    1395          25 :                 if (glycolRaw->CondTempArrayName != "" && glycolRaw->CondTempArrayName != Alphas(3)) {
    1396           0 :                     ShowSevereCustomMessage(state,
    1397             :                                             eoh,
    1398           0 :                                             format("All conductivity data for the same glycol must use the same temperature list"
    1399             :                                                    "Expected name={}, Entered name={}",
    1400           0 :                                                    glycolRaw->CondTempArrayName,
    1401             :                                                    Alphas(3)));
    1402           0 :                     ErrorsFound = true;
    1403           0 :                     continue;
    1404             :                 }
    1405          25 :                 glycolRaw->CondTempArrayName = Alphas(3);
    1406             : 
    1407          25 :                 if (std::find(glycolRaw->CondConcs.begin(), glycolRaw->CondConcs.end(), Numbers(1)) == glycolRaw->CondConcs.end()) {
    1408          15 :                     glycolRaw->CondConcs.push_back(Numbers(1));
    1409          15 :                     ++glycolRaw->NumCondConcPoints;
    1410             :                 }
    1411          25 :                 glycolRaw->CondDataPresent = true;
    1412             : 
    1413          25 :             } else if (Alphas(2) == "VISCOSITY") {
    1414          25 :                 if (glycolRaw->ViscTempArrayName != "" && glycolRaw->ViscTempArrayName != Alphas(3)) {
    1415           0 :                     ShowSevereCustomMessage(state,
    1416             :                                             eoh,
    1417           0 :                                             format("All conductivity data for the same glycol must use the same temperature list"
    1418             :                                                    "Expected name={}, Entered name={}",
    1419           0 :                                                    glycolRaw->ViscTempArrayName,
    1420             :                                                    Alphas(3)));
    1421           0 :                     ErrorsFound = true;
    1422           0 :                     continue;
    1423             :                 }
    1424          25 :                 glycolRaw->ViscTempArrayName = Alphas(3);
    1425             : 
    1426          25 :                 if (std::find(glycolRaw->ViscConcs.begin(), glycolRaw->ViscConcs.end(), Numbers(1)) == glycolRaw->ViscConcs.end()) {
    1427          15 :                     glycolRaw->ViscConcs.push_back(Numbers(1));
    1428          15 :                     ++glycolRaw->NumViscConcPoints;
    1429             :                 }
    1430          25 :                 glycolRaw->ViscDataPresent = true;
    1431             : 
    1432             :             } else {
    1433           0 :                 ShowSevereInvalidKey(
    1434           0 :                     state, eoh, cAlphaFields(2), Alphas(2), "Valid options are (\"Specific Heat\", \"Density\", \"Conductivity\", \"Viscosity\")");
    1435           0 :                 ErrorsFound = true;
    1436             :             }
    1437             :         }
    1438             : 
    1439             :         // Allocate and sort temp point/conc point arrays
    1440        3188 :         for (auto *glycolRaw : df->glycolsRaw) {
    1441             : 
    1442        2392 :             if (!glycolRaw->CpTempArrayName.empty()) {
    1443           4 :                 int cpTempArrayNum = Util::FindItemInList(glycolRaw->CpTempArrayName, FluidTemps);
    1444           4 :                 auto const &cpTempArray = FluidTemps(cpTempArrayNum);
    1445           4 :                 glycolRaw->NumCpTempPoints = cpTempArray.NumOfTemps;
    1446           4 :                 glycolRaw->CpTemps.allocate(glycolRaw->NumCpTempPoints);
    1447           4 :                 glycolRaw->CpTemps = cpTempArray.Temps;
    1448             : 
    1449           4 :                 glycolRaw->CpValues.allocate(glycolRaw->NumCpConcPoints, glycolRaw->NumCpTempPoints);
    1450           4 :                 std::sort(glycolRaw->CpConcs.begin(), glycolRaw->CpConcs.end());
    1451             :             }
    1452             : 
    1453        2392 :             if (!glycolRaw->RhoTempArrayName.empty()) {
    1454           4 :                 int rhoTempArrayNum = Util::FindItemInList(glycolRaw->RhoTempArrayName, FluidTemps);
    1455           4 :                 auto const &rhoTempArray = FluidTemps(rhoTempArrayNum);
    1456           4 :                 glycolRaw->NumRhoTempPoints = rhoTempArray.NumOfTemps;
    1457           4 :                 glycolRaw->RhoTemps.allocate(glycolRaw->NumRhoTempPoints);
    1458           4 :                 glycolRaw->RhoTemps = rhoTempArray.Temps;
    1459             : 
    1460           4 :                 glycolRaw->RhoValues.allocate(glycolRaw->NumRhoConcPoints, glycolRaw->NumRhoTempPoints);
    1461           4 :                 std::sort(glycolRaw->RhoConcs.begin(), glycolRaw->RhoConcs.end());
    1462             :             }
    1463             : 
    1464        2392 :             if (!glycolRaw->CondTempArrayName.empty()) {
    1465           4 :                 int condTempArrayNum = Util::FindItemInList(glycolRaw->CondTempArrayName, FluidTemps);
    1466           4 :                 auto const &condTempArray = FluidTemps(condTempArrayNum);
    1467           4 :                 glycolRaw->NumCondTempPoints = condTempArray.NumOfTemps;
    1468           4 :                 glycolRaw->CondTemps.allocate(glycolRaw->NumCondTempPoints);
    1469           4 :                 glycolRaw->CondTemps = condTempArray.Temps;
    1470             : 
    1471           4 :                 glycolRaw->CondValues.allocate(glycolRaw->NumCondConcPoints, glycolRaw->NumCondTempPoints);
    1472           4 :                 std::sort(glycolRaw->CondConcs.begin(), glycolRaw->CondConcs.end());
    1473             :             }
    1474             : 
    1475        2392 :             if (!glycolRaw->ViscTempArrayName.empty()) {
    1476           4 :                 int viscTempArrayNum = Util::FindItemInList(glycolRaw->ViscTempArrayName, FluidTemps);
    1477           4 :                 auto const &viscTempArray = FluidTemps(viscTempArrayNum);
    1478           4 :                 glycolRaw->NumViscTempPoints = viscTempArray.NumOfTemps;
    1479           4 :                 glycolRaw->ViscTemps.allocate(glycolRaw->NumViscTempPoints);
    1480           4 :                 glycolRaw->ViscTemps = viscTempArray.Temps;
    1481             : 
    1482           4 :                 glycolRaw->ViscValues.allocate(glycolRaw->NumViscConcPoints, glycolRaw->NumViscTempPoints);
    1483           4 :                 std::sort(glycolRaw->ViscConcs.begin(), glycolRaw->ViscConcs.end());
    1484             :             }
    1485             :         }
    1486             : 
    1487             :         // Finally, get the specific heat and concentration values from the user input
    1488         796 :         CurrentModuleObject = "FluidProperties:Concentration";
    1489         896 :         for (int InData = 1; InData <= NumOfGlyFluidPropArrays; ++InData) {
    1490         100 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1491             :                                                                      CurrentModuleObject,
    1492             :                                                                      InData,
    1493             :                                                                      Alphas,
    1494             :                                                                      NumAlphas,
    1495             :                                                                      Numbers,
    1496             :                                                                      NumNumbers,
    1497             :                                                                      Status,
    1498             :                                                                      lNumericFieldBlanks,
    1499             :                                                                      lAlphaFieldBlanks,
    1500             :                                                                      cAlphaFields,
    1501             :                                                                      cNumericFields);
    1502             : 
    1503         100 :             if (Alphas(1) == "WATER") continue; // Is this the right thing to do?
    1504             : 
    1505         100 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1506         100 :             auto *glycolRaw = GetGlycolRaw(state, Alphas(1));
    1507         100 :             assert(glycolRaw != nullptr); // We've already tested for this, can just assert now
    1508             : 
    1509         100 :             if (Alphas(2) == "SPECIFICHEAT") {
    1510          25 :                 if ((NumNumbers - 1) != glycolRaw->NumCpTempPoints) {
    1511           0 :                     ShowSevereCustomMessage(state,
    1512             :                                             eoh,
    1513           0 :                                             format("Number of specific heat points ({}) not equal to number of temperature points ({})",
    1514           0 :                                                    NumNumbers - 1,
    1515           0 :                                                    glycolRaw->NumCpTempPoints));
    1516           0 :                     ErrorsFound = true;
    1517           0 :                     continue;
    1518             :                 }
    1519          25 :                 auto concFound = std::find(glycolRaw->CpConcs.begin(), glycolRaw->CpConcs.end(), Numbers(1));
    1520          25 :                 assert(concFound != glycolRaw->CpConcs.end());
    1521          25 :                 int concNum = (concFound - glycolRaw->CpConcs.begin()) + 1;
    1522          25 :                 glycolRaw->CpValues(concNum, {1, glycolRaw->NumCpTempPoints}) = Numbers({2, NumNumbers});
    1523             : 
    1524          75 :             } else if (Alphas(2) == "DENSITY") {
    1525          25 :                 if ((NumNumbers - 1) != glycolRaw->NumRhoTempPoints) {
    1526           0 :                     ShowSevereCustomMessage(state,
    1527             :                                             eoh,
    1528           0 :                                             format("Number of density points ({}) not equal to number of temperature points ({})",
    1529           0 :                                                    NumNumbers - 1,
    1530           0 :                                                    glycolRaw->NumRhoTempPoints));
    1531           0 :                     ErrorsFound = true;
    1532           0 :                     continue;
    1533             :                 }
    1534          25 :                 auto concFound = std::find(glycolRaw->RhoConcs.begin(), glycolRaw->RhoConcs.end(), Numbers(1));
    1535          25 :                 assert(concFound != glycolRaw->RhoConcs.end());
    1536          25 :                 int concNum = (concFound - glycolRaw->RhoConcs.begin()) + 1;
    1537          25 :                 glycolRaw->RhoValues(concNum, {1, glycolRaw->NumRhoTempPoints}) = Numbers({2, NumNumbers});
    1538             : 
    1539          50 :             } else if (Alphas(2) == "CONDUCTIVITY") {
    1540          25 :                 if ((NumNumbers - 1) != glycolRaw->NumCondTempPoints) {
    1541           0 :                     ShowSevereCustomMessage(state,
    1542             :                                             eoh,
    1543           0 :                                             format("Number of conductivity points ({}) not equal to number of temperature points ({})",
    1544           0 :                                                    NumNumbers - 1,
    1545           0 :                                                    glycolRaw->NumCondTempPoints));
    1546           0 :                     ErrorsFound = true;
    1547           0 :                     continue;
    1548             :                 }
    1549          25 :                 auto concFound = std::find(glycolRaw->CondConcs.begin(), glycolRaw->CondConcs.end(), Numbers(1));
    1550          25 :                 assert(concFound != glycolRaw->CondConcs.end());
    1551          25 :                 int concNum = (concFound - glycolRaw->CondConcs.begin()) + 1;
    1552          25 :                 glycolRaw->CondValues(concNum, {1, glycolRaw->NumCondTempPoints}) = Numbers({2, NumNumbers});
    1553             : 
    1554          25 :             } else if (Alphas(2) == "VISCOSITY") {
    1555          25 :                 if ((NumNumbers - 1) != glycolRaw->NumViscTempPoints) {
    1556           0 :                     ShowSevereCustomMessage(state,
    1557             :                                             eoh,
    1558           0 :                                             format("Number of viscosity points ({}) not equal to number of temperature points ({})",
    1559           0 :                                                    NumNumbers - 1,
    1560           0 :                                                    glycolRaw->NumViscTempPoints));
    1561           0 :                     ErrorsFound = true;
    1562           0 :                     continue;
    1563             :                 }
    1564          25 :                 auto concFound = std::find(glycolRaw->ViscConcs.begin(), glycolRaw->ViscConcs.end(), Numbers(1));
    1565          25 :                 assert(concFound != glycolRaw->ViscConcs.end());
    1566          25 :                 int concNum = (concFound - glycolRaw->ViscConcs.begin()) + 1;
    1567          25 :                 glycolRaw->ViscValues(concNum, {1, glycolRaw->NumViscTempPoints}) = Numbers({2, NumNumbers});
    1568             :             }
    1569             :         } // for (InData)
    1570             : 
    1571             :         // Get: ***** GLYCOL CONCENTRATIONS *****
    1572             :         // Read in the GlycolConcentrations input and then set the property data accordingly
    1573             :         // Input Syntax:
    1574             :         // FluidProperties:GlycolConcentration,
    1575             :         //       \memo glycol and what concentration it is
    1576             :         //  A1,  \field Name
    1577             :         //       \type alpha
    1578             :         //       \required-field
    1579             :         //       \reference GlycolConcentrations
    1580             :         //  A2,  \field Glycol Type
    1581             :         //       \required-field
    1582             :         //       \type choice
    1583             :         //       \key EthyleneGlycol
    1584             :         //       \key PropyleneGlycol
    1585             :         //       \key UserDefinedGlycolType
    1586             :         //       \note or UserDefined Fluid (must show up as a glycol in FluidProperties:Name object)
    1587             :         //  A3,  \field User Defined Glycol Name
    1588             :         //       \type object-list
    1589             :         //       \object-list FluidAndGlycolNames
    1590             :         //  N1;  \field Glycol Concentration
    1591             :         //       \type real
    1592             :         //       \minimum 0.0
    1593             :         //       \maximum 1.0
    1594             : 
    1595             :         // Check to see if there is any GlycolConcentrations input.  If not, this
    1596             :         // is okay as long as the user only desires to simulate loops with water.
    1597             :         // More than one GlycolConcentrations input is not allowed.
    1598             : 
    1599         796 :         CurrentModuleObject = "FluidProperties:GlycolConcentration";
    1600         796 :         NumOfOptionalInput = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, CurrentModuleObject);
    1601             : 
    1602         796 :         auto *water = GetGlycol(state, "WATER");
    1603         796 :         if (water == nullptr) {
    1604         796 :             water = new GlycolProps;
    1605         796 :             water->Name = "WATER";
    1606         796 :             water->GlycolName = "WATER";
    1607         796 :             water->used = true; // mark Water as always used
    1608             : 
    1609         796 :             df->glycols.push_back(water);
    1610         796 :             water->Num = df->glycols.isize();
    1611             :         }
    1612         796 :         water->Concentration = 1.0;
    1613         796 :         water->CpDataPresent = true;
    1614         796 :         water->NumCpTempPoints = DefaultNumGlyTemps;
    1615         796 :         water->RhoDataPresent = true;
    1616         796 :         water->NumRhoTempPoints = DefaultNumGlyTemps;
    1617         796 :         water->CondDataPresent = true;
    1618         796 :         water->NumCondTempPoints = DefaultNumGlyTemps;
    1619         796 :         water->ViscDataPresent = true;
    1620         796 :         water->NumViscTempPoints = DefaultNumGlyTemps;
    1621         796 :         water->CpTemps.allocate(water->NumCpTempPoints);
    1622         796 :         water->CpValues.allocate(water->NumCpTempPoints);
    1623         796 :         water->RhoTemps.allocate(water->NumRhoTempPoints);
    1624         796 :         water->RhoValues.allocate(water->NumRhoTempPoints);
    1625         796 :         water->CondTemps.allocate(water->NumCondTempPoints);
    1626         796 :         water->CondValues.allocate(water->NumCondTempPoints);
    1627         796 :         water->ViscTemps.allocate(water->NumViscTempPoints);
    1628         796 :         water->ViscValues.allocate(water->NumViscTempPoints);
    1629         796 :         water->CpTemps = DefaultGlycolTemps;
    1630         796 :         water->CpValues = DefaultWaterCpData;
    1631         796 :         water->RhoTemps = DefaultGlycolTemps;
    1632         796 :         water->RhoValues = DefaultWaterRhoData;
    1633         796 :         water->CondTemps = DefaultGlycolTemps;
    1634         796 :         water->CondValues = DefaultWaterCondData;
    1635         796 :         water->ViscTemps = DefaultGlycolTemps;
    1636         796 :         water->ViscValues = DefaultWaterViscData;
    1637             : 
    1638             : #ifdef PERFORMANCE_OPT
    1639             :         // This is a speed optimization.  Maybe.
    1640             :         water->CpTempRatios.allocate(water->NumCpTempPoints);
    1641             :         for (int i = 1; i < water->NumCpTempPoints; ++i)
    1642             :             water->CpTempRatios(i) = (water->CpValues(i + 1) - water->CpValues(i)) / (water->CpTemps(i + 1) - water->CpTemps(i));
    1643             :         water->RhoTempRatios.allocate(water->NumRhoTempPoints);
    1644             :         for (int i = 1; i < water->NumRhoTempPoints; ++i)
    1645             :             water->RhoTempRatios(i) = (water->RhoValues(i + 1) - water->RhoValues(i)) / (water->RhoTemps(i + 1) - water->RhoTemps(i));
    1646             :         water->CondTempRatios.allocate(water->NumCondTempPoints);
    1647             :         for (int i = 1; i < water->NumCondTempPoints; ++i)
    1648             :             water->CondTempRatios(i) = (water->CondValues(i + 1) - water->CondValues(i)) / (water->CondTemps(i + 1) - water->CondTemps(i));
    1649             :         water->ViscTempRatios.allocate(water->NumViscTempPoints);
    1650             :         for (int i = 1; i < water->NumCondTempPoints; ++i)
    1651             :             water->ViscTempRatios(i) = (water->ViscValues(i + 1) - water->ViscValues(i)) / (water->ViscTemps(i + 1) - water->ViscTemps(i));
    1652             : #endif // PERFORMANCE_OPT
    1653             : 
    1654         824 :         for (int Loop = 1; Loop <= NumOfOptionalInput; ++Loop) {
    1655          28 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1656             :                                                                      CurrentModuleObject,
    1657             :                                                                      Loop,
    1658             :                                                                      Alphas,
    1659             :                                                                      NumAlphas,
    1660             :                                                                      Numbers,
    1661             :                                                                      NumNumbers,
    1662             :                                                                      Status,
    1663             :                                                                      lNumericFieldBlanks,
    1664             :                                                                      lAlphaFieldBlanks,
    1665             :                                                                      cAlphaFields,
    1666             :                                                                      cNumericFields);
    1667             : 
    1668          28 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1669             : 
    1670          28 :             auto *glycol = GetGlycol(state, Alphas(1));
    1671          28 :             if (glycol == nullptr) { // It appears that FluidProperties:Name is not necessary
    1672          28 :                 glycol = new GlycolProps;
    1673          28 :                 glycol->Name = Alphas(1);
    1674          28 :                 df->glycols.push_back(glycol);
    1675          28 :                 glycol->Num = df->glycols.isize();
    1676             :             }
    1677             : 
    1678          28 :             GlycolRawProps *glycolRaw = nullptr;
    1679             : 
    1680          28 :             if (Alphas(2) == "ETHYLENEGLYCOL" || Alphas(2) == "PROPYLENEGLYCOL") {
    1681          25 :                 glycol->GlycolName = Alphas(2);
    1682          25 :                 glycolRaw = GetGlycolRaw(state, Alphas(2));
    1683          25 :                 assert(glycolRaw != nullptr);
    1684           3 :             } else if (Alphas(2) == "USERDEFINEDGLYCOLTYPE") { // Why can't this just be the name of the user-defined glycol?
    1685           3 :                 glycol->GlycolName = Alphas(3);
    1686           3 :                 glycolRaw = GetGlycolRaw(state, Alphas(3));
    1687           3 :                 if (glycolRaw == nullptr) {
    1688           0 :                     ShowSevereItemNotFound(state, eoh, cAlphaFields(3), Alphas(3));
    1689           0 :                     ErrorsFound = true;
    1690           0 :                     continue;
    1691             :                 }
    1692             :             } else {
    1693           0 :                 ShowSevereInvalidKey(state, eoh, cAlphaFields(2), Alphas(2));
    1694           0 :                 ErrorsFound = true;
    1695           0 :                 continue;
    1696             :             }
    1697             : 
    1698             :             // We're good to go
    1699          28 :             glycol->Concentration = Numbers(1);
    1700             : 
    1701          28 :             glycol->CpDataPresent = glycolRaw->CpDataPresent;
    1702          28 :             if (!glycol->CpDataPresent) {
    1703           0 :                 ShowSevereError(state, format("{}: Specific heat data not entered for a {}", routineName, CurrentModuleObject));
    1704           0 :                 ShowContinueError(state, "ALL data must be entered for user-defined glycols");
    1705           0 :                 ShowContinueError(state, format("Glycol mixture name = {}", glycol->Name));
    1706           0 :                 ShowContinueError(state, format("Glycol fluid name = {}", glycol->GlycolName));
    1707           0 :                 ErrorsFound = true;
    1708           0 :                 continue;
    1709             :             }
    1710             : 
    1711          28 :             glycol->NumCpTempPoints = glycolRaw->NumCpTempPoints;
    1712          28 :             glycol->CpTemps.allocate(glycol->NumCpTempPoints);
    1713          28 :             glycol->CpTemps({1, glycol->NumCpTempPoints}) = glycolRaw->CpTemps({1, glycolRaw->NumCpTempPoints});
    1714          28 :             glycol->CpValues.allocate(glycol->NumCpTempPoints);
    1715          28 :             InterpValuesForGlycolConc(state,
    1716             :                                       glycolRaw->NumCpConcPoints,
    1717             :                                       glycolRaw->NumCpTempPoints,
    1718          28 :                                       glycolRaw->CpConcs,
    1719          28 :                                       glycolRaw->CpValues,
    1720             :                                       glycol->Concentration,
    1721          28 :                                       glycol->CpValues);
    1722             : 
    1723          28 :             glycol->RhoDataPresent = glycolRaw->RhoDataPresent;
    1724          28 :             if (!glycol->RhoDataPresent) {
    1725           0 :                 ShowSevereError(state, format("{}: density data not entered for a {}", routineName, CurrentModuleObject));
    1726           0 :                 ShowContinueError(state, "ALL data must be entered for user-defined glycols");
    1727           0 :                 ShowContinueError(state, format("Glycol mixture name = {}", glycol->Name));
    1728           0 :                 ShowContinueError(state, format("Glycol fluid name = {}", glycol->GlycolName));
    1729           0 :                 ErrorsFound = true;
    1730           0 :                 continue;
    1731             :             }
    1732             : 
    1733          28 :             glycol->NumRhoTempPoints = glycolRaw->NumRhoTempPoints;
    1734          28 :             glycol->RhoTemps.allocate(glycol->NumRhoTempPoints);
    1735          28 :             glycol->RhoTemps({1, glycol->NumRhoTempPoints}) = glycolRaw->RhoTemps({1, glycolRaw->NumRhoTempPoints});
    1736          28 :             glycol->RhoValues.allocate(glycol->NumRhoTempPoints);
    1737          28 :             InterpValuesForGlycolConc(state,
    1738             :                                       glycolRaw->NumRhoConcPoints,
    1739             :                                       glycolRaw->NumRhoTempPoints,
    1740          28 :                                       glycolRaw->RhoConcs,
    1741          28 :                                       glycolRaw->RhoValues,
    1742             :                                       glycol->Concentration,
    1743          28 :                                       glycol->RhoValues);
    1744             : 
    1745          28 :             glycol->CondDataPresent = glycolRaw->CondDataPresent;
    1746          28 :             if (!glycol->CondDataPresent) {
    1747           0 :                 ShowSevereError(state, format("{}: conductivity data not entered for a {}", routineName, CurrentModuleObject));
    1748           0 :                 ShowContinueError(state, "ALL data must be entered for user-defined glycols");
    1749           0 :                 ShowContinueError(state, format("Glycol mixture name = {}", glycol->Name));
    1750           0 :                 ShowContinueError(state, format("Glycol fluid name = {}", glycol->GlycolName));
    1751           0 :                 ErrorsFound = true;
    1752           0 :                 continue;
    1753             :             }
    1754             : 
    1755          28 :             glycol->NumCondTempPoints = glycolRaw->NumCondTempPoints;
    1756          28 :             glycol->CondTemps.allocate(glycol->NumCondTempPoints);
    1757          28 :             glycol->CondTemps({1, glycol->NumCondTempPoints}) = glycolRaw->CondTemps({1, glycolRaw->NumCondTempPoints});
    1758          28 :             glycol->CondValues.allocate(glycol->NumCondTempPoints);
    1759          28 :             InterpValuesForGlycolConc(state,
    1760             :                                       glycolRaw->NumCondConcPoints,
    1761             :                                       glycolRaw->NumCondTempPoints,
    1762          28 :                                       glycolRaw->CondConcs,
    1763          28 :                                       glycolRaw->CondValues,
    1764             :                                       glycol->Concentration,
    1765          28 :                                       glycol->CondValues);
    1766             : 
    1767          28 :             glycol->ViscDataPresent = glycolRaw->ViscDataPresent;
    1768          28 :             if (!glycol->ViscDataPresent) {
    1769           0 :                 ShowSevereError(state, format("{}: viscosity data not entered for a {}", routineName, CurrentModuleObject));
    1770           0 :                 ShowContinueError(state, "ALL data must be entered for user-defined glycols");
    1771           0 :                 ShowContinueError(state, format("Glycol mixture name = {}", glycol->Name));
    1772           0 :                 ShowContinueError(state, format("Glycol fluid name = {}", glycol->GlycolName));
    1773           0 :                 ErrorsFound = true;
    1774           0 :                 continue;
    1775             :             }
    1776             : 
    1777          28 :             glycol->NumViscTempPoints = glycolRaw->NumViscTempPoints;
    1778          28 :             glycol->ViscTemps.allocate(glycol->NumViscTempPoints);
    1779          28 :             glycol->ViscTemps({1, glycol->NumViscTempPoints}) = glycolRaw->ViscTemps({1, glycolRaw->NumViscTempPoints});
    1780          28 :             glycol->ViscValues.allocate(glycol->NumViscTempPoints);
    1781          28 :             InterpValuesForGlycolConc(state,
    1782             :                                       glycolRaw->NumViscConcPoints,
    1783             :                                       glycolRaw->NumViscTempPoints,
    1784          28 :                                       glycolRaw->ViscConcs,
    1785          28 :                                       glycolRaw->ViscValues,
    1786             :                                       glycol->Concentration,
    1787          28 :                                       glycol->ViscValues);
    1788             : 
    1789             : #ifdef PERFORMANCE_OPT
    1790             :             // This is a speed optimization.  Maybe.
    1791             :             glycol->CpTempRatios.allocate(glycol->NumCpTempPoints);
    1792             :             for (int i = 1; i < glycol->NumCpTempPoints; ++i)
    1793             :                 glycol->CpTempRatios(i) = (glycol->CpValues(i + 1) - glycol->CpValues(i)) / (glycol->CpTemps(i + 1) - glycol->CpTemps(i));
    1794             :             glycol->RhoTempRatios.allocate(glycol->NumRhoTempPoints);
    1795             :             for (int i = 1; i < glycol->NumRhoTempPoints; ++i)
    1796             :                 glycol->RhoTempRatios(i) = (glycol->RhoValues(i + 1) - glycol->RhoValues(i)) / (glycol->RhoTemps(i + 1) - glycol->RhoTemps(i));
    1797             :             glycol->CondTempRatios.allocate(glycol->NumCondTempPoints);
    1798             :             for (int i = 1; i < glycol->NumCondTempPoints; ++i)
    1799             :                 glycol->CondTempRatios(i) = (glycol->CondValues(i + 1) - glycol->CondValues(i)) / (glycol->CondTemps(i + 1) - glycol->CondTemps(i));
    1800             :             glycol->ViscTempRatios.allocate(glycol->NumViscTempPoints);
    1801             :             for (int i = 1; i < glycol->NumCondTempPoints; ++i)
    1802             :                 glycol->ViscTempRatios(i) = (glycol->ViscValues(i + 1) - glycol->ViscValues(i)) / (glycol->ViscTemps(i + 1) - glycol->ViscTemps(i));
    1803             : #endif    // PERFORMANCE_OPT
    1804             :         } // for (Loop)
    1805             : 
    1806         796 :         if (!ErrorsFound) InitializeGlycolTempLimits(state, ErrorsFound); // Initialize the Temp limits for the glycols
    1807             : 
    1808         796 :         if (!ErrorsFound) InitializeRefrigerantLimits(state, ErrorsFound); // Initialize the limits for the refrigerants
    1809             : 
    1810         796 :         FluidTemps.deallocate();
    1811             : 
    1812         796 :         Alphas.deallocate();
    1813         796 :         cAlphaFields.deallocate();
    1814         796 :         lAlphaFieldBlanks.deallocate();
    1815         796 :         Numbers.deallocate();
    1816         796 :         cNumericFields.deallocate();
    1817         796 :         lNumericFieldBlanks.deallocate();
    1818             : 
    1819         796 :         if (ErrorsFound) {
    1820           0 :             ShowFatalError(state, format("{}: Previous errors in input cause program termination.", routineName));
    1821             :         }
    1822             : 
    1823         796 :         if (state.dataInputProcessing->inputProcessor->getNumSectionsFound("REPORTGLYCOLS") > 0) df->DebugReportGlycols = true;
    1824         796 :         if (state.dataInputProcessing->inputProcessor->getNumSectionsFound("REPORTREFRIGERANTS") > 0) df->DebugReportRefrigerants = true;
    1825         796 :         if (state.dataInputProcessing->inputProcessor->getNumSectionsFound("INCREASEGLYCOLERRORLIMIT") > 0) df->GlycolErrorLimitTest += 10;
    1826         796 :         if (state.dataInputProcessing->inputProcessor->getNumSectionsFound("INCREASEREFRIGERANTERRORLIMIT") > 0) df->RefrigErrorLimitTest += 10;
    1827             : 
    1828         796 :         if (df->DebugReportGlycols) ReportAndTestGlycols(state);
    1829         796 :         if (df->DebugReportRefrigerants) ReportAndTestRefrigerants(state);
    1830         796 :     }
    1831             : 
    1832             :     //*****************************************************************************
    1833             : 
    1834         112 :     void InterpValuesForGlycolConc(EnergyPlusData &state,
    1835             :                                    int const NumOfConcs,               // number of concentrations (dimension of raw data)
    1836             :                                    int const NumOfTemps,               // number of temperatures (dimension of raw data)
    1837             :                                    const Array1D<Real64> &RawConcData, // concentrations for raw data
    1838             :                                    Array2S<Real64> const RawPropData,  // raw property data (temperature,concentration)
    1839             :                                    Real64 const Concentration,         // concentration of actual fluid mix
    1840             :                                    Array1D<Real64> &InterpData         // interpolated output data at proper concentration
    1841             :     )
    1842             :     {
    1843             : 
    1844             :         // SUBROUTINE INFORMATION:
    1845             :         //       AUTHOR         Rick Strand
    1846             :         //       DATE WRITTEN   June 2004
    1847             : 
    1848             :         // PURPOSE OF THIS SUBROUTINE:
    1849             :         // The purpose of this subroutine is to find the values for the property
    1850             :         // data at a particular concentration from default data that is at "generic"
    1851             :         // concentrations.  This is then returned to the main get routine and
    1852             :         // then used later in the program to find values at various temperatures.
    1853             :         // The ultimate purpose of this is to avoid double interpolation during
    1854             :         // the simulation.  Since concentration does not change during the simulation,
    1855             :         // there is no reason to do a double interpolation every time a property
    1856             :         // value is needed.
    1857             : 
    1858             :         // METHODOLOGY EMPLOYED:
    1859             :         // Fairly straight forward--find the two concentrations between which
    1860             :         // the actual concentration falls and then interpolate the property
    1861             :         // data using standard linear interpolation.  Note that data is stored
    1862             :         // in the format: 2dArray(Temperature,Concentration).  Temperature
    1863             :         // data is not needed here since we are only interpolating to eliminate
    1864             :         // the concentration as a variable (it really isn't one during the
    1865             :         // simulation).
    1866             : 
    1867             :         // REFERENCES:
    1868             :         // GetFluidPropertiesData--subroutine forces user to input data in
    1869             :         // order of increasing concentration.  This is assumed in this subroutine.
    1870             : 
    1871             :         // SUBROUTINE PARAMETER DEFINITIONS:
    1872         112 :         constexpr Real64 ConcToler(0.0001); // Some reasonable value for comparisons
    1873             :         static constexpr std::string_view routineName = "InterpValuesForGlycolConc";
    1874             : 
    1875             :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    1876             :         int HiIndex;       // index on the high side of the concentration
    1877             :         Real64 InterpFrac; // intermediate value for interpolations
    1878             :         int LoopC;         // loop counter for concentration
    1879             :         int LoopT;         // loop counter for temperature
    1880             : 
    1881             :         // First, find where the actual concentration falls between the concentration data.
    1882             :         // Then, interpolate if necessary.
    1883         112 :         if (Concentration < RawConcData(1)) { // Concentration too low
    1884           0 :             ShowWarningError(state,
    1885           0 :                              format("{}: Glycol concentration out of range for data (too low), concentration = {:.3R}", routineName, Concentration));
    1886           0 :             ShowContinueError(state, "Check your data or the definition of your glycols in the GlycolConcentrations input");
    1887           0 :             ShowContinueError(state, "Property data set to data for lowest concentration entered");
    1888           0 :             InterpData = RawPropData(1, _);
    1889         112 :         } else if (Concentration > RawConcData(NumOfConcs)) { // Concentration too high
    1890           0 :             ShowWarningError(state,
    1891           0 :                              format("{}: Glycol concentration out of range for data (too high), concentration = {:.3R}", routineName, Concentration));
    1892           0 :             ShowContinueError(state, "Check your data or the definition of your glycols in the GlycolConcentrations input");
    1893           0 :             ShowContinueError(state, "Property data set to data for highest concentration entered");
    1894           0 :             InterpData = RawPropData(NumOfConcs, _);
    1895             :         } else {                  // Concentration somewhere between lowest and highest point--interpolate
    1896         112 :             HiIndex = NumOfConcs; // Default to highest concentration
    1897         500 :             for (LoopC = 2; LoopC <= NumOfConcs - 1; ++LoopC) {
    1898         500 :                 if (Concentration <= RawConcData(LoopC)) {
    1899         112 :                     HiIndex = LoopC;
    1900         112 :                     break; // LoopC DO loop
    1901             :                 }
    1902             :             }
    1903             : 
    1904         112 :             if (HiIndex == 1) {
    1905           0 :                 for (LoopT = 1; LoopT <= NumOfTemps; ++LoopT) {
    1906           0 :                     InterpData(LoopT) = RawPropData(HiIndex, LoopT);
    1907             :                 }
    1908         112 :             } else if (std::abs(RawConcData(HiIndex) - RawConcData(HiIndex - 1)) >= ConcToler) {
    1909         112 :                 InterpFrac = (RawConcData(HiIndex) - Concentration) / (RawConcData(HiIndex) - RawConcData(HiIndex - 1));
    1910        3484 :                 for (LoopT = 1; LoopT <= NumOfTemps; ++LoopT) {
    1911        3372 :                     if ((RawPropData(HiIndex, LoopT) < ConcToler) || (RawPropData(HiIndex - 1, LoopT) < ConcToler)) {
    1912         380 :                         InterpData(LoopT) = 0.0;
    1913             :                     } else {
    1914        2992 :                         InterpData(LoopT) =
    1915        2992 :                             RawPropData(HiIndex, LoopT) - (InterpFrac * (RawPropData(HiIndex, LoopT) - RawPropData(HiIndex - 1, LoopT)));
    1916             :                     }
    1917             :                 }
    1918             :             } else { // user has input data for concentrations that are too close or repeated, this must be fixed
    1919           0 :                 ShowFatalError(state,
    1920           0 :                                format("{}: concentration values too close or data repeated, check your fluid property input data", routineName));
    1921             :             }
    1922             :         }
    1923         112 :     }
    1924             : 
    1925             :     //*****************************************************************************
    1926             : 
    1927         796 :     void InitializeGlycolTempLimits(EnergyPlusData &state, bool &ErrorsFound) // set to true if errors found here
    1928             :     {
    1929             : 
    1930             :         // SUBROUTINE INFORMATION:
    1931             :         //       AUTHOR         Linda Lawrie
    1932             :         //       DATE WRITTEN   March 2008
    1933             : 
    1934             :         // PURPOSE OF THIS SUBROUTINE:
    1935             :         // This routine sets up the min/max temperature limits for the glycol properties.
    1936             :         // Most properties requested (e.g., Specific Heat) must be > 0 but the tables may
    1937             :         // be set up for symmetry and not be limited to just valid values.
    1938             : 
    1939         796 :         auto const &df = state.dataFluidProps;
    1940             : 
    1941        1620 :         for (auto *glycol : df->glycols) {
    1942         824 :             if (glycol->CpDataPresent) {
    1943             :                 // check for lowest non-zero value by referencing temp data
    1944        6491 :                 for (int IndexNum = 1; IndexNum <= glycol->NumCpTempPoints; ++IndexNum) {
    1945        6491 :                     if (glycol->CpValues(IndexNum) <= 0.0) continue;
    1946         824 :                     glycol->CpLowTempIndex = IndexNum;
    1947         824 :                     glycol->CpLowTempValue = glycol->CpTemps(IndexNum);
    1948         824 :                     break;
    1949             :                 }
    1950             :                 // check for highest non-zero value by referencing temp data
    1951         824 :                 for (int IndexNum = glycol->NumCpTempPoints; IndexNum >= 1; --IndexNum) {
    1952         824 :                     if (glycol->CpValues(IndexNum) <= 0.0) continue;
    1953         824 :                     glycol->CpHighTempIndex = IndexNum;
    1954         824 :                     glycol->CpHighTempValue = glycol->CpTemps(IndexNum);
    1955         824 :                     break;
    1956             :                 }
    1957             :             }
    1958         824 :             if (glycol->RhoDataPresent) {
    1959             :                 // check for lowest non-zero value by referencing temp data
    1960        6491 :                 for (int IndexNum = 1; IndexNum <= glycol->NumRhoTempPoints; ++IndexNum) {
    1961        6491 :                     if (glycol->RhoValues(IndexNum) <= 0.0) continue;
    1962         824 :                     glycol->RhoLowTempIndex = IndexNum;
    1963         824 :                     glycol->RhoLowTempValue = glycol->RhoTemps(IndexNum);
    1964         824 :                     break;
    1965             :                 }
    1966             :                 // check for highest non-zero value  by referencing temp data
    1967        4804 :                 for (int IndexNum = glycol->NumRhoTempPoints; IndexNum >= 1; --IndexNum) {
    1968        4804 :                     if (glycol->RhoValues(IndexNum) <= 0.0) continue;
    1969         824 :                     glycol->RhoHighTempIndex = IndexNum;
    1970         824 :                     glycol->RhoHighTempValue = glycol->RhoTemps(IndexNum);
    1971         824 :                     break;
    1972             :                 }
    1973             :             }
    1974         824 :             if (glycol->CondDataPresent) {
    1975             :                 // check for lowest non-zero value by referencing temp data
    1976        6491 :                 for (int IndexNum = 1; IndexNum <= glycol->NumCondTempPoints; ++IndexNum) {
    1977        6491 :                     if (glycol->CondValues(IndexNum) <= 0.0) continue;
    1978         824 :                     glycol->CondLowTempIndex = IndexNum;
    1979         824 :                     glycol->CondLowTempValue = glycol->CondTemps(IndexNum);
    1980         824 :                     break;
    1981             :                 }
    1982             :                 // check for highest non-zero value  by referencing temp data
    1983        4804 :                 for (int IndexNum = glycol->NumCondTempPoints; IndexNum >= 1; --IndexNum) {
    1984        4804 :                     if (glycol->CondValues(IndexNum) <= 0.0) continue;
    1985         824 :                     glycol->CondHighTempIndex = IndexNum;
    1986         824 :                     glycol->CondHighTempValue = glycol->CondTemps(IndexNum);
    1987         824 :                     break;
    1988             :                 }
    1989             :             }
    1990         824 :             if (glycol->ViscDataPresent) {
    1991             :                 // check for lowest non-zero value by referencing temp data
    1992        6491 :                 for (int IndexNum = 1; IndexNum <= glycol->NumViscTempPoints; ++IndexNum) {
    1993        6491 :                     if (glycol->ViscValues(IndexNum) <= 0.0) continue;
    1994         824 :                     glycol->ViscLowTempIndex = IndexNum;
    1995         824 :                     glycol->ViscLowTempValue = glycol->ViscTemps(IndexNum);
    1996         824 :                     break;
    1997             :                 }
    1998             :                 // check for highest non-zero value  by referencing temp data
    1999        4804 :                 for (int IndexNum = glycol->NumViscTempPoints; IndexNum >= 1; --IndexNum) {
    2000        4804 :                     if (glycol->ViscValues(IndexNum) <= 0.0) continue;
    2001         824 :                     glycol->ViscHighTempIndex = IndexNum;
    2002         824 :                     glycol->ViscHighTempValue = glycol->ViscTemps(IndexNum);
    2003         824 :                     break;
    2004             :                 }
    2005             :             }
    2006         824 :             bool Failure = false;
    2007             :             // Check to see that all are set to non-zero
    2008         824 :             if (glycol->CpDataPresent) {
    2009         824 :                 Failure = glycol->CpLowTempIndex == 0 || glycol->CpHighTempIndex == 0;
    2010             :             }
    2011         824 :             if (glycol->RhoDataPresent) {
    2012         824 :                 Failure = glycol->RhoLowTempIndex == 0 || glycol->RhoHighTempIndex == 0;
    2013             :             }
    2014         824 :             if (glycol->CondDataPresent) {
    2015         824 :                 Failure = glycol->CondLowTempIndex == 0 || glycol->CondHighTempIndex == 0;
    2016             :             }
    2017         824 :             if (glycol->ViscDataPresent) {
    2018         824 :                 Failure = glycol->ViscLowTempIndex == 0 || glycol->ViscHighTempIndex == 0;
    2019             :             }
    2020         824 :             if (Failure) {
    2021           0 :                 ShowSevereError(
    2022           0 :                     state, format("InitializeGlycolTempLimits: Required values for Glycol={} are all zeroes for some data types.", glycol->Name));
    2023           0 :                 ErrorsFound = true;
    2024             :             }
    2025             :         }
    2026         796 :     }
    2027             : 
    2028             :     //*****************************************************************************
    2029             : 
    2030         796 :     void InitializeRefrigerantLimits(EnergyPlusData &state, bool &ErrorsFound) // set to true if errors found here
    2031             :     {
    2032             : 
    2033             :         // SUBROUTINE INFORMATION:
    2034             :         //       AUTHOR         Linda Lawrie
    2035             :         //       DATE WRITTEN   March 2008
    2036             : 
    2037             :         // PURPOSE OF THIS SUBROUTINE:
    2038             :         // This routine sets up the min/max limits (usually temperature and/or pressure)
    2039             :         // for the refrigerant properties.
    2040             :         // Most properties requested (e.g., Specific Heat) must be > 0 but the tables may
    2041             :         // be set up for symmetry and not be limited to just valid values.
    2042         796 :         auto const &df = state.dataFluidProps;
    2043             : 
    2044        1621 :         for (auto *refrig : df->refrigs) {
    2045         825 :             for (int IndexNum = 1; IndexNum <= refrig->NumPsPoints; ++IndexNum) {
    2046         825 :                 if (refrig->PsValues(IndexNum) <= 0.0) continue;
    2047         825 :                 refrig->PsLowPresIndex = IndexNum;
    2048         825 :                 refrig->PsLowPresValue = refrig->PsValues(IndexNum);
    2049         825 :                 refrig->PsLowTempValue = refrig->PsTemps(IndexNum);
    2050         825 :                 refrig->PsLowTempIndex = IndexNum;
    2051         825 :                 break;
    2052             :             }
    2053         825 :             for (int IndexNum = refrig->NumPsPoints; IndexNum >= 1; --IndexNum) {
    2054         825 :                 if (refrig->PsValues(IndexNum) <= 0.0) continue;
    2055         825 :                 refrig->PsHighPresIndex = IndexNum;
    2056         825 :                 refrig->PsHighPresValue = refrig->PsValues(IndexNum);
    2057         825 :                 refrig->PsHighTempValue = refrig->PsTemps(IndexNum);
    2058         825 :                 refrig->PsHighTempIndex = IndexNum;
    2059         825 :                 break;
    2060             :             }
    2061         842 :             for (int IndexNum = 1; IndexNum <= refrig->NumHPoints; ++IndexNum) {
    2062         842 :                 if (refrig->HfValues(IndexNum) <= 0.0) continue;
    2063         825 :                 refrig->HfLowTempValue = refrig->HfValues(IndexNum);
    2064         825 :                 refrig->HfLowTempIndex = IndexNum;
    2065         825 :                 break;
    2066             :             }
    2067         825 :             for (int IndexNum = refrig->NumHPoints; IndexNum >= 1; --IndexNum) {
    2068         825 :                 if (refrig->HfValues(IndexNum) <= 0.0) continue;
    2069         825 :                 refrig->HfHighTempValue = refrig->HfValues(IndexNum);
    2070         825 :                 refrig->HfHighTempIndex = IndexNum;
    2071         825 :                 break;
    2072             :             }
    2073         825 :             for (int IndexNum = 1; IndexNum <= refrig->NumHPoints; ++IndexNum) {
    2074         825 :                 if (refrig->HfgValues(IndexNum) <= 0.0) continue;
    2075         825 :                 refrig->HfgLowTempValue = refrig->HfgValues(IndexNum);
    2076         825 :                 refrig->HfgLowTempIndex = IndexNum;
    2077         825 :                 break;
    2078             :             }
    2079         825 :             for (int IndexNum = refrig->NumHPoints; IndexNum >= 1; --IndexNum) {
    2080         825 :                 if (refrig->HfgValues(IndexNum) <= 0.0) continue;
    2081         825 :                 refrig->HfgHighTempValue = refrig->HfgValues(IndexNum);
    2082         825 :                 refrig->HfgHighTempIndex = IndexNum;
    2083         825 :                 break;
    2084             :             }
    2085         825 :             for (int IndexNum = 1; IndexNum <= refrig->NumCpPoints; ++IndexNum) {
    2086         825 :                 if (refrig->CpfValues(IndexNum) <= 0.0) continue;
    2087         825 :                 refrig->CpfLowTempValue = refrig->CpfValues(IndexNum);
    2088         825 :                 refrig->CpfLowTempIndex = IndexNum;
    2089         825 :                 break;
    2090             :             }
    2091         846 :             for (int IndexNum = refrig->NumCpPoints; IndexNum >= 1; --IndexNum) {
    2092         846 :                 if (refrig->CpfValues(IndexNum) <= 0.0) continue;
    2093         825 :                 refrig->CpfHighTempValue = refrig->CpfValues(IndexNum);
    2094         825 :                 refrig->CpfHighTempIndex = IndexNum;
    2095         825 :                 break;
    2096             :             }
    2097         825 :             for (int IndexNum = 1; IndexNum <= refrig->NumCpPoints; ++IndexNum) {
    2098         825 :                 if (refrig->CpfgValues(IndexNum) <= 0.0) continue;
    2099         825 :                 refrig->CpfgLowTempValue = refrig->CpfgValues(IndexNum);
    2100         825 :                 refrig->CpfgLowTempIndex = IndexNum;
    2101         825 :                 break;
    2102             :             }
    2103         846 :             for (int IndexNum = refrig->NumCpPoints; IndexNum >= 1; --IndexNum) {
    2104         846 :                 if (refrig->CpfgValues(IndexNum) <= 0.0) continue;
    2105         825 :                 refrig->CpfgHighTempValue = refrig->CpfgValues(IndexNum);
    2106         825 :                 refrig->CpfgHighTempIndex = IndexNum;
    2107         825 :                 break;
    2108             :             }
    2109         825 :             for (int IndexNum = 1; IndexNum <= refrig->NumRhoPoints; ++IndexNum) {
    2110         825 :                 if (refrig->RhofValues(IndexNum) <= 0.0) continue;
    2111         825 :                 refrig->RhofLowTempValue = refrig->RhofValues(IndexNum);
    2112         825 :                 refrig->RhofLowTempIndex = IndexNum;
    2113         825 :                 break;
    2114             :             }
    2115         825 :             for (int IndexNum = refrig->NumRhoPoints; IndexNum >= 1; --IndexNum) {
    2116         825 :                 if (refrig->RhofValues(IndexNum) <= 0.0) continue;
    2117         825 :                 refrig->RhofHighTempValue = refrig->RhofValues(IndexNum);
    2118         825 :                 refrig->RhofHighTempIndex = IndexNum;
    2119         825 :                 break;
    2120             :             }
    2121         825 :             for (int IndexNum = 1; IndexNum <= refrig->NumRhoPoints; ++IndexNum) {
    2122         825 :                 if (refrig->RhofgValues(IndexNum) <= 0.0) continue;
    2123         825 :                 refrig->RhofgLowTempValue = refrig->RhofgValues(IndexNum);
    2124         825 :                 refrig->RhofgLowTempIndex = IndexNum;
    2125         825 :                 break;
    2126             :             }
    2127         825 :             for (int IndexNum = refrig->NumRhoPoints; IndexNum >= 1; --IndexNum) {
    2128         825 :                 if (refrig->RhofgValues(IndexNum) <= 0.0) continue;
    2129         825 :                 refrig->RhofgHighTempValue = refrig->RhofgValues(IndexNum);
    2130         825 :                 refrig->RhofgHighTempIndex = IndexNum;
    2131         825 :                 break;
    2132             :             }
    2133         825 :             bool Failure = false;
    2134             :             // Check to see that all are set to non-zero
    2135         825 :             if (refrig->NumPsPoints > 0) {
    2136         825 :                 Failure = refrig->PsLowPresIndex == 0 || refrig->PsLowTempIndex == 0 || refrig->PsHighPresIndex == 0 || refrig->PsHighTempIndex == 0;
    2137             :             }
    2138         825 :             if (refrig->NumHPoints > 0) {
    2139         825 :                 Failure =
    2140         825 :                     refrig->HfLowTempIndex == 0 || refrig->HfgLowTempIndex == 0 || refrig->HfHighTempIndex == 0 || refrig->HfgHighTempIndex == 0;
    2141             :             }
    2142         825 :             if (refrig->NumCpPoints > 0) {
    2143         825 :                 Failure =
    2144         825 :                     refrig->CpfLowTempIndex == 0 || refrig->CpfgLowTempIndex == 0 || refrig->CpfHighTempIndex == 0 || refrig->CpfgHighTempIndex == 0;
    2145             :             }
    2146         825 :             if (refrig->NumRhoPoints > 0) {
    2147        1650 :                 Failure = refrig->RhofLowTempIndex == 0 || refrig->RhofgLowTempIndex == 0 || refrig->RhofHighTempIndex == 0 ||
    2148         825 :                           refrig->RhofgHighTempIndex == 0;
    2149             :             }
    2150         825 :             if (Failure) {
    2151           0 :                 ShowSevereError(
    2152             :                     state,
    2153           0 :                     format("InitializeRefrigerantLimits: Required values for Refrigerant={} are all zeroes for some data types.", refrig->Name));
    2154           0 :                 ErrorsFound = true;
    2155             :             }
    2156             :         }
    2157         796 :     }
    2158             : 
    2159             :     //*****************************************************************************
    2160             : 
    2161           0 :     void ReportAndTestGlycols(EnergyPlusData &state)
    2162             :     {
    2163             : 
    2164             :         // SUBROUTINE INFORMATION:
    2165             :         //       AUTHOR         Linda Lawrie
    2166             :         //       DATE WRITTEN   March 2008
    2167             : 
    2168             :         // PURPOSE OF THIS SUBROUTINE:
    2169             :         // This subroutine is written to report and test glycols through their range
    2170             :         // of temperatures and make sure that proper values will be returned.
    2171             : 
    2172             :         // METHODOLOGY EMPLOYED:
    2173             :         // Use internal structure as the temperature limits. Write output to the
    2174             :         // debug output file.
    2175             : 
    2176             :         // SUBROUTINE PARAMETER DEFINITIONS:
    2177           0 :         constexpr Real64 incr(10.0);
    2178             :         static constexpr std::string_view routineName = "ReportAndTestGlycols";
    2179             : 
    2180             :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    2181             :         Real64 Temperature; // Temperature to drive values
    2182             :         Real64 ReturnValue; // Values returned from glycol functions
    2183             : 
    2184           0 :         auto const &df = state.dataFluidProps;
    2185             : 
    2186           0 :         for (auto *glycol : df->glycols) {
    2187             : 
    2188           0 :             int GlycolIndex = 0; // used in routine calls -- value is returned when first 0
    2189             :             // Lay out the basic values:
    2190           0 :             if (!glycol->GlycolName.empty()) {
    2191           0 :                 print(state.files.debug, "Glycol={}, Mixture fluid={}\n", glycol->Name, glycol->GlycolName);
    2192             :             } else {
    2193           0 :                 print(state.files.debug, "Glycol={}\n", glycol->Name);
    2194             :             }
    2195           0 :             print(state.files.debug, "Concentration:,{:.2R}\n", glycol->Concentration);
    2196           0 :             if (glycol->CpDataPresent) {
    2197           0 :                 print(state.files.debug,
    2198             :                       "Specific Heat Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2199           0 :                       glycol->CpLowTempValue,
    2200           0 :                       glycol->CpLowTempIndex,
    2201           0 :                       glycol->CpHighTempValue,
    2202           0 :                       glycol->CpHighTempIndex);
    2203           0 :                 print(state.files.debug, "{}", "Temperatures:");
    2204           0 :                 for (int Loop = 1; Loop <= glycol->NumCpTempPoints - 1; ++Loop) {
    2205           0 :                     print(state.files.debug, ",{:.2R}", glycol->CpTemps(Loop));
    2206             :                 }
    2207           0 :                 print(state.files.debug, ",{}\n", glycol->CpTemps(glycol->NumCpTempPoints));
    2208           0 :                 print(state.files.debug, "{}", "Specific Heat:");
    2209           0 :                 for (int Loop = 1; Loop <= glycol->NumCpTempPoints - 1; ++Loop) {
    2210           0 :                     print(state.files.debug, ",{:.2R}", glycol->CpValues(Loop));
    2211             :                 }
    2212           0 :                 print(state.files.debug, ",{}\n", glycol->CpValues(glycol->NumCpTempPoints));
    2213             :             }
    2214           0 :             if (glycol->RhoDataPresent) {
    2215           0 :                 print(state.files.debug,
    2216             :                       "Density Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2217           0 :                       glycol->RhoLowTempValue,
    2218           0 :                       glycol->RhoLowTempIndex,
    2219           0 :                       glycol->RhoHighTempValue,
    2220           0 :                       glycol->RhoHighTempIndex);
    2221           0 :                 print(state.files.debug, "{}", "Temperatures:");
    2222           0 :                 for (int Loop = 1; Loop <= glycol->NumRhoTempPoints - 1; ++Loop) {
    2223           0 :                     print(state.files.debug, ",{:.2R}", glycol->RhoTemps(Loop));
    2224             :                 }
    2225           0 :                 print(state.files.debug, ",{}\n", glycol->RhoTemps(glycol->NumRhoTempPoints));
    2226           0 :                 print(state.files.debug, "{}", "Density:");
    2227           0 :                 for (int Loop = 1; Loop <= glycol->NumRhoTempPoints - 1; ++Loop) {
    2228           0 :                     print(state.files.debug, ",{:.2R}", glycol->RhoValues(Loop));
    2229             :                 }
    2230           0 :                 print(state.files.debug, ",{}\n", glycol->RhoTemps(glycol->NumRhoTempPoints));
    2231             :             }
    2232           0 :             if (glycol->CondDataPresent) {
    2233           0 :                 print(state.files.debug,
    2234             :                       "Conductivity Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2235           0 :                       glycol->CondLowTempValue,
    2236           0 :                       glycol->CondLowTempIndex,
    2237           0 :                       glycol->CondHighTempValue,
    2238           0 :                       glycol->CondHighTempIndex);
    2239           0 :                 print(state.files.debug, "{}", "Temperatures:");
    2240           0 :                 for (int Loop = 1; Loop <= glycol->NumCondTempPoints - 1; ++Loop) {
    2241           0 :                     print(state.files.debug, ",{:.2R}", glycol->CondTemps(Loop));
    2242             :                 }
    2243           0 :                 print(state.files.debug, ",{}\n", glycol->CondTemps(glycol->NumCondTempPoints));
    2244           0 :                 print(state.files.debug, "{}", "Conductivity:");
    2245           0 :                 for (int Loop = 1; Loop <= glycol->NumCondTempPoints - 1; ++Loop) {
    2246           0 :                     print(state.files.debug, ",{:.2R}", glycol->CondValues(Loop));
    2247             :                 }
    2248           0 :                 print(state.files.debug, ",{}\n", glycol->CondValues(glycol->NumCondTempPoints));
    2249             :             }
    2250           0 :             if (glycol->ViscDataPresent) {
    2251           0 :                 print(state.files.debug,
    2252             :                       "Viscosity Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2253           0 :                       glycol->ViscLowTempValue,
    2254           0 :                       glycol->ViscLowTempIndex,
    2255           0 :                       glycol->ViscHighTempValue,
    2256           0 :                       glycol->ViscHighTempIndex);
    2257           0 :                 print(state.files.debug, "{}", "Temperatures:");
    2258           0 :                 for (int Loop = 1; Loop <= glycol->NumViscTempPoints - 1; ++Loop) {
    2259           0 :                     print(state.files.debug, ",{:.2R}", glycol->ViscTemps(Loop));
    2260             :                 }
    2261           0 :                 print(state.files.debug, ",{}\n", glycol->ViscTemps(glycol->NumViscTempPoints));
    2262           0 :                 print(state.files.debug, "{}", "Viscosity:");
    2263           0 :                 for (int Loop = 1; Loop <= glycol->NumViscTempPoints - 1; ++Loop) {
    2264           0 :                     print(state.files.debug, ",{:.2R}", glycol->ViscValues(Loop));
    2265             :                 }
    2266           0 :                 print(state.files.debug, ",{}\n", glycol->ViscValues(glycol->NumViscTempPoints));
    2267             :             }
    2268             :             // ============================================
    2269             :             // Glycol Results, using out of bounds to out of bounds values in calling
    2270             :             // ============================================
    2271             : 
    2272             :             // ========= Specific Heat from Temperatures
    2273           0 :             print(state.files.debug, "Glycol={} **** Results ****\n", glycol->Name);
    2274           0 :             if (glycol->CpDataPresent) {
    2275           0 :                 print(state.files.debug, "Specific Heat Results at Temperatures:");
    2276           0 :                 print(state.files.debug, ",{:.2R}", glycol->CpTemps(1) - incr);
    2277             : 
    2278           0 :                 for (int Loop = 1; Loop <= glycol->NumCpTempPoints - 1; ++Loop) {
    2279           0 :                     print(state.files.debug, ",{:.2R}", glycol->CpTemps(Loop));
    2280           0 :                     Temperature = glycol->CpTemps(Loop) + (glycol->CpTemps(Loop + 1) - glycol->CpTemps(Loop)) / 2.0;
    2281           0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2282             :                 }
    2283           0 :                 print(state.files.debug, ",{:.2R}", glycol->CpTemps(glycol->NumCpTempPoints));
    2284           0 :                 print(state.files.debug, ",{:.2R}\n", glycol->CpTemps(glycol->NumCpTempPoints) + incr);
    2285           0 :                 print(state.files.debug, "Specific Heat:");
    2286           0 :                 Temperature = glycol->CpTemps(1) - incr;
    2287           0 :                 ReturnValue = GetSpecificHeatGlycol(state, glycol->Name, Temperature, GlycolIndex, routineName);
    2288           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2289           0 :                 for (int Loop = 1; Loop <= glycol->NumCpTempPoints - 1; ++Loop) {
    2290           0 :                     Temperature = glycol->CpTemps(Loop);
    2291           0 :                     ReturnValue = glycol->getSpecificHeat(state, Temperature, routineName);
    2292           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2293           0 :                     Temperature = glycol->CpTemps(Loop) + (glycol->CpTemps(Loop + 1) - glycol->CpTemps(Loop)) / 2.0;
    2294           0 :                     ReturnValue = glycol->getSpecificHeat(state, Temperature, routineName);
    2295           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2296             :                 }
    2297           0 :                 Temperature = glycol->CpTemps(glycol->NumCpTempPoints);
    2298           0 :                 ReturnValue = glycol->getSpecificHeat(state, Temperature, routineName);
    2299           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2300           0 :                 Temperature = glycol->CpTemps(glycol->NumCpTempPoints) + incr;
    2301           0 :                 ReturnValue = glycol->getSpecificHeat(state, Temperature, routineName);
    2302           0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2303             :             }
    2304             : 
    2305             :             // ========= Density from Temperatures
    2306           0 :             if (glycol->RhoDataPresent) {
    2307           0 :                 print(state.files.debug, "Density Results at Temperatures:");
    2308           0 :                 print(state.files.debug, ",{:.2R}", glycol->RhoTemps(1) - incr);
    2309           0 :                 for (int Loop = 1; Loop <= glycol->NumRhoTempPoints - 1; ++Loop) {
    2310           0 :                     print(state.files.debug, ",{:.2R}", glycol->RhoTemps(Loop));
    2311           0 :                     Temperature = glycol->RhoTemps(Loop) + (glycol->RhoTemps(Loop + 1) - glycol->RhoTemps(Loop)) / 2.0;
    2312           0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2313             :                 }
    2314           0 :                 print(state.files.debug, ",{}", glycol->RhoTemps(glycol->NumRhoTempPoints));
    2315           0 :                 print(state.files.debug, ",{:.2R}\n", glycol->RhoTemps(glycol->NumRhoTempPoints) + incr);
    2316           0 :                 print(state.files.debug, "Density:");
    2317           0 :                 Temperature = glycol->RhoTemps(1) - incr;
    2318           0 :                 ReturnValue = GetDensityGlycol(state, glycol->Name, Temperature, GlycolIndex, routineName);
    2319           0 :                 print(state.files.debug, ",{:.3R}", ReturnValue);
    2320           0 :                 for (int Loop = 1; Loop <= glycol->NumRhoTempPoints - 1; ++Loop) {
    2321           0 :                     Temperature = glycol->RhoTemps(Loop);
    2322           0 :                     ReturnValue = glycol->getDensity(state, Temperature, routineName);
    2323           0 :                     print(state.files.debug, ",{:.3R}", ReturnValue);
    2324           0 :                     Temperature = glycol->RhoTemps(Loop) + (glycol->RhoTemps(Loop + 1) - glycol->RhoTemps(Loop)) / 2.0;
    2325           0 :                     ReturnValue = glycol->getDensity(state, Temperature, routineName);
    2326           0 :                     print(state.files.debug, ",{:.3R}", ReturnValue);
    2327             :                 }
    2328           0 :                 Temperature = glycol->RhoTemps(glycol->NumRhoTempPoints);
    2329           0 :                 ReturnValue = glycol->getDensity(state, Temperature, routineName);
    2330           0 :                 print(state.files.debug, ",{:.3R}", ReturnValue);
    2331           0 :                 Temperature = glycol->RhoTemps(glycol->NumRhoTempPoints) + incr;
    2332           0 :                 ReturnValue = glycol->getDensity(state, Temperature, routineName);
    2333           0 :                 print(state.files.debug, ",{:.3R}\n", ReturnValue);
    2334             :             }
    2335             : 
    2336             :             // ========= Conductivity from Temperatures
    2337           0 :             if (glycol->CondDataPresent) {
    2338           0 :                 print(state.files.debug, "Conductivity Results at Temperatures:");
    2339           0 :                 print(state.files.debug, ",{:.2R}", glycol->CondTemps(1) - incr);
    2340           0 :                 for (int Loop = 1; Loop <= glycol->NumCondTempPoints - 1; ++Loop) {
    2341           0 :                     print(state.files.debug, ",{:.2R}", glycol->CondTemps(Loop));
    2342           0 :                     Temperature = glycol->CondTemps(Loop) + (glycol->CondTemps(Loop + 1) - glycol->CondTemps(Loop)) / 2.0;
    2343           0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2344             :                 }
    2345           0 :                 print(state.files.debug, ",{:.2R}", glycol->CondTemps(glycol->NumCondTempPoints));
    2346           0 :                 print(state.files.debug, ",{:.2R}\n", glycol->CondTemps(glycol->NumCondTempPoints) + incr);
    2347           0 :                 print(state.files.debug, "Conductivity:");
    2348           0 :                 Temperature = glycol->CondTemps(1) - incr;
    2349           0 :                 ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2350           0 :                 print(state.files.debug, ",{:.3R}", ReturnValue);
    2351           0 :                 for (int Loop = 1; Loop <= glycol->NumCondTempPoints - 1; ++Loop) {
    2352           0 :                     Temperature = glycol->CondTemps(Loop);
    2353           0 :                     ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2354           0 :                     print(state.files.debug, ",{:.3R}", ReturnValue);
    2355           0 :                     Temperature = glycol->CondTemps(Loop) + (glycol->CondTemps(Loop + 1) - glycol->CondTemps(Loop)) / 2.0;
    2356           0 :                     ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2357           0 :                     print(state.files.debug, ",{:.3R}", ReturnValue);
    2358             :                 }
    2359           0 :                 Temperature = glycol->CondTemps(glycol->NumCondTempPoints);
    2360           0 :                 ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2361           0 :                 print(state.files.debug, ",{:.3R}", ReturnValue);
    2362           0 :                 Temperature = glycol->CondTemps(glycol->NumCondTempPoints) + incr;
    2363           0 :                 ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2364           0 :                 print(state.files.debug, ",{:.3R}\n", ReturnValue);
    2365             :             }
    2366             : 
    2367             :             // ========= Viscosity from Temperatures
    2368           0 :             if (glycol->ViscDataPresent) {
    2369           0 :                 print(state.files.debug, "Viscosity Results at Temperatures:");
    2370           0 :                 print(state.files.debug, ",{:.2R}", glycol->ViscTemps(1) - incr);
    2371           0 :                 for (int Loop = 1; Loop <= glycol->NumViscTempPoints - 1; ++Loop) {
    2372           0 :                     print(state.files.debug, ",{:.2R}", glycol->ViscTemps(Loop));
    2373           0 :                     Temperature = glycol->ViscTemps(Loop) + (glycol->ViscTemps(Loop + 1) - glycol->ViscTemps(Loop)) / 2.0;
    2374           0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2375             :                 }
    2376           0 :                 print(state.files.debug, ",{:.2R}", glycol->ViscTemps(glycol->NumViscTempPoints));
    2377           0 :                 print(state.files.debug, ",{:.2R}\n", glycol->ViscTemps(glycol->NumViscTempPoints) + incr);
    2378           0 :                 print(state.files.debug, "Viscosity:");
    2379           0 :                 Temperature = glycol->ViscTemps(1) - incr;
    2380           0 :                 ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2381           0 :                 print(state.files.debug, ",{:.4R}", ReturnValue);
    2382           0 :                 for (int Loop = 1; Loop <= glycol->NumViscTempPoints - 1; ++Loop) {
    2383           0 :                     Temperature = glycol->ViscTemps(Loop);
    2384           0 :                     ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2385           0 :                     print(state.files.debug, ",{:.4R}", ReturnValue);
    2386           0 :                     Temperature = glycol->ViscTemps(Loop) + (glycol->ViscTemps(Loop + 1) - glycol->ViscTemps(Loop)) / 2.0;
    2387           0 :                     ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2388           0 :                     print(state.files.debug, ",{:.4R}", ReturnValue);
    2389             :                 }
    2390           0 :                 Temperature = glycol->ViscTemps(glycol->NumViscTempPoints);
    2391           0 :                 ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2392           0 :                 print(state.files.debug, ",{:.4R}", ReturnValue);
    2393           0 :                 Temperature = glycol->ViscTemps(glycol->NumViscTempPoints) + incr;
    2394           0 :                 ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2395           0 :                 print(state.files.debug, ",{:.4R}\n", ReturnValue);
    2396             :             }
    2397             :         }
    2398           0 :     }
    2399             : 
    2400             :     //*****************************************************************************
    2401             : 
    2402           0 :     void ReportAndTestRefrigerants(EnergyPlusData &state)
    2403             :     {
    2404             : 
    2405             :         // SUBROUTINE INFORMATION:
    2406             :         //       AUTHOR         Linda Lawrie
    2407             :         //       DATE WRITTEN   March 2008; only stub provided to satisfy calling programs.
    2408             : 
    2409             :         // PURPOSE OF THIS SUBROUTINE:
    2410             :         // This subroutine is written to report and test refrigerants through their range
    2411             :         // of inputs (temperatures?) and make sure that proper values will be returned.
    2412             : 
    2413             :         // METHODOLOGY EMPLOYED:
    2414             :         // Use internal structure as the range limits. Write output to the
    2415             :         // debug output file.
    2416             : 
    2417             :         // SUBROUTINE PARAMETER DEFINITIONS:
    2418           0 :         constexpr Real64 incr(10.0);
    2419           0 :         constexpr Real64 Quality(1.0);
    2420             :         static constexpr std::string_view routineName = "ReportAndTestRefrigerants";
    2421             : 
    2422             :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    2423             :         Real64 Temperature; // Temperature to drive values
    2424             :         Real64 ReturnValue; // Values returned from refrigerant functions
    2425             : 
    2426           0 :         auto const &df = state.dataFluidProps;
    2427             : 
    2428           0 :         for (auto *refrig : df->refrigs) {
    2429             :             // Lay out the basic values:
    2430           0 :             if (!refrig->Name.empty()) {
    2431           0 :                 print(state.files.debug, "Refrigerant={}", refrig->Name);
    2432             :             }
    2433           0 :             if (refrig->NumPsPoints > 0) {
    2434           0 :                 print(state.files.debug,
    2435             :                       "Saturation Pressures Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2436           0 :                       refrig->PsLowTempValue,
    2437           0 :                       refrig->PsLowTempIndex,
    2438           0 :                       refrig->PsHighTempValue,
    2439           0 :                       refrig->PsHighTempIndex);
    2440           0 :                 print(state.files.debug, "Temperatures:");
    2441           0 :                 for (int Loop = 1; Loop <= refrig->NumPsPoints - 1; ++Loop) {
    2442           0 :                     print(state.files.debug, ",{:.2R}", refrig->PsTemps(Loop));
    2443             :                 }
    2444           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->PsTemps(refrig->NumPsPoints));
    2445           0 :                 print(state.files.debug, "Saturation Pressure:");
    2446           0 :                 for (int Loop = 1; Loop <= refrig->NumPsPoints - 1; ++Loop) {
    2447           0 :                     print(state.files.debug, ",{:.2R}", refrig->PsValues(Loop));
    2448             :                 }
    2449           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->PsValues(refrig->NumPsPoints));
    2450             :             }
    2451           0 :             if (refrig->NumHPoints > 0) {
    2452           0 :                 print(state.files.debug,
    2453             :                       "Enthalpy Saturated Fluid Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2454           0 :                       refrig->HfLowTempValue,
    2455           0 :                       refrig->HfLowTempIndex,
    2456           0 :                       refrig->HfHighTempValue,
    2457           0 :                       refrig->HfHighTempIndex);
    2458           0 :                 print(state.files.debug, "Temperatures:");
    2459           0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2460           0 :                     print(state.files.debug, ",{:.2R}", refrig->HTemps(Loop));
    2461             :                 }
    2462           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HTemps(refrig->NumHPoints));
    2463           0 :                 print(state.files.debug, "Enthalpy Saturated Fluid:");
    2464           0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2465           0 :                     print(state.files.debug, ",{:.2R}", refrig->HfValues(Loop));
    2466             :                 }
    2467           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HfValues(refrig->NumHPoints));
    2468           0 :                 print(state.files.debug,
    2469             :                       "Enthalpy Saturated Fluid/Gas Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2470           0 :                       refrig->HfgLowTempValue,
    2471           0 :                       refrig->HfgLowTempIndex,
    2472           0 :                       refrig->HfgHighTempValue,
    2473           0 :                       refrig->HfgHighTempIndex);
    2474             : 
    2475           0 :                 print(state.files.debug, "Temperatures:");
    2476           0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2477           0 :                     print(state.files.debug, ",{:.2R}", refrig->HTemps(Loop));
    2478             :                 }
    2479           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HTemps(refrig->NumHPoints));
    2480           0 :                 print(state.files.debug, "Enthalpy Saturated Fluid/Gas:");
    2481           0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2482           0 :                     print(state.files.debug, ",{:.2R}", refrig->HfgValues(Loop));
    2483             :                 }
    2484           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HfgValues(refrig->NumHPoints));
    2485             :             }
    2486           0 :             if (refrig->NumCpPoints > 0) {
    2487           0 :                 print(state.files.debug,
    2488             :                       "Specific Heat Saturated Fluid Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2489           0 :                       refrig->CpfLowTempValue,
    2490           0 :                       refrig->CpfLowTempIndex,
    2491           0 :                       refrig->CpfHighTempValue,
    2492           0 :                       refrig->CpfHighTempIndex);
    2493           0 :                 print(state.files.debug, "Temperatures:");
    2494           0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2495           0 :                     print(state.files.debug, ",{:.2R}", refrig->CpTemps(Loop));
    2496             :                 }
    2497           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->CpTemps(refrig->NumCpPoints));
    2498           0 :                 print(state.files.debug, "Specific Heat Saturated Fluid:");
    2499           0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2500           0 :                     print(state.files.debug, ",{:.2R}\n", refrig->CpfValues(Loop));
    2501             :                 }
    2502           0 :                 print(state.files.debug, ",{:.2R}", refrig->CpfValues(refrig->NumCpPoints));
    2503           0 :                 print(state.files.debug,
    2504             :                       "Specific Heat Saturated Fluid/Gas Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2505           0 :                       refrig->CpfgLowTempValue,
    2506           0 :                       refrig->CpfgLowTempIndex,
    2507           0 :                       refrig->CpfgHighTempValue,
    2508           0 :                       refrig->CpfgHighTempIndex);
    2509           0 :                 print(state.files.debug, "Temperatures:");
    2510           0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2511           0 :                     print(state.files.debug, ",{:.2R}", refrig->CpTemps(Loop));
    2512             :                 }
    2513           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->CpTemps(refrig->NumCpPoints));
    2514           0 :                 print(state.files.debug, "Specific Heat Saturated Fluid/Gas:");
    2515           0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2516           0 :                     print(state.files.debug, ",{:.2R}", refrig->CpfgValues(Loop));
    2517             :                 }
    2518           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->CpfgValues(refrig->NumCpPoints));
    2519             :             }
    2520           0 :             if (refrig->NumRhoPoints > 0) {
    2521           0 :                 print(state.files.debug,
    2522             :                       "Density Saturated Fluid Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2523           0 :                       refrig->RhofLowTempValue,
    2524           0 :                       refrig->RhofLowTempIndex,
    2525           0 :                       refrig->RhofHighTempValue,
    2526           0 :                       refrig->RhofHighTempIndex);
    2527           0 :                 print(state.files.debug, "Temperatures:");
    2528           0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2529           0 :                     print(state.files.debug, ",{:.2R}", refrig->RhoTemps(Loop));
    2530             :                 }
    2531           0 :                 print(state.files.debug, ",{:.2R}", refrig->RhoTemps(refrig->NumRhoPoints));
    2532           0 :                 print(state.files.debug, "Density Saturated Fluid:");
    2533           0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2534           0 :                     print(state.files.debug, ",{:.2R}", refrig->RhofValues(Loop));
    2535             :                 }
    2536           0 :                 print(state.files.debug, ",{:.2R}", refrig->RhofValues(refrig->NumRhoPoints));
    2537           0 :                 print(state.files.debug,
    2538             :                       "Density Saturated Fluid/Gas Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2539           0 :                       refrig->RhofgLowTempValue,
    2540           0 :                       refrig->RhofgLowTempIndex,
    2541           0 :                       refrig->RhofgHighTempValue,
    2542           0 :                       refrig->RhofgHighTempIndex);
    2543           0 :                 print(state.files.debug, "Temperatures:");
    2544           0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2545           0 :                     print(state.files.debug, ",{:.2R}", refrig->RhoTemps(Loop));
    2546             :                 }
    2547           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->RhoTemps(refrig->NumRhoPoints));
    2548           0 :                 print(state.files.debug, "Density Saturated Fluid/Gas:");
    2549           0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2550           0 :                     print(state.files.debug, ",{:.2R}", refrig->RhofgValues(Loop));
    2551             :                 }
    2552           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->RhofgValues(refrig->NumRhoPoints));
    2553             :             }
    2554             : 
    2555           0 :             if (refrig->NumSupTempPoints > 0 && refrig->NumSupPressPoints > 0) {
    2556           0 :                 print(state.files.debug,
    2557             :                       "Superheated Gas Fluid Data points:,NumTemperaturePoints=,{},NumPressurePoints=,{}\n",
    2558           0 :                       refrig->NumSupTempPoints,
    2559           0 :                       refrig->NumSupPressPoints);
    2560           0 :                 print(state.files.debug, "Superheated Temperatures:");
    2561           0 :                 for (int Loop = 1; Loop <= refrig->NumSupTempPoints - 1; ++Loop) {
    2562           0 :                     print(state.files.debug, ",{:.3R}", refrig->SupTemps(Loop));
    2563             :                 }
    2564           0 :                 print(state.files.debug, ",{:.3R}\n", refrig->SupTemps(refrig->NumSupTempPoints));
    2565           0 :                 print(state.files.debug, "Superheated Pressures:");
    2566           0 :                 for (int Loop = 1; Loop <= refrig->NumSupPressPoints - 1; ++Loop) {
    2567           0 :                     print(state.files.debug, ",{:.3R}", refrig->SupPress(Loop));
    2568             :                 }
    2569           0 :                 print(state.files.debug, ",{:.3R}\n", refrig->SupPress(refrig->NumSupPressPoints));
    2570           0 :                 for (int Loop = 1; Loop <= refrig->NumSupPressPoints; ++Loop) {
    2571           0 :                     print(state.files.debug, "Superheated Pressure:#{}={:.2R}\n", Loop, refrig->SupPress(Loop));
    2572           0 :                     print(state.files.debug, "Enthalpy Superheated Gas:");
    2573           0 :                     for (int Loop1 = 1; Loop1 <= refrig->NumSupTempPoints - 1; ++Loop1) {
    2574           0 :                         print(state.files.debug, ",{:.3R}", refrig->HshValues(Loop, Loop1));
    2575             :                     }
    2576           0 :                     print(state.files.debug, ",{:.3R}\n", refrig->HshValues(Loop, refrig->NumSupTempPoints));
    2577             :                 }
    2578           0 :                 for (int Loop = 1; Loop <= refrig->NumSupPressPoints; ++Loop) {
    2579           0 :                     print(state.files.debug, "Superheated Pressure:#{}={:.2R}\n", Loop, refrig->SupPress(Loop));
    2580           0 :                     print(state.files.debug, "Density Superheated Gas:");
    2581           0 :                     for (int Loop1 = 1; Loop1 <= refrig->NumSupTempPoints - 1; ++Loop1) {
    2582           0 :                         print(state.files.debug, ",{:.3R}", refrig->RhoshValues(Loop, Loop1));
    2583             :                     }
    2584           0 :                     print(state.files.debug, ",{:.3R}\n", refrig->RhoshValues(Loop, refrig->NumSupTempPoints));
    2585             :                 }
    2586           0 :                 for (int Loop = 1; Loop <= refrig->NumSupTempPoints; ++Loop) {
    2587           0 :                     print(state.files.debug, "Superheated Temperature:#{}={:.2R}\n", Loop, refrig->SupTemps(Loop));
    2588           0 :                     print(state.files.debug, "Enthalpy Superheated Gas:");
    2589           0 :                     for (int Loop1 = 1; Loop1 <= refrig->NumSupPressPoints - 1; ++Loop1) {
    2590           0 :                         print(state.files.debug, ",{:.3R}", refrig->HshValues(Loop1, Loop));
    2591             :                     }
    2592           0 :                     print(state.files.debug, ",{:.3R}\n", refrig->HshValues(refrig->NumSupPressPoints, Loop));
    2593             :                 }
    2594           0 :                 for (int Loop = 1; Loop <= refrig->NumSupTempPoints; ++Loop) {
    2595           0 :                     print(state.files.debug, "Superheated Temperature:#{}={:.2R}\n", Loop, refrig->SupTemps(Loop));
    2596           0 :                     print(state.files.debug, "Density Superheated Gas:");
    2597           0 :                     for (int Loop1 = 1; Loop1 <= refrig->NumSupPressPoints - 1; ++Loop1) {
    2598           0 :                         print(state.files.debug, ",{:.3R}", refrig->RhoshValues(Loop1, Loop));
    2599             :                     }
    2600           0 :                     print(state.files.debug, ",{:.3R}\n", refrig->RhoshValues(refrig->NumSupPressPoints, Loop));
    2601             :                 }
    2602             :             }
    2603             : 
    2604             :             // ============================================
    2605             :             // Refrigeration Results, using out of bounds to out of bounds values in calling
    2606             :             // ============================================
    2607             : 
    2608             :             // ========= Pressure from Temperatures
    2609           0 :             print(state.files.debug, "Refrigerant={} **** Results ****\n", refrig->Name);
    2610           0 :             if (refrig->NumPsPoints > 0) {
    2611           0 :                 print(state.files.debug, "Pressure Results at Temperatures:");
    2612           0 :                 print(state.files.debug, ",{:.2R}", refrig->PsTemps(1) - incr);
    2613           0 :                 for (int Loop = 1; Loop <= refrig->NumPsPoints - 1; ++Loop) {
    2614           0 :                     print(state.files.debug, ",{:.2R}", refrig->PsTemps(Loop));
    2615           0 :                     Temperature = refrig->PsTemps(Loop) + (refrig->PsTemps(Loop + 1) - refrig->PsTemps(Loop)) / 2.0;
    2616           0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2617             :                 }
    2618           0 :                 print(state.files.debug, ",{:.2R}", refrig->PsTemps(refrig->NumPsPoints));
    2619           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->PsTemps(refrig->NumPsPoints) + incr);
    2620           0 :                 print(state.files.debug, "Saturated Pressures:");
    2621           0 :                 Temperature = refrig->PsTemps(1) - incr;
    2622           0 :                 ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2623           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2624           0 :                 for (int Loop = 1; Loop <= refrig->NumPsPoints - 1; ++Loop) {
    2625           0 :                     Temperature = refrig->PsTemps(Loop);
    2626           0 :                     ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2627           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2628           0 :                     Temperature = refrig->PsTemps(Loop) + (refrig->PsTemps(Loop + 1) - refrig->PsTemps(Loop)) / 2.0;
    2629           0 :                     ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2630           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2631             :                 }
    2632           0 :                 Temperature = refrig->PsTemps(refrig->NumPsPoints);
    2633           0 :                 ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2634           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2635           0 :                 Temperature = refrig->PsTemps(refrig->NumPsPoints) + incr;
    2636           0 :                 ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2637           0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2638             :             }
    2639             : 
    2640             :             // ========= Enthalpy from Temperatures
    2641           0 :             if (refrig->NumHPoints > 0) {
    2642           0 :                 print(state.files.debug, "Enthalpy Results at Temperatures:");
    2643           0 :                 print(state.files.debug, ",{:.2R}", refrig->HTemps(1) - incr);
    2644           0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2645           0 :                     print(state.files.debug, ",{:.2R}", refrig->HTemps(Loop));
    2646           0 :                     Temperature = refrig->HTemps(Loop) + (refrig->HTemps(Loop + 1) - refrig->HTemps(Loop)) / 2.0;
    2647           0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2648             :                 }
    2649           0 :                 print(state.files.debug, ",{:.2R}", refrig->HTemps(refrig->NumHPoints));
    2650           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HTemps(refrig->NumHPoints) + incr);
    2651           0 :                 print(state.files.debug, "Saturated Enthalpy:");
    2652           0 :                 Temperature = refrig->HTemps(1) - incr;
    2653           0 :                 ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2654           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2655           0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2656           0 :                     Temperature = refrig->HTemps(Loop);
    2657           0 :                     ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2658           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2659           0 :                     Temperature = refrig->HTemps(Loop) + (refrig->HTemps(Loop + 1) - refrig->HTemps(Loop)) / 2.0;
    2660           0 :                     ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2661           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2662             :                 }
    2663           0 :                 Temperature = refrig->HTemps(refrig->NumHPoints);
    2664           0 :                 ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2665           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2666           0 :                 Temperature = refrig->HTemps(refrig->NumHPoints) + incr;
    2667           0 :                 ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2668           0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2669             :             }
    2670             : 
    2671             :             // ========= Specific Heat from Temperatures
    2672           0 :             if (refrig->NumCpPoints > 0) {
    2673           0 :                 print(state.files.debug, "Specific Heat Results at Temperatures:");
    2674           0 :                 print(state.files.debug, ",{:.2R}", refrig->CpTemps(1) - incr);
    2675           0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2676           0 :                     print(state.files.debug, ",{:.2R}", refrig->CpTemps(Loop));
    2677           0 :                     Temperature = refrig->CpTemps(Loop) + (refrig->CpTemps(Loop + 1) - refrig->CpTemps(Loop)) / 2.0;
    2678           0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2679             :                 }
    2680           0 :                 print(state.files.debug, ",{:.2R}", refrig->CpTemps(refrig->NumCpPoints));
    2681           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->CpTemps(refrig->NumCpPoints) + incr);
    2682           0 :                 print(state.files.debug, "Saturated Specific Heat:");
    2683           0 :                 Temperature = refrig->CpTemps(1) - incr;
    2684           0 :                 ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2685           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2686           0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2687           0 :                     Temperature = refrig->CpTemps(Loop);
    2688           0 :                     ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2689           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2690           0 :                     Temperature = refrig->CpTemps(Loop) + (refrig->CpTemps(Loop + 1) - refrig->CpTemps(Loop)) / 2.0;
    2691           0 :                     ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2692           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2693             :                 }
    2694           0 :                 Temperature = refrig->CpTemps(refrig->NumCpPoints);
    2695           0 :                 ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2696           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2697           0 :                 Temperature = refrig->CpTemps(refrig->NumCpPoints) + incr;
    2698           0 :                 ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2699           0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2700             :             }
    2701             : 
    2702             :             // ========= Density from Temperatures
    2703           0 :             if (refrig->NumRhoPoints > 0) {
    2704           0 :                 print(state.files.debug, "Density Results at Temperatures:");
    2705           0 :                 print(state.files.debug, ",{:.2R}", refrig->RhoTemps(1) - incr);
    2706           0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2707           0 :                     print(state.files.debug, ",{:.2R}", refrig->RhoTemps(Loop));
    2708           0 :                     Temperature = refrig->RhoTemps(Loop) + (refrig->RhoTemps(Loop + 1) - refrig->RhoTemps(Loop)) / 2.0;
    2709           0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2710             :                 }
    2711           0 :                 print(state.files.debug, ",{:.2R}", refrig->RhoTemps(refrig->NumRhoPoints));
    2712           0 :                 print(state.files.debug, ",{:.2R}\n", refrig->RhoTemps(refrig->NumRhoPoints) + incr);
    2713           0 :                 print(state.files.debug, "Saturated Density:");
    2714           0 :                 Temperature = refrig->RhoTemps(1) - incr;
    2715           0 :                 ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2716           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2717           0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2718           0 :                     Temperature = refrig->RhoTemps(Loop);
    2719           0 :                     ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2720           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2721           0 :                     Temperature = refrig->RhoTemps(Loop) + (refrig->RhoTemps(Loop + 1) - refrig->RhoTemps(Loop)) / 2.0;
    2722           0 :                     ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2723           0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2724             :                 }
    2725           0 :                 Temperature = refrig->RhoTemps(refrig->NumRhoPoints);
    2726           0 :                 ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2727           0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2728           0 :                 Temperature = refrig->RhoTemps(refrig->NumRhoPoints) + incr;
    2729           0 :                 ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2730           0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2731             :             }
    2732             :         }
    2733           0 :     }
    2734             : 
    2735             :     //*****************************************************************************
    2736             : 
    2737    35347998 :     Real64 RefrigProps::getSatPressure(EnergyPlusData &state,
    2738             :                                        Real64 const Temperature,         // actual temperature given as input
    2739             :                                        std::string_view const CalledFrom // routine this function was called from (error messages)
    2740             :     )
    2741             :     {
    2742             : 
    2743             :         // SUBROUTINE INFORMATION:
    2744             :         //       AUTHOR         Simon Rees
    2745             :         //       DATE WRITTEN   24 May 2002
    2746             : 
    2747             :         // PURPOSE OF THIS FUNCTION:
    2748             :         // This finds the saturation pressure for given temperature.
    2749             : 
    2750             :         // METHODOLOGY EMPLOYED:
    2751             :         // Calls FindArrayIndex to find indices either side of requested temperature
    2752             :         // and linearly interpolates the corresponding saturation pressure values.
    2753             : 
    2754             :         // FUNCTION PARAMETER DEFINITIONS:
    2755             :         static constexpr std::string_view routineName = "RefrigProps::getSatPressure";
    2756             : 
    2757    35347998 :         Real64 ReturnValue = 0;
    2758    35347998 :         bool ErrorFlag = false; // error flag for current call
    2759             : 
    2760    35347998 :         int LoTempIndex = FindArrayIndex(Temperature, this->PsTemps, this->PsLowTempIndex, this->PsHighTempIndex);
    2761             : 
    2762             :         // check for out of data bounds problems
    2763    35347998 :         if (LoTempIndex == 0) {
    2764           0 :             ReturnValue = this->PsValues(this->PsLowTempIndex);
    2765           0 :             ErrorFlag = true;
    2766    35347998 :         } else if (LoTempIndex + 1 > this->PsHighTempIndex) {
    2767           0 :             ReturnValue = this->PsValues(this->PsHighTempIndex);
    2768           0 :             ErrorFlag = true;
    2769             :         } else {
    2770             :             // find interpolation ratio w.r.t temperature
    2771    35347998 :             Real64 TempInterpRatio = (Temperature - this->PsTemps(LoTempIndex)) / (this->PsTemps(LoTempIndex + 1) - this->PsTemps(LoTempIndex));
    2772             : 
    2773             :             // apply final linear interpolation
    2774    35347998 :             ReturnValue = this->PsValues(LoTempIndex) + TempInterpRatio * (this->PsValues(LoTempIndex + 1) - this->PsValues(LoTempIndex));
    2775             :         }
    2776             : 
    2777    35347998 :         if (!state.dataGlobal->WarmupFlag && ErrorFlag) {
    2778           0 :             ++this->errors[(int)RefrigError::SatTemp].count;
    2779           0 :             auto &df = state.dataFluidProps;
    2780             : 
    2781             :             // send warning
    2782           0 :             if (this->errors[(int)RefrigError::SatTemp].count <= df->RefrigErrorLimitTest) {
    2783           0 :                 ShowSevereMessage(
    2784           0 :                     state, format("{}: Saturation temperature is out of range for refrigerant [{}] supplied data: **", routineName, this->Name));
    2785           0 :                 ShowContinueError(state,
    2786           0 :                                   format("...Called From:{}, supplied data range=[{:.2R},{:.2R}]",
    2787             :                                          CalledFrom,
    2788             :                                          this->PsTemps(this->PsLowTempIndex),
    2789             :                                          this->PsTemps(this->PsHighTempIndex)));
    2790           0 :                 ShowContinueError(
    2791           0 :                     state, format("...Supplied Refrigerant Temperature={:.2R} Returned saturated pressure value = {:.0R}", Temperature, ReturnValue));
    2792           0 :                 ShowContinueErrorTimeStamp(state, "");
    2793             :             }
    2794           0 :             ShowRecurringSevereErrorAtEnd(
    2795             :                 state,
    2796           0 :                 format("{}: Saturation temperature is out of range for refrigerant [{}] supplied data: **", routineName, this->Name),
    2797           0 :                 this->errors[(int)RefrigError::SatTemp].index,
    2798             :                 Temperature,
    2799             :                 "{C}");
    2800             :         }
    2801             : 
    2802    35347998 :         return ReturnValue;
    2803             :     }
    2804             : 
    2805    34568420 :     Real64 GetSatPressureRefrig(EnergyPlusData &state,
    2806             :                                 std::string_view const refrigName, // carries in substance name
    2807             :                                 Real64 const Temperature,          // actual temperature given as input
    2808             :                                 int &RefrigIndex,                  // Index to Refrigerant Properties
    2809             :                                 std::string_view const CalledFrom  // routine this function was called from (error messages)
    2810             :     )
    2811             :     {
    2812             :         // Wrapper for RefrigProps::getSatPressure()
    2813    34568420 :         auto &df = state.dataFluidProps;
    2814             : 
    2815    34568420 :         if (RefrigIndex == 0) {
    2816           8 :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    2817           0 :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    2818           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    2819           0 :                 return 0.0;
    2820             :             }
    2821             :         }
    2822             : 
    2823    34568420 :         return df->refrigs(RefrigIndex)->getSatPressure(state, Temperature, CalledFrom);
    2824             :     }
    2825             : 
    2826             :     //*****************************************************************************
    2827             : 
    2828     6356769 :     Real64 RefrigProps::getSatTemperature(EnergyPlusData &state,
    2829             :                                           Real64 const Pressure,            // actual temperature given as input
    2830             :                                           std::string_view const CalledFrom // routine this function was called from (error messages)
    2831             :     )
    2832             :     {
    2833             : 
    2834             :         // SUBROUTINE INFORMATION:
    2835             :         //       AUTHOR         Simon Rees
    2836             :         //       DATE WRITTEN   24 May 2002
    2837             : 
    2838             :         // PURPOSE OF THIS FUNCTION:
    2839             :         // This finds the saturation temperature for given pressure.
    2840             : 
    2841             :         // METHODOLOGY EMPLOYED:
    2842             :         // Calls FindArrayIndex to find indices either side of requested pressure
    2843             :         // and linearly interpolates the corresponding saturation temperature values.
    2844             : 
    2845             :         // Return value
    2846     6356769 :         Real64 ReturnValue = 0.0;
    2847             : 
    2848             :         // FUNCTION PARAMETER DEFINITIONS:
    2849             :         static constexpr std::string_view routineName = "RefrigProps::getSatTemperature";
    2850             : 
    2851             :         // FUNCTION LOCAL VARIABLE DECLARATIONS:
    2852     6356769 :         bool ErrorFlag = false; // error flag for current call
    2853             : 
    2854             :         // get the array indices
    2855     6356769 :         int LoPresIndex = FindArrayIndex(Pressure, this->PsValues, this->PsLowPresIndex, this->PsHighPresIndex);
    2856             : 
    2857             :         // check for out of data bounds problems
    2858     6356769 :         if (LoPresIndex == 0) {
    2859           0 :             ReturnValue = this->PsTemps(this->PsLowPresIndex);
    2860           0 :             ErrorFlag = true;
    2861     6356769 :         } else if (LoPresIndex + 1 > this->PsHighPresIndex) {
    2862           0 :             ReturnValue = this->PsTemps(this->PsHighPresIndex);
    2863           0 :             ErrorFlag = true;
    2864             :         } else {
    2865             :             // find interpolation ratio w.r.t temperature
    2866     6356769 :             Real64 PresInterpRatio = (Pressure - this->PsValues(LoPresIndex)) / (this->PsValues(LoPresIndex + 1) - this->PsValues(LoPresIndex));
    2867             : 
    2868             :             // apply final linear interpolation
    2869     6356769 :             ReturnValue = this->PsTemps(LoPresIndex) + PresInterpRatio * (this->PsTemps(LoPresIndex + 1) - this->PsTemps(LoPresIndex));
    2870             :         }
    2871             : 
    2872     6356769 :         if (!state.dataGlobal->WarmupFlag && ErrorFlag) {
    2873           0 :             ++this->errors[(int)RefrigError::SatPress].count;
    2874           0 :             auto &df = state.dataFluidProps;
    2875             : 
    2876             :             // send warning
    2877           0 :             if (this->errors[(int)RefrigError::SatPress].count <= df->RefrigErrorLimitTest) {
    2878           0 :                 ShowSevereMessage(state,
    2879           0 :                                   format("{}: Saturation pressure is out of range for refrigerant [{}] supplied data: **", routineName, this->Name));
    2880           0 :                 ShowContinueError(state,
    2881           0 :                                   format("...Called From:{}, supplied data range=[{:.0R},{:.0R}]",
    2882             :                                          CalledFrom,
    2883             :                                          this->PsValues(this->PsLowPresIndex),
    2884             :                                          this->PsValues(this->PsHighPresIndex)));
    2885           0 :                 ShowContinueError(
    2886           0 :                     state, format("...Supplied Refrigerant Pressure={:.0R} Returned saturated temperature value ={:.2R}", Pressure, ReturnValue));
    2887           0 :                 ShowContinueErrorTimeStamp(state, "");
    2888             :             }
    2889           0 :             ShowRecurringSevereErrorAtEnd(
    2890             :                 state,
    2891           0 :                 format("{}: Saturation pressure is out of range for refrigerant [{}] supplied data: **", routineName, this->Name),
    2892           0 :                 this->errors[(int)RefrigError::SatPress].index,
    2893             :                 Pressure,
    2894             :                 "{Pa}");
    2895             :         }
    2896     6356769 :         return ReturnValue;
    2897             :     }
    2898             : 
    2899     2537167 :     Real64 GetSatTemperatureRefrig(EnergyPlusData &state,
    2900             :                                    std::string_view const refrigName, // carries in substance name
    2901             :                                    Real64 const Pressure,             // actual temperature given as input
    2902             :                                    int &RefrigIndex,                  // Index to Refrigerant Properties
    2903             :                                    std::string_view const CalledFrom  // routine this function was called from (error messages)
    2904             :     )
    2905             :     {
    2906             :         // Wrapper for RefrigProps::getSatTemperature()
    2907     2537167 :         auto &df = state.dataFluidProps;
    2908             : 
    2909     2537167 :         if (RefrigIndex == 0) {
    2910           0 :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    2911           0 :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    2912           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    2913           0 :                 return 0.0;
    2914             :             }
    2915             :         }
    2916             : 
    2917     2537167 :         return df->refrigs(RefrigIndex)->getSatTemperature(state, Pressure, CalledFrom);
    2918             :     }
    2919             : 
    2920             :     //*****************************************************************************
    2921             : 
    2922   118414713 :     Real64 RefrigProps::getSatEnthalpy(EnergyPlusData &state,
    2923             :                                        Real64 const Temperature,         // actual temperature given as input
    2924             :                                        Real64 const Quality,             // actual quality given as input
    2925             :                                        std::string_view const CalledFrom // routine this function was called from (error messages)
    2926             :     )
    2927             :     {
    2928             : 
    2929             :         // SUBROUTINE INFORMATION:
    2930             :         //       AUTHOR         Mike Turner
    2931             :         //       DATE WRITTEN   10 December 99
    2932             :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    2933             :         //                      Simon Rees (May 2002)
    2934             : 
    2935             :         // PURPOSE OF THIS FUNCTION:
    2936             :         // This finds enthalpy for given temperature and a quality under the vapor dome.
    2937             :         // This fucntion is only called with a valid refrigerant and quality between 0 and 1.
    2938             : 
    2939             :         // METHODOLOGY EMPLOYED:
    2940             :         // Calls GetInterpolatedSatProp to linearly interpolate between the saturated
    2941             :         // liquid  and vapour enthalpies according to the given quality.
    2942             : 
    2943             :         // Apply linear interpolation function
    2944   236829426 :         return GetInterpolatedSatProp(
    2945   118414713 :             state, Temperature, this->HTemps, this->HfValues, this->HfgValues, Quality, CalledFrom, this->HfLowTempIndex, this->HfHighTempIndex);
    2946             :     }
    2947             : 
    2948   110111715 :     Real64 GetSatEnthalpyRefrig(EnergyPlusData &state,
    2949             :                                 std::string_view const refrigName, // carries in substance name
    2950             :                                 Real64 const Temperature,          // actual temperature given as input
    2951             :                                 Real64 const Quality,              // actual quality given as input
    2952             :                                 int &RefrigIndex,                  // Index to Refrigerant Properties
    2953             :                                 std::string_view const CalledFrom  // routine this function was called from (error messages)
    2954             :     )
    2955             :     {
    2956             :         // Wrapper for RefrigProps::getSatEnthalpy()
    2957   110111715 :         auto &df = state.dataFluidProps;
    2958             : 
    2959   110111715 :         if (RefrigIndex == 0) {
    2960          31 :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    2961           0 :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    2962           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    2963           0 :                 return 0.0;
    2964             :             }
    2965             :         }
    2966   110111715 :         return df->refrigs(RefrigIndex)->getSatEnthalpy(state, Temperature, Quality, CalledFrom);
    2967             :     }
    2968             : 
    2969             :     //*****************************************************************************
    2970             : 
    2971     2096308 :     Real64 RefrigProps::getSatDensity(EnergyPlusData &state,
    2972             :                                       Real64 const Temperature,         // actual temperature given as input
    2973             :                                       Real64 const Quality,             // actual quality given as input
    2974             :                                       std::string_view const CalledFrom // routine this function was called from (error messages)
    2975             :     )
    2976             :     {
    2977             : 
    2978             :         // SUBROUTINE INFORMATION:
    2979             :         //       AUTHOR         Mike Turner
    2980             :         //       DATE WRITTEN   10 December 99
    2981             :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    2982             :         //                      Simon Rees (May 2002); Kenneth Tang (Jan 2004)
    2983             : 
    2984             :         // PURPOSE OF THIS SUBROUTINE:
    2985             :         // This finds density for given temperature and a quality under the vapor dome.
    2986             :         // This function is only called with a valid refrigerant and quality between 0 and 1.
    2987             : 
    2988             :         // METHODOLOGY EMPLOYED:
    2989             :         // Calls GetInterpolatedSatProp to linearly interpolate between the saturated
    2990             :         // liquid  and vapour densities according to the given quality.
    2991             : 
    2992             :         // Return value
    2993             :         Real64 ReturnValue;
    2994             : 
    2995             :         // FUNCTION PARAMETER DEFINITIONS:
    2996             :         static constexpr std::string_view routineName = "RefrigProps::getSatDensity";
    2997             : 
    2998     2096308 :         if ((Quality < 0.0) || (Quality > 1.0)) {
    2999           0 :             ShowSevereError(state, fmt::format("{}Refrigerant \"{}\", invalid quality, called from {}", routineName, this->Name, CalledFrom));
    3000           0 :             ShowContinueError(state, format("Saturated density quality must be between 0 and 1, entered value=[{:.4R}].", Quality));
    3001           0 :             ShowFatalError(state, "Program terminates due to preceding condition.");
    3002             :         }
    3003             : 
    3004     2096308 :         bool ErrorFlag = false;
    3005     2096308 :         int LoTempIndex = FindArrayIndex(Temperature, this->RhoTemps, this->RhofLowTempIndex, this->RhofHighTempIndex);
    3006     2096308 :         int HiTempIndex = LoTempIndex + 1;
    3007             : 
    3008             :         // Error check to make sure the temperature is not out of bounds
    3009     2096308 :         if (LoTempIndex == 0) {
    3010             :             // Give the lowest density value if the temperature is below than the minimum
    3011             :             // temperature in the refrigerant table
    3012           0 :             ReturnValue = 1.0 / this->RhofValues(this->RhofLowTempIndex) +
    3013           0 :                           Quality * (1.0 / this->RhofgValues(this->RhofLowTempIndex) - 1.0 / this->RhofValues(this->RhofLowTempIndex));
    3014           0 :             ReturnValue = 1.0 / ReturnValue;
    3015           0 :             ErrorFlag = true;
    3016     2096308 :         } else if (HiTempIndex > this->RhofHighTempIndex) {
    3017             :             // Give the highest density value if the temperature is higher than the maximum
    3018             :             // temperature in the refrigerant table
    3019           0 :             ReturnValue = 1.0 / this->RhofValues(this->RhofHighTempIndex) +
    3020           0 :                           Quality * (1.0 / this->RhofgValues(this->RhofHighTempIndex) - 1.0 / this->RhofValues(this->RhofHighTempIndex));
    3021           0 :             ReturnValue = 1.0 / ReturnValue;
    3022           0 :             ErrorFlag = true;
    3023             :         } else { // Okay
    3024             : 
    3025             :             // Calculate the specific volume for the lower temperature index based on linear
    3026             :             // interpolation of the quality
    3027             :             Real64 LoSatProp =
    3028     2096308 :                 1.0 / this->RhofValues(LoTempIndex) + Quality * (1.0 / this->RhofgValues(LoTempIndex) - 1.0 / this->RhofValues(LoTempIndex));
    3029             : 
    3030             :             // Calculate the specific volume for the higher temperature index based on linear
    3031             :             // interpolation of the quality
    3032             :             Real64 HiSatProp =
    3033     2096308 :                 1.0 / this->RhofValues(HiTempIndex) + Quality * (1.0 / this->RhofgValues(HiTempIndex) - 1.0 / this->RhofValues(HiTempIndex));
    3034             : 
    3035             :             // Find interpolation ratio in temperature direction
    3036     2096308 :             Real64 TempInterpRatio = (Temperature - this->RhoTemps(LoTempIndex)) / (this->RhoTemps(HiTempIndex) - this->RhoTemps(LoTempIndex));
    3037             : 
    3038             :             // Apply final linear interpolation to find the specific volume
    3039     2096308 :             ReturnValue = LoSatProp + TempInterpRatio * (HiSatProp - LoSatProp);
    3040             :             // Convert the specific volume to density
    3041     2096308 :             ReturnValue = 1.0 / ReturnValue;
    3042             :         }
    3043             : 
    3044     2096308 :         if (!state.dataGlobal->WarmupFlag && ErrorFlag) {
    3045           0 :             ++this->errors[(int)RefrigError::SatTempDensity].count;
    3046           0 :             auto &df = state.dataFluidProps;
    3047             : 
    3048             :             // send warning
    3049           0 :             if (this->errors[(int)RefrigError::SatTempDensity].count <= df->RefrigErrorLimitTest) {
    3050           0 :                 ShowSevereMessage(
    3051           0 :                     state, format("{}: Saturation temperature is out of range for refrigerant [{}] supplied data: **", routineName, this->Name));
    3052           0 :                 ShowContinueError(state,
    3053           0 :                                   format("...Called From:{}, supplied data range=[{:.2R},{:.2R}]",
    3054             :                                          CalledFrom,
    3055             :                                          this->RhoTemps(this->RhofLowTempIndex),
    3056             :                                          this->RhoTemps(this->RhofHighTempIndex)));
    3057           0 :                 ShowContinueError(
    3058           0 :                     state, format("...Supplied Refrigerant Temperature={:.2R} Returned saturated density value ={:.2R}", Temperature, ReturnValue));
    3059           0 :                 ShowContinueErrorTimeStamp(state, "");
    3060             :             }
    3061           0 :             ShowRecurringSevereErrorAtEnd(
    3062             :                 state,
    3063           0 :                 format("{}: Saturation temperature is out of range for refrigerant [{}] supplied data: **", routineName, this->Name),
    3064           0 :                 this->errors[(int)RefrigError::SatTempDensity].index,
    3065             :                 Temperature,
    3066             :                 "{C}");
    3067             :         }
    3068     2096308 :         return ReturnValue;
    3069             :     }
    3070             : 
    3071       55535 :     Real64 GetSatDensityRefrig(EnergyPlusData &state,
    3072             :                                std::string_view const refrigName, // carries in substance name
    3073             :                                Real64 const Temperature,          // actual temperature given as input
    3074             :                                Real64 const Quality,              // actual quality given as input
    3075             :                                int &RefrigIndex,                  // Index to Refrigerant Properties
    3076             :                                std::string_view const CalledFrom  // routine this function was called from (error messages)
    3077             :     )
    3078             :     {
    3079             :         // Wrapper for RefrigProps::getSatDensity()
    3080       55535 :         auto &df = state.dataFluidProps;
    3081             : 
    3082       55535 :         if (RefrigIndex == 0) {
    3083          17 :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3084           0 :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3085           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3086           0 :                 return 0.0;
    3087             :             }
    3088             :         }
    3089             : 
    3090       55535 :         return df->refrigs(RefrigIndex)->getSatDensity(state, Temperature, Quality, CalledFrom);
    3091             :     }
    3092             : 
    3093             :     //*****************************************************************************
    3094             : 
    3095    75028915 :     Real64 RefrigProps::getSatSpecificHeat(EnergyPlusData &state,
    3096             :                                            Real64 const Temperature,         // actual temperature given as input
    3097             :                                            Real64 const Quality,             // actual quality given as input
    3098             :                                            std::string_view const CalledFrom // routine this function was called from (error messages)
    3099             :     )
    3100             :     {
    3101             : 
    3102             :         // SUBROUTINE INFORMATION:
    3103             :         //       AUTHOR         Mike Turner
    3104             :         //       DATE WRITTEN   10 December 99
    3105             :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    3106             :         //                      Simon Rees (May 2002)
    3107             : 
    3108             :         // PURPOSE OF THIS SUBROUTINE:
    3109             :         // This finds specific heat for given temperature and a quality under the vapor dome.
    3110             :         // This fucntion is only called with a valid refrigerant and quality between 0 and 1.
    3111             : 
    3112             :         // METHODOLOGY EMPLOYED:
    3113             :         // Calls GetInterpolatedSatProp to linearly interpolate between the saturated
    3114             :         // liquid  and vapour specific heats according to the given quality.
    3115             : 
    3116             :         // FUNCTION PARAMETER DEFINITIONS:
    3117             :         static constexpr std::string_view routineName = "RefrigProps::getSatSpecificHeat";
    3118             : 
    3119    75028915 :         if ((Quality < 0.0) || (Quality > 1.0)) {
    3120           0 :             ShowSevereError(state, fmt::format("{}: Refrigerant \"{}\", invalid quality, called from {}", routineName, this->Name, CalledFrom));
    3121           0 :             ShowContinueError(state, format("Saturated density quality must be between 0 and 1, entered value=[{:.4R}].", Quality));
    3122           0 :             ShowFatalError(state, "Program terminates due to preceding condition.");
    3123             :         }
    3124             : 
    3125             :         // Apply linear interpolation function
    3126   150057830 :         return GetInterpolatedSatProp(
    3127    75028915 :             state, Temperature, this->CpTemps, this->CpfValues, this->CpfgValues, Quality, CalledFrom, this->CpfLowTempIndex, this->CpfHighTempIndex);
    3128             :     }
    3129             : 
    3130    75028915 :     Real64 GetSatSpecificHeatRefrig(EnergyPlusData &state,
    3131             :                                     std::string_view const refrigName, // carries in substance name
    3132             :                                     Real64 const Temperature,          // actual temperature given as input
    3133             :                                     Real64 const Quality,              // actual quality given as input
    3134             :                                     int &RefrigIndex,                  // Index to Refrigerant Properties
    3135             :                                     std::string_view const CalledFrom  // routine this function was called from (error messages)
    3136             :     )
    3137             :     {
    3138             : 
    3139             :         // Wrapper for RefrigProps::getSpecificHeat()
    3140    75028915 :         auto &df = state.dataFluidProps;
    3141             : 
    3142    75028915 :         if (RefrigIndex == 0) {
    3143          38 :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3144           0 :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3145           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3146           0 :                 return 0.0;
    3147             :             }
    3148             :         }
    3149             : 
    3150    75028915 :         return df->refrigs(RefrigIndex)->getSatSpecificHeat(state, Temperature, Quality, CalledFrom);
    3151             :     }
    3152             : 
    3153             :     //*****************************************************************************
    3154             : 
    3155    21023015 :     Real64 RefrigProps::getSupHeatEnthalpy(EnergyPlusData &state,
    3156             :                                            Real64 const Temperature,         // actual temperature given as input
    3157             :                                            Real64 const Pressure,            // actual pressure given as input
    3158             :                                            std::string_view const CalledFrom // routine this function was called from (error messages)
    3159             :     )
    3160             :     {
    3161             : 
    3162             :         // SUBROUTINE INFORMATION:
    3163             :         //       AUTHOR         Mike Turner
    3164             :         //       DATE WRITTEN   10 December 99
    3165             :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    3166             :         //       MODIFIED       Simon Rees (May 2002)
    3167             : 
    3168             :         // PURPOSE OF THIS SUBROUTINE:
    3169             :         // Performs linear interpolation between pressures and temperatures and
    3170             :         // returns enthalpy values.  Works only in superheated region.
    3171             : 
    3172             :         // METHODOLOGY EMPLOYED:
    3173             :         // Double linear interpolation is used with enthalpy values at four
    3174             :         // pressure/temperature input points surrounding the given temperature
    3175             :         // and pressure argument values.
    3176             :         // With enthalpy data it is assumed that zero values in the data are in
    3177             :         // the saturated region. Hence, values near the saturation line are
    3178             :         // approximated using the saturation value instead of the zero data value.
    3179             :         // points completely in the saturation region are given the saturation value
    3180             :         // at the given temperature. Points at the upper limits of pressure/temperature
    3181             :         // have the pressure/temperature capped. Warnings are given if the point
    3182             :         // is not clearly in the bounds of the superheated data.
    3183             : 
    3184             :         // Return value
    3185             :         Real64 ReturnValue;
    3186             : 
    3187             :         // FUNCTION PARAMETER DEFINITIONS:
    3188             :         static constexpr std::string_view routineName = "RefrigProps::getSupHeatEnthalpy";
    3189             : 
    3190    21023015 :         auto &df = state.dataFluidProps;
    3191             : 
    3192             :         Real64 TempInterpRatio;
    3193             :         Real64 PressInterpRatio;
    3194             : 
    3195             :         int HiTempIndex;  // high temperature index value
    3196             :         int HiPressIndex; // high pressure index value
    3197             : 
    3198             :         // error counters and dummy string
    3199    21023015 :         int ErrCount = 0;
    3200    21023015 :         int CurTempRangeErrCount = 0;
    3201    21023015 :         int CurPresRangeErrCount = 0;
    3202             : 
    3203             :         // low index value of Temperature from table
    3204    21023015 :         int TempIndex = FindArrayIndex(Temperature, this->SupTemps, 1, this->NumSupTempPoints);
    3205             :         // low index value of Pressure from table
    3206    21023015 :         int LoPressIndex = FindArrayIndex(Pressure, this->SupPress, 1, this->NumSupPressPoints);
    3207             : 
    3208             :         // check temperature data range and attempt to cap if necessary
    3209    21023015 :         if ((TempIndex > 0) && (TempIndex < this->NumSupTempPoints)) { // in range
    3210    21023015 :             HiTempIndex = TempIndex + 1;
    3211    21023015 :             TempInterpRatio = (Temperature - this->SupTemps(TempIndex)) / (this->SupTemps(HiTempIndex) - this->SupTemps(TempIndex));
    3212           0 :         } else if (TempIndex < 1) {
    3213           0 :             ++CurTempRangeErrCount;
    3214           0 :             ++ErrCount;
    3215           0 :             TempIndex = 1;
    3216           0 :             HiTempIndex = TempIndex;
    3217           0 :             TempInterpRatio = 0.0;
    3218             :         } else { // out of range
    3219           0 :             ++CurTempRangeErrCount;
    3220           0 :             ++ErrCount;
    3221             :             // FindArrayIndex will return upper or lower bound so TempIndex gives upper/lower limit
    3222           0 :             HiTempIndex = TempIndex;
    3223           0 :             TempInterpRatio = 0.0;
    3224             :         }
    3225             : 
    3226             :         // check pressure data range and attempt to cap if necessary
    3227    21023015 :         if ((LoPressIndex > 0) && (LoPressIndex < this->NumSupPressPoints)) { // in range
    3228    21023015 :             HiPressIndex = LoPressIndex + 1;
    3229    21023015 :             PressInterpRatio = (Pressure - this->SupPress(LoPressIndex)) / (this->SupPress(HiPressIndex) - this->SupPress(LoPressIndex));
    3230           0 :         } else if (LoPressIndex < 1) {
    3231           0 :             ++CurPresRangeErrCount;
    3232           0 :             ++ErrCount;
    3233             :             // FindArrayIndex will return upper or lower bound so TempIndex gives upper/lower limit
    3234           0 :             LoPressIndex = 1;
    3235           0 :             HiPressIndex = LoPressIndex;
    3236           0 :             PressInterpRatio = 0.0;
    3237             :         } else { // out of range
    3238           0 :             ++CurPresRangeErrCount;
    3239           0 :             ++ErrCount;
    3240           0 :             HiPressIndex = LoPressIndex;
    3241           0 :             PressInterpRatio = 0.0;
    3242             :         }
    3243             : 
    3244             :         // get interpolation point values
    3245    21023015 :         Real64 LoTempLoEnthalpy = this->HshValues(LoPressIndex, TempIndex);
    3246    21023015 :         Real64 LoTempHiEnthalpy = this->HshValues(HiPressIndex, TempIndex);
    3247    21023015 :         Real64 HiTempLoEnthalpy = this->HshValues(LoPressIndex, HiTempIndex);
    3248    21023015 :         Real64 HiTempHiEnthalpy = this->HshValues(HiPressIndex, HiTempIndex);
    3249             : 
    3250             :         // to give reasonable interpolation near saturation reset any point with zero value
    3251             :         // in table to saturation value
    3252    21023015 :         if (LoTempLoEnthalpy <= 0.0) {
    3253         421 :             LoTempLoEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, routineName);
    3254             :         }
    3255    21023015 :         if (LoTempHiEnthalpy <= 0.0) {
    3256     8157485 :             LoTempHiEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, routineName);
    3257             :         }
    3258    21023015 :         if (HiTempLoEnthalpy <= 0.0) {
    3259           0 :             HiTempLoEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, routineName);
    3260             :         }
    3261    21023015 :         if (HiTempHiEnthalpy <= 0.0) {
    3262         421 :             HiTempHiEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, routineName);
    3263             :         }
    3264             : 
    3265             :         // interpolate w.r.t. pressure
    3266    21023015 :         Real64 EnthalpyLow = PressInterpRatio * LoTempHiEnthalpy + (1.0 - PressInterpRatio) * LoTempLoEnthalpy;
    3267             : 
    3268    21023015 :         Real64 EnthalpyHigh = PressInterpRatio * HiTempHiEnthalpy + (1.0 - PressInterpRatio) * HiTempLoEnthalpy;
    3269             : 
    3270             :         // interpolate w.r.t. temperature
    3271    21023015 :         ReturnValue = TempInterpRatio * EnthalpyHigh + (1.0 - TempInterpRatio) * EnthalpyLow;
    3272             : 
    3273             :         // Check to see if all data is at zero. In this case we are completely
    3274             :         // inside the saturation dome. Best thing we can do is return saturation value
    3275    21023436 :         if ((this->HshValues(LoPressIndex, TempIndex) <= 0.0) && (this->HshValues(HiPressIndex, TempIndex) <= 0.0) &&
    3276    21023436 :             (this->HshValues(LoPressIndex, HiTempIndex) <= 0.0) && (this->HshValues(HiPressIndex, HiTempIndex) <= 0.0)) {
    3277           0 :             ++df->SatErrCountGetSupHeatEnthalpyRefrig;
    3278             :             // set return value
    3279           0 :             ReturnValue = this->getSatEnthalpy(state, Temperature, 1.0, fmt::format("{}:{}", routineName, CalledFrom));
    3280             :             // send warning
    3281           0 :             if (!state.dataGlobal->WarmupFlag) {
    3282           0 :                 this->errors[(int)RefrigError::SatSupEnthalpy].count += df->SatErrCountGetSupHeatEnthalpyRefrig;
    3283             :                 // send warning
    3284           0 :                 if (this->errors[(int)RefrigError::SatTempDensity].count <= df->RefrigErrorLimitTest) {
    3285           0 :                     ShowWarningMessage(
    3286             :                         state,
    3287           0 :                         format("{}: Refrigerant [{}] is saturated at the given conditions, saturated enthalpy at given temperature returned. **",
    3288             :                                routineName,
    3289           0 :                                this->Name));
    3290           0 :                     ShowContinueError(state, fmt::format("...Called From:{}", CalledFrom));
    3291           0 :                     ShowContinueError(state, format("Refrigerant temperature = {:.2R}", Temperature));
    3292           0 :                     ShowContinueError(state, format("Refrigerant pressure = {:.0R}", Pressure));
    3293           0 :                     ShowContinueError(state, format("Returned Enthalpy value = {:.3R}", ReturnValue));
    3294           0 :                     ShowContinueErrorTimeStamp(state, "");
    3295             :                 }
    3296           0 :                 ShowRecurringWarningErrorAtEnd(state,
    3297           0 :                                                format("{}: Refrigerant [{}] saturated at the given conditions **", routineName, this->Name),
    3298           0 :                                                this->errors[(int)RefrigError::SatSupEnthalpy].index,
    3299             :                                                Temperature,
    3300             :                                                "{C}");
    3301             :             }
    3302           0 :             return ReturnValue;
    3303             :         }
    3304             : 
    3305    21023015 :         if (ErrCount > 0 && !state.dataGlobal->WarmupFlag) {
    3306             :             // send temp range error if flagged
    3307           0 :             this->errors[(int)RefrigError::SatSupEnthalpy].count += CurTempRangeErrCount;
    3308           0 :             if (CurTempRangeErrCount > 0) {
    3309           0 :                 if (this->errors[(int)RefrigError::SatSupEnthalpyTemp].count <= df->RefrigErrorLimitTest) {
    3310           0 :                     ShowWarningMessage(state,
    3311           0 :                                        format("{}: Refrigerant [{}] Temperature is out of range for superheated enthalpy: values capped **",
    3312             :                                               routineName,
    3313           0 :                                               this->Name));
    3314           0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3315           0 :                     ShowContinueErrorTimeStamp(state, "");
    3316             :                 }
    3317           0 :                 ShowRecurringWarningErrorAtEnd(
    3318             :                     state,
    3319           0 :                     format("{}: Refrigerant [{}] Temperature is out of range for superheated enthalpy: values capped **", routineName, this->Name),
    3320           0 :                     this->errors[(int)RefrigError::SatSupEnthalpyTemp].index,
    3321             :                     Temperature,
    3322             :                     "{C}");
    3323             :             }
    3324             : 
    3325             :             // send pressure range error if flagged
    3326           0 :             this->errors[(int)RefrigError::SatSupEnthalpyPress].count += CurPresRangeErrCount;
    3327           0 :             if (CurPresRangeErrCount > 0) {
    3328           0 :                 if (this->errors[(int)RefrigError::SatSupEnthalpyPress].count <= df->RefrigErrorLimitTest) {
    3329           0 :                     ShowWarningMessage(
    3330             :                         state,
    3331           0 :                         format("{}: Refrigerant [{}] Pressure is out of range for superheated enthalpy: values capped **", routineName, this->Name));
    3332           0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3333           0 :                     ShowContinueErrorTimeStamp(state, "");
    3334             :                 }
    3335           0 :                 ShowRecurringWarningErrorAtEnd(
    3336             :                     state,
    3337           0 :                     format("{}: Refrigerant [{}] Pressure is out of range for superheated enthalpy: values capped **", routineName, this->Name),
    3338           0 :                     this->errors[(int)RefrigError::SatSupEnthalpyPress].index,
    3339             :                     Pressure,
    3340             :                     "{Pa}");
    3341             :             }
    3342             :         } // end error checking
    3343             : 
    3344    21023015 :         return ReturnValue;
    3345             :     }
    3346             : 
    3347    17887442 :     Real64 GetSupHeatEnthalpyRefrig(EnergyPlusData &state,
    3348             :                                     std::string_view const refrigName, // carries in substance name
    3349             :                                     Real64 const Temperature,          // actual temperature given as input
    3350             :                                     Real64 const Pressure,             // actual pressure given as input
    3351             :                                     int &RefrigIndex,                  // Index to Refrigerant Properties
    3352             :                                     std::string_view const CalledFrom  // routine this function was called from (error messages)
    3353             :     )
    3354             :     {
    3355             :         // Wrapper for RefrigProps::getSupHeatEnthalpy()
    3356    17887442 :         auto &df = state.dataFluidProps;
    3357             : 
    3358    17887442 :         if (RefrigIndex == 0) {
    3359           1 :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3360           0 :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3361           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3362           0 :                 return 0.0;
    3363             :             }
    3364             :         }
    3365             : 
    3366    17887442 :         return df->refrigs(RefrigIndex)->getSupHeatEnthalpy(state, Temperature, Pressure, CalledFrom);
    3367             :     }
    3368             : 
    3369             :     //*****************************************************************************
    3370             : 
    3371           0 :     Real64 RefrigProps::getSupHeatPressure(EnergyPlusData &state,
    3372             :                                            Real64 const Temperature,         // actual temperature given as input
    3373             :                                            Real64 const Enthalpy,            // actual enthalpy given as input
    3374             :                                            std::string_view const CalledFrom // routine this function was called from (error messages)
    3375             :     )
    3376             :     {
    3377             : 
    3378             :         // SUBROUTINE INFORMATION:
    3379             :         //       AUTHOR         Rick Strand
    3380             :         //       DATE WRITTEN   May 2000
    3381             :         //       MODIFIED       Simon Rees (May 2002)
    3382             : 
    3383             :         // PURPOSE OF THIS SUBROUTINE:
    3384             :         // Performs linear interpolation between enthalpy and temperatures and
    3385             :         // returns pressure values.  Works only in superheated region.
    3386             : 
    3387             :         // METHODOLOGY EMPLOYED:
    3388             :         // Double linear interpolation is used with pressure values at four
    3389             :         // enthalpy/temperature input points surrounding the given temperature
    3390             :         // and enthalpy argument values.
    3391             :         // All enthalpies have to be calculated at the given temperature before a
    3392             :         // search is made for the data adjacent to the given enthalpy. Linear interpolation
    3393             :         // using the enthalpy data is used to interpolate the correspondng pressures.
    3394             :         // Temperatures and enthalpies outside the bounds of the available data are capped
    3395             :         // and warnings given. For enthlpys lower than the saturated vapour value at the
    3396             :         // given temperature result in the saturation pressure being returned (calls to
    3397             :         // GetSatEnthalpy and GetSatPressure are made.)
    3398             : 
    3399             :         // Return value
    3400             :         Real64 ReturnValue;
    3401             : 
    3402             :         // FUNCTION PARAMETERS:
    3403             :         // the enthalpy calculated from the pressure found
    3404             :         static constexpr std::string_view routineName = "RefrigProps::getSupHeatPressure";
    3405             : 
    3406             :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    3407             :         Real64 EnthalpyCheck;   // recalculates enthalpy based on calculated pressure
    3408             :         Real64 EnthalpyHigh;    // Enthalpy value at interpolated pressure and high temperature
    3409             :         Real64 EnthalpyLow;     // Enthalpy value at interpolated pressure and low temperature
    3410             :         Real64 EnthalpyMax;     // Enthalpy value at interpolated pressure and high temperature
    3411             :         Real64 EnthalpyMin;     // Enthalpy value at interpolated pressure and low temperature
    3412             :         Real64 SatEnthalpy;     // Saturated vapour enthalpy
    3413             :         Real64 EnthInterpRatio; // Interpolation ratio w.r.t enthalpy
    3414             : 
    3415             :         int middle; // mid-point for interval halving
    3416             : 
    3417             :         int HiTempIndex;     // Index value of higher temperature from data
    3418             :         int LoEnthalpyIndex; // Index value of lower enthalpy from data
    3419             :         int HiEnthalpyIndex; // Index value of higher enthalpy from data
    3420             : 
    3421             :         // error counters and dummy string
    3422           0 :         int ErrCount = 0;
    3423           0 :         int CurTempRangeErrCount = 0;
    3424           0 :         int CurEnthalpyRangeErrCount = 0;
    3425           0 :         int CurSatErrCount = 0;
    3426             : 
    3427             :         // Index value of lower temperature from data
    3428           0 :         int LoTempIndex = FindArrayIndex(Temperature, this->SupTemps, 1, this->NumSupTempPoints);
    3429             : 
    3430             :         // check temperature data range and attempt to cap if necessary
    3431           0 :         if ((LoTempIndex > 0) && (LoTempIndex < this->NumSupTempPoints)) { // in range
    3432           0 :             HiTempIndex = LoTempIndex + 1;
    3433           0 :         } else if (LoTempIndex < 1) { // below lower bound
    3434           0 :             ++CurTempRangeErrCount;
    3435           0 :             LoTempIndex = 1;
    3436           0 :             HiTempIndex = LoTempIndex;
    3437             :         } else { // out of range
    3438           0 :             ++CurTempRangeErrCount;
    3439           0 :             HiTempIndex = LoTempIndex;
    3440             :         }
    3441             : 
    3442             :         // check for lowest non-zero value in lower temp data
    3443           0 :         int LoTempStart = this->NumSupPressPoints;
    3444           0 :         for (int Loop = 1; Loop <= this->NumSupPressPoints; ++Loop) {
    3445           0 :             if (this->HshValues(Loop, LoTempIndex) > 0.0) {
    3446           0 :                 LoTempStart = Loop;
    3447           0 :                 break;
    3448             :             }
    3449             :         }
    3450             :         // check for highest non-zero value in lower temp data
    3451           0 :         int LoTempFinish = 1;
    3452           0 :         for (int Loop = this->NumSupPressPoints; Loop >= 1; --Loop) {
    3453           0 :             if (this->HshValues(Loop, LoTempIndex) <= 0.0) {
    3454           0 :                 LoTempFinish = Loop;
    3455             :                 // EXIT
    3456             :             }
    3457             :         }
    3458             :         // check for lowest non-zero value in high temp data
    3459           0 :         int HiTempStart = this->NumSupPressPoints;
    3460           0 :         for (int Loop = 1; Loop <= this->NumSupPressPoints; ++Loop) {
    3461           0 :             if (this->HshValues(Loop, HiTempIndex) > 0.0) {
    3462           0 :                 HiTempStart = Loop;
    3463           0 :                 break;
    3464             :             }
    3465             :         }
    3466             : 
    3467             :         // check for highest non-zero value in high temp data
    3468           0 :         int HiTempFinish = 1;
    3469           0 :         for (int Loop = this->NumSupPressPoints; Loop >= 1; --Loop) {
    3470           0 :             if (this->HshValues(Loop, HiTempIndex) <= 0.0) {
    3471           0 :                 HiTempFinish = Loop;
    3472             :             }
    3473             :         }
    3474             : 
    3475             :         // find bounds of both hi and lo temp data, corrected lower non-zero index of enthalpy values
    3476           0 :         int TempStart = max(LoTempStart, HiTempStart);
    3477             :         // corrected upper non-zero index of enthalpy values
    3478           0 :         int TempFinish = min(LoTempFinish, HiTempFinish);
    3479             :         // calculate interpolation ratio w.r.t temperature
    3480             :         // This ratio is used to find enthalpies at the given temperature
    3481           0 :         Real64 TempInterpRatio = (Temperature - this->SupTemps(LoTempIndex)) / (this->SupTemps(HiTempIndex) - this->SupTemps(LoTempIndex));
    3482             : 
    3483             :         // search for array index by bisection
    3484           0 :         int start = TempStart; // set the bounds
    3485           0 :         int finish = TempFinish;
    3486             : 
    3487             :         // find the bounds of the enthalpy data available
    3488           0 :         EnthalpyMax = max(this->HshValues(TempStart, LoTempIndex), this->HshValues(TempStart, HiTempIndex));
    3489           0 :         EnthalpyMin = min(this->HshValues(TempFinish, LoTempIndex), this->HshValues(TempFinish, HiTempIndex));
    3490             :         // get saturated enthalpy for checking
    3491           0 :         SatEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, fmt::format("{}:{}", routineName, CalledFrom));
    3492             : 
    3493             :         // make some checks on the data before interpolating
    3494           0 :         if (Enthalpy < SatEnthalpy) {
    3495             :             // flag error
    3496           0 :             ++CurSatErrCount;
    3497           0 :             ++ErrCount;
    3498             :             // return sat pressure at this temperature
    3499           0 :             ReturnValue = this->getSatPressure(state, Temperature, fmt::format("{}:{}", routineName, CalledFrom));
    3500             : 
    3501           0 :         } else if (EnthalpyMax < Enthalpy || EnthalpyMin > Enthalpy) {
    3502             :             // out of range error
    3503           0 :             ++CurEnthalpyRangeErrCount;
    3504           0 :             ++ErrCount;
    3505           0 :             if (Enthalpy > EnthalpyMax) {
    3506             :                 // return min pressure
    3507           0 :                 ReturnValue = this->SupPress(HiTempStart);
    3508             :             } else {
    3509             :                 // return max pressure
    3510           0 :                 ReturnValue = this->SupPress(LoTempFinish);
    3511             :             }
    3512             :         } else {
    3513             :             // go ahead and search
    3514           0 :             while ((finish - start) > 1) {
    3515           0 :                 middle = (finish + start) / 2;
    3516             : 
    3517             :                 // calc enthalpy at middle index for given temperature
    3518           0 :                 EnthalpyCheck = this->HshValues(middle, LoTempIndex) +
    3519           0 :                                 TempInterpRatio * (this->HshValues(middle, HiTempIndex) - this->HshValues(middle, LoTempIndex));
    3520             : 
    3521           0 :                 if (Enthalpy < EnthalpyCheck) {
    3522           0 :                     start = middle;
    3523             :                 } else {
    3524           0 :                     finish = middle;
    3525             :                 }
    3526             :             }
    3527           0 :             LoEnthalpyIndex = start;
    3528           0 :             HiEnthalpyIndex = start + 1;
    3529             : 
    3530             :             // calculate enthalpies adjacent specified enthalpy at given temperature
    3531           0 :             EnthalpyLow = this->HshValues(LoEnthalpyIndex, LoTempIndex) +
    3532           0 :                           TempInterpRatio * (this->HshValues(LoEnthalpyIndex, HiTempIndex) - this->HshValues(LoEnthalpyIndex, LoTempIndex));
    3533             : 
    3534           0 :             EnthalpyHigh = this->HshValues(HiEnthalpyIndex, LoTempIndex) +
    3535           0 :                            TempInterpRatio * (this->HshValues(HiEnthalpyIndex, HiTempIndex) - this->HshValues(HiEnthalpyIndex, LoTempIndex));
    3536             :             // calculate an interpolation ratio
    3537           0 :             EnthInterpRatio = (Enthalpy - EnthalpyLow) / (EnthalpyHigh - EnthalpyLow);
    3538             :             // apply this interpolation ratio to find the final pressure
    3539           0 :             ReturnValue = this->SupPress(LoEnthalpyIndex) + EnthInterpRatio * (this->SupPress(HiEnthalpyIndex) - this->SupPress(LoEnthalpyIndex));
    3540             :         }
    3541             : 
    3542           0 :         if (ErrCount > 0 && !state.dataGlobal->WarmupFlag) {
    3543           0 :             auto &df = state.dataFluidProps;
    3544             : 
    3545             :             // send near saturation warning if flagged
    3546           0 :             this->errors[(int)RefrigError::SatSupPress].count += CurSatErrCount;
    3547             :             // send warning
    3548           0 :             if (CurSatErrCount > 0) {
    3549           0 :                 if (this->errors[(int)RefrigError::SatSupPress].count <= df->RefrigErrorLimitTest) {
    3550           0 :                     ShowSevereMessage(state,
    3551           0 :                                       format("{}: Refrigerant [{}] is saturated at the given enthalpy and temperature, saturated enthalpy at given "
    3552             :                                              "temperature returned. **",
    3553             :                                              routineName,
    3554           0 :                                              this->Name));
    3555           0 :                     ShowContinueError(state, fmt::format("...Called From:{}", CalledFrom));
    3556           0 :                     ShowContinueError(state, format("Refrigerant temperature = {:.2R}", Temperature));
    3557           0 :                     ShowContinueError(state, format("Refrigerant Enthalpy = {:.3R}", Enthalpy));
    3558           0 :                     ShowContinueError(state, format("Returned Pressure value = {:.0R}", ReturnValue));
    3559           0 :                     ShowContinueErrorTimeStamp(state, "");
    3560             :                 }
    3561           0 :                 ShowRecurringSevereErrorAtEnd(
    3562             :                     state,
    3563           0 :                     format("{}: Refrigerant [{}] saturated at the given enthalpy and temperature **", routineName, this->Name),
    3564           0 :                     this->errors[(int)RefrigError::SatSupPress].index,
    3565             :                     ReturnValue,
    3566             :                     "{Pa}");
    3567             :             }
    3568             : 
    3569             :             // send temp range error if flagged
    3570           0 :             this->errors[(int)RefrigError::SatSupPressTemp].count += CurTempRangeErrCount;
    3571           0 :             if (CurTempRangeErrCount > 0) {
    3572           0 :                 if (this->errors[(int)RefrigError::SatSupPressTemp].count <= df->RefrigErrorLimitTest) {
    3573           0 :                     ShowWarningMessage(state,
    3574           0 :                                        format("{}: Refrigerant [{}] Temperature is out of range for superheated pressure: values capped **",
    3575             :                                               routineName,
    3576           0 :                                               this->Name));
    3577           0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3578           0 :                     ShowContinueErrorTimeStamp(state, "");
    3579             :                 }
    3580           0 :                 ShowRecurringWarningErrorAtEnd(
    3581             :                     state,
    3582           0 :                     format("{}: Refrigerant [{}] Temperature is out of range for superheated pressure: values capped **", routineName, this->Name),
    3583           0 :                     this->errors[(int)RefrigError::SatSupPressTemp].index,
    3584             :                     Temperature,
    3585             :                     "{C}");
    3586             :             }
    3587             : 
    3588             :             // send enthalpy range error if flagged
    3589           0 :             this->errors[(int)RefrigError::SatSupPressEnthalpy].count += CurEnthalpyRangeErrCount;
    3590           0 :             if (CurEnthalpyRangeErrCount > 0) {
    3591           0 :                 if (this->errors[(int)RefrigError::SatSupPressEnthalpy].count <= df->RefrigErrorLimitTest) {
    3592           0 :                     ShowWarningMessage(
    3593             :                         state,
    3594           0 :                         format("{}: Refrigerant [{}] Pressure is out of range for superheated enthalpy: values capped **", routineName, this->Name));
    3595           0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3596           0 :                     ShowContinueErrorTimeStamp(state, "");
    3597             :                 }
    3598           0 :                 ShowRecurringWarningErrorAtEnd(
    3599             :                     state,
    3600           0 :                     format("{}: Refrigerant [{}] Pressure is out of range for superheated pressure: values capped **", routineName, this->Name),
    3601           0 :                     this->errors[(int)RefrigError::SatSupPressEnthalpy].index,
    3602             :                     Enthalpy,
    3603             :                     "{J}");
    3604             :             }
    3605             :         } // end error checking
    3606             : 
    3607           0 :         return ReturnValue;
    3608             :     }
    3609             : 
    3610           0 :     Real64 GetSupHeatPressureRefrig(EnergyPlusData &state,
    3611             :                                     std::string const &refrigName,    // carries in substance name
    3612             :                                     Real64 const Temperature,         // actual temperature given as input
    3613             :                                     Real64 const Enthalpy,            // actual enthalpy given as input
    3614             :                                     int &RefrigIndex,                 // Index to Refrigerant Properties
    3615             :                                     std::string_view const CalledFrom // routine this function was called from (error messages)
    3616             :     )
    3617             :     {
    3618             :         // Wrapper for RefrigProps::getSupHeatPressure()
    3619           0 :         auto &df = state.dataFluidProps;
    3620             : 
    3621           0 :         if (RefrigIndex == 0) {
    3622           0 :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3623           0 :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3624           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3625           0 :                 return 0.0;
    3626             :             }
    3627             :         }
    3628             : 
    3629           0 :         return df->refrigs(RefrigIndex)->getSupHeatPressure(state, Temperature, Enthalpy, CalledFrom);
    3630             :     }
    3631             : 
    3632             :     //*****************************************************************************
    3633             : 
    3634       33710 :     Real64 RefrigProps::getSupHeatTemp(EnergyPlusData &state,
    3635             :                                        Real64 const Pressure,            // actual pressure given as input
    3636             :                                        Real64 const Enthalpy,            // actual enthalpy given as input
    3637             :                                        Real64 TempLow,                   // lower bound of temperature in the iteration
    3638             :                                        Real64 TempUp,                    // upper bound of temperature in the iteration
    3639             :                                        std::string_view const CalledFrom // routine this function was called from (error messages)
    3640             :     )
    3641             :     {
    3642             :         // SUBROUTINE INFORMATION:
    3643             :         //       AUTHOR         Rongpeng Zhang
    3644             :         //       DATE WRITTEN   Jan 2016
    3645             : 
    3646             :         // PURPOSE OF THIS SUBROUTINE:
    3647             :         // Performs iterations to calculate the refrigerant temperature corresponding to the given
    3648             :         // enthalpy and pressure.  Works only in superheated region.
    3649             : 
    3650             :         // METHODOLOGY EMPLOYED:
    3651             :         // Perform iterations to identify the temperature by calling GetSupHeatEnthalpyRefrig->
    3652             : 
    3653             :         // Return value
    3654             :         Real64 ReturnValue;
    3655             : 
    3656             :         // FUNCTION PARAMETERS:
    3657             :         // the enthalpy calculated from the pressure found
    3658             :         static constexpr std::string_view routineName = "RefrigProps::getSupHeatTemp";
    3659             : 
    3660             :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    3661             :         Real64 EnthalpyHigh; // Enthalpy value at interpolated pressure and high temperature
    3662             :         Real64 EnthalpyLow;  // Enthalpy value at interpolated pressure and low temperature
    3663             :         Real64 RefTHigh;     // High Temperature Value for Ps (max in tables)
    3664             :         Real64 RefTSat;      // Saturated temperature of the refrigerant. Used to check whether the refrigernat is in the superheat area
    3665             :         Real64 Temp;         // Temperature of the superheated refrigerant at the given enthalpy and pressure
    3666             : 
    3667             :         // check temperature data range and attempt to cap if necessary
    3668       33710 :         RefTHigh = this->PsHighTempValue;
    3669       33710 :         RefTSat = this->getSatTemperature(state, Pressure, fmt::format("{}:{}", routineName, CalledFrom));
    3670             : 
    3671       33710 :         if (TempLow < RefTSat) {
    3672           0 :             ShowWarningMessage(state,
    3673           0 :                                format("{}: Refrigerant [{}] temperature lower bound is out of range for superheated refrigerant: values capped **",
    3674             :                                       routineName,
    3675           0 :                                       this->Name));
    3676           0 :             ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3677           0 :             ShowContinueErrorTimeStamp(state, "");
    3678           0 :             TempLow = RefTSat;
    3679             :         }
    3680       33710 :         if (TempUp > RefTHigh) {
    3681           0 :             ShowWarningMessage(state,
    3682           0 :                                format("{}: Refrigerant [{}] temperature lower bound is out of range for superheated refrigerant: values capped **",
    3683             :                                       routineName,
    3684           0 :                                       this->Name));
    3685           0 :             ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3686           0 :             ShowContinueErrorTimeStamp(state, "");
    3687           0 :             TempUp = RefTHigh;
    3688             :         }
    3689       33710 :         if (TempLow >= TempUp) {
    3690           0 :             ShowWarningMessage(state,
    3691           0 :                                format("{}Refrigerant [{}] temperature lower bound is out of range for superheated refrigerant: values capped **",
    3692             :                                       routineName,
    3693           0 :                                       this->Name));
    3694           0 :             ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3695           0 :             ShowContinueErrorTimeStamp(state, "");
    3696           0 :             TempLow = RefTSat;
    3697           0 :             TempUp = RefTHigh;
    3698             :         }
    3699             : 
    3700             :         // check enthalpy data range and attempt to cap if necessary
    3701       33710 :         EnthalpyLow = this->getSupHeatEnthalpy(state, TempLow, Pressure, fmt::format("{}:{}", routineName, CalledFrom));
    3702       33710 :         EnthalpyHigh = this->getSupHeatEnthalpy(state, TempUp, Pressure, fmt::format("{}:{}", routineName, CalledFrom));
    3703       33710 :         if (Enthalpy <= EnthalpyLow) {
    3704        7669 :             ReturnValue = TempLow;
    3705        7669 :             return ReturnValue;
    3706             :         }
    3707       26041 :         if (Enthalpy >= EnthalpyHigh) {
    3708         100 :             ReturnValue = TempUp;
    3709         100 :             return ReturnValue;
    3710             :         }
    3711             : 
    3712             :         // Perform iterations to obtain the temperature level
    3713             :         {
    3714       25941 :             Real64 constexpr ErrorTol(0.001); // tolerance for RegulaFalsi iterations
    3715       25941 :             int constexpr MaxIte(500);        // maximum number of iterations
    3716             :             int SolFla;                       // Flag of RegulaFalsi solver
    3717             : 
    3718      182094 :             auto f = [&state, this, Enthalpy, Pressure](Real64 Temp) {
    3719             :                 static constexpr std::string_view routineName = "GetSupHeatTempRefrigResidual";
    3720       91047 :                 Real64 Enthalpy_Req = Enthalpy;
    3721       91047 :                 if (std::abs(Enthalpy_Req) < 100.0) Enthalpy_Req = sign(100.0, Enthalpy_Req);
    3722       91047 :                 Real64 Enthalpy_Act = this->getSupHeatEnthalpy(state, Temp, Pressure, routineName);
    3723       91047 :                 return (Enthalpy_Act - Enthalpy_Req) / Enthalpy_Req;
    3724       25941 :             };
    3725             : 
    3726       25941 :             General::SolveRoot(state, ErrorTol, MaxIte, SolFla, Temp, f, TempLow, TempUp);
    3727       25941 :             ReturnValue = Temp;
    3728             :         }
    3729             : 
    3730       25941 :         return ReturnValue;
    3731             :     }
    3732             : 
    3733           0 :     Real64 GetSupHeatTempRefrig(EnergyPlusData &state,
    3734             :                                 std::string_view const refrigName, // carries in substance name
    3735             :                                 Real64 const Pressure,             // actual pressure given as input
    3736             :                                 Real64 const Enthalpy,             // actual enthalpy given as input
    3737             :                                 Real64 TempLow,                    // lower bound of temperature in the iteration
    3738             :                                 Real64 TempUp,                     // upper bound of temperature in the iteration
    3739             :                                 int &RefrigIndex,                  // Index to Refrigerant Properties
    3740             :                                 std::string_view const CalledFrom  // routine this function was called from (error messages)
    3741             :     )
    3742             :     {
    3743             :         // Wrapper for RefrigProps::getSupHeatTemp()
    3744           0 :         auto &df = state.dataFluidProps;
    3745             : 
    3746           0 :         if (RefrigIndex == 0) {
    3747           0 :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3748           0 :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3749           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3750           0 :                 return 0.0;
    3751             :             }
    3752             :         }
    3753             : 
    3754           0 :         return df->refrigs(RefrigIndex)->getSupHeatTemp(state, Pressure, Enthalpy, TempLow, TempUp, CalledFrom);
    3755             :     }
    3756             : 
    3757             :     //*****************************************************************************
    3758             : 
    3759    95643927 :     Real64 RefrigProps::getSupHeatDensity(EnergyPlusData &state,
    3760             :                                           Real64 const Temperature,         // actual temperature given as input
    3761             :                                           Real64 const Pressure,            // actual pressure given as input
    3762             :                                           std::string_view const CalledFrom // routine this function was called from (error messages)
    3763             :     )
    3764             :     {
    3765             : 
    3766             :         // SUBROUTINE INFORMATION:
    3767             :         //       AUTHOR         Mike Turner
    3768             :         //       DATE WRITTEN   10 December 99
    3769             :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    3770             :         //       MODIFIED       Simon Rees (May 2002)
    3771             : 
    3772             :         // PURPOSE OF THIS SUBROUTINE:
    3773             :         // Performs linear interpolation between pressures and temperatures and
    3774             :         // returns Density values.  Works only in superheated region.
    3775             : 
    3776             :         // METHODOLOGY EMPLOYED:
    3777             :         // Double linear interpolation is used with Density values at four
    3778             :         // pressure/temperature input points surrounding the given temperature
    3779             :         // and pressure arguments.
    3780             :         // With Density data it is assumed that zero values in the data are in
    3781             :         // the saturated region. Hence, values near the saturation line are
    3782             :         // approximated using the saturation value instead of the zero data value.
    3783             :         // points completely in the saturation region are given the saturation value
    3784             :         // at the given temperature. Points at the upper limits of pressure/temperature
    3785             :         // have the pressure/temperature capped. Warnings are given if the point
    3786             :         // is not clearly in the bounds of the superheated data.
    3787             : 
    3788             :         // Return value
    3789             :         Real64 ReturnValue;
    3790             : 
    3791    95643927 :         auto &df = state.dataFluidProps;
    3792             : 
    3793             :         // FUNCTION PARAMETERS:
    3794             :         static constexpr std::string_view routineName = "RefrigProps::getSupHeatDensity";
    3795             : 
    3796             :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    3797             :         Real64 TempInterpRatio;  // Interpolation ratio w.r.t temperature
    3798             :         Real64 PressInterpRatio; // Interpolation ratio w.r.t pressures
    3799             : 
    3800             :         int HiTempIndex;  // high temperature index value
    3801             :         int HiPressIndex; // high pressure index value
    3802             : 
    3803             :         // initialize for this call error counters and dummy string
    3804    95643927 :         int ErrCount = 0;
    3805    95643927 :         int CurTempRangeErrCount = 0;
    3806    95643927 :         int CurPresRangeErrCount = 0;
    3807             : 
    3808             :         // check temperature data range and attempt to cap if necessary
    3809             :         // low index value of Temperature from table
    3810    95643927 :         int TempIndex = FindArrayIndex(Temperature, this->SupTemps, 1, this->NumSupTempPoints);
    3811    95643927 :         if ((TempIndex > 0) && (TempIndex < this->NumSupTempPoints)) { // in range
    3812    95643927 :             HiTempIndex = TempIndex + 1;
    3813    95643927 :             TempInterpRatio = (Temperature - this->SupTemps(TempIndex)) / (this->SupTemps(HiTempIndex) - this->SupTemps(TempIndex));
    3814           0 :         } else if (TempIndex < 1) {
    3815           0 :             ++CurTempRangeErrCount;
    3816           0 :             ++ErrCount;
    3817             :             // FindArrayIndex will return upper or lower bound so TempIndex gives upper/lower limit
    3818           0 :             TempIndex = 1;
    3819           0 :             HiTempIndex = TempIndex;
    3820           0 :             TempInterpRatio = 0.0;
    3821             :         } else { // out of range
    3822           0 :             ++CurTempRangeErrCount;
    3823           0 :             ++ErrCount;
    3824             :             // FindArrayIndex will return upper or lower bound so TempIndex gives upper/lower limit
    3825           0 :             HiTempIndex = TempIndex;
    3826           0 :             TempInterpRatio = 0.0;
    3827             :         }
    3828             : 
    3829             :         // check pressure data range and attempt to cap if necessary
    3830    95643927 :         int LoPressIndex = FindArrayIndex(Pressure, this->SupPress, 1, this->NumSupPressPoints);
    3831    95643927 :         if ((LoPressIndex > 0) && (LoPressIndex < this->NumSupPressPoints)) { // in range
    3832    95643927 :             HiPressIndex = LoPressIndex + 1;
    3833    95643927 :             Real64 const SHPress_Lo = this->SupPress(LoPressIndex);
    3834    95643927 :             PressInterpRatio = (Pressure - SHPress_Lo) / (this->SupPress(HiPressIndex) - SHPress_Lo);
    3835    95643927 :         } else if (LoPressIndex < 1) {
    3836           0 :             ++CurPresRangeErrCount;
    3837           0 :             ++ErrCount;
    3838           0 :             LoPressIndex = 1;
    3839           0 :             HiPressIndex = LoPressIndex;
    3840           0 :             PressInterpRatio = 0.0;
    3841             :         } else { // out of range
    3842           0 :             ++CurPresRangeErrCount;
    3843           0 :             ++ErrCount;
    3844             :             // FindArrayIndex will return upper or lower bound so LoPressIndex gives upper/lower limit
    3845           0 :             HiPressIndex = LoPressIndex;
    3846           0 :             PressInterpRatio = 0.0;
    3847             :         }
    3848             : 
    3849             :         // get interpolation point values
    3850    95643927 :         Real64 LoTempLoDensity = this->RhoshValues(LoPressIndex, TempIndex);
    3851    95643927 :         Real64 LoTempHiDensity = this->RhoshValues(HiPressIndex, TempIndex);
    3852    95643927 :         Real64 HiTempLoDensity = this->RhoshValues(LoPressIndex, HiTempIndex);
    3853    95643927 :         Real64 HiTempHiDensity = this->RhoshValues(HiPressIndex, HiTempIndex);
    3854             : 
    3855             :         // to give reasonable interpolation near saturation reset any point with zero value
    3856             :         // in table to saturation value
    3857    95643927 :         int n_zero(0);
    3858    95643927 :         Real64 saturated_density(0.0);
    3859    95643927 :         if (min(LoTempLoDensity, LoTempHiDensity, HiTempLoDensity, HiTempHiDensity) <= 0.0) {
    3860     2040773 :             saturated_density = this->getSatDensity(state, Temperature, 1.0, routineName);
    3861     2040773 :             if (LoTempLoDensity <= 0.0) {
    3862           0 :                 LoTempLoDensity = saturated_density;
    3863           0 :                 ++n_zero;
    3864             :             }
    3865     2040773 :             if (LoTempHiDensity <= 0.0) {
    3866     2040773 :                 LoTempHiDensity = saturated_density;
    3867     2040773 :                 ++n_zero;
    3868             :             }
    3869     2040773 :             if (HiTempLoDensity <= 0.0) {
    3870           0 :                 HiTempLoDensity = saturated_density;
    3871           0 :                 ++n_zero;
    3872             :             }
    3873     2040773 :             if (HiTempHiDensity <= 0.0) {
    3874           0 :                 HiTempHiDensity = saturated_density;
    3875           0 :                 ++n_zero;
    3876             :             }
    3877             :         }
    3878             : 
    3879    95643927 :         if (n_zero < 4) {
    3880             :             // interpolate w.r.t. pressure
    3881    95643927 :             Real64 DensityLow = PressInterpRatio * LoTempHiDensity + (1.0 - PressInterpRatio) * LoTempLoDensity;
    3882    95643927 :             Real64 DensityHigh = PressInterpRatio * HiTempHiDensity + (1.0 - PressInterpRatio) * HiTempLoDensity;
    3883             : 
    3884             :             // interpolate w.r.t. temperature
    3885    95643927 :             ReturnValue = TempInterpRatio * DensityHigh + (1.0 - TempInterpRatio) * DensityLow;
    3886             :         } else { // All data is at zero: we are completely inside the saturation dome. Best thing we can do is return saturation value
    3887           0 :             ++df->SatErrCountGetSupHeatDensityRefrig;
    3888             :             // send warning
    3889           0 :             this->errors[(int)RefrigError::SatSupDensity].count += df->SatErrCountGetSupHeatDensityRefrig;
    3890             :             // send warning
    3891           0 :             if (this->errors[(int)RefrigError::SatSupDensity].count <= df->RefrigErrorLimitTest) {
    3892           0 :                 ShowWarningMessage(
    3893             :                     state,
    3894           0 :                     format("{}: Refrigerant [{}] is saturated at the given conditions, saturated density at given temperature returned. **",
    3895             :                            routineName,
    3896           0 :                            this->Name));
    3897           0 :                 ShowContinueError(state, fmt::format("...Called From:{}", CalledFrom));
    3898           0 :                 ShowContinueError(state, format("Refrigerant temperature = {:.2R}", Temperature));
    3899           0 :                 ShowContinueError(state, format("Refrigerant pressure = {:.0R}", Pressure));
    3900           0 :                 ShowContinueError(state, format("Returned Density value = {:.3R}", saturated_density));
    3901           0 :                 ShowContinueErrorTimeStamp(state, "");
    3902             :             }
    3903           0 :             if (df->SatErrCountGetSupHeatDensityRefrig > 0) {
    3904           0 :                 ShowRecurringWarningErrorAtEnd(state,
    3905           0 :                                                format("{}: Refrigerant [{}] saturated at the given conditions **", routineName, this->Name),
    3906           0 :                                                this->errors[(int)RefrigError::SatSupEnthalpy].index,
    3907             :                                                Temperature,
    3908             :                                                "{C}");
    3909             :             }
    3910           0 :             return saturated_density;
    3911             :         }
    3912             : 
    3913    95643927 :         if (ErrCount > 0 && !state.dataGlobal->WarmupFlag) {
    3914             :             // send temp range error if flagged
    3915           0 :             this->errors[(int)RefrigError::SatSupDensityTemp].count += CurTempRangeErrCount;
    3916           0 :             if (CurTempRangeErrCount > 0) {
    3917           0 :                 if (this->errors[(int)RefrigError::SatSupDensityTemp].count <= df->RefrigErrorLimitTest) {
    3918           0 :                     ShowWarningMessage(state,
    3919           0 :                                        format("{}: Refrigerant [{}] Temperature is out of range for superheated density: values capped **",
    3920             :                                               routineName,
    3921           0 :                                               this->Name));
    3922           0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3923           0 :                     ShowContinueErrorTimeStamp(state, "");
    3924             :                 }
    3925           0 :                 ShowRecurringWarningErrorAtEnd(
    3926             :                     state,
    3927           0 :                     format("{}: Refrigerant [{}] Temperature is out of range for superheated density: values capped **", routineName, this->Name),
    3928           0 :                     this->errors[(int)RefrigError::SatSupDensityTemp].index,
    3929             :                     Temperature,
    3930             :                     "{C}");
    3931             :             }
    3932             : 
    3933             :             // send pressure range error if flagged
    3934           0 :             this->errors[(int)RefrigError::SatSupDensityPress].count += CurPresRangeErrCount;
    3935           0 :             if (CurPresRangeErrCount > 0) {
    3936           0 :                 if (this->errors[(int)RefrigError::SatSupDensityPress].count <= df->RefrigErrorLimitTest) {
    3937           0 :                     ShowWarningMessage(
    3938             :                         state,
    3939           0 :                         format("{}: Refrigerant [{}] Pressure is out of range for superheated density: values capped **", routineName, this->Name));
    3940           0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3941           0 :                     ShowContinueErrorTimeStamp(state, "");
    3942             :                 }
    3943           0 :                 ShowRecurringWarningErrorAtEnd(
    3944             :                     state,
    3945           0 :                     format("{}: Refrigerant [{}] Pressure is out of range for superheated density: values capped **", routineName, this->Name),
    3946           0 :                     this->errors[(int)RefrigError::SatSupDensityPress].index,
    3947             :                     Pressure,
    3948             :                     "{Pa}");
    3949             :             } // end error checking
    3950             :         }
    3951             : 
    3952    95643927 :         return ReturnValue;
    3953             :     }
    3954             : 
    3955    93334971 :     Real64 GetSupHeatDensityRefrig(EnergyPlusData &state,
    3956             :                                    std::string_view const refrigName, // carries in substance name
    3957             :                                    Real64 const Temperature,          // actual temperature given as input
    3958             :                                    Real64 const Pressure,             // actual pressure given as input
    3959             :                                    int &RefrigIndex,                  // Index to Refrigerant Properties
    3960             :                                    std::string_view const CalledFrom  // routine this function was called from (error messages)
    3961             :     )
    3962             :     {
    3963             :         // Wrapper for RefrigProps::getSupHeatDensity()
    3964    93334971 :         auto &df = state.dataFluidProps;
    3965    93334971 :         if (RefrigIndex == 0) {
    3966           0 :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3967           0 :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3968           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3969           0 :                 return 0.0;
    3970             :             }
    3971             :         }
    3972             : 
    3973    93334971 :         return df->refrigs(RefrigIndex)->getSupHeatDensity(state, Temperature, Pressure, CalledFrom);
    3974             :     }
    3975             : 
    3976             : //*****************************************************************************
    3977             : #ifdef EP_cache_GlycolSpecificHeat
    3978   548509755 :     Real64 GlycolProps::getSpecificHeat(EnergyPlusData &state,
    3979             :                                         Real64 const Temperature,         // actual temperature given as input
    3980             :                                         std::string_view const CalledFrom // routine this function was called from (error messages)
    3981             :     )
    3982             :     {
    3983   548509755 :         auto &df = state.dataFluidProps;
    3984   548509755 :         std::uint64_t constexpr Grid_Shift = 64 - 12 - t_sh_precision_bits;
    3985             : 
    3986   548509755 :         double const t(Temperature + 1000 * this->Num);
    3987             : 
    3988             :         DISABLE_WARNING_PUSH
    3989             :         DISABLE_WARNING_STRICT_ALIASING
    3990             :         DISABLE_WARNING_UNINITIALIZED
    3991             :         // cppcheck-suppress invalidPointerCast
    3992   548509755 :         std::uint64_t const T_tag(*reinterpret_cast<std::uint64_t const *>(&t) >> Grid_Shift);
    3993             :         DISABLE_WARNING_POP
    3994             : 
    3995   548509755 :         std::uint64_t const hash(T_tag & t_sh_cache_mask);
    3996   548509755 :         auto &cTsh(df->cached_t_sh[hash]);
    3997             : 
    3998   548509755 :         if (cTsh.iT != T_tag) {
    3999    22369974 :             cTsh.iT = T_tag;
    4000    22369974 :             cTsh.sh = this->getSpecificHeat_raw(state, Temperature, CalledFrom);
    4001             :         }
    4002             : 
    4003   548509755 :         return cTsh.sh; // saturation pressure {Pascals}
    4004             :     }
    4005             : 
    4006    22369974 :     Real64 GlycolProps::getSpecificHeat_raw(EnergyPlusData &state,
    4007             :                                             Real64 const Temp,                // actual temperature given as input
    4008             :                                             std::string_view const CalledFrom // routine this function was called from (error messages)
    4009             :     )
    4010             : #else
    4011             :     Real64 GlycolProps::getSpecificHeat(EnergyPlusData &state,
    4012             :                                         Real64 const Temp,                // actual temperature given as input
    4013             :                                         std::string_view const CalledFrom // routine this function was called from (error messages)
    4014             :     )
    4015             : #endif
    4016             :     {
    4017             : 
    4018             :         // FUNCTION INFORMATION:
    4019             :         //       AUTHOR         Rick Strand
    4020             :         //       DATE WRITTEN   June 2004
    4021             : 
    4022             :         // PURPOSE OF THIS FUNCTION:
    4023             :         // This subroutine finds specific heats for glycols at different
    4024             :         // temperatures.
    4025             : 
    4026             :         // METHODOLOGY EMPLOYED:
    4027             :         // Linear interpolation is used to find specific heat values for a
    4028             :         // particular glycol (water or some mixture of water and another fluid).
    4029             :         // Warnings are given if the point is not clearly in the bounds of the
    4030             :         // glycol data.  The value returned is the appropriate limit value.
    4031             : 
    4032             :         // REFERENCES:
    4033             :         // GetFluidPropertiesData: subroutine enforces that temperatures in
    4034             :         // all temperature lists are entered in ascending order.
    4035             : 
    4036             :         // FUNCTION PARAMETERS:
    4037             :         static constexpr std::string_view routineName = "GlycolProps::getSpecificHeat";
    4038             : 
    4039    22369974 :         auto &df = state.dataFluidProps;
    4040             : 
    4041             :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4042    22369974 :         assert(this->CpDataPresent);
    4043             : 
    4044             :         // Now determine the value of specific heat using interpolation
    4045    22369974 :         if (Temp < this->CpLowTempValue) { // Temperature too low
    4046             : 
    4047          42 :             if (!state.dataGlobal->WarmupFlag) {
    4048          22 :                 df->glycolErrorLimits[(int)GlycolError::SpecHeatLow] = ++this->errors[(int)GlycolError::SpecHeatLow].count;
    4049          22 :                 if (df->glycolErrorLimits[(int)GlycolError::SpecHeatLow] <= df->GlycolErrorLimitTest) {
    4050           8 :                     ShowWarningMessage(
    4051             :                         state,
    4052           8 :                         format("{}: Temperature is out of range (too low) for fluid [{}] specific heat supplied values **", routineName, this->Name));
    4053           8 :                     ShowContinueError(state,
    4054           8 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4055             :                                              CalledFrom,
    4056             :                                              Temp,
    4057           4 :                                              this->CpLowTempValue,
    4058           4 :                                              this->CpHighTempValue));
    4059           4 :                     ShowContinueErrorTimeStamp(state, "");
    4060             :                 }
    4061          66 :                 ShowRecurringWarningErrorAtEnd(
    4062             :                     state,
    4063          44 :                     format("{}: Temperature out of range (too low) for fluid [{}] specific heat **", routineName, this->Name),
    4064          22 :                     this->errors[(int)GlycolError::SpecHeatLow].index,
    4065             :                     Temp,
    4066             :                     "{C}");
    4067             :             }
    4068          42 :             return this->CpValues(this->CpLowTempIndex);
    4069             : 
    4070    22369932 :         } else if (Temp > this->CpHighTempValue) { // Temperature too high
    4071          57 :             if (!state.dataGlobal->WarmupFlag) {
    4072           0 :                 df->glycolErrorLimits[(int)GlycolError::SpecHeatHigh] = ++this->errors[(int)GlycolError::SpecHeatHigh].count;
    4073           0 :                 if (df->glycolErrorLimits[(int)GlycolError::SpecHeatHigh] <= df->GlycolErrorLimitTest) {
    4074           0 :                     ShowWarningMessage(state,
    4075           0 :                                        format("{}: Temperature is out of range (too high) for fluid [{}] specific heat **", routineName, this->Name));
    4076           0 :                     ShowContinueError(state,
    4077           0 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4078             :                                              CalledFrom,
    4079             :                                              Temp,
    4080           0 :                                              this->CpLowTempValue,
    4081           0 :                                              this->CpHighTempValue));
    4082           0 :                     ShowContinueErrorTimeStamp(state, "");
    4083             :                 }
    4084           0 :                 ShowRecurringWarningErrorAtEnd(
    4085             :                     state,
    4086           0 :                     format("{}: Temperature out of range (too high) for fluid [{}] specific heat **", routineName, this->Name),
    4087           0 :                     this->errors[(int)GlycolError::SpecHeatHigh].index,
    4088             :                     Temp,
    4089             :                     "{C}");
    4090             :             }
    4091          57 :             return this->CpValues(this->CpHighTempIndex);
    4092             : 
    4093             :         } else { // Temperature somewhere between the lowest and highest value
    4094             : #ifdef PERFORMANCE_OPT
    4095             :             if (Temp < this->CpTemps(this->LoCpTempIdxLast) || Temp > this->CpTemps(this->LoCpTempIdxLast + 1)) {
    4096             :                 this->LoCpTempIdxLast = FindArrayIndex(Temp, this->CpTemps, 1, this->NumCpTempPoints);
    4097             :             }
    4098             :             return this->CpValues(this->LoCpTempIdxLast) + (Temp - this->CpTemps(this->LoCpTempIdxLast)) * this->CpTempRatios(this->LoCpTempIdxLast);
    4099             : #else  // !PERFORMANCE_OPT
    4100    22369875 :             assert(this->CpTemps.size() <= static_cast<std::size_t>(std::numeric_limits<int>::max()));
    4101    22369875 :             int beg(1), end(this->CpTemps.isize()); // 1-based indexing
    4102    22369875 :             assert(end > 0);
    4103   134100018 :             while (beg + 1 < end) {
    4104   111730143 :                 int mid = ((beg + end) >> 1); // bit shifting is faster than /2
    4105   111730143 :                 (Temp > this->CpTemps(mid) ? beg : end) = mid;
    4106             :             } // Invariant: glycol_CpTemps[beg] <= Temperature <= glycol_CpTemps[end]
    4107    22369875 :             return GetInterpValue(Temp, this->CpTemps(beg), this->CpTemps(end), this->CpValues(beg), this->CpValues(end));
    4108             : #endif // PERFORMANCE_OPT
    4109             :         }
    4110             :     }
    4111             : 
    4112   548509755 :     Real64 GetSpecificHeatGlycol(EnergyPlusData &state,
    4113             :                                  std::string_view const glycolName, // carries in substance name
    4114             :                                  Real64 const Temperature,          // actual temperature given as input
    4115             :                                  int &GlycolIndex,                  // Index to Glycol Properties
    4116             :                                  std::string_view const CalledFrom  // routine this function was called from (error messages)
    4117             :     )
    4118             :     {
    4119             :         // Wrapper for GlycolProps::getSpecificHeat()
    4120   548509755 :         auto &df = state.dataFluidProps;
    4121             : 
    4122   548509755 :         if (GlycolIndex == 0) {
    4123           2 :             if ((GlycolIndex = GetGlycolNum(state, glycolName)) == 0) {
    4124           0 :                 ShowSevereError(state, format("Glycol \"{}\" not found, called from: {}", glycolName, CalledFrom));
    4125           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    4126           0 :                 return 0.0;
    4127             :             }
    4128             :         }
    4129             : 
    4130   548509755 :         return df->glycols(GlycolIndex)->getSpecificHeat(state, Temperature, CalledFrom);
    4131             :     }
    4132             : 
    4133             :     //*****************************************************************************
    4134             : 
    4135    92355285 :     Real64 GlycolProps::getDensity(EnergyPlusData &state,
    4136             :                                    Real64 const Temp,                // actual temperature given as input
    4137             :                                    std::string_view const CalledFrom // routine this function was called from (error messages)
    4138             :     )
    4139             :     {
    4140             : 
    4141             :         // FUNCTION INFORMATION:
    4142             :         //       AUTHOR         Rick Strand
    4143             :         //       DATE WRITTEN   June 2004
    4144             : 
    4145             :         // PURPOSE OF THIS FUNCTION:
    4146             :         // This subroutine finds the density for glycols at different
    4147             :         // temperatures.
    4148             : 
    4149             :         // METHODOLOGY EMPLOYED:
    4150             :         // Linear interpolation is used to find density values for a
    4151             :         // particular glycol (water or some mixture of water and another fluid).
    4152             :         // Warnings are given if the point is not clearly in the bounds of the
    4153             :         // glycol data.  The value returned is the appropriate limit value.
    4154             : 
    4155             :         // REFERENCES:
    4156             :         // GetFluidPropertiesData: subroutine enforces that temperatures in
    4157             :         // all temperature lists are entered in ascending order.
    4158             : 
    4159             :         // Return value
    4160             :         Real64 Rho;
    4161             : 
    4162             :         // FUNCTION PARAMETERS:
    4163             :         static constexpr std::string_view routineName = "GlycolProps::getDensity";
    4164             : 
    4165    92355285 :         auto &df = state.dataFluidProps;
    4166             : 
    4167             :         // FUNCTION LOCAL VARIABLE DECLARATIONS:
    4168    92355285 :         GlycolError error = GlycolError::Invalid;
    4169             : 
    4170             :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4171    92355285 :         assert(this->RhoDataPresent);
    4172             : 
    4173             :         // Now determine the value of specific heat using interpolation
    4174    92355285 :         if (Temp < this->RhoLowTempValue) { // Temperature too low
    4175         775 :             error = GlycolError::DensityLow;
    4176         775 :             Rho = this->RhoValues(this->RhoLowTempIndex);
    4177    92354510 :         } else if (Temp > this->RhoHighTempValue) { // Temperature too high
    4178       15354 :             error = GlycolError::DensityHigh;
    4179       15354 :             Rho = this->RhoValues(this->RhoHighTempIndex);
    4180             :         } else { // Temperature somewhere between the lowest and highest value
    4181             : #ifdef PERFORMANCE_OPT
    4182             :             if (Temp < this->RhoTemps(this->LoRhoTempIdxLast) || Temp > this->RhoTemps(this->LoRhoTempIdxLast + 1)) {
    4183             :                 this->LoRhoTempIdxLast = FindArrayIndex(Temp, this->RhoTemps, 1, this->NumRhoTempPoints);
    4184             :             }
    4185             :             Rho = this->RhoValues(this->LoRhoTempIdxLast) +
    4186             :                   (Temp - this->RhoTemps(this->LoRhoTempIdxLast)) * this->RhoTempRatios(this->LoRhoTempIdxLast);
    4187             : #else  // !PERFORMANCE_OPT
    4188    92339156 :             int LoTempIndex = FindArrayIndex(Temp, this->RhoTemps, 1, this->NumRhoTempPoints);
    4189    92339156 :             Real64 TempInterpRatio = (Temp - this->RhoTemps(LoTempIndex)) / (this->RhoTemps(LoTempIndex + 1) - this->RhoTemps(LoTempIndex));
    4190    92339156 :             Rho = this->RhoValues(LoTempIndex) + TempInterpRatio * (this->RhoValues(LoTempIndex + 1) - this->RhoValues(LoTempIndex));
    4191             : #endif // PERFORMANCE_OPT
    4192             :         }
    4193             : 
    4194             :         // Error handling
    4195    92355285 :         if (error != GlycolError::Invalid && !state.dataGlobal->WarmupFlag) {
    4196       10032 :             df->glycolErrorLimits[(int)error] = this->errors[(int)error].count;
    4197             : 
    4198       10032 :             if (error == GlycolError::DensityLow) {
    4199         774 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4200         774 :                     ShowWarningMessage(state, format("{}: Temperature is out of range (too low) for fluid [{}] density **", routineName, this->Name));
    4201        1548 :                     ShowContinueError(state,
    4202        1548 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4203             :                                              CalledFrom,
    4204             :                                              Temp,
    4205         774 :                                              this->RhoLowTempValue,
    4206         774 :                                              this->RhoHighTempValue));
    4207         774 :                     ShowContinueErrorTimeStamp(state, "");
    4208             :                 }
    4209             : 
    4210        2322 :                 ShowRecurringWarningErrorAtEnd(state,
    4211        1548 :                                                format("{}: Temperature out of range (too low) for fluid [{}] density **", routineName, this->Name),
    4212         774 :                                                this->errors[(int)GlycolError::DensityLow].index,
    4213             :                                                Temp,
    4214             :                                                "{C}");
    4215             : 
    4216             :             } else { // error == GlycolError::DensityHigh
    4217        9258 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4218       18516 :                     ShowWarningMessage(state,
    4219       18516 :                                        format("{}: Temperature is out of range (too high) for fluid [{}] density **", routineName, this->Name));
    4220       18516 :                     ShowContinueError(state,
    4221       18516 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4222             :                                              CalledFrom,
    4223             :                                              Temp,
    4224        9258 :                                              this->RhoLowTempValue,
    4225        9258 :                                              this->RhoHighTempValue));
    4226        9258 :                     ShowContinueErrorTimeStamp(state, "");
    4227             :                 }
    4228       27774 :                 ShowRecurringWarningErrorAtEnd(state,
    4229       18516 :                                                format("{}: Temperature out of range (too high) for fluid [{}] density **", routineName, this->Name),
    4230        9258 :                                                this->errors[(int)GlycolError::DensityHigh].index,
    4231             :                                                Temp,
    4232             :                                                "{C}");
    4233             :             }
    4234             :         }
    4235             : 
    4236    92355285 :         return Rho;
    4237             :     }
    4238             : 
    4239    92355285 :     Real64 GetDensityGlycol(EnergyPlusData &state,
    4240             :                             std::string_view const glycolName, // carries in substance name
    4241             :                             Real64 const Temperature,          // actual temperature given as input
    4242             :                             int &GlycolIndex,                  // Index to Glycol Properties
    4243             :                             std::string_view const CalledFrom  // routine this function was called from (error messages)
    4244             :     )
    4245             :     {
    4246             :         // Wrapper for GlycolProps::getDensity()
    4247    92355285 :         auto &df = state.dataFluidProps;
    4248             : 
    4249    92355285 :         if (GlycolIndex == 0) {
    4250           3 :             if ((GlycolIndex = GetGlycolNum(state, glycolName)) == 0) {
    4251           0 :                 ShowSevereError(state, format("Glycol \"{}\" not found, called from: {}", glycolName, CalledFrom));
    4252           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    4253           0 :                 return 0.0;
    4254             :             }
    4255             :         }
    4256             : 
    4257    92355285 :         return df->glycols(GlycolIndex)->getDensity(state, Temperature, CalledFrom);
    4258             :     }
    4259             : 
    4260             :     //*****************************************************************************
    4261             : 
    4262     7020329 :     Real64 GlycolProps::getConductivity(EnergyPlusData &state,
    4263             :                                         Real64 const Temp,                // actual temperature given as input
    4264             :                                         std::string_view const CalledFrom // routine this function was called from (error messages)
    4265             :     )
    4266             :     {
    4267             : 
    4268             :         // FUNCTION INFORMATION:
    4269             :         //       AUTHOR         Rick Strand
    4270             :         //       DATE WRITTEN   June 2004
    4271             : 
    4272             :         // PURPOSE OF THIS FUNCTION:
    4273             :         // This subroutine finds the conductivity for glycols at different
    4274             :         // temperatures.
    4275             : 
    4276             :         // METHODOLOGY EMPLOYED:
    4277             :         // Linear interpolation is used to find conductivity values for a
    4278             :         // particular glycol (water or some mixture of water and another fluid).
    4279             :         // Warnings are given if the point is not clearly in the bounds of the
    4280             :         // glycol data.  The value returned is the appropriate limit value.
    4281             : 
    4282             :         // REFERENCES:
    4283             :         // GetFluidPropertiesData: subroutine enforces that temperatures in
    4284             :         // all temperature lists are entered in ascending order.
    4285             : 
    4286             :         // Return value
    4287             :         Real64 Cond;
    4288             : 
    4289             :         // FUNCTION PARAMETERS:
    4290             :         static constexpr std::string_view routineName = "GlycolProps::getConductivity";
    4291             : 
    4292             :         // FUNCTION LOCAL VARIABLE DECLARATIONS:
    4293     7020329 :         GlycolError error = GlycolError::Invalid;
    4294             : 
    4295     7020329 :         auto &df = state.dataFluidProps;
    4296             : 
    4297             :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4298     7020329 :         if (!this->CondDataPresent) {
    4299           0 :             ShowSevereError(state, format("{}: conductivity data not found for glycol \"{}\", called from {}", routineName, this->Name, CalledFrom));
    4300           0 :             ShowFatalError(state, "Program terminates due to preceding condition.");
    4301           0 :             return 0.0;
    4302             :         }
    4303             : 
    4304             :         // Now determine the value of specific heat using interpolation
    4305     7020329 :         if (Temp < this->CondLowTempValue) { // Temperature too low
    4306           0 :             error = GlycolError::ConductivityLow;
    4307           0 :             Cond = this->CondValues(this->CondLowTempIndex);
    4308     7020329 :         } else if (Temp > this->CondHighTempValue) { // Temperature too high
    4309           0 :             error = GlycolError::ConductivityHigh;
    4310           0 :             Cond = this->CondValues(this->CondHighTempIndex);
    4311             :         } else { // Temperature somewhere between the lowest and highest value
    4312             : #ifdef PERFORMANCE_OPT
    4313             :             if (Temp < this->CondTemps(this->LoCondTempIdxLast) || Temp > this->CondTemps(this->LoCondTempIdxLast + 1)) {
    4314             :                 this->LoCondTempIdxLast = FindArrayIndex(Temp, this->CondTemps, 1, this->NumCondTempPoints);
    4315             :             }
    4316             :             Cond = this->CondValues(this->LoCondTempIdxLast) +
    4317             :                    (Temp - this->CondTemps(this->LoCondTempIdxLast)) * this->CondTempRatios(this->LoCondTempIdxLast);
    4318             : #else  // !PERFORMANCE_OPT
    4319     7020329 :             int LoTempIndex = FindArrayIndex(Temp, this->CondTemps, 1, this->NumCondTempPoints);
    4320     7020329 :             Real64 TempInterpRatio = (Temp - this->CondTemps(LoTempIndex)) / (this->CondTemps(LoTempIndex + 1) - this->CondTemps(LoTempIndex));
    4321     7020329 :             Cond = this->CondValues(LoTempIndex) + TempInterpRatio * (this->CondValues(LoTempIndex + 1) - this->CondValues(LoTempIndex));
    4322             : #endif // PERFORMANCE_OPT
    4323             :         }
    4324             : 
    4325             :         // Error handling
    4326     7020329 :         if (!state.dataGlobal->WarmupFlag && error != GlycolError::Invalid) {
    4327           0 :             df->glycolErrorLimits[(int)error] = this->errors[(int)error].count;
    4328             : 
    4329           0 :             if (error == GlycolError::ConductivityLow) {
    4330           0 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4331           0 :                     ShowWarningMessage(state,
    4332           0 :                                        format("{}: Temperature is out of range (too low) for fluid [{}] conductivity **", routineName, this->Name));
    4333           0 :                     ShowContinueError(state,
    4334           0 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4335             :                                              CalledFrom,
    4336             :                                              Temp,
    4337           0 :                                              this->CondLowTempValue,
    4338           0 :                                              this->CondHighTempValue));
    4339           0 :                     ShowContinueErrorTimeStamp(state, "");
    4340             :                 }
    4341             : 
    4342           0 :                 ShowRecurringWarningErrorAtEnd(
    4343             :                     state,
    4344           0 :                     format("{}: Temperature out of range (too low) for fluid [{}] conductivity **", routineName, this->Name),
    4345           0 :                     this->errors[(int)error].index,
    4346             :                     Temp,
    4347             :                     "{C}");
    4348             :             }
    4349             : 
    4350           0 :             else if (error == GlycolError::ConductivityHigh) {
    4351           0 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4352           0 :                     ShowWarningMessage(state,
    4353           0 :                                        format("{}: Temperature is out of range (too high) for fluid [{}] conductivity **", routineName, this->Name));
    4354           0 :                     ShowContinueError(state,
    4355           0 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4356             :                                              CalledFrom,
    4357             :                                              Temp,
    4358           0 :                                              this->CondLowTempValue,
    4359           0 :                                              this->CondHighTempValue));
    4360           0 :                     ShowContinueErrorTimeStamp(state, "");
    4361             :                 }
    4362             : 
    4363           0 :                 ShowRecurringWarningErrorAtEnd(
    4364             :                     state,
    4365           0 :                     format("{}: Temperature out of range (too high) for fluid [{}] conductivity **", routineName, this->Name),
    4366           0 :                     this->errors[(int)error].index,
    4367             :                     Temp,
    4368             :                     "{C}");
    4369             :             }
    4370             :         }
    4371             : 
    4372     7020329 :         return Cond;
    4373             :     } // GlycolProps::getConductivity()
    4374             : 
    4375     7020329 :     Real64 GetConductivityGlycol(EnergyPlusData &state,
    4376             :                                  std::string_view const glycolName, // carries in substance name
    4377             :                                  Real64 const Temperature,          // actual temperature given as input
    4378             :                                  int &GlycolIndex,                  // Index to Glycol Properties
    4379             :                                  std::string_view const CalledFrom  // routine this function was called from (error messages)
    4380             :     )
    4381             :     {
    4382             :         // Wrapper for GlycolProps::getConductivity()
    4383     7020329 :         auto &df = state.dataFluidProps;
    4384             : 
    4385     7020329 :         if (GlycolIndex == 0) {
    4386           0 :             if ((GlycolIndex = GetGlycolNum(state, glycolName)) == 0) {
    4387           0 :                 ShowSevereError(state, format("Glycol \"{}\" not found, called from: {}", glycolName, CalledFrom));
    4388           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    4389           0 :                 return 0.0;
    4390             :             }
    4391             :         }
    4392             : 
    4393             :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4394     7020329 :         return df->glycols(GlycolIndex)->getConductivity(state, Temperature, CalledFrom);
    4395             :     }
    4396             : 
    4397             :     //*****************************************************************************
    4398             : 
    4399     7035539 :     Real64 GlycolProps::getViscosity(EnergyPlusData &state,
    4400             :                                      Real64 const Temp,                // actual temperature given as input
    4401             :                                      std::string_view const CalledFrom // routine this function was called from (error messages)
    4402             :     )
    4403             :     {
    4404             : 
    4405             :         // FUNCTION INFORMATION:
    4406             :         //       AUTHOR         Rick Strand
    4407             :         //       DATE WRITTEN   June 2004
    4408             : 
    4409             :         // PURPOSE OF THIS FUNCTION:
    4410             :         // This subroutine finds the viscosity for glycols at different
    4411             :         // temperatures.
    4412             : 
    4413             :         // METHODOLOGY EMPLOYED:
    4414             :         // Linear interpolation is used to find viscosity values for a
    4415             :         // particular glycol (water or some mixture of water and another fluid).
    4416             :         // Warnings are given if the point is not clearly in the bounds of the
    4417             :         // glycol data.  The value returned is the appropriate limit value.
    4418             : 
    4419             :         // REFERENCES:
    4420             :         // GetFluidPropertiesData: subroutine enforces that temperatures in
    4421             :         // all temperature lists are entered in ascending order.
    4422             : 
    4423             :         // Return value
    4424             :         Real64 Visc; // Value for function
    4425             : 
    4426             :         // FUNCTION PARAMETERS:
    4427             :         static constexpr std::string_view routineName = "GlycolProps::getViscosity";
    4428             : 
    4429             :         // FUNCTION LOCAL VARIABLE DECLARATIONS:
    4430     7035539 :         GlycolError error = GlycolError::Invalid;
    4431             : 
    4432     7035539 :         auto &df = state.dataFluidProps;
    4433             : 
    4434             :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4435     7035539 :         if (!this->ViscDataPresent) {
    4436           0 :             ShowSevereError(state, format("{}: viscosity data not found for glycol \"{}\", called from {}", routineName, this->Name, CalledFrom));
    4437           0 :             ShowFatalError(state, "Program terminates due to preceding condition.");
    4438           0 :             return 0.0;
    4439             :         }
    4440             : 
    4441             :         // Now determine the value of specific heat using interpolation
    4442     7035539 :         if (Temp < this->ViscLowTempValue) { // Temperature too low
    4443           0 :             error = GlycolError::ViscosityLow;
    4444           0 :             Visc = this->ViscValues(this->ViscLowTempIndex);
    4445     7035539 :         } else if (Temp > this->ViscHighTempValue) { // Temperature too high
    4446           0 :             error = GlycolError::ViscosityHigh;
    4447           0 :             Visc = this->ViscValues(this->ViscHighTempIndex);
    4448             :         } else { // Temperature somewhere between the lowest and highest value
    4449             : #ifdef PERFORMANCE_OPT
    4450             :             if (Temp < this->ViscTemps(this->LoViscTempIdxLast) || Temp > this->ViscTemps(this->LoViscTempIdxLast + 1)) {
    4451             :                 this->LoViscTempIdxLast = FindArrayIndex(Temp, this->ViscTemps, 1, this->NumViscTempPoints);
    4452             :             }
    4453             :             Visc = this->ViscValues(this->LoViscTempIdxLast) +
    4454             :                    (Temp - this->ViscTemps(this->LoViscTempIdxLast)) * this->ViscTempRatios(this->LoViscTempIdxLast);
    4455             : #else  // !PERFORMANCE_OPT
    4456     7035539 :             int LoTempIndex = FindArrayIndex(Temp, this->ViscTemps, 1, this->NumViscTempPoints);
    4457     7035539 :             Real64 TempInterpRatio = (Temp - this->ViscTemps(LoTempIndex)) / (this->ViscTemps(LoTempIndex + 1) - this->ViscTemps(LoTempIndex));
    4458     7035539 :             Visc = this->ViscValues(LoTempIndex) + TempInterpRatio * (this->ViscValues(LoTempIndex + 1) - this->ViscValues(LoTempIndex));
    4459             : #endif // PERFORMANCE_OPT
    4460             :         }
    4461             : 
    4462             :         // Error handling
    4463     7035539 :         if (!state.dataGlobal->WarmupFlag && error != GlycolError::Invalid) {
    4464           0 :             df->glycolErrorLimits[(int)error] = ++this->errors[(int)error].count;
    4465             : 
    4466           0 :             if (error == GlycolError::ViscosityHigh) {
    4467           0 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4468           0 :                     ShowWarningMessage(state,
    4469           0 :                                        format("{}: Temperature is out of range (too low) for fluid [{}] viscosity **", routineName, this->Name));
    4470           0 :                     ShowContinueError(state,
    4471           0 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4472             :                                              CalledFrom,
    4473             :                                              Temp,
    4474           0 :                                              this->ViscLowTempValue,
    4475           0 :                                              this->ViscHighTempValue));
    4476           0 :                     ShowContinueErrorTimeStamp(state, "");
    4477             :                 }
    4478             : 
    4479           0 :                 ShowRecurringWarningErrorAtEnd(state,
    4480           0 :                                                format("{}: Temperature out of range (too low) for fluid [{}] viscosity **", routineName, this->Name),
    4481           0 :                                                this->errors[(int)GlycolError::ViscosityLow].index,
    4482             :                                                Temp,
    4483             :                                                "{C}");
    4484             :             }
    4485             : 
    4486           0 :             else if (error == GlycolError::ViscosityHigh) {
    4487           0 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4488           0 :                     ShowWarningMessage(state,
    4489           0 :                                        format("{}: Temperature is out of range (too high) for fluid [{}] viscosity **", routineName, this->Name));
    4490           0 :                     ShowContinueError(state,
    4491           0 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4492             :                                              CalledFrom,
    4493             :                                              Temp,
    4494           0 :                                              this->ViscLowTempValue,
    4495           0 :                                              this->ViscHighTempValue));
    4496           0 :                     ShowContinueErrorTimeStamp(state, "");
    4497             :                 }
    4498             : 
    4499           0 :                 ShowRecurringWarningErrorAtEnd(state,
    4500           0 :                                                format("{}: Temperature out of range (too high) for fluid [{}] viscosity **", routineName, this->Name),
    4501           0 :                                                this->errors[(int)GlycolError::ViscosityHigh].index,
    4502             :                                                Temp,
    4503             :                                                "{C}");
    4504             :             }
    4505             :         }
    4506             : 
    4507     7035539 :         return Visc;
    4508             :     } // GlycolProps::getViscosity()
    4509             : 
    4510     7035539 :     Real64 GetViscosityGlycol(EnergyPlusData &state,
    4511             :                               std::string_view const glycolName, // carries in substance name
    4512             :                               Real64 const Temperature,          // actual temperature given as input
    4513             :                               int &GlycolIndex,                  // Index to Glycol Properties
    4514             :                               std::string_view const CalledFrom  // routine this function was called from (error messages)
    4515             :     )
    4516             :     {
    4517             :         // Wrapper for GlycolProps::getViscosity()
    4518     7035539 :         auto &df = state.dataFluidProps;
    4519             : 
    4520     7035539 :         if (GlycolIndex == 0) {
    4521           0 :             if ((GlycolIndex = GetGlycolNum(state, glycolName)) == 0) {
    4522           0 :                 ShowSevereError(state, format("Glycol \"{}\" not found, called from: {}", glycolName, CalledFrom));
    4523           0 :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    4524           0 :                 return 0.0;
    4525             :             }
    4526             :         }
    4527             : 
    4528             :         // Now determine the value of specific heat using interpolation
    4529     7035539 :         return df->glycols(GlycolIndex)->getViscosity(state, Temperature, CalledFrom);
    4530             :     }
    4531             : 
    4532             :     //*****************************************************************************
    4533             : 
    4534        7492 :     int GetRefrigNum(EnergyPlusData &state, std::string_view const refrigName) // carries in substance name
    4535             :     {
    4536             :         // FUNCTION INFORMATION:
    4537             :         //       AUTHOR         Rick Strand
    4538             :         //       DATE WRITTEN   May 2000
    4539             :         //       MODIFIED       Simon Rees (June 2002)
    4540             : 
    4541             :         // PURPOSE OF THIS FUNCTION:
    4542             :         // This function simply determines the index of the refrigerant named
    4543             :         // in the input variable to this routine within the derived type.
    4544        7492 :         auto &df = state.dataFluidProps;
    4545             : 
    4546             :         auto found =
    4547       22362 :             std::find_if(df->refrigs.begin(), df->refrigs.end(), [refrigName](RefrigProps const *refrig) { return refrig->Name == refrigName; });
    4548             : 
    4549        7492 :         if (found == df->refrigs.end()) return 0;
    4550             : 
    4551        7463 :         int refrigNum = (found - df->refrigs.begin()) + 1;
    4552        7463 :         df->refrigs(refrigNum)->used = true;
    4553        7463 :         return refrigNum;
    4554             :     }
    4555             : 
    4556        7307 :     RefrigProps *GetRefrig(EnergyPlusData &state, std::string_view const refrigName)
    4557             :     {
    4558        7307 :         auto &df = state.dataFluidProps;
    4559        7307 :         int refrigNum = GetRefrigNum(state, refrigName);
    4560        7307 :         return (refrigNum > 0) ? df->refrigs(refrigNum) : nullptr;
    4561             :     }
    4562             : 
    4563             :     //*****************************************************************************
    4564             : 
    4565       54420 :     int GetGlycolNum(EnergyPlusData &state, std::string_view const glycolName) // carries in substance name
    4566             :     {
    4567             :         // FUNCTION INFORMATION:
    4568             :         //       AUTHOR         Rick Strand
    4569             :         //       DATE WRITTEN   May 2000
    4570             :         //       MODIFIED       Simon Rees (June 2002)
    4571             : 
    4572             :         // PURPOSE OF THIS FUNCTION:
    4573             :         // This function simply determines the index of the glycol named
    4574             :         // in the input variable to this routine within the derived type.
    4575       54420 :         auto &df = state.dataFluidProps;
    4576             : 
    4577             :         auto found =
    4578      108071 :             std::find_if(df->glycols.begin(), df->glycols.end(), [glycolName](GlycolProps const *glycol) { return glycol->Name == glycolName; });
    4579             : 
    4580       54420 :         if (found == df->glycols.end()) return 0;
    4581             : 
    4582       53596 :         int glycolNum = (found - df->glycols.begin()) + 1;
    4583       53596 :         df->glycols(glycolNum)->used = true;
    4584       53596 :         return glycolNum;
    4585             :     }
    4586             : 
    4587         824 :     GlycolProps *GetGlycol(EnergyPlusData &state, std::string_view const glycolName)
    4588             :     {
    4589         824 :         auto &df = state.dataFluidProps;
    4590         824 :         int glycolNum = GetGlycolNum(state, glycolName);
    4591         824 :         return (glycolNum > 0) ? df->glycols(glycolNum) : nullptr;
    4592             :     }
    4593             : 
    4594        2627 :     int GetGlycolRawNum(EnergyPlusData &state, std::string_view const glycolRawName) // carries in substance name
    4595             :     {
    4596        2627 :         auto const &df = state.dataFluidProps;
    4597             : 
    4598        2627 :         auto found = std::find_if(df->glycolsRaw.begin(), df->glycolsRaw.end(), [glycolRawName](GlycolRawProps const *glycolRaw) {
    4599        2896 :             return glycolRaw->Name == glycolRawName;
    4600             :         });
    4601             : 
    4602        2627 :         if (found == df->glycolsRaw.end()) return 0;
    4603             : 
    4604         235 :         int glycolRawNum = (found - df->glycolsRaw.begin()) + 1;
    4605         235 :         return glycolRawNum;
    4606             :     }
    4607             : 
    4608        2616 :     GlycolRawProps *GetGlycolRaw(EnergyPlusData &state, std::string_view const glycolRawName)
    4609             :     {
    4610        2616 :         auto &df = state.dataFluidProps;
    4611        2616 :         int glycolRawNum = GetGlycolRawNum(state, glycolRawName);
    4612        2616 :         return (glycolRawNum > 0) ? df->glycolsRaw(glycolRawNum) : nullptr;
    4613             :     }
    4614             : 
    4615             :     //*****************************************************************************
    4616             : 
    4617       62152 :     std::string GetGlycolNameByIndex(EnergyPlusData &state, int const Idx) // carries in substance index
    4618             :     {
    4619             :         // FUNCTION INFORMATION:
    4620             :         //       AUTHOR         Edwin Lee
    4621             :         //       DATE WRITTEN   May 2009
    4622             : 
    4623             :         // PURPOSE OF THIS FUNCTION:
    4624             :         // This function simply returns the glycol name by index from the
    4625             :         // GlycolData data structure.  This is needed to expose the name
    4626             :         // as the data structure is private.
    4627             :         // This is used by plant equipment to pass in both the proper index
    4628             :         // and the proper name when calling glycol routines.  Thus, the index
    4629             :         // is already known, and the input is assumed to be found.
    4630             : 
    4631             :         // METHODOLOGY EMPLOYED:
    4632             :         // Just checks to see whether or not the glycol index is valid
    4633             :         // and if so, the function returns the name.  If not, it returns ' '
    4634             : 
    4635             :         // Check to see if this glycol shows up in the glycol data
    4636             :         //  ArrayLength = SIZE(GlycolData)
    4637             : 
    4638       62152 :         auto &df = state.dataFluidProps;
    4639       62152 :         if (Idx > 0 && Idx <= df->glycols.isize()) {
    4640       26955 :             return df->glycols(Idx)->Name;
    4641             :         } else { // return blank - error checking in calling proceedure
    4642       35197 :             return "";
    4643             :         }
    4644             :     }
    4645             : 
    4646             :     //*****************************************************************************
    4647             : 
    4648   576973611 :     int FindArrayIndex(Real64 const Value,           // Value to be placed/found within the array of values
    4649             :                        Array1D<Real64> const &Array, // Array of values in ascending order
    4650             :                        int const LowBound,           // Valid values lower bound (set by calling program)
    4651             :                        int const UpperBound          // Valid values upper bound (set by calling program)
    4652             :     )
    4653             :     {
    4654             :         // FUNCTION INFORMATION:
    4655             :         //       AUTHOR         Rick Strand
    4656             :         //       DATE WRITTEN   May 2000
    4657             :         //       MODIFIED       Simon Rees (May 2002)
    4658             :         //       RE-ENGINEERED  Autodesk (Nov 2013) (performance tuned on C++)
    4659             : 
    4660             :         // PURPOSE OF THIS FUNCTION:
    4661             :         // This generic function simply finds the points in an array between
    4662             :         // which a single value is found.  The returned value is the index of
    4663             :         // the low point.
    4664             : 
    4665             :         // METHODOLOGY EMPLOYED:
    4666             :         // Straight interval halving. It is assumed that the values in the array
    4667             :         // appear in ascending order. If the value is below that in the supplied
    4668             :         // data array a zero index is returned. If the value is above that in the
    4669             :         // supplied data array, the max index is returned. This allows some error
    4670             :         // checking in the calling routine.
    4671             : 
    4672             :         // Autodesk:Tuned Profiling hot spot: Slightly slower when inlined
    4673             : 
    4674             :         // Bit shifting is substantially faster than /2 at least on GCC even with high optimization
    4675             :         // Linear indexing used to assure we are bit shifting positive values where behavior is assured
    4676             :         // std::lower_bound was 4x slower for the small (~100) array sizes seen in EnergyPlus use
    4677             :         typedef Array1D<Real64>::size_type size_type;
    4678   576973611 :         int const l(Array.l());
    4679   576973611 :         assert(LowBound >= l);
    4680   576973611 :         assert(LowBound <= UpperBound);
    4681   576973611 :         assert(UpperBound <= Array.u());
    4682   576973611 :         assert(!Array.empty()); // Empty arrays are not currently supported
    4683   576973611 :         assert(l > 0);          // Returning 0 for Value smaller than lowest doesn't make sense if l() <= 0
    4684   576973611 :         size_type beg(LowBound - l);
    4685   576973611 :         if (Value < Array[beg]) {
    4686           0 :             return 0;
    4687             :         } else {
    4688   576973611 :             size_type end(UpperBound - l);
    4689   576973611 :             if (Value > Array[end]) {
    4690           0 :                 return UpperBound;
    4691             :             } else { // Binary search
    4692             :                 size_type mid;
    4693  4090904883 :                 while (beg + 1 < end) {
    4694  3513931272 :                     mid = ((beg + end) >> 1);
    4695  3513931272 :                     (Value > Array[mid] ? beg : end) = mid;
    4696             :                 }
    4697   576973611 :                 return l + beg;
    4698             :             }
    4699             :         }
    4700             :     }
    4701             : 
    4702      989955 :     int FindArrayIndex(Real64 const Value,          // Value to be placed/found within the array of values
    4703             :                        Array1D<Real64> const &Array // Array of values in ascending order
    4704             :     )
    4705             :     {
    4706             :         // FUNCTION INFORMATION:
    4707             :         //       AUTHOR         Rick Strand
    4708             :         //       DATE WRITTEN   May 2000
    4709             :         //       MODIFIED       Simon Rees (May 2002)
    4710             :         //       RE-ENGINEERED  Autodesk (Nov 2013) (performance tuned on C++)
    4711             : 
    4712             :         // PURPOSE OF THIS FUNCTION:
    4713             :         // This generic function simply finds the points in an array between
    4714             :         // which a single value is found.  The returned value is the index of
    4715             :         // the low point.
    4716             : 
    4717             :         // METHODOLOGY EMPLOYED:
    4718             :         // Straight interval halving. It is assumed that the values in the array
    4719             :         // appear in ascending order. If the value is below that in the supplied
    4720             :         // data array a zero index is returned. If the value is above that in the
    4721             :         // supplied data array, the max index is returned. This allows some error
    4722             :         // checking in the calling routine.
    4723             : 
    4724             :         // Autodesk:Tuned Profiling hot spot: Slightly slower when inlined
    4725             : 
    4726             :         // Bit shifting is substantially faster than /2 at least on GCC even with high optimization
    4727             :         // Linear indexing used to assure we are bit shifting positive values where behavior is assured
    4728             :         // std::lower_bound was 4x slower for the small (~100) array sizes seen in EnergyPlus use
    4729             :         typedef Array1D<Real64>::size_type size_type;
    4730      989955 :         assert(!Array.empty()); // Empty arrays are not currently supported
    4731      989955 :         assert(Array.l() > 0);  // Returning 0 for Value smaller than lowest doesn't make sense if l() <= 0
    4732      989955 :         if (Value < Array[0]) {
    4733        5262 :             return 0;
    4734             :         } else {
    4735      984693 :             size_type end(Array.size() - 1u);
    4736      984693 :             if (Value > Array[end]) {
    4737        4842 :                 return Array.u();
    4738             :             } else { // Binary search
    4739      979851 :                 size_type beg(0), mid;
    4740     4919623 :                 while (beg + 1 < end) {
    4741     3939772 :                     mid = ((beg + end) >> 1);
    4742     3939772 :                     (Value > Array[mid] ? beg : end) = mid;
    4743             :                 }
    4744      979851 :                 return Array.l() + beg;
    4745             :             }
    4746             :         }
    4747             :     }
    4748             : 
    4749             :     //*****************************************************************************
    4750             : 
    4751   193443628 :     Real64 GetInterpolatedSatProp(EnergyPlusData &state,
    4752             :                                   Real64 const Temperature,          // Saturation Temp.
    4753             :                                   Array1D<Real64> const &PropTemps,  // Array of temperature at which props are available
    4754             :                                   Array1D<Real64> const &LiqProp,    // Array of saturated liquid properties
    4755             :                                   Array1D<Real64> const &VapProp,    // Array of saturatedvapour properties
    4756             :                                   Real64 const Quality,              // Quality
    4757             :                                   std::string_view const CalledFrom, // routine this function was called from (error messages)
    4758             :                                   int const LowBound,                // Valid values lower bound (set by calling program)
    4759             :                                   int const UpperBound               // Valid values upper bound (set by calling program)
    4760             :     )
    4761             :     {
    4762             : 
    4763             :         // FUNCTION INFORMATION:
    4764             :         //       AUTHOR         Simon Rees
    4765             :         //       DATE WRITTEN   May 2002
    4766             : 
    4767             :         // PURPOSE OF THIS FUNCTION:
    4768             :         // This generic function performs an interpolation on the supplied saturated
    4769             :         // liquid and vapor data to find the saturated property value at a given
    4770             :         // temperature and quality. This function is used by all the functions that
    4771             :         // get saturated property values.
    4772             : 
    4773             :         // METHODOLOGY EMPLOYED:
    4774             :         // Index of arrays either side of given temperature is found using FindArrayIndex.
    4775             :         // Double linear interpolation is used to first find property values at the given
    4776             :         // quality bounding the required temperature. These values are interpolated in the
    4777             :         // temperature domain to find the final value.
    4778             : 
    4779             :         // Return value
    4780             :         Real64 ReturnValue;
    4781             : 
    4782             :         // error counters and dummy string
    4783   193443628 :         bool ErrorFlag(false); // error flag for current call
    4784             : 
    4785   193443628 :         int const LoTempIndex = FindArrayIndex(Temperature, PropTemps, LowBound, UpperBound); // array index for temp above input temp
    4786             : 
    4787   193443628 :         if (LoTempIndex == 0) {
    4788           0 :             ReturnValue = LiqProp(LowBound) + Quality * (VapProp(LowBound) - LiqProp(LowBound));
    4789           0 :             ErrorFlag = true;
    4790   193443628 :         } else if (LoTempIndex >= UpperBound) {
    4791           0 :             ReturnValue = LiqProp(UpperBound) + Quality * (VapProp(UpperBound) - LiqProp(UpperBound));
    4792           0 :             ErrorFlag = true;
    4793             :         } else {
    4794   193443628 :             int const HiTempIndex = LoTempIndex + 1; // array index for temp below input temp
    4795             : 
    4796             :             // find adjacent property values at the given quality
    4797   193443628 :             Real64 const LiqProp_Lo = LiqProp(LoTempIndex);
    4798   193443628 :             Real64 const LoSatProp = LiqProp_Lo + Quality * (VapProp(LoTempIndex) - LiqProp_Lo); // Sat. prop. at lower temp & given quality
    4799             : 
    4800   193443628 :             Real64 const LiqProp_Hi = LiqProp(HiTempIndex);
    4801   193443628 :             Real64 const HiSatProp = LiqProp_Hi + Quality * (VapProp(HiTempIndex) - LiqProp_Hi); // Sat. prop. at higher temp & given quality
    4802             : 
    4803             :             // find interpolation ratio in temperature direction
    4804   193443628 :             Real64 const PropTemps_Lo = PropTemps(LoTempIndex);
    4805   193443628 :             Real64 const TempInterpRatio = (Temperature - PropTemps_Lo) / (PropTemps(HiTempIndex) - PropTemps_Lo);
    4806             : 
    4807             :             // apply final linear interpolation
    4808   193443628 :             ReturnValue = LoSatProp + TempInterpRatio * (HiSatProp - LoSatProp);
    4809             :         }
    4810             : 
    4811   193443628 :         if (ErrorFlag && (CalledFrom != "ReportAndTestRefrigerants")) {
    4812           0 :             auto &df = state.dataFluidProps;
    4813             : 
    4814           0 :             ++df->TempRangeErrCountGetInterpolatedSatProp;
    4815             :             // send warning
    4816           0 :             if (df->TempRangeErrCountGetInterpolatedSatProp <= df->RefrigErrorLimitTest) {
    4817           0 :                 ShowWarningError(state, "GetInterpolatedSatProp: Saturation temperature for interpolation is out of range of data supplied: **");
    4818           0 :                 ShowContinueErrorTimeStamp(state, fmt::format(" Called from:{}", CalledFrom));
    4819           0 :                 ShowContinueError(state, format("Refrigerant temperature = {:.2R}", Temperature));
    4820           0 :                 ShowContinueError(state, format("Returned saturated property value = {:.3R}", ReturnValue));
    4821             :             } else {
    4822           0 :                 ShowRecurringWarningErrorAtEnd(state,
    4823             :                                                "GetInterpolatedSatProp: Refrigerant temperature for interpolation out of range error",
    4824           0 :                                                df->TempRangeErrIndexGetInterpolatedSatProp,
    4825             :                                                Temperature,
    4826             :                                                "{C}");
    4827             :             }
    4828             :         }
    4829             : 
    4830   193443628 :         return ReturnValue;
    4831             :     }
    4832             : 
    4833             :     //*****************************************************************************
    4834             : 
    4835          26 :     bool CheckFluidPropertyName(EnergyPlusData const &state,
    4836             :                                 std::string const &name) // Name from input(?) to be checked against valid FluidPropertyNames
    4837             :     {
    4838             : 
    4839             :         // FUNCTION INFORMATION:
    4840             :         //       AUTHOR         Linda K. Lawrie
    4841             :         //       DATE WRITTEN   October 2002
    4842             : 
    4843             :         // PURPOSE OF THIS FUNCTION:
    4844             :         // This function checks on an input fluid property to make sure it is valid.
    4845          26 :         auto const &df = state.dataFluidProps;
    4846             : 
    4847          54 :         auto foundRefrig = std::find_if(df->refrigs.begin(), df->refrigs.end(), [name](RefrigProps const *refrig) { return refrig->Name == name; });
    4848          26 :         if (foundRefrig != df->refrigs.end()) return true;
    4849             : 
    4850          78 :         auto foundGlycol = std::find_if(df->glycols.begin(), df->glycols.end(), [name](GlycolProps const *glycol) { return glycol->Name == name; });
    4851          26 :         if (foundGlycol != df->glycols.end()) return true;
    4852             : 
    4853           0 :         return false;
    4854             :     }
    4855             : 
    4856         794 :     void ReportOrphanFluids(EnergyPlusData &state)
    4857             :     {
    4858             : 
    4859             :         // SUBROUTINE INFORMATION:
    4860             :         //       AUTHOR         Linda Lawrie
    4861             :         //       DATE WRITTEN   March 2010
    4862             : 
    4863             :         // PURPOSE OF THIS SUBROUTINE:
    4864             :         // In response to CR8008, report orphan (unused) fluid items.
    4865             : 
    4866             :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    4867         794 :         bool NeedOrphanMessage = true;
    4868         794 :         int NumUnusedRefrig = 0;
    4869             : 
    4870         794 :         auto const &df = state.dataFluidProps;
    4871             : 
    4872        1617 :         for (auto const *refrig : df->refrigs) {
    4873         823 :             if (refrig->used) continue;
    4874         761 :             if (refrig->Name == "STEAM") continue;
    4875           0 :             if (NeedOrphanMessage && state.dataGlobal->DisplayUnusedObjects) {
    4876           0 :                 ShowWarningError(state, "The following fluid names are \"Unused Fluids\".  These fluids are in the idf");
    4877           0 :                 ShowContinueError(state, " file but are never obtained by the simulation and therefore are NOT used.");
    4878           0 :                 NeedOrphanMessage = false;
    4879             :             }
    4880           0 :             if (state.dataGlobal->DisplayUnusedObjects) {
    4881           0 :                 ShowMessage(state, format("Refrigerant={}", refrig->Name));
    4882             :             } else {
    4883           0 :                 ++NumUnusedRefrig;
    4884             :             }
    4885             :         }
    4886             : 
    4887         794 :         int NumUnusedGlycol = 0;
    4888             : 
    4889        1616 :         for (auto const *glycol : df->glycols) {
    4890         822 :             if (glycol->used) continue;
    4891           1 :             if (glycol->Name == "WATER") continue;
    4892           1 :             if (glycol->Name == "ETHYLENEGLYCOL") continue;
    4893           1 :             if (glycol->Name == "PROPYLENEGLYCOL") continue;
    4894           1 :             if (NeedOrphanMessage && state.dataGlobal->DisplayUnusedObjects) {
    4895           0 :                 ShowWarningError(state, "The following fluid names are \"Unused Fluids\".  These fluids are in the idf");
    4896           0 :                 ShowContinueError(state, " file but are never obtained by the simulation and therefore are NOT used.");
    4897           0 :                 NeedOrphanMessage = false;
    4898             :             }
    4899           1 :             if (state.dataGlobal->DisplayUnusedObjects) {
    4900           0 :                 ShowMessage(state, format("Glycol={}", glycol->Name));
    4901             :             } else {
    4902           1 :                 ++NumUnusedGlycol;
    4903             :             }
    4904             :         }
    4905             : 
    4906         794 :         if (NumUnusedRefrig > 0 || NumUnusedGlycol > 0) {
    4907           1 :             if (NumUnusedRefrig > 0) ShowMessage(state, format("There are {} unused refrigerants in input.", NumUnusedRefrig));
    4908           1 :             if (NumUnusedGlycol > 0) ShowMessage(state, format("There are {} unused glycols in input.", NumUnusedGlycol));
    4909           1 :             ShowMessage(state, "Use Output:Diagnostics,DisplayUnusedObjects; to see them.");
    4910             :         }
    4911         794 :     }
    4912             : 
    4913           0 :     void GetFluidDensityTemperatureLimits(EnergyPlusData &state, int const FluidIndex, Real64 &MinTempLimit, Real64 &MaxTempLimit)
    4914             :     {
    4915           0 :         if (FluidIndex > 0) {
    4916           0 :             auto const &df = state.dataFluidProps->glycols(FluidIndex);
    4917           0 :             MinTempLimit = df->RhoLowTempValue;
    4918           0 :             MaxTempLimit = df->RhoHighTempValue;
    4919             :         }
    4920           0 :     }
    4921             : 
    4922           0 :     void GetFluidSpecificHeatTemperatureLimits(EnergyPlusData &state, int const FluidIndex, Real64 &MinTempLimit, Real64 &MaxTempLimit)
    4923             :     {
    4924           0 :         if (FluidIndex > 0) {
    4925           0 :             auto const &df = state.dataFluidProps->glycols(FluidIndex);
    4926           0 :             MinTempLimit = df->CpLowTempValue;
    4927           0 :             MaxTempLimit = df->CpHighTempValue;
    4928             :         }
    4929           0 :     }
    4930             : 
    4931           2 :     GlycolAPI::GlycolAPI(EnergyPlusData &state, std::string const &glycolName)
    4932             :     {
    4933           2 :         this->glycolName = EnergyPlus::Util::makeUPPER(glycolName);
    4934           2 :         this->glycolIndex = 0;
    4935           2 :         this->cf = "GlycolAPI:Instance";
    4936           2 :         if (this->glycolName != "WATER") {
    4937           0 :             EnergyPlus::ShowFatalError(state, "Can only do water right now");
    4938             :         }
    4939           2 :     }
    4940       42435 :     Real64 GlycolAPI::specificHeat(EnergyPlusData &state, Real64 temperature)
    4941             :     {
    4942       42435 :         return FluidProperties::GetSpecificHeatGlycol(state, this->glycolName, temperature, this->glycolIndex, this->cf);
    4943             :     }
    4944         195 :     Real64 GlycolAPI::density(EnergyPlusData &state, Real64 temperature)
    4945             :     {
    4946         195 :         return FluidProperties::GetDensityGlycol(state, this->glycolName, temperature, this->glycolIndex, this->cf);
    4947             :     }
    4948           0 :     Real64 GlycolAPI::conductivity(EnergyPlusData &state, Real64 temperature)
    4949             :     {
    4950           0 :         return FluidProperties::GetConductivityGlycol(state, this->glycolName, temperature, this->glycolIndex, this->cf);
    4951             :     }
    4952           0 :     Real64 GlycolAPI::viscosity(EnergyPlusData &state, Real64 temperature)
    4953             :     {
    4954           0 :         return FluidProperties::GetViscosityGlycol(state, this->glycolName, temperature, this->glycolIndex, this->cf);
    4955             :     }
    4956             : 
    4957           0 :     RefrigerantAPI::RefrigerantAPI(EnergyPlusData &state, std::string const &refrigName)
    4958             :     {
    4959           0 :         this->rName = EnergyPlus::Util::makeUPPER(refrigName);
    4960           0 :         this->rIndex = 0;
    4961           0 :         this->cf = "RefrigerantAPI:Instance";
    4962           0 :         if (this->rName != "STEAM") {
    4963           0 :             EnergyPlus::ShowFatalError(state, "Can only do steam right now");
    4964             :         }
    4965           0 :     }
    4966           0 :     Real64 RefrigerantAPI::saturationPressure(EnergyPlusData &state, Real64 temperature)
    4967             :     {
    4968           0 :         return FluidProperties::GetSatPressureRefrig(state, this->rName, temperature, this->rIndex, this->cf);
    4969             :     }
    4970           0 :     Real64 RefrigerantAPI::saturationTemperature(EnergyPlusData &state, Real64 pressure)
    4971             :     {
    4972           0 :         return FluidProperties::GetSatTemperatureRefrig(state, this->rName, pressure, this->rIndex, this->cf);
    4973             :     }
    4974           0 :     Real64 RefrigerantAPI::saturatedEnthalpy(EnergyPlusData &state, Real64 temperature, Real64 quality)
    4975             :     {
    4976           0 :         return FluidProperties::GetSatEnthalpyRefrig(state, this->rName, temperature, quality, this->rIndex, this->cf);
    4977             :     }
    4978           0 :     Real64 RefrigerantAPI::saturatedDensity(EnergyPlusData &state, Real64 temperature, Real64 quality)
    4979             :     {
    4980           0 :         return FluidProperties::GetSatDensityRefrig(state, this->rName, temperature, quality, this->rIndex, this->cf);
    4981             :     }
    4982           0 :     Real64 RefrigerantAPI::saturatedSpecificHeat(EnergyPlusData &state, Real64 temperature, Real64 quality)
    4983             :     {
    4984           0 :         return FluidProperties::GetSatSpecificHeatRefrig(state, this->rName, temperature, quality, this->rIndex, this->cf);
    4985             :     }
    4986           0 :     Real64 RefrigerantAPI::superHeatedEnthalpy(EnergyPlusData &state, Real64 temperature, Real64 pressure)
    4987             :     {
    4988           0 :         return FluidProperties::GetSupHeatEnthalpyRefrig(state, this->rName, temperature, pressure, this->rIndex, this->cf);
    4989             :     }
    4990           0 :     Real64 RefrigerantAPI::superHeatedPressure(EnergyPlusData &state, Real64 temperature, Real64 enthalpy)
    4991             :     {
    4992           0 :         return FluidProperties::GetSupHeatPressureRefrig(state, this->rName, temperature, enthalpy, this->rIndex, this->cf);
    4993             :     }
    4994           0 :     Real64 RefrigerantAPI::superHeatedDensity(EnergyPlusData &state, Real64 temperature, Real64 pressure)
    4995             :     {
    4996           0 :         return FluidProperties::GetSupHeatDensityRefrig(state, this->rName, temperature, pressure, this->rIndex, this->cf);
    4997             :     }
    4998             : 
    4999             : #ifdef UNUSED_FLUID_PROPS
    5000             :     static constexpr std::array<std::array<Real64, DefaultNumSteamSuperheatedTemps>, DefaultNumSteamSuperheatedPressure>
    5001             :         DefaultSteamSuperheatedEnthalpyDataTable = {
    5002             :             {{2501000.0, 2503000.0, 2510000.0, 2520000.0, 2529000.0, 2538000.0, 2548000.0, 2557000.0, 2566000.0, 2576000.0, 2585000.0, 2595000.0,
    5003             :               2604000.0, 2613000.0, 2623000.0, 2632000.0, 2636000.0, 2640000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2658000.0, 2662000.0,
    5004             :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2689000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5005             :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    5006             :               2721000.0, 2723000.0, 2725000.0, 2727000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    5007             :               2744000.0, 2746000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    5008             :               2788000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    5009             :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5010             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5011             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5012             :              {0.0,       2503000.0, 2510000.0, 2520000.0, 2529000.0, 2538000.0, 2548000.0, 2557000.0, 2566000.0, 2576000.0, 2585000.0, 2595000.0,
    5013             :               2604000.0, 2613000.0, 2623000.0, 2632000.0, 2636000.0, 2640000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2658000.0, 2662000.0,
    5014             :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2689000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5015             :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    5016             :               2721000.0, 2723000.0, 2725000.0, 2727000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    5017             :               2744000.0, 2746000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    5018             :               2788000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    5019             :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5020             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5021             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5022             :              {0.0,       0.0,       2510000.0, 2519000.0, 2529000.0, 2538000.0, 2548000.0, 2557000.0, 2566000.0, 2576000.0, 2585000.0, 2594000.0,
    5023             :               2604000.0, 2613000.0, 2623000.0, 2632000.0, 2636000.0, 2640000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2658000.0, 2662000.0,
    5024             :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2689000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5025             :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    5026             :               2721000.0, 2723000.0, 2725000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    5027             :               2744000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    5028             :               2788000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    5029             :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5030             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5031             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5032             :              {0.0,       0.0,       0.0,       2519000.0, 2529000.0, 2538000.0, 2547000.0, 2557000.0, 2566000.0, 2576000.0, 2585000.0, 2594000.0,
    5033             :               2604000.0, 2613000.0, 2623000.0, 2632000.0, 2636000.0, 2639000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2658000.0, 2662000.0,
    5034             :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2689000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5035             :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    5036             :               2721000.0, 2723000.0, 2725000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    5037             :               2744000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    5038             :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    5039             :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5040             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5041             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5042             :              {0.0,       0.0,       0.0,       0.0,       2528000.0, 2538000.0, 2547000.0, 2557000.0, 2566000.0, 2575000.0, 2585000.0, 2594000.0,
    5043             :               2604000.0, 2613000.0, 2622000.0, 2632000.0, 2636000.0, 2639000.0, 2643000.0, 2647000.0, 2651000.0, 2654000.0, 2658000.0, 2662000.0,
    5044             :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5045             :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    5046             :               2721000.0, 2723000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    5047             :               2744000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    5048             :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    5049             :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5050             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5051             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5052             :              {0.0,       0.0,       0.0,       0.0,       0.0,       2537000.0, 2547000.0, 2556000.0, 2566000.0, 2575000.0, 2585000.0, 2594000.0,
    5053             :               2603000.0, 2613000.0, 2622000.0, 2632000.0, 2635000.0, 2639000.0, 2643000.0, 2647000.0, 2651000.0, 2654000.0, 2658000.0, 2662000.0,
    5054             :               2666000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5055             :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    5056             :               2721000.0, 2723000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    5057             :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    5058             :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    5059             :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5060             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5061             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5062             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2547000.0, 2556000.0, 2566000.0, 2575000.0, 2584000.0, 2594000.0,
    5063             :               2603000.0, 2613000.0, 2622000.0, 2632000.0, 2635000.0, 2639000.0, 2643000.0, 2647000.0, 2650000.0, 2654000.0, 2658000.0, 2662000.0,
    5064             :               2666000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5065             :               2698000.0, 2700000.0, 2702000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    5066             :               2721000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2741000.0,
    5067             :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    5068             :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    5069             :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5070             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5071             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5072             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2556000.0, 2565000.0, 2575000.0, 2584000.0, 2594000.0,
    5073             :               2603000.0, 2612000.0, 2622000.0, 2631000.0, 2635000.0, 2639000.0, 2643000.0, 2646000.0, 2650000.0, 2654000.0, 2658000.0, 2662000.0,
    5074             :               2665000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5075             :               2698000.0, 2700000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    5076             :               2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2739000.0, 2741000.0,
    5077             :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2783000.0,
    5078             :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    5079             :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2860000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5080             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5081             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5082             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2565000.0, 2574000.0, 2584000.0, 2593000.0,
    5083             :               2603000.0, 2612000.0, 2622000.0, 2631000.0, 2635000.0, 2639000.0, 2642000.0, 2646000.0, 2650000.0, 2654000.0, 2658000.0, 2661000.0,
    5084             :               2665000.0, 2669000.0, 2673000.0, 2677000.0, 2680000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5085             :               2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2718000.0,
    5086             :               2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2737000.0, 2739000.0, 2741000.0,
    5087             :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2783000.0,
    5088             :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2829000.0,
    5089             :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2860000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5090             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5091             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5092             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2574000.0, 2583000.0, 2593000.0,
    5093             :               2602000.0, 2612000.0, 2621000.0, 2631000.0, 2635000.0, 2638000.0, 2642000.0, 2646000.0, 2650000.0, 2654000.0, 2657000.0, 2661000.0,
    5094             :               2665000.0, 2669000.0, 2673000.0, 2676000.0, 2680000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2693000.0, 2695000.0,
    5095             :               2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2714000.0, 2716000.0, 2718000.0,
    5096             :               2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0, 2741000.0,
    5097             :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2779000.0, 2783000.0,
    5098             :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2829000.0,
    5099             :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2860000.0, 2870000.0, 2880000.0, 2889000.0, 2899000.0, 2909000.0, 2919000.0, 2928000.0,
    5100             :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5101             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5102             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2582000.0, 2592000.0,
    5103             :               2602000.0, 2611000.0, 2621000.0, 2630000.0, 2634000.0, 2638000.0, 2642000.0, 2646000.0, 2649000.0, 2653000.0, 2657000.0, 2661000.0,
    5104             :               2665000.0, 2668000.0, 2672000.0, 2676000.0, 2680000.0, 2684000.0, 2686000.0, 2688000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0,
    5105             :               2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0,
    5106             :               2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0, 2741000.0,
    5107             :               2743000.0, 2745000.0, 2749000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2775000.0, 2779000.0, 2783000.0,
    5108             :               2787000.0, 2791000.0, 2795000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2825000.0, 2829000.0,
    5109             :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2860000.0, 2870000.0, 2880000.0, 2889000.0, 2899000.0, 2909000.0, 2919000.0, 2928000.0,
    5110             :               2938000.0, 2958000.0, 2977000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5111             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5112             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2591000.0,
    5113             :               2601000.0, 2611000.0, 2620000.0, 2630000.0, 2634000.0, 2637000.0, 2641000.0, 2645000.0, 2649000.0, 2653000.0, 2657000.0, 2660000.0,
    5114             :               2664000.0, 2668000.0, 2672000.0, 2676000.0, 2680000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0,
    5115             :               2697000.0, 2699000.0, 2701000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0,
    5116             :               2720000.0, 2722000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0, 2741000.0,
    5117             :               2743000.0, 2745000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2771000.0, 2775000.0, 2779000.0, 2783000.0,
    5118             :               2787000.0, 2791000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2821000.0, 2825000.0, 2829000.0,
    5119             :               2833000.0, 2837000.0, 2841000.0, 2850000.0, 2860000.0, 2870000.0, 2879000.0, 2889000.0, 2899000.0, 2909000.0, 2918000.0, 2928000.0,
    5120             :               2938000.0, 2958000.0, 2977000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5121             :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5122             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5123             :               2600000.0, 2610000.0, 2620000.0, 2629000.0, 2633000.0, 2637000.0, 2641000.0, 2645000.0, 2648000.0, 2652000.0, 2656000.0, 2660000.0,
    5124             :               2664000.0, 2668000.0, 2671000.0, 2675000.0, 2679000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0, 2692000.0, 2694000.0,
    5125             :               2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2715000.0, 2717000.0,
    5126             :               2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2738000.0, 2740000.0,
    5127             :               2742000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0, 2779000.0, 2783000.0,
    5128             :               2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0, 2829000.0,
    5129             :               2833000.0, 2837000.0, 2841000.0, 2850000.0, 2860000.0, 2870000.0, 2879000.0, 2889000.0, 2899000.0, 2909000.0, 2918000.0, 2928000.0,
    5130             :               2938000.0, 2958000.0, 2977000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5131             :               3177000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5132             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5133             :               0.0,       2609000.0, 2619000.0, 2628000.0, 2632000.0, 2636000.0, 2640000.0, 2644000.0, 2648000.0, 2652000.0, 2655000.0, 2659000.0,
    5134             :               2663000.0, 2667000.0, 2671000.0, 2675000.0, 2679000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0,
    5135             :               2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0,
    5136             :               2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0,
    5137             :               2742000.0, 2744000.0, 2748000.0, 2752000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0, 2778000.0, 2782000.0,
    5138             :               2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0, 2829000.0,
    5139             :               2833000.0, 2836000.0, 2840000.0, 2850000.0, 2860000.0, 2869000.0, 2879000.0, 2889000.0, 2899000.0, 2908000.0, 2918000.0, 2928000.0,
    5140             :               2938000.0, 2957000.0, 2977000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3076000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5141             :               3177000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5142             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5143             :               0.0,       0.0,       2618000.0, 2627000.0, 2631000.0, 2635000.0, 2639000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2659000.0,
    5144             :               2662000.0, 2666000.0, 2670000.0, 2674000.0, 2678000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2689000.0, 2691000.0, 2693000.0,
    5145             :               2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2716000.0,
    5146             :               2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0,
    5147             :               2741000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2770000.0, 2774000.0, 2778000.0, 2782000.0,
    5148             :               2786000.0, 2790000.0, 2794000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0, 2828000.0,
    5149             :               2832000.0, 2836000.0, 2840000.0, 2850000.0, 2859000.0, 2869000.0, 2879000.0, 2889000.0, 2898000.0, 2908000.0, 2918000.0, 2928000.0,
    5150             :               2938000.0, 2957000.0, 2977000.0, 2997000.0, 3017000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3117000.0, 3137000.0, 3157000.0,
    5151             :               3177000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5152             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5153             :               0.0,       0.0,       0.0,       2626000.0, 2630000.0, 2634000.0, 2638000.0, 2642000.0, 2646000.0, 2650000.0, 2654000.0, 2658000.0,
    5154             :               2661000.0, 2665000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0,
    5155             :               2695000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0,
    5156             :               2718000.0, 2720000.0, 2722000.0, 2724000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0,
    5157             :               2741000.0, 2743000.0, 2747000.0, 2751000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0, 2778000.0, 2782000.0,
    5158             :               2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2816000.0, 2820000.0, 2824000.0, 2828000.0,
    5159             :               2832000.0, 2836000.0, 2840000.0, 2849000.0, 2859000.0, 2869000.0, 2879000.0, 2888000.0, 2898000.0, 2908000.0, 2918000.0, 2928000.0,
    5160             :               2937000.0, 2957000.0, 2977000.0, 2997000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3137000.0, 3157000.0,
    5161             :               3177000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5162             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5163             :               0.0,       0.0,       0.0,       0.0,       2630000.0, 2633000.0, 2637000.0, 2641000.0, 2645000.0, 2649000.0, 2653000.0, 2657000.0,
    5164             :               2661000.0, 2665000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2683000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0,
    5165             :               2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0,
    5166             :               2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0,
    5167             :               2741000.0, 2743000.0, 2747000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0, 2777000.0, 2781000.0,
    5168             :               2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0, 2828000.0,
    5169             :               2832000.0, 2836000.0, 2840000.0, 2849000.0, 2859000.0, 2869000.0, 2879000.0, 2888000.0, 2898000.0, 2908000.0, 2918000.0, 2927000.0,
    5170             :               2937000.0, 2957000.0, 2977000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3137000.0, 3157000.0,
    5171             :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5172             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5173             :               0.0,       0.0,       0.0,       0.0,       0.0,       2633000.0, 2637000.0, 2641000.0, 2645000.0, 2649000.0, 2653000.0, 2657000.0,
    5174             :               2661000.0, 2665000.0, 2668000.0, 2672000.0, 2676000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0,
    5175             :               2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0,
    5176             :               2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2738000.0,
    5177             :               2740000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2773000.0, 2777000.0, 2781000.0,
    5178             :               2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0, 2828000.0,
    5179             :               2832000.0, 2835000.0, 2839000.0, 2849000.0, 2859000.0, 2869000.0, 2878000.0, 2888000.0, 2898000.0, 2908000.0, 2918000.0, 2927000.0,
    5180             :               2937000.0, 2957000.0, 2977000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3157000.0,
    5181             :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5182             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5183             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2636000.0, 2640000.0, 2644000.0, 2648000.0, 2652000.0, 2656000.0,
    5184             :               2660000.0, 2664000.0, 2668000.0, 2672000.0, 2676000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2691000.0,
    5185             :               2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0,
    5186             :               2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0,
    5187             :               2740000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0, 2781000.0,
    5188             :               2785000.0, 2789000.0, 2793000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0, 2828000.0,
    5189             :               2831000.0, 2835000.0, 2839000.0, 2849000.0, 2859000.0, 2868000.0, 2878000.0, 2888000.0, 2898000.0, 2908000.0, 2917000.0, 2927000.0,
    5190             :               2937000.0, 2957000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3157000.0,
    5191             :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5192             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5193             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2640000.0, 2644000.0, 2648000.0, 2652000.0, 2656000.0,
    5194             :               2660000.0, 2664000.0, 2667000.0, 2671000.0, 2675000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0,
    5195             :               2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0,
    5196             :               2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0,
    5197             :               2740000.0, 2742000.0, 2746000.0, 2750000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0, 2781000.0,
    5198             :               2785000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2823000.0, 2827000.0,
    5199             :               2831000.0, 2835000.0, 2839000.0, 2849000.0, 2859000.0, 2868000.0, 2878000.0, 2888000.0, 2898000.0, 2907000.0, 2917000.0, 2927000.0,
    5200             :               2937000.0, 2957000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3157000.0,
    5201             :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5202             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5203             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2643000.0, 2647000.0, 2651000.0, 2655000.0,
    5204             :               2659000.0, 2663000.0, 2667000.0, 2671000.0, 2675000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0,
    5205             :               2693000.0, 2695000.0, 2697000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0,
    5206             :               2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0,
    5207             :               2740000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0, 2780000.0,
    5208             :               2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2815000.0, 2819000.0, 2823000.0, 2827000.0,
    5209             :               2831000.0, 2835000.0, 2839000.0, 2849000.0, 2858000.0, 2868000.0, 2878000.0, 2888000.0, 2897000.0, 2907000.0, 2917000.0, 2927000.0,
    5210             :               2937000.0, 2956000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3157000.0,
    5211             :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5212             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5213             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2646000.0, 2650000.0, 2654000.0,
    5214             :               2658000.0, 2662000.0, 2666000.0, 2670000.0, 2674000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0,
    5215             :               2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0,
    5216             :               2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0,
    5217             :               2739000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0,
    5218             :               2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0, 2827000.0,
    5219             :               2831000.0, 2835000.0, 2839000.0, 2848000.0, 2858000.0, 2868000.0, 2878000.0, 2887000.0, 2897000.0, 2907000.0, 2917000.0, 2927000.0,
    5220             :               2937000.0, 2956000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3156000.0,
    5221             :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3383000.0, 3489000.0},
    5222             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5223             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2650000.0, 2654000.0,
    5224             :               2658000.0, 2662000.0, 2666000.0, 2670000.0, 2674000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0,
    5225             :               2692000.0, 2694000.0, 2696000.0, 2698000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0,
    5226             :               2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0,
    5227             :               2739000.0, 2741000.0, 2745000.0, 2749000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0,
    5228             :               2784000.0, 2788000.0, 2792000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0, 2827000.0,
    5229             :               2831000.0, 2834000.0, 2838000.0, 2848000.0, 2858000.0, 2868000.0, 2878000.0, 2887000.0, 2897000.0, 2907000.0, 2917000.0, 2927000.0,
    5230             :               2936000.0, 2956000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3156000.0,
    5231             :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3383000.0, 3489000.0},
    5232             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5233             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2653000.0,
    5234             :               2657000.0, 2661000.0, 2665000.0, 2669000.0, 2673000.0, 2677000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0,
    5235             :               2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0,
    5236             :               2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2732000.0, 2734000.0, 2736000.0,
    5237             :               2738000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2779000.0,
    5238             :               2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2822000.0, 2826000.0,
    5239             :               2830000.0, 2834000.0, 2838000.0, 2848000.0, 2858000.0, 2867000.0, 2877000.0, 2887000.0, 2897000.0, 2907000.0, 2917000.0, 2926000.0,
    5240             :               2936000.0, 2956000.0, 2976000.0, 2996000.0, 3016000.0, 3035000.0, 3055000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3156000.0,
    5241             :               3177000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5242             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5243             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5244             :               2656000.0, 2660000.0, 2664000.0, 2668000.0, 2672000.0, 2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0,
    5245             :               2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0,
    5246             :               2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0,
    5247             :               2738000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0, 2779000.0,
    5248             :               2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0,
    5249             :               2830000.0, 2834000.0, 2838000.0, 2848000.0, 2857000.0, 2867000.0, 2877000.0, 2887000.0, 2897000.0, 2907000.0, 2916000.0, 2926000.0,
    5250             :               2936000.0, 2956000.0, 2976000.0, 2996000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3116000.0, 3136000.0, 3156000.0,
    5251             :               3176000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5252             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5253             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5254             :               0.0,       2660000.0, 2664000.0, 2668000.0, 2672000.0, 2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0,
    5255             :               2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0,
    5256             :               2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2735000.0,
    5257             :               2737000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0, 2779000.0,
    5258             :               2783000.0, 2787000.0, 2791000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0,
    5259             :               2830000.0, 2834000.0, 2838000.0, 2847000.0, 2857000.0, 2867000.0, 2877000.0, 2887000.0, 2896000.0, 2906000.0, 2916000.0, 2926000.0,
    5260             :               2936000.0, 2956000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3116000.0, 3136000.0, 3156000.0,
    5261             :               3176000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5262             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5263             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5264             :               0.0,       0.0,       2663000.0, 2667000.0, 2671000.0, 2675000.0, 2677000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0,
    5265             :               2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0,
    5266             :               2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0,
    5267             :               2737000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2774000.0, 2778000.0,
    5268             :               2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0,
    5269             :               2829000.0, 2833000.0, 2837000.0, 2847000.0, 2857000.0, 2867000.0, 2877000.0, 2886000.0, 2896000.0, 2906000.0, 2916000.0, 2926000.0,
    5270             :               2936000.0, 2955000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3115000.0, 3136000.0, 3156000.0,
    5271             :               3176000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5272             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5273             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5274             :               0.0,       0.0,       0.0,       2666000.0, 2670000.0, 2674000.0, 2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0,
    5275             :               2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0,
    5276             :               2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0,
    5277             :               2736000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0, 2778000.0,
    5278             :               2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0,
    5279             :               2829000.0, 2833000.0, 2837000.0, 2847000.0, 2857000.0, 2866000.0, 2876000.0, 2886000.0, 2896000.0, 2906000.0, 2916000.0, 2926000.0,
    5280             :               2935000.0, 2955000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3115000.0, 3136000.0, 3156000.0,
    5281             :               3176000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5282             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5283             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5284             :               0.0,       0.0,       0.0,       0.0,       2669000.0, 2673000.0, 2675000.0, 2677000.0, 2679000.0, 2682000.0, 2684000.0, 2686000.0,
    5285             :               2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0,
    5286             :               2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0,
    5287             :               2736000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0, 2777000.0,
    5288             :               2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0,
    5289             :               2829000.0, 2833000.0, 2837000.0, 2846000.0, 2856000.0, 2866000.0, 2876000.0, 2886000.0, 2896000.0, 2906000.0, 2915000.0, 2925000.0,
    5290             :               2935000.0, 2955000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3115000.0, 3135000.0, 3156000.0,
    5291             :               3176000.0, 3196000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5292             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5293             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5294             :               0.0,       0.0,       0.0,       0.0,       0.0,       2672000.0, 2674000.0, 2677000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0,
    5295             :               2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0,
    5296             :               2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0,
    5297             :               2735000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0,
    5298             :               2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2820000.0, 2824000.0,
    5299             :               2828000.0, 2832000.0, 2836000.0, 2846000.0, 2856000.0, 2866000.0, 2876000.0, 2886000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5300             :               2935000.0, 2955000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3115000.0, 3135000.0, 3156000.0,
    5301             :               3176000.0, 3196000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5302             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5303             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5304             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2674000.0, 2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0,
    5305             :               2686000.0, 2688000.0, 2690000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0,
    5306             :               2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0,
    5307             :               2735000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0,
    5308             :               2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0,
    5309             :               2828000.0, 2832000.0, 2836000.0, 2846000.0, 2856000.0, 2866000.0, 2876000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5310             :               2935000.0, 2955000.0, 2975000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3075000.0, 3095000.0, 3115000.0, 3135000.0, 3156000.0,
    5311             :               3176000.0, 3196000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5312             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5313             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5314             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0,
    5315             :               2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0,
    5316             :               2710000.0, 2712000.0, 2714000.0, 2716000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0,
    5317             :               2735000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2776000.0,
    5318             :               2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0,
    5319             :               2828000.0, 2832000.0, 2836000.0, 2846000.0, 2856000.0, 2866000.0, 2875000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5320             :               2935000.0, 2955000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3095000.0, 3115000.0, 3135000.0, 3155000.0,
    5321             :               3176000.0, 3196000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5322             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5323             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5324             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2677000.0, 2679000.0, 2681000.0, 2683000.0,
    5325             :               2685000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0,
    5326             :               2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0,
    5327             :               2734000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0,
    5328             :               2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0,
    5329             :               2828000.0, 2832000.0, 2836000.0, 2846000.0, 2855000.0, 2865000.0, 2875000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5330             :               2935000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3095000.0, 3115000.0, 3135000.0, 3155000.0,
    5331             :               3176000.0, 3196000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5332             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5333             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5334             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2679000.0, 2681000.0, 2683000.0,
    5335             :               2685000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2706000.0, 2708000.0,
    5336             :               2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0,
    5337             :               2734000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0,
    5338             :               2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0,
    5339             :               2828000.0, 2832000.0, 2835000.0, 2845000.0, 2855000.0, 2865000.0, 2875000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5340             :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3115000.0, 3135000.0, 3155000.0,
    5341             :               3176000.0, 3196000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5342             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5343             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5344             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2680000.0, 2682000.0,
    5345             :               2684000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0,
    5346             :               2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2730000.0, 2732000.0,
    5347             :               2734000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0,
    5348             :               2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0,
    5349             :               2827000.0, 2831000.0, 2835000.0, 2845000.0, 2855000.0, 2865000.0, 2875000.0, 2885000.0, 2895000.0, 2905000.0, 2914000.0, 2924000.0,
    5350             :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3115000.0, 3135000.0, 3155000.0,
    5351             :               3176000.0, 3196000.0, 3217000.0, 3280000.0, 3383000.0, 3489000.0},
    5352             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5353             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5354             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2682000.0,
    5355             :               2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0,
    5356             :               2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0,
    5357             :               2733000.0, 2735000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0,
    5358             :               2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0,
    5359             :               2827000.0, 2831000.0, 2835000.0, 2845000.0, 2855000.0, 2865000.0, 2875000.0, 2885000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5360             :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3115000.0, 3135000.0, 3155000.0,
    5361             :               3176000.0, 3196000.0, 3216000.0, 3280000.0, 3383000.0, 3489000.0},
    5362             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5363             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5364             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5365             :               2683000.0, 2685000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0,
    5366             :               2708000.0, 2710000.0, 2712000.0, 2714000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0,
    5367             :               2733000.0, 2735000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0,
    5368             :               2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0,
    5369             :               2827000.0, 2831000.0, 2835000.0, 2845000.0, 2855000.0, 2865000.0, 2874000.0, 2884000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5370             :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3114000.0, 3135000.0, 3155000.0,
    5371             :               3175000.0, 3196000.0, 3216000.0, 3280000.0, 3383000.0, 3489000.0},
    5372             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5373             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5374             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5375             :               0.0,       2685000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0,
    5376             :               2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0,
    5377             :               2732000.0, 2734000.0, 2738000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0,
    5378             :               2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0,
    5379             :               2827000.0, 2831000.0, 2835000.0, 2844000.0, 2854000.0, 2864000.0, 2874000.0, 2884000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5380             :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3114000.0, 3135000.0, 3155000.0,
    5381             :               3175000.0, 3196000.0, 3216000.0, 3280000.0, 3383000.0, 3488000.0},
    5382             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5383             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5384             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5385             :               0.0,       0.0,       2686000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0,
    5386             :               2707000.0, 2709000.0, 2711000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0,
    5387             :               2732000.0, 2734000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0,
    5388             :               2778000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0,
    5389             :               2826000.0, 2830000.0, 2834000.0, 2844000.0, 2854000.0, 2864000.0, 2874000.0, 2884000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5390             :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3114000.0, 3135000.0, 3155000.0,
    5391             :               3175000.0, 3196000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.0},
    5392             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5393             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5394             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5395             :               0.0,       0.0,       0.0,       2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0,
    5396             :               2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2730000.0,
    5397             :               2732000.0, 2734000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0,
    5398             :               2778000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0,
    5399             :               2826000.0, 2830000.0, 2834000.0, 2844000.0, 2854000.0, 2864000.0, 2874000.0, 2884000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5400             :               2934000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3054000.0, 3074000.0, 3094000.0, 3114000.0, 3134000.0, 3155000.0,
    5401             :               3175000.0, 3196000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.0},
    5402             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5403             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5404             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5405             :               0.0,       0.0,       0.0,       0.0,       2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0,
    5406             :               2706000.0, 2708000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0,
    5407             :               2731000.0, 2733000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0,
    5408             :               2778000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0,
    5409             :               2826000.0, 2830000.0, 2834000.0, 2844000.0, 2854000.0, 2864000.0, 2874000.0, 2884000.0, 2894000.0, 2903000.0, 2913000.0, 2923000.0,
    5410             :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3074000.0, 3094000.0, 3114000.0, 3134000.0, 3155000.0,
    5411             :               3175000.0, 3196000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.0},
    5412             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5413             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5414             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5415             :               0.0,       0.0,       0.0,       0.0,       0.0,       2691000.0, 2693000.0, 2695000.0, 2697000.0, 2700000.0, 2702000.0, 2704000.0,
    5416             :               2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2727000.0, 2729000.0,
    5417             :               2731000.0, 2733000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0,
    5418             :               2777000.0, 2781000.0, 2785000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0,
    5419             :               2826000.0, 2830000.0, 2834000.0, 2844000.0, 2853000.0, 2863000.0, 2873000.0, 2883000.0, 2893000.0, 2903000.0, 2913000.0, 2923000.0,
    5420             :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3094000.0, 3114000.0, 3134000.0, 3155000.0,
    5421             :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.0},
    5422             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5423             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5424             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5425             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0,
    5426             :               2705000.0, 2707000.0, 2709000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0,
    5427             :               2730000.0, 2732000.0, 2736000.0, 2740000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0,
    5428             :               2777000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0,
    5429             :               2825000.0, 2829000.0, 2833000.0, 2843000.0, 2853000.0, 2863000.0, 2873000.0, 2883000.0, 2893000.0, 2903000.0, 2913000.0, 2923000.0,
    5430             :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3094000.0, 3114000.0, 3134000.0, 3154000.0,
    5431             :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.0},
    5432             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5433             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5434             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5435             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2694000.0, 2696000.0, 2698000.0, 2700000.0, 2703000.0,
    5436             :               2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2724000.0, 2726000.0, 2728000.0,
    5437             :               2730000.0, 2732000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2765000.0, 2769000.0, 2773000.0,
    5438             :               2777000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0,
    5439             :               2825000.0, 2829000.0, 2833000.0, 2843000.0, 2853000.0, 2863000.0, 2873000.0, 2883000.0, 2893000.0, 2903000.0, 2913000.0, 2923000.0,
    5440             :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3093000.0, 3114000.0, 3134000.0, 3154000.0,
    5441             :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.0},
    5442             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5443             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5444             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5445             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2696000.0, 2698000.0, 2700000.0, 2702000.0,
    5446             :               2704000.0, 2706000.0, 2708000.0, 2710000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0,
    5447             :               2729000.0, 2731000.0, 2735000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0,
    5448             :               2776000.0, 2780000.0, 2784000.0, 2788000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0,
    5449             :               2825000.0, 2829000.0, 2833000.0, 2843000.0, 2853000.0, 2863000.0, 2873000.0, 2883000.0, 2893000.0, 2903000.0, 2913000.0, 2923000.0,
    5450             :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3093000.0, 3114000.0, 3134000.0, 3154000.0,
    5451             :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.0},
    5452             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5453             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5454             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5455             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2697000.0, 2699000.0, 2701000.0,
    5456             :               2703000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2725000.0, 2727000.0,
    5457             :               2729000.0, 2731000.0, 2735000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0,
    5458             :               2776000.0, 2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0,
    5459             :               2824000.0, 2828000.0, 2832000.0, 2842000.0, 2852000.0, 2862000.0, 2872000.0, 2882000.0, 2892000.0, 2902000.0, 2912000.0, 2922000.0,
    5460             :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3093000.0, 3113000.0, 3134000.0, 3154000.0,
    5461             :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.0},
    5462             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5463             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5464             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5465             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2699000.0, 2701000.0,
    5466             :               2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0,
    5467             :               2728000.0, 2730000.0, 2734000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0,
    5468             :               2776000.0, 2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0,
    5469             :               2824000.0, 2828000.0, 2832000.0, 2842000.0, 2852000.0, 2862000.0, 2872000.0, 2882000.0, 2892000.0, 2902000.0, 2912000.0, 2922000.0,
    5470             :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3012000.0, 3032000.0, 3053000.0, 3073000.0, 3093000.0, 3113000.0, 3134000.0, 3154000.0,
    5471             :               3174000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.0},
    5472             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5473             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5474             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5475             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2700000.0,
    5476             :               2702000.0, 2704000.0, 2706000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2726000.0,
    5477             :               2728000.0, 2730000.0, 2734000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0,
    5478             :               2775000.0, 2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0,
    5479             :               2824000.0, 2828000.0, 2832000.0, 2842000.0, 2852000.0, 2862000.0, 2872000.0, 2882000.0, 2892000.0, 2902000.0, 2912000.0, 2922000.0,
    5480             :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3012000.0, 3032000.0, 3052000.0, 3073000.0, 3093000.0, 3113000.0, 3134000.0, 3154000.0,
    5481             :               3174000.0, 3195000.0, 3215000.0, 3280000.0, 3382000.0, 3488000.0},
    5482             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5483             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5484             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5485             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5486             :               2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0,
    5487             :               2727000.0, 2729000.0, 2733000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2771000.0,
    5488             :               2775000.0, 2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0,
    5489             :               2823000.0, 2827000.0, 2831000.0, 2842000.0, 2852000.0, 2862000.0, 2872000.0, 2882000.0, 2892000.0, 2902000.0, 2912000.0, 2922000.0,
    5490             :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3012000.0, 3032000.0, 3052000.0, 3073000.0, 3093000.0, 3113000.0, 3133000.0, 3154000.0,
    5491             :               3174000.0, 3195000.0, 3215000.0, 3280000.0, 3382000.0, 3488000.0},
    5492             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5493             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5494             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5495             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5496             :               0.0,       2703000.0, 2705000.0, 2707000.0, 2709000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0,
    5497             :               2726000.0, 2729000.0, 2733000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0,
    5498             :               2774000.0, 2778000.0, 2782000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0,
    5499             :               2823000.0, 2827000.0, 2831000.0, 2841000.0, 2851000.0, 2861000.0, 2871000.0, 2881000.0, 2891000.0, 2901000.0, 2911000.0, 2922000.0,
    5500             :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3012000.0, 3032000.0, 3052000.0, 3072000.0, 3093000.0, 3113000.0, 3133000.0, 3154000.0,
    5501             :               3174000.0, 3195000.0, 3215000.0, 3280000.0, 3382000.0, 3488000.0},
    5502             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5503             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5504             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5505             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5506             :               0.0,       0.0,       2704000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2720000.0, 2722000.0, 2724000.0,
    5507             :               2726000.0, 2728000.0, 2732000.0, 2736000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2766000.0, 2770000.0,
    5508             :               2774000.0, 2778000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2811000.0, 2815000.0, 2819000.0,
    5509             :               2823000.0, 2827000.0, 2831000.0, 2841000.0, 2851000.0, 2861000.0, 2871000.0, 2881000.0, 2891000.0, 2901000.0, 2911000.0, 2921000.0,
    5510             :               2931000.0, 2951000.0, 2971000.0, 2992000.0, 3012000.0, 3032000.0, 3052000.0, 3072000.0, 3093000.0, 3113000.0, 3133000.0, 3154000.0,
    5511             :               3174000.0, 3195000.0, 3215000.0, 3280000.0, 3382000.0, 3488000.0},
    5512             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5513             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5514             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5515             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5516             :               0.0,       0.0,       0.0,       2706000.0, 2708000.0, 2710000.0, 2712000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0,
    5517             :               2725000.0, 2727000.0, 2732000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0,
    5518             :               2773000.0, 2777000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0,
    5519             :               2822000.0, 2826000.0, 2830000.0, 2841000.0, 2851000.0, 2861000.0, 2871000.0, 2881000.0, 2891000.0, 2901000.0, 2911000.0, 2921000.0,
    5520             :               2931000.0, 2951000.0, 2971000.0, 2991000.0, 3012000.0, 3032000.0, 3052000.0, 3072000.0, 3092000.0, 3113000.0, 3133000.0, 3153000.0,
    5521             :               3174000.0, 3194000.0, 3215000.0, 3280000.0, 3382000.0, 3488000.0},
    5522             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5523             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5524             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5525             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5526             :               0.0,       0.0,       0.0,       0.0,       2707000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0,
    5527             :               2725000.0, 2727000.0, 2731000.0, 2735000.0, 2739000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2765000.0, 2769000.0,
    5528             :               2773000.0, 2777000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0,
    5529             :               2822000.0, 2826000.0, 2830000.0, 2840000.0, 2850000.0, 2860000.0, 2870000.0, 2881000.0, 2891000.0, 2901000.0, 2911000.0, 2921000.0,
    5530             :               2931000.0, 2951000.0, 2971000.0, 2991000.0, 3011000.0, 3031000.0, 3052000.0, 3072000.0, 3092000.0, 3113000.0, 3133000.0, 3153000.0,
    5531             :               3174000.0, 3194000.0, 3215000.0, 3280000.0, 3382000.0, 3488000.0},
    5532             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5533             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5534             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5535             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5536             :               0.0,       0.0,       0.0,       0.0,       0.0,       2709000.0, 2711000.0, 2713000.0, 2715000.0, 2718000.0, 2720000.0, 2722000.0,
    5537             :               2724000.0, 2726000.0, 2730000.0, 2735000.0, 2739000.0, 2743000.0, 2747000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0,
    5538             :               2772000.0, 2776000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2818000.0,
    5539             :               2822000.0, 2826000.0, 2830000.0, 2840000.0, 2850000.0, 2860000.0, 2870000.0, 2880000.0, 2890000.0, 2900000.0, 2910000.0, 2921000.0,
    5540             :               2931000.0, 2951000.0, 2971000.0, 2991000.0, 3011000.0, 3031000.0, 3052000.0, 3072000.0, 3092000.0, 3112000.0, 3133000.0, 3153000.0,
    5541             :               3174000.0, 3194000.0, 3215000.0, 3280000.0, 3381000.0, 3488000.0},
    5542             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5543             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5544             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5545             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5546             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2710000.0, 2712000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0,
    5547             :               2723000.0, 2725000.0, 2730000.0, 2734000.0, 2738000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2764000.0, 2768000.0,
    5548             :               2772000.0, 2776000.0, 2780000.0, 2784000.0, 2788000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0,
    5549             :               2821000.0, 2825000.0, 2829000.0, 2839000.0, 2850000.0, 2860000.0, 2870000.0, 2880000.0, 2890000.0, 2900000.0, 2910000.0, 2920000.0,
    5550             :               2930000.0, 2950000.0, 2971000.0, 2991000.0, 3011000.0, 3031000.0, 3051000.0, 3072000.0, 3092000.0, 3112000.0, 3133000.0, 3153000.0,
    5551             :               3174000.0, 3194000.0, 3215000.0, 3280000.0, 3381000.0, 3487000.0},
    5552             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5553             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5554             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5555             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5556             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0,
    5557             :               2723000.0, 2725000.0, 2729000.0, 2733000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0,
    5558             :               2771000.0, 2775000.0, 2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2813000.0, 2817000.0,
    5559             :               2821000.0, 2825000.0, 2829000.0, 2839000.0, 2849000.0, 2859000.0, 2870000.0, 2880000.0, 2890000.0, 2900000.0, 2910000.0, 2920000.0,
    5560             :               2930000.0, 2950000.0, 2970000.0, 2991000.0, 3011000.0, 3031000.0, 3051000.0, 3071000.0, 3092000.0, 3112000.0, 3132000.0, 3153000.0,
    5561             :               3173000.0, 3194000.0, 3215000.0, 3280000.0, 3381000.0, 3487000.0},
    5562             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5563             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5564             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5565             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5566             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2713000.0, 2715000.0, 2717000.0, 2720000.0,
    5567             :               2722000.0, 2724000.0, 2728000.0, 2733000.0, 2737000.0, 2741000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2767000.0,
    5568             :               2771000.0, 2775000.0, 2779000.0, 2783000.0, 2787000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0,
    5569             :               2820000.0, 2824000.0, 2829000.0, 2839000.0, 2849000.0, 2859000.0, 2869000.0, 2879000.0, 2889000.0, 2900000.0, 2910000.0, 2920000.0,
    5570             :               2930000.0, 2950000.0, 2970000.0, 2990000.0, 3011000.0, 3031000.0, 3051000.0, 3071000.0, 3092000.0, 3112000.0, 3132000.0, 3153000.0,
    5571             :               3173000.0, 3194000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.0},
    5572             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5573             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5574             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5575             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5576             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2715000.0, 2717000.0, 2719000.0,
    5577             :               2721000.0, 2723000.0, 2728000.0, 2732000.0, 2736000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2758000.0, 2762000.0, 2766000.0,
    5578             :               2770000.0, 2774000.0, 2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2808000.0, 2812000.0, 2816000.0,
    5579             :               2820000.0, 2824000.0, 2828000.0, 2838000.0, 2849000.0, 2859000.0, 2869000.0, 2879000.0, 2889000.0, 2899000.0, 2909000.0, 2919000.0,
    5580             :               2930000.0, 2950000.0, 2970000.0, 2990000.0, 3010000.0, 3031000.0, 3051000.0, 3071000.0, 3091000.0, 3112000.0, 3132000.0, 3153000.0,
    5581             :               3173000.0, 3194000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.0},
    5582             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5583             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5584             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5585             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5586             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2716000.0, 2718000.0,
    5587             :               2720000.0, 2723000.0, 2727000.0, 2731000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0,
    5588             :               2770000.0, 2774000.0, 2778000.0, 2782000.0, 2786000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0,
    5589             :               2819000.0, 2824000.0, 2828000.0, 2838000.0, 2848000.0, 2858000.0, 2868000.0, 2879000.0, 2889000.0, 2899000.0, 2909000.0, 2919000.0,
    5590             :               2929000.0, 2949000.0, 2970000.0, 2990000.0, 3010000.0, 3030000.0, 3051000.0, 3071000.0, 3091000.0, 3112000.0, 3132000.0, 3152000.0,
    5591             :               3173000.0, 3194000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.0},
    5592             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5593             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5594             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5595             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5596             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2717000.0,
    5597             :               2720000.0, 2722000.0, 2726000.0, 2731000.0, 2735000.0, 2739000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2761000.0, 2765000.0,
    5598             :               2769000.0, 2773000.0, 2777000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2807000.0, 2811000.0, 2815000.0,
    5599             :               2819000.0, 2823000.0, 2827000.0, 2837000.0, 2848000.0, 2858000.0, 2868000.0, 2878000.0, 2888000.0, 2899000.0, 2909000.0, 2919000.0,
    5600             :               2929000.0, 2949000.0, 2969000.0, 2990000.0, 3010000.0, 3030000.0, 3050000.0, 3071000.0, 3091000.0, 3111000.0, 3132000.0, 3152000.0,
    5601             :               3173000.0, 3193000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.0},
    5602             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5603             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5604             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5605             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5606             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5607             :               2719000.0, 2721000.0, 2725000.0, 2730000.0, 2734000.0, 2738000.0, 2743000.0, 2747000.0, 2751000.0, 2756000.0, 2760000.0, 2764000.0,
    5608             :               2768000.0, 2773000.0, 2777000.0, 2781000.0, 2785000.0, 2789000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0,
    5609             :               2819000.0, 2823000.0, 2827000.0, 2837000.0, 2847000.0, 2858000.0, 2868000.0, 2878000.0, 2888000.0, 2898000.0, 2908000.0, 2919000.0,
    5610             :               2929000.0, 2949000.0, 2969000.0, 2989000.0, 3010000.0, 3030000.0, 3050000.0, 3071000.0, 3091000.0, 3111000.0, 3132000.0, 3152000.0,
    5611             :               3173000.0, 3193000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.0},
    5612             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5613             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5614             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5615             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5616             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5617             :               0.0,       2720000.0, 2725000.0, 2729000.0, 2733000.0, 2738000.0, 2742000.0, 2746000.0, 2751000.0, 2755000.0, 2759000.0, 2764000.0,
    5618             :               2768000.0, 2772000.0, 2776000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2806000.0, 2810000.0, 2814000.0,
    5619             :               2818000.0, 2822000.0, 2826000.0, 2837000.0, 2847000.0, 2857000.0, 2867000.0, 2878000.0, 2888000.0, 2898000.0, 2908000.0, 2918000.0,
    5620             :               2928000.0, 2949000.0, 2969000.0, 2989000.0, 3009000.0, 3030000.0, 3050000.0, 3070000.0, 3091000.0, 3111000.0, 3132000.0, 3152000.0,
    5621             :               3173000.0, 3193000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.0},
    5622             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5623             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5624             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5625             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5626             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5627             :               0.0,       0.0,       2723000.0, 2727000.0, 2732000.0, 2736000.0, 2741000.0, 2745000.0, 2749000.0, 2754000.0, 2758000.0, 2762000.0,
    5628             :               2767000.0, 2771000.0, 2775000.0, 2779000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2805000.0, 2809000.0, 2813000.0,
    5629             :               2817000.0, 2821000.0, 2825000.0, 2836000.0, 2846000.0, 2856000.0, 2867000.0, 2877000.0, 2887000.0, 2897000.0, 2907000.0, 2918000.0,
    5630             :               2928000.0, 2948000.0, 2968000.0, 2989000.0, 3009000.0, 3029000.0, 3050000.0, 3070000.0, 3090000.0, 3111000.0, 3131000.0, 3152000.0,
    5631             :               3172000.0, 3193000.0, 3213000.0, 3280000.0, 3380000.0, 3487000.0},
    5632             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5633             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5634             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5635             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5636             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5637             :               0.0,       0.0,       0.0,       2726000.0, 2730000.0, 2735000.0, 2739000.0, 2743000.0, 2748000.0, 2752000.0, 2757000.0, 2761000.0,
    5638             :               2765000.0, 2769000.0, 2774000.0, 2778000.0, 2782000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2808000.0, 2812000.0,
    5639             :               2816000.0, 2820000.0, 2824000.0, 2835000.0, 2845000.0, 2855000.0, 2866000.0, 2876000.0, 2886000.0, 2896000.0, 2907000.0, 2917000.0,
    5640             :               2927000.0, 2947000.0, 2968000.0, 2988000.0, 3008000.0, 3029000.0, 3049000.0, 3069000.0, 3090000.0, 3110000.0, 3131000.0, 3151000.0,
    5641             :               3172000.0, 3192000.0, 3213000.0, 3280000.0, 3380000.0, 3487000.0},
    5642             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5643             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5644             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5645             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5646             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5647             :               0.0,       0.0,       0.0,       0.0,       2728000.0, 2733000.0, 2737000.0, 2742000.0, 2746000.0, 2751000.0, 2755000.0, 2759000.0,
    5648             :               2764000.0, 2768000.0, 2772000.0, 2777000.0, 2781000.0, 2785000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2811000.0,
    5649             :               2815000.0, 2819000.0, 2823000.0, 2834000.0, 2844000.0, 2854000.0, 2865000.0, 2875000.0, 2885000.0, 2896000.0, 2906000.0, 2916000.0,
    5650             :               2926000.0, 2947000.0, 2967000.0, 2987000.0, 3008000.0, 3028000.0, 3049000.0, 3069000.0, 3089000.0, 3110000.0, 3130000.0, 3151000.0,
    5651             :               3172000.0, 3192000.0, 3213000.0, 3280000.0, 3380000.0, 3486000.0},
    5652             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5653             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5654             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5655             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5656             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5657             :               0.0,       0.0,       0.0,       0.0,       0.0,       2731000.0, 2735000.0, 2740000.0, 2744000.0, 2749000.0, 2753000.0, 2758000.0,
    5658             :               2762000.0, 2767000.0, 2771000.0, 2775000.0, 2780000.0, 2784000.0, 2788000.0, 2792000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0,
    5659             :               2814000.0, 2818000.0, 2822000.0, 2833000.0, 2843000.0, 2853000.0, 2864000.0, 2874000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0,
    5660             :               2926000.0, 2946000.0, 2966000.0, 2987000.0, 3007000.0, 3028000.0, 3048000.0, 3069000.0, 3089000.0, 3109000.0, 3130000.0, 3151000.0,
    5661             :               3171000.0, 3192000.0, 3212000.0, 3280000.0, 3380000.0, 3486000.0},
    5662             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5663             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5664             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5665             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5666             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5667             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2733000.0, 2738000.0, 2743000.0, 2747000.0, 2752000.0, 2756000.0,
    5668             :               2761000.0, 2765000.0, 2769000.0, 2774000.0, 2778000.0, 2782000.0, 2787000.0, 2791000.0, 2795000.0, 2800000.0, 2804000.0, 2808000.0,
    5669             :               2812000.0, 2817000.0, 2821000.0, 2831000.0, 2842000.0, 2852000.0, 2863000.0, 2873000.0, 2884000.0, 2894000.0, 2904000.0, 2915000.0,
    5670             :               2925000.0, 2945000.0, 2966000.0, 2986000.0, 3007000.0, 3027000.0, 3048000.0, 3068000.0, 3089000.0, 3109000.0, 3130000.0, 3150000.0,
    5671             :               3171000.0, 3191000.0, 3212000.0, 3280000.0, 3380000.0, 3486000.0},
    5672             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5673             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5674             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5675             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5676             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5677             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2736000.0, 2741000.0, 2745000.0, 2750000.0, 2754000.0,
    5678             :               2759000.0, 2763000.0, 2768000.0, 2772000.0, 2777000.0, 2781000.0, 2785000.0, 2790000.0, 2794000.0, 2798000.0, 2803000.0, 2807000.0,
    5679             :               2811000.0, 2815000.0, 2820000.0, 2830000.0, 2841000.0, 2851000.0, 2862000.0, 2872000.0, 2883000.0, 2893000.0, 2903000.0, 2914000.0,
    5680             :               2924000.0, 2945000.0, 2965000.0, 2986000.0, 3006000.0, 3027000.0, 3047000.0, 3068000.0, 3088000.0, 3109000.0, 3129000.0, 3150000.0,
    5681             :               3170000.0, 3191000.0, 3212000.0, 3280000.0, 3379000.0, 3486000.0},
    5682             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5683             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5684             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5685             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5686             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5687             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2739000.0, 2743000.0, 2748000.0, 2752000.0,
    5688             :               2757000.0, 2761000.0, 2766000.0, 2770000.0, 2775000.0, 2779000.0, 2784000.0, 2788000.0, 2792000.0, 2797000.0, 2801000.0, 2805000.0,
    5689             :               2810000.0, 2814000.0, 2818000.0, 2829000.0, 2840000.0, 2850000.0, 2861000.0, 2871000.0, 2882000.0, 2892000.0, 2902000.0, 2913000.0,
    5690             :               2923000.0, 2944000.0, 2964000.0, 2985000.0, 3005000.0, 3026000.0, 3046000.0, 3067000.0, 3088000.0, 3108000.0, 3129000.0, 3149000.0,
    5691             :               3170000.0, 3191000.0, 3211000.0, 3280000.0, 3379000.0, 3485000.0},
    5692             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5693             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5694             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5695             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5696             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5697             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2741000.0, 2746000.0, 2750000.0,
    5698             :               2755000.0, 2760000.0, 2764000.0, 2769000.0, 2773000.0, 2778000.0, 2782000.0, 2786000.0, 2791000.0, 2795000.0, 2800000.0, 2804000.0,
    5699             :               2808000.0, 2813000.0, 2817000.0, 2828000.0, 2838000.0, 2849000.0, 2860000.0, 2870000.0, 2881000.0, 2891000.0, 2901000.0, 2912000.0,
    5700             :               2922000.0, 2943000.0, 2964000.0, 2984000.0, 3005000.0, 3025000.0, 3046000.0, 3066000.0, 3087000.0, 3108000.0, 3128000.0, 3149000.0,
    5701             :               3170000.0, 3190000.0, 3211000.0, 3280000.0, 3379000.0, 3485000.0},
    5702             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5703             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5704             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5705             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5706             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5707             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2744000.0, 2748000.0,
    5708             :               2753000.0, 2758000.0, 2762000.0, 2767000.0, 2771000.0, 2776000.0, 2780000.0, 2785000.0, 2789000.0, 2794000.0, 2798000.0, 2802000.0,
    5709             :               2807000.0, 2811000.0, 2815000.0, 2826000.0, 2837000.0, 2848000.0, 2858000.0, 2869000.0, 2879000.0, 2890000.0, 2900000.0, 2911000.0,
    5710             :               2921000.0, 2942000.0, 2963000.0, 2983000.0, 3004000.0, 3025000.0, 3045000.0, 3066000.0, 3086000.0, 3107000.0, 3128000.0, 3148000.0,
    5711             :               3169000.0, 3190000.0, 3211000.0, 3280000.0, 3378000.0, 3485000.0},
    5712             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5713             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5714             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5715             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5716             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5717             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2746000.0,
    5718             :               2751000.0, 2755000.0, 2760000.0, 2765000.0, 2769000.0, 2774000.0, 2778000.0, 2783000.0, 2787000.0, 2792000.0, 2796000.0, 2801000.0,
    5719             :               2805000.0, 2810000.0, 2814000.0, 2825000.0, 2836000.0, 2846000.0, 2857000.0, 2868000.0, 2878000.0, 2889000.0, 2899000.0, 2910000.0,
    5720             :               2920000.0, 2941000.0, 2962000.0, 2983000.0, 3003000.0, 3024000.0, 3045000.0, 3065000.0, 3086000.0, 3106000.0, 3127000.0, 3148000.0,
    5721             :               3169000.0, 3189000.0, 3210000.0, 3280000.0, 3378000.0, 3485000.0},
    5722             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5723             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5724             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5725             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5726             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5727             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5728             :               2748000.0, 2753000.0, 2758000.0, 2763000.0, 2767000.0, 2772000.0, 2776000.0, 2781000.0, 2786000.0, 2790000.0, 2795000.0, 2799000.0,
    5729             :               2803000.0, 2808000.0, 2812000.0, 2823000.0, 2834000.0, 2845000.0, 2856000.0, 2866000.0, 2877000.0, 2888000.0, 2898000.0, 2909000.0,
    5730             :               2919000.0, 2940000.0, 2961000.0, 2982000.0, 3002000.0, 3023000.0, 3044000.0, 3064000.0, 3085000.0, 3106000.0, 3127000.0, 3147000.0,
    5731             :               3168000.0, 3189000.0, 3210000.0, 3280000.0, 3378000.0, 3484000.0},
    5732             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5733             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5734             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5735             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5736             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5737             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5738             :               0.0,       2751000.0, 2755000.0, 2760000.0, 2765000.0, 2770000.0, 2774000.0, 2779000.0, 2784000.0, 2788000.0, 2793000.0, 2797000.0,
    5739             :               2802000.0, 2806000.0, 2811000.0, 2822000.0, 2833000.0, 2843000.0, 2854000.0, 2865000.0, 2876000.0, 2886000.0, 2897000.0, 2908000.0,
    5740             :               2918000.0, 2939000.0, 2960000.0, 2981000.0, 3002000.0, 3022000.0, 3043000.0, 3064000.0, 3085000.0, 3105000.0, 3126000.0, 3147000.0,
    5741             :               3168000.0, 3188000.0, 3209000.0, 3280000.0, 3377000.0, 3484000.0},
    5742             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5743             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5744             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5745             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5746             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5747             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5748             :               0.0,       0.0,       2753000.0, 2758000.0, 2763000.0, 2767000.0, 2772000.0, 2777000.0, 2781000.0, 2786000.0, 2791000.0, 2795000.0,
    5749             :               2800000.0, 2804000.0, 2809000.0, 2820000.0, 2831000.0, 2842000.0, 2853000.0, 2864000.0, 2874000.0, 2885000.0, 2896000.0, 2906000.0,
    5750             :               2917000.0, 2938000.0, 2959000.0, 2980000.0, 3001000.0, 3022000.0, 3042000.0, 3063000.0, 3084000.0, 3105000.0, 3125000.0, 3146000.0,
    5751             :               3167000.0, 3188000.0, 3209000.0, 3280000.0, 3377000.0, 3484000.0},
    5752             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5753             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5754             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5755             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5756             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5757             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5758             :               0.0,       0.0,       0.0,       2755000.0, 2760000.0, 2765000.0, 2770000.0, 2775000.0, 2779000.0, 2784000.0, 2789000.0, 2793000.0,
    5759             :               2798000.0, 2802000.0, 2807000.0, 2818000.0, 2829000.0, 2840000.0, 2851000.0, 2862000.0, 2873000.0, 2884000.0, 2894000.0, 2905000.0,
    5760             :               2916000.0, 2937000.0, 2958000.0, 2979000.0, 3000000.0, 3021000.0, 3042000.0, 3062000.0, 3083000.0, 3104000.0, 3125000.0, 3146000.0,
    5761             :               3166000.0, 3187000.0, 3208000.0, 3280000.0, 3377000.0, 3484000.0},
    5762             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5763             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5764             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5765             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5766             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5767             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5768             :               0.0,       0.0,       0.0,       0.0,       2757000.0, 2762000.0, 2767000.0, 2772000.0, 2777000.0, 2782000.0, 2786000.0, 2791000.0,
    5769             :               2796000.0, 2800000.0, 2805000.0, 2816000.0, 2827000.0, 2839000.0, 2850000.0, 2861000.0, 2872000.0, 2882000.0, 2893000.0, 2904000.0,
    5770             :               2915000.0, 2936000.0, 2957000.0, 2978000.0, 2999000.0, 3020000.0, 3041000.0, 3062000.0, 3082000.0, 3103000.0, 3124000.0, 3145000.0,
    5771             :               3166000.0, 3187000.0, 3208000.0, 3280000.0, 3376000.0, 3483000.0},
    5772             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5773             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5774             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5775             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5776             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5777             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5778             :               0.0,       0.0,       0.0,       0.0,       0.0,       2760000.0, 2765000.0, 2770000.0, 2774000.0, 2779000.0, 2784000.0, 2789000.0,
    5779             :               2793000.0, 2798000.0, 2803000.0, 2814000.0, 2826000.0, 2837000.0, 2848000.0, 2859000.0, 2870000.0, 2881000.0, 2892000.0, 2902000.0,
    5780             :               2913000.0, 2935000.0, 2956000.0, 2977000.0, 2998000.0, 3019000.0, 3040000.0, 3061000.0, 3082000.0, 3102000.0, 3123000.0, 3144000.0,
    5781             :               3165000.0, 3186000.0, 3207000.0, 3280000.0, 3376000.0, 3483000.0},
    5782             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5783             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5784             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5785             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5786             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5787             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5788             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2762000.0, 2767000.0, 2772000.0, 2777000.0, 2781000.0, 2786000.0,
    5789             :               2791000.0, 2796000.0, 2800000.0, 2812000.0, 2824000.0, 2835000.0, 2846000.0, 2857000.0, 2868000.0, 2879000.0, 2890000.0, 2901000.0,
    5790             :               2912000.0, 2933000.0, 2955000.0, 2976000.0, 2997000.0, 3018000.0, 3039000.0, 3060000.0, 3081000.0, 3102000.0, 3123000.0, 3144000.0,
    5791             :               3164000.0, 3185000.0, 3206000.0, 3280000.0, 3375000.0, 3483000.0},
    5792             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5793             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5794             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5795             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5796             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5797             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5798             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2764000.0, 2769000.0, 2774000.0, 2779000.0, 2784000.0,
    5799             :               2789000.0, 2793000.0, 2798000.0, 2810000.0, 2821000.0, 2833000.0, 2844000.0, 2855000.0, 2867000.0, 2878000.0, 2889000.0, 2900000.0,
    5800             :               2910000.0, 2932000.0, 2953000.0, 2975000.0, 2996000.0, 3017000.0, 3038000.0, 3059000.0, 3080000.0, 3101000.0, 3122000.0, 3143000.0,
    5801             :               3164000.0, 3185000.0, 3206000.0, 3280000.0, 3375000.0, 3482000.0},
    5802             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5803             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5804             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5805             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5806             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5807             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5808             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2766000.0, 2771000.0, 2776000.0, 2781000.0,
    5809             :               2786000.0, 2791000.0, 2796000.0, 2808000.0, 2819000.0, 2831000.0, 2842000.0, 2854000.0, 2865000.0, 2876000.0, 2887000.0, 2898000.0,
    5810             :               2909000.0, 2931000.0, 2952000.0, 2973000.0, 2995000.0, 3016000.0, 3037000.0, 3058000.0, 3079000.0, 3100000.0, 3121000.0, 3142000.0,
    5811             :               3163000.0, 3184000.0, 3205000.0, 3280000.0, 3374000.0, 3482000.0},
    5812             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5813             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5814             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5815             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5816             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5817             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5818             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2768000.0, 2773000.0, 2778000.0,
    5819             :               2783000.0, 2788000.0, 2793000.0, 2805000.0, 2817000.0, 2829000.0, 2840000.0, 2852000.0, 2863000.0, 2874000.0, 2885000.0, 2896000.0,
    5820             :               2907000.0, 2929000.0, 2951000.0, 2972000.0, 2994000.0, 3015000.0, 3036000.0, 3057000.0, 3078000.0, 3099000.0, 3120000.0, 3141000.0,
    5821             :               3162000.0, 3183000.0, 3204000.0, 3280000.0, 3374000.0, 3481000.0},
    5822             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5823             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5824             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5825             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5826             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5827             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5828             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2770000.0, 2775000.0,
    5829             :               2780000.0, 2785000.0, 2790000.0, 2802000.0, 2814000.0, 2826000.0, 2838000.0, 2850000.0, 2861000.0, 2872000.0, 2883000.0, 2895000.0,
    5830             :               2906000.0, 2928000.0, 2949000.0, 2971000.0, 2992000.0, 3014000.0, 3035000.0, 3056000.0, 3077000.0, 3098000.0, 3119000.0, 3140000.0,
    5831             :               3162000.0, 3183000.0, 3204000.0, 3280000.0, 3373000.0, 3481000.0},
    5832             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5833             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5834             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5835             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5836             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5837             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5838             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2772000.0,
    5839             :               2777000.0, 2782000.0, 2787000.0, 2800000.0, 2812000.0, 2824000.0, 2836000.0, 2847000.0, 2859000.0, 2870000.0, 2882000.0, 2893000.0,
    5840             :               2904000.0, 2926000.0, 2948000.0, 2969000.0, 2991000.0, 3012000.0, 3034000.0, 3055000.0, 3076000.0, 3097000.0, 3118000.0, 3140000.0,
    5841             :               3161000.0, 3182000.0, 3203000.0, 3280000.0, 3373000.0, 3480000.0},
    5842             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5843             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5844             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5845             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5846             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5847             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5848             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5849             :               2774000.0, 2779000.0, 2784000.0, 2797000.0, 2809000.0, 2821000.0, 2833000.0, 2845000.0, 2857000.0, 2868000.0, 2880000.0, 2891000.0,
    5850             :               2902000.0, 2924000.0, 2946000.0, 2968000.0, 2990000.0, 3011000.0, 3033000.0, 3054000.0, 3075000.0, 3096000.0, 3118000.0, 3139000.0,
    5851             :               3160000.0, 3181000.0, 3202000.0, 3280000.0, 3372000.0, 3480000.0},
    5852             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5853             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5854             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5855             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5856             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5857             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5858             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5859             :               0.0,       2775000.0, 2781000.0, 2794000.0, 2806000.0, 2819000.0, 2831000.0, 2843000.0, 2854000.0, 2866000.0, 2878000.0, 2889000.0,
    5860             :               2900000.0, 2923000.0, 2945000.0, 2967000.0, 2988000.0, 3010000.0, 3031000.0, 3053000.0, 3074000.0, 3095000.0, 3117000.0, 3138000.0,
    5861             :               3159000.0, 3180000.0, 3201000.0, 3280000.0, 3372000.0, 3480000.0},
    5862             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5863             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5864             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5865             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5866             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5867             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5868             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5869             :               0.0,       0.0,       2777000.0, 2790000.0, 2803000.0, 2816000.0, 2828000.0, 2840000.0, 2852000.0, 2864000.0, 2875000.0, 2887000.0,
    5870             :               2898000.0, 2921000.0, 2943000.0, 2965000.0, 2987000.0, 3009000.0, 3030000.0, 3052000.0, 3073000.0, 3094000.0, 3116000.0, 3137000.0,
    5871             :               3158000.0, 3179000.0, 3201000.0, 3280000.0, 3371000.0, 3479000.0},
    5872             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5873             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5874             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5875             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5876             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5877             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5878             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5879             :               0.0,       0.0,       0.0,       2781000.0, 2795000.0, 2808000.0, 2821000.0, 2833000.0, 2846000.0, 2858000.0, 2870000.0, 2881000.0,
    5880             :               2893000.0, 2916000.0, 2939000.0, 2961000.0, 2983000.0, 3005000.0, 3027000.0, 3048000.0, 3070000.0, 3091000.0, 3113000.0, 3134000.0,
    5881             :               3156000.0, 3177000.0, 3198000.0, 3280000.0, 3370000.0, 3478000.0},
    5882             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5883             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5884             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5885             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5886             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5887             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5888             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5889             :               0.0,       0.0,       0.0,       0.0,       2785000.0, 2799000.0, 2813000.0, 2826000.0, 2838000.0, 2851000.0, 2863000.0, 2875000.0,
    5890             :               2887000.0, 2910000.0, 2933000.0, 2956000.0, 2979000.0, 3001000.0, 3023000.0, 3045000.0, 3067000.0, 3088000.0, 3110000.0, 3132000.0,
    5891             :               3153000.0, 3175000.0, 3196000.0, 3280000.0, 3368000.0, 3476000.0},
    5892             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5893             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5894             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5895             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5896             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5897             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5898             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5899             :               0.0,       0.0,       0.0,       0.0,       0.0,       2789000.0, 2803000.0, 2817000.0, 2830000.0, 2843000.0, 2856000.0, 2868000.0,
    5900             :               2880000.0, 2904000.0, 2928000.0, 2951000.0, 2974000.0, 2996000.0, 3019000.0, 3041000.0, 3063000.0, 3085000.0, 3107000.0, 3128000.0,
    5901             :               3150000.0, 3172000.0, 3193000.0, 3280000.0, 3366000.0, 3475000.0},
    5902             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5903             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5904             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5905             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5906             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5907             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5908             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5909             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2792000.0, 2807000.0, 2821000.0, 2834000.0, 2847000.0, 2860000.0,
    5910             :               2873000.0, 2898000.0, 2922000.0, 2945000.0, 2969000.0, 2992000.0, 3014000.0, 3037000.0, 3059000.0, 3081000.0, 3103000.0, 3125000.0,
    5911             :               3147000.0, 3169000.0, 3190000.0, 3280000.0, 3364000.0, 3473000.0},
    5912             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5913             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5914             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5915             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5916             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5917             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5918             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5919             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2795000.0, 2810000.0, 2824000.0, 2838000.0, 2851000.0,
    5920             :               2864000.0, 2890000.0, 2915000.0, 2939000.0, 2963000.0, 2986000.0, 3009000.0, 3032000.0, 3055000.0, 3077000.0, 3099000.0, 3121000.0,
    5921             :               3143000.0, 3165000.0, 3187000.0, 3280000.0, 3362000.0, 3471000.0},
    5922             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5923             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5924             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5925             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5926             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5927             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5928             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5929             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2797000.0, 2813000.0, 2827000.0, 2841000.0,
    5930             :               2855000.0, 2882000.0, 2907000.0, 2932000.0, 2956000.0, 2980000.0, 3004000.0, 3027000.0, 3050000.0, 3072000.0, 3095000.0, 3117000.0,
    5931             :               3140000.0, 3162000.0, 3184000.0, 3280000.0, 3359000.0, 3469000.0},
    5932             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5933             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5934             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5935             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5936             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5937             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5938             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5939             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2799000.0, 2815000.0, 2830000.0,
    5940             :               2844000.0, 2872000.0, 2899000.0, 2924000.0, 2949000.0, 2974000.0, 2998000.0, 3021000.0, 3044000.0, 3067000.0, 3090000.0, 3113000.0,
    5941             :               3135000.0, 3158000.0, 3180000.0, 3280000.0, 3357000.0, 3467000.0},
    5942             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5943             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5944             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5945             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5946             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5947             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5948             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5949             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2801000.0, 2817000.0,
    5950             :               2832000.0, 2862000.0, 2889000.0, 2916000.0, 2941000.0, 2966000.0, 2991000.0, 3015000.0, 3039000.0, 3062000.0, 3085000.0, 3108000.0,
    5951             :               3131000.0, 3154000.0, 3176000.0, 3280000.0, 3354000.0, 3465000.0},
    5952             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5953             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5954             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5955             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5956             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5957             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5958             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5959             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2802000.0,
    5960             :               2819000.0, 2850000.0, 2879000.0, 2906000.0, 2933000.0, 2958000.0, 2984000.0, 3008000.0, 3032000.0, 3056000.0, 3080000.0, 3103000.0,
    5961             :               3126000.0, 3149000.0, 3172000.0, 3280000.0, 3351000.0, 3462000.0},
    5962             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5963             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5964             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5965             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5966             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5967             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5968             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5969             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5970             :               2803000.0, 2836000.0, 2867000.0, 2895000.0, 2923000.0, 2950000.0, 2975000.0, 3001000.0, 3025000.0, 3050000.0, 3073000.0, 3097000.0,
    5971             :               3121000.0, 3144000.0, 3167000.0, 3280000.0, 3348000.0, 3459000.0},
    5972             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5973             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5974             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5975             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5976             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5977             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5978             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5979             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5980             :               0.0,       2803000.0, 2838000.0, 2870000.0, 2900000.0, 2929000.0, 2957000.0, 2983000.0, 3009000.0, 3035000.0, 3060000.0, 3084000.0,
    5981             :               3108000.0, 3132000.0, 3156000.0, 3280000.0, 3340000.0, 3453000.0},
    5982             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5983             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5984             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5985             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5986             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5987             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5988             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5989             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5990             :               0.0,       0.0,       2801000.0, 2838000.0, 2872000.0, 2904000.0, 2934000.0, 2963000.0, 2990000.0, 3017000.0, 3043000.0, 3069000.0,
    5991             :               3094000.0, 3119000.0, 3143000.0, 3280000.0, 3332000.0, 3446000.0},
    5992             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5993             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5994             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5995             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5996             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5997             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5998             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5999             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6000             :               0.0,       0.0,       0.0,       2797000.0, 2837000.0, 2873000.0, 2906000.0, 2937000.0, 2967000.0, 2996000.0, 3023000.0, 3050000.0,
    6001             :               3077000.0, 3103000.0, 3128000.0, 3280000.0, 3322000.0, 3438000.0},
    6002             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6003             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6004             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6005             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6006             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6007             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6008             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6009             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6010             :               0.0,       0.0,       0.0,       0.0,       2790000.0, 2833000.0, 2871000.0, 2906000.0, 2939000.0, 2970000.0, 3000000.0, 3029000.0,
    6011             :               3057000.0, 3084000.0, 3110000.0, 3280000.0, 3310000.0, 3429000.0},
    6012             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6013             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6014             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6015             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6016             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6017             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6018             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6019             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6020             :               0.0,       0.0,       0.0,       0.0,       0.0,       2780000.0, 2826000.0, 2867000.0, 2905000.0, 2939000.0, 2972000.0, 3003000.0,
    6021             :               3033000.0, 3062000.0, 3090000.0, 3280000.0, 3297000.0, 3418000.0},
    6022             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0,       0.0,
    6023             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0,       0.0,
    6024             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0,       0.0,
    6025             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0,       0.0,
    6026             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0,       0.0,
    6027             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0,       0.0,
    6028             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0,       0.0,
    6029             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 2767000.0, 2817000.0,
    6030             :               2861000.0, 2901000.0, 2938000.0, 2972000.0, 3004000.0, 3036000.0, 3066000.0, 3280000.0, 3282000.0, 3406000.0},
    6031             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0,
    6032             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0,
    6033             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0,
    6034             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0,
    6035             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0,
    6036             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0,
    6037             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0,
    6038             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 2750000.0,
    6039             :               2806000.0, 2853000.0, 2895000.0, 2934000.0, 2970000.0, 3004000.0, 3037000.0, 3280000.0, 3264000.0, 3392000.0},
    6040             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6041             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6042             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6043             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6044             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6045             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6046             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 2728000.0,
    6047             :               2790000.0, 2842000.0, 2887000.0, 2929000.0, 2967000.0, 3003000.0, 3280000.0, 3244000.0, 3377000.0},
    6048             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6049             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6050             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6051             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6052             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6053             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6054             :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    6055             :               2701000.0, 2771000.0, 2828000.0, 2877000.0, 2921000.0, 2961000.0, 3280000.0, 3222000.0, 3359000.0},
    6056             :              {0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6057             :               0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6058             :               0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6059             :               0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6060             :               0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6061             :               0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6062             :               0.0, 0.0, 0.0, 0.0, 2666000.0, 2747000.0, 2810000.0, 2864000.0, 2911000.0, 3280000.0, 3195000.0, 3339000.0},
    6063             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6064             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6065             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6066             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6067             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6068             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    6069             :               0.0, 0.0, 0.0, 0.0, 0.0, 2622000.0, 2718000.0, 2789000.0, 2847000.0, 3280000.0, 3165000.0, 3316000.0},
    6070             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6071             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6072             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6073             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6074             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6075             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2564000.0, 2683000.0, 2763000.0, 3280000.0, 3130000.0, 3290000.0},
    6076             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,
    6077             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,
    6078             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,
    6079             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,
    6080             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,
    6081             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2481000.0, 2641000.0, 3280000.0, 3089000.0, 3260000.0},
    6082             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,
    6083             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,
    6084             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,
    6085             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,
    6086             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,
    6087             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2335000.0, 3280000.0, 3040000.0, 3226000.0},
    6088             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6089             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6090             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6091             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6092             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3280000.0, 2821000.0, 3085000.0},
    6093             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6094             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6095             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6096             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6097             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3280000.0, 2671000.0, 2998000.0},
    6098             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6099             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6100             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6101             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6102             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3280000.0, 2512000.0, 2906000.0}}};
    6103             : 
    6104             :     static constexpr std::array<std::array<Real64, DefaultNumSteamSuperheatedTemps>, DefaultNumSteamSuperheatedPressure>
    6105             :         DefaultSteamSuperheatedDensityDataTable = {
    6106             :             {{4.855e-03, 4.837e-03, 4.767e-03, 4.683e-03, 4.601e-03, 4.522e-03, 4.446e-03, 4.373e-03, 4.302e-03, 4.233e-03, 4.167e-03, 4.102e-03,
    6107             :               4.039e-03, 3.979e-03, 3.920e-03, 3.863e-03, 3.840e-03, 3.818e-03, 3.796e-03, 3.775e-03, 3.753e-03, 3.732e-03, 3.711e-03, 3.691e-03,
    6108             :               3.670e-03, 3.650e-03, 3.630e-03, 3.610e-03, 3.591e-03, 3.571e-03, 3.562e-03, 3.552e-03, 3.543e-03, 3.533e-03, 3.524e-03, 3.514e-03,
    6109             :               3.505e-03, 3.496e-03, 3.487e-03, 3.477e-03, 3.468e-03, 3.459e-03, 3.450e-03, 3.441e-03, 3.432e-03, 3.424e-03, 3.415e-03, 3.406e-03,
    6110             :               3.397e-03, 3.388e-03, 3.380e-03, 3.371e-03, 3.363e-03, 3.354e-03, 3.346e-03, 3.337e-03, 3.329e-03, 3.321e-03, 3.312e-03, 3.304e-03,
    6111             :               3.296e-03, 3.288e-03, 3.271e-03, 3.255e-03, 3.239e-03, 3.224e-03, 3.208e-03, 3.193e-03, 3.177e-03, 3.162e-03, 3.147e-03, 3.132e-03,
    6112             :               3.117e-03, 3.103e-03, 3.088e-03, 3.074e-03, 3.060e-03, 3.046e-03, 3.032e-03, 3.018e-03, 3.004e-03, 2.991e-03, 2.977e-03, 2.964e-03,
    6113             :               2.951e-03, 2.938e-03, 2.925e-03, 2.893e-03, 2.862e-03, 2.831e-03, 2.801e-03, 2.772e-03, 2.743e-03, 2.715e-03, 2.688e-03, 2.661e-03,
    6114             :               2.634e-03, 2.583e-03, 2.533e-03, 2.486e-03, 2.440e-03, 2.396e-03, 2.353e-03, 2.312e-03, 2.273e-03, 2.234e-03, 2.197e-03, 2.162e-03,
    6115             :               2.127e-03, 2.093e-03, 2.061e-03, 3.542e-05, 1.833e-03, 1.714e-03},
    6116             :              {0.0,       5.196e-03, 5.121e-03, 5.031e-03, 4.943e-03, 4.859e-03, 4.777e-03, 4.698e-03, 4.622e-03, 4.548e-03, 4.476e-03, 4.407e-03,
    6117             :               4.340e-03, 4.274e-03, 4.211e-03, 4.150e-03, 4.126e-03, 4.102e-03, 4.078e-03, 4.055e-03, 4.032e-03, 4.009e-03, 3.987e-03, 3.965e-03,
    6118             :               3.943e-03, 3.921e-03, 3.899e-03, 3.878e-03, 3.857e-03, 3.836e-03, 3.826e-03, 3.816e-03, 3.806e-03, 3.795e-03, 3.785e-03, 3.775e-03,
    6119             :               3.765e-03, 3.755e-03, 3.746e-03, 3.736e-03, 3.726e-03, 3.716e-03, 3.707e-03, 3.697e-03, 3.687e-03, 3.678e-03, 3.668e-03, 3.659e-03,
    6120             :               3.650e-03, 3.640e-03, 3.631e-03, 3.622e-03, 3.612e-03, 3.603e-03, 3.594e-03, 3.585e-03, 3.576e-03, 3.567e-03, 3.558e-03, 3.549e-03,
    6121             :               3.541e-03, 3.532e-03, 3.514e-03, 3.497e-03, 3.480e-03, 3.463e-03, 3.446e-03, 3.430e-03, 3.413e-03, 3.397e-03, 3.381e-03, 3.365e-03,
    6122             :               3.349e-03, 3.333e-03, 3.318e-03, 3.302e-03, 3.287e-03, 3.272e-03, 3.257e-03, 3.242e-03, 3.228e-03, 3.213e-03, 3.198e-03, 3.184e-03,
    6123             :               3.170e-03, 3.156e-03, 3.142e-03, 3.108e-03, 3.074e-03, 3.041e-03, 3.009e-03, 2.978e-03, 2.947e-03, 2.917e-03, 2.887e-03, 2.858e-03,
    6124             :               2.830e-03, 2.775e-03, 2.722e-03, 2.671e-03, 2.621e-03, 2.574e-03, 2.528e-03, 2.484e-03, 2.442e-03, 2.400e-03, 2.361e-03, 2.322e-03,
    6125             :               2.285e-03, 2.249e-03, 2.214e-03, 3.542e-05, 1.969e-03, 1.841e-03},
    6126             :              {0.0,       0.0,       6.802e-03, 6.681e-03, 6.565e-03, 6.453e-03, 6.344e-03, 6.239e-03, 6.138e-03, 6.040e-03, 5.944e-03, 5.852e-03,
    6127             :               5.763e-03, 5.676e-03, 5.592e-03, 5.511e-03, 5.479e-03, 5.447e-03, 5.416e-03, 5.385e-03, 5.355e-03, 5.324e-03, 5.295e-03, 5.265e-03,
    6128             :               5.236e-03, 5.207e-03, 5.178e-03, 5.150e-03, 5.122e-03, 5.095e-03, 5.081e-03, 5.067e-03, 5.054e-03, 5.040e-03, 5.027e-03, 5.014e-03,
    6129             :               5.000e-03, 4.987e-03, 4.974e-03, 4.961e-03, 4.948e-03, 4.935e-03, 4.922e-03, 4.909e-03, 4.897e-03, 4.884e-03, 4.871e-03, 4.859e-03,
    6130             :               4.846e-03, 4.834e-03, 4.822e-03, 4.809e-03, 4.797e-03, 4.785e-03, 4.773e-03, 4.761e-03, 4.749e-03, 4.737e-03, 4.725e-03, 4.714e-03,
    6131             :               4.702e-03, 4.690e-03, 4.667e-03, 4.644e-03, 4.621e-03, 4.599e-03, 4.577e-03, 4.555e-03, 4.533e-03, 4.511e-03, 4.490e-03, 4.468e-03,
    6132             :               4.447e-03, 4.427e-03, 4.406e-03, 4.385e-03, 4.365e-03, 4.345e-03, 4.325e-03, 4.306e-03, 4.286e-03, 4.267e-03, 4.247e-03, 4.228e-03,
    6133             :               4.210e-03, 4.191e-03, 4.172e-03, 4.127e-03, 4.082e-03, 4.039e-03, 3.996e-03, 3.954e-03, 3.913e-03, 3.873e-03, 3.834e-03, 3.796e-03,
    6134             :               3.758e-03, 3.685e-03, 3.614e-03, 3.546e-03, 3.481e-03, 3.418e-03, 3.357e-03, 3.299e-03, 3.242e-03, 3.188e-03, 3.135e-03, 3.084e-03,
    6135             :               3.034e-03, 2.986e-03, 2.940e-03, 3.542e-05, 2.615e-03, 2.445e-03},
    6136             :              {0.0,       0.0,       0.0,       9.407e-03, 9.243e-03, 9.084e-03, 8.931e-03, 8.783e-03, 8.640e-03, 8.502e-03, 8.368e-03, 8.238e-03,
    6137             :               8.113e-03, 7.991e-03, 7.872e-03, 7.757e-03, 7.712e-03, 7.668e-03, 7.624e-03, 7.580e-03, 7.537e-03, 7.495e-03, 7.453e-03, 7.411e-03,
    6138             :               7.370e-03, 7.330e-03, 7.289e-03, 7.250e-03, 7.210e-03, 7.172e-03, 7.152e-03, 7.133e-03, 7.114e-03, 7.095e-03, 7.076e-03, 7.057e-03,
    6139             :               7.039e-03, 7.020e-03, 7.002e-03, 6.983e-03, 6.965e-03, 6.947e-03, 6.929e-03, 6.911e-03, 6.893e-03, 6.875e-03, 6.857e-03, 6.840e-03,
    6140             :               6.822e-03, 6.805e-03, 6.787e-03, 6.770e-03, 6.753e-03, 6.736e-03, 6.719e-03, 6.702e-03, 6.685e-03, 6.668e-03, 6.651e-03, 6.635e-03,
    6141             :               6.618e-03, 6.602e-03, 6.569e-03, 6.537e-03, 6.505e-03, 6.473e-03, 6.442e-03, 6.411e-03, 6.380e-03, 6.350e-03, 6.320e-03, 6.290e-03,
    6142             :               6.260e-03, 6.231e-03, 6.202e-03, 6.173e-03, 6.144e-03, 6.116e-03, 6.088e-03, 6.060e-03, 6.033e-03, 6.006e-03, 5.979e-03, 5.952e-03,
    6143             :               5.925e-03, 5.899e-03, 5.873e-03, 5.809e-03, 5.746e-03, 5.685e-03, 5.625e-03, 5.566e-03, 5.508e-03, 5.452e-03, 5.397e-03, 5.342e-03,
    6144             :               5.289e-03, 5.186e-03, 5.087e-03, 4.992e-03, 4.900e-03, 4.811e-03, 4.726e-03, 4.643e-03, 4.564e-03, 4.487e-03, 4.412e-03, 4.340e-03,
    6145             :               4.271e-03, 4.203e-03, 4.138e-03, 3.542e-05, 3.680e-03, 3.442e-03},
    6146             :              {0.0,       0.0,       0.0,       0.0,       1.284e-02, 1.262e-02, 1.241e-02, 1.220e-02, 1.200e-02, 1.181e-02, 1.162e-02, 1.144e-02,
    6147             :               1.127e-02, 1.110e-02, 1.093e-02, 1.078e-02, 1.071e-02, 1.065e-02, 1.059e-02, 1.053e-02, 1.047e-02, 1.041e-02, 1.035e-02, 1.029e-02,
    6148             :               1.024e-02, 1.018e-02, 1.012e-02, 1.007e-02, 1.001e-02, 9.961e-03, 9.934e-03, 9.907e-03, 9.881e-03, 9.855e-03, 9.828e-03, 9.802e-03,
    6149             :               9.776e-03, 9.750e-03, 9.725e-03, 9.699e-03, 9.674e-03, 9.649e-03, 9.623e-03, 9.598e-03, 9.574e-03, 9.549e-03, 9.524e-03, 9.500e-03,
    6150             :               9.475e-03, 9.451e-03, 9.427e-03, 9.403e-03, 9.379e-03, 9.355e-03, 9.332e-03, 9.308e-03, 9.285e-03, 9.261e-03, 9.238e-03, 9.215e-03,
    6151             :               9.192e-03, 9.170e-03, 9.124e-03, 9.079e-03, 9.035e-03, 8.991e-03, 8.947e-03, 8.904e-03, 8.862e-03, 8.819e-03, 8.777e-03, 8.736e-03,
    6152             :               8.695e-03, 8.654e-03, 8.614e-03, 8.574e-03, 8.534e-03, 8.495e-03, 8.456e-03, 8.417e-03, 8.379e-03, 8.341e-03, 8.304e-03, 8.267e-03,
    6153             :               8.230e-03, 8.193e-03, 8.157e-03, 8.068e-03, 7.981e-03, 7.896e-03, 7.812e-03, 7.731e-03, 7.651e-03, 7.572e-03, 7.495e-03, 7.420e-03,
    6154             :               7.346e-03, 7.203e-03, 7.065e-03, 6.933e-03, 6.805e-03, 6.682e-03, 6.563e-03, 6.449e-03, 6.338e-03, 6.231e-03, 6.128e-03, 6.028e-03,
    6155             :               5.931e-03, 5.838e-03, 5.747e-03, 3.542e-05, 5.111e-03, 4.781e-03},
    6156             :              {0.0,       0.0,       0.0,       0.0,       0.0,       1.731e-02, 1.702e-02, 1.674e-02, 1.646e-02, 1.620e-02, 1.594e-02, 1.570e-02,
    6157             :               1.546e-02, 1.522e-02, 1.500e-02, 1.478e-02, 1.469e-02, 1.461e-02, 1.452e-02, 1.444e-02, 1.436e-02, 1.428e-02, 1.420e-02, 1.412e-02,
    6158             :               1.404e-02, 1.396e-02, 1.389e-02, 1.381e-02, 1.374e-02, 1.366e-02, 1.362e-02, 1.359e-02, 1.355e-02, 1.352e-02, 1.348e-02, 1.344e-02,
    6159             :               1.341e-02, 1.337e-02, 1.334e-02, 1.330e-02, 1.327e-02, 1.323e-02, 1.320e-02, 1.316e-02, 1.313e-02, 1.310e-02, 1.306e-02, 1.303e-02,
    6160             :               1.300e-02, 1.296e-02, 1.293e-02, 1.290e-02, 1.286e-02, 1.283e-02, 1.280e-02, 1.277e-02, 1.273e-02, 1.270e-02, 1.267e-02, 1.264e-02,
    6161             :               1.261e-02, 1.258e-02, 1.251e-02, 1.245e-02, 1.239e-02, 1.233e-02, 1.227e-02, 1.221e-02, 1.215e-02, 1.210e-02, 1.204e-02, 1.198e-02,
    6162             :               1.192e-02, 1.187e-02, 1.181e-02, 1.176e-02, 1.170e-02, 1.165e-02, 1.160e-02, 1.154e-02, 1.149e-02, 1.144e-02, 1.139e-02, 1.134e-02,
    6163             :               1.129e-02, 1.124e-02, 1.119e-02, 1.107e-02, 1.095e-02, 1.083e-02, 1.071e-02, 1.060e-02, 1.049e-02, 1.038e-02, 1.028e-02, 1.018e-02,
    6164             :               1.007e-02, 9.879e-03, 9.690e-03, 9.508e-03, 9.333e-03, 9.164e-03, 9.001e-03, 8.844e-03, 8.692e-03, 8.546e-03, 8.404e-03, 8.267e-03,
    6165             :               8.134e-03, 8.006e-03, 7.881e-03, 3.542e-05, 7.009e-03, 6.556e-03},
    6166             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2.307e-02, 2.269e-02, 2.232e-02, 2.196e-02, 2.161e-02, 2.128e-02,
    6167             :               2.095e-02, 2.063e-02, 2.033e-02, 2.003e-02, 1.991e-02, 1.980e-02, 1.968e-02, 1.957e-02, 1.946e-02, 1.935e-02, 1.924e-02, 1.913e-02,
    6168             :               1.903e-02, 1.892e-02, 1.882e-02, 1.872e-02, 1.862e-02, 1.851e-02, 1.846e-02, 1.842e-02, 1.837e-02, 1.832e-02, 1.827e-02, 1.822e-02,
    6169             :               1.817e-02, 1.812e-02, 1.808e-02, 1.803e-02, 1.798e-02, 1.793e-02, 1.789e-02, 1.784e-02, 1.779e-02, 1.775e-02, 1.770e-02, 1.766e-02,
    6170             :               1.761e-02, 1.757e-02, 1.752e-02, 1.748e-02, 1.743e-02, 1.739e-02, 1.734e-02, 1.730e-02, 1.726e-02, 1.721e-02, 1.717e-02, 1.713e-02,
    6171             :               1.708e-02, 1.704e-02, 1.696e-02, 1.687e-02, 1.679e-02, 1.671e-02, 1.663e-02, 1.655e-02, 1.647e-02, 1.639e-02, 1.631e-02, 1.624e-02,
    6172             :               1.616e-02, 1.608e-02, 1.601e-02, 1.593e-02, 1.586e-02, 1.579e-02, 1.572e-02, 1.564e-02, 1.557e-02, 1.550e-02, 1.543e-02, 1.536e-02,
    6173             :               1.530e-02, 1.523e-02, 1.516e-02, 1.499e-02, 1.483e-02, 1.467e-02, 1.452e-02, 1.437e-02, 1.422e-02, 1.407e-02, 1.393e-02, 1.379e-02,
    6174             :               1.365e-02, 1.339e-02, 1.313e-02, 1.288e-02, 1.265e-02, 1.242e-02, 1.220e-02, 1.198e-02, 1.178e-02, 1.158e-02, 1.139e-02, 1.120e-02,
    6175             :               1.102e-02, 1.085e-02, 1.068e-02, 3.542e-05, 9.498e-03, 8.884e-03},
    6176             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       3.042e-02, 2.992e-02, 2.943e-02, 2.897e-02, 2.851e-02,
    6177             :               2.808e-02, 2.765e-02, 2.724e-02, 2.684e-02, 2.669e-02, 2.653e-02, 2.638e-02, 2.623e-02, 2.608e-02, 2.593e-02, 2.579e-02, 2.564e-02,
    6178             :               2.550e-02, 2.536e-02, 2.522e-02, 2.508e-02, 2.494e-02, 2.481e-02, 2.474e-02, 2.468e-02, 2.461e-02, 2.454e-02, 2.448e-02, 2.441e-02,
    6179             :               2.435e-02, 2.428e-02, 2.422e-02, 2.416e-02, 2.409e-02, 2.403e-02, 2.397e-02, 2.391e-02, 2.384e-02, 2.378e-02, 2.372e-02, 2.366e-02,
    6180             :               2.360e-02, 2.354e-02, 2.348e-02, 2.342e-02, 2.336e-02, 2.330e-02, 2.324e-02, 2.318e-02, 2.312e-02, 2.306e-02, 2.301e-02, 2.295e-02,
    6181             :               2.289e-02, 2.284e-02, 2.272e-02, 2.261e-02, 2.250e-02, 2.239e-02, 2.228e-02, 2.217e-02, 2.207e-02, 2.196e-02, 2.186e-02, 2.175e-02,
    6182             :               2.165e-02, 2.155e-02, 2.145e-02, 2.135e-02, 2.125e-02, 2.115e-02, 2.106e-02, 2.096e-02, 2.087e-02, 2.077e-02, 2.068e-02, 2.059e-02,
    6183             :               2.049e-02, 2.040e-02, 2.031e-02, 2.009e-02, 1.987e-02, 1.966e-02, 1.945e-02, 1.925e-02, 1.905e-02, 1.885e-02, 1.866e-02, 1.848e-02,
    6184             :               1.829e-02, 1.794e-02, 1.759e-02, 1.726e-02, 1.694e-02, 1.664e-02, 1.634e-02, 1.606e-02, 1.578e-02, 1.552e-02, 1.526e-02, 1.501e-02,
    6185             :               1.477e-02, 1.453e-02, 1.431e-02, 3.542e-05, 1.273e-02, 1.190e-02},
    6186             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       3.967e-02, 3.903e-02, 3.841e-02, 3.781e-02,
    6187             :               3.723e-02, 3.666e-02, 3.612e-02, 3.559e-02, 3.538e-02, 3.518e-02, 3.497e-02, 3.477e-02, 3.457e-02, 3.438e-02, 3.419e-02, 3.399e-02,
    6188             :               3.380e-02, 3.362e-02, 3.343e-02, 3.325e-02, 3.307e-02, 3.289e-02, 3.280e-02, 3.271e-02, 3.262e-02, 3.254e-02, 3.245e-02, 3.236e-02,
    6189             :               3.228e-02, 3.219e-02, 3.211e-02, 3.202e-02, 3.194e-02, 3.186e-02, 3.177e-02, 3.169e-02, 3.161e-02, 3.153e-02, 3.144e-02, 3.136e-02,
    6190             :               3.128e-02, 3.120e-02, 3.112e-02, 3.104e-02, 3.096e-02, 3.089e-02, 3.081e-02, 3.073e-02, 3.065e-02, 3.058e-02, 3.050e-02, 3.042e-02,
    6191             :               3.035e-02, 3.027e-02, 3.012e-02, 2.997e-02, 2.983e-02, 2.968e-02, 2.954e-02, 2.939e-02, 2.925e-02, 2.911e-02, 2.897e-02, 2.884e-02,
    6192             :               2.870e-02, 2.857e-02, 2.843e-02, 2.830e-02, 2.817e-02, 2.804e-02, 2.791e-02, 2.778e-02, 2.766e-02, 2.753e-02, 2.741e-02, 2.729e-02,
    6193             :               2.716e-02, 2.704e-02, 2.692e-02, 2.663e-02, 2.634e-02, 2.606e-02, 2.579e-02, 2.552e-02, 2.525e-02, 2.499e-02, 2.474e-02, 2.449e-02,
    6194             :               2.425e-02, 2.377e-02, 2.332e-02, 2.288e-02, 2.246e-02, 2.205e-02, 2.166e-02, 2.128e-02, 2.092e-02, 2.057e-02, 2.022e-02, 1.989e-02,
    6195             :               1.957e-02, 1.927e-02, 1.897e-02, 3.542e-05, 1.687e-02, 1.578e-02},
    6196             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       5.124e-02, 5.042e-02, 4.963e-02,
    6197             :               4.887e-02, 4.812e-02, 4.741e-02, 4.671e-02, 4.644e-02, 4.617e-02, 4.590e-02, 4.564e-02, 4.537e-02, 4.512e-02, 4.486e-02, 4.461e-02,
    6198             :               4.436e-02, 4.412e-02, 4.387e-02, 4.363e-02, 4.340e-02, 4.316e-02, 4.304e-02, 4.293e-02, 4.281e-02, 4.270e-02, 4.258e-02, 4.247e-02,
    6199             :               4.236e-02, 4.225e-02, 4.213e-02, 4.202e-02, 4.191e-02, 4.180e-02, 4.169e-02, 4.158e-02, 4.148e-02, 4.137e-02, 4.126e-02, 4.116e-02,
    6200             :               4.105e-02, 4.094e-02, 4.084e-02, 4.073e-02, 4.063e-02, 4.053e-02, 4.043e-02, 4.032e-02, 4.022e-02, 4.012e-02, 4.002e-02, 3.992e-02,
    6201             :               3.982e-02, 3.972e-02, 3.952e-02, 3.933e-02, 3.914e-02, 3.895e-02, 3.876e-02, 3.857e-02, 3.838e-02, 3.820e-02, 3.802e-02, 3.784e-02,
    6202             :               3.766e-02, 3.748e-02, 3.731e-02, 3.713e-02, 3.696e-02, 3.679e-02, 3.662e-02, 3.646e-02, 3.629e-02, 3.613e-02, 3.596e-02, 3.580e-02,
    6203             :               3.564e-02, 3.548e-02, 3.533e-02, 3.494e-02, 3.456e-02, 3.419e-02, 3.383e-02, 3.348e-02, 3.313e-02, 3.279e-02, 3.246e-02, 3.213e-02,
    6204             :               3.181e-02, 3.119e-02, 3.059e-02, 3.002e-02, 2.947e-02, 2.893e-02, 2.842e-02, 2.792e-02, 2.744e-02, 2.698e-02, 2.653e-02, 2.610e-02,
    6205             :               2.568e-02, 2.528e-02, 2.488e-02, 3.542e-05, 2.213e-02, 2.070e-02},
    6206             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       6.556e-02, 6.453e-02,
    6207             :               6.353e-02, 6.256e-02, 6.163e-02, 6.072e-02, 6.036e-02, 6.001e-02, 5.966e-02, 5.932e-02, 5.898e-02, 5.864e-02, 5.831e-02, 5.799e-02,
    6208             :               5.766e-02, 5.734e-02, 5.702e-02, 5.671e-02, 5.640e-02, 5.610e-02, 5.594e-02, 5.579e-02, 5.564e-02, 5.549e-02, 5.535e-02, 5.520e-02,
    6209             :               5.505e-02, 5.490e-02, 5.476e-02, 5.461e-02, 5.447e-02, 5.433e-02, 5.419e-02, 5.404e-02, 5.390e-02, 5.376e-02, 5.362e-02, 5.349e-02,
    6210             :               5.335e-02, 5.321e-02, 5.307e-02, 5.294e-02, 5.280e-02, 5.267e-02, 5.254e-02, 5.240e-02, 5.227e-02, 5.214e-02, 5.201e-02, 5.188e-02,
    6211             :               5.175e-02, 5.162e-02, 5.136e-02, 5.111e-02, 5.086e-02, 5.061e-02, 5.036e-02, 5.012e-02, 4.988e-02, 4.964e-02, 4.940e-02, 4.917e-02,
    6212             :               4.894e-02, 4.871e-02, 4.848e-02, 4.825e-02, 4.803e-02, 4.781e-02, 4.759e-02, 4.737e-02, 4.716e-02, 4.694e-02, 4.673e-02, 4.652e-02,
    6213             :               4.632e-02, 4.611e-02, 4.591e-02, 4.540e-02, 4.491e-02, 4.443e-02, 4.396e-02, 4.350e-02, 4.305e-02, 4.261e-02, 4.218e-02, 4.175e-02,
    6214             :               4.134e-02, 4.053e-02, 3.975e-02, 3.901e-02, 3.829e-02, 3.759e-02, 3.693e-02, 3.628e-02, 3.566e-02, 3.506e-02, 3.448e-02, 3.391e-02,
    6215             :               3.337e-02, 3.284e-02, 3.233e-02, 3.542e-05, 2.875e-02, 2.689e-02},
    6216             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       8.315e-02,
    6217             :               8.185e-02, 8.060e-02, 7.939e-02, 7.821e-02, 7.775e-02, 7.730e-02, 7.685e-02, 7.641e-02, 7.597e-02, 7.553e-02, 7.511e-02, 7.468e-02,
    6218             :               7.426e-02, 7.385e-02, 7.344e-02, 7.304e-02, 7.264e-02, 7.224e-02, 7.205e-02, 7.185e-02, 7.166e-02, 7.147e-02, 7.128e-02, 7.108e-02,
    6219             :               7.090e-02, 7.071e-02, 7.052e-02, 7.033e-02, 7.015e-02, 6.996e-02, 6.978e-02, 6.960e-02, 6.942e-02, 6.923e-02, 6.906e-02, 6.888e-02,
    6220             :               6.870e-02, 6.852e-02, 6.835e-02, 6.817e-02, 6.800e-02, 6.782e-02, 6.765e-02, 6.748e-02, 6.731e-02, 6.714e-02, 6.697e-02, 6.680e-02,
    6221             :               6.664e-02, 6.647e-02, 6.614e-02, 6.581e-02, 6.549e-02, 6.517e-02, 6.485e-02, 6.454e-02, 6.423e-02, 6.392e-02, 6.361e-02, 6.331e-02,
    6222             :               6.301e-02, 6.272e-02, 6.242e-02, 6.213e-02, 6.185e-02, 6.156e-02, 6.128e-02, 6.100e-02, 6.072e-02, 6.044e-02, 6.017e-02, 5.990e-02,
    6223             :               5.963e-02, 5.937e-02, 5.911e-02, 5.846e-02, 5.783e-02, 5.721e-02, 5.660e-02, 5.601e-02, 5.543e-02, 5.486e-02, 5.430e-02, 5.375e-02,
    6224             :               5.322e-02, 5.218e-02, 5.118e-02, 5.022e-02, 4.929e-02, 4.840e-02, 4.754e-02, 4.671e-02, 4.591e-02, 4.513e-02, 4.438e-02, 4.366e-02,
    6225             :               4.296e-02, 4.228e-02, 4.162e-02, 3.542e-05, 3.701e-02, 3.462e-02},
    6226             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6227             :               0.10460,   0.10290,   0.10140,   9.988e-02, 9.929e-02, 9.871e-02, 9.813e-02, 9.757e-02, 9.700e-02, 9.645e-02, 9.590e-02, 9.536e-02,
    6228             :               9.482e-02, 9.430e-02, 9.377e-02, 9.325e-02, 9.274e-02, 9.224e-02, 9.199e-02, 9.174e-02, 9.149e-02, 9.124e-02, 9.100e-02, 9.075e-02,
    6229             :               9.051e-02, 9.027e-02, 9.003e-02, 8.979e-02, 8.955e-02, 8.932e-02, 8.908e-02, 8.885e-02, 8.862e-02, 8.839e-02, 8.816e-02, 8.793e-02,
    6230             :               8.770e-02, 8.747e-02, 8.725e-02, 8.703e-02, 8.680e-02, 8.658e-02, 8.636e-02, 8.614e-02, 8.592e-02, 8.571e-02, 8.549e-02, 8.528e-02,
    6231             :               8.506e-02, 8.485e-02, 8.443e-02, 8.401e-02, 8.360e-02, 8.319e-02, 8.278e-02, 8.238e-02, 8.198e-02, 8.159e-02, 8.120e-02, 8.081e-02,
    6232             :               8.043e-02, 8.005e-02, 7.968e-02, 7.931e-02, 7.894e-02, 7.857e-02, 7.821e-02, 7.786e-02, 7.750e-02, 7.715e-02, 7.680e-02, 7.646e-02,
    6233             :               7.611e-02, 7.578e-02, 7.544e-02, 7.461e-02, 7.380e-02, 7.301e-02, 7.224e-02, 7.148e-02, 7.074e-02, 7.001e-02, 6.930e-02, 6.860e-02,
    6234             :               6.792e-02, 6.659e-02, 6.532e-02, 6.409e-02, 6.291e-02, 6.177e-02, 6.067e-02, 5.961e-02, 5.859e-02, 5.760e-02, 5.664e-02, 5.572e-02,
    6235             :               5.482e-02, 5.395e-02, 5.312e-02, 3.542e-05, 4.724e-02, 4.418e-02},
    6236             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6237             :               0.0,       0.13040,   0.12840,   0.12650,   0.12580,   0.125,     0.12430,   0.12360,   0.12290,   0.12220,   0.12150,   0.12080,
    6238             :               0.12010,   0.11940,   0.11870,   0.11810,   0.11740,   0.11680,   0.11650,   0.11620,   0.11580,   0.11550,   0.11520,   0.11490,
    6239             :               0.11460,   0.11430,   0.114,     0.11370,   0.11340,   0.11310,   0.11280,   0.11250,   0.11220,   0.11190,   0.11160,   0.11130,
    6240             :               0.111,     0.11080,   0.11050,   0.11020,   0.10990,   0.10960,   0.10930,   0.10910,   0.10880,   0.10850,   0.10820,   0.108,
    6241             :               0.10770,   0.10740,   0.10690,   0.10640,   0.10580,   0.10530,   0.10480,   0.10430,   0.10380,   0.10330,   0.10280,   0.10230,
    6242             :               0.10180,   0.10130,   0.10090,   0.10040,   9.993e-02, 9.946e-02, 9.901e-02, 9.855e-02, 9.810e-02, 9.766e-02, 9.722e-02, 9.678e-02,
    6243             :               9.635e-02, 9.592e-02, 9.549e-02, 9.444e-02, 9.342e-02, 9.242e-02, 9.144e-02, 9.048e-02, 8.954e-02, 8.862e-02, 8.771e-02, 8.683e-02,
    6244             :               8.597e-02, 8.429e-02, 8.267e-02, 8.112e-02, 7.962e-02, 7.818e-02, 7.678e-02, 7.544e-02, 7.415e-02, 7.289e-02, 7.168e-02, 7.051e-02,
    6245             :               6.938e-02, 6.828e-02, 6.722e-02, 3.542e-05, 5.978e-02, 5.591e-02},
    6246             :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6247             :               0.0,       0.0,       0.16150,   0.159,     0.15810,   0.15710,   0.15620,   0.15530,   0.15440,   0.15350,   0.15260,   0.15180,
    6248             :               0.15090,   0.15,      0.14920,   0.14840,   0.14760,   0.14670,   0.14630,   0.14590,   0.14550,   0.14520,   0.14480,   0.14440,
    6249             :               0.144,     0.14360,   0.14320,   0.14280,   0.14250,   0.14210,   0.14170,   0.14130,   0.141,     0.14060,   0.14020,   0.13990,
    6250             :               0.13950,   0.13910,   0.13880,   0.13840,   0.13810,   0.13770,   0.13730,   0.137,     0.13660,   0.13630,   0.136,     0.13560,
    6251             :               0.13530,   0.13490,   0.13430,   0.13360,   0.13290,   0.13230,   0.13160,   0.131,     0.13040,   0.12970,   0.12910,   0.12850,
    6252             :               0.12790,   0.12730,   0.12670,   0.12610,   0.12550,   0.12490,   0.12430,   0.12380,   0.12320,   0.12260,   0.12210,   0.12150,
    6253             :               0.121,     0.12050,   0.11990,   0.11860,   0.11730,   0.11610,   0.11480,   0.11360,   0.11240,   0.11130,   0.11010,   0.109,
    6254             :               0.10790,   0.10580,   0.10380,   0.10190,   9.997e-02, 9.816e-02, 9.641e-02, 9.473e-02, 9.310e-02, 9.152e-02, 9.000e-02, 8.853e-02,
    6255             :               8.711e-02, 8.573e-02, 8.440e-02, 3.542e-05, 7.505e-02, 7.019e-02},
    6256             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,       0.0,      0.0,     0.0,     0.0,
    6257             :               0.0,     0.0,     0.19840, 0.19720, 0.19610, 0.19490, 0.19370, 0.19260,   0.19150,   0.19040,  0.18930, 0.18820, 0.18720,
    6258             :               0.18610, 0.18510, 0.184,   0.183,   0.18250, 0.182,   0.18150, 0.181,     0.18050,   0.18,     0.17960, 0.17910, 0.17860,
    6259             :               0.17810, 0.17760, 0.17720, 0.17670, 0.17620, 0.17580, 0.17530, 0.17480,   0.17440,   0.17390,  0.17350, 0.173,   0.17260,
    6260             :               0.17210, 0.17170, 0.17120, 0.17080, 0.17040, 0.16990, 0.16950, 0.16910,   0.16870,   0.16820,  0.16740, 0.16660, 0.16570,
    6261             :               0.16490, 0.16410, 0.16330, 0.16250, 0.16170, 0.16090, 0.16020, 0.15940,   0.15870,   0.15790,  0.15720, 0.15640, 0.15570,
    6262             :               0.155,   0.15430, 0.15360, 0.15290, 0.15220, 0.15150, 0.15080, 0.15010,   0.14950,   0.14780,  0.14620, 0.14460, 0.14310,
    6263             :               0.14160, 0.14010, 0.13870, 0.13730, 0.13590, 0.13450, 0.13190, 0.12940,   0.12690,   0.12460,  0.12230, 0.12010, 0.118,
    6264             :               0.116,   0.11410, 0.11220, 0.11030, 0.10850, 0.10680, 0.10520, 3.542e-05, 9.352e-02, 8.746e-02},
    6265             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,      0.0,     0.0,     0.0,
    6266             :               0.0,     0.0,     0.0,     0.21510, 0.21380, 0.21250, 0.21130, 0.21,      0.20880, 0.20760,  0.20640, 0.20520, 0.204,
    6267             :               0.20290, 0.20180, 0.20060, 0.19950, 0.199,   0.19840, 0.19790, 0.19730,   0.19680, 0.19630,  0.19570, 0.19520, 0.19470,
    6268             :               0.19420, 0.19360, 0.19310, 0.19260, 0.19210, 0.19160, 0.19110, 0.19060,   0.19010, 0.18960,  0.18910, 0.18860, 0.18810,
    6269             :               0.18760, 0.18720, 0.18670, 0.18620, 0.18570, 0.18520, 0.18480, 0.18430,   0.18380, 0.18340,  0.18250, 0.18150, 0.18060,
    6270             :               0.17980, 0.17890, 0.178,   0.17710, 0.17630, 0.17540, 0.17460, 0.17380,   0.17290, 0.17210,  0.17130, 0.17050, 0.16970,
    6271             :               0.16890, 0.16820, 0.16740, 0.16660, 0.16590, 0.16510, 0.16440, 0.16360,   0.16290, 0.16110,  0.15940, 0.15770, 0.156,
    6272             :               0.15430, 0.15270, 0.15110, 0.14960, 0.14810, 0.14660, 0.14370, 0.141,     0.13830, 0.13580,  0.13330, 0.13090, 0.12860,
    6273             :               0.12640, 0.12430, 0.12220, 0.12020, 0.11830, 0.11640, 0.11460, 3.542e-05, 0.10190, 9.531e-02},
    6274             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6275             :               0.0,     0.0,     0.23290, 0.23150, 0.23010, 0.22870, 0.22740,   0.22610, 0.22480, 0.22350, 0.22220, 0.221,   0.21970, 0.21850, 0.21730,
    6276             :               0.21670, 0.21610, 0.21550, 0.21490, 0.21430, 0.21370, 0.21310,   0.21260, 0.212,   0.21140, 0.21090, 0.21030, 0.20970, 0.20920, 0.20860,
    6277             :               0.20810, 0.20750, 0.207,   0.20640, 0.20590, 0.20540, 0.20480,   0.20430, 0.20380, 0.20330, 0.20270, 0.20220, 0.20170, 0.20120, 0.20070,
    6278             :               0.20020, 0.19970, 0.19870, 0.19770, 0.19670, 0.19570, 0.19480,   0.19380, 0.19290, 0.19190, 0.191,   0.19010, 0.18920, 0.18830, 0.18740,
    6279             :               0.18650, 0.18560, 0.18480, 0.18390, 0.18310, 0.18220, 0.18140,   0.18060, 0.17980, 0.179,   0.17820, 0.17740, 0.17540, 0.17350, 0.17160,
    6280             :               0.16980, 0.168,   0.16630, 0.16450, 0.16290, 0.16120, 0.15960,   0.15650, 0.15350, 0.15060, 0.14780, 0.14510, 0.14250, 0.14,    0.13760,
    6281             :               0.13530, 0.133,   0.13090, 0.12880, 0.12670, 0.12480, 3.542e-05, 0.11090, 0.1037},
    6282             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6283             :               0.0,     0.0,     0.0,     0.25180, 0.25030, 0.24890, 0.24740,   0.246,   0.24450, 0.24310, 0.24170, 0.24040, 0.239,   0.23770, 0.23640,
    6284             :               0.23570, 0.23510, 0.23440, 0.23380, 0.23310, 0.23250, 0.23190,   0.23120, 0.23060, 0.23,    0.22940, 0.22880, 0.22810, 0.22750, 0.22690,
    6285             :               0.22630, 0.22570, 0.22510, 0.22460, 0.224,   0.22340, 0.22280,   0.22220, 0.22160, 0.22110, 0.22050, 0.21990, 0.21940, 0.21880, 0.21830,
    6286             :               0.21770, 0.21720, 0.21610, 0.215,   0.21390, 0.21290, 0.21180,   0.21080, 0.20970, 0.20870, 0.20770, 0.20670, 0.20570, 0.20480, 0.20380,
    6287             :               0.20280, 0.20190, 0.201,   0.2,     0.19910, 0.19820, 0.19730,   0.19640, 0.19550, 0.19460, 0.19370, 0.19290, 0.19080, 0.18870, 0.18660,
    6288             :               0.18470, 0.18270, 0.18080, 0.17890, 0.17710, 0.17530, 0.17360,   0.17020, 0.16690, 0.16370, 0.16070, 0.15780, 0.155,   0.15230, 0.14960,
    6289             :               0.14710, 0.14470, 0.14230, 0.14,    0.13780, 0.13560, 3.542e-05, 0.12060, 0.1128},
    6290             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6291             :               0.0,     0.0,     0.0,     0.0,     0.27210, 0.27050, 0.26890,   0.26730, 0.26580, 0.26420, 0.26270, 0.26120, 0.25970, 0.25830, 0.25680,
    6292             :               0.25610, 0.25540, 0.25470, 0.254,   0.25330, 0.25260, 0.25190,   0.25130, 0.25060, 0.24990, 0.24920, 0.24860, 0.24790, 0.24720, 0.24660,
    6293             :               0.24590, 0.24530, 0.24460, 0.244,   0.24330, 0.24270, 0.24210,   0.24140, 0.24080, 0.24020, 0.23960, 0.239,   0.23840, 0.23770, 0.23710,
    6294             :               0.23650, 0.23590, 0.23480, 0.23360, 0.23240, 0.23130, 0.23010,   0.229,   0.22790, 0.22680, 0.22570, 0.22460, 0.22350, 0.22250, 0.22140,
    6295             :               0.22040, 0.21930, 0.21830, 0.21730, 0.21630, 0.21530, 0.21430,   0.21330, 0.21240, 0.21140, 0.21050, 0.20950, 0.20720, 0.205,   0.20270,
    6296             :               0.20060, 0.19850, 0.19640, 0.19440, 0.19240, 0.19040, 0.18850,   0.18480, 0.18130, 0.17790, 0.17460, 0.17140, 0.16830, 0.16540, 0.16250,
    6297             :               0.15980, 0.15710, 0.15460, 0.15210, 0.14970, 0.14730, 3.542e-05, 0.131,   0.1225},
    6298             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6299             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.29370, 0.29190,   0.29020, 0.28850, 0.28690, 0.28520, 0.28360, 0.282,   0.28040, 0.27880,
    6300             :               0.278,   0.27730, 0.27650, 0.27570, 0.275,   0.27420, 0.27350,   0.27270, 0.272,   0.27130, 0.27050, 0.26980, 0.26910, 0.26840, 0.26760,
    6301             :               0.26690, 0.26620, 0.26550, 0.26480, 0.26410, 0.26340, 0.26280,   0.26210, 0.26140, 0.26070, 0.26,    0.25940, 0.25870, 0.258,   0.25740,
    6302             :               0.25670, 0.25610, 0.25480, 0.25350, 0.25220, 0.251,   0.24980,   0.24850, 0.24730, 0.24610, 0.24490, 0.24370, 0.24260, 0.24140, 0.24030,
    6303             :               0.23910, 0.238,   0.23690, 0.23580, 0.23470, 0.23360, 0.23260,   0.23150, 0.23050, 0.22940, 0.22840, 0.22740, 0.22490, 0.22240, 0.22,
    6304             :               0.21770, 0.21540, 0.21310, 0.21090, 0.20880, 0.20660, 0.20460,   0.20060, 0.19670, 0.193,   0.18940, 0.186,   0.18270, 0.17950, 0.17640,
    6305             :               0.17340, 0.17050, 0.16770, 0.165,   0.16240, 0.15990, 3.542e-05, 0.14210, 0.1329},
    6306             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6307             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.31660,   0.31480, 0.31290, 0.31110, 0.30930, 0.30760, 0.30580, 0.30410, 0.30240,
    6308             :               0.30150, 0.30070, 0.29990, 0.299,   0.29820, 0.29740, 0.29660,   0.29580, 0.295,   0.29420, 0.29340, 0.29260, 0.29180, 0.291,   0.29020,
    6309             :               0.28940, 0.28870, 0.28790, 0.28720, 0.28640, 0.28560, 0.28490,   0.28420, 0.28340, 0.28270, 0.282,   0.28120, 0.28050, 0.27980, 0.27910,
    6310             :               0.27840, 0.27760, 0.27620, 0.27490, 0.27350, 0.27210, 0.27080,   0.26940, 0.26810, 0.26680, 0.26550, 0.26430, 0.263,   0.26170, 0.26050,
    6311             :               0.25930, 0.258,   0.25680, 0.25560, 0.25450, 0.25330, 0.25210,   0.251,   0.24980, 0.24870, 0.24760, 0.24650, 0.24380, 0.24110, 0.23850,
    6312             :               0.23590, 0.23350, 0.231,   0.22860, 0.22630, 0.224,   0.22170,   0.21740, 0.21320, 0.20920, 0.20530, 0.20160, 0.198,   0.19450, 0.19120,
    6313             :               0.18790, 0.18480, 0.18180, 0.17880, 0.176,   0.17330, 3.542e-05, 0.154,   0.1441},
    6314             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6315             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.34110, 0.33910, 0.33710, 0.33520, 0.33320, 0.33130, 0.32940, 0.32760,
    6316             :               0.32670, 0.32580, 0.32490, 0.324,   0.32310, 0.32220, 0.32130,   0.32040, 0.31950, 0.31870, 0.31780, 0.31690, 0.31610, 0.31520, 0.31440,
    6317             :               0.31350, 0.31270, 0.31190, 0.31110, 0.31020, 0.30940, 0.30860,   0.30780, 0.307,   0.30620, 0.30540, 0.30460, 0.30380, 0.30310, 0.30230,
    6318             :               0.30150, 0.30070, 0.29920, 0.29770, 0.29620, 0.29470, 0.29330,   0.29180, 0.29040, 0.289,   0.28760, 0.28620, 0.28480, 0.28350, 0.28210,
    6319             :               0.28080, 0.27950, 0.27820, 0.27690, 0.27560, 0.27430, 0.27310,   0.27180, 0.27060, 0.26930, 0.26810, 0.26690, 0.264,   0.26110, 0.25830,
    6320             :               0.25550, 0.25280, 0.25020, 0.24760, 0.245,   0.24260, 0.24010,   0.23540, 0.23090, 0.22650, 0.22230, 0.21830, 0.21440, 0.21060, 0.207,
    6321             :               0.20350, 0.20010, 0.19680, 0.19360, 0.19060, 0.18760, 3.542e-05, 0.16680, 0.156},
    6322             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6323             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.36710, 0.36490, 0.36280, 0.36070, 0.35860, 0.35660, 0.35460,
    6324             :               0.35360, 0.35260, 0.35160, 0.35060, 0.34960, 0.34870, 0.34770,   0.34680, 0.34580, 0.34490, 0.34390, 0.343,   0.34210, 0.34110, 0.34020,
    6325             :               0.33930, 0.33840, 0.33750, 0.33660, 0.33570, 0.33480, 0.334,     0.33310, 0.33220, 0.33130, 0.33050, 0.32960, 0.32880, 0.32790, 0.32710,
    6326             :               0.32630, 0.32540, 0.32380, 0.32210, 0.32050, 0.31890, 0.31730,   0.31580, 0.31420, 0.31270, 0.31120, 0.30970, 0.30820, 0.30670, 0.30520,
    6327             :               0.30380, 0.30240, 0.30090, 0.29950, 0.29820, 0.29680, 0.29540,   0.29410, 0.29270, 0.29140, 0.29010, 0.28880, 0.28560, 0.28250, 0.27940,
    6328             :               0.27640, 0.27350, 0.27060, 0.26780, 0.26510, 0.26240, 0.25980,   0.25460, 0.24970, 0.245,   0.24050, 0.23610, 0.23190, 0.22780, 0.22390,
    6329             :               0.22010, 0.21640, 0.21290, 0.20940, 0.20610, 0.20290, 3.542e-05, 0.18040, 0.1687},
    6330             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6331             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.39460, 0.39230, 0.39010, 0.38780, 0.38560, 0.38340,
    6332             :               0.38230, 0.38120, 0.38020, 0.37910, 0.37810, 0.377,   0.376,     0.37490, 0.37390, 0.37290, 0.37190, 0.37080, 0.36980, 0.36880, 0.36780,
    6333             :               0.36690, 0.36590, 0.36490, 0.36390, 0.363,   0.362,   0.361,     0.36010, 0.35920, 0.35820, 0.35730, 0.35640, 0.35540, 0.35450, 0.35360,
    6334             :               0.35270, 0.35180, 0.35,    0.34820, 0.34650, 0.34470, 0.343,     0.34130, 0.33970, 0.338,   0.33640, 0.33470, 0.33310, 0.33150, 0.32990,
    6335             :               0.32840, 0.32680, 0.32530, 0.32380, 0.32230, 0.32080, 0.31930,   0.31780, 0.31640, 0.315,   0.31350, 0.31210, 0.30870, 0.30530, 0.302,
    6336             :               0.29870, 0.29560, 0.29250, 0.28940, 0.28650, 0.28360, 0.28070,   0.27520, 0.26990, 0.26480, 0.25990, 0.25510, 0.25060, 0.24620, 0.24190,
    6337             :               0.23780, 0.23390, 0.23,    0.22630, 0.22270, 0.21930, 3.542e-05, 0.19490, 0.1823},
    6338             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6339             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.42390, 0.42140, 0.419,   0.41660, 0.41420,
    6340             :               0.413,   0.41190, 0.41070, 0.40960, 0.40840, 0.40730, 0.40610,   0.405,   0.40390, 0.40280, 0.40170, 0.40060, 0.39950, 0.39840, 0.39730,
    6341             :               0.39630, 0.39520, 0.39410, 0.39310, 0.392,   0.391,   0.39,      0.38890, 0.38790, 0.38690, 0.38590, 0.38490, 0.38390, 0.38290, 0.38190,
    6342             :               0.38090, 0.37990, 0.378,   0.37610, 0.37420, 0.37230, 0.37050,   0.36860, 0.36680, 0.365,   0.36320, 0.36150, 0.35970, 0.358,   0.35630,
    6343             :               0.35460, 0.35290, 0.35130, 0.34960, 0.348,   0.34640, 0.34480,   0.34320, 0.34160, 0.34010, 0.33860, 0.337,   0.33330, 0.32960, 0.32610,
    6344             :               0.32260, 0.31910, 0.31580, 0.31250, 0.30930, 0.30620, 0.30310,   0.29710, 0.29140, 0.28590, 0.28060, 0.27540, 0.27050, 0.26580, 0.26120,
    6345             :               0.25680, 0.25250, 0.24830, 0.24430, 0.24050, 0.23670, 3.542e-05, 0.21040, 0.1968},
    6346             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6347             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.45490, 0.45230, 0.44970, 0.44710,
    6348             :               0.44580, 0.44450, 0.44330, 0.442,   0.44080, 0.43960, 0.43830,   0.43710, 0.43590, 0.43470, 0.43350, 0.43230, 0.43110, 0.43,    0.42880,
    6349             :               0.42760, 0.42650, 0.42530, 0.42420, 0.42310, 0.42190, 0.42080,   0.41970, 0.41860, 0.41750, 0.41640, 0.41530, 0.41420, 0.41320, 0.41210,
    6350             :               0.411,   0.41,    0.40790, 0.40580, 0.40380, 0.40170, 0.39970,   0.39770, 0.39580, 0.39380, 0.39190, 0.39,    0.38810, 0.38620, 0.38440,
    6351             :               0.38260, 0.38080, 0.379,   0.37720, 0.37540, 0.37370, 0.372,     0.37030, 0.36860, 0.36690, 0.36520, 0.36360, 0.35950, 0.35560, 0.35170,
    6352             :               0.34790, 0.34420, 0.34060, 0.33710, 0.33360, 0.33020, 0.32690,   0.32050, 0.31430, 0.30830, 0.30260, 0.29710, 0.29180, 0.28660, 0.28170,
    6353             :               0.27690, 0.27230, 0.26780, 0.26350, 0.25930, 0.25530, 3.542e-05, 0.22690, 0.2122},
    6354             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6355             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.48780, 0.48490, 0.48210,
    6356             :               0.48080, 0.47940, 0.478,   0.47670, 0.47530, 0.474,   0.47270,   0.47130, 0.47,    0.46870, 0.46740, 0.46620, 0.46490, 0.46360, 0.46230,
    6357             :               0.46110, 0.45980, 0.45860, 0.45740, 0.45610, 0.45490, 0.45370,   0.45250, 0.45130, 0.45010, 0.44890, 0.44780, 0.44660, 0.44540, 0.44430,
    6358             :               0.44310, 0.442,   0.43970, 0.43750, 0.43530, 0.43310, 0.43090,   0.42870, 0.42660, 0.42450, 0.42240, 0.42040, 0.41830, 0.41630, 0.41430,
    6359             :               0.41240, 0.41040, 0.40850, 0.40650, 0.40460, 0.40280, 0.40090,   0.39910, 0.39720, 0.39540, 0.39360, 0.39190, 0.38750, 0.38320, 0.37910,
    6360             :               0.375,   0.371,   0.36710, 0.36330, 0.35950, 0.35590, 0.35230,   0.34530, 0.33870, 0.33230, 0.32610, 0.32010, 0.31440, 0.30890, 0.30350,
    6361             :               0.29840, 0.29340, 0.28860, 0.28390, 0.27940, 0.27510, 3.542e-05, 0.24450, 0.2287},
    6362             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6363             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.52250, 0.51950,
    6364             :               0.518,   0.51650, 0.51510, 0.51360, 0.51210, 0.51070, 0.50920,   0.50780, 0.50640, 0.505,   0.50360, 0.50220, 0.50080, 0.49940, 0.49810,
    6365             :               0.49670, 0.49540, 0.494,   0.49270, 0.49140, 0.49010, 0.48870,   0.48740, 0.48610, 0.48490, 0.48360, 0.48230, 0.481,   0.47980, 0.47850,
    6366             :               0.47730, 0.47610, 0.47360, 0.47120, 0.46880, 0.46640, 0.46410,   0.46180, 0.45950, 0.45720, 0.455,   0.45270, 0.45050, 0.44840, 0.44620,
    6367             :               0.44410, 0.442,   0.43990, 0.43780, 0.43580, 0.43370, 0.43170,   0.42970, 0.42780, 0.42580, 0.42390, 0.422,   0.41730, 0.41270, 0.40820,
    6368             :               0.40380, 0.39950, 0.39530, 0.39110, 0.38710, 0.38320, 0.37930,   0.37180, 0.36460, 0.35770, 0.35110, 0.34460, 0.33850, 0.33250, 0.32680,
    6369             :               0.32120, 0.31590, 0.31070, 0.30570, 0.30080, 0.29610, 3.542e-05, 0.26320, 0.2461},
    6370             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6371             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.55930,
    6372             :               0.55770, 0.55610, 0.55450, 0.55290, 0.55130, 0.54980, 0.54820,   0.54670, 0.54510, 0.54360, 0.54210, 0.54060, 0.53910, 0.53760, 0.53610,
    6373             :               0.53460, 0.53320, 0.53170, 0.53030, 0.52890, 0.52740, 0.526,     0.52460, 0.52320, 0.52180, 0.52050, 0.51910, 0.51770, 0.51640, 0.515,
    6374             :               0.51370, 0.51230, 0.50970, 0.50710, 0.50450, 0.50190, 0.49940,   0.49690, 0.49440, 0.492,   0.48960, 0.48720, 0.48480, 0.48240, 0.48010,
    6375             :               0.47780, 0.47550, 0.47330, 0.47110, 0.46880, 0.46670, 0.46450,   0.46230, 0.46020, 0.45810, 0.456,   0.454,   0.44890, 0.44390, 0.43910,
    6376             :               0.43440, 0.42970, 0.42520, 0.42080, 0.41640, 0.41220, 0.408,     0.4,     0.39220, 0.38480, 0.37760, 0.37070, 0.36410, 0.35760, 0.35150,
    6377             :               0.34550, 0.33970, 0.33410, 0.32870, 0.32350, 0.31850, 3.542e-05, 0.28310, 0.2647},
    6378             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6379             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6380             :               0.57850, 0.57680, 0.57510, 0.57350, 0.57180, 0.57020, 0.56860,   0.567,   0.56540, 0.56380, 0.56220, 0.56070, 0.55910, 0.55760, 0.556,
    6381             :               0.55450, 0.553,   0.55150, 0.55,    0.54850, 0.547,   0.54550,   0.54410, 0.54260, 0.54120, 0.53980, 0.53830, 0.53690, 0.53550, 0.53410,
    6382             :               0.53270, 0.53130, 0.52860, 0.52590, 0.52320, 0.52050, 0.51790,   0.51530, 0.51270, 0.51020, 0.50770, 0.50520, 0.50270, 0.50030, 0.49790,
    6383             :               0.49550, 0.49310, 0.49080, 0.48850, 0.48620, 0.48390, 0.48160,   0.47940, 0.47720, 0.475,   0.47290, 0.47070, 0.46550, 0.46030, 0.45530,
    6384             :               0.45040, 0.44560, 0.44090, 0.43630, 0.43180, 0.42740, 0.423,     0.41470, 0.40660, 0.39890, 0.39150, 0.38430, 0.37740, 0.37080, 0.36440,
    6385             :               0.35820, 0.35220, 0.34640, 0.34080, 0.33540, 0.33020, 3.542e-05, 0.29350, 0.2744},
    6386             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6387             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6388             :               0.0,     0.59820, 0.59640, 0.59470, 0.593,   0.59130, 0.58960,   0.588,   0.58630, 0.58470, 0.583,   0.58140, 0.57980, 0.57820, 0.57660,
    6389             :               0.575,   0.57340, 0.57180, 0.57030, 0.56870, 0.56720, 0.56570,   0.56420, 0.56270, 0.56120, 0.55970, 0.55820, 0.55670, 0.55520, 0.55380,
    6390             :               0.55230, 0.55090, 0.548,   0.54520, 0.54240, 0.53970, 0.53690,   0.53420, 0.53160, 0.52890, 0.52630, 0.52370, 0.52120, 0.51870, 0.51620,
    6391             :               0.51370, 0.51120, 0.50880, 0.50640, 0.504,   0.50170, 0.49930,   0.497,   0.49470, 0.49250, 0.49020, 0.488,   0.48250, 0.47720, 0.472,
    6392             :               0.46690, 0.46190, 0.457,   0.45220, 0.44760, 0.443,   0.43850,   0.42980, 0.42150, 0.41350, 0.40580, 0.39840, 0.39120, 0.38430, 0.37770,
    6393             :               0.37130, 0.36510, 0.35910, 0.35330, 0.34760, 0.34220, 3.542e-05, 0.30420, 0.2844},
    6394             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6395             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6396             :               0.0,     0.0,     0.61840, 0.61660, 0.61480, 0.61310, 0.61130,   0.60960, 0.60790, 0.60620, 0.60450, 0.60280, 0.60110, 0.59940, 0.59780,
    6397             :               0.59610, 0.59450, 0.59280, 0.59120, 0.58960, 0.588,   0.58640,   0.58490, 0.58330, 0.58170, 0.58020, 0.57860, 0.57710, 0.57560, 0.57410,
    6398             :               0.57260, 0.57110, 0.56810, 0.56520, 0.56230, 0.55940, 0.55660,   0.55380, 0.551,   0.54830, 0.54560, 0.54290, 0.54020, 0.53760, 0.535,
    6399             :               0.53240, 0.52990, 0.52740, 0.52490, 0.52240, 0.52,    0.51750,   0.51510, 0.51280, 0.51040, 0.50810, 0.50580, 0.50010, 0.49460, 0.48920,
    6400             :               0.48390, 0.47870, 0.47360, 0.46870, 0.46390, 0.45910, 0.45450,   0.44550, 0.43680, 0.42850, 0.42050, 0.41290, 0.40540, 0.39830, 0.39140,
    6401             :               0.38470, 0.37830, 0.37210, 0.36610, 0.36030, 0.35460, 3.542e-05, 0.31520, 0.2948},
    6402             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6403             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6404             :               0.0,     0.0,     0.0,     0.63920, 0.63740, 0.63550, 0.63370,   0.63190, 0.63010, 0.62830, 0.62660, 0.62480, 0.623,   0.62130, 0.61960,
    6405             :               0.61790, 0.61620, 0.61450, 0.61280, 0.61110, 0.60950, 0.60780,   0.60620, 0.60460, 0.60290, 0.60130, 0.59970, 0.59810, 0.59660, 0.595,
    6406             :               0.59340, 0.59190, 0.58880, 0.58580, 0.58270, 0.57980, 0.57680,   0.57390, 0.571,   0.56820, 0.56540, 0.56260, 0.55990, 0.55710, 0.55440,
    6407             :               0.55180, 0.54910, 0.54650, 0.54390, 0.54140, 0.53880, 0.53630,   0.53380, 0.53140, 0.52890, 0.52650, 0.52410, 0.51820, 0.51250, 0.50690,
    6408             :               0.50140, 0.496,   0.49080, 0.48570, 0.48060, 0.47570, 0.47090,   0.46160, 0.45260, 0.444,   0.43570, 0.42780, 0.42010, 0.41270, 0.40550,
    6409             :               0.39860, 0.392,   0.38550, 0.37930, 0.37330, 0.36740, 3.542e-05, 0.32660, 0.3054},
    6410             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6411             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6412             :               0.0,     0.0,     0.0,     0.0,     0.66060, 0.65870, 0.65680,   0.65490, 0.653,   0.65120, 0.64930, 0.64750, 0.64570, 0.64390, 0.64210,
    6413             :               0.64030, 0.63850, 0.63680, 0.635,   0.63330, 0.63160, 0.62990,   0.62820, 0.62650, 0.62480, 0.62310, 0.62150, 0.61980, 0.61820, 0.61650,
    6414             :               0.61490, 0.61330, 0.61010, 0.607,   0.60380, 0.60070, 0.59770,   0.59470, 0.59170, 0.58870, 0.58580, 0.58290, 0.58010, 0.57720, 0.57440,
    6415             :               0.57170, 0.56890, 0.56620, 0.56350, 0.56090, 0.55820, 0.55560,   0.55310, 0.55050, 0.548,   0.54550, 0.543,   0.53690, 0.53090, 0.52510,
    6416             :               0.51940, 0.51390, 0.50840, 0.50310, 0.49790, 0.49280, 0.48780,   0.47820, 0.46890, 0.46,    0.45140, 0.44310, 0.43510, 0.42750, 0.42010,
    6417             :               0.41290, 0.406,   0.39930, 0.39290, 0.38660, 0.38060, 3.542e-05, 0.33830, 0.3163},
    6418             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6419             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6420             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.68250, 0.68050,   0.67860, 0.67660, 0.67470, 0.67280, 0.67090, 0.669,   0.66710, 0.66530,
    6421             :               0.66340, 0.66160, 0.65980, 0.658,   0.65620, 0.65440, 0.65260,   0.65080, 0.64910, 0.64730, 0.64560, 0.64390, 0.64210, 0.64040, 0.63870,
    6422             :               0.63710, 0.63540, 0.63210, 0.62880, 0.62550, 0.62230, 0.61920,   0.616,   0.61290, 0.60990, 0.60690, 0.60390, 0.60090, 0.598,   0.59510,
    6423             :               0.59220, 0.58930, 0.58650, 0.58370, 0.581,   0.57830, 0.57560,   0.57290, 0.57020, 0.56760, 0.565,   0.56240, 0.55610, 0.54990, 0.54390,
    6424             :               0.538,   0.53230, 0.52660, 0.52110, 0.51570, 0.51040, 0.50530,   0.49520, 0.48560, 0.47640, 0.46750, 0.45890, 0.45070, 0.44270, 0.435,
    6425             :               0.42760, 0.42050, 0.41360, 0.40690, 0.40040, 0.39410, 3.542e-05, 0.35030, 0.3276},
    6426             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6427             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6428             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.705,     0.703,   0.701,   0.699,   0.697,   0.695,   0.69310, 0.69110, 0.68920,
    6429             :               0.68730, 0.68530, 0.68350, 0.68160, 0.67970, 0.67780, 0.676,     0.67420, 0.67230, 0.67050, 0.66870, 0.66690, 0.66510, 0.66340, 0.66160,
    6430             :               0.65990, 0.65810, 0.65470, 0.65130, 0.64790, 0.64460, 0.64130,   0.63810, 0.63480, 0.63170, 0.62850, 0.62540, 0.62230, 0.61930, 0.61630,
    6431             :               0.61330, 0.61040, 0.60740, 0.60460, 0.60170, 0.59890, 0.59610,   0.59330, 0.59050, 0.58780, 0.58510, 0.58250, 0.57590, 0.56950, 0.56330,
    6432             :               0.55710, 0.55120, 0.54530, 0.53960, 0.534,   0.52860, 0.52320,   0.51280, 0.50280, 0.49330, 0.484,   0.47520, 0.46660, 0.45840, 0.45050,
    6433             :               0.44280, 0.43540, 0.42820, 0.42130, 0.41460, 0.40810, 3.542e-05, 0.36270, 0.3391},
    6434             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6435             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6436             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.72820, 0.72610, 0.724,   0.72190, 0.71990, 0.71780, 0.71580, 0.71380,
    6437             :               0.71180, 0.70980, 0.70790, 0.70590, 0.704,   0.702,   0.70010,   0.69820, 0.69630, 0.69440, 0.69250, 0.69070, 0.68880, 0.687,   0.68520,
    6438             :               0.68340, 0.68160, 0.678,   0.67450, 0.671,   0.66750, 0.66410,   0.66070, 0.65740, 0.65410, 0.65080, 0.64760, 0.64440, 0.64130, 0.63810,
    6439             :               0.63510, 0.632,   0.629,   0.626,   0.623,   0.62010, 0.61720,   0.61430, 0.61150, 0.60860, 0.60580, 0.60310, 0.59630, 0.58960, 0.58320,
    6440             :               0.57680, 0.57060, 0.56460, 0.55870, 0.55290, 0.54720, 0.54170,   0.53090, 0.52060, 0.51060, 0.50110, 0.49190, 0.48310, 0.47450, 0.46630,
    6441             :               0.45840, 0.45070, 0.44330, 0.43610, 0.42920, 0.42240, 3.542e-05, 0.37540, 0.3511},
    6442             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6443             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6444             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.75190, 0.74970, 0.74760, 0.74550, 0.74330, 0.74120, 0.73920,
    6445             :               0.73710, 0.735,   0.733,   0.73090, 0.72890, 0.72690, 0.72490,   0.723,   0.721,   0.719,   0.71710, 0.71520, 0.71320, 0.71130, 0.70940,
    6446             :               0.70760, 0.70570, 0.702,   0.69830, 0.69470, 0.69110, 0.68760,   0.68410, 0.68060, 0.67720, 0.67380, 0.67050, 0.66720, 0.66390, 0.66060,
    6447             :               0.65740, 0.65430, 0.65110, 0.648,   0.645,   0.64190, 0.63890,   0.63590, 0.633,   0.63010, 0.62720, 0.62430, 0.61730, 0.61040, 0.60370,
    6448             :               0.59710, 0.59070, 0.58440, 0.57830, 0.57230, 0.56640, 0.56070,   0.54950, 0.53880, 0.52850, 0.51870, 0.50910, 0.5,     0.49120, 0.48260,
    6449             :               0.47440, 0.46650, 0.45880, 0.45140, 0.44420, 0.43720, 3.542e-05, 0.38860, 0.3633},
    6450             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6451             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6452             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.77630, 0.774,   0.77180, 0.76960, 0.76740, 0.76530,
    6453             :               0.76310, 0.761,   0.75890, 0.75670, 0.75470, 0.75260, 0.75050,   0.74840, 0.74640, 0.74440, 0.74240, 0.74040, 0.73840, 0.73640, 0.73440,
    6454             :               0.73250, 0.73050, 0.72670, 0.72290, 0.71910, 0.71540, 0.71170,   0.70810, 0.70450, 0.701,   0.69750, 0.694,   0.69060, 0.68720, 0.68380,
    6455             :               0.68050, 0.67720, 0.674,   0.67070, 0.66760, 0.66440, 0.66130,   0.65820, 0.65510, 0.65210, 0.64910, 0.64610, 0.63880, 0.63170, 0.62480,
    6456             :               0.618,   0.61130, 0.60480, 0.59850, 0.59230, 0.58620, 0.58020,   0.56870, 0.55760, 0.547,   0.53670, 0.52690, 0.51740, 0.50820, 0.49940,
    6457             :               0.49090, 0.48270, 0.47470, 0.46710, 0.45960, 0.45240, 3.542e-05, 0.40210, 0.3759},
    6458             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6459             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6460             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.80130, 0.799,   0.79670, 0.79440, 0.79220,
    6461             :               0.78990, 0.78770, 0.78550, 0.78330, 0.78110, 0.779,   0.77680,   0.77470, 0.77260, 0.77050, 0.76840, 0.76630, 0.76420, 0.76220, 0.76010,
    6462             :               0.75810, 0.75610, 0.75210, 0.74820, 0.74430, 0.74040, 0.73660,   0.73280, 0.72910, 0.72540, 0.72180, 0.71820, 0.71470, 0.71110, 0.70770,
    6463             :               0.70420, 0.70080, 0.69740, 0.69410, 0.69080, 0.68750, 0.68430,   0.68110, 0.67790, 0.67480, 0.67170, 0.66860, 0.661,   0.65370, 0.64650,
    6464             :               0.63940, 0.63250, 0.62580, 0.61920, 0.61280, 0.60650, 0.60030,   0.58840, 0.57690, 0.56590, 0.55530, 0.54510, 0.53530, 0.52580, 0.51670,
    6465             :               0.50790, 0.49940, 0.49110, 0.48320, 0.47550, 0.468,   3.542e-05, 0.41590, 0.3889},
    6466             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6467             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6468             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.82690, 0.82460, 0.82220, 0.81990,
    6469             :               0.81750, 0.81520, 0.81290, 0.81070, 0.80840, 0.80620, 0.80390,   0.80170, 0.79950, 0.79730, 0.79520, 0.793,   0.79090, 0.78870, 0.78660,
    6470             :               0.78450, 0.78240, 0.77830, 0.77420, 0.77010, 0.76610, 0.76220,   0.75830, 0.75440, 0.75060, 0.74690, 0.74310, 0.73940, 0.73580, 0.73220,
    6471             :               0.72860, 0.72510, 0.72160, 0.71810, 0.71470, 0.71130, 0.708,     0.70470, 0.70140, 0.69810, 0.69490, 0.69170, 0.68390, 0.67630, 0.66880,
    6472             :               0.66150, 0.65440, 0.64740, 0.64060, 0.63390, 0.62740, 0.621,     0.60870, 0.59680, 0.58540, 0.57440, 0.56390, 0.55370, 0.54390, 0.53450,
    6473             :               0.52530, 0.51650, 0.508,   0.49980, 0.49180, 0.48410, 3.542e-05, 0.43020, 0.4023},
    6474             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6475             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6476             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.85320, 0.85080, 0.84840,
    6477             :               0.846,   0.84360, 0.84120, 0.83880, 0.83650, 0.83410, 0.83180,   0.82950, 0.82730, 0.825,   0.82270, 0.82050, 0.81830, 0.81610, 0.81390,
    6478             :               0.81170, 0.80950, 0.80520, 0.801,   0.79680, 0.79260, 0.78850,   0.78450, 0.78050, 0.77650, 0.77260, 0.76880, 0.76490, 0.76120, 0.75740,
    6479             :               0.75370, 0.75010, 0.74650, 0.74290, 0.73930, 0.73580, 0.73240,   0.72890, 0.72550, 0.72210, 0.71880, 0.71550, 0.70740, 0.69950, 0.69180,
    6480             :               0.68420, 0.67680, 0.66960, 0.66260, 0.65570, 0.64890, 0.64230,   0.62950, 0.61720, 0.60540, 0.59410, 0.58310, 0.57260, 0.56250, 0.55270,
    6481             :               0.54330, 0.53420, 0.52540, 0.51690, 0.50860, 0.50060, 3.542e-05, 0.44490, 0.416},
    6482             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6483             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6484             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.88020, 0.87770,
    6485             :               0.87520, 0.87270, 0.87030, 0.86780, 0.86540, 0.86290, 0.86050,   0.85820, 0.85580, 0.85340, 0.85110, 0.84880, 0.84650, 0.84420, 0.84190,
    6486             :               0.83960, 0.83740, 0.83290, 0.82850, 0.82420, 0.81990, 0.81560,   0.81140, 0.80730, 0.80320, 0.79920, 0.79510, 0.79120, 0.78730, 0.78340,
    6487             :               0.77960, 0.77580, 0.772,   0.76830, 0.76460, 0.761,   0.75740,   0.75390, 0.75030, 0.74680, 0.74340, 0.74,    0.73160, 0.72340, 0.71540,
    6488             :               0.70760, 0.69990, 0.69240, 0.68510, 0.678,   0.671,   0.66420,   0.65090, 0.63820, 0.626,   0.61430, 0.603,   0.59210, 0.58160, 0.57150,
    6489             :               0.56170, 0.55230, 0.54320, 0.53440, 0.52590, 0.51760, 3.542e-05, 0.46,    0.4301},
    6490             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6491             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6492             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.90790,
    6493             :               0.90530, 0.90270, 0.90020, 0.89760, 0.89510, 0.89260, 0.89010,   0.88760, 0.88520, 0.88270, 0.88030, 0.87790, 0.87550, 0.87310, 0.87070,
    6494             :               0.86840, 0.86610, 0.86140, 0.85690, 0.85240, 0.84790, 0.84350,   0.83920, 0.83490, 0.83060, 0.82640, 0.82230, 0.81820, 0.81410, 0.81010,
    6495             :               0.80610, 0.80220, 0.79830, 0.79450, 0.79070, 0.78690, 0.78320,   0.77950, 0.77590, 0.77220, 0.76870, 0.76510, 0.75640, 0.74790, 0.73970,
    6496             :               0.73160, 0.72370, 0.71590, 0.70840, 0.701,   0.69380, 0.68670,   0.673,   0.65980, 0.64720, 0.635,   0.62340, 0.61210, 0.60130, 0.59080,
    6497             :               0.58070, 0.571,   0.56150, 0.55240, 0.54360, 0.53510, 3.542e-05, 0.47550, 0.4446},
    6498             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6499             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6500             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6501             :               0.93630, 0.93360, 0.931,   0.92830, 0.92570, 0.92310, 0.92050,   0.91790, 0.91540, 0.91280, 0.91030, 0.90780, 0.90530, 0.90290, 0.90040,
    6502             :               0.898,   0.89560, 0.89080, 0.886,   0.88140, 0.87680, 0.87220,   0.86770, 0.86320, 0.85880, 0.85450, 0.85020, 0.84590, 0.84170, 0.83760,
    6503             :               0.83340, 0.82940, 0.82540, 0.82140, 0.81740, 0.81350, 0.80970,   0.80590, 0.80210, 0.79840, 0.79460, 0.791,   0.782,   0.77320, 0.76460,
    6504             :               0.75620, 0.74810, 0.74010, 0.73220, 0.72460, 0.71710, 0.70980,   0.69560, 0.682,   0.66890, 0.65640, 0.64430, 0.63270, 0.62150, 0.61060,
    6505             :               0.60020, 0.59010, 0.58040, 0.571,   0.56190, 0.553,   3.542e-05, 0.49140, 0.4594},
    6506             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6507             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6508             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6509             :               0.0,     0.96540, 0.96260, 0.95990, 0.95720, 0.95450, 0.95180,   0.94910, 0.94650, 0.94380, 0.94120, 0.93860, 0.93610, 0.93350, 0.93090,
    6510             :               0.92840, 0.92590, 0.92090, 0.916,   0.91120, 0.90640, 0.90170,   0.897,   0.89240, 0.88780, 0.88330, 0.87890, 0.87450, 0.87010, 0.86580,
    6511             :               0.86150, 0.85730, 0.85320, 0.849,   0.845,   0.84090, 0.83690,   0.833,   0.82910, 0.82520, 0.82140, 0.81760, 0.80830, 0.79920, 0.79030,
    6512             :               0.78160, 0.77310, 0.76490, 0.75680, 0.74890, 0.74110, 0.73360,   0.71890, 0.70480, 0.69130, 0.67830, 0.66580, 0.65380, 0.64220, 0.631,
    6513             :               0.62020, 0.60980, 0.59970, 0.59,    0.58060, 0.57150, 3.542e-05, 0.50780, 0.4747},
    6514             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6515             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6516             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6517             :               0.0,     0.0,     0.99520, 0.99240, 0.98950, 0.98670, 0.984,     0.98120, 0.97840, 0.97570, 0.973,   0.97030, 0.96760, 0.965,   0.96230,
    6518             :               0.95970, 0.95710, 0.952,   0.94690, 0.94190, 0.93690, 0.932,     0.92720, 0.92240, 0.91770, 0.913,   0.90840, 0.90380, 0.89930, 0.89480,
    6519             :               0.89040, 0.88610, 0.88170, 0.87750, 0.87320, 0.86910, 0.86490,   0.86080, 0.85680, 0.85280, 0.84880, 0.84490, 0.83520, 0.82580, 0.81670,
    6520             :               0.80770, 0.79890, 0.79040, 0.782,   0.77380, 0.76580, 0.758,     0.74280, 0.72830, 0.71430, 0.70090, 0.68790, 0.67550, 0.66350, 0.652,
    6521             :               0.64080, 0.63,    0.61960, 0.60960, 0.59980, 0.59040, 3.542e-05, 0.52460, 0.4905},
    6522             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6523             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6524             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6525             :               0.0,     0.0,     0.0,     1.026,   1.023,   1.02,    1.017,     1.014,   1.011,   1.008,   1.006,   1.003,   1.0,     0.99740, 0.99460,
    6526             :               0.99190, 0.98920, 0.98390, 0.97860, 0.97340, 0.96830, 0.96320,   0.95820, 0.95320, 0.94830, 0.94350, 0.93870, 0.934,   0.92930, 0.92470,
    6527             :               0.92010, 0.91560, 0.91110, 0.90670, 0.90230, 0.898,   0.89370,   0.88950, 0.88530, 0.88110, 0.877,   0.873,   0.863,   0.85330, 0.84380,
    6528             :               0.83450, 0.82540, 0.81660, 0.80790, 0.79940, 0.79120, 0.78310,   0.76740, 0.75230, 0.73790, 0.724,   0.71060, 0.69780, 0.68540, 0.67350,
    6529             :               0.66190, 0.65080, 0.64010, 0.62970, 0.61960, 0.60990, 3.542e-05, 0.54180, 0.5066},
    6530             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6531             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6532             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6533             :               0.0,     0.0,     0.0,     0.0,     1.057,   1.054,   1.051,     1.048,   1.045,   1.042,   1.039,   1.036,   1.034,   1.031,   1.028,
    6534             :               1.025,   1.022,   1.017,   1.011,   1.006,   1.0,     0.99520,   0.99,    0.98490, 0.97980, 0.97480, 0.96990, 0.965,   0.96010, 0.95530,
    6535             :               0.95060, 0.94590, 0.94130, 0.93670, 0.93220, 0.92770, 0.92330,   0.91890, 0.91460, 0.91030, 0.906,   0.90180, 0.89150, 0.88140, 0.87160,
    6536             :               0.862,   0.85260, 0.84350, 0.83450, 0.82580, 0.81720, 0.80880,   0.79260, 0.77710, 0.76210, 0.74780, 0.734,   0.72070, 0.70790, 0.69550,
    6537             :               0.68360, 0.67210, 0.661,   0.65030, 0.63990, 0.62980, 3.542e-05, 0.55960, 0.5232},
    6538             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6539             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6540             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6541             :               0.0,     0.0,     0.0,     0.0,     0.0,     1.089,   1.086,     1.083,   1.08,    1.077,   1.074,   1.071,   1.068,   1.065,   1.062,
    6542             :               1.059,   1.056,   1.05,    1.045,   1.039,   1.034,   1.028,     1.023,   1.017,   1.012,   1.007,   1.002,   0.99680, 0.99180, 0.98680,
    6543             :               0.982,   0.97710, 0.97230, 0.96760, 0.96290, 0.95830, 0.95370,   0.94910, 0.94470, 0.94020, 0.93580, 0.93150, 0.92080, 0.91040, 0.90020,
    6544             :               0.89030, 0.88060, 0.87110, 0.86190, 0.85280, 0.844,   0.83530,   0.81850, 0.80250, 0.787,   0.77220, 0.75790, 0.74420, 0.731,   0.71820,
    6545             :               0.70590, 0.694,   0.68260, 0.67150, 0.66070, 0.65030, 3.542e-05, 0.57780, 0.5402},
    6546             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6547             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6548             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6549             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     1.122,     1.119,   1.116,   1.113,   1.109,   1.106,   1.103,   1.1,     1.097,
    6550             :               1.094,   1.091,   1.085,   1.079,   1.073,   1.068,   1.062,     1.056,   1.051,   1.045,   1.04,    1.035,   1.03,    1.024,   1.019,
    6551             :               1.014,   1.009,   1.004,   0.99930, 0.99440, 0.98960, 0.98490,   0.98020, 0.97560, 0.971,   0.96640, 0.96190, 0.95090, 0.94010, 0.92960,
    6552             :               0.91930, 0.90930, 0.89950, 0.88990, 0.88060, 0.87140, 0.86250,   0.84510, 0.82850, 0.81260, 0.79730, 0.78250, 0.76830, 0.75470, 0.74150,
    6553             :               0.72880, 0.71650, 0.70470, 0.69320, 0.68210, 0.67140, 3.542e-05, 0.59640, 0.5576},
    6554             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6555             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6556             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6557             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       1.156,   1.152,   1.149,   1.146,   1.143,   1.139,   1.136,   1.133,
    6558             :               1.13,    1.127,   1.121,   1.115,   1.109,   1.103,   1.097,     1.091,   1.085,   1.08,    1.074,   1.069,   1.063,   1.058,   1.052,
    6559             :               1.047,   1.042,   1.037,   1.032,   1.027,   1.022,   1.017,     1.012,   1.007,   1.003,   0.99790, 0.99320, 0.98180, 0.97060, 0.95970,
    6560             :               0.94910, 0.93880, 0.92860, 0.91880, 0.90910, 0.89960, 0.89040,   0.87250, 0.85530, 0.83880, 0.823,   0.80780, 0.79310, 0.779,   0.76540,
    6561             :               0.75230, 0.73960, 0.72740, 0.71550, 0.70410, 0.693,   3.542e-05, 0.61560, 0.5755},
    6562             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,   0.0,
    6563             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,   0.0,
    6564             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,   0.0,
    6565             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     1.19,    1.187,   1.183,   1.18,    1.177,   1.173, 1.17,
    6566             :               1.167,   1.164,   1.157,   1.151,   1.145,   1.139,   1.133,     1.127,   1.121,   1.115,   1.109,   1.103,   1.098,   1.092, 1.087,
    6567             :               1.081,   1.076,   1.071,   1.065,   1.06,    1.055,   1.05,      1.045,   1.04,    1.035,   1.03,    1.025,   1.013,   1.002, 0.99070,
    6568             :               0.97970, 0.969,   0.95860, 0.94840, 0.93840, 0.92860, 0.919,     0.90050, 0.88280, 0.86580, 0.84940, 0.83370, 0.81860, 0.804, 0.78990,
    6569             :               0.77640, 0.76330, 0.75070, 0.73840, 0.72660, 0.71520, 3.542e-05, 0.63530, 0.5939},
    6570             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6571             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6572             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6573             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,   1.226,   1.222,   1.219,   1.215,   1.212,   1.208,
    6574             :               1.205,   1.202,   1.195,   1.188,   1.182,   1.176,   1.169,     1.163,   1.157, 1.151,   1.145,   1.139,   1.133,   1.127,   1.122,
    6575             :               1.116,   1.111,   1.105,   1.1,     1.094,   1.089,   1.084,     1.079,   1.073, 1.068,   1.063,   1.058,   1.046,   1.034,   1.023,
    6576             :               1.011,   1.0,     0.98930, 0.97870, 0.96840, 0.95830, 0.94840,   0.92930, 0.911, 0.89340, 0.87650, 0.86030, 0.84470, 0.82960, 0.81510,
    6577             :               0.80110, 0.78760, 0.77460, 0.76190, 0.74970, 0.73790, 3.542e-05, 0.65550, 0.6128},
    6578             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6579             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6580             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6581             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     1.262,   1.258,   1.254,   1.251,   1.247,
    6582             :               1.244,   1.24,    1.234,   1.227,   1.22,    1.213,   1.207,     1.201,   1.194,   1.188,   1.182,   1.176,   1.17,    1.164,   1.158,
    6583             :               1.152,   1.146,   1.141,   1.135,   1.129,   1.124,   1.118,     1.113,   1.108,   1.102,   1.097,   1.092,   1.08,    1.067,   1.055,
    6584             :               1.043,   1.032,   1.021,   1.01,    0.99920, 0.98880, 0.97860,   0.95890, 0.93990, 0.92180, 0.90440, 0.88760, 0.87150, 0.85590, 0.84090,
    6585             :               0.82650, 0.81260, 0.79910, 0.78610, 0.77350, 0.76130, 3.542e-05, 0.67620, 0.6321},
    6586             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6587             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6588             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6589             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     1.299,   1.295,   1.291,   1.288,
    6590             :               1.284,   1.28,    1.273,   1.266,   1.259,   1.252,   1.246,     1.239,   1.232,   1.226,   1.22,    1.213,   1.207,   1.201,   1.195,
    6591             :               1.189,   1.183,   1.177,   1.171,   1.165,   1.16,    1.154,     1.149,   1.143,   1.138,   1.132,   1.127,   1.114,   1.101,   1.089,
    6592             :               1.077,   1.065,   1.053,   1.042,   1.031,   1.02,    1.01,      0.98920, 0.96960, 0.95090, 0.93290, 0.91560, 0.89890, 0.88290, 0.86740,
    6593             :               0.85250, 0.83810, 0.82420, 0.81080, 0.79780, 0.78520, 3.542e-05, 0.69740, 0.652},
    6594             :              {0.0,     0.0,     0.0,   0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6595             :               0.0,     0.0,     0.0,   0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6596             :               0.0,     0.0,     0.0,   0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6597             :               0.0,     0.0,     0.0,   0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,     0.0,     0.0,     1.337,   1.333,   1.329,
    6598             :               1.325,   1.321,   1.314, 1.307,   1.3,     1.292,   1.285,     1.279,  1.272, 1.265,   1.258,   1.252,   1.245,   1.239,   1.233,
    6599             :               1.227,   1.22,    1.214, 1.208,   1.202,   1.196,   1.191,     1.185,  1.179, 1.174,   1.168,   1.163,   1.149,   1.136,   1.123,
    6600             :               1.111,   1.098,   1.086, 1.075,   1.063,   1.052,   1.041,     1.02,   1.0,   0.98080, 0.96220, 0.94430, 0.92710, 0.91060, 0.89460,
    6601             :               0.87920, 0.86440, 0.85,  0.83620, 0.82280, 0.80980, 3.542e-05, 0.7192, 0.6723},
    6602             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,   0.0,       0.0,    0.0,   0.0,   0.0,     0.0,     0.0,   0.0,   0.0,
    6603             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,   0.0,       0.0,    0.0,   0.0,   0.0,     0.0,     0.0,   0.0,   0.0,
    6604             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,   0.0,       0.0,    0.0,   0.0,   0.0,     0.0,     0.0,   0.0,   0.0,
    6605             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,   0.0,       0.0,    0.0,   0.0,   0.0,     0.0,     0.0,   1.375, 1.371,
    6606             :               1.367,   1.364,   1.356,   1.348,   1.341,   1.334, 1.326,     1.319,  1.312, 1.305, 1.298,   1.292,   1.285, 1.278, 1.272,
    6607             :               1.265,   1.259,   1.253,   1.246,   1.24,    1.234, 1.228,     1.222,  1.216, 1.211, 1.205,   1.199,   1.185, 1.172, 1.158,
    6608             :               1.145,   1.133,   1.12,    1.108,   1.097,   1.085, 1.074,     1.052,  1.031, 1.011, 0.99220, 0.97380, 0.956, 0.939, 0.92250,
    6609             :               0.90660, 0.89130, 0.87650, 0.86220, 0.84840, 0.835, 3.542e-05, 0.7416, 0.6932},
    6610             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,
    6611             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,
    6612             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,
    6613             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     1.415,
    6614             :               1.411,   1.407,   1.399,   1.391,   1.383,   1.376,   1.368,     1.361,  1.354, 1.346, 1.339, 1.332, 1.325,   1.319,   1.312,
    6615             :               1.305,   1.299,   1.292,   1.286,   1.279,   1.273,   1.267,     1.261,  1.255, 1.249, 1.243, 1.237, 1.222,   1.208,   1.195,
    6616             :               1.181,   1.168,   1.155,   1.143,   1.131,   1.119,   1.107,     1.085,  1.063, 1.043, 1.023, 1.004, 0.98570, 0.96810, 0.95110,
    6617             :               0.93470, 0.91890, 0.90360, 0.88890, 0.87460, 0.86080, 3.542e-05, 0.7645, 0.7146},
    6618             :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,
    6619             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,
    6620             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,
    6621             :               0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,
    6622             :               1.455,   1.451,   1.443,   1.435,   1.427,   1.419,   1.411,     1.404,  1.396, 1.389, 1.381, 1.374, 1.367, 1.36,    1.353,
    6623             :               1.346,   1.339,   1.332,   1.326,   1.319,   1.313,   1.306,     1.3,    1.294, 1.287, 1.281, 1.275, 1.26,  1.246,   1.232,
    6624             :               1.218,   1.204,   1.191,   1.178,   1.166,   1.154,   1.142,     1.118,  1.096, 1.075, 1.055, 1.035, 1.016, 0.99790, 0.98040,
    6625             :               0.96350, 0.94720, 0.93140, 0.91620, 0.90150, 0.88730, 3.542e-05, 0.7879, 0.7365},
    6626             :              {0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6627             :               0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6628             :               0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6629             :               0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       1.497, 1.488, 1.48,  1.472, 1.464, 1.456, 1.448,
    6630             :               1.44,  1.432, 1.425, 1.417, 1.41,    1.402,   1.395,   1.388,   1.381,   1.374,     1.367, 1.36,  1.354, 1.347, 1.34,  1.334, 1.327,
    6631             :               1.321, 1.315, 1.299, 1.284, 1.27,    1.255,   1.242,   1.228,   1.215,   1.202,     1.189, 1.177, 1.153, 1.13,  1.108, 1.087, 1.067,
    6632             :               1.047, 1.028, 1.01,  0.993, 0.97620, 0.95990, 0.94420, 0.92910, 0.91440, 3.542e-05, 0.812, 0.759},
    6633             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6634             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6635             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6636             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,       0.0,    1.583, 1.574, 1.565, 1.556, 1.548, 1.539,
    6637             :               1.531, 1.522, 1.514, 1.506, 1.498, 1.49,  1.483, 1.475,   1.468,   1.46,      1.453,  1.445, 1.438, 1.431, 1.424, 1.417, 1.41,
    6638             :               1.404, 1.397, 1.38,  1.364, 1.349, 1.334, 1.319, 1.304,   1.29,    1.276,     1.263,  1.25,  1.224, 1.2,   1.177, 1.154, 1.133,
    6639             :               1.112, 1.092, 1.073, 1.054, 1.036, 1.019, 1.002, 0.98630, 0.97070, 3.542e-05, 0.8619, 0.8056},
    6640             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6641             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6642             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6643             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   1.673, 1.663, 1.654, 1.644, 1.635,
    6644             :               1.626, 1.617, 1.609, 1.6,   1.592, 1.583, 1.575, 1.567, 1.559, 1.551,     1.543,  1.535, 1.527, 1.52,  1.512, 1.505, 1.498,
    6645             :               1.49,  1.483, 1.466, 1.449, 1.432, 1.416, 1.4,   1.385, 1.37,  1.355,     1.341,  1.327, 1.299, 1.273, 1.249, 1.225, 1.202,
    6646             :               1.18,  1.159, 1.138, 1.119, 1.1,   1.081, 1.063, 1.046, 1.03,  3.542e-05, 0.9143, 0.8546},
    6647             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6648             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6649             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6650             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   1.766, 1.756, 1.746, 1.737,
    6651             :               1.727, 1.717, 1.708, 1.699, 1.69,  1.681, 1.672, 1.663, 1.655, 1.646,     1.638,  1.629, 1.621, 1.613, 1.605, 1.597, 1.589,
    6652             :               1.582, 1.574, 1.555, 1.537, 1.519, 1.502, 1.485, 1.469, 1.453, 1.437,     1.422,  1.407, 1.378, 1.351, 1.324, 1.299, 1.274,
    6653             :               1.251, 1.229, 1.207, 1.186, 1.166, 1.146, 1.128, 1.109, 1.092, 3.542e-05, 0.9692, 0.9059},
    6654             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6655             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6656             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6657             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   1.864, 1.854, 1.843,
    6658             :               1.833, 1.823, 1.813, 1.803, 1.793, 1.784, 1.774, 1.765, 1.755, 1.746,     1.737, 1.729, 1.72,  1.711, 1.703, 1.694, 1.686,
    6659             :               1.678, 1.669, 1.649, 1.63,  1.611, 1.593, 1.575, 1.557, 1.54,  1.524,     1.507, 1.492, 1.461, 1.432, 1.403, 1.377, 1.351,
    6660             :               1.326, 1.302, 1.279, 1.257, 1.235, 1.215, 1.195, 1.175, 1.157, 3.542e-05, 1.027, 0.9597},
    6661             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6662             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6663             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6664             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   1.967, 1.955,
    6665             :               1.944, 1.933, 1.923, 1.912, 1.902, 1.891, 1.881, 1.871, 1.861, 1.852,     1.842, 1.833, 1.823, 1.814, 1.805, 1.796, 1.787,
    6666             :               1.778, 1.77,  1.748, 1.728, 1.707, 1.688, 1.669, 1.65,  1.632, 1.614,     1.597, 1.58,  1.548, 1.516, 1.487, 1.458, 1.431,
    6667             :               1.404, 1.379, 1.354, 1.331, 1.308, 1.286, 1.265, 1.245, 1.225, 3.542e-05, 1.087, 1.016},
    6668             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6669             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6670             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6671             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   2.074,
    6672             :               2.062, 2.05,  2.038, 2.027, 2.016, 2.005, 1.994, 1.983, 1.973, 1.962,     1.952, 1.942, 1.932, 1.922, 1.912, 1.903, 1.893,
    6673             :               1.884, 1.875, 1.852, 1.83,  1.809, 1.788, 1.767, 1.748, 1.728, 1.709,     1.691, 1.673, 1.639, 1.605, 1.574, 1.543, 1.514,
    6674             :               1.486, 1.459, 1.434, 1.409, 1.384, 1.361, 1.339, 1.317, 1.296, 3.542e-05, 1.15,  1.075},
    6675             :              {0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6676             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6677             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6678             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   2.185, 2.172, 2.16,  2.148, 2.136, 2.124,     2.112, 2.101,
    6679             :               2.09, 2.079, 2.068, 2.057, 2.046, 2.036, 2.025, 2.015, 2.005, 1.995, 1.985, 1.961, 1.937, 1.915, 1.892, 1.871, 1.85,      1.829, 1.809,
    6680             :               1.79, 1.771, 1.734, 1.699, 1.665, 1.633, 1.602, 1.572, 1.544, 1.516, 1.49,  1.464, 1.44,  1.416, 1.393, 1.371, 3.542e-05, 1.216, 1.137},
    6681             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6682             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6683             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6684             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6685             :               0.0,   2.301, 2.288, 2.275, 2.262, 2.249, 2.237, 2.225, 2.213, 2.201,     2.189, 2.177, 2.166, 2.155, 2.144, 2.133, 2.122,
    6686             :               2.111, 2.101, 2.075, 2.05,  2.026, 2.002, 1.979, 1.957, 1.935, 1.914,     1.893, 1.873, 1.834, 1.796, 1.761, 1.727, 1.694,
    6687             :               1.662, 1.632, 1.603, 1.575, 1.548, 1.522, 1.497, 1.473, 1.449, 3.542e-05, 1.286, 1.201},
    6688             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6689             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6690             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6691             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6692             :               0.0,   0.0,   2.422, 2.408, 2.394, 2.381, 2.367, 2.354, 2.341, 2.329,     2.316, 2.304, 2.292, 2.28,  2.268, 2.256, 2.245,
    6693             :               2.233, 2.222, 2.195, 2.168, 2.142, 2.117, 2.093, 2.069, 2.046, 2.023,     2.001, 1.98,  1.938, 1.899, 1.861, 1.825, 1.79,
    6694             :               1.757, 1.725, 1.694, 1.664, 1.635, 1.608, 1.581, 1.556, 1.531, 3.542e-05, 1.358, 1.269},
    6695             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6696             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6697             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6698             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6699             :               0.0,   0.0,   0.0,   2.548, 2.533, 2.519, 2.505, 2.491, 2.477, 2.463,     2.45,  2.437, 2.424, 2.411, 2.398, 2.386, 2.373,
    6700             :               2.361, 2.349, 2.32,  2.292, 2.264, 2.238, 2.212, 2.186, 2.162, 2.138,     2.114, 2.091, 2.048, 2.006, 1.965, 1.927, 1.89,
    6701             :               1.855, 1.821, 1.789, 1.757, 1.727, 1.698, 1.67,  1.642, 1.616, 3.542e-05, 1.433, 1.339},
    6702             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6703             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6704             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6705             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6706             :               0.0,   0.0,   0.0,   0.0,   2.679, 2.664, 2.648, 2.633, 2.619, 2.604,     2.59,  2.576, 2.562, 2.548, 2.535, 2.522, 2.508,
    6707             :               2.495, 2.483, 2.452, 2.421, 2.392, 2.364, 2.336, 2.309, 2.283, 2.258,     2.233, 2.209, 2.162, 2.117, 2.075, 2.034, 1.995,
    6708             :               1.958, 1.922, 1.888, 1.854, 1.822, 1.792, 1.762, 1.733, 1.705, 3.542e-05, 1.512, 1.413},
    6709             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6710             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6711             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6712             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6713             :               0.0,   0.0,   0.0,   0.0,   0.0,   2.816, 2.8,   2.783, 2.768, 2.752,     2.737, 2.722, 2.707, 2.692, 2.678, 2.664, 2.65,
    6714             :               2.636, 2.622, 2.589, 2.557, 2.526, 2.496, 2.466, 2.438, 2.41,  2.383,     2.357, 2.331, 2.282, 2.234, 2.189, 2.146, 2.105,
    6715             :               2.066, 2.028, 1.991, 1.956, 1.922, 1.89,  1.858, 1.828, 1.799, 3.542e-05, 1.595, 1.490},
    6716             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6717             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6718             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6719             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6720             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   2.958, 2.941, 2.924, 2.907,     2.891, 2.875, 2.859, 2.843, 2.828, 2.813, 2.798,
    6721             :               2.783, 2.769, 2.733, 2.699, 2.666, 2.634, 2.603, 2.572, 2.543, 2.514,     2.486, 2.459, 2.407, 2.357, 2.309, 2.263, 2.22,
    6722             :               2.178, 2.138, 2.099, 2.062, 2.026, 1.992, 1.959, 1.927, 1.896, 3.542e-05, 1.681, 1.570},
    6723             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6724             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6725             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6726             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6727             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   3.106, 3.088, 3.07,      3.052, 3.035, 3.018, 3.001, 2.985, 2.969, 2.953,
    6728             :               2.937, 2.922, 2.884, 2.848, 2.812, 2.778, 2.745, 2.713, 2.682, 2.651,     2.622, 2.593, 2.537, 2.484, 2.434, 2.386, 2.34,
    6729             :               2.295, 2.253, 2.212, 2.173, 2.135, 2.099, 2.064, 2.03,  1.997, 3.542e-05, 1.77,  1.654},
    6730             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6731             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6732             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6733             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6734             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   3.26,  3.24,      3.222, 3.203, 3.185, 3.167, 3.15,  3.132, 3.115,
    6735             :               3.099, 3.082, 3.042, 3.003, 2.966, 2.929, 2.894, 2.86,  2.827, 2.794,     2.763, 2.732, 2.674, 2.618, 2.564, 2.513, 2.465,
    6736             :               2.418, 2.373, 2.33,  2.289, 2.249, 2.21,  2.173, 2.138, 2.103, 3.542e-05, 1.864, 1.741},
    6737             :              {0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6738             :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6739             :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6740             :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6741             :               0.0,   3.419, 3.399, 3.379, 3.36, 3.341, 3.322, 3.304, 3.286, 3.268, 3.25,  3.207, 3.166, 3.126, 3.087, 3.05,  3.014,     2.978, 2.944,
    6742             :               2.911, 2.878, 2.816, 2.757, 2.7,  2.646, 2.595, 2.546, 2.498, 2.453, 2.409, 2.367, 2.326, 2.287, 2.25,  2.213, 3.542e-05, 1.961, 1.832},
    6743             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6744             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6745             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6746             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6747             :               0.0,   0.0,   3.585, 3.564, 3.543, 3.523, 3.503, 3.483, 3.464, 3.445, 3.426, 3.38, 3.336, 3.294, 3.253, 3.213, 3.174,     3.137, 3.1,
    6748             :               3.065, 3.031, 2.965, 2.902, 2.842, 2.785, 2.731, 2.679, 2.629, 2.581, 2.535, 2.49, 2.448, 2.406, 2.367, 2.328, 3.542e-05, 2.063, 1.926},
    6749             :              {0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6750             :               0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6751             :               0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6752             :               0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6753             :               0.0,   0.0,  0.0,  3.758, 3.735, 3.713, 3.692, 3.671, 3.65,  3.63,  3.61,  3.561, 3.514, 3.469, 3.425, 3.383, 3.342,     3.302, 3.264,
    6754             :               3.226, 3.19, 3.12, 3.054, 2.99,  2.93,  2.873, 2.818, 2.765, 2.714, 2.665, 2.619, 2.574, 2.53,  2.488, 2.448, 3.542e-05, 2.168, 2.025},
    6755             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6756             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6757             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6758             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6759             :               0.0,   0.0,   0.0,   0.0,   3.937, 3.913, 3.89, 3.867, 3.845, 3.823, 3.802, 3.75,  3.7,   3.652, 3.605, 3.561, 3.517,     3.475, 3.434,
    6760             :               3.394, 3.356, 3.282, 3.212, 3.145, 3.081, 3.02, 2.962, 2.907, 2.853, 2.802, 2.752, 2.705, 2.659, 2.615, 2.573, 3.542e-05, 2.278, 2.127},
    6761             :              {0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6762             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6763             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6764             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6765             :               0.0,  0.0,   0.0,   0.0,   0.0,   4.122, 4.097, 4.073, 4.049, 4.026, 4.003, 3.948, 3.895, 3.843, 3.794, 3.746, 3.7,       3.655, 3.612,
    6766             :               3.57, 3.529, 3.451, 3.376, 3.306, 3.238, 3.174, 3.113, 3.054, 2.998, 2.944, 2.892, 2.842, 2.794, 2.747, 2.702, 3.542e-05, 2.392, 2.234},
    6767             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6768             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6769             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6770             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6771             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   4.315, 4.289, 4.263,
    6772             :               4.238, 4.214, 4.155, 4.098, 4.043, 3.991, 3.94,  3.891, 3.843, 3.797,     3.753, 3.709, 3.627, 3.548, 3.473, 3.402, 3.335,
    6773             :               3.27,  3.208, 3.148, 3.091, 3.037, 2.984, 2.933, 2.884, 2.837, 3.542e-05, 2.511, 2.344},
    6774             :              {0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6775             :               0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6776             :               0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6777             :               0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6778             :               0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   4.515, 4.487, 4.46,  4.434, 4.371, 4.31,  4.252, 4.196, 4.142, 4.09,      4.04,  3.991,
    6779             :               3.944, 3.898, 3.81, 3.727, 3.648, 3.573, 3.501, 3.433, 3.368, 3.305, 3.245, 3.187, 3.132, 3.079, 3.027, 2.977, 3.542e-05, 2.635, 2.459},
    6780             :              {0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6781             :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6782             :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6783             :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6784             :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   4.722, 4.693, 4.665, 4.597, 4.532, 4.47, 4.411, 4.353, 4.298,     4.244, 4.193,
    6785             :               4.143, 4.094, 4.001, 3.913, 3.83, 3.751, 3.675, 3.603, 3.534, 3.468, 3.405, 3.344, 3.286, 3.23, 3.176, 3.123, 3.542e-05, 2.763, 2.579},
    6786             :              {0.0,  0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6787             :               0.0,  0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6788             :               0.0,  0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6789             :               0.0,  0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6790             :               0.0,  0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   4.936, 4.906, 4.833, 4.764, 4.698, 4.635, 4.574, 4.515,     4.458, 4.403,
    6791             :               4.35, 4.298, 4.2, 4.107, 4.019, 3.935, 3.856, 3.78, 3.707, 3.638, 3.571, 3.507, 3.446, 3.387, 3.33,  3.275, 3.542e-05, 2.896, 2.703},
    6792             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6793             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6794             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6795             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6796             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6797             :               0.0,   5.159, 5.081, 5.007, 4.936, 4.868, 4.803, 4.741, 4.681, 4.622,     4.566, 4.512, 4.407, 4.309, 4.216, 4.128, 4.044,
    6798             :               3.964, 3.887, 3.814, 3.744, 3.677, 3.612, 3.55,  3.49,  3.432, 3.542e-05, 3.035, 2.832},
    6799             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6800             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6801             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6802             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6803             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   5.75, 5.662, 5.579, 5.499, 5.423, 5.35,      5.28,  5.212,
    6804             :               5.147, 5.084, 4.964, 4.851, 4.744, 4.643, 4.547, 4.456, 4.369, 4.286, 4.206, 4.13, 4.056, 3.986, 3.918, 3.853, 3.542e-05, 3.404, 3.176},
    6805             :              {0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6806             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6807             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6808             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6809             :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   6.395, 6.296, 6.202, 6.112, 6.027,     5.945, 5.866,
    6810             :               5.79, 5.717, 5.579, 5.449, 5.327, 5.211, 5.102, 4.998, 4.898, 4.804, 4.714, 4.627, 4.544, 4.464, 4.388, 4.314, 3.542e-05, 3.808, 3.552},
    6811             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6812             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6813             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6814             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6815             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   7.098, 6.985, 6.879, 6.779,     6.683, 6.591,
    6816             :               6.503, 6.418, 6.258, 6.108, 5.968, 5.836, 5.711, 5.593, 5.48, 5.373, 5.27, 5.172, 5.078, 4.988, 4.902, 4.819, 3.542e-05, 4.25,  3.962},
    6817             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6818             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6819             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6820             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6821             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   7.861, 7.734, 7.615,     7.502, 7.395,
    6822             :               7.292, 7.193, 7.008, 6.835, 6.674, 6.523, 6.38, 6.245, 6.118, 5.996, 5.88, 5.769, 5.663, 5.561, 5.464, 5.37,  3.542e-05, 4.732, 4.410},
    6823             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6824             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6825             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6826             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6827             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6828             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   8.69,  8.547, 8.413, 8.286,     8.166, 8.051, 7.835, 7.636, 7.451, 7.278, 7.115,
    6829             :               6.961, 6.816, 6.678, 6.547, 6.421, 6.302, 6.187, 6.078, 5.972, 3.542e-05, 5.257, 4.897},
    6830             :              {0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6831             :               0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6832             :               0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6833             :               0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6834             :               0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   9.588,     9.428, 9.277,
    6835             :               9.135, 9.0, 8.749, 8.519, 8.305, 8.106, 7.92, 7.745, 7.58, 7.423, 7.275, 7.133, 6.998, 6.87, 6.746, 6.628, 3.542e-05, 5.827, 5.425},
    6836             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6837             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6838             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6839             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6840             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       10.56, 10.38,
    6841             :               10.21, 10.05, 9.759, 9.491, 9.244, 9.016, 8.803, 8.603, 8.415, 8.238, 8.069, 7.91, 7.758, 7.613, 7.474, 7.341, 3.542e-05, 6.445, 5.998},
    6842             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6843             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6844             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6845             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6846             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6847             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   11.62,     11.41, 11.22, 10.88, 10.56, 10.28, 10.01, 9.769,
    6848             :               9.541, 9.328, 9.126, 8.936, 8.756, 8.584, 8.421, 8.265, 8.116, 3.542e-05, 7.115, 6.618},
    6849             :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6850             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6851             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6852             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6853             :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6854             :               12.75, 12.53, 12.11, 11.75, 11.41, 11.11, 10.83, 10.57, 10.32, 10.1, 9.88, 9.676, 9.483, 9.299, 9.124, 8.957, 3.542e-05, 7.84, 7.288},
    6855             :              {0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6856             :               0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6857             :               0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6858             :               0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6859             :               0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6860             :               0.0, 13.99, 13.49, 13.05, 12.67, 12.31, 11.99, 11.69, 11.41, 11.15, 10.91, 10.68, 10.46, 10.25, 10.06, 9.869, 3.542e-05, 8.623, 8.011},
    6861             :              {0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6862             :               0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6863             :               0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6864             :               0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6865             :               0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6866             :               0.0, 0.0, 16.75, 16.12, 15.58, 15.1, 14.66, 14.26, 13.9, 13.56, 13.25, 12.95, 12.67, 12.41, 12.16, 11.93, 3.542e-05, 10.38, 9.628},
    6867             :              {0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6868             :               0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6869             :               0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6870             :               0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6871             :               0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6872             :               0.0, 0.0, 0.0, 19.97, 19.17, 18.49, 17.89, 17.36, 16.87, 16.43, 16.02, 15.64, 15.28, 14.95, 14.63, 14.34, 3.542e-05, 12.42, 11.5},
    6873             :              {0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6874             :               0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6875             :               0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6876             :               0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6877             :               0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6878             :               0.0, 0.0, 0.0, 0.0, 23.71, 22.7, 21.85, 21.1, 20.45, 19.85, 19.31, 18.81, 18.35, 17.93, 17.53, 17.15, 3.542e-05, 14.77, 13.65},
    6879             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6880             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6881             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6882             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6883             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6884             :               0.0, 0.0, 0.0, 0.0, 0.0, 28.07, 26.78, 25.71, 24.79, 23.97, 23.25, 22.59, 21.99, 21.44, 20.93, 20.45, 3.542e-05, 17.48, 16.12},
    6885             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6886             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6887             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6888             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6889             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6890             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 33.16, 31.5, 30.15, 29.0, 28.0, 27.11, 26.31, 25.59, 24.92, 24.31, 3.542e-05, 20.6, 18.94},
    6891             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6892             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6893             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6894             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6895             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6896             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 39.13, 36.97, 35.25, 33.82, 32.58, 31.5, 30.53, 29.65, 28.86, 3.542e-05, 24.19, 22.16},
    6897             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6898             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6899             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6900             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6901             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6902             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 46.17, 43.33, 41.13, 39.33, 37.8, 36.47, 35.29, 34.24, 3.542e-05, 28.31, 25.84},
    6903             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6904             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6905             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6906             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6907             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6908             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 54.54, 50.75, 47.92, 45.65, 43.75, 42.11, 40.68, 3.542e-05, 33.07, 30.03},
    6909             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6910             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6911             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6912             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6913             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 64.64, 59.47, 55.78, 52.9, 50.53, 48.51, 3.542e-05, 38.55, 34.81},
    6914             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6915             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6916             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6917             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6918             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 77.05, 69.8, 64.93, 61.24, 58.27, 3.542e-05, 44.92, 40.28},
    6919             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6920             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6921             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6922             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6923             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 92.76, 82.18, 75.63, 70.87, 3.542e-05, 52.35, 46.54},
    6924             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6925             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6926             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6927             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6928             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 113.6, 97.22, 88.27, 3.542e-05, 61.12, 53.76},
    6929             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,       0.0,  0.0,  0.0,
    6930             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,       0.0,  0.0,  0.0,
    6931             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,       0.0,  0.0,  0.0,
    6932             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,       0.0,  0.0,  0.0,
    6933             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 143.9, 115.8, 3.542e-05, 71.6, 62.15},
    6934             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,       0.0,   0.0,  0.0,
    6935             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,       0.0,   0.0,  0.0,
    6936             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,       0.0,   0.0,  0.0,
    6937             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,       0.0,   0.0,  0.0,
    6938             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 201.8, 3.542e-05, 84.38, 71.99},
    6939             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6940             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6941             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6942             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6943             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.542e-05, 148.4, 115.1},
    6944             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6945             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6946             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6947             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6948             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.542e-05, 201.7, 144.2},
    6949             :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6950             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6951             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6952             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    6953             :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.542e-05, 270.9, 177.8}}};
    6954             : #endif // UNUSED_FLUID_PROPS
    6955             : 
    6956             : } // namespace FluidProperties
    6957             : 
    6958             : } // namespace EnergyPlus

Generated by: LCOV version 1.14