LCOV - code coverage report
Current view: top level - EnergyPlus - FluidProperties.cc (source / functions) Coverage Total Hit
Test: lcov.output.filtered Lines: 47.4 % 2099 995
Test Date: 2025-05-22 16:09:37 Functions: 82.5 % 40 33

            Line data    Source code
       1              : // EnergyPlus, Copyright (c) 1996-2025, 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 Fluid {
      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         2126 :     void InitConstantFluidPropertiesData(EnergyPlusData &state)
     510              :     {
     511         2126 :         constexpr std::string_view routineName = "InitConstantFluidPropertiesData";
     512              : 
     513         2126 :         auto &df = state.dataFluid;
     514         2126 :         bool ErrorsFound = false;
     515              : 
     516              :         // Where are these things initialized?
     517         2126 :         Array2D<Real64> DefaultSteamSuperheatedEnthalpyData(DefaultNumSteamSuperheatedPressure, DefaultNumSteamSuperheatedTemps);
     518         2126 :         Array2D<Real64> DefaultSteamSuperheatedDensityData(DefaultNumSteamSuperheatedPressure, DefaultNumSteamSuperheatedTemps);
     519              : 
     520              :         // Add refrigerant object for Steam.
     521         2126 :         auto *steam = new RefrigProps;
     522         2126 :         steam->Name = "STEAM";
     523         2126 :         df->refrigs.push_back(steam);
     524         2126 :         steam->Num = df->refrigs.isize();
     525              : 
     526              :         // Initialize Steam
     527         2126 :         steam->NumPsPoints = DefaultNumSteamTemps;
     528         2126 :         steam->PsTemps.allocate(DefaultNumSteamTemps);
     529         2126 :         steam->PsValues.allocate(DefaultNumSteamTemps);
     530         2126 :         steam->NumHPoints = DefaultNumSteamTemps;
     531         2126 :         steam->HTemps.allocate(DefaultNumSteamTemps);
     532         2126 :         steam->HfValues.allocate(DefaultNumSteamTemps);
     533         2126 :         steam->HfgValues.allocate(DefaultNumSteamTemps);
     534         2126 :         steam->NumCpPoints = DefaultNumSteamTemps;
     535         2126 :         steam->CpTemps.allocate(DefaultNumSteamTemps);
     536         2126 :         steam->CpfValues.allocate(DefaultNumSteamTemps);
     537         2126 :         steam->CpfgValues.allocate(DefaultNumSteamTemps);
     538         2126 :         steam->NumRhoPoints = DefaultNumSteamTemps;
     539         2126 :         steam->RhoTemps.allocate(DefaultNumSteamTemps);
     540         2126 :         steam->RhofValues.allocate(DefaultNumSteamTemps);
     541         2126 :         steam->RhofgValues.allocate(DefaultNumSteamTemps);
     542              : 
     543         2126 :         steam->PsTemps = DefaultSteamTemps;
     544         2126 :         steam->PsValues = DefaultSteamPressData;
     545         2126 :         steam->HTemps = DefaultSteamTemps;
     546         2126 :         steam->HfValues = DefaultSteamEnthalpyFluidData;
     547         2126 :         steam->HfgValues = DefaultSteamEnthalpyGasFluidData;
     548         2126 :         steam->CpTemps = DefaultSteamTemps;
     549         2126 :         steam->CpfValues = DefaultSteamCpFluidData;
     550         2126 :         steam->CpfgValues = DefaultSteamCpGasFluidData;
     551         2126 :         steam->RhoTemps = DefaultSteamTemps;
     552         2126 :         steam->RhofValues = DefaultSteamDensityFluidData;
     553         2126 :         steam->RhofgValues = DefaultSteamDensityGasFluidData;
     554              : 
     555         2126 :         steam->NumSupTempPoints = DefaultNumSteamSuperheatedTemps;
     556         2126 :         steam->NumSupPressPoints = DefaultNumSteamSuperheatedPressure;
     557         2126 :         steam->SupTemps.allocate(steam->NumSupTempPoints);
     558         2126 :         steam->SupPress.allocate(steam->NumSupPressPoints);
     559         2126 :         steam->HshValues.allocate(steam->NumSupPressPoints, steam->NumSupTempPoints);
     560         2126 :         steam->RhoshValues.allocate(steam->NumSupPressPoints, steam->NumSupTempPoints);
     561         2126 :         steam->SupTemps = DefaultSteamSuperheatedTemps;
     562         2126 :         steam->SupPress = DefaultSteamSuperheatedPressData;
     563         2126 :         steam->HshValues = DefaultSteamSuperheatedEnthalpyData;
     564         2126 :         steam->RhoshValues = DefaultSteamSuperheatedDensityData;
     565              : 
     566         2126 :         steam->setTempLimits(state, ErrorsFound);
     567              : 
     568              :         // Water is always available
     569         2126 :         auto *waterRaw = GetGlycolRaw(state, "WATER");
     570         2126 :         if (waterRaw == nullptr) {
     571         2126 :             waterRaw = new GlycolRawProps;
     572         2126 :             waterRaw->Name = "WATER";
     573              : 
     574         2126 :             df->glycolsRaw.push_back(waterRaw);
     575         2126 :             waterRaw->Num = df->glycolsRaw.isize();
     576              :         }
     577              : 
     578         2126 :         waterRaw->CpDataPresent = true;
     579         2126 :         waterRaw->NumCpConcPoints = 1;
     580         2126 :         waterRaw->NumCpTempPoints = DefaultNumGlyTemps;
     581         2126 :         waterRaw->CpTemps.allocate(waterRaw->NumCpTempPoints);
     582         2126 :         waterRaw->CpTemps = DefaultGlycolTemps;
     583         2126 :         waterRaw->CpConcs.allocate(waterRaw->NumCpConcPoints);
     584         2126 :         waterRaw->CpConcs = 0.0;
     585         2126 :         waterRaw->CpValues.allocate(waterRaw->NumCpConcPoints, waterRaw->NumCpTempPoints);
     586         2126 :         waterRaw->CpValues(1, {1, waterRaw->NumCpTempPoints}) = DefaultWaterCpData;
     587              : 
     588         2126 :         waterRaw->RhoDataPresent = true;
     589         2126 :         waterRaw->NumRhoConcPoints = 1;
     590         2126 :         waterRaw->NumRhoTempPoints = DefaultNumGlyTemps;
     591         2126 :         waterRaw->RhoTemps.allocate(waterRaw->NumRhoTempPoints);
     592         2126 :         waterRaw->RhoTemps = DefaultGlycolTemps;
     593         2126 :         waterRaw->RhoConcs.allocate(waterRaw->NumRhoConcPoints);
     594         2126 :         waterRaw->RhoConcs = 0.0;
     595         2126 :         waterRaw->RhoValues.allocate(waterRaw->NumRhoConcPoints, waterRaw->NumRhoTempPoints);
     596         2126 :         waterRaw->RhoValues(1, {1, waterRaw->NumRhoTempPoints}) = DefaultWaterRhoData;
     597              : 
     598         2126 :         waterRaw->CondDataPresent = true;
     599         2126 :         waterRaw->NumCondConcPoints = 1;
     600         2126 :         waterRaw->NumCondTempPoints = DefaultNumGlyTemps;
     601         2126 :         waterRaw->CondTemps.allocate(waterRaw->NumCondTempPoints);
     602         2126 :         waterRaw->CondTemps = DefaultGlycolTemps;
     603         2126 :         waterRaw->CondConcs.allocate(waterRaw->NumCondConcPoints);
     604         2126 :         waterRaw->CondConcs = 0.0;
     605         2126 :         waterRaw->CondValues.allocate(waterRaw->NumCondConcPoints, waterRaw->NumCondTempPoints);
     606         2126 :         waterRaw->CondValues(1, {1, waterRaw->NumCondTempPoints}) = DefaultWaterCondData;
     607              : 
     608         2126 :         waterRaw->ViscDataPresent = true;
     609         2126 :         waterRaw->NumViscConcPoints = 1;
     610         2126 :         waterRaw->NumViscTempPoints = DefaultNumGlyTemps;
     611         2126 :         waterRaw->ViscTemps.allocate(waterRaw->NumViscTempPoints);
     612         2126 :         waterRaw->ViscTemps = DefaultGlycolTemps;
     613         2126 :         waterRaw->ViscConcs.allocate(waterRaw->NumViscConcPoints);
     614         2126 :         waterRaw->ViscConcs = 0.0;
     615         2126 :         waterRaw->ViscValues.allocate(waterRaw->NumViscConcPoints, waterRaw->NumViscTempPoints);
     616         2126 :         waterRaw->ViscValues(1, {1, waterRaw->NumViscTempPoints}) = DefaultWaterViscData;
     617              : 
     618              :         // Water is always available
     619         2126 :         auto *water = GetGlycol(state, "WATER");
     620         2126 :         if (water == nullptr) {
     621         2126 :             water = new GlycolProps;
     622         2126 :             water->Name = "WATER";
     623         2126 :             water->GlycolName = "WATER";
     624         2126 :             water->used = true; // mark Water as always used
     625              : 
     626         2126 :             df->glycols.push_back(water);
     627         2126 :             water->Num = df->glycols.isize();
     628              :         }
     629         2126 :         water->Concentration = 1.0;
     630         2126 :         water->CpDataPresent = true;
     631         2126 :         water->NumCpTempPoints = DefaultNumGlyTemps;
     632         2126 :         water->RhoDataPresent = true;
     633         2126 :         water->NumRhoTempPoints = DefaultNumGlyTemps;
     634         2126 :         water->CondDataPresent = true;
     635         2126 :         water->NumCondTempPoints = DefaultNumGlyTemps;
     636         2126 :         water->ViscDataPresent = true;
     637         2126 :         water->NumViscTempPoints = DefaultNumGlyTemps;
     638         2126 :         water->CpTemps.allocate(water->NumCpTempPoints);
     639         2126 :         water->CpValues.allocate(water->NumCpTempPoints);
     640         2126 :         water->RhoTemps.allocate(water->NumRhoTempPoints);
     641         2126 :         water->RhoValues.allocate(water->NumRhoTempPoints);
     642         2126 :         water->CondTemps.allocate(water->NumCondTempPoints);
     643         2126 :         water->CondValues.allocate(water->NumCondTempPoints);
     644         2126 :         water->ViscTemps.allocate(water->NumViscTempPoints);
     645         2126 :         water->ViscValues.allocate(water->NumViscTempPoints);
     646         2126 :         water->CpTemps = DefaultGlycolTemps;
     647         2126 :         water->CpValues = DefaultWaterCpData;
     648         2126 :         water->RhoTemps = DefaultGlycolTemps;
     649         2126 :         water->RhoValues = DefaultWaterRhoData;
     650         2126 :         water->CondTemps = DefaultGlycolTemps;
     651         2126 :         water->CondValues = DefaultWaterCondData;
     652         2126 :         water->ViscTemps = DefaultGlycolTemps;
     653         2126 :         water->ViscValues = DefaultWaterViscData;
     654              : 
     655         2126 :         water->setTempLimits(state, ErrorsFound);
     656              : 
     657              : #ifdef PERFORMANCE_OPT
     658              :         // This is a speed optimization.  Maybe.
     659              :         water->CpTempRatios.allocate(water->NumCpTempPoints);
     660              :         for (int i = 1; i < water->NumCpTempPoints; ++i)
     661              :             water->CpTempRatios(i) = (water->CpValues(i + 1) - water->CpValues(i)) / (water->CpTemps(i + 1) - water->CpTemps(i));
     662              :         water->RhoTempRatios.allocate(water->NumRhoTempPoints);
     663              :         for (int i = 1; i < water->NumRhoTempPoints; ++i)
     664              :             water->RhoTempRatios(i) = (water->RhoValues(i + 1) - water->RhoValues(i)) / (water->RhoTemps(i + 1) - water->RhoTemps(i));
     665              :         water->CondTempRatios.allocate(water->NumCondTempPoints);
     666              :         for (int i = 1; i < water->NumCondTempPoints; ++i)
     667              :             water->CondTempRatios(i) = (water->CondValues(i + 1) - water->CondValues(i)) / (water->CondTemps(i + 1) - water->CondTemps(i));
     668              :         water->ViscTempRatios.allocate(water->NumViscTempPoints);
     669              :         for (int i = 1; i < water->NumCondTempPoints; ++i)
     670              :             water->ViscTempRatios(i) = (water->ViscValues(i + 1) - water->ViscValues(i)) / (water->ViscTemps(i + 1) - water->ViscTemps(i));
     671              : #endif // PERFORMANCE_OPT
     672              : 
     673         2126 :     } // InitConstantFluidPropertiesData()
     674              : 
     675         1235 :     void GetFluidPropertiesData(EnergyPlusData &state)
     676              :     {
     677              : 
     678              :         // SUBROUTINE INFORMATION:
     679              :         //       AUTHOR         Rick Strand
     680              :         //       DATE WRITTEN   April 2000
     681              :         //       MODIFIED       May 2002 Simon Rees (Added saturated pressure data retreaval)
     682              :         //                      June 2004 Rick Strand (Added glycol defaults and modified glycol data structure)
     683              :         //                      August 2011 Linda Lawrie (Added steam as default refrigerant)
     684              :         //                      August 2012 Linda Lawrie (more error checks on data input)
     685              : 
     686              :         // PURPOSE OF THIS SUBROUTINE:
     687              :         // The purpose of this subroutine is to read in all of the fluid
     688              :         // property data contained in the user input file.
     689              : 
     690              :         // METHODOLOGY EMPLOYED:
     691              :         // Standard EnergyPlus methodology.  Derived type portions are
     692              :         // allocated as necessary as the data is read into the program.
     693              : 
     694              :         // SUBROUTINE PARAMETER DEFINITIONS:
     695              :         // Real64 constexpr PressToler(1.0); // Some reasonable value for comparisons
     696              :         static constexpr std::string_view routineName = "GetFluidPropertiesData";
     697              : 
     698              :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
     699         1235 :         Array1D_string Alphas;            // Reads string value from input file
     700         1235 :         Array1D_string cAlphaFields;      // field names for alpha fields
     701         1235 :         Array1D_string cNumericFields;    // field names for numeric fields
     702              :         int NumAlphas;                    // States which alpha value to read from a "Number" line
     703         1235 :         Array1D<Real64> Numbers;          // brings in data from IP
     704         1235 :         Array1D_bool lAlphaFieldBlanks;   // logical for blank alpha fields
     705         1235 :         Array1D_bool lNumericFieldBlanks; // logical for blank numeric fields
     706              :         int NumNumbers;                   // States which number value to read from a "Numbers" line
     707              :         int Status;                       // Either 1 "object found" or -1 "not found" (also used as temp)
     708              : 
     709         1235 :         bool ErrorsFound(false);
     710         1235 :         std::string CurrentModuleObject; // for ease in renaming.
     711              : 
     712              :         // SUBROUTINE LOCAL DATA:
     713              : 
     714              :         // Note two methods of Array initialization in use:
     715              :         // - Fixed list of values.  The second parameter is an initializer list (brace
     716              :         //   delimited list of numbers).
     717              :         // - Initializer function.  The second parameter is the function name.
     718              :         //   In several cases we need to pass water data to the initializer, but an
     719              :         //   Array initializer only takes one argument.  std::bind is used to convert the
     720              :         //   actual initializer into a function of one argument.
     721              : 
     722         1235 :         auto &df = state.dataFluid;
     723              : 
     724              :         // For default "glycol" fluids of Water, Ethylene Glycol, and Propylene Glycol
     725              : 
     726              :         struct FluidTempData
     727              :         {
     728              :             // Members
     729              :             std::string Name;      // Name of the temperature list
     730              :             int NumOfTemps = 0;    // Number of temperatures in a particular arry
     731              :             Array1D<Real64> Temps; // Temperature values (degrees C)
     732              :         };
     733              : 
     734              :         // Object Data
     735         1235 :         Array1D<FluidTempData> FluidTemps;
     736              : 
     737         1235 :         int MaxAlphas = 0;
     738         1235 :         int MaxNumbers = 0;
     739         1235 :         if (state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Name") > 0) {
     740            8 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Name", Status, NumAlphas, NumNumbers);
     741            8 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     742            8 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     743              :         }
     744         1235 :         if (state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:GlycolConcentration") > 0) {
     745            3 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(
     746              :                 state, "FluidProperties:GlycolConcentration", Status, NumAlphas, NumNumbers);
     747            3 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     748            3 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     749              :         }
     750         1235 :         int NumOfFluidTempArrays = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Temperatures");
     751         1235 :         if (NumOfFluidTempArrays > 0) {
     752            8 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Temperatures", Status, NumAlphas, NumNumbers);
     753            8 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     754            8 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     755              :         }
     756         1235 :         int NumOfSatFluidPropArrays = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Saturated");
     757         1235 :         if (NumOfSatFluidPropArrays > 0) {
     758            8 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Saturated", Status, NumAlphas, NumNumbers);
     759            8 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     760            8 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     761              :         }
     762         1235 :         int NumOfSHFluidPropArrays = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Superheated");
     763         1235 :         if (NumOfSHFluidPropArrays > 0) {
     764            8 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Superheated", Status, NumAlphas, NumNumbers);
     765            8 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     766            8 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     767              :         }
     768         1235 :         int NumOfGlyFluidPropArrays = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "FluidProperties:Concentration");
     769         1235 :         if (NumOfGlyFluidPropArrays > 0) {
     770            0 :             state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "FluidProperties:Concentration", Status, NumAlphas, NumNumbers);
     771            0 :             MaxAlphas = max(MaxAlphas, NumAlphas);
     772            0 :             MaxNumbers = max(MaxNumbers, NumNumbers);
     773              :         }
     774              : 
     775         1235 :         Alphas.allocate(MaxAlphas);
     776         1235 :         cAlphaFields.allocate(MaxAlphas);
     777         1235 :         lAlphaFieldBlanks.allocate(MaxAlphas);
     778              : 
     779         2470 :         Alphas = "";
     780         1235 :         cAlphaFields = "";
     781         1235 :         lAlphaFieldBlanks = false;
     782              : 
     783         1235 :         Numbers.allocate(MaxNumbers);
     784         1235 :         cNumericFields.allocate(MaxNumbers);
     785         1235 :         lNumericFieldBlanks.allocate(MaxNumbers);
     786              : 
     787         1235 :         Numbers = 0.0;
     788         1235 :         cNumericFields = "";
     789         1235 :         lNumericFieldBlanks = false;
     790              : 
     791              :         // Check to see if there is any FluidName input.  If not, this is okay as
     792              :         // long as the user only desires to simulate loops with water.  More than
     793              :         // one FluidName input is not allowed.
     794         1235 :         CurrentModuleObject = "FluidProperties:Name";
     795         1235 :         int NumOfOptionalInput = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, CurrentModuleObject);
     796              : 
     797         1243 :         for (int Loop = 1; Loop <= NumOfOptionalInput; ++Loop) {
     798            8 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
     799              :                                                                      CurrentModuleObject,
     800              :                                                                      Loop,
     801              :                                                                      Alphas,
     802              :                                                                      NumAlphas,
     803              :                                                                      Numbers,
     804              :                                                                      NumNumbers,
     805              :                                                                      Status,
     806              :                                                                      lNumericFieldBlanks,
     807              :                                                                      lAlphaFieldBlanks,
     808              :                                                                      cAlphaFields,
     809              :                                                                      cNumericFields);
     810              : 
     811            8 :             if (Alphas(2) == "REFRIGERANT") {
     812            8 :                 if (GetRefrigNum(state, Alphas(1)) == 0) {
     813            8 :                     auto *refrig = new RefrigProps;
     814            8 :                     refrig->Name = Alphas(1);
     815            8 :                     df->refrigs.push_back(refrig);
     816            8 :                     refrig->Num = df->refrigs.isize();
     817              :                 }
     818            0 :             } else if (Alphas(2) == "GLYCOL") {
     819            0 :                 if (GetGlycolRawNum(state, Alphas(1)) == 0) {
     820            0 :                     auto *glycolRaw = new GlycolRawProps;
     821            0 :                     glycolRaw->Name = Alphas(1);
     822            0 :                     df->glycolsRaw.push_back(glycolRaw);
     823            0 :                     glycolRaw->Num = df->glycolsRaw.isize();
     824              :                 }
     825              :             } else {
     826            0 :                 ShowSevereError(state, format("{}: {}=\"{}\", invalid type", routineName, CurrentModuleObject, Alphas(1)));
     827            0 :                 ShowContinueError(state, format("...entered value=\"{}, Only REFRIGERANT or GLYCOL allowed as {}", Alphas(2), cAlphaFields(2)));
     828            0 :                 ErrorsFound = true;
     829              :             }
     830              :         }
     831              : 
     832         1235 :         if (ErrorsFound) {
     833            0 :             ShowFatalError(state, format("{}: Previous errors in input cause program termination.", routineName));
     834              :         }
     835              : 
     836              :         // Read in all of the temperature arrays in the input file
     837         1235 :         FluidTemps.allocate(NumOfFluidTempArrays);
     838              : 
     839         1235 :         CurrentModuleObject = "FluidProperties:Temperatures";
     840              : 
     841         1251 :         for (int Loop = 1; Loop <= NumOfFluidTempArrays; ++Loop) {
     842           16 :             auto &tempArray = FluidTemps(Loop);
     843              : 
     844           16 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
     845              :                                                                      CurrentModuleObject,
     846              :                                                                      Loop,
     847              :                                                                      Alphas,
     848              :                                                                      NumAlphas,
     849              :                                                                      Numbers,
     850              :                                                                      NumNumbers,
     851              :                                                                      Status,
     852              :                                                                      lNumericFieldBlanks,
     853              :                                                                      lAlphaFieldBlanks,
     854              :                                                                      cAlphaFields,
     855              :                                                                      cNumericFields);
     856              : 
     857           16 :             tempArray.Name = Alphas(1);
     858           16 :             tempArray.NumOfTemps = NumNumbers;
     859              : 
     860           16 :             tempArray.Temps.allocate(tempArray.NumOfTemps);
     861           16 :             tempArray.Temps = Numbers({1, NumNumbers});
     862              : 
     863          736 :             for (int TempLoop = 2; TempLoop <= tempArray.NumOfTemps; ++TempLoop) {
     864          720 :                 if (tempArray.Temps(TempLoop) <= tempArray.Temps(TempLoop - 1)) {
     865            0 :                     ShowSevereError(
     866            0 :                         state, format("{}: {} name={}, lists must have data in ascending order", routineName, CurrentModuleObject, tempArray.Name));
     867            0 :                     ShowContinueError(state,
     868            0 :                                       format("First out of order occurrence at Temperature #({}) {{{:.3R}}} >= Temp({}) {{{:.3R}}}",
     869            0 :                                              TempLoop - 1,
     870              :                                              tempArray.Temps(TempLoop - 1),
     871              :                                              TempLoop,
     872              :                                              tempArray.Temps(TempLoop)));
     873            0 :                     ErrorsFound = true;
     874            0 :                     break;
     875              :                 }
     876              :             }
     877              :         }
     878              : 
     879              :         // For each property, cycle through all the valid input until the proper match is found.
     880              : 
     881              :         // **********    SATURATED DATA SECTION    **********
     882              : 
     883              :         // Get: ***** Saturation Pressure temperatures and data (fluidgas only) *****
     884              :         // This section added by S.J.Rees May 2002.
     885         1235 :         CurrentModuleObject = "FluidProperties:Saturated";
     886         1291 :         for (int InData = 1; InData <= NumOfSatFluidPropArrays; ++InData) {
     887              : 
     888           56 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
     889              :                                                                      CurrentModuleObject,
     890              :                                                                      InData,
     891              :                                                                      Alphas,
     892              :                                                                      NumAlphas,
     893              :                                                                      Numbers,
     894              :                                                                      NumNumbers,
     895              :                                                                      Status,
     896              :                                                                      lNumericFieldBlanks,
     897              :                                                                      lAlphaFieldBlanks,
     898              :                                                                      cAlphaFields,
     899              :                                                                      cNumericFields);
     900              : 
     901           56 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
     902              : 
     903           56 :             auto *refrig = GetRefrig(state, Alphas(1));
     904           56 :             if (refrig == nullptr) {
     905            0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(1), Alphas(1));
     906            0 :                 ErrorsFound = true;
     907            0 :                 continue;
     908              :             }
     909              : 
     910           56 :             if (refrig->satTempArrayName != "" && refrig->satTempArrayName != Alphas(4)) {
     911            0 :                 ShowSevereCustom(state, eoh, "Saturated temperature arrays are not the same for different properties");
     912            0 :                 ErrorsFound = true;
     913            0 :                 continue;
     914              :             }
     915           56 :             refrig->satTempArrayName = Alphas(4);
     916              : 
     917           56 :             int tempArrayNum = Util::FindItemInList(Alphas(4), FluidTemps);
     918           56 :             if (tempArrayNum == 0) {
     919            0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(4), Alphas(4));
     920            0 :                 ErrorsFound = true;
     921            0 :                 continue;
     922              :             }
     923              : 
     924           56 :             auto &tempArray = FluidTemps(tempArrayNum);
     925              : 
     926              :             // Make sure the number of points in the two arrays (temps and values) are the same
     927           56 :             if (NumNumbers != tempArray.NumOfTemps) {
     928            0 :                 ShowSevereError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
     929            0 :                 ShowContinueError(state,
     930            0 :                                   format("Temperature Name={}, Temperature array and fluid saturation pressure array must have the "
     931              :                                          "same number of points",
     932            0 :                                          tempArray.Name));
     933            0 :                 ShowContinueError(
     934            0 :                     state, format("Temperature # points={} whereas {} # {} points={}", tempArray.NumOfTemps, refrig->Name, Alphas(2), NumNumbers));
     935            0 :                 ErrorsFound = true;
     936            0 :                 break; // the TempLoop DO Loop
     937              :             }
     938              : 
     939           56 :             if (Alphas(2) == "PRESSURE" && Alphas(3) == "FLUIDGAS") {
     940            8 :                 refrig->NumPsPoints = tempArray.NumOfTemps;
     941            8 :                 refrig->PsTemps.allocate(refrig->NumPsPoints);
     942            8 :                 refrig->PsValues.allocate(refrig->NumPsPoints);
     943            8 :                 refrig->PsTemps = tempArray.Temps;
     944            8 :                 refrig->PsValues = Numbers({1, NumNumbers});
     945              : 
     946           48 :             } else if (Alphas(2) == "ENTHALPY" && Alphas(3) == "FLUID") {
     947            8 :                 refrig->NumHPoints = tempArray.NumOfTemps;
     948            8 :                 refrig->HTemps.allocate(refrig->NumHPoints);
     949            8 :                 refrig->HfValues.allocate(refrig->NumHPoints);
     950            8 :                 refrig->HTemps = tempArray.Temps;
     951            8 :                 refrig->HfValues = Numbers({1, NumNumbers});
     952              : 
     953           40 :             } else if (Alphas(2) == "ENTHALPY" && Alphas(3) == "FLUIDGAS") {
     954            8 :                 refrig->NumHPoints = tempArray.NumOfTemps;
     955            8 :                 refrig->HfgValues.allocate(refrig->NumHPoints);
     956            8 :                 refrig->HfgValues = Numbers({1, NumNumbers});
     957              : 
     958           32 :             } else if (Alphas(2) == "SPECIFICHEAT" && Alphas(3) == "FLUID") {
     959            8 :                 refrig->NumCpPoints = tempArray.NumOfTemps;
     960            8 :                 refrig->CpTemps.allocate(refrig->NumCpPoints);
     961            8 :                 refrig->CpfValues.allocate(refrig->NumCpPoints);
     962            8 :                 refrig->CpTemps = tempArray.Temps;
     963            8 :                 refrig->CpfValues = Numbers({1, NumNumbers});
     964              : 
     965           24 :             } else if (Alphas(2) == "SPECIFICHEAT" && Alphas(3) == "FLUIDGAS") {
     966            8 :                 refrig->NumCpPoints = tempArray.NumOfTemps;
     967            8 :                 refrig->CpfgValues.allocate(refrig->NumCpPoints);
     968            8 :                 refrig->CpfgValues = Numbers({1, NumNumbers});
     969              : 
     970           16 :             } else if (Alphas(2) == "DENSITY" && Alphas(3) == "FLUID") {
     971            8 :                 refrig->NumRhoPoints = tempArray.NumOfTemps;
     972            8 :                 refrig->RhoTemps.allocate(refrig->NumRhoPoints);
     973            8 :                 refrig->RhofValues.allocate(refrig->NumRhoPoints);
     974            8 :                 refrig->RhoTemps = tempArray.Temps;
     975            8 :                 refrig->RhofValues = Numbers({1, NumNumbers});
     976              : 
     977            8 :             } else if (Alphas(2) == "DENSITY" && Alphas(3) == "FLUIDGAS") {
     978            8 :                 refrig->NumRhoPoints = tempArray.NumOfTemps;
     979            8 :                 refrig->RhofgValues.allocate(refrig->NumRhoPoints);
     980            8 :                 refrig->RhofgValues = Numbers({1, NumNumbers});
     981              : 
     982            0 :             } else if (Alphas(3) == "FLUID") {
     983            0 :                 if (Alphas(2) != "ENTHALPY" && Alphas(2) != "SPECIFICHEAT" && Alphas(2) != "DENSITY") {
     984            0 :                     ShowWarningError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
     985            0 :                     ShowContinueError(state, format(R"({}="FLUID", but {}="{}" is not valid.)", cAlphaFields(3), cAlphaFields(2), Alphas(2)));
     986            0 :                     ShowContinueError(state, format(R"(Valid choices are "Enthalpy", "SpecificHeat", "Density".)"));
     987            0 :                     ShowContinueError(state, "This fluid property will not be processed nor available for the simulation.");
     988              :                 }
     989              : 
     990            0 :             } else if (Alphas(3) == "FLUIDGAS") {
     991            0 :                 if (Alphas(2) != "PRESSURE" && Alphas(2) != "ENTHALPY" && Alphas(2) != "SPECIFICHEAT" && Alphas(2) != "DENSITY") {
     992            0 :                     ShowWarningError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
     993            0 :                     ShowContinueError(state, format(R"({}="FluidGas", but {}="{}" is not valid.)", cAlphaFields(3), cAlphaFields(2), Alphas(2)));
     994            0 :                     ShowContinueError(state, format(R"(Valid choices are "Pressure", "Enthalpy", "SpecificHeat", "Density".)"));
     995            0 :                     ShowContinueError(state, "This fluid property will not be processed nor available for the simulation.");
     996              :                 }
     997              :             } else {
     998            0 :                 ShowWarningError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
     999            0 :                 ShowContinueError(state, format("{}=\"{}\" is not valid.", cAlphaFields(3), Alphas(3)));
    1000            0 :                 ShowContinueError(state, format(R"(Valid choices are "Fluid", "GasFluid".)"));
    1001            0 :                 ShowContinueError(state, "This fluid property will not be processed nor available for the simulation.");
    1002              :             }
    1003              :         } // for (inData)
    1004              : 
    1005         2478 :         for (auto const *refrig : df->refrigs) {
    1006              : 
    1007         1243 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, refrig->Name};
    1008         1243 :             if (refrig->PsValues.size() == 0) {
    1009            0 :                 ShowSevereCustom(state,
    1010              :                                  eoh,
    1011            0 :                                  format(R"(No Gas/Fluid Saturation Pressure found. Need properties with {}="Pressure" and {}="FluidGas".)",
    1012              :                                         cAlphaFields(2),
    1013              :                                         cAlphaFields(3)));
    1014            0 :                 ErrorsFound = true;
    1015              :             }
    1016              : 
    1017         1243 :             if (refrig->HfValues.size() == 0) {
    1018            0 :                 ShowSevereCustom(state,
    1019              :                                  eoh,
    1020            0 :                                  format(R"(No Saturated Fluid Enthalpy found. Need properties with {}="Enthalpy" and {}="Fluid".)",
    1021              :                                         cAlphaFields(2),
    1022              :                                         cAlphaFields(3)));
    1023            0 :                 ErrorsFound = true;
    1024              :             }
    1025              : 
    1026         1243 :             if (refrig->HfgValues.size() == 0) {
    1027            0 :                 ShowSevereCustom(state,
    1028              :                                  eoh,
    1029            0 :                                  format(R"(No Saturated Gas/Fluid Enthalpy found. Need properties with {}="Enthalpy" and {}="FluidGas".)",
    1030              :                                         cAlphaFields(2),
    1031              :                                         cAlphaFields(3)));
    1032            0 :                 ErrorsFound = true;
    1033              :             }
    1034              : 
    1035         1243 :             if (refrig->CpfValues.size() == 0) {
    1036            0 :                 ShowSevereCustom(state,
    1037              :                                  eoh,
    1038            0 :                                  format(R"(No Saturated Fluid Specific Heat found. Need properties with {}="SpecificHeat" and {}="Fluid".)",
    1039              :                                         cAlphaFields(2),
    1040              :                                         cAlphaFields(3)));
    1041            0 :                 ErrorsFound = true;
    1042              :             }
    1043              : 
    1044         1243 :             if (refrig->CpfgValues.size() == 0) {
    1045            0 :                 ShowSevereCustom(state,
    1046              :                                  eoh,
    1047            0 :                                  format(R"(No Saturated Gas/Fluid Specific Heat found. Need properties with {}="SpecificHeat" and {}="FluidGas".)",
    1048              :                                         cAlphaFields(2),
    1049              :                                         cAlphaFields(3)));
    1050            0 :                 ErrorsFound = true;
    1051              :             }
    1052              : 
    1053         1243 :             if (refrig->RhofValues.size() == 0) {
    1054            0 :                 ShowSevereCustom(state,
    1055              :                                  eoh,
    1056            0 :                                  format(R"(No Saturated Fluid Density found. Need properties with {}="Density" and {}="Fluid".)",
    1057              :                                         cAlphaFields(2),
    1058              :                                         cAlphaFields(3)));
    1059            0 :                 ErrorsFound = true;
    1060              :             }
    1061              : 
    1062         1243 :             if (refrig->RhofgValues.size() == 0) {
    1063            0 :                 ShowSevereCustom(state,
    1064              :                                  eoh,
    1065            0 :                                  format(R"(No Saturated Gas/Fluid Density found. Need properties with {}="Density" and {}="FluidGas".)",
    1066              :                                         cAlphaFields(2),
    1067              :                                         cAlphaFields(3)));
    1068            0 :                 ErrorsFound = true;
    1069              :             }
    1070              :         } // for (refrigNum)
    1071              : 
    1072              :         // Check: TEMPERATURES for saturated density (must all be the same)
    1073              :         //    IF (RefrigData(Loop)%NumCpPoints /= RefrigData(Loop)%NumCpPoints) THEN
    1074              :         //!!!  Error -- can never happen, does this mean NumCp vs. NumRho?
    1075              :         //      CALL ShowFatalError(state, 'GetFluidPropertiesData: Number of specific heat fluid and gas/fluid points are not the same')
    1076              :         //    ELSE
    1077              :         //      DO TempLoop = 1, RefrigData(Loop)%NumCpPoints
    1078              :         //!!! Error -- something else that can never happen
    1079              :         //        IF (ABS(RefrigData(Loop)%CpTemps(TempLoop)-RefrigData(Loop)%CpTemps(TempLoop)) > TempToler) THEN
    1080              :         //          CALL ShowSevereError(state, 'GetFluidPropertiesData: Temperatures for specific heat fluid and '// &
    1081              :         //                               'gas/fluid points are not the same')
    1082              :         //          CALL ShowContinueError(state, 'Error occurs in Refrigerant Data Name='//TRIM(RefrigData(Loop)%Name))
    1083              :         //          WRITE(String1,*) TempLoop
    1084              :         //          String1=ADJUSTL(String1)
    1085              :         //          String2=TrimSigDigits(RefrigData(Loop)%CpTemps(TempLoop),3)
    1086              :         //          String2=ADJUSTL(String2)
    1087              :         //          String4=TrimSigDigits(RefrigData(Loop)%CpTemps(TempLoop),3)
    1088              :         //          String4=ADJUSTL(String4)
    1089              :         //          CALL ShowContinueError(state, 'First Occurrence at CpTemp('//TRIM(String1)//') {'//TRIM(String2)//'} /=
    1090              :         //          {'//TRIM(String4)//'}') ErrorsFound=.TRUE. EXIT
    1091              :         //        ENDIF
    1092              :         //      END DO
    1093              :         //    END IF
    1094              : 
    1095              :         // **********   SUPERHEATED DATA SECTION   **********
    1096              :         // Get: ***** ENTHALPY of SUPERHEATED GAS  *****
    1097              :         // First find the number of pressure value syntax lines have been entered and
    1098              :         // make sure that all of the pressure input is linked to the same temperature list
    1099              : 
    1100              :         // Need to do a setup pass to find the number of pressure points
    1101         1235 :         CurrentModuleObject = "FluidProperties:Superheated";
    1102         1939 :         for (int InData = 1; InData <= NumOfSHFluidPropArrays; ++InData) {
    1103          704 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1104              :                                                                      CurrentModuleObject,
    1105              :                                                                      InData,
    1106              :                                                                      Alphas,
    1107              :                                                                      NumAlphas,
    1108              :                                                                      Numbers,
    1109              :                                                                      NumNumbers,
    1110              :                                                                      Status,
    1111              :                                                                      lNumericFieldBlanks,
    1112              :                                                                      lAlphaFieldBlanks,
    1113              :                                                                      cAlphaFields,
    1114              :                                                                      cNumericFields);
    1115              : 
    1116          704 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1117              : 
    1118          704 :             auto *refrig = GetRefrig(state, Alphas(1));
    1119          704 :             if (refrig == nullptr) {
    1120            0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(1), Alphas(1));
    1121            0 :                 ErrorsFound = true;
    1122          352 :                 continue;
    1123              :             }
    1124              : 
    1125          704 :             if (refrig->supTempArrayName != "" && refrig->supTempArrayName != Alphas(3)) {
    1126            0 :                 ShowSevereCustom(state, eoh, "Saturated temperature arrays are not the same for different properties");
    1127            0 :                 ErrorsFound = true;
    1128            0 :                 continue;
    1129              :             }
    1130              : 
    1131          704 :             refrig->supTempArrayName = Alphas(3);
    1132              : 
    1133          704 :             if (Alphas(2) != "ENTHALPY") continue;
    1134              : 
    1135          352 :             int supTempArrayNum = Util::FindItemInList(refrig->supTempArrayName, FluidTemps);
    1136          352 :             if (supTempArrayNum == 0) {
    1137            0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(3), Alphas(3));
    1138            0 :                 ErrorsFound = true;
    1139            0 :                 continue;
    1140              :             }
    1141              : 
    1142          352 :             auto const &supTempArray = FluidTemps(supTempArrayNum);
    1143          352 :             refrig->NumSupTempPoints = supTempArray.NumOfTemps;
    1144          352 :             refrig->SupTemps.allocate(refrig->NumSupTempPoints);
    1145          352 :             refrig->SupTemps = supTempArray.Temps;
    1146              : 
    1147          352 :             if (Numbers(1) <= 0.0) {
    1148            0 :                 ShowSevereError(state, format("{}: {} Name={}", routineName, CurrentModuleObject, refrig->Name));
    1149            0 :                 ShowContinueError(state, format("Negative pressures not allowed in fluid property input data, Value =[{:.3R}].", Numbers(1)));
    1150            0 :                 ErrorsFound = true;
    1151            0 :                 continue;
    1152              :             }
    1153              : 
    1154          352 :             if (std::find(refrig->SupPress.begin(), refrig->SupPress.end(), Numbers(1)) == refrig->SupPress.end()) {
    1155          352 :                 refrig->SupPress.push_back(Numbers(1));
    1156          352 :                 ++refrig->NumSupPressPoints;
    1157              :             }
    1158              :         }
    1159              : 
    1160              :         // Sort and allocate pressure point arrays
    1161         2478 :         for (auto *refrig : df->refrigs) {
    1162         1243 :             if (refrig->Name == "STEAM") continue;
    1163              : 
    1164            8 :             std::sort(refrig->SupPress.begin(), refrig->SupPress.end());
    1165              : 
    1166            8 :             refrig->HshValues.allocate(refrig->NumSupPressPoints, refrig->NumSupTempPoints);
    1167            8 :             refrig->RhoshValues.allocate(refrig->NumSupPressPoints, refrig->NumSupTempPoints);
    1168              :         }
    1169              : 
    1170              :         // Finally, get the pressure and enthalpy values from the user input
    1171         1235 :         CurrentModuleObject = "FluidProperties:Superheated";
    1172         1939 :         for (int InData = 1; InData <= NumOfSHFluidPropArrays; ++InData) {
    1173          704 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1174              :                                                                      CurrentModuleObject,
    1175              :                                                                      InData,
    1176              :                                                                      Alphas,
    1177              :                                                                      NumAlphas,
    1178              :                                                                      Numbers,
    1179              :                                                                      NumNumbers,
    1180              :                                                                      Status,
    1181              :                                                                      lNumericFieldBlanks,
    1182              :                                                                      lAlphaFieldBlanks,
    1183              :                                                                      cAlphaFields,
    1184              :                                                                      cNumericFields);
    1185              : 
    1186          704 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1187              : 
    1188          704 :             auto *refrig = GetRefrig(state, Alphas(1));
    1189          704 :             if (refrig == nullptr) {
    1190            0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(1), Alphas(1));
    1191            0 :                 ErrorsFound = true;
    1192            0 :                 continue;
    1193              :             }
    1194              : 
    1195          704 :             if ((NumNumbers - 1) != refrig->NumSupTempPoints) {
    1196            0 :                 ShowSevereCustom(state,
    1197              :                                  eoh,
    1198            0 :                                  format("Number of superheated {} points ({}) not equal to number of temperature points ({})",
    1199              :                                         Alphas(2),
    1200            0 :                                         NumNumbers - 1,
    1201            0 :                                         refrig->NumSupTempPoints));
    1202            0 :                 ErrorsFound = true;
    1203            0 :                 continue;
    1204              :             }
    1205              : 
    1206              :             // Find which pressure point this temperature series belongs to
    1207          704 :             auto pressFound = std::find(refrig->SupPress.begin(), refrig->SupPress.end(), Numbers(1));
    1208          704 :             assert(pressFound != refrig->SupPress.end());
    1209          704 :             int pressNum = (pressFound - refrig->SupPress.begin()) + 1;
    1210              : 
    1211          704 :             if (Alphas(2) == "ENTHALPY") {
    1212          352 :                 refrig->HshValues(pressNum, {1, refrig->NumSupTempPoints}) = Numbers({2, NumNumbers});
    1213          352 :             } else if (Alphas(2) == "DENSITY") {
    1214          352 :                 refrig->RhoshValues(pressNum, {1, refrig->NumSupTempPoints}) = Numbers({2, NumNumbers});
    1215              :             } else {
    1216            0 :                 ShowWarningInvalidKey(state,
    1217              :                                       eoh,
    1218            0 :                                       cAlphaFields(2),
    1219            0 :                                       Alphas(2),
    1220              :                                       "",
    1221              :                                       R"(Valid options are ("Enthalpy", "Density"). Fluid will not be available for simulation.)");
    1222            0 :                 ErrorsFound = true;
    1223            0 :                 continue;
    1224              :             }
    1225              :         } // for (InData)
    1226              : 
    1227         1235 :         if (!ErrorsFound) {
    1228         2478 :             for (auto *refrig : df->refrigs)
    1229         1243 :                 refrig->setTempLimits(state, ErrorsFound);
    1230              :         }
    1231              : 
    1232              :         // Ethylene and Propylene are available
    1233         1235 :         auto *ethylene = GetGlycolRaw(state, "ETHYLENEGLYCOL");
    1234         1235 :         if (ethylene == nullptr) {
    1235         1189 :             ethylene = new GlycolRawProps;
    1236         1189 :             ethylene->Name = "ETHYLENEGLYCOL";
    1237         1189 :             df->glycolsRaw.push_back(ethylene);
    1238         1189 :             ethylene->Num = df->glycolsRaw.isize();
    1239              :         }
    1240              : 
    1241              :         // Specific Heat
    1242         1235 :         ethylene->CpDataPresent = true;                 // Flag set when specific heat data is available
    1243         1235 :         ethylene->NumCpTempPoints = DefaultNumGlyTemps; // Number of temperature points for specific heat
    1244         1235 :         ethylene->NumCpConcPoints = DefaultNumGlyConcs; // Number of concentration points for specific heat
    1245              : 
    1246         1235 :         ethylene->CpTemps.allocate(ethylene->NumCpTempPoints); // Temperatures for specific heat of glycol
    1247         1235 :         ethylene->CpTemps = DefaultGlycolTemps;
    1248              : 
    1249         1235 :         ethylene->CpConcs.allocate(ethylene->NumCpConcPoints); // Concentration for specific heat of glycol
    1250         1235 :         ethylene->CpConcs = DefaultGlycolConcs;
    1251              : 
    1252         1235 :         ethylene->CpValues.allocate(ethylene->NumCpConcPoints, ethylene->NumCpTempPoints); // Specific heat data values
    1253        13585 :         for (int i = 1; i <= ethylene->NumCpConcPoints; ++i)
    1254        12350 :             ethylene->CpValues(i, {1, ethylene->NumCpTempPoints}) = DefaultEthGlyCpData[i - 1];
    1255              : 
    1256              :         // Density
    1257         1235 :         ethylene->RhoDataPresent = true;
    1258         1235 :         ethylene->NumRhoTempPoints = DefaultNumGlyTemps;
    1259         1235 :         ethylene->NumRhoConcPoints = DefaultNumGlyConcs;
    1260              : 
    1261         1235 :         ethylene->RhoTemps.allocate(ethylene->NumRhoTempPoints); // Temperatures for density of glycol
    1262         1235 :         ethylene->RhoTemps = DefaultGlycolTemps;
    1263              : 
    1264         1235 :         ethylene->RhoConcs.allocate(ethylene->NumRhoConcPoints); // Concentration for density of glycol
    1265         1235 :         ethylene->RhoConcs = DefaultGlycolConcs;
    1266              : 
    1267         1235 :         ethylene->RhoValues.allocate(ethylene->NumRhoConcPoints, ethylene->NumRhoTempPoints); // Density data values
    1268        13585 :         for (int i = 1; i <= ethylene->NumRhoConcPoints; ++i)
    1269        12350 :             ethylene->RhoValues(i, {1, ethylene->NumRhoTempPoints}) = DefaultEthGlyRhoData[i - 1];
    1270              : 
    1271              :         // Conductivity
    1272         1235 :         ethylene->CondDataPresent = true;
    1273         1235 :         ethylene->NumCondTempPoints = DefaultNumGlyTemps;
    1274         1235 :         ethylene->NumCondConcPoints = DefaultNumGlyConcs;
    1275              : 
    1276         1235 :         ethylene->CondTemps.allocate(ethylene->NumCondTempPoints); // Temperatures for density of glycol
    1277         1235 :         ethylene->CondTemps = DefaultGlycolTemps;
    1278              : 
    1279         1235 :         ethylene->CondConcs.allocate(ethylene->NumCondConcPoints); // Concentration for density of glycol
    1280         1235 :         ethylene->CondConcs = DefaultGlycolConcs;
    1281              : 
    1282         1235 :         ethylene->CondValues.allocate(ethylene->NumCondConcPoints, ethylene->NumCondTempPoints); // Density data values
    1283        13585 :         for (int i = 1; i <= ethylene->NumCondConcPoints; ++i)
    1284        12350 :             ethylene->CondValues(i, {1, ethylene->NumCondTempPoints}) = DefaultEthGlyCondData[i - 1];
    1285              : 
    1286              :         // Viscosity
    1287         1235 :         ethylene->ViscDataPresent = true;
    1288         1235 :         ethylene->NumViscTempPoints = DefaultNumGlyTemps;
    1289         1235 :         ethylene->NumViscConcPoints = DefaultNumGlyConcs;
    1290              : 
    1291         1235 :         ethylene->ViscTemps.allocate(ethylene->NumViscTempPoints); // Temperatures for density of glycol
    1292         1235 :         ethylene->ViscTemps = DefaultGlycolTemps;
    1293              : 
    1294         1235 :         ethylene->ViscConcs.allocate(ethylene->NumViscConcPoints); // Concentration for density of glycol
    1295         1235 :         ethylene->ViscConcs = DefaultGlycolConcs;
    1296              : 
    1297         1235 :         ethylene->ViscValues.allocate(ethylene->NumViscConcPoints, ethylene->NumViscTempPoints); // Density data values
    1298        13585 :         for (int i = 1; i <= ethylene->NumViscConcPoints; ++i)
    1299        12350 :             ethylene->ViscValues(i, {1, ethylene->NumViscTempPoints}) = DefaultEthGlyViscData[i - 1];
    1300              : 
    1301              :         // Propylene
    1302         1235 :         auto *propylene = GetGlycolRaw(state, "PROPYLENEGLYCOL");
    1303         1235 :         if (propylene == nullptr) {
    1304         1189 :             propylene = new GlycolRawProps;
    1305         1189 :             propylene->Name = "PROPYLENEGLYCOL";
    1306         1189 :             df->glycolsRaw.push_back(propylene);
    1307         1189 :             propylene->Num = df->glycolsRaw.isize();
    1308              :         }
    1309              : 
    1310              :         // Specific Heat
    1311         1235 :         propylene->CpDataPresent = true;                 // Flag set when specific heat data is available
    1312         1235 :         propylene->NumCpTempPoints = DefaultNumGlyTemps; // Number of temperature points for specific heat
    1313         1235 :         propylene->NumCpConcPoints = DefaultNumGlyConcs; // Number of concentration points for specific heat
    1314              : 
    1315              :         // No ObjexxFCL templates for assigning std::array to Array1S, Probably want to covert these Array1D and 2D to std::vector eventually anyway
    1316         1235 :         propylene->CpTemps.allocate(propylene->NumCpTempPoints); // Temperatures for specific heat of glycol
    1317         1235 :         propylene->CpTemps = DefaultGlycolTemps;
    1318              : 
    1319         1235 :         propylene->CpConcs.allocate(propylene->NumCpConcPoints); // Concentration for specific heat of glycol
    1320         1235 :         propylene->CpConcs = DefaultGlycolConcs;
    1321              : 
    1322         1235 :         propylene->CpValues.allocate(propylene->NumCpConcPoints, propylene->NumCpTempPoints); // Specific heat data values
    1323        13585 :         for (int i = 1; i <= propylene->NumCpConcPoints; ++i)
    1324        12350 :             propylene->CpValues(i, {1, propylene->NumCpTempPoints}) = DefaultPropGlyCpData[i - 1];
    1325              : 
    1326              :         // Density
    1327         1235 :         propylene->RhoDataPresent = true;
    1328         1235 :         propylene->NumRhoTempPoints = DefaultNumGlyTemps;
    1329         1235 :         propylene->NumRhoConcPoints = DefaultNumGlyConcs;
    1330              : 
    1331         1235 :         propylene->RhoTemps.allocate(propylene->NumRhoTempPoints); // Temperatures for density of glycol
    1332         1235 :         propylene->RhoTemps = DefaultGlycolTemps;
    1333              : 
    1334         1235 :         propylene->RhoConcs.allocate(propylene->NumRhoConcPoints); // Concentration for density of glycol
    1335         1235 :         propylene->RhoConcs = DefaultGlycolConcs;
    1336              : 
    1337         1235 :         propylene->RhoValues.allocate(propylene->NumRhoConcPoints, propylene->NumRhoTempPoints); // Density data values
    1338        13585 :         for (int i = 1; i <= propylene->NumRhoConcPoints; ++i)
    1339        12350 :             propylene->RhoValues(i, {1, propylene->NumRhoTempPoints}) = DefaultPropGlyRhoData[i - 1];
    1340              : 
    1341              :         // Conductivity
    1342         1235 :         propylene->CondDataPresent = true;
    1343         1235 :         propylene->NumCondTempPoints = DefaultNumGlyTemps;
    1344         1235 :         propylene->NumCondConcPoints = DefaultNumGlyConcs;
    1345              : 
    1346         1235 :         propylene->CondTemps.allocate(propylene->NumCondTempPoints); // Temperatures for density of glycol
    1347         1235 :         propylene->CondTemps = DefaultGlycolTemps;
    1348              : 
    1349         1235 :         propylene->CondConcs.allocate(propylene->NumCondConcPoints); // Concentration for density of glycol
    1350         1235 :         propylene->CondConcs = DefaultGlycolConcs;
    1351              : 
    1352         1235 :         propylene->CondValues.allocate(propylene->NumCondConcPoints, propylene->NumCondTempPoints); // Density data values
    1353        13585 :         for (int i = 1; i <= propylene->NumCondConcPoints; ++i)
    1354        12350 :             propylene->CondValues(i, {1, propylene->NumCondTempPoints}) = DefaultPropGlyCondData[i - 1];
    1355              : 
    1356              :         // Viscosity
    1357         1235 :         propylene->ViscDataPresent = true;
    1358         1235 :         propylene->NumViscTempPoints = DefaultNumGlyTemps;
    1359         1235 :         propylene->NumViscConcPoints = DefaultNumGlyConcs;
    1360              : 
    1361         1235 :         propylene->ViscTemps.allocate(propylene->NumViscTempPoints); // Temperatures for density of glycol
    1362         1235 :         propylene->ViscTemps = DefaultGlycolTemps;
    1363              : 
    1364         1235 :         propylene->ViscConcs.allocate(propylene->NumViscConcPoints); // Concentration for density of glycol
    1365         1235 :         propylene->ViscConcs = DefaultGlycolConcs;
    1366              : 
    1367         1235 :         propylene->ViscValues.allocate(propylene->NumViscConcPoints, propylene->NumViscTempPoints); // Density data values
    1368        13585 :         for (int i = 1; i <= propylene->NumViscConcPoints; ++i)
    1369        12350 :             propylene->ViscValues(i, {1, propylene->NumViscTempPoints}) = DefaultPropGlyViscData[i - 1];
    1370              : 
    1371              :         // *************** RAW GLYCOLS ***************
    1372              :         // Go through each glycol found in the fluid names statement and read in the data
    1373              :         // Note that every valid fluid must have ALL of the necessary data or a fatal error will
    1374              :         // be produced.
    1375              : 
    1376         1235 :         CurrentModuleObject = "FluidProperties:Concentration";
    1377         1235 :         for (int InData = 1; InData <= NumOfGlyFluidPropArrays; ++InData) { // check temperatures given for specific heat are consistant
    1378            0 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1379              :                                                                      CurrentModuleObject,
    1380              :                                                                      InData,
    1381              :                                                                      Alphas,
    1382              :                                                                      NumAlphas,
    1383              :                                                                      Numbers,
    1384              :                                                                      NumNumbers,
    1385              :                                                                      Status,
    1386              :                                                                      lNumericFieldBlanks,
    1387              :                                                                      lAlphaFieldBlanks,
    1388              :                                                                      cAlphaFields,
    1389              :                                                                      cNumericFields);
    1390              : 
    1391            0 :             if (Alphas(1) == "WATER") continue; // Is this the right thing to do?
    1392              : 
    1393            0 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1394              : 
    1395            0 :             auto *glycolRaw = GetGlycolRaw(state, Alphas(1));
    1396            0 :             if (glycolRaw == nullptr) {
    1397            0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(1), Alphas(1));
    1398            0 :                 ErrorsFound = true;
    1399            0 :                 continue;
    1400              :             }
    1401              : 
    1402            0 :             if (Util::FindItemInList(Alphas(3), FluidTemps) == 0) {
    1403            0 :                 ShowSevereItemNotFound(state, eoh, cAlphaFields(3), Alphas(3));
    1404            0 :                 ErrorsFound = true;
    1405            0 :                 continue;
    1406              :             }
    1407              : 
    1408            0 :             if (Numbers(1) < 0.0) {
    1409            0 :                 ShowSevereCustom(state, eoh, "Negative concentrations not allowed in fluid property input data");
    1410            0 :                 ErrorsFound = true;
    1411            0 :                 continue;
    1412              :             }
    1413              : 
    1414              :             // Can temperatue and pressure points be different for different properties?  Why is this allowed?
    1415            0 :             if (Alphas(2) == "SPECIFICHEAT") {
    1416            0 :                 if (glycolRaw->CpTempArrayName != "" && glycolRaw->CpTempArrayName != Alphas(3)) {
    1417            0 :                     ShowSevereCustom(state,
    1418              :                                      eoh,
    1419            0 :                                      format("All specific heat data for the same glycol must use the same temperature list"
    1420              :                                             "Expected name={}, Entered name={}",
    1421            0 :                                             glycolRaw->CpTempArrayName,
    1422              :                                             Alphas(3)));
    1423            0 :                     ErrorsFound = true;
    1424            0 :                     continue;
    1425              :                 }
    1426            0 :                 glycolRaw->CpTempArrayName = Alphas(3);
    1427              : 
    1428            0 :                 if (std::find(glycolRaw->CpConcs.begin(), glycolRaw->CpConcs.end(), Numbers(1)) == glycolRaw->CpConcs.end()) {
    1429            0 :                     glycolRaw->CpConcs.push_back(Numbers(1));
    1430            0 :                     ++glycolRaw->NumCpConcPoints;
    1431              :                 }
    1432            0 :                 glycolRaw->CpDataPresent = true;
    1433              : 
    1434            0 :             } else if (Alphas(2) == "DENSITY") {
    1435            0 :                 if (glycolRaw->RhoTempArrayName != "" && glycolRaw->RhoTempArrayName != Alphas(3)) {
    1436            0 :                     ShowSevereCustom(state,
    1437              :                                      eoh,
    1438            0 :                                      format("All density data for the same glycol must use the same temperature list"
    1439              :                                             "Expected name={}, Entered name={}",
    1440            0 :                                             glycolRaw->RhoTempArrayName,
    1441              :                                             Alphas(3)));
    1442            0 :                     ErrorsFound = true;
    1443            0 :                     continue;
    1444              :                 }
    1445            0 :                 glycolRaw->RhoTempArrayName = Alphas(3);
    1446              : 
    1447            0 :                 if (std::find(glycolRaw->RhoConcs.begin(), glycolRaw->RhoConcs.end(), Numbers(1)) == glycolRaw->RhoConcs.end()) {
    1448            0 :                     glycolRaw->RhoConcs.push_back(Numbers(1));
    1449            0 :                     ++glycolRaw->NumRhoConcPoints;
    1450              :                 }
    1451            0 :                 glycolRaw->RhoDataPresent = true;
    1452              : 
    1453            0 :             } else if (Alphas(2) == "CONDUCTIVITY") {
    1454            0 :                 if (glycolRaw->CondTempArrayName != "" && glycolRaw->CondTempArrayName != Alphas(3)) {
    1455            0 :                     ShowSevereCustom(state,
    1456              :                                      eoh,
    1457            0 :                                      format("All conductivity data for the same glycol must use the same temperature list"
    1458              :                                             "Expected name={}, Entered name={}",
    1459            0 :                                             glycolRaw->CondTempArrayName,
    1460              :                                             Alphas(3)));
    1461            0 :                     ErrorsFound = true;
    1462            0 :                     continue;
    1463              :                 }
    1464            0 :                 glycolRaw->CondTempArrayName = Alphas(3);
    1465              : 
    1466            0 :                 if (std::find(glycolRaw->CondConcs.begin(), glycolRaw->CondConcs.end(), Numbers(1)) == glycolRaw->CondConcs.end()) {
    1467            0 :                     glycolRaw->CondConcs.push_back(Numbers(1));
    1468            0 :                     ++glycolRaw->NumCondConcPoints;
    1469              :                 }
    1470            0 :                 glycolRaw->CondDataPresent = true;
    1471              : 
    1472            0 :             } else if (Alphas(2) == "VISCOSITY") {
    1473            0 :                 if (glycolRaw->ViscTempArrayName != "" && glycolRaw->ViscTempArrayName != Alphas(3)) {
    1474            0 :                     ShowSevereCustom(state,
    1475              :                                      eoh,
    1476            0 :                                      format("All conductivity data for the same glycol must use the same temperature list"
    1477              :                                             "Expected name={}, Entered name={}",
    1478            0 :                                             glycolRaw->ViscTempArrayName,
    1479              :                                             Alphas(3)));
    1480            0 :                     ErrorsFound = true;
    1481            0 :                     continue;
    1482              :                 }
    1483            0 :                 glycolRaw->ViscTempArrayName = Alphas(3);
    1484              : 
    1485            0 :                 if (std::find(glycolRaw->ViscConcs.begin(), glycolRaw->ViscConcs.end(), Numbers(1)) == glycolRaw->ViscConcs.end()) {
    1486            0 :                     glycolRaw->ViscConcs.push_back(Numbers(1));
    1487            0 :                     ++glycolRaw->NumViscConcPoints;
    1488              :                 }
    1489            0 :                 glycolRaw->ViscDataPresent = true;
    1490              : 
    1491              :             } else {
    1492            0 :                 ShowSevereInvalidKey(
    1493            0 :                     state, eoh, cAlphaFields(2), Alphas(2), "Valid options are (\"Specific Heat\", \"Density\", \"Conductivity\", \"Viscosity\")");
    1494            0 :                 ErrorsFound = true;
    1495              :             }
    1496              :         }
    1497              : 
    1498              :         // Allocate and sort temp point/conc point arrays
    1499         4940 :         for (auto *glycolRaw : df->glycolsRaw) {
    1500              : 
    1501         3705 :             if (!glycolRaw->CpTempArrayName.empty()) {
    1502            0 :                 int cpTempArrayNum = Util::FindItemInList(glycolRaw->CpTempArrayName, FluidTemps);
    1503            0 :                 auto const &cpTempArray = FluidTemps(cpTempArrayNum);
    1504            0 :                 glycolRaw->NumCpTempPoints = cpTempArray.NumOfTemps;
    1505            0 :                 glycolRaw->CpTemps.allocate(glycolRaw->NumCpTempPoints);
    1506            0 :                 glycolRaw->CpTemps = cpTempArray.Temps;
    1507              : 
    1508            0 :                 glycolRaw->CpValues.allocate(glycolRaw->NumCpConcPoints, glycolRaw->NumCpTempPoints);
    1509            0 :                 std::sort(glycolRaw->CpConcs.begin(), glycolRaw->CpConcs.end());
    1510              :             }
    1511              : 
    1512         3705 :             if (!glycolRaw->RhoTempArrayName.empty()) {
    1513            0 :                 int rhoTempArrayNum = Util::FindItemInList(glycolRaw->RhoTempArrayName, FluidTemps);
    1514            0 :                 auto const &rhoTempArray = FluidTemps(rhoTempArrayNum);
    1515            0 :                 glycolRaw->NumRhoTempPoints = rhoTempArray.NumOfTemps;
    1516            0 :                 glycolRaw->RhoTemps.allocate(glycolRaw->NumRhoTempPoints);
    1517            0 :                 glycolRaw->RhoTemps = rhoTempArray.Temps;
    1518              : 
    1519            0 :                 glycolRaw->RhoValues.allocate(glycolRaw->NumRhoConcPoints, glycolRaw->NumRhoTempPoints);
    1520            0 :                 std::sort(glycolRaw->RhoConcs.begin(), glycolRaw->RhoConcs.end());
    1521              :             }
    1522              : 
    1523         3705 :             if (!glycolRaw->CondTempArrayName.empty()) {
    1524            0 :                 int condTempArrayNum = Util::FindItemInList(glycolRaw->CondTempArrayName, FluidTemps);
    1525            0 :                 auto const &condTempArray = FluidTemps(condTempArrayNum);
    1526            0 :                 glycolRaw->NumCondTempPoints = condTempArray.NumOfTemps;
    1527            0 :                 glycolRaw->CondTemps.allocate(glycolRaw->NumCondTempPoints);
    1528            0 :                 glycolRaw->CondTemps = condTempArray.Temps;
    1529              : 
    1530            0 :                 glycolRaw->CondValues.allocate(glycolRaw->NumCondConcPoints, glycolRaw->NumCondTempPoints);
    1531            0 :                 std::sort(glycolRaw->CondConcs.begin(), glycolRaw->CondConcs.end());
    1532              :             }
    1533              : 
    1534         3705 :             if (!glycolRaw->ViscTempArrayName.empty()) {
    1535            0 :                 int viscTempArrayNum = Util::FindItemInList(glycolRaw->ViscTempArrayName, FluidTemps);
    1536            0 :                 auto const &viscTempArray = FluidTemps(viscTempArrayNum);
    1537            0 :                 glycolRaw->NumViscTempPoints = viscTempArray.NumOfTemps;
    1538            0 :                 glycolRaw->ViscTemps.allocate(glycolRaw->NumViscTempPoints);
    1539            0 :                 glycolRaw->ViscTemps = viscTempArray.Temps;
    1540              : 
    1541            0 :                 glycolRaw->ViscValues.allocate(glycolRaw->NumViscConcPoints, glycolRaw->NumViscTempPoints);
    1542            0 :                 std::sort(glycolRaw->ViscConcs.begin(), glycolRaw->ViscConcs.end());
    1543              :             }
    1544              :         }
    1545              : 
    1546              :         // Finally, get the specific heat and concentration values from the user input
    1547         1235 :         CurrentModuleObject = "FluidProperties:Concentration";
    1548         1235 :         for (int InData = 1; InData <= NumOfGlyFluidPropArrays; ++InData) {
    1549            0 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1550              :                                                                      CurrentModuleObject,
    1551              :                                                                      InData,
    1552              :                                                                      Alphas,
    1553              :                                                                      NumAlphas,
    1554              :                                                                      Numbers,
    1555              :                                                                      NumNumbers,
    1556              :                                                                      Status,
    1557              :                                                                      lNumericFieldBlanks,
    1558              :                                                                      lAlphaFieldBlanks,
    1559              :                                                                      cAlphaFields,
    1560              :                                                                      cNumericFields);
    1561              : 
    1562            0 :             if (Alphas(1) == "WATER") continue; // Is this the right thing to do?
    1563              : 
    1564            0 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1565            0 :             auto *glycolRaw = GetGlycolRaw(state, Alphas(1));
    1566            0 :             assert(glycolRaw != nullptr); // We've already tested for this, can just assert now
    1567              : 
    1568            0 :             if (Alphas(2) == "SPECIFICHEAT") {
    1569            0 :                 if ((NumNumbers - 1) != glycolRaw->NumCpTempPoints) {
    1570            0 :                     ShowSevereCustom(state,
    1571              :                                      eoh,
    1572            0 :                                      format("Number of specific heat points ({}) not equal to number of temperature points ({})",
    1573            0 :                                             NumNumbers - 1,
    1574            0 :                                             glycolRaw->NumCpTempPoints));
    1575            0 :                     ErrorsFound = true;
    1576            0 :                     continue;
    1577              :                 }
    1578            0 :                 auto concFound = std::find(glycolRaw->CpConcs.begin(), glycolRaw->CpConcs.end(), Numbers(1));
    1579            0 :                 assert(concFound != glycolRaw->CpConcs.end());
    1580            0 :                 int concNum = (concFound - glycolRaw->CpConcs.begin()) + 1;
    1581            0 :                 glycolRaw->CpValues(concNum, {1, glycolRaw->NumCpTempPoints}) = Numbers({2, NumNumbers});
    1582              : 
    1583            0 :             } else if (Alphas(2) == "DENSITY") {
    1584            0 :                 if ((NumNumbers - 1) != glycolRaw->NumRhoTempPoints) {
    1585            0 :                     ShowSevereCustom(state,
    1586              :                                      eoh,
    1587            0 :                                      format("Number of density points ({}) not equal to number of temperature points ({})",
    1588            0 :                                             NumNumbers - 1,
    1589            0 :                                             glycolRaw->NumRhoTempPoints));
    1590            0 :                     ErrorsFound = true;
    1591            0 :                     continue;
    1592              :                 }
    1593            0 :                 auto concFound = std::find(glycolRaw->RhoConcs.begin(), glycolRaw->RhoConcs.end(), Numbers(1));
    1594            0 :                 assert(concFound != glycolRaw->RhoConcs.end());
    1595            0 :                 int concNum = (concFound - glycolRaw->RhoConcs.begin()) + 1;
    1596            0 :                 glycolRaw->RhoValues(concNum, {1, glycolRaw->NumRhoTempPoints}) = Numbers({2, NumNumbers});
    1597              : 
    1598            0 :             } else if (Alphas(2) == "CONDUCTIVITY") {
    1599            0 :                 if ((NumNumbers - 1) != glycolRaw->NumCondTempPoints) {
    1600            0 :                     ShowSevereCustom(state,
    1601              :                                      eoh,
    1602            0 :                                      format("Number of conductivity points ({}) not equal to number of temperature points ({})",
    1603            0 :                                             NumNumbers - 1,
    1604            0 :                                             glycolRaw->NumCondTempPoints));
    1605            0 :                     ErrorsFound = true;
    1606            0 :                     continue;
    1607              :                 }
    1608            0 :                 auto concFound = std::find(glycolRaw->CondConcs.begin(), glycolRaw->CondConcs.end(), Numbers(1));
    1609            0 :                 assert(concFound != glycolRaw->CondConcs.end());
    1610            0 :                 int concNum = (concFound - glycolRaw->CondConcs.begin()) + 1;
    1611            0 :                 glycolRaw->CondValues(concNum, {1, glycolRaw->NumCondTempPoints}) = Numbers({2, NumNumbers});
    1612              : 
    1613            0 :             } else if (Alphas(2) == "VISCOSITY") {
    1614            0 :                 if ((NumNumbers - 1) != glycolRaw->NumViscTempPoints) {
    1615            0 :                     ShowSevereCustom(state,
    1616              :                                      eoh,
    1617            0 :                                      format("Number of viscosity points ({}) not equal to number of temperature points ({})",
    1618            0 :                                             NumNumbers - 1,
    1619            0 :                                             glycolRaw->NumViscTempPoints));
    1620            0 :                     ErrorsFound = true;
    1621            0 :                     continue;
    1622              :                 }
    1623            0 :                 auto concFound = std::find(glycolRaw->ViscConcs.begin(), glycolRaw->ViscConcs.end(), Numbers(1));
    1624            0 :                 assert(concFound != glycolRaw->ViscConcs.end());
    1625            0 :                 int concNum = (concFound - glycolRaw->ViscConcs.begin()) + 1;
    1626            0 :                 glycolRaw->ViscValues(concNum, {1, glycolRaw->NumViscTempPoints}) = Numbers({2, NumNumbers});
    1627              :             }
    1628              :         } // for (InData)
    1629              : 
    1630              :         // Get: ***** GLYCOL CONCENTRATIONS *****
    1631              :         // Read in the GlycolConcentrations input and then set the property data accordingly
    1632              :         // Input Syntax:
    1633              :         // FluidProperties:GlycolConcentration,
    1634              :         //       \memo glycol and what concentration it is
    1635              :         //  A1,  \field Name
    1636              :         //       \type alpha
    1637              :         //       \required-field
    1638              :         //       \reference GlycolConcentrations
    1639              :         //  A2,  \field Glycol Type
    1640              :         //       \required-field
    1641              :         //       \type choice
    1642              :         //       \key EthyleneGlycol
    1643              :         //       \key PropyleneGlycol
    1644              :         //       \key UserDefinedGlycolType
    1645              :         //       \note or UserDefined Fluid (must show up as a glycol in FluidProperties:Name object)
    1646              :         //  A3,  \field User Defined Glycol Name
    1647              :         //       \type object-list
    1648              :         //       \object-list FluidAndGlycolNames
    1649              :         //  N1;  \field Glycol Concentration
    1650              :         //       \type real
    1651              :         //       \minimum 0.0
    1652              :         //       \maximum 1.0
    1653              : 
    1654              :         // Check to see if there is any GlycolConcentrations input.  If not, this
    1655              :         // is okay as long as the user only desires to simulate loops with water.
    1656              :         // More than one GlycolConcentrations input is not allowed.
    1657              : 
    1658         1235 :         CurrentModuleObject = "FluidProperties:GlycolConcentration";
    1659         1235 :         NumOfOptionalInput = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, CurrentModuleObject);
    1660              : 
    1661         1238 :         for (int Loop = 1; Loop <= NumOfOptionalInput; ++Loop) {
    1662            3 :             state.dataInputProcessing->inputProcessor->getObjectItem(state,
    1663              :                                                                      CurrentModuleObject,
    1664              :                                                                      Loop,
    1665              :                                                                      Alphas,
    1666              :                                                                      NumAlphas,
    1667              :                                                                      Numbers,
    1668              :                                                                      NumNumbers,
    1669              :                                                                      Status,
    1670              :                                                                      lNumericFieldBlanks,
    1671              :                                                                      lAlphaFieldBlanks,
    1672              :                                                                      cAlphaFields,
    1673              :                                                                      cNumericFields);
    1674              : 
    1675            3 :             ErrorObjectHeader eoh{routineName, CurrentModuleObject, Alphas(1)};
    1676              : 
    1677            3 :             auto *glycol = GetGlycol(state, Alphas(1));
    1678            3 :             if (glycol == nullptr) { // It appears that FluidProperties:Name is not necessary
    1679            3 :                 glycol = new GlycolProps;
    1680            3 :                 glycol->Name = Alphas(1);
    1681            3 :                 df->glycols.push_back(glycol);
    1682            3 :                 glycol->Num = df->glycols.isize();
    1683              :             }
    1684              : 
    1685            3 :             GlycolRawProps *glycolRaw = nullptr;
    1686              : 
    1687            3 :             if (Alphas(2) == "ETHYLENEGLYCOL" || Alphas(2) == "PROPYLENEGLYCOL") {
    1688            3 :                 glycol->GlycolName = Alphas(2);
    1689            3 :                 glycolRaw = GetGlycolRaw(state, Alphas(2));
    1690            3 :                 assert(glycolRaw != nullptr);
    1691            0 :             } else if (Alphas(2) == "USERDEFINEDGLYCOLTYPE") { // Why can't this just be the name of the user-defined glycol?
    1692            0 :                 glycol->GlycolName = Alphas(3);
    1693            0 :                 glycolRaw = GetGlycolRaw(state, Alphas(3));
    1694            0 :                 if (glycolRaw == nullptr) {
    1695            0 :                     ShowSevereItemNotFound(state, eoh, cAlphaFields(3), Alphas(3));
    1696            0 :                     ErrorsFound = true;
    1697            0 :                     continue;
    1698              :                 }
    1699              :             } else {
    1700            0 :                 ShowSevereInvalidKey(state, eoh, cAlphaFields(2), Alphas(2));
    1701            0 :                 ErrorsFound = true;
    1702            0 :                 continue;
    1703              :             }
    1704              : 
    1705              :             // We're good to go
    1706            3 :             glycol->Concentration = Numbers(1);
    1707              : 
    1708            3 :             glycol->CpDataPresent = glycolRaw->CpDataPresent;
    1709            3 :             if (!glycol->CpDataPresent) {
    1710            0 :                 ShowSevereError(state, format("{}: Specific heat data not entered for a {}", routineName, CurrentModuleObject));
    1711            0 :                 ShowContinueError(state, "ALL data must be entered for user-defined glycols");
    1712            0 :                 ShowContinueError(state, format("Glycol mixture name = {}", glycol->Name));
    1713            0 :                 ShowContinueError(state, format("Glycol fluid name = {}", glycol->GlycolName));
    1714            0 :                 ErrorsFound = true;
    1715            0 :                 continue;
    1716              :             }
    1717              : 
    1718            3 :             glycol->NumCpTempPoints = glycolRaw->NumCpTempPoints;
    1719            3 :             glycol->CpTemps.allocate(glycol->NumCpTempPoints);
    1720            3 :             glycol->CpTemps({1, glycol->NumCpTempPoints}) = glycolRaw->CpTemps({1, glycolRaw->NumCpTempPoints});
    1721            3 :             glycol->CpValues.allocate(glycol->NumCpTempPoints);
    1722            3 :             InterpValuesForGlycolConc(state,
    1723              :                                       glycolRaw->NumCpConcPoints,
    1724              :                                       glycolRaw->NumCpTempPoints,
    1725            3 :                                       glycolRaw->CpConcs,
    1726            3 :                                       glycolRaw->CpValues,
    1727              :                                       glycol->Concentration,
    1728            3 :                                       glycol->CpValues);
    1729              : 
    1730            3 :             glycol->RhoDataPresent = glycolRaw->RhoDataPresent;
    1731            3 :             if (!glycol->RhoDataPresent) {
    1732            0 :                 ShowSevereError(state, format("{}: density data not entered for a {}", routineName, CurrentModuleObject));
    1733            0 :                 ShowContinueError(state, "ALL data must be entered for user-defined glycols");
    1734            0 :                 ShowContinueError(state, format("Glycol mixture name = {}", glycol->Name));
    1735            0 :                 ShowContinueError(state, format("Glycol fluid name = {}", glycol->GlycolName));
    1736            0 :                 ErrorsFound = true;
    1737            0 :                 continue;
    1738              :             }
    1739              : 
    1740            3 :             glycol->NumRhoTempPoints = glycolRaw->NumRhoTempPoints;
    1741            3 :             glycol->RhoTemps.allocate(glycol->NumRhoTempPoints);
    1742            3 :             glycol->RhoTemps({1, glycol->NumRhoTempPoints}) = glycolRaw->RhoTemps({1, glycolRaw->NumRhoTempPoints});
    1743            3 :             glycol->RhoValues.allocate(glycol->NumRhoTempPoints);
    1744            3 :             InterpValuesForGlycolConc(state,
    1745              :                                       glycolRaw->NumRhoConcPoints,
    1746              :                                       glycolRaw->NumRhoTempPoints,
    1747            3 :                                       glycolRaw->RhoConcs,
    1748            3 :                                       glycolRaw->RhoValues,
    1749              :                                       glycol->Concentration,
    1750            3 :                                       glycol->RhoValues);
    1751              : 
    1752            3 :             glycol->CondDataPresent = glycolRaw->CondDataPresent;
    1753            3 :             if (!glycol->CondDataPresent) {
    1754            0 :                 ShowSevereError(state, format("{}: conductivity data not entered for a {}", routineName, CurrentModuleObject));
    1755            0 :                 ShowContinueError(state, "ALL data must be entered for user-defined glycols");
    1756            0 :                 ShowContinueError(state, format("Glycol mixture name = {}", glycol->Name));
    1757            0 :                 ShowContinueError(state, format("Glycol fluid name = {}", glycol->GlycolName));
    1758            0 :                 ErrorsFound = true;
    1759            0 :                 continue;
    1760              :             }
    1761              : 
    1762            3 :             glycol->NumCondTempPoints = glycolRaw->NumCondTempPoints;
    1763            3 :             glycol->CondTemps.allocate(glycol->NumCondTempPoints);
    1764            3 :             glycol->CondTemps({1, glycol->NumCondTempPoints}) = glycolRaw->CondTemps({1, glycolRaw->NumCondTempPoints});
    1765            3 :             glycol->CondValues.allocate(glycol->NumCondTempPoints);
    1766            3 :             InterpValuesForGlycolConc(state,
    1767              :                                       glycolRaw->NumCondConcPoints,
    1768              :                                       glycolRaw->NumCondTempPoints,
    1769            3 :                                       glycolRaw->CondConcs,
    1770            3 :                                       glycolRaw->CondValues,
    1771              :                                       glycol->Concentration,
    1772            3 :                                       glycol->CondValues);
    1773              : 
    1774            3 :             glycol->ViscDataPresent = glycolRaw->ViscDataPresent;
    1775            3 :             if (!glycol->ViscDataPresent) {
    1776            0 :                 ShowSevereError(state, format("{}: viscosity data not entered for a {}", routineName, CurrentModuleObject));
    1777            0 :                 ShowContinueError(state, "ALL data must be entered for user-defined glycols");
    1778            0 :                 ShowContinueError(state, format("Glycol mixture name = {}", glycol->Name));
    1779            0 :                 ShowContinueError(state, format("Glycol fluid name = {}", glycol->GlycolName));
    1780            0 :                 ErrorsFound = true;
    1781            0 :                 continue;
    1782              :             }
    1783              : 
    1784            3 :             glycol->NumViscTempPoints = glycolRaw->NumViscTempPoints;
    1785            3 :             glycol->ViscTemps.allocate(glycol->NumViscTempPoints);
    1786            3 :             glycol->ViscTemps({1, glycol->NumViscTempPoints}) = glycolRaw->ViscTemps({1, glycolRaw->NumViscTempPoints});
    1787            3 :             glycol->ViscValues.allocate(glycol->NumViscTempPoints);
    1788            3 :             InterpValuesForGlycolConc(state,
    1789              :                                       glycolRaw->NumViscConcPoints,
    1790              :                                       glycolRaw->NumViscTempPoints,
    1791            3 :                                       glycolRaw->ViscConcs,
    1792            3 :                                       glycolRaw->ViscValues,
    1793              :                                       glycol->Concentration,
    1794            3 :                                       glycol->ViscValues);
    1795              : 
    1796            3 :             glycol->setTempLimits(state, ErrorsFound);
    1797              : #ifdef PERFORMANCE_OPT
    1798              :             // This is a speed optimization.  Maybe.
    1799              :             glycol->CpTempRatios.allocate(glycol->NumCpTempPoints);
    1800              :             for (int i = 1; i < glycol->NumCpTempPoints; ++i)
    1801              :                 glycol->CpTempRatios(i) = (glycol->CpValues(i + 1) - glycol->CpValues(i)) / (glycol->CpTemps(i + 1) - glycol->CpTemps(i));
    1802              :             glycol->RhoTempRatios.allocate(glycol->NumRhoTempPoints);
    1803              :             for (int i = 1; i < glycol->NumRhoTempPoints; ++i)
    1804              :                 glycol->RhoTempRatios(i) = (glycol->RhoValues(i + 1) - glycol->RhoValues(i)) / (glycol->RhoTemps(i + 1) - glycol->RhoTemps(i));
    1805              :             glycol->CondTempRatios.allocate(glycol->NumCondTempPoints);
    1806              :             for (int i = 1; i < glycol->NumCondTempPoints; ++i)
    1807              :                 glycol->CondTempRatios(i) = (glycol->CondValues(i + 1) - glycol->CondValues(i)) / (glycol->CondTemps(i + 1) - glycol->CondTemps(i));
    1808              :             glycol->ViscTempRatios.allocate(glycol->NumViscTempPoints);
    1809              :             for (int i = 1; i < glycol->NumCondTempPoints; ++i)
    1810              :                 glycol->ViscTempRatios(i) = (glycol->ViscValues(i + 1) - glycol->ViscValues(i)) / (glycol->ViscTemps(i + 1) - glycol->ViscTemps(i));
    1811              : #endif    // PERFORMANCE_OPT
    1812              :         } // for (Loop)
    1813              : 
    1814         1235 :         FluidTemps.deallocate();
    1815              : 
    1816         1235 :         Alphas.deallocate();
    1817         1235 :         cAlphaFields.deallocate();
    1818         1235 :         lAlphaFieldBlanks.deallocate();
    1819         1235 :         Numbers.deallocate();
    1820         1235 :         cNumericFields.deallocate();
    1821         1235 :         lNumericFieldBlanks.deallocate();
    1822              : 
    1823         1235 :         if (ErrorsFound) {
    1824            0 :             ShowFatalError(state, format("{}: Previous errors in input cause program termination.", routineName));
    1825              :         }
    1826              : 
    1827         3705 :         if (state.dataInputProcessing->inputProcessor->getNumSectionsFound("REPORTGLYCOLS") > 0) df->DebugReportGlycols = true;
    1828         3705 :         if (state.dataInputProcessing->inputProcessor->getNumSectionsFound("REPORTREFRIGERANTS") > 0) df->DebugReportRefrigerants = true;
    1829         3705 :         if (state.dataInputProcessing->inputProcessor->getNumSectionsFound("INCREASEGLYCOLERRORLIMIT") > 0) df->GlycolErrorLimitTest += 10;
    1830         3705 :         if (state.dataInputProcessing->inputProcessor->getNumSectionsFound("INCREASEREFRIGERANTERRORLIMIT") > 0) df->RefrigErrorLimitTest += 10;
    1831              : 
    1832         1235 :         if (df->DebugReportGlycols) ReportAndTestGlycols(state);
    1833         1235 :         if (df->DebugReportRefrigerants) ReportAndTestRefrigerants(state);
    1834         1235 :     }
    1835              : 
    1836              :     //*****************************************************************************
    1837              : 
    1838           13 :     void InterpValuesForGlycolConc(EnergyPlusData &state,
    1839              :                                    int const NumOfConcs,               // number of concentrations (dimension of raw data)
    1840              :                                    int const NumOfTemps,               // number of temperatures (dimension of raw data)
    1841              :                                    const Array1D<Real64> &RawConcData, // concentrations for raw data
    1842              :                                    Array2S<Real64> const RawPropData,  // raw property data (temperature,concentration)
    1843              :                                    Real64 const Concentration,         // concentration of actual fluid mix
    1844              :                                    Array1D<Real64> &InterpData         // interpolated output data at proper concentration
    1845              :     )
    1846              :     {
    1847              : 
    1848              :         // SUBROUTINE INFORMATION:
    1849              :         //       AUTHOR         Rick Strand
    1850              :         //       DATE WRITTEN   June 2004
    1851              : 
    1852              :         // PURPOSE OF THIS SUBROUTINE:
    1853              :         // The purpose of this subroutine is to find the values for the property
    1854              :         // data at a particular concentration from default data that is at "generic"
    1855              :         // concentrations.  This is then returned to the main get routine and
    1856              :         // then used later in the program to find values at various temperatures.
    1857              :         // The ultimate purpose of this is to avoid double interpolation during
    1858              :         // the simulation.  Since concentration does not change during the simulation,
    1859              :         // there is no reason to do a double interpolation every time a property
    1860              :         // value is needed.
    1861              : 
    1862              :         // METHODOLOGY EMPLOYED:
    1863              :         // Fairly straight forward--find the two concentrations between which
    1864              :         // the actual concentration falls and then interpolate the property
    1865              :         // data using standard linear interpolation.  Note that data is stored
    1866              :         // in the format: 2dArray(Temperature,Concentration).  Temperature
    1867              :         // data is not needed here since we are only interpolating to eliminate
    1868              :         // the concentration as a variable (it really isn't one during the
    1869              :         // simulation).
    1870              : 
    1871              :         // REFERENCES:
    1872              :         // GetFluidPropertiesData--subroutine forces user to input data in
    1873              :         // order of increasing concentration.  This is assumed in this subroutine.
    1874              : 
    1875              :         // SUBROUTINE PARAMETER DEFINITIONS:
    1876           13 :         constexpr Real64 ConcToler(0.0001); // Some reasonable value for comparisons
    1877              :         static constexpr std::string_view routineName = "InterpValuesForGlycolConc";
    1878              : 
    1879              :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    1880              :         int HiIndex;       // index on the high side of the concentration
    1881              :         Real64 InterpFrac; // intermediate value for interpolations
    1882              :         int LoopC;         // loop counter for concentration
    1883              :         int LoopT;         // loop counter for temperature
    1884              : 
    1885              :         // First, find where the actual concentration falls between the concentration data.
    1886              :         // Then, interpolate if necessary.
    1887           13 :         if (Concentration < RawConcData(1)) { // Concentration too low
    1888            0 :             ShowWarningError(state,
    1889            0 :                              format("{}: Glycol concentration out of range for data (too low), concentration = {:.3R}", routineName, Concentration));
    1890            0 :             ShowContinueError(state, "Check your data or the definition of your glycols in the GlycolConcentrations input");
    1891            0 :             ShowContinueError(state, "Property data set to data for lowest concentration entered");
    1892            0 :             InterpData = RawPropData(1, _);
    1893           13 :         } else if (Concentration > RawConcData(NumOfConcs)) { // Concentration too high
    1894            0 :             ShowWarningError(state,
    1895            0 :                              format("{}: Glycol concentration out of range for data (too high), concentration = {:.3R}", routineName, Concentration));
    1896            0 :             ShowContinueError(state, "Check your data or the definition of your glycols in the GlycolConcentrations input");
    1897            0 :             ShowContinueError(state, "Property data set to data for highest concentration entered");
    1898            0 :             InterpData = RawPropData(NumOfConcs, _);
    1899              :         } else {                  // Concentration somewhere between lowest and highest point--interpolate
    1900           13 :             HiIndex = NumOfConcs; // Default to highest concentration
    1901           41 :             for (LoopC = 2; LoopC <= NumOfConcs - 1; ++LoopC) {
    1902           40 :                 if (Concentration <= RawConcData(LoopC)) {
    1903           12 :                     HiIndex = LoopC;
    1904           12 :                     break; // LoopC DO loop
    1905              :                 }
    1906              :             }
    1907              : 
    1908           13 :             if (HiIndex == 1) {
    1909            6 :                 for (LoopT = 1; LoopT <= NumOfTemps; ++LoopT) {
    1910            5 :                     InterpData(LoopT) = RawPropData(HiIndex, LoopT);
    1911              :                 }
    1912           12 :             } else if (std::abs(RawConcData(HiIndex) - RawConcData(HiIndex - 1)) >= ConcToler) {
    1913           12 :                 InterpFrac = (RawConcData(HiIndex) - Concentration) / (RawConcData(HiIndex) - RawConcData(HiIndex - 1));
    1914          408 :                 for (LoopT = 1; LoopT <= NumOfTemps; ++LoopT) {
    1915          396 :                     if ((RawPropData(HiIndex, LoopT) < ConcToler) || (RawPropData(HiIndex - 1, LoopT) < ConcToler)) {
    1916           68 :                         InterpData(LoopT) = 0.0;
    1917              :                     } else {
    1918          328 :                         InterpData(LoopT) =
    1919          328 :                             RawPropData(HiIndex, LoopT) - (InterpFrac * (RawPropData(HiIndex, LoopT) - RawPropData(HiIndex - 1, LoopT)));
    1920              :                     }
    1921              :                 }
    1922              :             } else { // user has input data for concentrations that are too close or repeated, this must be fixed
    1923            0 :                 ShowFatalError(state,
    1924            0 :                                format("{}: concentration values too close or data repeated, check your fluid property input data", routineName));
    1925              :             }
    1926              :         }
    1927           13 :     }
    1928              : 
    1929              :     //*****************************************************************************
    1930              : 
    1931         2129 :     void GlycolProps::setTempLimits(EnergyPlusData &state, bool &ErrorsFound) // set to true if errors found here
    1932              :     {
    1933              : 
    1934              :         // SUBROUTINE INFORMATION:
    1935              :         //       AUTHOR         Linda Lawrie
    1936              :         //       DATE WRITTEN   March 2008
    1937              : 
    1938              :         // PURPOSE OF THIS SUBROUTINE:
    1939              :         // This routine sets up the min/max temperature limits for the glycol properties.
    1940              :         // Most properties requested (e.g., Specific Heat) must be > 0 but the tables may
    1941              :         // be set up for symmetry and not be limited to just valid values.
    1942              : 
    1943         2129 :         if (this->CpDataPresent) {
    1944              :             // check for lowest non-zero value by referencing temp data
    1945        17028 :             for (int IndexNum = 1; IndexNum <= this->NumCpTempPoints; ++IndexNum) {
    1946        17028 :                 if (this->CpValues(IndexNum) <= 0.0) continue;
    1947         2129 :                 this->CpLowTempIndex = IndexNum;
    1948         2129 :                 this->CpLowTempValue = this->CpTemps(IndexNum);
    1949         2129 :                 break;
    1950              :             }
    1951              :             // check for highest non-zero value by referencing temp data
    1952         2129 :             for (int IndexNum = this->NumCpTempPoints; IndexNum >= 1; --IndexNum) {
    1953         2129 :                 if (this->CpValues(IndexNum) <= 0.0) continue;
    1954         2129 :                 this->CpHighTempIndex = IndexNum;
    1955         2129 :                 this->CpHighTempValue = this->CpTemps(IndexNum);
    1956         2129 :                 break;
    1957              :             }
    1958              :         }
    1959              : 
    1960         2129 :         if (this->RhoDataPresent) {
    1961              :             // check for lowest non-zero value by referencing temp data
    1962        17028 :             for (int IndexNum = 1; IndexNum <= this->NumRhoTempPoints; ++IndexNum) {
    1963        17028 :                 if (this->RhoValues(IndexNum) <= 0.0) continue;
    1964         2129 :                 this->RhoLowTempIndex = IndexNum;
    1965         2129 :                 this->RhoLowTempValue = this->RhoTemps(IndexNum);
    1966         2129 :                 break;
    1967              :             }
    1968              :             // check for highest non-zero value  by referencing temp data
    1969        12759 :             for (int IndexNum = this->NumRhoTempPoints; IndexNum >= 1; --IndexNum) {
    1970        12759 :                 if (this->RhoValues(IndexNum) <= 0.0) continue;
    1971         2129 :                 this->RhoHighTempIndex = IndexNum;
    1972         2129 :                 this->RhoHighTempValue = this->RhoTemps(IndexNum);
    1973         2129 :                 break;
    1974              :             }
    1975              :         }
    1976              : 
    1977         2129 :         if (this->CondDataPresent) {
    1978              :             // check for lowest non-zero value by referencing temp data
    1979        17028 :             for (int IndexNum = 1; IndexNum <= this->NumCondTempPoints; ++IndexNum) {
    1980        17028 :                 if (this->CondValues(IndexNum) <= 0.0) continue;
    1981         2129 :                 this->CondLowTempIndex = IndexNum;
    1982         2129 :                 this->CondLowTempValue = this->CondTemps(IndexNum);
    1983         2129 :                 break;
    1984              :             }
    1985              :             // check for highest non-zero value  by referencing temp data
    1986        12759 :             for (int IndexNum = this->NumCondTempPoints; IndexNum >= 1; --IndexNum) {
    1987        12759 :                 if (this->CondValues(IndexNum) <= 0.0) continue;
    1988         2129 :                 this->CondHighTempIndex = IndexNum;
    1989         2129 :                 this->CondHighTempValue = this->CondTemps(IndexNum);
    1990         2129 :                 break;
    1991              :             }
    1992              :         }
    1993         2129 :         if (this->ViscDataPresent) {
    1994              :             // check for lowest non-zero value by referencing temp data
    1995        17028 :             for (int IndexNum = 1; IndexNum <= this->NumViscTempPoints; ++IndexNum) {
    1996        17028 :                 if (this->ViscValues(IndexNum) <= 0.0) continue;
    1997         2129 :                 this->ViscLowTempIndex = IndexNum;
    1998         2129 :                 this->ViscLowTempValue = this->ViscTemps(IndexNum);
    1999         2129 :                 break;
    2000              :             }
    2001              :             // check for highest non-zero value  by referencing temp data
    2002        12759 :             for (int IndexNum = this->NumViscTempPoints; IndexNum >= 1; --IndexNum) {
    2003        12759 :                 if (this->ViscValues(IndexNum) <= 0.0) continue;
    2004         2129 :                 this->ViscHighTempIndex = IndexNum;
    2005         2129 :                 this->ViscHighTempValue = this->ViscTemps(IndexNum);
    2006         2129 :                 break;
    2007              :             }
    2008              :         }
    2009              : 
    2010         2129 :         bool Failure = false;
    2011              :         // Check to see that all are set to non-zero
    2012         2129 :         if (this->CpDataPresent) {
    2013         2129 :             Failure = this->CpLowTempIndex == 0 || this->CpHighTempIndex == 0;
    2014              :         }
    2015         2129 :         if (this->RhoDataPresent) {
    2016         2129 :             Failure = this->RhoLowTempIndex == 0 || this->RhoHighTempIndex == 0;
    2017              :         }
    2018         2129 :         if (this->CondDataPresent) {
    2019         2129 :             Failure = this->CondLowTempIndex == 0 || this->CondHighTempIndex == 0;
    2020              :         }
    2021         2129 :         if (this->ViscDataPresent) {
    2022         2129 :             Failure = this->ViscLowTempIndex == 0 || this->ViscHighTempIndex == 0;
    2023              :         }
    2024         2129 :         if (Failure) {
    2025            0 :             ShowSevereError(state, format("setTempLimits: Required values for Glycol={} are all zeroes for some data types.", this->Name));
    2026            0 :             ErrorsFound = true;
    2027              :         }
    2028         2129 :     }
    2029              : 
    2030              :     //*****************************************************************************
    2031              : 
    2032         3369 :     void RefrigProps::setTempLimits(EnergyPlusData &state, bool &ErrorsFound) // set to true if errors found here
    2033              :     {
    2034              : 
    2035              :         // SUBROUTINE INFORMATION:
    2036              :         //       AUTHOR         Linda Lawrie
    2037              :         //       DATE WRITTEN   March 2008
    2038              : 
    2039              :         // PURPOSE OF THIS SUBROUTINE:
    2040              :         // This routine sets up the min/max limits (usually temperature and/or pressure)
    2041              :         // for the refrigerant properties.
    2042              :         // Most properties requested (e.g., Specific Heat) must be > 0 but the tables may
    2043              :         // be set up for symmetry and not be limited to just valid values.
    2044         3369 :         for (int IndexNum = 1; IndexNum <= this->NumPsPoints; ++IndexNum) {
    2045         3369 :             if (this->PsValues(IndexNum) <= 0.0) continue;
    2046         3369 :             this->PsLowPresIndex = IndexNum;
    2047         3369 :             this->PsLowPresValue = this->PsValues(IndexNum);
    2048         3369 :             this->PsLowTempValue = this->PsTemps(IndexNum);
    2049         3369 :             this->PsLowTempIndex = IndexNum;
    2050         3369 :             break;
    2051              :         }
    2052         3369 :         for (int IndexNum = this->NumPsPoints; IndexNum >= 1; --IndexNum) {
    2053         3369 :             if (this->PsValues(IndexNum) <= 0.0) continue;
    2054         3369 :             this->PsHighPresIndex = IndexNum;
    2055         3369 :             this->PsHighPresValue = this->PsValues(IndexNum);
    2056         3369 :             this->PsHighTempValue = this->PsTemps(IndexNum);
    2057         3369 :             this->PsHighTempIndex = IndexNum;
    2058         3369 :             break;
    2059              :         }
    2060         3369 :         for (int IndexNum = 1; IndexNum <= this->NumHPoints; ++IndexNum) {
    2061         3369 :             if (this->HfValues(IndexNum) <= 0.0) continue;
    2062         3369 :             this->HfLowTempValue = this->HfValues(IndexNum);
    2063         3369 :             this->HfLowTempIndex = IndexNum;
    2064         3369 :             break;
    2065              :         }
    2066         3369 :         for (int IndexNum = this->NumHPoints; IndexNum >= 1; --IndexNum) {
    2067         3369 :             if (this->HfValues(IndexNum) <= 0.0) continue;
    2068         3369 :             this->HfHighTempValue = this->HfValues(IndexNum);
    2069         3369 :             this->HfHighTempIndex = IndexNum;
    2070         3369 :             break;
    2071              :         }
    2072         3369 :         for (int IndexNum = 1; IndexNum <= this->NumHPoints; ++IndexNum) {
    2073         3369 :             if (this->HfgValues(IndexNum) <= 0.0) continue;
    2074         3369 :             this->HfgLowTempValue = this->HfgValues(IndexNum);
    2075         3369 :             this->HfgLowTempIndex = IndexNum;
    2076         3369 :             break;
    2077              :         }
    2078         3369 :         for (int IndexNum = this->NumHPoints; IndexNum >= 1; --IndexNum) {
    2079         3369 :             if (this->HfgValues(IndexNum) <= 0.0) continue;
    2080         3369 :             this->HfgHighTempValue = this->HfgValues(IndexNum);
    2081         3369 :             this->HfgHighTempIndex = IndexNum;
    2082         3369 :             break;
    2083              :         }
    2084         3369 :         for (int IndexNum = 1; IndexNum <= this->NumCpPoints; ++IndexNum) {
    2085         3369 :             if (this->CpfValues(IndexNum) <= 0.0) continue;
    2086         3369 :             this->CpfLowTempValue = this->CpfValues(IndexNum);
    2087         3369 :             this->CpfLowTempIndex = IndexNum;
    2088         3369 :             break;
    2089              :         }
    2090         3369 :         for (int IndexNum = this->NumCpPoints; IndexNum >= 1; --IndexNum) {
    2091         3369 :             if (this->CpfValues(IndexNum) <= 0.0) continue;
    2092         3369 :             this->CpfHighTempValue = this->CpfValues(IndexNum);
    2093         3369 :             this->CpfHighTempIndex = IndexNum;
    2094         3369 :             break;
    2095              :         }
    2096         3369 :         for (int IndexNum = 1; IndexNum <= this->NumCpPoints; ++IndexNum) {
    2097         3369 :             if (this->CpfgValues(IndexNum) <= 0.0) continue;
    2098         3369 :             this->CpfgLowTempValue = this->CpfgValues(IndexNum);
    2099         3369 :             this->CpfgLowTempIndex = IndexNum;
    2100         3369 :             break;
    2101              :         }
    2102         3369 :         for (int IndexNum = this->NumCpPoints; IndexNum >= 1; --IndexNum) {
    2103         3369 :             if (this->CpfgValues(IndexNum) <= 0.0) continue;
    2104         3369 :             this->CpfgHighTempValue = this->CpfgValues(IndexNum);
    2105         3369 :             this->CpfgHighTempIndex = IndexNum;
    2106         3369 :             break;
    2107              :         }
    2108         3369 :         for (int IndexNum = 1; IndexNum <= this->NumRhoPoints; ++IndexNum) {
    2109         3369 :             if (this->RhofValues(IndexNum) <= 0.0) continue;
    2110         3369 :             this->RhofLowTempValue = this->RhofValues(IndexNum);
    2111         3369 :             this->RhofLowTempIndex = IndexNum;
    2112         3369 :             break;
    2113              :         }
    2114         3369 :         for (int IndexNum = this->NumRhoPoints; IndexNum >= 1; --IndexNum) {
    2115         3369 :             if (this->RhofValues(IndexNum) <= 0.0) continue;
    2116         3369 :             this->RhofHighTempValue = this->RhofValues(IndexNum);
    2117         3369 :             this->RhofHighTempIndex = IndexNum;
    2118         3369 :             break;
    2119              :         }
    2120         3369 :         for (int IndexNum = 1; IndexNum <= this->NumRhoPoints; ++IndexNum) {
    2121         3369 :             if (this->RhofgValues(IndexNum) <= 0.0) continue;
    2122         3369 :             this->RhofgLowTempValue = this->RhofgValues(IndexNum);
    2123         3369 :             this->RhofgLowTempIndex = IndexNum;
    2124         3369 :             break;
    2125              :         }
    2126         3369 :         for (int IndexNum = this->NumRhoPoints; IndexNum >= 1; --IndexNum) {
    2127         3369 :             if (this->RhofgValues(IndexNum) <= 0.0) continue;
    2128         3369 :             this->RhofgHighTempValue = this->RhofgValues(IndexNum);
    2129         3369 :             this->RhofgHighTempIndex = IndexNum;
    2130         3369 :             break;
    2131              :         }
    2132              : 
    2133         3369 :         bool Failure = false;
    2134              :         // Check to see that all are set to non-zero
    2135         3369 :         if (this->NumPsPoints > 0) {
    2136         3369 :             Failure = this->PsLowPresIndex == 0 || this->PsLowTempIndex == 0 || this->PsHighPresIndex == 0 || this->PsHighTempIndex == 0;
    2137              :         }
    2138         3369 :         if (this->NumHPoints > 0) {
    2139         3369 :             Failure = this->HfLowTempIndex == 0 || this->HfgLowTempIndex == 0 || this->HfHighTempIndex == 0 || this->HfgHighTempIndex == 0;
    2140              :         }
    2141         3369 :         if (this->NumCpPoints > 0) {
    2142         3369 :             Failure = this->CpfLowTempIndex == 0 || this->CpfgLowTempIndex == 0 || this->CpfHighTempIndex == 0 || this->CpfgHighTempIndex == 0;
    2143              :         }
    2144         3369 :         if (this->NumRhoPoints > 0) {
    2145         3369 :             Failure = this->RhofLowTempIndex == 0 || this->RhofgLowTempIndex == 0 || this->RhofHighTempIndex == 0 || this->RhofgHighTempIndex == 0;
    2146              :         }
    2147         3369 :         if (Failure) {
    2148            0 :             ShowSevereError(state,
    2149            0 :                             format("RefrigProps::setTempimits: Required values for Refrigerant={} are all zeroes for some data types.", this->Name));
    2150            0 :             ErrorsFound = true;
    2151              :         }
    2152         3369 :     }
    2153              : 
    2154              :     //*****************************************************************************
    2155              : 
    2156            0 :     void ReportAndTestGlycols(EnergyPlusData &state)
    2157              :     {
    2158              : 
    2159              :         // SUBROUTINE INFORMATION:
    2160              :         //       AUTHOR         Linda Lawrie
    2161              :         //       DATE WRITTEN   March 2008
    2162              : 
    2163              :         // PURPOSE OF THIS SUBROUTINE:
    2164              :         // This subroutine is written to report and test glycols through their range
    2165              :         // of temperatures and make sure that proper values will be returned.
    2166              : 
    2167              :         // METHODOLOGY EMPLOYED:
    2168              :         // Use internal structure as the temperature limits. Write output to the
    2169              :         // debug output file.
    2170              : 
    2171              :         // SUBROUTINE PARAMETER DEFINITIONS:
    2172            0 :         constexpr Real64 incr(10.0);
    2173              :         static constexpr std::string_view routineName = "ReportAndTestGlycols";
    2174              : 
    2175              :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    2176              :         Real64 Temperature; // Temperature to drive values
    2177              :         Real64 ReturnValue; // Values returned from glycol functions
    2178              : 
    2179            0 :         auto const &df = state.dataFluid;
    2180              : 
    2181            0 :         for (auto *glycol : df->glycols) {
    2182              : 
    2183            0 :             int GlycolIndex = 0; // used in routine calls -- value is returned when first 0
    2184              :             // Lay out the basic values:
    2185            0 :             if (!glycol->GlycolName.empty()) {
    2186            0 :                 print(state.files.debug, "Glycol={}, Mixture fluid={}\n", glycol->Name, glycol->GlycolName);
    2187              :             } else {
    2188            0 :                 print(state.files.debug, "Glycol={}\n", glycol->Name);
    2189              :             }
    2190            0 :             print(state.files.debug, "Concentration:,{:.2R}\n", glycol->Concentration);
    2191            0 :             if (glycol->CpDataPresent) {
    2192            0 :                 print(state.files.debug,
    2193              :                       "Specific Heat Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2194            0 :                       glycol->CpLowTempValue,
    2195            0 :                       glycol->CpLowTempIndex,
    2196            0 :                       glycol->CpHighTempValue,
    2197            0 :                       glycol->CpHighTempIndex);
    2198            0 :                 print(state.files.debug, "{}", "Temperatures:");
    2199            0 :                 for (int Loop = 1; Loop <= glycol->NumCpTempPoints - 1; ++Loop) {
    2200            0 :                     print(state.files.debug, ",{:.2R}", glycol->CpTemps(Loop));
    2201              :                 }
    2202            0 :                 print(state.files.debug, ",{}\n", glycol->CpTemps(glycol->NumCpTempPoints));
    2203            0 :                 print(state.files.debug, "{}", "Specific Heat:");
    2204            0 :                 for (int Loop = 1; Loop <= glycol->NumCpTempPoints - 1; ++Loop) {
    2205            0 :                     print(state.files.debug, ",{:.2R}", glycol->CpValues(Loop));
    2206              :                 }
    2207            0 :                 print(state.files.debug, ",{}\n", glycol->CpValues(glycol->NumCpTempPoints));
    2208              :             }
    2209            0 :             if (glycol->RhoDataPresent) {
    2210            0 :                 print(state.files.debug,
    2211              :                       "Density Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2212            0 :                       glycol->RhoLowTempValue,
    2213            0 :                       glycol->RhoLowTempIndex,
    2214            0 :                       glycol->RhoHighTempValue,
    2215            0 :                       glycol->RhoHighTempIndex);
    2216            0 :                 print(state.files.debug, "{}", "Temperatures:");
    2217            0 :                 for (int Loop = 1; Loop <= glycol->NumRhoTempPoints - 1; ++Loop) {
    2218            0 :                     print(state.files.debug, ",{:.2R}", glycol->RhoTemps(Loop));
    2219              :                 }
    2220            0 :                 print(state.files.debug, ",{}\n", glycol->RhoTemps(glycol->NumRhoTempPoints));
    2221            0 :                 print(state.files.debug, "{}", "Density:");
    2222            0 :                 for (int Loop = 1; Loop <= glycol->NumRhoTempPoints - 1; ++Loop) {
    2223            0 :                     print(state.files.debug, ",{:.2R}", glycol->RhoValues(Loop));
    2224              :                 }
    2225            0 :                 print(state.files.debug, ",{}\n", glycol->RhoTemps(glycol->NumRhoTempPoints));
    2226              :             }
    2227            0 :             if (glycol->CondDataPresent) {
    2228            0 :                 print(state.files.debug,
    2229              :                       "Conductivity Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2230            0 :                       glycol->CondLowTempValue,
    2231            0 :                       glycol->CondLowTempIndex,
    2232            0 :                       glycol->CondHighTempValue,
    2233            0 :                       glycol->CondHighTempIndex);
    2234            0 :                 print(state.files.debug, "{}", "Temperatures:");
    2235            0 :                 for (int Loop = 1; Loop <= glycol->NumCondTempPoints - 1; ++Loop) {
    2236            0 :                     print(state.files.debug, ",{:.2R}", glycol->CondTemps(Loop));
    2237              :                 }
    2238            0 :                 print(state.files.debug, ",{}\n", glycol->CondTemps(glycol->NumCondTempPoints));
    2239            0 :                 print(state.files.debug, "{}", "Conductivity:");
    2240            0 :                 for (int Loop = 1; Loop <= glycol->NumCondTempPoints - 1; ++Loop) {
    2241            0 :                     print(state.files.debug, ",{:.2R}", glycol->CondValues(Loop));
    2242              :                 }
    2243            0 :                 print(state.files.debug, ",{}\n", glycol->CondValues(glycol->NumCondTempPoints));
    2244              :             }
    2245            0 :             if (glycol->ViscDataPresent) {
    2246            0 :                 print(state.files.debug,
    2247              :                       "Viscosity Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2248            0 :                       glycol->ViscLowTempValue,
    2249            0 :                       glycol->ViscLowTempIndex,
    2250            0 :                       glycol->ViscHighTempValue,
    2251            0 :                       glycol->ViscHighTempIndex);
    2252            0 :                 print(state.files.debug, "{}", "Temperatures:");
    2253            0 :                 for (int Loop = 1; Loop <= glycol->NumViscTempPoints - 1; ++Loop) {
    2254            0 :                     print(state.files.debug, ",{:.2R}", glycol->ViscTemps(Loop));
    2255              :                 }
    2256            0 :                 print(state.files.debug, ",{}\n", glycol->ViscTemps(glycol->NumViscTempPoints));
    2257            0 :                 print(state.files.debug, "{}", "Viscosity:");
    2258            0 :                 for (int Loop = 1; Loop <= glycol->NumViscTempPoints - 1; ++Loop) {
    2259            0 :                     print(state.files.debug, ",{:.2R}", glycol->ViscValues(Loop));
    2260              :                 }
    2261            0 :                 print(state.files.debug, ",{}\n", glycol->ViscValues(glycol->NumViscTempPoints));
    2262              :             }
    2263              :             // ============================================
    2264              :             // Glycol Results, using out of bounds to out of bounds values in calling
    2265              :             // ============================================
    2266              : 
    2267              :             // ========= Specific Heat from Temperatures
    2268            0 :             print(state.files.debug, "Glycol={} **** Results ****\n", glycol->Name);
    2269            0 :             if (glycol->CpDataPresent) {
    2270            0 :                 print(state.files.debug, "Specific Heat Results at Temperatures:");
    2271            0 :                 print(state.files.debug, ",{:.2R}", glycol->CpTemps(1) - incr);
    2272              : 
    2273            0 :                 for (int Loop = 1; Loop <= glycol->NumCpTempPoints - 1; ++Loop) {
    2274            0 :                     print(state.files.debug, ",{:.2R}", glycol->CpTemps(Loop));
    2275            0 :                     Temperature = glycol->CpTemps(Loop) + (glycol->CpTemps(Loop + 1) - glycol->CpTemps(Loop)) / 2.0;
    2276            0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2277              :                 }
    2278            0 :                 print(state.files.debug, ",{:.2R}", glycol->CpTemps(glycol->NumCpTempPoints));
    2279            0 :                 print(state.files.debug, ",{:.2R}\n", glycol->CpTemps(glycol->NumCpTempPoints) + incr);
    2280            0 :                 print(state.files.debug, "Specific Heat:");
    2281            0 :                 Temperature = glycol->CpTemps(1) - incr;
    2282            0 :                 ReturnValue = glycol->getSpecificHeat(state, Temperature, routineName);
    2283            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2284            0 :                 for (int Loop = 1; Loop <= glycol->NumCpTempPoints - 1; ++Loop) {
    2285            0 :                     Temperature = glycol->CpTemps(Loop);
    2286            0 :                     ReturnValue = glycol->getSpecificHeat(state, Temperature, routineName);
    2287            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2288            0 :                     Temperature = glycol->CpTemps(Loop) + (glycol->CpTemps(Loop + 1) - glycol->CpTemps(Loop)) / 2.0;
    2289            0 :                     ReturnValue = glycol->getSpecificHeat(state, Temperature, routineName);
    2290            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2291              :                 }
    2292            0 :                 Temperature = glycol->CpTemps(glycol->NumCpTempPoints);
    2293            0 :                 ReturnValue = glycol->getSpecificHeat(state, Temperature, routineName);
    2294            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2295            0 :                 Temperature = glycol->CpTemps(glycol->NumCpTempPoints) + incr;
    2296            0 :                 ReturnValue = glycol->getSpecificHeat(state, Temperature, routineName);
    2297            0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2298              :             }
    2299              : 
    2300              :             // ========= Density from Temperatures
    2301            0 :             if (glycol->RhoDataPresent) {
    2302            0 :                 print(state.files.debug, "Density Results at Temperatures:");
    2303            0 :                 print(state.files.debug, ",{:.2R}", glycol->RhoTemps(1) - incr);
    2304            0 :                 for (int Loop = 1; Loop <= glycol->NumRhoTempPoints - 1; ++Loop) {
    2305            0 :                     print(state.files.debug, ",{:.2R}", glycol->RhoTemps(Loop));
    2306            0 :                     Temperature = glycol->RhoTemps(Loop) + (glycol->RhoTemps(Loop + 1) - glycol->RhoTemps(Loop)) / 2.0;
    2307            0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2308              :                 }
    2309            0 :                 print(state.files.debug, ",{}", glycol->RhoTemps(glycol->NumRhoTempPoints));
    2310            0 :                 print(state.files.debug, ",{:.2R}\n", glycol->RhoTemps(glycol->NumRhoTempPoints) + incr);
    2311            0 :                 print(state.files.debug, "Density:");
    2312            0 :                 Temperature = glycol->RhoTemps(1) - incr;
    2313            0 :                 ReturnValue = glycol->getDensity(state, Temperature, routineName);
    2314            0 :                 print(state.files.debug, ",{:.3R}", ReturnValue);
    2315            0 :                 for (int Loop = 1; Loop <= glycol->NumRhoTempPoints - 1; ++Loop) {
    2316            0 :                     Temperature = glycol->RhoTemps(Loop);
    2317            0 :                     ReturnValue = glycol->getDensity(state, Temperature, routineName);
    2318            0 :                     print(state.files.debug, ",{:.3R}", ReturnValue);
    2319            0 :                     Temperature = glycol->RhoTemps(Loop) + (glycol->RhoTemps(Loop + 1) - glycol->RhoTemps(Loop)) / 2.0;
    2320            0 :                     ReturnValue = glycol->getDensity(state, Temperature, routineName);
    2321            0 :                     print(state.files.debug, ",{:.3R}", ReturnValue);
    2322              :                 }
    2323            0 :                 Temperature = glycol->RhoTemps(glycol->NumRhoTempPoints);
    2324            0 :                 ReturnValue = glycol->getDensity(state, Temperature, routineName);
    2325            0 :                 print(state.files.debug, ",{:.3R}", ReturnValue);
    2326            0 :                 Temperature = glycol->RhoTemps(glycol->NumRhoTempPoints) + incr;
    2327            0 :                 ReturnValue = glycol->getDensity(state, Temperature, routineName);
    2328            0 :                 print(state.files.debug, ",{:.3R}\n", ReturnValue);
    2329              :             }
    2330              : 
    2331              :             // ========= Conductivity from Temperatures
    2332            0 :             if (glycol->CondDataPresent) {
    2333            0 :                 print(state.files.debug, "Conductivity Results at Temperatures:");
    2334            0 :                 print(state.files.debug, ",{:.2R}", glycol->CondTemps(1) - incr);
    2335            0 :                 for (int Loop = 1; Loop <= glycol->NumCondTempPoints - 1; ++Loop) {
    2336            0 :                     print(state.files.debug, ",{:.2R}", glycol->CondTemps(Loop));
    2337            0 :                     Temperature = glycol->CondTemps(Loop) + (glycol->CondTemps(Loop + 1) - glycol->CondTemps(Loop)) / 2.0;
    2338            0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2339              :                 }
    2340            0 :                 print(state.files.debug, ",{:.2R}", glycol->CondTemps(glycol->NumCondTempPoints));
    2341            0 :                 print(state.files.debug, ",{:.2R}\n", glycol->CondTemps(glycol->NumCondTempPoints) + incr);
    2342            0 :                 print(state.files.debug, "Conductivity:");
    2343            0 :                 Temperature = glycol->CondTemps(1) - incr;
    2344            0 :                 ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2345            0 :                 print(state.files.debug, ",{:.3R}", ReturnValue);
    2346            0 :                 for (int Loop = 1; Loop <= glycol->NumCondTempPoints - 1; ++Loop) {
    2347            0 :                     Temperature = glycol->CondTemps(Loop);
    2348            0 :                     ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2349            0 :                     print(state.files.debug, ",{:.3R}", ReturnValue);
    2350            0 :                     Temperature = glycol->CondTemps(Loop) + (glycol->CondTemps(Loop + 1) - glycol->CondTemps(Loop)) / 2.0;
    2351            0 :                     ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2352            0 :                     print(state.files.debug, ",{:.3R}", ReturnValue);
    2353              :                 }
    2354            0 :                 Temperature = glycol->CondTemps(glycol->NumCondTempPoints);
    2355            0 :                 ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2356            0 :                 print(state.files.debug, ",{:.3R}", ReturnValue);
    2357            0 :                 Temperature = glycol->CondTemps(glycol->NumCondTempPoints) + incr;
    2358            0 :                 ReturnValue = glycol->getConductivity(state, Temperature, routineName);
    2359            0 :                 print(state.files.debug, ",{:.3R}\n", ReturnValue);
    2360              :             }
    2361              : 
    2362              :             // ========= Viscosity from Temperatures
    2363            0 :             if (glycol->ViscDataPresent) {
    2364            0 :                 print(state.files.debug, "Viscosity Results at Temperatures:");
    2365            0 :                 print(state.files.debug, ",{:.2R}", glycol->ViscTemps(1) - incr);
    2366            0 :                 for (int Loop = 1; Loop <= glycol->NumViscTempPoints - 1; ++Loop) {
    2367            0 :                     print(state.files.debug, ",{:.2R}", glycol->ViscTemps(Loop));
    2368            0 :                     Temperature = glycol->ViscTemps(Loop) + (glycol->ViscTemps(Loop + 1) - glycol->ViscTemps(Loop)) / 2.0;
    2369            0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2370              :                 }
    2371            0 :                 print(state.files.debug, ",{:.2R}", glycol->ViscTemps(glycol->NumViscTempPoints));
    2372            0 :                 print(state.files.debug, ",{:.2R}\n", glycol->ViscTemps(glycol->NumViscTempPoints) + incr);
    2373            0 :                 print(state.files.debug, "Viscosity:");
    2374            0 :                 Temperature = glycol->ViscTemps(1) - incr;
    2375            0 :                 ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2376            0 :                 print(state.files.debug, ",{:.4R}", ReturnValue);
    2377            0 :                 for (int Loop = 1; Loop <= glycol->NumViscTempPoints - 1; ++Loop) {
    2378            0 :                     Temperature = glycol->ViscTemps(Loop);
    2379            0 :                     ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2380            0 :                     print(state.files.debug, ",{:.4R}", ReturnValue);
    2381            0 :                     Temperature = glycol->ViscTemps(Loop) + (glycol->ViscTemps(Loop + 1) - glycol->ViscTemps(Loop)) / 2.0;
    2382            0 :                     ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2383            0 :                     print(state.files.debug, ",{:.4R}", ReturnValue);
    2384              :                 }
    2385            0 :                 Temperature = glycol->ViscTemps(glycol->NumViscTempPoints);
    2386            0 :                 ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2387            0 :                 print(state.files.debug, ",{:.4R}", ReturnValue);
    2388            0 :                 Temperature = glycol->ViscTemps(glycol->NumViscTempPoints) + incr;
    2389            0 :                 ReturnValue = glycol->getViscosity(state, Temperature, routineName);
    2390            0 :                 print(state.files.debug, ",{:.4R}\n", ReturnValue);
    2391              :             }
    2392              :         }
    2393            0 :     }
    2394              : 
    2395              :     //*****************************************************************************
    2396              : 
    2397            0 :     void ReportAndTestRefrigerants(EnergyPlusData &state)
    2398              :     {
    2399              : 
    2400              :         // SUBROUTINE INFORMATION:
    2401              :         //       AUTHOR         Linda Lawrie
    2402              :         //       DATE WRITTEN   March 2008; only stub provided to satisfy calling programs.
    2403              : 
    2404              :         // PURPOSE OF THIS SUBROUTINE:
    2405              :         // This subroutine is written to report and test refrigerants through their range
    2406              :         // of inputs (temperatures?) and make sure that proper values will be returned.
    2407              : 
    2408              :         // METHODOLOGY EMPLOYED:
    2409              :         // Use internal structure as the range limits. Write output to the
    2410              :         // debug output file.
    2411              : 
    2412              :         // SUBROUTINE PARAMETER DEFINITIONS:
    2413            0 :         constexpr Real64 incr(10.0);
    2414            0 :         constexpr Real64 Quality(1.0);
    2415              :         static constexpr std::string_view routineName = "ReportAndTestRefrigerants";
    2416              : 
    2417              :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    2418              :         Real64 Temperature; // Temperature to drive values
    2419              :         Real64 ReturnValue; // Values returned from refrigerant functions
    2420              : 
    2421            0 :         auto const &df = state.dataFluid;
    2422              : 
    2423            0 :         for (auto *refrig : df->refrigs) {
    2424              :             // Lay out the basic values:
    2425            0 :             if (!refrig->Name.empty()) {
    2426            0 :                 print(state.files.debug, "Refrigerant={}", refrig->Name);
    2427              :             }
    2428            0 :             if (refrig->NumPsPoints > 0) {
    2429            0 :                 print(state.files.debug,
    2430              :                       "Saturation Pressures Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2431            0 :                       refrig->PsLowTempValue,
    2432            0 :                       refrig->PsLowTempIndex,
    2433            0 :                       refrig->PsHighTempValue,
    2434            0 :                       refrig->PsHighTempIndex);
    2435            0 :                 print(state.files.debug, "Temperatures:");
    2436            0 :                 for (int Loop = 1; Loop <= refrig->NumPsPoints - 1; ++Loop) {
    2437            0 :                     print(state.files.debug, ",{:.2R}", refrig->PsTemps(Loop));
    2438              :                 }
    2439            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->PsTemps(refrig->NumPsPoints));
    2440            0 :                 print(state.files.debug, "Saturation Pressure:");
    2441            0 :                 for (int Loop = 1; Loop <= refrig->NumPsPoints - 1; ++Loop) {
    2442            0 :                     print(state.files.debug, ",{:.2R}", refrig->PsValues(Loop));
    2443              :                 }
    2444            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->PsValues(refrig->NumPsPoints));
    2445              :             }
    2446            0 :             if (refrig->NumHPoints > 0) {
    2447            0 :                 print(state.files.debug,
    2448              :                       "Enthalpy Saturated Fluid Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2449            0 :                       refrig->HfLowTempValue,
    2450            0 :                       refrig->HfLowTempIndex,
    2451            0 :                       refrig->HfHighTempValue,
    2452            0 :                       refrig->HfHighTempIndex);
    2453            0 :                 print(state.files.debug, "Temperatures:");
    2454            0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2455            0 :                     print(state.files.debug, ",{:.2R}", refrig->HTemps(Loop));
    2456              :                 }
    2457            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HTemps(refrig->NumHPoints));
    2458            0 :                 print(state.files.debug, "Enthalpy Saturated Fluid:");
    2459            0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2460            0 :                     print(state.files.debug, ",{:.2R}", refrig->HfValues(Loop));
    2461              :                 }
    2462            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HfValues(refrig->NumHPoints));
    2463            0 :                 print(state.files.debug,
    2464              :                       "Enthalpy Saturated Fluid/Gas Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2465            0 :                       refrig->HfgLowTempValue,
    2466            0 :                       refrig->HfgLowTempIndex,
    2467            0 :                       refrig->HfgHighTempValue,
    2468            0 :                       refrig->HfgHighTempIndex);
    2469              : 
    2470            0 :                 print(state.files.debug, "Temperatures:");
    2471            0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2472            0 :                     print(state.files.debug, ",{:.2R}", refrig->HTemps(Loop));
    2473              :                 }
    2474            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HTemps(refrig->NumHPoints));
    2475            0 :                 print(state.files.debug, "Enthalpy Saturated Fluid/Gas:");
    2476            0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2477            0 :                     print(state.files.debug, ",{:.2R}", refrig->HfgValues(Loop));
    2478              :                 }
    2479            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HfgValues(refrig->NumHPoints));
    2480              :             }
    2481            0 :             if (refrig->NumCpPoints > 0) {
    2482            0 :                 print(state.files.debug,
    2483              :                       "Specific Heat Saturated Fluid Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2484            0 :                       refrig->CpfLowTempValue,
    2485            0 :                       refrig->CpfLowTempIndex,
    2486            0 :                       refrig->CpfHighTempValue,
    2487            0 :                       refrig->CpfHighTempIndex);
    2488            0 :                 print(state.files.debug, "Temperatures:");
    2489            0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2490            0 :                     print(state.files.debug, ",{:.2R}", refrig->CpTemps(Loop));
    2491              :                 }
    2492            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->CpTemps(refrig->NumCpPoints));
    2493            0 :                 print(state.files.debug, "Specific Heat Saturated Fluid:");
    2494            0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2495            0 :                     print(state.files.debug, ",{:.2R}\n", refrig->CpfValues(Loop));
    2496              :                 }
    2497            0 :                 print(state.files.debug, ",{:.2R}", refrig->CpfValues(refrig->NumCpPoints));
    2498            0 :                 print(state.files.debug,
    2499              :                       "Specific Heat Saturated Fluid/Gas Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2500            0 :                       refrig->CpfgLowTempValue,
    2501            0 :                       refrig->CpfgLowTempIndex,
    2502            0 :                       refrig->CpfgHighTempValue,
    2503            0 :                       refrig->CpfgHighTempIndex);
    2504            0 :                 print(state.files.debug, "Temperatures:");
    2505            0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2506            0 :                     print(state.files.debug, ",{:.2R}", refrig->CpTemps(Loop));
    2507              :                 }
    2508            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->CpTemps(refrig->NumCpPoints));
    2509            0 :                 print(state.files.debug, "Specific Heat Saturated Fluid/Gas:");
    2510            0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2511            0 :                     print(state.files.debug, ",{:.2R}", refrig->CpfgValues(Loop));
    2512              :                 }
    2513            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->CpfgValues(refrig->NumCpPoints));
    2514              :             }
    2515            0 :             if (refrig->NumRhoPoints > 0) {
    2516            0 :                 print(state.files.debug,
    2517              :                       "Density Saturated Fluid Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2518            0 :                       refrig->RhofLowTempValue,
    2519            0 :                       refrig->RhofLowTempIndex,
    2520            0 :                       refrig->RhofHighTempValue,
    2521            0 :                       refrig->RhofHighTempIndex);
    2522            0 :                 print(state.files.debug, "Temperatures:");
    2523            0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2524            0 :                     print(state.files.debug, ",{:.2R}", refrig->RhoTemps(Loop));
    2525              :                 }
    2526            0 :                 print(state.files.debug, ",{:.2R}", refrig->RhoTemps(refrig->NumRhoPoints));
    2527            0 :                 print(state.files.debug, "Density Saturated Fluid:");
    2528            0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2529            0 :                     print(state.files.debug, ",{:.2R}", refrig->RhofValues(Loop));
    2530              :                 }
    2531            0 :                 print(state.files.debug, ",{:.2R}", refrig->RhofValues(refrig->NumRhoPoints));
    2532            0 :                 print(state.files.debug,
    2533              :                       "Density Saturated Fluid/Gas Data points:,Low Temperature=,{:.2R},Index=,{},High Temperature=,{:.2R},Index=,{}\n",
    2534            0 :                       refrig->RhofgLowTempValue,
    2535            0 :                       refrig->RhofgLowTempIndex,
    2536            0 :                       refrig->RhofgHighTempValue,
    2537            0 :                       refrig->RhofgHighTempIndex);
    2538            0 :                 print(state.files.debug, "Temperatures:");
    2539            0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2540            0 :                     print(state.files.debug, ",{:.2R}", refrig->RhoTemps(Loop));
    2541              :                 }
    2542            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->RhoTemps(refrig->NumRhoPoints));
    2543            0 :                 print(state.files.debug, "Density Saturated Fluid/Gas:");
    2544            0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2545            0 :                     print(state.files.debug, ",{:.2R}", refrig->RhofgValues(Loop));
    2546              :                 }
    2547            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->RhofgValues(refrig->NumRhoPoints));
    2548              :             }
    2549              : 
    2550            0 :             if (refrig->NumSupTempPoints > 0 && refrig->NumSupPressPoints > 0) {
    2551            0 :                 print(state.files.debug,
    2552              :                       "Superheated Gas Fluid Data points:,NumTemperaturePoints=,{},NumPressurePoints=,{}\n",
    2553            0 :                       refrig->NumSupTempPoints,
    2554            0 :                       refrig->NumSupPressPoints);
    2555            0 :                 print(state.files.debug, "Superheated Temperatures:");
    2556            0 :                 for (int Loop = 1; Loop <= refrig->NumSupTempPoints - 1; ++Loop) {
    2557            0 :                     print(state.files.debug, ",{:.3R}", refrig->SupTemps(Loop));
    2558              :                 }
    2559            0 :                 print(state.files.debug, ",{:.3R}\n", refrig->SupTemps(refrig->NumSupTempPoints));
    2560            0 :                 print(state.files.debug, "Superheated Pressures:");
    2561            0 :                 for (int Loop = 1; Loop <= refrig->NumSupPressPoints - 1; ++Loop) {
    2562            0 :                     print(state.files.debug, ",{:.3R}", refrig->SupPress(Loop));
    2563              :                 }
    2564            0 :                 print(state.files.debug, ",{:.3R}\n", refrig->SupPress(refrig->NumSupPressPoints));
    2565            0 :                 for (int Loop = 1; Loop <= refrig->NumSupPressPoints; ++Loop) {
    2566            0 :                     print(state.files.debug, "Superheated Pressure:#{}={:.2R}\n", Loop, refrig->SupPress(Loop));
    2567            0 :                     print(state.files.debug, "Enthalpy Superheated Gas:");
    2568            0 :                     for (int Loop1 = 1; Loop1 <= refrig->NumSupTempPoints - 1; ++Loop1) {
    2569            0 :                         print(state.files.debug, ",{:.3R}", refrig->HshValues(Loop, Loop1));
    2570              :                     }
    2571            0 :                     print(state.files.debug, ",{:.3R}\n", refrig->HshValues(Loop, refrig->NumSupTempPoints));
    2572              :                 }
    2573            0 :                 for (int Loop = 1; Loop <= refrig->NumSupPressPoints; ++Loop) {
    2574            0 :                     print(state.files.debug, "Superheated Pressure:#{}={:.2R}\n", Loop, refrig->SupPress(Loop));
    2575            0 :                     print(state.files.debug, "Density Superheated Gas:");
    2576            0 :                     for (int Loop1 = 1; Loop1 <= refrig->NumSupTempPoints - 1; ++Loop1) {
    2577            0 :                         print(state.files.debug, ",{:.3R}", refrig->RhoshValues(Loop, Loop1));
    2578              :                     }
    2579            0 :                     print(state.files.debug, ",{:.3R}\n", refrig->RhoshValues(Loop, refrig->NumSupTempPoints));
    2580              :                 }
    2581            0 :                 for (int Loop = 1; Loop <= refrig->NumSupTempPoints; ++Loop) {
    2582            0 :                     print(state.files.debug, "Superheated Temperature:#{}={:.2R}\n", Loop, refrig->SupTemps(Loop));
    2583            0 :                     print(state.files.debug, "Enthalpy Superheated Gas:");
    2584            0 :                     for (int Loop1 = 1; Loop1 <= refrig->NumSupPressPoints - 1; ++Loop1) {
    2585            0 :                         print(state.files.debug, ",{:.3R}", refrig->HshValues(Loop1, Loop));
    2586              :                     }
    2587            0 :                     print(state.files.debug, ",{:.3R}\n", refrig->HshValues(refrig->NumSupPressPoints, Loop));
    2588              :                 }
    2589            0 :                 for (int Loop = 1; Loop <= refrig->NumSupTempPoints; ++Loop) {
    2590            0 :                     print(state.files.debug, "Superheated Temperature:#{}={:.2R}\n", Loop, refrig->SupTemps(Loop));
    2591            0 :                     print(state.files.debug, "Density Superheated Gas:");
    2592            0 :                     for (int Loop1 = 1; Loop1 <= refrig->NumSupPressPoints - 1; ++Loop1) {
    2593            0 :                         print(state.files.debug, ",{:.3R}", refrig->RhoshValues(Loop1, Loop));
    2594              :                     }
    2595            0 :                     print(state.files.debug, ",{:.3R}\n", refrig->RhoshValues(refrig->NumSupPressPoints, Loop));
    2596              :                 }
    2597              :             }
    2598              : 
    2599              :             // ============================================
    2600              :             // Refrigeration Results, using out of bounds to out of bounds values in calling
    2601              :             // ============================================
    2602              : 
    2603              :             // ========= Pressure from Temperatures
    2604            0 :             print(state.files.debug, "Refrigerant={} **** Results ****\n", refrig->Name);
    2605            0 :             if (refrig->NumPsPoints > 0) {
    2606            0 :                 print(state.files.debug, "Pressure Results at Temperatures:");
    2607            0 :                 print(state.files.debug, ",{:.2R}", refrig->PsTemps(1) - incr);
    2608            0 :                 for (int Loop = 1; Loop <= refrig->NumPsPoints - 1; ++Loop) {
    2609            0 :                     print(state.files.debug, ",{:.2R}", refrig->PsTemps(Loop));
    2610            0 :                     Temperature = refrig->PsTemps(Loop) + (refrig->PsTemps(Loop + 1) - refrig->PsTemps(Loop)) / 2.0;
    2611            0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2612              :                 }
    2613            0 :                 print(state.files.debug, ",{:.2R}", refrig->PsTemps(refrig->NumPsPoints));
    2614            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->PsTemps(refrig->NumPsPoints) + incr);
    2615            0 :                 print(state.files.debug, "Saturated Pressures:");
    2616            0 :                 Temperature = refrig->PsTemps(1) - incr;
    2617            0 :                 ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2618            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2619            0 :                 for (int Loop = 1; Loop <= refrig->NumPsPoints - 1; ++Loop) {
    2620            0 :                     Temperature = refrig->PsTemps(Loop);
    2621            0 :                     ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2622            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2623            0 :                     Temperature = refrig->PsTemps(Loop) + (refrig->PsTemps(Loop + 1) - refrig->PsTemps(Loop)) / 2.0;
    2624            0 :                     ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2625            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2626              :                 }
    2627            0 :                 Temperature = refrig->PsTemps(refrig->NumPsPoints);
    2628            0 :                 ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2629            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2630            0 :                 Temperature = refrig->PsTemps(refrig->NumPsPoints) + incr;
    2631            0 :                 ReturnValue = refrig->getSatPressure(state, Temperature, routineName);
    2632            0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2633              :             }
    2634              : 
    2635              :             // ========= Enthalpy from Temperatures
    2636            0 :             if (refrig->NumHPoints > 0) {
    2637            0 :                 print(state.files.debug, "Enthalpy Results at Temperatures:");
    2638            0 :                 print(state.files.debug, ",{:.2R}", refrig->HTemps(1) - incr);
    2639            0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2640            0 :                     print(state.files.debug, ",{:.2R}", refrig->HTemps(Loop));
    2641            0 :                     Temperature = refrig->HTemps(Loop) + (refrig->HTemps(Loop + 1) - refrig->HTemps(Loop)) / 2.0;
    2642            0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2643              :                 }
    2644            0 :                 print(state.files.debug, ",{:.2R}", refrig->HTemps(refrig->NumHPoints));
    2645            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->HTemps(refrig->NumHPoints) + incr);
    2646            0 :                 print(state.files.debug, "Saturated Enthalpy:");
    2647            0 :                 Temperature = refrig->HTemps(1) - incr;
    2648            0 :                 ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2649            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2650            0 :                 for (int Loop = 1; Loop <= refrig->NumHPoints - 1; ++Loop) {
    2651            0 :                     Temperature = refrig->HTemps(Loop);
    2652            0 :                     ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2653            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2654            0 :                     Temperature = refrig->HTemps(Loop) + (refrig->HTemps(Loop + 1) - refrig->HTemps(Loop)) / 2.0;
    2655            0 :                     ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2656            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2657              :                 }
    2658            0 :                 Temperature = refrig->HTemps(refrig->NumHPoints);
    2659            0 :                 ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2660            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2661            0 :                 Temperature = refrig->HTemps(refrig->NumHPoints) + incr;
    2662            0 :                 ReturnValue = refrig->getSatEnthalpy(state, Temperature, Quality, routineName);
    2663            0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2664              :             }
    2665              : 
    2666              :             // ========= Specific Heat from Temperatures
    2667            0 :             if (refrig->NumCpPoints > 0) {
    2668            0 :                 print(state.files.debug, "Specific Heat Results at Temperatures:");
    2669            0 :                 print(state.files.debug, ",{:.2R}", refrig->CpTemps(1) - incr);
    2670            0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2671            0 :                     print(state.files.debug, ",{:.2R}", refrig->CpTemps(Loop));
    2672            0 :                     Temperature = refrig->CpTemps(Loop) + (refrig->CpTemps(Loop + 1) - refrig->CpTemps(Loop)) / 2.0;
    2673            0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2674              :                 }
    2675            0 :                 print(state.files.debug, ",{:.2R}", refrig->CpTemps(refrig->NumCpPoints));
    2676            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->CpTemps(refrig->NumCpPoints) + incr);
    2677            0 :                 print(state.files.debug, "Saturated Specific Heat:");
    2678            0 :                 Temperature = refrig->CpTemps(1) - incr;
    2679            0 :                 ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2680            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2681            0 :                 for (int Loop = 1; Loop <= refrig->NumCpPoints - 1; ++Loop) {
    2682            0 :                     Temperature = refrig->CpTemps(Loop);
    2683            0 :                     ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2684            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2685            0 :                     Temperature = refrig->CpTemps(Loop) + (refrig->CpTemps(Loop + 1) - refrig->CpTemps(Loop)) / 2.0;
    2686            0 :                     ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2687            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2688              :                 }
    2689            0 :                 Temperature = refrig->CpTemps(refrig->NumCpPoints);
    2690            0 :                 ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2691            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2692            0 :                 Temperature = refrig->CpTemps(refrig->NumCpPoints) + incr;
    2693            0 :                 ReturnValue = refrig->getSatSpecificHeat(state, Temperature, Quality, routineName);
    2694            0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2695              :             }
    2696              : 
    2697              :             // ========= Density from Temperatures
    2698            0 :             if (refrig->NumRhoPoints > 0) {
    2699            0 :                 print(state.files.debug, "Density Results at Temperatures:");
    2700            0 :                 print(state.files.debug, ",{:.2R}", refrig->RhoTemps(1) - incr);
    2701            0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2702            0 :                     print(state.files.debug, ",{:.2R}", refrig->RhoTemps(Loop));
    2703            0 :                     Temperature = refrig->RhoTemps(Loop) + (refrig->RhoTemps(Loop + 1) - refrig->RhoTemps(Loop)) / 2.0;
    2704            0 :                     print(state.files.debug, ",{:.2R}", Temperature);
    2705              :                 }
    2706            0 :                 print(state.files.debug, ",{:.2R}", refrig->RhoTemps(refrig->NumRhoPoints));
    2707            0 :                 print(state.files.debug, ",{:.2R}\n", refrig->RhoTemps(refrig->NumRhoPoints) + incr);
    2708            0 :                 print(state.files.debug, "Saturated Density:");
    2709            0 :                 Temperature = refrig->RhoTemps(1) - incr;
    2710            0 :                 ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2711            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2712            0 :                 for (int Loop = 1; Loop <= refrig->NumRhoPoints - 1; ++Loop) {
    2713            0 :                     Temperature = refrig->RhoTemps(Loop);
    2714            0 :                     ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2715            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2716            0 :                     Temperature = refrig->RhoTemps(Loop) + (refrig->RhoTemps(Loop + 1) - refrig->RhoTemps(Loop)) / 2.0;
    2717            0 :                     ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2718            0 :                     print(state.files.debug, ",{:.2R}", ReturnValue);
    2719              :                 }
    2720            0 :                 Temperature = refrig->RhoTemps(refrig->NumRhoPoints);
    2721            0 :                 ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2722            0 :                 print(state.files.debug, ",{:.2R}", ReturnValue);
    2723            0 :                 Temperature = refrig->RhoTemps(refrig->NumRhoPoints) + incr;
    2724            0 :                 ReturnValue = refrig->getSatDensity(state, Temperature, Quality, routineName);
    2725            0 :                 print(state.files.debug, ",{:.2R}\n", ReturnValue);
    2726              :             }
    2727              :         }
    2728            0 :     }
    2729              : 
    2730              :     //*****************************************************************************
    2731              : 
    2732        38246 :     Real64 RefrigProps::getSatPressure(EnergyPlusData &state,
    2733              :                                        Real64 const Temperature,         // actual temperature given as input
    2734              :                                        std::string_view const CalledFrom // routine this function was called from (error messages)
    2735              :     )
    2736              :     {
    2737              : 
    2738              :         // SUBROUTINE INFORMATION:
    2739              :         //       AUTHOR         Simon Rees
    2740              :         //       DATE WRITTEN   24 May 2002
    2741              : 
    2742              :         // PURPOSE OF THIS FUNCTION:
    2743              :         // This finds the saturation pressure for given temperature.
    2744              : 
    2745              :         // METHODOLOGY EMPLOYED:
    2746              :         // Calls FindArrayIndex to find indices either side of requested temperature
    2747              :         // and linearly interpolates the corresponding saturation pressure values.
    2748              : 
    2749              :         // FUNCTION PARAMETER DEFINITIONS:
    2750              :         static constexpr std::string_view routineName = "RefrigProps::getSatPressure";
    2751              : 
    2752        38246 :         Real64 ReturnValue = 0;
    2753        38246 :         bool ErrorFlag = false; // error flag for current call
    2754              : 
    2755        38246 :         int LoTempIndex = FindArrayIndex(Temperature, this->PsTemps, this->PsLowTempIndex, this->PsHighTempIndex);
    2756              : 
    2757              :         // check for out of data bounds problems
    2758        38246 :         if (LoTempIndex == 0) {
    2759            2 :             ReturnValue = this->PsValues(this->PsLowTempIndex);
    2760            2 :             ErrorFlag = true;
    2761        38244 :         } else if (LoTempIndex + 1 > this->PsHighTempIndex) {
    2762           14 :             ReturnValue = this->PsValues(this->PsHighTempIndex);
    2763           14 :             ErrorFlag = true;
    2764              :         } else {
    2765              :             // find interpolation ratio w.r.t temperature
    2766        38230 :             Real64 TempInterpRatio = (Temperature - this->PsTemps(LoTempIndex)) / (this->PsTemps(LoTempIndex + 1) - this->PsTemps(LoTempIndex));
    2767              : 
    2768              :             // apply final linear interpolation
    2769        38230 :             ReturnValue = this->PsValues(LoTempIndex) + TempInterpRatio * (this->PsValues(LoTempIndex + 1) - this->PsValues(LoTempIndex));
    2770              :         }
    2771              : 
    2772        38246 :         if (!state.dataGlobal->WarmupFlag && ErrorFlag) {
    2773           16 :             ++this->errors[(int)RefrigError::SatTemp].count;
    2774           16 :             auto const &df = state.dataFluid;
    2775              : 
    2776              :             // send warning
    2777           16 :             if (this->errors[(int)RefrigError::SatTemp].count <= df->RefrigErrorLimitTest) {
    2778            6 :                 ShowSevereMessage(
    2779            6 :                     state, format("{}: Saturation temperature is out of range for refrigerant [{}] supplied data: **", routineName, this->Name));
    2780            6 :                 ShowContinueError(state,
    2781            6 :                                   format("...Called From:{}, supplied data range=[{:.2R},{:.2R}]",
    2782              :                                          CalledFrom,
    2783              :                                          this->PsTemps(this->PsLowTempIndex),
    2784              :                                          this->PsTemps(this->PsHighTempIndex)));
    2785            6 :                 ShowContinueError(
    2786            6 :                     state, format("...Supplied Refrigerant Temperature={:.2R} Returned saturated pressure value = {:.0R}", Temperature, ReturnValue));
    2787            9 :                 ShowContinueErrorTimeStamp(state, "");
    2788              :             }
    2789           48 :             ShowRecurringSevereErrorAtEnd(
    2790              :                 state,
    2791           32 :                 format("{}: Saturation temperature is out of range for refrigerant [{}] supplied data: **", routineName, this->Name),
    2792           16 :                 this->errors[(int)RefrigError::SatTemp].index,
    2793              :                 Temperature,
    2794              :                 "{C}");
    2795              :         }
    2796              : 
    2797        38246 :         return ReturnValue;
    2798              :     }
    2799              : #ifdef GET_OUT
    2800              :     Real64 GetSatPressureRefrig(EnergyPlusData &state,
    2801              :                                 std::string_view const refrigName, // carries in substance name
    2802              :                                 Real64 const Temperature,          // actual temperature given as input
    2803              :                                 int &RefrigIndex,                  // Index to Refrigerant Properties
    2804              :                                 std::string_view const CalledFrom  // routine this function was called from (error messages)
    2805              :     )
    2806              :     {
    2807              :         // Wrapper for RefrigProps::getSatPressure()
    2808              :         auto &df = state.dataFluid;
    2809              : 
    2810              :         if (RefrigIndex == 0) {
    2811              :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    2812              :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    2813              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    2814              :                 return 0.0;
    2815              :             }
    2816              :         }
    2817              : 
    2818              :         return df->refrigs(RefrigIndex)->getSatPressure(state, Temperature, CalledFrom);
    2819              :     }
    2820              : #endif // GET_OUT
    2821              : 
    2822              :     //*****************************************************************************
    2823              : 
    2824        87216 :     Real64 RefrigProps::getSatTemperature(EnergyPlusData &state,
    2825              :                                           Real64 const Pressure,            // actual temperature given as input
    2826              :                                           std::string_view const CalledFrom // routine this function was called from (error messages)
    2827              :     )
    2828              :     {
    2829              : 
    2830              :         // SUBROUTINE INFORMATION:
    2831              :         //       AUTHOR         Simon Rees
    2832              :         //       DATE WRITTEN   24 May 2002
    2833              : 
    2834              :         // PURPOSE OF THIS FUNCTION:
    2835              :         // This finds the saturation temperature for given pressure.
    2836              : 
    2837              :         // METHODOLOGY EMPLOYED:
    2838              :         // Calls FindArrayIndex to find indices either side of requested pressure
    2839              :         // and linearly interpolates the corresponding saturation temperature values.
    2840              : 
    2841              :         // Return value
    2842        87216 :         Real64 ReturnValue = 0.0;
    2843              : 
    2844              :         // FUNCTION PARAMETER DEFINITIONS:
    2845              :         static constexpr std::string_view routineName = "RefrigProps::getSatTemperature";
    2846              : 
    2847              :         // FUNCTION LOCAL VARIABLE DECLARATIONS:
    2848        87216 :         bool ErrorFlag = false; // error flag for current call
    2849              : 
    2850              :         // get the array indices
    2851        87216 :         int LoPresIndex = FindArrayIndex(Pressure, this->PsValues, this->PsLowPresIndex, this->PsHighPresIndex);
    2852              : 
    2853              :         // check for out of data bounds problems
    2854        87216 :         if (LoPresIndex == 0) {
    2855            0 :             ReturnValue = this->PsTemps(this->PsLowPresIndex);
    2856            0 :             ErrorFlag = true;
    2857        87216 :         } else if (LoPresIndex + 1 > this->PsHighPresIndex) {
    2858            0 :             ReturnValue = this->PsTemps(this->PsHighPresIndex);
    2859            0 :             ErrorFlag = true;
    2860              :         } else {
    2861              :             // find interpolation ratio w.r.t temperature
    2862        87216 :             Real64 PresInterpRatio = (Pressure - this->PsValues(LoPresIndex)) / (this->PsValues(LoPresIndex + 1) - this->PsValues(LoPresIndex));
    2863              : 
    2864              :             // apply final linear interpolation
    2865        87216 :             ReturnValue = this->PsTemps(LoPresIndex) + PresInterpRatio * (this->PsTemps(LoPresIndex + 1) - this->PsTemps(LoPresIndex));
    2866              :         }
    2867              : 
    2868        87216 :         if (!state.dataGlobal->WarmupFlag && ErrorFlag) {
    2869            0 :             ++this->errors[(int)RefrigError::SatPress].count;
    2870            0 :             auto const &df = state.dataFluid;
    2871              : 
    2872              :             // send warning
    2873            0 :             if (this->errors[(int)RefrigError::SatPress].count <= df->RefrigErrorLimitTest) {
    2874            0 :                 ShowSevereMessage(state,
    2875            0 :                                   format("{}: Saturation pressure is out of range for refrigerant [{}] supplied data: **", routineName, this->Name));
    2876            0 :                 ShowContinueError(state,
    2877            0 :                                   format("...Called From:{}, supplied data range=[{:.0R},{:.0R}]",
    2878              :                                          CalledFrom,
    2879              :                                          this->PsValues(this->PsLowPresIndex),
    2880              :                                          this->PsValues(this->PsHighPresIndex)));
    2881            0 :                 ShowContinueError(
    2882            0 :                     state, format("...Supplied Refrigerant Pressure={:.0R} Returned saturated temperature value ={:.2R}", Pressure, ReturnValue));
    2883            0 :                 ShowContinueErrorTimeStamp(state, "");
    2884              :             }
    2885            0 :             ShowRecurringSevereErrorAtEnd(
    2886              :                 state,
    2887            0 :                 format("{}: Saturation pressure is out of range for refrigerant [{}] supplied data: **", routineName, this->Name),
    2888            0 :                 this->errors[(int)RefrigError::SatPress].index,
    2889              :                 Pressure,
    2890              :                 "{Pa}");
    2891              :         }
    2892        87216 :         return ReturnValue;
    2893              :     }
    2894              : #ifdef GET_OUT
    2895              :     Real64 GetSatTemperatureRefrig(EnergyPlusData &state,
    2896              :                                    std::string_view const refrigName, // carries in substance name
    2897              :                                    Real64 const Pressure,             // actual temperature given as input
    2898              :                                    int &RefrigIndex,                  // Index to Refrigerant Properties
    2899              :                                    std::string_view const CalledFrom  // routine this function was called from (error messages)
    2900              :     )
    2901              :     {
    2902              :         // Wrapper for RefrigProps::getSatTemperature()
    2903              :         auto &df = state.dataFluid;
    2904              : 
    2905              :         if (RefrigIndex == 0) {
    2906              :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    2907              :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    2908              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    2909              :                 return 0.0;
    2910              :             }
    2911              :         }
    2912              : 
    2913              :         return df->refrigs(RefrigIndex)->getSatTemperature(state, Pressure, CalledFrom);
    2914              :     }
    2915              : #endif // GET_OUT
    2916              : 
    2917              :     //*****************************************************************************
    2918              : 
    2919        38480 :     Real64 RefrigProps::getSatEnthalpy(EnergyPlusData &state,
    2920              :                                        Real64 const Temperature,         // actual temperature given as input
    2921              :                                        Real64 const Quality,             // actual quality given as input
    2922              :                                        std::string_view const CalledFrom // routine this function was called from (error messages)
    2923              :     )
    2924              :     {
    2925              : 
    2926              :         // SUBROUTINE INFORMATION:
    2927              :         //       AUTHOR         Mike Turner
    2928              :         //       DATE WRITTEN   10 December 99
    2929              :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    2930              :         //                      Simon Rees (May 2002)
    2931              : 
    2932              :         // PURPOSE OF THIS FUNCTION:
    2933              :         // This finds enthalpy for given temperature and a quality under the vapor dome.
    2934              :         // This fucntion is only called with a valid refrigerant and quality between 0 and 1.
    2935              : 
    2936              :         // METHODOLOGY EMPLOYED:
    2937              :         // Calls GetInterpolatedSatProp to linearly interpolate between the saturated
    2938              :         // liquid  and vapour enthalpies according to the given quality.
    2939              : 
    2940              :         // Apply linear interpolation function
    2941        76960 :         return GetInterpolatedSatProp(
    2942        38480 :             state, Temperature, this->HTemps, this->HfValues, this->HfgValues, Quality, CalledFrom, this->HfLowTempIndex, this->HfHighTempIndex);
    2943              :     }
    2944              : 
    2945              : #ifdef GET_OUT
    2946              :     Real64 GetSatEnthalpyRefrig(EnergyPlusData &state,
    2947              :                                 std::string_view const refrigName, // carries in substance name
    2948              :                                 Real64 const Temperature,          // actual temperature given as input
    2949              :                                 Real64 const Quality,              // actual quality given as input
    2950              :                                 int &RefrigIndex,                  // Index to Refrigerant Properties
    2951              :                                 std::string_view const CalledFrom  // routine this function was called from (error messages)
    2952              :     )
    2953              :     {
    2954              :         // Wrapper for RefrigProps::getSatEnthalpy()
    2955              :         auto &df = state.dataFluid;
    2956              : 
    2957              :         if (RefrigIndex == 0) {
    2958              :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    2959              :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    2960              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    2961              :                 return 0.0;
    2962              :             }
    2963              :         }
    2964              :         return df->refrigs(RefrigIndex)->getSatEnthalpy(state, Temperature, Quality, CalledFrom);
    2965              :     }
    2966              : #endif // GET_OUT
    2967              : 
    2968              :     //*****************************************************************************
    2969              : 
    2970          110 :     Real64 RefrigProps::getSatDensity(EnergyPlusData &state,
    2971              :                                       Real64 const Temperature,         // actual temperature given as input
    2972              :                                       Real64 const Quality,             // actual quality given as input
    2973              :                                       std::string_view const CalledFrom // routine this function was called from (error messages)
    2974              :     )
    2975              :     {
    2976              : 
    2977              :         // SUBROUTINE INFORMATION:
    2978              :         //       AUTHOR         Mike Turner
    2979              :         //       DATE WRITTEN   10 December 99
    2980              :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    2981              :         //                      Simon Rees (May 2002); Kenneth Tang (Jan 2004)
    2982              : 
    2983              :         // PURPOSE OF THIS SUBROUTINE:
    2984              :         // This finds density for given temperature and a quality under the vapor dome.
    2985              :         // This function is only called with a valid refrigerant and quality between 0 and 1.
    2986              : 
    2987              :         // METHODOLOGY EMPLOYED:
    2988              :         // Calls GetInterpolatedSatProp to linearly interpolate between the saturated
    2989              :         // liquid  and vapour densities according to the given quality.
    2990              : 
    2991              :         // Return value
    2992              :         Real64 ReturnValue;
    2993              : 
    2994              :         // FUNCTION PARAMETER DEFINITIONS:
    2995              :         static constexpr std::string_view routineName = "RefrigProps::getSatDensity";
    2996              : 
    2997          110 :         if ((Quality < 0.0) || (Quality > 1.0)) {
    2998            0 :             ShowSevereError(state, fmt::format("{}Refrigerant \"{}\", invalid quality, called from {}", routineName, this->Name, CalledFrom));
    2999            0 :             ShowContinueError(state, format("Saturated density quality must be between 0 and 1, entered value=[{:.4R}].", Quality));
    3000            0 :             ShowFatalError(state, "Program terminates due to preceding condition.");
    3001              :         }
    3002              : 
    3003          110 :         bool ErrorFlag = false;
    3004          110 :         int LoTempIndex = FindArrayIndex(Temperature, this->RhoTemps, this->RhofLowTempIndex, this->RhofHighTempIndex);
    3005          110 :         int HiTempIndex = LoTempIndex + 1;
    3006              : 
    3007              :         // Error check to make sure the temperature is not out of bounds
    3008          110 :         if (LoTempIndex == 0) {
    3009              :             // Give the lowest density value if the temperature is below than the minimum
    3010              :             // temperature in the refrigerant table
    3011            0 :             ReturnValue = 1.0 / this->RhofValues(this->RhofLowTempIndex) +
    3012            0 :                           Quality * (1.0 / this->RhofgValues(this->RhofLowTempIndex) - 1.0 / this->RhofValues(this->RhofLowTempIndex));
    3013            0 :             ReturnValue = 1.0 / ReturnValue;
    3014            0 :             ErrorFlag = true;
    3015          110 :         } else if (HiTempIndex > this->RhofHighTempIndex) {
    3016              :             // Give the highest density value if the temperature is higher than the maximum
    3017              :             // temperature in the refrigerant table
    3018            0 :             ReturnValue = 1.0 / this->RhofValues(this->RhofHighTempIndex) +
    3019            0 :                           Quality * (1.0 / this->RhofgValues(this->RhofHighTempIndex) - 1.0 / this->RhofValues(this->RhofHighTempIndex));
    3020            0 :             ReturnValue = 1.0 / ReturnValue;
    3021            0 :             ErrorFlag = true;
    3022              :         } else { // Okay
    3023              : 
    3024              :             // Calculate the specific volume for the lower temperature index based on linear
    3025              :             // interpolation of the quality
    3026              :             Real64 LoSatProp =
    3027          110 :                 1.0 / this->RhofValues(LoTempIndex) + Quality * (1.0 / this->RhofgValues(LoTempIndex) - 1.0 / this->RhofValues(LoTempIndex));
    3028              : 
    3029              :             // Calculate the specific volume for the higher temperature index based on linear
    3030              :             // interpolation of the quality
    3031              :             Real64 HiSatProp =
    3032          110 :                 1.0 / this->RhofValues(HiTempIndex) + Quality * (1.0 / this->RhofgValues(HiTempIndex) - 1.0 / this->RhofValues(HiTempIndex));
    3033              : 
    3034              :             // Find interpolation ratio in temperature direction
    3035          110 :             Real64 TempInterpRatio = (Temperature - this->RhoTemps(LoTempIndex)) / (this->RhoTemps(HiTempIndex) - this->RhoTemps(LoTempIndex));
    3036              : 
    3037              :             // Apply final linear interpolation to find the specific volume
    3038          110 :             ReturnValue = LoSatProp + TempInterpRatio * (HiSatProp - LoSatProp);
    3039              :             // Convert the specific volume to density
    3040          110 :             ReturnValue = 1.0 / ReturnValue;
    3041              :         }
    3042              : 
    3043          110 :         if (!state.dataGlobal->WarmupFlag && ErrorFlag) {
    3044            0 :             ++this->errors[(int)RefrigError::SatTempDensity].count;
    3045            0 :             auto const &df = state.dataFluid;
    3046              : 
    3047              :             // send warning
    3048            0 :             if (this->errors[(int)RefrigError::SatTempDensity].count <= df->RefrigErrorLimitTest) {
    3049            0 :                 ShowSevereMessage(
    3050            0 :                     state, format("{}: Saturation temperature is out of range for refrigerant [{}] supplied data: **", routineName, this->Name));
    3051            0 :                 ShowContinueError(state,
    3052            0 :                                   format("...Called From:{}, supplied data range=[{:.2R},{:.2R}]",
    3053              :                                          CalledFrom,
    3054              :                                          this->RhoTemps(this->RhofLowTempIndex),
    3055              :                                          this->RhoTemps(this->RhofHighTempIndex)));
    3056            0 :                 ShowContinueError(
    3057            0 :                     state, format("...Supplied Refrigerant Temperature={:.2R} Returned saturated density value ={:.2R}", Temperature, ReturnValue));
    3058            0 :                 ShowContinueErrorTimeStamp(state, "");
    3059              :             }
    3060            0 :             ShowRecurringSevereErrorAtEnd(
    3061              :                 state,
    3062            0 :                 format("{}: Saturation temperature is out of range for refrigerant [{}] supplied data: **", routineName, this->Name),
    3063            0 :                 this->errors[(int)RefrigError::SatTempDensity].index,
    3064              :                 Temperature,
    3065              :                 "{C}");
    3066              :         }
    3067          110 :         return ReturnValue;
    3068              :     }
    3069              : #ifdef GET_OUT
    3070              :     Real64 GetSatDensityRefrig(EnergyPlusData &state,
    3071              :                                std::string_view const refrigName, // carries in substance name
    3072              :                                Real64 const Temperature,          // actual temperature given as input
    3073              :                                Real64 const Quality,              // actual quality given as input
    3074              :                                int &RefrigIndex,                  // Index to Refrigerant Properties
    3075              :                                std::string_view const CalledFrom  // routine this function was called from (error messages)
    3076              :     )
    3077              :     {
    3078              :         // Wrapper for RefrigProps::getSatDensity()
    3079              :         auto &df = state.dataFluid;
    3080              : 
    3081              :         if (RefrigIndex == 0) {
    3082              :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3083              :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3084              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3085              :                 return 0.0;
    3086              :             }
    3087              :         }
    3088              : 
    3089              :         return df->refrigs(RefrigIndex)->getSatDensity(state, Temperature, Quality, CalledFrom);
    3090              :     }
    3091              : #endif // GET_OUT
    3092              :     //*****************************************************************************
    3093              : 
    3094           16 :     Real64 RefrigProps::getSatSpecificHeat(EnergyPlusData &state,
    3095              :                                            Real64 const Temperature,         // actual temperature given as input
    3096              :                                            Real64 const Quality,             // actual quality given as input
    3097              :                                            std::string_view const CalledFrom // routine this function was called from (error messages)
    3098              :     )
    3099              :     {
    3100              : 
    3101              :         // SUBROUTINE INFORMATION:
    3102              :         //       AUTHOR         Mike Turner
    3103              :         //       DATE WRITTEN   10 December 99
    3104              :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    3105              :         //                      Simon Rees (May 2002)
    3106              : 
    3107              :         // PURPOSE OF THIS SUBROUTINE:
    3108              :         // This finds specific heat for given temperature and a quality under the vapor dome.
    3109              :         // This fucntion is only called with a valid refrigerant and quality between 0 and 1.
    3110              : 
    3111              :         // METHODOLOGY EMPLOYED:
    3112              :         // Calls GetInterpolatedSatProp to linearly interpolate between the saturated
    3113              :         // liquid  and vapour specific heats according to the given quality.
    3114              : 
    3115              :         // FUNCTION PARAMETER DEFINITIONS:
    3116              :         static constexpr std::string_view routineName = "RefrigProps::getSatSpecificHeat";
    3117              : 
    3118           16 :         if ((Quality < 0.0) || (Quality > 1.0)) {
    3119            0 :             ShowSevereError(state, fmt::format("{}: Refrigerant \"{}\", invalid quality, called from {}", routineName, this->Name, CalledFrom));
    3120            0 :             ShowContinueError(state, format("Saturated density quality must be between 0 and 1, entered value=[{:.4R}].", Quality));
    3121            0 :             ShowFatalError(state, "Program terminates due to preceding condition.");
    3122              :         }
    3123              : 
    3124              :         // Apply linear interpolation function
    3125           32 :         return GetInterpolatedSatProp(
    3126           16 :             state, Temperature, this->CpTemps, this->CpfValues, this->CpfgValues, Quality, CalledFrom, this->CpfLowTempIndex, this->CpfHighTempIndex);
    3127              :     }
    3128              : #ifdef GET_OUT
    3129              :     Real64 GetSatSpecificHeatRefrig(EnergyPlusData &state,
    3130              :                                     std::string_view const refrigName, // carries in substance name
    3131              :                                     Real64 const Temperature,          // actual temperature given as input
    3132              :                                     Real64 const Quality,              // actual quality given as input
    3133              :                                     int &RefrigIndex,                  // Index to Refrigerant Properties
    3134              :                                     std::string_view const CalledFrom  // routine this function was called from (error messages)
    3135              :     )
    3136              :     {
    3137              : 
    3138              :         // Wrapper for RefrigProps::getSpecificHeat()
    3139              :         auto &df = state.dataFluid;
    3140              : 
    3141              :         if (RefrigIndex == 0) {
    3142              :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3143              :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3144              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3145              :                 return 0.0;
    3146              :             }
    3147              :         }
    3148              : 
    3149              :         return df->refrigs(RefrigIndex)->getSatSpecificHeat(state, Temperature, Quality, CalledFrom);
    3150              :     }
    3151              : #endif // GET_OUT
    3152              :     //*****************************************************************************
    3153              : 
    3154        75889 :     Real64 RefrigProps::getSupHeatEnthalpy(EnergyPlusData &state,
    3155              :                                            Real64 const Temperature,         // actual temperature given as input
    3156              :                                            Real64 const Pressure,            // actual pressure given as input
    3157              :                                            std::string_view const CalledFrom // routine this function was called from (error messages)
    3158              :     )
    3159              :     {
    3160              : 
    3161              :         // SUBROUTINE INFORMATION:
    3162              :         //       AUTHOR         Mike Turner
    3163              :         //       DATE WRITTEN   10 December 99
    3164              :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    3165              :         //       MODIFIED       Simon Rees (May 2002)
    3166              : 
    3167              :         // PURPOSE OF THIS SUBROUTINE:
    3168              :         // Performs linear interpolation between pressures and temperatures and
    3169              :         // returns enthalpy values.  Works only in superheated region.
    3170              : 
    3171              :         // METHODOLOGY EMPLOYED:
    3172              :         // Double linear interpolation is used with enthalpy values at four
    3173              :         // pressure/temperature input points surrounding the given temperature
    3174              :         // and pressure argument values.
    3175              :         // With enthalpy data it is assumed that zero values in the data are in
    3176              :         // the saturated region. Hence, values near the saturation line are
    3177              :         // approximated using the saturation value instead of the zero data value.
    3178              :         // points completely in the saturation region are given the saturation value
    3179              :         // at the given temperature. Points at the upper limits of pressure/temperature
    3180              :         // have the pressure/temperature capped. Warnings are given if the point
    3181              :         // is not clearly in the bounds of the superheated data.
    3182              : 
    3183              :         // Return value
    3184              :         Real64 ReturnValue;
    3185              : 
    3186              :         // FUNCTION PARAMETER DEFINITIONS:
    3187              :         static constexpr std::string_view routineName = "RefrigProps::getSupHeatEnthalpy";
    3188              : 
    3189        75889 :         auto &df = state.dataFluid;
    3190              : 
    3191              :         Real64 TempInterpRatio;
    3192              :         Real64 PressInterpRatio;
    3193              : 
    3194              :         int HiTempIndex;  // high temperature index value
    3195              :         int HiPressIndex; // high pressure index value
    3196              : 
    3197              :         // error counters and dummy string
    3198        75889 :         int ErrCount = 0;
    3199        75889 :         int CurTempRangeErrCount = 0;
    3200        75889 :         int CurPresRangeErrCount = 0;
    3201              : 
    3202              :         // low index value of Temperature from table
    3203        75889 :         int TempIndex = FindArrayIndex(Temperature, this->SupTemps, 1, this->NumSupTempPoints);
    3204              :         // low index value of Pressure from table
    3205        75889 :         int LoPressIndex = FindArrayIndex(Pressure, this->SupPress, 1, this->NumSupPressPoints);
    3206              : 
    3207              :         // check temperature data range and attempt to cap if necessary
    3208        75889 :         if ((TempIndex > 0) && (TempIndex < this->NumSupTempPoints)) { // in range
    3209        75889 :             HiTempIndex = TempIndex + 1;
    3210        75889 :             TempInterpRatio = (Temperature - this->SupTemps(TempIndex)) / (this->SupTemps(HiTempIndex) - this->SupTemps(TempIndex));
    3211            0 :         } else if (TempIndex < 1) {
    3212            0 :             ++CurTempRangeErrCount;
    3213            0 :             ++ErrCount;
    3214            0 :             TempIndex = 1;
    3215            0 :             HiTempIndex = TempIndex;
    3216            0 :             TempInterpRatio = 0.0;
    3217              :         } else { // out of range
    3218            0 :             ++CurTempRangeErrCount;
    3219            0 :             ++ErrCount;
    3220              :             // FindArrayIndex will return upper or lower bound so TempIndex gives upper/lower limit
    3221            0 :             HiTempIndex = TempIndex;
    3222            0 :             TempInterpRatio = 0.0;
    3223              :         }
    3224              : 
    3225              :         // check pressure data range and attempt to cap if necessary
    3226        75889 :         if ((LoPressIndex > 0) && (LoPressIndex < this->NumSupPressPoints)) { // in range
    3227        75889 :             HiPressIndex = LoPressIndex + 1;
    3228        75889 :             PressInterpRatio = (Pressure - this->SupPress(LoPressIndex)) / (this->SupPress(HiPressIndex) - this->SupPress(LoPressIndex));
    3229            0 :         } else if (LoPressIndex < 1) {
    3230            0 :             ++CurPresRangeErrCount;
    3231            0 :             ++ErrCount;
    3232              :             // FindArrayIndex will return upper or lower bound so TempIndex gives upper/lower limit
    3233            0 :             LoPressIndex = 1;
    3234            0 :             HiPressIndex = LoPressIndex;
    3235            0 :             PressInterpRatio = 0.0;
    3236              :         } else { // out of range
    3237            0 :             ++CurPresRangeErrCount;
    3238            0 :             ++ErrCount;
    3239            0 :             HiPressIndex = LoPressIndex;
    3240            0 :             PressInterpRatio = 0.0;
    3241              :         }
    3242              : 
    3243              :         // get interpolation point values
    3244        75889 :         Real64 LoTempLoEnthalpy = this->HshValues(LoPressIndex, TempIndex);
    3245        75889 :         Real64 LoTempHiEnthalpy = this->HshValues(HiPressIndex, TempIndex);
    3246        75889 :         Real64 HiTempLoEnthalpy = this->HshValues(LoPressIndex, HiTempIndex);
    3247        75889 :         Real64 HiTempHiEnthalpy = this->HshValues(HiPressIndex, HiTempIndex);
    3248              : 
    3249              :         // to give reasonable interpolation near saturation reset any point with zero value
    3250              :         // in table to saturation value
    3251        75889 :         if (LoTempLoEnthalpy <= 0.0) {
    3252            0 :             LoTempLoEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, routineName);
    3253              :         }
    3254        75889 :         if (LoTempHiEnthalpy <= 0.0) {
    3255           22 :             LoTempHiEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, routineName);
    3256              :         }
    3257        75889 :         if (HiTempLoEnthalpy <= 0.0) {
    3258            0 :             HiTempLoEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, routineName);
    3259              :         }
    3260        75889 :         if (HiTempHiEnthalpy <= 0.0) {
    3261            0 :             HiTempHiEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, routineName);
    3262              :         }
    3263              : 
    3264              :         // interpolate w.r.t. pressure
    3265        75889 :         Real64 EnthalpyLow = PressInterpRatio * LoTempHiEnthalpy + (1.0 - PressInterpRatio) * LoTempLoEnthalpy;
    3266              : 
    3267        75889 :         Real64 EnthalpyHigh = PressInterpRatio * HiTempHiEnthalpy + (1.0 - PressInterpRatio) * HiTempLoEnthalpy;
    3268              : 
    3269              :         // interpolate w.r.t. temperature
    3270        75889 :         ReturnValue = TempInterpRatio * EnthalpyHigh + (1.0 - TempInterpRatio) * EnthalpyLow;
    3271              : 
    3272              :         // Check to see if all data is at zero. In this case we are completely
    3273              :         // inside the saturation dome. Best thing we can do is return saturation value
    3274        75889 :         if ((this->HshValues(LoPressIndex, TempIndex) <= 0.0) && (this->HshValues(HiPressIndex, TempIndex) <= 0.0) &&
    3275        75889 :             (this->HshValues(LoPressIndex, HiTempIndex) <= 0.0) && (this->HshValues(HiPressIndex, HiTempIndex) <= 0.0)) {
    3276            0 :             ++df->SatErrCountGetSupHeatEnthalpyRefrig;
    3277              :             // set return value
    3278            0 :             ReturnValue = this->getSatEnthalpy(state, Temperature, 1.0, fmt::format("{}:{}", routineName, CalledFrom));
    3279              :             // send warning
    3280            0 :             if (!state.dataGlobal->WarmupFlag) {
    3281            0 :                 this->errors[(int)RefrigError::SatSupEnthalpy].count++;
    3282              :                 // send warning
    3283            0 :                 if (this->errors[(int)RefrigError::SatTempDensity].count <= df->RefrigErrorLimitTest) {
    3284            0 :                     ShowWarningMessage(
    3285              :                         state,
    3286            0 :                         format("{}: Refrigerant [{}] is saturated at the given conditions, saturated enthalpy at given temperature returned. **",
    3287              :                                routineName,
    3288            0 :                                this->Name));
    3289            0 :                     ShowContinueError(state, fmt::format("...Called From:{}", CalledFrom));
    3290            0 :                     ShowContinueError(state, format("Refrigerant temperature = {:.2R}", Temperature));
    3291            0 :                     ShowContinueError(state, format("Refrigerant pressure = {:.0R}", Pressure));
    3292            0 :                     ShowContinueError(state, format("Returned Enthalpy value = {:.3R}", ReturnValue));
    3293            0 :                     ShowContinueErrorTimeStamp(state, "");
    3294              :                 }
    3295            0 :                 ShowRecurringWarningErrorAtEnd(state,
    3296            0 :                                                format("{}: Refrigerant [{}] saturated at the given conditions **", routineName, this->Name),
    3297            0 :                                                this->errors[(int)RefrigError::SatSupEnthalpy].index,
    3298              :                                                Temperature,
    3299              :                                                "{C}");
    3300              :             }
    3301            0 :             return ReturnValue;
    3302              :         }
    3303              : 
    3304        75889 :         if (ErrCount > 0 && !state.dataGlobal->WarmupFlag) {
    3305              :             // send temp range error if flagged
    3306            0 :             this->errors[(int)RefrigError::SatSupEnthalpy].count += CurTempRangeErrCount;
    3307            0 :             if (CurTempRangeErrCount > 0) {
    3308            0 :                 if (this->errors[(int)RefrigError::SatSupEnthalpyTemp].count <= df->RefrigErrorLimitTest) {
    3309            0 :                     ShowWarningMessage(state,
    3310            0 :                                        format("{}: Refrigerant [{}] Temperature is out of range for superheated enthalpy: values capped **",
    3311              :                                               routineName,
    3312            0 :                                               this->Name));
    3313            0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3314            0 :                     ShowContinueErrorTimeStamp(state, "");
    3315              :                 }
    3316            0 :                 ShowRecurringWarningErrorAtEnd(
    3317              :                     state,
    3318            0 :                     format("{}: Refrigerant [{}] Temperature is out of range for superheated enthalpy: values capped **", routineName, this->Name),
    3319            0 :                     this->errors[(int)RefrigError::SatSupEnthalpyTemp].index,
    3320              :                     Temperature,
    3321              :                     "{C}");
    3322              :             }
    3323              : 
    3324              :             // send pressure range error if flagged
    3325            0 :             this->errors[(int)RefrigError::SatSupEnthalpyPress].count += CurPresRangeErrCount;
    3326            0 :             if (CurPresRangeErrCount > 0) {
    3327            0 :                 if (this->errors[(int)RefrigError::SatSupEnthalpyPress].count <= df->RefrigErrorLimitTest) {
    3328            0 :                     ShowWarningMessage(
    3329              :                         state,
    3330            0 :                         format("{}: Refrigerant [{}] Pressure is out of range for superheated enthalpy: values capped **", routineName, this->Name));
    3331            0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3332            0 :                     ShowContinueErrorTimeStamp(state, "");
    3333              :                 }
    3334            0 :                 ShowRecurringWarningErrorAtEnd(
    3335              :                     state,
    3336            0 :                     format("{}: Refrigerant [{}] Pressure is out of range for superheated enthalpy: values capped **", routineName, this->Name),
    3337            0 :                     this->errors[(int)RefrigError::SatSupEnthalpyPress].index,
    3338              :                     Pressure,
    3339              :                     "{Pa}");
    3340              :             }
    3341              :         } // end error checking
    3342              : 
    3343        75889 :         return ReturnValue;
    3344              :     }
    3345              : #ifdef GET_OUT
    3346              :     Real64 GetSupHeatEnthalpyRefrig(EnergyPlusData &state,
    3347              :                                     std::string_view const refrigName, // carries in substance name
    3348              :                                     Real64 const Temperature,          // actual temperature given as input
    3349              :                                     Real64 const Pressure,             // actual pressure given as input
    3350              :                                     int &RefrigIndex,                  // Index to Refrigerant Properties
    3351              :                                     std::string_view const CalledFrom  // routine this function was called from (error messages)
    3352              :     )
    3353              :     {
    3354              :         // Wrapper for RefrigProps::getSupHeatEnthalpy()
    3355              :         auto &df = state.dataFluid;
    3356              : 
    3357              :         if (RefrigIndex == 0) {
    3358              :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3359              :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3360              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3361              :                 return 0.0;
    3362              :             }
    3363              :         }
    3364              : 
    3365              :         return df->refrigs(RefrigIndex)->getSupHeatEnthalpy(state, Temperature, Pressure, CalledFrom);
    3366              :     }
    3367              : #endif // GET_OUT
    3368              :     //*****************************************************************************
    3369              : 
    3370            0 :     Real64 RefrigProps::getSupHeatPressure(EnergyPlusData &state,
    3371              :                                            Real64 const Temperature,         // actual temperature given as input
    3372              :                                            Real64 const Enthalpy,            // actual enthalpy given as input
    3373              :                                            std::string_view const CalledFrom // routine this function was called from (error messages)
    3374              :     )
    3375              :     {
    3376              : 
    3377              :         // SUBROUTINE INFORMATION:
    3378              :         //       AUTHOR         Rick Strand
    3379              :         //       DATE WRITTEN   May 2000
    3380              :         //       MODIFIED       Simon Rees (May 2002)
    3381              : 
    3382              :         // PURPOSE OF THIS SUBROUTINE:
    3383              :         // Performs linear interpolation between enthalpy and temperatures and
    3384              :         // returns pressure values.  Works only in superheated region.
    3385              : 
    3386              :         // METHODOLOGY EMPLOYED:
    3387              :         // Double linear interpolation is used with pressure values at four
    3388              :         // enthalpy/temperature input points surrounding the given temperature
    3389              :         // and enthalpy argument values.
    3390              :         // All enthalpies have to be calculated at the given temperature before a
    3391              :         // search is made for the data adjacent to the given enthalpy. Linear interpolation
    3392              :         // using the enthalpy data is used to interpolate the correspondng pressures.
    3393              :         // Temperatures and enthalpies outside the bounds of the available data are capped
    3394              :         // and warnings given. For enthlpys lower than the saturated vapour value at the
    3395              :         // given temperature result in the saturation pressure being returned (calls to
    3396              :         // GetSatEnthalpy and GetSatPressure are made.)
    3397              : 
    3398              :         // Return value
    3399              :         Real64 ReturnValue;
    3400              : 
    3401              :         // FUNCTION PARAMETERS:
    3402              :         // the enthalpy calculated from the pressure found
    3403              :         static constexpr std::string_view routineName = "RefrigProps::getSupHeatPressure";
    3404              : 
    3405              :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    3406              :         Real64 EnthalpyCheck;   // recalculates enthalpy based on calculated pressure
    3407              :         Real64 EnthalpyHigh;    // Enthalpy value at interpolated pressure and high temperature
    3408              :         Real64 EnthalpyLow;     // Enthalpy value at interpolated pressure and low temperature
    3409              :         Real64 EnthalpyMax;     // Enthalpy value at interpolated pressure and high temperature
    3410              :         Real64 EnthalpyMin;     // Enthalpy value at interpolated pressure and low temperature
    3411              :         Real64 SatEnthalpy;     // Saturated vapour enthalpy
    3412              :         Real64 EnthInterpRatio; // Interpolation ratio w.r.t enthalpy
    3413              : 
    3414              :         int middle; // mid-point for interval halving
    3415              : 
    3416              :         int HiTempIndex;     // Index value of higher temperature from data
    3417              :         int LoEnthalpyIndex; // Index value of lower enthalpy from data
    3418              :         int HiEnthalpyIndex; // Index value of higher enthalpy from data
    3419              : 
    3420              :         // error counters and dummy string
    3421            0 :         int ErrCount = 0;
    3422            0 :         int CurTempRangeErrCount = 0;
    3423            0 :         int CurEnthalpyRangeErrCount = 0;
    3424            0 :         int CurSatErrCount = 0;
    3425              : 
    3426              :         // Index value of lower temperature from data
    3427            0 :         int LoTempIndex = FindArrayIndex(Temperature, this->SupTemps, 1, this->NumSupTempPoints);
    3428              : 
    3429              :         // check temperature data range and attempt to cap if necessary
    3430            0 :         if ((LoTempIndex > 0) && (LoTempIndex < this->NumSupTempPoints)) { // in range
    3431            0 :             HiTempIndex = LoTempIndex + 1;
    3432            0 :         } else if (LoTempIndex < 1) { // below lower bound
    3433            0 :             ++CurTempRangeErrCount;
    3434            0 :             LoTempIndex = 1;
    3435            0 :             HiTempIndex = LoTempIndex;
    3436              :         } else { // out of range
    3437            0 :             ++CurTempRangeErrCount;
    3438            0 :             HiTempIndex = LoTempIndex;
    3439              :         }
    3440              : 
    3441              :         // check for lowest non-zero value in lower temp data
    3442            0 :         int LoTempStart = this->NumSupPressPoints;
    3443            0 :         for (int Loop = 1; Loop <= this->NumSupPressPoints; ++Loop) {
    3444            0 :             if (this->HshValues(Loop, LoTempIndex) > 0.0) {
    3445            0 :                 LoTempStart = Loop;
    3446            0 :                 break;
    3447              :             }
    3448              :         }
    3449              :         // check for highest non-zero value in lower temp data
    3450            0 :         int LoTempFinish = 1;
    3451            0 :         for (int Loop = this->NumSupPressPoints; Loop >= 1; --Loop) {
    3452            0 :             if (this->HshValues(Loop, LoTempIndex) <= 0.0) {
    3453            0 :                 LoTempFinish = Loop;
    3454              :                 // EXIT
    3455              :             }
    3456              :         }
    3457              :         // check for lowest non-zero value in high temp data
    3458            0 :         int HiTempStart = this->NumSupPressPoints;
    3459            0 :         for (int Loop = 1; Loop <= this->NumSupPressPoints; ++Loop) {
    3460            0 :             if (this->HshValues(Loop, HiTempIndex) > 0.0) {
    3461            0 :                 HiTempStart = Loop;
    3462            0 :                 break;
    3463              :             }
    3464              :         }
    3465              : 
    3466              :         // check for highest non-zero value in high temp data
    3467            0 :         int HiTempFinish = 1;
    3468            0 :         for (int Loop = this->NumSupPressPoints; Loop >= 1; --Loop) {
    3469            0 :             if (this->HshValues(Loop, HiTempIndex) <= 0.0) {
    3470            0 :                 HiTempFinish = Loop;
    3471              :             }
    3472              :         }
    3473              : 
    3474              :         // find bounds of both hi and lo temp data, corrected lower non-zero index of enthalpy values
    3475            0 :         int TempStart = max(LoTempStart, HiTempStart);
    3476              :         // corrected upper non-zero index of enthalpy values
    3477            0 :         int TempFinish = min(LoTempFinish, HiTempFinish);
    3478              :         // calculate interpolation ratio w.r.t temperature
    3479              :         // This ratio is used to find enthalpies at the given temperature
    3480            0 :         Real64 TempInterpRatio = (Temperature - this->SupTemps(LoTempIndex)) / (this->SupTemps(HiTempIndex) - this->SupTemps(LoTempIndex));
    3481              : 
    3482              :         // search for array index by bisection
    3483            0 :         int start = TempStart; // set the bounds
    3484            0 :         int finish = TempFinish;
    3485              : 
    3486              :         // find the bounds of the enthalpy data available
    3487            0 :         EnthalpyMax = max(this->HshValues(TempStart, LoTempIndex), this->HshValues(TempStart, HiTempIndex));
    3488            0 :         EnthalpyMin = min(this->HshValues(TempFinish, LoTempIndex), this->HshValues(TempFinish, HiTempIndex));
    3489              :         // get saturated enthalpy for checking
    3490            0 :         SatEnthalpy = this->getSatEnthalpy(state, Temperature, 1.0, fmt::format("{}:{}", routineName, CalledFrom));
    3491              : 
    3492              :         // make some checks on the data before interpolating
    3493            0 :         if (Enthalpy < SatEnthalpy) {
    3494              :             // flag error
    3495            0 :             ++CurSatErrCount;
    3496            0 :             ++ErrCount;
    3497              :             // return sat pressure at this temperature
    3498            0 :             ReturnValue = this->getSatPressure(state, Temperature, fmt::format("{}:{}", routineName, CalledFrom));
    3499              : 
    3500            0 :         } else if (EnthalpyMax < Enthalpy || EnthalpyMin > Enthalpy) {
    3501              :             // out of range error
    3502            0 :             ++CurEnthalpyRangeErrCount;
    3503            0 :             ++ErrCount;
    3504            0 :             if (Enthalpy > EnthalpyMax) {
    3505              :                 // return min pressure
    3506            0 :                 ReturnValue = this->SupPress(HiTempStart);
    3507              :             } else {
    3508              :                 // return max pressure
    3509            0 :                 ReturnValue = this->SupPress(LoTempFinish);
    3510              :             }
    3511              :         } else {
    3512              :             // go ahead and search
    3513            0 :             while ((finish - start) > 1) {
    3514            0 :                 middle = (finish + start) / 2;
    3515              : 
    3516              :                 // calc enthalpy at middle index for given temperature
    3517            0 :                 EnthalpyCheck = this->HshValues(middle, LoTempIndex) +
    3518            0 :                                 TempInterpRatio * (this->HshValues(middle, HiTempIndex) - this->HshValues(middle, LoTempIndex));
    3519              : 
    3520            0 :                 if (Enthalpy < EnthalpyCheck) {
    3521            0 :                     start = middle;
    3522              :                 } else {
    3523            0 :                     finish = middle;
    3524              :                 }
    3525              :             }
    3526            0 :             LoEnthalpyIndex = start;
    3527            0 :             HiEnthalpyIndex = start + 1;
    3528              : 
    3529              :             // calculate enthalpies adjacent specified enthalpy at given temperature
    3530            0 :             EnthalpyLow = this->HshValues(LoEnthalpyIndex, LoTempIndex) +
    3531            0 :                           TempInterpRatio * (this->HshValues(LoEnthalpyIndex, HiTempIndex) - this->HshValues(LoEnthalpyIndex, LoTempIndex));
    3532              : 
    3533            0 :             EnthalpyHigh = this->HshValues(HiEnthalpyIndex, LoTempIndex) +
    3534            0 :                            TempInterpRatio * (this->HshValues(HiEnthalpyIndex, HiTempIndex) - this->HshValues(HiEnthalpyIndex, LoTempIndex));
    3535              :             // calculate an interpolation ratio
    3536            0 :             EnthInterpRatio = (Enthalpy - EnthalpyLow) / (EnthalpyHigh - EnthalpyLow);
    3537              :             // apply this interpolation ratio to find the final pressure
    3538            0 :             ReturnValue = this->SupPress(LoEnthalpyIndex) + EnthInterpRatio * (this->SupPress(HiEnthalpyIndex) - this->SupPress(LoEnthalpyIndex));
    3539              :         }
    3540              : 
    3541            0 :         if (ErrCount > 0 && !state.dataGlobal->WarmupFlag) {
    3542            0 :             auto const &df = state.dataFluid;
    3543              : 
    3544              :             // send near saturation warning if flagged
    3545            0 :             this->errors[(int)RefrigError::SatSupPress].count += CurSatErrCount;
    3546              :             // send warning
    3547            0 :             if (CurSatErrCount > 0) {
    3548            0 :                 if (this->errors[(int)RefrigError::SatSupPress].count <= df->RefrigErrorLimitTest) {
    3549            0 :                     ShowSevereMessage(state,
    3550            0 :                                       format("{}: Refrigerant [{}] is saturated at the given enthalpy and temperature, saturated enthalpy at given "
    3551              :                                              "temperature returned. **",
    3552              :                                              routineName,
    3553            0 :                                              this->Name));
    3554            0 :                     ShowContinueError(state, fmt::format("...Called From:{}", CalledFrom));
    3555            0 :                     ShowContinueError(state, format("Refrigerant temperature = {:.2R}", Temperature));
    3556            0 :                     ShowContinueError(state, format("Refrigerant Enthalpy = {:.3R}", Enthalpy));
    3557            0 :                     ShowContinueError(state, format("Returned Pressure value = {:.0R}", ReturnValue));
    3558            0 :                     ShowContinueErrorTimeStamp(state, "");
    3559              :                 }
    3560            0 :                 ShowRecurringSevereErrorAtEnd(
    3561              :                     state,
    3562            0 :                     format("{}: Refrigerant [{}] saturated at the given enthalpy and temperature **", routineName, this->Name),
    3563            0 :                     this->errors[(int)RefrigError::SatSupPress].index,
    3564              :                     ReturnValue,
    3565              :                     "{Pa}");
    3566              :             }
    3567              : 
    3568              :             // send temp range error if flagged
    3569            0 :             this->errors[(int)RefrigError::SatSupPressTemp].count += CurTempRangeErrCount;
    3570            0 :             if (CurTempRangeErrCount > 0) {
    3571            0 :                 if (this->errors[(int)RefrigError::SatSupPressTemp].count <= df->RefrigErrorLimitTest) {
    3572            0 :                     ShowWarningMessage(state,
    3573            0 :                                        format("{}: Refrigerant [{}] Temperature is out of range for superheated pressure: values capped **",
    3574              :                                               routineName,
    3575            0 :                                               this->Name));
    3576            0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3577            0 :                     ShowContinueErrorTimeStamp(state, "");
    3578              :                 }
    3579            0 :                 ShowRecurringWarningErrorAtEnd(
    3580              :                     state,
    3581            0 :                     format("{}: Refrigerant [{}] Temperature is out of range for superheated pressure: values capped **", routineName, this->Name),
    3582            0 :                     this->errors[(int)RefrigError::SatSupPressTemp].index,
    3583              :                     Temperature,
    3584              :                     "{C}");
    3585              :             }
    3586              : 
    3587              :             // send enthalpy range error if flagged
    3588            0 :             this->errors[(int)RefrigError::SatSupPressEnthalpy].count += CurEnthalpyRangeErrCount;
    3589            0 :             if (CurEnthalpyRangeErrCount > 0) {
    3590            0 :                 if (this->errors[(int)RefrigError::SatSupPressEnthalpy].count <= df->RefrigErrorLimitTest) {
    3591            0 :                     ShowWarningMessage(
    3592              :                         state,
    3593            0 :                         format("{}: Refrigerant [{}] Pressure is out of range for superheated enthalpy: values capped **", routineName, this->Name));
    3594            0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3595            0 :                     ShowContinueErrorTimeStamp(state, "");
    3596              :                 }
    3597            0 :                 ShowRecurringWarningErrorAtEnd(
    3598              :                     state,
    3599            0 :                     format("{}: Refrigerant [{}] Pressure is out of range for superheated pressure: values capped **", routineName, this->Name),
    3600            0 :                     this->errors[(int)RefrigError::SatSupPressEnthalpy].index,
    3601              :                     Enthalpy,
    3602              :                     "{J}");
    3603              :             }
    3604              :         } // end error checking
    3605              : 
    3606            0 :         return ReturnValue;
    3607              :     }
    3608              : #ifdef GET_OUT
    3609              :     Real64 GetSupHeatPressureRefrig(EnergyPlusData &state,
    3610              :                                     std::string const &refrigName,    // carries in substance name
    3611              :                                     Real64 const Temperature,         // actual temperature given as input
    3612              :                                     Real64 const Enthalpy,            // actual enthalpy given as input
    3613              :                                     int &RefrigIndex,                 // Index to Refrigerant Properties
    3614              :                                     std::string_view const CalledFrom // routine this function was called from (error messages)
    3615              :     )
    3616              :     {
    3617              :         // Wrapper for RefrigProps::getSupHeatPressure()
    3618              :         auto &df = state.dataFluid;
    3619              : 
    3620              :         if (RefrigIndex == 0) {
    3621              :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3622              :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3623              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3624              :                 return 0.0;
    3625              :             }
    3626              :         }
    3627              : 
    3628              :         return df->refrigs(RefrigIndex)->getSupHeatPressure(state, Temperature, Enthalpy, CalledFrom);
    3629              :     }
    3630              : #endif // GET_OUT
    3631              :     //*****************************************************************************
    3632              : 
    3633        11741 :     Real64 RefrigProps::getSupHeatTemp(EnergyPlusData &state,
    3634              :                                        Real64 const Pressure,            // actual pressure given as input
    3635              :                                        Real64 const Enthalpy,            // actual enthalpy given as input
    3636              :                                        Real64 TempLow,                   // lower bound of temperature in the iteration
    3637              :                                        Real64 TempUp,                    // upper bound of temperature in the iteration
    3638              :                                        std::string_view const CalledFrom // routine this function was called from (error messages)
    3639              :     )
    3640              :     {
    3641              :         // SUBROUTINE INFORMATION:
    3642              :         //       AUTHOR         Rongpeng Zhang
    3643              :         //       DATE WRITTEN   Jan 2016
    3644              : 
    3645              :         // PURPOSE OF THIS SUBROUTINE:
    3646              :         // Performs iterations to calculate the refrigerant temperature corresponding to the given
    3647              :         // enthalpy and pressure.  Works only in superheated region.
    3648              : 
    3649              :         // METHODOLOGY EMPLOYED:
    3650              :         // Perform iterations to identify the temperature by calling GetSupHeatEnthalpyRefrig->
    3651              : 
    3652              :         // Return value
    3653              :         Real64 ReturnValue;
    3654              : 
    3655              :         // FUNCTION PARAMETERS:
    3656              :         // the enthalpy calculated from the pressure found
    3657              :         static constexpr std::string_view routineName = "RefrigProps::getSupHeatTemp";
    3658              : 
    3659              :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    3660              :         Real64 EnthalpyHigh; // Enthalpy value at interpolated pressure and high temperature
    3661              :         Real64 EnthalpyLow;  // Enthalpy value at interpolated pressure and low temperature
    3662              :         Real64 RefTHigh;     // High Temperature Value for Ps (max in tables)
    3663              :         Real64 RefTSat;      // Saturated temperature of the refrigerant. Used to check whether the refrigernat is in the superheat area
    3664              :         Real64 Temp;         // Temperature of the superheated refrigerant at the given enthalpy and pressure
    3665              : 
    3666              :         // check temperature data range and attempt to cap if necessary
    3667        11741 :         RefTHigh = this->PsHighTempValue;
    3668        11741 :         RefTSat = this->getSatTemperature(state, Pressure, fmt::format("{}:{}", routineName, CalledFrom));
    3669              : 
    3670        11741 :         if (TempLow < RefTSat) {
    3671            2 :             ShowWarningMessage(state,
    3672            2 :                                format("{}: Refrigerant [{}] temperature lower bound is out of range for superheated refrigerant: values capped **",
    3673              :                                       routineName,
    3674            1 :                                       this->Name));
    3675            2 :             ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3676            2 :             ShowContinueErrorTimeStamp(state, "");
    3677            1 :             TempLow = RefTSat;
    3678              :         }
    3679        11741 :         if (TempUp > RefTHigh) {
    3680            0 :             ShowWarningMessage(state,
    3681            0 :                                format("{}: Refrigerant [{}] temperature lower bound is out of range for superheated refrigerant: values capped **",
    3682              :                                       routineName,
    3683            0 :                                       this->Name));
    3684            0 :             ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3685            0 :             ShowContinueErrorTimeStamp(state, "");
    3686            0 :             TempUp = RefTHigh;
    3687              :         }
    3688        11741 :         if (TempLow >= TempUp) {
    3689            0 :             ShowWarningMessage(state,
    3690            0 :                                format("{}Refrigerant [{}] temperature lower bound is out of range for superheated refrigerant: values capped **",
    3691              :                                       routineName,
    3692            0 :                                       this->Name));
    3693            0 :             ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3694            0 :             ShowContinueErrorTimeStamp(state, "");
    3695            0 :             TempLow = RefTSat;
    3696            0 :             TempUp = RefTHigh;
    3697              :         }
    3698              : 
    3699              :         // check enthalpy data range and attempt to cap if necessary
    3700        11741 :         EnthalpyLow = this->getSupHeatEnthalpy(state, TempLow, Pressure, fmt::format("{}:{}", routineName, CalledFrom));
    3701        11741 :         EnthalpyHigh = this->getSupHeatEnthalpy(state, TempUp, Pressure, fmt::format("{}:{}", routineName, CalledFrom));
    3702        11741 :         if (Enthalpy <= EnthalpyLow) {
    3703         9491 :             ReturnValue = TempLow;
    3704         9491 :             return ReturnValue;
    3705              :         }
    3706         2250 :         if (Enthalpy >= EnthalpyHigh) {
    3707           86 :             ReturnValue = TempUp;
    3708           86 :             return ReturnValue;
    3709              :         }
    3710              : 
    3711              :         // Perform iterations to obtain the temperature level
    3712              :         {
    3713         2164 :             Real64 constexpr ErrorTol(0.001); // tolerance for RegulaFalsi iterations
    3714         2164 :             int constexpr MaxIte(500);        // maximum number of iterations
    3715              :             int SolFla;                       // Flag of RegulaFalsi solver
    3716              : 
    3717         6858 :             auto f = [&state, this, Enthalpy, Pressure](Real64 Temp) {
    3718              :                 static constexpr std::string_view routineName = "GetSupHeatTempRefrigResidual";
    3719         6858 :                 Real64 Enthalpy_Req = Enthalpy;
    3720         6858 :                 if (std::abs(Enthalpy_Req) < 100.0) Enthalpy_Req = sign(100.0, Enthalpy_Req);
    3721         6858 :                 Real64 Enthalpy_Act = this->getSupHeatEnthalpy(state, Temp, Pressure, routineName);
    3722         6858 :                 return (Enthalpy_Act - Enthalpy_Req) / Enthalpy_Req;
    3723         2164 :             };
    3724              : 
    3725         2164 :             General::SolveRoot(state, ErrorTol, MaxIte, SolFla, Temp, f, TempLow, TempUp);
    3726         2164 :             ReturnValue = Temp;
    3727              :         }
    3728              : 
    3729         2164 :         return ReturnValue;
    3730              :     }
    3731              : #ifdef GET_OUT
    3732              :     Real64 GetSupHeatTempRefrig(EnergyPlusData &state,
    3733              :                                 std::string_view const refrigName, // carries in substance name
    3734              :                                 Real64 const Pressure,             // actual pressure given as input
    3735              :                                 Real64 const Enthalpy,             // actual enthalpy given as input
    3736              :                                 Real64 TempLow,                    // lower bound of temperature in the iteration
    3737              :                                 Real64 TempUp,                     // upper bound of temperature in the iteration
    3738              :                                 int &RefrigIndex,                  // Index to Refrigerant Properties
    3739              :                                 std::string_view const CalledFrom  // routine this function was called from (error messages)
    3740              :     )
    3741              :     {
    3742              :         // Wrapper for RefrigProps::getSupHeatTemp()
    3743              :         auto &df = state.dataFluid;
    3744              : 
    3745              :         if (RefrigIndex == 0) {
    3746              :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3747              :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3748              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3749              :                 return 0.0;
    3750              :             }
    3751              :         }
    3752              : 
    3753              :         return df->refrigs(RefrigIndex)->getSupHeatTemp(state, Pressure, Enthalpy, TempLow, TempUp, CalledFrom);
    3754              :     }
    3755              : #endif // GET_OUT
    3756              :     //*****************************************************************************
    3757              : 
    3758        79604 :     Real64 RefrigProps::getSupHeatDensity(EnergyPlusData &state,
    3759              :                                           Real64 const Temperature,         // actual temperature given as input
    3760              :                                           Real64 const Pressure,            // actual pressure given as input
    3761              :                                           std::string_view const CalledFrom // routine this function was called from (error messages)
    3762              :     )
    3763              :     {
    3764              : 
    3765              :         // SUBROUTINE INFORMATION:
    3766              :         //       AUTHOR         Mike Turner
    3767              :         //       DATE WRITTEN   10 December 99
    3768              :         //       MODIFIED       Rick Strand (April 2000, May 2000)
    3769              :         //       MODIFIED       Simon Rees (May 2002)
    3770              : 
    3771              :         // PURPOSE OF THIS SUBROUTINE:
    3772              :         // Performs linear interpolation between pressures and temperatures and
    3773              :         // returns Density values.  Works only in superheated region.
    3774              : 
    3775              :         // METHODOLOGY EMPLOYED:
    3776              :         // Double linear interpolation is used with Density values at four
    3777              :         // pressure/temperature input points surrounding the given temperature
    3778              :         // and pressure arguments.
    3779              :         // With Density data it is assumed that zero values in the data are in
    3780              :         // the saturated region. Hence, values near the saturation line are
    3781              :         // approximated using the saturation value instead of the zero data value.
    3782              :         // points completely in the saturation region are given the saturation value
    3783              :         // at the given temperature. Points at the upper limits of pressure/temperature
    3784              :         // have the pressure/temperature capped. Warnings are given if the point
    3785              :         // is not clearly in the bounds of the superheated data.
    3786              : 
    3787              :         // Return value
    3788              :         Real64 ReturnValue;
    3789              : 
    3790        79604 :         auto &df = state.dataFluid;
    3791              : 
    3792              :         // FUNCTION PARAMETERS:
    3793              :         static constexpr std::string_view routineName = "RefrigProps::getSupHeatDensity";
    3794              : 
    3795              :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    3796              :         Real64 TempInterpRatio;  // Interpolation ratio w.r.t temperature
    3797              :         Real64 PressInterpRatio; // Interpolation ratio w.r.t pressures
    3798              : 
    3799              :         int HiTempIndex;  // high temperature index value
    3800              :         int HiPressIndex; // high pressure index value
    3801              : 
    3802              :         // initialize for this call error counters and dummy string
    3803        79604 :         int ErrCount = 0;
    3804        79604 :         int CurTempRangeErrCount = 0;
    3805        79604 :         int CurPresRangeErrCount = 0;
    3806              : 
    3807              :         // check temperature data range and attempt to cap if necessary
    3808              :         // low index value of Temperature from table
    3809        79604 :         int TempIndex = FindArrayIndex(Temperature, this->SupTemps, 1, this->NumSupTempPoints);
    3810        79604 :         if ((TempIndex > 0) && (TempIndex < this->NumSupTempPoints)) { // in range
    3811        79604 :             HiTempIndex = TempIndex + 1;
    3812        79604 :             TempInterpRatio = (Temperature - this->SupTemps(TempIndex)) / (this->SupTemps(HiTempIndex) - this->SupTemps(TempIndex));
    3813            0 :         } else if (TempIndex < 1) {
    3814            0 :             ++CurTempRangeErrCount;
    3815            0 :             ++ErrCount;
    3816              :             // FindArrayIndex will return upper or lower bound so TempIndex gives upper/lower limit
    3817            0 :             TempIndex = 1;
    3818            0 :             HiTempIndex = TempIndex;
    3819            0 :             TempInterpRatio = 0.0;
    3820              :         } else { // out of range
    3821            0 :             ++CurTempRangeErrCount;
    3822            0 :             ++ErrCount;
    3823              :             // FindArrayIndex will return upper or lower bound so TempIndex gives upper/lower limit
    3824            0 :             HiTempIndex = TempIndex;
    3825            0 :             TempInterpRatio = 0.0;
    3826              :         }
    3827              : 
    3828              :         // check pressure data range and attempt to cap if necessary
    3829        79604 :         int LoPressIndex = FindArrayIndex(Pressure, this->SupPress, 1, this->NumSupPressPoints);
    3830        79604 :         if ((LoPressIndex > 0) && (LoPressIndex < this->NumSupPressPoints)) { // in range
    3831        79604 :             HiPressIndex = LoPressIndex + 1;
    3832        79604 :             Real64 const SHPress_Lo = this->SupPress(LoPressIndex);
    3833        79604 :             PressInterpRatio = (Pressure - SHPress_Lo) / (this->SupPress(HiPressIndex) - SHPress_Lo);
    3834        79604 :         } else if (LoPressIndex < 1) {
    3835            0 :             ++CurPresRangeErrCount;
    3836            0 :             ++ErrCount;
    3837            0 :             LoPressIndex = 1;
    3838            0 :             HiPressIndex = LoPressIndex;
    3839            0 :             PressInterpRatio = 0.0;
    3840              :         } else { // out of range
    3841            0 :             ++CurPresRangeErrCount;
    3842            0 :             ++ErrCount;
    3843              :             // FindArrayIndex will return upper or lower bound so LoPressIndex gives upper/lower limit
    3844            0 :             HiPressIndex = LoPressIndex;
    3845            0 :             PressInterpRatio = 0.0;
    3846              :         }
    3847              : 
    3848              :         // get interpolation point values
    3849        79604 :         Real64 LoTempLoDensity = this->RhoshValues(LoPressIndex, TempIndex);
    3850        79604 :         Real64 LoTempHiDensity = this->RhoshValues(HiPressIndex, TempIndex);
    3851        79604 :         Real64 HiTempLoDensity = this->RhoshValues(LoPressIndex, HiTempIndex);
    3852        79604 :         Real64 HiTempHiDensity = this->RhoshValues(HiPressIndex, HiTempIndex);
    3853              : 
    3854              :         // to give reasonable interpolation near saturation reset any point with zero value
    3855              :         // in table to saturation value
    3856        79604 :         int n_zero(0);
    3857        79604 :         Real64 saturated_density(0.0);
    3858        79604 :         if (min(LoTempLoDensity, LoTempHiDensity, HiTempLoDensity, HiTempHiDensity) <= 0.0) {
    3859           93 :             saturated_density = this->getSatDensity(state, Temperature, 1.0, routineName);
    3860           93 :             if (LoTempLoDensity <= 0.0) {
    3861            0 :                 LoTempLoDensity = saturated_density;
    3862            0 :                 ++n_zero;
    3863              :             }
    3864           93 :             if (LoTempHiDensity <= 0.0) {
    3865            3 :                 LoTempHiDensity = saturated_density;
    3866            3 :                 ++n_zero;
    3867              :             }
    3868           93 :             if (HiTempLoDensity <= 0.0) {
    3869           90 :                 HiTempLoDensity = saturated_density;
    3870           90 :                 ++n_zero;
    3871              :             }
    3872           93 :             if (HiTempHiDensity <= 0.0) {
    3873           90 :                 HiTempHiDensity = saturated_density;
    3874           90 :                 ++n_zero;
    3875              :             }
    3876              :         }
    3877              : 
    3878        79604 :         if (n_zero < 4) {
    3879              :             // interpolate w.r.t. pressure
    3880        79604 :             Real64 DensityLow = PressInterpRatio * LoTempHiDensity + (1.0 - PressInterpRatio) * LoTempLoDensity;
    3881        79604 :             Real64 DensityHigh = PressInterpRatio * HiTempHiDensity + (1.0 - PressInterpRatio) * HiTempLoDensity;
    3882              : 
    3883              :             // interpolate w.r.t. temperature
    3884        79604 :             ReturnValue = TempInterpRatio * DensityHigh + (1.0 - TempInterpRatio) * DensityLow;
    3885              :         } else { // All data is at zero: we are completely inside the saturation dome. Best thing we can do is return saturation value
    3886            0 :             ++df->SatErrCountGetSupHeatDensityRefrig;
    3887              :             // send warning
    3888            0 :             this->errors[(int)RefrigError::SatSupDensity].count++;
    3889              :             // send warning
    3890            0 :             if (this->errors[(int)RefrigError::SatSupDensity].count <= df->RefrigErrorLimitTest) {
    3891            0 :                 ShowWarningMessage(
    3892              :                     state,
    3893            0 :                     format("{}: Refrigerant [{}] is saturated at the given conditions, saturated density at given temperature returned. **",
    3894              :                            routineName,
    3895            0 :                            this->Name));
    3896            0 :                 ShowContinueError(state, fmt::format("...Called From:{}", CalledFrom));
    3897            0 :                 ShowContinueError(state, format("Refrigerant temperature = {:.2R}", Temperature));
    3898            0 :                 ShowContinueError(state, format("Refrigerant pressure = {:.0R}", Pressure));
    3899            0 :                 ShowContinueError(state, format("Returned Density value = {:.3R}", saturated_density));
    3900            0 :                 ShowContinueErrorTimeStamp(state, "");
    3901              :             }
    3902            0 :             if (df->SatErrCountGetSupHeatDensityRefrig > 0) {
    3903            0 :                 ShowRecurringWarningErrorAtEnd(state,
    3904            0 :                                                format("{}: Refrigerant [{}] saturated at the given conditions **", routineName, this->Name),
    3905            0 :                                                this->errors[(int)RefrigError::SatSupEnthalpy].index,
    3906              :                                                Temperature,
    3907              :                                                "{C}");
    3908              :             }
    3909            0 :             return saturated_density;
    3910              :         }
    3911              : 
    3912        79604 :         if (ErrCount > 0 && !state.dataGlobal->WarmupFlag) {
    3913              :             // send temp range error if flagged
    3914            0 :             this->errors[(int)RefrigError::SatSupDensityTemp].count += CurTempRangeErrCount;
    3915            0 :             if (CurTempRangeErrCount > 0) {
    3916            0 :                 if (this->errors[(int)RefrigError::SatSupDensityTemp].count <= df->RefrigErrorLimitTest) {
    3917            0 :                     ShowWarningMessage(state,
    3918            0 :                                        format("{}: Refrigerant [{}] Temperature is out of range for superheated density: values capped **",
    3919              :                                               routineName,
    3920            0 :                                               this->Name));
    3921            0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3922            0 :                     ShowContinueErrorTimeStamp(state, "");
    3923              :                 }
    3924            0 :                 ShowRecurringWarningErrorAtEnd(
    3925              :                     state,
    3926            0 :                     format("{}: Refrigerant [{}] Temperature is out of range for superheated density: values capped **", routineName, this->Name),
    3927            0 :                     this->errors[(int)RefrigError::SatSupDensityTemp].index,
    3928              :                     Temperature,
    3929              :                     "{C}");
    3930              :             }
    3931              : 
    3932              :             // send pressure range error if flagged
    3933            0 :             this->errors[(int)RefrigError::SatSupDensityPress].count += CurPresRangeErrCount;
    3934            0 :             if (CurPresRangeErrCount > 0) {
    3935            0 :                 if (this->errors[(int)RefrigError::SatSupDensityPress].count <= df->RefrigErrorLimitTest) {
    3936            0 :                     ShowWarningMessage(
    3937              :                         state,
    3938            0 :                         format("{}: Refrigerant [{}] Pressure is out of range for superheated density: values capped **", routineName, this->Name));
    3939            0 :                     ShowContinueError(state, fmt::format(" Called From:{}", CalledFrom));
    3940            0 :                     ShowContinueErrorTimeStamp(state, "");
    3941              :                 }
    3942            0 :                 ShowRecurringWarningErrorAtEnd(
    3943              :                     state,
    3944            0 :                     format("{}: Refrigerant [{}] Pressure is out of range for superheated density: values capped **", routineName, this->Name),
    3945            0 :                     this->errors[(int)RefrigError::SatSupDensityPress].index,
    3946              :                     Pressure,
    3947              :                     "{Pa}");
    3948              :             } // end error checking
    3949              :         }
    3950              : 
    3951        79604 :         return ReturnValue;
    3952              :     }
    3953              : #ifdef GET_OUT
    3954              :     Real64 GetSupHeatDensityRefrig(EnergyPlusData &state,
    3955              :                                    std::string_view const refrigName, // carries in substance name
    3956              :                                    Real64 const Temperature,          // actual temperature given as input
    3957              :                                    Real64 const Pressure,             // actual pressure given as input
    3958              :                                    int &RefrigIndex,                  // Index to Refrigerant Properties
    3959              :                                    std::string_view const CalledFrom  // routine this function was called from (error messages)
    3960              :     )
    3961              :     {
    3962              :         // Wrapper for RefrigProps::getSupHeatDensity()
    3963              :         auto &df = state.dataFluid;
    3964              :         if (RefrigIndex == 0) {
    3965              :             if ((RefrigIndex = GetRefrigNum(state, refrigName)) == 0) {
    3966              :                 ShowSevereError(state, format("Refrigerant \"{}\" not found, called from: {}", refrigName, CalledFrom));
    3967              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    3968              :                 return 0.0;
    3969              :             }
    3970              :         }
    3971              : 
    3972              :         return df->refrigs(RefrigIndex)->getSupHeatDensity(state, Temperature, Pressure, CalledFrom);
    3973              :     }
    3974              : 
    3975              : #endif // GET_OUT
    3976              : //*****************************************************************************
    3977              : #ifdef EP_cache_GlycolSpecificHeat
    3978      3595622 :     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      3595622 :         auto &df = state.dataFluid;
    3984      3595622 :         std::uint64_t constexpr Grid_Shift = 64 - 12 - t_sh_precision_bits;
    3985              : 
    3986      3595622 :         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      3595622 :         std::uint64_t const T_tag(*reinterpret_cast<std::uint64_t const *>(&t) >> Grid_Shift);
    3993              :         DISABLE_WARNING_POP
    3994              : 
    3995      3595622 :         std::uint64_t const hash(T_tag & t_sh_cache_mask);
    3996      3595622 :         auto &cTsh(df->cached_t_sh[hash]);
    3997              : 
    3998      3595622 :         if (cTsh.iT != T_tag) {
    3999       205219 :             cTsh.iT = T_tag;
    4000       205219 :             cTsh.sh = this->getSpecificHeat_raw(state, Temperature, CalledFrom);
    4001              :         }
    4002              : 
    4003              :         // print(state.files.eio, "SH,{},{},{}\n", this->Num, CalledFrom, cTsh.sh);
    4004      3595622 :         return cTsh.sh; // saturation pressure {Pascals}
    4005              :     }
    4006              : 
    4007       205219 :     Real64 GlycolProps::getSpecificHeat_raw(EnergyPlusData &state,
    4008              :                                             Real64 const Temp,                // actual temperature given as input
    4009              :                                             std::string_view const CalledFrom // routine this function was called from (error messages)
    4010              :     )
    4011              : #else
    4012              :     Real64 GlycolProps::getSpecificHeat(EnergyPlusData &state,
    4013              :                                         Real64 const Temp,                // actual temperature given as input
    4014              :                                         std::string_view const CalledFrom // routine this function was called from (error messages)
    4015              :     )
    4016              : #endif
    4017              :     {
    4018              : 
    4019              :         // FUNCTION INFORMATION:
    4020              :         //       AUTHOR         Rick Strand
    4021              :         //       DATE WRITTEN   June 2004
    4022              : 
    4023              :         // PURPOSE OF THIS FUNCTION:
    4024              :         // This subroutine finds specific heats for glycols at different
    4025              :         // temperatures.
    4026              : 
    4027              :         // METHODOLOGY EMPLOYED:
    4028              :         // Linear interpolation is used to find specific heat values for a
    4029              :         // particular glycol (water or some mixture of water and another fluid).
    4030              :         // Warnings are given if the point is not clearly in the bounds of the
    4031              :         // glycol data.  The value returned is the appropriate limit value.
    4032              : 
    4033              :         // REFERENCES:
    4034              :         // GetFluidPropertiesData: subroutine enforces that temperatures in
    4035              :         // all temperature lists are entered in ascending order.
    4036              : 
    4037              :         // FUNCTION PARAMETERS:
    4038              :         static constexpr std::string_view routineName = "GlycolProps::getSpecificHeat";
    4039              : 
    4040       205219 :         auto &df = state.dataFluid;
    4041              : 
    4042              :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4043       205219 :         assert(this->CpDataPresent);
    4044              : 
    4045              :         // Now determine the value of specific heat using interpolation
    4046       205219 :         if (Temp < this->CpLowTempValue) { // Temperature too low
    4047              : 
    4048            2 :             if (!state.dataGlobal->WarmupFlag) {
    4049            2 :                 df->glycolErrorLimits[(int)GlycolError::SpecHeatLow] = ++this->errors[(int)GlycolError::SpecHeatLow].count;
    4050            2 :                 if (df->glycolErrorLimits[(int)GlycolError::SpecHeatLow] <= df->GlycolErrorLimitTest) {
    4051            2 :                     ShowWarningMessage(
    4052              :                         state,
    4053            2 :                         format("{}: Temperature is out of range (too low) for fluid [{}] specific heat supplied values **", routineName, this->Name));
    4054            2 :                     ShowContinueError(state,
    4055            2 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4056              :                                              CalledFrom,
    4057              :                                              Temp,
    4058            1 :                                              this->CpLowTempValue,
    4059            1 :                                              this->CpHighTempValue));
    4060            3 :                     ShowContinueErrorTimeStamp(state, "");
    4061              :                 }
    4062            6 :                 ShowRecurringWarningErrorAtEnd(
    4063              :                     state,
    4064            4 :                     format("{}: Temperature out of range (too low) for fluid [{}] specific heat **", routineName, this->Name),
    4065            2 :                     this->errors[(int)GlycolError::SpecHeatLow].index,
    4066              :                     Temp,
    4067              :                     "{C}");
    4068              :             }
    4069            2 :             return this->CpValues(this->CpLowTempIndex);
    4070              : 
    4071       205217 :         } else if (Temp > this->CpHighTempValue) { // Temperature too high
    4072         2579 :             if (!state.dataGlobal->WarmupFlag) {
    4073          736 :                 df->glycolErrorLimits[(int)GlycolError::SpecHeatHigh] = ++this->errors[(int)GlycolError::SpecHeatHigh].count;
    4074          736 :                 if (df->glycolErrorLimits[(int)GlycolError::SpecHeatHigh] <= df->GlycolErrorLimitTest) {
    4075            2 :                     ShowWarningMessage(state,
    4076            2 :                                        format("{}: Temperature is out of range (too high) for fluid [{}] specific heat **", routineName, this->Name));
    4077            2 :                     ShowContinueError(state,
    4078            2 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4079              :                                              CalledFrom,
    4080              :                                              Temp,
    4081            1 :                                              this->CpLowTempValue,
    4082            1 :                                              this->CpHighTempValue));
    4083            3 :                     ShowContinueErrorTimeStamp(state, "");
    4084              :                 }
    4085         2208 :                 ShowRecurringWarningErrorAtEnd(
    4086              :                     state,
    4087         1472 :                     format("{}: Temperature out of range (too high) for fluid [{}] specific heat **", routineName, this->Name),
    4088          736 :                     this->errors[(int)GlycolError::SpecHeatHigh].index,
    4089              :                     Temp,
    4090              :                     "{C}");
    4091              :             }
    4092         2579 :             return this->CpValues(this->CpHighTempIndex);
    4093              : 
    4094              :         } else { // Temperature somewhere between the lowest and highest value
    4095              : #ifdef PERFORMANCE_OPT
    4096              :             if (Temp < this->CpTemps(this->LoCpTempIdxLast) || Temp > this->CpTemps(this->LoCpTempIdxLast + 1)) {
    4097              :                 this->LoCpTempIdxLast = FindArrayIndex(Temp, this->CpTemps, 1, this->NumCpTempPoints);
    4098              :             }
    4099              :             return this->CpValues(this->LoCpTempIdxLast) + (Temp - this->CpTemps(this->LoCpTempIdxLast)) * this->CpTempRatios(this->LoCpTempIdxLast);
    4100              : #else  // !PERFORMANCE_OPT
    4101       202638 :             assert(this->CpTemps.size() <= static_cast<std::size_t>(std::numeric_limits<int>::max()));
    4102       202638 :             int beg(1), end(this->CpTemps.isize()); // 1-based indexing
    4103       202638 :             assert(end > 0);
    4104      1215828 :             while (beg + 1 < end) {
    4105      1013190 :                 int mid = ((beg + end) >> 1); // bit shifting is faster than /2
    4106      1013190 :                 (Temp > this->CpTemps(mid) ? beg : end) = mid;
    4107              :             } // Invariant: glycol_CpTemps[beg] <= Temperature <= glycol_CpTemps[end]
    4108       202638 :             return GetInterpValue(Temp, this->CpTemps(beg), this->CpTemps(end), this->CpValues(beg), this->CpValues(end));
    4109              : #endif // PERFORMANCE_OPT
    4110              :         }
    4111              :     }
    4112              : #ifdef GET_OUT
    4113              :     Real64 GetSpecificHeatGlycol(EnergyPlusData &state,
    4114              :                                  std::string_view const glycolName, // carries in substance name
    4115              :                                  Real64 const Temperature,          // actual temperature given as input
    4116              :                                  int &GlycolIndex,                  // Index to Glycol Properties
    4117              :                                  std::string_view const CalledFrom  // routine this function was called from (error messages)
    4118              :     )
    4119              :     {
    4120              :         // Wrapper for GlycolProps::getSpecificHeat()
    4121              :         auto &df = state.dataFluid;
    4122              : 
    4123              :         if (GlycolIndex == 0) {
    4124              :             if ((GlycolIndex = GetGlycolNum(state, glycolName)) == 0) {
    4125              :                 ShowSevereError(state, format("Glycol \"{}\" not found, called from: {}", glycolName, CalledFrom));
    4126              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    4127              :                 return 0.0;
    4128              :             }
    4129              :         }
    4130              : 
    4131              :         return df->glycols(GlycolIndex)->getSpecificHeat(state, Temperature, CalledFrom);
    4132              :     }
    4133              : #endif // GET_OUT
    4134              : 
    4135              :     //*****************************************************************************
    4136              : 
    4137       311649 :     Real64 GlycolProps::getDensity(EnergyPlusData &state,
    4138              :                                    Real64 const Temp,                // actual temperature given as input
    4139              :                                    std::string_view const CalledFrom // routine this function was called from (error messages)
    4140              :     )
    4141              :     {
    4142              : 
    4143              :         // FUNCTION INFORMATION:
    4144              :         //       AUTHOR         Rick Strand
    4145              :         //       DATE WRITTEN   June 2004
    4146              : 
    4147              :         // PURPOSE OF THIS FUNCTION:
    4148              :         // This subroutine finds the density for glycols at different
    4149              :         // temperatures.
    4150              : 
    4151              :         // METHODOLOGY EMPLOYED:
    4152              :         // Linear interpolation is used to find density values for a
    4153              :         // particular glycol (water or some mixture of water and another fluid).
    4154              :         // Warnings are given if the point is not clearly in the bounds of the
    4155              :         // glycol data.  The value returned is the appropriate limit value.
    4156              : 
    4157              :         // REFERENCES:
    4158              :         // GetFluidPropertiesData: subroutine enforces that temperatures in
    4159              :         // all temperature lists are entered in ascending order.
    4160              : 
    4161              :         // Return value
    4162              :         Real64 Rho;
    4163              : 
    4164              :         // FUNCTION PARAMETERS:
    4165              :         static constexpr std::string_view routineName = "GlycolProps::getDensity";
    4166              : 
    4167       311649 :         auto &df = state.dataFluid;
    4168              : 
    4169              :         // FUNCTION LOCAL VARIABLE DECLARATIONS:
    4170       311649 :         GlycolError error = GlycolError::Invalid;
    4171              : 
    4172              :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4173       311649 :         assert(this->RhoDataPresent);
    4174              : 
    4175              :         // Now determine the value of specific heat using interpolation
    4176       311649 :         if (Temp < this->RhoLowTempValue) { // Temperature too low
    4177            2 :             error = GlycolError::DensityLow;
    4178            2 :             Rho = this->RhoValues(this->RhoLowTempIndex);
    4179       311647 :         } else if (Temp > this->RhoHighTempValue) { // Temperature too high
    4180         5478 :             error = GlycolError::DensityHigh;
    4181         5478 :             Rho = this->RhoValues(this->RhoHighTempIndex);
    4182              :         } else { // Temperature somewhere between the lowest and highest value
    4183              : #ifdef PERFORMANCE_OPT
    4184              :             if (Temp < this->RhoTemps(this->LoRhoTempIdxLast) || Temp > this->RhoTemps(this->LoRhoTempIdxLast + 1)) {
    4185              :                 this->LoRhoTempIdxLast = FindArrayIndex(Temp, this->RhoTemps, 1, this->NumRhoTempPoints);
    4186              :             }
    4187              :             Rho = this->RhoValues(this->LoRhoTempIdxLast) +
    4188              :                   (Temp - this->RhoTemps(this->LoRhoTempIdxLast)) * this->RhoTempRatios(this->LoRhoTempIdxLast);
    4189              : #else  // !PERFORMANCE_OPT
    4190       306169 :             int LoTempIndex = FindArrayIndex(Temp, this->RhoTemps, 1, this->NumRhoTempPoints);
    4191       306169 :             Real64 TempInterpRatio = (Temp - this->RhoTemps(LoTempIndex)) / (this->RhoTemps(LoTempIndex + 1) - this->RhoTemps(LoTempIndex));
    4192       306169 :             Rho = this->RhoValues(LoTempIndex) + TempInterpRatio * (this->RhoValues(LoTempIndex + 1) - this->RhoValues(LoTempIndex));
    4193              : #endif // PERFORMANCE_OPT
    4194              :         }
    4195              : 
    4196              :         // Error handling
    4197       311649 :         if (error != GlycolError::Invalid && !state.dataGlobal->WarmupFlag) {
    4198         2690 :             df->glycolErrorLimits[(int)error] = ++this->errors[(int)error].count;
    4199              : 
    4200         2690 :             if (error == GlycolError::DensityLow) {
    4201            2 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4202            1 :                     ShowWarningMessage(state, format("{}: Temperature is out of range (too low) for fluid [{}] density **", routineName, this->Name));
    4203            2 :                     ShowContinueError(state,
    4204            2 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4205              :                                              CalledFrom,
    4206              :                                              Temp,
    4207            1 :                                              this->RhoLowTempValue,
    4208            1 :                                              this->RhoHighTempValue));
    4209            3 :                     ShowContinueErrorTimeStamp(state, "");
    4210              :                 }
    4211              : 
    4212            6 :                 ShowRecurringWarningErrorAtEnd(state,
    4213            4 :                                                format("{}: Temperature out of range (too low) for fluid [{}] density **", routineName, this->Name),
    4214            2 :                                                this->errors[(int)GlycolError::DensityLow].index,
    4215              :                                                Temp,
    4216              :                                                "{C}");
    4217              : 
    4218              :             } else { // error == GlycolError::DensityHigh
    4219         2688 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4220            2 :                     ShowWarningMessage(state,
    4221            2 :                                        format("{}: Temperature is out of range (too high) for fluid [{}] density **", routineName, this->Name));
    4222            2 :                     ShowContinueError(state,
    4223            2 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4224              :                                              CalledFrom,
    4225              :                                              Temp,
    4226            1 :                                              this->RhoLowTempValue,
    4227            1 :                                              this->RhoHighTempValue));
    4228            3 :                     ShowContinueErrorTimeStamp(state, "");
    4229              :                 }
    4230         8064 :                 ShowRecurringWarningErrorAtEnd(state,
    4231         5376 :                                                format("{}: Temperature out of range (too high) for fluid [{}] density **", routineName, this->Name),
    4232         2688 :                                                this->errors[(int)GlycolError::DensityHigh].index,
    4233              :                                                Temp,
    4234              :                                                "{C}");
    4235              :             }
    4236              :         }
    4237              : 
    4238              :         // print(state.files.eio, "D,{},{},{}\n", this->Num, CalledFrom, Rho);
    4239       311649 :         return Rho;
    4240              :     }
    4241              : #ifdef GET_OUT
    4242              :     Real64 GetDensityGlycol(EnergyPlusData &state,
    4243              :                             std::string_view const glycolName, // carries in substance name
    4244              :                             Real64 const Temperature,          // actual temperature given as input
    4245              :                             int &GlycolIndex,                  // Index to Glycol Properties
    4246              :                             std::string_view const CalledFrom  // routine this function was called from (error messages)
    4247              :     )
    4248              :     {
    4249              :         // Wrapper for GlycolProps::getDensity()
    4250              :         auto &df = state.dataFluid;
    4251              : 
    4252              :         if (GlycolIndex == 0) {
    4253              :             if ((GlycolIndex = GetGlycolNum(state, glycolName)) == 0) {
    4254              :                 ShowSevereError(state, format("Glycol \"{}\" not found, called from: {}", glycolName, CalledFrom));
    4255              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    4256              :                 return 0.0;
    4257              :             }
    4258              :         }
    4259              : 
    4260              :         return df->glycols(GlycolIndex)->getDensity(state, Temperature, CalledFrom);
    4261              :     }
    4262              : #endif // GET_OUT
    4263              :     //*****************************************************************************
    4264              : 
    4265        22638 :     Real64 GlycolProps::getConductivity(EnergyPlusData &state,
    4266              :                                         Real64 const Temp,                // actual temperature given as input
    4267              :                                         std::string_view const CalledFrom // routine this function was called from (error messages)
    4268              :     )
    4269              :     {
    4270              : 
    4271              :         // FUNCTION INFORMATION:
    4272              :         //       AUTHOR         Rick Strand
    4273              :         //       DATE WRITTEN   June 2004
    4274              : 
    4275              :         // PURPOSE OF THIS FUNCTION:
    4276              :         // This subroutine finds the conductivity for glycols at different
    4277              :         // temperatures.
    4278              : 
    4279              :         // METHODOLOGY EMPLOYED:
    4280              :         // Linear interpolation is used to find conductivity values for a
    4281              :         // particular glycol (water or some mixture of water and another fluid).
    4282              :         // Warnings are given if the point is not clearly in the bounds of the
    4283              :         // glycol data.  The value returned is the appropriate limit value.
    4284              : 
    4285              :         // REFERENCES:
    4286              :         // GetFluidPropertiesData: subroutine enforces that temperatures in
    4287              :         // all temperature lists are entered in ascending order.
    4288              : 
    4289              :         // Return value
    4290              :         Real64 Cond;
    4291              : 
    4292              :         // FUNCTION PARAMETERS:
    4293              :         static constexpr std::string_view routineName = "GlycolProps::getConductivity";
    4294              : 
    4295              :         // FUNCTION LOCAL VARIABLE DECLARATIONS:
    4296        22638 :         GlycolError error = GlycolError::Invalid;
    4297              : 
    4298        22638 :         auto &df = state.dataFluid;
    4299              : 
    4300              :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4301        22638 :         if (!this->CondDataPresent) {
    4302            0 :             ShowSevereError(state, format("{}: conductivity data not found for glycol \"{}\", called from {}", routineName, this->Name, CalledFrom));
    4303            0 :             ShowFatalError(state, "Program terminates due to preceding condition.");
    4304            0 :             return 0.0;
    4305              :         }
    4306              : 
    4307              :         // Now determine the value of specific heat using interpolation
    4308        22638 :         if (Temp < this->CondLowTempValue) { // Temperature too low
    4309            0 :             error = GlycolError::ConductivityLow;
    4310            0 :             Cond = this->CondValues(this->CondLowTempIndex);
    4311        22638 :         } else if (Temp > this->CondHighTempValue) { // Temperature too high
    4312            0 :             error = GlycolError::ConductivityHigh;
    4313            0 :             Cond = this->CondValues(this->CondHighTempIndex);
    4314              :         } else { // Temperature somewhere between the lowest and highest value
    4315              : #ifdef PERFORMANCE_OPT
    4316              :             if (Temp < this->CondTemps(this->LoCondTempIdxLast) || Temp > this->CondTemps(this->LoCondTempIdxLast + 1)) {
    4317              :                 this->LoCondTempIdxLast = FindArrayIndex(Temp, this->CondTemps, 1, this->NumCondTempPoints);
    4318              :             }
    4319              :             Cond = this->CondValues(this->LoCondTempIdxLast) +
    4320              :                    (Temp - this->CondTemps(this->LoCondTempIdxLast)) * this->CondTempRatios(this->LoCondTempIdxLast);
    4321              : #else  // !PERFORMANCE_OPT
    4322        22638 :             int LoTempIndex = FindArrayIndex(Temp, this->CondTemps, 1, this->NumCondTempPoints);
    4323        22638 :             Real64 TempInterpRatio = (Temp - this->CondTemps(LoTempIndex)) / (this->CondTemps(LoTempIndex + 1) - this->CondTemps(LoTempIndex));
    4324        22638 :             Cond = this->CondValues(LoTempIndex) + TempInterpRatio * (this->CondValues(LoTempIndex + 1) - this->CondValues(LoTempIndex));
    4325              : #endif // PERFORMANCE_OPT
    4326              :         }
    4327              : 
    4328              :         // Error handling
    4329        22638 :         if (!state.dataGlobal->WarmupFlag && error != GlycolError::Invalid) {
    4330            0 :             df->glycolErrorLimits[(int)error] = ++this->errors[(int)error].count;
    4331              : 
    4332            0 :             if (error == GlycolError::ConductivityLow) {
    4333            0 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4334            0 :                     ShowWarningMessage(state,
    4335            0 :                                        format("{}: Temperature is out of range (too low) for fluid [{}] conductivity **", routineName, this->Name));
    4336            0 :                     ShowContinueError(state,
    4337            0 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4338              :                                              CalledFrom,
    4339              :                                              Temp,
    4340            0 :                                              this->CondLowTempValue,
    4341            0 :                                              this->CondHighTempValue));
    4342            0 :                     ShowContinueErrorTimeStamp(state, "");
    4343              :                 }
    4344              : 
    4345            0 :                 ShowRecurringWarningErrorAtEnd(
    4346              :                     state,
    4347            0 :                     format("{}: Temperature out of range (too low) for fluid [{}] conductivity **", routineName, this->Name),
    4348            0 :                     this->errors[(int)error].index,
    4349              :                     Temp,
    4350              :                     "{C}");
    4351              :             }
    4352              : 
    4353            0 :             else if (error == GlycolError::ConductivityHigh) {
    4354            0 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4355            0 :                     ShowWarningMessage(state,
    4356            0 :                                        format("{}: Temperature is out of range (too high) for fluid [{}] conductivity **", routineName, this->Name));
    4357            0 :                     ShowContinueError(state,
    4358            0 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4359              :                                              CalledFrom,
    4360              :                                              Temp,
    4361            0 :                                              this->CondLowTempValue,
    4362            0 :                                              this->CondHighTempValue));
    4363            0 :                     ShowContinueErrorTimeStamp(state, "");
    4364              :                 }
    4365              : 
    4366            0 :                 ShowRecurringWarningErrorAtEnd(
    4367              :                     state,
    4368            0 :                     format("{}: Temperature out of range (too high) for fluid [{}] conductivity **", routineName, this->Name),
    4369            0 :                     this->errors[(int)error].index,
    4370              :                     Temp,
    4371              :                     "{C}");
    4372              :             }
    4373              :         }
    4374              : 
    4375        22638 :         return Cond;
    4376              :     } // GlycolProps::getConductivity()
    4377              : #ifdef GET_OUT
    4378              :     Real64 GetConductivityGlycol(EnergyPlusData &state,
    4379              :                                  std::string_view const glycolName, // carries in substance name
    4380              :                                  Real64 const Temperature,          // actual temperature given as input
    4381              :                                  int &GlycolIndex,                  // Index to Glycol Properties
    4382              :                                  std::string_view const CalledFrom  // routine this function was called from (error messages)
    4383              :     )
    4384              :     {
    4385              :         // Wrapper for GlycolProps::getConductivity()
    4386              :         auto &df = state.dataFluid;
    4387              : 
    4388              :         if (GlycolIndex == 0) {
    4389              :             if ((GlycolIndex = GetGlycolNum(state, glycolName)) == 0) {
    4390              :                 ShowSevereError(state, format("Glycol \"{}\" not found, called from: {}", glycolName, CalledFrom));
    4391              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    4392              :                 return 0.0;
    4393              :             }
    4394              :         }
    4395              : 
    4396              :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4397              :         return df->glycols(GlycolIndex)->getConductivity(state, Temperature, CalledFrom);
    4398              :     }
    4399              : #endif // GET_OUT
    4400              :     //*****************************************************************************
    4401              : 
    4402        22638 :     Real64 GlycolProps::getViscosity(EnergyPlusData &state,
    4403              :                                      Real64 const Temp,                // actual temperature given as input
    4404              :                                      std::string_view const CalledFrom // routine this function was called from (error messages)
    4405              :     )
    4406              :     {
    4407              : 
    4408              :         // FUNCTION INFORMATION:
    4409              :         //       AUTHOR         Rick Strand
    4410              :         //       DATE WRITTEN   June 2004
    4411              : 
    4412              :         // PURPOSE OF THIS FUNCTION:
    4413              :         // This subroutine finds the viscosity for glycols at different
    4414              :         // temperatures.
    4415              : 
    4416              :         // METHODOLOGY EMPLOYED:
    4417              :         // Linear interpolation is used to find viscosity values for a
    4418              :         // particular glycol (water or some mixture of water and another fluid).
    4419              :         // Warnings are given if the point is not clearly in the bounds of the
    4420              :         // glycol data.  The value returned is the appropriate limit value.
    4421              : 
    4422              :         // REFERENCES:
    4423              :         // GetFluidPropertiesData: subroutine enforces that temperatures in
    4424              :         // all temperature lists are entered in ascending order.
    4425              : 
    4426              :         // Return value
    4427              :         Real64 Visc; // Value for function
    4428              : 
    4429              :         // FUNCTION PARAMETERS:
    4430              :         static constexpr std::string_view routineName = "GlycolProps::getViscosity";
    4431              : 
    4432              :         // FUNCTION LOCAL VARIABLE DECLARATIONS:
    4433        22638 :         GlycolError error = GlycolError::Invalid;
    4434              : 
    4435        22638 :         auto &df = state.dataFluid;
    4436              : 
    4437              :         // If user didn't input data (shouldn't get this far, but just in case...), we can't find a value
    4438        22638 :         if (!this->ViscDataPresent) {
    4439            0 :             ShowSevereError(state, format("{}: viscosity data not found for glycol \"{}\", called from {}", routineName, this->Name, CalledFrom));
    4440            0 :             ShowFatalError(state, "Program terminates due to preceding condition.");
    4441            0 :             return 0.0;
    4442              :         }
    4443              : 
    4444              :         // Now determine the value of specific heat using interpolation
    4445        22638 :         if (Temp < this->ViscLowTempValue) { // Temperature too low
    4446            0 :             error = GlycolError::ViscosityLow;
    4447            0 :             Visc = this->ViscValues(this->ViscLowTempIndex);
    4448        22638 :         } else if (Temp > this->ViscHighTempValue) { // Temperature too high
    4449            0 :             error = GlycolError::ViscosityHigh;
    4450            0 :             Visc = this->ViscValues(this->ViscHighTempIndex);
    4451              :         } else { // Temperature somewhere between the lowest and highest value
    4452              : #ifdef PERFORMANCE_OPT
    4453              :             if (Temp < this->ViscTemps(this->LoViscTempIdxLast) || Temp > this->ViscTemps(this->LoViscTempIdxLast + 1)) {
    4454              :                 this->LoViscTempIdxLast = FindArrayIndex(Temp, this->ViscTemps, 1, this->NumViscTempPoints);
    4455              :             }
    4456              :             Visc = this->ViscValues(this->LoViscTempIdxLast) +
    4457              :                    (Temp - this->ViscTemps(this->LoViscTempIdxLast)) * this->ViscTempRatios(this->LoViscTempIdxLast);
    4458              : #else  // !PERFORMANCE_OPT
    4459        22638 :             int LoTempIndex = FindArrayIndex(Temp, this->ViscTemps, 1, this->NumViscTempPoints);
    4460        22638 :             Real64 TempInterpRatio = (Temp - this->ViscTemps(LoTempIndex)) / (this->ViscTemps(LoTempIndex + 1) - this->ViscTemps(LoTempIndex));
    4461        22638 :             Visc = this->ViscValues(LoTempIndex) + TempInterpRatio * (this->ViscValues(LoTempIndex + 1) - this->ViscValues(LoTempIndex));
    4462              : #endif // PERFORMANCE_OPT
    4463              :         }
    4464              : 
    4465              :         // Error handling
    4466        22638 :         if (!state.dataGlobal->WarmupFlag && error != GlycolError::Invalid) {
    4467            0 :             df->glycolErrorLimits[(int)error] = ++this->errors[(int)error].count;
    4468              : 
    4469            0 :             if (error == GlycolError::ViscosityHigh) {
    4470            0 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4471            0 :                     ShowWarningMessage(state,
    4472            0 :                                        format("{}: Temperature is out of range (too low) for fluid [{}] viscosity **", routineName, this->Name));
    4473            0 :                     ShowContinueError(state,
    4474            0 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4475              :                                              CalledFrom,
    4476              :                                              Temp,
    4477            0 :                                              this->ViscLowTempValue,
    4478            0 :                                              this->ViscHighTempValue));
    4479            0 :                     ShowContinueErrorTimeStamp(state, "");
    4480              :                 }
    4481              : 
    4482            0 :                 ShowRecurringWarningErrorAtEnd(state,
    4483            0 :                                                format("{}: Temperature out of range (too low) for fluid [{}] viscosity **", routineName, this->Name),
    4484            0 :                                                this->errors[(int)GlycolError::ViscosityLow].index,
    4485              :                                                Temp,
    4486              :                                                "{C}");
    4487              :             }
    4488              : 
    4489            0 :             else if (error == GlycolError::ViscosityHigh) {
    4490            0 :                 if (df->glycolErrorLimits[(int)error] <= df->GlycolErrorLimitTest) {
    4491            0 :                     ShowWarningMessage(state,
    4492            0 :                                        format("{}: Temperature is out of range (too high) for fluid [{}] viscosity **", routineName, this->Name));
    4493            0 :                     ShowContinueError(state,
    4494            0 :                                       format("..Called From:{},Temperature=[{:.2R}], supplied data range=[{:.2R},{:.2R}]",
    4495              :                                              CalledFrom,
    4496              :                                              Temp,
    4497            0 :                                              this->ViscLowTempValue,
    4498            0 :                                              this->ViscHighTempValue));
    4499            0 :                     ShowContinueErrorTimeStamp(state, "");
    4500              :                 }
    4501              : 
    4502            0 :                 ShowRecurringWarningErrorAtEnd(state,
    4503            0 :                                                format("{}: Temperature out of range (too high) for fluid [{}] viscosity **", routineName, this->Name),
    4504            0 :                                                this->errors[(int)GlycolError::ViscosityHigh].index,
    4505              :                                                Temp,
    4506              :                                                "{C}");
    4507              :             }
    4508              :         }
    4509              : 
    4510        22638 :         return Visc;
    4511              :     } // GlycolProps::getViscosity()
    4512              : #ifdef GET_OUT
    4513              :     Real64 GetViscosityGlycol(EnergyPlusData &state,
    4514              :                               std::string_view const glycolName, // carries in substance name
    4515              :                               Real64 const Temperature,          // actual temperature given as input
    4516              :                               int &GlycolIndex,                  // Index to Glycol Properties
    4517              :                               std::string_view const CalledFrom  // routine this function was called from (error messages)
    4518              :     )
    4519              :     {
    4520              :         // Wrapper for GlycolProps::getViscosity()
    4521              :         auto &df = state.dataFluid;
    4522              : 
    4523              :         if (GlycolIndex == 0) {
    4524              :             if ((GlycolIndex = GetGlycolNum(state, glycolName)) == 0) {
    4525              :                 ShowSevereError(state, format("Glycol \"{}\" not found, called from: {}", glycolName, CalledFrom));
    4526              :                 ShowFatalError(state, "Program terminates due to preceding condition.");
    4527              :                 return 0.0;
    4528              :             }
    4529              :         }
    4530              : 
    4531              :         // Now determine the value of specific heat using interpolation
    4532              :         return df->glycols(GlycolIndex)->getViscosity(state, Temperature, CalledFrom);
    4533              :     }
    4534              : #endif // GET_OUT
    4535              :     //*****************************************************************************
    4536              : 
    4537         1487 :     int GetRefrigNum(EnergyPlusData &state, std::string_view const refrigName) // carries in substance name
    4538              :     {
    4539              :         // FUNCTION INFORMATION:
    4540              :         //       AUTHOR         Rick Strand
    4541              :         //       DATE WRITTEN   May 2000
    4542              :         //       MODIFIED       Simon Rees (June 2002)
    4543              : 
    4544              :         // PURPOSE OF THIS FUNCTION:
    4545              :         // This function simply determines the index of the refrigerant named
    4546              :         // in the input variable to this routine within the derived type.
    4547         1487 :         auto &df = state.dataFluid;
    4548              : 
    4549              :         auto found =
    4550         4450 :             std::find_if(df->refrigs.begin(), df->refrigs.end(), [refrigName](RefrigProps const *refrig) { return refrig->Name == refrigName; });
    4551              : 
    4552         1487 :         if (found == df->refrigs.end()) return 0;
    4553              : 
    4554         1479 :         int refrigNum = (found - df->refrigs.begin()) + 1;
    4555         1479 :         df->refrigs(refrigNum)->used = true;
    4556         1479 :         return refrigNum;
    4557              :     }
    4558              : 
    4559         1478 :     RefrigProps *GetRefrig(EnergyPlusData &state, std::string_view const refrigName)
    4560              :     {
    4561         1478 :         auto &df = state.dataFluid;
    4562         1478 :         int refrigNum = GetRefrigNum(state, refrigName);
    4563         1478 :         return (refrigNum > 0) ? df->refrigs(refrigNum) : nullptr;
    4564              :     }
    4565              : 
    4566           23 :     RefrigProps *GetSteam(EnergyPlusData &state)
    4567              :     {
    4568           23 :         assert(state.dataFluid->refrigs.isize() >= RefrigNum_Steam);
    4569           23 :         return state.dataFluid->refrigs(RefrigNum_Steam);
    4570              :     }
    4571              : 
    4572              :     //*****************************************************************************
    4573              : 
    4574         2134 :     int GetGlycolNum(EnergyPlusData &state, std::string_view const glycolName) // carries in substance name
    4575              :     {
    4576              :         // FUNCTION INFORMATION:
    4577              :         //       AUTHOR         Rick Strand
    4578              :         //       DATE WRITTEN   May 2000
    4579              :         //       MODIFIED       Simon Rees (June 2002)
    4580              : 
    4581              :         // PURPOSE OF THIS FUNCTION:
    4582              :         // This function simply determines the index of the glycol named
    4583              :         // in the input variable to this routine within the derived type.
    4584         2134 :         auto &df = state.dataFluid;
    4585              : 
    4586              :         auto found =
    4587         2145 :             std::find_if(df->glycols.begin(), df->glycols.end(), [glycolName](GlycolProps const *glycol) { return glycol->Name == glycolName; });
    4588              : 
    4589         2134 :         if (found == df->glycols.end()) return 0;
    4590              : 
    4591            5 :         int glycolNum = (found - df->glycols.begin()) + 1;
    4592            5 :         df->glycols(glycolNum)->used = true;
    4593            5 :         return glycolNum;
    4594              :     }
    4595              : 
    4596         2134 :     GlycolProps *GetGlycol(EnergyPlusData &state, std::string_view const glycolName)
    4597              :     {
    4598         2134 :         auto &df = state.dataFluid;
    4599         2134 :         int glycolNum = GetGlycolNum(state, glycolName);
    4600         2134 :         return (glycolNum > 0) ? df->glycols(glycolNum) : nullptr;
    4601              :     }
    4602              : 
    4603          466 :     GlycolProps *GetWater(EnergyPlusData &state)
    4604              :     {
    4605          466 :         assert(state.dataFluid->glycols.isize() >= GlycolNum_Water);
    4606          466 :         return state.dataFluid->glycols(GlycolNum_Water);
    4607              :     }
    4608              : 
    4609         4599 :     int GetGlycolRawNum(EnergyPlusData &state, std::string_view const glycolRawName) // carries in substance name
    4610              :     {
    4611         4599 :         auto const &df = state.dataFluid;
    4612              : 
    4613         4599 :         auto found = std::find_if(df->glycolsRaw.begin(), df->glycolsRaw.end(), [glycolRawName](GlycolRawProps const *glycolRaw) {
    4614         3805 :             return glycolRaw->Name == glycolRawName;
    4615              :         });
    4616              : 
    4617         4599 :         if (found == df->glycolsRaw.end()) return 0;
    4618              : 
    4619           95 :         int glycolRawNum = (found - df->glycolsRaw.begin()) + 1;
    4620           95 :         return glycolRawNum;
    4621              :     }
    4622              : 
    4623         4599 :     GlycolRawProps *GetGlycolRaw(EnergyPlusData &state, std::string_view const glycolRawName)
    4624              :     {
    4625         4599 :         auto &df = state.dataFluid;
    4626         4599 :         int glycolRawNum = GetGlycolRawNum(state, glycolRawName);
    4627         4599 :         return (glycolRawNum > 0) ? df->glycolsRaw(glycolRawNum) : nullptr;
    4628              :     }
    4629              : 
    4630              :     //*****************************************************************************
    4631              : 
    4632            0 :     std::string GetGlycolNameByIndex(EnergyPlusData &state, int const Idx) // carries in substance index
    4633              :     {
    4634              :         // FUNCTION INFORMATION:
    4635              :         //       AUTHOR         Edwin Lee
    4636              :         //       DATE WRITTEN   May 2009
    4637              : 
    4638              :         // PURPOSE OF THIS FUNCTION:
    4639              :         // This function simply returns the glycol name by index from the
    4640              :         // GlycolData data structure.  This is needed to expose the name
    4641              :         // as the data structure is private.
    4642              :         // This is used by plant equipment to pass in both the proper index
    4643              :         // and the proper name when calling glycol routines.  Thus, the index
    4644              :         // is already known, and the input is assumed to be found.
    4645              : 
    4646              :         // METHODOLOGY EMPLOYED:
    4647              :         // Just checks to see whether or not the glycol index is valid
    4648              :         // and if so, the function returns the name.  If not, it returns ' '
    4649              : 
    4650              :         // Check to see if this glycol shows up in the glycol data
    4651              :         //  ArrayLength = SIZE(GlycolData)
    4652              : 
    4653            0 :         auto &df = state.dataFluid;
    4654            0 :         if (Idx > 0 && Idx <= df->glycols.isize()) {
    4655            0 :             return df->glycols(Idx)->Name;
    4656              :         } else { // return blank - error checking in calling proceedure
    4657            0 :             return "";
    4658              :         }
    4659              :     }
    4660              : 
    4661              :     //*****************************************************************************
    4662              : 
    4663       826499 :     int FindArrayIndex(Real64 const Value,           // Value to be placed/found within the array of values
    4664              :                        Array1D<Real64> const &Array, // Array of values in ascending order
    4665              :                        int const LowBound,           // Valid values lower bound (set by calling program)
    4666              :                        int const UpperBound          // Valid values upper bound (set by calling program)
    4667              :     )
    4668              :     {
    4669              :         // FUNCTION INFORMATION:
    4670              :         //       AUTHOR         Rick Strand
    4671              :         //       DATE WRITTEN   May 2000
    4672              :         //       MODIFIED       Simon Rees (May 2002)
    4673              :         //       RE-ENGINEERED  Autodesk (Nov 2013) (performance tuned on C++)
    4674              : 
    4675              :         // PURPOSE OF THIS FUNCTION:
    4676              :         // This generic function simply finds the points in an array between
    4677              :         // which a single value is found.  The returned value is the index of
    4678              :         // the low point.
    4679              : 
    4680              :         // METHODOLOGY EMPLOYED:
    4681              :         // Straight interval halving. It is assumed that the values in the array
    4682              :         // appear in ascending order. If the value is below that in the supplied
    4683              :         // data array a zero index is returned. If the value is above that in the
    4684              :         // supplied data array, the max index is returned. This allows some error
    4685              :         // checking in the calling routine.
    4686              : 
    4687              :         // Autodesk:Tuned Profiling hot spot: Slightly slower when inlined
    4688              : 
    4689              :         // Bit shifting is substantially faster than /2 at least on GCC even with high optimization
    4690              :         // Linear indexing used to assure we are bit shifting positive values where behavior is assured
    4691              :         // std::lower_bound was 4x slower for the small (~100) array sizes seen in EnergyPlus use
    4692              :         typedef Array1D<Real64>::size_type size_type;
    4693       826499 :         int const l(Array.l());
    4694       826499 :         assert(LowBound >= l);
    4695       826499 :         assert(LowBound <= UpperBound);
    4696       826499 :         assert(UpperBound <= Array.u());
    4697       826499 :         assert(!Array.empty()); // Empty arrays are not currently supported
    4698       826499 :         assert(l > 0);          // Returning 0 for Value smaller than lowest doesn't make sense if l() <= 0
    4699       826499 :         size_type beg(LowBound - l);
    4700       826499 :         if (Value < Array[beg]) {
    4701            7 :             return 0;
    4702              :         } else {
    4703       826492 :             size_type end(UpperBound - l);
    4704       826492 :             if (Value > Array[end]) {
    4705           28 :                 return UpperBound;
    4706              :             } else { // Binary search
    4707              :                 size_type mid;
    4708      5158112 :                 while (beg + 1 < end) {
    4709      4331648 :                     mid = ((beg + end) >> 1);
    4710      4331648 :                     (Value > Array[mid] ? beg : end) = mid;
    4711              :                 }
    4712       826464 :                 return l + beg;
    4713              :             }
    4714              :         }
    4715              :     }
    4716              : 
    4717            0 :     int FindArrayIndex(Real64 const Value,          // Value to be placed/found within the array of values
    4718              :                        Array1D<Real64> const &Array // Array of values in ascending order
    4719              :     )
    4720              :     {
    4721              :         // FUNCTION INFORMATION:
    4722              :         //       AUTHOR         Rick Strand
    4723              :         //       DATE WRITTEN   May 2000
    4724              :         //       MODIFIED       Simon Rees (May 2002)
    4725              :         //       RE-ENGINEERED  Autodesk (Nov 2013) (performance tuned on C++)
    4726              : 
    4727              :         // PURPOSE OF THIS FUNCTION:
    4728              :         // This generic function simply finds the points in an array between
    4729              :         // which a single value is found.  The returned value is the index of
    4730              :         // the low point.
    4731              : 
    4732              :         // METHODOLOGY EMPLOYED:
    4733              :         // Straight interval halving. It is assumed that the values in the array
    4734              :         // appear in ascending order. If the value is below that in the supplied
    4735              :         // data array a zero index is returned. If the value is above that in the
    4736              :         // supplied data array, the max index is returned. This allows some error
    4737              :         // checking in the calling routine.
    4738              : 
    4739              :         // Autodesk:Tuned Profiling hot spot: Slightly slower when inlined
    4740              : 
    4741              :         // Bit shifting is substantially faster than /2 at least on GCC even with high optimization
    4742              :         // Linear indexing used to assure we are bit shifting positive values where behavior is assured
    4743              :         // std::lower_bound was 4x slower for the small (~100) array sizes seen in EnergyPlus use
    4744              :         typedef Array1D<Real64>::size_type size_type;
    4745            0 :         assert(!Array.empty()); // Empty arrays are not currently supported
    4746            0 :         assert(Array.l() > 0);  // Returning 0 for Value smaller than lowest doesn't make sense if l() <= 0
    4747            0 :         if (Value < Array[0]) {
    4748            0 :             return 0;
    4749              :         } else {
    4750            0 :             size_type end(Array.size() - 1u);
    4751            0 :             if (Value > Array[end]) {
    4752            0 :                 return Array.u();
    4753              :             } else { // Binary search
    4754            0 :                 size_type beg(0), mid;
    4755            0 :                 while (beg + 1 < end) {
    4756            0 :                     mid = ((beg + end) >> 1);
    4757            0 :                     (Value > Array[mid] ? beg : end) = mid;
    4758              :                 }
    4759            0 :                 return Array.l() + beg;
    4760              :             }
    4761              :         }
    4762              :     }
    4763              : 
    4764              :     //*****************************************************************************
    4765              : 
    4766        38496 :     Real64 GetInterpolatedSatProp(EnergyPlusData &state,
    4767              :                                   Real64 const Temperature,          // Saturation Temp.
    4768              :                                   Array1D<Real64> const &PropTemps,  // Array of temperature at which props are available
    4769              :                                   Array1D<Real64> const &LiqProp,    // Array of saturated liquid properties
    4770              :                                   Array1D<Real64> const &VapProp,    // Array of saturatedvapour properties
    4771              :                                   Real64 const Quality,              // Quality
    4772              :                                   std::string_view const CalledFrom, // routine this function was called from (error messages)
    4773              :                                   int const LowBound,                // Valid values lower bound (set by calling program)
    4774              :                                   int const UpperBound               // Valid values upper bound (set by calling program)
    4775              :     )
    4776              :     {
    4777              : 
    4778              :         // FUNCTION INFORMATION:
    4779              :         //       AUTHOR         Simon Rees
    4780              :         //       DATE WRITTEN   May 2002
    4781              : 
    4782              :         // PURPOSE OF THIS FUNCTION:
    4783              :         // This generic function performs an interpolation on the supplied saturated
    4784              :         // liquid and vapor data to find the saturated property value at a given
    4785              :         // temperature and quality. This function is used by all the functions that
    4786              :         // get saturated property values.
    4787              : 
    4788              :         // METHODOLOGY EMPLOYED:
    4789              :         // Index of arrays either side of given temperature is found using FindArrayIndex.
    4790              :         // Double linear interpolation is used to first find property values at the given
    4791              :         // quality bounding the required temperature. These values are interpolated in the
    4792              :         // temperature domain to find the final value.
    4793              : 
    4794              :         // Return value
    4795              :         Real64 ReturnValue;
    4796              : 
    4797              :         // error counters and dummy string
    4798        38496 :         bool ErrorFlag(false); // error flag for current call
    4799              : 
    4800        38496 :         int const LoTempIndex = FindArrayIndex(Temperature, PropTemps, LowBound, UpperBound); // array index for temp above input temp
    4801              : 
    4802        38496 :         if (LoTempIndex == 0) {
    4803            5 :             ReturnValue = LiqProp(LowBound) + Quality * (VapProp(LowBound) - LiqProp(LowBound));
    4804            5 :             ErrorFlag = true;
    4805        38491 :         } else if (LoTempIndex >= UpperBound) {
    4806           14 :             ReturnValue = LiqProp(UpperBound) + Quality * (VapProp(UpperBound) - LiqProp(UpperBound));
    4807           14 :             ErrorFlag = true;
    4808              :         } else {
    4809        38477 :             int const HiTempIndex = LoTempIndex + 1; // array index for temp below input temp
    4810              : 
    4811              :             // find adjacent property values at the given quality
    4812        38477 :             Real64 const LiqProp_Lo = LiqProp(LoTempIndex);
    4813        38477 :             Real64 const LoSatProp = LiqProp_Lo + Quality * (VapProp(LoTempIndex) - LiqProp_Lo); // Sat. prop. at lower temp & given quality
    4814              : 
    4815        38477 :             Real64 const LiqProp_Hi = LiqProp(HiTempIndex);
    4816        38477 :             Real64 const HiSatProp = LiqProp_Hi + Quality * (VapProp(HiTempIndex) - LiqProp_Hi); // Sat. prop. at higher temp & given quality
    4817              : 
    4818              :             // find interpolation ratio in temperature direction
    4819        38477 :             Real64 const PropTemps_Lo = PropTemps(LoTempIndex);
    4820        38477 :             Real64 const TempInterpRatio = (Temperature - PropTemps_Lo) / (PropTemps(HiTempIndex) - PropTemps_Lo);
    4821              : 
    4822              :             // apply final linear interpolation
    4823        38477 :             ReturnValue = LoSatProp + TempInterpRatio * (HiSatProp - LoSatProp);
    4824              :         }
    4825              : 
    4826        38496 :         if (ErrorFlag && (CalledFrom != "ReportAndTestRefrigerants")) {
    4827           19 :             auto &df = state.dataFluid;
    4828              : 
    4829           19 :             ++df->TempRangeErrCountGetInterpolatedSatProp;
    4830              :             // send warning
    4831           19 :             if (df->TempRangeErrCountGetInterpolatedSatProp <= df->RefrigErrorLimitTest) {
    4832            6 :                 ShowWarningError(state, "GetInterpolatedSatProp: Saturation temperature for interpolation is out of range of data supplied: **");
    4833            6 :                 ShowContinueErrorTimeStamp(state, fmt::format(" Called from:{}", CalledFrom));
    4834            3 :                 ShowContinueError(state, format("Refrigerant temperature = {:.2R}", Temperature));
    4835            3 :                 ShowContinueError(state, format("Returned saturated property value = {:.3R}", ReturnValue));
    4836              :             } else {
    4837           64 :                 ShowRecurringWarningErrorAtEnd(state,
    4838              :                                                "GetInterpolatedSatProp: Refrigerant temperature for interpolation out of range error",
    4839           16 :                                                df->TempRangeErrIndexGetInterpolatedSatProp,
    4840              :                                                Temperature,
    4841              :                                                "{C}");
    4842              :             }
    4843              :         }
    4844              : 
    4845        38496 :         return ReturnValue;
    4846              :     }
    4847              : 
    4848              :     //*****************************************************************************
    4849              : 
    4850           24 :     void ReportOrphanFluids(EnergyPlusData &state)
    4851              :     {
    4852              : 
    4853              :         // SUBROUTINE INFORMATION:
    4854              :         //       AUTHOR         Linda Lawrie
    4855              :         //       DATE WRITTEN   March 2010
    4856              : 
    4857              :         // PURPOSE OF THIS SUBROUTINE:
    4858              :         // In response to CR8008, report orphan (unused) fluid items.
    4859              : 
    4860              :         // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    4861           24 :         bool NeedOrphanMessage = true;
    4862           24 :         int NumUnusedRefrig = 0;
    4863              : 
    4864           24 :         auto const &df = state.dataFluid;
    4865              : 
    4866           48 :         for (auto const *refrig : df->refrigs) {
    4867           24 :             if (refrig->used) continue;
    4868           24 :             if (refrig->Name == "STEAM") continue;
    4869            0 :             if (NeedOrphanMessage && state.dataGlobal->DisplayUnusedObjects) {
    4870            0 :                 ShowWarningError(state, "The following fluid names are \"Unused Fluids\".  These fluids are in the idf");
    4871            0 :                 ShowContinueError(state, " file but are never obtained by the simulation and therefore are NOT used.");
    4872            0 :                 NeedOrphanMessage = false;
    4873              :             }
    4874            0 :             if (state.dataGlobal->DisplayUnusedObjects) {
    4875            0 :                 ShowMessage(state, format("Refrigerant={}", refrig->Name));
    4876              :             } else {
    4877            0 :                 ++NumUnusedRefrig;
    4878              :             }
    4879              :         }
    4880              : 
    4881           24 :         int NumUnusedGlycol = 0;
    4882              : 
    4883           48 :         for (auto const *glycol : df->glycols) {
    4884           24 :             if (glycol->used) continue;
    4885            0 :             if (glycol->Name == "WATER") continue;
    4886            0 :             if (glycol->Name == "ETHYLENEGLYCOL") continue;
    4887            0 :             if (glycol->Name == "PROPYLENEGLYCOL") continue;
    4888            0 :             if (NeedOrphanMessage && state.dataGlobal->DisplayUnusedObjects) {
    4889            0 :                 ShowWarningError(state, "The following fluid names are \"Unused Fluids\".  These fluids are in the idf");
    4890            0 :                 ShowContinueError(state, " file but are never obtained by the simulation and therefore are NOT used.");
    4891            0 :                 NeedOrphanMessage = false;
    4892              :             }
    4893            0 :             if (state.dataGlobal->DisplayUnusedObjects) {
    4894            0 :                 ShowMessage(state, format("Glycol={}", glycol->Name));
    4895              :             } else {
    4896            0 :                 ++NumUnusedGlycol;
    4897              :             }
    4898              :         }
    4899              : 
    4900           24 :         if (NumUnusedRefrig > 0 || NumUnusedGlycol > 0) {
    4901            0 :             if (NumUnusedRefrig > 0) ShowMessage(state, format("There are {} unused refrigerants in input.", NumUnusedRefrig));
    4902            0 :             if (NumUnusedGlycol > 0) ShowMessage(state, format("There are {} unused glycols in input.", NumUnusedGlycol));
    4903            0 :             ShowMessage(state, "Use Output:Diagnostics,DisplayUnusedObjects; to see them.");
    4904              :         }
    4905           24 :     }
    4906              : 
    4907            0 :     void GlycolProps::getDensityTemperatureLimits(EnergyPlusData &state, Real64 &MinTempLimit, Real64 &MaxTempLimit)
    4908              :     {
    4909            0 :         MinTempLimit = this->RhoLowTempValue;
    4910            0 :         MaxTempLimit = this->RhoHighTempValue;
    4911            0 :     }
    4912              : 
    4913            0 :     void GlycolProps::getSpecificHeatTemperatureLimits(EnergyPlusData &state, Real64 &MinTempLimit, Real64 &MaxTempLimit)
    4914              :     {
    4915            0 :         MinTempLimit = this->CpLowTempValue;
    4916            0 :         MaxTempLimit = this->CpHighTempValue;
    4917            0 :     }
    4918              : 
    4919              : #ifdef UNUSED_FLUID_PROPS
    4920              :     static constexpr std::array<std::array<Real64, DefaultNumSteamSuperheatedTemps>, DefaultNumSteamSuperheatedPressure>
    4921              :         DefaultSteamSuperheatedEnthalpyDataTable = {
    4922              :             {{2501000.0, 2503000.0, 2510000.0, 2520000.0, 2529000.0, 2538000.0, 2548000.0, 2557000.0, 2566000.0, 2576000.0, 2585000.0, 2595000.0,
    4923              :               2604000.0, 2613000.0, 2623000.0, 2632000.0, 2636000.0, 2640000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2658000.0, 2662000.0,
    4924              :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2689000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    4925              :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    4926              :               2721000.0, 2723000.0, 2725000.0, 2727000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    4927              :               2744000.0, 2746000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    4928              :               2788000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    4929              :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    4930              :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    4931              :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    4932              :              {0.0,       2503000.0, 2510000.0, 2520000.0, 2529000.0, 2538000.0, 2548000.0, 2557000.0, 2566000.0, 2576000.0, 2585000.0, 2595000.0,
    4933              :               2604000.0, 2613000.0, 2623000.0, 2632000.0, 2636000.0, 2640000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2658000.0, 2662000.0,
    4934              :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2689000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    4935              :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    4936              :               2721000.0, 2723000.0, 2725000.0, 2727000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    4937              :               2744000.0, 2746000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    4938              :               2788000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    4939              :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    4940              :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    4941              :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    4942              :              {0.0,       0.0,       2510000.0, 2519000.0, 2529000.0, 2538000.0, 2548000.0, 2557000.0, 2566000.0, 2576000.0, 2585000.0, 2594000.0,
    4943              :               2604000.0, 2613000.0, 2623000.0, 2632000.0, 2636000.0, 2640000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2658000.0, 2662000.0,
    4944              :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2689000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    4945              :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    4946              :               2721000.0, 2723000.0, 2725000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    4947              :               2744000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    4948              :               2788000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    4949              :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    4950              :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    4951              :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    4952              :              {0.0,       0.0,       0.0,       2519000.0, 2529000.0, 2538000.0, 2547000.0, 2557000.0, 2566000.0, 2576000.0, 2585000.0, 2594000.0,
    4953              :               2604000.0, 2613000.0, 2623000.0, 2632000.0, 2636000.0, 2639000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2658000.0, 2662000.0,
    4954              :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2689000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    4955              :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    4956              :               2721000.0, 2723000.0, 2725000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    4957              :               2744000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    4958              :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    4959              :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    4960              :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    4961              :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    4962              :              {0.0,       0.0,       0.0,       0.0,       2528000.0, 2538000.0, 2547000.0, 2557000.0, 2566000.0, 2575000.0, 2585000.0, 2594000.0,
    4963              :               2604000.0, 2613000.0, 2622000.0, 2632000.0, 2636000.0, 2639000.0, 2643000.0, 2647000.0, 2651000.0, 2654000.0, 2658000.0, 2662000.0,
    4964              :               2666000.0, 2670000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    4965              :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    4966              :               2721000.0, 2723000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    4967              :               2744000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    4968              :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    4969              :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    4970              :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    4971              :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    4972              :              {0.0,       0.0,       0.0,       0.0,       0.0,       2537000.0, 2547000.0, 2556000.0, 2566000.0, 2575000.0, 2585000.0, 2594000.0,
    4973              :               2603000.0, 2613000.0, 2622000.0, 2632000.0, 2635000.0, 2639000.0, 2643000.0, 2647000.0, 2651000.0, 2654000.0, 2658000.0, 2662000.0,
    4974              :               2666000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2687000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    4975              :               2698000.0, 2700000.0, 2702000.0, 2704000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    4976              :               2721000.0, 2723000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2742000.0,
    4977              :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    4978              :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    4979              :               2834000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    4980              :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    4981              :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    4982              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2547000.0, 2556000.0, 2566000.0, 2575000.0, 2584000.0, 2594000.0,
    4983              :               2603000.0, 2613000.0, 2622000.0, 2632000.0, 2635000.0, 2639000.0, 2643000.0, 2647000.0, 2650000.0, 2654000.0, 2658000.0, 2662000.0,
    4984              :               2666000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2685000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    4985              :               2698000.0, 2700000.0, 2702000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    4986              :               2721000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0, 2741000.0,
    4987              :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2784000.0,
    4988              :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    4989              :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2861000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    4990              :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    4991              :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    4992              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2556000.0, 2565000.0, 2575000.0, 2584000.0, 2594000.0,
    4993              :               2603000.0, 2612000.0, 2622000.0, 2631000.0, 2635000.0, 2639000.0, 2643000.0, 2646000.0, 2650000.0, 2654000.0, 2658000.0, 2662000.0,
    4994              :               2665000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    4995              :               2698000.0, 2700000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0,
    4996              :               2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2739000.0, 2741000.0,
    4997              :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2783000.0,
    4998              :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2830000.0,
    4999              :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2860000.0, 2870000.0, 2880000.0, 2890000.0, 2899000.0, 2909000.0, 2919000.0, 2929000.0,
    5000              :               2938000.0, 2958000.0, 2978000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5001              :               3178000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5002              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2565000.0, 2574000.0, 2584000.0, 2593000.0,
    5003              :               2603000.0, 2612000.0, 2622000.0, 2631000.0, 2635000.0, 2639000.0, 2642000.0, 2646000.0, 2650000.0, 2654000.0, 2658000.0, 2661000.0,
    5004              :               2665000.0, 2669000.0, 2673000.0, 2677000.0, 2680000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0,
    5005              :               2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2718000.0,
    5006              :               2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2737000.0, 2739000.0, 2741000.0,
    5007              :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0, 2783000.0,
    5008              :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2829000.0,
    5009              :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2860000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2574000.0, 2583000.0, 2593000.0,
    5013              :               2602000.0, 2612000.0, 2621000.0, 2631000.0, 2635000.0, 2638000.0, 2642000.0, 2646000.0, 2650000.0, 2654000.0, 2657000.0, 2661000.0,
    5014              :               2665000.0, 2669000.0, 2673000.0, 2676000.0, 2680000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2693000.0, 2695000.0,
    5015              :               2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2714000.0, 2716000.0, 2718000.0,
    5016              :               2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0, 2741000.0,
    5017              :               2743000.0, 2745000.0, 2749000.0, 2753000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2779000.0, 2783000.0,
    5018              :               2787000.0, 2791000.0, 2795000.0, 2799000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0, 2829000.0,
    5019              :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2860000.0, 2870000.0, 2880000.0, 2889000.0, 2899000.0, 2909000.0, 2919000.0, 2928000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2582000.0, 2592000.0,
    5023              :               2602000.0, 2611000.0, 2621000.0, 2630000.0, 2634000.0, 2638000.0, 2642000.0, 2646000.0, 2649000.0, 2653000.0, 2657000.0, 2661000.0,
    5024              :               2665000.0, 2668000.0, 2672000.0, 2676000.0, 2680000.0, 2684000.0, 2686000.0, 2688000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0,
    5025              :               2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0,
    5026              :               2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0, 2741000.0,
    5027              :               2743000.0, 2745000.0, 2749000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2775000.0, 2779000.0, 2783000.0,
    5028              :               2787000.0, 2791000.0, 2795000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2825000.0, 2829000.0,
    5029              :               2833000.0, 2837000.0, 2841000.0, 2851000.0, 2860000.0, 2870000.0, 2880000.0, 2889000.0, 2899000.0, 2909000.0, 2919000.0, 2928000.0,
    5030              :               2938000.0, 2958000.0, 2977000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2591000.0,
    5033              :               2601000.0, 2611000.0, 2620000.0, 2630000.0, 2634000.0, 2637000.0, 2641000.0, 2645000.0, 2649000.0, 2653000.0, 2657000.0, 2660000.0,
    5034              :               2664000.0, 2668000.0, 2672000.0, 2676000.0, 2680000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0,
    5035              :               2697000.0, 2699000.0, 2701000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0,
    5036              :               2720000.0, 2722000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0, 2741000.0,
    5037              :               2743000.0, 2745000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2771000.0, 2775000.0, 2779000.0, 2783000.0,
    5038              :               2787000.0, 2791000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2821000.0, 2825000.0, 2829000.0,
    5039              :               2833000.0, 2837000.0, 2841000.0, 2850000.0, 2860000.0, 2870000.0, 2879000.0, 2889000.0, 2899000.0, 2909000.0, 2918000.0, 2928000.0,
    5040              :               2938000.0, 2958000.0, 2977000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5043              :               2600000.0, 2610000.0, 2620000.0, 2629000.0, 2633000.0, 2637000.0, 2641000.0, 2645000.0, 2648000.0, 2652000.0, 2656000.0, 2660000.0,
    5044              :               2664000.0, 2668000.0, 2671000.0, 2675000.0, 2679000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0, 2692000.0, 2694000.0,
    5045              :               2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2715000.0, 2717000.0,
    5046              :               2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2738000.0, 2740000.0,
    5047              :               2742000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0, 2779000.0, 2783000.0,
    5048              :               2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0, 2829000.0,
    5049              :               2833000.0, 2837000.0, 2841000.0, 2850000.0, 2860000.0, 2870000.0, 2879000.0, 2889000.0, 2899000.0, 2909000.0, 2918000.0, 2928000.0,
    5050              :               2938000.0, 2958000.0, 2977000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3077000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5051              :               3177000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5052              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5053              :               0.0,       2609000.0, 2619000.0, 2628000.0, 2632000.0, 2636000.0, 2640000.0, 2644000.0, 2648000.0, 2652000.0, 2655000.0, 2659000.0,
    5054              :               2663000.0, 2667000.0, 2671000.0, 2675000.0, 2679000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0,
    5055              :               2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0,
    5056              :               2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0,
    5057              :               2742000.0, 2744000.0, 2748000.0, 2752000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0, 2778000.0, 2782000.0,
    5058              :               2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0, 2829000.0,
    5059              :               2833000.0, 2836000.0, 2840000.0, 2850000.0, 2860000.0, 2869000.0, 2879000.0, 2889000.0, 2899000.0, 2908000.0, 2918000.0, 2928000.0,
    5060              :               2938000.0, 2957000.0, 2977000.0, 2997000.0, 3017000.0, 3037000.0, 3057000.0, 3076000.0, 3097000.0, 3117000.0, 3137000.0, 3157000.0,
    5061              :               3177000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3490000.0},
    5062              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5063              :               0.0,       0.0,       2618000.0, 2627000.0, 2631000.0, 2635000.0, 2639000.0, 2643000.0, 2647000.0, 2651000.0, 2655000.0, 2659000.0,
    5064              :               2662000.0, 2666000.0, 2670000.0, 2674000.0, 2678000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2689000.0, 2691000.0, 2693000.0,
    5065              :               2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2716000.0,
    5066              :               2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0, 2740000.0,
    5067              :               2741000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2770000.0, 2774000.0, 2778000.0, 2782000.0,
    5068              :               2786000.0, 2790000.0, 2794000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0, 2828000.0,
    5069              :               2832000.0, 2836000.0, 2840000.0, 2850000.0, 2859000.0, 2869000.0, 2879000.0, 2889000.0, 2898000.0, 2908000.0, 2918000.0, 2928000.0,
    5070              :               2938000.0, 2957000.0, 2977000.0, 2997000.0, 3017000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3117000.0, 3137000.0, 3157000.0,
    5071              :               3177000.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,       0.0,       0.0,       0.0,       0.0,       0.0,
    5073              :               0.0,       0.0,       0.0,       2626000.0, 2630000.0, 2634000.0, 2638000.0, 2642000.0, 2646000.0, 2650000.0, 2654000.0, 2658000.0,
    5074              :               2661000.0, 2665000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0,
    5075              :               2695000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0,
    5076              :               2718000.0, 2720000.0, 2722000.0, 2724000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0,
    5077              :               2741000.0, 2743000.0, 2747000.0, 2751000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0, 2778000.0, 2782000.0,
    5078              :               2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2816000.0, 2820000.0, 2824000.0, 2828000.0,
    5079              :               2832000.0, 2836000.0, 2840000.0, 2849000.0, 2859000.0, 2869000.0, 2879000.0, 2888000.0, 2898000.0, 2908000.0, 2918000.0, 2928000.0,
    5080              :               2937000.0, 2957000.0, 2977000.0, 2997000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3137000.0, 3157000.0,
    5081              :               3177000.0, 3198000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5082              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5083              :               0.0,       0.0,       0.0,       0.0,       2630000.0, 2633000.0, 2637000.0, 2641000.0, 2645000.0, 2649000.0, 2653000.0, 2657000.0,
    5084              :               2661000.0, 2665000.0, 2669000.0, 2673000.0, 2677000.0, 2681000.0, 2683000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0,
    5085              :               2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0,
    5086              :               2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2739000.0,
    5087              :               2741000.0, 2743000.0, 2747000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0, 2777000.0, 2781000.0,
    5088              :               2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0, 2828000.0,
    5089              :               2832000.0, 2836000.0, 2840000.0, 2849000.0, 2859000.0, 2869000.0, 2879000.0, 2888000.0, 2898000.0, 2908000.0, 2918000.0, 2927000.0,
    5090              :               2937000.0, 2957000.0, 2977000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3137000.0, 3157000.0,
    5091              :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5092              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5093              :               0.0,       0.0,       0.0,       0.0,       0.0,       2633000.0, 2637000.0, 2641000.0, 2645000.0, 2649000.0, 2653000.0, 2657000.0,
    5094              :               2661000.0, 2665000.0, 2668000.0, 2672000.0, 2676000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0,
    5095              :               2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0,
    5096              :               2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0, 2738000.0,
    5097              :               2740000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2773000.0, 2777000.0, 2781000.0,
    5098              :               2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0, 2828000.0,
    5099              :               2832000.0, 2835000.0, 2839000.0, 2849000.0, 2859000.0, 2869000.0, 2878000.0, 2888000.0, 2898000.0, 2908000.0, 2918000.0, 2927000.0,
    5100              :               2937000.0, 2957000.0, 2977000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3157000.0,
    5101              :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5102              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5103              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2636000.0, 2640000.0, 2644000.0, 2648000.0, 2652000.0, 2656000.0,
    5104              :               2660000.0, 2664000.0, 2668000.0, 2672000.0, 2676000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0, 2691000.0,
    5105              :               2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0,
    5106              :               2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0,
    5107              :               2740000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0, 2781000.0,
    5108              :               2785000.0, 2789000.0, 2793000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0, 2828000.0,
    5109              :               2831000.0, 2835000.0, 2839000.0, 2849000.0, 2859000.0, 2868000.0, 2878000.0, 2888000.0, 2898000.0, 2908000.0, 2917000.0, 2927000.0,
    5110              :               2937000.0, 2957000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3157000.0,
    5111              :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.0},
    5112              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5113              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2640000.0, 2644000.0, 2648000.0, 2652000.0, 2656000.0,
    5114              :               2660000.0, 2664000.0, 2667000.0, 2671000.0, 2675000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0,
    5115              :               2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0,
    5116              :               2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0,
    5117              :               2740000.0, 2742000.0, 2746000.0, 2750000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0, 2781000.0,
    5118              :               2785000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2823000.0, 2827000.0,
    5119              :               2831000.0, 2835000.0, 2839000.0, 2849000.0, 2859000.0, 2868000.0, 2878000.0, 2888000.0, 2898000.0, 2907000.0, 2917000.0, 2927000.0,
    5120              :               2937000.0, 2957000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3157000.0,
    5121              :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.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              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2643000.0, 2647000.0, 2651000.0, 2655000.0,
    5124              :               2659000.0, 2663000.0, 2667000.0, 2671000.0, 2675000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0, 2691000.0,
    5125              :               2693000.0, 2695000.0, 2697000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0,
    5126              :               2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0, 2738000.0,
    5127              :               2740000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0, 2780000.0,
    5128              :               2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2815000.0, 2819000.0, 2823000.0, 2827000.0,
    5129              :               2831000.0, 2835000.0, 2839000.0, 2849000.0, 2858000.0, 2868000.0, 2878000.0, 2888000.0, 2897000.0, 2907000.0, 2917000.0, 2927000.0,
    5130              :               2937000.0, 2956000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3157000.0,
    5131              :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3384000.0, 3489000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2646000.0, 2650000.0, 2654000.0,
    5134              :               2658000.0, 2662000.0, 2666000.0, 2670000.0, 2674000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0,
    5135              :               2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0,
    5136              :               2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0,
    5137              :               2739000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0,
    5138              :               2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0, 2827000.0,
    5139              :               2831000.0, 2835000.0, 2839000.0, 2848000.0, 2858000.0, 2868000.0, 2878000.0, 2887000.0, 2897000.0, 2907000.0, 2917000.0, 2927000.0,
    5140              :               2937000.0, 2956000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3156000.0,
    5141              :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3383000.0, 3489000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2650000.0, 2654000.0,
    5144              :               2658000.0, 2662000.0, 2666000.0, 2670000.0, 2674000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0, 2690000.0,
    5145              :               2692000.0, 2694000.0, 2696000.0, 2698000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0,
    5146              :               2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0, 2737000.0,
    5147              :               2739000.0, 2741000.0, 2745000.0, 2749000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2780000.0,
    5148              :               2784000.0, 2788000.0, 2792000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0, 2827000.0,
    5149              :               2831000.0, 2834000.0, 2838000.0, 2848000.0, 2858000.0, 2868000.0, 2878000.0, 2887000.0, 2897000.0, 2907000.0, 2917000.0, 2927000.0,
    5150              :               2936000.0, 2956000.0, 2976000.0, 2996000.0, 3016000.0, 3036000.0, 3056000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3156000.0,
    5151              :               3177000.0, 3197000.0, 3218000.0, 3280000.0, 3383000.0, 3489000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2653000.0,
    5154              :               2657000.0, 2661000.0, 2665000.0, 2669000.0, 2673000.0, 2677000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0, 2689000.0,
    5155              :               2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0,
    5156              :               2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2732000.0, 2734000.0, 2736000.0,
    5157              :               2738000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0, 2779000.0,
    5158              :               2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2822000.0, 2826000.0,
    5159              :               2830000.0, 2834000.0, 2838000.0, 2848000.0, 2858000.0, 2867000.0, 2877000.0, 2887000.0, 2897000.0, 2907000.0, 2917000.0, 2926000.0,
    5160              :               2936000.0, 2956000.0, 2976000.0, 2996000.0, 3016000.0, 3035000.0, 3055000.0, 3076000.0, 3096000.0, 3116000.0, 3136000.0, 3156000.0,
    5161              :               3177000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5164              :               2656000.0, 2660000.0, 2664000.0, 2668000.0, 2672000.0, 2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0,
    5165              :               2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0,
    5166              :               2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2736000.0,
    5167              :               2738000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0, 2779000.0,
    5168              :               2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0,
    5169              :               2830000.0, 2834000.0, 2838000.0, 2848000.0, 2857000.0, 2867000.0, 2877000.0, 2887000.0, 2897000.0, 2907000.0, 2916000.0, 2926000.0,
    5170              :               2936000.0, 2956000.0, 2976000.0, 2996000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3116000.0, 3136000.0, 3156000.0,
    5171              :               3176000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5174              :               0.0,       2660000.0, 2664000.0, 2668000.0, 2672000.0, 2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0, 2688000.0,
    5175              :               2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0,
    5176              :               2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0, 2735000.0,
    5177              :               2737000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0, 2779000.0,
    5178              :               2783000.0, 2787000.0, 2791000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0,
    5179              :               2830000.0, 2834000.0, 2838000.0, 2847000.0, 2857000.0, 2867000.0, 2877000.0, 2887000.0, 2896000.0, 2906000.0, 2916000.0, 2926000.0,
    5180              :               2936000.0, 2956000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3116000.0, 3136000.0, 3156000.0,
    5181              :               3176000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5184              :               0.0,       0.0,       2663000.0, 2667000.0, 2671000.0, 2675000.0, 2677000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0, 2687000.0,
    5185              :               2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0,
    5186              :               2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0, 2735000.0,
    5187              :               2737000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2774000.0, 2778000.0,
    5188              :               2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0, 2826000.0,
    5189              :               2829000.0, 2833000.0, 2837000.0, 2847000.0, 2857000.0, 2867000.0, 2877000.0, 2886000.0, 2896000.0, 2906000.0, 2916000.0, 2926000.0,
    5190              :               2936000.0, 2955000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3115000.0, 3136000.0, 3156000.0,
    5191              :               3176000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.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,       0.0,       0.0,       0.0,       0.0,       0.0,
    5194              :               0.0,       0.0,       0.0,       2666000.0, 2670000.0, 2674000.0, 2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0, 2686000.0,
    5195              :               2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0,
    5196              :               2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0,
    5197              :               2736000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0, 2778000.0,
    5198              :               2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0,
    5199              :               2829000.0, 2833000.0, 2837000.0, 2847000.0, 2857000.0, 2866000.0, 2876000.0, 2886000.0, 2896000.0, 2906000.0, 2916000.0, 2926000.0,
    5200              :               2935000.0, 2955000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3115000.0, 3136000.0, 3156000.0,
    5201              :               3176000.0, 3197000.0, 3217000.0, 3280000.0, 3383000.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,       0.0,       0.0,       0.0,       0.0,
    5204              :               0.0,       0.0,       0.0,       0.0,       2669000.0, 2673000.0, 2675000.0, 2677000.0, 2679000.0, 2682000.0, 2684000.0, 2686000.0,
    5205              :               2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0,
    5206              :               2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0, 2734000.0,
    5207              :               2736000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0, 2777000.0,
    5208              :               2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0, 2825000.0,
    5209              :               2829000.0, 2833000.0, 2837000.0, 2846000.0, 2856000.0, 2866000.0, 2876000.0, 2886000.0, 2896000.0, 2906000.0, 2915000.0, 2925000.0,
    5210              :               2935000.0, 2955000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3115000.0, 3135000.0, 3156000.0,
    5211              :               3176000.0, 3196000.0, 3217000.0, 3280000.0, 3383000.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,       0.0,       0.0,       0.0,
    5214              :               0.0,       0.0,       0.0,       0.0,       0.0,       2672000.0, 2674000.0, 2677000.0, 2679000.0, 2681000.0, 2683000.0, 2685000.0,
    5215              :               2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0,
    5216              :               2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0,
    5217              :               2735000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0,
    5218              :               2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2820000.0, 2824000.0,
    5219              :               2828000.0, 2832000.0, 2836000.0, 2846000.0, 2856000.0, 2866000.0, 2876000.0, 2886000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5220              :               2935000.0, 2955000.0, 2975000.0, 2995000.0, 3015000.0, 3035000.0, 3055000.0, 3075000.0, 3095000.0, 3115000.0, 3135000.0, 3156000.0,
    5221              :               3176000.0, 3196000.0, 3217000.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,       0.0,       0.0,
    5224              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2674000.0, 2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0,
    5225              :               2686000.0, 2688000.0, 2690000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0, 2709000.0,
    5226              :               2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0,
    5227              :               2735000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2777000.0,
    5228              :               2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0,
    5229              :               2828000.0, 2832000.0, 2836000.0, 2846000.0, 2856000.0, 2866000.0, 2876000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5230              :               2935000.0, 2955000.0, 2975000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3075000.0, 3095000.0, 3115000.0, 3135000.0, 3156000.0,
    5231              :               3176000.0, 3196000.0, 3217000.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,       0.0,
    5234              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2676000.0, 2678000.0, 2680000.0, 2682000.0, 2684000.0,
    5235              :               2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0,
    5236              :               2710000.0, 2712000.0, 2714000.0, 2716000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0, 2733000.0,
    5237              :               2735000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0, 2776000.0,
    5238              :               2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0,
    5239              :               2828000.0, 2832000.0, 2836000.0, 2846000.0, 2856000.0, 2866000.0, 2875000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5240              :               2935000.0, 2955000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3095000.0, 3115000.0, 3135000.0, 3155000.0,
    5241              :               3176000.0, 3196000.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              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2677000.0, 2679000.0, 2681000.0, 2683000.0,
    5245              :               2685000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0, 2708000.0,
    5246              :               2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0,
    5247              :               2734000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0,
    5248              :               2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0,
    5249              :               2828000.0, 2832000.0, 2836000.0, 2846000.0, 2855000.0, 2865000.0, 2875000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5250              :               2935000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3095000.0, 3115000.0, 3135000.0, 3155000.0,
    5251              :               3176000.0, 3196000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2679000.0, 2681000.0, 2683000.0,
    5255              :               2685000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2706000.0, 2708000.0,
    5256              :               2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0, 2732000.0,
    5257              :               2734000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0,
    5258              :               2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0, 2824000.0,
    5259              :               2828000.0, 2832000.0, 2835000.0, 2845000.0, 2855000.0, 2865000.0, 2875000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0, 2925000.0,
    5260              :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3115000.0, 3135000.0, 3155000.0,
    5261              :               3176000.0, 3196000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2680000.0, 2682000.0,
    5265              :               2684000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0,
    5266              :               2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2730000.0, 2732000.0,
    5267              :               2734000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0, 2776000.0,
    5268              :               2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0,
    5269              :               2827000.0, 2831000.0, 2835000.0, 2845000.0, 2855000.0, 2865000.0, 2875000.0, 2885000.0, 2895000.0, 2905000.0, 2914000.0, 2924000.0,
    5270              :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3115000.0, 3135000.0, 3155000.0,
    5271              :               3176000.0, 3196000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2682000.0,
    5275              :               2684000.0, 2686000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2701000.0, 2703000.0, 2705000.0, 2707000.0,
    5276              :               2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0,
    5277              :               2733000.0, 2735000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0,
    5278              :               2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0,
    5279              :               2827000.0, 2831000.0, 2835000.0, 2845000.0, 2855000.0, 2865000.0, 2875000.0, 2885000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5280              :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3115000.0, 3135000.0, 3155000.0,
    5281              :               3176000.0, 3196000.0, 3216000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5285              :               2683000.0, 2685000.0, 2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0,
    5286              :               2708000.0, 2710000.0, 2712000.0, 2714000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0, 2731000.0,
    5287              :               2733000.0, 2735000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0,
    5288              :               2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0,
    5289              :               2827000.0, 2831000.0, 2835000.0, 2845000.0, 2855000.0, 2865000.0, 2874000.0, 2884000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5290              :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3114000.0, 3135000.0, 3155000.0,
    5291              :               3175000.0, 3196000.0, 3216000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5295              :               0.0,       2685000.0, 2687000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2700000.0, 2702000.0, 2704000.0, 2706000.0,
    5296              :               2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0,
    5297              :               2732000.0, 2734000.0, 2738000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0, 2775000.0,
    5298              :               2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0, 2823000.0,
    5299              :               2827000.0, 2831000.0, 2835000.0, 2844000.0, 2854000.0, 2864000.0, 2874000.0, 2884000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5300              :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3114000.0, 3135000.0, 3155000.0,
    5301              :               3175000.0, 3196000.0, 3216000.0, 3280000.0, 3383000.0, 3488000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5305              :               0.0,       0.0,       2686000.0, 2689000.0, 2691000.0, 2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0,
    5306              :               2707000.0, 2709000.0, 2711000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0, 2730000.0,
    5307              :               2732000.0, 2734000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0,
    5308              :               2778000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0,
    5309              :               2826000.0, 2830000.0, 2834000.0, 2844000.0, 2854000.0, 2864000.0, 2874000.0, 2884000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5310              :               2934000.0, 2954000.0, 2974000.0, 2994000.0, 3014000.0, 3034000.0, 3054000.0, 3074000.0, 3094000.0, 3114000.0, 3135000.0, 3155000.0,
    5311              :               3175000.0, 3196000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.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,       0.0,       0.0,       0.0,       0.0,       0.0,
    5315              :               0.0,       0.0,       0.0,       2688000.0, 2690000.0, 2692000.0, 2694000.0, 2696000.0, 2699000.0, 2701000.0, 2703000.0, 2705000.0,
    5316              :               2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2730000.0,
    5317              :               2732000.0, 2734000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0,
    5318              :               2778000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0,
    5319              :               2826000.0, 2830000.0, 2834000.0, 2844000.0, 2854000.0, 2864000.0, 2874000.0, 2884000.0, 2894000.0, 2904000.0, 2914000.0, 2924000.0,
    5320              :               2934000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3054000.0, 3074000.0, 3094000.0, 3114000.0, 3134000.0, 3155000.0,
    5321              :               3175000.0, 3196000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.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,       0.0,       0.0,       0.0,       0.0,
    5325              :               0.0,       0.0,       0.0,       0.0,       2690000.0, 2692000.0, 2694000.0, 2696000.0, 2698000.0, 2700000.0, 2702000.0, 2704000.0,
    5326              :               2706000.0, 2708000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0, 2729000.0,
    5327              :               2731000.0, 2733000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0, 2774000.0,
    5328              :               2778000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0,
    5329              :               2826000.0, 2830000.0, 2834000.0, 2844000.0, 2854000.0, 2864000.0, 2874000.0, 2884000.0, 2894000.0, 2903000.0, 2913000.0, 2923000.0,
    5330              :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3074000.0, 3094000.0, 3114000.0, 3134000.0, 3155000.0,
    5331              :               3175000.0, 3196000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.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,       0.0,       0.0,       0.0,
    5335              :               0.0,       0.0,       0.0,       0.0,       0.0,       2691000.0, 2693000.0, 2695000.0, 2697000.0, 2700000.0, 2702000.0, 2704000.0,
    5336              :               2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2727000.0, 2729000.0,
    5337              :               2731000.0, 2733000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0,
    5338              :               2777000.0, 2781000.0, 2785000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0, 2822000.0,
    5339              :               2826000.0, 2830000.0, 2834000.0, 2844000.0, 2853000.0, 2863000.0, 2873000.0, 2883000.0, 2893000.0, 2903000.0, 2913000.0, 2923000.0,
    5340              :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3094000.0, 3114000.0, 3134000.0, 3155000.0,
    5341              :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.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,       0.0,       0.0,
    5345              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2693000.0, 2695000.0, 2697000.0, 2699000.0, 2701000.0, 2703000.0,
    5346              :               2705000.0, 2707000.0, 2709000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0, 2728000.0,
    5347              :               2730000.0, 2732000.0, 2736000.0, 2740000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0, 2773000.0,
    5348              :               2777000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0,
    5349              :               2825000.0, 2829000.0, 2833000.0, 2843000.0, 2853000.0, 2863000.0, 2873000.0, 2883000.0, 2893000.0, 2903000.0, 2913000.0, 2923000.0,
    5350              :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3094000.0, 3114000.0, 3134000.0, 3154000.0,
    5351              :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.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,       0.0,
    5355              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2694000.0, 2696000.0, 2698000.0, 2700000.0, 2703000.0,
    5356              :               2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2724000.0, 2726000.0, 2728000.0,
    5357              :               2730000.0, 2732000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2765000.0, 2769000.0, 2773000.0,
    5358              :               2777000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0,
    5359              :               2825000.0, 2829000.0, 2833000.0, 2843000.0, 2853000.0, 2863000.0, 2873000.0, 2883000.0, 2893000.0, 2903000.0, 2913000.0, 2923000.0,
    5360              :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3093000.0, 3114000.0, 3134000.0, 3154000.0,
    5361              :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.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              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2696000.0, 2698000.0, 2700000.0, 2702000.0,
    5366              :               2704000.0, 2706000.0, 2708000.0, 2710000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0, 2727000.0,
    5367              :               2729000.0, 2731000.0, 2735000.0, 2740000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0,
    5368              :               2776000.0, 2780000.0, 2784000.0, 2788000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0, 2821000.0,
    5369              :               2825000.0, 2829000.0, 2833000.0, 2843000.0, 2853000.0, 2863000.0, 2873000.0, 2883000.0, 2893000.0, 2903000.0, 2913000.0, 2923000.0,
    5370              :               2933000.0, 2953000.0, 2973000.0, 2993000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3093000.0, 3114000.0, 3134000.0, 3154000.0,
    5371              :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.0, 3488000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2697000.0, 2699000.0, 2701000.0,
    5376              :               2703000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2725000.0, 2727000.0,
    5377              :               2729000.0, 2731000.0, 2735000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0, 2772000.0,
    5378              :               2776000.0, 2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0,
    5379              :               2824000.0, 2828000.0, 2832000.0, 2842000.0, 2852000.0, 2862000.0, 2872000.0, 2882000.0, 2892000.0, 2902000.0, 2912000.0, 2922000.0,
    5380              :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3013000.0, 3033000.0, 3053000.0, 3073000.0, 3093000.0, 3113000.0, 3134000.0, 3154000.0,
    5381              :               3175000.0, 3195000.0, 3216000.0, 3280000.0, 3382000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2699000.0, 2701000.0,
    5386              :               2703000.0, 2705000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0, 2726000.0,
    5387              :               2728000.0, 2730000.0, 2734000.0, 2739000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0,
    5388              :               2776000.0, 2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0,
    5389              :               2824000.0, 2828000.0, 2832000.0, 2842000.0, 2852000.0, 2862000.0, 2872000.0, 2882000.0, 2892000.0, 2902000.0, 2912000.0, 2922000.0,
    5390              :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3012000.0, 3032000.0, 3053000.0, 3073000.0, 3093000.0, 3113000.0, 3134000.0, 3154000.0,
    5391              :               3174000.0, 3195000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2700000.0,
    5396              :               2702000.0, 2704000.0, 2706000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2726000.0,
    5397              :               2728000.0, 2730000.0, 2734000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0, 2771000.0,
    5398              :               2775000.0, 2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0, 2820000.0,
    5399              :               2824000.0, 2828000.0, 2832000.0, 2842000.0, 2852000.0, 2862000.0, 2872000.0, 2882000.0, 2892000.0, 2902000.0, 2912000.0, 2922000.0,
    5400              :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3012000.0, 3032000.0, 3052000.0, 3073000.0, 3093000.0, 3113000.0, 3134000.0, 3154000.0,
    5401              :               3174000.0, 3195000.0, 3215000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5406              :               2702000.0, 2704000.0, 2706000.0, 2708000.0, 2710000.0, 2712000.0, 2714000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0, 2725000.0,
    5407              :               2727000.0, 2729000.0, 2733000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2771000.0,
    5408              :               2775000.0, 2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0,
    5409              :               2823000.0, 2827000.0, 2831000.0, 2842000.0, 2852000.0, 2862000.0, 2872000.0, 2882000.0, 2892000.0, 2902000.0, 2912000.0, 2922000.0,
    5410              :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3012000.0, 3032000.0, 3052000.0, 3073000.0, 3093000.0, 3113000.0, 3133000.0, 3154000.0,
    5411              :               3174000.0, 3195000.0, 3215000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5416              :               0.0,       2703000.0, 2705000.0, 2707000.0, 2709000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0, 2724000.0,
    5417              :               2726000.0, 2729000.0, 2733000.0, 2737000.0, 2741000.0, 2745000.0, 2749000.0, 2754000.0, 2758000.0, 2762000.0, 2766000.0, 2770000.0,
    5418              :               2774000.0, 2778000.0, 2782000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0, 2819000.0,
    5419              :               2823000.0, 2827000.0, 2831000.0, 2841000.0, 2851000.0, 2861000.0, 2871000.0, 2881000.0, 2891000.0, 2901000.0, 2911000.0, 2922000.0,
    5420              :               2932000.0, 2952000.0, 2972000.0, 2992000.0, 3012000.0, 3032000.0, 3052000.0, 3072000.0, 3093000.0, 3113000.0, 3133000.0, 3154000.0,
    5421              :               3174000.0, 3195000.0, 3215000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5426              :               0.0,       0.0,       2704000.0, 2707000.0, 2709000.0, 2711000.0, 2713000.0, 2715000.0, 2717000.0, 2720000.0, 2722000.0, 2724000.0,
    5427              :               2726000.0, 2728000.0, 2732000.0, 2736000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2757000.0, 2761000.0, 2766000.0, 2770000.0,
    5428              :               2774000.0, 2778000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2811000.0, 2815000.0, 2819000.0,
    5429              :               2823000.0, 2827000.0, 2831000.0, 2841000.0, 2851000.0, 2861000.0, 2871000.0, 2881000.0, 2891000.0, 2901000.0, 2911000.0, 2921000.0,
    5430              :               2931000.0, 2951000.0, 2971000.0, 2992000.0, 3012000.0, 3032000.0, 3052000.0, 3072000.0, 3093000.0, 3113000.0, 3133000.0, 3154000.0,
    5431              :               3174000.0, 3195000.0, 3215000.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,       0.0,       0.0,       0.0,       0.0,       0.0,
    5436              :               0.0,       0.0,       0.0,       2706000.0, 2708000.0, 2710000.0, 2712000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0, 2723000.0,
    5437              :               2725000.0, 2727000.0, 2732000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0, 2769000.0,
    5438              :               2773000.0, 2777000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0,
    5439              :               2822000.0, 2826000.0, 2830000.0, 2841000.0, 2851000.0, 2861000.0, 2871000.0, 2881000.0, 2891000.0, 2901000.0, 2911000.0, 2921000.0,
    5440              :               2931000.0, 2951000.0, 2971000.0, 2991000.0, 3012000.0, 3032000.0, 3052000.0, 3072000.0, 3092000.0, 3113000.0, 3133000.0, 3153000.0,
    5441              :               3174000.0, 3194000.0, 3215000.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,       0.0,       0.0,       0.0,       0.0,
    5446              :               0.0,       0.0,       0.0,       0.0,       2707000.0, 2710000.0, 2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0, 2722000.0,
    5447              :               2725000.0, 2727000.0, 2731000.0, 2735000.0, 2739000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2760000.0, 2765000.0, 2769000.0,
    5448              :               2773000.0, 2777000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0, 2818000.0,
    5449              :               2822000.0, 2826000.0, 2830000.0, 2840000.0, 2850000.0, 2860000.0, 2870000.0, 2881000.0, 2891000.0, 2901000.0, 2911000.0, 2921000.0,
    5450              :               2931000.0, 2951000.0, 2971000.0, 2991000.0, 3011000.0, 3031000.0, 3052000.0, 3072000.0, 3092000.0, 3113000.0, 3133000.0, 3153000.0,
    5451              :               3174000.0, 3194000.0, 3215000.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,       0.0,       0.0,       0.0,
    5456              :               0.0,       0.0,       0.0,       0.0,       0.0,       2709000.0, 2711000.0, 2713000.0, 2715000.0, 2718000.0, 2720000.0, 2722000.0,
    5457              :               2724000.0, 2726000.0, 2730000.0, 2735000.0, 2739000.0, 2743000.0, 2747000.0, 2752000.0, 2756000.0, 2760000.0, 2764000.0, 2768000.0,
    5458              :               2772000.0, 2776000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2818000.0,
    5459              :               2822000.0, 2826000.0, 2830000.0, 2840000.0, 2850000.0, 2860000.0, 2870000.0, 2880000.0, 2890000.0, 2900000.0, 2910000.0, 2921000.0,
    5460              :               2931000.0, 2951000.0, 2971000.0, 2991000.0, 3011000.0, 3031000.0, 3052000.0, 3072000.0, 3092000.0, 3112000.0, 3133000.0, 3153000.0,
    5461              :               3174000.0, 3194000.0, 3215000.0, 3280000.0, 3381000.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,       0.0,       0.0,
    5466              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2710000.0, 2712000.0, 2715000.0, 2717000.0, 2719000.0, 2721000.0,
    5467              :               2723000.0, 2725000.0, 2730000.0, 2734000.0, 2738000.0, 2743000.0, 2747000.0, 2751000.0, 2755000.0, 2759000.0, 2764000.0, 2768000.0,
    5468              :               2772000.0, 2776000.0, 2780000.0, 2784000.0, 2788000.0, 2793000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0, 2813000.0, 2817000.0,
    5469              :               2821000.0, 2825000.0, 2829000.0, 2839000.0, 2850000.0, 2860000.0, 2870000.0, 2880000.0, 2890000.0, 2900000.0, 2910000.0, 2920000.0,
    5470              :               2930000.0, 2950000.0, 2971000.0, 2991000.0, 3011000.0, 3031000.0, 3051000.0, 3072000.0, 3092000.0, 3112000.0, 3133000.0, 3153000.0,
    5471              :               3174000.0, 3194000.0, 3215000.0, 3280000.0, 3381000.0, 3487000.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,       0.0,
    5476              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2712000.0, 2714000.0, 2716000.0, 2718000.0, 2720000.0,
    5477              :               2723000.0, 2725000.0, 2729000.0, 2733000.0, 2738000.0, 2742000.0, 2746000.0, 2750000.0, 2755000.0, 2759000.0, 2763000.0, 2767000.0,
    5478              :               2771000.0, 2775000.0, 2780000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2813000.0, 2817000.0,
    5479              :               2821000.0, 2825000.0, 2829000.0, 2839000.0, 2849000.0, 2859000.0, 2870000.0, 2880000.0, 2890000.0, 2900000.0, 2910000.0, 2920000.0,
    5480              :               2930000.0, 2950000.0, 2970000.0, 2991000.0, 3011000.0, 3031000.0, 3051000.0, 3071000.0, 3092000.0, 3112000.0, 3132000.0, 3153000.0,
    5481              :               3173000.0, 3194000.0, 3215000.0, 3280000.0, 3381000.0, 3487000.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              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2713000.0, 2715000.0, 2717000.0, 2720000.0,
    5487              :               2722000.0, 2724000.0, 2728000.0, 2733000.0, 2737000.0, 2741000.0, 2746000.0, 2750000.0, 2754000.0, 2758000.0, 2762000.0, 2767000.0,
    5488              :               2771000.0, 2775000.0, 2779000.0, 2783000.0, 2787000.0, 2792000.0, 2796000.0, 2800000.0, 2804000.0, 2808000.0, 2812000.0, 2816000.0,
    5489              :               2820000.0, 2824000.0, 2829000.0, 2839000.0, 2849000.0, 2859000.0, 2869000.0, 2879000.0, 2889000.0, 2900000.0, 2910000.0, 2920000.0,
    5490              :               2930000.0, 2950000.0, 2970000.0, 2990000.0, 3011000.0, 3031000.0, 3051000.0, 3071000.0, 3092000.0, 3112000.0, 3132000.0, 3153000.0,
    5491              :               3173000.0, 3194000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2715000.0, 2717000.0, 2719000.0,
    5497              :               2721000.0, 2723000.0, 2728000.0, 2732000.0, 2736000.0, 2741000.0, 2745000.0, 2749000.0, 2753000.0, 2758000.0, 2762000.0, 2766000.0,
    5498              :               2770000.0, 2774000.0, 2779000.0, 2783000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2808000.0, 2812000.0, 2816000.0,
    5499              :               2820000.0, 2824000.0, 2828000.0, 2838000.0, 2849000.0, 2859000.0, 2869000.0, 2879000.0, 2889000.0, 2899000.0, 2909000.0, 2919000.0,
    5500              :               2930000.0, 2950000.0, 2970000.0, 2990000.0, 3010000.0, 3031000.0, 3051000.0, 3071000.0, 3091000.0, 3112000.0, 3132000.0, 3153000.0,
    5501              :               3173000.0, 3194000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2716000.0, 2718000.0,
    5507              :               2720000.0, 2723000.0, 2727000.0, 2731000.0, 2736000.0, 2740000.0, 2744000.0, 2748000.0, 2753000.0, 2757000.0, 2761000.0, 2765000.0,
    5508              :               2770000.0, 2774000.0, 2778000.0, 2782000.0, 2786000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2807000.0, 2811000.0, 2815000.0,
    5509              :               2819000.0, 2824000.0, 2828000.0, 2838000.0, 2848000.0, 2858000.0, 2868000.0, 2879000.0, 2889000.0, 2899000.0, 2909000.0, 2919000.0,
    5510              :               2929000.0, 2949000.0, 2970000.0, 2990000.0, 3010000.0, 3030000.0, 3051000.0, 3071000.0, 3091000.0, 3112000.0, 3132000.0, 3152000.0,
    5511              :               3173000.0, 3194000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2717000.0,
    5517              :               2720000.0, 2722000.0, 2726000.0, 2731000.0, 2735000.0, 2739000.0, 2744000.0, 2748000.0, 2752000.0, 2756000.0, 2761000.0, 2765000.0,
    5518              :               2769000.0, 2773000.0, 2777000.0, 2782000.0, 2786000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2807000.0, 2811000.0, 2815000.0,
    5519              :               2819000.0, 2823000.0, 2827000.0, 2837000.0, 2848000.0, 2858000.0, 2868000.0, 2878000.0, 2888000.0, 2899000.0, 2909000.0, 2919000.0,
    5520              :               2929000.0, 2949000.0, 2969000.0, 2990000.0, 3010000.0, 3030000.0, 3050000.0, 3071000.0, 3091000.0, 3111000.0, 3132000.0, 3152000.0,
    5521              :               3173000.0, 3193000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5527              :               2719000.0, 2721000.0, 2725000.0, 2730000.0, 2734000.0, 2738000.0, 2743000.0, 2747000.0, 2751000.0, 2756000.0, 2760000.0, 2764000.0,
    5528              :               2768000.0, 2773000.0, 2777000.0, 2781000.0, 2785000.0, 2789000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2810000.0, 2814000.0,
    5529              :               2819000.0, 2823000.0, 2827000.0, 2837000.0, 2847000.0, 2858000.0, 2868000.0, 2878000.0, 2888000.0, 2898000.0, 2908000.0, 2919000.0,
    5530              :               2929000.0, 2949000.0, 2969000.0, 2989000.0, 3010000.0, 3030000.0, 3050000.0, 3071000.0, 3091000.0, 3111000.0, 3132000.0, 3152000.0,
    5531              :               3173000.0, 3193000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5537              :               0.0,       2720000.0, 2725000.0, 2729000.0, 2733000.0, 2738000.0, 2742000.0, 2746000.0, 2751000.0, 2755000.0, 2759000.0, 2764000.0,
    5538              :               2768000.0, 2772000.0, 2776000.0, 2781000.0, 2785000.0, 2789000.0, 2793000.0, 2797000.0, 2801000.0, 2806000.0, 2810000.0, 2814000.0,
    5539              :               2818000.0, 2822000.0, 2826000.0, 2837000.0, 2847000.0, 2857000.0, 2867000.0, 2878000.0, 2888000.0, 2898000.0, 2908000.0, 2918000.0,
    5540              :               2928000.0, 2949000.0, 2969000.0, 2989000.0, 3009000.0, 3030000.0, 3050000.0, 3070000.0, 3091000.0, 3111000.0, 3132000.0, 3152000.0,
    5541              :               3173000.0, 3193000.0, 3214000.0, 3280000.0, 3381000.0, 3487000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5547              :               0.0,       0.0,       2723000.0, 2727000.0, 2732000.0, 2736000.0, 2741000.0, 2745000.0, 2749000.0, 2754000.0, 2758000.0, 2762000.0,
    5548              :               2767000.0, 2771000.0, 2775000.0, 2779000.0, 2784000.0, 2788000.0, 2792000.0, 2796000.0, 2800000.0, 2805000.0, 2809000.0, 2813000.0,
    5549              :               2817000.0, 2821000.0, 2825000.0, 2836000.0, 2846000.0, 2856000.0, 2867000.0, 2877000.0, 2887000.0, 2897000.0, 2907000.0, 2918000.0,
    5550              :               2928000.0, 2948000.0, 2968000.0, 2989000.0, 3009000.0, 3029000.0, 3050000.0, 3070000.0, 3090000.0, 3111000.0, 3131000.0, 3152000.0,
    5551              :               3172000.0, 3193000.0, 3213000.0, 3280000.0, 3380000.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,       0.0,       0.0,       0.0,       0.0,       0.0,
    5557              :               0.0,       0.0,       0.0,       2726000.0, 2730000.0, 2735000.0, 2739000.0, 2743000.0, 2748000.0, 2752000.0, 2757000.0, 2761000.0,
    5558              :               2765000.0, 2769000.0, 2774000.0, 2778000.0, 2782000.0, 2787000.0, 2791000.0, 2795000.0, 2799000.0, 2803000.0, 2808000.0, 2812000.0,
    5559              :               2816000.0, 2820000.0, 2824000.0, 2835000.0, 2845000.0, 2855000.0, 2866000.0, 2876000.0, 2886000.0, 2896000.0, 2907000.0, 2917000.0,
    5560              :               2927000.0, 2947000.0, 2968000.0, 2988000.0, 3008000.0, 3029000.0, 3049000.0, 3069000.0, 3090000.0, 3110000.0, 3131000.0, 3151000.0,
    5561              :               3172000.0, 3192000.0, 3213000.0, 3280000.0, 3380000.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,       0.0,       0.0,       0.0,       0.0,
    5567              :               0.0,       0.0,       0.0,       0.0,       2728000.0, 2733000.0, 2737000.0, 2742000.0, 2746000.0, 2751000.0, 2755000.0, 2759000.0,
    5568              :               2764000.0, 2768000.0, 2772000.0, 2777000.0, 2781000.0, 2785000.0, 2790000.0, 2794000.0, 2798000.0, 2802000.0, 2806000.0, 2811000.0,
    5569              :               2815000.0, 2819000.0, 2823000.0, 2834000.0, 2844000.0, 2854000.0, 2865000.0, 2875000.0, 2885000.0, 2896000.0, 2906000.0, 2916000.0,
    5570              :               2926000.0, 2947000.0, 2967000.0, 2987000.0, 3008000.0, 3028000.0, 3049000.0, 3069000.0, 3089000.0, 3110000.0, 3130000.0, 3151000.0,
    5571              :               3172000.0, 3192000.0, 3213000.0, 3280000.0, 3380000.0, 3486000.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,       0.0,       0.0,       0.0,
    5577              :               0.0,       0.0,       0.0,       0.0,       0.0,       2731000.0, 2735000.0, 2740000.0, 2744000.0, 2749000.0, 2753000.0, 2758000.0,
    5578              :               2762000.0, 2767000.0, 2771000.0, 2775000.0, 2780000.0, 2784000.0, 2788000.0, 2792000.0, 2797000.0, 2801000.0, 2805000.0, 2809000.0,
    5579              :               2814000.0, 2818000.0, 2822000.0, 2833000.0, 2843000.0, 2853000.0, 2864000.0, 2874000.0, 2885000.0, 2895000.0, 2905000.0, 2915000.0,
    5580              :               2926000.0, 2946000.0, 2966000.0, 2987000.0, 3007000.0, 3028000.0, 3048000.0, 3069000.0, 3089000.0, 3109000.0, 3130000.0, 3151000.0,
    5581              :               3171000.0, 3192000.0, 3212000.0, 3280000.0, 3380000.0, 3486000.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,       0.0,       0.0,
    5587              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2733000.0, 2738000.0, 2743000.0, 2747000.0, 2752000.0, 2756000.0,
    5588              :               2761000.0, 2765000.0, 2769000.0, 2774000.0, 2778000.0, 2782000.0, 2787000.0, 2791000.0, 2795000.0, 2800000.0, 2804000.0, 2808000.0,
    5589              :               2812000.0, 2817000.0, 2821000.0, 2831000.0, 2842000.0, 2852000.0, 2863000.0, 2873000.0, 2884000.0, 2894000.0, 2904000.0, 2915000.0,
    5590              :               2925000.0, 2945000.0, 2966000.0, 2986000.0, 3007000.0, 3027000.0, 3048000.0, 3068000.0, 3089000.0, 3109000.0, 3130000.0, 3150000.0,
    5591              :               3171000.0, 3191000.0, 3212000.0, 3280000.0, 3380000.0, 3486000.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,       0.0,
    5597              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2736000.0, 2741000.0, 2745000.0, 2750000.0, 2754000.0,
    5598              :               2759000.0, 2763000.0, 2768000.0, 2772000.0, 2777000.0, 2781000.0, 2785000.0, 2790000.0, 2794000.0, 2798000.0, 2803000.0, 2807000.0,
    5599              :               2811000.0, 2815000.0, 2820000.0, 2830000.0, 2841000.0, 2851000.0, 2862000.0, 2872000.0, 2883000.0, 2893000.0, 2903000.0, 2914000.0,
    5600              :               2924000.0, 2945000.0, 2965000.0, 2986000.0, 3006000.0, 3027000.0, 3047000.0, 3068000.0, 3088000.0, 3109000.0, 3129000.0, 3150000.0,
    5601              :               3170000.0, 3191000.0, 3212000.0, 3280000.0, 3379000.0, 3486000.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              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2739000.0, 2743000.0, 2748000.0, 2752000.0,
    5608              :               2757000.0, 2761000.0, 2766000.0, 2770000.0, 2775000.0, 2779000.0, 2784000.0, 2788000.0, 2792000.0, 2797000.0, 2801000.0, 2805000.0,
    5609              :               2810000.0, 2814000.0, 2818000.0, 2829000.0, 2840000.0, 2850000.0, 2861000.0, 2871000.0, 2882000.0, 2892000.0, 2902000.0, 2913000.0,
    5610              :               2923000.0, 2944000.0, 2964000.0, 2985000.0, 3005000.0, 3026000.0, 3046000.0, 3067000.0, 3088000.0, 3108000.0, 3129000.0, 3149000.0,
    5611              :               3170000.0, 3191000.0, 3211000.0, 3280000.0, 3379000.0, 3485000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2741000.0, 2746000.0, 2750000.0,
    5618              :               2755000.0, 2760000.0, 2764000.0, 2769000.0, 2773000.0, 2778000.0, 2782000.0, 2786000.0, 2791000.0, 2795000.0, 2800000.0, 2804000.0,
    5619              :               2808000.0, 2813000.0, 2817000.0, 2828000.0, 2838000.0, 2849000.0, 2860000.0, 2870000.0, 2881000.0, 2891000.0, 2901000.0, 2912000.0,
    5620              :               2922000.0, 2943000.0, 2964000.0, 2984000.0, 3005000.0, 3025000.0, 3046000.0, 3066000.0, 3087000.0, 3108000.0, 3128000.0, 3149000.0,
    5621              :               3170000.0, 3190000.0, 3211000.0, 3280000.0, 3379000.0, 3485000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2744000.0, 2748000.0,
    5628              :               2753000.0, 2758000.0, 2762000.0, 2767000.0, 2771000.0, 2776000.0, 2780000.0, 2785000.0, 2789000.0, 2794000.0, 2798000.0, 2802000.0,
    5629              :               2807000.0, 2811000.0, 2815000.0, 2826000.0, 2837000.0, 2848000.0, 2858000.0, 2869000.0, 2879000.0, 2890000.0, 2900000.0, 2911000.0,
    5630              :               2921000.0, 2942000.0, 2963000.0, 2983000.0, 3004000.0, 3025000.0, 3045000.0, 3066000.0, 3086000.0, 3107000.0, 3128000.0, 3148000.0,
    5631              :               3169000.0, 3190000.0, 3211000.0, 3280000.0, 3378000.0, 3485000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2746000.0,
    5638              :               2751000.0, 2755000.0, 2760000.0, 2765000.0, 2769000.0, 2774000.0, 2778000.0, 2783000.0, 2787000.0, 2792000.0, 2796000.0, 2801000.0,
    5639              :               2805000.0, 2810000.0, 2814000.0, 2825000.0, 2836000.0, 2846000.0, 2857000.0, 2868000.0, 2878000.0, 2889000.0, 2899000.0, 2910000.0,
    5640              :               2920000.0, 2941000.0, 2962000.0, 2983000.0, 3003000.0, 3024000.0, 3045000.0, 3065000.0, 3086000.0, 3106000.0, 3127000.0, 3148000.0,
    5641              :               3169000.0, 3189000.0, 3210000.0, 3280000.0, 3378000.0, 3485000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5648              :               2748000.0, 2753000.0, 2758000.0, 2763000.0, 2767000.0, 2772000.0, 2776000.0, 2781000.0, 2786000.0, 2790000.0, 2795000.0, 2799000.0,
    5649              :               2803000.0, 2808000.0, 2812000.0, 2823000.0, 2834000.0, 2845000.0, 2856000.0, 2866000.0, 2877000.0, 2888000.0, 2898000.0, 2909000.0,
    5650              :               2919000.0, 2940000.0, 2961000.0, 2982000.0, 3002000.0, 3023000.0, 3044000.0, 3064000.0, 3085000.0, 3106000.0, 3127000.0, 3147000.0,
    5651              :               3168000.0, 3189000.0, 3210000.0, 3280000.0, 3378000.0, 3484000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5658              :               0.0,       2751000.0, 2755000.0, 2760000.0, 2765000.0, 2770000.0, 2774000.0, 2779000.0, 2784000.0, 2788000.0, 2793000.0, 2797000.0,
    5659              :               2802000.0, 2806000.0, 2811000.0, 2822000.0, 2833000.0, 2843000.0, 2854000.0, 2865000.0, 2876000.0, 2886000.0, 2897000.0, 2908000.0,
    5660              :               2918000.0, 2939000.0, 2960000.0, 2981000.0, 3002000.0, 3022000.0, 3043000.0, 3064000.0, 3085000.0, 3105000.0, 3126000.0, 3147000.0,
    5661              :               3168000.0, 3188000.0, 3209000.0, 3280000.0, 3377000.0, 3484000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5668              :               0.0,       0.0,       2753000.0, 2758000.0, 2763000.0, 2767000.0, 2772000.0, 2777000.0, 2781000.0, 2786000.0, 2791000.0, 2795000.0,
    5669              :               2800000.0, 2804000.0, 2809000.0, 2820000.0, 2831000.0, 2842000.0, 2853000.0, 2864000.0, 2874000.0, 2885000.0, 2896000.0, 2906000.0,
    5670              :               2917000.0, 2938000.0, 2959000.0, 2980000.0, 3001000.0, 3022000.0, 3042000.0, 3063000.0, 3084000.0, 3105000.0, 3125000.0, 3146000.0,
    5671              :               3167000.0, 3188000.0, 3209000.0, 3280000.0, 3377000.0, 3484000.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,       0.0,       0.0,       0.0,       0.0,       0.0,
    5678              :               0.0,       0.0,       0.0,       2755000.0, 2760000.0, 2765000.0, 2770000.0, 2775000.0, 2779000.0, 2784000.0, 2789000.0, 2793000.0,
    5679              :               2798000.0, 2802000.0, 2807000.0, 2818000.0, 2829000.0, 2840000.0, 2851000.0, 2862000.0, 2873000.0, 2884000.0, 2894000.0, 2905000.0,
    5680              :               2916000.0, 2937000.0, 2958000.0, 2979000.0, 3000000.0, 3021000.0, 3042000.0, 3062000.0, 3083000.0, 3104000.0, 3125000.0, 3146000.0,
    5681              :               3166000.0, 3187000.0, 3208000.0, 3280000.0, 3377000.0, 3484000.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,       0.0,       0.0,       0.0,       0.0,
    5688              :               0.0,       0.0,       0.0,       0.0,       2757000.0, 2762000.0, 2767000.0, 2772000.0, 2777000.0, 2782000.0, 2786000.0, 2791000.0,
    5689              :               2796000.0, 2800000.0, 2805000.0, 2816000.0, 2827000.0, 2839000.0, 2850000.0, 2861000.0, 2872000.0, 2882000.0, 2893000.0, 2904000.0,
    5690              :               2915000.0, 2936000.0, 2957000.0, 2978000.0, 2999000.0, 3020000.0, 3041000.0, 3062000.0, 3082000.0, 3103000.0, 3124000.0, 3145000.0,
    5691              :               3166000.0, 3187000.0, 3208000.0, 3280000.0, 3376000.0, 3483000.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,       0.0,       0.0,       0.0,
    5698              :               0.0,       0.0,       0.0,       0.0,       0.0,       2760000.0, 2765000.0, 2770000.0, 2774000.0, 2779000.0, 2784000.0, 2789000.0,
    5699              :               2793000.0, 2798000.0, 2803000.0, 2814000.0, 2826000.0, 2837000.0, 2848000.0, 2859000.0, 2870000.0, 2881000.0, 2892000.0, 2902000.0,
    5700              :               2913000.0, 2935000.0, 2956000.0, 2977000.0, 2998000.0, 3019000.0, 3040000.0, 3061000.0, 3082000.0, 3102000.0, 3123000.0, 3144000.0,
    5701              :               3165000.0, 3186000.0, 3207000.0, 3280000.0, 3376000.0, 3483000.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,       0.0,       0.0,
    5708              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2762000.0, 2767000.0, 2772000.0, 2777000.0, 2781000.0, 2786000.0,
    5709              :               2791000.0, 2796000.0, 2800000.0, 2812000.0, 2824000.0, 2835000.0, 2846000.0, 2857000.0, 2868000.0, 2879000.0, 2890000.0, 2901000.0,
    5710              :               2912000.0, 2933000.0, 2955000.0, 2976000.0, 2997000.0, 3018000.0, 3039000.0, 3060000.0, 3081000.0, 3102000.0, 3123000.0, 3144000.0,
    5711              :               3164000.0, 3185000.0, 3206000.0, 3280000.0, 3375000.0, 3483000.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,       0.0,
    5718              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2764000.0, 2769000.0, 2774000.0, 2779000.0, 2784000.0,
    5719              :               2789000.0, 2793000.0, 2798000.0, 2810000.0, 2821000.0, 2833000.0, 2844000.0, 2855000.0, 2867000.0, 2878000.0, 2889000.0, 2900000.0,
    5720              :               2910000.0, 2932000.0, 2953000.0, 2975000.0, 2996000.0, 3017000.0, 3038000.0, 3059000.0, 3080000.0, 3101000.0, 3122000.0, 3143000.0,
    5721              :               3164000.0, 3185000.0, 3206000.0, 3280000.0, 3375000.0, 3482000.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              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2766000.0, 2771000.0, 2776000.0, 2781000.0,
    5729              :               2786000.0, 2791000.0, 2796000.0, 2808000.0, 2819000.0, 2831000.0, 2842000.0, 2854000.0, 2865000.0, 2876000.0, 2887000.0, 2898000.0,
    5730              :               2909000.0, 2931000.0, 2952000.0, 2973000.0, 2995000.0, 3016000.0, 3037000.0, 3058000.0, 3079000.0, 3100000.0, 3121000.0, 3142000.0,
    5731              :               3163000.0, 3184000.0, 3205000.0, 3280000.0, 3374000.0, 3482000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2768000.0, 2773000.0, 2778000.0,
    5739              :               2783000.0, 2788000.0, 2793000.0, 2805000.0, 2817000.0, 2829000.0, 2840000.0, 2852000.0, 2863000.0, 2874000.0, 2885000.0, 2896000.0,
    5740              :               2907000.0, 2929000.0, 2951000.0, 2972000.0, 2994000.0, 3015000.0, 3036000.0, 3057000.0, 3078000.0, 3099000.0, 3120000.0, 3141000.0,
    5741              :               3162000.0, 3183000.0, 3204000.0, 3280000.0, 3374000.0, 3481000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2770000.0, 2775000.0,
    5749              :               2780000.0, 2785000.0, 2790000.0, 2802000.0, 2814000.0, 2826000.0, 2838000.0, 2850000.0, 2861000.0, 2872000.0, 2883000.0, 2895000.0,
    5750              :               2906000.0, 2928000.0, 2949000.0, 2971000.0, 2992000.0, 3014000.0, 3035000.0, 3056000.0, 3077000.0, 3098000.0, 3119000.0, 3140000.0,
    5751              :               3162000.0, 3183000.0, 3204000.0, 3280000.0, 3373000.0, 3481000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2772000.0,
    5759              :               2777000.0, 2782000.0, 2787000.0, 2800000.0, 2812000.0, 2824000.0, 2836000.0, 2847000.0, 2859000.0, 2870000.0, 2882000.0, 2893000.0,
    5760              :               2904000.0, 2926000.0, 2948000.0, 2969000.0, 2991000.0, 3012000.0, 3034000.0, 3055000.0, 3076000.0, 3097000.0, 3118000.0, 3140000.0,
    5761              :               3161000.0, 3182000.0, 3203000.0, 3280000.0, 3373000.0, 3480000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5769              :               2774000.0, 2779000.0, 2784000.0, 2797000.0, 2809000.0, 2821000.0, 2833000.0, 2845000.0, 2857000.0, 2868000.0, 2880000.0, 2891000.0,
    5770              :               2902000.0, 2924000.0, 2946000.0, 2968000.0, 2990000.0, 3011000.0, 3033000.0, 3054000.0, 3075000.0, 3096000.0, 3118000.0, 3139000.0,
    5771              :               3160000.0, 3181000.0, 3202000.0, 3280000.0, 3372000.0, 3480000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5779              :               0.0,       2775000.0, 2781000.0, 2794000.0, 2806000.0, 2819000.0, 2831000.0, 2843000.0, 2854000.0, 2866000.0, 2878000.0, 2889000.0,
    5780              :               2900000.0, 2923000.0, 2945000.0, 2967000.0, 2988000.0, 3010000.0, 3031000.0, 3053000.0, 3074000.0, 3095000.0, 3117000.0, 3138000.0,
    5781              :               3159000.0, 3180000.0, 3201000.0, 3280000.0, 3372000.0, 3480000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5789              :               0.0,       0.0,       2777000.0, 2790000.0, 2803000.0, 2816000.0, 2828000.0, 2840000.0, 2852000.0, 2864000.0, 2875000.0, 2887000.0,
    5790              :               2898000.0, 2921000.0, 2943000.0, 2965000.0, 2987000.0, 3009000.0, 3030000.0, 3052000.0, 3073000.0, 3094000.0, 3116000.0, 3137000.0,
    5791              :               3158000.0, 3179000.0, 3201000.0, 3280000.0, 3371000.0, 3479000.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,       0.0,       0.0,       0.0,       0.0,       0.0,
    5799              :               0.0,       0.0,       0.0,       2781000.0, 2795000.0, 2808000.0, 2821000.0, 2833000.0, 2846000.0, 2858000.0, 2870000.0, 2881000.0,
    5800              :               2893000.0, 2916000.0, 2939000.0, 2961000.0, 2983000.0, 3005000.0, 3027000.0, 3048000.0, 3070000.0, 3091000.0, 3113000.0, 3134000.0,
    5801              :               3156000.0, 3177000.0, 3198000.0, 3280000.0, 3370000.0, 3478000.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,       0.0,       0.0,       0.0,       0.0,
    5809              :               0.0,       0.0,       0.0,       0.0,       2785000.0, 2799000.0, 2813000.0, 2826000.0, 2838000.0, 2851000.0, 2863000.0, 2875000.0,
    5810              :               2887000.0, 2910000.0, 2933000.0, 2956000.0, 2979000.0, 3001000.0, 3023000.0, 3045000.0, 3067000.0, 3088000.0, 3110000.0, 3132000.0,
    5811              :               3153000.0, 3175000.0, 3196000.0, 3280000.0, 3368000.0, 3476000.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,       0.0,       0.0,       0.0,
    5819              :               0.0,       0.0,       0.0,       0.0,       0.0,       2789000.0, 2803000.0, 2817000.0, 2830000.0, 2843000.0, 2856000.0, 2868000.0,
    5820              :               2880000.0, 2904000.0, 2928000.0, 2951000.0, 2974000.0, 2996000.0, 3019000.0, 3041000.0, 3063000.0, 3085000.0, 3107000.0, 3128000.0,
    5821              :               3150000.0, 3172000.0, 3193000.0, 3280000.0, 3366000.0, 3475000.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,       0.0,       0.0,
    5829              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2792000.0, 2807000.0, 2821000.0, 2834000.0, 2847000.0, 2860000.0,
    5830              :               2873000.0, 2898000.0, 2922000.0, 2945000.0, 2969000.0, 2992000.0, 3014000.0, 3037000.0, 3059000.0, 3081000.0, 3103000.0, 3125000.0,
    5831              :               3147000.0, 3169000.0, 3190000.0, 3280000.0, 3364000.0, 3473000.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,       0.0,
    5839              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2795000.0, 2810000.0, 2824000.0, 2838000.0, 2851000.0,
    5840              :               2864000.0, 2890000.0, 2915000.0, 2939000.0, 2963000.0, 2986000.0, 3009000.0, 3032000.0, 3055000.0, 3077000.0, 3099000.0, 3121000.0,
    5841              :               3143000.0, 3165000.0, 3187000.0, 3280000.0, 3362000.0, 3471000.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              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2797000.0, 2813000.0, 2827000.0, 2841000.0,
    5850              :               2855000.0, 2882000.0, 2907000.0, 2932000.0, 2956000.0, 2980000.0, 3004000.0, 3027000.0, 3050000.0, 3072000.0, 3095000.0, 3117000.0,
    5851              :               3140000.0, 3162000.0, 3184000.0, 3280000.0, 3359000.0, 3469000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2799000.0, 2815000.0, 2830000.0,
    5860              :               2844000.0, 2872000.0, 2899000.0, 2924000.0, 2949000.0, 2974000.0, 2998000.0, 3021000.0, 3044000.0, 3067000.0, 3090000.0, 3113000.0,
    5861              :               3135000.0, 3158000.0, 3180000.0, 3280000.0, 3357000.0, 3467000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2801000.0, 2817000.0,
    5870              :               2832000.0, 2862000.0, 2889000.0, 2916000.0, 2941000.0, 2966000.0, 2991000.0, 3015000.0, 3039000.0, 3062000.0, 3085000.0, 3108000.0,
    5871              :               3131000.0, 3154000.0, 3176000.0, 3280000.0, 3354000.0, 3465000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       2802000.0,
    5880              :               2819000.0, 2850000.0, 2879000.0, 2906000.0, 2933000.0, 2958000.0, 2984000.0, 3008000.0, 3032000.0, 3056000.0, 3080000.0, 3103000.0,
    5881              :               3126000.0, 3149000.0, 3172000.0, 3280000.0, 3351000.0, 3462000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5890              :               2803000.0, 2836000.0, 2867000.0, 2895000.0, 2923000.0, 2950000.0, 2975000.0, 3001000.0, 3025000.0, 3050000.0, 3073000.0, 3097000.0,
    5891              :               3121000.0, 3144000.0, 3167000.0, 3280000.0, 3348000.0, 3459000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5900              :               0.0,       2803000.0, 2838000.0, 2870000.0, 2900000.0, 2929000.0, 2957000.0, 2983000.0, 3009000.0, 3035000.0, 3060000.0, 3084000.0,
    5901              :               3108000.0, 3132000.0, 3156000.0, 3280000.0, 3340000.0, 3453000.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,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5910              :               0.0,       0.0,       2801000.0, 2838000.0, 2872000.0, 2904000.0, 2934000.0, 2963000.0, 2990000.0, 3017000.0, 3043000.0, 3069000.0,
    5911              :               3094000.0, 3119000.0, 3143000.0, 3280000.0, 3332000.0, 3446000.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,       0.0,       0.0,       0.0,       0.0,       0.0,
    5920              :               0.0,       0.0,       0.0,       2797000.0, 2837000.0, 2873000.0, 2906000.0, 2937000.0, 2967000.0, 2996000.0, 3023000.0, 3050000.0,
    5921              :               3077000.0, 3103000.0, 3128000.0, 3280000.0, 3322000.0, 3438000.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,       0.0,       0.0,       0.0,       0.0,
    5930              :               0.0,       0.0,       0.0,       0.0,       2790000.0, 2833000.0, 2871000.0, 2906000.0, 2939000.0, 2970000.0, 3000000.0, 3029000.0,
    5931              :               3057000.0, 3084000.0, 3110000.0, 3280000.0, 3310000.0, 3429000.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,       0.0,       0.0,       0.0,
    5940              :               0.0,       0.0,       0.0,       0.0,       0.0,       2780000.0, 2826000.0, 2867000.0, 2905000.0, 2939000.0, 2972000.0, 3003000.0,
    5941              :               3033000.0, 3062000.0, 3090000.0, 3280000.0, 3297000.0, 3418000.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,       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,       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,       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,       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,       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,       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,       0.0,
    5949              :               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,
    5950              :               2861000.0, 2901000.0, 2938000.0, 2972000.0, 3004000.0, 3036000.0, 3066000.0, 3280000.0, 3282000.0, 3406000.0},
    5951              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.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, 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, 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, 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, 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, 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, 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, 2750000.0,
    5959              :               2806000.0, 2853000.0, 2895000.0, 2934000.0, 2970000.0, 3004000.0, 3037000.0, 3280000.0, 3264000.0, 3392000.0},
    5960              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    5961              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.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, 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, 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, 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, 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, 0.0, 0.0, 2728000.0,
    5967              :               2790000.0, 2842000.0, 2887000.0, 2929000.0, 2967000.0, 3003000.0, 3280000.0, 3244000.0, 3377000.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, 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, 0.0, 0.0, 0.0,
    5970              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
    5971              :               0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0, 0.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, 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, 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, 0.0, 0.0, 0.0,
    5975              :               2701000.0, 2771000.0, 2828000.0, 2877000.0, 2921000.0, 2961000.0, 3280000.0, 3222000.0, 3359000.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,      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,      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,      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,      0.0, 0.0, 0.0, 0.0, 0.0,
    5980              :               0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    5981              :               0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,      0.0, 0.0, 0.0, 0.0, 0.0,
    5982              :               0.0, 0.0, 0.0, 0.0, 2666000.0, 2747000.0, 2810000.0, 2864000.0, 2911000.0, 3280000.0, 3195000.0, 3339000.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,      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,      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,      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,      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,      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,      0.0, 0.0, 0.0, 0.0, 0.0,
    5989              :               0.0, 0.0, 0.0, 0.0, 0.0, 2622000.0, 2718000.0, 2789000.0, 2847000.0, 3280000.0, 3165000.0, 3316000.0},
    5990              :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    5991              :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,       0.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, 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, 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, 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, 0.0, 2564000.0, 2683000.0, 2763000.0, 3280000.0, 3130000.0, 3290000.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, 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, 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, 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, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,
    6000              :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,       0.0,       0.0,
    6001              :               0.0, 0.0, 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},
    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, 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, 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, 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, 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, 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, 0.0, 0.0, 0.0, 2335000.0, 3280000.0, 3040000.0, 3226000.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, 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, 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, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6011              :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.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, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3280000.0, 2821000.0, 3085000.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, 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, 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, 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, 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, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3280000.0, 2671000.0, 2998000.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, 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, 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, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.0,
    6021              :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,       0.0,      0.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, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3280000.0, 2512000.0, 2906000.0}}};
    6023              : 
    6024              :     static constexpr std::array<std::array<Real64, DefaultNumSteamSuperheatedTemps>, DefaultNumSteamSuperheatedPressure>
    6025              :         DefaultSteamSuperheatedDensityDataTable = {
    6026              :             {{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,
    6027              :               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,
    6028              :               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,
    6029              :               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,
    6030              :               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,
    6031              :               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,
    6032              :               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,
    6033              :               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,
    6034              :               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,
    6035              :               2.127e-03, 2.093e-03, 2.061e-03, 3.542e-05, 1.833e-03, 1.714e-03},
    6036              :              {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,
    6037              :               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,
    6038              :               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,
    6039              :               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,
    6040              :               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,
    6041              :               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,
    6042              :               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,
    6043              :               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,
    6044              :               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,
    6045              :               2.285e-03, 2.249e-03, 2.214e-03, 3.542e-05, 1.969e-03, 1.841e-03},
    6046              :              {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,
    6047              :               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,
    6048              :               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,
    6049              :               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,
    6050              :               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,
    6051              :               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,
    6052              :               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,
    6053              :               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,
    6054              :               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,
    6055              :               3.034e-03, 2.986e-03, 2.940e-03, 3.542e-05, 2.615e-03, 2.445e-03},
    6056              :              {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,
    6057              :               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,
    6058              :               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,
    6059              :               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,
    6060              :               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,
    6061              :               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,
    6062              :               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,
    6063              :               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,
    6064              :               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,
    6065              :               4.271e-03, 4.203e-03, 4.138e-03, 3.542e-05, 3.680e-03, 3.442e-03},
    6066              :              {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,
    6067              :               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,
    6068              :               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,
    6069              :               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,
    6070              :               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,
    6071              :               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,
    6072              :               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,
    6073              :               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,
    6074              :               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,
    6075              :               5.931e-03, 5.838e-03, 5.747e-03, 3.542e-05, 5.111e-03, 4.781e-03},
    6076              :              {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,
    6077              :               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,
    6078              :               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,
    6079              :               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,
    6080              :               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,
    6081              :               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,
    6082              :               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,
    6083              :               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,
    6084              :               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,
    6085              :               8.134e-03, 8.006e-03, 7.881e-03, 3.542e-05, 7.009e-03, 6.556e-03},
    6086              :              {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,
    6087              :               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,
    6088              :               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,
    6089              :               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,
    6090              :               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,
    6091              :               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,
    6092              :               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,
    6093              :               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,
    6094              :               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,
    6095              :               1.102e-02, 1.085e-02, 1.068e-02, 3.542e-05, 9.498e-03, 8.884e-03},
    6096              :              {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,
    6097              :               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,
    6098              :               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,
    6099              :               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,
    6100              :               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,
    6101              :               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,
    6102              :               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,
    6103              :               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,
    6104              :               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,
    6105              :               1.477e-02, 1.453e-02, 1.431e-02, 3.542e-05, 1.273e-02, 1.190e-02},
    6106              :              {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,
    6107              :               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,
    6108              :               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,
    6109              :               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,
    6110              :               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,
    6111              :               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,
    6112              :               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,
    6113              :               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,
    6114              :               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,
    6115              :               1.957e-02, 1.927e-02, 1.897e-02, 3.542e-05, 1.687e-02, 1.578e-02},
    6116              :              {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,
    6117              :               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,
    6118              :               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,
    6119              :               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,
    6120              :               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,
    6121              :               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,
    6122              :               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,
    6123              :               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,
    6124              :               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,
    6125              :               2.568e-02, 2.528e-02, 2.488e-02, 3.542e-05, 2.213e-02, 2.070e-02},
    6126              :              {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,
    6127              :               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,
    6128              :               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,
    6129              :               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,
    6130              :               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,
    6131              :               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,
    6132              :               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,
    6133              :               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,
    6134              :               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,
    6135              :               3.337e-02, 3.284e-02, 3.233e-02, 3.542e-05, 2.875e-02, 2.689e-02},
    6136              :              {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,
    6137              :               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,
    6138              :               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,
    6139              :               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,
    6140              :               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,
    6141              :               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,
    6142              :               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,
    6143              :               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,
    6144              :               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,
    6145              :               4.296e-02, 4.228e-02, 4.162e-02, 3.542e-05, 3.701e-02, 3.462e-02},
    6146              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6147              :               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,
    6148              :               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,
    6149              :               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,
    6150              :               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,
    6151              :               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,
    6152              :               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,
    6153              :               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,
    6154              :               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,
    6155              :               5.482e-02, 5.395e-02, 5.312e-02, 3.542e-05, 4.724e-02, 4.418e-02},
    6156              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6157              :               0.0,       0.13040,   0.12840,   0.12650,   0.12580,   0.125,     0.12430,   0.12360,   0.12290,   0.12220,   0.12150,   0.12080,
    6158              :               0.12010,   0.11940,   0.11870,   0.11810,   0.11740,   0.11680,   0.11650,   0.11620,   0.11580,   0.11550,   0.11520,   0.11490,
    6159              :               0.11460,   0.11430,   0.114,     0.11370,   0.11340,   0.11310,   0.11280,   0.11250,   0.11220,   0.11190,   0.11160,   0.11130,
    6160              :               0.111,     0.11080,   0.11050,   0.11020,   0.10990,   0.10960,   0.10930,   0.10910,   0.10880,   0.10850,   0.10820,   0.108,
    6161              :               0.10770,   0.10740,   0.10690,   0.10640,   0.10580,   0.10530,   0.10480,   0.10430,   0.10380,   0.10330,   0.10280,   0.10230,
    6162              :               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,
    6163              :               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,
    6164              :               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,
    6165              :               6.938e-02, 6.828e-02, 6.722e-02, 3.542e-05, 5.978e-02, 5.591e-02},
    6166              :              {0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,       0.0,
    6167              :               0.0,       0.0,       0.16150,   0.159,     0.15810,   0.15710,   0.15620,   0.15530,   0.15440,   0.15350,   0.15260,   0.15180,
    6168              :               0.15090,   0.15,      0.14920,   0.14840,   0.14760,   0.14670,   0.14630,   0.14590,   0.14550,   0.14520,   0.14480,   0.14440,
    6169              :               0.144,     0.14360,   0.14320,   0.14280,   0.14250,   0.14210,   0.14170,   0.14130,   0.141,     0.14060,   0.14020,   0.13990,
    6170              :               0.13950,   0.13910,   0.13880,   0.13840,   0.13810,   0.13770,   0.13730,   0.137,     0.13660,   0.13630,   0.136,     0.13560,
    6171              :               0.13530,   0.13490,   0.13430,   0.13360,   0.13290,   0.13230,   0.13160,   0.131,     0.13040,   0.12970,   0.12910,   0.12850,
    6172              :               0.12790,   0.12730,   0.12670,   0.12610,   0.12550,   0.12490,   0.12430,   0.12380,   0.12320,   0.12260,   0.12210,   0.12150,
    6173              :               0.121,     0.12050,   0.11990,   0.11860,   0.11730,   0.11610,   0.11480,   0.11360,   0.11240,   0.11130,   0.11010,   0.109,
    6174              :               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,
    6175              :               8.711e-02, 8.573e-02, 8.440e-02, 3.542e-05, 7.505e-02, 7.019e-02},
    6176              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,       0.0,      0.0,     0.0,     0.0,
    6177              :               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,
    6178              :               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,
    6179              :               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,
    6180              :               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,
    6181              :               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,
    6182              :               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,
    6183              :               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,
    6184              :               0.116,   0.11410, 0.11220, 0.11030, 0.10850, 0.10680, 0.10520, 3.542e-05, 9.352e-02, 8.746e-02},
    6185              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,      0.0,     0.0,     0.0,
    6186              :               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,
    6187              :               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,
    6188              :               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,
    6189              :               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,
    6190              :               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,
    6191              :               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,
    6192              :               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,
    6193              :               0.12640, 0.12430, 0.12220, 0.12020, 0.11830, 0.11640, 0.11460, 3.542e-05, 0.10190, 9.531e-02},
    6194              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6195              :               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,
    6196              :               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,
    6197              :               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,
    6198              :               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,
    6199              :               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,
    6200              :               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,
    6201              :               0.13530, 0.133,   0.13090, 0.12880, 0.12670, 0.12480, 3.542e-05, 0.11090, 0.1037},
    6202              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6203              :               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,
    6204              :               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,
    6205              :               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,
    6206              :               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,
    6207              :               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,
    6208              :               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,
    6209              :               0.14710, 0.14470, 0.14230, 0.14,    0.13780, 0.13560, 3.542e-05, 0.12060, 0.1128},
    6210              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6211              :               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,
    6212              :               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,
    6213              :               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,
    6214              :               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,
    6215              :               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,
    6216              :               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,
    6217              :               0.15980, 0.15710, 0.15460, 0.15210, 0.14970, 0.14730, 3.542e-05, 0.131,   0.1225},
    6218              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6219              :               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,
    6220              :               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,
    6221              :               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,
    6222              :               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,
    6223              :               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,
    6224              :               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,
    6225              :               0.17340, 0.17050, 0.16770, 0.165,   0.16240, 0.15990, 3.542e-05, 0.14210, 0.1329},
    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,     0.0,     0.0,     0.0,
    6227              :               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,
    6228              :               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,
    6229              :               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,
    6230              :               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,
    6231              :               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,
    6232              :               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,
    6233              :               0.18790, 0.18480, 0.18180, 0.17880, 0.176,   0.17330, 3.542e-05, 0.154,   0.1441},
    6234              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6235              :               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,
    6236              :               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,
    6237              :               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,
    6238              :               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,
    6239              :               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,
    6240              :               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,
    6241              :               0.20350, 0.20010, 0.19680, 0.19360, 0.19060, 0.18760, 3.542e-05, 0.16680, 0.156},
    6242              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6243              :               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,
    6244              :               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,
    6245              :               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,
    6246              :               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,
    6247              :               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,
    6248              :               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,
    6249              :               0.22010, 0.21640, 0.21290, 0.20940, 0.20610, 0.20290, 3.542e-05, 0.18040, 0.1687},
    6250              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6251              :               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,
    6252              :               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,
    6253              :               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,
    6254              :               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,
    6255              :               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,
    6256              :               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,
    6257              :               0.23780, 0.23390, 0.23,    0.22630, 0.22270, 0.21930, 3.542e-05, 0.19490, 0.1823},
    6258              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6259              :               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,
    6260              :               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,
    6261              :               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,
    6262              :               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,
    6263              :               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,
    6264              :               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,
    6265              :               0.25680, 0.25250, 0.24830, 0.24430, 0.24050, 0.23670, 3.542e-05, 0.21040, 0.1968},
    6266              :              {0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6267              :               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,
    6268              :               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,
    6269              :               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,
    6270              :               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,
    6271              :               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,
    6272              :               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,
    6273              :               0.27690, 0.27230, 0.26780, 0.26350, 0.25930, 0.25530, 3.542e-05, 0.22690, 0.2122},
    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.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,
    6276              :               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,
    6277              :               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,
    6278              :               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,
    6279              :               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,
    6280              :               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,
    6281              :               0.29840, 0.29340, 0.28860, 0.28390, 0.27940, 0.27510, 3.542e-05, 0.24450, 0.2287},
    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.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.52250, 0.51950,
    6284              :               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,
    6285              :               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,
    6286              :               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,
    6287              :               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,
    6288              :               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,
    6289              :               0.32120, 0.31590, 0.31070, 0.30570, 0.30080, 0.29610, 3.542e-05, 0.26320, 0.2461},
    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.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.55930,
    6292              :               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,
    6293              :               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,
    6294              :               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,
    6295              :               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,
    6296              :               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,
    6297              :               0.34550, 0.33970, 0.33410, 0.32870, 0.32350, 0.31850, 3.542e-05, 0.28310, 0.2647},
    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.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6300              :               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,
    6301              :               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,
    6302              :               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,
    6303              :               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,
    6304              :               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,
    6305              :               0.35820, 0.35220, 0.34640, 0.34080, 0.33540, 0.33020, 3.542e-05, 0.29350, 0.2744},
    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.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6308              :               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,
    6309              :               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,
    6310              :               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,
    6311              :               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,
    6312              :               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,
    6313              :               0.37130, 0.36510, 0.35910, 0.35330, 0.34760, 0.34220, 3.542e-05, 0.30420, 0.2844},
    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.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6316              :               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,
    6317              :               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,
    6318              :               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,
    6319              :               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,
    6320              :               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,
    6321              :               0.38470, 0.37830, 0.37210, 0.36610, 0.36030, 0.35460, 3.542e-05, 0.31520, 0.2948},
    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.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6324              :               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,
    6325              :               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,
    6326              :               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,
    6327              :               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,
    6328              :               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,
    6329              :               0.39860, 0.392,   0.38550, 0.37930, 0.37330, 0.36740, 3.542e-05, 0.32660, 0.3054},
    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.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6332              :               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,
    6333              :               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,
    6334              :               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,
    6335              :               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,
    6336              :               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,
    6337              :               0.41290, 0.406,   0.39930, 0.39290, 0.38660, 0.38060, 3.542e-05, 0.33830, 0.3163},
    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.0,     0.0,     0.0,     0.0,     0.0,
    6340              :               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,
    6341              :               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,
    6342              :               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,
    6343              :               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,
    6344              :               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,
    6345              :               0.42760, 0.42050, 0.41360, 0.40690, 0.40040, 0.39410, 3.542e-05, 0.35030, 0.3276},
    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.0,     0.0,     0.0,     0.0,
    6348              :               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,
    6349              :               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,
    6350              :               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,
    6351              :               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,
    6352              :               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,
    6353              :               0.44280, 0.43540, 0.42820, 0.42130, 0.41460, 0.40810, 3.542e-05, 0.36270, 0.3391},
    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.0,     0.0,     0.0,
    6356              :               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,
    6357              :               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,
    6358              :               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,
    6359              :               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,
    6360              :               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,
    6361              :               0.45840, 0.45070, 0.44330, 0.43610, 0.42920, 0.42240, 3.542e-05, 0.37540, 0.3511},
    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.0,     0.0,
    6364              :               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,
    6365              :               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,
    6366              :               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,
    6367              :               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,
    6368              :               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,
    6369              :               0.47440, 0.46650, 0.45880, 0.45140, 0.44420, 0.43720, 3.542e-05, 0.38860, 0.3633},
    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.0,
    6372              :               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,
    6373              :               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,
    6374              :               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,
    6375              :               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,
    6376              :               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,
    6377              :               0.49090, 0.48270, 0.47470, 0.46710, 0.45960, 0.45240, 3.542e-05, 0.40210, 0.3759},
    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.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,
    6381              :               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,
    6382              :               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,
    6383              :               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,
    6384              :               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,
    6385              :               0.50790, 0.49940, 0.49110, 0.48320, 0.47550, 0.468,   3.542e-05, 0.41590, 0.3889},
    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.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,
    6389              :               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,
    6390              :               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,
    6391              :               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,
    6392              :               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,
    6393              :               0.52530, 0.51650, 0.508,   0.49980, 0.49180, 0.48410, 3.542e-05, 0.43020, 0.4023},
    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.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,
    6397              :               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,
    6398              :               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,
    6399              :               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,
    6400              :               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,
    6401              :               0.54330, 0.53420, 0.52540, 0.51690, 0.50860, 0.50060, 3.542e-05, 0.44490, 0.416},
    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.0,     0.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.88020, 0.87770,
    6405              :               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,
    6406              :               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,
    6407              :               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,
    6408              :               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,
    6409              :               0.56170, 0.55230, 0.54320, 0.53440, 0.52590, 0.51760, 3.542e-05, 0.46,    0.4301},
    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.0,     0.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.90790,
    6413              :               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,
    6414              :               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,
    6415              :               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,
    6416              :               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,
    6417              :               0.58070, 0.571,   0.56150, 0.55240, 0.54360, 0.53510, 3.542e-05, 0.47550, 0.4446},
    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.0,     0.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6421              :               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,
    6422              :               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,
    6423              :               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,
    6424              :               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,
    6425              :               0.60020, 0.59010, 0.58040, 0.571,   0.56190, 0.553,   3.542e-05, 0.49140, 0.4594},
    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.0,       0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6429              :               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,
    6430              :               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,
    6431              :               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,
    6432              :               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,
    6433              :               0.62020, 0.60980, 0.59970, 0.59,    0.58060, 0.57150, 3.542e-05, 0.50780, 0.4747},
    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.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6437              :               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,
    6438              :               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,
    6439              :               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,
    6440              :               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,
    6441              :               0.64080, 0.63,    0.61960, 0.60960, 0.59980, 0.59040, 3.542e-05, 0.52460, 0.4905},
    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.0,     0.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6445              :               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,
    6446              :               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,
    6447              :               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,
    6448              :               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,
    6449              :               0.66190, 0.65080, 0.64010, 0.62970, 0.61960, 0.60990, 3.542e-05, 0.54180, 0.5066},
    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.0,     0.0,     0.0,     0.0,     0.0,     0.0,
    6453              :               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,
    6454              :               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,
    6455              :               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,
    6456              :               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,
    6457              :               0.68360, 0.67210, 0.661,   0.65030, 0.63990, 0.62980, 3.542e-05, 0.55960, 0.5232},
    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.0,     0.0,     0.0,     0.0,     0.0,
    6461              :               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,
    6462              :               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,
    6463              :               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,
    6464              :               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,
    6465              :               0.70590, 0.694,   0.68260, 0.67150, 0.66070, 0.65030, 3.542e-05, 0.57780, 0.5402},
    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.0,     0.0,     0.0,     0.0,
    6469              :               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,
    6470              :               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,
    6471              :               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,
    6472              :               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,
    6473              :               0.72880, 0.71650, 0.70470, 0.69320, 0.68210, 0.67140, 3.542e-05, 0.59640, 0.5576},
    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.0,     0.0,     0.0,
    6477              :               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,
    6478              :               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,
    6479              :               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,
    6480              :               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,
    6481              :               0.75230, 0.73960, 0.72740, 0.71550, 0.70410, 0.693,   3.542e-05, 0.61560, 0.5755},
    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.0,   0.0,
    6485              :               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,
    6486              :               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,
    6487              :               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,
    6488              :               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,
    6489              :               0.77640, 0.76330, 0.75070, 0.73840, 0.72660, 0.71520, 3.542e-05, 0.63530, 0.5939},
    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.0,
    6493              :               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,
    6494              :               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,
    6495              :               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,
    6496              :               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,
    6497              :               0.80110, 0.78760, 0.77460, 0.76190, 0.74970, 0.73790, 3.542e-05, 0.65550, 0.6128},
    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.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,
    6502              :               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,
    6503              :               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,
    6504              :               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,
    6505              :               0.82650, 0.81260, 0.79910, 0.78610, 0.77350, 0.76130, 3.542e-05, 0.67620, 0.6321},
    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.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,
    6510              :               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,
    6511              :               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,
    6512              :               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,
    6513              :               0.85250, 0.83810, 0.82420, 0.81080, 0.79780, 0.78520, 3.542e-05, 0.69740, 0.652},
    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.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,
    6518              :               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,
    6519              :               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,
    6520              :               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,
    6521              :               0.87920, 0.86440, 0.85,  0.83620, 0.82280, 0.80980, 3.542e-05, 0.7192, 0.6723},
    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,     0.0,     0.0,     0.0,   0.0,       0.0,    0.0,   0.0,   0.0,     0.0,     0.0,   1.375, 1.371,
    6526              :               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,
    6527              :               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,
    6528              :               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,
    6529              :               0.90660, 0.89130, 0.87650, 0.86220, 0.84840, 0.835, 3.542e-05, 0.7416, 0.6932},
    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,     0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     1.415,
    6534              :               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,
    6535              :               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,
    6536              :               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,
    6537              :               0.93470, 0.91890, 0.90360, 0.88890, 0.87460, 0.86080, 3.542e-05, 0.7645, 0.7146},
    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,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,
    6542              :               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,
    6543              :               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,
    6544              :               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,
    6545              :               0.96350, 0.94720, 0.93140, 0.91620, 0.90150, 0.88730, 3.542e-05, 0.7879, 0.7365},
    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,   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,   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,   0.0,   0.0,
    6549              :               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,
    6550              :               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,
    6551              :               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,
    6552              :               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},
    6553              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,     0.0,     0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    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,   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,   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,    1.583, 1.574, 1.565, 1.556, 1.548, 1.539,
    6557              :               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,
    6558              :               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,
    6559              :               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},
    6560              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6561              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    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,   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,   1.673, 1.663, 1.654, 1.644, 1.635,
    6564              :               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,
    6565              :               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,
    6566              :               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},
    6567              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6568              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6569              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,    0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    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,   1.766, 1.756, 1.746, 1.737,
    6571              :               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,
    6572              :               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,
    6573              :               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},
    6574              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6575              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6576              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6577              :               0.0,   0.0,   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,
    6578              :               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,
    6579              :               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,
    6580              :               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},
    6581              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6582              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6583              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6584              :               0.0,   0.0,   0.0,   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,
    6585              :               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,
    6586              :               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,
    6587              :               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},
    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,   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,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6590              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6591              :               0.0,   0.0,   0.0,   0.0,   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,
    6592              :               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,
    6593              :               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,
    6594              :               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},
    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,   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,   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,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6598              :               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,
    6599              :               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,
    6600              :               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},
    6601              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    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,   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,   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,   0.0,   0.0,
    6605              :               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,
    6606              :               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,
    6607              :               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},
    6608              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6609              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    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,   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,   0.0,   0.0,
    6612              :               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,
    6613              :               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,
    6614              :               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},
    6615              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6616              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6617              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    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,   0.0,   0.0,
    6619              :               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,
    6620              :               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,
    6621              :               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},
    6622              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6623              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6624              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6625              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6626              :               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,
    6627              :               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,
    6628              :               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},
    6629              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6630              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6631              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6632              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6633              :               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,
    6634              :               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,
    6635              :               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},
    6636              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6637              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6638              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6639              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6640              :               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,
    6641              :               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,
    6642              :               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},
    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,   0.0,   0.0,   0.0,   0.0,   0.0,
    6644              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6645              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6646              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6647              :               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,
    6648              :               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,
    6649              :               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},
    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,   0.0,   0.0,   0.0,   0.0,
    6651              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6652              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6653              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6654              :               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,
    6655              :               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,
    6656              :               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},
    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,   0.0,   0.0,   0.0,       0.0,   0.0,
    6658              :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6659              :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6660              :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6661              :               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,
    6662              :               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},
    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,       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,   0.0,   0.0,       0.0,   0.0,
    6665              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6666              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6667              :               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,
    6668              :               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},
    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,       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,       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,   0.0,       0.0,   0.0,
    6672              :               0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6673              :               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,
    6674              :               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},
    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,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6679              :               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,
    6680              :               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},
    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,       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,       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,       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,       0.0,   0.0,
    6685              :               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,
    6686              :               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},
    6687              :              {0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    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,   4.315, 4.289, 4.263,
    6692              :               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,
    6693              :               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},
    6694              :              {0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    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,       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,       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,       0.0,   0.0,
    6698              :               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,
    6699              :               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},
    6700              :              {0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6701              :               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    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,       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,       0.0,   0.0,
    6704              :               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,
    6705              :               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},
    6706              :              {0.0,  0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6707              :               0.0,  0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6708              :               0.0,  0.0,   0.0, 0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    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,       0.0,   0.0,
    6710              :               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,
    6711              :               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},
    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,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6714              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6715              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    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,   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,
    6718              :               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},
    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,       0.0,   0.0,
    6720              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6721              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6722              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6723              :               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,
    6724              :               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},
    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,       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,       0.0,   0.0,
    6727              :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6728              :               0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6729              :               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,
    6730              :               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},
    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,       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,       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,       0.0,   0.0,
    6734              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6735              :               0.0,   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,
    6736              :               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},
    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,   0.0,   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,
    6742              :               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},
    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,
    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,
    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,
    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,
    6747              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6748              :               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,
    6749              :               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},
    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,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,
    6754              :               0.0,   0.0, 0.0,   0.0,   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,
    6755              :               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},
    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,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6760              :               0.0,   0.0,   0.0,   0.0,   0.0,   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,
    6761              :               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},
    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,
    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,
    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,
    6765              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6766              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
    6767              :               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,
    6768              :               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},
    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,       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,       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,   0.0,   0.0,   0.0,       0.0,  0.0,
    6772              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6773              :               0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,  0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6774              :               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},
    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,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6779              :               0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6780              :               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},
    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,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6785              :               0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6786              :               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},
    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,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6791              :               0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6792              :               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},
    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,       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,       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,       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,       0.0,   0.0,
    6797              :               0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,  0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6798              :               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},
    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,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6804              :               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},
    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,   0.0,   0.0,   0.0,   0.0,   0.0,       0.0,  0.0,
    6810              :               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},
    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,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,
    6816              :               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},
    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,   0.0,   0.0,   0.0,       0.0,   0.0,
    6822              :               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},
    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,       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,       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,       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,       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,       0.0,   0.0,
    6828              :               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},
    6829              :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,  0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    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,   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,   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,   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, 64.64, 59.47, 55.78, 52.9, 50.53, 48.51, 3.542e-05, 38.55, 34.81},
    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,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6835              :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,  0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    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,   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,   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, 77.05, 69.8, 64.93, 61.24, 58.27, 3.542e-05, 44.92, 40.28},
    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,   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,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6841              :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    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,   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, 92.76, 82.18, 75.63, 70.87, 3.542e-05, 52.35, 46.54},
    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,   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,   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,   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, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,   0.0,   0.0,       0.0,   0.0,  0.0,
    6848              :               0.0, 0.0, 0.0, 0.0, 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},
    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,   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,   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,   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,   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, 143.9, 115.8, 3.542e-05, 71.6, 62.15},
    6854              :              {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0,       0.0,   0.0,  0.0,
    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,   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,   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,   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, 201.8, 3.542e-05, 84.38, 71.99},
    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, 0.0,       0.0,   0.0,  0.0,
    6860              :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    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, 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, 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, 3.542e-05, 148.4, 115.1},
    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, 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, 0.0,       0.0,   0.0,  0.0,
    6866              :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    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, 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, 3.542e-05, 201.7, 144.2},
    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, 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, 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, 0.0,       0.0,   0.0,  0.0,
    6872              :               0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,       0.0,   0.0,  0.0,
    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, 3.542e-05, 270.9, 177.8}}};
    6874              : #endif // UNUSED_FLUID_PROPS
    6875              : 
    6876              : } // namespace Fluid
    6877              : 
    6878              : } // namespace EnergyPlus
        

Generated by: LCOV version 2.0-1