Input Data

In this tutorial, we introduce how to use helios to calculate heating degree-days (HDD) and cooling degree-days (CDD) for the whole globe. The annual HDD and CDD with global coverage can be used in GCAM with 32 regions. helios currently supports climate data that has same format with ISIMIP statistical downscaling CMIP climate data. Table 1 shows more details on the climate and population data supported by helios for GCAM-Regions.


Table 1: Description of required input data in this tutorial.

Specification CMIP Climate Data Population Data
Input Format NetCDF File NetCDF File
Spatial Resolution 0.5 degree No Limit
Temporal Resolution Daily Annual
Required Variable Temperature tas (K) Population (thousand capita)
Full Dataset Download ISIMIP Jones and O’Neill, 2020
Example Dataset helios::example_wrf_china_ncdf helios::example_pop_china_ncdf

Please note that helios can process multiple climate NetCDF files with one population CSV file for each run. However, parallelizing grouped climate data can improve calculation efficiency for large dataset.


Workflow

helios includes 6 major steps in the workflow for global heating and cooling degree-days calculation (Figure 1),

  • Step 1: Process climate NetCDF at 0.5-degree resolution.
  • Step 2: Calculate weighted population.
  • Step 3: Calculate heating and cooling degree-days at grid resolution.
  • Step 4: Calculate heating and cooling degree-days at monthly and annual scale for GCAM regions.
  • Step 5: Calculate annual heating and cooling degree-days by GCAM region and building energy demand sector (This can be used as input to GCAM).
  • Step 6: Post-process for diagnostic and convert to GCAM required format.


Figure 1: Helios workflow for global heating and cooling degree-days for general GCAM.


Method

helios calculates heating and cooling degree-days for the Global implementation. Table 2 shows more details of the method

Table 2: Methods for calculating heating and cooling degree-days at different temporal scales.

Temporal Scale Spatial Scale Sector Unit Method
Daily 32 GCAM Regions Building Thermal Service* Degree-days 1. Calculate gridded heating degree-days (HDD) and cooling degree-days (CDD) as the difference between daily temperature and comfortable temperature (65F).
HDH=TiTcomfort,ifTi<TcomfortHDH = T_i - T_{comfort}, \ if \ T_i < T_{comfort}
CDH=TiTcomfort,ifTi>TcomfortCDH = T_i - T_{comfort}, \ if \ T_i > T_{comfort}
where, TiT_i is the daily temperature at a grid cell; TcomfortT_{comfort} is the comfortable temperature (assuming 65F globally).
2. Multiply the weighted population with the degree-day within the same grid cell.
3. Aggregate daily gridded HDD and CDD by GCAM region.
Monthly 32 GCAM Regions N/A Degree-days 1. Aggregate daily heating degree-days (HDD < 0) and cooling degree-days (CDD > 0) to monthly scale, respectively.
Annual 32 GCAM Regions N/A Degree-days 1. Aggregate monthly heating degree-days (HDD < 0) and cooling degree-days (CDD > 0) to annual scale, respectively.


* Building thermal service includes: commercial heating, commercial cooling, residential heating, and residential cooling.


Examples

Example climate and population data

Due to large size of the climate data (NetCDF file), helios provide spatially subset of example data for demonstration purpose.

  • Climate NetCDF File: helios::example_wrf_china_ncdf subsets a [100,110,30,40] longitude and latitude box within China (0.5-degree resolution) from the global CMIP daily data. Data time ranges from 2015 to 2020.
  • Population NetCDF File: helios::example_pop_china_ncdf subsets 121 0.5-degree grid cells within China from the 2020 population data under SSP1. The data is at 0.125 degree resolution.


Read climate and population data

Users can use helios functions to read climate and population data and convert to tabular table with latitudes and longitudes.

# example data: CMIP6 daily climate at 0.5 degree resolution
path_to_climate_ncdf <- helios::pkg_example('gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc')

temperature <- helios::read_ncdf(ncdf = path_to_climate_ncdf,
                                 model = 'cmip',
                                 var = 'tas',
                                 time_periods = 2020)
Table. Temperature data extracted from CMIP NetCDF.
2020-01-01 2020-01-02 2020-01-03 2020-01-04 2020-01-05 2020-01-06 2020-01-07 2020-01-08 2020-01-09 2020-01-10 2020-01-11 2020-01-12 2020-01-13 2020-01-14 2020-01-15 2020-01-16 2020-01-17 2020-01-18 2020-01-19 2020-01-20 2020-01-21 2020-01-22 2020-01-23 2020-01-24 2020-01-25 2020-01-26 2020-01-27 2020-01-28 2020-01-29 2020-01-30 2020-01-31 2020-02-01 2020-02-02 2020-02-03 2020-02-04 2020-02-05 2020-02-06 2020-02-07 2020-02-08 2020-02-09 2020-02-10 2020-02-11 2020-02-12 2020-02-13 2020-02-14 2020-02-15 2020-02-16 2020-02-17 2020-02-18 2020-02-19 2020-02-20 2020-02-21 2020-02-22 2020-02-23 2020-02-24 2020-02-25 2020-02-26 2020-02-27 2020-02-28 2020-02-29 2020-03-01 2020-03-02 2020-03-03 2020-03-04 2020-03-05 2020-03-06 2020-03-07 2020-03-08 2020-03-09 2020-03-10 2020-03-11 2020-03-12 2020-03-13 2020-03-14 2020-03-15 2020-03-16 2020-03-17 2020-03-18 2020-03-19 2020-03-20 2020-03-21 2020-03-22 2020-03-23 2020-03-24 2020-03-25 2020-03-26 2020-03-27 2020-03-28 2020-03-29 2020-03-30 2020-03-31 2020-04-01 2020-04-02 2020-04-03 2020-04-04 2020-04-05 2020-04-06 2020-04-07 2020-04-08 2020-04-09 2020-04-10 2020-04-11 2020-04-12 2020-04-13 2020-04-14 2020-04-15 2020-04-16 2020-04-17 2020-04-18 2020-04-19 2020-04-20 2020-04-21 2020-04-22 2020-04-23 2020-04-24 2020-04-25 2020-04-26 2020-04-27 2020-04-28 2020-04-29 2020-04-30 2020-05-01 2020-05-02 2020-05-03 2020-05-04 2020-05-05 2020-05-06 2020-05-07 2020-05-08 2020-05-09 2020-05-10 2020-05-11 2020-05-12 2020-05-13 2020-05-14 2020-05-15 2020-05-16 2020-05-17 2020-05-18 2020-05-19 2020-05-20 2020-05-21 2020-05-22 2020-05-23 2020-05-24 2020-05-25 2020-05-26 2020-05-27 2020-05-28 2020-05-29 2020-05-30 2020-05-31 2020-06-01 2020-06-02 2020-06-03 2020-06-04 2020-06-05 2020-06-06 2020-06-07 2020-06-08 2020-06-09 2020-06-10 2020-06-11 2020-06-12 2020-06-13 2020-06-14 2020-06-15 2020-06-16 2020-06-17 2020-06-18 2020-06-19 2020-06-20 2020-06-21 2020-06-22 2020-06-23 2020-06-24 2020-06-25 2020-06-26 2020-06-27 2020-06-28 2020-06-29 2020-06-30 2020-07-01 2020-07-02 2020-07-03 2020-07-04 2020-07-05 2020-07-06 2020-07-07 2020-07-08 2020-07-09 2020-07-10 2020-07-11 2020-07-12 2020-07-13 2020-07-14 2020-07-15 2020-07-16 2020-07-17 2020-07-18 2020-07-19 2020-07-20 2020-07-21 2020-07-22 2020-07-23 2020-07-24 2020-07-25 2020-07-26 2020-07-27 2020-07-28 2020-07-29 2020-07-30 2020-07-31 2020-08-01 2020-08-02 2020-08-03 2020-08-04 2020-08-05 2020-08-06 2020-08-07 2020-08-08 2020-08-09 2020-08-10 2020-08-11 2020-08-12 2020-08-13 2020-08-14 2020-08-15 2020-08-16 2020-08-17 2020-08-18 2020-08-19 2020-08-20 2020-08-21 2020-08-22 2020-08-23 2020-08-24 2020-08-25 2020-08-26 2020-08-27 2020-08-28 2020-08-29 2020-08-30 2020-08-31 2020-09-01 2020-09-02 2020-09-03 2020-09-04 2020-09-05 2020-09-06 2020-09-07 2020-09-08 2020-09-09 2020-09-10 2020-09-11 2020-09-12 2020-09-13 2020-09-14 2020-09-15 2020-09-16 2020-09-17 2020-09-18 2020-09-19 2020-09-20 2020-09-21 2020-09-22 2020-09-23 2020-09-24 2020-09-25 2020-09-26 2020-09-27 2020-09-28 2020-09-29 2020-09-30 2020-10-01 2020-10-02 2020-10-03 2020-10-04 2020-10-05 2020-10-06 2020-10-07 2020-10-08 2020-10-09 2020-10-10 2020-10-11 2020-10-12 2020-10-13 2020-10-14 2020-10-15 2020-10-16 2020-10-17 2020-10-18 2020-10-19 2020-10-20 2020-10-21 2020-10-22 2020-10-23 2020-10-24 2020-10-25 2020-10-26 2020-10-27 2020-10-28 2020-10-29 2020-10-30 2020-10-31 2020-11-01 2020-11-02 2020-11-03 2020-11-04 2020-11-05 2020-11-06 2020-11-07 2020-11-08 2020-11-09 2020-11-10 2020-11-11 2020-11-12 2020-11-13 2020-11-14 2020-11-15 2020-11-16 2020-11-17 2020-11-18 2020-11-19 2020-11-20 2020-11-21 2020-11-22 2020-11-23 2020-11-24 2020-11-25 2020-11-26 2020-11-27 2020-11-28 2020-11-29 2020-11-30 2020-12-01 2020-12-02 2020-12-03 2020-12-04 2020-12-05 2020-12-06 2020-12-07 2020-12-08 2020-12-09 2020-12-10 2020-12-11 2020-12-12 2020-12-13 2020-12-14 2020-12-15 2020-12-16 2020-12-17 2020-12-18 2020-12-19 2020-12-20 2020-12-21 2020-12-22 2020-12-23 2020-12-24 2020-12-25 2020-12-26 2020-12-27 2020-12-28 2020-12-29 2020-12-30 2020-12-31 lon lat
263.6623 268.1363 268.7297 270.0648 266.6488 262.5184 261.7216 262.4232 261.9314 265.3373 265.5084 266.0381 263.5241 263.8323 263.5619 262.1119 261.8411 261.7801 260.9945 260.8299 263.4035 265.1911 263.0069 264.3473 262.7382 261.9808 263.7375 268.3885 270.4925 268.7042 266.9743 268.3402 268.5300 266.5179 267.3504 270.1119 269.0616 265.7330 262.9557 264.7902 268.0004 269.4015 267.0963 267.2444 268.4254 269.3221 272.4082 272.1882 270.9693 269.4855 268.6405 271.0223 268.7256 264.2931 269.1898 269.2008 269.9604 269.7421 268.1123 267.7465 266.3400 266.3017 265.5431 271.2737 273.4262 272.1371 271.5636 270.6212 269.9446 270.6491 270.5427 270.1498 268.0753 267.8161 266.3032 270.0928 273.8086 275.1316 274.7640 272.1867 271.6174 271.1181 270.2995 271.3456 271.6723 271.9101 272.0051 271.9785 271.4054 267.9190 268.0169 268.9010 270.1010 264.6170 271.9763 275.3712 277.8425 274.8607 275.8809 273.0691 275.1021 274.0019 270.6978 275.3591 276.3294 277.3960 276.1955 273.6345 275.5355 274.4258 275.7189 277.5407 275.5460 273.2677 276.8179 277.1952 277.7491 274.1696 277.1980 275.2378 273.4326 281.4649 282.9148 284.4289 282.2525 278.5333 279.2443 278.1047 276.2566 271.6496 279.2621 277.3300 279.1398 280.2806 279.2461 279.8332 278.3143 278.1807 282.2093 280.4593 279.4146 278.2621 278.1038 279.0762 277.7754 279.2889 277.7011 282.3206 280.7906 281.8382 281.9039 282.4206 280.0514 281.9162 281.8186 281.0959 281.4719 282.5309 282.5439 283.3694 282.5777 281.2754 282.7493 283.8586 284.9425 285.4435 282.8747 281.9485 278.9522 280.7839 279.5991 278.3096 282.9404 280.5142 280.5399 278.5080 280.3274 281.8553 283.2740 284.2162 282.2237 282.3776 281.1166 283.0010 282.9655 284.0429 284.6351 284.5048 284.9880 284.5210 282.8245 283.4250 283.4200 282.8608 283.1443 283.5390 282.0645 285.4627 286.3059 285.1086 284.7367 283.7592 280.4040 280.8108 282.0876 281.4943 282.8399 283.6997 282.5694 284.0020 283.8779 283.7356 282.9789 284.1584 282.0988 284.0846 281.8209 283.4591 284.4353 283.6137 280.1129 284.0583 283.7815 283.7336 285.1901 284.4378 283.6439 281.7545 282.0440 282.2251 282.0206 279.5892 279.7238 280.5892 283.4589 283.5694 282.6122 277.8043 282.4625 283.8186 283.0295 281.8455 282.8282 281.3500 282.7960 283.3750 281.8358 282.2945 283.6934 283.1936 283.1052 282.8546 282.3981 282.6799 280.4578 281.2082 281.5453 276.7864 274.4610 276.7906 279.7288 279.2953 280.7451 279.5477 280.2507 278.8603 276.2539 277.7171 280.7086 279.8749 281.0082 281.7885 282.0508 281.5960 281.8778 282.6264 279.5698 278.0241 277.7784 276.6416 278.8017 277.9353 273.7885 277.7967 277.8774 277.9622 279.5241 279.9445 278.5859 277.1688 276.7098 276.9055 276.5214 272.3066 276.6884 275.8693 274.2680 273.1505 269.5475 275.1508 275.6360 275.6391 275.5802 273.0849 274.7018 275.7310 273.3500 274.3012 275.3936 275.1143 274.7417 275.7467 272.0116 271.6698 271.4565 265.9164 269.0846 268.7324 265.9978 266.5450 266.9977 266.8883 266.7177 266.4422 262.6440 264.0386 272.6217 266.2716 268.2766 269.9009 265.3580 268.9715 269.1721 271.1351 272.4716 268.8695 262.1045 262.2623 264.5096 267.6969 262.1384 257.3744 260.8344 265.6710 268.1531 262.1987 266.4711 261.0816 263.1066 265.6666 267.0560 267.5648 265.6668 264.3943 264.6804 264.3385 264.2821 265.3149 264.3810 262.1600 260.3925 259.7606 262.4707 264.2354 261.6857 265.7961 100.25 30.25
267.9874 271.6518 272.7251 273.9499 271.1651 266.0241 265.5305 266.3794 265.8459 268.8044 269.0298 269.1357 267.1772 267.8477 267.1909 265.3221 264.4277 266.3487 265.2778 264.7622 267.4755 270.2901 267.4840 268.3462 267.0344 266.3695 267.6837 270.6668 273.8126 273.1588 270.9190 272.8106 272.1168 269.9646 270.6073 273.7699 273.1113 269.8327 267.3131 268.2961 273.0314 273.6342 271.3508 271.1197 271.9111 272.3231 276.0436 276.9845 275.0693 274.8307 272.3317 274.6935 272.4873 267.7418 273.4630 273.8872 274.1117 273.4847 271.7131 270.9170 270.3927 269.5768 267.8480 274.7004 277.6451 276.4120 275.6876 275.1057 274.1194 274.6995 273.6812 273.0132 271.7731 272.0273 269.7531 273.7440 277.4379 279.7204 280.1128 278.4237 275.4625 275.1290 273.4518 274.7629 275.2481 275.4308 274.6988 275.3960 273.6751 271.2950 270.9242 272.2830 272.8756 269.6911 276.5864 278.1617 281.4377 278.9009 279.7217 276.3918 279.0219 277.3998 275.9593 279.9447 280.2289 280.5403 280.0582 279.3757 280.1617 278.4475 280.6176 282.4174 278.6473 279.4230 281.3682 280.8461 280.8162 277.1054 281.6132 278.5526 278.4626 286.0053 287.5726 288.2454 285.0753 280.5891 282.3400 281.5232 279.1531 276.0219 283.0607 279.6918 282.7985 284.0297 281.8664 282.1813 280.7382 280.1874 285.6104 283.1048 283.4455 280.9554 281.3725 282.0386 281.6089 282.5016 280.3661 285.6165 284.9150 285.6284 285.9023 285.6582 283.9390 285.1549 285.2873 284.8033 284.7434 285.8862 285.8168 286.6950 285.9408 284.2310 285.6830 286.9724 288.1890 288.2211 285.7684 286.1992 283.2410 283.8842 284.1483 282.7945 286.6109 283.9700 284.6704 281.4388 283.9569 285.4953 287.3821 288.2345 286.1372 285.4906 284.6041 286.1898 286.8857 287.7179 288.2422 287.9897 288.7075 287.8462 286.4338 287.0337 286.7173 286.0295 287.4109 287.0122 286.4698 289.5905 290.1500 288.5674 288.6460 286.8248 284.6936 284.7243 285.8094 285.1983 286.6031 287.5723 286.9407 287.8351 287.4898 287.7679 286.8099 287.9348 286.1390 287.9599 285.7997 287.0555 288.1427 287.2346 283.8554 287.8446 286.9652 287.4830 288.8528 287.8608 286.9325 285.0931 286.2924 286.3261 286.1888 283.4139 283.7701 283.6267 286.9034 287.1507 285.3323 282.3630 285.8491 287.2809 287.0808 285.1867 286.0092 285.5126 286.5770 286.8740 286.9769 286.3575 287.0537 286.8219 286.4419 286.3496 285.5755 285.8872 283.5241 285.4343 284.6119 280.4662 278.9505 281.6089 283.0363 282.2444 283.2394 280.3817 282.8493 283.5821 279.2000 281.8752 283.8968 282.8980 284.1230 285.3082 285.3498 285.0674 286.1212 285.6041 283.3598 281.0724 279.6537 280.7346 282.1010 279.0941 276.2340 279.8657 280.9458 282.6774 282.6064 283.6619 283.0634 281.0846 280.0167 280.2776 278.2114 274.6473 278.6819 278.3141 276.8400 277.5633 270.6879 277.9059 279.6817 277.7628 279.0499 276.5385 278.3147 279.6396 274.7440 276.5818 277.2526 277.3369 277.8435 277.7771 275.7101 275.4794 273.7325 267.6570 272.8069 271.6969 269.4257 270.6751 270.2019 269.7473 270.0651 269.4906 262.9709 266.5394 273.9750 268.1055 268.0830 272.9164 268.2118 270.9787 271.3825 274.3633 275.3966 269.9563 262.5426 264.0377 266.8218 269.6626 264.9084 260.8281 263.2394 266.4154 269.9133 265.0232 267.0811 264.8798 265.4927 268.4721 269.3950 269.5655 268.3564 266.3553 267.2170 267.0859 265.9150 268.1662 266.9411 262.8029 262.2139 262.7190 265.0550 265.7913 262.5262 267.6204 100.25 30.75
266.3902 270.5889 271.2938 272.2028 269.6648 264.3639 264.5732 265.0448 264.0181 266.8390 266.9980 267.6233 265.3785 266.6715 265.2682 263.9409 262.7082 265.9530 264.9883 264.1255 266.5079 268.8189 265.6775 265.5923 265.3987 264.7690 265.5397 267.3193 271.4627 271.1273 269.0742 271.4870 269.8626 267.3830 268.1034 272.3921 272.2038 268.4979 264.4789 264.6884 270.4587 272.0395 269.9249 268.0091 267.4756 268.3510 274.0696 275.4078 272.6202 272.9283 269.6875 272.8791 270.4242 266.2411 272.1951 273.0499 273.7024 272.4633 269.4016 268.1046 267.1936 266.1599 263.9412 271.9124 274.6440 274.1264 273.3512 272.8717 272.7282 273.0445 270.2123 270.1960 268.0027 268.5200 265.3120 270.0739 273.9898 276.5483 277.6333 275.3451 272.8650 272.5283 271.6925 271.7260 272.9094 272.6558 271.7930 272.9059 269.9637 269.0640 268.4953 269.7799 269.9286 268.1690 273.3289 275.1767 278.2985 277.1281 276.9621 273.3611 276.4730 274.6803 272.5343 276.6960 276.9080 277.1123 277.9095 277.4172 278.1120 276.2352 278.6981 280.5328 276.1807 277.4944 278.9214 278.5449 278.3101 273.7814 279.5484 275.6776 277.2907 284.3738 285.5297 285.2037 281.2523 277.8165 279.5502 279.3596 275.5178 272.0338 281.0405 277.8430 280.7155 282.2456 279.6013 279.2722 278.5242 277.0723 283.4374 280.5544 281.7651 277.9134 279.2878 279.4242 280.2176 280.1716 277.7615 283.3442 282.6734 283.3255 283.8813 283.2977 281.4951 283.0765 283.0988 282.4999 282.3380 283.5546 283.3562 284.5409 283.7779 281.5363 283.1339 284.6111 286.1328 285.9840 283.2223 284.5659 281.7863 281.0434 282.7658 281.9287 284.6482 281.4850 282.4127 278.1643 281.5343 283.8120 285.5093 286.1021 284.4311 283.4383 281.9927 283.8143 285.3493 285.7812 286.7672 286.6128 287.1570 285.3446 284.6964 285.6679 284.5182 282.9966 285.8138 285.0445 284.7545 287.5828 287.9274 286.7194 286.7946 283.5190 283.4442 282.7218 283.8780 283.6435 285.1094 285.7560 285.6581 285.4804 285.5575 285.8991 285.1853 285.9416 284.1424 286.1419 283.9982 285.2876 286.0414 285.0870 283.1357 285.9173 284.7289 285.5378 286.7515 285.3365 283.9805 282.7563 284.5277 284.5145 284.4109 281.6423 281.6002 280.7310 285.0557 285.0605 282.5865 281.4651 283.4073 284.7779 285.1052 282.4014 283.4163 283.6626 284.7252 284.8378 284.8539 284.4553 285.2548 285.1111 284.8898 284.4568 283.8638 284.0554 281.3080 283.7812 281.9145 278.1526 276.6968 280.4628 281.5521 280.1315 280.2261 276.9549 279.3480 282.2693 276.4351 280.1120 280.6101 278.9353 281.8339 283.6340 283.5750 283.1342 284.5156 283.7572 281.4829 278.0632 278.0225 278.8679 280.5724 276.4300 273.4904 276.4059 278.0938 280.8678 279.8768 280.8653 280.8485 279.9244 277.7207 278.4198 276.0207 271.2964 276.1063 276.4250 273.0677 276.1455 268.1706 274.8543 277.6672 276.1262 277.2269 274.9313 275.7585 278.3399 271.8021 272.4169 274.2808 275.1711 276.1210 274.9884 273.7988 273.1982 270.0705 265.1437 269.8093 268.9039 267.0467 268.5038 268.3529 267.1607 267.4962 266.1109 256.7532 262.5713 270.6817 263.7024 263.3891 270.1086 265.6316 266.9957 267.3156 271.6657 272.9760 265.5546 258.9392 262.9487 264.6418 266.8781 262.5117 258.4021 261.1790 262.4693 266.7166 262.8761 261.8499 262.5746 264.1359 266.4709 266.7950 267.3316 266.3615 263.0005 265.2427 265.0318 263.5273 265.4779 264.0054 259.4933 258.7126 260.1755 262.2359 263.9557 258.8745 265.0727 100.25 31.25
266.1884 269.7415 271.0742 273.0849 270.4002 263.8277 264.8132 264.2865 263.9311 267.4742 268.6322 268.6225 266.3062 266.5948 265.9602 264.6283 262.2244 267.4730 267.5760 265.1509 266.0027 268.9703 266.9316 266.9544 265.3330 264.4160 264.0725 265.8372 269.5906 270.2286 268.1863 271.1318 268.0491 265.6550 265.7509 269.9407 270.0554 266.1669 261.0421 260.9763 268.3149 270.6821 268.4079 265.2126 263.4719 264.5532 269.1500 271.0420 270.7532 271.4475 267.8098 270.4301 268.9836 265.3962 271.6800 271.9823 272.6076 271.5711 266.7174 266.2041 265.8383 266.0529 262.3452 269.8925 272.9217 271.8000 271.6129 271.0282 270.8483 270.5276 268.6849 268.7273 267.8774 268.6945 262.5827 269.4991 272.1305 275.8724 276.2674 275.5293 271.4846 271.6327 271.1738 270.7088 271.7422 270.5252 271.0065 271.1833 267.5487 266.9413 265.9724 269.6051 266.9332 269.9551 273.1827 273.8587 277.1415 276.8273 276.8362 274.5294 275.5085 272.2785 271.3117 275.9283 275.7652 276.3609 277.1792 278.2889 277.2712 276.1436 278.5275 279.8364 275.7364 277.7382 278.2316 277.3687 276.8957 272.1909 278.6469 273.6074 277.0321 283.0089 284.3715 282.7362 278.1212 276.2956 278.3755 276.1885 274.7207 272.0779 280.7943 277.4584 279.5750 281.3448 278.7449 276.9462 278.2816 275.1740 282.6939 279.3993 280.6202 276.7016 279.0284 278.5432 279.6917 280.0888 277.5421 282.5846 283.1564 282.6303 283.2780 282.1078 281.6762 282.5709 282.6812 282.0753 281.1062 282.2328 282.7740 283.9358 283.4790 280.8683 282.2235 283.6375 285.3923 284.4172 282.1563 284.1669 281.8441 280.8344 283.4089 282.5829 283.4484 281.3146 281.8775 277.5995 281.7073 283.7341 285.5308 285.9907 283.3119 282.5252 281.5518 283.3049 285.2463 285.4351 286.5956 286.5286 286.4062 284.6565 283.8728 285.2469 283.6233 282.1565 285.7733 284.8570 284.8031 286.9384 287.8962 286.5284 287.2418 282.2229 282.8922 282.0019 283.1409 282.8868 284.9086 285.6604 285.9895 285.6615 285.5753 285.9154 285.1399 285.8276 284.1933 285.9016 284.1314 284.7623 285.7382 284.1546 283.5557 285.5172 283.7036 285.1459 286.1768 284.9010 282.9137 281.8947 283.7150 284.0803 284.7375 280.7170 281.3846 280.7257 284.3673 284.8013 281.3951 281.6947 282.9372 284.0617 284.6028 281.4261 282.5038 283.8205 284.2034 284.3923 284.8255 284.1753 284.6672 284.4828 284.0004 283.8745 283.3955 283.4149 281.0258 283.6001 280.9391 278.6873 277.0105 280.9488 280.8092 279.8269 278.9446 276.4417 278.8386 281.5556 277.3893 280.4632 279.8653 278.2163 281.0094 282.8085 282.9514 282.5449 283.2909 281.7118 280.2892 278.4070 277.9827 279.3681 279.2747 275.0190 273.6292 275.2092 277.6298 279.3599 278.6577 279.7458 280.2259 278.4235 277.6227 276.9108 274.0919 270.5542 273.5962 275.2677 271.5544 274.9651 267.8494 273.1880 276.3691 274.6473 276.7286 274.4388 275.1255 276.1953 269.4484 269.3985 270.7374 272.5227 274.1882 272.7401 273.2104 271.9632 267.6009 265.4888 269.3825 268.8029 266.4993 268.8093 266.7511 266.3106 267.2420 265.1704 258.9307 261.7302 268.8814 261.8771 262.4138 268.5638 264.1382 267.3463 266.8877 270.3394 271.0822 263.0533 258.0964 261.0645 263.7055 264.4840 262.9175 259.8052 261.4633 260.0804 264.1530 263.5705 259.6815 266.7041 264.4844 265.8535 266.3549 266.2224 265.6481 262.6974 263.9565 264.7473 263.8541 264.6375 263.1821 256.5073 258.7950 260.5478 261.0977 262.3229 258.9984 263.7866 100.25 31.75
262.9928 267.4206 269.4917 271.9409 268.7796 262.0221 262.4335 261.7685 261.1453 265.4753 266.1803 267.2005 264.3653 262.9187 264.0280 262.6223 258.2425 263.9847 263.7778 261.8290 262.2590 266.7634 265.2106 265.0683 263.4336 262.0233 261.8232 263.8323 267.6742 267.4997 265.5910 268.6338 265.5672 263.0840 262.9601 266.8650 267.2176 262.3495 258.5676 258.3025 264.5351 267.5235 265.1876 260.5315 259.3399 260.5179 264.9097 266.7174 267.5513 268.3055 265.8032 268.3672 266.3042 263.2033 268.6677 269.1852 269.5034 268.0880 263.8970 264.1695 263.9926 263.8517 260.8413 267.0587 268.6217 268.4138 268.3737 268.0892 268.1188 267.4533 267.0485 267.2224 266.5020 267.7534 260.8203 267.9093 270.2993 273.8984 274.5741 273.2926 269.7041 270.0319 269.5096 268.9487 270.0671 267.9558 268.3588 269.4028 264.1874 264.6549 263.9773 268.1813 265.2879 267.8538 271.6684 272.2940 275.0271 275.0611 275.7458 273.6120 273.4201 269.5554 269.4034 274.7367 273.7003 275.3952 275.3438 276.7604 275.0229 274.8253 276.8250 277.6212 274.8811 275.5030 277.0240 274.8778 275.0060 270.0571 276.6890 270.7020 274.4523 280.2383 281.6297 280.0695 274.6959 273.4844 276.2714 273.5434 271.5608 270.8056 279.0350 275.4218 277.0674 279.5108 276.8652 274.4832 277.0215 272.4995 281.0143 278.0600 278.5722 273.4808 277.6584 277.1688 277.6949 279.1673 277.0197 281.8240 282.1772 281.2442 282.1639 280.6141 281.3378 281.2034 281.2685 280.6022 279.7083 280.6809 281.7855 282.3070 282.5793 279.7761 281.2063 281.7794 283.0487 280.8489 280.7682 282.3463 280.8867 279.8647 282.7958 281.7615 281.5872 280.7826 280.3392 276.2275 280.9093 282.5746 284.4953 284.8361 281.5699 280.8361 280.0831 282.2819 283.8974 284.0782 285.4255 285.5313 284.5379 282.9504 281.8057 283.6074 281.3537 281.2968 284.7607 283.9088 283.7620 285.8242 287.2112 285.3954 286.7483 280.3378 281.3811 280.0951 281.2409 281.4341 283.7365 284.3145 284.8069 284.7452 284.6476 284.9235 284.0352 284.4270 283.2282 284.7909 283.4384 283.4373 284.4485 282.4626 282.9369 284.1053 282.1275 283.8508 284.8948 284.0148 281.1126 281.0400 280.9795 281.8631 283.6168 279.1542 280.0284 280.7179 282.8987 283.9088 279.2656 280.4153 281.8711 282.5259 283.3221 278.5999 279.9689 282.6692 282.9296 282.5471 283.4086 282.5587 283.3344 282.9164 282.4094 282.5065 281.9034 282.0432 279.8484 282.0944 279.0299 277.3334 274.9805 279.4524 278.5458 278.5812 276.8483 274.5759 278.4898 279.8936 276.3214 278.9648 277.8522 276.1954 278.9094 280.8116 280.9471 280.9021 280.6924 279.0200 278.7176 277.8768 276.8730 278.0965 278.0191 273.4263 272.8318 273.4787 276.3099 276.7608 277.1185 277.5240 279.0982 276.7339 276.8697 273.8551 271.6395 268.3512 270.2521 272.4095 268.9990 271.6476 264.7199 270.9460 272.8796 272.4529 274.4241 272.6232 273.7337 273.2303 265.5889 265.8480 267.0914 269.0404 270.7186 269.0961 271.0392 269.9482 264.9852 264.7135 267.6985 267.2882 264.3613 266.7656 264.7474 263.8959 265.3161 262.7998 258.2941 260.7124 267.0457 260.8910 263.1826 267.1685 262.3133 266.1934 265.6365 267.4380 268.8131 259.9608 256.2855 259.2083 261.3141 260.2494 259.7604 257.3629 259.3070 258.9542 259.4232 260.7667 258.2251 265.2491 263.0794 264.4230 264.3431 264.3138 264.2953 261.1586 262.1969 263.3179 262.4950 262.4667 261.2814 253.1394 253.5382 257.5192 259.7186 260.2731 257.6031 261.9453 100.25 32.25
261.7342 266.3672 267.8808 269.6528 268.3008 260.9965 261.6863 261.0348 260.8817 265.3796 266.9910 266.9781 264.7467 261.8658 264.2932 261.6373 257.0401 262.8116 262.8426 260.6477 260.3942 265.6740 263.9283 264.6554 261.8176 261.2090 260.8168 263.0129 266.1316 265.6691 264.0536 267.9680 265.0004 262.8352 261.9478 264.3640 263.8873 260.3967 257.3049 257.2562 263.1418 265.7269 263.6830 258.2837 257.4188 258.8904 261.5269 263.8649 267.2678 266.2678 265.2016 267.2057 265.5803 262.7177 267.4280 267.7630 267.2356 266.6604 262.7706 263.0169 263.6823 264.2896 261.6208 266.7243 267.7906 267.8475 267.9338 267.2038 267.8250 267.0713 267.0824 267.7298 267.7316 268.0058 261.2608 267.8855 270.0832 273.4156 274.7177 272.8379 269.3966 269.6137 269.7494 268.8997 269.0849 266.5221 268.4026 268.4140 263.6138 264.3132 263.6155 267.8055 264.1309 267.7865 270.9828 271.7564 274.6606 274.7258 275.8524 274.4423 272.7949 267.4793 268.4063 274.2440 273.2374 275.5208 274.9445 277.4017 274.4042 274.8331 276.8434 277.4636 274.5726 275.6041 276.6447 274.6125 274.6474 269.4830 275.3537 269.5447 274.5005 278.8602 281.0106 277.8042 273.7537 273.2753 275.1321 270.1106 270.0924 271.3964 278.7798 275.0251 276.2885 277.8959 276.3586 273.6167 276.7513 271.9832 280.3022 278.1645 277.5129 272.7174 277.2585 276.3019 276.8521 279.0047 276.4216 281.5175 282.0637 281.7314 281.8115 279.8228 281.0988 280.4850 280.7332 280.0150 278.7901 279.7188 281.4033 281.7695 282.3477 279.5218 280.8643 281.1158 281.8337 279.4362 279.9691 281.2114 281.1889 279.8822 282.4811 281.7831 280.7707 280.4197 279.2455 276.6047 281.2966 282.6114 284.5225 284.3246 280.0330 280.0224 280.0955 281.9859 283.4252 283.5843 284.8821 285.1101 283.6782 282.1360 280.9992 283.0665 280.4069 281.1352 284.5293 283.5548 283.6425 285.5681 286.9228 286.0455 286.4725 279.0583 280.7933 279.6676 280.3926 281.0483 283.5423 284.2489 284.6950 285.0092 284.6663 285.3274 284.2582 284.3520 283.6191 284.1605 283.4066 283.1765 283.9625 281.7942 283.1273 283.6208 281.4020 283.7963 284.8049 283.7323 280.3990 280.5215 279.9597 281.0893 283.5566 278.0009 280.1281 281.5398 282.5135 283.3937 278.1593 280.6982 281.9128 282.1530 282.6335 277.6296 279.8054 282.5588 282.8542 283.3279 283.5254 283.4877 282.9890 282.6918 282.1609 281.8478 281.5993 281.7232 279.6868 281.2773 277.7908 276.5919 274.5914 278.9646 277.5705 277.9576 275.8382 274.2085 278.4515 279.0172 275.9852 278.7303 276.7832 275.7463 277.8851 280.2450 280.1371 280.4950 282.4088 277.0670 278.1721 279.6773 276.5027 279.0593 277.1425 272.0519 274.0103 273.6478 276.6302 276.6771 276.8606 277.6258 277.1177 275.7350 276.1892 270.6741 269.9398 267.3947 267.7063 271.7217 268.6146 270.0096 266.9521 270.6941 270.8237 271.2169 273.1562 271.1854 272.9702 270.0361 264.6274 265.2828 266.1441 268.3783 270.2583 268.8476 271.0615 269.0423 263.3723 265.5699 267.5234 267.9854 264.3470 266.3499 263.2614 263.0076 264.1728 260.8409 254.4400 260.7737 266.2864 259.7950 263.9072 266.2339 262.2650 266.0891 265.7866 266.6505 267.9405 259.1893 257.1887 257.4500 261.1005 259.7104 259.9945 257.5586 259.8036 259.1948 257.9110 259.9591 258.8831 265.5120 263.1965 264.5391 265.4789 264.7097 264.4941 260.8383 261.8916 262.3128 262.0528 262.5956 260.4461 252.3810 255.9203 257.7338 259.8859 259.9253 257.4766 261.1671 100.25 32.75
261.2744 265.9842 268.0107 268.0130 269.2026 260.4901 262.0788 261.2701 261.1035 265.9181 268.1204 267.4201 265.2604 261.8125 264.7610 261.1676 258.5967 262.1375 262.1778 260.7935 259.9350 264.9735 262.4729 264.3627 260.9109 261.5591 261.7212 262.7279 266.0033 265.8516 263.4002 267.6902 265.4725 264.3128 262.0059 263.3916 261.7705 257.6357 254.5809 254.9777 262.4961 265.0914 261.6974 254.5762 255.2821 258.2954 259.3938 263.7645 267.0892 264.7405 264.2113 266.9522 265.6978 262.0754 265.9972 267.2403 266.7400 265.7165 262.0528 262.3680 262.9099 264.2316 260.8774 266.1188 267.1084 268.2794 268.5564 266.7886 267.9275 268.0574 267.0444 267.5592 268.0992 267.8075 260.6238 268.2892 269.8582 274.4047 274.7963 273.6445 268.8267 269.1779 269.8456 268.1714 267.4808 266.4589 268.3823 267.8340 263.1828 264.3686 264.0545 268.5338 262.9374 267.7761 271.0810 271.1034 275.5887 275.4367 276.5536 275.3380 273.6476 269.5097 270.4503 275.5154 274.5981 276.5937 275.4403 277.4422 274.4598 274.9537 278.0948 276.9301 274.1018 275.6820 276.4346 274.0815 275.4215 268.6713 275.3725 269.2442 273.6834 279.1810 280.7934 277.2775 274.4118 273.8059 274.4102 269.6664 269.4542 274.0466 278.4793 276.3244 276.7070 277.2668 276.3755 272.6761 277.3354 273.0550 280.1445 278.9617 276.6734 273.7022 277.6549 276.4816 276.3788 279.1698 276.5172 280.3711 283.2494 282.2988 282.3495 279.5508 279.9900 280.7704 280.6173 279.1049 278.6306 279.0598 281.6609 282.1671 282.7723 280.1168 281.0116 281.0226 280.6850 278.6896 279.7428 280.3661 281.7582 280.3609 282.0893 280.7702 281.2364 280.7677 278.9876 276.9140 281.9870 283.1701 284.5525 283.6500 279.2276 280.0002 280.3015 281.9368 283.4552 283.9115 284.6959 284.6846 282.6608 281.6221 280.2874 282.9354 280.1424 281.7028 284.4179 283.4960 284.1007 285.2935 286.9730 286.3442 286.4529 278.4099 280.9749 280.0721 279.8629 281.0815 283.0555 284.3431 285.1219 285.4166 285.0063 285.8947 284.8136 285.0055 283.8805 284.2278 283.4284 283.5151 284.2466 281.1973 283.6652 283.6991 281.2114 284.0603 285.2861 284.0906 280.4138 281.0174 278.8081 280.6594 283.6967 277.7226 280.4265 282.4113 282.6621 283.1898 278.0294 281.6615 282.9044 282.5051 282.6702 278.3897 280.1242 283.1336 283.3032 283.7047 283.7800 284.0072 283.8405 282.8937 282.1105 280.5133 281.6387 281.6424 279.6862 279.4058 277.3024 276.3813 275.2823 278.7948 276.3947 277.9687 275.9104 275.7504 278.9589 278.1579 275.7607 279.1447 276.3567 276.7331 277.6909 280.3488 279.8065 280.7042 281.9109 275.7640 277.4419 279.4117 276.0683 278.8936 275.9911 272.0202 274.1942 274.5970 276.3705 277.6418 277.1466 278.8310 275.7595 275.2365 275.9762 269.6147 267.5072 269.5742 268.3306 270.9155 269.4385 268.9730 267.2875 272.8737 270.7647 270.7705 272.3542 270.1299 272.6315 268.7881 263.4085 264.2611 267.3140 268.8520 270.2495 270.2466 271.5993 268.9456 263.2173 265.6305 267.7479 267.6964 264.9446 265.7427 262.8545 263.9128 263.6906 260.9693 253.8546 262.1805 265.4795 260.7526 264.2310 265.2309 262.7071 266.0168 267.1259 267.8597 268.2489 260.1655 257.9679 256.9328 262.2289 262.2578 261.2704 259.1872 260.5844 259.7842 259.0729 259.5758 260.0261 264.4816 264.2790 266.0874 266.8443 266.5017 265.2164 260.7143 263.0816 263.9734 261.3011 263.4911 261.3477 253.8710 256.6310 258.2477 260.8017 259.7603 257.6497 261.9049 100.25 33.25
262.1405 266.6778 267.3941 266.6229 268.2529 260.6838 262.6989 263.0606 262.9978 267.5437 269.6270 268.5619 265.9220 264.0954 265.8450 261.9922 261.5026 262.8605 262.1714 261.8204 260.8937 264.5786 262.3912 264.7186 260.1973 262.3906 262.4234 264.7317 266.0268 266.1356 263.3347 268.7946 267.8344 266.0750 263.0908 264.5694 262.5509 259.2242 257.2809 261.1617 265.4358 267.5308 263.9229 258.6033 260.6574 261.3829 260.4753 265.8030 270.3102 266.6236 267.5816 269.7276 268.0354 264.2250 268.4216 268.5238 267.6942 267.5465 264.7559 264.7328 265.0629 267.5389 267.0553 269.2660 270.5858 271.9871 272.1700 270.4880 271.0538 270.4762 268.8735 270.6464 270.9094 269.0651 265.2785 270.2672 272.2760 276.0246 277.5956 274.9750 270.4274 270.4249 271.7651 270.2588 268.3507 267.5084 270.5916 268.8945 264.9003 266.6206 266.5042 271.2184 266.9894 270.3675 273.0267 274.2318 277.8011 277.2665 278.1159 278.2394 275.6125 271.5159 274.0032 277.1631 277.1648 279.3777 277.0641 279.1829 276.0336 276.2339 280.1973 278.5668 275.6112 277.8696 278.5692 275.8142 277.1724 273.0044 276.1926 272.7905 276.5169 281.5404 281.9142 277.6244 276.4426 276.6457 275.1215 270.2491 273.7950 277.3775 280.2409 278.4277 278.3099 278.2466 277.8895 276.1556 280.1752 277.1971 282.2328 281.0955 277.5978 276.5657 280.1299 278.0527 277.9200 280.6162 278.0669 281.4632 283.8607 283.6899 284.1405 280.3578 281.6938 282.7834 282.6433 281.4766 280.2011 280.7854 283.2245 283.8192 284.7222 282.5165 282.8006 282.3634 281.8599 280.7761 281.2719 281.9649 284.3969 282.5932 282.6356 282.4100 283.1908 282.4092 280.1303 279.1805 284.1386 285.4043 286.5358 284.1241 279.9096 281.6993 282.6925 283.6020 285.3586 285.5229 286.4111 285.4957 284.3999 283.7050 281.5406 284.7022 281.5791 283.9877 285.4868 285.1868 286.0131 286.8974 289.0951 288.7894 287.9568 279.0437 282.4011 281.8140 281.2391 282.7600 284.8742 286.0274 287.2119 287.3717 287.2384 287.9693 287.2710 287.4776 286.5797 285.6045 285.3938 285.7363 286.1082 283.1856 285.8242 285.4089 283.1194 286.3123 287.0680 285.6194 281.9065 282.7766 280.0746 282.0965 285.1366 279.2688 282.8703 284.6397 284.5166 284.3769 279.8096 283.9893 284.8787 284.7805 284.1514 280.5568 282.2497 285.0035 284.2754 285.6685 285.3630 286.0395 285.3765 284.8982 283.2543 281.2629 283.4081 283.2332 281.3346 279.9117 278.4097 277.6964 277.2977 280.2120 278.1479 279.3001 277.7684 278.4761 280.2477 278.6202 276.4497 280.9688 277.4875 278.7534 279.2791 281.9244 280.8854 281.4735 283.6236 276.9289 278.5567 280.0363 277.1909 280.6981 276.5312 272.7915 275.3815 277.5126 279.7737 279.4091 278.8890 281.3320 276.8194 277.1998 277.2040 270.8510 268.9798 273.6392 271.6195 273.2387 274.6509 271.4578 273.4922 276.3864 272.0287 272.1398 273.8447 271.3286 274.1812 268.6809 267.6906 268.3636 271.1946 272.3947 272.5879 273.4826 272.4874 270.5065 264.7031 269.0805 269.7657 269.1389 267.9235 267.5031 263.6403 267.4152 264.3902 260.6462 259.1724 265.3521 266.9092 262.9121 266.0888 266.3131 264.9476 267.2930 269.0865 269.4391 269.4311 262.2816 260.8224 258.7816 263.5599 264.4870 262.9079 262.0486 263.2309 262.2862 262.6743 262.4923 262.7046 265.1732 266.5825 268.5980 269.3520 269.4134 267.2390 262.7601 264.8021 265.7267 262.3883 265.2544 262.0771 256.8549 260.6797 261.6473 262.6422 261.2080 260.3821 263.3389 100.25 33.75
262.0260 265.5547 265.2743 266.6093 264.2876 259.2369 262.0987 262.7421 262.5718 266.5374 269.3411 268.4617 264.0558 265.0795 264.7350 262.0661 261.2723 263.6673 261.6305 261.4720 261.2373 262.8194 262.1864 264.0252 258.4712 261.7399 260.9873 265.5800 265.3484 266.4510 262.9701 268.3111 267.5776 264.2881 263.7564 263.4982 262.6044 259.0350 257.0029 261.3268 267.3587 268.3932 265.4648 259.7657 261.2646 263.3777 259.7622 266.4184 271.5514 267.5128 268.6911 271.0695 267.4211 264.0324 268.1669 268.2071 267.0854 267.6438 266.8851 266.3666 265.8775 268.7928 267.7787 269.6136 271.6286 272.7962 272.3205 270.5944 272.3108 271.0381 268.3384 270.4564 271.4586 267.8381 263.6994 269.4061 270.9144 276.3669 277.1204 275.2075 268.9603 268.4055 271.5184 269.7502 266.9666 266.2745 269.8185 268.5133 264.5100 266.8280 266.0117 271.2756 266.6790 268.2554 272.8136 274.5081 277.5965 277.0763 278.2980 279.0143 276.7713 272.7551 274.7029 278.0568 278.7290 280.1875 278.1076 279.9107 277.3102 276.5955 280.5743 278.8578 275.8646 278.1824 279.2008 276.3953 277.3289 274.0225 275.9906 274.2639 278.7690 282.7317 282.5027 277.5622 276.8252 277.0504 274.4415 270.1337 273.5894 276.2447 280.8332 278.7985 278.9141 277.6115 277.8766 277.1498 281.1075 277.2082 282.9407 281.3167 277.4300 276.6885 280.6663 277.9421 277.9202 280.8072 277.8275 281.6248 283.0793 283.8774 283.9255 280.6460 281.4807 283.4696 282.7281 281.6302 280.3124 280.7762 283.2235 283.6110 285.1453 283.1293 283.3627 281.6007 282.0029 281.6886 280.4133 281.8631 284.7607 282.8356 281.6342 282.3980 284.0951 282.3283 279.4803 279.2447 284.2102 285.7677 286.4229 282.8883 279.1902 281.1975 283.0718 283.6752 286.0071 285.7162 286.1228 284.6092 284.7118 285.0219 281.6362 284.6649 281.7738 284.3177 284.9511 284.8658 286.6244 287.1086 289.0345 288.8697 287.6806 279.1844 281.6359 281.7934 280.7308 282.5212 284.8636 286.0665 287.1961 287.1766 287.6015 288.0120 287.5974 287.9720 286.5023 285.1793 285.0024 285.8527 286.1782 283.5849 285.5706 285.7163 282.9272 286.4641 286.6894 285.8081 281.7417 282.5013 279.7563 282.0059 283.5671 278.8163 283.2398 284.2002 284.6271 283.6599 280.1125 284.7263 284.3118 285.0962 284.2204 281.1784 282.0673 285.2793 283.0426 285.5441 285.7837 286.0582 285.2915 286.0749 282.0079 279.4474 283.1839 282.9828 281.2975 279.0475 279.1683 278.0399 277.1943 280.2515 278.5950 279.3100 278.6426 279.0555 279.5851 277.6829 274.7908 280.6399 278.0970 278.1884 279.4032 281.5377 280.0884 279.1751 284.1296 277.6202 277.6270 279.0165 276.2076 280.8835 274.8058 270.0316 274.0195 277.7414 280.2763 279.6821 280.1407 281.5018 277.4743 277.5698 275.8542 269.2154 268.5491 273.1197 271.4331 274.2347 275.1335 270.9249 272.5023 277.0468 270.2858 271.8014 274.4689 270.5179 274.1098 268.1571 267.9900 270.0735 272.9506 273.4529 270.9026 273.3336 270.7740 269.6507 262.9068 268.1239 269.0269 267.5474 267.1891 266.1270 263.6849 266.9440 263.2777 261.7605 259.1487 264.1769 265.2685 262.7988 263.9563 265.2285 264.7925 265.4245 267.1153 268.0273 267.6901 261.4305 259.3738 258.8353 262.3537 262.6704 261.4836 261.2730 263.8772 261.4692 262.7956 261.9028 261.8242 264.0262 264.9072 267.7393 268.1248 267.8411 266.1346 262.3880 263.3414 263.6071 260.7984 263.6219 259.3018 257.0970 260.6215 261.3359 260.4086 260.8099 260.2478 262.1308 100.25 34.25
261.1506 263.1756 262.1219 263.0392 259.5221 256.5538 260.3689 261.3780 260.8777 263.7459 267.3865 265.2687 260.9711 263.1543 262.1410 259.1797 259.5071 261.8564 258.6625 259.4339 259.6711 259.8042 259.4436 260.7458 255.4311 259.5563 259.0529 265.1300 263.7081 265.2495 261.5467 265.5359 265.3998 262.1820 262.5468 261.1750 261.0390 257.9124 253.3895 260.8426 266.5129 268.5022 264.0844 259.2447 262.5979 263.5113 260.2895 264.4334 271.2673 266.7492 269.0501 270.1344 264.9280 264.0224 268.1202 267.1214 265.8277 267.1480 266.6118 265.4188 264.1760 266.8669 267.6886 269.2492 271.3148 272.3049 270.7684 269.4452 271.6201 267.8237 265.5508 269.1125 268.7590 264.8698 262.3401 266.5264 269.3657 276.0172 276.3129 271.8358 268.4996 267.0709 269.3571 267.9505 264.2027 263.4408 268.1382 266.0860 261.9734 264.7319 264.6703 267.3697 266.4067 267.5512 272.5615 275.1206 276.5280 276.0924 275.8131 275.8905 275.1344 270.5894 273.1927 275.6320 276.6698 278.1731 276.4624 277.9243 274.7945 273.7486 278.2743 276.7197 273.6042 276.1931 277.5369 274.6096 275.5367 273.6717 273.8525 274.7937 278.3039 281.4546 280.1118 275.1029 275.8233 275.5998 271.0729 268.6635 273.4362 276.7300 280.5956 276.5886 276.9090 276.3557 275.4916 276.9985 280.6614 279.2780 282.4996 279.5751 275.2458 275.7460 279.4999 276.3830 276.5529 277.4455 277.1744 279.3409 277.7513 280.5182 281.7738 278.0227 280.2297 282.3862 281.8536 280.2129 279.1836 278.9456 281.7397 281.5352 283.4305 281.8299 281.9606 279.2606 280.3987 281.0491 278.2343 280.9113 283.4240 281.5137 279.6433 281.4117 283.3069 280.9655 276.8662 279.1143 282.4594 284.2541 284.3917 279.8999 276.3651 279.4100 281.7005 282.1334 284.2442 283.3128 284.0735 282.1694 283.0104 284.0620 280.7060 283.2409 280.1274 282.9439 283.2375 283.1953 285.1975 285.4414 287.9162 288.5263 285.5869 278.6742 280.3273 280.7051 279.6020 281.1055 283.3229 284.5376 285.8093 285.7816 286.3843 287.1657 286.8580 286.7981 286.7685 282.7248 283.5439 284.9698 284.3150 282.7899 284.3538 283.8079 281.5935 285.5088 284.8825 283.8187 279.7866 280.8593 278.6145 280.8680 280.7285 276.0320 281.8601 281.7033 282.3501 281.5728 279.7711 283.2762 282.2299 283.8452 282.1211 280.7639 280.3300 283.7423 280.6730 285.3633 284.5130 284.1630 281.7408 284.4841 279.7743 277.4767 281.5885 280.6965 279.7261 277.4079 278.0449 276.3748 275.9148 278.0070 277.2780 277.7822 277.4846 278.2916 277.3163 275.2130 272.3143 278.2716 276.0988 276.5883 277.3218 279.2949 277.7624 276.6697 281.8751 276.2634 276.5594 276.3370 274.7643 279.8012 273.1984 270.5173 272.4041 276.5075 279.6826 276.5697 277.4694 278.1000 275.3266 277.4200 273.1229 269.7720 270.4363 273.1519 271.8602 272.8651 274.8715 270.9795 273.5145 276.7642 269.8520 270.8691 273.2348 270.7828 272.8295 264.8972 265.7694 268.8470 272.1179 272.8866 267.8490 270.7208 267.3125 267.7714 261.1693 265.9375 267.5444 264.7116 265.7516 263.8203 261.0240 265.1878 260.2513 257.0798 255.8806 262.5960 262.7498 260.8119 261.6783 262.1924 263.0029 262.8180 264.3182 265.1505 264.4518 259.8631 258.2992 257.8597 260.6673 261.1062 260.1164 260.4868 262.7258 260.4911 262.9081 262.0707 260.0830 262.0662 262.9855 265.6642 265.8541 266.1021 263.2684 260.3961 261.3498 262.0513 258.6607 260.5376 256.3276 255.7150 260.5158 260.6662 257.9872 258.8308 258.5825 259.4673 100.25 34.75
Note:
This only shows the first 10 lines of the example data.


# example data: population of 2020 at 0.125 degree resolution
path_to_population <- helios::pkg_example('ssp1_2020_sub.nc')

population <- helios::read_population(file = path_to_population,
                                      time_periods = 2020)
Table. Population data.
lon lat value year
100.0625 39.9375 45 2020
100.1875 39.9375 45 2020
100.3125 39.9375 45 2020
100.4375 39.9375 45 2020
100.5625 39.9375 45 2020
100.6875 39.9375 45 2020
100.8125 39.9375 45 2020
100.9375 39.9375 45 2020
101.0625 39.9375 45 2020
101.1875 39.9375 45 2020
Note:
This only shows the first 10 lines of the example data.


Calculate HDD and CDD

The following example specifies the arguments for processing CMIP6 dataset. More information for the arguments can be found in (helios::hdcd Reference)[https://jgcri.github.io/helios/reference/hdcd.html].

  • ncdf_var = 'tas' specifies climate variable to extract from the netCDF, which is temperature in this case.
  • model = 'cmip' specifies the model used to produce the climate forcing data, which is CMIP6 model in this case.
  • model_timestep = 'daily' indicates the temporal resolution of the climate forcing data, which is daily in this case.
  • spatial = 'gcam_regions32' specifies we are calculating the cooling and heating degree-days for 32 GCAM regions. This will produce outputs that can be used for general GCAM. For tutorial of using helios to calculate heating and cooling degree-hours for CONUS in GCAM-USA, please check out GCAM-USA tutorial page.
  • time_periods = 2020 specifies the time period (e.g., 2020) to extract from the dataset covering 2015 - 2020. Users can also specify multiple time period (e.g. time_periods = c(2017, 2018, 2019, 2020)) if those time periods are within the time span of the climate and population dataset.
  • dispatch_segment = FALSE indicates the model will output annual heating and cooling degree-days for selected spatial scale. Annual HDD/CDD is the common input time step for GCAM core.
library(helios)

# example data: CMIP6 daily climate at 0.5 degree resolution
path_to_climate_ncdf <- helios::pkg_example('gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc')

# example data: population of 2020 at 0.125 degree resolution
path_to_population <- helios::pkg_example('ssp1_2020_sub.nc')

# Calculate heating and coolong degrees for GCAM regions (e.g., part of China in the example)
hdcd_china <- helios::hdcd(ncdf = path_to_climate_ncdf,
                           ncdf_var = 'tas',
                           model = 'cmip',
                           model_timestep = 'daily',
                           population = path_to_population,
                           spatial = 'gcam_regions32',
                           time_periods = 2020,
                           dispatch_segment = FALSE,
                           reference_temp_F = 65,
                           folder = file.path(getwd(), 'output'),
                           diagnostics = F,
                           xml = F,
                           name_append = '',
                           save = T)
## [1] "Starting function process_hdcd..."
## [1] "Processing files provided: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "........................................."
## [1] "Running hdcd for file: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "Starting population weighting ..."
## [1] "Completed population weighting."
## [1] "Processing hdcd completed for file: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "File saved as : /Users/runner/work/helios/helios/vignettes/output/hdcd_cmip_2020_2020_gcam.csv"
## [1] "File saved as : /Users/runner/work/helios/helios/vignettes/output/hdcd_cmip_2020_2020_monthly.csv"
## [1] "File saved as : /Users/runner/work/helios/helios/vignettes/output/hdcd_cmip_2020_2020_annual.csv"
## [1] "process_hdcd completed."


The output is a list containing three tables. All outputs are in degree-days.

  • hdcd_china$hdcd_comb_gcam: Heating and cooling degree-days by GCAM region and building thermal service. GCAM required format.
  • hdcd_china$hdcd_comb_monthly: Heating and cooling degree-days by month for the Globe (part of China in the example).
  • hdcd_china$hdcd_comb_annual: Heating and cooling degree-days by year for the Globe (part of China in the example).


1. By GCAM Building Thermal Service

# Heating and cooling degree-days by year and by building thermal service for GCAM regions
hdcd_gcam <- hdcd_china$hdcd_comb_gcam
Table. Annual hating and cooling degree-days by building thermal service.
region subRegion year gcam.consumer nodeInput building.node.input thermal.building.service.input unit value
China China 2020 comm comm comm_building comm cooling Fahrenheit degree-days 1260.400
China China 2020 comm comm comm_building comm heating Fahrenheit degree-days -4366.006
China China 2020 resid resid resid_building resid cooling Fahrenheit degree-days 1260.400
China China 2020 resid resid resid_building resid heating Fahrenheit degree-days -4366.006


2. By Month

# Heating and cooling degree-days at monthly scale for GCAM regions
hdcd_monthly <- hdcd_china$hdcd_comb_monthly
Table. Monthly heating and cooling degree-days.
region subRegion year month HDCD unit value
China China 2020 1 HD Fahrenheit degree-days -924.169900
China China 2020 2 HD Fahrenheit degree-days -755.526257
China China 2020 3 CD Fahrenheit degree-days 1.336682
China China 2020 3 HD Fahrenheit degree-days -606.183647
China China 2020 4 CD Fahrenheit degree-days 30.045706
China China 2020 4 HD Fahrenheit degree-days -186.149601
China China 2020 5 CD Fahrenheit degree-days 124.613478
China China 2020 5 HD Fahrenheit degree-days -66.998748
China China 2020 6 CD Fahrenheit degree-days 207.748333
China China 2020 6 HD Fahrenheit degree-days -38.717064
China China 2020 7 CD Fahrenheit degree-days 401.606410
China China 2020 7 HD Fahrenheit degree-days -12.551112
China China 2020 8 CD Fahrenheit degree-days 310.909836
China China 2020 8 HD Fahrenheit degree-days -23.165328
China China 2020 9 CD Fahrenheit degree-days 156.554741
China China 2020 9 HD Fahrenheit degree-days -59.748262
China China 2020 10 CD Fahrenheit degree-days 27.585049
China China 2020 10 HD Fahrenheit degree-days -219.468608
China China 2020 11 HD Fahrenheit degree-days -628.251171
China China 2020 12 HD Fahrenheit degree-days -845.076493


3. By Year

Table. Annual heating and cooling degree-days.
region subRegion year HDCD unit value
China China 2020 CD Fahrenheit degree-days 1260.400
China China 2020 HD Fahrenheit degree-days -4366.006


*WARNING: Please note that if users are following the example provided here, we use a spatial subset of CMIP6 input climate NetCDF data that covers 2015 - 2020. To get heating and cooling degrees for all 32 regions, users need to run the global climate NetCDF. This might propose computational challenge depending on the features of the computational devices used.


Various Spatial Scales

Beyond using helios for GCAM regions (e.g., spatial = 'gcam_region32'), we can use helios as a general tool to calculate heating and cooling degrees at various spatial scales by using spatial argument. More details about available spatial scales are described in helios::spatial_options.

  • spatial = 'gcam_region32' for global countries
  • spatial = 'gcam_countries' for global countries
  • spatial = 'gcam_basins' for global 235 basins
  • spatial = data.frame(subRegion = c('Shanghai', 'Beijing')) will automatically find the corresponding spatial map that is at the same scale with the subRegion names provided. In this case, helios will identify states/province level spatial scale. The final output will depend on input climate data’s coverage. Users need to provide this in the format of data frame or tibble.


1. Country Scale

library(helios)

# example data: CMIP6 daily climate at 0.5 degree resolution
path_to_climate_ncdf <- helios::pkg_example('gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc')

# example data: population of 2020 at 0.125 degree resolution
path_to_population <- helios::pkg_example('ssp1_2020_sub.nc')

# Calculate heating and coolong degrees for GCAM regions (e.g., part of China in the example)
hdcd <- helios::hdcd(ncdf = path_to_climate_ncdf,
                     ncdf_var = 'tas',
                     model = 'cmip',
                     model_timestep = 'daily',
                     population = path_to_population,
                     spatial = 'gcam_countries',
                     time_periods = 2020,
                     dispatch_segment = FALSE,
                     reference_temp_F = 65,
                     folder = file.path(getwd(), 'output'),
                     diagnostics = F,
                     xml = F,
                     name_append = '',
                     save = F)
## [1] "Starting function process_hdcd..."
## [1] "Processing files provided: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "........................................."
## [1] "Running hdcd for file: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "Starting population weighting ..."
## [1] "Completed population weighting."
## [1] "Processing hdcd completed for file: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "process_hdcd completed."
# Heating and cooling degree-days at annual scale
hdcd$hdcd_comb_annual
Table. Annual heating and cooling degree-days for global countries.
region subRegion year HDCD unit value
China China 2020 CD Fahrenheit degree-days 1260.400
China China 2020 HD Fahrenheit degree-days -4366.006


2. Basin Scale

library(helios)

# example data: CMIP6 daily climate at 0.5 degree resolution
path_to_climate_ncdf <- helios::pkg_example('gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc')

# example data: population of 2020 at 0.125 degree resolution
path_to_population <- helios::pkg_example('ssp1_2020_sub.nc')

# Calculate heating and coolong degrees for GCAM regions (e.g., part of China in the example)
hdcd <- helios::hdcd(ncdf = path_to_climate_ncdf,
                     ncdf_var = 'tas',
                     model = 'cmip',
                     model_timestep = 'daily',
                     population = path_to_population,
                     spatial = 'gcam_basins',
                     time_periods = 2020,
                     dispatch_segment = FALSE,
                     reference_temp_F = 65,
                     folder = file.path(getwd(), 'output'),
                     diagnostics = F,
                     xml = F,
                     name_append = '',
                     save = F)
## [1] "Starting function process_hdcd..."
## [1] "Processing files provided: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "........................................."
## [1] "Running hdcd for file: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "Starting population weighting ..."
## [1] "Completed population weighting."
## [1] "Processing hdcd completed for file: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "process_hdcd completed."
# Heating and cooling degree-days at annual scale
hdcd$hdcd_comb_annual
Table. Annual heating and cooling degree-days for global basins.
region subRegion year HDCD unit value
Gobi_Interior Gobi_Interior 2020 CD Fahrenheit degree-days 3.445710e+02
Gobi_Interior Gobi_Interior 2020 HD Fahrenheit degree-days -8.210200e+03
Huang_He Huang_He 2020 CD Fahrenheit degree-days 8.056997e+02
Huang_He Huang_He 2020 HD Fahrenheit degree-days -5.996119e+03
Tarim_Interior Tarim_Interior 2020 CD Fahrenheit degree-days 6.324040e-02
Tarim_Interior Tarim_Interior 2020 HD Fahrenheit degree-days -1.179301e+04
Yangtze Yangtze 2020 CD Fahrenheit degree-days 1.607160e+03
Yangtze Yangtze 2020 HD Fahrenheit degree-days -3.097255e+03


3. User Specified subRegion Scale

library(helios)
library(rmap)

# example data: CMIP6 daily climate at 0.5 degree resolution
path_to_climate_ncdf <- helios::pkg_example('gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc')

# example data: population of 2020 at 0.125 degree resolution
path_to_population <- helios::pkg_example('ssp1_2020_sub.nc')

# specify few province names to indicate calculate HDDCDD at province scale
scale_province <- data.frame(subRegion = c('Shanghai', 'Beijing'))

# Calculate heating and coolong degrees for GCAM regions (e.g., part of China in the example)
hdcd <- helios::hdcd(ncdf = path_to_climate_ncdf,
                     ncdf_var = 'tas',
                     model = 'cmip',
                     model_timestep = 'daily',
                     population = path_to_population,
                     spatial = scale_province,
                     time_periods = 2020,
                     dispatch_segment = FALSE,
                     reference_temp_F = 65,
                     folder = file.path(getwd(), 'output'),
                     diagnostics = F,
                     xml = F,
                     name_append = '',
                     save = F)
## [1] "Starting function process_hdcd..."
## [1] "Processing files provided: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "........................................."
## [1] "Running hdcd for file: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
##            map subRegNum rank
## 1    mapStates         2    9
## 2 mapStatesAlt         2   10
##            map subRegNum rank
## 1    mapStates         2    9
## 2 mapStatesAlt         2   10
## [1] "Starting population weighting ..."
## [1] "Completed population weighting."
## [1] "Processing hdcd completed for file: /Users/runner/work/_temp/Library/helios/extras/gfdl-esm4_r1i1p1f1_w5e5_ssp126_tas_global_daily_2015_2020_sub.nc"
## [1] "process_hdcd completed."
# Heating and cooling degree-days at annual scale
hdcd$hdcd_comb_annual
Table. Annual heating and cooling degree-days for User Specified Scale.
region subRegion year HDCD unit value
China Chongqing 2020 CD Fahrenheit degree-days 1847.17094
China Chongqing 2020 HD Fahrenheit degree-days -2784.02140
China Gansu 2020 CD Fahrenheit degree-days 328.77998
China Gansu 2020 HD Fahrenheit degree-days -6851.04096
China Hubei 2020 CD Fahrenheit degree-days 1166.79647
China Hubei 2020 HD Fahrenheit degree-days -3740.88599
China Inner Mongol 2020 CD Fahrenheit degree-days 875.27854
China Inner Mongol 2020 HD Fahrenheit degree-days -6874.16100
China Ningxia 2020 CD Fahrenheit degree-days 692.73315
China Ningxia 2020 HD Fahrenheit degree-days -6452.58165
China Qinghai 2020 CD Fahrenheit degree-days 25.24867
China Qinghai 2020 HD Fahrenheit degree-days -9417.88403
China Shaanxi 2020 CD Fahrenheit degree-days 1163.61281
China Shaanxi 2020 HD Fahrenheit degree-days -4720.13799
China Sichuan 2020 CD Fahrenheit degree-days 1755.24761
China Sichuan 2020 HD Fahrenheit degree-days -2770.78425


Diagnostics

After getting the data table for heating and cooling degrees, users can perform diagnostics. The following example is only for demonstration of how to use helios::diagnostics.

# Perform diagnostic on monthly data
helios::diagnostics(hdcd_monthly = hdcd_monthly,
                    min_diagnostic_months = 6,
                    folder = file.path(getwd(), 'output'),
                    name_append = 'monthly')

# if input non-dispatch segment data, there will be no diagnostics
helios::diagnostics(hdcd_segment = hdcd_gcam,
                    min_diagnostic_months = 6,
                    folder = file.path(getwd(), 'output'),
                    name_append = 'segment')


XML file for GCAM

Finally, for GCAM users, helios can save the outputs by building thermal service to XML format, which is a required format for GCAM inputs. There are two ways to save helios output to XML file:

helios::save_xml(hdcd_gcam = hdcd_gcam,
                 folder = file.path(getwd(), 'output'),
                 name_append = 'cmip')
## [1] "Starting function save_xml..."
## [1] "File saved as : /Users/runner/work/helios/helios/vignettes/output/hdcd_cmip_xml.csv"
## [1] "File saved as : /Users/runner/work/helios/helios/vignettes/output/hdcd_cmip.xml"
## [1] "save_xml complete."