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

Generated by: LCOV version 2.0-1