From fa260870e9dd9f183a7aa937b0eae02a4c028c71 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 13:31:54 -0400 Subject: [PATCH 01/54] BUG: fixed TODO calls Fixed TODO calls by resolving the issue or creating an issue in the repository and tagging it. --- .../tests/classes/cls_instrument_access.py | 8 +++----- .../tests/classes/cls_instrument_library.py | 2 +- GeospaceDataManagement/tests/test_instruments.py | 1 - GeospaceDataManagement/tests/test_utils_coords.py | 2 +- GeospaceDataManagement/tests/test_utils_meta.py | 2 +- 5 files changed, 6 insertions(+), 9 deletions(-) diff --git a/GeospaceDataManagement/tests/classes/cls_instrument_access.py b/GeospaceDataManagement/tests/classes/cls_instrument_access.py index 0f0c4d9..3a74e94 100644 --- a/GeospaceDataManagement/tests/classes/cls_instrument_access.py +++ b/GeospaceDataManagement/tests/classes/cls_instrument_access.py @@ -834,9 +834,8 @@ def test_setting_data_by_name_with_meta(self): 'units': 'hours', 'long_name': 'double trouble'} assert np.all(self.testInst['doubleMLT'] == 2. * self.testInst['mlt']) - # TODO META - # assert self.testInst.meta['doubleMLT'].units == 'hours' - # assert self.testInst.meta['doubleMLT'].long_name == 'double trouble' + assert self.testInst['doubleMLT'].attrs['units'] == 'hours' + assert self.testInst['doubleMLT'].attrs['long_name'] == 'double trouble' return @pytest.mark.parametrize("changed,fixed", @@ -948,9 +947,8 @@ def test_basic_variable_renaming(self, lowercase, mapper): # Check for new name in the data and metadata inst_var = values[key].lower() if lowercase else values[key] assert inst_var in self.testInst.variables - # TODO assert values[key] in self.testInst.meta.keys() + assert len(self.testInst[inst_var].attrs) > 0 # Ensure old name not present assert key not in self.testInst.variables - # TODO assert key not in self.testInst.meta.keys() return diff --git a/GeospaceDataManagement/tests/classes/cls_instrument_library.py b/GeospaceDataManagement/tests/classes/cls_instrument_library.py index b714999..a7ca9cc 100644 --- a/GeospaceDataManagement/tests/classes/cls_instrument_library.py +++ b/GeospaceDataManagement/tests/classes/cls_instrument_library.py @@ -479,7 +479,7 @@ def test_load_empty(self, inst_dict): return - # TODO(#1172): remove mark.new_tests at v3.3.0 + # TODO(#2): remove mark.new_tests at v0.1.0 @pytest.mark.second @pytest.mark.load_options @pytest.mark.new_tests diff --git a/GeospaceDataManagement/tests/test_instruments.py b/GeospaceDataManagement/tests/test_instruments.py index 2f4d931..8ced466 100644 --- a/GeospaceDataManagement/tests/test_instruments.py +++ b/GeospaceDataManagement/tests/test_instruments.py @@ -192,7 +192,6 @@ def test_clean_with_warnings(self, clean_level, change, warn_type, # Construct the expected warnings if warn_type == 'mult': # Note that we cannot test errors along with other warnings - # TODO(#1184) test for both warnings and errors inst_dict['inst_module']._clean_warn = { inst_dict['inst_id']: {inst_dict['tag']: {clean_level: [ ('warning', warn_level['warning'], warn_msg, final_level), diff --git a/GeospaceDataManagement/tests/test_utils_coords.py b/GeospaceDataManagement/tests/test_utils_coords.py index f1fe821..369eacd 100644 --- a/GeospaceDataManagement/tests/test_utils_coords.py +++ b/GeospaceDataManagement/tests/test_utils_coords.py @@ -367,7 +367,7 @@ def test_establish_common_coord_single_val_only(self): class TestExpandXarrayDims(object): - """Unit tests for the `expand_xarray_dims` function TODO.""" + """Unit tests for the `expand_xarray_dims` function.""" def setup_method(self): """Set up the unit test environment.""" diff --git a/GeospaceDataManagement/tests/test_utils_meta.py b/GeospaceDataManagement/tests/test_utils_meta.py index 980f914..62d8072 100644 --- a/GeospaceDataManagement/tests/test_utils_meta.py +++ b/GeospaceDataManagement/tests/test_utils_meta.py @@ -91,7 +91,7 @@ def test_update_fill_values_by_type(self, name): inst.load(date=self.ref_time) # Ensure there are fill values to check for strings and numbers - # TODO(#XX) Remove try/except after numpy >= 1.25 + # TODO(#1) Remove try/except after numpy >= 1.25 try: str_types = [str, np.str_, np.bytes_, np.dtypes.StrDType, np.dtypes.StringDType, np.dtypes.BytesDType, From 61698849c3b76ef4f67b0eb5c5ce3bbf7209ddef Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 13:32:21 -0400 Subject: [PATCH 02/54] BUG: fixed meta data assignment Re-added metadata assignment back into the Instrument. --- GeospaceDataManagement/_instrument.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/GeospaceDataManagement/_instrument.py b/GeospaceDataManagement/_instrument.py index 94393a3..55313e9 100644 --- a/GeospaceDataManagement/_instrument.py +++ b/GeospaceDataManagement/_instrument.py @@ -834,6 +834,11 @@ def __setitem__(self, key, new_data): # Simple assignment inst['name'] = newData + # Assignment with Metadata + inst['name'] = {'data':new_data, + 'long_name':long_name, + 'units':units} + Raises ------ ValueError @@ -846,7 +851,6 @@ def __setitem__(self, key, new_data): If a single new value is set, the value will be broadcast over time. """ - new = copy.deepcopy(new_data) # xarray format chosen for Instrument object @@ -889,6 +893,9 @@ def __setitem__(self, key, new_data): # Try loading indexed as integers self.data[key[-1]][indict] = in_data + # Finish updating by adding meta data + self.data[var_key].attrs.update(new) + return elif isinstance(key, str): # Assigning basic variables @@ -957,6 +964,9 @@ def __setitem__(self, key, new_data): for keyname in key: self.data[keyname] = in_data[keyname] + # Attach meta data + self.data[key].attrs.update(new) + return def __delitem__(self, key): @@ -1608,7 +1618,7 @@ def _get_var_type_code(self, coltype): np.dtypes.StringDType, np.dtypes.BytesDType, pds.StringDtype] except AttributeError: - # TODO(#1227) np.dtypes not introduced until somewhere around + # TODO(#1) np.dtypes not introduced until somewhere around # numpy version 1.25 str_types = [str, np.str_, np.bytes_, pds.StringDtype] From 1ce2394286808043210a8de7d5ebf4bca1665f51 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 13:36:04 -0400 Subject: [PATCH 03/54] BUG: fixed yaml indentation Fixed the indentation in the CITATION.cff file. --- .github/workflows/docs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index e69c1d7..cddf466 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -37,7 +37,7 @@ jobs: - name: Check documentation links run: sphinx-build -b linkcheck docs dist/docs - - name: Validate the CITATION.cff - uses: citation-file-format/cffconvert-github-action@2.0.0 - with: - args: "--infile ./CITATION.cff --validate" + - name: Validate the CITATION.cff + uses: citation-file-format/cffconvert-github-action@2.0.0 + with: + args: "--infile ./CITATION.cff --validate" From f5875995b9dcb3f911ca33f8113ff38064dc8397 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 13:42:49 -0400 Subject: [PATCH 04/54] STY: fixed PEP8 violations Fixed issues with import order and docstrings. --- GeospaceDataManagement/__init__.py | 2 +- GeospaceDataManagement/_instrument.py | 8 ++++---- GeospaceDataManagement/tests/test_files.py | 2 +- GeospaceDataManagement/utils/testing.py | 1 + 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/GeospaceDataManagement/__init__.py b/GeospaceDataManagement/__init__.py index a82238a..d36dff5 100644 --- a/GeospaceDataManagement/__init__.py +++ b/GeospaceDataManagement/__init__.py @@ -1,4 +1,4 @@ -"""GeospaceDataManagement +"""GeospaceDataManagement (a.k.a. gdm). A package providing a simple and flexible interface for downloading, loading, cleaning, and managing scientific measurements. diff --git a/GeospaceDataManagement/_instrument.py b/GeospaceDataManagement/_instrument.py index 55313e9..5a7ff02 100644 --- a/GeospaceDataManagement/_instrument.py +++ b/GeospaceDataManagement/_instrument.py @@ -1201,13 +1201,13 @@ def _assign_attrs(self, by_name=False): Notes ----- - methods + methods include: init, preprocess, and clean - functions + functions include: load, list_files, download, and list_remote_files, concat_data - attributes + attributes include: directory_format, file_format, and multi_file_day - test attributes + test attributes include: _test_download, _test_download_ci, _new_tests, and _password_req """ diff --git a/GeospaceDataManagement/tests/test_files.py b/GeospaceDataManagement/tests/test_files.py index 1f72d99..a56f417 100644 --- a/GeospaceDataManagement/tests/test_files.py +++ b/GeospaceDataManagement/tests/test_files.py @@ -27,8 +27,8 @@ import GeospaceDataManagement as gdm from GeospaceDataManagement.instruments.methods.testing import create_files -import GeospaceDataManagement.instruments.gdm_testing from GeospaceDataManagement.tests.classes.cls_ci import CICleanSetup +import GeospaceDataManagement.instruments.gdm_testing from GeospaceDataManagement.utils import files as futils from GeospaceDataManagement.utils import testing diff --git a/GeospaceDataManagement/utils/testing.py b/GeospaceDataManagement/utils/testing.py index 6fc390c..e62a233 100644 --- a/GeospaceDataManagement/utils/testing.py +++ b/GeospaceDataManagement/utils/testing.py @@ -14,6 +14,7 @@ """Utilities to perform common testing evaluations.""" import numpy as np + from GeospaceDataManagement import utils as gdm_utils From 09ab5f7f3d1356b121f61f8608f8029e0b85a144 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 14:10:42 -0400 Subject: [PATCH 05/54] STY: changed import order Trying to figure out what is alphabetical. --- GeospaceDataManagement/tests/test_files.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeospaceDataManagement/tests/test_files.py b/GeospaceDataManagement/tests/test_files.py index a56f417..c28fd8b 100644 --- a/GeospaceDataManagement/tests/test_files.py +++ b/GeospaceDataManagement/tests/test_files.py @@ -28,8 +28,8 @@ import GeospaceDataManagement as gdm from GeospaceDataManagement.instruments.methods.testing import create_files from GeospaceDataManagement.tests.classes.cls_ci import CICleanSetup -import GeospaceDataManagement.instruments.gdm_testing from GeospaceDataManagement.utils import files as futils +import GeospaceDataManagement.instruments.gdm_testing from GeospaceDataManagement.utils import testing From 670a62d708cbb3f4eec0a1062da5095af3119655 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 14:24:27 -0400 Subject: [PATCH 06/54] DOC: updated documentation Fixed contributing formatting, updated index title, removed old references, and fixed alignment in docstrings. --- CONTRIBUTING.md | 27 +++++++++------------------ GeospaceDataManagement/utils/files.py | 2 +- GeospaceDataManagement/utils/meta.py | 4 ++-- docs/index.rst | 9 +++------ docs/quickstart.rst | 3 +-- 5 files changed, 16 insertions(+), 29 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e70dca1..664339a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,32 +1,27 @@ -Contributing -============ +# Contributing Bug reports, feature suggestions, and other contributions are greatly appreciated! GeospaceDataManager welcomes both feedback and contributions. -Short version -------------- +## Short version * Submit bug reports, feature requests, and questions at [GitHub](https://github.com/USNavalResearchLaboratory/GeospaceDataManager/issues) * Make all pull requests to the ``develop`` branch -Issues ------- +## Issues Bug reports, questions, and feature requests should all be made as GitHub Issues. Templates are provided for each type of issue, to help you include all the necessary information. -Questions -^^^^^^^^^ +### Questions Not sure how something works? Ask away! The more information you provide, the easier the question will be to answer. -Bug reports -^^^^^^^^^^^ +### Bug reports When [reporting a bug](https://github.com/GeospaceDataManager/GeospaceDataManager/issues) please include: @@ -36,8 +31,7 @@ When [reporting a bug](https://github.com/GeospaceDataManager/GeospaceDataManage * Detailed steps to reproduce the bug -Feature requests and feedback -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +### Feature requests and feedback The best way to send feedback is to file an [issue](https://github.com/GeospaceDataManager/GeospaceDataManager/issues). @@ -49,8 +43,7 @@ If you are proposing a new feature or a change in something that already exists: * Keep the scope as narrow as possible, to make it easier to implement. -Development ------------ +## Development To set up `GeospaceDataManager` for local development: @@ -124,8 +117,7 @@ To set up `GeospaceDataManager` for local development: GeospaceDataManager team for outside contributors. -Pull Request Guidelines ------------------------ +## Pull Request Guidelines If you need some code review or feedback while you're developing the code, just make a pull request. Pull requests should be made to the ``develop`` branch. @@ -145,8 +137,7 @@ will delay tests by other developers, please ensure that the code passes all tests on your local system first. -Project Style Guidelines ------------------------- +## Project Style Guidelines In general, GeospaceDataManager follows PEP8 and numpydoc guidelines. Pytest runs the unit and integration tests, flake8 checks for style, and sphinx-build diff --git a/GeospaceDataManagement/utils/files.py b/GeospaceDataManagement/utils/files.py index af373c3..2d63945 100644 --- a/GeospaceDataManagement/utils/files.py +++ b/GeospaceDataManagement/utils/files.py @@ -643,7 +643,7 @@ def update_data_directory_structure(new_template, test_run=True, new_template : str New directory template string. The default value for GeospaceDataManagement is - `os.path.join(('{platform}', '{name}', '{tag}', '{inst_id}'))` + `os.path.join(('{platform}', '{name}', '{tag}', '{inst_id}'))` test_run : bool If True, a printout of all proposed changes will be made, but the directory changes will not be enacted. (default=True) diff --git a/GeospaceDataManagement/utils/meta.py b/GeospaceDataManagement/utils/meta.py index 136dde2..e7fa2d9 100644 --- a/GeospaceDataManagement/utils/meta.py +++ b/GeospaceDataManagement/utils/meta.py @@ -86,8 +86,8 @@ def get_meta_dict(**kwargs): meta_dict : dict Dictionary with keys of 'units', 'name', 'min_val', 'max_val', 'desc', 'notes', and 'fill_val', along with any additional keys from the input - parameters. Standard values will be assigned, unless these keys are - supplied upon input. + parameters. Standard values will be assigned, unless these keys are + supplied upon input. """ # Set the defaults diff --git a/docs/index.rst b/docs/index.rst index e19c922..20d0295 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,10 +1,7 @@ -.. pysat documentation main file, created by - sphinx-quickstart on Thu Apr 23 23:07:56 2015. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. +.. gdm documentation main file -Welcome to pysat's documentation! -================================= +Welcome to the GeospaceDataManagement documentation +=================================================== .. toctree:: :maxdepth: 2 diff --git a/docs/quickstart.rst b/docs/quickstart.rst index 1eb9120..0448e9a 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -88,5 +88,4 @@ Explore the Possibilities At this point, you are set up to start exploring the tools and methods :py:mod:`GeospaceDataManagement` provides. For a more detailed -dive into :py:mod:`GeospaceDataManagement`, check out the :ref:`tutorial` and -:ref:`examples`. +dive into :py:mod:`GeospaceDataManagement`, check out the :ref:`tutorial`. From e5032b7d0752474f2726bf9c60c567c9b99eddad Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 14:25:05 -0400 Subject: [PATCH 07/54] BUG: changed import order Changed the import order again, no idea what they want. --- GeospaceDataManagement/tests/test_files.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeospaceDataManagement/tests/test_files.py b/GeospaceDataManagement/tests/test_files.py index c28fd8b..60f8e58 100644 --- a/GeospaceDataManagement/tests/test_files.py +++ b/GeospaceDataManagement/tests/test_files.py @@ -26,10 +26,10 @@ import pytest import GeospaceDataManagement as gdm +import GeospaceDataManagement.instruments.gdm_testing from GeospaceDataManagement.instruments.methods.testing import create_files from GeospaceDataManagement.tests.classes.cls_ci import CICleanSetup from GeospaceDataManagement.utils import files as futils -import GeospaceDataManagement.instruments.gdm_testing from GeospaceDataManagement.utils import testing From 545d8bc195b494533476cc913f33b4bcef394b3f Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 14:31:08 -0400 Subject: [PATCH 08/54] MAINT: updated dependencies Updated the dependencies, no longer need netcdf4. --- pyproject.toml | 1 - requirements.txt | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 080284d..3cef9cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,6 @@ keywords = [ ] dependencies = [ "dask >= 2022.12.1", - "netCDF4 >= 1.5.6", "numpy >= 1.21.6", "pandas >= 1.4.2", "portalocker >= 2.0", diff --git a/requirements.txt b/requirements.txt index 6671a14..2f42970 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,5 @@ dask -netCDF4 -numpy>=1.12 +numpy>=1.21.6 pandas portalocker pytest From 3994aa31badc28c174264822ea5a631641f16739 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 14:31:34 -0400 Subject: [PATCH 09/54] BUG: remove numpy float type Remove np.float128, not really needed and not available in all numpy versions. --- GeospaceDataManagement/tests/test_utils_meta.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeospaceDataManagement/tests/test_utils_meta.py b/GeospaceDataManagement/tests/test_utils_meta.py index 62d8072..1936d1e 100644 --- a/GeospaceDataManagement/tests/test_utils_meta.py +++ b/GeospaceDataManagement/tests/test_utils_meta.py @@ -189,7 +189,7 @@ def test_default_fill_values_from_type_int(self, int_type): return @pytest.mark.parametrize("flt_type", [float, np.single, np.float32, - np.float64, np.float128, np.float16]) + np.float64, np.float16]) def test_default_fill_values_from_type_float(self, flt_type): """Test `default_vill_values_from_type` for object defaults. From 55bb4122a20aea975ee75f2000ad3924311b1a8d Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 15:44:55 -0400 Subject: [PATCH 10/54] DEP: change dims to sizes Use sizes instead of dims for future-proofing tests. --- GeospaceDataManagement/tests/classes/cls_instrument_library.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeospaceDataManagement/tests/classes/cls_instrument_library.py b/GeospaceDataManagement/tests/classes/cls_instrument_library.py index a7ca9cc..26368b8 100644 --- a/GeospaceDataManagement/tests/classes/cls_instrument_library.py +++ b/GeospaceDataManagement/tests/classes/cls_instrument_library.py @@ -473,7 +473,7 @@ def test_load_empty(self, inst_dict): # Check the empty status assert self.test_inst.empty, "Data was loaded for a far-future time" - assert self.test_inst.data.dims == xr.Dataset().dims, "Dims not empty" + assert self.test_inst.data.sizes == xr.Dataset().sizes, "Dims not empty" assert (self.test_inst.data.data_vars == xr.Dataset().data_vars), "Data variables not empty" From 7af0f4f02870e8189f15a0b39bc6606b6bd441a4 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 15:45:41 -0400 Subject: [PATCH 11/54] BUG: fixed assignment with index Newer versions of numpy were breaking assignment by integers. Always assign values through the `loc` method. --- GeospaceDataManagement/_instrument.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/GeospaceDataManagement/_instrument.py b/GeospaceDataManagement/_instrument.py index 5a7ff02..c109415 100644 --- a/GeospaceDataManagement/_instrument.py +++ b/GeospaceDataManagement/_instrument.py @@ -889,9 +889,10 @@ def __setitem__(self, key, new_data): # Try loading as values self.data[var_key].loc[indict] = in_data except (TypeError, KeyError, IndexError): - # Original code - # Try loading indexed as integers - self.data[key[-1]][indict] = in_data + # Input is probably an integer, get the desired data + sel_dat = self.data.isel(indict) + self.data[var_key].loc[{ikey: sel_dat[ikey].values + for ikey in indict.keys()}] = in_data # Finish updating by adding meta data self.data[var_key].attrs.update(new) From 431d9f328dd086a236b50c0f07aa9d205f71cd96 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 15:45:59 -0400 Subject: [PATCH 12/54] BUG: added a debug line See if the right directories are being created. --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9afae93..4b19bca 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -91,6 +91,8 @@ jobs: run: | mkdir gdmData python -c "import GeospaceDataManagement; GeospaceDataManagement.params['data_dirs'] = 'gdmData'" + ls -a + ls -a .gdm - name: Test PEP8 compliance run: flake8 . --count --select=D,E,F,H,W --show-source --statistics From 585fec1dd9b877a8257d2231ba8c49e4d2d1702e Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 16:19:12 -0400 Subject: [PATCH 13/54] BUG: updated debug statement Updated the debug statement. --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4b19bca..f629262 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -90,9 +90,8 @@ jobs: - name: Set up the data directory run: | mkdir gdmData - python -c "import GeospaceDataManagement; GeospaceDataManagement.params['data_dirs'] = 'gdmData'" + python -c "import GeospaceDataManagement; GeospaceDataManagement.params['data_dirs'] = 'gdmData'; print(GeospaceDataManagement.params)" ls -a - ls -a .gdm - name: Test PEP8 compliance run: flake8 . --count --select=D,E,F,H,W --show-source --statistics From 168a78f8f904e6b3128d91e54c9ff5af9e6bab31 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 16:37:57 -0400 Subject: [PATCH 14/54] BUG: moved debug statement Moved the debug statement to allow Windows to run. --- .github/workflows/docs.yml | 3 ++- .github/workflows/main.yml | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index cddf466..a0e4f6d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,7 +29,8 @@ jobs: - name: Set up the data directory run: | mkdir gdmData - python -c "import GeospaceDataManagement as gdm; gdm.params['data_dirs'] = './gdmData'" + python -c "import GeospaceDataManagement as gdm; gdm.params['data_dirs'] = './gdmData'; print(gdm.params)" + ls ~/.gdm - name: Check documentation build run: sphinx-build -E -b html docs dist/docs diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f629262..5dbad33 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -91,7 +91,6 @@ jobs: run: | mkdir gdmData python -c "import GeospaceDataManagement; GeospaceDataManagement.params['data_dirs'] = 'gdmData'; print(GeospaceDataManagement.params)" - ls -a - name: Test PEP8 compliance run: flake8 . --count --select=D,E,F,H,W --show-source --statistics From e1b882dba158d36bc93cb8df8a416d7f3ae11caa Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 25 Sep 2026 16:38:13 -0400 Subject: [PATCH 15/54] DOC: updated quickstart Updated the quickstart line length. --- docs/quickstart.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/quickstart.rst b/docs/quickstart.rst index 0448e9a..bc4b80e 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -28,9 +28,10 @@ it will remind you that you need to set this variable for your system. path that specifies a top-level directory to store science data. Most people are fine setting a single path for all of their data, but other -people have a LOT of data and need to store it on multiple disks. GeospaceDataManagement supports -setting the :py:attr:`data_dirs` parameter equal to either a string or a list of -strings, as illustrated in the example below. +people have a LOT of data and need to store it on multiple disks. +GeospaceDataManagement supports setting the :py:attr:`data_dirs` parameter +equal to either a string or a list of strings, as illustrated in the example +below. .. code:: python From 33a027cc578f4c86b525dc2ed6013e9e8385d3d1 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Mon, 28 Sep 2026 16:03:06 -0400 Subject: [PATCH 16/54] ENH: added space weather instruments Added the instruments and instrument methods from pysatSpaceWeather. --- .../instruments/__init__.py | 12 + .../instruments/ace_epam.py | 248 ++++ GeospaceDataManagement/instruments/ace_mag.py | 193 ++++ GeospaceDataManagement/instruments/ace_sis.py | 206 ++++ .../instruments/ace_swepam.py | 190 +++ .../instruments/methods/general.py | 33 + GeospaceDataManagement/instruments/norp_rf.py | 228 ++++ GeospaceDataManagement/instruments/sw_ae.py | 180 +++ GeospaceDataManagement/instruments/sw_al.py | 181 +++ GeospaceDataManagement/instruments/sw_ap.py | 283 +++++ GeospaceDataManagement/instruments/sw_apo.py | 219 ++++ GeospaceDataManagement/instruments/sw_au.py | 180 +++ GeospaceDataManagement/instruments/sw_cp.py | 147 +++ GeospaceDataManagement/instruments/sw_dst.py | 324 ++++++ GeospaceDataManagement/instruments/sw_f107.py | 432 +++++++ .../instruments/sw_flare.py | 347 ++++++ GeospaceDataManagement/instruments/sw_hpo.py | 220 ++++ GeospaceDataManagement/instruments/sw_kp.py | 275 +++++ .../instruments/sw_methods/__init__.py | 14 + .../instruments/sw_methods/ace.py | 413 +++++++ .../sw_methods/auroral_electrojet.py | 78 ++ .../instruments/sw_methods/dst.py | 65 ++ .../instruments/sw_methods/f107.py | 427 +++++++ .../instruments/sw_methods/general.py | 136 +++ .../instruments/sw_methods/gfz.py | 432 +++++++ .../instruments/sw_methods/kp_ap.py | 865 ++++++++++++++ .../instruments/sw_methods/lasp.py | 113 ++ .../instruments/sw_methods/lisird.py | 223 ++++ .../instruments/sw_methods/norp.py | 229 ++++ .../instruments/sw_methods/swpc.py | 1014 +++++++++++++++++ GeospaceDataManagement/instruments/sw_mgii.py | 307 +++++ .../instruments/sw_polarcap.py | 189 +++ .../instruments/sw_sbfield.py | 280 +++++ GeospaceDataManagement/instruments/sw_ssn.py | 321 ++++++ .../instruments/sw_stormprob.py | 201 ++++ pyproject.toml | 4 +- 36 files changed, 9208 insertions(+), 1 deletion(-) create mode 100644 GeospaceDataManagement/instruments/ace_epam.py create mode 100644 GeospaceDataManagement/instruments/ace_mag.py create mode 100644 GeospaceDataManagement/instruments/ace_sis.py create mode 100644 GeospaceDataManagement/instruments/ace_swepam.py create mode 100644 GeospaceDataManagement/instruments/norp_rf.py create mode 100644 GeospaceDataManagement/instruments/sw_ae.py create mode 100644 GeospaceDataManagement/instruments/sw_al.py create mode 100644 GeospaceDataManagement/instruments/sw_ap.py create mode 100644 GeospaceDataManagement/instruments/sw_apo.py create mode 100644 GeospaceDataManagement/instruments/sw_au.py create mode 100644 GeospaceDataManagement/instruments/sw_cp.py create mode 100644 GeospaceDataManagement/instruments/sw_dst.py create mode 100644 GeospaceDataManagement/instruments/sw_f107.py create mode 100644 GeospaceDataManagement/instruments/sw_flare.py create mode 100644 GeospaceDataManagement/instruments/sw_hpo.py create mode 100644 GeospaceDataManagement/instruments/sw_kp.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/__init__.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/ace.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/auroral_electrojet.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/dst.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/f107.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/general.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/gfz.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/kp_ap.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/lasp.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/lisird.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/norp.py create mode 100644 GeospaceDataManagement/instruments/sw_methods/swpc.py create mode 100644 GeospaceDataManagement/instruments/sw_mgii.py create mode 100644 GeospaceDataManagement/instruments/sw_polarcap.py create mode 100644 GeospaceDataManagement/instruments/sw_sbfield.py create mode 100644 GeospaceDataManagement/instruments/sw_ssn.py create mode 100644 GeospaceDataManagement/instruments/sw_stormprob.py diff --git a/GeospaceDataManagement/instruments/__init__.py b/GeospaceDataManagement/instruments/__init__.py index d44708e..2fd4dc7 100644 --- a/GeospaceDataManagement/instruments/__init__.py +++ b/GeospaceDataManagement/instruments/__init__.py @@ -7,6 +7,18 @@ __all__ = ['gdm_ndtesting', 'gdm_netcdf', 'gdm_testing', 'gdm_testmodel'] +from GeospaceDataManagement.instruments import methods # noqa 401 +try: + from GeospaceDataManagement.instruments import sw_methods # noqa 401 + __all__.extend(['ace_epam', 'ace_mag', 'ace_sis', 'ace_swepam', 'norp_rf', + 'sw_ae', 'sw_al', 'sw_ap', 'sw_apo', 'sw_au', 'sw_cp', + 'sw_dst', 'sw_f107', 'sw_flare', 'sw_hpo', 'sw_kp', + 'sw_mgii', 'sw_polarcap', 'sw_sbfield', 'sw_ssn', + 'sw_stormprob']) +except ImportError as ierr: + import GeospaceDataManagement + GeospaceDataManagement.logger.info(ierr) + for inst in __all__: exec("from GeospaceDataManagement.instruments import {x}".format(x=inst)) diff --git a/GeospaceDataManagement/instruments/ace_epam.py b/GeospaceDataManagement/instruments/ace_epam.py new file mode 100644 index 0000000..ee1083c --- /dev/null +++ b/GeospaceDataManagement/instruments/ace_epam.py @@ -0,0 +1,248 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports ACE Electron, Proton, and Alpha Monitor data. + +Properties +---------- +platform + 'ace' Advanced Composition Explorer +name + 'epam' Electron, Proton, and Alpha Monitor +tag + - 'realtime' Real-time data from the Space Weather Prediction Center (SWPC) + - 'historic' Historic data from the SWPC +inst_id + - '' + +Note +---- +This is not the ACE scientific data set, which is provided by NASA + +Examples +-------- +The real-time data is stored by generation date, where each file contains the +data for the current day. If you leave download dates empty, though, it will +grab today's file three times and assign dates from yesterday, today, and +tomorrow. +:: + + epam = gdm.Instrument('ace', 'epam', tag='realtime') + epam.download(start=epam.today()) + epam.load(date=epam.today()) + + + +Warnings +-------- +The 'realtime' data contains a changing period of time. Loading multiple files, +loading multiple days, the data padding feature, and multi_file_day feature +available from the pyast.Instrument object is not appropriate for 'realtime' +data. + +""" + +import datetime as dt +import functools +import numpy as np + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.methods.general import load_csv_data +from GeospaceDataManagement.instruments.sw_methods import ace as mm_ace +from GeospaceDataManagement.instruments.sw_methods import general + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'ace' +name = 'epam' +tags = {'realtime': 'Real-time data from the SWPC', + 'historic': ' Historic data from the SWPC'} +inst_ids = {inst_id: [tag for tag in tags.keys()] for inst_id in ['']} + +# Define today's date +now = dt.datetime.now(tz=dt.timezone.utc) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates (first level: inst_id, second level: tag) +_test_dates = {inst_id: {'realtime': dt.datetime(now.year, now.month, now.day), + 'historic': dt.datetime(2009, 1, 1)} + for inst_id in inst_ids.keys()} + +# Set clean warning tests +_clean_warn = {inst_id: {tag: mm_ace.clean_warn for tag in inst_ids[inst_id]} + for inst_id in inst_ids.keys()} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the appropriate acknowledgements and references + self.acknowledgements = mm_ace.acknowledgements() + self.references = mm_ace.references(self.name) + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean the real-time ACE data using the status flag. + + Note + ---- + Supports 'clean' and 'dirty'. Replaces all fill values with NaN. + Clean - status flag of zero (nominal data) + Dirty - status flag < 9 (accepts bad data record, removes no data record) + + """ + # Perform the standard ACE cleaning + max_status = mm_ace.clean(self) + + # Replace bad values with NaN and remove times with no valid data + ecols = ['eflux_38-53', 'eflux_175-315'] + + # Evaluate the electron flux data + self[self.data['status_e'] > max_status, ecols] = np.nan + + # Evaluate the proton flux data + pcols = ['pflux_47-68', 'pflux_115-195', 'pflux_310-580', + 'pflux_795-1193', 'pflux_1060-1900'] + self[self.data['status_p'] > max_status, pcols] = np.nan + + # Include both fluxes and the anisotropy index in the removal eval + eval_cols = ecols + pcols + eval_cols.append('anis_ind') + + # Remove lines without any good data + good_cols = (np.isfinite(self.data.loc[:, eval_cols])).sum(axis=1) + bad_index = good_cols[good_cols == 0].index + self.data = self.data.drop(index=bad_index) + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + +download = functools.partial(mm_ace.download, name=name, now=now) +list_files = functools.partial(mm_ace.list_files, name=name) + + +def load(fnames, tag='', inst_id=''): + """Load the ACE space weather prediction data. + + Parameters + ---------- + fnames : array-like + Series, list, or array of filenames. + tag : str + Instrument tag (default=''). + inst_id : str + ACE instrument ID (default=''). + + Returns + ------- + data : xr.Dataset + Object containing instrument data + + See Also + -------- + GeospaceDataManagement.instruments.methods.general.load_csv_data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # Save each file to the output DataFrame + data = load_csv_data(fnames, read_csv_kwargs={'index_col': 0, + 'parse_dates': True}) + + # Assign the meta data + meta, status_desc = mm_ace.common_metadata() + flux_desc = '5-min averaged Differential ' + + meta['status_e'] = {'units': '', 'name': 'Diff e- Flux Status', + 'notes': '', 'desc': status_desc, 'fill_val': np.nan, + 'min_val': 0, 'max_val': 9} + meta['status_p'] = {'units': '', 'name': 'Diff Proton Flux Status', + 'notes': '', 'desc': status_desc, + 'fill_val': np.nan, 'min_val': 0, 'max_val': 9} + meta['anis_ind'] = {'units': '', 'name': 'Anisotropy Index', + 'notes': '', 'desc': 'Range: 0.0 - 2.0', + 'fill_val': -1.0, 'min_val': 0.0, 'max_val': 2.0} + meta['eflux_38-53'] = {'units': 'particles/cm2-s-ster-MeV', + 'name': 'Diff e- Flux 38-53 eV', + 'notes': '', + 'desc': ''.join([flux_desc, + 'Electron Flux between 35-53 eV']), + 'fill_val': -1.0e5, 'min_val': -np.inf, + 'max_val': np.inf} + meta['eflux_175-315'] = {'units': 'particles/cm2-s-ster-MeV', + 'name': 'Diff e- Flux 175-315 eV', + 'notes': '', + 'desc': ''.join([flux_desc, 'Electron Flux ', + 'between 175-315 eV']), + 'fill_val': -1.0e5, 'min_val': -np.inf, + 'max_val': np.inf} + meta['pflux_47-68'] = {'units': 'particles/cm2-s-ster-MeV', + 'name': 'Diff Proton Flux 47-68 keV', + 'notes': '', + 'desc': ''.join([flux_desc, + 'Proton Flux between 47-68 keV']), + 'fill_val': -1.0e5, 'min_val': -np.inf, + 'max_val': np.inf} + meta['pflux_115-195'] = {'units': 'particles/cm2-s-ster-MeV', + 'name': 'Diff Proton Flux 115-195 keV', + 'notes': '', + 'desc': ''.join([flux_desc, 'Proton Flux', + ' between 115-195 keV']), + 'fill_val': -1.0e5, 'min_val': -np.inf, + 'max_val': np.inf} + meta['pflux_310-580'] = {'units': 'particles/cm2-s-ster-MeV', + 'name': 'Diff Proton Flux 310-580 keV', + 'notes': '', + 'desc': ''.join([flux_desc, 'Proton Flux ' + ' between 310-580 keV']), + 'fill_val': -1.0e5, 'min_val': -np.inf, + 'max_val': np.inf} + meta['pflux_795-1193'] = {'units': 'particles/cm2-s-ster-MeV', + 'name': 'Diff Proton Flux 795-1193 keV', + 'notes': '', + 'desc': ''.join([flux_desc, 'Proton Flux', + ' between 795-1193 keV']), + 'fill_val': -1.0e5, 'min_val': -np.inf, + 'max_val': np.inf} + meta['pflux_1060-1900'] = {'units': 'particles/cm2-s-ster-MeV', + 'name': 'Diff Proton Flux 1060-1900 keV', + 'notes': '', + 'desc': ''.join([flux_desc, 'Proton Flux ', + 'between 1060-1900 keV']), + 'fill_val': -1.0e5, 'min_val': -np.inf, + 'max_val': np.inf} + + # Convert the data to xarray and add meta data + data = data.to_xarray() + for dvar in data.data_vars.keys(): + if dvar in meta.keys(): + data[dvar].attrs.update(meta[dvar]) + + return data diff --git a/GeospaceDataManagement/instruments/ace_mag.py b/GeospaceDataManagement/instruments/ace_mag.py new file mode 100644 index 0000000..c510f78 --- /dev/null +++ b/GeospaceDataManagement/instruments/ace_mag.py @@ -0,0 +1,193 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports ACE Magnetometer data. + +Properties +---------- +platform + 'ace' Advanced Composition Explorer +name + 'mag' Magnetometer +tag + - 'realtime' Real-time data from the Space Weather Prediction Center (SWPC) + - 'historic' Historic data from the SWPC +inst_id + - '' + +Note +---- +This is not the ACE scientific data set, which will be available at NASA + +Examples +-------- +The real-time data is stored by generation date, where each file contains the +data for the current day. If you leave download dates empty, though, it will +grab today's file three times and assign dates from yesterday, today, and +tomorrow. +:: + + mag = gdm.Instrument('ace', 'mag', tag='realtime') + mag.download(start=mag.today()) + mag.load(date=mag.today()) + + + +Warnings +-------- +The 'realtime' data contains a changing period of time. Loading multiple files, +loading multiple days, the data padding feature, and multi_file_day feature +available from the pyast.Instrument object is not appropriate for 'realtime' +data. + +""" + +import datetime as dt +import functools +import numpy as np + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.methods.general import load_csv_data +from GeospaceDataManagement.instruments.sw_methods import ace as mm_ace +from GeospaceDataManagement.instruments.sw_methods import general + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'ace' +name = 'mag' +tags = {'realtime': 'Real-time data from the SWPC', + 'historic': ' Historic data from the SWPC'} +inst_ids = {inst_id: [tag for tag in tags.keys()] for inst_id in ['']} + +# Define today's date +now = dt.datetime.now(tz=dt.timezone.utc) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates (first level: inst_id, second level: tag) +_test_dates = {inst_id: {'realtime': dt.datetime(now.year, now.month, now.day), + 'historic': dt.datetime(2009, 1, 1)} + for inst_id in inst_ids.keys()} + +# Set clean warning tests +_clean_warn = {inst_id: {tag: mm_ace.clean_warn for tag in inst_ids[inst_id]} + for inst_id in inst_ids.keys()} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the appropraite acknowledgements and references + self.acknowledgements = mm_ace.acknowledgements() + self.references = mm_ace.references(self.name) + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean real-time ACE data using the status flag. + + Note + ---- + Supports 'clean' and 'dirty'. Replaces all fill values with NaN. + Clean - status flag of zero (nominal data) + Dirty - status flag < 9 (accepts bad data record, removes no data record) + + """ + # Perform the standard ACE cleaning + max_status = mm_ace.clean(self) + + # Replace bad values with NaN and remove times with no valid data + self.data = self.data[self.data['status'] <= max_status] + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + +download = functools.partial(mm_ace.download, name=name, now=now) +list_files = functools.partial(mm_ace.list_files, name=name) + + +def load(fnames, tag='', inst_id=''): + """Load the ACE space weather prediction data. + + Parameters + ---------- + fnames : array-like + Series, list, or array of filenames + tag : str + Instrument tag, not used. (default='') + inst_id : str + ACE instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing instrument data + + See Also + -------- + gdm.instruments.methods.general.load_csv_data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # Save each file to the output DataFrame + data = load_csv_data(fnames, read_csv_kwargs={'index_col': 0, + 'parse_dates': True}) + + # Assign the meta data + meta, status_desc = mm_ace.common_metadata() + + meta['status'] = {'units': '', 'name': 'Status', + 'notes': '', 'desc': status_desc, + 'fill_val': np.nan, 'min_val': 0, 'max_val': 9} + meta['bx_gsm'] = {'units': 'nT', 'name': 'Bx GSM', + 'notes': '', 'desc': '1-min averaged IMF Bx', + 'fill_val': -999.9, 'min_val': -np.inf, 'max_val': np.inf} + meta['by_gsm'] = {'units': 'nT', 'name': 'By GSM', + 'notes': '', 'desc': '1-min averaged IMF By', + 'fill_val': -999.9, 'min_val': -np.inf, 'max_val': np.inf} + meta['bz_gsm'] = {'units': 'nT', 'notes': '', 'name': 'Bz GSM', + 'desc': '1-min averaged IMF Bz', 'fill_val': -999.9, + 'min_val': -np.inf, 'max_val': np.inf} + meta['bt_gsm'] = {'units': 'nT', 'name': 'Bt GSM', 'notes': '', + 'desc': '1-min averaged IMF Bt', 'fill_val': -999.9, + 'min_val': -np.inf, 'max_val': np.inf} + meta['lat_gsm'] = {'units': 'degrees', 'name': 'GSM Lat', + 'notes': '', 'desc': 'GSM Latitude', 'fill_val': -999.9, + 'min_val': -90.0, 'max_val': 90.0} + meta['lon_gsm'] = {'units': 'degrees', 'name': 'GSM Lon', 'notes': '', + 'desc': 'GSM Longitude', 'fill_val': -999.9, + 'min_val': 0.0, 'max_val': 360.0} + + # Convert the data to xarray and add meta data + data = data.to_xarray() + for dvar in data.data_vars.keys(): + if dvar in meta.keys(): + data[dvar].attrs.update(meta[dvar]) + + return data diff --git a/GeospaceDataManagement/instruments/ace_sis.py b/GeospaceDataManagement/instruments/ace_sis.py new file mode 100644 index 0000000..1da1f40 --- /dev/null +++ b/GeospaceDataManagement/instruments/ace_sis.py @@ -0,0 +1,206 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports ACE Solar Isotope Spectrometer data. + +Properties +---------- +platform + 'ace' Advanced Composition Explorer +name + 'sis' Solar Isotope Spectrometer +tag + - 'realtime' Real-time data from the Space Weather Prediction Center (SWPC) + - 'historic' Historic data from the SWPC +inst_id + - '' + +Note +---- +This is not the ACE scientific data set, which will be available at NASA + +Examples +-------- +The real-time data is stored by generation date, where each file contains the +data for the current day. If you leave download dates empty, though, it will +grab today's file three times and assign dates from yesterday, today, and +tomorrow. +:: + + sis = gdm.Instrument('ace', 'sis', tag='realtime') + sis.download(start=sis.today()) + sis.load(date=sis.today()) + + + +Warnings +-------- +The 'realtime' data contains a changing period of time. Loading multiple files, +loading multiple days, the data padding feature, and multi_file_day feature +available from the pyast.Instrument object is not appropriate for 'realtime' +data. + +""" + +import datetime as dt +import functools +import numpy as np + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.methods.general import load_csv_data +from GeospaceDataManagement.instruments.sw_methods import ace as mm_ace +from GeospaceDataManagement.instruments.sw_methods import general + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'ace' +name = 'sis' +tags = {'realtime': 'Real-time data from the SWPC', + 'historic': ' Historic data from the SWPC'} +inst_ids = {inst_id: [tag for tag in tags.keys()] for inst_id in ['']} + +# Define today's date +now = dt.datetime.now(tz=dt.timezone.utc) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates (first level: inst_id, second level: tag) +_test_dates = {inst_id: {'realtime': dt.datetime(now.year, now.month, now.day), + 'historic': dt.datetime(2009, 1, 1)} + for inst_id in inst_ids.keys()} + +# Set clean warning tests +_clean_warn = {inst_id: {tag: mm_ace.clean_warn for tag in inst_ids[inst_id]} + for inst_id in inst_ids.keys()} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the appropraite acknowledgements and references + self.acknowledgements = mm_ace.acknowledgements() + self.references = mm_ace.references(self.name) + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean real-time ACE data using the status flag. + + Note + ---- + Supports 'clean' and 'dirty'. Replaces all fill values with NaN. + Clean - status flag of zero (nominal data) + Dirty - status flag < 9 (accepts bad data record, removes no data record) + + """ + # Perform the standard ACE cleaning + max_status = mm_ace.clean(self) + + # Evaluate the different proton fluxes. Replace bad values with NaN and + # times with no valid data + self.data['int_pflux_10MeV'] = self.data['int_pflux_10MeV'].where( + (self.data['status_10'] <= max_status), other=np.nan) + self.data['int_pflux_30MeV'] = self.data['int_pflux_30MeV'].where( + (self.data['status_30'] <= max_status), other=np.nan) + + eval_cols = ['int_pflux_10MeV', 'int_pflux_30MeV'] + + # Remove lines without any good data + good_cols = (np.isfinite(self.data.loc[:, eval_cols])).sum(axis=1) + bad_index = good_cols[good_cols == 0].index + self.data = self.data.drop(index=bad_index) + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + +download = functools.partial(mm_ace.download, name=name, now=now) +list_files = functools.partial(mm_ace.list_files, name=name) + + +def load(fnames, tag='', inst_id=''): + """Load the ACE space weather prediction data. + + Parameters + ---------- + fnames : array-like + Series, list, or array of filenames. + tag : str + Instrument tag, not used. (default='') + inst_id : str + ACE instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing instrument data + + See Also + -------- + GeospaceDataManagement.instruments.methods.general.load_csv_data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # Save each file to the output DataFrame + data = load_csv_data(fnames, read_csv_kwargs={'index_col': 0, + 'parse_dates': True}) + + # Assign the meta data + meta, status_desc = mm_ace.common_metadata() + flux_name = 'Integral Proton Flux' + + meta['status_10'] = {'units': '', + 'name': ''.join([flux_name, ' > 10 MeV Status']), + 'notes': '', 'desc': status_desc, 'fill_val': np.nan, + 'min_val': 0, 'max_val': 9} + meta['status_30'] = {'units': '', + 'name': ''.join([flux_name, ' > 30 MeV Status']), + 'notes': '', 'desc': status_desc, 'fill_val': np.nan, + 'min_val': 0, 'max_val': 9} + meta['int_pflux_10MeV'] = {'units': 'p/cs2-sec-ster', + 'name': ''.join([flux_name, ' > 10 MeV']), + 'notes': '', + 'desc': ''.join(['5-min averaged ', flux_name, + ' > 10 MeV']), + 'fill_val': -1.0e5, 'min_val': -np.inf, + 'max_val': np.inf} + meta['int_pflux_30MeV'] = {'units': 'p/cs2-sec-ster', + 'name': ''.join([flux_name, ' > 30 MeV']), + 'notes': '', + 'desc': ''.join(['5-min averaged ', flux_name, + ' > 30 MeV']), + 'fill_val': -1.0e5, 'min_val': -np.inf, + 'max_val': np.inf} + + # Convert the data to xarray and add meta data + data = data.to_xarray() + for dvar in data.data_vars.keys(): + if dvar in meta.keys(): + data[dvar].attrs.update(meta[dvar]) + + return data diff --git a/GeospaceDataManagement/instruments/ace_swepam.py b/GeospaceDataManagement/instruments/ace_swepam.py new file mode 100644 index 0000000..1a9382d --- /dev/null +++ b/GeospaceDataManagement/instruments/ace_swepam.py @@ -0,0 +1,190 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports ACE Solar Wind Electron Proton Alpha Monitor data. + +Properties +---------- +platform + 'ace' Advanced Composition Explorer +name + 'swepam' Solar Wind Electron Proton Alpha Monitor +tag + - 'realtime' Real-time data from the Space Weather Prediction Center (SWPC) + - 'historic' Historic data from the SWPC +inst_id + - '' + +Note +---- +This is not the ACE scientific data set, which will be available at NASA + +Examples +-------- +The real-time data is stored by generation date, where each file contains the +data for the current day. If you leave download dates empty, though, it will +grab today's file three times and assign dates from yesterday, today, and +tomorrow. +:: + + + swepam = gdm.Instrument('ace', 'swepam', tag='realtime') + swepam.download(start=swepam.today()) + swepam.load(date=swepam.today()) + +Warnings +-------- +The 'realtime' data contains a changing period of time. Loading multiple files, +loading multiple days, the data padding feature, and multi_file_day feature +available from the pyast.Instrument object is not appropriate for 'realtime' +data. + +""" + +import datetime as dt +import functools +import numpy as np + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.methods.general import load_csv_data +from GeospaceDataManagement.instruments.sw_methods import ace as mm_ace +from GeospaceDataManagement.instruments.sw_methods import general + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'ace' +name = 'swepam' +tags = {'realtime': 'Real-time data from the SWPC', + 'historic': ' Historic data from the SWPC'} +inst_ids = {inst_id: [tag for tag in tags.keys()] for inst_id in ['']} + +# Define today's date +now = dt.datetime.now(tz=dt.timezone.utc) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates (first level: inst_id, second level: tag) +_test_dates = {inst_id: {'realtime': dt.datetime(now.year, now.month, now.day), + 'historic': dt.datetime(2009, 1, 1)} + for inst_id in inst_ids.keys()} + +# Set clean warning tests +_clean_warn = {inst_id: {tag: mm_ace.clean_warn for tag in inst_ids[inst_id]} + for inst_id in inst_ids.keys()} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the appropraite acknowledgements and references + self.acknowledgements = mm_ace.acknowledgements() + self.references = mm_ace.references(self.name) + + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean real-time ACE data using the status flag. + + Note + ---- + Supports 'clean' and 'dirty'. Replaces all fill values with NaN. + Clean - status flag of zero (nominal data) + Dirty - status flag < 9 (accepts bad data record, removes no data record) + + """ + # Perform the standard ACE cleaning + max_status = mm_ace.clean(self) + + # Replace bad values with NaN and remove times with no valid data + self.data = self.data[self.data['status'] <= max_status] + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + +download = functools.partial(mm_ace.download, name=name, now=now) +list_files = functools.partial(mm_ace.list_files, name=name) + + +def load(fnames, tag='', inst_id=''): + """Load the ACE space weather prediction data. + + Parameters + ---------- + fnames : array-like + Series, list, or array of filenames. + tag : str + Instrument tag, not used. (default='') + inst_id : str + ACE instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing instrument data + + See Also + -------- + GeospaceDataManagement.instruments.methods.general.load_csv_data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # Save each file to the output DataFrame + data = load_csv_data(fnames, read_csv_kwargs={'index_col': 0, + 'parse_dates': True}) + + # Assign the meta data + meta, status_desc = mm_ace.common_metadata() + sw_desc = '1-min averaged Solar Wind ' + + meta['status'] = {'units': '', 'name': 'Status', 'notes': '', + 'desc': status_desc, 'fill_val': np.nan, 'min_val': 0, + 'max_val': 9} + meta['sw_proton_dens'] = {'units': 'p/cc', + 'name': 'Solar Wind Proton Density', 'notes': '', + 'desc': ''.join([sw_desc, 'Proton Density']), + 'fill_val': -9999.9, 'min_val': 0.0, + 'max_val': np.inf} + meta['sw_bulk_speed'] = {'units': 'km/s', 'name': 'Solar Wind Bulk Speed', + 'notes': '', + 'desc': ''.join([sw_desc, 'Bulk Speed']), + 'fill_val': -9999.9, 'min_val': -np.inf, + 'max_val': np.inf} + meta['sw_ion_temp'] = {'units': 'K', 'name': 'Solar Wind Ti', 'notes': '', + 'desc': ''.join([sw_desc, 'Ion Temperature']), + 'fill_val': -1.0e5, 'min_val': 0.0, + 'max_val': np.inf} + + # Convert the data to xarray and add meta data + data = data.to_xarray() + for dvar in data.data_vars.keys(): + if dvar in meta.keys(): + data[dvar].attrs.update(meta[dvar]) + + return data diff --git a/GeospaceDataManagement/instruments/methods/general.py b/GeospaceDataManagement/instruments/methods/general.py index dffecdd..cf65110 100644 --- a/GeospaceDataManagement/instruments/methods/general.py +++ b/GeospaceDataManagement/instruments/methods/general.py @@ -4,6 +4,7 @@ # # ---------------------------------------------------------------------------- # Original Authors: pysat development team (c) 2016, Russell Stoneback +# Original Authors: pysat development team, (c) 2020 pysat # # Modified 2026+ # This is a U.S. government work and not under copyright protection in the U.S. @@ -270,3 +271,35 @@ def load_csv_data(fnames, read_csv_kwargs=None): data.index.name = "Epoch" return data + + +def is_fill_val(data, fill_val): + """Evaluate whether or not a value is a fill value. + + Parameters + ---------- + data : int, float, or str + Data value + fill_val : int, float, or str + Fill value + + Returns + ------- + is_fill : bool + True if the data is equal to the fill value, False if it is not. + + """ + + try: + # NaN and finite evaluation will fail for non-numeric types + if np.isnan(fill_val): + is_fill = np.isnan(data) + elif np.isfinite(fill_val): + is_fill = data == fill_val + else: + is_fill = ~np.isfinite(data) + except TypeError: + # Use equality for string and similar types + is_fill = data == fill_val + + return is_fill diff --git a/GeospaceDataManagement/instruments/norp_rf.py b/GeospaceDataManagement/instruments/norp_rf.py new file mode 100644 index 0000000..49cdc12 --- /dev/null +++ b/GeospaceDataManagement/instruments/norp_rf.py @@ -0,0 +1,228 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# ---------------------------------------------------------------------------- +"""Supports solar radio flux values from the Nobeyama Radio Polarimeters. + +Properties +---------- +platform + 'norp' +name + 'rf' +tag + - 'daily' Daily solar flux values from 1951-11-01 onward +inst_id + - None supported + +Examples +-------- +Download and load all of the daily radio flux data. +:: + + rf = gdm.Instrument('norp', 'rf', tag='daily') + rf.download(start=dt.datetime(1951, 11, 1), stop=rf.today()) + rf.load(date=dt.datetime(1951, 11, 1), end_date=rf.today()) + +""" + +import datetime as dt +import numpy as np +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'norp' +name = 'rf' +tags = {'daily': 'Daily solar flux values'} +inst_ids = {'': [tag for tag in tags.keys()]} + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'daily': dt.datetime(1951, 11, 1)}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the required Instrument attributes + self.acknowledgements = sw_methods.norp.acknowledgements() + self.references = sw_methods.norp.references(self.name, self.tag) + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean the solar radio flux, empty function as this is not necessary.""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load NoRP solar radio flux files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames. + tag : str + Instrument tag. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data. + + See Also + -------- + GeospaceDataManagement.instruments.methods.general.load_csv_data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # Get the desired file dates and file names from the daily indexed list + file_dates = list() + if tag in ['daily']: + unique_files = list() + for fname in fnames: + file_dates.append(dt.datetime.strptime(fname[-10:], '%Y-%m-%d')) + if fname[0:-11] not in unique_files: + unique_files.append(fname[0:-11]) + fnames = unique_files + + # Load the CSV data files + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={"index_col": 0, "parse_dates": True}) + + # If there is a date range, downselect here + if len(file_dates) > 0: + idx, = np.where((data.index >= min(file_dates)) + & (data.index < max(file_dates) + dt.timedelta(days=1))) + data = data.iloc[idx, :] + + # Initialize the metadata + meta = dict() + for col in data.columns: + meta = {'units': 'SFU', 'notes': '', + 'name': 'NoRP solar sadio flux {:} w/AU corr'.format( + col.replace("_", " ")), + 'desc': ''.join(['NoRP solar radio flux at ', + col.replace("_", " "), ' with Astronomical ', + 'Unit (AU) correction in Solar Flux Units', + ' (SFU).']), + 'fill_val': np.nan, 'min_val': 0, 'max_val': np.inf} + + # Convert the data to xarray and add meta data + data = data.to_xarray() + for dvar in data.data_vars.keys(): + if dvar in meta.keys(): + data[dvar].attrs.update(meta[dvar]) + + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local NoRP solar radio flux data files. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + out_files : pds.Series + A Series containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + # Files are by month, going to add date to monthly filename for each day of + # the month. The load routine will load a month of data and use the + # appended date to select out appropriate data. + if format_str is None: + format_str = "_".join(["norp", "rf", tag, '{year:04d}-{month:02d}.txt']) + + out_files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + if not out_files.empty: + out_files.loc[out_files.index[-1] + pds.DateOffset(months=1) + - pds.DateOffset(days=1)] = out_files.iloc[-1] + out_files = out_files.asfreq('D', 'pad') + out_files = out_files + '_' + out_files.index.strftime('%Y-%m-%d') + + return out_files + + +def download(date_array, tag, inst_id, data_path, update_files=False, + mock_download_dir=None): + """Download NoRP solar radio flux data. + + Parameters + ---------- + date_array : array-like + Sequence of dates for which files will be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the satellite ID for a constellation. + data_path : str + Path to data directory. + update_files : bool + Re-download data for files that already exist if True (default=False) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If a problem is encountered connecting to the gateway or retrieving + data from the remote or local repository. + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + # Download the daily radio flux data from NoRP, saving data in monthly files + sw_methods.norp.daily_rf_downloads(data_path, + mock_download_dir=mock_download_dir, + start=date_array[0], stop=date_array[-1]) + + return diff --git a/GeospaceDataManagement/instruments/sw_ae.py b/GeospaceDataManagement/instruments/sw_ae.py new file mode 100644 index 0000000..221490a --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_ae.py @@ -0,0 +1,180 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports the auroral electrojet AE values. + +Properties +---------- +platform + 'sw' +name + 'ae' +tag + - 'lasp' Predicted AE from real-time ACE or DSCOVR provided by LASP +inst_id + - '' + +""" + +import datetime as dt +import numpy as np + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods import auroral_electrojet +from GeospaceDataManagement.instruments.sw_methods import lasp + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'ae' +tags = {'lasp': 'Predicted AE from real-time ACE or DSCOVR provided by LASP'} +inst_ids = {'': [tag for tag in tags.keys()]} + +# Generate today's date to support loading predicted data sets +today = gdm.utils.time.today() +tomorrow = today + dt.timedelta(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'lasp': today}} + +# ---------------------------------------------------------------------------- +# Instrument methods + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = auroral_electrojet.acknowledgements( + self.name, self.tag) + self.references = auroral_electrojet.references(self.name, self.tag) + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the AE index, empty function.""" + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load the AE index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + tag : str + Instrument tag string. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={'index_col': 0, + 'parse_dates': True}).to_xarray() + + # Create metadata + data['ae'].attrs.update({'units': 'nT', 'name': 'AE', 'notes': tags[tag], + 'desc': ''.join(['Auroral Electrojet index, best', + ' estimate of the average value', + ' over the next two hours']), + 'fill_val': np.nan, 'min_val': -np.inf, + 'max_val': np.inf}) + + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local data files for AE data. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + # Get the format string, if not supplied by the user + if format_str is None: + format_str = ''.join(['sw_ae_', tag, '_{year:4d}-{month:2d}-', + '{day:2d}.txt']) + + # Get the desired files + files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + + return files + + +def download(date_array, tag, inst_id, data_path, mock_download_dir=None): + """Download the AE index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes for which files will be downloaded. + tag : str + Instrument tag, used to determine download location. + inst_id : str + Instrument ID, not used. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If the data link has an unexpected format or an unknown mock download + directory is supplied. + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + lasp.prediction_downloads(name, tag, data_path, mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_al.py b/GeospaceDataManagement/instruments/sw_al.py new file mode 100644 index 0000000..07ddce0 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_al.py @@ -0,0 +1,181 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports the auroral electrojet AL values. + +Properties +---------- +platform + 'sw' +name + 'al' +tag + - 'lasp' Predicted AL from real-time ACE or DSCOVR provided by LASP +inst_id + - '' + +""" + +import datetime as dt +import numpy as np + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods import auroral_electrojet +from GeospaceDataManagement.instruments.sw_methods import lasp + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'al' +tags = {'lasp': 'Predicted AL from real-time ACE or DSCOVR provided by LASP'} +inst_ids = {'': [tag for tag in tags.keys()]} + +# Generate today's date to support loading predicted data sets +today = gdm.utils.time.today() +tomorrow = today + dt.timedelta(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'lasp': today}} + +# ---------------------------------------------------------------------------- +# Instrument methods + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = auroral_electrojet.acknowledgements( + self.name, self.tag) + self.references = auroral_electrojet.references(self.name, self.tag) + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the AL index, empty function.""" + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load the AL index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + tag : str + Instrument tag string. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={'index_col': 0, + 'parse_dates': True}).to_xarray() + + # Create metadata + data['al'].attrs.update({'units': 'nT', 'name': 'AL', 'notes': tags[tag], + 'desc': ''.join(['Auroral Electrojet lower ', + 'envelope, best estimate of the', + ' average value over the next ', + 'two hours']), + 'fill_val': np.nan, 'min_val': -np.inf, + 'max_val': 0.0}) + + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local data files for AL data. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + # Get the format string, if not supplied by the user + if format_str is None: + format_str = ''.join(['sw_al_', tag, '_{year:4d}-{month:2d}-', + '{day:2d}.txt']) + + # Get the desired files + files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + + return files + + +def download(date_array, tag, inst_id, data_path, mock_download_dir=None): + """Download the AL index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes for which files will be downloaded. + tag : str + Instrument tag, used to determine download location. + inst_id : str + Instrument ID, not used. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If the data link has an unexpected format or if an unknown mock + download directory is supplied. + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + lasp.prediction_downloads(name, tag, data_path, mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_ap.py b/GeospaceDataManagement/instruments/sw_ap.py new file mode 100644 index 0000000..9372f54 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_ap.py @@ -0,0 +1,283 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports ap index values. + +Properties +---------- +platform + 'sw' +name + 'ap' +tag + - 'def' Definitive ap data from GFZ + - 'now' Nowcast ap data from GFZ + - 'prediction' Predictions from SWPC for the next 3 days + - 'forecast' Forecast data from SWPC (next 3 days) + - 'recent' The last 30 days of Ap data from SWPC + - '45day' 45-Day forecast data from the Air Force +inst_id + - '' + +Note +---- +Downloads data from ftp.gfz-potsdam.de or SWPC. These files also contain Kp +data (with the GFZ data additionally containing Cp data), and so the additional +data files will be saved to the appropriate data directories to avoid multiple +downloads. + +The historic definitive and nowcast Kp files are stored in yearly files, with +the current year being updated remotely on a regular basis. If you are using +historic data for the current year, we recommend re-downloading it before +performing your data processing. + +The forecast data is stored by generation date, where each file contains the +forecast for the next three days, the observed daily Ap from the prior day, and +the estimated Ap from the current day. Forecast data downloads are only +supported for the current day. When loading forecast data, the date specified +with the load command is the date the forecast was generated. The data loaded +will span three days. To always ensure you are loading the most recent data, +load the data with tomorrow's date. + +Recent data is also stored by the generation date from the SWPC. Each file +contains 30 days of Ap measurements. The load date issued to +GeospaceDataManagement corresponds to the generation date. + +Examples +-------- +:: + + ap = gdm.Instrument('sw', 'ap', tag='recent') + ap.download() + ap.load(date=ap.tomorrow()) + + +Warnings +-------- +The 'forecast', 'recent', and '45day' tags load Ap data for a specific period of +time. Loading multiple files, loading multiple days, the data padding feature, +and multi_file_day feature available from the gdm.Instrument object is not +appropriate for this tag data. + +""" + +import datetime as dt +import numpy as np +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'ap' +tags = {'def': 'Definitive Kp data from GFZ', + 'now': 'Nowcast Kp data from GFZ', + 'prediction': 'SWPC Predictions for the next three days', + 'forecast': 'SWPC Forecast data: prior day to three days hence', + 'recent': 'SWPC provided Kp for past 30 days', + '45day': 'Air Force 45-day Forecast'} +inst_ids = {'': list(tags.keys())} + +# Generate todays date to support loading forecast data +now = dt.datetime.now(tz=dt.timezone.utc) +today = dt.datetime(now.year, now.month, now.day) +tomorrow = today + dt.timedelta(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates +_test_dates = {'': {'def': dt.datetime(2009, 1, 1), + 'now': dt.datetime(2020, 1, 1), + 'forecast': tomorrow, + 'prediction': tomorrow, + 'recent': today, + '45day': today}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = sw_methods.kp_ap.acknowledgements( + self.name, self.tag) + self.references = sw_methods.kp_ap.references(self.name, self.tag) + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the Kp, not required for this index (empty function).""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load Ap index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + tag : str + Instrument tag (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + result : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataMangagement. Not intended for direct use by user. + + """ + meta = dict() + + if tag in ['def', 'now']: + # Load the definitive or nowcast data. The Ap data stored in yearly + # files, and we need to return data daily. The daily date is + # attached to filename. Parse off the last date, load month of data, + # and downselect to the desired day + result = sw_methods.gfz.load_def_now(fnames) + + # Initalize the meta data + fill_val = np.nan + for kk in result.keys(): + if kk.lower().find('ap') >= 0: + meta[kk] = sw_methods.kp_ap.get_ap_metadata(fill_val) + elif kk.find('Bartels') >= 0: + meta[kk] = sw_methods.kp_ap.get_bartel_metadata(kk) + else: + # Load the forecast, recent, prediction, or 45day data + all_data = [] + for fname in fnames: + result = pds.read_csv(fname, index_col=0, parse_dates=True) + all_data.append(result) + + result = pds.concat(all_data) + fill_val = -1 + + # Initalize the meta data + for kk in result.keys(): + meta[kk] = sw_methods.kp_ap.get_ap_metadata(fill_val) + + # Cast the data as xarray and save the meta data + result = result.to_xarray() + for dvar in result.data_vars.keys(): + if dvar in meta.keys(): + result[dvar].attrs.update(meta[dvar]) + + return result + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local files for the requested Instrument tag. + + Parameters + ----------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm._files.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataMangagement. Not intended for direct use by user. + + """ + + if tag in ['def', 'now']: + files = sw_methods.gfz.kp_ap_cp_list_files(name, tag, inst_id, + data_path, + format_str=format_str) + else: + files = sw_methods.swpc.list_files(name, tag, inst_id, data_path, + format_str=format_str) + + return files + + +def download(date_array, tag, inst_id, data_path, mock_download_dir=None): + """Download the Ap index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the instrument identification, not used. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Note + ---- + Called by GeospaceDataMangagement. Not intended for direct use by user. + + Warnings + -------- + Only able to download current recent data, not archived forecasts. + + Raises + ------ + IOError + If an unknown mock download directory is supplied. + + """ + + if tag in ['def', 'now']: + sw_methods.gfz.kp_ap_cp_download(platform, name, date_array, tag, + inst_id, data_path, mock_download_dir) + elif tag == 'recent': + sw_methods.swpc.kp_ap_recent_download(name, date_array, data_path, + mock_download_dir) + elif tag == 'forecast': + sw_methods.swpc.geomag_forecast_download(name, date_array, data_path, + mock_download_dir) + elif tag == 'prediction': + sw_methods.swpc.solar_geomag_predictions_download( + name, date_array, data_path, mock_download_dir) + else: + sw_methods.swpc.recent_ap_f107_download(name, date_array, data_path, + mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_apo.py b/GeospaceDataManagement/instruments/sw_apo.py new file mode 100644 index 0000000..667c89c --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_apo.py @@ -0,0 +1,219 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports apo index values. + +Properties +---------- +platform + 'sw' +name + 'apo' +tag + - 'now' Near real-time nowcast apo data from GFZ +inst_id + - '30min' Half-hourly indices + - '60min' Hourly indices + +Note +---- +Downloads data from ftp.gfz-potsdam.de + +Examples +-------- +:: + + ap30 = gdm.Instrument('sw', 'apo', tag='now', inst_id='30min') + ap30.download(2009, 1) + ap30.load(yr=2009, doy=1) + +""" + +import datetime as dt +import numpy as np +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'apo' +tags = {'now': 'Near real-time nowcast apo data from GFZ'} +inst_ids = {inst_id: list(tags.keys()) for inst_id in ['30min', '60min']} + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates +_test_dates = {inst_id: {tag: dt.datetime(2009, 1, 1) + for tag in inst_ids[inst_id]} + for inst_id in inst_ids.keys()} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = sw_methods.gfz.ackn + self.references = sw_methods.gfz.hpo_refs + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the Kp, not required for this index (empty function).""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load apo index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + tag : str + Instrument tag (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + result : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + # Load the nowcast data. The Hpo data is stored in monthly files, and we + # need to return data daily. The daily date is attached to filename. + # Parse off the last date, load month of data, and downselect to the + # desired day + result = sw_methods.gfz.load_def_now(fnames).to_xarray() + + # Initalize the meta data + dkey = 'Hp{:s}'.format(inst_id.split('min')[0]) + result[dkey].attrs.update({ + 'units': '', 'name': dkey, + 'desc': "{:s}ourly Planetary Open linear index".format( + 'H' if inst_id == '60min' else 'Half-h'), + 'min_val': 0, 'max_val': np.inf, 'fill_val': np.nan}) + + return result + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local files for the requested Instrument tag. + + Parameters + ----------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm._files.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + if format_str is None: + format_str = 'ap{:s}_{{year:04d}}-{{month:02d}}.txt'.format( + inst_id.split('min')[0]) + + # Files are stored by month, going to add a date to the monthly filename for + # each day of month. The load routine will load the year and use the append + # date to select out approriate data. + files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + if not files.empty: + files.loc[files.index[-1] + + pds.DateOffset(months=1, days=-1)] = files.iloc[-1] + files = files.asfreq('D', 'pad') + files = files + '_' + files.index.strftime('%Y-%m-%d') + + return files + + +def download(date_array, tag, inst_id, data_path, update_files=False, + mock_download_dir=None): + """Download the apo index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the instrument identification, not used. + data_path : str + Path to data directory. + update_files : bool + Re-download data for files that already exist if True (default=False) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + Warnings + -------- + Only able to download current recent data, not archived forecasts. + + Raises + ------ + IOError + If an unknown mock download directory is supplied. + + """ + # Set the download input options + gfz_data_name = 'ap{:s}'.format(inst_id.split('min')[0]) + local_file_prefix = '{:s}_'.format(gfz_data_name) + local_date_fmt = "%Y-%m" + freq = pds.DateOffset(months=1, seconds=-1) + + # Call the download routine + sw_methods.gfz.json_downloads(date_array, data_path, local_file_prefix, + local_date_fmt, gfz_data_name, freq, + update_files=update_files, + mock_download_dir=mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_au.py b/GeospaceDataManagement/instruments/sw_au.py new file mode 100644 index 0000000..0949a5d --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_au.py @@ -0,0 +1,180 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports the auroral electrojet AU values. + +Properties +---------- +platform + 'sw' +name + 'au' +tag + - 'lasp' Predicted AU from real-time ACE or DSCOVR provided by LASP +inst_id + - '' + +""" + +import datetime as dt +import numpy as np + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods import auroral_electrojet +from GeospaceDataManagement.instruments.sw_methods import lasp + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'au' +tags = {'lasp': 'Predicted AU from real-time ACE or DSCOVR provided by LASP'} +inst_ids = {'': [tag for tag in tags.keys()]} + +# Generate today's date to support loading predicted data sets +today = gdm.utils.time.today() +tomorrow = today + dt.timedelta(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'lasp': today}} + +# ---------------------------------------------------------------------------- +# Instrument methods + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = auroral_electrojet.acknowledgements( + self.name, self.tag) + self.references = auroral_electrojet.references(self.name, self.tag) + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the AU index, empty function.""" + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load the AU index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + tag : str + Instrument tag string. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={'index_col': 0, + 'parse_dates': True}).to_xarray() + + # Create metadata + data['au'].attrs.update({'units': 'nT', 'name': 'AU', 'notes': tags[tag], + 'desc': ''.join(['Auroral Electrojet upper ', + 'envelope, best estimate ', + 'of the average value over the ', + 'next two hours']), + 'fill_val': np.nan, 'min_val': 0.0, + 'max_val': np.inf}) + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local data files for AU data. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + # Get the format string, if not supplied by the user + if format_str is None: + format_str = ''.join(['sw_au_', tag, '_{year:4d}-{month:2d}-', + '{day:2d}.txt']) + + # Get the desired files + files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + + return files + + +def download(date_array, tag, inst_id, data_path, mock_download_dir=None): + """Download the AU index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes for which files will be downloaded. + tag : str + Instrument tag, used to determine download location. + inst_id : str + Instrument ID, not used. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If the data link has an unexpected format or if an unknown mock + download directory is supplied. + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + lasp.prediction_downloads(name, tag, data_path, mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_cp.py b/GeospaceDataManagement/instruments/sw_cp.py new file mode 100644 index 0000000..0483329 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_cp.py @@ -0,0 +1,147 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports Cp index values. + +Properties +---------- +platform + 'sw' +name + 'cp' +tag + - 'def' Definitive Cp data from GFZ + - 'now' Nowcast Cp data from GFZ +inst_id + - '' + +Note +---- +Downloads data from ftp.gfz-potsdam.de (GFZ). These files also contain ap and Kp +data, and so the additional data files will be saved to the appropriate data +directories to avoid multiple downloads. + +The historic definitive and nowcast Cp files are stored in yearly files, with +the current year being updated remotely on a regular basis. If you are using +historic data for the current year, we recommend re-downloading it before +performing your data processing. + +Examples +-------- +:: + + cp_ind = gdm.Instrument('sw', 'cp', tag='def') + cp_ind.download(start=dt.datetime(2010, 1, 1)) + cp_ind.load(2010, 1) + +""" + +import datetime as dt +import functools +import numpy as np + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'cp' +tags = {'def': 'Definitive Cp data from GFZ', + 'now': 'Nowcast Cp data from GFZ'} +inst_ids = {'': list(tags.keys())} + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates +_test_dates = {'': {'def': dt.datetime(2009, 1, 1), + 'now': dt.datetime(2020, 1, 1)}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = sw_methods.kp_ap.acknowledgements( + self.name, self.tag) + self.references = sw_methods.kp_ap.references(self.name, self.tag) + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the Kp, not required for this index (empty function).""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + +download = functools.partial(sw_methods.gfz.kp_ap_cp_download, platform, name) +list_files = functools.partial(sw_methods.gfz.kp_ap_cp_list_files, name) + + +def load(fnames, tag='', inst_id=''): + """Load Cp index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames. + tag : str + Instrument tag. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # Load the definitive or nowcast data. The Cp data stored in yearly + # files, and we need to return data daily. The daily date is + # attached to filename. Parse off the last date, load month of data, + # and downselect to the desired day + data = sw_methods.gfz.load_def_now(fnames).to_xarray() + + # Initalize the meta data + data['Bartels_solar_rotation_num'].attrs.update( + sw_methods.kp_ap.get_bartel_metadata('Bartels_solar_rotation_num')) + data['day_within_Bartels_rotation'].attrs.update( + sw_methods.kp_ap.get_bartel_metadata('day_within_Bartels_rotation')) + data['Cp'].attrs.update({'units': '', 'name': 'Cp index', + 'desc': ''.join([ + 'the daily planetary character figure, a ', + 'qualitative estimate of the overall level ', + 'of geomagnetic activity for this day ', + 'determined from the sum of the eight ap ', + 'amplitudes']), 'min_val': 0.0, + 'max_val': 2.5, 'fill_val': np.nan}) + data['C9'].attrs.update({'units': '', 'name': 'C9 index', + 'desc': 'the contracted scale for Cp', + 'min_val': 0, 'max_val': 9, 'fill_val': -1}) + + return data diff --git a/GeospaceDataManagement/instruments/sw_dst.py b/GeospaceDataManagement/instruments/sw_dst.py new file mode 100644 index 0000000..d53784b --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_dst.py @@ -0,0 +1,324 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports Dst values. Downloads data from NGDC. + +Properties +---------- +platform + 'sw' +name + 'dst' +tag + - 'noaa' Historic Dst data coalated by and maintained by NOAA/NCEI + - 'lasp' Predicted Dst from real-time ACE or DSCOVR provided by LASP +inst_id + - '' + +Note +---- +Will only work until 2057. + +""" + +import datetime as dt +import ftplib +import numpy as np +import os +import pandas as pds +import shutil + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods import dst as mm_dst +from GeospaceDataManagement.instruments.sw_methods import lasp + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'dst' +tags = {'noaa': 'Historic Dst data coalated by and maintained by NOAA/NCEI', + 'lasp': 'Predicted Dst from real-time ACE or DSCOVR provided by LASP'} +inst_ids = {'': [tag for tag in tags.keys()]} + +# Generate today's date to support loading predicted data sets +today = gdm.utils.time.today() +tomorrow = today + dt.timedelta(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'noaa': dt.datetime(2000, 1, 1), 'lasp': today}} + +# Other tags assumed to be True +_test_download_ci = {'': {'noaa': False}} + +# ---------------------------------------------------------------------------- +# Instrument methods + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = mm_dst.acknowledgements(self.tag) + self.references = mm_dst.references(self.tag) + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the Dst index, empty function.""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load the Dst index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + tag : str + Instrument tag string. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataMangaement. Not intended for direct use by user. + + """ + + all_data = [] + + if tag == 'noaa': + # NOAA Dst data is actually stored by year, but users can load by day. + # Extract the actual dates from the input list of filenames as well as + # the names of the actual files. + fdates = [] + ufnames = [] + for filename in fnames: + fdates.append(dt.datetime.strptime(filename[-10:], '%Y-%m-%d')) + ufnames.append(filename[0:-11]) + + # Get unique filenames that map to actual data + ufnames = np.unique(ufnames).tolist() + + # Load unique files + for fname in ufnames: + with open(fname) as open_f: + lines = open_f.readlines() + idx = 0 + + # Check if all lines are good + max_lines = 0 + for line in lines: + if len(line) > 1: + max_lines += 1 + + # Prep memory + yr = np.zeros(max_lines * 24, dtype=int) + mo = np.zeros(max_lines * 24, dtype=int) + day = np.zeros(max_lines * 24, dtype=int) + ut = np.zeros(max_lines * 24, dtype=int) + dst = np.zeros(max_lines * 24, dtype=int) + + # Read data + for line in lines: + if len(line) > 1: + temp_year = np.int64(line[14:16] + line[3:5]) + if temp_year > 57: + temp_year += 1900 + else: + temp_year += 2000 + + yr[idx:idx + 24] = temp_year + mo[idx:idx + 24] = np.int64(line[5:7]) + day[idx:idx + 24] = np.int64(line[8:10]) + ut[idx:idx + 24] = np.arange(24) + temp = line.strip()[20:-4] + temp2 = [temp[4 * i:4 * (i + 1)] for i in np.arange(24)] + dst[idx:idx + 24] = temp2 + idx += 24 + + # Prep datetime index for the data and create DataFrame + start = dt.datetime(yr[0], mo[0], day[0], ut[0]) + stop = dt.datetime(yr[-1], mo[-1], day[-1], ut[-1]) + dates = pds.date_range(start, stop, freq='H') + new_data = pds.DataFrame(dst, index=dates, columns=['dst']) + + # Add to all data loaded for filenames + all_data.append(new_data) + + # Combine data together + data = pds.concat(all_data, sort=True, axis=0) + + # Pull out requested days + data = data.iloc[data.index >= fdates[0], :] + data = data.iloc[data.index < fdates[-1] + pds.DateOffset(days=1), :] + else: + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={'index_col': 0, 'parse_dates': True}) + + # Create metadata + data = data.to_xarray() + data['dst'].attrs.update({'units': 'nT', 'name': 'Dst', 'notes': tags[tag], + 'desc': 'Disturbance storm-time index', + 'fill_val': np.nan, 'min_val': -np.inf, + 'max_val': np.inf}) + + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local data files for Dst data. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataMangaement. Not intended for direct use by user. + + """ + # Get the format string, if not supplied by the user + if format_str is None: + if tag == 'noaa': + format_str = 'dst{year:4d}.txt' + else: + format_str = ''.join(['sw_dst_', tag, '_{year:4d}-{month:2d}-', + '{day:2d}.txt']) + + # Get the desired files + files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + + if tag == 'noaa': + # NOAA files yearly, so we need to add daily dates to the yearly + # filenames. The load routine will load a month of data and use + # the appended date to select out appropriate data. + if not files.empty: + files.loc[files.index[-1] + pds.DateOffset(years=1) + - pds.DateOffset(days=1)] = files.iloc[-1] + files = files.asfreq('D', 'pad') + files = files + '_' + files.index.strftime('%Y-%m-%d') + + return files + + +def download(date_array, tag, inst_id, data_path, mock_download_dir=None): + """Download the Dst index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes for which files will be downloaded. + tag : str + Instrument tag, used to determine download location. + inst_id : str + Instrument ID, not used. + data_path : str + Path to data directory. + If not None, will process any files with the correct name and date + as if they were downloaded. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded. (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied. + + Note + ---- + Called by GeospaceDataMangaement. Not intended for direct use by user. + + """ + # If a mock download directory was supplied, test to see it exists + if mock_download_dir is not None: + if not os.path.isdir(mock_download_dir): + raise IOError('file location is not a directory: {:}'.format( + mock_download_dir)) + + if tag == 'noaa': + if mock_download_dir is None: + # Connect to host, default port + ftp = ftplib.FTP('ftp.ngdc.noaa.gov') + + # User anonymous, passwd anonymous@ + ftp.login() + ftp.cwd('/STP/space-weather/geomagnetic-data/INDICES/DST') + + # Data stored by year. Only download for unique set of input years. + years = np.array([date.year for date in date_array]) + years = np.unique(years) + for year in years: + fname_root = 'dst{year:04d}.txt' + fname = fname_root.format(year=year) + saved_fname = os.path.join(data_path, fname) + if mock_download_dir is None: + try: + gdm.logger.info('Downloading file for {year:04d}'.format( + year=year)) + with open(saved_fname, 'wb') as fp: + ftp.retrbinary('RETR ' + fname, fp.write) + except ftplib.error_perm as exception: + if str(exception.args[0]).split(" ", 1)[0] != '550': + raise exception + else: + # File not present + os.remove(saved_fname) + gdm.logger.info('File not available for {:04d}'.format( + year)) + else: + # Get the local file, if it exists + down_fname = os.path.join(mock_download_dir, fname) + if os.path.isfile(down_fname): + shutil.copyfile(down_fname, saved_fname) + else: + gdm.logger.info("".join(["Data not downloaded for ", + down_fname, ", data may have ", + "been saved to an unexpected ", + "filename."])) + + if mock_download_dir is None: + ftp.close() + elif tag == 'lasp': + lasp.prediction_downloads(name, tag, data_path, mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_f107.py b/GeospaceDataManagement/instruments/sw_f107.py new file mode 100644 index 0000000..776ac08 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_f107.py @@ -0,0 +1,432 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports F10.7 index values. + +Properties +---------- +platform + 'sw' +name + 'f107' +tag + - 'historic' LASP F10.7 data (downloads by month, loads by day) + - 'prelim' Preliminary SWPC daily solar indices + - 'now' A mix of nowcast and definitive values from GFZ + - 'daily' Daily SWPC solar indices (contains last 30 days) + - 'forecast' Grab forecast data from SWPC (next 3 days) + - '45day' 45-Day Forecast data from the Air Force +inst_id + - '' No distinction, may include observed, adjusted, or both + - 'obs' Observed F10.7 + - 'adj' Adjusted F10.7 + +Examples +-------- +Download and load all of the historic F10.7 data. Note that it will not +stop on the current date, but a point in the past when post-processing has +been successfully completed. +:: + + f107 = gdm.Instrument('sw', 'f107', tag='historic') + f107.download(start=f107.lasp_stime, stop=f107.today()) + f107.load(date=f107.lasp_stime, end_date=f107.today()) + + +Note +---- +The forecast data is stored by generation date, where each file contains the +forecast for the next three days. Forecast data downloads are only supported +for the current day. When loading forecast data, the date specified with the +load command is the date the forecast was generated. The data loaded will span +three days. To always ensure you are loading the most recent data, load +the data with tomorrow's date. +:: + + f107 = gdm.Instrument('sw', 'f107', tag='forecast') + f107.download() + f107.load(date=f107.tomorrow()) + + +Warnings +-------- +The 'forecast' F10.7 data loads three days at a time. Loading multiple files, +loading multiple days, the data padding feature, and multi_file_day feature +available from the pyast.Instrument object is not appropriate for 'forecast' +data. + +Like 'forecast', the '45day' forecast loads a specific period of time (45 days) +and subsequent files contain overlapping data. Thus, loading multiple files, +loading multiple days, the data padding feature, and multi_file_day feature +available from the pyast.Instrument object is not appropriate for '45day' data. + +""" + +import datetime as dt +import numpy as np +import os +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'f107' +tags = {'historic': 'Daily LASP value of F10.7', + 'prelim': 'Preliminary SWPC daily solar indices', + 'now': 'Nowcast and definitive data from GFZ', + 'daily': 'Daily SWPC solar indices (contains last 30 days)', + 'forecast': 'SWPC Forecast F107 data next (3 days)', + '45day': 'Air Force 45-day Forecast'} + +# Dict keyed by inst_id that lists supported tags for each inst_id +inst_ids = {'': [tag for tag in tags.keys() if tag != 'now'], 'obs': ['now'], + 'adj': ['now']} + +# Dict keyed by inst_id that lists supported tags and a good day of test data +# generate todays date to support loading forecast data +now = dt.datetime.now(tz=dt.timezone.utc) +today = dt.datetime(now.year, now.month, now.day) +tomorrow = today + dt.timedelta(days=1) + +# The LASP archive start day is also important +lasp_stime = dt.datetime(1947, 2, 14) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'historic': dt.datetime(2009, 1, 1), + 'prelim': dt.datetime(2009, 1, 1), + 'daily': today, + 'forecast': tomorrow, + '45day': today}, + 'obs': {'now': dt.datetime(2009, 1, 1)}, + 'adj': {'now': dt.datetime(2009, 1, 1)}} + +# Other tags assumed to be True +_test_download_ci = {'': {'prelim': False}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the required Instrument attributes + self.acknowledgements = sw_methods.f107.acknowledgements(self.tag) + self.references = sw_methods.f107.references(self.tag) + gdm.logger.info(self.acknowledgements) + + # Define the historic F10.7 starting time + if self.tag == 'historic': + self.lasp_stime = lasp_stime + + return + + +def clean(self): + """Clean the F10.7 data, empty function as this is not necessary.""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load F10.7 index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames. + tag : str + Instrument tag. (default='') + inst_id : str + Instrument ID. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data. + + See Also + -------- + gdm.instruments.methods.general.load_csv_data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # Get the desired file dates and file names from the daily indexed list + file_dates = list() + if tag in ['historic', 'prelim', 'now']: + unique_files = list() + for fname in fnames: + file_dates.append(dt.datetime.strptime(fname[-10:], '%Y-%m-%d')) + if fname[0:-11] not in unique_files: + unique_files.append(fname[0:-11]) + fnames = unique_files + + # Load the CSV data files + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={"index_col": 0, "parse_dates": True}) + + # Rename the GFZ variable name to be consistent with the other data sets + if tag == 'now': + data = data.rename(columns={'F{:s}'.format(inst_id): 'f107'}) + + # If there is a date range, downselect here + if len(file_dates) > 0: + idx, = np.where((data.index >= min(file_dates)) + & (data.index < max(file_dates) + dt.timedelta(days=1))) + data = data.iloc[idx, :] + + # Initialize the metadata + desc_prefix = '' if inst_id == '' else '{:s} '.format(inst_id.capitalize()) + meta = {'f107': {'units': 'SFU', 'name': 'F10.7 cm solar index', + 'notes': '', 'desc': ''.join([ + desc_prefix, 'F10.7 cm radio flux in Solar Flux ', + 'Units (SFU)']), 'fill_val': np.nan, 'min_val': 0, + 'max_val': np.inf}} + + if tag == 'historic': + # LASP updated file format in June, 2022. Minimize impact downstream by + # continuing use of `f107` as primary data product. + if 'f107_adjusted' in data.columns: + # There may be a mix of old and new data formats. + if 'f107' in data.columns: + # Only fill NaN in the `f107` and `f107_adjusted` columns + # for consistency across both data sets + data.loc[np.isnan(data['f107']), 'f107'] = data.loc[ + np.isnan(data['f107']), 'f107_adjusted'] + + data.loc[np.isnan(data['f107_adjusted']), + 'f107_adjusted'] = data.loc[ + np.isnan(data['f107_adjusted']), 'f107'] + else: + data['f107'] = data['f107_adjusted'] + + # Add metadata + meta['f107_observed'] = dict(meta['f107']) + meta['f107_observed'] = { + 'desc': 'Raw F10.7 cm radio flux in Solar Flux Units (SFU)'} + + meta['f107_adjusted'] = dict(meta['f107_observed']) + meta['f107_adjusted']['desc'] = ''.join([ + 'F10.7 cm radio flux in Solar Flux Units (SFU)', + ' normalized to 1-AU']) + meta['f107']['desc'] = meta['f107_adjusted']['desc'] + + # Save the data and metadata in the desired format + data = data.to_xarray() + for dkey in meta.keys(): + if dkey in data: + data[dkey].attrs.update(meta[dkey]) + + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local F10.7 data files. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + out_files : pds.Series + A Series containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + if tag in ['historic', 'now']: + # Files are by month, going to add date to monthly filename for + # each day of the month. The load routine will load a month of + # data and use the appended date to select out appropriate data. + if format_str is None: + if tag == 'historic': + format_str = 'f107_monthly_{year:04d}-{month:02d}.txt' + else: + format_str = 'F{:s}_{{year:04d}}-{{month:02d}}.txt'.format( + inst_id) + out_files = gdm.Files.from_os(data_path=data_path, + format_str=format_str) + if not out_files.empty: + out_files.loc[out_files.index[-1] + pds.DateOffset(months=1) + - pds.DateOffset(days=1)] = out_files.iloc[-1] + out_files = out_files.asfreq('D', 'pad') + out_files = out_files + '_' + out_files.index.strftime( + '%Y-%m-%d') + + elif tag == 'prelim': + # Files are by year (and quarter) + if format_str is None: + format_str = ''.join(['f107_prelim_{year:04d}_{month:02d}', + '_v{version:01d}.txt']) + out_files = gdm.Files.from_os(data_path=data_path, + format_str=format_str) + + if not out_files.empty: + # Set each file's valid length at a 1-day resolution + orig_files = out_files.sort_index().copy() + new_files = list() + + for orig in orig_files.items(): + # Version determines each file's valid length + version = np.int64(orig[1].split("_v")[1][0]) + doff = pds.DateOffset(years=1) if version == 2 \ + else pds.DateOffset(months=3) + istart = orig[0] + iend = istart + doff - pds.DateOffset(days=1) + + # Ensure the end time does not extend past the number of + # possible days included based on the file's download time + fname = os.path.join(data_path, orig[1]) + dend = dt.datetime.utcfromtimestamp(os.path.getctime(fname)) + dend = dend - pds.DateOffset(days=1) + if dend < iend: + iend = dend + + # Pad the original file index + out_files.loc[iend] = orig[1] + out_files = out_files.sort_index() + + # Save the files at a daily cadence over the desired period + new_files.append(out_files.loc[istart: + iend].asfreq('D', 'pad')) + # Add the newly indexed files to the file output + out_files = pds.concat(new_files, sort=True) + out_files = out_files.dropna() + out_files = out_files.sort_index() + out_files = out_files + '_' + out_files.index.strftime('%Y-%m-%d') + + elif tag in ['daily', 'forecast', '45day']: + out_files = sw_methods.swpc.list_files(name, tag, inst_id, data_path, + format_str=format_str) + + return out_files + + +def download(date_array, tag, inst_id, data_path, update_files=False, + mock_download_dir=None): + """Download F107 index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like + Sequence of dates for which files will be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the satellite ID for a constellation. + data_path : str + Path to data directory. + update_files : bool + Re-download data for files that already exist if True (default=False) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If a problem is encountered connecting to the gateway or retrieving + data from the remote or local repository. + + Warnings + -------- + Only able to download current forecast data, not archived forecasts. + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + # Download standard F107 data + if tag == 'historic': + # Test the date array, updating it if necessary + if date_array.freq != 'MS': + date_array = gdm.utils.time.create_date_range( + dt.datetime(date_array[0].year, date_array[0].month, 1), + date_array[-1], freq='MS') + + # Download from LASP, by month + freq = pds.DateOffset(months=1, seconds=-1) + sw_methods.lisird.download(date_array, data_path, 'f107_monthly_', + '%Y-%m', 'noaa_radio_flux', freq, + update_files, + {'f107_adjusted': -99999.0, + 'f107_observed': -99999.0}, + mock_download_dir=mock_download_dir) + + elif tag == 'prelim': + # Get the local files, to ensure that the version 1 files are + # downloaded again if more data has been added + local_files = list_files(tag, inst_id, data_path) + + # Cut the date from the end of the local files + for i, lfile in enumerate(local_files): + local_files.iloc[i] = lfile[:-11] + + sw_methods.swpc.old_indices_dsd_download( + name, date_array, data_path, local_files, today, + mock_download_dir=mock_download_dir) + elif tag == 'now': + # Set the download input options + gfz_data_name = 'F{:s}'.format(inst_id) + local_file_prefix = '{:s}_'.format(gfz_data_name) + + # Call the download routine + sw_methods.gfz.json_downloads(date_array, data_path, local_file_prefix, + "%Y-%m", gfz_data_name, + pds.DateOffset(months=1, seconds=-1), + update_files=update_files, + mock_download_dir=mock_download_dir) + + elif tag == 'daily': + sw_methods.swpc.daily_dsd_download(name, today, data_path, + mock_download_dir=mock_download_dir) + + elif tag == 'forecast': + sw_methods.swpc.solar_geomag_predictions_download( + name, date_array, data_path, mock_download_dir=mock_download_dir) + + elif tag == '45day': + sw_methods.swpc.recent_ap_f107_download( + name, date_array, data_path, mock_download_dir=mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_flare.py b/GeospaceDataManagement/instruments/sw_flare.py new file mode 100644 index 0000000..de3b474 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_flare.py @@ -0,0 +1,347 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports solar flare values. + +Properties +---------- +platform + 'sw' +name + 'flare' +tag + - 'prelim' Preliminary SWPC daily solar indices + - 'daily' Daily SWPC solar indices (contains last 30 days) + - 'prediction' Predictions from SWPC for the next 3 days + +Examples +-------- +Download and load the most recent flare predictions. To always ensure you are +loading the most recent data, load the data with tomorrow's date. +:: + + flare = gdm.Instrument('sw', 'flare', tag='prediction') + flare.download(start=flare.tomorrow()) + flare.load(date=flare.tomorrow()) + + +Note +---- +The forecast data is stored by generation date, where each file contains the +forecast for the next three days. Forecast data downloads are only supported +for the current day. When loading forecast data, the date specified with the +load command is the date the forecast was generated. The data loaded will span +three days. To always ensure you are loading the most recent data, load +the data with tomorrow's date. + + +Warnings +-------- +The 'prediction' flare data loads three days at a time. Loading multiple files, +loading multiple days, the data padding feature, and multi_file_day feature +available from the pyast.Instrument object is not appropriate for 'prediction' +data. + +""" + +import datetime as dt +import numpy as np +import os +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'flare' +tags = {'prelim': 'Preliminary SWPC daily solar indices', + 'daily': 'Daily SWPC solar indices (contains last 30 days)', + 'prediction': 'Predictions from SWPC for the next 3 days'} + +# Dict keyed by inst_id that lists supported tags for each inst_id +inst_ids = {'': [tag for tag in tags.keys()]} + +# Dict keyed by inst_id that lists supported tags and a good day of test data +# generate todays date to support loading forecast data +now = dt.datetime.now(tz=dt.timezone.utc) +today = dt.datetime(now.year, now.month, now.day) +tomorrow = today + dt.timedelta(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'prelim': dt.datetime(2009, 1, 1), + 'daily': tomorrow, + 'prediction': tomorrow}} + +# Other tags assumed to be True +_test_download_ci = {'': {'prelim': False}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the required Instrument attributes + self.acknowledgements = sw_methods.swpc.ackn + self.references = "".join(["Check SWPC for appropriate references: ", + "https://www.swpc.noaa.gov/phenomena"]) + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean the F10.7 data, empty function as this is not necessary.""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load the solar flare files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames. + tag : str + Instrument tag. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data. + + See Also + -------- + gdm.instruments.methods.general.load_csv_data + + """ + + # Get the desired file dates and file names from the daily indexed list + file_dates = list() + if tag in ['prelim']: + unique_files = list() + for fname in fnames: + file_dates.append(dt.datetime.strptime(fname[-10:], '%Y-%m-%d')) + if fname[0:-11] not in unique_files: + unique_files.append(fname[0:-11]) + fnames = unique_files + + # Load the CSV data files + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={"index_col": 0, "parse_dates": True}) + + # If there is a date range, downselect here + if len(file_dates) > 0: + idx, = np.where((data.index >= min(file_dates)) + & (data.index < max(file_dates) + dt.timedelta(days=1))) + data = data.iloc[idx, :] + + # Recast data + data = data.to_xarray() + + # Initialize the metadata + if tag == 'daily' or tag == 'prelim': + data['goes_bgd_flux'].attrs.update( + {'units': 'W/m^2', 'name': 'X-ray Background Flux', 'notes': '', + 'desc': 'GOES X-ray Background Flux', 'fill_val': '*', + 'min_val': -np.inf, 'max_val': np.inf}) + if 'c_flare' in data: + data['c_flare'].attrs.update( + {'units': '', 'name': 'C X-Ray Flares', 'notes': '', + 'desc': 'C-class X-Ray Flares', 'fill_val': -1, + 'min_val': 0, 'max_val': 9}) + if 'm_flare' in data: + data['m_flare'].attrs.update( + {'units': '', 'name': 'M X-Ray Flares', 'notes': '', + 'desc': 'M-class X-Ray Flares', 'fill_val': -1, + 'min_val': 0, 'max_val': 9}) + if 'x_flare' in data: + data['x_flare'].attrs.update( + {'units': '', 'name': 'X X-Ray Flares', 'notes': '', + 'desc': 'X-class X-Ray Flares', 'fill_val': -1, + 'min_val': 0, 'max_val': 9}) + if 'o1_flare' in data: + data['o1_flare'].attrs.update( + {'units': '', 'name': '1 Optical Flares', 'notes': '', + 'desc': '1-class Optical Flares', 'fill_val': -1, + 'min_val': 0, 'max_val': 9}) + if 'o2_flare' in data: + data['o2_flare'].attrs.update( + {'units': '', 'name': '2 Optical Flares', 'notes': '', + 'desc': '2-class Optical Flares', 'fill_val': -1, + 'min_val': 0, 'max_val': 9}) + if 'o3_flare' in data: + data['o3_flare'].attrs.update( + {'units': '', 'name': '3 Optical Flares', 'notes': '', + 'desc': '3-class Optical Flares', 'fill_val': -1, + 'min_val': 0, 'max_val': 9}) + elif tag == 'prediction': + for dkey in data: + if dkey.find('Region') < 0: + data[dkey].attrs.udpate( + {'units': '', 'name': dkey, 'notes': '', + 'desc': ''.join([dkey.replace('_', ' '), + ' Probabilities']), 'fill_val': -1, + 'min_val': 0, 'max_val': 100}) + else: + data[dkey].attrs.update( + {'units': '', 'name': dkey, 'notes': '', + 'desc': 'SWPC Solar Region Number', 'fill_val': -1, + 'min_val': 1, 'max_val': 9999}) + + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local solar flare data files. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + out_files : gdm._files.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + if tag == 'prelim': + # Files are by year (and quarter) + if format_str is None: + format_str = ''.join(['flare_prelim_{year:04d}_{month:02d}', + '_v{version:01d}.txt']) + out_files = gdm.Files.from_os(data_path=data_path, + format_str=format_str) + + if not out_files.empty: + # Set each file's valid length at a 1-day resolution + orig_files = out_files.sort_index().copy() + new_files = list() + + for orig in orig_files.items(): + # Version determines each file's valid length + version = int(orig[1].split("_v")[1][0]) + doff = pds.DateOffset(years=1) if version == 2 \ + else pds.DateOffset(months=3) + istart = orig[0] + iend = istart + doff - pds.DateOffset(days=1) + + # Ensure the end time does not extend past the number of + # possible days included based on the file's download time + fname = os.path.join(data_path, orig[1]) + dend = dt.datetime.utcfromtimestamp(os.path.getctime(fname)) + dend = dend - pds.DateOffset(days=1) + if dend < iend: + iend = dend + + # Pad the original file index + out_files.loc[iend] = orig[1] + out_files = out_files.sort_index() + + # Save the files at a daily cadence over the desired period + new_files.append(out_files.loc[istart: + iend].asfreq('D', 'pad')) + # Add the newly indexed files to the file output + out_files = pds.concat(new_files, sort=True) + out_files = out_files.dropna() + out_files = out_files.sort_index() + out_files = out_files + '_' + out_files.index.strftime('%Y-%m-%d') + + else: + out_files = sw_methods.swpc.list_files(name, tag, inst_id, data_path, + format_str=format_str) + + return out_files + + +def download(date_array, tag, inst_id, data_path, update_files=False, + mock_download_dir=None): + """Download solar flare data from the appropriate repository. + + Parameters + ---------- + date_array : array-like + Sequence of dates for which files will be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the satellite ID for a constellation. + data_path : str + Path to data directory. + update_files : bool + Re-download data for files that already exist if True (default=False) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If a problem is encountered connecting to the gateway or retrieving + data from the remote or local repository. + + Warnings + -------- + Only able to download current forecast data, not archived forecasts. + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + if tag == 'prelim': + # Get the local files, to ensure that the version 1 files are + # downloaded again if more data has been added + local_files = list_files(tag, inst_id, data_path) + + sw_methods.swpc.old_indices_dsd_download(name, date_array, data_path, + local_files, today, + mock_download_dir) + + elif tag == 'daily': + sw_methods.swpc.daily_dsd_download(name, today, data_path, + mock_download_dir) + + elif tag == 'prediction': + sw_methods.swpc.solar_geomag_predictions_download( + name, date_array, data_path, mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_hpo.py b/GeospaceDataManagement/instruments/sw_hpo.py new file mode 100644 index 0000000..7d96614 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_hpo.py @@ -0,0 +1,220 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports Hpo index values. + +Properties +---------- +platform + 'sw' +name + 'hpo' +tag + - 'now' Near real-time nowcast Hpo data from GFZ +inst_id + - '30min' Half-hourly resolution indices + - '60min' Hourly resolution indices + +Note +---- +Downloads data from ftp.gfz-potsdam.de + +Examples +-------- +:: + + hp30 = gdm.Instrument('sw', 'hpo', tag='now', inst_id='30min') + hp30.download(2009, 1) + hp30.load(yr=2009, doy=1) + +""" + +import datetime as dt +import numpy as np +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'hpo' +tags = {'now': 'Near real-time nowcast Hpo data from GFZ'} +inst_ids = {inst_id: list(tags.keys()) for inst_id in ['30min', '60min']} + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates +_test_dates = {inst_id: {tag: dt.datetime(2009, 1, 1) + for tag in inst_ids[inst_id]} + for inst_id in inst_ids.keys()} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = sw_methods.gfz.ackn + self.references = sw_methods.gfz.hpo_refs + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the Kp, not required for this index (empty function).""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load Hpo index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames. + tag : str + Instrument tag. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + result : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # Load the nowcast data. The Hpo data is stored in monthly files, and we + # need to return data daily. The daily date is attached to filename. + # Parse off the last date, load month of data, and downselect to the + # desired day + result = sw_methods.gfz.load_def_now(fnames).to_xarray() + + # Initalize the meta data + dkey = 'Hp{:s}'.format(inst_id.split('min')[0]) + result[dkey].attrs.update({'units': '', 'name': dkey, + 'desc': "{:s}ourly Planetary Open index".format( + 'H' if inst_id == '60min' else 'Half-h'), + 'min_val': 0, 'max_val': np.inf, + 'fill_val': np.nan}) + + return result + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local files for the requested Instrument tag. + + Parameters + ----------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm._files.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + if format_str is None: + format_str = 'Hp{:s}_{{year:04d}}-{{month:02d}}.txt'.format( + inst_id.split('min')[0]) + + # Files are stored by month, going to add a date to the monthly filename for + # each day of month. The load routine will load the year and use the append + # date to select out approriate data. + files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + if not files.empty: + files.loc[files.index[-1] + + pds.DateOffset(months=1, days=-1)] = files.iloc[-1] + files = files.asfreq('D', 'pad') + files = files + '_' + files.index.strftime('%Y-%m-%d') + + return files + + +def download(date_array, tag, inst_id, data_path, update_files=False, + mock_download_dir=None): + """Download the Hpo index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the instrument identification, not used. + data_path : str + Path to data directory. + update_files : bool + Re-download data for files that already exist if True (default=False) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + Warnings + -------- + Only able to download current recent data, not archived forecasts. + + Raises + ------ + IOError + If an unknown mock download directory is supplied. + + """ + + # Set the download input options + gfz_data_name = 'Hp{:s}'.format(inst_id.split('min')[0]) + local_file_prefix = '{:s}_'.format(gfz_data_name) + local_date_fmt = "%Y-%m" + freq = pds.DateOffset(months=1, seconds=-1) + + # Call the download routine + sw_methods.gfz.json_downloads(date_array, data_path, local_file_prefix, + local_date_fmt, gfz_data_name, freq, + update_files=update_files, + mock_download_dir=mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_kp.py b/GeospaceDataManagement/instruments/sw_kp.py new file mode 100644 index 0000000..427aa20 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_kp.py @@ -0,0 +1,275 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports Kp index values. + +Properties +---------- +platform + 'sw' +name + 'kp' +tag + - 'def' Definitive Kp data from GFZ + - 'now' Nowcast Kp data from GFZ + - 'prediction' Predictions from SWPC for the next 3 days + - 'forecast' Forecast data from SWPC (next 3 days) + - 'recent' The last 30 days of Kp data from SWPC +inst_id + - '' + +Note +---- +Downloads data from ftp.gfz-potsdam.de or SWPC. These files also contain ap +data (with the GFZ data additionally containing Cp data), and so the additional +data files will be saved to the appropriate data directories to avoid multiple +downloads. + +The historic definitive and nowcast Kp files are stored in yearly files, with +the current year being updated remotely on a regular basis. If you are using +historic data for the current year, we recommend re-downloading it before +performing your data processing. + +The forecast data is stored by generation date, where each file contains the +forecast for the next three days. Forecast data downloads are only supported +for the current day. When loading forecast data, the date specified with the +load command is the date the forecast was generated. The data loaded will span +three days. To always ensure you are loading the most recent data, load +the data with tomorrow's date. + +Recent data is also stored by the generation date from the SWPC. Each file +contains 30 days of Kp measurements. The load date issued to +GeospaceDataManagement corresponds to the generation date. + +Examples +-------- +:: + + kp = gdm.Instrument('sw', 'kp', tag='recent') + kp.download() + kp.load(date=kp.tomorrow()) + + +Warnings +-------- +The 'forecast', 'prediction', and 'recent' tags load Kp data for a specific +period of time. Loading multiple files, loading multiple days, the data padding +feature, and multi_file_day feature available from the pyast.Instrument object +is not appropriate for these tags data. + +""" + +import datetime as dt +import numpy as np +import pandas as pds + + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'kp' +tags = {'def': 'Definitive Kp data from GFZ', + 'now': 'Nowcast Kp data from GFZ', + 'prediction': 'SWPC Predictions for the next three days', + 'forecast': 'SWPC Forecast data next (3 days)', + 'recent': 'SWPC provided Kp for past 30 days'} +inst_ids = {'': list(tags.keys())} + +# Generate todays date to support loading forecast data +now = dt.datetime.now(tz=dt.timezone.utc) +today = dt.datetime(now.year, now.month, now.day) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates +_test_dates = {'': {'def': dt.datetime(2009, 1, 1), + 'now': dt.datetime(2020, 1, 1), + 'forecast': today + dt.timedelta(days=1), + 'prediction': today + dt.timedelta(days=1), + 'recent': today}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = sw_methods.kp_ap.acknowledgements( + self.name, self.tag) + self.references = sw_methods.kp_ap.references(self.name, self.tag) + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean the Kp, not required for this index (empty function).""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load Kp index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + tag : str + Instrument tag (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + result : pandas.DataFrame + Object containing satellite data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + if tag in ['def', 'now']: + # Load the definitive or nowcast data. The Kp data stored in yearly + # files, and we need to return data daily. The daily date is + # attached to filename. Parse off the last date, load month of data, + # and downselect to the desired day + result = sw_methods.gfz.load_def_now(fnames) + fill_val = np.nan + else: + # Load the prediction, forecast or recent data + all_data = [] + for fname in fnames: + result = pds.read_csv(fname, index_col=0, parse_dates=True) + all_data.append(result) + + result = pds.concat(all_data) + fill_val = -1 + + # Recast the data + result = result.to_xarray() + + # Initalize the meta data + if tag in ['forecast', 'recent', 'prediction']: + for kk in result.keys(): + result[kk].attrs.update(sw_methods.kp_ap.get_kp_metadata(fill_val)) + else: + for kk in result.keys(): + if kk.find('Kp') >= 0: + result[kk].attrs.update(sw_methods.kp_ap.get_kp_metadata( + fill_val)) + elif kk.find('Bartels') >= 0: + result[kk].attrs.update( + sw_methods.kp_ap.get_bartel_metadata(kk)) + + return result + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local files for the requested Instrument tag. + + Parameters + ----------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm._files.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + if tag in ['def', 'now']: + files = sw_methods.gfz.kp_ap_cp_list_files(name, tag, inst_id, + data_path, + format_str=format_str) + else: + files = sw_methods.swpc.list_files(name, tag, inst_id, data_path, + format_str=format_str) + + return files + + +def download(date_array, tag, inst_id, data_path, mock_download_dir=None): + """Download the Kp index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the instrument identification, not used. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied or there is a problem + downloading the data. + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + Warnings + -------- + Only able to download current forecast data, not archived forecasts. + + """ + + # Download standard Kp data + if tag in ['def', 'now']: + sw_methods.gfz.kp_ap_cp_download(platform, name, date_array, tag, + inst_id, data_path, mock_download_dir) + elif tag == 'forecast': + sw_methods.swpc.geomag_forecast_download(name, date_array, data_path, + mock_download_dir) + elif tag == 'recent': + sw_methods.swpc.kp_ap_recent_download(name, date_array, data_path, + mock_download_dir) + elif tag == 'prediction': + sw_methods.swpc.solar_geomag_predictions_download( + name, date_array, data_path, mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_methods/__init__.py b/GeospaceDataManagement/instruments/sw_methods/__init__.py new file mode 100644 index 0000000..733b7ad --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/__init__.py @@ -0,0 +1,14 @@ +try: + from GeospaceDataManagement.instruments.sw_methods import ace # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import auroral_electrojet # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import dst # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import f107 # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import general # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import gfz # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import norp # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import kp_ap # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import lasp # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import lisird # noqa F401 + from GeospaceDataManagement.instruments.sw_methods import swpc # noqa F401 +except ImportError: + raise ImportError('missing Space Weather dependencies') diff --git a/GeospaceDataManagement/instruments/sw_methods/ace.py b/GeospaceDataManagement/instruments/sw_methods/ace.py new file mode 100644 index 0000000..f1a07d5 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/ace.py @@ -0,0 +1,413 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Provides general routines for the ACE space weather instruments.""" + +import datetime as dt +import numpy as np +import os +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods import general + +clean_warn = {'dusty': [('logger', 'WARN', + "unused clean level 'dusty', reverting to 'clean'", + 'clean')]} + + +def acknowledgements(): + """Define the acknowledgements for the specified ACE instrument. + + Returns + ------- + ackn : str + Acknowledgements for the ACE instrument + + """ + + ackn = ''.join(['NOAA provided funds for the modification of ', + ' the ACE transmitter to enable the broadcast of', + ' the real-time data and also funds to the ', + 'instrument teams to provide the algorithms for ', + 'processing the real-time data.']) + + return ackn + + +def references(name): + """Define the references for the specified ACE instrument. + + Parameters + ---------- + name : str + Instrument name of the ACE instrument + + Returns + ------- + ref : str + Reference for the ACE instrument paper + + """ + + refs = {'mag': "".join(["'The ACE Magnetic Field Experiment', ", + "C. W. Smith, M. H. Acuna, L. F. Burlaga, ", + "J. L'Heureux, N. F. Ness and J. Scheifele, ", + "Space Sci. Rev., 86, 613-632 (1998)."]), + 'epam': ''.join(['Gold, R. E., S. M. Krimigis, S. E. Hawkins, ', + 'D. K. Haggerty, D. A. Lohr, E. Fiore, ', + 'T. P. Armstrong, G. Holland, L. J. Lanzerotti,', + ' Electron, Proton and Alpha Monitor on the ', + 'Advanced Composition Explorer Spacecraft, ', + 'Space Sci. Rev., 86, 541, 1998.']), + 'swepam': ''.join(['McComas, D., Bame, S., Barker, P. et al. ', + 'Solar Wind Electron Proton Alpha Monitor ', + '(SWEPAM) for the Advanced Composition ', + 'Explorer. Space Sci. Rev., 86, 563–612', + ' (1998). ', + 'https://doi.org/10.1023/A:1005040232597']), + 'sis': ''.join(['Stone, E., Cohen, C., Cook, W. et al. The ', + 'Solar Isotope Spectrometer for the Advanced ', + 'Composition Explorer. Space Sci. Rev., 86, ', + '357–408 (1998). ', + 'https://doi.org/10.1023/A:1005027929871'])} + + if name not in refs.keys(): + raise KeyError('unknown ACE instrument, accepts {:}'.format( + refs.keys())) + + return refs[name] + + +def clean(inst): + """Clean the common aspects of the ACE space weather data. + + Parameters + ---------- + inst : gdm.Instrument + ACE Instrument object + + Returns + ------- + max_status : int + Maximum allowed status + + Note + ---- + gdm Instrument is modified in place + + """ + + if inst.platform != "ace": + raise AttributeError("Can't apply ACE cleaning to platform {:}".format( + inst.platform)) + + # Set the clean level + if inst.clean_level == 'dusty': + gdm.logger.warning("unused clean level 'dusty', reverting to 'clean'") + inst.clean_level = 'clean' + + max_status = 9 + if inst.clean_level == "clean": + max_status = 0 + elif inst.clean_level == "dirty": + max_status = 8 + + return max_status + + +def list_files(name, tag='', inst_id='', data_path='', format_str=None): + """List the local ACE data files. + + Parameters + ---------- + name : str + ACE Instrument name. + tag : str + ACE Instrument tag. (default='') + inst_id : str + Specifies the ACE instrument ID. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + if format_str is None: + format_str = '_'.join(["ace", name, tag, + '{year:04d}-{month:02d}-{day:02d}.txt']) + + files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + + return files + + +def download(date_array, name, tag='', inst_id='', data_path='', now=None, + mock_download_dir=None): + """Download the requested ACE Space Weather data. + + Parameters + ---------- + date_array : array-like + Array of datetime values + name : str + ACE Instrument name. + tag : str + ACE Instrument tag. (default='') + inst_id : str + ACE instrument ID. (default='') + data_path : str + Path to data directory. (default='') + now : dt.datetime or NoneType + Current universal time, if None this is determined for each + download. (default=None) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied or the file format + changes. + + Note + ---- + Called by GeospaceDataMangement. Not intended for direct use by user. + + Warnings + -------- + - Only able to download current real-time data + - File requested not available on server + + """ + # Ensure now is up-to-date, if desired + if now is None: + now = dt.datetime.now(tz=dt.timezone.utc) + + # Define the file information for each data type and check the + # date range + if tag == 'realtime': + file_fmt = "{:s}-{:s}.txt".format("ace", "magnetometer" + if name == "mag" else name) + + if any([len(date_array) > 1, date_array[0].year != now.year, + date_array[0].month != now.month, + date_array[0].day != now.day]): + gdm.logger.warning(''.join(['real-time data only available for ', + 'current day, data in this file will ', + 'have the wrong date.'])) + else: + data_rate = 1 if name in ['mag', 'swepam'] else 5 + file_fmt = '_'.join(["%Y%m%d", "ace", name, + '{:d}m.txt'.format(data_rate)]) + + url = {'realtime': 'https://services.swpc.noaa.gov/text/', + 'historic': 'https://sohoftp.nascom.nasa.gov/sdb/ace/daily/'} + + data_cols = {'mag': ['jd', 'sec', 'status', 'bx_gsm', 'by_gsm', + 'bz_gsm', 'bt_gsm', 'lat_gsm', 'lon_gsm'], + "swepam": ['jd', 'sec', 'status', 'sw_proton_dens', + 'sw_bulk_speed', 'sw_ion_temp'], + "epam": ['jd', 'sec', 'status_e', 'eflux_38-53', + 'eflux_175-315', 'status_p', 'pflux_47-68', + 'pflux_115-195', 'pflux_310-580', + 'pflux_795-1193', 'pflux_1060-1900', 'anis_ind'], + 'sis': ['jd', 'sec', 'status_10', 'int_pflux_10MeV', + 'status_30', 'int_pflux_30MeV']} + + # Cycle through all the dates + for dl_date in date_array: + # Get the file text from the remote or local destination + raw_data = general.get_local_or_remote_text(url[tag], mock_download_dir, + dl_date.strftime(file_fmt)) + + if raw_data is None: + gdm.logger.info("".join(["Data not downloaded for ", + dl_date.strftime(file_fmt), ", date may", + " be out of range for the database or ", + "data may have been saved to an ", + "unexpected filename. Check URL: ", + url[tag], ", or directory: ", + repr(mock_download_dir)])) + else: + # Split the file at the last header line and the new line markers + raw_data = raw_data.split('#-----------------')[-1] + raw_data = raw_data.split('\n')[1:] # Remove the last header line + + # Parse the file, treating the 4 time columns separately + data_dict = {col: list() for col in data_cols[name]} + times = list() + nsplit = len(data_cols[name]) + 4 + for raw_line in raw_data: + split_line = raw_line.split() + if len(split_line) == nsplit: + times.append(dt.datetime.strptime( + ' '.join(split_line[:4]), '%Y %m %d %H%M')) + for i, col in enumerate(data_cols[name]): + # Convert to a number and save + # + # Output is saved as a float, so don't bother to + # differentiate between int and float + data_dict[col].append(float(split_line[4 + i])) + else: + if len(split_line) > 0: + raise IOError(''.join([ + 'unexpected line encoutered in ', url[tag], "/", + dl_date.strftime(file_fmt), ":\n", raw_line])) + + # Put data into nicer DataFrame + data = pds.DataFrame(data_dict, index=times) + + # Write out as a file + data_file = '{:s}.txt'.format( + '_'.join(["ace", name, tag, dl_date.strftime('%Y-%m-%d')])) + data.to_csv(os.path.join(data_path, data_file), header=True) + + return + + +def common_metadata(unit_label='units', name_label='name', note_label='notes', + desc_label='desc', fill_label='fill_val', + min_label='min_val', max_label='max_val'): + """Define the common metadata information for all ACE instruments. + + Parameters + ---------- + unit_label : str + Label for unit meta data + name_label : str + Label for name meta data + note_label : str + Label for note meta data + desc_label : str + Label for description meta data + fill_label : str + Label for fill value meta data + min_label : str + Label for minimum value meta data + max_label : str + Label for maximum value meta data + + Returns + ------- + meta_dict : dict + Dict with meta data + status_desc : str + Description of the status flags + + """ + # Define the Julian day and seconds of day + meta_dict = {'jd': {unit_label: 'days', name_label: 'MJD', note_label: '', + desc_label: 'Modified Julian Day', fill_label: np.nan, + min_label: -np.inf, max_label: np.inf}, + 'sec': {unit_label: 's', name_label: 'Sec of Day', + note_label: '', desc_label: 'Seconds of Julian Day', + fill_label: np.nan, min_label: -np.inf, + max_label: np.inf}} + + # Provide information about the status flags + status_desc = '0 = nominal data, 1 to 8 = bad data record, 9 = no data' + + return meta_dict, status_desc + + +def ace_swepam_hourly_omni_norm(as_inst, speed_key='sw_bulk_speed', + dens_key='sw_proton_dens', + temp_key='sw_ion_temp', note_label='note'): + """Normalize ACE SWEPAM variables as described in the OMNI processing _[1]. + + Parameters + ---------- + as_inst : gdm.Instrument + Instrument object with ACE SWEPAM data. + speed_key : str + Data key for bulk solar wind speed data in km/s + (default='sw_bulk_speed') + dens_key : str + Data key for solar wind proton density data in P/cm^3 + (default='sw_proton_dens') + temp_key : str + Data key for solar wind ion temperature data in K + (default='sw_ion_temp') + note_label : str + Meta data label for notes (default='note') + + References + ---------- + [1] https://omniweb.gsfc.nasa.gov/html/omni_min_data.html + + """ + + # Check the input to make sure all the necessary data variables are present + for var in [speed_key, dens_key, temp_key]: + if var not in as_inst.variables: + raise ValueError('instrument missing variable: {:}'.format(var)) + + # Let yt be the fractional years since 1998.0 + yt = np.array([gdm.utils.time.datetime_to_dec_year(itime) - 1998.0 + for itime in as_inst.index]) + + # The normalization depends on the year + yt_dens = (yt >= 2019.0) & (yt <= 2021.0) + yt_temp = (yt >= 2019.0) & (yt <= 2020.0) + + # Get the masks for the different velocity limits + ilow = as_inst[speed_key] < 395 + imid = (as_inst[speed_key] >= 395) & (as_inst[speed_key] <= 405) + ihigh = as_inst[speed_key] > 405 + + # Calculate the normalized plasma density + norm_n = np.array(as_inst[dens_key]) + norm_n[ilow] *= (0.925 + 0.0039 * yt[ilow]) + norm_n[imid] *= (74.02 - 0.164 * as_inst[speed_key][imid] + + 0.0171 * as_inst[speed_key][imid] * yt[imid] + - 6.72 * yt[imid]) / 10.0 + norm_n[ihigh] *= (0.761 + 0.0210 * yt[ihigh]) + + # Overwrite the calculation for the year where velocity isn't important + norm_n[yt_dens] = np.power(10.0, -0.010 + 1.006 + * np.log10(as_inst[dens_key][yt_dens])) + + # Normalize the temperature + norm_t = np.array(as_inst[temp_key]) + norm_t[~yt_temp] = np.power(10.0, + -0.069 + 1.024 * np.log10(norm_t[~yt_temp])) + norm_t[yt_temp] = np.power(10.0, + 0.266 + 0.947 * np.log10(norm_t[yt_temp])) + + # Update the instrument data + as_inst['sw_proton_dens_norm'] = pds.Series(norm_n, index=as_inst.index) + as_inst['sw_ion_temp_norm'] = pds.Series(norm_t, index=as_inst.index) + + # Add meta data + for dkey in [dens_key, temp_key]: + nkey = '{:s}_norm'.format(dkey) + note = ''.join([ + 'Normalized for hourly OMNI as described in ', + 'https://omniweb.gsfc.nasa.gov/html/omni_min_data.html']) + + as_inst[nkey].attrs.update({note_label: note}) + + return diff --git a/GeospaceDataManagement/instruments/sw_methods/auroral_electrojet.py b/GeospaceDataManagement/instruments/sw_methods/auroral_electrojet.py new file mode 100644 index 0000000..e645aaf --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/auroral_electrojet.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: A +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Provides support routines for auroral electrojet indices.""" + + +def acknowledgements(name, tag): + """Define the acknowledgements for the index and data source. + + Parameters + ---------- + name : str + Name of the auroral electrojet index + tag : str + Tag of the auroral electrojet index + + Returns + ------- + ackn : str + Acknowledgements string associated with the appropriate auroral + electrojet tag. + + """ + + ackn = {'lasp': ''.join(['Preliminary ', name.upper(), ' predictions are ', + 'provided by LASP, contact Xinlin Li for more ', + 'details '])} + + return ackn[tag] + + +def references(name, tag): + """Define the references for the auroral electrojet data. + + Parameters + ---------- + name : str + Name of the auroral electrojet index + tag : string + Tag of the space weather index + + Returns + ------- + refs : str + Reference string associated with the appropriate Dst tag. + + """ + + davis = ''.join(['Davis, T. N., and Sugiura, M. (1966), Auroral electrojet', + ' activity index AE and its universal time variations, ', + 'J. Geophys. Res., 71( 3), 785– 801, ', + 'doi:10.1029/JZ071i003p00785.']) + + luo_au_al_ae = ''.join(['Luo, B., Li, X., Temerin, M., and Liu, S. (2013),', + 'Prediction of the AU, AL, and AE indices using ', + 'solar wind parameters, J. Geophys. Res. Space ', + 'Physics, 118, 7683– 7694, ', + 'doi:10.1002/2013JA019188.']) + li_al = ''.join(['Li, X., Oh, K. S., and Temerin, M. (2007), Prediction ', + 'of the AL index using solar wind parameters, J. ', + 'Geophys. Res., 112, A06224, doi:10.1029/2006JA011918.']) + + refs = {'lasp': {'ae': '\n'.join([davis, luo_au_al_ae]), + 'au': '\n'.join([davis, luo_au_al_ae]), + 'al': '\n'.join([davis, li_al, luo_au_al_ae])}} + + return refs[tag][name] diff --git a/GeospaceDataManagement/instruments/sw_methods/dst.py b/GeospaceDataManagement/instruments/sw_methods/dst.py new file mode 100644 index 0000000..6324459 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/dst.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Provides default routines for Dst.""" + + +def acknowledgements(tag): + """Define the acknowledgements for the Dst data. + + Parameters + ---------- + tag : str + Tag of the space weather index + + Returns + ------- + ackn : str + Acknowledgements string associated with the appropriate Dst tag. + + """ + + ackn = {'noaa': 'Dst is maintained at NCEI (formerly NGDC) at NOAA', + 'lasp': ''.join(['Preliminary Dst predictions are provided by ', + 'LASP, contact Xinlin Li for more details ', + ''])} + + return ackn[tag] + + +def references(tag): + """Define the references for the Dst data. + + Parameters + ---------- + tag : string + Tag of the space weather index + + Returns + ------- + refs : str + Reference string associated with the appropriate Dst tag. + + """ + + refs = {'noaa': ''.join(['See referenece list and publication at: ', + 'Sugiura M. and T. Kamei, http://', + 'wdc.kugi.kyoto-u.ac.jp/dstdir/dst2/', + 'onDstindex.html, last updated June 1991, ', + 'accessed Dec 2020']), + 'lasp': ''.join(['A New Model for the Prediction of Dst on the ', + 'Basis of the Solar Wind [Temerin and Li, 2002] ', + 'and Dst model for 1995-2002 [Temerin and Li, ', + '2006]'])} + + return refs[tag] diff --git a/GeospaceDataManagement/instruments/sw_methods/f107.py b/GeospaceDataManagement/instruments/sw_methods/f107.py new file mode 100644 index 0000000..5bf333b --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/f107.py @@ -0,0 +1,427 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Routines for the F10.7 solar index.""" + +import datetime as dt +import numpy as np + +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods.general import is_fill_val + + +def acknowledgements(tag): + """Define the acknowledgements for the F10.7 data. + + Parameters + ---------- + tag : str + Tag of the space weather index + + Returns + ------- + ackn : str + Acknowledgements string associated with the appropriate F10.7 tag. + + """ + lisird = 'NOAA radio flux obtained through LISIRD' + swpc = ''.join(['Prepared by the U.S. Dept. of Commerce, NOAA, Space ', + 'Weather Prediction Center']) + + ackn = {'historic': lisird, 'prelim': swpc, 'daily': swpc, + 'forecast': swpc, '45day': swpc, + 'now': gdm.instruments.sw_methods.gfz.ackn} + + return ackn[tag] + + +def references(tag): + """Define the references for the F10.7 data. + + Parameters + ---------- + tag : str + Instrument tag for the F10.7 data. + + Returns + ------- + refs : str + Reference string associated with the appropriate F10.7 tag. + + """ + noaa_desc = ''.join(['Dataset description: ', + 'https://www.ngdc.noaa.gov/stp/space-weather/', + 'solar-data/solar-features/solar-radio/noontime-flux', + '/penticton/documentation/dataset-description', + '_penticton.pdf, accessed Dec 2020']) + orig_ref = ''.join(["Covington, A.E. (1948), Solar noise observations on", + " 10.7 centimetersSolar noise observations on 10.7 ", + "centimeters, Proceedings of the IRE, 36(44), ", + "p 454-457."]) + swpc_desc = ''.join(['Dataset description: https://www.swpc.noaa.gov/', + 'sites/default/files/images/u2/Usr_guide.pdf']) + gfz_desc = ''.join(['Dataset description: https://kp.gfz-potsdam.de/app/', + 'format/Kp_ap_Ap_SN_F107_format.txt']) + + refs = {'historic': "\n".join([noaa_desc, orig_ref]), + 'prelim': "\n".join([swpc_desc, orig_ref]), + 'now': "\n".join([gfz_desc, orig_ref]), + 'daily': "\n".join([swpc_desc, orig_ref]), + 'forecast': "\n".join([swpc_desc, orig_ref]), + '45day': "\n".join([swpc_desc, orig_ref])} + + return refs[tag] + + +def combine_f107(standard_inst, forecast_inst, start=None, stop=None, + note_label='notes', fill_label='fill_val'): + """Combine the output from the measured and forecasted F10.7 sources. + + Parameters + ---------- + standard_inst : gdm.Instrument or NoneType + Instrument object containing data for the 'sw' platform, 'f107' name, + and 'historic', 'prelim', 'now', or 'daily' tag + forecast_inst : gdm.Instrument or NoneType + Instrument object containing data for the 'sw' platform, 'f107' name, + and 'now', 'prelim', '45day' or 'forecast' tag + start : dt.datetime or NoneType + Starting time for combining data, or None to use earliest loaded + date from the gdm Instruments (default=None) + stop : dt.datetime or NoneType + Ending time for combining data, or None to use the latest loaded date + from the gdm Instruments (default=None) + note_label : str + Meta label for notes (default='notes') + fill_label : str + Meta label for fill value (default='fill_val') + + Returns + ------- + f107_inst : gdm.Instrument + Instrument object containing F10.7 observations for the desired period + of time, merging the standard, 45day, and forecasted values based on + their reliability + + Raises + ------ + ValueError + If appropriate time data is not supplied, or if the date range is badly + formed. + + Notes + ----- + Merging prioritizes the standard data, then the 45day data, and finally + the forecast data. + + Will not attempt to download any missing data, but will load data. + + If no data is present, but dates are provided, supplies a series of fill + values. + + """ + + # Initialize metadata and flags + notes = "Combines data from" + stag = standard_inst.tag if len(standard_inst.tag) > 0 else 'default' + tag = 'combined_{:s}_{:s}'.format(stag, forecast_inst.tag) + inst_flag = 'standard' + + # If the start or stop times are not defined, get them from the Instruments + if start is None: + stimes = [inst.index.min() for inst in [standard_inst, forecast_inst] + if len(inst.index) > 0] + start = min(stimes) if len(stimes) > 0 else None + + if stop is None: + stimes = [inst.index.max() for inst in [standard_inst, forecast_inst] + if len(inst.index) > 0] + stop = max(stimes) + pds.DateOffset(days=1) if len(stimes) > 0 else None + + if start is None or stop is None: + raise ValueError(' '.join(("must either load in Instrument objects or", + "provide starting and ending times"))) + + if start >= stop: + raise ValueError("date range is zero or negative") + + # Initialize the output instrument + f107_inst = gdm.Instrument() + f107_inst.inst_module = gdm.instruments.sw_f107 + f107_inst.tag = tag + f107_inst.date = start + f107_inst.doy = np.int64(start.strftime("%j")) + fill_val = None + + f107_times = list() + f107_values = list() + + # Cycle through the desired time range + itime = dt.datetime(start.year, start.month, start.day) + while itime < stop and inst_flag is not None: + # Load and save the standard data for as many times as possible + if inst_flag == 'standard': + # Test to see if data loading is needed + if not np.any(standard_inst.index == itime): + # Set the load kwargs, which vary by GeospaceDataManagement + # version and tag + load_kwargs = {'date': itime} + + if standard_inst.tag == 'daily': + # Add 30 days + load_kwargs['date'] += dt.timedelta(days=30) + + standard_inst.load(**load_kwargs) + + if standard_inst.empty: + good_times = [False] + else: + good_times = ((standard_inst.index >= itime) + & (standard_inst.index < stop)) + + if notes.find("standard") < 0: + notes += " the {:} source ({:} to ".format(inst_flag, + itime.date()) + + if np.any(good_times): + if fill_val is None: + f107_inst.data.attrs.update(standard_inst.data.attrs) + for var in standard_inst.variables: + f107_inst[var].attrs.update(standard_inst[var].attrs) + + fill_val = f107_inst['f107'].attrs[fill_label] + + good_vals = np.array([not is_fill_val(val, fill_val) for val + in standard_inst['f107'][good_times]]) + new_times = list(standard_inst.index[good_times][good_vals]) + else: + new_times = [] + + if len(new_times) > 0: + f107_times.extend(new_times) + new_vals = list(standard_inst['f107'][good_times][good_vals]) + f107_values.extend(new_vals) + itime = f107_times[-1] + pds.DateOffset(days=1) + else: + inst_flag = 'forecast' + notes += "{:})".format(itime.date()) + + # Load and save the forecast data for as many times as possible + if inst_flag == "forecast": + # Determine which files should be loaded + if len(forecast_inst.index) == 0: + if len(forecast_inst.files.files) > 0: + files = np.unique(forecast_inst.files.files[itime:stop]) + else: + files = [None] # No load, because no files are available + else: + files = [None] # No load needed, if already initialized + + # Cycle through all possible files of interest, saving relevant + # data + for filename in files: + if filename is not None: + forecast_inst.load(fname=filename) + + if notes.find("forecast") < 0: + notes += " the {:} source ({:} to ".format(inst_flag, + itime.date()) + + # Determine which times to save + if forecast_inst.empty: + good_vals = [] + else: + # Check in case there was a problem with the standard data + if fill_val is None: + f107_inst.data.attrs.update(forecast_inst.data.attrs) + for var in forecast_inst.variables: + if var in f107_inst.variables: + f107_inst[var].attrs.update( + forecast_inst[var].attrs) + + fill_val = f107_inst['f107'].attrs[fill_label] + + # Get the good times and values + good_times = ((forecast_inst.index >= itime) + & (forecast_inst.index < stop)) + good_vals = np.array([ + not is_fill_val(val, fill_val) for val + in forecast_inst['f107'][good_times]]) + + # Save desired data and cycle time + if len(good_vals) > 0: + new_times = list(forecast_inst.index[good_times][ + good_vals]) + f107_times.extend(new_times) + new_vals = list( + forecast_inst['f107'][good_times][good_vals]) + f107_values.extend(new_vals) + itime = f107_times[-1] + pds.DateOffset(days=1) + + notes += "{:})".format(itime.date()) + + inst_flag = None + + if inst_flag is not None: + notes += "{:})".format(itime.date()) + + # Determine if the beginning or end of the time series needs to be padded + if len(f107_times) >= 2: + freq = gdm.utils.time.calc_freq(f107_times) + else: + freq = None + end_date = stop - pds.DateOffset(days=1) + date_range = pds.date_range(start=start, end=end_date, freq=freq) + + if len(f107_times) == 0: + f107_times = date_range + + if date_range[0] < f107_times[0]: + # Extend the time and value arrays from their beginning with fill + # values + itime = abs(date_range - f107_times[0]).argmin() + f107_times.reverse() + f107_values.reverse() + extend_times = list(date_range[:itime]) + extend_times.reverse() + f107_times.extend(extend_times) + f107_values.extend([fill_val for kk in extend_times]) + f107_times.reverse() + f107_values.reverse() + + if date_range[-1] > f107_times[-1]: + # Extend the time and value arrays from their end with fill values + itime = abs(date_range - f107_times[-1]).argmin() + 1 + extend_times = list(date_range[itime:]) + f107_times.extend(extend_times) + f107_values.extend([fill_val for kk in extend_times]) + + # Save output data + f107_inst.data = pds.DataFrame(f107_values, columns=['f107'], + index=f107_times) + + # Resample the output data, filling missing values + if (date_range.shape != f107_inst.index.shape + or abs(date_range - f107_inst.index).max().total_seconds() > 0.0): + f107_inst.data = f107_inst.data.resample(freq).asfreq() + if np.isfinite(fill_val): + f107_inst.data[np.isnan(f107_inst.data)] = fill_val + + # Update the metadata notes for this procedure + notes += ", in that order" + f107_inst['f107'].attrs.update({note_label: notes}) + + return f107_inst + + +def calc_f107a(f107_inst, f107_name='f107', f107a_name='f107a', min_pnts=41): + """Calculate the 81 day mean F10.7. + + Parameters + ---------- + f107_inst : gdm.Instrument + Instrument holding the F10.7 data + f107_name : str + Data column name for the F10.7 data (default='f107') + f107a_name : str + Data column name for the F10.7a data (default='f107a') + min_pnts : int + Minimum number of points required to calculate an average (default=41) + + Note + ---- + Will not pad data on its own + + """ + + # Test to see that the input data is present + if f107_name not in f107_inst.data.columns: + raise ValueError("unknown input data column: " + f107_name) + + # Test to see that the output data does not already exist + if f107a_name in f107_inst.data.columns: + raise ValueError("output data column already exists: " + f107a_name) + + if f107_name in f107_inst.meta: + fill_val = f107_inst.meta[f107_name][f107_inst.meta.labels.fill_val] + else: + fill_val = np.nan + + # Calculate the rolling mean. Since these values are centered but rolling + # function doesn't allow temporal windows to be calculated this way, create + # a hack for this. + # + # Ensure the data are evenly sampled at a daily frequency, since this is + # how often F10.7 is calculated. + f107_fill = f107_inst.data.resample('1D').asfreq() + + # Replace the time index with an ordinal + time_ind = f107_fill.index + f107_fill['ord'] = pds.Series([tt.toordinal() for tt in time_ind], + index=time_ind) + f107_fill.set_index('ord', inplace=True) + + # Calculate the mean + f107_fill[f107a_name] = f107_fill[f107_name].rolling(window=81, + min_periods=min_pnts, + center=True).mean() + + # Replace the ordinal index with the time + f107_fill['time'] = pds.Series(time_ind, index=f107_fill.index) + f107_fill.set_index('time', inplace=True) + + # Resample to the original frequency, if it is not equal to 1 day + freq = gdm.utils.time.calc_freq(f107_inst.index) + if freq != "86400s": + # Resample to the desired frequency + f107_fill = f107_fill.resample(freq).ffill() + + # Save the output in a list + f107a = list(f107_fill[f107a_name]) + + # Fill any dates that fall just outside of the range + time_ind = pds.date_range(f107_fill.index[0], f107_inst.index[-1], + freq=freq) + for itime in time_ind[f107_fill.index.shape[0]:]: + if (itime - f107_fill.index[-1]).total_seconds() < 86400.0: + f107a.append(f107a[-1]) + else: + f107a.append(fill_val) + + # Redefine the Series + f107_fill = pds.DataFrame({f107a_name: f107a}, index=time_ind) + + # There may be missing days in the output data, remove these + if f107_inst.index.shape < f107_fill.index.shape: + f107_fill = f107_fill.loc[f107_inst.index] + + # Save the data + f107_inst[f107a_name] = f107_fill[f107a_name] + + # Update the metadata + meta_dict = {f107_inst.meta.labels.units: 'SFU', + f107_inst.meta.labels.name: 'F10.7a', + f107_inst.meta.labels.desc: "81-day centered average of F10.7", + f107_inst.meta.labels.min_val: 0.0, + f107_inst.meta.labels.max_val: np.nan, + f107_inst.meta.labels.fill_val: fill_val, + f107_inst.meta.labels.notes: + ' '.join(('Calculated using data between', + '{:} and {:}'.format(f107_inst.index[0], + f107_inst.index[-1])))} + + f107_inst.meta[f107a_name] = meta_dict + + return diff --git a/GeospaceDataManagement/instruments/sw_methods/general.py b/GeospaceDataManagement/instruments/sw_methods/general.py new file mode 100644 index 0000000..881573e --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/general.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Provides routines that support general space weather instruments.""" + +import importlib +import numpy as np +import os +import requests + +import GeospaceDataManagement as gdm + + +def preprocess_fill(inst, fill_label='fill_val'): + """Preprocess the meta data by replacing the file fill values with NaN. + + Parameters + ---------- + inst : gdm.Instrument + gdm.Instrument object + fill_label : str + Meta label for fill values + + """ + + # Replace all fill values with NaN + for col in inst.variables: + fill_val = inst[col].attrs[fill_label] + + # Ensure we are dealing with a float for future nan comparison + if isinstance(fill_val, np.floating) or isinstance(fill_val, float): + if ~np.isnan(fill_val): + inst.data[col] = inst.data[col].replace(fill_val, np.nan) + inst[col].attrs[fill_label] = np.nan + + return + + +def get_instrument_data_path(inst_mod_name, tag='', inst_id='', **kwargs): + """Get the `data_path` attribute from an Instrument sub-module. + + Parameters + ---------- + inst_mod_name : str + Instrument module name + tag : str + String specifying the Instrument tag (default='') + inst_id : str + String specifying the instrument identification (default='') + kwargs : dict + Optional additional kwargs that may be used to initialize an Instrument + + Returns + ------- + data_path : str + Path where the Instrument data is stored + + """ + # Import the desired instrument module by name + inst_mod = importlib.import_module(".".join(["GeospaceDataManagement", + "instruments", inst_mod_name])) + + # Initialize a temporary instrument to obtain the object configuration + temp_inst = gdm.Instrument(inst_module=inst_mod, tag=tag, inst_id=inst_id, + **kwargs) + + # Save the data path for this Instrument down to the inst_id level + data_path = temp_inst.files.data_path + + # Delete the temporary instrument + del temp_inst + + return data_path + + +def get_local_or_remote_text(url, mock_download_dir, filename): + """Retrieve text from a remote or local file. + + Parameters + ---------- + filename : str + Filename without any directory structure + url : str + Remote URL where file is located + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Returns + ------- + raw_txt : str or NoneType + All the text from the desired file or None if the file could not be + retrieved + + Raises + ------ + IOError + If an unknown mock download directory is supplied. + + """ + if mock_download_dir is None: + # Set the download webpage + furl = ''.join([url, filename]) + req = requests.get(furl) + + if req.text.find('not found on this server') > 0: + # Ensure useful information about server is passed on to user + gdm.logger.warning('File {:} not found: {:}'.format(filename, url)) + raw_txt = None + else: + raw_txt = req.text if req.ok else None + else: + if not os.path.isdir(mock_download_dir): + raise IOError('file location is not a directory: {:}'.format( + mock_download_dir)) + + furl = os.path.join(mock_download_dir, filename) + + if os.path.isfile(furl): + with open(furl, 'r') as fpin: + raw_txt = fpin.read() + else: + raw_txt = None + + return raw_txt diff --git a/GeospaceDataManagement/instruments/sw_methods/gfz.py b/GeospaceDataManagement/instruments/sw_methods/gfz.py new file mode 100644 index 0000000..aa325d3 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/gfz.py @@ -0,0 +1,432 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Provides routines that support GFZ space weather instruments.""" + +import datetime as dt +import json +import numpy as np +import os +import pandas as pds +import requests + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods import general + +# ---------------------------------------------------------------------------- +# Define the module variables + +ackn = ''.join(['CC BY 4.0, This index is produced by the Geomagnetic ', + 'Observatory Niemegk, GFZ German Research Centre for ', + 'Geosciences. Please cite the references in the ', + "'references' attribute"]) +geoind_refs = '\n'.join([''.join(["Bartels, J. (1949) - The standardized index", + "Ks and the planetary index Kp, IATME ", + "Bulletin 12b, 97."]), + ''.join(["Matzka, J., Bronkalla, O., Tornow, K., ", + "Elger, K. and Stolle, C., 2021. ", + "Geomagnetic Kp index. V. 1.0. GFZ Data ", + "Services, doi:10.5880/Kp.0001"]), + ''.join(["Matzka, J., Stolle, C., Yamazaki, Y., ", + "Bronkalla, O. and Morschhauser, A., 2021. ", + "The geomagnetic Kp index and derived ", + "indices of geomagnetic activity. Space ", + "Weather,doi:10.1029/2020SW002641"])]) +hpo_refs = '\n'.join([''.join(["Yamazaki, Y., Matzka, J., Stolle, C., ", + "Kervalishvili, G., Rauberg, J., Bronkalla, O.,", + " Morschhauser, A., Bruinsma, S., Shprits, ", + "Y.Y., Jackson, D.R., 2022. Geomagnetic ", + "Activity Index Hpo. Geophys. Res. Lett., 49, ", + "e2022GL098860, doi:10.1029/2022GL098860"]), + ''.join(["Matzka, J., Bronkalla, O., Kervalishvili, G.,", + " Rauberg, J. and Yamazaki, Y., 2022. ", + "Geomagnetic Hpo index. V. 2.0. GFZ Data ", + "Services, doi:10.5880/Hpo.0002"])]) + + +# ---------------------------------------------------------------------------- +# Define the module functions + +def json_downloads(date_array, data_path, local_file_prefix, local_date_fmt, + gfz_data_name, freq, update_files=False, is_def=False, + mock_download_dir=None): + """Download data from GFZ into CSV files at a specified cadence. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + data_path : str + Path to data directory. + local_file_prefix : str + Prefix for local files, e.g., 'tag_' or 'tag_monthly_' + local_date_fmt : str + String format for the local filename, e.g., '%Y-%m-%d' or '%Y-%m' + gfz_data_name : str + Name of the data index on the GFZ server, expects one of: 'Kp', 'ap', + 'Ap', 'Cp', 'C9', 'Hp30', 'Hp60', 'ap30', 'ap60', 'SN', 'Fobs', 'Fadj' + where SN is the international sunspot number and Fxxx is the observed + and adjusted F10.7. + freq : pds.DateOffset or dt.timedelta + Offset to add to the start date to ensure all data is downloaded + (inclusive) + update_files : bool + Re-download data for files that already exist if True (default=False) + is_def : bool + If true, selects only the definitive data, otherwise also includes + nowcast data (default=False) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date (following the local + file prefix and date format) as if they were downloaded (default=None) + + Raises + ------ + IOError + If there is a gateway timeout when downloading data or if an unknown + mock download directory is supplied. + + """ + + # If a mock download directory was supplied, test to see it exists + if mock_download_dir is not None: + if not os.path.isdir(mock_download_dir): + raise IOError('file location is not a directory: {:}'.format( + mock_download_dir)) + + # Set the local variables + base_url = "https://kp.gfz.de/app/json/" + time_fmt = "%Y-%m-%dT%H:%M:%SZ" + last_file = '' + + # Cycle through all the dates + for dl_date in date_array: + # Build the local filename + local_fname = ''.join([local_file_prefix, + dl_date.strftime(local_date_fmt), '.txt']) + local_file = os.path.join(data_path, local_fname) + + # Determine if the download should occur + if not os.path.isfile(local_file) or (update_files + and local_file != last_file): + if mock_download_dir is None: + # Get the URL for the desired data + stop = dl_date + freq + query_url = "{:s}?start={:s}&end={:s}&index={:s}".format( + base_url, dl_date.strftime(time_fmt), + stop.strftime(time_fmt), gfz_data_name) + + if is_def: + # Add the definitive flag + query_url = '{:s}&status=def'.format(query_url) + + # The data is returned as a JSON file + req = requests.get(query_url, verify=False) + + # Process the JSON file + if req.text.find('Gateway Timeout') >= 0: + raise IOError(''.join(['Gateway timeout when requesting ', + 'file using command: ', query_url])) + + raw_txt = req.text if req.ok else None + else: + # Get the text from the downloaded file + query_url = os.path.join(mock_download_dir, local_fname) + if os.path.isfile(query_url): + with open(query_url, 'r') as fpin: + raw_txt = fpin.read() + else: + raw_txt = None + + if raw_txt is not None: + raw_dict = json.loads(raw_txt) + data = pds.DataFrame.from_dict({gfz_data_name: + raw_dict[gfz_data_name]}) + if data.empty: + gdm.logger.warning("no data for {:}".format(dl_date)) + else: + # Convert the datetime strings to datetime objects + time_list = [dt.datetime.strptime(time_str, time_fmt) + for time_str in raw_dict['datetime']] + + # Add the time index + data.index = time_list + + # Create a local CSV file + data.to_csv(local_file, header=True) + else: + gdm.logger.info("".join(["Data not downloaded for ", + dl_date.strftime("%d %b %Y"), + ", date may be out of range ", + "for the database or data may ", + "have been saved to an unexpected", + " filename: {:}".format(query_url)])) + return + + +def kp_ap_cp_download(platform, name, date_array, tag, inst_id, data_path, + mock_download_dir=None): + """Download Kp, ap, and Cp data from GFZ. + + Parameters + ---------- + platform : str + Instrument platform. + name : str + Instrument name. + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + tag : str + String specifying the database, expects 'def' (definitive) or 'now' + (nowcast) + inst_id : str + Specifies the instrument identification, not used. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date (following the local + file prefix and date format) as if they were downloaded (default=None) + + Raises + ------ + ValueError + If an unknown instrument module is supplied. + IOError + If an unknown mock download directory is supplied. + + Note + ---- + Note that the download path for the complementary Instrument will use + the standard GeospaceDataManagement data paths + + """ + # If a mock download directory was supplied, test to see it exists + if mock_download_dir is not None: + if not os.path.isdir(mock_download_dir): + raise IOError('file location is not a directory: {:}'.format( + mock_download_dir)) + + # Set the page for the definitive or nowcast Kp + burl = ''.join(['https://datapub.gfz.de/download/10.5880.Kp.0001', + '/Kp_', 'nowcast' if tag == 'now' else 'definitive', '/']) + data_cols = ['Bartels_solar_rotation_num', 'day_within_Bartels_rotation', + 'Kp', 'daily_Kp_sum', 'ap', 'daily_Ap', 'Cp', 'C9'] + hours = np.arange(0, 24, 3) + kp_translate = {'0': 0.0, '3': 1.0 / 3.0, '7': 2.0 / 3.0} + dnames = list() + + inst_cols = {'sw_kp': [0, 1, 2, 3], 'sw_cp': [0, 1, 6, 7], + 'sw_ap': [0, 1, 4, 5]} + + # Construct the Instrument module name from the platform and name + inst_mod_name = '_'.join([platform, name]) + if inst_mod_name not in inst_cols.keys(): + raise ValueError('Unknown Instrument module {:}, expected {:}'.format( + inst_mod_name, inst_cols.keys())) + + data_paths = {inst_mod: data_path if inst_mod == inst_mod_name else + general.get_instrument_data_path(inst_mod, tag=tag, + inst_id=inst_id) + for inst_mod in inst_cols.keys()} + + # Check that the directories exist + for data_path in data_paths.values(): + gdm.utils.files.check_and_make_path(data_path) + + # Cycle through all the times + for dl_date in date_array: + fname = 'Kp_{:s}{:04d}.wdc'.format(tag, dl_date.year) + if fname not in dnames: + gdm.logger.info(' '.join(('Downloading file for', + dl_date.strftime('%Y')))) + if mock_download_dir is None: + furl = ''.join([burl, fname]) + req = requests.get(furl, verify=False) + + raw_txt = req.text if req.ok else None + else: + furl = os.path.join(mock_download_dir, fname) + if os.path.isfile(furl): + with open(furl, "r") as fpin: + raw_txt = fpin.read() + else: + raw_txt = None + + if raw_txt is not None: + # Split the file text into lines + lines = raw_txt.split('\n')[:-1] + + # Remove the header + while lines[0].find('#') == 0: + lines.pop(0) + + # Process the data lines + ddict = {dkey: list() for dkey in data_cols} + times = list() + for line in lines: + ldate = dt.datetime.strptime(' '.join([ + "{:02d}".format(int(dd)) for dd in + [line[:2], line[2:4], line[4:6]]]), "%y %m %d") + bsr_num = int(line[6:10]) + bsr_day = int(line[10:12]) + if line[28:30] == ' ': + kp_ones = 0.0 + else: + kp_ones = float(line[28:30]) + sum_kp = kp_ones + kp_translate[line[30]] + daily_ap = int(line[55:58]) + cp = float(line[58:61]) + c9 = int(line[61]) + + for i, hour in enumerate(hours): + # Set the time for this hour and day + times.append(ldate + dt.timedelta(hours=int(hour))) + + # Set the daily values for this hour + ddict['Bartels_solar_rotation_num'].append(bsr_num) + ddict['day_within_Bartels_rotation'].append(bsr_day) + ddict['daily_Kp_sum'].append(sum_kp) + ddict['daily_Ap'].append(daily_ap) + ddict['Cp'].append(cp) + ddict['C9'].append(c9) + + # Get the hourly-specific values + ikp = i * 2 + kp_ones = line[12 + ikp] + if kp_ones == ' ': + kp_ones = 0.0 + ddict['Kp'].append(np.float64(kp_ones) + + kp_translate[line[13 + ikp]]) + iap = i * 3 + ddict['ap'].append(np.int64(line[31 + iap:34 + iap])) + + # Put data into nicer DataFrames + for inst_mod in inst_cols.keys(): + sel_cols = np.array(data_cols)[inst_cols[inst_mod]] + sel_dict = {col: ddict[col] for col in sel_cols} + data = pds.DataFrame(sel_dict, index=times, + columns=sel_cols) + + # Write out as a CSV file + sfname = fname.replace('Kp', + inst_mod.split('_')[-1].capitalize()) + saved_fname = os.path.join(data_paths[inst_mod], + sfname).replace('.wdc', '.txt') + data.to_csv(saved_fname, header=True) + + # Record the filename so we don't download it twice + dnames.append(fname) + else: + gdm.logger.info("".join(["Unable to download data for ", + dl_date.strftime("%d %b %Y"), + ", date may be out of range for ", + "the database or data may have been", + " saved to an unexpected filename: ", + furl])) + return + + +def kp_ap_cp_list_files(name, tag, inst_id, data_path, format_str=None): + """List local files for Kp, ap, or Cp data obtained from GFZ. + + Parameters + ---------- + name : str + Instrument name. + tag : str + String specifying the database, expects 'def' (definitive) or 'now' + (nowcast) + inst_id : str + Specifies the instrument identification, not used. + data_path : str + Path to data directory. + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm._files.Files + A class containing the verified available files + + """ + + if format_str is None: + format_str = ''.join(['_'.join([name.capitalize(), tag]), + '{year:04d}.txt']) + + # Files are stored by year, going to add a date to the yearly filename for + # each month and day of month. The load routine will load the year and use + # the append date to select out approriate data. + files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + if not files.empty: + files.loc[files.index[-1] + + pds.DateOffset(years=1, days=-1)] = files.iloc[-1] + files = files.asfreq('D', 'pad') + files = files + '_' + files.index.strftime('%Y-%m-%d') + + return files + + +def load_def_now(fnames): + """Load GFZ yearly definitive or nowcast index data. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + + Returns + ------- + data : pandas.DataFrame + Object containing satellite data + + """ + + # Load the definitive or nowcast data. The GFZ index data are stored in + # yearly or monthly files that are separated by index ondownload. We need + # to return data daily. The daily date is attached to filename. Parse off + # the last date, load all data, and downselect to the desired day + unique_fnames = dict() + for filename in fnames: + fname = filename[0:-11] + fdate = dt.datetime.strptime(filename[-10:], '%Y-%m-%d') + if fname not in unique_fnames.keys(): + unique_fnames[fname] = [fdate] + else: + unique_fnames[fname].append(fdate) + + # Load the desired filenames + all_data = [] + for fname in unique_fnames.keys(): + # The daily date is attached to the filename. Parse off the last + # date, load the year of data, downselect to the desired day + fdate = min(unique_fnames[fname]) + temp = pds.read_csv(fname, index_col=0, parse_dates=True) + + if temp.empty: + gdm.logger.warn('Empty file: {:}'.format(fname)) + continue + + # Select the desired times and add to data list + all_data.append(pds.DataFrame(temp[fdate:max(unique_fnames[fname]) + + dt.timedelta(seconds=86399)])) + + # Combine data together + if len(all_data) > 0: + data = pds.concat(all_data, axis=0, sort=True) + else: + data = pds.DataFrame() + + return data diff --git a/GeospaceDataManagement/instruments/sw_methods/kp_ap.py b/GeospaceDataManagement/instruments/sw_methods/kp_ap.py new file mode 100644 index 0000000..adc5154 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/kp_ap.py @@ -0,0 +1,865 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Provides routines to support the geomagnetic indices, Kp and Ap.""" + +import datetime as dt +import numpy as np +import pandas as pds +import xarray as xr + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods import general +from GeospaceDataManagement.instruments.sw_methods import gfz +from GeospaceDataManagement.instruments.sw_methods import swpc + + +# -------------------------------------------------------------------------- +# Instrument utilities + +def acknowledgements(name, tag): + """Define the acknowledgements for the geomagnetic data sets. + + Parameters + ---------- + name : str + Instrument name of space weather index, accepts 'kp' or 'ap'. + tag : str + Instrument tag. + + """ + + ackn = {'kp': {'forecast': swpc.ackn, 'recent': swpc.ackn, 'def': gfz.ackn, + 'now': gfz.ackn, 'prediction': swpc.ackn}, + 'ap': {'forecast': swpc.ackn, 'recent': swpc.ackn, + 'prediction': swpc.ackn, '45day': swpc.ackn, + 'def': gfz.ackn, 'now': gfz.ackn}, + 'cp': {'def': gfz.ackn, 'now': gfz.ackn}} + + return ackn[name][tag] + + +def references(name, tag): + """Define the references for the geomagnetic data sets. + + Parameters + ---------- + name : str + Instrument name of space weather index, accepts kp or ap. + tag : str + Instrument tag. + + """ + + gen_refs = "\n".join([''.join(["J. Bartels, The technique of scaling ", + "indices K and Q of geomagnetic activity, ", + "Ann. Intern. Geophys. Year 4, 215-226, ", + "1957."]), + ''.join(["J. Bartels,The geomagnetic measures for ", + "the time-variations of solar corpuscular ", + "radiation, described for use in ", + "correlation studies in other geophysical ", + "fields, Ann. Intern. Geophys. Year 4, ", + "227-236, 1957."]), + ''.join(["P.N. Mayaud, Derivation, Meaning and Use ", + "of Geomagnetic Indices, Geophysical ", + "Monograph 22, Am. Geophys. Union, ", + "Washington D.C., 1980."]), + ''.join(["G.K. Rangarajan, Indices of magnetic ", + "activity, in Geomagnetism, edited by I.A. ", + "Jacobs, Academic, San Diego, 1989."]), + ''.join(["M. Menvielle and A. Berthelier, The ", + "K-derived planetary indices: description ", + "and availability, Rev. Geophys. 29, 3, ", + "415-432, 1991."])]) + + refs = {'kp': {'forecast': gen_refs, 'recent': gen_refs, + 'prediction': gen_refs, 'def': gfz.geoind_refs, + 'now': gfz.geoind_refs}, + 'ap': {'recent': gen_refs, 'forecast': gen_refs, '45day': gen_refs, + 'prediction': gen_refs, 'def': gfz.geoind_refs, + 'now': gfz.geoind_refs}, + 'cp': {'def': gfz.geoind_refs, 'now': gfz.geoind_refs}} + + return refs[name][tag] + + +def get_kp_metadata(fill_val=-1, unit_label='units', desc_label='desc', + min_label='min_val', max_label='max_val', + fill_label='fill_val'): + """Initialize the Kp meta data using our knowledge of the index. + + Parameters + ---------- + fill_val : int or float + File-specific fill value (default=-1) + unit_label : str + Meta data label for units (default='units') + desc_label : str + Meta data label for description (default='desc') + min_label : str + Meta data label for minimum value (default='min_val') + max_label : str + Meta data label for maximum value (default='max_val') + fill_label : str + Meta data label for fill value (default='fill_val') + + Returns + ------- + meta_dict : dict + Dictionary with default meta data + + """ + meta_dict = {unit_label: '', desc_label: "Planetary K-index", min_label: 0, + max_label: 9, fill_label: fill_val} + + return meta_dict + + +def get_ap_metadata(fill_val=-1, unit_label='units', desc_label='desc', + min_label='min_val', max_label='max_val', + fill_label='fill_val'): + """Initialize the ap meta data using our knowledge of the index. + + Parameters + ---------- + fill_val : int or float + File-specific fill value (default=-1) + unit_label : str + Meta data label for units (default='units') + desc_label : str + Meta data label for description (default='desc') + min_label : str + Meta data label for minimum value (default='min_val') + max_label : str + Meta data label for maximum value (default='max_val') + fill_label : str + Meta data label for fill value (default='fill_val') + + Returns + ------- + meta_dict : dict + Dictionary with default meta data + + """ + meta_dict = {unit_label: '', desc_label: "ap (equivalent range) index", + min_label: 0, max_label: 400, fill_label: fill_val} + + return meta_dict + + +def get_bartel_metadata(data_key, fill_val=-1, unit_label='units', + name_label='name', desc_label='desc', + min_label='min_val', max_label='max_val', + fill_label='fill_val'): + """Initialize the Bartel rotation meta data using our knowledge of the data. + + Parameters + ---------- + data_key : str + String denoting the data key + fill_val : int or float + File-specific fill value (default=-1) + unit_label : str + Meta data label for units (default='units') + name_label : str + Meta data label for variable name (default='name') + desc_label : str + Meta data label for description (default='desc') + min_label : str + Meta data label for minimum value (default='min_val') + max_label : str + Meta data label for maximum value (default='max_val') + fill_label : str + Meta data label for fill value (default='fill_val') + + Returns + ------- + meta_dict : dict + Dictionary with default meta data + + """ + + if data_key.find('solar_rotation_num') >= 0: + units = '' + bname = 'Bartels solar rotation number' + desc = 'A sequence of 27-day intervals counted from February 8, 1832' + max_val = np.inf + elif data_key.find('day_within') >= 0: + units = 'day' + bname = 'Days within Bartels solar rotation' + desc = 'Number of day within the Bartels solar rotation', + max_val = 27 + else: + raise ValueError('unknown data key: {:}'.format(data_key)) + + meta_dict = {unit_label: units, name_label: bname, desc_label: desc, + min_label: 1, max_label: max_val, fill_label: fill_val} + + return meta_dict + +# -------------------------------------------------------------------------- +# Common custom functions + + +def convert_3hr_kp_to_ap(kp_inst, var_name='Kp', unit_label='units', + name_label='name', desc_label='desc', + min_label='min_val', max_label='max_val', + fill_label='fill_val', note_label='notes'): + """Calculate 3 hour ap from 3 hour Kp index. + + Parameters + ---------- + kp_inst : gdm.Instrument + Instrument containing Kp data + var_name : str + Variable name for the Kp data (default='Kp') + unit_label : str + Meta data label for units (default='units') + name_label : str + Meta data label for variable name (default='name') + desc_label : str + Meta data label for description (default='desc') + min_label : str + Meta data label for minimum value (default='min_val') + max_label : str + Meta data label for maximum value (default='max_val') + fill_label : str + Meta data label for fill value (default='fill_val') + note_label : str + Meta data notes label (default='notes') + + Raises + ------ + ValueError + If `var_name` is not present in `kp_inst`. + + Note + ---- + Conversion between ap and Kp indices is described at: + https://www.ngdc.noaa.gov/stp/GEOMAG/kp_ap.html + + Assigns new data to '3hr_ap'. + + """ + # Kp are keys, where n.3 = n+ and n.6 = (n+1)-. E.g., 0.6 = 1- + kp_to_ap = {0: 0, 0.3: 2, 0.6: 3, 1: 4, 1.3: 5, 1.6: 6, 2: 7, 2.3: 9, + 2.6: 12, 3: 15, 3.3: 18, 3.6: 22, 4: 27, 4.3: 32, 4.6: 39, + 5: 48, 5.3: 56, 5.6: 67, 6: 80, 6.3: 94, 6.6: 111, 7: 132, + 7.3: 154, 7.6: 179, 8: 207, 8.3: 236, 8.6: 300, 9: 400} + + def ap(kk): + if np.isfinite(kk): + return kp_to_ap[np.floor(kk * 10.0) / 10.0] + else: + return np.nan + + # Test the input + if var_name not in kp_inst.variables: + raise ValueError('Variable name for Kp data is missing: {:}'.format( + var_name)) + + # Convert from Kp to ap + fill_val = kp_inst[var_name].attrs[fill_label] + ap_data = np.array([ap(kp) if kp != fill_val else fill_val + for kp in kp_inst[var_name]]) + + # Append the output to the Instrument + kp_inst['3hr_ap'] = pds.Series(ap_data, index=kp_inst.index) + + # Add metadata + meta_dict = get_ap_metadata(fill_val, unit_label=unit_label, + min_label=min_label, max_label=max_label, + fill_label=fill_label, desc_label=desc_label) + meta_dict[desc_label] = "3-hr ap (equivalent range) index" + meta_dict[note_label] = ''.join([ + 'ap converted from Kp as described at: ', + 'https://www.ngdc.noaa.gov/stp/GEOMAG/kp_ap.html']) + kp_inst['3hr_ap'].attrs.update(meta_dict) + + return + + +def calc_daily_Ap(ap_inst, ap_name='3hr_ap', daily_name='Ap', + running_name=None, min_periods=8, unit_label='units', + name_label='name', desc_label='desc', min_label='min_val', + max_label='max_val', fill_label='fill_val', + note_label='notes'): + """Calculate the daily Ap index from the 3hr ap index. + + Parameters + ---------- + ap_inst : gdm.Instrument + Instrument containing 3-hourly ap data + ap_name : str + Column name for 3-hourly ap data (default='3hr_ap') + daily_name : str + Column name for daily Ap data (default='Ap') + running_name : str or NoneType + Column name for daily running average of ap, not output if None + (default=None) + min_periods : int + Mininmum number of observations needed to output an average value + (default=8) + unit_label : str + Meta data label for units (default='units') + name_label : str + Meta data label for variable name (default='name') + desc_label : str + Meta data label for description (default='desc') + min_label : str + Meta data label for minimum value (default='min_val') + max_label : str + Meta data label for maximum value (default='max_val') + fill_label : str + Meta data label for fill value (default='fill_val') + note_label : str + Meta data notes label (default='notes') + + Raises + ------ + ValueError + If `ap_name` or `daily_name` aren't present in `ap_inst` + + Note + ---- + Ap is the mean of the 3hr ap indices measured for a given day + + Option for running average is included since this information is used + by MSIS when running with sub-daily geophysical inputs + + """ + + # Test that the necessary data is available + if ap_name not in ap_inst.variables: + raise ValueError("bad 3-hourly ap column name: {:}".format(ap_name)) + + # Test to see that we will not be overwritting data + if daily_name in ap_inst.variables: + raise ValueError("daily Ap column name already exists: " + daily_name) + + # Calculate the daily mean value + ap_mean = ap_inst[ap_name].rolling(window='1D', + min_periods=min_periods).mean() + + if running_name is not None: + ap_inst[running_name] = ap_mean + + meta_dict = get_ap_metadata( + ap_inst[ap_name].attrs[fill_label], unit_label=unit_label, + desc_label=desc_label, min_label=min_label, max_label=max_label, + fill_label=fill_label) + meta_dict[desc_label] = "running daily Ap index" + meta_dict[note_label] = '24-h running ave of 3-hourly ap indices' + + ap_inst[running_name].attrs.update(meta_dict) + + # Resample, backfilling so that each day uses the mean for the data from + # that day only + # + # Pad the data so the first day will be backfilled + ap_pad = pds.Series(np.full(shape=(1,), fill_value=np.nan), + index=[ap_mean.index[0] - pds.DateOffset(hours=3)]) + + # Extract the mean that only uses data for one day + ap_sel = ap_pad.combine_first(ap_mean.iloc[[i for i, tt in + enumerate(ap_mean.index) + if tt.hour == 21]]) + + # Backfill this data + ap_data = ap_sel.resample('3h').bfill() + + # Save the output for the original time range + ap_inst[daily_name] = pds.Series(ap_data[1:], index=ap_data.index[1:]) + + # Add metadata + meta_dict = get_ap_metadata(ap_inst[ap_name].attrs[fill_label], + unit_label=unit_label, desc_label=desc_label, + min_label=min_label, max_label=max_label, + fill_label=fill_label) + meta_dict[desc_label] = "daily Ap index" + meta_dict[note_label] = 'Ap daily mean calculated from 3-hourly ap indices' + ap_inst[daily_name].attrs.update(meta_dict) + return + + +def filter_geomag(inst, min_kp=0, max_kp=9, filter_time=24, kp_inst=None, + var_name='Kp'): + """Filter Instrument data for given time after Kp drops below gate. + + Parameters + ---------- + inst : gdm.Instrument or NoneType + Instrument with non-Kp data to be filtered by geomagnetic activity + min_kp : float + Minimum Kp value allowed. Kp values below this filter the data in + inst (default=0) + max_kp : float + Maximum Kp value allowed. Kp values above this filter the data in + inst (default=9) + filter_time : int + Number of hours to filter data after Kp drops below max_kp (default=24) + kp_inst : gdm.Instrument or NoneType + Kp gdm.Instrument object with or without data already loaded. If None, + will load GFZ definitive kp data for the instrument date (default=None) + var_name : str + String providing the variable name for the Kp data (default='Kp') + + Raises + ------ + IOError + If no Kp data is available to load + + Note + ---- + Loads Kp data for the same timeframe covered by inst and sets inst.data to + NaN for times when Kp > max_kp or Kp < min_kp and for filter_time after Kp + drops below max_kp. + + Default max and min values accept all Kp, so changing only one will cause + the filter to act as a high- or low-pass function. + + This routine is written for standard Kp data (tags of 'def', 'now'), not + the forecast or recent data. However, it will work with these Kp data if + they are supplied. + + """ + # Load the desired data + if kp_inst is None: + kp_inst = gdm.Instrument(inst_module=gdm.instruments.sw_kp, + tag='def', pad=dt.timedelta(days=1)) + + if kp_inst.empty: + load_kwargs = {'date': inst.index[0], 'end_date': inst.index[-1], + 'verifyPad': True} + kp_inst.load(**load_kwargs) + + if kp_inst.empty: + raise IOError( + 'unable to load {:} data for {:}-{:}, check local data'.format( + ':'.join([inst.platform, inst.name, inst.tag, inst.inst_id]), + inst.index[0], inst.index[-1])) + + # Begin filtering, starting at the beginning of the instrument data + sel_data = kp_inst[(inst.index[0] - dt.timedelta(days=1)): + (inst.index[-1] + dt.timedelta(days=1))] + ind, = np.where((sel_data[var_name] > max_kp) + | (sel_data[var_name] < min_kp)) + + for lind in ind: + # Determine the time filter range for removing each flagged data + sind = sel_data.index[lind] + eind = sind + pds.DateOffset(hours=filter_time) + inst[sind:eind] = np.nan + inst.data = inst.data.dropna(axis=0, how='all') + + return + + +# -------------------------------------------------------------------------- +# Common analysis functions + +def convert_ap_to_kp(ap_data, fill_val=-1, ap_name='ap', kp_name='Kp', + unit_label='units', name_label='name', desc_label='desc', + min_label='min_val', max_label='max_val', + fill_label='fill_val', note_label='notes'): + """Convert Ap into Kp. + + Parameters + ---------- + ap_data : array-like + Array-like object containing Ap data + fill_val : int, float, NoneType + Fill value for the data set (default=-1) + ap_name : str + Name of the input ap (default='ap') + kp_name : str + Name of the output Kp (default='Kp') + unit_label : str + Meta data label for units (default='units') + name_label : str + Meta data label for variable name (default='name') + desc_label : str + Meta data label for description (default='desc') + min_label : str + Meta data label for minimum value (default='min_val') + max_label : str + Meta data label for maximum value (default='max_val') + fill_label : str + Meta data label for fill value (default='fill_val') + note_label : str + Meta data notes label (default='notes') + + Returns + ------- + kp_data : array-like + Array-like object containing Kp data + meta_dict : dict + Dictionary with meta data + + """ + + # Convert from ap to Kp + kp_data = np.array([round_ap(aa, fill_val=fill_val) for aa in ap_data]) + + # Set the metadata + meta_dict = get_kp_metadata(kp_data, 'Kp', fill_val) + meta_dict[desc_label] = 'Kp converted from {:}'.format(ap_name) + meta_dict[note_label] = ''.join( + ['Kp converted from ', ap_name, 'as described at: ', + 'https://www.ngdc.noaa.gov/stp/GEOMAG/kp_ap.html']) + + # Return the data and metadata in the Instrument + return kp_data, meta_dict + + +def round_ap(ap_in, fill_val=np.nan): + """Round an ap value to the nearest Kp value. + + Parameters + ---------- + ap_in : float + Ap value as a floating point number. + fill_val : float + Value for unassigned or bad indices. (default=np.nan) + + Returns + ------- + float + Fill value for infinite or out-of-range data, otherwise the best kp + index is provided. + + """ + + # Define the ap to kp conversion + one_third = 1.0 / 3.0 + two_third = 2.0 / 3.0 + ap_to_kp = {0: 0, 2: one_third, 3: two_third, 4: 1, 5: 1.0 + one_third, + 6: 1.0 + two_third, 7: 2, 9: 2.0 + one_third, + 12: 2.0 + two_third, 15: 3, 18: 3.0 + one_third, + 22: 3.0 + two_third, 27: 4, 32: 4.0 + one_third, + 39: 4.0 + two_third, 48: 5, 56: 5.0 + one_third, + 67: 5.0 + two_third, 80: 6, 94: 6.0 + one_third, + 111: 6.0 + two_third, 132: 7, 154: 7.0 + one_third, + 179: 7.0 + two_third, 207: 8, 236: 8.0 + one_third, + 300: 8.0 + two_third, 400: 9} + max_ap = 400 + + # Infinite or NaN values will return the fill value + if not np.isfinite(ap_in): + return fill_val + + # Ap values that correspond exactly to a Kp value will return that value + if ap_in in ap_to_kp.keys(): + return ap_to_kp[ap_in] + + # The input Ap value may be appropriate, but does not correspond directly + # to a Kp index. Get a sorted list of directly corresponding Ap indices, + # with Kp returned as double (N- = N.6667, N+ = N.3333333) + ap_keys = sorted([akey for akey in ap_to_kp.keys() if akey <= ap_in]) + + # If the value is too large or too small, return the fill value + if len(ap_keys) == 0 or (ap_keys[-1] < ap_in and ap_keys[-1] == max_ap): + return fill_val + + # The value is realistic, return the Kp value + return ap_to_kp[ap_keys[-1]] + + +def combine_kp(standard_inst=None, recent_inst=None, forecast_inst=None, + start=None, stop=None, fill_val=np.nan, unit_label='units', + name_label='name', desc_label='desc', min_label='min_val', + max_label='max_val', fill_label='fill_val', note_label='notes'): + """Combine the output from the different Kp sources for a range of dates. + + Parameters + ---------- + standard_inst : gdm.Instrument or NoneType + Instrument object containing data for the 'sw' platform, 'kp' name, + and 'def' tag or None to exclude (default=None) + recent_inst : gdm.Instrument or NoneType + Instrument object containing data for the 'sw' platform, 'kp' name, + and 'recent' tag or None to exclude (default=None) + forecast_inst : gdm.Instrument or NoneType + Instrument object containing data for the 'sw' platform, 'kp' name, + and 'forecast' tag or None to exclude (default=None) + start : dt.datetime or NoneType + Starting time for combining data, or None to use earliest loaded + date from the Instruments (default=None) + stop : dt.datetime + Ending time for combining data, or None to use the latest loaded date + from the Instruments (default=None) + fill_val : int or float + Desired fill value (since the standard instrument fill value differs + from the other sources) (default=np.nan) + unit_label : str + Meta data label for units (default='units') + name_label : str + Meta data label for variable name (default='name') + desc_label : str + Meta data label for description (default='desc') + min_label : str + Meta data label for minimum value (default='min_val') + max_label : str + Meta data label for maximum value (default='max_val') + fill_label : str + Meta data label for fill value (default='fill_val') + note_label : str + Meta data notes label (default='notes') + + Returns + ------- + kp_inst : gdm.Instrument + Instrument object containing Kp observations for the desired period of + time, merging the standard, recent, and forecasted values based on + their reliability + + Raises + ------ + ValueError + If only one Kp instrument or bad times are provided + + Note + ---- + Merging prioritizes the standard data, then the recent data, and finally + the forecast data. + + Will not attempt to download any missing data, but will load data. + + If no data is present, but dates are provided, supplies a series of fill + values. + + """ + notes = "Combines data from" + + # Create an ordered list of the Instruments, excluding any that are None + all_inst = list() + tag = 'combined' + inst_flag = None + if standard_inst is not None: + all_inst.append(standard_inst) + tag += '_standard' + if inst_flag is None: + inst_flag = 'standard' + + if recent_inst is not None: + all_inst.append(recent_inst) + tag += '_recent' + if inst_flag is None: + inst_flag = 'recent' + + if forecast_inst is not None: + all_inst.append(forecast_inst) + tag += '_forecast' + if inst_flag is None: + inst_flag = 'forecast' + + if len(all_inst) < 2: + raise ValueError("need at two Kp Instrument objects to combine them") + + # If the start or stop times are not defined, get them from the Instruments + if start is None: + stimes = [inst.index.min() for inst in all_inst if len(inst.index) > 0] + start = min(stimes) if len(stimes) > 0 else None + + if stop is None: + stimes = [inst.index.max() for inst in all_inst if len(inst.index) > 0] + stop = max(stimes) + dt.timedelta(days=1) if len(stimes) > 0 else None + + if start is None or stop is None: + raise ValueError(' '.join(("must either load in Instrument objects or", + "provide starting and ending times"))) + + # Initialize the output instrument + kp_inst = gdm.Instrument() + + kp_inst.inst_module = gdm.instruments.sw_kp + kp_inst.tag = tag + kp_inst.date = start + kp_inst.doy = np.int64(start.strftime("%j")) + kp_meta = get_kp_metadata(fill_val=fill_val, unit_label=unit_label, + desc_label=desc_label, min_label=min_label, + max_label=max_label, fill_label=fill_label) + + kp_times = list() + kp_values = list() + + # Cycle through the desired time range + itime = start + while itime < stop and inst_flag is not None: + # Load and save the standard data for as many times as possible + if inst_flag == 'standard': + # Test to see if data loading is needed + if not np.any(standard_inst.index == itime): + standard_inst.load(date=itime) + + if notes.find("standard") < 0: + notes += " the {:} source ({:} to ".format(inst_flag, + itime.date()) + + if len(standard_inst.index) == 0: + inst_flag = 'forecast' if recent_inst is None else 'recent' + notes += "{:})".format(itime.date()) + else: + local_fill_val = standard_inst['Kp'].attrs[fill_label] + good_times = ((standard_inst.index >= itime) + & (standard_inst.index < stop)) + good_vals = np.array([ + not general.is_fill_val(val, local_fill_val) + for val in standard_inst['Kp'][good_times]]) + new_times = list(standard_inst.index[good_times][good_vals]) + + if len(new_times) > 0: + kp_times.extend(new_times) + kp_values.extend(list( + standard_inst['Kp'][good_times][good_vals])) + itime = kp_times[-1] + pds.DateOffset(hours=3) + else: + inst_flag = 'forecast' if recent_inst is None else 'recent' + notes += "{:})".format(itime.date()) + + # Load and save the recent data for as many times as possible + if inst_flag == 'recent': + # Determine which files should be loaded + if len(recent_inst.index) == 0: + if len(recent_inst.files.files) > 0: + files = np.unique(recent_inst.files.files[itime:stop]) + else: + files = [None] # No files available + else: + files = [None] # No load needed, if already initialized + + # Cycle through all possible files of interest, saving relevant + # data + for filename in files: + if filename is not None: + recent_inst.load(fname=filename) + + if notes.find("recent") < 0: + notes += " the {:} source ({:} to ".format(inst_flag, + itime.date()) + + # Determine which times to save + if recent_inst.empty: + new_times = [] + else: + local_fill_val = recent_inst['Kp'].attrs[fill_label] + good_times = ((recent_inst.index >= itime) + & (recent_inst.index < stop)) + good_vals = np.array([ + not general.is_fill_val(val, local_fill_val) + for val in recent_inst['Kp'][good_times]]) + new_times = list(recent_inst.index[good_times][good_vals]) + + # Save output data and cycle time + if len(new_times) > 0: + kp_times.extend(new_times) + kp_values.extend(list( + recent_inst['Kp'][good_times][good_vals])) + itime = kp_times[-1] + pds.DateOffset(hours=3) + + inst_flag = 'forecast' if forecast_inst is not None else None + notes += "{:})".format(itime.date()) + + # Load and save the forecast data for as many times as possible + if inst_flag == "forecast": + # Determine which files should be loaded + if len(forecast_inst.index) == 0: + if len(forecast_inst.files.files) > 0: + files = np.unique(forecast_inst.files.files[itime:stop]) + else: + files = [None] # No files have been downloaded + else: + files = [None] # No load needed, if already initialized + + # Cycle through all possible files of interest, saving relevant + # data + for filename in files: + if filename is not None: + forecast_inst.load(fname=filename) + + if notes.find("forecast") < 0: + notes += " the {:} source ({:} to ".format(inst_flag, + itime.date()) + + # Determine which times to save + if not forecast_inst.empty: + local_fill_val = forecast_inst['Kp'].attrs[fill_label] + good_times = ((forecast_inst.index >= itime) + & (forecast_inst.index < stop)) + good_vals = np.array([ + not general.is_fill_val(val, local_fill_val) + for val in forecast_inst['Kp'][good_times]]) + + # Save desired data + new_times = list(forecast_inst.index[good_times][good_vals]) + + if len(new_times) > 0: + kp_times.extend(new_times) + new_vals = list(forecast_inst['Kp'][good_times][ + good_vals]) + kp_values.extend(new_vals) + + # Cycle time + itime = kp_times[-1] + pds.DateOffset(hours=3) + notes += "{:})".format(itime.date()) + + inst_flag = None + + if inst_flag is not None: + notes += "{:})".format(itime.date()) + + # Determine if the beginning or end of the time series needs to be padded + freq = None if len(kp_times) < 2 else gdm.utils.time.calc_freq(kp_times) + end_date = stop - pds.DateOffset(days=1) + date_range = pds.date_range(start=start, end=end_date, freq=freq) + + if len(kp_times) == 0: + kp_times = date_range + + if date_range[0] < kp_times[0]: + # Extend the time and value arrays from their beginning with fill + # values + itime = abs(date_range - kp_times[0]).argmin() + kp_times.reverse() + kp_values.reverse() + extend_times = list(date_range[:itime]) + extend_times.reverse() + kp_times.extend(extend_times) + kp_values.extend([fill_val for kk in extend_times]) + kp_times.reverse() + kp_values.reverse() + + if date_range[-1] > kp_times[-1]: + # Extend the time and value arrays from their end with fill values + itime = abs(date_range - kp_times[-1]).argmin() + 1 + extend_times = list(date_range[itime:]) + kp_times.extend(extend_times) + kp_values.extend([fill_val for kk in extend_times]) + + # Update the metadata notes for this procedure + notes += ", in that order" + kp_meta[note_label] = notes + + # Save output data and meta data + kp_inst.data = xr.Dataset({'time': (('time'), kp_times), + 'Kp': (('time'), kp_values, kp_meta)}) + + # Resample the output data, filling missing values + if (date_range.shape != kp_inst.index.shape + or abs(date_range - kp_inst.index).max().total_seconds() > 0.0): + kp_inst.data = kp_inst.data.resample(freq).asfreq() + if np.isfinite(fill_val): + kp_inst.data[np.isnan(kp_inst.data)] = fill_val + + return kp_inst diff --git a/GeospaceDataManagement/instruments/sw_methods/lasp.py b/GeospaceDataManagement/instruments/sw_methods/lasp.py new file mode 100644 index 0000000..13b8e7b --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/lasp.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Provides support routines for LASP data.""" + +import datetime as dt +import numpy as np +import os +import pandas as pds +import requests + +import GeospaceDataManagement as gdm + + +def prediction_downloads(name, tag, data_path, mock_download_dir=None): + """Download LASP 96-hour prediction data. + + Parameters + ---------- + name : str + Instrument name, currently supports Dst, AL, AE, and AU. + tag : str + Instrument tag, used to create a descriptive file name. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date (following the local + file prefix and date format) as if they were downloaded (default=None) + + Raises + ------ + IOError + If the data link has an unexpected format or an unknown mock download + directory is supplied. + + """ + times = list() + data_dict = {name.lower(): []} + fname = ''.join([name.lower(), '_last_96_hrs.txt']) + + if mock_download_dir is None: + # Set the remote data variables + url = ''.join(['https://lasp.colorado.edu/space_weather/dsttemerin/', + fname]) + + # Download the webpage + req = requests.get(url) + + # Test to see if the file was found on the server + if req.text.find('not found on this server') > 0: + gdm.logger.warning(''.join(['LASP last 96 hour Dst file not ', + 'found on server: ', url])) + raw_txt = None + else: + raw_txt = req.text + else: + # If a mock download directory was supplied, test to see it exists + if mock_download_dir is not None: + if not os.path.isdir(mock_download_dir): + raise IOError('file location is not a directory: {:}'.format( + mock_download_dir)) + + # Get the data from the mock download directory + url = os.path.join(mock_download_dir, fname) + if os.path.isfile(url): + with open(url, 'r') as fpin: + raw_txt = fpin.read() + else: + gdm.logger.warning(''.join(['LASP last 96 hour file not found in', + 'the local directory: ', url, + ", data may have been saved to an ", + "unexpected filename"])) + raw_txt = None + + if raw_txt is not None: + # Split the file into lines, removing the header and + # trailing empty line + file_lines = raw_txt.split('\n')[1:-1] + + # Format the data + for line in file_lines: + # Split the line on whitespace + line_cols = line.split() + + if len(line_cols) != 2: + raise IOError(''.join(['unexpected line encountered in file ', + 'retrieved from ', url, ':\n', line])) + + # Format the time and AL values + times.append(dt.datetime.strptime(line_cols[0], '%Y/%j-%H:%M:%S')) + data_dict[name.lower()].append(np.float64(line_cols[1])) + + # Re-cast the data as a pandas DataFrame + data = pds.DataFrame(data_dict, index=times) + + # Write out as a file + file_base = '_'.join(['sw', name, tag, + gdm.utils.time.today().strftime('%Y-%m-%d')]) + file_name = os.path.join(data_path, '{:s}.txt'.format(file_base)) + data.to_csv(file_name) + + return diff --git a/GeospaceDataManagement/instruments/sw_methods/lisird.py b/GeospaceDataManagement/instruments/sw_methods/lisird.py new file mode 100644 index 0000000..d7de3d8 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/lisird.py @@ -0,0 +1,223 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Provides support functions for the LASP LISIRD data base.""" + +import datetime as dt +import json +import numpy as np +import os +import pandas as pds +import requests + +import GeospaceDataManagement as gdm + +ackn = "".join(["LASP Interactive Solar Irradiance Data Center provides ", + "access to many solar datasets generated by researchers at ", + "LASP and other institutions."]) + + +def references(platform, name, tag, inst_id): + """Provide references for different Instrument data products. + + Parameters + ---------- + platform : str + Instrument platform + name : str + Instrument name + tag : str + Instrument tag + inst_id : str + Instrument ID + + Returns + ------- + refs : str + String of references + + """ + + refs = {'sw': {'mgii': { + 'composite': { + '': ''.join(["Viereck, R. A., Floyd, L. E., Crane, P. C., Woods, ", + "T. N., Knapp, B. G., Rottman, G., Weber, M., Puga,", + " L. C., and DeLand, M. T. (2004), A composite Mg ", + "II index spanning from 1978 to 2003, Space Weather", + ", 2, S10005, doi:10.1029/2004SW000084."])}, + 'sorce': { + '': "\n".join([ + "".join(["Snow, M, William E. McClintock, Thomas N. Woods, ", + "Oran R. White, Jerald W. Harder, and Gary Rottman ", + "(2005). The Mg II Index from SORCE, Solar Phys., ", + "230, 1, 325-344."]), + "".join(["Heath, D. and Schlesinger, B. (1986). The Mg 280-nm ", + "doublet as a monitor of changes in solar ", + "ultraviolet irradiance, JGR, 91, 8672-8682."])])}}}} + + return refs[platform][name][tag][inst_id] + + +def build_lisird_url(lisird_data_name, start, stop): + """Build a LASP LISIRD direct download URL. + + Parameters + ---------- + lisird_data_name : str + Name of the data set on the LISARD server + start : dt.datetime + Start time + stop : dt.datetime + Stop time + + Returns + ------- + url : str + URL that will download the desired data + + """ + + # Define the formatting for the start and stop times + tfmt = "%Y-%m-%dT%H:%M:%S.000Z" + + url = "".join(["https://lasp.colorado.edu/lisird/latis/dap/", + lisird_data_name, ".json?&time>=", start.strftime(tfmt), + '&time<=', stop.strftime(tfmt), + "&format_time(yyyy-MM-dd'T'HH:mm:ss.SSS)"]) + + return url + + +def download(date_array, data_path, local_file_prefix, local_date_fmt, + lisird_data_name, freq, update_files=False, fill_vals=None, + mock_download_dir=None): + """Download routine for LISIRD data. + + Parameters + ---------- + date_array : array-like + Sequence of dates for which files will be downloaded. + data_path : str + Path to data directory. + local_file_prefix : str + Prefix for local files, e.g., 'tag_' or 'tag_monthly_' + local_date_fmt : str + String format for the local filename, e.g., '%Y-%m-%d' or '%Y-%m' + lisird_data_name : str + Name of the data set on the LISARD server + freq : pds.DateOffset or dt.timedelta + Offset to add to the start date to ensure all data is downloaded + (inclusive) + update_files : bool + Re-download data for files that already exist if True (default=False) + fill_vals : dict or NoneType + Dict of fill values to replace with NaN by variable name or None to + leave alone (default=None) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date (following the local + file prefix and date format) as if they were downloaded (default=None) + + Raises + ------ + IOError + If there is a gateway timeout when downloading data or an unknown mock + download directory is supplied. + KeyError + If the `fill_vals` input does not match the downloaded data. + + """ + # If a mock download directory was supplied, test to see it exists + if mock_download_dir is not None: + if not os.path.isdir(mock_download_dir): + raise IOError('file location is not a directory: {:}'.format( + mock_download_dir)) + + # Initialize the fill_vals dict, if necessary + if fill_vals is None: + fill_vals = {} + + # Cycle through all the dates + for dl_date in date_array: + # Build the local filename + fname = ''.join([local_file_prefix, dl_date.strftime(local_date_fmt), + '.txt']) + local_file = os.path.join(data_path, fname) + + # Determine if the download should occur + if update_files or not os.path.isfile(local_file): + if mock_download_dir is None: + # Get the URL for the desired data + url = build_lisird_url(lisird_data_name, dl_date, + dl_date + freq) + + # The data is returned as a JSON file + req = requests.get(url) + + # Process the JSON file + if req.text.find('Gateway Timeout') >= 0: + raise IOError(''.join(['Gateway timeout when requesting ', + 'file using command: ', url])) + + # Load the dict if text was retrieved + json_dict = json.loads(req.text) if req.ok else {'': {}} + else: + # Get the local repository filename + url = os.path.join(mock_download_dir, fname) + if os.path.isfile(url): + with open(url, 'r') as fpin: + raw_txt = fpin.read() + + json_dict = json.loads(raw_txt) + else: + json_dict = {'': {}} + + if lisird_data_name in json_dict.keys(): + raw_dict = json_dict[lisird_data_name] + data = pds.DataFrame.from_dict(raw_dict['samples']) + if data.empty: + gdm.logger.warning("no data for {:}".format(dl_date)) + else: + # The URL specifies the time format, so break it down + frac_sec = [int(tval.split('.')[-1]) + for tval in data['time']] + times = [dt.datetime.strptime(tval.split('.')[0], + '%Y-%m-%dT%H:%M:%S') + + dt.timedelta(microseconds=frac_sec[i] * 6) + for i, tval in enumerate(data.pop('time'))] + data.index = times + + # Replace fill value with NaNs + for var in fill_vals.keys(): + if var in data.columns: + idx, = np.where(data[var] == fill_vals[var]) + data.iloc[idx, :] = np.nan + else: + raise KeyError(''.join(['unknown fill value ', + 'variable name supplied: ', + var])) + + # Create a local CSV file + data.to_csv(local_file, header=True) + else: + if len(json_dict.keys()) == 1 and '' in json_dict.keys(): + gdm.logger.info("".join(["Data not downloaded for ", + dl_date.strftime("%d %b %Y"), + ", date may be out of range ", + "for the database or data may ", + "have been saved to an ", + "unexpected filename: ", url])) + else: + raise IOError(''.join(['Returned unexpectedly formatted ', + 'data using command: ', url])) + return diff --git a/GeospaceDataManagement/instruments/sw_methods/norp.py b/GeospaceDataManagement/instruments/sw_methods/norp.py new file mode 100644 index 0000000..cbbb568 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/norp.py @@ -0,0 +1,229 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# ---------------------------------------------------------------------------- +"""Supports data from the Nobeyama Radio Polarimeters.""" + +import datetime as dt +import numpy as np +import os +import pandas as pds +import requests + +import GeospaceDataManagement as gdm + + +def acknowledgements(): + """Define the acknowledgements for NoRP data. + + Returns + ------- + ackn : str + Acknowledgements associated with the appropriate NoRP name and tag. + + """ + ackn = ''.join(['The Nobeyama Radio Polarimeters (NoRP) are operated by ', + 'Solar Science Observatory, a branch of National ', + 'Astronomical Observatory of Japan, and their observing ', + 'data are verified scientifically by the consortium for ', + 'NoRP scientific operations.', + '\nFor questions regarding the data please contact ', + 'solar_helpdesk@ml.nao.ac.jp']) + + return ackn + + +def references(name, tag): + """Define the references for NoRP data. + + Parameters + ---------- + name : str + Instrument name for the NoRP data. + tag : str + Instrument tag for the NoRP data. + + Returns + ------- + refs : str + Reference string associated with the appropriate F10.7 tag. + + """ + refs = {'rf': {'daily': "\n".join([ + ''.join(['Shimojo and Iwai "Over seven decades of solar microwave ', + 'data obtained with Toyokawa and Nobeyama Radio Polarimeters', + '", GDJ, 10, 114-129 (2023)']), + ''.join(['Nakajima et al. "The Radiometer and Polarimeters at 80, 35,', + ' and 17 GHz for Solar Observations at Nobeyama", PASJ, 37,', + ' 163 (1985)']), + ''.join(['Torii et al. "Full-Automatic Radiopolarimeters for Solar ', + 'Patrol at Microwave Frequencies", Proc. of the Res. Inst. ', + 'of Atmospherics, Nagoya Univ., 26, 129 (1979)']), + ''.join(['Shibasaki et al. "Solar Radio Data Acquisition and ', + 'Communication System (SORDACS) of Toyokawa Observatory", ', + 'Proc. of the Res. Inst. of Atmospherics, Nagoya Univ., 26, ', + '117 (1979)']), + 'Tanaka, "Toyokawa Observatory", Solar Physics, 1, 2, 295 (1967)', + ''.join(['Tsuchiya and Nagase "Atmospheric Absorption in Microwave ', + 'Solar Observation and Solar Flux Measurement at 17 Gc/s", ', + 'PASJ, 17, 86 (1965)']), + ''.join(['Tanaka and Kakinuma. "EQUIPMENT FOR THE OBSERVATION OF SOLAR', + ' RADIO EMISSION AT 9400, 3750, 2000 AND 1000 Mc/s", Proc. ', + 'of the Res. Inst. of Atmospherics, Nagoya Univ., 4, 60 ', + '(1957)']), + ''.join(['Tanaka et al. "EQUIPMENT FOR THE OBSERVATION OF SOLAR NOISE ', + 'AT 3,750 MC", Proc. of the Res. Inst. of Atmospherics, ', + 'Nagoya Univ., 1, 71 (1953)'])])}} + + return refs[name][tag] + + +def daily_rf_downloads(data_path, mock_download_dir=None, start=None, + stop=None): + """Download LASP 96-hour prediction data. + + Parameters + ---------- + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date (following the local + file prefix and date format) as if they were downloaded (default=None) + + Raises + ------ + IOError + If the data link has an unexpected format or an unknown mock download + directory is supplied. + + Note + ---- + Saves data in month-long files + + """ + # Initalize the output information + times = list() + data_dict = dict() + + # Set the file name + fname = 'TYKW-NoRP_dailyflux.txt' + + if mock_download_dir is None: + # Set the remote data variables + url = '/'.join(['https://solar.nro.nao.ac.jp/norp/data/daily', fname]) + + # Download the webpage + req = requests.get(url) + + # Test to see if the file was found on the server + if req.text.find('not found on this server') > 0: + gdm.logger.warning(''.join(['NoRP daily flux file not found on ', + 'server: ', url])) + raw_txt = None + else: + raw_txt = req.text + else: + # If a mock download directory was supplied, test to see it exists + if mock_download_dir is not None: + if not os.path.isdir(mock_download_dir): + raise IOError('file location is not a directory: {:}'.format( + mock_download_dir)) + + # Get the data from the mock download directory + url = os.path.join(mock_download_dir, fname) + if os.path.isfile(url): + with open(url, 'r') as fpin: + raw_txt = fpin.read() + else: + gdm.logger.warning(''.join(['NoRP daily flux file not found in', + 'the local directory: ', url, + ", data may have been saved to an ", + "unexpected filename"])) + raw_txt = None + + if raw_txt is not None: + # Split the text to get the header lines + file_lines = raw_txt.split('\n')[:2] + + # If needed, set or adjust the start and end times + line_cols = file_lines[0].split() + file_start = dt.datetime.strptime(line_cols[-3], '(%Y-%m-%d') + file_stop = dt.datetime.strptime(line_cols[-1], '%Y-%m-%d)') + + # Evaluate the file start time + if start is None or start < file_start: + start = file_start + elif start.day > 1: + # Set the start time to be the start of the month + start = dt.datetime(start.year, start.month, 1) + + # Evaluate the file stop time + if stop is None or stop < file_stop: + stop = file_stop + elif stop.day < 31: + # Set the stop time to be the end of the month + month_end = stop + dt.timedelta(days=1) + while month_end.month == stop.month: + stop = dt.datetime(month_end.year, month_end.month, + month_end.day) + month_end += dt.timedelta(days=1) + + # Set the data columns + data_cols = [col.replace(" ", "_") for col in file_lines[1].split(',')] + for col in data_cols[1:]: + data_dict[col] = list() + + # Split the text to get the file line for the desired period + start_txt = raw_txt.split(start.strftime('"%Y-%m-%d"'))[1] + stop_txt = ''.join([start.strftime('"%Y-%m-%d"'), start_txt]).split( + stop.strftime('"%Y-%m-%d"')) + file_lines = stop_txt[0].split('\n')[:-1] + if len(stop_txt) > 1: + file_lines.append(''.join([stop.strftime('"%Y-%m-%d"'), + stop_txt[1]]).split('\n')[0]) + + # Format the data for the desired time period + for line in file_lines: + # Split the line on comma + line_cols = line.split(',') + + if len(line_cols) != len(data_cols): + raise IOError(''.join(['unexpected line encountered in file ', + 'retrieved from ', url, ':\n', line])) + + # Format the time and values + times.append(dt.datetime.strptime(line_cols[0], '"%Y-%m-%d"')) + for i, col in enumerate(data_cols[1:]): + if line_cols[i + 1].lower().find('nan') == 0: + data_dict[col].append(np.nan) + else: + data_dict[col].append(np.float64(line_cols[i + 1])) + + # Re-cast the data as a pandas DataFrame + data = pds.DataFrame(data_dict, index=times) + + # Write out the files using a monthly cadance + file_base = '_'.join(['norp', 'rf', 'daily', '%Y-%m.txt']) + + while start < stop: + # Set the output file name + file_name = os.path.join(data_path, start.strftime(file_base)) + + # Downselect the output data + file_data = data[start:start + pds.DateOffset(months=1) + - dt.timedelta(microseconds=1)] + + # Save the output data to file + file_data.to_csv(file_name) + + # Cycle the time + start += pds.DateOffset(months=1) + + return diff --git a/GeospaceDataManagement/instruments/sw_methods/swpc.py b/GeospaceDataManagement/instruments/sw_methods/swpc.py new file mode 100644 index 0000000..24cd59c --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_methods/swpc.py @@ -0,0 +1,1014 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Provides routines that support SWPC space weather instruments.""" + +import datetime as dt +import ftplib +import numpy as np +import os +import pandas as pds +import sys + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods import general + +# ---------------------------------------------------------------------------- +# Define the module variables + +ackn = ''.join(['Prepared by the U.S. Dept. of Commerce, NOAA, Space ', + 'Weather Prediction Center']) +forecast_warning = ''.join(['This routine can only download the current ', + 'forecast, not archived forecasts']) + + +# ---------------------------------------------------------------------------- +# Define the module functions + +def daily_dsd_download(name, today, data_path, mock_download_dir=None): + """Download the daily NOAA Daily Solar Data indices. + + Parameters + ---------- + name : str + Instrument name, expects one of 'f107', 'flare', 'ssn', or 'sbfield'. + today : dt.datetime + Datetime for current day. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied or the desired file + is missing. + + Note + ---- + Note that the download path for the complementary Instrument will use + the standard GeospaceDataManagement data paths + + """ + gdm.logger.info('This routine only downloads the latest 30 day file') + + # Get the file information + raw_txt = general.get_local_or_remote_text( + 'https://services.swpc.noaa.gov/text/', mock_download_dir, + 'daily-solar-indices.txt') + + if raw_txt is None: + gdm.logger.info("".join(["Data not downloaded for ", + "daily-solar-indices.txt, data may have ", + "been saved to an unexpected filename."])) + else: + # Get the file paths and output names + file_paths = {data_name: data_path if name == data_name else + general.get_instrument_data_path( + 'sw_{:s}'.format(data_name), tag='daily') + for data_name in ['f107', 'flare', 'ssn', 'sbfield']} + + # Try and obtain the file date; otherwise assume it was issued today + fdate = find_issue_date(raw_txt) + if fdate is None: + fdate = today + + outfiles = { + data_name: os.path.join(file_paths[data_name], '_'.join([ + data_name, 'daily', '{:s}.txt'.format( + fdate.strftime('%Y-%m-%d'))])) + for data_name in file_paths.keys()} + + # Check that the directories exist + for data_path in file_paths.values(): + gdm.utils.files.check_and_make_path(data_path) + + # Save the output + rewrite_daily_solar_data_file(fdate.year, outfiles, raw_txt) + + return + + +def old_indices_dsd_download(name, date_array, data_path, local_files, today, + mock_download_dir=None): + """Download the old NOAA Daily Solar Data indices. + + Parameters + ---------- + name : str + Instrument name, expects one of 'f107', 'flare', 'ssn', or 'sbfield'. + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + data_path : str + Path to data directory. + local_files : pds.Series + A Series containing the local filenames indexed by time. + today : dt.datetime + Datetime for current day + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied. + + Note + ---- + Note that the download path for the complementary Instrument will use + the standard data paths + + """ + # Get the file paths + file_paths = {data_name: data_path if name == data_name else + general.get_instrument_data_path('sw_{:s}'.format(data_name), + tag='prelim') + for data_name in ['f107', 'flare', 'ssn', 'sbfield']} + + # Check that the directories exist + for data_path in file_paths.values(): + gdm.utils.files.check_and_make_path(data_path) + + if mock_download_dir is None: + # Connect to the host, default port + ftp = ftplib.FTP('ftp.swpc.noaa.gov') + ftp.login() # User anonymous, passwd anonymous + ftp.cwd('/pub/indices/old_indices') + elif not os.path.isdir(mock_download_dir): + raise IOError('file location is not a directory: {:}'.format( + mock_download_dir)) + + bad_fname = list() + + # To avoid downloading multiple files, cycle dates based on file length + dl_date = date_array[0] + while dl_date <= date_array[-1]: + # The file name changes, depending on how recent the requested data is + qnum = (dl_date.month - 1) // 3 + 1 # Integer floor division + qmonth = (qnum - 1) * 3 + 1 + quar = 'Q{:d}_'.format(qnum) + fnames = ['{:04d}{:s}DSD.txt'.format(dl_date.year, ss) + for ss in ['_', quar]] + versions = ["01_v2", "{:02d}_v1".format(qmonth)] + vend = [dt.datetime(dl_date.year, 12, 31), + dt.datetime(dl_date.year, qmonth, 1) + + pds.DateOffset(months=3) - pds.DateOffset(days=1)] + downloaded = False + rewritten = False + + # Attempt the download(s) + for iname, fname in enumerate(fnames): + # Test to see if we already tried this filename + if fname in bad_fname: + continue + + local_fname = fname + saved_fname = os.path.join(data_path, local_fname) + outfiles = { + data_name: os.path.join(file_paths[data_name], '_'.join( + [data_name, 'prelim', '{:04d}'.format(dl_date.year), + '{:s}.txt'.format(versions[iname])])) + for data_name in file_paths.keys()} + + if os.path.isfile(outfiles[name]): + downloaded = True + + # Check the date to see if this should be rewritten + checkfile = os.path.split(outfiles[name])[-1] + has_file = local_files == checkfile + if np.any(has_file): + if has_file[has_file].index[-1] < vend[iname]: + # This file will be updated again, but only attempt to + # do so if enough time has passed from the last time it + # was downloaded + yesterday = today - pds.DateOffset(days=1) + if has_file[has_file].index[-1] < yesterday: + rewritten = True + else: + # The file does not exist, if it can be downloaded, it + # should be 'rewritten' + rewritten = True + + # Attempt to download if the file does not exist or if the + # file has been updated + if rewritten or not downloaded: + if mock_download_dir is None: + try: + sys.stdout.flush() + ftp.retrbinary('RETR ' + fname, + open(saved_fname, 'wb').write) + downloaded = True + gdm.logger.info(' '.join(('Downloaded file for ', + dl_date.strftime('%x')))) + + except ftplib.error_perm as exception: + # Could not fetch, so cannot rewrite + rewritten = False + + # Test for an error + if str(exception.args[0]).split(" ", 1)[0] != '550': + raise IOError(exception) + else: + # File isn't actually there, try the next name. The + # extra wrapping is for Windows, which can encounter + # permission errors when handling files. + attempt = 0 + while attempt < 100: + try: + os.remove(saved_fname) + attempt = 100 + except PermissionError: + attempt += 1 + + # Save this so we don't try again. Because there are + # two possible filenames for each time, it's ok if + # one isn't there. We just don't want to keep + # looking for it. + bad_fname.append(fname) + else: + # Set the saved filename + saved_fname = os.path.join(mock_download_dir, local_fname) + + if os.path.isfile(saved_fname): + downloaded = True + rewritten = True + else: + gdm.logger.info("".join([saved_fname, "is missing, ", + "data may have been saved ", + "to an unexpected filename."])) + rewritten = False + + # If the first file worked, don't try again + if downloaded: + break + + if not downloaded: + gdm.logger.info(' '.join(('File not available for', + dl_date.strftime('%x')))) + elif rewritten: + with open(saved_fname, 'r') as fprelim: + lines = fprelim.read() + + rewrite_daily_solar_data_file(dl_date.year, outfiles, lines) + if mock_download_dir is None: + # Only remove the file if it wasn't obtained from a local dir + os.remove(saved_fname) + + # Cycle to the next date + dl_date = vend[iname] + pds.DateOffset(days=1) + + # Close connection after downloading all dates + if mock_download_dir is None: + ftp.close() + + return + + +def rewrite_daily_solar_data_file(year, outfiles, lines): + """Rewrite the SWPC Daily Solar Data files. + + Parameters + ---------- + year : int + Year of data file (format changes based on date) + outfiles : dict + Output filenames for all relevant Instruments + lines : str + String containing all output data (result of 'read') + + """ + + # Get to the solar index data + if year > 2000: + raw_data = lines.split('#---------------------------------')[-1] + raw_data = raw_data.split('\n')[1:-1] + optical = True + else: + raw_data = lines.split('# ')[-1] + raw_data = raw_data.split('\n') + optical = False if raw_data[0].find('Not Available') or year == 1994 \ + else True + istart = 7 if year < 2000 else 1 + raw_data = raw_data[istart:-1] + + # Parse the data + solar_times, data_dict = parse_daily_solar_data(raw_data, year, optical) + + # Separate data by Instrument name + data_cols = {'f107': ['f107'], + 'flare': ['goes_bgd_flux', 'c_flare', 'm_flare', 'x_flare', + 'o1_flare', 'o2_flare', 'o3_flare', 'o1_flare', + 'o2_flare', 'o3_flare', 'c_flare', 'm_flare', + 'x_flare'], + 'ssn': ['ssn', 'ss_area', 'new_reg'], + 'sbfield': ['smf']} + + for data_name in data_cols.keys(): + name_dict = {dkey: data_dict[dkey] for dkey in data_dict.keys() + if dkey in data_cols[data_name]} + + # Collect into DataFrame + data = pds.DataFrame(name_dict, index=solar_times) + + # Write out as a file + data.to_csv(outfiles[data_name], header=True) + gdm.logger.info('Wrote: {:}'.format(outfiles[data_name])) + + return + + +def parse_daily_solar_data(data_lines, year, optical): + """Parse the data in the SWPC daily solar index file. + + Parameters + ---------- + data_lines : list + List of lines containing data + year : list + Year of file + optical : boolean + Flag denoting whether or not optical data is available + + Returns + ------- + dates : list + List of dates for each date/data pair in this block + values : dict + Dict of lists of values, where each key is the value name + + """ + + # Initialize the output + dates = list() + val_keys = ['f107', 'ssn', 'ss_area', 'new_reg', 'smf', 'goes_bgd_flux', + 'c_flare', 'm_flare', 'x_flare', 'o1_flare', 'o2_flare', + 'o3_flare'] + optical_keys = ['o1_flare', 'o2_flare', 'o3_flare'] + xray_keys = ['c_flare', 'm_flare', 'x_flare'] + values = {kk: list() for kk in val_keys} + + # Cycle through each line in this file + for line in data_lines: + # Split the line on whitespace + split_line = line.split() + + # Format the date + dfmt = "%Y %m %d" if year > 1996 else "%d %b %y" + dates.append(dt.datetime.strptime(" ".join(split_line[0:3]), dfmt)) + + # Format the data values + j = 0 + for i, kk in enumerate(val_keys): + if year == 1994 and kk == 'new_reg': + # New regions only in files after 1994 + val = -999 + elif np.any([year == 1994 and kk in xray_keys, + not optical and kk in optical_keys]): + # X-ray flares in files after 1994, optical flares come later + val = -1 + else: + val = split_line[j + 3] + j += 1 + + if kk != 'goes_bgd_flux': + if val == "*": + val = -999 if i < 5 else -1 + else: + val = int(val) + values[kk].append(val) + + return dates, values + + +def solar_geomag_predictions_download(name, date_array, data_path, + mock_download_dir=None): + """Download the 3-day solar-geomagnetic predictions from SWPC. + + Parameters + ---------- + name : str + Instrument name, expects one of 'kp', 'ap', 'stormprob', 'f107', + 'flare', or 'polarcap'. + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied or the desired file + is missing. + + Note + ---- + Note that the download path for the complementary Instrument will use + the standard data paths + + """ + gdm.logger.info(forecast_warning) + + # Get the file paths + file_paths = {data_name: data_path if name == data_name else + general.get_instrument_data_path( + 'sw_{:s}'.format(data_name), + tag='forecast' if data_name == 'f107' else 'prediction') + for data_name in ['kp', 'ap', 'stormprob', 'f107', 'flare', + 'polarcap']} + + # Check that the directories exist + for data_path in file_paths.values(): + gdm.utils.files.check_and_make_path(data_path) + + # Get the file information + raw_txt = general.get_local_or_remote_text( + 'https://services.swpc.noaa.gov/text/', mock_download_dir, + '3-day-solar-geomag-predictions.txt') + + if raw_txt is None: + gdm.logger.info("".join(["Data not downloaded for ", + "3-day-solar-geomag-predictions.txt, data ", + "may have been saved to an unexpected ", + "filename."])) + else: + # Parse text to get the date the prediction was generated + dl_date = find_issue_date(raw_txt, '%Y %b %d %H%M UTC') + + # Parse the data to get the prediction dates + date_strs = raw_txt.split(':Prediction_dates:')[-1].split('\n')[0] + pred_times = [ + dt.datetime.strptime(' '.join(date_str.split()), '%Y %b %d') + for date_str in date_strs.split(' ') if len(date_str) > 0] + + # Separate out the data by chunks + ap_raw = raw_txt.split(':Geomagnetic_A_indices:')[-1] + kp_raw = raw_txt.split(':Pred_Mid_k:')[-1] + storm_raw = raw_txt.split(':Prob_Mid:')[-1] + pc_raw = raw_txt.split(':Polar_cap:')[-1] + f107_raw = raw_txt.split(':10cm_flux:')[-1] + flare_raw = raw_txt.split(':Whole_Disk_Flare_Prob:')[-1] + + # Initalize the data for each data type + data_vals = {data_name: dict() for data_name in file_paths.keys()} + data_times = {data_name: pred_times for data_name in file_paths.keys()} + + # Process the ap data + for line in ap_raw.split('\n'): + if line.find(":") == 0: + break + elif line.find("A_") == 0: + split_line = line.split() + if split_line[0] == "A_Planetary": + dkey = "daily_Ap" + else: + dkey = split_line[0] + + data_vals['ap'][dkey] = [int(val) for val in split_line[1:]] + + # Process the Kp data + hr_strs = ['00-03UT', '03-06UT', '06-09UT', '09-12UT', '12-15UT', + '15-18UT', '18-21UT', '21-00UT'] + data_times['kp'] = pds.date_range(pred_times[0], periods=24, freq='3h') + + for line in kp_raw.split('\n'): + if line.find("Prob_Mid") >= 0: + break + elif line.find("UT") > 0: + split_line = line.split() + reg, hr = split_line[0].split('/') + dkey = '{:s}_lat_Kp'.format(reg) + + # Initalize the Kp data for this region + if dkey not in data_vals['kp'].keys(): + data_vals['kp'][dkey] = np.full(shape=(24,), + fill_value=np.nan) + + # Save the Kp data into the correct day and hour index + hr_index = hr_strs.index(hr) + data_vals['kp'][dkey][hr_index] = float(split_line[1]) + data_vals['kp'][dkey][hr_index + 8] = float(split_line[2]) + data_vals['kp'][dkey][hr_index + 16] = float(split_line[3]) + + # Process the storm probabilities + for line in storm_raw.split('\n'): + if line.find("Polar_cap") >= 0: + break + elif len(line) > 0: + split_line = line.split() + if split_line[0].find('/') > 0: + dkey = split_line[0].replace('/', '-Lat_') + data_vals['stormprob'][dkey] = [ + int(val) for val in split_line[1:]] + + # Process the polar cap prediction + data_vals['polarcap']['absorption_forecast'] = [ + str_val for str_val in pc_raw.split('\n')[1].split()] + data_times['polarcap'] = [ + ptimes for i, ptimes in enumerate(pred_times) + if i < len(data_vals['polarcap']['absorption_forecast'])] + + # Process the F10.7 data + data_vals['f107']['f107'] = [ + int(val) for val in f107_raw.split('\n')[1].split()] + + # Process the flare data + dkey_root = 'Whole_Disk_Flare_Prob' + for line in flare_raw.split('\n'): + if len(line) > 0 and line.find("#") < 0: + if line.find(":") == 0: + dkey_root = line.split(":")[1] + else: + split_line = line.split() + + if len(split_line) == 4: + dkey = "_".join([dkey_root, split_line[0]]) + data_vals['flare'][dkey] = [ + int(val) for val in split_line[1:]] + else: + data_vals['flare']['{:s}_Region'.format(dkey_root)] = [ + int(split_line[0]), -1, -1] + data_vals['flare']['{:s}_Class_C'.format(dkey_root)] = [ + int(split_line[1]), -1, -1] + data_vals['flare']['{:s}_Class_M'.format(dkey_root)] = [ + int(split_line[2]), -1, -1] + data_vals['flare']['{:s}_Class_X'.format(dkey_root)] = [ + int(split_line[3]), -1, -1] + data_vals['flare']['{:s}_Class_P'.format(dkey_root)] = [ + int(split_line[4]), -1, -1] + + # Save the data by type into files + for data_name in data_vals.keys(): + # Put the data values into a nicer DataFrame + data = pds.DataFrame(data_vals[data_name], + index=data_times[data_name]) + + # Save the data as a CSV file + data_tag = 'forecast' if data_name == 'f107' else 'prediction' + data_file = '_'.join([data_name, data_tag, + '{:s}.txt'.format(dl_date.strftime( + '%Y-%m-%d'))]) + data.to_csv(os.path.join(file_paths[data_name], data_file), + header=True) + + return + + +def geomag_forecast_download(name, date_array, data_path, + mock_download_dir=None): + """Download the 3-day geomagnetic Kp, ap, and storm data from SWPC. + + Parameters + ---------- + name : str + Instrument name, expects one of 'kp', 'ap', or 'stormprob'. + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied or the desired file + is missing. + + Note + ---- + Note that the download path for the complementary Instrument will use + the standard data paths + + """ + gdm.logger.info(forecast_warning) + + # Get the file paths + file_paths = {data_name: data_path if name == data_name else + general.get_instrument_data_path( + 'sw_{:s}'.format(data_name), tag='forecast') + for data_name in ['kp', 'ap', 'stormprob']} + + # Check that the directories exist + for data_path in file_paths.values(): + gdm.utils.files.check_and_make_path(data_path) + + # Get the file information + raw_txt = general.get_local_or_remote_text( + 'https://services.swpc.noaa.gov/text/', mock_download_dir, + '3-day-geomag-forecast.txt') + + if raw_txt is None: + gdm.logger.info("".join(["Data not downloaded for ", + "3-day-geomag-forecast.txt, data may have ", + "been saved to an unexpected filename."])) + else: + # Parse text to get the date the prediction was generated + dl_date = find_issue_date(raw_txt, '%Y %b %d %H%M UTC') + + # Separate out the data by chunks + ap_raw = raw_txt.split('NOAA Ap Index Forecast')[-1] + kp_raw = raw_txt.split('NOAA Kp index forecast ')[-1] + storm_raw = raw_txt.split('NOAA Geomagnetic Activity Probabilities')[-1] + + # Get dates of the forecasts + date_str = kp_raw[0:6] + ' ' + str(dl_date.year) + forecast_date = dt.datetime.strptime(date_str, '%d %b %Y') + + # Strings we will use to parse the downloaded text for Kp + lines = ['00-03UT', '03-06UT', '06-09UT', '09-12UT', '12-15UT', + '15-18UT', '18-21UT', '21-00UT'] + + # Storage for daily Kp forecasts. Get values for each day, then combine + # them together + kp_day1 = [] + kp_day2 = [] + kp_day3 = [] + for line in lines: + raw = kp_raw.split(line)[-1].split('\n')[0] + cols = raw.split() + kp_day1.append(float(cols[-3])) + kp_day2.append(float(cols[-2])) + kp_day3.append(float(cols[-1])) + + kp_times = pds.date_range(forecast_date, periods=24, freq='3h') + kp_day = [] + for dd in [kp_day1, kp_day2, kp_day3]: + kp_day.extend(dd) + + # Put Kp data into nicer DataFrame + data_frames = {'kp': pds.DataFrame(kp_day, index=kp_times, + columns=['Kp'])} + + # Parse the Ap data + ap_times = pds.date_range(dl_date - dt.timedelta(days=1), periods=5, + freq='1D') + obs_line = ap_raw.split('Observed Ap')[-1].split('\n')[0] + est_line = ap_raw.split('Estimated Ap')[-1].split('\n')[0] + pred_line = ap_raw.split('Predicted Ap')[-1].split('\n')[0] + ap_vals = [int(obs_line[-3:]), int(est_line[-3:])] + + for ap_val in pred_line.split()[-1].split('-'): + ap_vals.append(int(ap_val)) + + # Put the Ap data into a nicer DataFrame + data_frames['ap'] = pds.DataFrame(ap_vals, index=ap_times, + columns=['daily_Ap']) + + # Parse the storm probabilities + storm_dict = {} + for storm_line in storm_raw.split('\n')[1:5]: + storm_split = storm_line.split() + + # Build the storm data column name + dkey = '_'.join(storm_split[:-1]) + + # Assign the storm probabilities + storm_dict[dkey] = [int(sp) for sp in storm_split[-1].split('/')] + + # Put the storm probabilities into a nicer DataFrame + storm_times = pds.date_range(forecast_date, periods=3, freq='1D') + data_frames['stormprob'] = pds.DataFrame(storm_dict, index=storm_times) + + # Save the data files + for data_name in data_frames.keys(): + filename = '{:s}_forecast_{:s}.txt'.format( + data_name, dl_date.strftime('%Y-%m-%d')) + data_frames[data_name].to_csv(os.path.join( + file_paths[data_name], filename), header=True) + + return + + +def kp_ap_recent_download(name, date_array, data_path, mock_download_dir=None): + """Download recent Kp and ap data from SWPC. + + Parameters + ---------- + name : str + Instrument name, expects 'kp' or 'ap'. + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied or the desired file + is missing. + + Note + ---- + Note that the download path for the complementary Instrument will use + the standard data paths + + """ + gdm.logger.info(forecast_warning) + + # Get the file paths + file_paths = {data_name: data_path if name == data_name else + general.get_instrument_data_path( + 'sw_{:s}'.format(data_name), tag='recent') + for data_name in ['kp', 'ap']} + + # Check that the directories exist + for data_path in file_paths.values(): + gdm.utils.files.check_and_make_path(data_path) + + # Get the file information + raw_txt = general.get_local_or_remote_text( + 'https://services.swpc.noaa.gov/text/', mock_download_dir, + 'daily-geomagnetic-indices.txt') + + if raw_txt is None: + gdm.logger.info("".join(["Data not downloaded for ", + "daily-geomagnetic-indices.txt, data may ", + "have been saved to an unexpected ", + "filename."])) + else: + # Parse text to get the date the prediction was generated + dl_date = find_issue_date(raw_txt) + + # Data is the forecast value for the next three days + raw_data = raw_txt.split('# Date ')[-1] + + # Keep only the middle bits that matter + raw_data = raw_data.split('\n')[1:-1] + + # Hold times from the file + times = [] + + # Holds Kp and Ap values for each station + sub_kps = [[], [], []] + sub_aps = [[], [], []] + + # Iterate through file lines and parse out the info we want + for line in raw_data: + times.append(dt.datetime.strptime(line[0:10], '%Y %m %d')) + + # Pick out Kp values for each of the three columns. The columns + # used to all have integer values, but now some have floats. + kp_sub_lines = [line[17:33], line[40:56], line[63:]] + ap_sub_lines = [line[10:17], line[33:40], line[56:63]] + for i, sub_line in enumerate(kp_sub_lines): + # Process the Kp data, which has 3-hour values + split_sub = sub_line.split() + for ihr in np.arange(8): + if sub_line.find('.') < 0: + # These are integer values + sub_kps[i].append( + int(sub_line[(ihr * 2):((ihr + 1) * 2)])) + else: + # These are float values + sub_kps[i].append(np.float64(split_sub[ihr])) + + # Process the Ap data, which has daily values + sub_aps[i].append(np.int64(ap_sub_lines[i])) + + # Create times on 3 hour cadence + kp_times = pds.date_range(times[0], periods=(8 * 30), freq='3h') + + # Put both data sets into DataFrames + data = {'kp': pds.DataFrame({'mid_lat_Kp': sub_kps[0], + 'high_lat_Kp': sub_kps[1], + 'Kp': sub_kps[2]}, index=kp_times), + 'ap': pds.DataFrame({'mid_lat_Ap': sub_aps[0], + 'high_lat_Ap': sub_aps[1], + 'daily_Ap': sub_aps[2]}, index=times)} + + # Write out the data sets as files + for dkey in data.keys(): + data_file = '{:s}_recent_{:s}.txt'.format( + dkey, dl_date.strftime('%Y-%m-%d')) + + data[dkey].to_csv(os.path.join(file_paths[dkey], data_file), + header=True) + + return + + +def recent_ap_f107_download(name, date_array, data_path, + mock_download_dir=None): + """Download 45-day ap and F10.7 data from SWPC. + + Parameters + ---------- + name : str + Instrument name, expects 'f107' or 'ap'. + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied or the desored file + is missing. + + Note + ---- + Note that the download path for the complementary Instrument will use + the standard data paths + + """ + gdm.logger.info(forecast_warning) + + # Get the file paths + file_paths = {data_name: data_path if name == data_name else + general.get_instrument_data_path( + 'sw_{:s}'.format(data_name), tag='45day') + for data_name in ['f107', 'ap']} + + # Check that the directories exist + for data_path in file_paths.values(): + gdm.utils.files.check_and_make_path(data_path) + + # Get the file information + raw_txt = general.get_local_or_remote_text( + 'https://services.swpc.noaa.gov/text/', mock_download_dir, + '45-day-forecast.txt') + + if raw_txt is None: + gdm.logger.info("".join(["Data not downloaded for ", + "45-day-forecast.txt, data may have been", + " saved to an unexpected filename."])) + else: + # Parse text to get the date the prediction was generated + dl_date = find_issue_date(raw_txt, '%Y %b %d %H%M UTC') + + # Get to the forecast data + raw_data = raw_txt.split('45-DAY AP FORECAST')[-1] + + # Grab Ap part + raw_ap = raw_data.split('45-DAY F10.7 CM FLUX FORECAST')[0] + raw_ap = raw_ap.split('\n')[1:-1] + + # Get the F107 + raw_f107 = raw_data.split('45-DAY F10.7 CM FLUX FORECAST')[-1] + raw_f107 = raw_f107.split('\n')[1:10] + + # Parse the data + ap_times, ap = parse_45day_block(raw_ap) + f107_times, f107 = parse_45day_block(raw_f107) + + # Save the data in DataFrames + data = {'ap': pds.DataFrame(ap, index=ap_times, columns=['daily_Ap']), + 'f107': pds.DataFrame(f107, index=f107_times, columns=['f107'])} + + # Ensure there is a download date + if dl_date is None: + dl_date = ap_times[0] + + # Write out the data files + for data_name in data.keys(): + file_name = '{:s}_45day_{:s}.txt'.format( + data_name, dl_date.strftime('%Y-%m-%d')) + data[data_name].to_csv(os.path.join(file_paths[data_name], + file_name), header=True) + + return + + +def parse_45day_block(block_lines): + """Parse the data blocks used in the 45-day Ap and F10.7 Flux Forecast file. + + Parameters + ---------- + block_lines : list + List of lines containing data in this data block + + Returns + ------- + dates : list + List of dates for each date/data pair in this block + values : list + List of values for each date/data pair in this block + + """ + + # Initialize the output + dates = list() + values = list() + + # Cycle through each line in this block + for line in block_lines: + # Split the line on whitespace + split_line = line.split() + + # Format the dates + dates.extend([dt.datetime.strptime(tt, "%d%b%y") + for tt in split_line[::2]]) + + # Format the data values + values.extend([int(vv) for vv in split_line[1::2]]) + + return dates, values + + +def list_files(name, tag, inst_id, data_path, format_str=None): + """List local files for Kp or ap data obtained from SWPC. + + Parameters + ---------- + name : str + Instrument name. + tag : str + String specifying the database, expects 'def' (definitive) or 'now' + (nowcast) + inst_id : str + Specifies the instrument identification, not used. + data_path : str + Path to data directory. + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + files : gdm._files.Files + A class containing the verified available files + + """ + + if format_str is None: + format_str = '_'.join([name, tag, + '{year:04d}-{month:02d}-{day:02d}.txt']) + files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + + # Pad list of files data to include most recent file under tomorrow + if not files.empty: + pds_offset = dt.timedelta(days=1) + files.loc[files.index[-1] + pds_offset] = files.values[-1] + files.loc[files.index[-1] + pds_offset] = files.values[-1] + + return files + + +def find_issue_date(file_txt, date_fmt="%H%M UT %d %b %Y"): + r"""Find the issue date for a SWPC file. + + Parameters + ---------- + file_txt : str + String containing all text in a file. + date_fmt : str + Expected date format (default='%H%M UT %d %b %Y') + + Returns + ------- + dl_date : dt.datetime or NoneType + Datetime object with time that the file was issued or None if an + error is encountered + + Note + ---- + Assumes the file has a line formatted as: ':Issued: \n' + + """ + dl_date = None + + # Parse text to get the date the prediction was generated + if file_txt.find(':Issued:') >= 0: + date_str = file_txt.split(':Issued: ')[-1].split('\n')[0] + + try: + dl_date = dt.datetime.strptime(date_str, date_fmt) + except Exception as err: + gdm.logger.critical(''.join(['Unexpected issued date format ', + repr(date_str), ' did not match ', + date_fmt, '; failed with error: ', + repr(err)])) + else: + gdm.logger.critical('Unable to find issue line in file') + + return dl_date diff --git a/GeospaceDataManagement/instruments/sw_mgii.py b/GeospaceDataManagement/instruments/sw_mgii.py new file mode 100644 index 0000000..396a9a7 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_mgii.py @@ -0,0 +1,307 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports the MgII core-to-wing ratio index. + +Properties +---------- +platform + 'sw' +name + 'mgii' +tag + - 'composite' Composite data set of MgII core-to-wing index + - 'sorce' SORCE SOLSTICE MgII core-to-wing index + +Examples +-------- +Download a month of the composite MgII data and load the second day of the +month. +:: + + stime = dt.datetime(1981, 2, 2) + mgii = gdm.Instrument('sw', 'mgii', tag='composite') + mgii.download(start=stime) + mgii.load(date=stime) + +""" + +import datetime as dt +import numpy as np +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.sw_methods import general +from GeospaceDataManagement.instruments.sw_methods import lisird + + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'mgii' +tags = {'composite': 'Composite data set of MgII core-to-wing index', + 'sorce': 'SORCE SOLSTICE MgII core-to-wing index'} + +# Dict keyed by inst_id that lists supported tags for each inst_id +inst_ids = {'': [tag for tag in tags.keys()]} + +# Dict keyed by inst_id that lists supported tags and a good day of test data +# generate todays date to support loading forecast data +now = dt.datetime.now(tz=dt.timezone.utc) +today = dt.datetime(now.year, now.month, now.day) +tomorrow = today + pds.DateOffset(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'composite': dt.datetime(1981, 11, 6), + 'sorce': dt.datetime(2005, 3, 6)}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = general.preprocess + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the required Instrument attributes + self.acknowledgements = lisird.ackn + self.references = lisird.references(self.platform, self.name, self.tag, + self.inst_id) + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean the MGII data, empty function as this is not necessary.""" + + if self.tag == 'sorce': + gdm.logger.warning(''.join(["The SORCE MGII core-to-wing ratio has ", + "an associated uncertaintly ('unc') ", + "that should be considered when using ", + 'the data'])) + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load MGII core-to-wing ratio index files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames. + tag : str + Instrument tag. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data. + + See Also + -------- + gdm.instruments.methods.general.load_csv_data + + """ + # Get the desired file dates and file names from the daily indexed list + file_dates = list() + if tag == 'composite': + unique_files = list() + for fname in fnames: + file_dates.append(dt.datetime.strptime(fname[-10:], '%Y-%m-%d')) + if fname[0:-11] not in unique_files: + unique_files.append(fname[0:-11]) + fnames = unique_files + + # Load the CSV data files + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={"index_col": 0, "parse_dates": True}) + + # If there is a date range, downselect here + if len(file_dates) > 0: + idx, = np.where((data.index >= min(file_dates)) + & (data.index < max(file_dates) + dt.timedelta(days=1))) + data = data.iloc[idx, :] + + # Recast the data + data = data.to_xarray() + + # Initalize the metadata + notes = { + 'composite': ''.join([ + 'The Mg II Index is a proxy for solar chromospheric variability. ', + 'This composite data record is based on the work of Viereck et ', + 'al. (2004) Space Weather, vol 2, CiteID S10005 for measurements', + ' from 1978 through 2003. For this time range, the Upper ', + 'Atmosphere Research Satellite (UARS) Solar Ultraviolet Spectral ', + 'Irradiance Monitor (SUSIM), UARS Solar Stellar Irradiance ', + 'Comparison Experiment (SOLSTICE), ERS-2/Global Ozone Monitoring ', + 'Experiment (GOME) and five NOAA solar backscatter ultraviolet ', + 'data sets were used. Initially, the best data sets were ', + 'selected. Then the gaps in the record were filled with data ', + 'from various other Mg II data sets. Where no alternate data were', + ' available, a cubic spline function was used to bridge the ', + 'missing data. In some cases the data gaps were too long for ', + 'reasonable spline fits (more than 5 days), and for these gaps ', + 'the F10.7 cm flux data were scaled to fill the gaps.\nStarting ', + 'in 2003, the data from SORCE SOLSTICE is used exclusively. The ', + 'SOLSTICE spectra have been convolved with a 1.1 nm triangular ', + 'response function to improve the long-term agreement with other ', + 'measurements. All of the data sets have been normalized to a ', + 'commonscale to create a single long-term record.\nFor more ', + 'details please see https://lasp.colorado.edu/home/sorce/', + 'instruments/solstice/solstice-data-product-release-notes/.']), + 'sorce': ''.join([ + 'The SORCE Magnesium II core-to-wing index is produced from SORCE', + ' SOLSTICE instrument measurements using the definition in Snow ', + 'et al. [2005]. The spectral resolution of SORCE SOLSTICE (0.1 ', + 'nm) allows the emission cores of the Mg II doublet to be fully ', + 'resolved and modeled with Gaussian functions. To determine the ', + 'wing irradiances, the spectrum is convolved with a 1.1 nm ', + 'triangular bandpass and then measured at the four wavelengths ', + 'used by NOAA as described in Heath and Schlesinger [1986]. This', + ' method has several advantages; most importantly it extracts a ', + 'more precise measurement of solar activity [Snow et al., 2005]. ', + 'A simple linear correlation with the standard NOAA data product ', + 'can be used to scale this SORCE measurement to be compatible ', + 'with the long-term composite Mg II index maintained by NOAA.'])} + data['mg_index'].attrs.update({'units': '', 'name': 'MG II index', + 'notes': notes[tag], + 'desc': 'MG II core-to-wing ratio index', + 'fill_val': np.nan, 'min_val': 0, + 'max_val': np.inf}) + + if 'unc' in data: + data['unc'].attrs.udpate( + {'units': '', 'name': 'MG II Index Uncertainty', + 'notes': "".join([ + "As described in Snow et al. (2005), the formal uncertainty", + " in each SOLSTICE MgII index measurement is about 0.65%. ", + "This is derived from the statistical uncertainty of the ", + "underlying spectral measurements and the way they are ", + "combined to produce the index."]), + 'desc': 'MG II core-to-wing ratio index uncertainty', + 'fill_val': np.nan, 'min_val': 0, 'max_val': np.inf}) + + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local MGII core-to-wing ratio index files. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + out_files : gdm._files.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # If the format string is not supplied, build the default string + if format_str is None: + format_str = "".join([ + "mgii_", tag, "_{year:04d}-{month:02d}", + '.txt' if tag == 'composite' else '-{day:02d}.txt']) + + # Get the files using the default function + out_files = gdm.Files.from_os(data_path=data_path, format_str=format_str) + + if tag == 'composite': + # Files are by month, going to add date to monthly filename for + # each day of the month. The load routine will load a month of + # data and use the appended date to select out appropriate data. + if not out_files.empty: + out_files.loc[out_files.index[-1] + pds.DateOffset(months=1) + - pds.DateOffset(days=1)] = out_files.iloc[-1] + out_files = out_files.asfreq('D', 'pad') + out_files = out_files + '_' + out_files.index.strftime( + '%Y-%m-%d') + + return out_files + + +def download(date_array, tag, inst_id, data_path, mock_download_dir=None): + """Download MGII core-to-wing index data from the appropriate repository. + + Parameters + ---------- + date_array : array-like + Sequence of dates for which files will be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the ID for the Instrument (not used). + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded. (default=None) + + Raises + ------ + IOError + If a problem is encountered connecting to the gateway or retrieving + data from the remote or local repository. + + """ + + # Set the download input options + local_file_prefix = "mgii_{:s}_".format(tag) + lisird_data_name = "{:s}_mg_index".format(tag) + + if tag == "composite": + local_file_prefix = "mgii_composite_" + local_date_fmt = "%Y-%m" + freq = pds.DateOffset(months=1, seconds=-1) + + # Adjust the date array if monthly downloads are desired + if date_array.freq != 'MS': + date_array = gdm.utils.time.create_date_range( + dt.datetime(date_array[0].year, date_array[0].month, 1), + date_array[-1], freq='MS') + + elif tag == "sorce": + local_date_fmt = "%Y-%m-%d" + freq = dt.timedelta(seconds=86399) + + # Download the desired data + lisird.download(date_array, data_path, local_file_prefix, local_date_fmt, + lisird_data_name, freq, mock_download_dir=mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_polarcap.py b/GeospaceDataManagement/instruments/sw_polarcap.py new file mode 100644 index 0000000..1198c78 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_polarcap.py @@ -0,0 +1,189 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports polar cap indexes. + +Properties +---------- +platform + 'sw' +name + 'polarcap' +tag + - 'prediction' Predictions from SWPC for the next 3 days +inst_id + - '' + +Note +---- +Downloads data from SWPC. These files also contain other data indices, and so +the additional data files will be saved to the appropriate data directories to +avoid multiple downloads. + +The forecast/prediction data is stored by generation date, where each file +contains the forecast for the next three days. Forecast data downloads are only +supported for the current day. When loading forecast data, the date specified +with the load command is the date the forecast was generated. The data loaded +will span three days. To always ensure you are loading the most recent data, +load the data with tomorrow's date. + +Examples +-------- +:: + + pc = gdm.Instrument('sw', 'polarcap', tag='prediction') + pc.download() + pc.load(date=pc.tomorrow()) + + +Warnings +-------- +The 'prediction' tag loads polar cap absoprtion predictions for a specific +period of time. Loading multiple files, loading multiple days, the data padding +feature, and multi_file_day feature available from the pyast.Instrument object +is not appropriate for these tags data. + +""" + +import datetime as dt +import functools +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'polarcap' +tags = {'prediction': 'SWPC Predictions for the next three days'} +inst_ids = {'': list(tags.keys())} + +# Generate todays date to support loading forecast data +now = dt.datetime.now(tz=dt.timezone.utc) +today = dt.datetime(now.year, now.month, now.day) +tomorrow = today + dt.timedelta(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates +_test_dates = {'': {'prediction': tomorrow}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = sw_methods.swpc.ackn + self.references = "".join(["Check SWPC for appropriate references: ", + "https://www.swpc.noaa.gov/phenomena"]) + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the polar cap indexes, not required (empty function).""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + +list_files = functools.partial(sw_methods.swpc.list_files, name) + + +def load(fnames, tag='', inst_id=''): + """Load storm probability files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + tag : str + Instrument tag (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + # Load the data + all_data = [] + for fname in fnames: + result = pds.read_csv(fname, index_col=0, parse_dates=True) + all_data.append(result) + + data = pds.concat(all_data).to_xarray() + + # Initialize the metadata + for dkey in data.data_vars.keys(): + data[dkey].attrs.update({'units': '', 'name': dkey, + 'desc': dkey.replace('_', ' '), + 'min_val': 'green', 'max_val': 'red', + 'fill_val': ''}) + + return data + + +def download(date_array, tag, inst_id, data_path, mock_download_dir=None): + """Download the polar cap indices from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the instrument identification, not used. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded. (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied. + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + Warnings + -------- + Only able to download current recent data, not archived forecasts. + + """ + + if tag == 'prediction': + sw_methods.swpc.solar_geomag_predictions_download( + name, date_array, data_path, mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_sbfield.py b/GeospaceDataManagement/instruments/sw_sbfield.py new file mode 100644 index 0000000..b396c25 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_sbfield.py @@ -0,0 +1,280 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports solar magnetic field values. + +Properties +---------- +platform + 'sw' +name + 'sbfield' +tag + - 'prelim' Preliminary SWPC daily solar indices + - 'daily' Daily SWPC solar indices (contains last 30 days) + +Examples +-------- +Download and load some preliminary solar magnetic field data. +:: + + smf = gdm.Instrument('sw', 'sbfield', tag='prelim') + smf.download(start=dt.datetime(2001, 1, 1)) + smf.load(date=dt.datetime(2001, 1, 1)) + +""" + +import datetime as dt +import numpy as np +import os +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'sbfield' +tags = {'prelim': 'Preliminary SWPC daily solar indices', + 'daily': 'Daily SWPC solar indices (contains last 30 days)'} + +# Dict keyed by inst_id that lists supported tags for each inst_id +inst_ids = {'': [tag for tag in tags.keys()]} + +# Dict keyed by inst_id that lists supported tags and a good day of test data +# generate todays date to support loading forecast data +now = dt.datetime.now(tz=dt.timezone.utc) +today = dt.datetime(now.year, now.month, now.day) +tomorrow = today + pds.DateOffset(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'prelim': dt.datetime(2009, 1, 1), + 'daily': tomorrow}} + +# Other tags assumed to be True +_test_download_ci = {'': {'prelim': False}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the required Instrument attributes + self.acknowledgements = sw_methods.swpc.ackn + self.references = "".join(["Scherrer, P.H., Wilcox, J.M., Svalgaard, L. ", + "et al. The mean magnetic field of the Sun: ", + "Observations at Stanford. Sol Phys 54, 353–361", + " (1977). https://doi.org/10.1007/BF00159925"]) + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean the data, empty function as this is not necessary.""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load solar magnetic field files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames. + tag : str + Instrument tag. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data. + + See Also + -------- + gdm.instruments.methods.general.load_csv_data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + # Get the desired file dates and file names from the daily indexed list + file_dates = list() + if tag == 'prelim': + unique_files = list() + for fname in fnames: + file_dates.append(dt.datetime.strptime(fname[-10:], '%Y-%m-%d')) + if fname[0:-11] not in unique_files: + unique_files.append(fname[0:-11]) + fnames = unique_files + + # Load the CSV data files + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={"index_col": 0, "parse_dates": True}) + + # If there is a date range, downselect here + if len(file_dates) > 0: + idx, = np.where((data.index >= min(file_dates)) + & (data.index < max(file_dates) + dt.timedelta(days=1))) + data = data.iloc[idx, :] + + # Convert the data type + data = data.to_xarray() + + # Initialize the metadata + data['smf'].attrs.update({'units': 'G', 'name': 'Solar Mean Field', + 'notes': '', 'desc': 'Standford Solar Mean Field', + 'fill_val': -999, 'min_val': 0, + 'max_val': np.inf}) + + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local solar magnetic field data files. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + out_files : gdm._files.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + + if tag == 'prelim': + # Files are by year (and quarter) + if format_str is None: + format_str = ''.join(['sbfield_prelim_{year:04d}_{month:02d}', + '_v{version:01d}.txt']) + out_files = gdm.Files.from_os(data_path=data_path, + format_str=format_str) + + if not out_files.empty: + # Set each file's valid length at a 1-day resolution + orig_files = out_files.sort_index().copy() + new_files = list() + + for orig in orig_files.items(): + # Version determines each file's valid length + version = int(orig[1].split("_v")[1][0]) + doff = pds.DateOffset(years=1) if version == 2 \ + else pds.DateOffset(months=3) + istart = orig[0] + iend = istart + doff - pds.DateOffset(days=1) + + # Ensure the end time does not extend past the number of + # possible days included based on the file's download time + fname = os.path.join(data_path, orig[1]) + dend = dt.datetime.utcfromtimestamp(os.path.getctime(fname)) + dend = dend - pds.DateOffset(days=1) + if dend < iend: + iend = dend + + # Pad the original file index + out_files.loc[iend] = orig[1] + out_files = out_files.sort_index() + + # Save the files at a daily cadence over the desired period + new_files.append(out_files.loc[istart: + iend].asfreq('D', 'pad')) + # Add the newly indexed files to the file output + out_files = pds.concat(new_files, sort=True) + out_files = out_files.dropna() + out_files = out_files.sort_index() + out_files = out_files + '_' + out_files.index.strftime('%Y-%m-%d') + + elif tag == 'daily': + out_files = sw_methods.swpc.list_files(name, tag, inst_id, data_path, + format_str=format_str) + + return out_files + + +def download(date_array, tag, inst_id, data_path, update_files=False, + mock_download_dir=None): + """Download solar magnetic field data from the appropriate repository. + + Parameters + ---------- + date_array : array-like + Sequence of dates for which files will be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the satellite ID for a constellation. + data_path : str + Path to data directory. + update_files : bool + Re-download data for files that already exist if True (default=False) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded. (default=None) + + Raises + ------ + IOError + If a problem is encountered connecting to the gateway or retrieving + data from the remote or local repository. + + Warnings + -------- + Only able to download current forecast data, not archived forecasts. + + """ + if tag == 'prelim': + # Get the local files, to ensure that the version 1 files are + # downloaded again if more data has been added + local_files = list_files(tag, inst_id, data_path) + + sw_methods.swpc.old_indices_dsd_download(name, date_array, data_path, + local_files, today, + mock_download_dir) + + elif tag == 'daily': + sw_methods.swpc.daily_dsd_download(name, today, data_path, + mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_ssn.py b/GeospaceDataManagement/instruments/sw_ssn.py new file mode 100644 index 0000000..7d74a10 --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_ssn.py @@ -0,0 +1,321 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports Sunspot Number (SSN) and related indices. + +Properties +---------- +platform + 'sw' +name + 'ssn' +tag + - 'prelim' Preliminary SWPC daily solar indices + - 'daily' Daily SWPC solar indices (contains last 30 days) + - 'now' Nowcast and definitive international sunspot number data from GFZ + +Examples +-------- +Download and load some preliminary SSN data. +:: + + ssn = gdm.Instrument('sw', 'ssn', tag='prelim') + ssn.download(start=dt.datetime(2001, 1, 1)) + ssn.load(date=dt.datetime(2001, 1, 1)) + +""" + +import datetime as dt +import numpy as np +import os +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'ssn' +tags = {'prelim': 'Preliminary SWPC daily solar indices', + 'daily': 'Daily SWPC solar indices (contains last 30 days)', + 'now': + 'Nowcast and definitive international sunspot number data from GFZ'} + +# Dict keyed by inst_id that lists supported tags for each inst_id +inst_ids = {'': [tag for tag in tags.keys()]} + +# Dict keyed by inst_id that lists supported tags and a good day of test data +# generate todays date to support loading forecast data +now = dt.datetime.now(tz=dt.timezone.utc) +today = dt.datetime(now.year, now.month, now.day) +tomorrow = today + pds.DateOffset(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +_test_dates = {'': {'prelim': dt.datetime(2009, 1, 1), + 'now': dt.datetime(2009, 1, 1), + 'daily': tomorrow}} + +# Other tags assumed to be True +_test_download_ci = {'': {'prelim': False}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + # Set the required Instrument attributes + if self.tag == 'now': + self.acknowledgements = sw_methods.gfz.ackn + else: + self.acknowledgements = sw_methods.swpc.ackn + self.references = "".join(["E.g., Arlt, R., Vaquero, J.M. Historical ", + "sunspot records. Living Rev Sol Phys 17, 1 ", + '(2020). doi:10.1007/s41116-020-0023-y']) + gdm.logger.info(self.acknowledgements) + + return + + +def clean(self): + """Clean the data, empty function as this is not necessary.""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + + +def load(fnames, tag='', inst_id=''): + """Load SSN files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames. + tag : str + Instrument tag. (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data. + + See Also + -------- + gdm.instruments.methods.general.load_csv_data + + """ + + # Get the desired file dates and file names from the daily indexed list + file_dates = list() + if tag in ['prelim', 'now']: + unique_files = list() + for fname in fnames: + file_dates.append(dt.datetime.strptime(fname[-10:], '%Y-%m-%d')) + if fname[0:-11] not in unique_files: + unique_files.append(fname[0:-11]) + fnames = unique_files + + # Load the CSV data files + data = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={"index_col": 0, "parse_dates": True}) + + # Adjust variable names to be consistent across data sets + if tag == 'now': + data = data.rename(columns={'SN': 'ssn'}) + + # If there is a date range, downselect here + if len(file_dates) > 0: + idx, = np.where((data.index >= min(file_dates)) + & (data.index < max(file_dates) + dt.timedelta(days=1))) + data = data.iloc[idx, :] + + # Recast the data + data = data.to_xarray() + + # Initialize the metadata + data['ssn'].attrs.update({'units': '', 'name': 'Sunspot Number', + 'notes': '', 'desc': 'SESC Sunspot Number', + 'fill_val': -999, 'min_val': 0, + 'max_val': np.inf}) + if 'ss_area' in data: + data['ss_area'].attrs.update({ + 'units': '10$^-6$ Solar Hemisphere', 'name': 'Sunspot Area', + 'notes': '', 'desc': ''.join(['Sunspot Area in Millionths of the ', + 'Visible Hemisphere']), + 'fill_val': -999, 'min_val': 0, 'max_val': 1.0e6}) + if 'new_reg' in data: + data['new_reg'].attrs.update({'units': '', 'name': 'New Regions', + 'notes': '', + 'desc': 'New active solar regions', + 'fill_val': -999, 'min_val': 0, + 'max_val': np.inf}) + + return data + + +def list_files(tag='', inst_id='', data_path='', format_str=None): + """List local solar magnetic field data files. + + Parameters + ---------- + tag : str + Instrument tag, accepts any value from `tags`. (default='') + inst_id : str + Instrument ID, not used. (default='') + data_path : str + Path to data directory. (default='') + format_str : str or NoneType + User specified file format. If None is specified, the default + formats associated with the supplied tags are used. (default=None) + + Returns + ------- + out_files : gdm._files.Files + A class containing the verified available files + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + """ + if tag == 'prelim': + # Files are by year (and quarter) + if format_str is None: + format_str = ''.join(['ssn_prelim_{year:04d}_{month:02d}', + '_v{version:01d}.txt']) + out_files = gdm.Files.from_os(data_path=data_path, + format_str=format_str) + + if not out_files.empty: + # Set each file's valid length at a 1-day resolution + orig_files = out_files.sort_index().copy() + new_files = list() + + for orig in orig_files.items(): + # Version determines each file's valid length + version = int(orig[1].split("_v")[1][0]) + doff = pds.DateOffset(years=1) if version == 2 \ + else pds.DateOffset(months=3) + istart = orig[0] + iend = istart + doff - pds.DateOffset(days=1) + + # Ensure the end time does not extend past the number of + # possible days included based on the file's download time + fname = os.path.join(data_path, orig[1]) + dend = dt.datetime.utcfromtimestamp(os.path.getctime(fname)) + dend = dend - pds.DateOffset(days=1) + if dend < iend: + iend = dend + + # Pad the original file index + out_files.loc[iend] = orig[1] + out_files = out_files.sort_index() + + # Save the files at a daily cadence over the desired period + new_files.append(out_files.loc[istart: + iend].asfreq('D', 'pad')) + # Add the newly indexed files to the file output + out_files = pds.concat(new_files, sort=True) + out_files = out_files.dropna() + out_files = out_files.sort_index() + out_files = out_files + '_' + out_files.index.strftime('%Y-%m-%d') + + elif tag == 'now': + if format_str is None: + format_str = 'SN_{year:04d}-{month:02d}.txt' + + out_files = gdm.Files.from_os(data_path=data_path, + format_str=format_str) + if not out_files.empty: + freq = pds.DateOffset(months=1, days=-1) + out_files.loc[out_files.index[-1] + freq] = out_files.iloc[-1] + out_files = out_files.asfreq('D', 'pad') + out_files = out_files + '_' + out_files.index.strftime('%Y-%m-%d') + + elif tag == 'daily': + out_files = sw_methods.swpc.list_files(name, tag, inst_id, data_path, + format_str=format_str) + + return out_files + + +def download(date_array, tag, inst_id, data_path, update_files=False, + mock_download_dir=None): + """Download solar magnetic field data from the appropriate repository. + + Parameters + ---------- + date_array : array-like + Sequence of dates for which files will be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the satellite ID for a constellation. + data_path : str + Path to data directory. + update_files : bool + Re-download data for files that already exist if True. (default=False) + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded. (default=None) + + Raises + ------ + IOError + If a problem is encountered connecting to the gateway or retrieving + data from the remote or local repository. + + Warnings + -------- + Only able to download current forecast data, not archived forecasts. + + """ + if tag == 'prelim': + # Get the local files, to ensure that the version 1 files are + # downloaded again if more data has been added + local_files = list_files(tag, inst_id, data_path) + + sw_methods.swpc.old_indices_dsd_download(name, date_array, data_path, + local_files, today, + mock_download_dir) + + elif tag == 'daily': + sw_methods.swpc.daily_dsd_download(name, today, data_path, + mock_download_dir) + + elif tag == 'now': + # Set the download input options + gfz_data_name = 'SN' + local_file_prefix = '{:s}_'.format(gfz_data_name) + + # Call the download routine + sw_methods.gfz.json_downloads(date_array, data_path, local_file_prefix, + "%Y-%m", gfz_data_name, + pds.DateOffset(months=1, seconds=-1), + update_files=update_files, + mock_download_dir=mock_download_dir) + + return diff --git a/GeospaceDataManagement/instruments/sw_stormprob.py b/GeospaceDataManagement/instruments/sw_stormprob.py new file mode 100644 index 0000000..7b209ca --- /dev/null +++ b/GeospaceDataManagement/instruments/sw_stormprob.py @@ -0,0 +1,201 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Supports storm probabilities. + +Properties +---------- +platform + 'sw' +name + 'stormprob' +tag + - 'prediction' Predictions from SWPC for the next 3 days + - 'forecast' Grab forecast data from SWPC (next 3 days) +inst_id + - '' + +Note +---- +Downloads data from SWPC. These files also contain other data indices, and so +the additional data files will be saved to the appropriate data directories to +avoid multiple downloads. + +The forecast data is stored by generation date, where each file contains the +forecast for the next three days. Forecast data downloads are only supported +for the current day. When loading forecast data, the date specified with the +load command is the date the forecast was generated. The data loaded will span +three days. To always ensure you are loading the most recent data, load +the data with tomorrow's date. + +Examples +-------- +:: + + storm = gdm.Instrument('sw', 'stormprob', tag='forecast') + storm.download() + storm.load(date=storm.tomorrow()) + + +Warnings +-------- +The 'forecast' tag loads storm probabilities for a specific period of time. +Loading multiple files, loading multiple days, the data padding feature, and +multi_file_day feature available from the pyast.Instrument object is not +appropriate for these tags data. + +""" + +import datetime as dt +import functools +import pandas as pds + +import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import sw_methods + +# ---------------------------------------------------------------------------- +# Instrument attributes + +platform = 'sw' +name = 'stormprob' +tags = {'forecast': 'SWPC Forecast data next (3 days)', + 'prediction': 'SWPC Predictions for the next three days'} +inst_ids = {'': list(tags.keys())} + +# Generate todays date to support loading forecast data +now = dt.datetime.now(tz=dt.timezone.utc) +today = dt.datetime(now.year, now.month, now.day) +tomorrow = today + dt.timedelta(days=1) + +# ---------------------------------------------------------------------------- +# Instrument test attributes + +# Set test dates +_test_dates = {'': {'forecast': tomorrow, + 'prediction': tomorrow}} + +# ---------------------------------------------------------------------------- +# Instrument methods + +preprocess = sw_methods.general.preprocess_fill + + +def init(self): + """Initialize the Instrument object with instrument specific values.""" + + self.acknowledgements = sw_methods.swpc.ackn + self.references = "".join(["https://www.swpc.noaa.gov/sites/default/files", + "/images/NOAAscales.pdf"]) + gdm.logger.info(self.acknowledgements) + return + + +def clean(self): + """Clean the Kp, not required for this index (empty function).""" + + return + + +# ---------------------------------------------------------------------------- +# Instrument functions + +list_files = functools.partial(sw_methods.swpc.list_files, name) + + +def load(fnames, tag='', inst_id=''): + """Load storm probability files. + + Parameters + ---------- + fnames : pandas.Series + Series of filenames + tag : str + Instrument tag (default='') + inst_id : str + Instrument ID, not used. (default='') + + Returns + ------- + data : xr.Dataset + Object containing satellite data + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + Warnings + -------- + tag '' has been deprecated, will be removed in version 0.2.0+ + + """ + + # Load the data + all_data = [] + for fname in fnames: + result = pds.read_csv(fname, index_col=0, parse_dates=True) + all_data.append(result) + + data = pds.concat(all_data).to_xarray() + fill_val = -1 + + # Initialize the metadata + for dkey in data.data_vars.keys(): + data[dkey].attrs.update({'units': '', 'name': dkey, + 'desc': dkey.replace('_', ' '), + 'min_val': 0, 'max_val': 100, + 'fill_val': fill_val}) + + return data + + +def download(date_array, tag, inst_id, data_path, mock_download_dir=None): + """Download the storm probabilities from the appropriate repository. + + Parameters + ---------- + date_array : array-like or pandas.DatetimeIndex + Array-like or index of datetimes to be downloaded. + tag : str + Denotes type of file to load. + inst_id : str + Specifies the instrument identification, not used. + data_path : str + Path to data directory. + mock_download_dir : str or NoneType + Local directory with downloaded files or None. If not None, will + process any files with the correct name and date as if they were + downloaded. (default=None) + + Raises + ------ + IOError + If an unknown mock download directory is supplied. + + Note + ---- + Called by GeospaceDataManagement. Not intended for direct use by user. + + Warnings + -------- + Only able to download current recent data, not archived forecasts. + + """ + + if tag == 'forecast': + sw_methods.swpc.geomag_forecast_download(name, date_array, data_path, + mock_download_dir) + elif tag == 'prediction': + sw_methods.swpc.solar_geomag_predictions_download( + name, date_array, data_path, mock_download_dir) + + return diff --git a/pyproject.toml b/pyproject.toml index 3cef9cb..71551a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -55,7 +55,6 @@ test = [ "flake8 >= 3.8.4", "flake8-docstrings >= 1.5", "hacking >= 1.0", - "pysatSpaceWeather<0.1.0", "pytest-cov >= 2.10.1", "pytest-ordering >= 0.6" ] @@ -68,6 +67,9 @@ doc = [ "sphinx >= 3.4.1", "sphinx_rtd_theme >= 1.2.2" ] +space_weather = [ + "requests" +] [project.urls] Source = "https://github.com/USNavalResearchLaboratory/GeospaceDataManagement" From 07388fb3636749ad479a9144d93e8ea28bbe66c9 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 16:36:40 -0400 Subject: [PATCH 17/54] ENH: added space weather instrument support Added support for space weather instruments, as well as a structure for optional instrument installation. --- .../instruments/__init__.py | 16 +- .../instruments/ace_epam.py | 18 +- GeospaceDataManagement/instruments/ace_mag.py | 10 +- GeospaceDataManagement/instruments/ace_sis.py | 8 +- .../instruments/ace_swepam.py | 10 +- GeospaceDataManagement/instruments/sw_ap.py | 10 +- GeospaceDataManagement/instruments/sw_apo.py | 4 +- GeospaceDataManagement/instruments/sw_dst.py | 3 +- .../instruments/sw_flare.py | 2 +- GeospaceDataManagement/instruments/sw_kp.py | 10 +- .../instruments/sw_methods/ace.py | 5 +- .../instruments/sw_methods/f107.py | 135 +- .../instruments/sw_methods/general.py | 12 +- .../instruments/sw_methods/gfz.py | 3 + .../instruments/sw_methods/kp_ap.py | 121 +- GeospaceDataManagement/instruments/sw_mgii.py | 13 +- .../instruments/sw_polarcap.py | 10 +- .../instruments/sw_stormprob.py | 14 +- .../tests/classes/cls_instrument_library.py | 9 +- .../tests/test_data/20090101_ace_epam_5m.txt | 306 + .../tests/test_data/20090101_ace_mag_1m.txt | 1460 + .../tests/test_data/20090101_ace_sis_5m.txt | 304 + .../test_data/20090101_ace_swepam_1m.txt | 1458 + .../tests/test_data/2009_DSD.txt | 378 + .../tests/test_data/3-day-geomag-forecast.txt | 25 + .../3-day-solar-geomag-predictions.txt | 68 + .../tests/test_data/45-day-forecast.txt | 32 + .../tests/test_data/Fadj_2009-01.txt | 1 + .../tests/test_data/Fobs_2009-01.txt | 1 + .../tests/test_data/Hp30_2009-01.txt | 1 + .../tests/test_data/Hp60_2009-01.txt | 1 + .../tests/test_data/Kp_def2009.wdc | 375 + .../tests/test_data/Kp_now2020.wdc | 376 + .../tests/test_data/SN_2009-01.txt | 1 + .../tests/test_data/TYKW-NoRP_dailyflux.txt | 7 + .../tests/test_data/ace-epam.txt | 42 + .../tests/test_data/ace-magnetometer.txt | 139 + .../tests/test_data/ace-sis.txt | 40 + .../tests/test_data/ace-swepam.txt | 137 + .../tests/test_data/ae_last_96_hrs.txt | 574 + .../tests/test_data/al_last_96_hrs.txt | 574 + .../tests/test_data/ap30_2009-01.txt | 1 + .../tests/test_data/ap60_2009-01.txt | 1 + .../tests/test_data/au_last_96_hrs.txt | 575 + .../test_data/daily-geomagnetic-indices.txt | 42 + .../tests/test_data/daily-solar-indices.txt | 43 + .../tests/test_data/dst_last_96_hrs.txt | 575 + .../tests/test_data/f107_monthly_2009-01.txt | 33 + .../test_data/mgii_composite_1981-11.txt | 32 + .../tests/test_data/mgii_sorce_2005-03-06.txt | 20 + .../sw/f107/all/f107_1947_to_2019-03-17.txt | 26083 ---------------- .../sw/f107/historic/f107_monthly_1947-02.txt | 9 + .../tests/test_data/sw/kp/def/Kp_def2019.txt | 473 + .../tests/test_data/sw/kp/kp1902.tab | 32 - .../tests/test_instruments.py | 66 +- .../tests/test_methods_general.py | 37 + GeospaceDataManagement/tests/test_registry.py | 28 +- .../tests/test_sw_instruments.py | 311 + .../tests/test_sw_methods_ace.py | 113 + .../tests/test_sw_methods_ae.py | 65 + .../tests/test_sw_methods_f107.py | 262 + .../tests/test_sw_methods_general.py | 55 + .../tests/test_sw_methods_gfz.py | 56 + .../tests/test_sw_methods_kp.py | 684 + .../tests/test_sw_methods_lisird.py | 65 + .../tests/test_sw_methods_norp.py | 65 + GeospaceDataManagement/utils/_core.py | 12 +- 67 files changed, 10126 insertions(+), 26325 deletions(-) create mode 100644 GeospaceDataManagement/tests/test_data/20090101_ace_epam_5m.txt create mode 100644 GeospaceDataManagement/tests/test_data/20090101_ace_mag_1m.txt create mode 100644 GeospaceDataManagement/tests/test_data/20090101_ace_sis_5m.txt create mode 100644 GeospaceDataManagement/tests/test_data/20090101_ace_swepam_1m.txt create mode 100644 GeospaceDataManagement/tests/test_data/2009_DSD.txt create mode 100644 GeospaceDataManagement/tests/test_data/3-day-geomag-forecast.txt create mode 100644 GeospaceDataManagement/tests/test_data/3-day-solar-geomag-predictions.txt create mode 100644 GeospaceDataManagement/tests/test_data/45-day-forecast.txt create mode 100644 GeospaceDataManagement/tests/test_data/Fadj_2009-01.txt create mode 100644 GeospaceDataManagement/tests/test_data/Fobs_2009-01.txt create mode 100644 GeospaceDataManagement/tests/test_data/Hp30_2009-01.txt create mode 100644 GeospaceDataManagement/tests/test_data/Hp60_2009-01.txt create mode 100644 GeospaceDataManagement/tests/test_data/Kp_def2009.wdc create mode 100644 GeospaceDataManagement/tests/test_data/Kp_now2020.wdc create mode 100644 GeospaceDataManagement/tests/test_data/SN_2009-01.txt create mode 100644 GeospaceDataManagement/tests/test_data/TYKW-NoRP_dailyflux.txt create mode 100644 GeospaceDataManagement/tests/test_data/ace-epam.txt create mode 100644 GeospaceDataManagement/tests/test_data/ace-magnetometer.txt create mode 100644 GeospaceDataManagement/tests/test_data/ace-sis.txt create mode 100644 GeospaceDataManagement/tests/test_data/ace-swepam.txt create mode 100644 GeospaceDataManagement/tests/test_data/ae_last_96_hrs.txt create mode 100644 GeospaceDataManagement/tests/test_data/al_last_96_hrs.txt create mode 100644 GeospaceDataManagement/tests/test_data/ap30_2009-01.txt create mode 100644 GeospaceDataManagement/tests/test_data/ap60_2009-01.txt create mode 100644 GeospaceDataManagement/tests/test_data/au_last_96_hrs.txt create mode 100644 GeospaceDataManagement/tests/test_data/daily-geomagnetic-indices.txt create mode 100644 GeospaceDataManagement/tests/test_data/daily-solar-indices.txt create mode 100644 GeospaceDataManagement/tests/test_data/dst_last_96_hrs.txt create mode 100644 GeospaceDataManagement/tests/test_data/f107_monthly_2009-01.txt create mode 100644 GeospaceDataManagement/tests/test_data/mgii_composite_1981-11.txt create mode 100644 GeospaceDataManagement/tests/test_data/mgii_sorce_2005-03-06.txt delete mode 100644 GeospaceDataManagement/tests/test_data/sw/f107/all/f107_1947_to_2019-03-17.txt create mode 100644 GeospaceDataManagement/tests/test_data/sw/f107/historic/f107_monthly_1947-02.txt create mode 100644 GeospaceDataManagement/tests/test_data/sw/kp/def/Kp_def2019.txt delete mode 100644 GeospaceDataManagement/tests/test_data/sw/kp/kp1902.tab create mode 100644 GeospaceDataManagement/tests/test_sw_instruments.py create mode 100644 GeospaceDataManagement/tests/test_sw_methods_ace.py create mode 100644 GeospaceDataManagement/tests/test_sw_methods_ae.py create mode 100644 GeospaceDataManagement/tests/test_sw_methods_f107.py create mode 100644 GeospaceDataManagement/tests/test_sw_methods_general.py create mode 100644 GeospaceDataManagement/tests/test_sw_methods_gfz.py create mode 100644 GeospaceDataManagement/tests/test_sw_methods_kp.py create mode 100644 GeospaceDataManagement/tests/test_sw_methods_lisird.py create mode 100644 GeospaceDataManagement/tests/test_sw_methods_norp.py diff --git a/GeospaceDataManagement/instruments/__init__.py b/GeospaceDataManagement/instruments/__init__.py index 2fd4dc7..f1faf67 100644 --- a/GeospaceDataManagement/instruments/__init__.py +++ b/GeospaceDataManagement/instruments/__init__.py @@ -4,17 +4,19 @@ Each instrument is contained within a subpackage of this set. """ -__all__ = ['gdm_ndtesting', 'gdm_netcdf', 'gdm_testing', - 'gdm_testmodel'] +__test__ = ['gdm_ndtesting', 'gdm_netcdf', 'gdm_testing', + 'gdm_testmodel'] +__all__ = list(__test__) from GeospaceDataManagement.instruments import methods # noqa 401 try: from GeospaceDataManagement.instruments import sw_methods # noqa 401 - __all__.extend(['ace_epam', 'ace_mag', 'ace_sis', 'ace_swepam', 'norp_rf', - 'sw_ae', 'sw_al', 'sw_ap', 'sw_apo', 'sw_au', 'sw_cp', - 'sw_dst', 'sw_f107', 'sw_flare', 'sw_hpo', 'sw_kp', - 'sw_mgii', 'sw_polarcap', 'sw_sbfield', 'sw_ssn', - 'sw_stormprob']) + __sw__ = ['ace_epam', 'ace_mag', 'ace_sis', 'ace_swepam', 'norp_rf', + 'sw_ae', 'sw_al', 'sw_ap', 'sw_apo', 'sw_au', 'sw_cp', + 'sw_dst', 'sw_f107', 'sw_flare', 'sw_hpo', 'sw_kp', + 'sw_mgii', 'sw_polarcap', 'sw_sbfield', 'sw_ssn', + 'sw_stormprob'] + __all__.extend(__sw__) except ImportError as ierr: import GeospaceDataManagement GeospaceDataManagement.logger.info(ierr) diff --git a/GeospaceDataManagement/instruments/ace_epam.py b/GeospaceDataManagement/instruments/ace_epam.py index ee1083c..bde02db 100644 --- a/GeospaceDataManagement/instruments/ace_epam.py +++ b/GeospaceDataManagement/instruments/ace_epam.py @@ -130,10 +130,12 @@ def clean(self): eval_cols = ecols + pcols eval_cols.append('anis_ind') - # Remove lines without any good data - good_cols = (np.isfinite(self.data.loc[:, eval_cols])).sum(axis=1) - bad_index = good_cols[good_cols == 0].index - self.data = self.data.drop(index=bad_index) + # Remove times without any good data + good_sum = np.isfinite([self.data[ecol].values for ecol in eval_cols]).sum( + axis=0) + if 0 in good_sum: + self.data = self.data.where(self.data['Epoch'][good_sum != 0], + drop=True) return @@ -173,8 +175,9 @@ def load(fnames, tag='', inst_id=''): """ # Save each file to the output DataFrame - data = load_csv_data(fnames, read_csv_kwargs={'index_col': 0, - 'parse_dates': True}) + data = load_csv_data(fnames, + read_csv_kwargs={'index_col': 0, + 'parse_dates': True}).to_xarray() # Assign the meta data meta, status_desc = mm_ace.common_metadata() @@ -239,8 +242,7 @@ def load(fnames, tag='', inst_id=''): 'fill_val': -1.0e5, 'min_val': -np.inf, 'max_val': np.inf} - # Convert the data to xarray and add meta data - data = data.to_xarray() + # Add the meta data for dvar in data.data_vars.keys(): if dvar in meta.keys(): data[dvar].attrs.update(meta[dvar]) diff --git a/GeospaceDataManagement/instruments/ace_mag.py b/GeospaceDataManagement/instruments/ace_mag.py index c510f78..1fcb14f 100644 --- a/GeospaceDataManagement/instruments/ace_mag.py +++ b/GeospaceDataManagement/instruments/ace_mag.py @@ -116,7 +116,7 @@ def clean(self): max_status = mm_ace.clean(self) # Replace bad values with NaN and remove times with no valid data - self.data = self.data[self.data['status'] <= max_status] + self.data = self.data.where(self.data['status'] <= max_status, drop=True) return @@ -156,8 +156,9 @@ def load(fnames, tag='', inst_id=''): """ # Save each file to the output DataFrame - data = load_csv_data(fnames, read_csv_kwargs={'index_col': 0, - 'parse_dates': True}) + data = load_csv_data(fnames, + read_csv_kwargs={'index_col': 0, + 'parse_dates': True}).to_xarray() # Assign the meta data meta, status_desc = mm_ace.common_metadata() @@ -184,8 +185,7 @@ def load(fnames, tag='', inst_id=''): 'desc': 'GSM Longitude', 'fill_val': -999.9, 'min_val': 0.0, 'max_val': 360.0} - # Convert the data to xarray and add meta data - data = data.to_xarray() + # Add the meta data for dvar in data.data_vars.keys(): if dvar in meta.keys(): data[dvar].attrs.update(meta[dvar]) diff --git a/GeospaceDataManagement/instruments/ace_sis.py b/GeospaceDataManagement/instruments/ace_sis.py index 1da1f40..beca605 100644 --- a/GeospaceDataManagement/instruments/ace_sis.py +++ b/GeospaceDataManagement/instruments/ace_sis.py @@ -125,9 +125,11 @@ def clean(self): eval_cols = ['int_pflux_10MeV', 'int_pflux_30MeV'] # Remove lines without any good data - good_cols = (np.isfinite(self.data.loc[:, eval_cols])).sum(axis=1) - bad_index = good_cols[good_cols == 0].index - self.data = self.data.drop(index=bad_index) + good_sum = np.isfinite([self.data[ecol].values for ecol in eval_cols]).sum( + axis=0) + if 0 in good_sum: + self.data = self.data.where(self.data['Epoch'][good_sum != 0], + drop=True) return diff --git a/GeospaceDataManagement/instruments/ace_swepam.py b/GeospaceDataManagement/instruments/ace_swepam.py index 1a9382d..41b2fa9 100644 --- a/GeospaceDataManagement/instruments/ace_swepam.py +++ b/GeospaceDataManagement/instruments/ace_swepam.py @@ -116,7 +116,7 @@ def clean(self): max_status = mm_ace.clean(self) # Replace bad values with NaN and remove times with no valid data - self.data = self.data[self.data['status'] <= max_status] + self.data = self.data.where(self.data['status'] <= max_status, drop=True) return @@ -156,8 +156,9 @@ def load(fnames, tag='', inst_id=''): """ # Save each file to the output DataFrame - data = load_csv_data(fnames, read_csv_kwargs={'index_col': 0, - 'parse_dates': True}) + data = load_csv_data(fnames, + read_csv_kwargs={'index_col': 0, + 'parse_dates': True}).to_xarray() # Assign the meta data meta, status_desc = mm_ace.common_metadata() @@ -181,8 +182,7 @@ def load(fnames, tag='', inst_id=''): 'fill_val': -1.0e5, 'min_val': 0.0, 'max_val': np.inf} - # Convert the data to xarray and add meta data - data = data.to_xarray() + # Add meta data for dvar in data.data_vars.keys(): if dvar in meta.keys(): data[dvar].attrs.update(meta[dvar]) diff --git a/GeospaceDataManagement/instruments/sw_ap.py b/GeospaceDataManagement/instruments/sw_ap.py index 9372f54..d5cf4f4 100644 --- a/GeospaceDataManagement/instruments/sw_ap.py +++ b/GeospaceDataManagement/instruments/sw_ap.py @@ -73,9 +73,9 @@ import datetime as dt import numpy as np -import pandas as pds import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.methods import general from GeospaceDataManagement.instruments import sw_methods # ---------------------------------------------------------------------------- @@ -173,12 +173,8 @@ def load(fnames, tag='', inst_id=''): meta[kk] = sw_methods.kp_ap.get_bartel_metadata(kk) else: # Load the forecast, recent, prediction, or 45day data - all_data = [] - for fname in fnames: - result = pds.read_csv(fname, index_col=0, parse_dates=True) - all_data.append(result) - - result = pds.concat(all_data) + result = general.load_csv_data( + fnames, {'index_col': 0, 'parse_dates': True}) fill_val = -1 # Initalize the meta data diff --git a/GeospaceDataManagement/instruments/sw_apo.py b/GeospaceDataManagement/instruments/sw_apo.py index 667c89c..dc220d5 100644 --- a/GeospaceDataManagement/instruments/sw_apo.py +++ b/GeospaceDataManagement/instruments/sw_apo.py @@ -78,7 +78,7 @@ def init(self): def clean(self): - """Clean the Kp, not required for this index (empty function).""" + """Clean the apo, not required for this index (empty function).""" return @@ -116,7 +116,7 @@ def load(fnames, tag='', inst_id=''): result = sw_methods.gfz.load_def_now(fnames).to_xarray() # Initalize the meta data - dkey = 'Hp{:s}'.format(inst_id.split('min')[0]) + dkey = 'ap{:s}'.format(inst_id.split('min')[0]) result[dkey].attrs.update({ 'units': '', 'name': dkey, 'desc': "{:s}ourly Planetary Open linear index".format( diff --git a/GeospaceDataManagement/instruments/sw_dst.py b/GeospaceDataManagement/instruments/sw_dst.py index d53784b..acf0863 100644 --- a/GeospaceDataManagement/instruments/sw_dst.py +++ b/GeospaceDataManagement/instruments/sw_dst.py @@ -164,7 +164,7 @@ def load(fnames, tag='', inst_id=''): # Prep datetime index for the data and create DataFrame start = dt.datetime(yr[0], mo[0], day[0], ut[0]) stop = dt.datetime(yr[-1], mo[-1], day[-1], ut[-1]) - dates = pds.date_range(start, stop, freq='H') + dates = pds.date_range(start, stop, freq='h') new_data = pds.DataFrame(dst, index=dates, columns=['dst']) # Add to all data loaded for filenames @@ -172,6 +172,7 @@ def load(fnames, tag='', inst_id=''): # Combine data together data = pds.concat(all_data, sort=True, axis=0) + data.index.name = 'Epoch' # Pull out requested days data = data.iloc[data.index >= fdates[0], :] diff --git a/GeospaceDataManagement/instruments/sw_flare.py b/GeospaceDataManagement/instruments/sw_flare.py index de3b474..707e202 100644 --- a/GeospaceDataManagement/instruments/sw_flare.py +++ b/GeospaceDataManagement/instruments/sw_flare.py @@ -203,7 +203,7 @@ def load(fnames, tag='', inst_id=''): elif tag == 'prediction': for dkey in data: if dkey.find('Region') < 0: - data[dkey].attrs.udpate( + data[dkey].attrs.update( {'units': '', 'name': dkey, 'notes': '', 'desc': ''.join([dkey.replace('_', ' '), ' Probabilities']), 'fill_val': -1, diff --git a/GeospaceDataManagement/instruments/sw_kp.py b/GeospaceDataManagement/instruments/sw_kp.py index 427aa20..9ae1797 100644 --- a/GeospaceDataManagement/instruments/sw_kp.py +++ b/GeospaceDataManagement/instruments/sw_kp.py @@ -71,8 +71,6 @@ import datetime as dt import numpy as np -import pandas as pds - import GeospaceDataManagement as gdm from GeospaceDataManagement.instruments import sw_methods @@ -161,12 +159,8 @@ def load(fnames, tag='', inst_id=''): fill_val = np.nan else: # Load the prediction, forecast or recent data - all_data = [] - for fname in fnames: - result = pds.read_csv(fname, index_col=0, parse_dates=True) - all_data.append(result) - - result = pds.concat(all_data) + result = gdm.instruments.methods.general.load_csv_data( + fnames, read_csv_kwargs={'parse_dates': True, 'index_col': 0}) fill_val = -1 # Recast the data diff --git a/GeospaceDataManagement/instruments/sw_methods/ace.py b/GeospaceDataManagement/instruments/sw_methods/ace.py index f1a07d5..a638f2d 100644 --- a/GeospaceDataManagement/instruments/sw_methods/ace.py +++ b/GeospaceDataManagement/instruments/sw_methods/ace.py @@ -402,12 +402,13 @@ def ace_swepam_hourly_omni_norm(as_inst, speed_key='sw_bulk_speed', as_inst['sw_ion_temp_norm'] = pds.Series(norm_t, index=as_inst.index) # Add meta data - for dkey in [dens_key, temp_key]: - nkey = '{:s}_norm'.format(dkey) + for dkey, nkey in [[dens_key, 'sw_proton_dens_norm'], + [temp_key, 'sw_ion_temp_norm']]: note = ''.join([ 'Normalized for hourly OMNI as described in ', 'https://omniweb.gsfc.nasa.gov/html/omni_min_data.html']) + as_inst[nkey].attrs.update(as_inst[dkey].attrs) as_inst[nkey].attrs.update({note_label: note}) return diff --git a/GeospaceDataManagement/instruments/sw_methods/f107.py b/GeospaceDataManagement/instruments/sw_methods/f107.py index 5bf333b..b5b4a2c 100644 --- a/GeospaceDataManagement/instruments/sw_methods/f107.py +++ b/GeospaceDataManagement/instruments/sw_methods/f107.py @@ -15,11 +15,12 @@ import datetime as dt import numpy as np - import pandas as pds +import xarray as xr import GeospaceDataManagement as gdm -from GeospaceDataManagement.instruments.sw_methods.general import is_fill_val +from GeospaceDataManagement.instruments.methods.general import is_fill_val +from GeospaceDataManagement.utils.meta import default_fill_values_from_type def acknowledgements(tag): @@ -164,6 +165,7 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, f107_inst.date = start f107_inst.doy = np.int64(start.strftime("%j")) fill_val = None + index_name = None f107_times = list() f107_values = list() @@ -188,6 +190,7 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, if standard_inst.empty: good_times = [False] else: + index_name = standard_inst.index.name good_times = ((standard_inst.index >= itime) & (standard_inst.index < stop)) @@ -201,7 +204,10 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, for var in standard_inst.variables: f107_inst[var].attrs.update(standard_inst[var].attrs) - fill_val = f107_inst['f107'].attrs[fill_label] + if fill_label in f107_inst['f107'].attrs: + fill_val = f107_inst['f107'].attrs[fill_label] + else: + fill_val = default_fill_values_from_type(float) good_vals = np.array([not is_fill_val(val, fill_val) for val in standard_inst['f107'][good_times]]) @@ -211,7 +217,8 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, if len(new_times) > 0: f107_times.extend(new_times) - new_vals = list(standard_inst['f107'][good_times][good_vals]) + new_vals = list(standard_inst['f107'].values[good_times][ + good_vals]) f107_values.extend(new_vals) itime = f107_times[-1] + pds.DateOffset(days=1) else: @@ -251,7 +258,10 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, f107_inst[var].attrs.update( forecast_inst[var].attrs) - fill_val = f107_inst['f107'].attrs[fill_label] + if fill_label in f107_inst['f107'].attrs: + fill_val = f107_inst['f107'].attrs[fill_label] + else: + fill_val = default_fill_values_from_type(float) # Get the good times and values good_times = ((forecast_inst.index >= itime) @@ -259,6 +269,8 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, good_vals = np.array([ not is_fill_val(val, fill_val) for val in forecast_inst['f107'][good_times]]) + if index_name is None: + index_name = forecast_inst.index.name # Save desired data and cycle time if len(good_vals) > 0: @@ -266,7 +278,7 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, good_vals]) f107_times.extend(new_times) new_vals = list( - forecast_inst['f107'][good_times][good_vals]) + forecast_inst['f107'][good_times].values[good_vals]) f107_values.extend(new_vals) itime = f107_times[-1] + pds.DateOffset(days=1) @@ -277,6 +289,11 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, if inst_flag is not None: notes += "{:})".format(itime.date()) + if index_name is None: + index_name = 'time' + if fill_val is None: + fill_val = default_fill_values_from_type(float) + # Determine if the beginning or end of the time series needs to be padded if len(f107_times) >= 2: freq = gdm.utils.time.calc_freq(f107_times) @@ -287,6 +304,8 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, if len(f107_times) == 0: f107_times = date_range + freq = gdm.utils.time.calc_freq(f107_times) + f107_values = [fill_val for i in range(len(f107_times))] if date_range[0] < f107_times[0]: # Extend the time and value arrays from their beginning with fill @@ -309,15 +328,18 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, f107_values.extend([fill_val for kk in extend_times]) # Save output data - f107_inst.data = pds.DataFrame(f107_values, columns=['f107'], - index=f107_times) + data = xr.Dataset(data_vars={'f107': ((index_name), f107_values)}, + coords={index_name: f107_times}) # Resample the output data, filling missing values if (date_range.shape != f107_inst.index.shape or abs(date_range - f107_inst.index).max().total_seconds() > 0.0): - f107_inst.data = f107_inst.data.resample(freq).asfreq() - if np.isfinite(fill_val): - f107_inst.data[np.isnan(f107_inst.data)] = fill_val + data = data.resample(**{index_name: freq}).asfreq() + if fill_val is not None and np.isfinite(fill_val): + data[np.isnan(f107_inst.data)] = fill_val + + # Save the data to the instrument + f107_inst.data = data # Update the metadata notes for this procedure notes += ", in that order" @@ -326,7 +348,8 @@ def combine_f107(standard_inst, forecast_inst, start=None, stop=None, return f107_inst -def calc_f107a(f107_inst, f107_name='f107', f107a_name='f107a', min_pnts=41): +def calc_f107a(f107_inst, f107_name='f107', f107a_name='f107a', min_pnts=41, + fill_label='fill_val'): """Calculate the 81 day mean F10.7. Parameters @@ -339,6 +362,8 @@ def calc_f107a(f107_inst, f107_name='f107', f107a_name='f107a', min_pnts=41): Data column name for the F10.7a data (default='f107a') min_pnts : int Minimum number of points required to calculate an average (default=41) + fill_label : str + Meta fill value label (default='fill_val') Note ---- @@ -347,17 +372,18 @@ def calc_f107a(f107_inst, f107_name='f107', f107a_name='f107a', min_pnts=41): """ # Test to see that the input data is present - if f107_name not in f107_inst.data.columns: - raise ValueError("unknown input data column: " + f107_name) + if f107_name not in f107_inst.variables: + raise ValueError("unknown input data variable: {:}".format(f107_name)) # Test to see that the output data does not already exist - if f107a_name in f107_inst.data.columns: - raise ValueError("output data column already exists: " + f107a_name) + if f107a_name in f107_inst.variables: + raise ValueError("output data variable already exists: {:}".format( + f107a_name)) - if f107_name in f107_inst.meta: - fill_val = f107_inst.meta[f107_name][f107_inst.meta.labels.fill_val] + if fill_label in f107_inst[f107_name].attrs: + fill_val = f107_inst.meta[f107_name].attrs[fill_label] else: - fill_val = np.nan + fill_val = default_fill_values_from_type(float) # Calculate the rolling mean. Since these values are centered but rolling # function doesn't allow temporal windows to be calculated this way, create @@ -365,63 +391,64 @@ def calc_f107a(f107_inst, f107_name='f107', f107a_name='f107a', min_pnts=41): # # Ensure the data are evenly sampled at a daily frequency, since this is # how often F10.7 is calculated. - f107_fill = f107_inst.data.resample('1D').asfreq() + time_name = f107_inst.index.name + f107_fill = f107_inst.data.resample(**{time_name: '1D'}).asfreq() # Replace the time index with an ordinal - time_ind = f107_fill.index - f107_fill['ord'] = pds.Series([tt.toordinal() for tt in time_ind], - index=time_ind) - f107_fill.set_index('ord', inplace=True) + time_ind = f107_fill[time_name].values + f107_fill['ordinal'] = ((time_name), [pds.Timestamp(tt).toordinal() + for tt in time_ind]) + f107_fill = f107_fill.swap_dims({time_name: 'ordinal'}) # Calculate the mean - f107_fill[f107a_name] = f107_fill[f107_name].rolling(window=81, - min_periods=min_pnts, - center=True).mean() + f107_fill[f107a_name] = f107_fill[f107_name].rolling( + ordinal=81, min_periods=min_pnts, center=True).mean(skipna=True) # Replace the ordinal index with the time - f107_fill['time'] = pds.Series(time_ind, index=f107_fill.index) - f107_fill.set_index('time', inplace=True) + f107_fill = f107_fill.swap_dims({'ordinal': time_name}) + f107_fill.drop_vars('ordinal') # Resample to the original frequency, if it is not equal to 1 day freq = gdm.utils.time.calc_freq(f107_inst.index) if freq != "86400s": # Resample to the desired frequency - f107_fill = f107_fill.resample(freq).ffill() + f107_fill = f107_fill.resample(**{time_name: freq}).ffill() # Save the output in a list - f107a = list(f107_fill[f107a_name]) + f107a = f107_fill[f107a_name] + f107a_values = list(f107a.values) # Fill any dates that fall just outside of the range - time_ind = pds.date_range(f107_fill.index[0], f107_inst.index[-1], - freq=freq) - for itime in time_ind[f107_fill.index.shape[0]:]: - if (itime - f107_fill.index[-1]).total_seconds() < 86400.0: - f107a.append(f107a[-1]) + time_ind = pds.date_range(f107a[time_name].values[0], + f107_inst.index[-1], freq=freq) + for itime in time_ind[f107a[time_name].shape[0]:]: + if (itime - f107a[time_name].values[-1]).total_seconds() < 86400.0: + f107a_values.append(f107a[-1]) else: - f107a.append(fill_val) + f107a_values.append(fill_val) - # Redefine the Series - f107_fill = pds.DataFrame({f107a_name: f107a}, index=time_ind) + # Redefine the data + + f107_fill = xr.Dataset({f107a_name: ((time_name), f107a_values), + time_name: ((time_name), time_ind)}) # There may be missing days in the output data, remove these - if f107_inst.index.shape < f107_fill.index.shape: + if f107_inst.index.shape < f107_fill[time_name].shape: f107_fill = f107_fill.loc[f107_inst.index] + # Update the metadata + if len(f107_inst.index) > 1: + notes = ''.join(('Calculated using data between ', + '{:} and {:}'.format(f107_inst.index[0], + f107_inst.index[-1]))) + else: + notes = 'Calculated using times: {:}'.format(f107_inst.index) + meta_dict = {'units': 'SFU', 'name': 'F10.7a', 'notes': notes, + 'desc': "81-day centered average of F10.7", + 'min_val': 0.0, 'max_val': np.nan, fill_label: fill_val} + # Save the data f107_inst[f107a_name] = f107_fill[f107a_name] - - # Update the metadata - meta_dict = {f107_inst.meta.labels.units: 'SFU', - f107_inst.meta.labels.name: 'F10.7a', - f107_inst.meta.labels.desc: "81-day centered average of F10.7", - f107_inst.meta.labels.min_val: 0.0, - f107_inst.meta.labels.max_val: np.nan, - f107_inst.meta.labels.fill_val: fill_val, - f107_inst.meta.labels.notes: - ' '.join(('Calculated using data between', - '{:} and {:}'.format(f107_inst.index[0], - f107_inst.index[-1])))} - - f107_inst.meta[f107a_name] = meta_dict + f107_inst[f107a_name].attrs.update(meta_dict) return diff --git a/GeospaceDataManagement/instruments/sw_methods/general.py b/GeospaceDataManagement/instruments/sw_methods/general.py index 881573e..02d36ab 100644 --- a/GeospaceDataManagement/instruments/sw_methods/general.py +++ b/GeospaceDataManagement/instruments/sw_methods/general.py @@ -32,16 +32,20 @@ def preprocess_fill(inst, fill_label='fill_val'): Meta label for fill values """ - # Replace all fill values with NaN for col in inst.variables: - fill_val = inst[col].attrs[fill_label] + if fill_label in inst.data[col].attrs.keys(): + fill_val = inst.data[col].attrs[fill_label] + else: + fill_val = gdm.utils.meta.default_fill_values_from_type(type( + inst.data[col].values.dtype)) # Ensure we are dealing with a float for future nan comparison if isinstance(fill_val, np.floating) or isinstance(fill_val, float): if ~np.isnan(fill_val): - inst.data[col] = inst.data[col].replace(fill_val, np.nan) - inst[col].attrs[fill_label] = np.nan + inst.data[col] = inst.data[col].where( + inst.data[col] != fill_val, other=np.nan) + inst.data[col].attrs[fill_label] = np.nan return diff --git a/GeospaceDataManagement/instruments/sw_methods/gfz.py b/GeospaceDataManagement/instruments/sw_methods/gfz.py index aa325d3..0ddcd1c 100644 --- a/GeospaceDataManagement/instruments/sw_methods/gfz.py +++ b/GeospaceDataManagement/instruments/sw_methods/gfz.py @@ -426,6 +426,9 @@ def load_def_now(fnames): # Combine data together if len(all_data) > 0: data = pds.concat(all_data, axis=0, sort=True) + + if data.index.name is None: + data.index.name = "Epoch" else: data = pds.DataFrame() diff --git a/GeospaceDataManagement/instruments/sw_methods/kp_ap.py b/GeospaceDataManagement/instruments/sw_methods/kp_ap.py index adc5154..33ffe85 100644 --- a/GeospaceDataManagement/instruments/sw_methods/kp_ap.py +++ b/GeospaceDataManagement/instruments/sw_methods/kp_ap.py @@ -19,7 +19,7 @@ import xarray as xr import GeospaceDataManagement as gdm -from GeospaceDataManagement.instruments.sw_methods import general +from GeospaceDataManagement.instruments.methods.general import is_fill_val from GeospaceDataManagement.instruments.sw_methods import gfz from GeospaceDataManagement.instruments.sw_methods import swpc @@ -198,7 +198,7 @@ def get_bartel_metadata(data_key, fill_val=-1, unit_label='units', elif data_key.find('day_within') >= 0: units = 'day' bname = 'Days within Bartels solar rotation' - desc = 'Number of day within the Bartels solar rotation', + desc = 'Number of days within the Bartels solar rotation' max_val = 27 else: raise ValueError('unknown data key: {:}'.format(data_key)) @@ -272,10 +272,7 @@ def ap(kk): # Convert from Kp to ap fill_val = kp_inst[var_name].attrs[fill_label] ap_data = np.array([ap(kp) if kp != fill_val else fill_val - for kp in kp_inst[var_name]]) - - # Append the output to the Instrument - kp_inst['3hr_ap'] = pds.Series(ap_data, index=kp_inst.index) + for kp in kp_inst[var_name].values]) # Add metadata meta_dict = get_ap_metadata(fill_val, unit_label=unit_label, @@ -285,8 +282,9 @@ def ap(kk): meta_dict[note_label] = ''.join([ 'ap converted from Kp as described at: ', 'https://www.ngdc.noaa.gov/stp/GEOMAG/kp_ap.html']) - kp_inst['3hr_ap'].attrs.update(meta_dict) + # Append the output to the Instrument + kp_inst['3hr_ap'] = ((kp_inst.index.name), ap_data, meta_dict) return @@ -342,16 +340,31 @@ def calc_daily_Ap(ap_inst, ap_name='3hr_ap', daily_name='Ap', # Test that the necessary data is available if ap_name not in ap_inst.variables: - raise ValueError("bad 3-hourly ap column name: {:}".format(ap_name)) + raise ValueError("bad 3-hourly ap variable name: {:}".format(ap_name)) # Test to see that we will not be overwritting data if daily_name in ap_inst.variables: - raise ValueError("daily Ap column name already exists: " + daily_name) + raise ValueError("daily Ap variable name already exists: " + daily_name) - # Calculate the daily mean value - ap_mean = ap_inst[ap_name].rolling(window='1D', + # Calculate the daily mean value, first filling the data to the desired + # 3-hour frequency + time_name = ap_inst.index.name + ap_fill = ap_inst.data.resample(**{time_name: '3h'}).asfreq() + + # Now replace the time index with an ordinal in hours + time_ind = ap_fill[time_name].values + ap_fill['ordinal'] = ((time_name), [ + int((tt - time_ind[0]) / np.timedelta64(3, 'h')) for tt in time_ind]) + ap_fill = ap_fill.swap_dims({time_name: 'ordinal'}) + + # Calculate the mean + ap_mean = ap_fill[ap_name].rolling(ordinal=8, min_periods=min_periods).mean() + # Replace the ordinal index with the time + ap_mean = ap_mean.swap_dims({'ordinal': time_name}) + ap_mean.drop_vars('ordinal') + if running_name is not None: ap_inst[running_name] = ap_mean @@ -367,20 +380,27 @@ def calc_daily_Ap(ap_inst, ap_name='3hr_ap', daily_name='Ap', # Resample, backfilling so that each day uses the mean for the data from # that day only # - # Pad the data so the first day will be backfilled + # Pad the data so the first day will be backfilled and incomplete days will + # have fill values ap_pad = pds.Series(np.full(shape=(1,), fill_value=np.nan), - index=[ap_mean.index[0] - pds.DateOffset(hours=3)]) + index=[ap_mean[time_name].values[0] + - pds.DateOffset(hours=3)]) + ap_full = pds.Series( + np.full(shape=ap_mean[time_name].shape, fill_value=np.nan), + index=ap_mean[time_name].values) + mean_ser = pds.Series(ap_mean, index=ap_mean[time_name]) # Extract the mean that only uses data for one day - ap_sel = ap_pad.combine_first(ap_mean.iloc[[i for i, tt in - enumerate(ap_mean.index) - if tt.hour == 21]]) + ap_sel = ap_pad.combine_first(mean_ser.iloc[[i for i, tt in + enumerate(mean_ser.index) + if tt.hour == 21]]) # Backfill this data - ap_data = ap_sel.resample('3h').bfill() + ap_data = ap_sel.resample('3h').bfill().combine_first(ap_full) # Save the output for the original time range - ap_inst[daily_name] = pds.Series(ap_data[1:], index=ap_data.index[1:]) + ap_inst[daily_name] = ((time_name), pds.Series(ap_data[1:], + index=ap_data.index[1:])) # Add metadata meta_dict = get_ap_metadata(ap_inst[ap_name].attrs[fill_label], @@ -389,7 +409,8 @@ def calc_daily_Ap(ap_inst, ap_name='3hr_ap', daily_name='Ap', fill_label=fill_label) meta_dict[desc_label] = "daily Ap index" meta_dict[note_label] = 'Ap daily mean calculated from 3-hourly ap indices' - ap_inst[daily_name].attrs.update(meta_dict) + ap_inst.data[daily_name].attrs.update(meta_dict) + return @@ -453,15 +474,19 @@ def filter_geomag(inst, min_kp=0, max_kp=9, filter_time=24, kp_inst=None, # Begin filtering, starting at the beginning of the instrument data sel_data = kp_inst[(inst.index[0] - dt.timedelta(days=1)): (inst.index[-1] + dt.timedelta(days=1))] - ind, = np.where((sel_data[var_name] > max_kp) - | (sel_data[var_name] < min_kp)) + drop_data = sel_data.where((sel_data[var_name] > max_kp) + | (sel_data[var_name] < min_kp), drop=True) + + # Determine the time filter range for removing each flagged data + for dtime in drop_data[kp_inst.index.name].values: + sind = pds.Timestamp(dtime).to_pydatetime() + eind = sind + dt.timedelta(hours=filter_time) + inst.data = inst.data.where( + (inst.data[inst.index.name] < np.datetime64(sind)) + | (inst.data[inst.index.name] > np.datetime64(eind)), other=np.nan) - for lind in ind: - # Determine the time filter range for removing each flagged data - sind = sel_data.index[lind] - eind = sind + pds.DateOffset(hours=filter_time) - inst[sind:eind] = np.nan - inst.data = inst.data.dropna(axis=0, how='all') + # Drop fill data + inst.data = inst.data.dropna(dim=inst.index.name, how='all') return @@ -508,16 +533,21 @@ def convert_ap_to_kp(ap_data, fill_val=-1, ap_name='ap', kp_name='Kp', Dictionary with meta data """ + # Ensure ap data is list-like + ap_data = gdm.utils.listify(ap_data) # Convert from ap to Kp kp_data = np.array([round_ap(aa, fill_val=fill_val) for aa in ap_data]) # Set the metadata - meta_dict = get_kp_metadata(kp_data, 'Kp', fill_val) + meta_dict = get_kp_metadata(fill_val=fill_val, unit_label=unit_label, + desc_label=desc_label, min_label=min_label, + max_label=max_label, fill_label=fill_label) meta_dict[desc_label] = 'Kp converted from {:}'.format(ap_name) meta_dict[note_label] = ''.join( ['Kp converted from ', ap_name, 'as described at: ', 'https://www.ngdc.noaa.gov/stp/GEOMAG/kp_ap.html']) + meta_dict[name_label] = 'Kp' # Return the data and metadata in the Instrument return kp_data, meta_dict @@ -693,6 +723,7 @@ def combine_kp(standard_inst=None, recent_inst=None, forecast_inst=None, kp_times = list() kp_values = list() + index_name = None # Cycle through the desired time range itime = start @@ -715,15 +746,18 @@ def combine_kp(standard_inst=None, recent_inst=None, forecast_inst=None, good_times = ((standard_inst.index >= itime) & (standard_inst.index < stop)) good_vals = np.array([ - not general.is_fill_val(val, local_fill_val) + not is_fill_val(val, local_fill_val) for val in standard_inst['Kp'][good_times]]) new_times = list(standard_inst.index[good_times][good_vals]) if len(new_times) > 0: kp_times.extend(new_times) kp_values.extend(list( - standard_inst['Kp'][good_times][good_vals])) + standard_inst['Kp'][good_times].values[good_vals])) itime = kp_times[-1] + pds.DateOffset(hours=3) + + if index_name is None: + index_name = standard_inst.index.name else: inst_flag = 'forecast' if recent_inst is None else 'recent' notes += "{:})".format(itime.date()) @@ -757,7 +791,7 @@ def combine_kp(standard_inst=None, recent_inst=None, forecast_inst=None, good_times = ((recent_inst.index >= itime) & (recent_inst.index < stop)) good_vals = np.array([ - not general.is_fill_val(val, local_fill_val) + not is_fill_val(val, local_fill_val) for val in recent_inst['Kp'][good_times]]) new_times = list(recent_inst.index[good_times][good_vals]) @@ -765,9 +799,12 @@ def combine_kp(standard_inst=None, recent_inst=None, forecast_inst=None, if len(new_times) > 0: kp_times.extend(new_times) kp_values.extend(list( - recent_inst['Kp'][good_times][good_vals])) + recent_inst['Kp'][good_times].values[good_vals])) itime = kp_times[-1] + pds.DateOffset(hours=3) + if index_name is None: + index_name = recent_inst.index.name + inst_flag = 'forecast' if forecast_inst is not None else None notes += "{:})".format(itime.date()) @@ -798,12 +835,15 @@ def combine_kp(standard_inst=None, recent_inst=None, forecast_inst=None, good_times = ((forecast_inst.index >= itime) & (forecast_inst.index < stop)) good_vals = np.array([ - not general.is_fill_val(val, local_fill_val) + not is_fill_val(val, local_fill_val) for val in forecast_inst['Kp'][good_times]]) # Save desired data new_times = list(forecast_inst.index[good_times][good_vals]) + if index_name is None: + index_name = forecast_inst.index.name + if len(new_times) > 0: kp_times.extend(new_times) new_vals = list(forecast_inst['Kp'][good_times][ @@ -819,6 +859,9 @@ def combine_kp(standard_inst=None, recent_inst=None, forecast_inst=None, if inst_flag is not None: notes += "{:})".format(itime.date()) + if index_name is None: + index_name = 'time' + # Determine if the beginning or end of the time series needs to be padded freq = None if len(kp_times) < 2 else gdm.utils.time.calc_freq(kp_times) end_date = stop - pds.DateOffset(days=1) @@ -826,6 +869,7 @@ def combine_kp(standard_inst=None, recent_inst=None, forecast_inst=None, if len(kp_times) == 0: kp_times = date_range + kp_values = [fill_val for i in range(len(kp_times))] if date_range[0] < kp_times[0]: # Extend the time and value arrays from their beginning with fill @@ -852,14 +896,15 @@ def combine_kp(standard_inst=None, recent_inst=None, forecast_inst=None, kp_meta[note_label] = notes # Save output data and meta data - kp_inst.data = xr.Dataset({'time': (('time'), kp_times), - 'Kp': (('time'), kp_values, kp_meta)}) + kp_inst.data = xr.Dataset({index_name: ((index_name), kp_times), + 'Kp': ((index_name), kp_values, kp_meta)}) # Resample the output data, filling missing values if (date_range.shape != kp_inst.index.shape or abs(date_range - kp_inst.index).max().total_seconds() > 0.0): - kp_inst.data = kp_inst.data.resample(freq).asfreq() - if np.isfinite(fill_val): - kp_inst.data[np.isnan(kp_inst.data)] = fill_val + kp_inst.data = kp_inst.data.resample(**{index_name: freq}).asfreq() + nan_fill = np.isnan(kp_inst.data['Kp'].values) + if np.isfinite(fill_val) and nan_fill.any(): + kp_inst.data['Kp'][nan_fill] = fill_val return kp_inst diff --git a/GeospaceDataManagement/instruments/sw_mgii.py b/GeospaceDataManagement/instruments/sw_mgii.py index 396a9a7..80f6576 100644 --- a/GeospaceDataManagement/instruments/sw_mgii.py +++ b/GeospaceDataManagement/instruments/sw_mgii.py @@ -71,7 +71,7 @@ # ---------------------------------------------------------------------------- # Instrument methods -preprocess = general.preprocess +preprocess = general.preprocess_fill def init(self): @@ -185,14 +185,13 @@ def load(fnames, tag='', inst_id=''): 'A simple linear correlation with the standard NOAA data product ', 'can be used to scale this SORCE measurement to be compatible ', 'with the long-term composite Mg II index maintained by NOAA.'])} - data['mg_index'].attrs.update({'units': '', 'name': 'MG II index', - 'notes': notes[tag], - 'desc': 'MG II core-to-wing ratio index', - 'fill_val': np.nan, 'min_val': 0, - 'max_val': np.inf}) + data['mg_index'].attrs.update( + {'units': '', 'name': 'MG II index', 'notes': notes[tag], + 'desc': 'MG II core-to-wing ratio index', 'fill_val': np.nan, + 'min_val': 0, 'max_val': np.inf}) if 'unc' in data: - data['unc'].attrs.udpate( + data['unc'].attrs.update( {'units': '', 'name': 'MG II Index Uncertainty', 'notes': "".join([ "As described in Snow et al. (2005), the formal uncertainty", diff --git a/GeospaceDataManagement/instruments/sw_polarcap.py b/GeospaceDataManagement/instruments/sw_polarcap.py index 1198c78..7ccad56 100644 --- a/GeospaceDataManagement/instruments/sw_polarcap.py +++ b/GeospaceDataManagement/instruments/sw_polarcap.py @@ -57,9 +57,9 @@ import datetime as dt import functools -import pandas as pds import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments.methods import general from GeospaceDataManagement.instruments import sw_methods # ---------------------------------------------------------------------------- @@ -132,12 +132,8 @@ def load(fnames, tag='', inst_id=''): """ # Load the data - all_data = [] - for fname in fnames: - result = pds.read_csv(fname, index_col=0, parse_dates=True) - all_data.append(result) - - data = pds.concat(all_data).to_xarray() + data = general.load_csv_data( + fnames, {'index_col': 0, 'parse_dates': True}).to_xarray() # Initialize the metadata for dkey in data.data_vars.keys(): diff --git a/GeospaceDataManagement/instruments/sw_stormprob.py b/GeospaceDataManagement/instruments/sw_stormprob.py index 7b209ca..8ffaf24 100644 --- a/GeospaceDataManagement/instruments/sw_stormprob.py +++ b/GeospaceDataManagement/instruments/sw_stormprob.py @@ -58,9 +58,9 @@ import datetime as dt import functools -import pandas as pds import GeospaceDataManagement as gdm +from GeospaceDataManagement.instruments import methods from GeospaceDataManagement.instruments import sw_methods # ---------------------------------------------------------------------------- @@ -81,8 +81,7 @@ # Instrument test attributes # Set test dates -_test_dates = {'': {'forecast': tomorrow, - 'prediction': tomorrow}} +_test_dates = {'': {'forecast': tomorrow, 'prediction': tomorrow}} # ---------------------------------------------------------------------------- # Instrument methods @@ -138,14 +137,9 @@ def load(fnames, tag='', inst_id=''): tag '' has been deprecated, will be removed in version 0.2.0+ """ - # Load the data - all_data = [] - for fname in fnames: - result = pds.read_csv(fname, index_col=0, parse_dates=True) - all_data.append(result) - - data = pds.concat(all_data).to_xarray() + data = methods.general.load_csv_data( + fnames, {'index_col': 0, 'parse_dates': True}).to_xarray() fill_val = -1 # Initialize the metadata diff --git a/GeospaceDataManagement/tests/classes/cls_instrument_library.py b/GeospaceDataManagement/tests/classes/cls_instrument_library.py index 26368b8..ef7bd62 100644 --- a/GeospaceDataManagement/tests/classes/cls_instrument_library.py +++ b/GeospaceDataManagement/tests/classes/cls_instrument_library.py @@ -218,7 +218,8 @@ def teardown_method(self): return - def initialize_test_package(self, inst_loc, user_info=None): + def initialize_test_package(self, inst_loc, inst_subset='test', + user_info=None): """Generate custom instrument lists for each category of tests. Parameters @@ -226,6 +227,9 @@ def initialize_test_package(self, inst_loc, user_info=None): inst_loc : python subpackage The location of the instrument subpackage to test, e.g., `gdm.instruments` + inst_subset : str + Name within hidden attribute that contains the list of desired + instruments (default='test') user_info : dict or NoneType Nested dictionary with user and password info for instrument module name. If None, no user or password is assumed. (default=None) @@ -247,7 +251,8 @@ def initialize_test_package(self, inst_loc, user_info=None): # Find all instruments for testing from user-specified location. instruments = generate_instrument_list(inst_loc=inst_loc, - user_info=user_info) + user_info=user_info, + subset=inst_subset) # Find all methods in the standard test class. method_list = [func for func in dir(self) diff --git a/GeospaceDataManagement/tests/test_data/20090101_ace_epam_5m.txt b/GeospaceDataManagement/tests/test_data/20090101_ace_epam_5m.txt new file mode 100644 index 0000000..081b9cd --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/20090101_ace_epam_5m.txt @@ -0,0 +1,306 @@ +:Data_list: 20090101_ace_epam_5m.txt +:Created: 2009 Jan 02 0011 UT +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# Units: Differential Flux particles/cm2-s-ster-MeV +# Units: Anisotropy Index 0.0 - 2.0 +# Status(S): 0 = nominal, 4,6,7,8 = bad data, unable to process, 9 = no data +# Missing data values: -1.00e+05, index = -1.00 +# Source: ACE Satellite - Electron, Proton, and Alpha Monitor +# +# +# 5-minute averaged Real-time Differential Electron and Proton Flux +# +# Modified Seconds ---------------------------- Differential Flux --------------------------- +# UT Date Time Julian of the ----- Electron ----- ------------------- Protons keV ------------------- Anis. +# YR MO DA HHMM Day Day S 38-53 175-315 S 47-68 115-195 310-580 761-1220 1060-1900 Index +#------------------------------------------------------------------------------------------------------------------- +2009 01 01 0000 54832 0 0 8.93e+02 2.55e+01 0 1.60e+03 2.00e+01 2.01e+00 8.38e-01 2.03e-01 0.08 +2009 01 01 0005 54832 300 0 6.98e+02 2.20e+01 0 1.53e+03 1.88e+01 2.16e+00 6.03e-01 9.48e-02 0.19 +2009 01 01 0010 54832 600 0 7.03e+02 2.60e+01 0 1.58e+03 2.08e+01 2.43e+00 6.67e-01 1.16e-01 0.46 +2009 01 01 0015 54832 900 0 7.23e+02 2.53e+01 0 7.95e+03 4.30e+01 2.40e+00 6.10e-01 2.12e-01 0.60 +2009 01 01 0020 54832 1200 0 8.58e+02 1.97e+01 0 2.42e+03 4.03e+01 2.48e+00 3.43e-01 1.16e-01 0.26 +2009 01 01 0025 54832 1500 0 7.04e+02 3.35e+01 0 1.64e+03 2.00e+01 2.41e+00 5.53e-01 1.74e-01 0.90 +2009 01 01 0030 54832 1800 0 6.78e+02 3.03e+01 0 1.53e+03 2.05e+01 3.07e+00 5.53e-01 1.45e-01 0.31 +2009 01 01 0035 54832 2100 0 8.26e+02 2.46e+01 0 7.58e+03 5.44e+01 2.85e+00 5.14e-01 1.06e-01 0.46 +2009 01 01 0040 54832 2400 0 8.48e+02 3.42e+01 0 1.55e+04 1.51e+02 2.69e+00 7.28e-01 1.05e-01 0.46 +2009 01 01 0045 54832 2700 0 7.32e+02 2.78e+01 0 5.15e+04 8.35e+02 5.17e+00 5.14e-01 1.64e-01 0.61 +2009 01 01 0050 54832 3000 0 7.74e+02 3.31e+01 0 3.92e+04 7.14e+02 4.78e+00 4.76e-01 1.74e-01 0.30 +2009 01 01 0055 54832 3300 0 7.22e+02 3.03e+01 0 1.24e+04 1.61e+02 2.56e+00 6.24e-01 2.53e-01 0.48 +2009 01 01 0100 54832 3600 0 6.70e+02 2.87e+01 0 3.19e+03 2.54e+01 2.61e+00 7.81e-01 1.74e-01 0.31 +2009 01 01 0105 54832 3900 0 6.66e+02 2.55e+01 0 1.91e+03 1.90e+01 2.16e+00 7.62e-01 1.16e-01 0.20 +2009 01 01 0110 54832 4200 0 9.92e+02 2.88e+01 0 2.19e+03 1.90e+01 2.39e+00 5.40e-01 1.90e-01 0.67 +2009 01 01 0115 54832 4500 0 6.18e+02 3.01e+01 0 1.60e+03 1.96e+01 2.50e+00 7.74e-01 1.52e-01 0.26 +2009 01 01 0120 54832 4800 0 6.11e+02 2.55e+01 0 1.56e+03 1.95e+01 2.59e+00 5.61e-01 9.48e-02 0.50 +2009 01 01 0125 54832 5100 0 6.76e+02 2.51e+01 0 1.64e+03 1.96e+01 2.88e+00 6.03e-01 1.48e-01 0.18 +2009 01 01 0130 54832 5400 0 8.29e+02 2.58e+01 0 1.65e+03 1.76e+01 2.52e+00 5.63e-01 1.25e-01 0.35 +2009 01 01 0135 54832 5700 0 6.84e+02 3.05e+01 0 1.57e+03 1.70e+01 2.29e+00 5.82e-01 1.26e-01 0.74 +2009 01 01 0140 54832 6000 0 6.30e+02 2.74e+01 0 1.49e+03 2.04e+01 2.65e+00 6.86e-01 1.37e-01 0.36 +2009 01 01 0145 54832 6300 0 7.94e+02 2.89e+01 0 1.62e+03 1.71e+01 2.22e+00 6.68e-01 1.45e-01 0.21 +2009 01 01 0150 54832 6600 0 6.71e+02 3.32e+01 0 1.56e+03 1.94e+01 2.33e+00 7.07e-01 1.37e-01 0.73 +2009 01 01 0155 54832 6900 0 5.49e+02 2.34e+01 0 1.55e+03 2.08e+01 2.44e+00 5.80e-01 1.52e-01 0.07 +2009 01 01 0200 54832 7200 0 9.46e+02 2.98e+01 0 1.57e+03 1.97e+01 2.10e+00 8.31e-01 1.51e-01 0.09 +2009 01 01 0205 54832 7500 0 6.17e+02 3.00e+01 0 1.55e+03 1.92e+01 2.13e+00 7.07e-01 1.90e-01 0.30 +2009 01 01 0210 54832 7800 0 6.14e+02 2.89e+01 0 1.53e+03 2.21e+01 2.61e+00 6.86e-01 1.07e-01 0.22 +2009 01 01 0215 54832 8100 0 6.49e+02 3.03e+01 0 1.51e+03 2.11e+01 2.16e+00 6.03e-01 8.11e-02 0.39 +2009 01 01 0220 54832 8400 0 9.30e+02 2.84e+01 0 1.65e+03 1.87e+01 2.20e+00 4.99e-01 1.16e-01 0.16 +2009 01 01 0225 54832 8700 0 6.35e+02 2.44e+01 0 1.64e+03 1.95e+01 2.88e+00 6.51e-01 1.34e-01 0.29 +2009 01 01 0230 54832 9000 0 7.76e+02 3.05e+01 0 1.45e+03 1.92e+01 3.18e+00 6.24e-01 1.16e-01 0.05 +2009 01 01 0235 54832 9300 0 6.81e+02 2.76e+01 0 1.57e+03 1.90e+01 2.16e+00 4.76e-01 1.55e-01 0.16 +2009 01 01 0240 54832 9600 0 6.31e+02 2.57e+01 0 1.51e+03 1.70e+01 2.37e+00 5.51e-01 1.45e-01 0.36 +2009 01 01 0245 54832 9900 0 7.10e+02 2.86e+01 0 1.63e+03 1.84e+01 2.69e+00 8.31e-01 1.37e-01 0.23 +2009 01 01 0250 54832 10200 0 7.36e+02 3.12e+01 0 1.57e+03 1.96e+01 2.16e+00 6.67e-01 1.47e-01 0.37 +2009 01 01 0255 54832 10500 0 6.80e+02 2.41e+01 0 1.59e+03 2.26e+01 2.61e+00 5.91e-01 1.16e-01 0.32 +2009 01 01 0300 54832 10800 0 6.33e+02 2.84e+01 0 1.71e+03 2.02e+01 1.70e+00 5.40e-01 1.51e-01 0.26 +2009 01 01 0305 54832 11100 0 8.15e+02 2.57e+01 0 1.73e+03 2.39e+01 2.37e+00 6.29e-01 2.22e-01 0.57 +2009 01 01 0310 54832 11400 0 9.24e+02 2.71e+01 0 1.79e+03 2.69e+01 2.31e+00 7.05e-01 1.74e-01 0.72 +2009 01 01 0315 54832 11700 0 7.07e+02 3.22e+01 0 1.80e+03 2.36e+01 2.28e+00 8.38e-01 1.16e-01 0.35 +2009 01 01 0320 54832 12000 0 5.89e+02 2.40e+01 0 1.78e+03 2.20e+01 2.43e+00 7.90e-01 6.95e-02 0.28 +2009 01 01 0325 54832 12300 0 7.19e+02 2.60e+01 0 1.67e+03 2.15e+01 1.92e+00 7.43e-01 1.45e-01 0.31 +2009 01 01 0330 54832 12600 0 6.17e+02 2.74e+01 0 1.66e+03 2.09e+01 2.14e+00 5.09e-01 5.22e-02 0.80 +2009 01 01 0335 54832 12900 0 7.14e+02 2.90e+01 0 1.62e+03 2.00e+01 2.39e+00 6.65e-01 1.51e-01 0.15 +2009 01 01 0340 54832 13200 0 6.91e+02 2.67e+01 0 1.53e+03 2.19e+01 2.28e+00 7.62e-01 1.64e-01 0.92 +2009 01 01 0345 54832 13500 0 7.94e+02 2.94e+01 0 3.17e+03 3.88e+01 2.52e+00 6.48e-01 1.55e-01 0.29 +2009 01 01 0350 54832 13800 0 6.91e+02 3.29e+01 0 3.26e+03 2.96e+01 2.46e+00 6.44e-01 1.69e-01 0.55 +2009 01 01 0355 54832 14100 0 6.93e+02 2.57e+01 0 1.94e+03 2.18e+01 2.33e+00 7.56e-01 1.52e-01 0.13 +2009 01 01 0400 54832 14400 0 7.84e+02 2.42e+01 0 2.05e+03 2.50e+01 2.39e+00 9.15e-01 9.48e-02 0.11 +2009 01 01 0405 54832 14700 0 6.44e+02 2.63e+01 0 1.73e+03 2.04e+01 2.52e+00 6.44e-01 2.32e-01 0.49 +2009 01 01 0410 54832 15000 0 7.88e+02 3.11e+01 0 1.60e+03 1.88e+01 2.16e+00 8.79e-01 2.59e-01 0.44 +2009 01 01 0415 54832 15300 0 7.56e+02 2.51e+01 0 1.55e+03 1.79e+01 2.59e+00 6.24e-01 1.58e-01 0.34 +2009 01 01 0420 54832 15600 0 7.40e+02 2.63e+01 0 1.65e+03 2.15e+01 2.07e+00 8.11e-01 2.11e-01 0.86 +2009 01 01 0425 54832 15900 0 6.91e+02 2.45e+01 0 1.66e+03 1.70e+01 2.44e+00 8.27e-01 1.35e-01 0.27 +2009 01 01 0430 54832 16200 0 8.24e+02 2.40e+01 0 1.49e+03 2.09e+01 2.52e+00 6.03e-01 1.58e-01 0.04 +2009 01 01 0435 54832 16500 0 8.23e+02 2.89e+01 0 1.64e+03 2.49e+01 2.50e+00 6.51e-01 1.07e-01 0.13 +2009 01 01 0440 54832 16800 0 6.98e+02 2.68e+01 0 1.70e+03 2.45e+01 3.02e+00 4.29e-01 1.45e-01 0.91 +2009 01 01 0445 54832 17100 0 6.62e+02 2.34e+01 0 1.58e+03 2.25e+01 2.74e+00 4.78e-01 1.48e-01 0.38 +2009 01 01 0450 54832 17400 0 8.49e+02 2.89e+01 0 1.61e+03 2.04e+01 2.22e+00 5.98e-01 1.34e-01 0.25 +2009 01 01 0455 54832 17700 0 7.29e+02 2.61e+01 0 1.65e+03 1.92e+01 2.07e+00 3.95e-01 1.69e-01 0.42 +2009 01 01 0500 54832 18000 0 7.47e+02 2.59e+01 0 1.70e+03 2.06e+01 2.43e+00 4.37e-01 2.42e-01 0.31 +2009 01 01 0505 54832 18300 0 7.13e+02 2.55e+01 0 1.52e+03 1.80e+01 2.19e+00 3.69e-01 1.60e-01 0.86 +2009 01 01 0510 54832 18600 0 6.85e+02 2.34e+01 0 1.59e+03 1.88e+01 2.56e+00 3.20e-01 1.69e-01 0.66 +2009 01 01 0515 54832 18900 0 5.45e+02 2.96e+01 0 1.63e+03 1.84e+01 2.55e+00 5.72e-01 1.26e-01 0.17 +2009 01 01 0520 54832 19200 0 6.26e+02 2.53e+01 0 1.55e+03 1.99e+01 2.55e+00 5.53e-01 9.48e-02 0.07 +2009 01 01 0525 54832 19500 0 8.37e+02 2.74e+01 0 1.65e+03 1.94e+01 2.49e+00 7.28e-01 9.48e-02 0.56 +2009 01 01 0530 54832 19800 0 6.62e+02 3.24e+01 0 1.67e+03 1.98e+01 2.34e+00 6.10e-01 9.48e-02 0.30 +2009 01 01 0535 54832 20100 0 6.30e+02 2.69e+01 0 1.63e+03 1.79e+01 2.13e+00 4.76e-01 1.55e-01 0.83 +2009 01 01 0540 54832 20400 0 6.67e+02 2.44e+01 0 1.59e+03 2.08e+01 2.62e+00 5.61e-01 1.58e-01 0.24 +2009 01 01 0545 54832 20700 0 6.55e+02 3.06e+01 0 1.71e+03 2.43e+01 2.19e+00 3.81e-01 1.83e-01 0.23 +2009 01 01 0550 54832 21000 0 7.79e+02 2.73e+01 0 1.71e+03 2.21e+01 2.34e+00 5.53e-01 1.84e-01 0.48 +2009 01 01 0555 54832 21300 0 5.99e+02 2.89e+01 0 1.64e+03 2.47e+01 2.82e+00 7.05e-01 9.48e-02 0.59 +2009 01 01 0600 54832 21600 0 8.07e+02 3.65e+01 0 1.63e+03 1.73e+01 2.16e+00 6.44e-01 1.74e-01 0.90 +2009 01 01 0605 54832 21900 0 5.95e+02 2.62e+01 0 1.62e+03 1.80e+01 2.34e+00 4.76e-01 1.64e-01 0.43 +2009 01 01 0610 54832 22200 0 6.07e+02 2.64e+01 0 1.63e+03 1.75e+01 2.10e+00 6.86e-01 1.93e-01 0.31 +2009 01 01 0615 54832 22500 0 7.20e+02 2.76e+01 0 1.57e+03 2.01e+01 2.59e+00 5.40e-01 2.00e-01 0.54 +2009 01 01 0620 54832 22800 0 7.69e+02 2.60e+01 0 1.63e+03 1.84e+01 2.25e+00 8.38e-01 1.45e-01 0.30 +2009 01 01 0625 54832 23100 0 6.81e+02 2.78e+01 0 1.56e+03 1.83e+01 3.31e+00 4.19e-01 9.66e-02 0.35 +2009 01 01 0630 54832 23400 0 9.02e+02 2.67e+01 0 1.44e+03 1.75e+01 1.97e+00 8.94e-01 1.90e-01 0.37 +2009 01 01 0635 54832 23700 0 8.78e+02 2.49e+01 0 1.69e+03 1.94e+01 2.11e+00 6.51e-01 1.35e-01 0.94 +2009 01 01 0640 54832 24000 0 7.56e+02 3.40e+01 0 1.65e+03 2.02e+01 2.88e+00 6.65e-01 1.04e-01 0.79 +2009 01 01 0645 54832 24300 0 6.67e+02 2.47e+01 0 1.58e+03 2.02e+01 2.43e+00 7.07e-01 1.47e-01 0.76 +2009 01 01 0650 54832 24600 0 8.73e+02 2.94e+01 0 1.65e+03 1.90e+01 2.77e+00 5.72e-01 1.60e-01 0.26 +2009 01 01 0655 54832 24900 0 6.51e+02 2.55e+01 0 1.62e+03 1.91e+01 2.56e+00 8.11e-01 1.37e-01 0.51 +2009 01 01 0700 54832 25200 0 7.18e+02 3.01e+01 0 1.59e+03 1.79e+01 2.39e+00 6.44e-01 8.11e-02 0.18 +2009 01 01 0705 54832 25500 0 5.94e+02 2.53e+01 0 1.47e+03 1.88e+01 2.08e+00 5.28e-01 1.78e-01 0.49 +2009 01 01 0710 54832 25800 0 8.48e+02 2.40e+01 0 1.70e+03 1.89e+01 2.59e+00 3.95e-01 1.69e-01 0.00 +2009 01 01 0715 54832 26100 0 6.88e+02 2.44e+01 0 1.68e+03 1.84e+01 1.94e+00 6.86e-01 1.07e-01 0.60 +2009 01 01 0720 54832 26400 0 6.82e+02 2.72e+01 0 1.57e+03 1.90e+01 2.03e+00 7.07e-01 2.21e-01 0.16 +2009 01 01 0725 54832 26700 0 7.72e+02 2.53e+01 0 1.61e+03 2.07e+01 2.43e+00 3.53e-01 2.11e-01 0.69 +2009 01 01 0730 54832 27000 0 8.09e+02 2.91e+01 0 1.61e+03 1.84e+01 2.36e+00 7.21e-01 1.52e-01 0.20 +2009 01 01 0735 54832 27300 0 7.14e+02 2.62e+01 0 1.59e+03 1.56e+01 2.46e+00 6.10e-01 1.93e-01 0.39 +2009 01 01 0740 54832 27600 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 0745 54832 27900 0 7.34e+02 3.61e+01 0 1.98e+03 1.74e+01 3.73e+00 2.29e-01 1.74e-01 -1.00 +2009 01 01 0750 54832 28200 0 7.41e+02 2.45e+01 0 1.60e+03 2.32e+01 2.52e+00 6.24e-01 1.47e-01 0.31 +2009 01 01 0755 54832 28500 0 7.42e+02 2.59e+01 0 1.50e+03 1.74e+01 2.64e+00 7.24e-01 1.16e-01 0.58 +2009 01 01 0800 54832 28800 0 8.96e+02 2.85e+01 0 1.68e+03 2.20e+01 2.31e+00 8.19e-01 1.55e-01 0.63 +2009 01 01 0805 54832 29100 0 6.37e+02 2.28e+01 0 1.62e+03 1.78e+01 2.13e+00 8.11e-01 2.11e-01 0.16 +2009 01 01 0810 54832 29400 0 6.78e+02 2.83e+01 0 1.58e+03 1.99e+01 2.10e+00 6.48e-01 1.64e-01 0.21 +2009 01 01 0815 54832 29700 0 8.84e+02 2.91e+01 0 2.89e+03 6.10e+01 2.76e+00 5.91e-01 1.45e-01 0.17 +2009 01 01 0820 54832 30000 0 7.40e+02 2.88e+01 0 3.55e+03 5.61e+01 2.95e+00 5.82e-01 1.79e-01 0.12 +2009 01 01 0825 54832 30300 0 7.23e+02 2.55e+01 0 6.42e+03 1.45e+02 3.52e+00 5.53e-01 1.35e-01 0.74 +2009 01 01 0830 54832 30600 0 7.46e+02 3.10e+01 0 2.59e+03 2.50e+01 2.13e+00 7.24e-01 2.12e-01 0.43 +2009 01 01 0835 54832 30900 0 8.30e+02 2.68e+01 0 2.91e+03 2.81e+01 2.43e+00 4.95e-01 1.06e-01 0.32 +2009 01 01 0840 54832 31200 0 6.53e+02 2.26e+01 0 3.59e+03 2.54e+01 2.39e+00 5.61e-01 1.37e-01 0.35 +2009 01 01 0845 54832 31500 0 7.34e+02 2.69e+01 0 2.52e+03 2.40e+01 2.31e+00 4.95e-01 9.66e-02 0.62 +2009 01 01 0850 54832 31800 0 8.20e+02 2.98e+01 0 1.68e+03 2.34e+01 2.28e+00 5.72e-01 1.16e-01 0.42 +2009 01 01 0855 54832 32100 0 7.11e+02 2.88e+01 0 1.64e+03 2.05e+01 2.26e+00 5.61e-01 1.79e-01 0.35 +2009 01 01 0900 54832 32400 0 6.98e+02 2.66e+01 0 1.68e+03 2.21e+01 2.58e+00 4.19e-01 2.03e-01 0.72 +2009 01 01 0905 54832 32700 0 7.95e+02 3.26e+01 0 1.76e+03 2.57e+01 2.61e+00 5.14e-01 1.74e-01 0.51 +2009 01 01 0910 54832 33000 0 7.70e+02 3.56e+01 0 2.52e+03 2.98e+01 2.43e+00 3.53e-01 2.42e-01 0.70 +2009 01 01 0915 54832 33300 0 6.33e+02 2.78e+01 0 1.77e+03 2.15e+01 2.05e+00 5.45e-01 1.07e-01 0.87 +2009 01 01 0920 54832 33600 0 5.84e+02 2.45e+01 0 1.61e+03 1.95e+01 2.26e+00 4.37e-01 1.48e-01 0.62 +2009 01 01 0925 54832 33900 0 7.30e+02 2.47e+01 0 1.70e+03 1.90e+01 2.33e+00 5.20e-01 2.00e-01 0.33 +2009 01 01 0930 54832 34200 0 8.15e+02 3.27e+01 0 1.71e+03 1.97e+01 2.39e+00 5.98e-01 8.91e-02 0.24 +2009 01 01 0935 54832 34500 0 6.53e+02 2.53e+01 0 2.04e+03 3.22e+01 2.33e+00 3.95e-01 1.58e-01 0.36 +2009 01 01 0940 54832 34800 0 8.14e+02 2.73e+01 0 1.56e+03 2.00e+01 1.90e+00 4.99e-01 2.00e-01 1.01 +2009 01 01 0945 54832 35100 0 7.86e+02 2.83e+01 0 1.69e+03 2.62e+01 2.39e+00 7.39e-01 2.05e-01 0.40 +2009 01 01 0950 54832 35400 0 6.51e+02 2.86e+01 0 1.72e+03 3.02e+01 2.36e+00 8.11e-01 2.00e-01 0.08 +2009 01 01 0955 54832 35700 0 6.68e+02 3.14e+01 0 1.54e+03 1.98e+01 2.69e+00 5.98e-01 1.87e-01 0.01 +2009 01 01 1000 54832 36000 0 8.03e+02 3.00e+01 0 1.70e+03 1.92e+01 2.03e+00 4.99e-01 1.47e-01 0.47 +2009 01 01 1005 54832 36300 0 6.35e+02 2.76e+01 0 1.62e+03 2.07e+01 2.23e+00 4.16e-01 1.27e-01 0.72 +2009 01 01 1010 54832 36600 0 6.81e+02 3.14e+01 0 1.57e+03 2.26e+01 2.30e+00 8.79e-01 9.81e-02 0.83 +2009 01 01 1015 54832 36900 0 9.45e+02 3.03e+01 0 1.61e+03 2.10e+01 2.23e+00 6.44e-01 1.26e-01 0.24 +2009 01 01 1020 54832 37200 0 7.56e+02 2.82e+01 0 1.55e+03 1.83e+01 2.16e+00 4.57e-01 1.69e-01 1.24 +2009 01 01 1025 54832 37500 0 7.17e+02 3.01e+01 0 1.57e+03 2.12e+01 2.91e+00 5.10e-01 1.25e-01 0.05 +2009 01 01 1030 54832 37800 0 6.89e+02 2.63e+01 0 1.52e+03 1.85e+01 2.56e+00 6.03e-01 1.69e-01 0.35 +2009 01 01 1035 54832 38100 0 8.10e+02 2.59e+01 0 1.67e+03 1.93e+01 1.80e+00 4.76e-01 6.32e-02 0.08 +2009 01 01 1040 54832 38400 0 7.41e+02 2.91e+01 0 1.68e+03 2.09e+01 1.86e+00 4.57e-01 2.03e-01 0.44 +2009 01 01 1045 54832 38700 0 7.32e+02 3.30e+01 0 1.49e+03 1.67e+01 2.43e+00 5.61e-01 2.11e-01 0.20 +2009 01 01 1050 54832 39000 0 9.39e+02 2.76e+01 0 1.62e+03 1.82e+01 2.49e+00 6.67e-01 1.64e-01 0.09 +2009 01 01 1055 54832 39300 0 7.09e+02 2.66e+01 0 1.57e+03 2.01e+01 2.22e+00 6.67e-01 1.45e-01 0.32 +2009 01 01 1100 54832 39600 0 6.29e+02 3.01e+01 0 1.62e+03 2.19e+01 2.66e+00 7.28e-01 2.11e-01 0.06 +2009 01 01 1105 54832 39900 0 7.39e+02 2.87e+01 0 1.58e+03 1.83e+01 2.19e+00 5.91e-01 1.26e-01 0.45 +2009 01 01 1110 54832 40200 0 6.94e+02 2.76e+01 0 1.65e+03 2.22e+01 2.16e+00 3.62e-01 1.64e-01 1.25 +2009 01 01 1115 54832 40500 0 6.98e+02 2.73e+01 0 1.64e+03 1.98e+01 2.10e+00 4.95e-01 1.45e-01 0.73 +2009 01 01 1120 54832 40800 0 5.38e+02 2.44e+01 0 1.49e+03 1.86e+01 2.29e+00 6.03e-01 9.48e-02 0.46 +2009 01 01 1125 54832 41100 0 8.43e+02 2.34e+01 0 1.61e+03 2.02e+01 2.22e+00 5.53e-01 1.84e-01 0.38 +2009 01 01 1130 54832 41400 0 5.41e+02 2.18e+01 0 1.58e+03 1.89e+01 1.98e+00 6.48e-01 1.93e-01 0.61 +2009 01 01 1135 54832 41700 0 6.30e+02 2.38e+01 0 1.59e+03 1.66e+01 2.20e+00 6.03e-01 2.00e-01 0.49 +2009 01 01 1140 54832 42000 0 8.17e+02 2.73e+01 0 1.61e+03 1.90e+01 2.52e+00 5.33e-01 1.64e-01 1.26 +2009 01 01 1145 54832 42300 0 6.51e+02 3.10e+01 0 1.57e+03 2.10e+01 2.34e+00 6.48e-01 1.55e-01 0.47 +2009 01 01 1150 54832 42600 0 6.30e+02 2.34e+01 0 1.61e+03 1.94e+01 2.49e+00 4.78e-01 9.48e-02 0.52 +2009 01 01 1155 54832 42900 0 6.24e+02 3.07e+01 0 1.52e+03 1.76e+01 2.50e+00 6.68e-01 2.05e-01 0.06 +2009 01 01 1200 54832 43200 0 8.13e+02 2.45e+01 0 1.66e+03 2.09e+01 1.97e+00 7.90e-01 2.00e-01 0.35 +2009 01 01 1205 54832 43500 0 6.82e+02 2.88e+01 0 1.62e+03 2.20e+01 2.59e+00 6.24e-01 1.26e-01 0.56 +2009 01 01 1210 54832 43800 0 7.86e+02 3.01e+01 0 1.56e+03 2.42e+01 2.30e+00 8.44e-01 2.50e-01 0.18 +2009 01 01 1215 54832 44100 0 8.17e+02 2.84e+01 0 1.67e+03 2.04e+01 2.92e+00 4.37e-01 1.16e-01 0.44 +2009 01 01 1220 54832 44400 0 5.57e+02 2.76e+01 0 1.58e+03 1.85e+01 2.03e+00 4.37e-01 1.69e-01 0.53 +2009 01 01 1225 54832 44700 0 5.99e+02 2.21e+01 0 1.58e+03 1.74e+01 1.91e+00 6.16e-01 1.52e-01 0.35 +2009 01 01 1230 54832 45000 0 7.74e+02 2.78e+01 0 1.54e+03 2.15e+01 2.29e+00 5.40e-01 9.48e-02 0.19 +2009 01 01 1235 54832 45300 0 7.52e+02 3.04e+01 0 1.61e+03 1.83e+01 2.33e+00 5.98e-01 1.60e-01 0.74 +2009 01 01 1240 54832 45600 0 7.96e+02 2.86e+01 0 1.67e+03 1.63e+01 2.43e+00 5.61e-01 1.39e-01 0.41 +2009 01 01 1245 54832 45900 0 6.65e+02 2.53e+01 0 1.47e+03 1.84e+01 2.33e+00 6.44e-01 1.47e-01 0.49 +2009 01 01 1250 54832 46200 0 9.34e+02 3.06e+01 0 1.59e+03 1.83e+01 2.33e+00 5.63e-01 2.32e-01 0.60 +2009 01 01 1255 54832 46500 0 6.67e+02 2.61e+01 0 1.63e+03 1.95e+01 2.13e+00 3.43e-01 1.05e-01 0.71 +2009 01 01 1300 54832 46800 0 7.25e+02 2.63e+01 0 1.61e+03 1.60e+01 2.29e+00 6.03e-01 1.58e-01 0.08 +2009 01 01 1305 54832 47100 0 7.33e+02 2.53e+01 0 1.65e+03 2.25e+01 2.58e+00 6.16e-01 1.96e-01 0.33 +2009 01 01 1310 54832 47400 0 6.55e+02 2.98e+01 0 1.55e+03 1.79e+01 2.59e+00 5.82e-01 4.35e-02 1.22 +2009 01 01 1315 54832 47700 0 7.47e+02 2.71e+01 0 1.67e+03 1.87e+01 2.13e+00 5.53e-01 1.84e-01 0.45 +2009 01 01 1320 54832 48000 0 6.98e+02 2.87e+01 0 1.53e+03 2.23e+01 2.79e+00 6.29e-01 1.45e-01 0.91 +2009 01 01 1325 54832 48300 0 9.26e+02 3.17e+01 0 1.66e+03 1.87e+01 2.69e+00 6.86e-01 1.37e-01 0.34 +2009 01 01 1330 54832 48600 0 7.67e+02 2.60e+01 0 1.63e+03 1.86e+01 2.76e+00 7.43e-01 1.74e-01 0.41 +2009 01 01 1335 54832 48900 0 6.87e+02 2.85e+01 0 1.53e+03 1.86e+01 2.28e+00 7.24e-01 1.05e-01 0.59 +2009 01 01 1340 54832 49200 0 8.44e+02 2.88e+01 0 1.64e+03 1.91e+01 2.26e+00 6.03e-01 1.69e-01 0.32 +2009 01 01 1345 54832 49500 0 8.20e+02 2.83e+01 0 1.57e+03 1.93e+01 2.52e+00 6.48e-01 1.26e-01 0.37 +2009 01 01 1350 54832 49800 0 8.08e+02 2.64e+01 0 1.59e+03 2.22e+01 2.73e+00 7.81e-01 1.35e-01 0.35 +2009 01 01 1355 54832 50100 0 7.92e+02 2.82e+01 0 1.58e+03 1.71e+01 2.01e+00 7.24e-01 1.35e-01 0.42 +2009 01 01 1400 54832 50400 0 8.75e+02 2.69e+01 0 1.66e+03 1.89e+01 2.46e+00 5.40e-01 1.05e-01 0.71 +2009 01 01 1405 54832 50700 0 6.44e+02 2.46e+01 0 1.66e+03 1.86e+01 1.98e+00 5.72e-01 1.79e-01 0.71 +2009 01 01 1410 54832 51000 0 7.52e+02 2.80e+01 0 1.53e+03 2.09e+01 2.19e+00 6.10e-01 1.64e-01 0.57 +2009 01 01 1415 54832 51300 0 9.32e+02 2.72e+01 0 1.65e+03 1.88e+01 2.79e+00 4.99e-01 1.47e-01 0.29 +2009 01 01 1420 54832 51600 0 7.03e+02 2.29e+01 0 1.62e+03 2.00e+01 2.16e+00 5.72e-01 1.16e-01 0.27 +2009 01 01 1425 54832 51900 0 7.44e+02 2.89e+01 0 1.59e+03 1.77e+01 2.13e+00 4.38e-01 1.84e-01 1.07 +2009 01 01 1430 54832 52200 0 7.32e+02 2.86e+01 0 1.56e+03 2.00e+01 2.26e+00 7.69e-01 1.90e-01 0.17 +2009 01 01 1435 54832 52500 0 8.21e+02 2.76e+01 0 1.60e+03 1.76e+01 2.47e+00 7.21e-01 1.34e-01 0.35 +2009 01 01 1440 54832 52800 0 7.40e+02 2.80e+01 0 1.56e+03 1.89e+01 2.52e+00 5.40e-01 2.00e-01 0.33 +2009 01 01 1445 54832 53100 0 7.63e+02 2.80e+01 0 1.50e+03 1.99e+01 2.98e+00 3.53e-01 1.16e-01 0.38 +2009 01 01 1450 54832 53400 0 7.55e+02 2.49e+01 0 1.60e+03 1.82e+01 2.50e+00 4.92e-01 9.81e-02 0.07 +2009 01 01 1455 54832 53700 0 6.51e+02 2.88e+01 0 1.56e+03 2.29e+01 2.23e+00 7.48e-01 1.69e-01 0.36 +2009 01 01 1500 54832 54000 0 5.57e+02 2.61e+01 0 1.54e+03 2.10e+01 2.46e+00 4.37e-01 8.43e-02 0.49 +2009 01 01 1505 54832 54300 0 8.66e+02 2.73e+01 0 1.57e+03 2.06e+01 2.11e+00 8.27e-01 1.64e-01 0.05 +2009 01 01 1510 54832 54600 0 7.77e+02 2.34e+01 0 1.62e+03 2.01e+01 2.62e+00 5.40e-01 2.00e-01 0.27 +2009 01 01 1515 54832 54900 0 7.68e+02 2.93e+01 0 1.66e+03 1.87e+01 1.94e+00 7.74e-01 1.52e-01 0.57 +2009 01 01 1520 54832 55200 0 8.10e+02 3.15e+01 0 1.55e+03 2.04e+01 2.16e+00 6.44e-01 1.48e-01 0.28 +2009 01 01 1525 54832 55500 0 8.02e+02 2.24e+01 0 1.68e+03 2.20e+01 2.66e+00 5.20e-01 1.79e-01 0.60 +2009 01 01 1530 54832 55800 0 7.36e+02 3.04e+01 0 1.59e+03 2.09e+01 2.02e+00 5.10e-01 1.16e-01 0.39 +2009 01 01 1535 54832 56100 0 7.67e+02 2.74e+01 0 1.46e+03 1.88e+01 2.49e+00 5.82e-01 1.26e-01 0.16 +2009 01 01 1540 54832 56400 0 9.22e+02 2.11e+01 0 1.62e+03 2.05e+01 2.62e+00 6.86e-01 1.90e-01 0.23 +2009 01 01 1545 54832 56700 0 7.10e+02 2.93e+01 0 1.57e+03 1.95e+01 2.66e+00 6.16e-01 1.25e-01 0.22 +2009 01 01 1550 54832 57000 0 8.10e+02 2.13e+01 0 1.64e+03 1.81e+01 2.13e+00 6.86e-01 1.37e-01 0.49 +2009 01 01 1555 54832 57300 0 1.07e+03 2.78e+01 0 1.55e+03 1.76e+01 2.37e+00 7.62e-01 1.55e-01 0.80 +2009 01 01 1600 54832 57600 0 8.30e+02 2.62e+01 0 1.68e+03 1.88e+01 2.43e+00 7.43e-01 1.84e-01 0.59 +2009 01 01 1605 54832 57900 0 7.22e+02 3.21e+01 0 1.56e+03 1.88e+01 2.33e+00 7.28e-01 1.48e-01 1.00 +2009 01 01 1610 54832 58200 0 6.81e+02 2.66e+01 0 1.52e+03 2.06e+01 2.37e+00 4.57e-01 1.26e-01 0.33 +2009 01 01 1615 54832 58500 0 8.37e+02 2.55e+01 0 2.51e+03 3.53e+01 2.61e+00 6.67e-01 9.48e-02 0.11 +2009 01 01 1620 54832 58800 0 8.21e+02 2.63e+01 0 1.60e+04 1.45e+02 2.88e+00 3.95e-01 1.58e-01 0.58 +2009 01 01 1625 54832 59100 0 7.87e+02 2.85e+01 0 8.52e+03 6.17e+01 2.88e+00 9.15e-01 2.03e-01 0.21 +2009 01 01 1630 54832 59400 0 9.09e+02 2.76e+01 0 6.71e+03 5.22e+01 2.46e+00 7.62e-01 1.74e-01 0.57 +2009 01 01 1635 54832 59700 0 8.60e+02 3.37e+01 0 1.04e+04 5.91e+01 2.52e+00 5.14e-01 1.55e-01 0.79 +2009 01 01 1640 54832 60000 0 8.64e+02 2.71e+01 0 6.19e+03 3.31e+01 2.16e+00 7.48e-01 1.58e-01 0.36 +2009 01 01 1645 54832 60300 0 7.61e+02 2.99e+01 0 1.53e+03 1.81e+01 2.67e+00 4.76e-01 1.45e-01 0.68 +2009 01 01 1650 54832 60600 0 9.59e+02 2.73e+01 0 1.71e+03 1.88e+01 2.01e+00 5.53e-01 1.16e-01 0.27 +2009 01 01 1655 54832 60900 0 8.69e+02 2.63e+01 0 1.61e+03 1.76e+01 2.52e+00 6.65e-01 2.11e-01 0.34 +2009 01 01 1700 54832 61200 0 8.09e+02 2.78e+01 0 1.59e+03 1.61e+01 2.55e+00 5.53e-01 1.26e-01 0.02 +2009 01 01 1705 54832 61500 0 8.18e+02 2.68e+01 0 1.91e+03 1.92e+01 2.43e+00 5.72e-01 9.66e-02 0.57 +2009 01 01 1710 54832 61800 0 7.07e+02 2.65e+01 0 1.77e+03 2.07e+01 2.29e+00 5.82e-01 1.47e-01 0.70 +2009 01 01 1715 54832 62100 0 7.19e+02 3.03e+01 0 2.09e+03 2.39e+01 2.11e+00 4.92e-01 8.02e-02 0.34 +2009 01 01 1720 54832 62400 0 8.69e+02 2.80e+01 0 2.67e+03 2.37e+01 2.56e+00 3.56e-01 8.43e-02 0.61 +2009 01 01 1725 54832 62700 0 9.40e+02 2.92e+01 0 2.00e+03 1.83e+01 2.26e+00 7.48e-01 1.47e-01 0.30 +2009 01 01 1730 54832 63000 0 8.09e+02 2.89e+01 0 2.04e+03 2.33e+01 2.44e+00 4.00e-01 2.05e-01 1.02 +2009 01 01 1735 54832 63300 0 8.53e+02 2.82e+01 0 1.50e+03 1.83e+01 2.62e+00 8.73e-01 1.37e-01 0.23 +2009 01 01 1740 54832 63600 0 1.10e+03 2.78e+01 0 1.68e+03 1.66e+01 2.03e+00 6.44e-01 1.58e-01 0.16 +2009 01 01 1745 54832 63900 0 7.59e+02 2.17e+01 0 1.59e+03 2.05e+01 2.36e+00 5.45e-01 1.25e-01 0.22 +2009 01 01 1750 54832 64200 0 7.83e+02 2.47e+01 0 1.59e+03 2.20e+01 2.43e+00 4.99e-01 9.48e-02 0.53 +2009 01 01 1755 54832 64500 0 9.98e+02 2.58e+01 0 1.63e+03 2.00e+01 2.47e+00 6.86e-01 1.25e-01 0.29 +2009 01 01 1800 54832 64800 0 9.78e+02 2.69e+01 0 1.60e+03 2.16e+01 2.59e+00 6.86e-01 2.11e-01 0.40 +2009 01 01 1805 54832 65100 0 8.89e+02 2.57e+01 0 1.79e+03 2.01e+01 2.36e+00 6.86e-01 2.63e-01 0.45 +2009 01 01 1810 54832 65400 0 8.41e+02 3.11e+01 0 1.77e+03 1.89e+01 2.63e+00 5.28e-01 1.25e-01 0.33 +2009 01 01 1815 54832 65700 0 1.04e+03 2.22e+01 0 1.76e+03 2.01e+01 2.36e+00 5.20e-01 1.26e-01 0.19 +2009 01 01 1820 54832 66000 0 8.08e+02 2.53e+01 0 1.73e+03 1.94e+01 2.56e+00 5.61e-01 1.37e-01 0.39 +2009 01 01 1825 54832 66300 0 7.69e+02 2.85e+01 0 1.55e+03 1.91e+01 2.30e+00 6.86e-01 1.78e-01 0.24 +2009 01 01 1830 54832 66600 0 9.33e+02 2.61e+01 0 1.61e+03 2.10e+01 2.56e+00 7.28e-01 1.79e-01 0.28 +2009 01 01 1835 54832 66900 0 6.53e+02 2.43e+01 0 1.66e+03 2.11e+01 2.37e+00 6.86e-01 1.26e-01 0.54 +2009 01 01 1840 54832 67200 0 7.08e+02 2.30e+01 0 1.66e+03 2.04e+01 2.55e+00 5.34e-01 1.06e-01 0.53 +2009 01 01 1845 54832 67500 0 7.11e+02 2.82e+01 0 1.56e+03 1.79e+01 2.33e+00 4.57e-01 2.63e-01 0.24 +2009 01 01 1850 54832 67800 0 8.95e+02 3.61e+01 0 1.73e+03 1.92e+01 2.13e+00 5.34e-01 1.93e-01 0.05 +2009 01 01 1855 54832 68100 0 6.76e+02 2.44e+01 0 1.68e+03 1.88e+01 2.46e+00 3.05e-01 1.26e-01 0.35 +2009 01 01 1900 54832 68400 0 7.29e+02 2.61e+01 0 1.54e+03 2.10e+01 2.69e+00 5.82e-01 1.79e-01 0.45 +2009 01 01 1905 54832 68700 0 9.61e+02 3.08e+01 0 1.66e+03 2.17e+01 2.91e+00 6.67e-01 1.64e-01 1.02 +2009 01 01 1910 54832 69000 0 6.65e+02 2.34e+01 0 1.62e+03 1.77e+01 2.16e+00 5.91e-01 9.66e-02 0.69 +2009 01 01 1915 54832 69300 0 6.87e+02 2.98e+01 0 1.57e+03 2.18e+01 2.46e+00 6.86e-01 1.90e-01 0.02 +2009 01 01 1920 54832 69600 0 8.19e+02 2.80e+01 0 1.64e+03 1.94e+01 2.65e+00 5.61e-01 1.69e-01 0.27 +2009 01 01 1925 54832 69900 0 8.37e+02 3.08e+01 0 1.67e+03 2.22e+01 2.55e+00 7.24e-01 1.35e-01 0.36 +2009 01 01 1930 54832 70200 0 7.23e+02 2.59e+01 0 1.62e+03 1.84e+01 2.64e+00 6.48e-01 1.16e-01 0.27 +2009 01 01 1935 54832 70500 0 7.41e+02 2.42e+01 0 1.54e+03 2.27e+01 2.29e+00 7.90e-01 1.48e-01 0.25 +2009 01 01 1940 54832 70800 0 9.59e+02 3.44e+01 0 1.62e+03 2.25e+01 3.03e+00 7.43e-01 2.61e-01 0.43 +2009 01 01 1945 54832 71100 0 7.49e+02 2.98e+01 0 1.70e+03 2.21e+01 1.23e+00 4.76e-01 1.74e-01 0.20 +2009 01 01 1950 54832 71400 0 7.31e+02 2.53e+01 0 1.68e+03 2.30e+01 2.13e+00 5.40e-01 1.37e-01 0.44 +2009 01 01 1955 54832 71700 0 9.65e+02 2.81e+01 0 1.69e+03 2.12e+01 2.27e+00 5.63e-01 2.05e-01 0.08 +2009 01 01 2000 54832 72000 0 8.82e+02 2.86e+01 0 1.72e+03 2.22e+01 2.29e+00 7.48e-01 2.53e-01 0.24 +2009 01 01 2005 54832 72300 0 7.12e+02 2.92e+01 0 1.74e+03 2.12e+01 2.52e+00 5.20e-01 1.05e-01 0.37 +2009 01 01 2010 54832 72600 0 7.32e+02 3.63e+01 0 1.62e+03 2.11e+01 2.25e+00 7.24e-01 1.45e-01 0.33 +2009 01 01 2015 54832 72900 0 8.84e+02 2.81e+01 0 1.74e+03 1.83e+01 2.02e+00 8.38e-01 1.93e-01 0.63 +2009 01 01 2020 54832 73200 0 7.30e+02 3.12e+01 0 1.76e+03 1.73e+01 2.71e+00 7.44e-01 1.89e-01 0.57 +2009 01 01 2025 54832 73500 0 7.50e+02 2.64e+01 0 1.69e+03 2.36e+01 2.31e+00 8.23e-01 2.09e-01 0.69 +2009 01 01 2030 54832 73800 0 9.25e+02 3.00e+01 0 2.10e+03 2.92e+01 2.34e+00 4.37e-01 1.90e-01 0.57 +2009 01 01 2035 54832 74100 0 6.39e+02 2.27e+01 0 2.42e+03 3.41e+01 2.66e+00 7.74e-01 1.25e-01 0.47 +2009 01 01 2040 54832 74400 0 6.35e+02 2.88e+01 0 1.91e+03 3.77e+01 2.85e+00 6.65e-01 8.43e-02 0.48 +2009 01 01 2045 54832 74700 0 7.70e+02 2.84e+01 0 1.55e+03 1.87e+01 1.97e+00 4.37e-01 1.90e-01 0.54 +2009 01 01 2050 54832 75000 0 7.51e+02 2.68e+01 0 1.66e+03 2.05e+01 2.66e+00 7.91e-01 1.60e-01 0.18 +2009 01 01 2055 54832 75300 0 6.93e+02 2.98e+01 0 1.66e+03 2.18e+01 2.56e+00 6.44e-01 2.00e-01 0.22 +2009 01 01 2100 54832 75600 0 7.58e+02 3.30e+01 0 1.56e+03 1.75e+01 2.52e+00 6.86e-01 1.58e-01 0.92 +2009 01 01 2105 54832 75900 0 7.89e+02 2.98e+01 0 1.61e+03 1.55e+01 3.07e+00 4.57e-01 1.45e-01 0.00 +2009 01 01 2110 54832 76200 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2115 54832 76500 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2120 54832 76800 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2125 54832 77100 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2130 54832 77400 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2135 54832 77700 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2140 54832 78000 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2145 54832 78300 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2150 54832 78600 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2155 54832 78900 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2200 54832 79200 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2205 54832 79500 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2210 54832 79800 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2215 54832 80100 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2220 54832 80400 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2225 54832 80700 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2230 54832 81000 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2235 54832 81300 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2240 54832 81600 9 -1.00e+05 -1.00e+05 9 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00e+05 -1.00 +2009 01 01 2245 54832 81900 0 8.11e+02 2.81e+01 0 1.76e+03 1.78e+01 2.46e+00 6.86e-01 1.55e-01 0.16 +2009 01 01 2250 54832 82200 0 7.51e+02 2.78e+01 0 1.71e+03 1.92e+01 2.55e+00 5.63e-01 1.87e-01 0.06 +2009 01 01 2255 54832 82500 0 6.39e+02 2.20e+01 0 1.64e+03 1.94e+01 2.13e+00 5.82e-01 1.37e-01 0.11 +2009 01 01 2300 54832 82800 0 7.52e+02 2.67e+01 0 1.51e+03 2.23e+01 2.56e+00 6.44e-01 2.11e-01 0.68 +2009 01 01 2305 54832 83100 0 9.20e+02 2.45e+01 0 1.63e+03 1.91e+01 2.41e+00 5.98e-01 1.52e-01 0.42 +2009 01 01 2310 54832 83400 0 7.68e+02 3.19e+01 0 1.64e+03 2.08e+01 2.23e+00 8.31e-01 1.16e-01 0.29 +2009 01 01 2315 54832 83700 0 7.08e+02 2.99e+01 0 1.63e+03 2.24e+01 2.83e+00 3.52e-01 1.34e-01 0.24 +2009 01 01 2320 54832 84000 0 8.73e+02 3.02e+01 0 1.77e+03 1.88e+01 2.85e+00 7.69e-01 2.32e-01 0.34 +2009 01 01 2325 54832 84300 0 7.18e+02 2.73e+01 0 1.58e+03 1.70e+01 2.23e+00 5.61e-01 2.00e-01 0.29 +2009 01 01 2330 54832 84600 0 7.51e+02 3.06e+01 0 1.62e+03 1.71e+01 2.39e+00 7.04e-01 1.25e-01 0.85 +2009 01 01 2335 54832 84900 0 7.18e+02 3.29e+01 0 1.56e+03 1.91e+01 2.85e+00 6.03e-01 1.37e-01 0.45 +2009 01 01 2340 54832 85200 0 7.68e+02 2.80e+01 0 1.71e+03 2.04e+01 2.85e+00 6.65e-01 1.79e-01 0.76 +2009 01 01 2345 54832 85500 0 6.97e+02 2.71e+01 0 1.65e+03 1.87e+01 2.52e+00 6.33e-01 1.87e-01 0.73 +2009 01 01 2350 54832 85800 0 7.27e+02 2.63e+01 0 1.51e+03 2.01e+01 2.56e+00 5.40e-01 1.69e-01 0.58 +2009 01 01 2355 54832 86100 0 5.22e+02 1.82e+01 0 1.64e+03 2.03e+01 2.74e+00 6.53e-01 1.92e-01 0.28 diff --git a/GeospaceDataManagement/tests/test_data/20090101_ace_mag_1m.txt b/GeospaceDataManagement/tests/test_data/20090101_ace_mag_1m.txt new file mode 100644 index 0000000..1a4f21d --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/20090101_ace_mag_1m.txt @@ -0,0 +1,1460 @@ +:Data_list: 20090101_ace_mag_1m.txt +:Created: 2009 Jan 02 0011 UT +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# Magnetometer values are in GSM coordinates. +# +# Units: Bx, By, Bz, Bt in nT +# Units: Latitude degrees +/- 90.0 +# Units: Longitude degrees 0.0 - 360.0 +# Status(S): 0 = nominal data, 1 to 8 = bad data record, 9 = no data +# Missing data values: -999.9 +# Source: ACE Satellite - Magnetometer +# +# 1-minute averaged Real-time Interplanetary Magnetic Field Values +# +# Modified Seconds +# UT Date Time Julian of the ---------------- GSM Coordinates --------------- +# YR MO DA HHMM Day Day S Bx By Bz Bt Lat. Long. +#------------------------------------------------------------------------------------ +2009 01 01 0000 54832 0 0 -3.3 2.5 1.7 4.5 23.1 142.7 +2009 01 01 0001 54832 60 0 -3.4 2.2 2.0 4.5 25.8 147.3 +2009 01 01 0002 54832 120 0 -3.8 1.8 1.7 4.5 21.8 154.8 +2009 01 01 0003 54832 180 0 -3.7 1.9 2.0 4.6 25.1 153.4 +2009 01 01 0004 54832 240 0 -4.2 1.8 0.8 4.7 10.3 157.2 +2009 01 01 0005 54832 300 0 -4.4 1.0 -1.3 4.6 -16.2 167.2 +2009 01 01 0006 54832 360 0 -4.2 1.4 -1.9 4.8 -23.5 162.0 +2009 01 01 0007 54832 420 0 -4.2 1.5 -1.5 4.7 -18.4 159.9 +2009 01 01 0008 54832 480 0 -4.6 0.5 -1.3 4.8 -16.1 174.3 +2009 01 01 0009 54832 540 0 -4.6 0.8 -1.2 4.8 -14.3 169.7 +2009 01 01 0010 54832 600 0 -4.6 1.1 -0.7 4.7 -8.7 166.9 +2009 01 01 0011 54832 660 0 -4.7 1.0 -0.6 4.8 -7.6 168.5 +2009 01 01 0012 54832 720 0 -4.5 1.1 -0.3 4.7 -4.2 165.9 +2009 01 01 0013 54832 780 0 -4.3 1.5 -0.2 4.6 -2.0 161.2 +2009 01 01 0014 54832 840 0 -4.2 1.6 -0.0 4.5 -0.0 159.7 +2009 01 01 0015 54832 900 0 -4.1 1.3 -0.8 4.4 -10.2 162.1 +2009 01 01 0016 54832 960 0 -4.2 0.5 -1.5 4.5 -19.8 172.7 +2009 01 01 0017 54832 1020 0 -3.9 -1.0 -2.0 4.5 -26.4 194.0 +2009 01 01 0018 54832 1080 0 -4.1 -0.7 -1.8 4.6 -22.9 190.0 +2009 01 01 0019 54832 1140 0 -3.9 -1.4 -1.7 4.4 -22.5 199.5 +2009 01 01 0020 54832 1200 0 -3.1 -2.1 -2.2 4.3 -30.1 213.7 +2009 01 01 0021 54832 1260 0 -3.7 -0.3 -2.5 4.5 -34.2 185.0 +2009 01 01 0022 54832 1320 0 -3.5 -0.8 -2.6 4.4 -35.8 193.0 +2009 01 01 0023 54832 1380 0 -4.0 0.2 -2.1 4.5 -27.3 177.1 +2009 01 01 0024 54832 1440 0 -4.3 0.7 -0.8 4.5 -10.7 171.0 +2009 01 01 0025 54832 1500 0 -4.3 1.3 -0.9 4.6 -10.9 163.1 +2009 01 01 0026 54832 1560 0 -4.4 1.3 -1.2 4.7 -14.9 163.7 +2009 01 01 0027 54832 1620 0 -4.4 1.5 0.3 4.6 3.9 161.1 +2009 01 01 0028 54832 1680 0 -4.4 1.5 -0.1 4.7 -1.8 161.0 +2009 01 01 0029 54832 1740 0 -4.5 1.2 -0.7 4.7 -8.2 165.2 +2009 01 01 0030 54832 1800 0 -4.4 1.3 -0.6 4.7 -7.7 163.9 +2009 01 01 0031 54832 1860 0 -4.6 0.9 -0.9 4.8 -11.1 168.8 +2009 01 01 0032 54832 1920 0 -4.6 0.4 -1.1 4.7 -13.5 175.2 +2009 01 01 0033 54832 1980 0 -4.6 0.5 -1.3 4.8 -15.8 174.2 +2009 01 01 0034 54832 2040 0 -4.4 0.2 -1.7 4.7 -21.0 176.9 +2009 01 01 0035 54832 2100 0 -4.4 -0.0 -1.6 4.7 -19.4 180.4 +2009 01 01 0036 54832 2160 0 -4.5 -0.3 -1.5 4.7 -18.1 183.5 +2009 01 01 0037 54832 2220 0 -4.4 -0.0 -1.4 4.6 -17.4 180.4 +2009 01 01 0038 54832 2280 0 -4.2 0.4 -1.5 4.4 -19.3 174.6 +2009 01 01 0039 54832 2340 0 -3.6 0.5 -2.6 4.4 -35.4 171.5 +2009 01 01 0040 54832 2400 0 -3.3 0.0 -2.8 4.3 -40.8 179.4 +2009 01 01 0041 54832 2460 0 -3.8 0.2 -2.3 4.5 -31.5 177.3 +2009 01 01 0042 54832 2520 0 -3.8 -0.0 -2.3 4.5 -31.0 180.2 +2009 01 01 0043 54832 2580 0 -3.2 -0.9 -3.0 4.5 -41.5 195.8 +2009 01 01 0044 54832 2640 0 -3.2 -1.0 -3.1 4.6 -42.4 197.9 +2009 01 01 0045 54832 2700 0 -3.1 0.2 -2.7 4.1 -40.4 177.2 +2009 01 01 0046 54832 2760 0 -3.5 0.6 -2.0 4.1 -29.5 170.7 +2009 01 01 0047 54832 2820 0 -3.8 -0.0 -1.7 4.2 -24.8 180.2 +2009 01 01 0048 54832 2880 0 -3.6 -0.1 -2.1 4.1 -31.1 181.1 +2009 01 01 0049 54832 2940 0 -3.5 0.3 -2.2 4.1 -32.3 175.3 +2009 01 01 0050 54832 3000 0 -4.1 0.2 -1.4 4.3 -19.4 177.7 +2009 01 01 0051 54832 3060 0 -4.3 -0.0 -1.0 4.4 -12.8 180.3 +2009 01 01 0052 54832 3120 0 -4.4 0.3 -0.8 4.5 -9.9 176.6 +2009 01 01 0053 54832 3180 0 -4.3 0.6 -0.6 4.4 -8.2 172.1 +2009 01 01 0054 54832 3240 0 -4.1 0.9 -0.8 4.3 -10.9 168.0 +2009 01 01 0055 54832 3300 0 -4.2 1.0 -0.5 4.3 -7.2 166.1 +2009 01 01 0056 54832 3360 0 -4.3 0.9 -0.6 4.4 -7.6 168.1 +2009 01 01 0057 54832 3420 0 -4.2 1.2 -0.2 4.4 -2.2 164.2 +2009 01 01 0058 54832 3480 0 -4.3 1.1 -0.0 4.5 -0.6 166.0 +2009 01 01 0059 54832 3540 0 -4.3 1.1 -0.6 4.5 -7.2 166.1 +2009 01 01 0100 54832 3600 0 -4.3 1.0 -0.5 4.5 -6.8 166.8 +2009 01 01 0101 54832 3660 0 -4.4 1.2 -0.0 4.6 -0.2 164.8 +2009 01 01 0102 54832 3720 0 -4.3 1.3 -0.0 4.5 -0.2 163.7 +2009 01 01 0103 54832 3780 0 -4.3 1.2 -0.1 4.4 -1.9 163.6 +2009 01 01 0104 54832 3840 0 -4.2 1.0 -1.0 4.4 -13.0 166.1 +2009 01 01 0105 54832 3900 0 -4.2 1.1 -0.3 4.4 -4.6 165.8 +2009 01 01 0106 54832 3960 0 -4.1 1.4 -0.3 4.3 -4.4 161.8 +2009 01 01 0107 54832 4020 0 -4.2 1.2 -0.6 4.4 -7.4 163.8 +2009 01 01 0108 54832 4080 0 -4.2 1.3 -0.3 4.4 -4.1 162.3 +2009 01 01 0109 54832 4140 0 -4.2 1.2 0.1 4.3 1.8 164.2 +2009 01 01 0110 54832 4200 0 -4.2 0.8 0.5 4.3 6.0 168.6 +2009 01 01 0111 54832 4260 0 -4.2 1.1 -0.1 4.4 -1.7 165.1 +2009 01 01 0112 54832 4320 0 -4.2 1.2 0.2 4.3 2.7 164.1 +2009 01 01 0113 54832 4380 0 -4.2 1.1 -0.1 4.3 -1.3 164.7 +2009 01 01 0114 54832 4440 0 -4.1 1.4 0.1 4.3 1.2 161.7 +2009 01 01 0115 54832 4500 0 -4.0 1.6 0.3 4.3 4.0 158.7 +2009 01 01 0116 54832 4560 0 -4.0 2.1 0.6 4.5 7.4 152.2 +2009 01 01 0117 54832 4620 0 -4.1 1.8 0.9 4.6 11.7 155.9 +2009 01 01 0118 54832 4680 0 -3.8 2.0 1.0 4.4 13.5 152.8 +2009 01 01 0119 54832 4740 0 -3.9 2.1 1.1 4.6 13.7 152.2 +2009 01 01 0120 54832 4800 0 -3.7 1.8 0.7 4.2 10.0 153.7 +2009 01 01 0121 54832 4860 0 -4.0 1.6 -0.4 4.4 -4.6 157.8 +2009 01 01 0122 54832 4920 0 -3.7 2.0 -1.1 4.4 -14.2 151.5 +2009 01 01 0123 54832 4980 0 -3.5 2.2 -1.3 4.4 -18.0 148.5 +2009 01 01 0124 54832 5040 0 -3.5 2.2 -1.2 4.3 -16.6 147.9 +2009 01 01 0125 54832 5100 0 -3.7 2.1 -0.9 4.3 -11.9 150.0 +2009 01 01 0126 54832 5160 0 -3.6 2.5 -0.7 4.5 -9.0 145.6 +2009 01 01 0127 54832 5220 0 -4.0 2.2 -0.2 4.6 -2.6 151.3 +2009 01 01 0128 54832 5280 0 -4.2 2.1 0.1 4.6 1.1 153.8 +2009 01 01 0129 54832 5340 0 -4.1 2.4 -0.2 4.7 -2.8 149.8 +2009 01 01 0130 54832 5400 0 -4.2 2.2 -0.4 4.7 -4.4 152.4 +2009 01 01 0131 54832 5460 0 -4.1 2.0 0.6 4.6 7.6 154.2 +2009 01 01 0132 54832 5520 0 -4.7 1.1 -0.1 4.8 -0.6 167.1 +2009 01 01 0133 54832 5580 0 -4.1 0.9 -2.3 4.8 -28.5 167.4 +2009 01 01 0134 54832 5640 0 -3.7 2.6 -1.9 4.9 -22.4 144.6 +2009 01 01 0135 54832 5700 0 -3.5 2.5 -2.5 5.0 -30.2 144.8 +2009 01 01 0136 54832 5760 0 -2.6 2.5 -3.4 5.0 -43.9 135.8 +2009 01 01 0137 54832 5820 0 -2.5 2.9 -3.4 5.1 -41.5 130.3 +2009 01 01 0138 54832 5880 0 -2.3 3.4 -2.9 5.1 -35.1 124.4 +2009 01 01 0139 54832 5940 0 -3.4 3.4 -2.2 5.3 -24.2 134.9 +2009 01 01 0140 54832 6000 0 -4.4 2.9 -1.2 5.4 -12.4 146.7 +2009 01 01 0141 54832 6060 0 -5.0 2.4 -0.7 5.6 -6.8 154.1 +2009 01 01 0142 54832 6120 0 -5.1 2.3 -0.4 5.6 -3.9 155.9 +2009 01 01 0143 54832 6180 0 -4.8 2.6 -0.7 5.5 -7.2 151.6 +2009 01 01 0144 54832 6240 0 -4.8 2.6 -0.8 5.6 -8.6 151.5 +2009 01 01 0145 54832 6300 0 -4.9 2.6 -1.0 5.6 -9.8 151.6 +2009 01 01 0146 54832 6360 0 -5.0 2.5 -0.8 5.6 -7.8 153.6 +2009 01 01 0147 54832 6420 0 -4.9 2.7 -0.8 5.6 -8.4 150.9 +2009 01 01 0148 54832 6480 0 -4.8 2.7 -1.0 5.6 -10.3 150.2 +2009 01 01 0149 54832 6540 0 -4.7 2.9 -1.0 5.6 -10.7 148.4 +2009 01 01 0150 54832 6600 0 -4.6 2.9 -0.8 5.5 -8.3 147.9 +2009 01 01 0151 54832 6660 0 -4.7 2.9 -0.7 5.6 -7.0 148.7 +2009 01 01 0152 54832 6720 0 -4.5 3.2 -0.9 5.6 -9.2 144.0 +2009 01 01 0153 54832 6780 0 -4.8 2.9 -0.6 5.6 -6.0 149.0 +2009 01 01 0154 54832 6840 0 -4.4 3.2 -0.9 5.5 -9.1 143.7 +2009 01 01 0155 54832 6900 0 -4.4 3.2 -0.9 5.6 -9.2 144.1 +2009 01 01 0156 54832 6960 0 -4.4 3.3 -0.9 5.6 -8.8 143.6 +2009 01 01 0157 54832 7020 0 -4.4 3.3 -0.9 5.5 -9.0 143.4 +2009 01 01 0158 54832 7080 0 -4.5 3.2 -0.9 5.6 -9.1 144.3 +2009 01 01 0159 54832 7140 0 -4.4 3.3 -0.8 5.6 -7.7 143.2 +2009 01 01 0200 54832 7200 0 -4.4 3.4 -0.8 5.6 -8.0 142.5 +2009 01 01 0201 54832 7260 0 -4.3 3.5 -0.6 5.6 -6.3 140.9 +2009 01 01 0202 54832 7320 0 -4.5 3.2 -0.5 5.6 -5.4 144.1 +2009 01 01 0203 54832 7380 0 -4.3 3.5 -0.6 5.5 -6.4 141.0 +2009 01 01 0204 54832 7440 0 -4.1 3.7 -0.4 5.5 -4.6 137.9 +2009 01 01 0205 54832 7500 0 -3.8 4.0 0.1 5.5 0.7 133.5 +2009 01 01 0206 54832 7560 0 -3.9 3.8 -0.2 5.5 -1.9 135.7 +2009 01 01 0207 54832 7620 0 -4.0 3.6 -0.4 5.4 -4.3 137.8 +2009 01 01 0208 54832 7680 0 -4.1 3.1 -0.8 5.2 -8.7 142.5 +2009 01 01 0209 54832 7740 0 -4.0 3.2 -0.2 5.2 -1.9 141.5 +2009 01 01 0210 54832 7800 0 -3.8 3.0 -0.2 4.9 -2.2 141.3 +2009 01 01 0211 54832 7860 0 -3.7 3.0 0.4 4.8 5.2 141.2 +2009 01 01 0212 54832 7920 0 -3.1 3.2 1.6 4.8 20.1 134.5 +2009 01 01 0213 54832 7980 0 -3.6 2.9 0.9 4.7 10.5 141.8 +2009 01 01 0214 54832 8040 0 -3.7 2.8 0.4 4.7 5.0 142.8 +2009 01 01 0215 54832 8100 0 -3.2 2.7 0.5 4.2 7.3 139.3 +2009 01 01 0216 54832 8160 0 -2.9 2.9 0.5 4.2 7.5 134.6 +2009 01 01 0217 54832 8220 0 -2.8 2.7 0.6 3.9 8.5 136.2 +2009 01 01 0218 54832 8280 0 -2.9 2.7 0.4 4.0 6.1 137.6 +2009 01 01 0219 54832 8340 0 -2.8 2.7 0.6 3.9 8.4 136.8 +2009 01 01 0220 54832 8400 0 -3.0 2.7 0.5 4.1 7.2 138.4 +2009 01 01 0221 54832 8460 0 -3.8 3.1 0.3 4.9 3.2 141.1 +2009 01 01 0222 54832 8520 0 -3.7 3.2 0.5 4.9 6.3 138.6 +2009 01 01 0223 54832 8580 0 -3.8 3.2 0.4 5.0 4.1 140.2 +2009 01 01 0224 54832 8640 0 -4.1 3.2 0.2 5.2 2.1 142.2 +2009 01 01 0225 54832 8700 0 -4.4 3.1 -0.2 5.4 -2.6 144.4 +2009 01 01 0226 54832 8760 0 -4.5 3.2 -0.3 5.6 -3.0 144.6 +2009 01 01 0227 54832 8820 0 -4.6 2.7 -1.2 5.4 -12.4 149.7 +2009 01 01 0228 54832 8880 0 -4.6 2.4 -1.5 5.4 -16.1 152.2 +2009 01 01 0229 54832 8940 0 -4.7 2.5 -1.5 5.5 -15.8 151.9 +2009 01 01 0230 54832 9000 0 -4.6 2.5 -1.5 5.4 -16.4 150.8 +2009 01 01 0231 54832 9060 0 -4.4 2.7 -1.6 5.4 -17.1 148.6 +2009 01 01 0232 54832 9120 0 -4.6 2.6 -1.4 5.4 -14.8 150.3 +2009 01 01 0233 54832 9180 0 -4.7 2.7 -0.8 5.5 -8.6 150.1 +2009 01 01 0234 54832 9240 0 -4.7 2.7 -1.0 5.6 -10.7 150.1 +2009 01 01 0235 54832 9300 0 -4.7 2.7 -1.2 5.6 -12.1 150.0 +2009 01 01 0236 54832 9360 0 -4.7 2.8 -1.3 5.6 -13.4 149.2 +2009 01 01 0237 54832 9420 0 -4.6 2.9 -1.2 5.6 -12.1 148.0 +2009 01 01 0238 54832 9480 0 -5.0 2.3 -1.2 5.6 -12.0 155.2 +2009 01 01 0239 54832 9540 0 -4.9 2.5 -1.1 5.6 -11.2 153.2 +2009 01 01 0240 54832 9600 0 -4.8 2.6 -1.0 5.6 -10.6 151.4 +2009 01 01 0241 54832 9660 0 -4.7 2.6 -1.2 5.5 -12.3 151.6 +2009 01 01 0242 54832 9720 0 -4.6 2.4 -1.7 5.5 -18.4 152.4 +2009 01 01 0243 54832 9780 0 -4.6 2.4 -1.8 5.5 -18.6 152.9 +2009 01 01 0244 54832 9840 0 -4.7 2.6 -1.6 5.6 -16.5 151.3 +2009 01 01 0245 54832 9900 0 -4.8 2.6 -1.5 5.7 -14.8 151.6 +2009 01 01 0246 54832 9960 0 -4.1 3.3 -1.4 5.5 -14.6 141.2 +2009 01 01 0247 54832 10020 0 -4.3 3.1 -1.4 5.5 -15.3 143.6 +2009 01 01 0248 54832 10080 0 -4.3 3.0 -1.3 5.4 -13.5 144.8 +2009 01 01 0249 54832 10140 0 -3.7 3.3 -1.2 5.2 -13.8 138.3 +2009 01 01 0250 54832 10200 0 -4.0 2.9 -1.6 5.3 -18.1 143.9 +2009 01 01 0251 54832 10260 0 -4.1 2.7 -1.8 5.2 -19.8 146.2 +2009 01 01 0252 54832 10320 0 -3.8 2.9 -1.8 5.1 -20.7 143.3 +2009 01 01 0253 54832 10380 0 -3.9 2.8 -1.9 5.2 -21.9 144.3 +2009 01 01 0254 54832 10440 0 -4.0 2.6 -2.1 5.2 -23.9 146.8 +2009 01 01 0255 54832 10500 0 -3.9 2.6 -2.1 5.1 -24.1 146.6 +2009 01 01 0256 54832 10560 0 -3.8 2.7 -2.2 5.1 -24.9 145.1 +2009 01 01 0257 54832 10620 0 -3.8 2.7 -2.1 5.2 -24.0 144.4 +2009 01 01 0258 54832 10680 0 -3.9 2.7 -2.0 5.1 -23.6 145.2 +2009 01 01 0259 54832 10740 0 -3.8 2.8 -1.9 5.1 -21.4 143.3 +2009 01 01 0300 54832 10800 0 -4.0 2.7 -2.0 5.2 -22.0 146.0 +2009 01 01 0301 54832 10860 0 -3.8 2.8 -2.0 5.2 -23.3 144.2 +2009 01 01 0302 54832 10920 0 -3.9 2.8 -2.1 5.2 -23.8 144.3 +2009 01 01 0303 54832 10980 0 -3.9 2.7 -2.1 5.2 -24.1 145.6 +2009 01 01 0304 54832 11040 0 -3.9 2.7 -2.3 5.2 -25.8 144.9 +2009 01 01 0305 54832 11100 0 -3.6 2.9 -2.3 5.1 -26.1 141.5 +2009 01 01 0306 54832 11160 0 -3.1 3.1 -2.1 4.9 -25.0 135.1 +2009 01 01 0307 54832 11220 0 -3.2 3.0 -2.2 5.0 -26.7 136.9 +2009 01 01 0308 54832 11280 0 -3.6 2.7 -2.2 5.0 -26.0 143.0 +2009 01 01 0309 54832 11340 0 -3.6 2.5 -2.3 5.0 -27.0 145.2 +2009 01 01 0310 54832 11400 0 -3.5 2.7 -2.2 4.9 -26.3 142.7 +2009 01 01 0311 54832 11460 0 -3.7 2.6 -2.3 5.1 -26.7 144.5 +2009 01 01 0312 54832 11520 0 -3.8 2.8 -2.3 5.2 -26.6 144.0 +2009 01 01 0313 54832 11580 0 -3.9 2.8 -2.4 5.3 -26.9 144.2 +2009 01 01 0314 54832 11640 0 -4.0 2.6 -2.5 5.4 -27.5 146.7 +2009 01 01 0315 54832 11700 0 -4.1 2.4 -2.5 5.4 -28.2 149.7 +2009 01 01 0316 54832 11760 0 -3.9 2.5 -2.3 5.2 -26.2 147.5 +2009 01 01 0317 54832 11820 0 -4.0 2.5 -2.2 5.2 -25.0 147.8 +2009 01 01 0318 54832 11880 0 -4.1 2.4 -2.2 5.2 -25.1 149.1 +2009 01 01 0319 54832 11940 0 -4.2 2.4 -2.3 5.3 -25.2 150.4 +2009 01 01 0320 54832 12000 0 -4.1 2.4 -2.4 5.3 -26.5 150.1 +2009 01 01 0321 54832 12060 0 -4.3 2.3 -2.4 5.4 -26.5 152.0 +2009 01 01 0322 54832 12120 0 -4.3 2.2 -2.6 5.5 -27.9 152.4 +2009 01 01 0323 54832 12180 0 -4.2 2.3 -2.6 5.5 -28.6 151.8 +2009 01 01 0324 54832 12240 0 -4.3 2.2 -2.5 5.4 -27.7 152.5 +2009 01 01 0325 54832 12300 0 -4.2 2.3 -2.5 5.4 -27.0 151.1 +2009 01 01 0326 54832 12360 0 -4.2 2.4 -2.4 5.4 -26.4 150.0 +2009 01 01 0327 54832 12420 0 -4.1 2.4 -2.5 5.4 -27.4 149.6 +2009 01 01 0328 54832 12480 0 -4.2 2.3 -2.5 5.4 -27.2 151.2 +2009 01 01 0329 54832 12540 0 -4.3 1.5 -2.8 5.4 -31.7 161.3 +2009 01 01 0330 54832 12600 0 -4.2 1.7 -2.4 5.1 -27.8 158.1 +2009 01 01 0331 54832 12660 0 -4.1 1.9 -2.6 5.2 -29.5 154.9 +2009 01 01 0332 54832 12720 0 -3.8 1.8 -2.8 5.1 -33.2 154.4 +2009 01 01 0333 54832 12780 0 -3.7 1.9 -2.6 4.9 -31.7 152.1 +2009 01 01 0334 54832 12840 0 -3.9 0.8 -2.4 4.7 -31.3 168.8 +2009 01 01 0335 54832 12900 0 -3.6 0.5 -3.1 4.8 -40.2 172.7 +2009 01 01 0336 54832 12960 0 -4.2 0.4 -2.5 4.9 -30.7 174.5 +2009 01 01 0337 54832 13020 0 -4.3 0.5 -2.3 4.9 -28.1 173.7 +2009 01 01 0338 54832 13080 0 -4.3 0.8 -2.4 5.0 -28.7 170.0 +2009 01 01 0339 54832 13140 0 -4.7 0.2 -1.6 5.0 -19.3 177.0 +2009 01 01 0340 54832 13200 0 -4.8 0.1 -1.4 5.0 -16.0 179.3 +2009 01 01 0341 54832 13260 0 -4.8 -0.2 -1.2 5.0 -13.7 182.2 +2009 01 01 0342 54832 13320 0 -4.8 -0.5 -0.9 4.9 -10.8 185.4 +2009 01 01 0343 54832 13380 0 -4.4 -0.2 -1.9 4.8 -22.7 182.9 +2009 01 01 0344 54832 13440 0 -4.3 -0.5 -2.0 4.7 -25.1 186.1 +2009 01 01 0345 54832 13500 0 -4.2 -0.6 -1.9 4.7 -23.8 188.7 +2009 01 01 0346 54832 13560 0 -4.1 -0.8 -1.8 4.6 -23.1 190.5 +2009 01 01 0347 54832 13620 0 -4.3 -0.8 -1.8 4.7 -22.9 190.4 +2009 01 01 0348 54832 13680 0 -4.1 -1.2 -1.7 4.6 -21.6 196.5 +2009 01 01 0349 54832 13740 0 -3.9 -1.1 -1.7 4.4 -22.6 196.4 +2009 01 01 0350 54832 13800 0 -3.7 -1.0 -1.7 4.2 -23.4 194.9 +2009 01 01 0351 54832 13860 0 -3.7 -0.7 -1.9 4.2 -26.2 190.1 +2009 01 01 0352 54832 13920 0 -3.8 -0.7 -2.0 4.3 -27.5 191.0 +2009 01 01 0353 54832 13980 0 -3.8 -0.7 -2.0 4.4 -27.9 190.8 +2009 01 01 0354 54832 14040 0 -3.2 -1.7 -1.5 3.9 -23.0 207.3 +2009 01 01 0355 54832 14100 0 -1.6 -3.1 -1.1 3.7 -17.1 243.6 +2009 01 01 0356 54832 14160 0 -2.5 -2.3 -1.3 3.6 -20.2 223.3 +2009 01 01 0357 54832 14220 0 -3.3 -2.1 -1.6 4.2 -22.6 212.1 +2009 01 01 0358 54832 14280 0 -3.0 -2.4 -1.4 4.1 -19.9 218.7 +2009 01 01 0359 54832 14340 0 -3.5 -1.6 -1.9 4.3 -26.4 204.8 +2009 01 01 0400 54832 14400 0 -3.4 -1.9 -2.0 4.4 -27.4 209.3 +2009 01 01 0401 54832 14460 0 -3.6 -1.4 -2.0 4.4 -26.7 201.6 +2009 01 01 0402 54832 14520 0 -3.8 -1.2 -1.8 4.4 -24.9 197.5 +2009 01 01 0403 54832 14580 0 -3.6 -1.4 -2.0 4.4 -26.9 201.2 +2009 01 01 0404 54832 14640 0 -3.7 -1.3 -2.1 4.4 -28.0 199.7 +2009 01 01 0405 54832 14700 0 -2.6 -2.5 -1.0 3.8 -15.6 224.0 +2009 01 01 0406 54832 14760 0 -2.2 -2.5 -0.8 3.4 -13.0 229.3 +2009 01 01 0407 54832 14820 0 -1.3 -2.8 -0.1 3.1 -2.4 245.8 +2009 01 01 0408 54832 14880 0 -1.1 -2.9 -0.0 3.1 -0.6 248.3 +2009 01 01 0409 54832 14940 0 -1.1 -3.0 -0.1 3.2 -2.2 249.7 +2009 01 01 0410 54832 15000 0 -1.7 -2.7 -0.1 3.3 -2.3 237.5 +2009 01 01 0411 54832 15060 0 -1.5 -2.7 -0.1 3.1 -2.8 240.8 +2009 01 01 0412 54832 15120 0 -1.8 -2.5 -0.0 3.1 -0.5 235.2 +2009 01 01 0413 54832 15180 0 -1.9 -2.5 -0.2 3.1 -2.9 233.4 +2009 01 01 0414 54832 15240 0 -2.0 -2.4 -0.2 3.1 -3.1 231.1 +2009 01 01 0415 54832 15300 0 -1.5 -2.8 -0.2 3.2 -3.5 241.8 +2009 01 01 0416 54832 15360 0 -0.2 -3.4 0.4 3.5 6.9 266.0 +2009 01 01 0417 54832 15420 0 -0.2 -3.5 0.4 3.5 6.3 267.5 +2009 01 01 0418 54832 15480 0 -0.0 -3.5 0.3 3.5 5.1 269.2 +2009 01 01 0419 54832 15540 0 -0.2 -3.5 0.3 3.5 4.6 267.0 +2009 01 01 0420 54832 15600 0 -0.5 -3.2 0.0 3.2 0.1 260.4 +2009 01 01 0421 54832 15660 0 -0.3 -3.4 0.4 3.5 6.3 264.4 +2009 01 01 0422 54832 15720 0 -0.3 -3.5 0.6 3.5 9.0 265.4 +2009 01 01 0423 54832 15780 0 -0.5 -3.4 0.8 3.5 13.4 261.4 +2009 01 01 0424 54832 15840 0 -0.8 -3.0 1.4 3.4 25.1 255.3 +2009 01 01 0425 54832 15900 0 -0.6 -3.3 1.4 3.6 23.2 259.9 +2009 01 01 0426 54832 15960 0 -0.1 -3.3 0.8 3.4 13.0 268.4 +2009 01 01 0427 54832 16020 0 0.7 -3.1 -0.1 3.2 -1.3 282.5 +2009 01 01 0428 54832 16080 0 0.3 -2.8 -0.9 3.0 -18.3 276.1 +2009 01 01 0429 54832 16140 0 0.6 -2.7 -0.9 2.9 -17.9 283.1 +2009 01 01 0430 54832 16200 0 0.8 -2.5 -1.0 2.8 -20.2 287.5 +2009 01 01 0431 54832 16260 0 0.2 -2.8 -0.4 2.9 -8.7 273.6 +2009 01 01 0432 54832 16320 0 0.1 -2.8 -0.2 2.9 -3.6 272.7 +2009 01 01 0433 54832 16380 0 0.7 -2.7 -0.7 2.8 -13.6 284.2 +2009 01 01 0434 54832 16440 0 0.6 -3.1 -0.1 3.2 -2.4 280.6 +2009 01 01 0435 54832 16500 0 0.9 -2.9 -0.1 3.0 -1.3 286.7 +2009 01 01 0436 54832 16560 0 0.9 -2.7 0.1 2.8 2.2 288.9 +2009 01 01 0437 54832 16620 0 0.6 -3.1 0.8 3.2 14.7 281.7 +2009 01 01 0438 54832 16680 0 0.6 -3.2 1.2 3.4 19.8 280.8 +2009 01 01 0439 54832 16740 0 0.6 -3.1 2.0 3.8 31.8 281.0 +2009 01 01 0440 54832 16800 0 0.3 -3.2 1.6 3.6 26.1 275.6 +2009 01 01 0441 54832 16860 0 -3.0 0.0 -1.6 3.4 -27.3 180.0 +2009 01 01 0442 54832 16920 0 -2.3 0.4 -2.4 3.4 -45.6 171.1 +2009 01 01 0443 54832 16980 0 -1.9 1.5 -1.8 3.1 -36.4 142.1 +2009 01 01 0444 54832 17040 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0445 54832 17100 0 -2.0 1.3 -2.6 3.5 -47.6 147.6 +2009 01 01 0446 54832 17160 0 -1.9 1.1 -2.6 3.4 -49.3 151.5 +2009 01 01 0447 54832 17220 0 -2.9 1.1 -1.9 3.7 -31.0 158.9 +2009 01 01 0448 54832 17280 0 -2.8 0.8 -1.9 3.5 -32.9 165.0 +2009 01 01 0449 54832 17340 0 -2.7 0.8 -2.2 3.6 -37.6 164.1 +2009 01 01 0450 54832 17400 0 -1.9 -0.1 -2.9 3.5 -57.6 182.9 +2009 01 01 0451 54832 17460 0 -1.3 -1.6 -3.4 4.0 -58.6 231.5 +2009 01 01 0452 54832 17520 0 -3.3 -0.2 -2.4 4.1 -36.3 183.5 +2009 01 01 0453 54832 17580 0 -3.3 -0.3 -2.4 4.1 -36.1 185.1 +2009 01 01 0454 54832 17640 0 -3.3 0.1 -2.3 4.1 -34.2 178.6 +2009 01 01 0455 54832 17700 0 -3.1 0.1 -2.6 4.1 -39.1 178.1 +2009 01 01 0456 54832 17760 0 -3.4 -0.5 -2.7 4.3 -37.7 188.7 +2009 01 01 0457 54832 17820 0 -2.6 0.8 -2.8 3.9 -45.8 164.1 +2009 01 01 0458 54832 17880 0 -1.9 0.8 -3.0 3.6 -55.4 156.0 +2009 01 01 0459 54832 17940 0 -2.3 0.1 -3.1 3.9 -52.7 176.4 +2009 01 01 0500 54832 18000 0 -2.2 0.5 -2.9 3.7 -52.6 166.5 +2009 01 01 0501 54832 18060 0 -1.8 1.2 -3.0 3.8 -54.2 146.4 +2009 01 01 0502 54832 18120 0 -1.9 0.9 -3.1 3.8 -55.6 154.5 +2009 01 01 0503 54832 18180 0 -1.9 -0.2 -2.9 3.5 -57.3 186.3 +2009 01 01 0504 54832 18240 0 -1.2 -2.9 -2.2 3.8 -34.7 246.5 +2009 01 01 0505 54832 18300 0 -0.9 -2.3 -3.2 4.1 -52.0 248.9 +2009 01 01 0506 54832 18360 0 -1.0 -2.1 -3.4 4.1 -55.2 245.4 +2009 01 01 0507 54832 18420 0 -1.3 -1.6 -3.4 4.0 -58.7 231.3 +2009 01 01 0508 54832 18480 0 -1.1 0.4 -3.8 4.0 -72.8 161.7 +2009 01 01 0509 54832 18540 0 -2.3 -0.9 -3.1 4.0 -52.0 200.8 +2009 01 01 0510 54832 18600 0 -2.2 -0.5 -3.5 4.2 -57.5 191.5 +2009 01 01 0511 54832 18660 0 -2.0 -0.9 -3.7 4.3 -59.3 203.6 +2009 01 01 0512 54832 18720 0 -1.3 -1.3 -3.6 4.0 -62.9 225.1 +2009 01 01 0513 54832 18780 0 -0.8 -0.8 -4.1 4.3 -75.0 227.1 +2009 01 01 0514 54832 18840 0 -1.7 -1.5 -3.6 4.2 -57.7 222.0 +2009 01 01 0515 54832 18900 0 -1.5 -1.6 -3.7 4.3 -59.5 226.1 +2009 01 01 0516 54832 18960 0 -1.4 -0.8 -3.8 4.2 -67.0 208.5 +2009 01 01 0517 54832 19020 0 -1.9 -2.2 -3.3 4.3 -48.7 229.6 +2009 01 01 0518 54832 19080 0 -2.3 -0.9 -3.6 4.4 -56.1 201.6 +2009 01 01 0519 54832 19140 0 -2.1 -1.1 -3.6 4.4 -56.8 207.7 +2009 01 01 0520 54832 19200 0 -2.6 -0.8 -3.3 4.3 -50.6 197.0 +2009 01 01 0521 54832 19260 0 -1.5 0.1 -3.8 4.1 -68.0 176.5 +2009 01 01 0522 54832 19320 0 -1.7 0.2 -3.5 3.9 -63.6 173.1 +2009 01 01 0523 54832 19380 0 -1.4 0.5 -3.7 4.0 -68.2 159.5 +2009 01 01 0524 54832 19440 0 -2.1 0.7 -3.4 4.1 -57.1 162.9 +2009 01 01 0525 54832 19500 0 -1.7 0.5 -3.6 4.1 -63.2 162.7 +2009 01 01 0526 54832 19560 0 -0.9 0.5 -3.9 4.0 -74.8 149.2 +2009 01 01 0527 54832 19620 0 -0.3 0.6 -4.0 4.1 -80.6 113.0 +2009 01 01 0528 54832 19680 0 0.6 -0.4 -4.0 4.1 -80.7 327.5 +2009 01 01 0529 54832 19740 0 -0.3 0.1 -4.4 4.4 -85.6 159.6 +2009 01 01 0530 54832 19800 0 0.3 0.1 -4.3 4.3 -85.4 19.3 +2009 01 01 0531 54832 19860 0 0.7 -0.7 -4.0 4.1 -76.3 313.7 +2009 01 01 0532 54832 19920 0 0.7 -0.7 -4.1 4.2 -76.3 312.0 +2009 01 01 0533 54832 19980 0 0.4 -0.5 -4.2 4.2 -81.8 308.7 +2009 01 01 0534 54832 20040 0 0.2 -0.1 -4.4 4.4 -87.1 344.4 +2009 01 01 0535 54832 20100 0 0.5 -0.1 -4.3 4.3 -83.2 350.7 +2009 01 01 0536 54832 20160 0 0.2 0.3 -4.5 4.5 -85.9 59.0 +2009 01 01 0537 54832 20220 0 0.7 0.5 -4.5 4.5 -79.9 35.2 +2009 01 01 0538 54832 20280 0 0.4 1.0 -4.3 4.4 -76.2 66.8 +2009 01 01 0539 54832 20340 0 0.5 0.8 -4.4 4.5 -77.5 56.1 +2009 01 01 0540 54832 20400 0 0.8 1.5 -4.1 4.5 -67.2 63.0 +2009 01 01 0541 54832 20460 0 0.2 2.4 -4.1 4.7 -60.1 85.2 +2009 01 01 0542 54832 20520 0 0.6 2.5 -3.6 4.4 -54.3 76.5 +2009 01 01 0543 54832 20580 0 0.8 2.1 -3.9 4.5 -59.6 69.7 +2009 01 01 0544 54832 20640 0 1.7 2.2 -3.2 4.2 -48.9 52.9 +2009 01 01 0545 54832 20700 0 2.0 2.5 -2.7 4.2 -40.3 51.7 +2009 01 01 0546 54832 20760 0 0.6 3.1 -2.9 4.3 -43.2 78.9 +2009 01 01 0547 54832 20820 0 0.6 3.0 -2.7 4.1 -41.2 79.1 +2009 01 01 0548 54832 20880 0 0.4 3.3 -2.6 4.2 -38.1 82.9 +2009 01 01 0549 54832 20940 0 0.4 3.2 -2.9 4.3 -42.1 82.6 +2009 01 01 0550 54832 21000 0 0.7 3.5 -2.2 4.2 -32.3 78.4 +2009 01 01 0551 54832 21060 0 0.2 3.7 -1.8 4.1 -26.6 86.6 +2009 01 01 0552 54832 21120 0 0.7 3.5 -1.8 4.0 -26.9 79.2 +2009 01 01 0553 54832 21180 0 -0.5 2.7 -3.2 4.2 -49.6 99.9 +2009 01 01 0554 54832 21240 0 -1.4 1.7 -3.8 4.4 -59.6 129.0 +2009 01 01 0555 54832 21300 0 -2.4 2.5 -2.6 4.3 -37.0 133.1 +2009 01 01 0556 54832 21360 0 -2.8 2.7 -2.3 4.5 -31.0 135.4 +2009 01 01 0557 54832 21420 0 -3.2 2.8 -1.6 4.6 -19.9 138.8 +2009 01 01 0558 54832 21480 0 -2.6 0.2 -3.8 4.6 -55.7 174.8 +2009 01 01 0559 54832 21540 0 -1.7 0.4 -4.2 4.6 -68.1 167.4 +2009 01 01 0600 54832 21600 0 -2.0 1.3 -3.7 4.4 -56.9 146.1 +2009 01 01 0601 54832 21660 0 -2.2 0.7 -3.8 4.4 -58.8 162.1 +2009 01 01 0602 54832 21720 0 -2.9 0.5 -3.5 4.6 -50.4 170.6 +2009 01 01 0603 54832 21780 0 -2.5 0.9 -3.6 4.5 -53.6 161.2 +2009 01 01 0604 54832 21840 0 -1.5 1.7 -4.3 4.8 -62.5 131.3 +2009 01 01 0605 54832 21900 0 -1.7 1.1 -4.4 4.8 -65.6 146.4 +2009 01 01 0606 54832 21960 0 -1.6 1.2 -4.5 4.9 -66.2 142.4 +2009 01 01 0607 54832 22020 0 -1.5 1.0 -4.5 4.9 -67.7 147.1 +2009 01 01 0608 54832 22080 0 -1.4 1.2 -4.5 4.8 -67.6 140.5 +2009 01 01 0609 54832 22140 0 -0.9 1.1 -4.1 4.4 -70.7 130.3 +2009 01 01 0610 54832 22200 0 -1.1 0.9 -3.6 3.9 -68.4 142.1 +2009 01 01 0611 54832 22260 0 -0.1 1.1 -4.1 4.3 -75.1 96.2 +2009 01 01 0612 54832 22320 0 0.6 1.3 -3.9 4.2 -69.2 65.5 +2009 01 01 0613 54832 22380 0 -1.9 -0.2 -1.7 2.6 -41.7 184.6 +2009 01 01 0614 54832 22440 0 -4.5 -1.7 0.2 4.8 2.2 201.1 +2009 01 01 0615 54832 22500 0 -4.9 -1.7 -0.3 5.2 -3.3 199.2 +2009 01 01 0616 54832 22560 0 -4.8 -1.6 -0.5 5.1 -5.9 198.7 +2009 01 01 0617 54832 22620 0 -4.9 -1.2 -1.3 5.2 -14.3 193.3 +2009 01 01 0618 54832 22680 0 -5.0 -1.1 -0.6 5.2 -7.0 192.0 +2009 01 01 0619 54832 22740 0 -5.0 -0.4 -0.8 5.1 -9.1 184.1 +2009 01 01 0620 54832 22800 0 -4.9 1.2 -0.7 5.1 -8.2 166.2 +2009 01 01 0621 54832 22860 0 -4.7 1.7 -1.0 5.1 -11.3 160.8 +2009 01 01 0622 54832 22920 0 -4.6 0.6 -2.1 5.1 -24.9 172.8 +2009 01 01 0623 54832 22980 0 -4.6 0.3 -1.9 5.0 -22.4 176.2 +2009 01 01 0624 54832 23040 0 -4.5 -0.4 -2.2 5.0 -25.6 184.8 +2009 01 01 0625 54832 23100 0 -4.1 -0.6 -2.5 4.9 -30.8 187.8 +2009 01 01 0626 54832 23160 0 -3.6 0.2 -3.2 4.8 -41.9 177.6 +2009 01 01 0627 54832 23220 0 -3.7 0.3 -3.1 4.9 -39.8 175.9 +2009 01 01 0628 54832 23280 0 -4.0 0.2 -2.8 4.9 -35.5 176.4 +2009 01 01 0629 54832 23340 0 -3.5 0.1 -3.2 4.7 -42.6 177.9 +2009 01 01 0630 54832 23400 0 -3.4 -0.1 -3.4 4.8 -44.5 181.7 +2009 01 01 0631 54832 23460 0 -3.6 -0.1 -3.1 4.8 -40.3 182.2 +2009 01 01 0632 54832 23520 0 -3.6 0.2 -3.0 4.7 -39.2 176.2 +2009 01 01 0633 54832 23580 0 -3.7 0.6 -2.9 4.7 -38.0 171.2 +2009 01 01 0634 54832 23640 0 -3.4 1.2 -2.9 4.7 -39.1 161.2 +2009 01 01 0635 54832 23700 0 -3.4 -0.6 -3.0 4.6 -40.7 190.5 +2009 01 01 0636 54832 23760 0 -3.5 -0.8 -2.9 4.6 -39.5 192.7 +2009 01 01 0637 54832 23820 0 -3.3 -0.7 -3.3 4.7 -44.3 192.6 +2009 01 01 0638 54832 23880 0 -3.1 -0.1 -3.3 4.5 -46.3 182.1 +2009 01 01 0639 54832 23940 0 -2.6 0.7 -3.7 4.6 -54.2 165.0 +2009 01 01 0640 54832 24000 0 -4.4 -2.3 -1.2 5.1 -13.1 208.1 +2009 01 01 0641 54832 24060 0 -4.8 -2.0 -1.2 5.4 -13.1 202.4 +2009 01 01 0642 54832 24120 0 -4.5 -2.0 -1.9 5.3 -21.6 203.9 +2009 01 01 0643 54832 24180 0 -4.3 -2.0 -2.2 5.2 -24.7 205.1 +2009 01 01 0644 54832 24240 0 -3.8 -1.5 -3.1 5.1 -36.7 201.7 +2009 01 01 0645 54832 24300 0 -3.9 -1.3 -3.1 5.2 -37.0 199.0 +2009 01 01 0646 54832 24360 0 -3.8 -1.2 -3.1 5.1 -37.5 197.5 +2009 01 01 0647 54832 24420 0 -4.2 -0.9 -2.8 5.2 -33.3 192.5 +2009 01 01 0648 54832 24480 0 -4.7 -1.0 -2.1 5.2 -23.1 192.6 +2009 01 01 0649 54832 24540 0 -4.2 -1.3 -2.6 5.1 -31.1 197.9 +2009 01 01 0650 54832 24600 0 -4.0 -1.5 -2.5 4.9 -30.7 200.5 +2009 01 01 0651 54832 24660 0 -3.9 -0.8 1.3 4.2 18.3 191.6 +2009 01 01 0652 54832 24720 0 -3.9 0.1 2.8 4.8 35.9 178.7 +2009 01 01 0653 54832 24780 0 -3.7 -0.1 3.1 4.8 39.7 182.2 +2009 01 01 0654 54832 24840 0 -3.5 -0.6 3.2 4.8 42.6 189.7 +2009 01 01 0655 54832 24900 0 -4.0 -0.4 2.7 4.9 34.1 185.4 +2009 01 01 0656 54832 24960 0 -3.9 -0.4 2.8 4.8 35.4 185.5 +2009 01 01 0657 54832 25020 0 -3.9 -0.3 2.8 4.8 35.5 184.4 +2009 01 01 0658 54832 25080 0 -4.1 -0.5 2.7 4.9 33.8 187.1 +2009 01 01 0659 54832 25140 0 -4.0 -0.6 2.8 5.0 35.0 188.8 +2009 01 01 0700 54832 25200 0 -4.1 -0.7 2.5 4.9 31.5 189.5 +2009 01 01 0701 54832 25260 0 -3.8 -0.6 2.8 4.8 36.2 189.2 +2009 01 01 0702 54832 25320 0 -3.8 -0.7 2.8 4.8 36.3 191.2 +2009 01 01 0703 54832 25380 0 -3.7 -0.9 2.8 4.7 36.4 194.1 +2009 01 01 0704 54832 25440 0 -3.8 -1.2 2.6 4.8 33.0 197.8 +2009 01 01 0705 54832 25500 0 -3.8 -1.1 2.7 4.8 34.9 195.8 +2009 01 01 0706 54832 25560 0 -4.0 -0.8 2.7 4.9 33.7 191.7 +2009 01 01 0707 54832 25620 0 -4.3 -1.1 2.4 5.1 28.6 193.9 +2009 01 01 0708 54832 25680 0 -4.3 -1.0 2.4 5.1 28.9 192.6 +2009 01 01 0709 54832 25740 0 -4.1 -0.9 2.6 4.9 32.1 192.9 +2009 01 01 0710 54832 25800 0 -3.8 -0.5 2.9 4.8 36.7 187.4 +2009 01 01 0711 54832 25860 0 -3.9 -1.0 2.6 4.8 32.9 194.3 +2009 01 01 0712 54832 25920 0 -4.3 -1.1 2.1 4.9 25.8 194.6 +2009 01 01 0713 54832 25980 0 -4.1 -1.3 2.2 4.8 27.5 197.3 +2009 01 01 0714 54832 26040 0 -3.5 -0.7 -0.6 3.6 -9.3 191.1 +2009 01 01 0715 54832 26100 0 -2.4 0.3 -3.9 4.6 -58.6 172.3 +2009 01 01 0716 54832 26160 0 -2.8 0.3 -3.8 4.7 -52.9 174.5 +2009 01 01 0717 54832 26220 0 -2.3 0.2 -4.2 4.8 -60.6 174.5 +2009 01 01 0718 54832 26280 0 -1.9 0.2 -4.4 4.8 -67.1 173.6 +2009 01 01 0719 54832 26340 0 -2.1 0.3 -4.4 4.9 -63.9 172.2 +2009 01 01 0720 54832 26400 0 -2.0 0.5 -4.3 4.7 -63.9 167.1 +2009 01 01 0721 54832 26460 0 -0.9 0.5 -4.4 4.6 -76.8 149.2 +2009 01 01 0722 54832 26520 0 -0.2 0.3 -4.6 4.6 -85.9 127.8 +2009 01 01 0723 54832 26580 0 -0.0 0.6 -4.6 4.6 -82.6 92.0 +2009 01 01 0724 54832 26640 0 -0.5 0.6 -4.6 4.7 -80.8 130.7 +2009 01 01 0725 54832 26700 0 -0.4 0.1 -4.6 4.6 -84.7 170.7 +2009 01 01 0726 54832 26760 0 -0.3 -0.1 -4.6 4.6 -85.8 190.5 +2009 01 01 0727 54832 26820 0 -0.5 0.3 -4.5 4.6 -82.4 153.9 +2009 01 01 0728 54832 26880 0 -0.7 0.5 -4.6 4.7 -79.1 142.6 +2009 01 01 0729 54832 26940 0 -0.4 0.6 -4.5 4.5 -80.6 121.1 +2009 01 01 0730 54832 27000 0 -0.7 0.6 -4.5 4.6 -78.6 141.9 +2009 01 01 0731 54832 27060 0 -0.9 0.4 -4.6 4.7 -77.7 155.5 +2009 01 01 0732 54832 27120 0 -1.0 0.4 -4.5 4.7 -76.5 159.8 +2009 01 01 0733 54832 27180 0 -1.3 0.4 -4.5 4.8 -73.1 164.3 +2009 01 01 0734 54832 27240 0 -1.6 0.1 -4.5 4.8 -70.5 174.9 +2009 01 01 0735 54832 27300 0 -2.7 -0.2 -4.1 4.9 -56.6 184.9 +2009 01 01 0736 54832 27360 0 -2.7 0.1 -4.2 5.0 -57.3 177.8 +2009 01 01 0737 54832 27420 0 -2.6 -0.1 -4.2 4.9 -58.7 181.5 +2009 01 01 0738 54832 27480 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0739 54832 27540 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0740 54832 27600 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0741 54832 27660 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0742 54832 27720 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0743 54832 27780 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0744 54832 27840 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0745 54832 27900 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0746 54832 27960 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0747 54832 28020 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0748 54832 28080 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 0749 54832 28140 0 -3.9 0.1 -3.4 5.2 -40.7 179.0 +2009 01 01 0750 54832 28200 0 -4.2 0.1 -2.9 5.1 -34.5 179.1 +2009 01 01 0751 54832 28260 0 -4.6 0.1 -2.5 5.2 -28.4 178.6 +2009 01 01 0752 54832 28320 0 -5.1 -0.1 -1.2 5.3 -13.0 181.4 +2009 01 01 0753 54832 28380 0 -5.2 0.1 -0.6 5.2 -6.9 179.3 +2009 01 01 0754 54832 28440 0 -5.2 -0.1 -0.5 5.2 -5.4 180.7 +2009 01 01 0755 54832 28500 0 -5.1 0.0 -0.4 5.2 -4.1 179.7 +2009 01 01 0756 54832 28560 0 -5.1 0.7 -0.7 5.2 -7.5 172.2 +2009 01 01 0757 54832 28620 0 -4.9 0.9 -1.3 5.2 -15.0 169.6 +2009 01 01 0758 54832 28680 0 -4.6 1.4 -1.8 5.2 -20.4 162.8 +2009 01 01 0759 54832 28740 0 -3.9 2.3 -2.8 5.3 -32.1 149.5 +2009 01 01 0800 54832 28800 0 -4.0 1.7 -3.0 5.3 -34.5 156.8 +2009 01 01 0801 54832 28860 0 -2.7 2.2 -3.7 5.1 -46.4 140.7 +2009 01 01 0802 54832 28920 0 -2.3 2.7 -3.8 5.2 -46.9 130.6 +2009 01 01 0803 54832 28980 0 -3.5 3.2 -2.2 5.2 -24.8 137.1 +2009 01 01 0804 54832 29040 0 -3.4 2.9 -2.8 5.3 -31.7 139.5 +2009 01 01 0805 54832 29100 0 -3.1 2.7 -3.2 5.2 -38.0 138.5 +2009 01 01 0806 54832 29160 0 -3.3 2.2 -3.6 5.3 -42.1 146.6 +2009 01 01 0807 54832 29220 0 -2.9 2.5 -3.7 5.3 -44.0 139.9 +2009 01 01 0808 54832 29280 0 -2.8 2.6 -3.7 5.3 -43.4 137.2 +2009 01 01 0809 54832 29340 0 -3.1 2.6 -3.7 5.5 -42.1 140.1 +2009 01 01 0810 54832 29400 0 -3.3 2.4 -3.7 5.5 -42.3 143.6 +2009 01 01 0811 54832 29460 0 -3.1 2.3 -3.9 5.5 -44.9 142.9 +2009 01 01 0812 54832 29520 0 -3.3 2.3 -3.9 5.6 -44.4 145.5 +2009 01 01 0813 54832 29580 0 -3.5 2.1 -3.8 5.6 -42.6 149.6 +2009 01 01 0814 54832 29640 0 -4.2 1.2 -3.6 5.6 -39.2 163.8 +2009 01 01 0815 54832 29700 0 -4.1 0.8 -3.5 5.5 -40.1 169.4 +2009 01 01 0816 54832 29760 0 -4.1 0.4 -3.6 5.5 -41.0 174.3 +2009 01 01 0817 54832 29820 0 -4.3 0.3 -3.2 5.4 -36.2 176.5 +2009 01 01 0818 54832 29880 0 -4.5 -0.6 -2.9 5.4 -32.3 187.4 +2009 01 01 0819 54832 29940 0 -5.1 -1.8 -1.7 5.6 -17.8 199.1 +2009 01 01 0820 54832 30000 0 -4.8 -1.7 -2.0 5.5 -20.9 199.7 +2009 01 01 0821 54832 30060 0 -4.9 -1.2 -2.3 5.5 -24.9 193.4 +2009 01 01 0822 54832 30120 0 -4.8 -1.2 -2.4 5.5 -25.8 194.2 +2009 01 01 0823 54832 30180 0 -4.7 -1.2 -2.8 5.6 -30.2 194.1 +2009 01 01 0824 54832 30240 0 -4.7 -1.7 -2.6 5.6 -27.4 199.6 +2009 01 01 0825 54832 30300 0 -4.3 -1.0 -3.3 5.5 -37.0 193.5 +2009 01 01 0826 54832 30360 0 -4.7 -1.5 -2.7 5.6 -29.1 197.8 +2009 01 01 0827 54832 30420 0 -4.3 -1.1 -3.3 5.6 -36.0 194.6 +2009 01 01 0828 54832 30480 0 -3.9 -0.6 -3.5 5.3 -41.2 188.5 +2009 01 01 0829 54832 30540 0 -4.0 -1.4 -3.2 5.3 -37.3 199.0 +2009 01 01 0830 54832 30600 0 -4.1 -1.8 -3.3 5.5 -36.3 203.8 +2009 01 01 0831 54832 30660 0 -4.0 -1.7 -3.5 5.6 -38.9 202.8 +2009 01 01 0832 54832 30720 0 -4.1 -2.0 -3.2 5.6 -34.8 206.4 +2009 01 01 0833 54832 30780 0 -4.0 -1.9 -3.2 5.4 -36.1 205.7 +2009 01 01 0834 54832 30840 0 -3.8 -1.9 -3.4 5.5 -39.0 206.8 +2009 01 01 0835 54832 30900 0 -4.0 -1.6 -3.4 5.5 -38.2 202.2 +2009 01 01 0836 54832 30960 0 -3.8 -1.8 -3.3 5.3 -38.8 205.0 +2009 01 01 0837 54832 31020 0 -4.0 -1.3 -3.4 5.4 -38.4 198.3 +2009 01 01 0838 54832 31080 0 -4.1 -1.1 -3.3 5.4 -38.2 195.5 +2009 01 01 0839 54832 31140 0 -3.8 -1.2 -3.5 5.3 -41.4 197.6 +2009 01 01 0840 54832 31200 0 -3.6 -1.3 -3.5 5.1 -42.6 199.7 +2009 01 01 0841 54832 31260 0 -3.4 -1.3 -3.5 5.1 -44.4 200.7 +2009 01 01 0842 54832 31320 0 -3.6 -1.1 -3.6 5.2 -43.6 196.5 +2009 01 01 0843 54832 31380 0 -3.4 -1.3 -3.6 5.1 -44.5 201.7 +2009 01 01 0844 54832 31440 0 -3.0 -2.0 -3.7 5.2 -45.7 214.6 +2009 01 01 0845 54832 31500 0 -2.8 -2.2 -3.8 5.2 -46.7 217.8 +2009 01 01 0846 54832 31560 0 -3.4 -2.1 -3.3 5.1 -39.9 211.7 +2009 01 01 0847 54832 31620 0 -3.1 -2.2 -3.4 5.1 -42.0 215.4 +2009 01 01 0848 54832 31680 0 -3.3 -2.1 -3.4 5.2 -40.7 212.9 +2009 01 01 0849 54832 31740 0 -2.9 -2.2 -3.7 5.1 -45.4 216.8 +2009 01 01 0850 54832 31800 0 -2.8 -2.1 -3.9 5.2 -48.0 216.7 +2009 01 01 0851 54832 31860 0 -2.5 -2.3 -3.8 5.1 -48.8 222.7 +2009 01 01 0852 54832 31920 0 -2.4 -2.2 -3.9 5.1 -49.7 222.4 +2009 01 01 0853 54832 31980 0 -2.5 -2.1 -3.9 5.1 -49.3 220.1 +2009 01 01 0854 54832 32040 0 -2.7 -2.6 -3.4 5.1 -42.3 223.9 +2009 01 01 0855 54832 32100 0 -3.2 -2.6 -3.3 5.3 -38.6 219.7 +2009 01 01 0856 54832 32160 0 -2.7 -2.5 -3.7 5.2 -45.1 222.6 +2009 01 01 0857 54832 32220 0 -2.5 -1.6 -4.0 5.0 -53.2 212.6 +2009 01 01 0858 54832 32280 0 -2.7 -2.0 -3.6 4.9 -47.0 216.2 +2009 01 01 0859 54832 32340 0 -2.9 -2.3 -3.3 5.0 -42.2 219.2 +2009 01 01 0900 54832 32400 0 -2.8 -2.2 -3.7 5.1 -46.0 217.4 +2009 01 01 0901 54832 32460 0 -2.6 -2.0 -4.0 5.2 -50.0 218.2 +2009 01 01 0902 54832 32520 0 -2.7 -2.7 -3.4 5.1 -41.5 224.6 +2009 01 01 0903 54832 32580 0 -2.7 -2.9 -3.1 5.0 -37.9 226.5 +2009 01 01 0904 54832 32640 0 -3.4 -3.4 -1.9 5.2 -21.5 225.7 +2009 01 01 0905 54832 32700 0 -3.3 -3.4 -2.0 5.1 -22.8 225.4 +2009 01 01 0906 54832 32760 0 -2.7 -3.8 -1.5 4.9 -17.8 234.0 +2009 01 01 0907 54832 32820 0 -2.7 -3.9 -0.9 4.8 -10.3 235.4 +2009 01 01 0908 54832 32880 0 -2.4 -4.4 -0.0 5.0 -0.2 241.3 +2009 01 01 0909 54832 32940 0 -2.3 -4.4 0.1 5.0 1.1 242.4 +2009 01 01 0910 54832 33000 0 -2.0 -4.3 0.1 4.7 1.3 244.4 +2009 01 01 0911 54832 33060 0 -2.4 -4.0 0.3 4.7 3.2 238.6 +2009 01 01 0912 54832 33120 0 -2.0 -4.1 1.0 4.6 12.3 243.7 +2009 01 01 0913 54832 33180 0 -2.0 -1.5 -1.3 2.8 -27.2 217.5 +2009 01 01 0914 54832 33240 0 -1.7 -4.1 0.8 4.5 10.1 247.8 +2009 01 01 0915 54832 33300 0 -2.0 -4.1 0.5 4.6 5.7 244.3 +2009 01 01 0916 54832 33360 0 -1.5 -3.5 -0.0 3.8 -0.5 246.7 +2009 01 01 0917 54832 33420 0 -1.5 -3.7 -0.1 4.0 -0.9 248.3 +2009 01 01 0918 54832 33480 0 -1.1 -3.7 0.3 3.9 3.7 253.3 +2009 01 01 0919 54832 33540 0 -1.4 -3.7 0.4 4.0 6.1 248.8 +2009 01 01 0920 54832 33600 0 -1.3 -3.8 0.1 4.0 1.6 250.5 +2009 01 01 0921 54832 33660 0 -1.2 -3.7 0.5 3.9 6.8 251.4 +2009 01 01 0922 54832 33720 0 -1.2 -3.7 0.5 3.9 7.4 252.2 +2009 01 01 0923 54832 33780 0 -1.0 -4.4 0.4 4.5 5.0 257.4 +2009 01 01 0924 54832 33840 0 -0.7 -4.4 0.8 4.5 10.6 260.5 +2009 01 01 0925 54832 33900 0 -0.7 -4.3 1.2 4.5 15.0 260.7 +2009 01 01 0926 54832 33960 0 -2.5 -2.5 -0.9 3.7 -13.6 225.0 +2009 01 01 0927 54832 34020 0 -2.6 -2.7 -0.8 3.8 -12.7 225.7 +2009 01 01 0928 54832 34080 0 -2.2 -2.8 -0.4 3.6 -6.4 231.0 +2009 01 01 0929 54832 34140 0 -1.8 -3.3 0.2 3.8 2.8 240.7 +2009 01 01 0930 54832 34200 0 -2.0 -3.3 -0.1 3.9 -1.4 239.1 +2009 01 01 0931 54832 34260 0 -1.7 -3.3 -0.1 3.8 -1.0 242.4 +2009 01 01 0932 54832 34320 0 -1.8 -3.5 -0.1 4.0 -0.8 242.4 +2009 01 01 0933 54832 34380 0 -1.6 -3.7 0.1 4.0 0.9 246.7 +2009 01 01 0934 54832 34440 0 -1.6 -4.3 0.3 4.6 4.0 249.5 +2009 01 01 0935 54832 34500 0 -1.4 -4.3 0.8 4.6 10.3 251.6 +2009 01 01 0936 54832 34560 0 -2.0 -3.9 1.2 4.5 16.0 243.1 +2009 01 01 0937 54832 34620 0 -2.2 -2.5 2.0 3.9 30.7 227.9 +2009 01 01 0938 54832 34680 0 -2.2 -3.5 0.6 4.2 7.6 238.5 +2009 01 01 0939 54832 34740 0 -2.4 -3.5 -0.9 4.3 -11.6 235.0 +2009 01 01 0940 54832 34800 0 -1.9 -2.9 -1.4 3.8 -22.0 237.2 +2009 01 01 0941 54832 34860 0 -1.7 -2.7 -1.4 3.5 -23.8 237.4 +2009 01 01 0942 54832 34920 0 -1.9 -3.5 -2.0 4.4 -26.2 242.3 +2009 01 01 0943 54832 34980 0 -2.0 -3.3 -1.6 4.2 -22.2 238.5 +2009 01 01 0944 54832 35040 0 -2.6 -3.8 -0.8 4.7 -9.9 235.9 +2009 01 01 0945 54832 35100 0 -3.2 -3.7 -0.3 4.9 -3.9 229.4 +2009 01 01 0946 54832 35160 0 -3.7 -2.5 -1.0 4.6 -12.5 213.7 +2009 01 01 0947 54832 35220 0 -3.3 -1.7 -1.5 4.0 -21.5 207.4 +2009 01 01 0948 54832 35280 0 -3.4 0.2 -2.5 4.2 -36.7 176.6 +2009 01 01 0949 54832 35340 0 -3.3 1.2 -3.0 4.7 -40.3 160.3 +2009 01 01 0950 54832 35400 0 -3.0 1.0 -2.9 4.3 -42.0 161.9 +2009 01 01 0951 54832 35460 0 -3.2 1.1 -3.0 4.5 -41.7 161.4 +2009 01 01 0952 54832 35520 0 -3.2 1.5 -2.7 4.5 -37.2 155.0 +2009 01 01 0953 54832 35580 0 -2.4 2.5 -3.4 4.8 -44.4 134.2 +2009 01 01 0954 54832 35640 0 -2.9 2.3 -3.8 5.3 -45.2 141.4 +2009 01 01 0955 54832 35700 0 -2.9 2.3 -3.8 5.3 -45.5 140.6 +2009 01 01 0956 54832 35760 0 -2.9 2.6 -3.6 5.3 -42.5 138.1 +2009 01 01 0957 54832 35820 0 -2.7 2.7 -3.6 5.3 -43.4 134.4 +2009 01 01 0958 54832 35880 0 -2.8 2.8 -3.6 5.3 -42.5 134.9 +2009 01 01 0959 54832 35940 0 -2.5 2.7 -3.7 5.2 -45.6 133.1 +2009 01 01 1000 54832 36000 0 -2.4 2.9 -3.6 5.2 -44.1 129.1 +2009 01 01 1001 54832 36060 0 -3.0 2.6 -3.5 5.3 -41.9 139.4 +2009 01 01 1002 54832 36120 0 -3.3 2.2 -3.4 5.2 -40.4 146.8 +2009 01 01 1003 54832 36180 0 -3.5 2.0 -3.4 5.2 -40.0 150.8 +2009 01 01 1004 54832 36240 0 -3.5 2.3 -3.1 5.2 -36.9 146.6 +2009 01 01 1005 54832 36300 0 -3.7 2.6 -2.6 5.2 -30.2 144.4 +2009 01 01 1006 54832 36360 0 -3.1 2.8 -3.0 5.1 -35.6 137.7 +2009 01 01 1007 54832 36420 0 -2.6 2.5 -3.7 5.2 -45.4 136.8 +2009 01 01 1008 54832 36480 0 -2.3 3.2 -3.0 5.0 -36.5 125.9 +2009 01 01 1009 54832 36540 0 -2.4 3.5 -3.1 5.2 -36.4 124.2 +2009 01 01 1010 54832 36600 0 -2.0 2.6 -3.9 5.1 -49.4 126.9 +2009 01 01 1011 54832 36660 0 -2.2 2.9 -3.6 5.1 -44.7 126.9 +2009 01 01 1012 54832 36720 0 -1.9 4.1 -2.6 5.2 -30.3 114.6 +2009 01 01 1013 54832 36780 0 -1.7 4.1 -2.7 5.2 -31.5 112.4 +2009 01 01 1014 54832 36840 0 -0.9 4.0 -2.9 5.0 -35.1 102.1 +2009 01 01 1015 54832 36900 0 -2.1 3.1 -3.7 5.3 -44.7 123.4 +2009 01 01 1016 54832 36960 0 -2.4 2.2 -4.3 5.4 -52.7 138.0 +2009 01 01 1017 54832 37020 0 -2.7 2.1 -4.1 5.4 -50.1 143.3 +2009 01 01 1018 54832 37080 0 -3.0 0.9 -4.1 5.2 -53.0 164.0 +2009 01 01 1019 54832 37140 0 -3.0 -0.2 -3.7 4.8 -50.7 183.5 +2009 01 01 1020 54832 37200 0 -3.0 -1.2 -3.8 4.9 -49.8 201.7 +2009 01 01 1021 54832 37260 0 -3.3 -1.2 -3.6 5.0 -45.7 199.6 +2009 01 01 1022 54832 37320 0 -3.2 -0.4 -3.8 5.0 -50.3 188.1 +2009 01 01 1023 54832 37380 0 -3.1 0.2 -3.9 5.0 -51.7 176.0 +2009 01 01 1024 54832 37440 0 -3.2 0.7 -3.8 5.0 -49.6 166.9 +2009 01 01 1025 54832 37500 0 -3.3 0.9 -3.8 5.1 -48.3 165.3 +2009 01 01 1026 54832 37560 0 -3.3 0.3 -3.9 5.1 -49.1 174.3 +2009 01 01 1027 54832 37620 0 -3.2 2.4 -3.5 5.3 -41.1 143.5 +2009 01 01 1028 54832 37680 0 -3.5 2.2 -3.0 5.1 -35.9 148.6 +2009 01 01 1029 54832 37740 0 -4.0 2.1 -2.9 5.3 -32.6 152.3 +2009 01 01 1030 54832 37800 0 -3.6 2.5 -2.7 5.2 -31.9 145.0 +2009 01 01 1031 54832 37860 0 -3.2 2.6 -3.1 5.2 -36.6 140.9 +2009 01 01 1032 54832 37920 0 -3.0 2.7 -3.3 5.1 -39.4 138.0 +2009 01 01 1033 54832 37980 0 -2.8 3.0 -3.1 5.1 -37.2 133.3 +2009 01 01 1034 54832 38040 0 -3.1 3.2 -2.6 5.2 -30.3 134.4 +2009 01 01 1035 54832 38100 0 -3.0 3.3 -2.7 5.2 -31.3 132.8 +2009 01 01 1036 54832 38160 0 -2.8 3.5 -2.7 5.2 -30.5 129.2 +2009 01 01 1037 54832 38220 0 -2.9 3.4 -2.7 5.2 -30.6 130.2 +2009 01 01 1038 54832 38280 0 -2.8 3.8 -2.2 5.2 -24.9 127.0 +2009 01 01 1039 54832 38340 0 -3.0 3.8 -1.7 5.1 -19.0 127.8 +2009 01 01 1040 54832 38400 0 -3.2 3.6 -1.7 5.1 -19.7 131.4 +2009 01 01 1041 54832 38460 0 -3.3 3.3 -1.9 5.1 -22.3 135.1 +2009 01 01 1042 54832 38520 0 -3.1 3.5 -2.0 5.0 -23.9 131.6 +2009 01 01 1043 54832 38580 0 -3.3 3.3 -1.7 5.0 -20.4 134.4 +2009 01 01 1044 54832 38640 0 -3.5 3.4 -1.5 5.1 -17.4 136.1 +2009 01 01 1045 54832 38700 0 -3.8 3.1 -1.6 5.2 -17.8 141.0 +2009 01 01 1046 54832 38760 0 -3.8 2.9 -1.7 5.1 -19.0 142.8 +2009 01 01 1047 54832 38820 0 -3.7 2.5 -2.4 5.1 -28.5 145.7 +2009 01 01 1048 54832 38880 0 -3.5 3.0 -2.5 5.3 -28.2 139.0 +2009 01 01 1049 54832 38940 0 -3.7 2.4 -2.9 5.3 -33.3 146.7 +2009 01 01 1050 54832 39000 0 -3.4 2.6 -3.1 5.3 -36.2 142.9 +2009 01 01 1051 54832 39060 0 -3.4 2.0 -3.5 5.3 -41.3 149.7 +2009 01 01 1052 54832 39120 0 -3.5 2.0 -3.5 5.3 -40.8 150.4 +2009 01 01 1053 54832 39180 0 -3.5 1.1 -3.8 5.3 -45.8 162.3 +2009 01 01 1054 54832 39240 0 -3.1 1.0 -4.1 5.3 -51.3 161.6 +2009 01 01 1055 54832 39300 0 -3.0 1.5 -4.1 5.3 -51.1 152.8 +2009 01 01 1056 54832 39360 0 -2.1 3.0 -3.3 4.9 -42.5 125.0 +2009 01 01 1057 54832 39420 0 -0.6 3.8 -3.3 5.0 -40.7 98.3 +2009 01 01 1058 54832 39480 0 -0.8 4.4 -2.3 5.0 -26.9 100.4 +2009 01 01 1059 54832 39540 0 0.4 4.0 -2.9 5.0 -35.8 84.7 +2009 01 01 1100 54832 39600 0 1.0 4.3 -2.7 5.1 -31.5 76.9 +2009 01 01 1101 54832 39660 0 1.1 4.4 -2.8 5.4 -31.8 76.0 +2009 01 01 1102 54832 39720 0 -1.8 4.7 -0.6 5.1 -6.4 110.7 +2009 01 01 1103 54832 39780 0 -2.8 4.7 0.6 5.5 6.7 121.0 +2009 01 01 1104 54832 39840 0 -2.0 4.5 0.8 5.0 9.1 114.5 +2009 01 01 1105 54832 39900 0 -1.2 4.2 1.3 4.6 16.5 105.3 +2009 01 01 1106 54832 39960 0 -0.4 4.2 -1.1 4.3 -14.3 95.9 +2009 01 01 1107 54832 40020 0 0.3 4.4 -0.0 4.4 -0.4 85.5 +2009 01 01 1108 54832 40080 0 0.3 4.6 0.0 4.6 0.1 86.2 +2009 01 01 1109 54832 40140 0 0.2 4.6 -0.4 4.6 -5.3 86.9 +2009 01 01 1110 54832 40200 0 -0.3 4.7 -0.5 4.7 -6.1 93.3 +2009 01 01 1111 54832 40260 0 -0.3 4.6 -1.0 4.7 -12.8 93.3 +2009 01 01 1112 54832 40320 0 -0.0 4.4 -1.5 4.7 -19.1 90.2 +2009 01 01 1113 54832 40380 0 0.0 4.2 -1.6 4.5 -20.8 89.4 +2009 01 01 1114 54832 40440 0 0.0 4.2 -1.6 4.5 -21.1 89.4 +2009 01 01 1115 54832 40500 0 -1.0 3.7 -2.5 4.6 -32.7 105.7 +2009 01 01 1116 54832 40560 0 -0.6 3.8 -2.3 4.5 -30.9 99.1 +2009 01 01 1117 54832 40620 0 -1.3 3.6 -2.5 4.6 -33.9 109.3 +2009 01 01 1118 54832 40680 0 -2.4 1.9 -3.2 4.4 -45.8 141.7 +2009 01 01 1119 54832 40740 0 -4.1 -1.2 -2.6 5.0 -31.3 195.8 +2009 01 01 1120 54832 40800 0 -4.1 0.4 -2.7 4.9 -33.1 174.8 +2009 01 01 1121 54832 40860 0 -4.0 2.2 -2.1 5.0 -24.8 151.6 +2009 01 01 1122 54832 40920 0 -3.3 3.2 -1.9 4.9 -22.0 136.2 +2009 01 01 1123 54832 40980 0 -3.9 2.9 -0.4 4.9 -4.3 143.0 +2009 01 01 1124 54832 41040 0 -3.0 2.8 -2.6 4.9 -32.2 136.5 +2009 01 01 1125 54832 41100 0 -2.8 2.8 -2.6 4.7 -32.8 135.2 +2009 01 01 1126 54832 41160 0 -3.2 2.6 -2.6 4.9 -33.0 141.0 +2009 01 01 1127 54832 41220 0 -3.4 3.2 -1.9 5.0 -21.8 136.4 +2009 01 01 1128 54832 41280 0 -3.7 2.1 -2.8 5.1 -33.4 150.0 +2009 01 01 1129 54832 41340 0 -3.9 1.8 -3.1 5.3 -35.6 155.5 +2009 01 01 1130 54832 41400 0 -4.2 0.5 -3.0 5.2 -35.5 173.5 +2009 01 01 1131 54832 41460 0 -4.3 0.2 -2.9 5.2 -33.6 176.7 +2009 01 01 1132 54832 41520 0 -4.4 0.1 -2.7 5.2 -31.5 178.2 +2009 01 01 1133 54832 41580 0 -4.3 0.6 -2.9 5.2 -34.1 172.2 +2009 01 01 1134 54832 41640 0 -4.2 1.9 -2.8 5.4 -31.0 155.8 +2009 01 01 1135 54832 41700 0 -4.1 2.2 -2.9 5.4 -31.8 152.2 +2009 01 01 1136 54832 41760 0 -4.1 1.6 -3.1 5.3 -35.1 159.2 +2009 01 01 1137 54832 41820 0 -4.1 2.1 -2.8 5.4 -31.7 153.0 +2009 01 01 1138 54832 41880 0 -4.2 2.2 -2.7 5.4 -29.4 151.7 +2009 01 01 1139 54832 41940 0 -3.7 2.7 -2.5 5.2 -28.0 144.1 +2009 01 01 1140 54832 42000 0 -3.0 3.7 -2.2 5.3 -24.2 129.5 +2009 01 01 1141 54832 42060 0 -3.0 3.7 -2.3 5.3 -26.0 129.3 +2009 01 01 1142 54832 42120 0 -3.7 3.0 -2.3 5.3 -26.4 140.5 +2009 01 01 1143 54832 42180 0 -3.9 2.7 -2.7 5.4 -29.6 145.5 +2009 01 01 1144 54832 42240 0 -3.9 2.8 -2.6 5.4 -29.1 144.2 +2009 01 01 1145 54832 42300 0 -3.8 2.8 -2.8 5.4 -30.6 144.1 +2009 01 01 1146 54832 42360 0 -3.9 2.6 -2.8 5.4 -30.9 146.7 +2009 01 01 1147 54832 42420 0 -4.0 2.4 -3.0 5.5 -32.4 148.9 +2009 01 01 1148 54832 42480 0 -3.7 2.6 -3.0 5.4 -33.2 145.6 +2009 01 01 1149 54832 42540 0 -3.4 2.7 -2.9 5.2 -33.0 141.6 +2009 01 01 1150 54832 42600 0 -3.6 2.5 -3.1 5.3 -35.0 144.8 +2009 01 01 1151 54832 42660 0 -3.1 3.0 -3.0 5.3 -35.2 136.5 +2009 01 01 1152 54832 42720 0 -3.3 1.9 -3.3 5.1 -40.7 150.2 +2009 01 01 1153 54832 42780 0 -3.8 0.3 -3.4 5.1 -42.1 176.1 +2009 01 01 1154 54832 42840 0 -3.8 0.5 -3.4 5.1 -41.4 173.0 +2009 01 01 1155 54832 42900 0 -3.9 0.4 -3.4 5.2 -41.0 173.9 +2009 01 01 1156 54832 42960 0 -3.9 -1.2 -3.4 5.3 -40.1 197.7 +2009 01 01 1157 54832 43020 0 -3.9 -1.1 -3.4 5.3 -40.0 195.8 +2009 01 01 1158 54832 43080 0 -3.9 -0.8 -3.5 5.3 -41.2 191.4 +2009 01 01 1159 54832 43140 0 -3.9 -0.4 -3.5 5.3 -42.2 185.3 +2009 01 01 1200 54832 43200 0 -4.1 -0.8 -3.2 5.3 -37.5 191.6 +2009 01 01 1201 54832 43260 0 -4.2 -1.0 -3.1 5.3 -36.0 193.1 +2009 01 01 1202 54832 43320 0 -4.2 -1.1 -3.0 5.3 -34.3 195.2 +2009 01 01 1203 54832 43380 0 -3.6 -1.2 -3.5 5.2 -42.6 198.0 +2009 01 01 1204 54832 43440 0 -3.9 -0.9 -3.4 5.2 -40.2 193.6 +2009 01 01 1205 54832 43500 0 -3.8 -1.0 -3.5 5.3 -41.3 195.2 +2009 01 01 1206 54832 43560 0 -4.3 -1.6 -2.7 5.3 -30.4 199.8 +2009 01 01 1207 54832 43620 0 -4.0 -0.8 -3.0 5.1 -36.5 191.3 +2009 01 01 1208 54832 43680 0 -3.5 0.8 -3.8 5.3 -46.8 166.7 +2009 01 01 1209 54832 43740 0 -3.6 0.5 -3.8 5.3 -46.8 171.9 +2009 01 01 1210 54832 43800 0 -3.3 1.1 -3.8 5.2 -47.2 161.7 +2009 01 01 1211 54832 43860 0 -3.6 1.5 -3.6 5.3 -43.1 157.3 +2009 01 01 1212 54832 43920 0 -3.4 1.6 -3.7 5.2 -44.5 155.3 +2009 01 01 1213 54832 43980 0 -3.2 1.8 -3.7 5.2 -44.7 150.7 +2009 01 01 1214 54832 44040 0 -3.0 2.3 -3.5 5.1 -42.8 143.2 +2009 01 01 1215 54832 44100 0 -3.0 2.5 -3.3 5.2 -40.4 140.1 +2009 01 01 1216 54832 44160 0 -3.0 3.0 -2.9 5.1 -34.8 134.7 +2009 01 01 1217 54832 44220 0 -2.5 3.1 -3.0 5.0 -36.6 128.2 +2009 01 01 1218 54832 44280 0 -1.8 3.6 -2.6 4.8 -33.2 115.9 +2009 01 01 1219 54832 44340 0 -1.5 4.0 -2.0 4.7 -25.0 110.1 +2009 01 01 1220 54832 44400 0 -2.5 2.7 -3.1 4.8 -39.4 132.9 +2009 01 01 1221 54832 44460 0 -2.5 2.2 -3.5 4.8 -46.8 139.2 +2009 01 01 1222 54832 44520 0 -2.5 2.2 -3.3 4.7 -44.6 138.7 +2009 01 01 1223 54832 44580 0 -2.7 2.3 -3.1 4.7 -40.5 139.7 +2009 01 01 1224 54832 44640 0 -1.6 2.5 -2.9 4.1 -44.0 123.6 +2009 01 01 1225 54832 44700 0 0.5 4.1 -0.1 4.1 -1.0 82.9 +2009 01 01 1226 54832 44760 0 0.1 4.1 -0.1 4.1 -1.9 88.8 +2009 01 01 1227 54832 44820 0 -0.3 4.2 -0.3 4.2 -4.4 94.8 +2009 01 01 1228 54832 44880 0 -0.3 4.1 -0.3 4.1 -4.8 93.8 +2009 01 01 1229 54832 44940 0 0.2 4.2 -0.6 4.3 -7.6 87.9 +2009 01 01 1230 54832 45000 0 0.1 4.4 -0.5 4.5 -5.9 88.1 +2009 01 01 1231 54832 45060 0 -0.0 4.4 -0.7 4.4 -8.6 90.6 +2009 01 01 1232 54832 45120 0 -0.0 4.2 -1.0 4.3 -13.1 90.2 +2009 01 01 1233 54832 45180 0 -0.3 4.1 -0.9 4.2 -12.5 93.6 +2009 01 01 1234 54832 45240 0 -0.3 4.0 -1.1 4.1 -15.6 94.2 +2009 01 01 1235 54832 45300 0 -0.1 4.2 -0.6 4.2 -7.6 91.1 +2009 01 01 1236 54832 45360 0 -0.3 4.5 -0.5 4.6 -6.6 94.1 +2009 01 01 1237 54832 45420 0 -1.0 4.5 -1.0 4.7 -12.3 103.0 +2009 01 01 1238 54832 45480 0 -0.6 4.4 0.3 4.4 4.0 97.8 +2009 01 01 1239 54832 45540 0 0.2 4.5 1.5 4.8 18.6 87.5 +2009 01 01 1240 54832 45600 0 0.1 4.7 0.9 4.8 11.3 88.6 +2009 01 01 1241 54832 45660 0 0.3 4.7 0.7 4.8 8.9 86.2 +2009 01 01 1242 54832 45720 0 -0.1 4.6 1.5 4.8 18.2 91.1 +2009 01 01 1243 54832 45780 0 0.1 4.3 2.0 4.8 24.6 88.4 +2009 01 01 1244 54832 45840 0 0.9 4.2 2.0 4.7 25.0 78.5 +2009 01 01 1245 54832 45900 0 1.0 4.3 1.8 4.8 22.2 76.5 +2009 01 01 1246 54832 45960 0 1.0 4.4 1.2 4.7 15.3 77.6 +2009 01 01 1247 54832 46020 0 0.5 4.5 1.6 4.8 19.2 84.2 +2009 01 01 1248 54832 46080 0 0.7 4.6 0.9 4.8 10.7 81.4 +2009 01 01 1249 54832 46140 0 0.2 4.7 1.0 4.8 11.3 88.0 +2009 01 01 1250 54832 46200 0 0.1 4.6 0.9 4.7 10.9 88.5 +2009 01 01 1251 54832 46260 0 0.0 4.7 0.7 4.8 8.8 89.8 +2009 01 01 1252 54832 46320 0 -0.5 4.7 1.3 4.9 14.9 96.5 +2009 01 01 1253 54832 46380 0 -0.7 4.6 1.5 4.9 18.2 99.2 +2009 01 01 1254 54832 46440 0 -0.7 4.6 1.7 4.9 20.1 99.3 +2009 01 01 1255 54832 46500 0 -0.3 4.9 -0.1 4.9 -1.3 92.9 +2009 01 01 1256 54832 46560 0 0.0 4.9 -0.5 4.9 -6.0 89.5 +2009 01 01 1257 54832 46620 0 -0.2 4.9 -0.6 4.9 -6.6 92.5 +2009 01 01 1258 54832 46680 0 -0.7 5.0 -0.5 5.1 -6.2 97.8 +2009 01 01 1259 54832 46740 0 -0.5 4.9 -0.8 5.0 -9.5 95.5 +2009 01 01 1300 54832 46800 0 -1.0 5.0 -0.3 5.1 -3.8 101.0 +2009 01 01 1301 54832 46860 0 -0.7 5.1 0.1 5.1 0.8 97.5 +2009 01 01 1302 54832 46920 0 -1.0 5.0 0.2 5.1 1.8 100.9 +2009 01 01 1303 54832 46980 0 -0.9 5.1 0.1 5.1 1.2 100.3 +2009 01 01 1304 54832 47040 0 -0.6 4.9 -0.7 5.0 -8.4 96.5 +2009 01 01 1305 54832 47100 0 -0.6 4.9 -0.5 5.0 -6.0 97.1 +2009 01 01 1306 54832 47160 0 -0.8 4.8 -0.9 5.0 -10.0 99.5 +2009 01 01 1307 54832 47220 0 -1.7 4.9 0.0 5.2 0.4 108.8 +2009 01 01 1308 54832 47280 0 -2.1 5.0 -0.0 5.4 -0.1 113.3 +2009 01 01 1309 54832 47340 0 -2.1 5.0 0.3 5.4 3.5 112.4 +2009 01 01 1310 54832 47400 0 -2.6 4.9 0.1 5.5 1.1 118.1 +2009 01 01 1311 54832 47460 0 -2.6 4.9 -0.3 5.6 -3.5 117.6 +2009 01 01 1312 54832 47520 0 -2.2 4.9 -0.7 5.4 -7.3 114.1 +2009 01 01 1313 54832 47580 0 -2.2 5.0 -0.6 5.5 -5.9 113.4 +2009 01 01 1314 54832 47640 0 -2.2 5.1 -0.3 5.5 -3.6 113.4 +2009 01 01 1315 54832 47700 0 -2.3 4.8 -1.1 5.4 -11.8 116.1 +2009 01 01 1316 54832 47760 0 -2.5 4.8 -1.0 5.5 -10.6 117.6 +2009 01 01 1317 54832 47820 0 -3.2 4.5 -0.8 5.6 -8.1 125.6 +2009 01 01 1318 54832 47880 0 -3.4 4.4 -1.0 5.6 -10.7 127.5 +2009 01 01 1319 54832 47940 0 -3.2 4.5 -1.1 5.6 -11.4 125.4 +2009 01 01 1320 54832 48000 0 -2.6 4.7 -1.3 5.5 -13.4 119.1 +2009 01 01 1321 54832 48060 0 -3.1 4.4 -1.5 5.6 -15.2 124.8 +2009 01 01 1322 54832 48120 0 -2.5 4.7 -1.3 5.5 -13.6 118.5 +2009 01 01 1323 54832 48180 0 -2.4 4.7 -1.3 5.5 -13.8 117.4 +2009 01 01 1324 54832 48240 0 -2.6 4.7 -1.4 5.6 -14.2 118.6 +2009 01 01 1325 54832 48300 0 -3.1 4.6 -1.3 5.7 -13.0 123.6 +2009 01 01 1326 54832 48360 0 -2.5 4.9 -0.9 5.6 -8.8 117.2 +2009 01 01 1327 54832 48420 0 -2.5 4.9 -0.9 5.6 -9.5 117.1 +2009 01 01 1328 54832 48480 0 -2.9 4.6 -0.4 5.5 -4.4 122.3 +2009 01 01 1329 54832 48540 0 -3.0 4.7 -0.3 5.6 -3.0 122.4 +2009 01 01 1330 54832 48600 0 -2.8 4.7 -0.7 5.5 -7.1 121.1 +2009 01 01 1331 54832 48660 0 -2.5 4.8 -0.9 5.5 -9.4 117.3 +2009 01 01 1332 54832 48720 0 -2.5 4.8 -1.2 5.6 -12.5 117.5 +2009 01 01 1333 54832 48780 0 -2.5 4.7 -1.4 5.5 -15.3 117.9 +2009 01 01 1334 54832 48840 0 -2.6 4.7 -1.2 5.5 -12.7 118.3 +2009 01 01 1335 54832 48900 0 -2.6 4.9 -0.6 5.5 -6.6 117.8 +2009 01 01 1336 54832 48960 0 -2.7 4.7 -1.1 5.6 -10.9 119.6 +2009 01 01 1337 54832 49020 0 -3.2 4.4 -1.2 5.6 -12.4 125.7 +2009 01 01 1338 54832 49080 0 -2.8 4.7 -1.1 5.6 -11.5 121.3 +2009 01 01 1339 54832 49140 0 -2.5 5.0 -0.9 5.6 -9.4 116.3 +2009 01 01 1340 54832 49200 0 -2.0 5.3 -0.6 5.7 -5.8 111.0 +2009 01 01 1341 54832 49260 0 -2.1 5.3 -0.7 5.7 -6.6 112.0 +2009 01 01 1342 54832 49320 0 -2.2 5.2 -0.6 5.7 -6.3 112.9 +2009 01 01 1343 54832 49380 0 -2.5 5.1 -0.9 5.8 -8.8 115.8 +2009 01 01 1344 54832 49440 0 -2.8 4.8 -1.1 5.7 -10.6 120.3 +2009 01 01 1345 54832 49500 0 -2.7 4.9 -1.2 5.7 -12.0 119.1 +2009 01 01 1346 54832 49560 0 -2.8 4.8 -1.1 5.6 -11.5 119.8 +2009 01 01 1347 54832 49620 0 -2.8 4.7 -1.2 5.6 -12.6 121.1 +2009 01 01 1348 54832 49680 0 -2.6 5.0 -1.1 5.7 -10.7 117.4 +2009 01 01 1349 54832 49740 0 -2.7 4.7 -1.1 5.6 -11.6 120.1 +2009 01 01 1350 54832 49800 0 -2.7 4.5 -1.2 5.4 -12.3 120.4 +2009 01 01 1351 54832 49860 0 -2.9 4.4 -1.3 5.5 -13.7 123.0 +2009 01 01 1352 54832 49920 0 -2.9 4.6 -2.0 5.8 -20.0 122.4 +2009 01 01 1353 54832 49980 0 -2.9 4.5 -2.0 5.7 -20.2 122.8 +2009 01 01 1354 54832 50040 0 -2.6 4.1 -2.4 5.4 -26.2 121.8 +2009 01 01 1355 54832 50100 0 -2.3 4.2 -2.6 5.4 -28.7 118.3 +2009 01 01 1356 54832 50160 0 -2.7 4.2 -2.2 5.5 -24.3 122.9 +2009 01 01 1357 54832 50220 0 -2.6 4.1 -2.3 5.4 -25.4 122.3 +2009 01 01 1358 54832 50280 0 -2.3 4.4 -2.3 5.4 -24.6 117.6 +2009 01 01 1359 54832 50340 0 -2.0 4.3 -2.5 5.4 -27.7 114.6 +2009 01 01 1400 54832 50400 0 -2.1 4.3 -2.5 5.4 -28.0 116.5 +2009 01 01 1401 54832 50460 0 -2.0 4.3 -2.5 5.3 -27.7 114.9 +2009 01 01 1402 54832 50520 0 -1.9 4.3 -2.6 5.4 -28.5 114.0 +2009 01 01 1403 54832 50580 0 -1.8 4.2 -2.6 5.2 -29.9 113.2 +2009 01 01 1404 54832 50640 0 -2.6 4.2 -2.3 5.5 -24.6 121.9 +2009 01 01 1405 54832 50700 0 -4.0 4.0 -1.2 5.7 -12.5 134.9 +2009 01 01 1406 54832 50760 0 -3.8 4.0 -1.3 5.7 -12.8 133.8 +2009 01 01 1407 54832 50820 0 -4.1 3.7 -1.4 5.8 -14.4 137.7 +2009 01 01 1408 54832 50880 0 -3.8 3.9 -1.7 5.7 -17.2 134.8 +2009 01 01 1409 54832 50940 0 -3.7 3.9 -1.7 5.6 -17.1 133.5 +2009 01 01 1410 54832 51000 0 -3.5 4.0 -1.7 5.6 -17.5 131.2 +2009 01 01 1411 54832 51060 0 -3.5 4.2 -1.2 5.6 -12.8 129.6 +2009 01 01 1412 54832 51120 0 -3.4 4.4 -1.1 5.7 -11.6 128.3 +2009 01 01 1413 54832 51180 0 -3.4 4.3 -1.3 5.6 -12.9 127.7 +2009 01 01 1414 54832 51240 0 -3.4 4.3 -1.5 5.6 -15.5 128.5 +2009 01 01 1415 54832 51300 0 -3.4 4.3 -0.9 5.6 -9.1 128.5 +2009 01 01 1416 54832 51360 0 -3.4 4.4 -1.0 5.6 -10.1 127.7 +2009 01 01 1417 54832 51420 0 -3.5 4.2 -1.6 5.7 -16.0 129.6 +2009 01 01 1418 54832 51480 0 -3.3 3.8 -2.2 5.5 -23.3 130.7 +2009 01 01 1419 54832 51540 0 -3.2 3.5 -2.5 5.4 -27.4 131.7 +2009 01 01 1420 54832 51600 0 -2.8 3.6 -2.5 5.2 -28.8 128.2 +2009 01 01 1421 54832 51660 0 -3.8 3.7 -0.3 5.3 -3.1 135.6 +2009 01 01 1422 54832 51720 0 -3.4 3.9 -0.9 5.3 -10.4 131.2 +2009 01 01 1423 54832 51780 0 -3.5 3.9 -1.0 5.3 -11.4 131.9 +2009 01 01 1424 54832 51840 0 -3.7 3.7 -1.2 5.3 -13.2 134.9 +2009 01 01 1425 54832 51900 0 -3.1 4.1 -1.3 5.3 -13.8 127.1 +2009 01 01 1426 54832 51960 0 -2.4 4.4 -1.3 5.2 -14.9 118.9 +2009 01 01 1427 54832 52020 0 -1.9 4.4 -1.7 5.1 -19.7 113.2 +2009 01 01 1428 54832 52080 0 -2.7 4.1 -1.9 5.3 -21.6 124.0 +2009 01 01 1429 54832 52140 0 -2.8 3.8 -2.2 5.3 -25.2 126.6 +2009 01 01 1430 54832 52200 0 -2.8 3.6 -2.4 5.2 -27.6 127.9 +2009 01 01 1431 54832 52260 0 -3.9 3.3 -1.2 5.3 -13.4 139.2 +2009 01 01 1432 54832 52320 0 -4.0 3.4 -1.1 5.3 -11.5 139.0 +2009 01 01 1433 54832 52380 0 -4.2 3.1 -0.3 5.3 -2.8 143.8 +2009 01 01 1434 54832 52440 0 -4.5 3.0 -0.1 5.5 -1.1 146.2 +2009 01 01 1435 54832 52500 0 -4.5 2.9 0.1 5.4 0.7 146.9 +2009 01 01 1436 54832 52560 0 -4.5 2.8 0.1 5.3 1.3 148.7 +2009 01 01 1437 54832 52620 0 -4.5 3.1 -0.1 5.5 -1.3 145.2 +2009 01 01 1438 54832 52680 0 -4.4 3.2 -0.8 5.5 -7.9 143.9 +2009 01 01 1439 54832 52740 0 -4.2 3.2 -1.3 5.5 -13.9 142.2 +2009 01 01 1440 54832 52800 0 -4.3 3.2 -1.4 5.5 -14.2 143.7 +2009 01 01 1441 54832 52860 0 -4.4 3.2 -1.5 5.6 -15.3 143.4 +2009 01 01 1442 54832 52920 0 -4.2 3.4 -1.5 5.6 -15.1 140.6 +2009 01 01 1443 54832 52980 0 -4.2 3.2 0.1 5.3 0.6 142.4 +2009 01 01 1444 54832 53040 0 -4.4 2.9 0.9 5.3 10.3 146.1 +2009 01 01 1445 54832 53100 0 -4.5 3.0 0.3 5.4 3.4 145.9 +2009 01 01 1446 54832 53160 0 -4.5 2.9 0.1 5.4 0.9 147.2 +2009 01 01 1447 54832 53220 0 -4.3 3.2 0.2 5.3 1.7 143.5 +2009 01 01 1448 54832 53280 0 -4.5 2.9 0.1 5.4 0.6 147.0 +2009 01 01 1449 54832 53340 0 -4.4 3.5 -0.7 5.7 -7.4 141.8 +2009 01 01 1450 54832 53400 0 -4.8 3.3 -0.8 5.8 -7.5 145.5 +2009 01 01 1451 54832 53460 0 -4.7 3.3 -1.3 5.9 -12.5 145.1 +2009 01 01 1452 54832 53520 0 -4.8 3.3 -1.9 6.1 -17.7 145.5 +2009 01 01 1453 54832 53580 0 -4.6 3.4 -1.9 6.0 -17.8 143.3 +2009 01 01 1454 54832 53640 0 -4.2 3.5 -1.9 5.8 -19.1 140.1 +2009 01 01 1455 54832 53700 0 -3.8 3.7 -1.9 5.6 -20.0 136.3 +2009 01 01 1456 54832 53760 0 -3.9 3.4 -2.2 5.6 -22.9 138.5 +2009 01 01 1457 54832 53820 0 -4.0 3.3 -2.4 5.7 -25.1 140.5 +2009 01 01 1458 54832 53880 0 -3.7 3.5 -2.3 5.6 -24.3 137.3 +2009 01 01 1459 54832 53940 0 -3.3 3.7 -2.2 5.4 -23.9 131.7 +2009 01 01 1500 54832 54000 0 -3.4 3.6 -2.2 5.4 -24.4 133.6 +2009 01 01 1501 54832 54060 0 -3.4 3.6 -2.4 5.5 -25.4 134.1 +2009 01 01 1502 54832 54120 0 -3.4 3.5 -2.4 5.4 -25.8 134.5 +2009 01 01 1503 54832 54180 0 -3.7 3.3 -2.4 5.4 -25.8 138.3 +2009 01 01 1504 54832 54240 0 -3.3 3.4 -2.4 5.3 -26.7 134.3 +2009 01 01 1505 54832 54300 0 -3.6 3.2 -2.6 5.5 -28.5 138.3 +2009 01 01 1506 54832 54360 0 -3.7 3.1 -2.8 5.5 -30.4 140.0 +2009 01 01 1507 54832 54420 0 -3.4 3.2 -2.3 5.3 -26.5 136.6 +2009 01 01 1508 54832 54480 0 -3.4 3.2 -2.5 5.3 -28.0 137.2 +2009 01 01 1509 54832 54540 0 -4.0 2.7 -2.2 5.4 -24.4 146.0 +2009 01 01 1510 54832 54600 0 -3.9 2.8 -2.1 5.2 -23.5 143.8 +2009 01 01 1511 54832 54660 0 -3.8 2.7 -2.2 5.2 -25.4 144.8 +2009 01 01 1512 54832 54720 0 -4.1 2.3 -2.2 5.2 -24.8 150.4 +2009 01 01 1513 54832 54780 0 -4.2 2.1 -2.3 5.2 -26.0 154.0 +2009 01 01 1514 54832 54840 0 -4.1 2.0 -2.5 5.2 -28.7 154.0 +2009 01 01 1515 54832 54900 0 -3.8 2.3 -2.5 5.1 -29.8 148.7 +2009 01 01 1516 54832 54960 0 -3.7 2.3 -2.5 5.1 -30.0 148.1 +2009 01 01 1517 54832 55020 0 -3.4 1.8 -2.9 4.9 -37.2 152.0 +2009 01 01 1518 54832 55080 0 -3.4 0.8 -3.3 4.8 -43.2 166.7 +2009 01 01 1519 54832 55140 0 -4.2 1.4 -2.3 5.0 -28.1 161.4 +2009 01 01 1520 54832 55200 0 -4.3 1.8 -1.7 5.0 -19.9 157.9 +2009 01 01 1521 54832 55260 0 -4.5 1.7 -1.7 5.1 -18.9 159.5 +2009 01 01 1522 54832 55320 0 -4.2 2.5 -1.3 5.1 -14.9 149.5 +2009 01 01 1523 54832 55380 0 -4.1 2.9 -0.8 5.1 -9.1 144.7 +2009 01 01 1524 54832 55440 0 -4.5 1.9 -1.2 5.1 -13.6 157.3 +2009 01 01 1525 54832 55500 0 -4.8 1.3 -1.5 5.2 -16.5 164.7 +2009 01 01 1526 54832 55560 0 -5.2 1.8 -0.5 5.5 -4.8 161.3 +2009 01 01 1527 54832 55620 0 -5.2 1.9 -0.5 5.5 -4.7 160.0 +2009 01 01 1528 54832 55680 0 -5.2 1.9 -0.5 5.6 -4.7 160.3 +2009 01 01 1529 54832 55740 0 -5.3 1.7 -0.0 5.5 -0.5 161.7 +2009 01 01 1530 54832 55800 0 -5.1 1.9 0.0 5.5 0.0 159.9 +2009 01 01 1531 54832 55860 0 -4.7 2.2 -0.6 5.2 -6.5 155.0 +2009 01 01 1532 54832 55920 0 -4.6 1.9 -0.5 5.0 -5.2 157.9 +2009 01 01 1533 54832 55980 0 -4.6 -0.1 1.6 4.9 18.8 181.0 +2009 01 01 1534 54832 56040 0 -4.2 1.9 -0.2 4.6 -2.9 156.1 +2009 01 01 1535 54832 56100 0 -2.5 3.0 -2.5 4.6 -31.9 130.1 +2009 01 01 1536 54832 56160 0 -0.4 3.0 -3.0 4.2 -44.7 96.8 +2009 01 01 1537 54832 56220 0 0.6 3.0 -3.0 4.3 -44.4 77.8 +2009 01 01 1538 54832 56280 0 0.7 3.1 -3.0 4.3 -43.6 77.6 +2009 01 01 1539 54832 56340 0 0.3 3.1 -3.0 4.3 -44.4 85.3 +2009 01 01 1540 54832 56400 0 0.4 3.0 -2.7 4.1 -41.3 82.5 +2009 01 01 1541 54832 56460 0 0.4 3.1 -2.3 3.9 -36.9 82.5 +2009 01 01 1542 54832 56520 0 0.7 3.5 -2.5 4.3 -34.9 77.8 +2009 01 01 1543 54832 56580 0 2.2 3.2 -2.0 4.4 -27.9 55.2 +2009 01 01 1544 54832 56640 0 2.1 2.3 -3.3 4.5 -46.9 46.9 +2009 01 01 1545 54832 56700 0 1.5 2.3 -3.2 4.3 -48.9 57.0 +2009 01 01 1546 54832 56760 0 1.8 2.0 -2.8 3.9 -45.9 48.6 +2009 01 01 1547 54832 56820 0 1.8 2.4 -2.7 4.0 -42.2 53.6 +2009 01 01 1548 54832 56880 0 2.2 2.3 -2.7 4.2 -40.2 46.3 +2009 01 01 1549 54832 56940 0 2.5 2.1 -2.5 4.1 -37.5 40.5 +2009 01 01 1550 54832 57000 0 2.5 2.2 -2.2 4.0 -33.1 41.9 +2009 01 01 1551 54832 57060 0 2.2 2.7 -2.0 4.0 -30.1 51.5 +2009 01 01 1552 54832 57120 0 2.2 2.7 -2.0 4.0 -30.4 51.1 +2009 01 01 1553 54832 57180 0 1.1 2.8 -2.9 4.2 -43.2 68.7 +2009 01 01 1554 54832 57240 0 1.8 2.6 -2.2 3.8 -34.9 55.4 +2009 01 01 1555 54832 57300 0 1.9 2.5 -2.1 3.8 -33.2 52.6 +2009 01 01 1556 54832 57360 0 1.9 2.8 -2.0 3.9 -30.1 55.4 +2009 01 01 1557 54832 57420 0 1.8 3.0 -2.0 4.0 -29.8 59.0 +2009 01 01 1558 54832 57480 0 1.8 3.0 -2.1 4.1 -30.8 58.2 +2009 01 01 1559 54832 57540 0 1.9 3.0 -2.0 4.1 -28.8 57.5 +2009 01 01 1600 54832 57600 0 1.8 3.2 -1.7 4.0 -25.5 61.1 +2009 01 01 1601 54832 57660 0 1.9 3.1 -1.7 4.0 -25.3 58.1 +2009 01 01 1602 54832 57720 0 2.3 2.6 -1.6 3.8 -24.4 48.8 +2009 01 01 1603 54832 57780 0 2.0 2.2 -2.4 3.8 -38.4 48.4 +2009 01 01 1604 54832 57840 0 1.8 2.4 -2.3 3.8 -37.4 53.2 +2009 01 01 1605 54832 57900 0 1.5 2.8 -2.3 3.9 -35.4 61.2 +2009 01 01 1606 54832 57960 0 1.5 2.7 -2.4 3.9 -37.3 60.8 +2009 01 01 1607 54832 58020 0 1.2 2.9 -2.1 3.7 -33.4 67.8 +2009 01 01 1608 54832 58080 0 1.3 3.0 -1.9 3.8 -30.7 67.0 +2009 01 01 1609 54832 58140 0 1.5 2.9 -1.8 3.7 -28.9 62.5 +2009 01 01 1610 54832 58200 0 1.5 3.0 -1.3 3.6 -20.4 62.7 +2009 01 01 1611 54832 58260 0 1.8 2.3 -1.9 3.5 -32.7 51.7 +2009 01 01 1612 54832 58320 0 1.2 2.8 -2.1 3.6 -34.6 67.0 +2009 01 01 1613 54832 58380 0 1.1 2.7 -2.2 3.7 -37.3 67.1 +2009 01 01 1614 54832 58440 0 -0.1 2.9 -2.4 3.8 -39.7 91.3 +2009 01 01 1615 54832 58500 0 -2.1 1.7 -2.0 3.4 -37.1 141.4 +2009 01 01 1616 54832 58560 0 -4.4 -1.5 -0.0 4.7 -0.1 199.2 +2009 01 01 1617 54832 58620 0 -4.5 -1.2 -0.2 4.6 -2.3 194.7 +2009 01 01 1618 54832 58680 0 -4.3 -1.7 0.3 4.6 3.5 201.3 +2009 01 01 1619 54832 58740 0 -4.2 -1.9 0.4 4.6 5.0 204.7 +2009 01 01 1620 54832 58800 0 -3.9 -2.1 0.8 4.5 9.9 208.7 +2009 01 01 1621 54832 58860 0 -3.8 -2.1 0.8 4.5 10.7 208.9 +2009 01 01 1622 54832 58920 0 -3.7 -2.3 0.7 4.4 9.2 211.3 +2009 01 01 1623 54832 58980 0 -4.0 -2.1 -0.1 4.5 -0.8 207.8 +2009 01 01 1624 54832 59040 0 -3.9 -2.1 0.2 4.5 1.9 208.5 +2009 01 01 1625 54832 59100 0 -3.6 -2.4 0.7 4.4 9.3 213.6 +2009 01 01 1626 54832 59160 0 -3.4 -2.4 1.0 4.3 13.1 215.6 +2009 01 01 1627 54832 59220 0 -3.5 -2.8 0.3 4.5 3.5 219.3 +2009 01 01 1628 54832 59280 0 -3.6 -2.7 0.3 4.5 4.4 216.9 +2009 01 01 1629 54832 59340 0 -3.7 -2.5 0.3 4.5 3.4 213.7 +2009 01 01 1630 54832 59400 0 -3.9 -2.0 -0.1 4.4 -1.9 207.7 +2009 01 01 1631 54832 59460 0 -3.5 -2.5 -0.2 4.3 -2.5 215.3 +2009 01 01 1632 54832 59520 0 -3.6 -2.3 0.0 4.2 0.1 212.5 +2009 01 01 1633 54832 59580 0 -3.7 -2.2 0.1 4.3 1.1 210.4 +2009 01 01 1634 54832 59640 0 -3.8 -2.0 0.7 4.4 8.7 207.5 +2009 01 01 1635 54832 59700 0 -3.8 -2.1 0.7 4.4 8.8 208.7 +2009 01 01 1636 54832 59760 0 -3.7 -2.3 0.5 4.4 6.3 212.1 +2009 01 01 1637 54832 59820 0 -3.7 -2.3 0.3 4.4 3.6 212.3 +2009 01 01 1638 54832 59880 0 -3.7 -2.2 0.8 4.4 10.0 210.9 +2009 01 01 1639 54832 59940 0 -3.6 -2.2 0.5 4.3 7.0 211.8 +2009 01 01 1640 54832 60000 0 -3.7 -2.2 0.7 4.3 8.8 210.3 +2009 01 01 1641 54832 60060 0 -3.5 -2.3 0.7 4.2 9.7 213.8 +2009 01 01 1642 54832 60120 0 -3.1 -2.8 0.9 4.3 12.8 221.5 +2009 01 01 1643 54832 60180 0 -3.3 -2.2 1.6 4.3 21.4 213.9 +2009 01 01 1644 54832 60240 0 -3.1 -2.7 1.5 4.3 19.6 221.2 +2009 01 01 1645 54832 60300 0 -3.4 -2.6 1.1 4.4 14.5 217.5 +2009 01 01 1646 54832 60360 0 -3.3 -2.6 1.0 4.3 13.4 218.0 +2009 01 01 1647 54832 60420 0 -2.9 -2.8 1.2 4.2 16.5 224.0 +2009 01 01 1648 54832 60480 0 -2.8 -2.9 1.1 4.2 14.5 226.1 +2009 01 01 1649 54832 60540 0 -2.9 -2.8 1.2 4.2 16.8 223.9 +2009 01 01 1650 54832 60600 0 -3.3 -2.3 1.4 4.3 19.4 215.1 +2009 01 01 1651 54832 60660 0 -3.4 -2.1 1.5 4.3 21.0 211.3 +2009 01 01 1652 54832 60720 0 -3.2 -2.2 1.7 4.2 23.4 214.7 +2009 01 01 1653 54832 60780 0 -3.1 -2.3 1.6 4.2 22.0 216.1 +2009 01 01 1654 54832 60840 0 -3.2 -2.3 1.5 4.2 21.5 215.6 +2009 01 01 1655 54832 60900 0 -3.0 -2.4 1.7 4.2 23.8 219.1 +2009 01 01 1656 54832 60960 0 -3.3 -2.2 1.6 4.3 22.4 214.4 +2009 01 01 1657 54832 61020 0 -3.3 -2.1 1.8 4.3 24.7 212.8 +2009 01 01 1658 54832 61080 0 -3.2 -2.2 1.8 4.3 25.3 214.3 +2009 01 01 1659 54832 61140 0 -3.1 -2.1 1.9 4.3 27.0 213.8 +2009 01 01 1700 54832 61200 0 -3.1 -2.0 2.2 4.2 30.6 212.8 +2009 01 01 1701 54832 61260 0 -3.1 -2.1 2.0 4.3 28.2 215.0 +2009 01 01 1702 54832 61320 0 -2.9 -2.5 1.8 4.3 25.2 220.7 +2009 01 01 1703 54832 61380 0 -3.1 -2.2 2.1 4.3 29.0 214.9 +2009 01 01 1704 54832 61440 0 -3.2 -2.0 2.1 4.3 29.1 212.7 +2009 01 01 1705 54832 61500 0 -3.2 -2.0 2.1 4.3 29.6 212.8 +2009 01 01 1706 54832 61560 0 -3.2 -1.9 2.2 4.4 30.4 210.5 +2009 01 01 1707 54832 61620 0 -3.3 -1.8 2.2 4.3 30.4 208.7 +2009 01 01 1708 54832 61680 0 -3.4 -1.8 1.9 4.3 25.6 207.9 +2009 01 01 1709 54832 61740 0 -3.4 -2.2 1.5 4.3 20.2 213.0 +2009 01 01 1710 54832 61800 0 -3.4 -2.0 1.8 4.3 23.9 210.9 +2009 01 01 1711 54832 61860 0 -3.7 -1.9 1.5 4.4 19.9 207.8 +2009 01 01 1712 54832 61920 0 -3.8 -1.8 1.5 4.4 19.2 205.8 +2009 01 01 1713 54832 61980 0 -3.8 -1.6 1.5 4.4 19.3 202.7 +2009 01 01 1714 54832 62040 0 -3.7 -1.5 1.1 4.1 15.5 202.9 +2009 01 01 1715 54832 62100 0 -3.9 -1.3 0.8 4.2 11.1 198.3 +2009 01 01 1716 54832 62160 0 -4.2 -0.4 0.8 4.3 11.0 186.0 +2009 01 01 1717 54832 62220 0 -4.1 0.1 0.8 4.2 11.1 179.2 +2009 01 01 1718 54832 62280 0 -4.2 0.7 0.6 4.2 8.1 170.9 +2009 01 01 1719 54832 62340 0 -3.9 1.1 0.2 4.0 3.4 163.5 +2009 01 01 1720 54832 62400 0 -3.8 1.5 0.0 4.1 0.1 158.0 +2009 01 01 1721 54832 62460 0 -3.6 1.9 -0.4 4.1 -5.8 152.6 +2009 01 01 1722 54832 62520 0 -3.3 2.2 -0.5 4.0 -7.1 146.5 +2009 01 01 1723 54832 62580 0 -2.8 2.6 -0.9 3.9 -12.7 137.3 +2009 01 01 1724 54832 62640 0 -2.2 2.9 -1.4 3.9 -21.1 127.9 +2009 01 01 1725 54832 62700 0 -2.0 3.1 -1.0 3.8 -15.5 122.6 +2009 01 01 1726 54832 62760 0 -2.4 2.9 -0.7 3.8 -10.9 130.4 +2009 01 01 1727 54832 62820 0 -2.1 3.0 -1.0 3.8 -15.9 124.9 +2009 01 01 1728 54832 62880 0 -2.7 2.5 -1.0 3.8 -14.9 136.9 +2009 01 01 1729 54832 62940 0 -3.1 1.9 -1.2 3.9 -18.6 148.5 +2009 01 01 1730 54832 63000 0 -2.6 2.6 -1.1 3.8 -16.4 134.8 +2009 01 01 1731 54832 63060 0 -2.6 2.8 -0.5 3.8 -8.0 133.7 +2009 01 01 1732 54832 63120 0 -1.0 2.1 -2.5 3.4 -47.7 115.6 +2009 01 01 1733 54832 63180 0 -1.2 2.2 -2.1 3.3 -39.7 118.7 +2009 01 01 1734 54832 63240 0 -1.0 2.2 -2.0 3.1 -39.2 113.2 +2009 01 01 1735 54832 63300 0 -1.6 2.4 -1.3 3.2 -24.3 122.8 +2009 01 01 1736 54832 63360 0 -2.0 2.8 -1.4 3.7 -22.6 126.4 +2009 01 01 1737 54832 63420 0 -2.1 2.6 -1.7 3.7 -26.3 128.9 +2009 01 01 1738 54832 63480 0 -2.8 2.1 -1.7 3.9 -25.1 143.1 +2009 01 01 1739 54832 63540 0 -2.7 2.4 -1.3 3.8 -20.1 138.1 +2009 01 01 1740 54832 63600 0 -2.6 2.2 -1.6 3.7 -25.8 139.7 +2009 01 01 1741 54832 63660 0 -3.4 1.7 -0.9 3.9 -12.7 153.0 +2009 01 01 1742 54832 63720 0 -2.6 2.1 -2.3 4.0 -34.2 140.8 +2009 01 01 1743 54832 63780 0 -2.5 2.3 -2.2 4.1 -32.8 136.8 +2009 01 01 1744 54832 63840 0 -3.2 2.3 -0.5 4.0 -6.9 144.0 +2009 01 01 1745 54832 63900 0 -3.1 2.6 -0.9 4.1 -12.4 140.1 +2009 01 01 1746 54832 63960 0 -3.0 2.6 -1.1 4.1 -15.0 139.1 +2009 01 01 1747 54832 64020 0 -2.7 2.4 -1.4 3.9 -21.7 138.4 +2009 01 01 1748 54832 64080 0 -2.7 2.7 -1.2 4.0 -17.2 135.6 +2009 01 01 1749 54832 64140 0 -3.0 2.7 -0.9 4.2 -12.0 137.6 +2009 01 01 1750 54832 64200 0 -3.0 2.7 -1.0 4.2 -13.7 138.6 +2009 01 01 1751 54832 64260 0 -3.0 2.7 -1.1 4.2 -15.3 137.2 +2009 01 01 1752 54832 64320 0 -3.0 2.7 -1.1 4.2 -15.2 137.8 +2009 01 01 1753 54832 64380 0 -2.8 2.7 -1.1 4.1 -15.7 136.4 +2009 01 01 1754 54832 64440 0 -3.2 2.5 -0.9 4.1 -12.4 142.1 +2009 01 01 1755 54832 64500 0 -3.2 2.3 -0.9 4.1 -13.1 143.9 +2009 01 01 1756 54832 64560 0 -3.3 2.3 -0.9 4.1 -13.0 144.7 +2009 01 01 1757 54832 64620 0 -3.1 2.5 -0.7 4.1 -10.4 141.4 +2009 01 01 1758 54832 64680 0 -3.1 2.6 -0.6 4.1 -7.8 140.3 +2009 01 01 1759 54832 64740 0 -3.0 2.6 -0.7 4.0 -9.3 139.1 +2009 01 01 1800 54832 64800 0 -3.0 2.7 -0.7 4.1 -9.6 137.8 +2009 01 01 1801 54832 64860 0 -3.1 3.0 -0.8 4.4 -10.6 136.6 +2009 01 01 1802 54832 64920 0 -3.1 3.1 -0.8 4.5 -10.1 134.8 +2009 01 01 1803 54832 64980 0 -3.1 3.1 -0.8 4.5 -10.4 135.4 +2009 01 01 1804 54832 65040 0 -3.3 2.9 -0.9 4.5 -11.4 137.9 +2009 01 01 1805 54832 65100 0 -3.3 2.9 -0.8 4.5 -10.1 138.6 +2009 01 01 1806 54832 65160 0 -3.4 2.8 -0.5 4.5 -6.1 140.4 +2009 01 01 1807 54832 65220 0 -3.2 2.8 -0.7 4.4 -8.6 138.9 +2009 01 01 1808 54832 65280 0 -3.3 2.8 -0.6 4.4 -8.5 139.2 +2009 01 01 1809 54832 65340 0 -3.1 3.0 -0.6 4.4 -8.3 135.9 +2009 01 01 1810 54832 65400 0 -3.1 2.9 -0.7 4.3 -9.4 137.4 +2009 01 01 1811 54832 65460 0 -2.7 3.0 -1.1 4.2 -14.8 132.7 +2009 01 01 1812 54832 65520 0 -1.9 3.2 -1.6 4.1 -23.0 120.7 +2009 01 01 1813 54832 65580 0 -1.7 3.1 -1.7 3.9 -25.8 118.8 +2009 01 01 1814 54832 65640 0 -1.9 2.8 -2.0 3.9 -30.8 123.7 +2009 01 01 1815 54832 65700 0 -1.2 3.1 -1.6 3.7 -25.3 111.6 +2009 01 01 1816 54832 65760 0 -1.2 3.1 -1.8 3.7 -28.4 110.9 +2009 01 01 1817 54832 65820 0 -1.4 3.1 -1.6 3.8 -25.3 114.8 +2009 01 01 1818 54832 65880 0 -2.5 3.0 -0.8 4.0 -12.2 129.7 +2009 01 01 1819 54832 65940 0 -2.3 2.6 -1.7 3.9 -26.4 130.6 +2009 01 01 1820 54832 66000 0 -2.4 2.9 -1.2 4.0 -18.4 130.2 +2009 01 01 1821 54832 66060 0 -1.7 2.9 0.9 3.5 15.2 120.5 +2009 01 01 1822 54832 66120 0 -1.6 3.3 1.7 4.0 25.6 116.1 +2009 01 01 1823 54832 66180 0 -1.3 3.5 1.8 4.2 25.9 110.7 +2009 01 01 1824 54832 66240 0 -1.8 3.8 1.4 4.4 18.0 115.1 +2009 01 01 1825 54832 66300 0 -2.1 3.7 1.3 4.4 17.2 119.9 +2009 01 01 1826 54832 66360 0 -3.4 3.2 0.4 4.7 5.3 136.2 +2009 01 01 1827 54832 66420 0 -3.3 3.6 -0.5 4.9 -5.8 132.7 +2009 01 01 1828 54832 66480 0 -3.4 3.5 -0.9 4.9 -10.9 134.3 +2009 01 01 1829 54832 66540 0 -3.3 3.3 -1.6 4.9 -18.4 135.4 +2009 01 01 1830 54832 66600 0 -3.5 2.8 -2.2 4.9 -26.1 141.2 +2009 01 01 1831 54832 66660 0 -3.4 2.4 -2.5 4.9 -30.8 144.6 +2009 01 01 1832 54832 66720 0 -3.2 2.2 -2.8 4.8 -35.3 145.7 +2009 01 01 1833 54832 66780 0 -2.4 1.7 -3.2 4.3 -47.8 144.6 +2009 01 01 1834 54832 66840 0 -1.9 1.1 -3.6 4.2 -58.2 151.1 +2009 01 01 1835 54832 66900 0 -1.4 0.4 -3.8 4.1 -69.1 162.3 +2009 01 01 1836 54832 66960 0 -1.7 0.9 -3.7 4.1 -61.9 152.2 +2009 01 01 1837 54832 67020 0 -1.8 1.1 -3.6 4.2 -59.9 148.5 +2009 01 01 1838 54832 67080 0 -1.9 1.8 -2.7 3.8 -46.2 137.8 +2009 01 01 1839 54832 67140 0 -2.5 2.3 -1.7 3.9 -26.9 137.1 +2009 01 01 1840 54832 67200 0 -2.6 2.7 -1.1 3.9 -16.2 133.9 +2009 01 01 1841 54832 67260 0 -2.5 2.8 -1.0 3.9 -14.5 132.4 +2009 01 01 1842 54832 67320 0 -1.7 3.2 -0.7 3.7 -11.6 118.9 +2009 01 01 1843 54832 67380 0 -1.4 3.1 -1.2 3.6 -19.0 114.3 +2009 01 01 1844 54832 67440 0 -0.3 2.8 -2.0 3.4 -34.9 95.6 +2009 01 01 1845 54832 67500 0 -1.7 2.4 -2.0 3.6 -33.3 125.7 +2009 01 01 1846 54832 67560 0 -1.9 2.5 -1.8 3.6 -29.0 126.7 +2009 01 01 1847 54832 67620 0 -2.5 2.3 -1.3 3.7 -21.0 137.1 +2009 01 01 1848 54832 67680 0 -2.4 2.5 -0.9 3.6 -14.9 134.7 +2009 01 01 1849 54832 67740 0 -2.4 2.2 -1.4 3.6 -23.5 137.7 +2009 01 01 1850 54832 67800 0 -2.4 2.3 -1.7 3.7 -27.6 136.7 +2009 01 01 1851 54832 67860 0 -2.7 1.6 -2.2 3.9 -35.1 149.7 +2009 01 01 1852 54832 67920 0 -2.5 2.4 -1.8 3.9 -27.2 136.4 +2009 01 01 1853 54832 67980 0 -2.9 2.1 -1.6 3.9 -24.6 143.4 +2009 01 01 1854 54832 68040 0 -2.7 2.4 -1.0 3.7 -15.0 137.8 +2009 01 01 1855 54832 68100 0 -3.4 1.6 -1.1 3.9 -16.7 155.4 +2009 01 01 1856 54832 68160 0 -3.9 -0.2 -1.2 4.1 -17.3 183.2 +2009 01 01 1857 54832 68220 0 -4.1 -0.7 0.4 4.2 5.3 189.1 +2009 01 01 1858 54832 68280 0 -3.9 -0.2 1.0 4.1 14.9 183.4 +2009 01 01 1859 54832 68340 0 -3.8 0.9 1.1 4.0 15.8 166.2 +2009 01 01 1900 54832 68400 0 -3.9 0.7 0.7 4.0 10.5 169.2 +2009 01 01 1901 54832 68460 0 -4.0 0.6 -0.2 4.0 -3.5 171.9 +2009 01 01 1902 54832 68520 0 -3.9 0.6 -0.7 4.0 -10.7 170.9 +2009 01 01 1903 54832 68580 0 -3.9 0.5 -1.1 4.1 -15.1 172.2 +2009 01 01 1904 54832 68640 0 -4.0 0.2 -1.1 4.1 -14.8 177.5 +2009 01 01 1905 54832 68700 0 -3.9 -0.3 -0.8 4.0 -11.5 184.9 +2009 01 01 1906 54832 68760 0 -3.3 0.4 -1.6 3.7 -26.5 173.4 +2009 01 01 1907 54832 68820 0 -2.4 2.3 -1.2 3.5 -20.1 136.8 +2009 01 01 1908 54832 68880 0 -2.3 2.6 -0.4 3.5 -6.4 131.2 +2009 01 01 1909 54832 68940 0 -3.2 1.9 -0.8 3.8 -11.8 149.7 +2009 01 01 1910 54832 69000 0 -3.6 1.4 -1.1 4.0 -16.0 158.5 +2009 01 01 1911 54832 69060 0 -3.4 1.0 -1.8 4.0 -27.3 162.9 +2009 01 01 1912 54832 69120 0 -3.6 1.5 -1.1 4.0 -15.4 157.2 +2009 01 01 1913 54832 69180 0 -3.4 1.9 0.7 4.0 10.6 151.3 +2009 01 01 1914 54832 69240 0 -3.8 1.6 0.2 4.1 2.6 156.7 +2009 01 01 1915 54832 69300 0 -4.0 1.4 -0.0 4.2 -0.3 160.6 +2009 01 01 1916 54832 69360 0 -3.8 1.6 -0.2 4.2 -2.3 156.8 +2009 01 01 1917 54832 69420 0 -3.8 1.7 -0.4 4.2 -5.7 156.0 +2009 01 01 1918 54832 69480 0 -4.0 0.8 -1.0 4.2 -13.2 168.3 +2009 01 01 1919 54832 69540 0 -3.9 0.3 -1.4 4.2 -19.0 175.1 +2009 01 01 1920 54832 69600 0 -4.0 0.7 -0.9 4.1 -12.2 169.8 +2009 01 01 1921 54832 69660 0 -4.0 0.2 -1.2 4.2 -16.7 177.3 +2009 01 01 1922 54832 69720 0 -4.0 -0.1 -1.2 4.1 -16.6 181.3 +2009 01 01 1923 54832 69780 0 -3.9 -0.3 -0.9 4.1 -13.4 184.6 +2009 01 01 1924 54832 69840 0 -3.9 -0.4 -1.3 4.1 -18.4 186.0 +2009 01 01 1925 54832 69900 0 -3.7 -0.4 -1.6 4.0 -23.5 185.7 +2009 01 01 1926 54832 69960 0 -3.6 0.0 -1.7 4.0 -25.3 179.8 +2009 01 01 1927 54832 70020 0 -3.5 1.4 -1.7 4.1 -24.2 158.6 +2009 01 01 1928 54832 70080 0 -3.7 0.9 -1.7 4.1 -24.0 166.1 +2009 01 01 1929 54832 70140 0 -3.7 0.0 -1.8 4.1 -26.2 179.6 +2009 01 01 1930 54832 70200 0 -3.6 -0.6 -1.9 4.2 -27.5 189.1 +2009 01 01 1931 54832 70260 0 -3.5 0.4 -2.1 4.1 -31.1 174.1 +2009 01 01 1932 54832 70320 0 -3.7 -0.2 -2.0 4.2 -28.4 183.1 +2009 01 01 1933 54832 70380 0 -2.2 2.8 -1.9 4.0 -28.1 128.0 +2009 01 01 1934 54832 70440 0 -1.6 3.3 -1.4 3.9 -20.4 115.3 +2009 01 01 1935 54832 70500 0 -2.6 2.8 -1.4 4.1 -19.4 132.3 +2009 01 01 1936 54832 70560 0 -2.6 2.7 -1.6 4.1 -23.3 134.1 +2009 01 01 1937 54832 70620 0 -2.9 2.8 -1.2 4.2 -15.9 136.6 +2009 01 01 1938 54832 70680 0 -3.5 1.9 -1.7 4.4 -23.3 151.4 +2009 01 01 1939 54832 70740 0 -3.5 1.6 -2.0 4.3 -27.0 155.5 +2009 01 01 1940 54832 70800 0 -3.5 2.0 -1.4 4.3 -19.5 150.6 +2009 01 01 1941 54832 70860 0 -3.3 2.6 -0.6 4.2 -8.1 141.6 +2009 01 01 1942 54832 70920 0 -3.3 2.4 -1.2 4.2 -16.2 144.0 +2009 01 01 1943 54832 70980 0 -3.3 2.1 -1.7 4.3 -23.9 147.0 +2009 01 01 1944 54832 71040 0 -3.5 2.2 -1.3 4.3 -17.1 147.8 +2009 01 01 1945 54832 71100 0 -3.5 2.1 -1.3 4.3 -18.2 149.8 +2009 01 01 1946 54832 71160 0 -3.3 1.4 -2.2 4.2 -31.2 157.3 +2009 01 01 1947 54832 71220 0 -3.3 1.2 -2.4 4.3 -35.0 160.7 +2009 01 01 1948 54832 71280 0 -3.6 1.6 -1.7 4.3 -23.3 155.5 +2009 01 01 1949 54832 71340 0 -3.7 1.6 -1.7 4.3 -23.1 156.5 +2009 01 01 1950 54832 71400 0 -3.5 1.7 -1.9 4.3 -26.0 154.2 +2009 01 01 1951 54832 71460 0 -3.5 1.4 -1.8 4.2 -25.0 158.5 +2009 01 01 1952 54832 71520 0 -3.3 1.3 -2.0 4.1 -29.3 157.7 +2009 01 01 1953 54832 71580 0 -3.5 1.3 -1.8 4.1 -26.0 160.0 +2009 01 01 1954 54832 71640 0 -3.7 1.5 -1.1 4.1 -14.8 158.0 +2009 01 01 1955 54832 71700 0 -3.8 1.3 -1.1 4.2 -15.0 161.6 +2009 01 01 1956 54832 71760 0 -3.9 1.4 -1.1 4.3 -14.7 160.3 +2009 01 01 1957 54832 71820 0 -3.9 1.4 -1.2 4.3 -16.0 160.5 +2009 01 01 1958 54832 71880 0 -3.8 1.4 -1.0 4.1 -13.4 160.3 +2009 01 01 1959 54832 71940 0 -3.8 1.1 -1.2 4.2 -16.6 163.6 +2009 01 01 2000 54832 72000 0 -4.1 0.8 -0.3 4.2 -4.3 169.2 +2009 01 01 2001 54832 72060 0 -4.2 0.7 0.5 4.3 6.6 170.8 +2009 01 01 2002 54832 72120 0 -4.2 0.8 0.1 4.3 2.0 169.1 +2009 01 01 2003 54832 72180 0 -4.1 0.7 0.5 4.2 7.2 169.9 +2009 01 01 2004 54832 72240 0 -4.0 0.8 0.2 4.1 3.0 169.2 +2009 01 01 2005 54832 72300 0 -4.0 1.0 -1.0 4.3 -13.0 166.4 +2009 01 01 2006 54832 72360 0 -3.9 1.1 -1.4 4.3 -19.8 163.9 +2009 01 01 2007 54832 72420 0 -3.9 0.8 -1.3 4.2 -18.6 168.1 +2009 01 01 2008 54832 72480 0 -3.9 0.9 -1.4 4.3 -19.3 167.3 +2009 01 01 2009 54832 72540 0 -3.7 0.6 -2.1 4.3 -29.1 170.2 +2009 01 01 2010 54832 72600 0 -3.8 0.6 -2.1 4.4 -28.0 170.9 +2009 01 01 2011 54832 72660 0 -4.1 0.4 -1.6 4.4 -21.5 174.7 +2009 01 01 2012 54832 72720 0 -3.9 -0.0 -1.7 4.3 -23.8 180.3 +2009 01 01 2013 54832 72780 0 -4.0 -0.3 -1.5 4.3 -20.3 183.6 +2009 01 01 2014 54832 72840 0 -4.1 -0.4 -1.2 4.3 -16.1 185.4 +2009 01 01 2015 54832 72900 0 -4.3 -0.2 0.1 4.3 1.3 182.5 +2009 01 01 2016 54832 72960 0 -4.3 -0.4 -0.3 4.3 -3.7 185.8 +2009 01 01 2017 54832 73020 0 -3.9 -0.1 -1.6 4.3 -22.2 181.8 +2009 01 01 2018 54832 73080 0 -3.9 0.0 -1.8 4.3 -24.8 179.9 +2009 01 01 2019 54832 73140 0 -3.8 0.1 -2.0 4.3 -28.4 178.9 +2009 01 01 2020 54832 73200 0 -3.8 -0.0 -2.1 4.3 -29.1 180.7 +2009 01 01 2021 54832 73260 0 -3.8 0.1 -1.9 4.3 -26.8 178.0 +2009 01 01 2022 54832 73320 0 -3.9 0.1 -1.9 4.3 -25.7 178.8 +2009 01 01 2023 54832 73380 0 -3.5 0.6 -2.7 4.4 -36.9 170.6 +2009 01 01 2024 54832 73440 0 -3.7 0.0 -2.2 4.3 -30.8 179.7 +2009 01 01 2025 54832 73500 0 -3.7 -0.0 -2.3 4.3 -31.9 180.1 +2009 01 01 2026 54832 73560 0 -3.8 -0.1 -2.1 4.4 -29.2 180.9 +2009 01 01 2027 54832 73620 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2028 54832 73680 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2029 54832 73740 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2030 54832 73800 0 -3.7 -0.3 -2.0 4.3 -28.7 185.2 +2009 01 01 2031 54832 73860 0 -3.7 -0.3 -2.2 4.3 -30.8 185.3 +2009 01 01 2032 54832 73920 0 -4.0 -0.3 -1.9 4.4 -26.1 184.1 +2009 01 01 2033 54832 73980 0 -3.9 -1.2 -1.4 4.3 -18.9 197.6 +2009 01 01 2034 54832 74040 0 -4.0 -0.6 -1.7 4.4 -22.3 188.3 +2009 01 01 2035 54832 74100 0 -4.2 -0.8 -1.3 4.5 -16.5 190.4 +2009 01 01 2036 54832 74160 0 -3.9 -1.1 -1.7 4.4 -22.7 195.9 +2009 01 01 2037 54832 74220 0 -3.7 -1.3 -2.0 4.4 -27.1 198.7 +2009 01 01 2038 54832 74280 0 -3.8 -1.0 -2.0 4.4 -27.5 194.6 +2009 01 01 2039 54832 74340 0 -3.6 -0.9 -2.4 4.4 -32.7 194.7 +2009 01 01 2040 54832 74400 0 -3.3 -1.0 -2.8 4.5 -38.4 196.9 +2009 01 01 2041 54832 74460 0 -3.7 -1.6 -2.1 4.5 -27.1 203.8 +2009 01 01 2042 54832 74520 0 -3.7 -1.7 -1.9 4.5 -25.5 204.6 +2009 01 01 2043 54832 74580 0 -4.0 -1.2 -1.8 4.5 -23.2 197.0 +2009 01 01 2044 54832 74640 0 -4.0 -0.8 -1.9 4.5 -25.2 191.7 +2009 01 01 2045 54832 74700 0 -4.2 -0.5 -1.9 4.6 -24.3 186.3 +2009 01 01 2046 54832 74760 0 -4.2 -0.5 -1.8 4.6 -23.5 186.5 +2009 01 01 2047 54832 74820 0 -4.2 -0.4 -1.9 4.6 -23.9 185.3 +2009 01 01 2048 54832 74880 0 -4.0 -0.8 -2.0 4.5 -25.9 191.4 +2009 01 01 2049 54832 74940 0 -4.1 -0.8 -1.9 4.6 -24.2 190.6 +2009 01 01 2050 54832 75000 0 -4.1 -0.6 -1.8 4.5 -24.0 188.6 +2009 01 01 2051 54832 75060 0 -4.1 -0.9 -1.7 4.5 -22.5 192.1 +2009 01 01 2052 54832 75120 0 -4.2 -0.9 -1.5 4.6 -19.8 191.5 +2009 01 01 2053 54832 75180 0 -4.2 -0.7 -1.6 4.6 -20.0 189.7 +2009 01 01 2054 54832 75240 0 -4.3 -0.8 -1.4 4.6 -17.8 190.4 +2009 01 01 2055 54832 75300 0 -4.1 -1.8 -1.0 4.6 -13.2 203.7 +2009 01 01 2056 54832 75360 0 -4.2 -1.2 -1.3 4.6 -16.8 195.9 +2009 01 01 2057 54832 75420 0 -4.3 -1.1 -1.3 4.6 -15.9 194.2 +2009 01 01 2058 54832 75480 0 -4.2 -1.2 -1.3 4.6 -16.9 195.3 +2009 01 01 2059 54832 75540 0 -4.2 -1.2 -1.2 4.5 -15.3 196.4 +2009 01 01 2100 54832 75600 0 -4.2 -1.3 -1.2 4.6 -14.6 196.9 +2009 01 01 2101 54832 75660 0 -4.2 -1.1 -1.3 4.6 -16.8 194.4 +2009 01 01 2102 54832 75720 0 -4.3 -1.0 -1.3 4.6 -16.8 193.8 +2009 01 01 2103 54832 75780 0 -4.1 -1.2 -1.3 4.5 -16.8 196.6 +2009 01 01 2104 54832 75840 0 -4.0 -1.4 -1.2 4.4 -15.6 199.6 +2009 01 01 2105 54832 75900 0 -4.1 -1.5 -1.2 4.5 -15.4 200.1 +2009 01 01 2106 54832 75960 0 -3.9 -1.9 -1.0 4.5 -12.6 205.3 +2009 01 01 2107 54832 76020 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2108 54832 76080 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2109 54832 76140 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2110 54832 76200 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2111 54832 76260 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2112 54832 76320 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2113 54832 76380 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2114 54832 76440 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2115 54832 76500 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2116 54832 76560 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2117 54832 76620 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2118 54832 76680 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2119 54832 76740 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2120 54832 76800 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2121 54832 76860 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2122 54832 76920 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2123 54832 76980 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2124 54832 77040 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2125 54832 77100 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2126 54832 77160 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2127 54832 77220 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2128 54832 77280 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2129 54832 77340 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2130 54832 77400 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2131 54832 77460 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2132 54832 77520 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2133 54832 77580 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2134 54832 77640 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2135 54832 77700 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2136 54832 77760 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2137 54832 77820 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2138 54832 77880 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2139 54832 77940 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2140 54832 78000 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2141 54832 78060 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2142 54832 78120 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2143 54832 78180 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2144 54832 78240 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2145 54832 78300 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2146 54832 78360 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2147 54832 78420 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2148 54832 78480 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2149 54832 78540 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2150 54832 78600 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2151 54832 78660 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2152 54832 78720 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2153 54832 78780 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2154 54832 78840 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2155 54832 78900 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2156 54832 78960 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2157 54832 79020 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2158 54832 79080 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2159 54832 79140 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2200 54832 79200 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2201 54832 79260 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2202 54832 79320 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2203 54832 79380 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2204 54832 79440 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2205 54832 79500 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2206 54832 79560 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2207 54832 79620 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2208 54832 79680 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2209 54832 79740 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2210 54832 79800 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2211 54832 79860 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2212 54832 79920 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2213 54832 79980 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2214 54832 80040 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2215 54832 80100 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2216 54832 80160 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2217 54832 80220 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2218 54832 80280 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2219 54832 80340 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2220 54832 80400 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2221 54832 80460 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2222 54832 80520 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2223 54832 80580 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2224 54832 80640 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2225 54832 80700 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2226 54832 80760 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2227 54832 80820 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2228 54832 80880 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2229 54832 80940 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2230 54832 81000 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2231 54832 81060 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2232 54832 81120 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2233 54832 81180 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2234 54832 81240 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2235 54832 81300 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2236 54832 81360 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2237 54832 81420 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2238 54832 81480 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2239 54832 81540 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2240 54832 81600 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2241 54832 81660 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2242 54832 81720 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2243 54832 81780 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2244 54832 81840 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2245 54832 81900 0 -3.9 -1.4 -1.0 4.3 -13.4 200.0 +2009 01 01 2246 54832 81960 0 -4.0 -3.0 -0.1 5.0 -1.3 217.2 +2009 01 01 2247 54832 82020 0 -3.9 -3.3 -0.5 5.1 -5.1 220.3 +2009 01 01 2248 54832 82080 0 -3.8 -3.3 -0.4 5.0 -4.3 220.7 +2009 01 01 2249 54832 82140 0 -3.3 -3.7 -0.7 5.0 -7.5 227.7 +2009 01 01 2250 54832 82200 0 -3.4 -3.8 -0.6 5.1 -6.3 228.1 +2009 01 01 2251 54832 82260 0 -3.4 -3.8 -0.5 5.1 -5.1 227.8 +2009 01 01 2252 54832 82320 0 -3.5 -3.6 -0.6 5.0 -6.8 226.0 +2009 01 01 2253 54832 82380 0 -3.5 -3.5 -0.6 5.0 -6.5 225.2 +2009 01 01 2254 54832 82440 0 -3.8 -3.5 -0.2 5.2 -2.1 222.9 +2009 01 01 2255 54832 82500 0 -3.7 -3.6 -0.3 5.1 -3.0 224.1 +2009 01 01 2256 54832 82560 0 -3.7 -3.8 -0.5 5.3 -5.0 225.5 +2009 01 01 2257 54832 82620 0 -3.4 -4.0 -0.6 5.3 -6.8 229.2 +2009 01 01 2258 54832 82680 0 -3.2 -4.1 -0.4 5.2 -4.1 231.5 +2009 01 01 2259 54832 82740 0 -2.2 -4.4 -0.7 5.0 -8.2 243.3 +2009 01 01 2300 54832 82800 0 -2.2 -4.4 -0.4 5.0 -4.9 243.9 +2009 01 01 2301 54832 82860 0 -2.7 -4.3 -0.5 5.1 -6.2 238.3 +2009 01 01 2302 54832 82920 0 -2.5 -4.4 -0.7 5.1 -8.4 240.3 +2009 01 01 2303 54832 82980 0 -3.4 -4.1 0.4 5.3 4.6 229.6 +2009 01 01 2304 54832 83040 0 -3.9 -3.1 1.6 5.3 18.0 219.0 +2009 01 01 2305 54832 83100 0 -3.9 -3.0 1.7 5.2 18.7 217.3 +2009 01 01 2306 54832 83160 0 -4.0 -3.3 0.6 5.2 7.1 220.1 +2009 01 01 2307 54832 83220 0 -4.1 -3.3 0.6 5.3 6.4 218.9 +2009 01 01 2308 54832 83280 0 -4.0 -3.5 0.4 5.4 4.8 221.2 +2009 01 01 2309 54832 83340 0 -4.0 -3.5 0.4 5.3 4.8 221.3 +2009 01 01 2310 54832 83400 0 -3.6 -3.8 1.1 5.3 11.6 226.2 +2009 01 01 2311 54832 83460 0 -3.5 -3.9 1.1 5.3 11.4 228.0 +2009 01 01 2312 54832 83520 0 -4.0 -3.6 0.7 5.4 8.0 221.6 +2009 01 01 2313 54832 83580 0 -4.0 -3.5 0.9 5.4 9.2 221.5 +2009 01 01 2314 54832 83640 0 -3.9 -3.6 0.9 5.3 10.1 222.6 +2009 01 01 2315 54832 83700 0 -4.0 -3.5 0.9 5.4 9.4 221.0 +2009 01 01 2316 54832 83760 0 -4.0 -3.6 0.8 5.4 8.5 221.8 +2009 01 01 2317 54832 83820 0 -4.0 -3.4 0.8 5.3 8.3 220.7 +2009 01 01 2318 54832 83880 0 -4.0 -3.5 0.8 5.4 8.8 221.2 +2009 01 01 2319 54832 83940 0 -4.0 -3.6 0.8 5.4 8.6 222.6 +2009 01 01 2320 54832 84000 0 -4.2 -3.5 0.7 5.5 7.2 220.3 +2009 01 01 2321 54832 84060 0 -4.1 -3.6 0.4 5.5 4.1 221.4 +2009 01 01 2322 54832 84120 0 -4.0 -3.7 0.3 5.5 3.3 222.7 +2009 01 01 2323 54832 84180 0 -4.3 -3.4 0.2 5.5 2.2 217.9 +2009 01 01 2324 54832 84240 0 -4.4 -3.2 0.4 5.5 4.5 216.4 +2009 01 01 2325 54832 84300 0 -4.2 -3.5 0.3 5.5 2.8 219.7 +2009 01 01 2326 54832 84360 0 -4.6 -3.0 -0.3 5.5 -2.7 213.3 +2009 01 01 2327 54832 84420 0 -4.1 -3.5 -0.2 5.4 -2.1 220.2 +2009 01 01 2328 54832 84480 0 -4.3 -3.4 -0.2 5.5 -2.1 218.8 +2009 01 01 2329 54832 84540 0 -4.2 -3.4 -0.0 5.4 -0.1 218.6 +2009 01 01 2330 54832 84600 0 -4.4 -3.3 -0.0 5.4 -0.4 216.7 +2009 01 01 2331 54832 84660 0 -4.1 -3.2 -0.4 5.2 -4.2 217.5 +2009 01 01 2332 54832 84720 0 -4.2 -3.2 0.0 5.3 0.2 216.7 +2009 01 01 2333 54832 84780 0 -4.5 -3.1 0.0 5.5 0.2 214.0 +2009 01 01 2334 54832 84840 0 -4.5 -3.2 -0.0 5.6 -0.5 215.4 +2009 01 01 2335 54832 84900 0 -4.4 -3.3 0.5 5.5 5.3 216.9 +2009 01 01 2336 54832 84960 0 -4.5 -3.1 0.8 5.5 8.4 214.6 +2009 01 01 2337 54832 85020 0 -4.4 -3.2 0.3 5.4 2.8 216.1 +2009 01 01 2338 54832 85080 0 -4.4 -3.3 0.7 5.6 6.8 217.0 +2009 01 01 2339 54832 85140 0 -4.3 -3.4 0.8 5.5 7.9 217.8 +2009 01 01 2340 54832 85200 0 -4.3 -3.4 0.4 5.5 4.5 218.0 +2009 01 01 2341 54832 85260 0 -4.3 -3.5 0.5 5.6 5.5 218.6 +2009 01 01 2342 54832 85320 0 -4.5 -3.3 0.6 5.6 6.3 216.3 +2009 01 01 2343 54832 85380 0 -4.8 -3.2 0.4 5.8 4.1 213.9 +2009 01 01 2344 54832 85440 0 -4.6 -3.3 0.0 5.6 0.3 215.4 +2009 01 01 2345 54832 85500 0 -4.6 -3.3 0.4 5.7 3.7 215.6 +2009 01 01 2346 54832 85560 0 -4.5 -3.3 0.5 5.6 4.8 216.6 +2009 01 01 2347 54832 85620 0 -4.6 -3.2 0.5 5.7 5.3 215.0 +2009 01 01 2348 54832 85680 0 -4.5 -3.3 0.4 5.6 3.8 216.0 +2009 01 01 2349 54832 85740 0 -4.7 -3.1 -0.1 5.6 -1.5 212.9 +2009 01 01 2350 54832 85800 0 -4.7 -3.1 -0.2 5.6 -2.1 213.0 +2009 01 01 2351 54832 85860 0 -4.7 -3.1 0.0 5.6 0.2 213.2 +2009 01 01 2352 54832 85920 0 -4.7 -3.1 0.7 5.7 7.2 213.3 +2009 01 01 2353 54832 85980 0 -4.9 -2.8 0.7 5.7 7.5 209.9 +2009 01 01 2354 54832 86040 0 -4.5 -3.1 0.6 5.5 5.9 214.0 +2009 01 01 2355 54832 86100 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2356 54832 86160 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2357 54832 86220 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2009 01 01 2358 54832 86280 0 -5.4 -2.0 0.8 5.8 8.0 200.1 +2009 01 01 2359 54832 86340 0 -4.5 -3.4 -0.1 5.6 -1.2 216.8 diff --git a/GeospaceDataManagement/tests/test_data/20090101_ace_sis_5m.txt b/GeospaceDataManagement/tests/test_data/20090101_ace_sis_5m.txt new file mode 100644 index 0000000..0a5e859 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/20090101_ace_sis_5m.txt @@ -0,0 +1,304 @@ +:Data_list: 20090101_ace_sis_5m.txt +:Created: 2009 Jan 02 0011 UT +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# Units: proton flux p/cs2-sec-ster +# Status(S): 0 = nominal data, 1 to 8 = bad data record, 9 = no data +# Missing data values: -1.00e+05 +# Source: ACE Satellite - Solar Isotope Spectrometer +# +# 5-minute averaged Real-time Integral Flux of High-energy Solar Protons +# +# Modified Seconds +# UT Date Time Julian of the ---- Integral Proton Flux ---- +# YR MO DA HHMM Day Day S > 10 MeV S > 30 MeV +#-------------------------------------------------------------------- +2009 01 01 0000 54832 0 0 2.21e+00 0 1.54e+00 +2009 01 01 0005 54832 300 0 2.17e+00 0 1.53e+00 +2009 01 01 0010 54832 600 0 2.17e+00 0 1.54e+00 +2009 01 01 0015 54832 900 0 2.20e+00 0 1.54e+00 +2009 01 01 0020 54832 1200 0 2.18e+00 0 1.52e+00 +2009 01 01 0025 54832 1500 0 2.20e+00 0 1.55e+00 +2009 01 01 0030 54832 1800 0 2.14e+00 0 1.50e+00 +2009 01 01 0035 54832 2100 0 2.15e+00 0 1.50e+00 +2009 01 01 0040 54832 2400 0 2.19e+00 0 1.54e+00 +2009 01 01 0045 54832 2700 0 2.15e+00 0 1.50e+00 +2009 01 01 0050 54832 3000 0 2.20e+00 0 1.54e+00 +2009 01 01 0055 54832 3300 0 2.18e+00 0 1.53e+00 +2009 01 01 0100 54832 3600 0 2.17e+00 0 1.51e+00 +2009 01 01 0105 54832 3900 0 2.18e+00 0 1.52e+00 +2009 01 01 0110 54832 4200 0 2.19e+00 0 1.53e+00 +2009 01 01 0115 54832 4500 0 2.16e+00 0 1.51e+00 +2009 01 01 0120 54832 4800 0 2.17e+00 0 1.49e+00 +2009 01 01 0125 54832 5100 0 2.16e+00 0 1.52e+00 +2009 01 01 0130 54832 5400 0 2.18e+00 0 1.53e+00 +2009 01 01 0135 54832 5700 0 2.14e+00 0 1.51e+00 +2009 01 01 0140 54832 6000 0 2.17e+00 0 1.52e+00 +2009 01 01 0145 54832 6300 0 2.15e+00 0 1.51e+00 +2009 01 01 0150 54832 6600 0 2.14e+00 0 1.48e+00 +2009 01 01 0155 54832 6900 0 2.14e+00 0 1.50e+00 +2009 01 01 0200 54832 7200 0 2.12e+00 0 1.48e+00 +2009 01 01 0205 54832 7500 0 2.26e+00 0 1.58e+00 +2009 01 01 0210 54832 7800 0 2.32e+00 0 1.62e+00 +2009 01 01 0215 54832 8100 0 2.21e+00 0 1.55e+00 +2009 01 01 0220 54832 8400 0 2.17e+00 0 1.52e+00 +2009 01 01 0225 54832 8700 0 2.18e+00 0 1.53e+00 +2009 01 01 0230 54832 9000 0 2.17e+00 0 1.51e+00 +2009 01 01 0235 54832 9300 0 2.19e+00 0 1.54e+00 +2009 01 01 0240 54832 9600 0 2.13e+00 0 1.51e+00 +2009 01 01 0245 54832 9900 0 2.15e+00 0 1.49e+00 +2009 01 01 0250 54832 10200 0 2.15e+00 0 1.51e+00 +2009 01 01 0255 54832 10500 0 2.19e+00 0 1.52e+00 +2009 01 01 0300 54832 10800 0 2.15e+00 0 1.50e+00 +2009 01 01 0305 54832 11100 0 2.18e+00 0 1.53e+00 +2009 01 01 0310 54832 11400 0 2.19e+00 0 1.53e+00 +2009 01 01 0315 54832 11700 0 2.22e+00 0 1.55e+00 +2009 01 01 0320 54832 12000 0 2.19e+00 0 1.53e+00 +2009 01 01 0325 54832 12300 0 2.17e+00 0 1.52e+00 +2009 01 01 0330 54832 12600 0 2.16e+00 0 1.52e+00 +2009 01 01 0335 54832 12900 0 2.17e+00 0 1.51e+00 +2009 01 01 0340 54832 13200 0 2.13e+00 0 1.50e+00 +2009 01 01 0345 54832 13500 0 2.14e+00 0 1.50e+00 +2009 01 01 0350 54832 13800 0 2.17e+00 0 1.52e+00 +2009 01 01 0355 54832 14100 0 2.12e+00 0 1.48e+00 +2009 01 01 0400 54832 14400 0 2.12e+00 0 1.48e+00 +2009 01 01 0405 54832 14700 0 2.13e+00 0 1.50e+00 +2009 01 01 0410 54832 15000 0 2.12e+00 0 1.47e+00 +2009 01 01 0415 54832 15300 0 2.10e+00 0 1.45e+00 +2009 01 01 0420 54832 15600 0 2.18e+00 0 1.53e+00 +2009 01 01 0425 54832 15900 0 2.36e+00 0 1.64e+00 +2009 01 01 0430 54832 16200 0 2.23e+00 0 1.56e+00 +2009 01 01 0435 54832 16500 0 2.17e+00 0 1.52e+00 +2009 01 01 0440 54832 16800 0 2.19e+00 0 1.51e+00 +2009 01 01 0445 54832 17100 0 2.06e+00 0 1.44e+00 +2009 01 01 0450 54832 17400 0 2.20e+00 0 1.53e+00 +2009 01 01 0455 54832 17700 0 2.16e+00 0 1.51e+00 +2009 01 01 0500 54832 18000 0 2.19e+00 0 1.53e+00 +2009 01 01 0505 54832 18300 0 2.21e+00 0 1.54e+00 +2009 01 01 0510 54832 18600 0 2.19e+00 0 1.53e+00 +2009 01 01 0515 54832 18900 0 2.17e+00 0 1.51e+00 +2009 01 01 0520 54832 19200 0 2.21e+00 0 1.53e+00 +2009 01 01 0525 54832 19500 0 2.22e+00 0 1.57e+00 +2009 01 01 0530 54832 19800 0 2.19e+00 0 1.51e+00 +2009 01 01 0535 54832 20100 0 2.17e+00 0 1.51e+00 +2009 01 01 0540 54832 20400 0 2.13e+00 0 1.50e+00 +2009 01 01 0545 54832 20700 0 2.19e+00 0 1.54e+00 +2009 01 01 0550 54832 21000 0 2.10e+00 0 1.49e+00 +2009 01 01 0555 54832 21300 0 2.16e+00 0 1.52e+00 +2009 01 01 0600 54832 21600 0 2.11e+00 0 1.47e+00 +2009 01 01 0605 54832 21900 0 2.14e+00 0 1.50e+00 +2009 01 01 0610 54832 22200 0 2.15e+00 0 1.50e+00 +2009 01 01 0615 54832 22500 0 2.10e+00 0 1.47e+00 +2009 01 01 0620 54832 22800 0 2.09e+00 0 1.44e+00 +2009 01 01 0625 54832 23100 0 2.12e+00 0 1.48e+00 +2009 01 01 0630 54832 23400 0 2.11e+00 0 1.47e+00 +2009 01 01 0635 54832 23700 0 2.16e+00 0 1.51e+00 +2009 01 01 0640 54832 24000 0 2.32e+00 0 1.63e+00 +2009 01 01 0645 54832 24300 0 2.27e+00 0 1.60e+00 +2009 01 01 0650 54832 24600 0 2.26e+00 0 1.58e+00 +2009 01 01 0655 54832 24900 0 2.19e+00 0 1.54e+00 +2009 01 01 0700 54832 25200 0 2.23e+00 0 1.58e+00 +2009 01 01 0705 54832 25500 0 2.13e+00 0 1.48e+00 +2009 01 01 0710 54832 25800 0 2.15e+00 0 1.50e+00 +2009 01 01 0715 54832 26100 0 2.13e+00 0 1.50e+00 +2009 01 01 0720 54832 26400 0 2.21e+00 0 1.55e+00 +2009 01 01 0725 54832 26700 0 2.20e+00 0 1.55e+00 +2009 01 01 0730 54832 27000 0 2.17e+00 0 1.51e+00 +2009 01 01 0735 54832 27300 0 2.15e+00 0 1.50e+00 +2009 01 01 0740 54832 27600 9 -1.00e+05 9 -1.00e+05 +2009 01 01 0745 54832 27900 9 -1.00e+05 9 -1.00e+05 +2009 01 01 0750 54832 28200 0 2.16e+00 0 1.52e+00 +2009 01 01 0755 54832 28500 0 2.16e+00 0 1.51e+00 +2009 01 01 0800 54832 28800 0 2.16e+00 0 1.51e+00 +2009 01 01 0805 54832 29100 0 2.14e+00 0 1.50e+00 +2009 01 01 0810 54832 29400 0 2.15e+00 0 1.50e+00 +2009 01 01 0815 54832 29700 0 2.12e+00 0 1.49e+00 +2009 01 01 0820 54832 30000 0 2.18e+00 0 1.54e+00 +2009 01 01 0825 54832 30300 0 2.14e+00 0 1.50e+00 +2009 01 01 0830 54832 30600 0 2.11e+00 0 1.47e+00 +2009 01 01 0835 54832 30900 0 2.11e+00 0 1.49e+00 +2009 01 01 0840 54832 31200 0 2.13e+00 0 1.47e+00 +2009 01 01 0845 54832 31500 0 2.10e+00 0 1.47e+00 +2009 01 01 0850 54832 31800 0 2.12e+00 0 1.48e+00 +2009 01 01 0855 54832 32100 0 2.25e+00 0 1.59e+00 +2009 01 01 0900 54832 32400 0 2.27e+00 0 1.59e+00 +2009 01 01 0905 54832 32700 0 2.21e+00 0 1.53e+00 +2009 01 01 0910 54832 33000 0 2.19e+00 0 1.53e+00 +2009 01 01 0915 54832 33300 0 2.21e+00 0 1.55e+00 +2009 01 01 0920 54832 33600 0 2.20e+00 0 1.55e+00 +2009 01 01 0925 54832 33900 0 2.14e+00 0 1.51e+00 +2009 01 01 0930 54832 34200 0 2.15e+00 0 1.50e+00 +2009 01 01 0935 54832 34500 0 2.14e+00 0 1.51e+00 +2009 01 01 0940 54832 34800 0 2.19e+00 0 1.54e+00 +2009 01 01 0945 54832 35100 0 2.17e+00 0 1.52e+00 +2009 01 01 0950 54832 35400 0 2.17e+00 0 1.53e+00 +2009 01 01 0955 54832 35700 0 2.14e+00 0 1.51e+00 +2009 01 01 1000 54832 36000 0 2.19e+00 0 1.54e+00 +2009 01 01 1005 54832 36300 0 2.22e+00 0 1.56e+00 +2009 01 01 1010 54832 36600 0 2.18e+00 0 1.52e+00 +2009 01 01 1015 54832 36900 0 2.15e+00 0 1.51e+00 +2009 01 01 1020 54832 37200 0 2.21e+00 0 1.54e+00 +2009 01 01 1025 54832 37500 0 2.15e+00 0 1.52e+00 +2009 01 01 1030 54832 37800 0 2.18e+00 0 1.52e+00 +2009 01 01 1035 54832 38100 0 2.12e+00 0 1.47e+00 +2009 01 01 1040 54832 38400 0 2.13e+00 0 1.48e+00 +2009 01 01 1045 54832 38700 0 2.14e+00 0 1.49e+00 +2009 01 01 1050 54832 39000 0 2.13e+00 0 1.48e+00 +2009 01 01 1055 54832 39300 0 2.11e+00 0 1.47e+00 +2009 01 01 1100 54832 39600 0 2.11e+00 0 1.48e+00 +2009 01 01 1105 54832 39900 0 2.17e+00 0 1.50e+00 +2009 01 01 1110 54832 40200 0 2.20e+00 0 1.52e+00 +2009 01 01 1115 54832 40500 0 2.33e+00 0 1.62e+00 +2009 01 01 1120 54832 40800 0 2.21e+00 0 1.55e+00 +2009 01 01 1125 54832 41100 0 2.20e+00 0 1.53e+00 +2009 01 01 1130 54832 41400 0 2.15e+00 0 1.50e+00 +2009 01 01 1135 54832 41700 0 2.13e+00 0 1.50e+00 +2009 01 01 1140 54832 42000 0 2.15e+00 0 1.50e+00 +2009 01 01 1145 54832 42300 0 2.15e+00 0 1.52e+00 +2009 01 01 1150 54832 42600 0 2.14e+00 0 1.50e+00 +2009 01 01 1155 54832 42900 0 2.16e+00 0 1.50e+00 +2009 01 01 1200 54832 43200 0 2.16e+00 0 1.50e+00 +2009 01 01 1205 54832 43500 0 2.18e+00 0 1.53e+00 +2009 01 01 1210 54832 43800 0 2.17e+00 0 1.51e+00 +2009 01 01 1215 54832 44100 0 2.22e+00 0 1.56e+00 +2009 01 01 1220 54832 44400 0 2.11e+00 0 1.48e+00 +2009 01 01 1225 54832 44700 0 2.11e+00 0 1.47e+00 +2009 01 01 1230 54832 45000 0 2.19e+00 0 1.53e+00 +2009 01 01 1235 54832 45300 0 2.16e+00 0 1.52e+00 +2009 01 01 1240 54832 45600 0 2.14e+00 0 1.49e+00 +2009 01 01 1245 54832 45900 0 2.15e+00 0 1.50e+00 +2009 01 01 1250 54832 46200 0 2.08e+00 0 1.46e+00 +2009 01 01 1255 54832 46500 0 2.12e+00 0 1.47e+00 +2009 01 01 1300 54832 46800 0 2.09e+00 0 1.46e+00 +2009 01 01 1305 54832 47100 0 2.09e+00 0 1.46e+00 +2009 01 01 1310 54832 47400 0 2.10e+00 0 1.47e+00 +2009 01 01 1315 54832 47700 0 2.09e+00 0 1.47e+00 +2009 01 01 1320 54832 48000 0 2.11e+00 0 1.46e+00 +2009 01 01 1325 54832 48300 0 2.15e+00 0 1.51e+00 +2009 01 01 1330 54832 48600 0 2.30e+00 0 1.62e+00 +2009 01 01 1335 54832 48900 0 2.22e+00 0 1.55e+00 +2009 01 01 1340 54832 49200 0 2.17e+00 0 1.51e+00 +2009 01 01 1345 54832 49500 0 2.16e+00 0 1.52e+00 +2009 01 01 1350 54832 49800 0 2.13e+00 0 1.48e+00 +2009 01 01 1355 54832 50100 0 2.13e+00 0 1.51e+00 +2009 01 01 1400 54832 50400 0 2.13e+00 0 1.49e+00 +2009 01 01 1405 54832 50700 0 2.19e+00 0 1.53e+00 +2009 01 01 1410 54832 51000 0 2.23e+00 0 1.57e+00 +2009 01 01 1415 54832 51300 0 2.12e+00 0 1.48e+00 +2009 01 01 1420 54832 51600 0 2.13e+00 0 1.49e+00 +2009 01 01 1425 54832 51900 0 2.17e+00 0 1.52e+00 +2009 01 01 1430 54832 52200 0 2.17e+00 0 1.51e+00 +2009 01 01 1435 54832 52500 0 2.16e+00 0 1.51e+00 +2009 01 01 1440 54832 52800 0 2.20e+00 0 1.53e+00 +2009 01 01 1445 54832 53100 0 2.11e+00 0 1.49e+00 +2009 01 01 1450 54832 53400 0 2.14e+00 0 1.49e+00 +2009 01 01 1455 54832 53700 0 2.16e+00 0 1.52e+00 +2009 01 01 1500 54832 54000 0 2.14e+00 0 1.49e+00 +2009 01 01 1505 54832 54300 0 2.09e+00 0 1.46e+00 +2009 01 01 1510 54832 54600 0 2.14e+00 0 1.50e+00 +2009 01 01 1515 54832 54900 0 2.07e+00 0 1.44e+00 +2009 01 01 1520 54832 55200 0 2.11e+00 0 1.48e+00 +2009 01 01 1525 54832 55500 0 2.13e+00 0 1.49e+00 +2009 01 01 1530 54832 55800 0 2.11e+00 0 1.47e+00 +2009 01 01 1535 54832 56100 0 2.10e+00 0 1.48e+00 +2009 01 01 1540 54832 56400 0 2.11e+00 0 1.46e+00 +2009 01 01 1545 54832 56700 0 2.25e+00 0 1.57e+00 +2009 01 01 1550 54832 57000 0 2.21e+00 0 1.54e+00 +2009 01 01 1555 54832 57300 0 2.20e+00 0 1.54e+00 +2009 01 01 1600 54832 57600 0 2.17e+00 0 1.51e+00 +2009 01 01 1605 54832 57900 0 2.13e+00 0 1.49e+00 +2009 01 01 1610 54832 58200 0 2.11e+00 0 1.47e+00 +2009 01 01 1615 54832 58500 0 2.10e+00 0 1.46e+00 +2009 01 01 1620 54832 58800 0 2.19e+00 0 1.53e+00 +2009 01 01 1625 54832 59100 0 2.15e+00 0 1.50e+00 +2009 01 01 1630 54832 59400 0 2.14e+00 0 1.49e+00 +2009 01 01 1635 54832 59700 0 2.16e+00 0 1.51e+00 +2009 01 01 1640 54832 60000 0 2.21e+00 0 1.54e+00 +2009 01 01 1645 54832 60300 0 2.17e+00 0 1.52e+00 +2009 01 01 1650 54832 60600 0 2.14e+00 0 1.50e+00 +2009 01 01 1655 54832 60900 0 2.14e+00 0 1.50e+00 +2009 01 01 1700 54832 61200 0 2.16e+00 0 1.53e+00 +2009 01 01 1705 54832 61500 0 2.21e+00 0 1.55e+00 +2009 01 01 1710 54832 61800 0 2.18e+00 0 1.52e+00 +2009 01 01 1715 54832 62100 0 2.13e+00 0 1.47e+00 +2009 01 01 1720 54832 62400 0 2.11e+00 0 1.45e+00 +2009 01 01 1725 54832 62700 0 2.09e+00 0 1.45e+00 +2009 01 01 1730 54832 63000 0 2.12e+00 0 1.47e+00 +2009 01 01 1735 54832 63300 0 2.09e+00 0 1.45e+00 +2009 01 01 1740 54832 63600 0 2.16e+00 0 1.53e+00 +2009 01 01 1745 54832 63900 0 2.11e+00 0 1.46e+00 +2009 01 01 1750 54832 64200 0 2.13e+00 0 1.49e+00 +2009 01 01 1755 54832 64500 0 2.15e+00 0 1.50e+00 +2009 01 01 1800 54832 64800 0 2.16e+00 0 1.50e+00 +2009 01 01 1805 54832 65100 0 2.28e+00 0 1.58e+00 +2009 01 01 1810 54832 65400 0 2.24e+00 0 1.56e+00 +2009 01 01 1815 54832 65700 0 2.15e+00 0 1.50e+00 +2009 01 01 1820 54832 66000 0 2.16e+00 0 1.51e+00 +2009 01 01 1825 54832 66300 0 2.13e+00 0 1.49e+00 +2009 01 01 1830 54832 66600 0 2.15e+00 0 1.52e+00 +2009 01 01 1835 54832 66900 0 2.22e+00 0 1.56e+00 +2009 01 01 1840 54832 67200 0 2.15e+00 0 1.51e+00 +2009 01 01 1845 54832 67500 0 2.19e+00 0 1.53e+00 +2009 01 01 1850 54832 67800 0 2.18e+00 0 1.52e+00 +2009 01 01 1855 54832 68100 0 2.22e+00 0 1.55e+00 +2009 01 01 1900 54832 68400 0 2.25e+00 0 1.58e+00 +2009 01 01 1905 54832 68700 0 2.15e+00 0 1.49e+00 +2009 01 01 1910 54832 69000 0 2.12e+00 0 1.49e+00 +2009 01 01 1915 54832 69300 0 2.12e+00 0 1.48e+00 +2009 01 01 1920 54832 69600 0 2.16e+00 0 1.51e+00 +2009 01 01 1925 54832 69900 0 2.13e+00 0 1.49e+00 +2009 01 01 1930 54832 70200 0 2.11e+00 0 1.46e+00 +2009 01 01 1935 54832 70500 0 2.16e+00 0 1.52e+00 +2009 01 01 1940 54832 70800 0 2.07e+00 0 1.45e+00 +2009 01 01 1945 54832 71100 0 2.16e+00 0 1.49e+00 +2009 01 01 1950 54832 71400 0 2.16e+00 0 1.52e+00 +2009 01 01 1955 54832 71700 0 2.15e+00 0 1.50e+00 +2009 01 01 2000 54832 72000 0 2.12e+00 0 1.49e+00 +2009 01 01 2005 54832 72300 0 2.11e+00 0 1.46e+00 +2009 01 01 2010 54832 72600 0 2.11e+00 0 1.47e+00 +2009 01 01 2015 54832 72900 0 2.14e+00 0 1.49e+00 +2009 01 01 2020 54832 73200 0 2.32e+00 0 1.61e+00 +2009 01 01 2025 54832 73500 0 2.30e+00 0 1.60e+00 +2009 01 01 2030 54832 73800 0 2.17e+00 0 1.52e+00 +2009 01 01 2035 54832 74100 0 2.19e+00 0 1.53e+00 +2009 01 01 2040 54832 74400 0 2.17e+00 0 1.52e+00 +2009 01 01 2045 54832 74700 0 2.18e+00 0 1.52e+00 +2009 01 01 2050 54832 75000 0 2.17e+00 0 1.52e+00 +2009 01 01 2055 54832 75300 0 2.18e+00 0 1.53e+00 +2009 01 01 2100 54832 75600 0 2.16e+00 0 1.51e+00 +2009 01 01 2105 54832 75900 0 2.17e+00 0 1.51e+00 +2009 01 01 2110 54832 76200 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2115 54832 76500 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2120 54832 76800 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2125 54832 77100 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2130 54832 77400 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2135 54832 77700 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2140 54832 78000 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2145 54832 78300 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2150 54832 78600 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2155 54832 78900 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2200 54832 79200 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2205 54832 79500 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2210 54832 79800 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2215 54832 80100 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2220 54832 80400 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2225 54832 80700 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2230 54832 81000 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2235 54832 81300 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2240 54832 81600 9 -1.00e+05 9 -1.00e+05 +2009 01 01 2245 54832 81900 0 1.08e+01 0 9.96e+00 +2009 01 01 2250 54832 82200 0 2.20e+00 0 1.52e+00 +2009 01 01 2255 54832 82500 0 2.22e+00 0 1.55e+00 +2009 01 01 2300 54832 82800 0 2.18e+00 0 1.52e+00 +2009 01 01 2305 54832 83100 0 2.17e+00 0 1.52e+00 +2009 01 01 2310 54832 83400 0 2.15e+00 0 1.50e+00 +2009 01 01 2315 54832 83700 0 2.18e+00 0 1.52e+00 +2009 01 01 2320 54832 84000 0 2.21e+00 0 1.54e+00 +2009 01 01 2325 54832 84300 0 2.21e+00 0 1.53e+00 +2009 01 01 2330 54832 84600 0 2.16e+00 0 1.50e+00 +2009 01 01 2335 54832 84900 0 2.11e+00 0 1.48e+00 +2009 01 01 2340 54832 85200 0 2.16e+00 0 1.50e+00 +2009 01 01 2345 54832 85500 0 2.14e+00 0 1.48e+00 +2009 01 01 2350 54832 85800 0 2.13e+00 0 1.49e+00 +2009 01 01 2355 54832 86100 0 2.17e+00 0 1.55e+00 diff --git a/GeospaceDataManagement/tests/test_data/20090101_ace_swepam_1m.txt b/GeospaceDataManagement/tests/test_data/20090101_ace_swepam_1m.txt new file mode 100644 index 0000000..27f483c --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/20090101_ace_swepam_1m.txt @@ -0,0 +1,1458 @@ +:Data_list: 20090101_ace_swepam_1m.txt +:Created: 2009 Jan 02 0011 UT +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# Units: Proton density p/cc +# Units: Bulk speed km/s +# Units: Ion tempeture degrees K +# Status(S): 0 = nominal data, 1 to 8 = bad data record, 9 = no data +# Missing data values: Density and Speed = -9999.9, Temp. = -1.00e+05 +# Source: ACE Satellite - Solar Wind Electron Proton Alpha Monitor +# +# 1-minute averaged Real-time Bulk Parameters of the Solar Wind Plasma +# +# Modified Seconds ------------- Solar Wind ----------- +# UT Date Time Julian of the Proton Bulk Ion +# YR MO DA HHMM Day Day S Density Speed Temperature +#------------------------------------------------------------------------- +2009 01 01 0000 54832 0 0 2.0 521.2 2.48e+05 +2009 01 01 0001 54832 60 0 2.0 522.0 2.13e+05 +2009 01 01 0002 54832 120 0 2.1 520.9 2.22e+05 +2009 01 01 0003 54832 180 0 2.4 508.5 2.35e+05 +2009 01 01 0004 54832 240 1 2.2 519.1 2.85e+05 +2009 01 01 0005 54832 300 1 2.2 514.8 2.65e+05 +2009 01 01 0006 54832 360 1 2.5 513.0 2.48e+05 +2009 01 01 0007 54832 420 0 2.3 514.5 2.60e+05 +2009 01 01 0008 54832 480 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0009 54832 540 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0010 54832 600 1 2.4 512.8 2.71e+05 +2009 01 01 0011 54832 660 0 2.3 511.5 2.68e+05 +2009 01 01 0012 54832 720 1 2.3 513.6 2.81e+05 +2009 01 01 0013 54832 780 1 2.3 511.7 2.73e+05 +2009 01 01 0014 54832 840 1 2.4 515.8 2.78e+05 +2009 01 01 0015 54832 900 0 2.4 513.8 2.73e+05 +2009 01 01 0016 54832 960 1 2.3 519.1 2.64e+05 +2009 01 01 0017 54832 1020 1 2.3 519.1 2.68e+05 +2009 01 01 0018 54832 1080 1 2.3 520.2 2.98e+05 +2009 01 01 0019 54832 1140 1 2.4 517.4 2.63e+05 +2009 01 01 0020 54832 1200 0 2.0 526.2 2.49e+05 +2009 01 01 0021 54832 1260 0 2.0 521.2 2.90e+05 +2009 01 01 0022 54832 1320 0 2.2 524.2 2.67e+05 +2009 01 01 0023 54832 1380 1 2.2 514.7 2.41e+05 +2009 01 01 0024 54832 1440 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0025 54832 1500 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0026 54832 1560 1 2.3 518.8 2.81e+05 +2009 01 01 0027 54832 1620 0 2.3 520.6 2.63e+05 +2009 01 01 0028 54832 1680 1 2.3 512.2 2.74e+05 +2009 01 01 0029 54832 1740 1 2.4 513.9 2.68e+05 +2009 01 01 0030 54832 1800 1 2.3 516.3 2.72e+05 +2009 01 01 0031 54832 1860 0 2.4 515.4 2.61e+05 +2009 01 01 0032 54832 1920 1 2.3 513.1 2.62e+05 +2009 01 01 0033 54832 1980 0 2.6 514.3 2.49e+05 +2009 01 01 0034 54832 2040 0 2.5 514.3 2.53e+05 +2009 01 01 0035 54832 2100 1 2.4 516.9 2.71e+05 +2009 01 01 0036 54832 2160 1 2.5 516.2 2.66e+05 +2009 01 01 0037 54832 2220 0 2.5 516.0 2.69e+05 +2009 01 01 0038 54832 2280 1 2.3 519.5 2.72e+05 +2009 01 01 0039 54832 2340 0 2.5 520.8 2.43e+05 +2009 01 01 0040 54832 2400 0 2.2 523.0 2.35e+05 +2009 01 01 0041 54832 2460 0 2.2 523.0 2.35e+05 +2009 01 01 0042 54832 2520 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0043 54832 2580 1 2.2 514.3 2.28e+05 +2009 01 01 0044 54832 2640 0 2.1 525.3 2.15e+05 +2009 01 01 0045 54832 2700 0 2.1 524.0 1.95e+05 +2009 01 01 0046 54832 2760 1 2.2 522.9 2.34e+05 +2009 01 01 0047 54832 2820 0 2.4 521.8 2.32e+05 +2009 01 01 0048 54832 2880 0 2.3 521.2 2.40e+05 +2009 01 01 0049 54832 2940 0 2.2 521.7 2.34e+05 +2009 01 01 0050 54832 3000 0 2.3 523.7 2.39e+05 +2009 01 01 0051 54832 3060 1 2.2 520.7 2.58e+05 +2009 01 01 0052 54832 3120 0 2.3 520.5 2.47e+05 +2009 01 01 0053 54832 3180 0 2.2 519.3 2.48e+05 +2009 01 01 0054 54832 3240 1 2.3 519.2 2.47e+05 +2009 01 01 0055 54832 3300 1 2.3 519.4 2.44e+05 +2009 01 01 0056 54832 3360 0 2.4 519.2 2.42e+05 +2009 01 01 0057 54832 3420 0 2.4 519.2 2.42e+05 +2009 01 01 0058 54832 3480 0 2.3 520.4 2.51e+05 +2009 01 01 0059 54832 3540 1 2.3 520.3 2.52e+05 +2009 01 01 0100 54832 3600 0 2.3 520.6 2.41e+05 +2009 01 01 0101 54832 3660 1 2.4 520.1 2.53e+05 +2009 01 01 0102 54832 3720 0 2.2 521.4 2.49e+05 +2009 01 01 0103 54832 3780 1 2.2 520.8 2.49e+05 +2009 01 01 0104 54832 3840 1 2.3 521.6 2.40e+05 +2009 01 01 0105 54832 3900 1 2.4 521.1 2.49e+05 +2009 01 01 0106 54832 3960 0 2.3 521.7 2.33e+05 +2009 01 01 0107 54832 4020 0 2.2 523.4 2.29e+05 +2009 01 01 0108 54832 4080 0 2.1 523.7 2.38e+05 +2009 01 01 0109 54832 4140 0 2.2 522.2 2.27e+05 +2009 01 01 0110 54832 4200 0 2.2 521.5 2.33e+05 +2009 01 01 0111 54832 4260 0 2.3 521.3 2.27e+05 +2009 01 01 0112 54832 4320 0 2.1 523.8 2.31e+05 +2009 01 01 0113 54832 4380 0 2.1 523.8 2.31e+05 +2009 01 01 0114 54832 4440 1 2.1 522.5 2.45e+05 +2009 01 01 0115 54832 4500 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0116 54832 4560 1 2.1 523.8 1.91e+05 +2009 01 01 0117 54832 4620 0 1.7 529.2 1.97e+05 +2009 01 01 0118 54832 4680 0 1.8 525.9 1.91e+05 +2009 01 01 0119 54832 4740 0 1.7 529.2 1.95e+05 +2009 01 01 0120 54832 4800 0 1.8 528.9 1.84e+05 +2009 01 01 0121 54832 4860 1 2.1 526.0 2.21e+05 +2009 01 01 0122 54832 4920 0 2.2 526.1 2.15e+05 +2009 01 01 0123 54832 4980 0 2.0 529.2 2.06e+05 +2009 01 01 0124 54832 5040 0 2.0 528.8 2.03e+05 +2009 01 01 0125 54832 5100 1 2.1 525.7 2.15e+05 +2009 01 01 0126 54832 5160 0 1.9 527.1 1.94e+05 +2009 01 01 0127 54832 5220 1 1.8 524.2 2.50e+05 +2009 01 01 0128 54832 5280 1 1.8 521.6 2.53e+05 +2009 01 01 0129 54832 5340 1 1.8 521.6 2.53e+05 +2009 01 01 0130 54832 5400 1 1.6 524.4 2.46e+05 +2009 01 01 0131 54832 5460 0 1.8 524.3 2.44e+05 +2009 01 01 0132 54832 5520 0 1.5 523.5 2.44e+05 +2009 01 01 0133 54832 5580 0 2.2 515.7 2.37e+05 +2009 01 01 0134 54832 5640 0 1.8 524.1 2.27e+05 +2009 01 01 0135 54832 5700 0 1.7 526.3 1.97e+05 +2009 01 01 0136 54832 5760 0 1.9 534.5 1.71e+05 +2009 01 01 0137 54832 5820 1 1.8 535.5 1.26e+05 +2009 01 01 0138 54832 5880 0 1.7 538.1 1.59e+05 +2009 01 01 0139 54832 5940 0 1.6 529.9 1.60e+05 +2009 01 01 0140 54832 6000 0 1.5 516.6 1.81e+05 +2009 01 01 0141 54832 6060 0 1.7 507.1 2.06e+05 +2009 01 01 0142 54832 6120 1 1.5 510.2 2.13e+05 +2009 01 01 0143 54832 6180 0 1.4 512.6 1.88e+05 +2009 01 01 0144 54832 6240 0 1.5 514.2 1.99e+05 +2009 01 01 0145 54832 6300 0 1.5 514.2 1.99e+05 +2009 01 01 0146 54832 6360 0 1.4 516.9 2.00e+05 +2009 01 01 0147 54832 6420 0 1.5 512.4 1.97e+05 +2009 01 01 0148 54832 6480 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0149 54832 6540 0 1.4 512.6 1.89e+05 +2009 01 01 0150 54832 6600 1 1.5 512.0 2.26e+05 +2009 01 01 0151 54832 6660 0 1.5 510.8 1.98e+05 +2009 01 01 0152 54832 6720 0 1.5 507.8 1.71e+05 +2009 01 01 0153 54832 6780 0 1.5 514.0 2.12e+05 +2009 01 01 0154 54832 6840 1 1.4 514.6 2.09e+05 +2009 01 01 0155 54832 6900 0 1.5 514.5 2.09e+05 +2009 01 01 0156 54832 6960 0 1.5 515.2 2.02e+05 +2009 01 01 0157 54832 7020 0 1.5 513.6 2.06e+05 +2009 01 01 0158 54832 7080 0 1.5 512.1 2.01e+05 +2009 01 01 0159 54832 7140 0 1.4 513.3 2.01e+05 +2009 01 01 0200 54832 7200 0 1.4 514.1 2.06e+05 +2009 01 01 0201 54832 7260 0 1.4 514.1 2.06e+05 +2009 01 01 0202 54832 7320 0 1.4 513.6 1.85e+05 +2009 01 01 0203 54832 7380 0 1.5 508.7 1.77e+05 +2009 01 01 0204 54832 7440 0 1.2 516.7 2.26e+05 +2009 01 01 0205 54832 7500 0 1.4 520.0 1.83e+05 +2009 01 01 0206 54832 7560 0 1.4 516.4 1.63e+05 +2009 01 01 0207 54832 7620 0 1.5 512.8 1.61e+05 +2009 01 01 0208 54832 7680 0 1.6 522.0 1.81e+05 +2009 01 01 0209 54832 7740 0 1.6 519.7 1.79e+05 +2009 01 01 0210 54832 7800 0 1.5 518.8 1.70e+05 +2009 01 01 0211 54832 7860 1 1.7 516.0 1.99e+05 +2009 01 01 0212 54832 7920 0 0.8 536.8 2.34e+05 +2009 01 01 0213 54832 7980 0 1.0 536.6 1.79e+05 +2009 01 01 0214 54832 8040 0 1.5 519.6 1.75e+05 +2009 01 01 0215 54832 8100 0 1.6 529.8 2.06e+05 +2009 01 01 0216 54832 8160 1 1.4 535.7 1.97e+05 +2009 01 01 0217 54832 8220 1 1.4 535.7 1.97e+05 +2009 01 01 0218 54832 8280 0 1.7 534.5 2.00e+05 +2009 01 01 0219 54832 8340 0 1.8 534.2 1.97e+05 +2009 01 01 0220 54832 8400 0 1.8 532.6 2.09e+05 +2009 01 01 0221 54832 8460 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0222 54832 8520 1 1.4 521.0 2.04e+05 +2009 01 01 0223 54832 8580 0 1.2 532.8 2.11e+05 +2009 01 01 0224 54832 8640 0 1.6 528.6 1.67e+05 +2009 01 01 0225 54832 8700 0 1.6 516.9 1.74e+05 +2009 01 01 0226 54832 8760 0 1.4 513.9 1.69e+05 +2009 01 01 0227 54832 8820 0 1.6 513.4 1.69e+05 +2009 01 01 0228 54832 8880 0 1.7 508.6 1.56e+05 +2009 01 01 0229 54832 8940 0 1.8 507.5 1.53e+05 +2009 01 01 0230 54832 9000 0 1.7 509.4 1.58e+05 +2009 01 01 0231 54832 9060 0 1.7 512.1 1.58e+05 +2009 01 01 0232 54832 9120 0 1.8 509.3 1.63e+05 +2009 01 01 0233 54832 9180 0 1.8 509.3 1.63e+05 +2009 01 01 0234 54832 9240 0 1.6 506.5 1.58e+05 +2009 01 01 0235 54832 9300 0 1.5 507.8 1.54e+05 +2009 01 01 0236 54832 9360 0 1.6 509.3 1.60e+05 +2009 01 01 0237 54832 9420 1 1.5 506.9 1.69e+05 +2009 01 01 0238 54832 9480 0 1.6 507.4 1.57e+05 +2009 01 01 0239 54832 9540 0 1.8 503.8 1.66e+05 +2009 01 01 0240 54832 9600 1 1.7 506.8 1.71e+05 +2009 01 01 0241 54832 9660 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0242 54832 9720 0 1.8 510.4 1.68e+05 +2009 01 01 0243 54832 9780 0 1.7 511.1 1.62e+05 +2009 01 01 0244 54832 9840 0 1.6 509.1 1.80e+05 +2009 01 01 0245 54832 9900 0 1.6 508.1 1.68e+05 +2009 01 01 0246 54832 9960 0 1.5 513.7 1.77e+05 +2009 01 01 0247 54832 10020 0 1.5 512.4 1.77e+05 +2009 01 01 0248 54832 10080 0 1.5 511.6 1.70e+05 +2009 01 01 0249 54832 10140 0 1.5 511.6 1.70e+05 +2009 01 01 0250 54832 10200 1 1.3 521.5 1.47e+05 +2009 01 01 0251 54832 10260 1 1.7 514.3 1.68e+05 +2009 01 01 0252 54832 10320 1 1.8 514.2 1.72e+05 +2009 01 01 0253 54832 10380 0 1.7 516.7 1.68e+05 +2009 01 01 0254 54832 10440 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0255 54832 10500 0 1.8 514.5 1.47e+05 +2009 01 01 0256 54832 10560 0 1.7 514.6 1.77e+05 +2009 01 01 0257 54832 10620 0 1.8 515.4 1.68e+05 +2009 01 01 0258 54832 10680 0 1.7 513.1 1.65e+05 +2009 01 01 0259 54832 10740 0 1.5 513.1 1.89e+05 +2009 01 01 0300 54832 10800 0 1.6 512.3 1.90e+05 +2009 01 01 0301 54832 10860 0 1.6 512.2 1.70e+05 +2009 01 01 0302 54832 10920 1 1.6 510.6 1.82e+05 +2009 01 01 0303 54832 10980 0 1.7 510.0 1.74e+05 +2009 01 01 0304 54832 11040 0 1.6 510.9 1.79e+05 +2009 01 01 0305 54832 11100 0 1.6 510.9 1.79e+05 +2009 01 01 0306 54832 11160 1 1.6 511.0 1.67e+05 +2009 01 01 0307 54832 11220 0 1.5 515.3 1.79e+05 +2009 01 01 0308 54832 11280 0 1.5 514.9 1.74e+05 +2009 01 01 0309 54832 11340 1 1.6 510.6 1.78e+05 +2009 01 01 0310 54832 11400 0 1.7 510.3 1.72e+05 +2009 01 01 0311 54832 11460 0 1.6 509.4 1.61e+05 +2009 01 01 0312 54832 11520 0 1.6 509.8 1.63e+05 +2009 01 01 0313 54832 11580 0 1.6 510.6 1.74e+05 +2009 01 01 0314 54832 11640 1 1.5 513.8 1.57e+05 +2009 01 01 0315 54832 11700 1 1.6 511.1 1.64e+05 +2009 01 01 0316 54832 11760 0 1.7 510.0 1.58e+05 +2009 01 01 0317 54832 11820 0 1.6 507.9 1.65e+05 +2009 01 01 0318 54832 11880 0 1.7 507.9 1.75e+05 +2009 01 01 0319 54832 11940 1 1.7 508.6 1.80e+05 +2009 01 01 0320 54832 12000 0 1.7 509.7 1.77e+05 +2009 01 01 0321 54832 12060 0 1.7 509.7 1.77e+05 +2009 01 01 0322 54832 12120 1 1.6 506.4 1.65e+05 +2009 01 01 0323 54832 12180 1 1.7 509.3 1.70e+05 +2009 01 01 0324 54832 12240 0 1.6 508.1 1.55e+05 +2009 01 01 0325 54832 12300 1 1.6 507.4 1.67e+05 +2009 01 01 0326 54832 12360 0 1.6 506.8 1.60e+05 +2009 01 01 0327 54832 12420 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0328 54832 12480 0 1.5 506.1 1.64e+05 +2009 01 01 0329 54832 12540 0 1.6 509.4 1.71e+05 +2009 01 01 0330 54832 12600 0 1.7 506.2 1.72e+05 +2009 01 01 0331 54832 12660 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0332 54832 12720 1 1.6 511.3 1.96e+05 +2009 01 01 0333 54832 12780 0 1.8 507.5 1.76e+05 +2009 01 01 0334 54832 12840 0 1.8 515.1 1.77e+05 +2009 01 01 0335 54832 12900 0 2.1 520.2 1.85e+05 +2009 01 01 0336 54832 12960 1 1.9 508.5 1.75e+05 +2009 01 01 0337 54832 13020 1 1.9 508.5 1.75e+05 +2009 01 01 0338 54832 13080 1 1.9 509.3 1.83e+05 +2009 01 01 0339 54832 13140 0 1.8 511.2 1.79e+05 +2009 01 01 0340 54832 13200 1 2.1 504.0 1.63e+05 +2009 01 01 0341 54832 13260 0 2.0 504.0 1.56e+05 +2009 01 01 0342 54832 13320 1 2.2 503.5 1.81e+05 +2009 01 01 0343 54832 13380 1 2.2 502.8 1.75e+05 +2009 01 01 0344 54832 13440 1 2.1 511.9 2.13e+05 +2009 01 01 0345 54832 13500 1 2.1 510.6 2.01e+05 +2009 01 01 0346 54832 13560 0 2.2 511.8 1.79e+05 +2009 01 01 0347 54832 13620 1 2.2 509.3 1.86e+05 +2009 01 01 0348 54832 13680 1 2.2 509.4 1.74e+05 +2009 01 01 0349 54832 13740 0 2.2 509.4 1.71e+05 +2009 01 01 0350 54832 13800 0 2.3 511.1 1.77e+05 +2009 01 01 0351 54832 13860 0 2.2 510.4 1.82e+05 +2009 01 01 0352 54832 13920 0 2.3 510.0 1.83e+05 +2009 01 01 0353 54832 13980 0 2.3 510.0 1.83e+05 +2009 01 01 0354 54832 14040 0 2.3 507.4 1.77e+05 +2009 01 01 0355 54832 14100 0 2.6 518.0 2.40e+05 +2009 01 01 0356 54832 14160 0 2.4 537.0 2.00e+05 +2009 01 01 0357 54832 14220 0 2.3 515.6 2.08e+05 +2009 01 01 0358 54832 14280 0 2.3 516.8 1.90e+05 +2009 01 01 0359 54832 14340 0 2.5 521.8 1.95e+05 +2009 01 01 0400 54832 14400 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0401 54832 14460 0 2.2 507.5 1.62e+05 +2009 01 01 0402 54832 14520 0 2.2 507.2 1.79e+05 +2009 01 01 0403 54832 14580 0 2.2 507.5 1.75e+05 +2009 01 01 0404 54832 14640 0 2.2 507.8 1.61e+05 +2009 01 01 0405 54832 14700 0 2.4 516.9 2.01e+05 +2009 01 01 0406 54832 14760 0 2.7 527.4 1.97e+05 +2009 01 01 0407 54832 14820 0 2.5 528.1 1.70e+05 +2009 01 01 0408 54832 14880 0 2.5 519.8 1.93e+05 +2009 01 01 0409 54832 14940 0 2.5 519.8 1.93e+05 +2009 01 01 0410 54832 15000 0 2.5 518.6 1.84e+05 +2009 01 01 0411 54832 15060 0 2.7 517.3 1.91e+05 +2009 01 01 0412 54832 15120 0 2.6 516.0 1.92e+05 +2009 01 01 0413 54832 15180 0 2.7 513.7 1.98e+05 +2009 01 01 0414 54832 15240 0 2.7 512.2 1.95e+05 +2009 01 01 0415 54832 15300 0 2.9 515.3 2.00e+05 +2009 01 01 0416 54832 15360 0 2.4 513.2 1.91e+05 +2009 01 01 0417 54832 15420 0 2.4 517.1 1.73e+05 +2009 01 01 0418 54832 15480 0 2.4 515.1 1.75e+05 +2009 01 01 0419 54832 15540 0 2.3 517.8 1.67e+05 +2009 01 01 0420 54832 15600 0 2.8 507.8 1.60e+05 +2009 01 01 0421 54832 15660 0 2.3 510.2 1.57e+05 +2009 01 01 0422 54832 15720 0 2.3 516.3 1.47e+05 +2009 01 01 0423 54832 15780 0 2.4 517.9 1.58e+05 +2009 01 01 0424 54832 15840 0 2.3 514.7 1.72e+05 +2009 01 01 0425 54832 15900 0 2.3 514.7 1.72e+05 +2009 01 01 0426 54832 15960 0 2.2 512.7 1.65e+05 +2009 01 01 0427 54832 16020 0 2.4 515.3 1.61e+05 +2009 01 01 0428 54832 16080 0 2.4 510.6 1.78e+05 +2009 01 01 0429 54832 16140 0 2.6 513.2 1.75e+05 +2009 01 01 0430 54832 16200 1 2.6 513.5 1.80e+05 +2009 01 01 0431 54832 16260 0 2.3 514.0 1.89e+05 +2009 01 01 0432 54832 16320 0 2.6 510.2 1.88e+05 +2009 01 01 0433 54832 16380 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0434 54832 16440 0 2.4 508.9 1.83e+05 +2009 01 01 0435 54832 16500 0 2.0 513.8 1.83e+05 +2009 01 01 0436 54832 16560 0 2.3 509.5 1.91e+05 +2009 01 01 0437 54832 16620 0 2.2 510.5 1.85e+05 +2009 01 01 0438 54832 16680 0 2.1 510.5 1.79e+05 +2009 01 01 0439 54832 16740 0 2.5 516.2 1.59e+05 +2009 01 01 0440 54832 16800 0 2.3 512.1 1.58e+05 +2009 01 01 0441 54832 16860 0 2.3 512.1 1.58e+05 +2009 01 01 0442 54832 16920 1 2.2 506.4 2.05e+05 +2009 01 01 0443 54832 16980 1 2.4 508.5 2.42e+05 +2009 01 01 0444 54832 17040 0 2.6 523.2 2.82e+05 +2009 01 01 0445 54832 17100 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0446 54832 17160 0 1.9 511.0 2.05e+05 +2009 01 01 0447 54832 17220 0 2.0 511.6 2.04e+05 +2009 01 01 0448 54832 17280 0 2.0 510.3 2.28e+05 +2009 01 01 0449 54832 17340 1 2.2 508.0 2.17e+05 +2009 01 01 0450 54832 17400 0 2.3 515.7 2.11e+05 +2009 01 01 0451 54832 17460 0 2.1 528.4 1.78e+05 +2009 01 01 0452 54832 17520 1 2.1 506.8 2.55e+05 +2009 01 01 0453 54832 17580 0 2.2 504.3 2.35e+05 +2009 01 01 0454 54832 17640 1 2.3 500.4 2.38e+05 +2009 01 01 0455 54832 17700 0 2.3 501.4 2.36e+05 +2009 01 01 0456 54832 17760 0 2.2 497.7 2.10e+05 +2009 01 01 0457 54832 17820 0 2.2 497.7 2.10e+05 +2009 01 01 0458 54832 17880 0 2.0 504.4 2.34e+05 +2009 01 01 0459 54832 17940 0 2.0 509.3 2.12e+05 +2009 01 01 0500 54832 18000 1 2.1 508.8 2.28e+05 +2009 01 01 0501 54832 18060 0 2.2 507.2 2.15e+05 +2009 01 01 0502 54832 18120 0 1.9 507.9 2.31e+05 +2009 01 01 0503 54832 18180 0 2.2 505.9 2.15e+05 +2009 01 01 0504 54832 18240 0 2.1 515.7 2.29e+05 +2009 01 01 0505 54832 18300 0 2.3 511.5 1.94e+05 +2009 01 01 0506 54832 18360 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0507 54832 18420 0 2.3 512.2 1.68e+05 +2009 01 01 0508 54832 18480 0 2.1 510.7 1.96e+05 +2009 01 01 0509 54832 18540 0 2.1 504.0 1.94e+05 +2009 01 01 0510 54832 18600 0 2.3 503.1 1.97e+05 +2009 01 01 0511 54832 18660 0 2.6 505.2 1.77e+05 +2009 01 01 0512 54832 18720 0 2.1 517.2 1.98e+05 +2009 01 01 0513 54832 18780 0 2.1 517.2 1.98e+05 +2009 01 01 0514 54832 18840 0 2.1 512.4 1.65e+05 +2009 01 01 0515 54832 18900 0 2.3 507.3 2.09e+05 +2009 01 01 0516 54832 18960 0 1.9 514.7 1.60e+05 +2009 01 01 0517 54832 19020 0 2.4 506.6 1.72e+05 +2009 01 01 0518 54832 19080 0 2.1 508.0 1.77e+05 +2009 01 01 0519 54832 19140 0 2.4 499.9 1.79e+05 +2009 01 01 0520 54832 19200 0 2.4 510.6 1.97e+05 +2009 01 01 0521 54832 19260 0 2.2 496.8 2.04e+05 +2009 01 01 0522 54832 19320 0 2.1 502.4 1.81e+05 +2009 01 01 0523 54832 19380 0 2.1 492.9 1.91e+05 +2009 01 01 0524 54832 19440 0 2.2 490.4 2.18e+05 +2009 01 01 0525 54832 19500 1 2.2 492.8 1.92e+05 +2009 01 01 0526 54832 19560 0 2.1 498.6 2.04e+05 +2009 01 01 0527 54832 19620 0 1.9 511.2 1.59e+05 +2009 01 01 0528 54832 19680 0 2.1 523.6 1.81e+05 +2009 01 01 0529 54832 19740 0 2.1 523.6 1.81e+05 +2009 01 01 0530 54832 19800 0 2.0 512.6 1.65e+05 +2009 01 01 0531 54832 19860 0 2.3 520.5 1.69e+05 +2009 01 01 0532 54832 19920 0 2.1 517.4 1.79e+05 +2009 01 01 0533 54832 19980 0 2.3 516.2 1.80e+05 +2009 01 01 0534 54832 20040 0 2.1 513.9 1.91e+05 +2009 01 01 0535 54832 20100 0 2.2 517.7 1.92e+05 +2009 01 01 0536 54832 20160 0 2.2 520.6 1.85e+05 +2009 01 01 0537 54832 20220 0 2.4 516.5 1.94e+05 +2009 01 01 0538 54832 20280 0 2.0 515.9 1.89e+05 +2009 01 01 0539 54832 20340 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0540 54832 20400 0 2.3 515.4 1.95e+05 +2009 01 01 0541 54832 20460 0 1.9 510.9 1.64e+05 +2009 01 01 0542 54832 20520 0 2.1 515.5 1.76e+05 +2009 01 01 0543 54832 20580 0 2.0 512.2 1.71e+05 +2009 01 01 0544 54832 20640 0 2.0 525.6 1.98e+05 +2009 01 01 0545 54832 20700 0 2.0 525.6 1.98e+05 +2009 01 01 0546 54832 20760 0 1.9 523.4 2.05e+05 +2009 01 01 0547 54832 20820 0 1.8 512.5 1.79e+05 +2009 01 01 0548 54832 20880 0 1.8 512.1 1.88e+05 +2009 01 01 0549 54832 20940 0 1.6 507.6 1.75e+05 +2009 01 01 0550 54832 21000 0 1.7 511.6 1.79e+05 +2009 01 01 0551 54832 21060 0 1.7 512.1 1.78e+05 +2009 01 01 0552 54832 21120 0 1.6 511.1 1.81e+05 +2009 01 01 0553 54832 21180 0 1.5 506.3 1.73e+05 +2009 01 01 0554 54832 21240 0 1.6 508.2 1.60e+05 +2009 01 01 0555 54832 21300 0 1.5 503.6 1.71e+05 +2009 01 01 0556 54832 21360 1 1.6 499.3 2.01e+05 +2009 01 01 0557 54832 21420 0 1.6 501.1 2.04e+05 +2009 01 01 0558 54832 21480 1 1.9 493.5 1.92e+05 +2009 01 01 0559 54832 21540 0 2.2 503.1 1.50e+05 +2009 01 01 0600 54832 21600 0 2.2 502.1 1.67e+05 +2009 01 01 0601 54832 21660 0 2.2 502.1 1.67e+05 +2009 01 01 0602 54832 21720 0 2.1 494.6 1.92e+05 +2009 01 01 0603 54832 21780 0 2.3 483.6 1.95e+05 +2009 01 01 0604 54832 21840 0 1.9 486.1 1.48e+05 +2009 01 01 0605 54832 21900 0 1.8 490.3 1.41e+05 +2009 01 01 0606 54832 21960 0 1.8 493.9 1.40e+05 +2009 01 01 0607 54832 22020 0 1.7 496.3 1.44e+05 +2009 01 01 0608 54832 22080 0 1.7 502.5 1.46e+05 +2009 01 01 0609 54832 22140 0 1.8 505.3 1.69e+05 +2009 01 01 0610 54832 22200 0 1.9 510.8 2.13e+05 +2009 01 01 0611 54832 22260 0 1.5 523.1 1.56e+05 +2009 01 01 0612 54832 22320 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0613 54832 22380 0 1.3 532.1 1.94e+05 +2009 01 01 0614 54832 22440 0 2.0 484.3 1.98e+05 +2009 01 01 0615 54832 22500 1 2.2 481.0 2.01e+05 +2009 01 01 0616 54832 22560 1 2.4 479.2 2.11e+05 +2009 01 01 0617 54832 22620 1 2.4 479.2 2.11e+05 +2009 01 01 0618 54832 22680 1 2.3 477.4 2.04e+05 +2009 01 01 0619 54832 22740 1 2.3 478.2 2.23e+05 +2009 01 01 0620 54832 22800 1 2.1 478.6 2.16e+05 +2009 01 01 0621 54832 22860 1 1.6 463.5 7.18e+04 +2009 01 01 0622 54832 22920 1 1.6 484.5 2.40e+05 +2009 01 01 0623 54832 22980 1 1.8 477.4 1.99e+05 +2009 01 01 0624 54832 23040 1 2.0 477.4 2.02e+05 +2009 01 01 0625 54832 23100 0 2.2 473.2 1.59e+05 +2009 01 01 0626 54832 23160 0 2.1 481.4 1.81e+05 +2009 01 01 0627 54832 23220 0 2.1 480.8 1.86e+05 +2009 01 01 0628 54832 23280 0 2.0 474.2 1.65e+05 +2009 01 01 0629 54832 23340 1 2.4 476.6 1.88e+05 +2009 01 01 0630 54832 23400 0 2.2 484.5 1.81e+05 +2009 01 01 0631 54832 23460 0 2.4 483.0 1.90e+05 +2009 01 01 0632 54832 23520 0 2.2 486.2 1.72e+05 +2009 01 01 0633 54832 23580 0 2.2 486.2 1.72e+05 +2009 01 01 0634 54832 23640 1 2.1 488.5 2.01e+05 +2009 01 01 0635 54832 23700 1 1.9 490.6 1.89e+05 +2009 01 01 0636 54832 23760 0 2.3 487.8 1.84e+05 +2009 01 01 0637 54832 23820 1 2.0 487.6 2.01e+05 +2009 01 01 0638 54832 23880 0 2.3 489.5 1.68e+05 +2009 01 01 0639 54832 23940 0 2.0 492.2 1.65e+05 +2009 01 01 0640 54832 24000 0 1.9 488.4 1.74e+05 +2009 01 01 0641 54832 24060 0 2.0 479.6 1.40e+05 +2009 01 01 0642 54832 24120 0 2.0 480.3 1.62e+05 +2009 01 01 0643 54832 24180 0 2.1 471.6 1.48e+05 +2009 01 01 0644 54832 24240 0 2.3 478.9 1.57e+05 +2009 01 01 0645 54832 24300 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0646 54832 24360 0 2.3 479.7 1.64e+05 +2009 01 01 0647 54832 24420 1 2.2 477.8 1.63e+05 +2009 01 01 0648 54832 24480 0 2.5 472.3 1.49e+05 +2009 01 01 0649 54832 24540 0 2.5 472.3 1.49e+05 +2009 01 01 0650 54832 24600 0 2.4 480.4 1.54e+05 +2009 01 01 0651 54832 24660 1 2.3 482.4 1.75e+05 +2009 01 01 0652 54832 24720 1 2.8 497.6 2.03e+05 +2009 01 01 0653 54832 24780 1 2.1 486.6 1.62e+05 +2009 01 01 0654 54832 24840 1 2.1 489.4 1.66e+05 +2009 01 01 0655 54832 24900 0 1.8 493.8 1.67e+05 +2009 01 01 0656 54832 24960 0 2.2 488.6 1.51e+05 +2009 01 01 0657 54832 25020 0 1.9 493.2 1.47e+05 +2009 01 01 0658 54832 25080 0 2.5 486.5 1.60e+05 +2009 01 01 0659 54832 25140 0 2.4 488.8 1.50e+05 +2009 01 01 0700 54832 25200 0 2.4 490.1 1.42e+05 +2009 01 01 0701 54832 25260 0 2.5 491.4 1.58e+05 +2009 01 01 0702 54832 25320 0 2.6 488.4 1.49e+05 +2009 01 01 0703 54832 25380 0 2.5 493.1 1.50e+05 +2009 01 01 0704 54832 25440 0 2.7 489.0 1.49e+05 +2009 01 01 0705 54832 25500 0 2.7 489.0 1.49e+05 +2009 01 01 0706 54832 25560 0 2.7 490.9 1.45e+05 +2009 01 01 0707 54832 25620 0 2.6 487.4 1.32e+05 +2009 01 01 0708 54832 25680 0 2.6 489.6 1.39e+05 +2009 01 01 0709 54832 25740 0 2.6 488.6 1.36e+05 +2009 01 01 0710 54832 25800 0 2.4 494.3 1.47e+05 +2009 01 01 0711 54832 25860 0 2.3 492.2 1.58e+05 +2009 01 01 0712 54832 25920 1 2.0 485.0 1.58e+05 +2009 01 01 0713 54832 25980 0 2.8 488.0 1.45e+05 +2009 01 01 0714 54832 26040 0 2.1 502.6 1.89e+05 +2009 01 01 0715 54832 26100 1 2.3 487.1 1.79e+05 +2009 01 01 0716 54832 26160 0 2.0 488.2 1.83e+05 +2009 01 01 0717 54832 26220 0 2.0 489.5 1.70e+05 +2009 01 01 0718 54832 26280 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0719 54832 26340 0 1.9 491.8 1.64e+05 +2009 01 01 0720 54832 26400 0 2.1 491.4 1.67e+05 +2009 01 01 0721 54832 26460 0 2.1 491.4 1.67e+05 +2009 01 01 0722 54832 26520 0 1.8 502.8 1.65e+05 +2009 01 01 0723 54832 26580 0 1.9 511.9 1.54e+05 +2009 01 01 0724 54832 26640 0 1.8 509.2 1.45e+05 +2009 01 01 0725 54832 26700 0 1.9 503.5 1.42e+05 +2009 01 01 0726 54832 26760 0 2.0 499.5 1.36e+05 +2009 01 01 0727 54832 26820 0 1.9 502.8 1.40e+05 +2009 01 01 0728 54832 26880 0 2.2 496.7 1.57e+05 +2009 01 01 0729 54832 26940 0 2.0 496.0 1.60e+05 +2009 01 01 0730 54832 27000 0 1.8 492.7 1.30e+05 +2009 01 01 0731 54832 27060 0 2.0 494.8 1.48e+05 +2009 01 01 0732 54832 27120 1 2.0 491.6 1.39e+05 +2009 01 01 0733 54832 27180 0 2.1 484.8 1.36e+05 +2009 01 01 0734 54832 27240 0 2.1 485.2 1.32e+05 +2009 01 01 0735 54832 27300 0 2.1 473.7 1.57e+05 +2009 01 01 0736 54832 27360 0 2.4 474.3 1.68e+05 +2009 01 01 0737 54832 27420 0 2.4 474.3 1.68e+05 +2009 01 01 0738 54832 27480 0 2.4 488.8 2.26e+05 +2009 01 01 0739 54832 27540 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0740 54832 27600 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0741 54832 27660 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0742 54832 27720 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0743 54832 27780 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0744 54832 27840 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0745 54832 27900 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0746 54832 27960 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0747 54832 28020 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0748 54832 28080 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0749 54832 28140 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0750 54832 28200 1 2.3 466.8 1.91e+05 +2009 01 01 0751 54832 28260 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0752 54832 28320 0 2.6 461.3 1.63e+05 +2009 01 01 0753 54832 28380 0 2.6 461.3 1.63e+05 +2009 01 01 0754 54832 28440 0 2.3 462.9 1.73e+05 +2009 01 01 0755 54832 28500 0 2.5 461.7 1.63e+05 +2009 01 01 0756 54832 28560 1 2.5 462.5 1.91e+05 +2009 01 01 0757 54832 28620 0 2.4 463.5 1.95e+05 +2009 01 01 0758 54832 28680 0 2.4 464.7 1.74e+05 +2009 01 01 0759 54832 28740 0 2.0 465.3 1.92e+05 +2009 01 01 0800 54832 28800 1 1.9 465.7 1.73e+05 +2009 01 01 0801 54832 28860 0 1.9 468.1 1.58e+05 +2009 01 01 0802 54832 28920 0 1.6 479.6 1.47e+05 +2009 01 01 0803 54832 28980 0 1.6 475.6 1.67e+05 +2009 01 01 0804 54832 29040 0 1.6 477.1 1.79e+05 +2009 01 01 0805 54832 29100 0 1.7 478.9 1.79e+05 +2009 01 01 0806 54832 29160 1 1.9 475.6 1.71e+05 +2009 01 01 0807 54832 29220 0 1.8 475.2 1.57e+05 +2009 01 01 0808 54832 29280 1 1.5 482.1 1.73e+05 +2009 01 01 0809 54832 29340 1 1.5 482.1 1.73e+05 +2009 01 01 0810 54832 29400 0 1.8 471.5 1.63e+05 +2009 01 01 0811 54832 29460 0 1.9 471.2 1.61e+05 +2009 01 01 0812 54832 29520 0 1.9 475.3 1.87e+05 +2009 01 01 0813 54832 29580 0 2.0 470.1 1.66e+05 +2009 01 01 0814 54832 29640 0 1.9 469.9 1.81e+05 +2009 01 01 0815 54832 29700 0 2.4 467.0 1.63e+05 +2009 01 01 0816 54832 29760 0 2.5 467.0 1.57e+05 +2009 01 01 0817 54832 29820 0 2.5 468.9 1.77e+05 +2009 01 01 0818 54832 29880 1 2.6 470.2 1.81e+05 +2009 01 01 0819 54832 29940 0 2.7 473.4 1.75e+05 +2009 01 01 0820 54832 30000 0 3.0 471.8 1.58e+05 +2009 01 01 0821 54832 30060 0 2.5 469.0 1.65e+05 +2009 01 01 0822 54832 30120 0 2.8 469.5 1.60e+05 +2009 01 01 0823 54832 30180 0 2.7 470.5 1.62e+05 +2009 01 01 0824 54832 30240 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0825 54832 30300 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0826 54832 30360 0 2.5 470.9 1.56e+05 +2009 01 01 0827 54832 30420 0 2.8 466.8 1.65e+05 +2009 01 01 0828 54832 30480 1 2.6 470.2 1.64e+05 +2009 01 01 0829 54832 30540 0 2.3 466.4 1.72e+05 +2009 01 01 0830 54832 30600 0 2.8 467.0 1.70e+05 +2009 01 01 0831 54832 30660 0 2.6 465.8 1.85e+05 +2009 01 01 0832 54832 30720 0 2.3 466.6 1.88e+05 +2009 01 01 0833 54832 30780 0 2.2 469.6 1.90e+05 +2009 01 01 0834 54832 30840 0 2.3 470.3 1.94e+05 +2009 01 01 0835 54832 30900 1 2.6 466.6 1.68e+05 +2009 01 01 0836 54832 30960 1 2.7 470.2 1.62e+05 +2009 01 01 0837 54832 31020 0 2.3 469.3 1.87e+05 +2009 01 01 0838 54832 31080 0 2.6 464.5 1.76e+05 +2009 01 01 0839 54832 31140 1 2.7 466.2 1.62e+05 +2009 01 01 0840 54832 31200 1 2.6 467.3 1.66e+05 +2009 01 01 0841 54832 31260 1 2.6 467.3 1.66e+05 +2009 01 01 0842 54832 31320 0 2.4 467.0 1.50e+05 +2009 01 01 0843 54832 31380 0 2.4 465.8 1.68e+05 +2009 01 01 0844 54832 31440 0 2.6 468.6 1.54e+05 +2009 01 01 0845 54832 31500 0 2.5 472.4 1.54e+05 +2009 01 01 0846 54832 31560 0 2.2 473.0 1.65e+05 +2009 01 01 0847 54832 31620 0 2.2 469.5 1.74e+05 +2009 01 01 0848 54832 31680 0 2.1 471.8 1.89e+05 +2009 01 01 0849 54832 31740 1 2.3 469.7 1.88e+05 +2009 01 01 0850 54832 31800 0 2.2 471.1 1.75e+05 +2009 01 01 0851 54832 31860 1 2.3 473.6 1.55e+05 +2009 01 01 0852 54832 31920 1 2.2 475.6 1.65e+05 +2009 01 01 0853 54832 31980 1 2.6 472.5 1.73e+05 +2009 01 01 0854 54832 32040 0 2.0 473.9 1.54e+05 +2009 01 01 0855 54832 32100 1 2.1 470.8 1.59e+05 +2009 01 01 0856 54832 32160 0 2.0 473.8 1.52e+05 +2009 01 01 0857 54832 32220 0 2.0 473.8 1.52e+05 +2009 01 01 0858 54832 32280 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0859 54832 32340 0 2.2 467.0 1.51e+05 +2009 01 01 0900 54832 32400 0 2.5 469.6 1.39e+05 +2009 01 01 0901 54832 32460 0 2.4 471.6 1.42e+05 +2009 01 01 0902 54832 32520 0 2.7 470.2 1.34e+05 +2009 01 01 0903 54832 32580 1 2.1 475.2 1.61e+05 +2009 01 01 0904 54832 32640 0 2.0 475.9 1.57e+05 +2009 01 01 0905 54832 32700 0 2.4 466.1 1.63e+05 +2009 01 01 0906 54832 32760 0 2.4 474.0 1.72e+05 +2009 01 01 0907 54832 32820 0 2.4 481.1 1.76e+05 +2009 01 01 0908 54832 32880 0 2.2 480.8 1.52e+05 +2009 01 01 0909 54832 32940 0 2.1 483.9 1.43e+05 +2009 01 01 0910 54832 33000 0 2.0 486.0 1.56e+05 +2009 01 01 0911 54832 33060 0 2.3 477.9 1.65e+05 +2009 01 01 0912 54832 33120 0 2.1 484.4 1.60e+05 +2009 01 01 0913 54832 33180 0 2.1 484.4 1.60e+05 +2009 01 01 0914 54832 33240 0 2.7 478.5 2.16e+05 +2009 01 01 0915 54832 33300 0 2.4 488.0 1.41e+05 +2009 01 01 0916 54832 33360 0 2.5 483.4 1.55e+05 +2009 01 01 0917 54832 33420 0 2.3 489.4 1.82e+05 +2009 01 01 0918 54832 33480 0 2.5 490.4 1.81e+05 +2009 01 01 0919 54832 33540 0 2.5 492.7 1.81e+05 +2009 01 01 0920 54832 33600 0 2.5 491.2 1.55e+05 +2009 01 01 0921 54832 33660 0 2.4 492.5 1.76e+05 +2009 01 01 0922 54832 33720 0 2.6 492.4 1.91e+05 +2009 01 01 0923 54832 33780 0 2.4 494.9 1.41e+05 +2009 01 01 0924 54832 33840 0 2.4 497.5 1.44e+05 +2009 01 01 0925 54832 33900 0 2.5 496.9 1.43e+05 +2009 01 01 0926 54832 33960 1 2.5 474.3 1.58e+05 +2009 01 01 0927 54832 34020 0 2.6 472.5 1.69e+05 +2009 01 01 0928 54832 34080 0 2.9 480.7 1.77e+05 +2009 01 01 0929 54832 34140 0 2.9 480.7 1.77e+05 +2009 01 01 0930 54832 34200 0 2.8 482.4 1.72e+05 +2009 01 01 0931 54832 34260 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 0932 54832 34320 0 2.8 489.1 1.69e+05 +2009 01 01 0933 54832 34380 0 2.7 489.7 1.72e+05 +2009 01 01 0934 54832 34440 0 2.7 482.1 1.41e+05 +2009 01 01 0935 54832 34500 0 2.8 489.7 1.32e+05 +2009 01 01 0936 54832 34560 0 2.5 489.0 1.29e+05 +2009 01 01 0937 54832 34620 0 3.0 484.9 1.48e+05 +2009 01 01 0938 54832 34680 0 2.9 487.3 1.61e+05 +2009 01 01 0939 54832 34740 0 3.0 481.2 1.40e+05 +2009 01 01 0940 54832 34800 0 2.8 487.2 1.84e+05 +2009 01 01 0941 54832 34860 0 2.7 485.7 1.79e+05 +2009 01 01 0942 54832 34920 0 2.6 483.0 1.78e+05 +2009 01 01 0943 54832 34980 0 2.7 488.4 1.88e+05 +2009 01 01 0944 54832 35040 1 2.4 481.3 1.64e+05 +2009 01 01 0945 54832 35100 1 2.4 481.3 1.64e+05 +2009 01 01 0946 54832 35160 0 2.7 475.8 1.60e+05 +2009 01 01 0947 54832 35220 0 2.4 465.0 1.83e+05 +2009 01 01 0948 54832 35280 0 2.4 468.7 1.61e+05 +2009 01 01 0949 54832 35340 0 2.4 471.8 1.77e+05 +2009 01 01 0950 54832 35400 0 2.9 467.8 1.44e+05 +2009 01 01 0951 54832 35460 0 2.5 467.7 1.87e+05 +2009 01 01 0952 54832 35520 0 2.2 461.5 1.83e+05 +2009 01 01 0953 54832 35580 0 2.3 461.6 1.84e+05 +2009 01 01 0954 54832 35640 0 1.4 469.8 1.39e+05 +2009 01 01 0955 54832 35700 0 1.6 465.8 1.50e+05 +2009 01 01 0956 54832 35760 1 1.5 469.4 1.58e+05 +2009 01 01 0957 54832 35820 0 1.6 473.1 1.53e+05 +2009 01 01 0958 54832 35880 0 1.6 472.7 1.62e+05 +2009 01 01 0959 54832 35940 1 1.5 468.7 1.45e+05 +2009 01 01 1000 54832 36000 0 1.7 468.5 1.34e+05 +2009 01 01 1001 54832 36060 0 1.7 468.5 1.34e+05 +2009 01 01 1002 54832 36120 0 1.6 463.2 1.51e+05 +2009 01 01 1003 54832 36180 0 1.7 460.5 1.53e+05 +2009 01 01 1004 54832 36240 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1005 54832 36300 0 2.1 456.8 1.37e+05 +2009 01 01 1006 54832 36360 0 2.1 453.1 1.54e+05 +2009 01 01 1007 54832 36420 0 1.8 463.3 1.39e+05 +2009 01 01 1008 54832 36480 0 1.8 466.1 1.32e+05 +2009 01 01 1009 54832 36540 0 0.9 467.9 1.37e+05 +2009 01 01 1010 54832 36600 0 1.3 456.6 1.51e+05 +2009 01 01 1011 54832 36660 0 2.0 449.1 8.91e+04 +2009 01 01 1012 54832 36720 0 0.9 470.1 9.27e+04 +2009 01 01 1013 54832 36780 1 0.9 475.4 1.16e+05 +2009 01 01 1014 54832 36840 0 0.8 491.0 1.41e+05 +2009 01 01 1015 54832 36900 0 1.2 468.0 1.27e+05 +2009 01 01 1016 54832 36960 0 1.7 463.3 1.26e+05 +2009 01 01 1017 54832 37020 0 1.7 463.3 1.26e+05 +2009 01 01 1018 54832 37080 0 1.9 463.1 1.33e+05 +2009 01 01 1019 54832 37140 1 2.4 459.5 1.34e+05 +2009 01 01 1020 54832 37200 0 2.9 463.5 1.41e+05 +2009 01 01 1021 54832 37260 0 3.1 462.8 1.44e+05 +2009 01 01 1022 54832 37320 0 3.2 461.0 1.46e+05 +2009 01 01 1023 54832 37380 1 2.8 461.4 1.53e+05 +2009 01 01 1024 54832 37440 0 2.7 461.8 1.31e+05 +2009 01 01 1025 54832 37500 0 2.8 463.6 1.47e+05 +2009 01 01 1026 54832 37560 0 3.0 458.8 1.36e+05 +2009 01 01 1027 54832 37620 0 2.3 460.5 1.23e+05 +2009 01 01 1028 54832 37680 0 2.7 461.5 1.60e+05 +2009 01 01 1029 54832 37740 1 2.4 456.3 1.20e+05 +2009 01 01 1030 54832 37800 0 2.6 464.8 1.57e+05 +2009 01 01 1031 54832 37860 0 2.5 465.7 1.50e+05 +2009 01 01 1032 54832 37920 1 2.6 463.9 1.56e+05 +2009 01 01 1033 54832 37980 1 2.6 463.9 1.56e+05 +2009 01 01 1034 54832 38040 1 2.3 468.3 1.47e+05 +2009 01 01 1035 54832 38100 0 2.4 466.7 1.49e+05 +2009 01 01 1036 54832 38160 0 2.3 467.9 1.35e+05 +2009 01 01 1037 54832 38220 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1038 54832 38280 1 2.3 466.5 1.44e+05 +2009 01 01 1039 54832 38340 0 2.1 469.6 1.39e+05 +2009 01 01 1040 54832 38400 0 2.1 471.3 1.52e+05 +2009 01 01 1041 54832 38460 0 2.6 465.6 1.45e+05 +2009 01 01 1042 54832 38520 0 2.4 466.3 1.65e+05 +2009 01 01 1043 54832 38580 0 2.0 469.8 1.54e+05 +2009 01 01 1044 54832 38640 0 2.4 460.8 1.58e+05 +2009 01 01 1045 54832 38700 1 2.4 463.0 1.63e+05 +2009 01 01 1046 54832 38760 1 2.6 463.2 1.59e+05 +2009 01 01 1047 54832 38820 1 2.6 459.8 1.55e+05 +2009 01 01 1048 54832 38880 0 2.2 458.4 1.21e+05 +2009 01 01 1049 54832 38940 0 2.2 458.4 1.21e+05 +2009 01 01 1050 54832 39000 0 2.5 448.4 1.13e+05 +2009 01 01 1051 54832 39060 0 2.4 454.5 1.34e+05 +2009 01 01 1052 54832 39120 0 2.5 455.6 1.31e+05 +2009 01 01 1053 54832 39180 0 2.6 448.4 1.08e+05 +2009 01 01 1054 54832 39240 0 3.1 456.6 1.31e+05 +2009 01 01 1055 54832 39300 0 2.7 457.6 1.15e+05 +2009 01 01 1056 54832 39360 0 2.7 454.6 9.44e+04 +2009 01 01 1057 54832 39420 0 2.5 462.7 1.12e+05 +2009 01 01 1058 54832 39480 0 1.9 466.5 1.36e+05 +2009 01 01 1059 54832 39540 0 2.3 471.2 1.34e+05 +2009 01 01 1100 54832 39600 0 2.2 479.4 1.60e+05 +2009 01 01 1101 54832 39660 0 2.5 473.7 1.55e+05 +2009 01 01 1102 54832 39720 0 3.0 464.8 1.42e+05 +2009 01 01 1103 54832 39780 1 2.8 463.5 1.33e+05 +2009 01 01 1104 54832 39840 0 2.3 466.8 1.38e+05 +2009 01 01 1105 54832 39900 0 2.3 466.8 1.38e+05 +2009 01 01 1106 54832 39960 0 2.2 469.0 1.19e+05 +2009 01 01 1107 54832 40020 0 2.0 472.4 1.30e+05 +2009 01 01 1108 54832 40080 0 2.2 476.0 1.42e+05 +2009 01 01 1109 54832 40140 0 2.2 476.9 1.54e+05 +2009 01 01 1110 54832 40200 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1111 54832 40260 0 2.1 473.5 1.33e+05 +2009 01 01 1112 54832 40320 0 2.2 477.2 1.49e+05 +2009 01 01 1113 54832 40380 0 2.1 477.4 1.45e+05 +2009 01 01 1114 54832 40440 0 2.2 478.8 1.47e+05 +2009 01 01 1115 54832 40500 0 1.9 472.6 1.27e+05 +2009 01 01 1116 54832 40560 0 2.1 467.0 1.29e+05 +2009 01 01 1117 54832 40620 0 2.2 465.8 1.29e+05 +2009 01 01 1118 54832 40680 0 2.7 460.5 1.12e+05 +2009 01 01 1119 54832 40740 0 3.1 442.1 1.72e+05 +2009 01 01 1120 54832 40800 0 2.9 446.5 1.17e+05 +2009 01 01 1121 54832 40860 0 2.9 446.5 1.17e+05 +2009 01 01 1122 54832 40920 0 2.5 450.7 1.37e+05 +2009 01 01 1123 54832 40980 0 2.2 457.1 1.37e+05 +2009 01 01 1124 54832 41040 0 2.1 451.0 1.38e+05 +2009 01 01 1125 54832 41100 0 2.2 459.3 1.22e+05 +2009 01 01 1126 54832 41160 0 2.3 453.2 1.40e+05 +2009 01 01 1127 54832 41220 0 2.5 450.2 1.44e+05 +2009 01 01 1128 54832 41280 0 2.5 448.4 1.27e+05 +2009 01 01 1129 54832 41340 0 2.9 446.9 1.26e+05 +2009 01 01 1130 54832 41400 1 2.9 444.1 1.25e+05 +2009 01 01 1131 54832 41460 0 3.1 442.9 1.48e+05 +2009 01 01 1132 54832 41520 0 3.2 441.9 1.26e+05 +2009 01 01 1133 54832 41580 1 3.1 442.7 1.35e+05 +2009 01 01 1134 54832 41640 0 2.9 442.3 1.18e+05 +2009 01 01 1135 54832 41700 0 2.6 447.5 1.27e+05 +2009 01 01 1136 54832 41760 0 3.1 446.7 1.17e+05 +2009 01 01 1137 54832 41820 0 3.1 446.7 1.17e+05 +2009 01 01 1138 54832 41880 0 2.7 448.1 1.28e+05 +2009 01 01 1139 54832 41940 0 2.4 449.8 1.19e+05 +2009 01 01 1140 54832 42000 0 2.7 450.9 1.11e+05 +2009 01 01 1141 54832 42060 0 2.2 452.4 1.03e+05 +2009 01 01 1142 54832 42120 0 2.3 453.4 9.89e+04 +2009 01 01 1143 54832 42180 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1144 54832 42240 0 2.8 447.2 9.90e+04 +2009 01 01 1145 54832 42300 0 3.0 447.1 1.06e+05 +2009 01 01 1146 54832 42360 0 3.0 448.9 9.29e+04 +2009 01 01 1147 54832 42420 0 2.9 446.9 1.00e+05 +2009 01 01 1148 54832 42480 0 2.7 448.9 9.68e+04 +2009 01 01 1149 54832 42540 0 2.9 447.1 9.80e+04 +2009 01 01 1150 54832 42600 1 2.9 446.5 8.77e+04 +2009 01 01 1151 54832 42660 0 3.0 445.5 1.00e+05 +2009 01 01 1152 54832 42720 0 2.8 442.5 1.15e+05 +2009 01 01 1153 54832 42780 0 2.8 442.5 1.15e+05 +2009 01 01 1154 54832 42840 0 2.8 441.7 1.35e+05 +2009 01 01 1155 54832 42900 0 3.2 444.1 1.09e+05 +2009 01 01 1156 54832 42960 0 3.0 444.8 1.05e+05 +2009 01 01 1157 54832 43020 0 3.4 445.7 1.06e+05 +2009 01 01 1158 54832 43080 0 3.2 444.3 1.11e+05 +2009 01 01 1159 54832 43140 0 3.2 443.2 1.03e+05 +2009 01 01 1200 54832 43200 0 3.2 442.5 1.04e+05 +2009 01 01 1201 54832 43260 0 3.0 442.1 1.10e+05 +2009 01 01 1202 54832 43320 0 3.4 440.7 1.01e+05 +2009 01 01 1203 54832 43380 0 3.4 448.5 1.00e+05 +2009 01 01 1204 54832 43440 0 3.5 446.3 1.03e+05 +2009 01 01 1205 54832 43500 0 3.3 445.3 1.07e+05 +2009 01 01 1206 54832 43560 0 3.6 440.9 1.06e+05 +2009 01 01 1207 54832 43620 0 3.4 442.5 1.02e+05 +2009 01 01 1208 54832 43680 0 3.2 443.7 1.03e+05 +2009 01 01 1209 54832 43740 0 3.2 443.7 1.03e+05 +2009 01 01 1210 54832 43800 0 3.3 442.6 1.16e+05 +2009 01 01 1211 54832 43860 0 3.0 442.9 1.21e+05 +2009 01 01 1212 54832 43920 0 2.7 440.9 1.08e+05 +2009 01 01 1213 54832 43980 0 3.0 440.6 1.09e+05 +2009 01 01 1214 54832 44040 0 2.9 443.9 9.77e+04 +2009 01 01 1215 54832 44100 0 2.9 444.7 9.72e+04 +2009 01 01 1216 54832 44160 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1217 54832 44220 0 2.6 448.0 8.18e+04 +2009 01 01 1218 54832 44280 0 2.1 453.1 9.82e+04 +2009 01 01 1219 54832 44340 0 2.2 458.1 9.58e+04 +2009 01 01 1220 54832 44400 0 2.3 453.6 8.87e+04 +2009 01 01 1221 54832 44460 0 2.5 450.7 1.03e+05 +2009 01 01 1222 54832 44520 0 2.8 451.5 1.06e+05 +2009 01 01 1223 54832 44580 0 2.4 447.9 9.88e+04 +2009 01 01 1224 54832 44640 0 2.7 452.3 1.26e+05 +2009 01 01 1225 54832 44700 0 2.7 452.3 1.26e+05 +2009 01 01 1226 54832 44760 0 1.9 471.4 1.38e+05 +2009 01 01 1227 54832 44820 0 1.7 468.5 1.21e+05 +2009 01 01 1228 54832 44880 0 2.0 461.7 1.29e+05 +2009 01 01 1229 54832 44940 0 1.9 462.4 1.28e+05 +2009 01 01 1230 54832 45000 0 1.9 464.4 1.08e+05 +2009 01 01 1231 54832 45060 0 1.7 465.9 1.09e+05 +2009 01 01 1232 54832 45120 0 1.9 467.0 1.12e+05 +2009 01 01 1233 54832 45180 0 2.0 459.5 1.36e+05 +2009 01 01 1234 54832 45240 0 1.8 461.8 1.23e+05 +2009 01 01 1235 54832 45300 0 1.7 460.5 1.38e+05 +2009 01 01 1236 54832 45360 0 1.4 461.4 1.23e+05 +2009 01 01 1237 54832 45420 0 1.9 458.6 1.01e+05 +2009 01 01 1238 54832 45480 0 2.0 450.8 1.11e+05 +2009 01 01 1239 54832 45540 0 1.6 454.9 9.75e+04 +2009 01 01 1240 54832 45600 0 2.0 457.8 9.05e+04 +2009 01 01 1241 54832 45660 0 2.0 457.8 9.05e+04 +2009 01 01 1242 54832 45720 0 2.0 457.2 9.70e+04 +2009 01 01 1243 54832 45780 0 2.0 457.1 8.53e+04 +2009 01 01 1244 54832 45840 0 2.0 455.8 8.44e+04 +2009 01 01 1245 54832 45900 0 2.1 455.9 1.16e+05 +2009 01 01 1246 54832 45960 0 1.9 455.3 1.06e+05 +2009 01 01 1247 54832 46020 0 2.0 454.5 1.04e+05 +2009 01 01 1248 54832 46080 0 1.8 456.3 1.05e+05 +2009 01 01 1249 54832 46140 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1250 54832 46200 0 1.8 458.8 9.51e+04 +2009 01 01 1251 54832 46260 0 2.1 456.3 1.01e+05 +2009 01 01 1252 54832 46320 0 1.5 455.1 1.02e+05 +2009 01 01 1253 54832 46380 0 2.1 457.7 8.74e+04 +2009 01 01 1254 54832 46440 0 2.0 457.4 8.51e+04 +2009 01 01 1255 54832 46500 0 2.1 457.6 9.46e+04 +2009 01 01 1256 54832 46560 0 2.0 460.7 9.13e+04 +2009 01 01 1257 54832 46620 0 2.0 460.7 9.13e+04 +2009 01 01 1258 54832 46680 0 1.9 457.4 8.90e+04 +2009 01 01 1259 54832 46740 0 1.8 452.7 7.84e+04 +2009 01 01 1300 54832 46800 0 1.9 456.5 8.74e+04 +2009 01 01 1301 54832 46860 0 2.0 456.7 8.74e+04 +2009 01 01 1302 54832 46920 0 1.8 460.7 8.49e+04 +2009 01 01 1303 54832 46980 0 1.9 456.7 8.75e+04 +2009 01 01 1304 54832 47040 0 1.9 456.8 8.40e+04 +2009 01 01 1305 54832 47100 0 2.2 455.6 8.79e+04 +2009 01 01 1306 54832 47160 0 2.1 454.3 8.46e+04 +2009 01 01 1307 54832 47220 0 1.9 454.0 8.53e+04 +2009 01 01 1308 54832 47280 0 1.8 456.0 8.04e+04 +2009 01 01 1309 54832 47340 0 1.9 454.3 8.56e+04 +2009 01 01 1310 54832 47400 0 1.9 454.2 8.22e+04 +2009 01 01 1311 54832 47460 0 1.9 451.0 8.21e+04 +2009 01 01 1312 54832 47520 0 1.9 454.3 8.84e+04 +2009 01 01 1313 54832 47580 0 1.9 454.3 8.84e+04 +2009 01 01 1314 54832 47640 0 2.0 454.7 8.31e+04 +2009 01 01 1315 54832 47700 0 1.9 454.7 8.12e+04 +2009 01 01 1316 54832 47760 0 2.0 454.5 9.41e+04 +2009 01 01 1317 54832 47820 0 2.1 456.4 9.54e+04 +2009 01 01 1318 54832 47880 0 2.2 453.6 9.72e+04 +2009 01 01 1319 54832 47940 0 2.2 453.2 9.71e+04 +2009 01 01 1320 54832 48000 0 2.2 452.1 9.47e+04 +2009 01 01 1321 54832 48060 0 2.1 456.4 9.29e+04 +2009 01 01 1322 54832 48120 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1323 54832 48180 0 2.2 451.8 9.14e+04 +2009 01 01 1324 54832 48240 0 2.2 451.4 8.96e+04 +2009 01 01 1325 54832 48300 0 1.8 448.1 9.33e+04 +2009 01 01 1326 54832 48360 0 2.0 448.6 9.29e+04 +2009 01 01 1327 54832 48420 1 1.8 451.7 8.59e+04 +2009 01 01 1328 54832 48480 0 1.8 451.7 8.86e+04 +2009 01 01 1329 54832 48540 0 1.8 451.7 8.86e+04 +2009 01 01 1330 54832 48600 0 2.2 450.0 9.35e+04 +2009 01 01 1331 54832 48660 0 2.3 448.9 9.57e+04 +2009 01 01 1332 54832 48720 0 2.1 449.9 9.88e+04 +2009 01 01 1333 54832 48780 0 2.1 451.5 8.84e+04 +2009 01 01 1334 54832 48840 0 2.3 450.0 9.20e+04 +2009 01 01 1335 54832 48900 0 2.1 451.2 9.14e+04 +2009 01 01 1336 54832 48960 0 2.3 451.6 9.26e+04 +2009 01 01 1337 54832 49020 0 2.1 453.0 9.19e+04 +2009 01 01 1338 54832 49080 1 2.2 448.1 9.77e+04 +2009 01 01 1339 54832 49140 0 2.1 450.9 8.73e+04 +2009 01 01 1340 54832 49200 0 1.9 451.1 8.37e+04 +2009 01 01 1341 54832 49260 0 1.9 449.7 7.93e+04 +2009 01 01 1342 54832 49320 0 1.7 453.6 7.52e+04 +2009 01 01 1343 54832 49380 0 1.9 449.2 8.73e+04 +2009 01 01 1344 54832 49440 0 2.1 450.6 9.24e+04 +2009 01 01 1345 54832 49500 0 2.1 450.6 9.24e+04 +2009 01 01 1346 54832 49560 0 2.2 451.4 9.15e+04 +2009 01 01 1347 54832 49620 0 2.3 450.9 9.25e+04 +2009 01 01 1348 54832 49680 0 2.2 454.4 9.46e+04 +2009 01 01 1349 54832 49740 0 2.1 448.8 9.17e+04 +2009 01 01 1350 54832 49800 0 2.3 453.8 9.63e+04 +2009 01 01 1351 54832 49860 0 2.3 452.0 9.87e+04 +2009 01 01 1352 54832 49920 0 2.2 444.0 9.81e+04 +2009 01 01 1353 54832 49980 0 2.0 445.7 9.41e+04 +2009 01 01 1354 54832 50040 0 1.9 446.7 9.69e+04 +2009 01 01 1355 54832 50100 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1356 54832 50160 0 1.9 444.7 1.09e+05 +2009 01 01 1357 54832 50220 1 2.0 441.6 1.03e+05 +2009 01 01 1358 54832 50280 0 2.1 442.6 9.56e+04 +2009 01 01 1359 54832 50340 0 1.9 447.2 9.39e+04 +2009 01 01 1400 54832 50400 0 1.9 445.9 1.01e+05 +2009 01 01 1401 54832 50460 0 1.9 445.9 1.01e+05 +2009 01 01 1402 54832 50520 0 2.0 448.5 9.17e+04 +2009 01 01 1403 54832 50580 0 2.1 446.8 1.06e+05 +2009 01 01 1404 54832 50640 0 2.2 449.7 9.96e+04 +2009 01 01 1405 54832 50700 0 2.2 438.1 1.03e+05 +2009 01 01 1406 54832 50760 0 2.0 441.6 9.92e+04 +2009 01 01 1407 54832 50820 0 2.0 443.6 1.14e+05 +2009 01 01 1408 54832 50880 0 2.1 444.2 1.12e+05 +2009 01 01 1409 54832 50940 1 2.2 445.9 1.14e+05 +2009 01 01 1410 54832 51000 0 2.2 442.2 9.91e+04 +2009 01 01 1411 54832 51060 0 2.5 440.0 9.80e+04 +2009 01 01 1412 54832 51120 0 2.1 445.2 9.23e+04 +2009 01 01 1413 54832 51180 0 2.2 444.0 9.24e+04 +2009 01 01 1414 54832 51240 0 2.2 442.5 9.27e+04 +2009 01 01 1415 54832 51300 0 2.2 444.4 9.16e+04 +2009 01 01 1416 54832 51360 0 2.2 445.3 9.66e+04 +2009 01 01 1417 54832 51420 0 2.2 445.3 9.66e+04 +2009 01 01 1418 54832 51480 0 2.2 443.4 9.05e+04 +2009 01 01 1419 54832 51540 1 2.2 446.2 1.05e+05 +2009 01 01 1420 54832 51600 1 2.4 440.5 1.02e+05 +2009 01 01 1421 54832 51660 1 2.2 447.2 1.17e+05 +2009 01 01 1422 54832 51720 1 2.5 434.8 1.31e+05 +2009 01 01 1423 54832 51780 0 2.3 442.1 9.92e+04 +2009 01 01 1424 54832 51840 1 2.4 442.3 1.14e+05 +2009 01 01 1425 54832 51900 1 2.3 444.1 1.17e+05 +2009 01 01 1426 54832 51960 1 2.2 444.1 9.45e+04 +2009 01 01 1427 54832 52020 1 2.2 454.4 8.57e+04 +2009 01 01 1428 54832 52080 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1429 54832 52140 0 2.5 443.5 9.27e+04 +2009 01 01 1430 54832 52200 0 2.4 442.6 9.88e+04 +2009 01 01 1431 54832 52260 0 2.5 445.5 1.22e+05 +2009 01 01 1432 54832 52320 1 2.3 443.9 1.16e+05 +2009 01 01 1433 54832 52380 1 2.3 443.9 1.16e+05 +2009 01 01 1434 54832 52440 1 2.6 445.2 1.34e+05 +2009 01 01 1435 54832 52500 1 2.7 442.4 1.36e+05 +2009 01 01 1436 54832 52560 0 2.7 445.6 1.37e+05 +2009 01 01 1437 54832 52620 1 2.8 445.0 1.30e+05 +2009 01 01 1438 54832 52680 1 2.4 448.1 1.17e+05 +2009 01 01 1439 54832 52740 1 2.6 445.6 1.21e+05 +2009 01 01 1440 54832 52800 1 2.4 445.6 1.20e+05 +2009 01 01 1441 54832 52860 1 2.5 443.6 1.11e+05 +2009 01 01 1442 54832 52920 0 2.2 444.6 1.04e+05 +2009 01 01 1443 54832 52980 0 2.4 446.9 1.22e+05 +2009 01 01 1444 54832 53040 0 2.2 453.4 1.37e+05 +2009 01 01 1445 54832 53100 0 2.5 450.7 1.36e+05 +2009 01 01 1446 54832 53160 0 2.3 448.7 1.30e+05 +2009 01 01 1447 54832 53220 1 2.7 447.6 1.37e+05 +2009 01 01 1448 54832 53280 1 2.7 447.4 1.34e+05 +2009 01 01 1449 54832 53340 1 2.7 447.4 1.34e+05 +2009 01 01 1450 54832 53400 0 2.2 436.0 7.36e+04 +2009 01 01 1451 54832 53460 0 2.3 435.7 9.20e+04 +2009 01 01 1452 54832 53520 0 2.2 435.4 9.10e+04 +2009 01 01 1453 54832 53580 0 2.2 435.3 7.75e+04 +2009 01 01 1454 54832 53640 1 2.2 438.6 9.97e+04 +2009 01 01 1455 54832 53700 0 2.3 442.6 1.05e+05 +2009 01 01 1456 54832 53760 0 2.1 446.7 1.25e+05 +2009 01 01 1457 54832 53820 0 2.3 442.1 1.13e+05 +2009 01 01 1458 54832 53880 0 2.3 442.6 1.15e+05 +2009 01 01 1459 54832 53940 0 2.2 452.1 1.29e+05 +2009 01 01 1500 54832 54000 0 2.2 451.5 1.29e+05 +2009 01 01 1501 54832 54060 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1502 54832 54120 0 2.0 450.6 1.14e+05 +2009 01 01 1503 54832 54180 0 2.4 448.7 1.36e+05 +2009 01 01 1504 54832 54240 0 2.2 450.7 1.31e+05 +2009 01 01 1505 54832 54300 0 2.2 450.7 1.31e+05 +2009 01 01 1506 54832 54360 0 2.1 444.4 1.07e+05 +2009 01 01 1507 54832 54420 0 2.3 447.3 1.30e+05 +2009 01 01 1508 54832 54480 0 2.1 449.2 1.34e+05 +2009 01 01 1509 54832 54540 0 1.9 446.6 1.29e+05 +2009 01 01 1510 54832 54600 1 2.4 439.4 1.38e+05 +2009 01 01 1511 54832 54660 0 2.1 450.4 1.49e+05 +2009 01 01 1512 54832 54720 0 2.2 444.7 1.40e+05 +2009 01 01 1513 54832 54780 0 2.4 442.4 1.50e+05 +2009 01 01 1514 54832 54840 1 2.5 443.0 1.44e+05 +2009 01 01 1515 54832 54900 1 2.4 446.8 1.35e+05 +2009 01 01 1516 54832 54960 0 2.3 447.3 1.42e+05 +2009 01 01 1517 54832 55020 0 2.1 446.6 1.40e+05 +2009 01 01 1518 54832 55080 0 2.7 447.9 1.22e+05 +2009 01 01 1519 54832 55140 1 2.2 446.7 1.45e+05 +2009 01 01 1520 54832 55200 1 2.1 445.0 1.45e+05 +2009 01 01 1521 54832 55260 1 2.1 445.0 1.45e+05 +2009 01 01 1522 54832 55320 0 2.2 441.0 1.45e+05 +2009 01 01 1523 54832 55380 0 1.9 447.8 1.45e+05 +2009 01 01 1524 54832 55440 0 1.9 447.9 1.28e+05 +2009 01 01 1525 54832 55500 0 2.0 445.8 1.39e+05 +2009 01 01 1526 54832 55560 1 1.9 439.1 1.43e+05 +2009 01 01 1527 54832 55620 1 2.1 434.5 1.43e+05 +2009 01 01 1528 54832 55680 0 1.9 438.1 1.34e+05 +2009 01 01 1529 54832 55740 0 1.9 439.2 1.38e+05 +2009 01 01 1530 54832 55800 0 1.8 437.9 1.33e+05 +2009 01 01 1531 54832 55860 0 2.0 442.3 1.66e+05 +2009 01 01 1532 54832 55920 1 2.2 440.8 1.63e+05 +2009 01 01 1533 54832 55980 0 2.4 444.1 1.23e+05 +2009 01 01 1534 54832 56040 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1535 54832 56100 0 1.8 436.2 1.22e+05 +2009 01 01 1536 54832 56160 0 1.9 440.4 1.28e+05 +2009 01 01 1537 54832 56220 0 1.9 440.4 1.28e+05 +2009 01 01 1538 54832 56280 0 1.7 453.3 9.81e+04 +2009 01 01 1539 54832 56340 0 1.6 452.4 1.06e+05 +2009 01 01 1540 54832 56400 0 1.7 451.2 9.52e+04 +2009 01 01 1541 54832 56460 0 1.5 451.7 1.15e+05 +2009 01 01 1542 54832 56520 0 1.4 449.3 1.19e+05 +2009 01 01 1543 54832 56580 0 1.4 455.4 1.30e+05 +2009 01 01 1544 54832 56640 0 1.7 455.5 9.65e+04 +2009 01 01 1545 54832 56700 0 1.9 452.3 1.14e+05 +2009 01 01 1546 54832 56760 0 1.9 454.7 1.17e+05 +2009 01 01 1547 54832 56820 0 1.6 455.5 1.17e+05 +2009 01 01 1548 54832 56880 0 1.8 457.4 1.15e+05 +2009 01 01 1549 54832 56940 0 1.8 455.6 1.14e+05 +2009 01 01 1550 54832 57000 0 1.8 458.7 1.11e+05 +2009 01 01 1551 54832 57060 0 1.8 456.7 1.14e+05 +2009 01 01 1552 54832 57120 0 1.8 454.9 1.23e+05 +2009 01 01 1553 54832 57180 0 1.8 454.9 1.23e+05 +2009 01 01 1554 54832 57240 0 1.6 460.7 1.09e+05 +2009 01 01 1555 54832 57300 1 1.8 452.4 1.23e+05 +2009 01 01 1556 54832 57360 0 1.8 455.4 1.18e+05 +2009 01 01 1557 54832 57420 0 1.8 457.6 1.03e+05 +2009 01 01 1558 54832 57480 1 1.9 452.9 1.05e+05 +2009 01 01 1559 54832 57540 0 1.7 455.7 9.66e+04 +2009 01 01 1600 54832 57600 0 1.8 455.6 9.59e+04 +2009 01 01 1601 54832 57660 0 2.0 447.0 1.61e+05 +2009 01 01 1602 54832 57720 0 1.8 456.9 1.04e+05 +2009 01 01 1603 54832 57780 0 2.1 452.6 9.89e+04 +2009 01 01 1604 54832 57840 0 2.0 451.9 9.80e+04 +2009 01 01 1605 54832 57900 0 1.8 450.6 1.01e+05 +2009 01 01 1606 54832 57960 0 2.0 451.8 9.38e+04 +2009 01 01 1607 54832 58020 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1608 54832 58080 0 1.8 450.2 1.06e+05 +2009 01 01 1609 54832 58140 0 1.8 450.2 1.06e+05 +2009 01 01 1610 54832 58200 0 1.9 454.1 1.03e+05 +2009 01 01 1611 54832 58260 0 1.9 448.2 1.35e+05 +2009 01 01 1612 54832 58320 0 2.3 449.2 1.28e+05 +2009 01 01 1613 54832 58380 0 2.2 445.4 1.15e+05 +2009 01 01 1614 54832 58440 0 2.2 452.2 1.09e+05 +2009 01 01 1615 54832 58500 0 2.0 442.5 9.58e+04 +2009 01 01 1616 54832 58560 0 2.7 429.8 1.90e+05 +2009 01 01 1617 54832 58620 0 2.4 438.8 1.50e+05 +2009 01 01 1618 54832 58680 0 2.5 435.9 1.47e+05 +2009 01 01 1619 54832 58740 1 2.2 438.7 1.45e+05 +2009 01 01 1620 54832 58800 0 2.2 440.4 1.57e+05 +2009 01 01 1621 54832 58860 0 2.5 441.7 1.23e+05 +2009 01 01 1622 54832 58920 0 2.2 438.1 1.34e+05 +2009 01 01 1623 54832 58980 0 2.3 442.8 1.40e+05 +2009 01 01 1624 54832 59040 0 2.1 437.8 1.59e+05 +2009 01 01 1625 54832 59100 0 2.1 437.8 1.59e+05 +2009 01 01 1626 54832 59160 0 2.6 434.7 1.06e+05 +2009 01 01 1627 54832 59220 0 2.2 439.7 1.29e+05 +2009 01 01 1628 54832 59280 0 2.5 436.1 1.18e+05 +2009 01 01 1629 54832 59340 0 2.4 437.9 1.27e+05 +2009 01 01 1630 54832 59400 0 2.7 436.7 1.27e+05 +2009 01 01 1631 54832 59460 0 2.3 430.6 1.28e+05 +2009 01 01 1632 54832 59520 0 2.1 437.8 1.18e+05 +2009 01 01 1633 54832 59580 0 1.9 435.8 1.28e+05 +2009 01 01 1634 54832 59640 0 2.5 433.2 1.16e+05 +2009 01 01 1635 54832 59700 0 2.6 432.4 1.16e+05 +2009 01 01 1636 54832 59760 1 2.8 436.4 1.18e+05 +2009 01 01 1637 54832 59820 0 2.7 434.1 1.21e+05 +2009 01 01 1638 54832 59880 0 2.8 436.7 1.10e+05 +2009 01 01 1639 54832 59940 1 2.6 437.1 1.19e+05 +2009 01 01 1640 54832 60000 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1641 54832 60060 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1642 54832 60120 0 2.6 438.2 1.05e+05 +2009 01 01 1643 54832 60180 0 2.3 436.9 1.16e+05 +2009 01 01 1644 54832 60240 0 3.0 435.6 9.82e+04 +2009 01 01 1645 54832 60300 0 2.7 439.9 9.07e+04 +2009 01 01 1646 54832 60360 1 3.0 436.9 9.64e+04 +2009 01 01 1647 54832 60420 0 2.8 437.0 9.54e+04 +2009 01 01 1648 54832 60480 0 3.1 436.8 8.65e+04 +2009 01 01 1649 54832 60540 0 2.7 439.5 1.04e+05 +2009 01 01 1650 54832 60600 0 3.1 435.0 8.39e+04 +2009 01 01 1651 54832 60660 0 2.9 434.3 1.07e+05 +2009 01 01 1652 54832 60720 0 3.2 435.6 1.04e+05 +2009 01 01 1653 54832 60780 0 3.0 435.5 1.03e+05 +2009 01 01 1654 54832 60840 1 3.1 433.2 9.67e+04 +2009 01 01 1655 54832 60900 0 3.3 433.9 9.70e+04 +2009 01 01 1656 54832 60960 0 2.9 433.6 8.72e+04 +2009 01 01 1657 54832 61020 0 2.9 433.6 8.72e+04 +2009 01 01 1658 54832 61080 0 3.0 433.8 8.91e+04 +2009 01 01 1659 54832 61140 0 3.0 434.0 8.79e+04 +2009 01 01 1700 54832 61200 0 3.1 435.2 8.37e+04 +2009 01 01 1701 54832 61260 0 2.9 435.4 8.02e+04 +2009 01 01 1702 54832 61320 0 3.4 435.9 8.46e+04 +2009 01 01 1703 54832 61380 0 2.9 435.5 7.64e+04 +2009 01 01 1704 54832 61440 0 2.8 434.8 8.12e+04 +2009 01 01 1705 54832 61500 0 2.9 435.0 8.91e+04 +2009 01 01 1706 54832 61560 0 3.0 434.8 9.05e+04 +2009 01 01 1707 54832 61620 0 2.8 434.3 8.12e+04 +2009 01 01 1708 54832 61680 0 2.7 437.4 8.29e+04 +2009 01 01 1709 54832 61740 0 2.6 435.2 8.71e+04 +2009 01 01 1710 54832 61800 0 2.8 434.6 9.29e+04 +2009 01 01 1711 54832 61860 0 2.8 433.8 9.40e+04 +2009 01 01 1712 54832 61920 0 2.7 431.9 9.87e+04 +2009 01 01 1713 54832 61980 0 2.7 431.9 9.87e+04 +2009 01 01 1714 54832 62040 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1715 54832 62100 1 2.4 427.3 1.18e+05 +2009 01 01 1716 54832 62160 0 2.5 427.6 1.31e+05 +2009 01 01 1717 54832 62220 0 2.1 424.6 1.43e+05 +2009 01 01 1718 54832 62280 0 2.0 427.8 1.52e+05 +2009 01 01 1719 54832 62340 1 1.9 427.8 1.52e+05 +2009 01 01 1720 54832 62400 0 1.9 428.9 1.41e+05 +2009 01 01 1721 54832 62460 0 1.9 425.3 1.37e+05 +2009 01 01 1722 54832 62520 0 1.9 421.5 1.23e+05 +2009 01 01 1723 54832 62580 0 2.0 422.7 1.19e+05 +2009 01 01 1724 54832 62640 0 2.1 430.3 9.19e+04 +2009 01 01 1725 54832 62700 0 2.1 430.3 9.21e+04 +2009 01 01 1726 54832 62760 0 2.4 421.4 1.10e+05 +2009 01 01 1727 54832 62820 0 1.8 430.3 8.72e+04 +2009 01 01 1728 54832 62880 0 1.9 424.5 1.10e+05 +2009 01 01 1729 54832 62940 0 1.9 424.5 1.10e+05 +2009 01 01 1730 54832 63000 0 2.0 418.0 1.37e+05 +2009 01 01 1731 54832 63060 0 1.9 425.9 1.05e+05 +2009 01 01 1732 54832 63120 0 2.2 427.4 1.08e+05 +2009 01 01 1733 54832 63180 0 2.5 442.7 1.00e+05 +2009 01 01 1734 54832 63240 0 2.2 439.5 9.06e+04 +2009 01 01 1735 54832 63300 0 2.3 444.4 8.10e+04 +2009 01 01 1736 54832 63360 0 2.1 436.4 9.96e+04 +2009 01 01 1737 54832 63420 1 2.0 435.8 9.40e+04 +2009 01 01 1738 54832 63480 0 2.1 433.0 9.30e+04 +2009 01 01 1739 54832 63540 0 2.1 421.9 1.30e+05 +2009 01 01 1740 54832 63600 0 2.2 428.0 1.09e+05 +2009 01 01 1741 54832 63660 1 2.2 429.4 1.26e+05 +2009 01 01 1742 54832 63720 0 2.7 428.7 8.74e+04 +2009 01 01 1743 54832 63780 0 2.3 433.9 7.32e+04 +2009 01 01 1744 54832 63840 0 2.1 433.6 1.22e+05 +2009 01 01 1745 54832 63900 0 2.1 433.6 1.22e+05 +2009 01 01 1746 54832 63960 0 2.1 435.0 9.60e+04 +2009 01 01 1747 54832 64020 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1748 54832 64080 0 2.4 434.4 9.71e+04 +2009 01 01 1749 54832 64140 0 2.1 438.0 8.72e+04 +2009 01 01 1750 54832 64200 0 2.0 438.8 9.83e+04 +2009 01 01 1751 54832 64260 0 2.0 439.2 9.82e+04 +2009 01 01 1752 54832 64320 0 2.1 439.0 1.00e+05 +2009 01 01 1753 54832 64380 0 2.0 436.2 8.56e+04 +2009 01 01 1754 54832 64440 0 2.0 441.5 1.04e+05 +2009 01 01 1755 54832 64500 0 2.0 441.4 1.08e+05 +2009 01 01 1756 54832 64560 0 2.0 439.5 1.09e+05 +2009 01 01 1757 54832 64620 0 2.0 440.0 9.77e+04 +2009 01 01 1758 54832 64680 0 2.0 439.1 1.05e+05 +2009 01 01 1759 54832 64740 0 1.9 440.3 1.01e+05 +2009 01 01 1800 54832 64800 0 2.0 440.8 1.01e+05 +2009 01 01 1801 54832 64860 0 2.0 440.8 1.01e+05 +2009 01 01 1802 54832 64920 0 1.9 439.1 8.30e+04 +2009 01 01 1803 54832 64980 0 2.0 440.3 8.07e+04 +2009 01 01 1804 54832 65040 0 2.0 438.7 7.69e+04 +2009 01 01 1805 54832 65100 0 2.0 436.3 8.52e+04 +2009 01 01 1806 54832 65160 0 1.9 437.8 9.21e+04 +2009 01 01 1807 54832 65220 0 2.0 438.6 1.00e+05 +2009 01 01 1808 54832 65280 0 2.0 439.2 9.01e+04 +2009 01 01 1809 54832 65340 0 2.0 440.1 9.00e+04 +2009 01 01 1810 54832 65400 1 2.1 440.3 8.61e+04 +2009 01 01 1811 54832 65460 0 2.2 439.4 8.52e+04 +2009 01 01 1812 54832 65520 0 2.4 451.5 8.47e+04 +2009 01 01 1813 54832 65580 0 2.4 449.8 8.00e+04 +2009 01 01 1814 54832 65640 0 2.5 446.5 7.89e+04 +2009 01 01 1815 54832 65700 0 2.2 451.5 7.73e+04 +2009 01 01 1816 54832 65760 0 2.2 447.7 7.46e+04 +2009 01 01 1817 54832 65820 0 2.2 447.7 7.46e+04 +2009 01 01 1818 54832 65880 1 2.1 444.0 7.75e+04 +2009 01 01 1819 54832 65940 0 2.1 439.4 8.90e+04 +2009 01 01 1820 54832 66000 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1821 54832 66060 0 2.3 439.8 8.62e+04 +2009 01 01 1822 54832 66120 0 1.8 450.0 8.25e+04 +2009 01 01 1823 54832 66180 0 1.9 451.5 8.02e+04 +2009 01 01 1824 54832 66240 0 1.9 451.0 7.44e+04 +2009 01 01 1825 54832 66300 0 2.0 451.1 8.22e+04 +2009 01 01 1826 54832 66360 1 2.4 445.1 1.10e+05 +2009 01 01 1827 54832 66420 0 2.6 441.4 1.03e+05 +2009 01 01 1828 54832 66480 0 2.5 442.7 1.01e+05 +2009 01 01 1829 54832 66540 1 2.5 443.8 1.01e+05 +2009 01 01 1830 54832 66600 1 2.6 439.0 1.02e+05 +2009 01 01 1831 54832 66660 0 2.8 439.3 9.33e+04 +2009 01 01 1832 54832 66720 0 3.0 439.1 9.77e+04 +2009 01 01 1833 54832 66780 0 3.0 439.1 9.77e+04 +2009 01 01 1834 54832 66840 0 2.4 448.4 1.09e+05 +2009 01 01 1835 54832 66900 0 2.7 446.4 1.06e+05 +2009 01 01 1836 54832 66960 0 2.6 446.5 8.70e+04 +2009 01 01 1837 54832 67020 0 2.4 447.2 9.03e+04 +2009 01 01 1838 54832 67080 0 2.3 442.9 8.66e+04 +2009 01 01 1839 54832 67140 0 2.3 440.6 9.89e+04 +2009 01 01 1840 54832 67200 0 2.4 437.4 1.01e+05 +2009 01 01 1841 54832 67260 0 2.4 439.0 1.02e+05 +2009 01 01 1842 54832 67320 0 2.1 443.6 8.03e+04 +2009 01 01 1843 54832 67380 0 2.2 439.9 9.17e+04 +2009 01 01 1844 54832 67440 0 2.3 455.2 8.80e+04 +2009 01 01 1845 54832 67500 0 2.4 442.8 8.87e+04 +2009 01 01 1846 54832 67560 0 2.7 445.8 9.39e+04 +2009 01 01 1847 54832 67620 0 2.2 435.5 1.07e+05 +2009 01 01 1848 54832 67680 0 2.2 435.5 9.60e+04 +2009 01 01 1849 54832 67740 0 2.2 435.5 9.60e+04 +2009 01 01 1850 54832 67800 0 2.4 427.9 1.17e+05 +2009 01 01 1851 54832 67860 0 2.5 435.0 1.02e+05 +2009 01 01 1852 54832 67920 0 2.4 436.1 1.18e+05 +2009 01 01 1853 54832 67980 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1854 54832 68040 0 2.3 437.8 1.11e+05 +2009 01 01 1855 54832 68100 0 2.1 436.3 1.31e+05 +2009 01 01 1856 54832 68160 0 2.0 429.2 1.53e+05 +2009 01 01 1857 54832 68220 1 1.9 423.6 1.46e+05 +2009 01 01 1858 54832 68280 1 1.9 426.4 1.55e+05 +2009 01 01 1859 54832 68340 0 2.3 420.1 1.44e+05 +2009 01 01 1900 54832 68400 1 2.0 426.5 1.40e+05 +2009 01 01 1901 54832 68460 1 2.3 421.7 1.39e+05 +2009 01 01 1902 54832 68520 0 2.3 422.0 1.31e+05 +2009 01 01 1903 54832 68580 0 2.0 422.1 1.53e+05 +2009 01 01 1904 54832 68640 1 2.0 419.7 1.56e+05 +2009 01 01 1905 54832 68700 1 2.0 419.7 1.56e+05 +2009 01 01 1906 54832 68760 0 2.2 420.8 1.56e+05 +2009 01 01 1907 54832 68820 1 2.2 430.3 1.47e+05 +2009 01 01 1908 54832 68880 0 2.4 437.5 1.26e+05 +2009 01 01 1909 54832 68940 0 2.3 435.3 1.20e+05 +2009 01 01 1910 54832 69000 0 2.5 426.7 1.40e+05 +2009 01 01 1911 54832 69060 0 2.4 427.4 1.41e+05 +2009 01 01 1912 54832 69120 0 2.2 430.1 1.37e+05 +2009 01 01 1913 54832 69180 0 2.4 426.8 1.19e+05 +2009 01 01 1914 54832 69240 1 2.2 426.0 1.31e+05 +2009 01 01 1915 54832 69300 1 2.2 424.0 1.41e+05 +2009 01 01 1916 54832 69360 0 2.2 426.3 1.47e+05 +2009 01 01 1917 54832 69420 1 2.1 429.0 1.36e+05 +2009 01 01 1918 54832 69480 1 2.4 422.8 1.43e+05 +2009 01 01 1919 54832 69540 0 1.9 425.6 1.56e+05 +2009 01 01 1920 54832 69600 1 2.4 425.9 1.44e+05 +2009 01 01 1921 54832 69660 1 2.4 425.9 1.44e+05 +2009 01 01 1922 54832 69720 1 2.0 424.5 1.58e+05 +2009 01 01 1923 54832 69780 0 2.2 422.9 1.52e+05 +2009 01 01 1924 54832 69840 1 2.1 425.0 1.54e+05 +2009 01 01 1925 54832 69900 0 2.0 425.4 1.71e+05 +2009 01 01 1926 54832 69960 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 1927 54832 70020 0 2.5 431.3 1.21e+05 +2009 01 01 1928 54832 70080 0 2.4 428.9 1.18e+05 +2009 01 01 1929 54832 70140 0 2.4 427.7 1.27e+05 +2009 01 01 1930 54832 70200 1 2.2 428.8 1.49e+05 +2009 01 01 1931 54832 70260 1 2.1 430.4 1.35e+05 +2009 01 01 1932 54832 70320 0 2.0 426.1 1.36e+05 +2009 01 01 1933 54832 70380 0 2.2 441.8 7.69e+04 +2009 01 01 1934 54832 70440 0 1.8 455.7 5.96e+04 +2009 01 01 1935 54832 70500 0 2.0 444.0 8.33e+04 +2009 01 01 1936 54832 70560 0 2.4 438.5 9.04e+04 +2009 01 01 1937 54832 70620 0 2.4 438.5 9.04e+04 +2009 01 01 1938 54832 70680 0 1.8 437.3 8.54e+04 +2009 01 01 1939 54832 70740 0 2.2 426.7 9.78e+04 +2009 01 01 1940 54832 70800 0 2.3 427.1 1.05e+05 +2009 01 01 1941 54832 70860 0 2.2 430.4 1.23e+05 +2009 01 01 1942 54832 70920 0 1.9 434.3 1.06e+05 +2009 01 01 1943 54832 70980 0 2.2 431.8 1.10e+05 +2009 01 01 1944 54832 71040 0 2.1 433.0 1.14e+05 +2009 01 01 1945 54832 71100 1 2.1 430.3 1.08e+05 +2009 01 01 1946 54832 71160 0 2.0 423.4 1.09e+05 +2009 01 01 1947 54832 71220 0 2.2 424.7 1.13e+05 +2009 01 01 1948 54832 71280 0 2.1 422.2 1.24e+05 +2009 01 01 1949 54832 71340 0 2.1 419.9 1.35e+05 +2009 01 01 1950 54832 71400 0 2.1 419.3 1.36e+05 +2009 01 01 1951 54832 71460 0 2.2 419.0 1.49e+05 +2009 01 01 1952 54832 71520 0 2.0 423.0 1.40e+05 +2009 01 01 1953 54832 71580 0 2.0 423.0 1.40e+05 +2009 01 01 1954 54832 71640 1 2.3 426.1 1.43e+05 +2009 01 01 1955 54832 71700 0 2.0 423.4 1.42e+05 +2009 01 01 1956 54832 71760 0 2.2 416.7 1.19e+05 +2009 01 01 1957 54832 71820 1 2.0 419.5 1.36e+05 +2009 01 01 1958 54832 71880 0 2.0 420.6 1.43e+05 +2009 01 01 1959 54832 71940 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2000 54832 72000 0 2.1 419.2 1.24e+05 +2009 01 01 2001 54832 72060 1 1.9 419.1 1.53e+05 +2009 01 01 2002 54832 72120 0 2.0 417.5 1.52e+05 +2009 01 01 2003 54832 72180 1 2.0 417.8 1.61e+05 +2009 01 01 2004 54832 72240 1 1.9 418.1 1.43e+05 +2009 01 01 2005 54832 72300 0 2.1 417.1 1.32e+05 +2009 01 01 2006 54832 72360 0 1.9 419.2 1.26e+05 +2009 01 01 2007 54832 72420 1 2.1 419.2 1.35e+05 +2009 01 01 2008 54832 72480 1 2.2 417.2 1.39e+05 +2009 01 01 2009 54832 72540 1 2.2 417.2 1.39e+05 +2009 01 01 2010 54832 72600 0 2.2 421.2 1.18e+05 +2009 01 01 2011 54832 72660 0 2.2 418.9 1.19e+05 +2009 01 01 2012 54832 72720 1 2.2 418.9 1.45e+05 +2009 01 01 2013 54832 72780 1 1.7 419.1 1.50e+05 +2009 01 01 2014 54832 72840 1 1.9 419.3 1.44e+05 +2009 01 01 2015 54832 72900 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2016 54832 72960 1 1.8 419.1 1.73e+05 +2009 01 01 2017 54832 73020 1 2.4 413.1 1.55e+05 +2009 01 01 2018 54832 73080 0 1.8 421.2 1.58e+05 +2009 01 01 2019 54832 73140 0 1.8 420.1 1.46e+05 +2009 01 01 2020 54832 73200 1 1.8 421.2 1.42e+05 +2009 01 01 2021 54832 73260 0 1.9 422.1 1.39e+05 +2009 01 01 2022 54832 73320 0 1.8 420.1 1.35e+05 +2009 01 01 2023 54832 73380 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2024 54832 73440 1 1.9 421.6 1.45e+05 +2009 01 01 2025 54832 73500 1 1.9 421.6 1.45e+05 +2009 01 01 2026 54832 73560 0 2.3 417.5 1.18e+05 +2009 01 01 2027 54832 73620 0 2.0 424.0 1.83e+05 +2009 01 01 2028 54832 73680 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2029 54832 73740 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2030 54832 73800 9 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2031 54832 73860 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2032 54832 73920 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2033 54832 73980 0 2.0 420.6 1.42e+05 +2009 01 01 2034 54832 74040 0 1.8 421.4 1.47e+05 +2009 01 01 2035 54832 74100 1 2.2 415.3 1.44e+05 +2009 01 01 2036 54832 74160 0 2.0 421.1 1.51e+05 +2009 01 01 2037 54832 74220 0 1.7 421.8 1.31e+05 +2009 01 01 2038 54832 74280 1 1.7 419.1 1.58e+05 +2009 01 01 2039 54832 74340 0 1.9 414.7 1.29e+05 +2009 01 01 2040 54832 74400 0 2.1 427.6 1.09e+05 +2009 01 01 2041 54832 74460 0 2.1 427.6 1.09e+05 +2009 01 01 2042 54832 74520 0 1.9 422.3 1.11e+05 +2009 01 01 2043 54832 74580 0 1.8 421.9 1.22e+05 +2009 01 01 2044 54832 74640 0 1.8 417.5 1.22e+05 +2009 01 01 2045 54832 74700 0 1.8 417.8 1.19e+05 +2009 01 01 2046 54832 74760 1 1.8 417.5 1.31e+05 +2009 01 01 2047 54832 74820 0 1.7 416.2 1.24e+05 +2009 01 01 2048 54832 74880 0 1.8 416.6 1.20e+05 +2009 01 01 2049 54832 74940 1 1.8 420.6 1.33e+05 +2009 01 01 2050 54832 75000 1 1.8 415.4 1.08e+05 +2009 01 01 2051 54832 75060 0 1.9 416.2 1.35e+05 +2009 01 01 2052 54832 75120 0 1.9 418.8 1.43e+05 +2009 01 01 2053 54832 75180 1 2.0 419.1 1.32e+05 +2009 01 01 2054 54832 75240 0 2.3 420.1 1.35e+05 +2009 01 01 2055 54832 75300 1 2.0 418.8 1.31e+05 +2009 01 01 2056 54832 75360 0 2.3 421.4 1.39e+05 +2009 01 01 2057 54832 75420 0 2.3 421.4 1.39e+05 +2009 01 01 2058 54832 75480 0 2.0 417.0 1.39e+05 +2009 01 01 2059 54832 75540 0 2.4 421.6 1.47e+05 +2009 01 01 2100 54832 75600 1 2.3 422.3 1.54e+05 +2009 01 01 2101 54832 75660 0 2.1 418.8 1.52e+05 +2009 01 01 2102 54832 75720 0 2.0 418.5 1.45e+05 +2009 01 01 2103 54832 75780 0 2.0 418.7 1.51e+05 +2009 01 01 2104 54832 75840 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2105 54832 75900 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2106 54832 75960 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2107 54832 76020 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2108 54832 76080 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2109 54832 76140 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2110 54832 76200 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2111 54832 76260 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2112 54832 76320 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2113 54832 76380 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2114 54832 76440 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2115 54832 76500 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2116 54832 76560 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2117 54832 76620 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2118 54832 76680 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2119 54832 76740 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2120 54832 76800 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2121 54832 76860 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2122 54832 76920 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2123 54832 76980 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2124 54832 77040 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2125 54832 77100 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2126 54832 77160 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2127 54832 77220 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2128 54832 77280 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2129 54832 77340 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2130 54832 77400 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2131 54832 77460 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2132 54832 77520 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2133 54832 77580 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2134 54832 77640 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2135 54832 77700 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2136 54832 77760 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2137 54832 77820 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2138 54832 77880 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2139 54832 77940 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2140 54832 78000 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2141 54832 78060 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2142 54832 78120 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2143 54832 78180 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2144 54832 78240 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2145 54832 78300 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2146 54832 78360 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2147 54832 78420 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2148 54832 78480 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2149 54832 78540 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2150 54832 78600 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2151 54832 78660 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2152 54832 78720 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2153 54832 78780 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2154 54832 78840 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2155 54832 78900 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2156 54832 78960 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2157 54832 79020 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2158 54832 79080 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2159 54832 79140 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2200 54832 79200 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2201 54832 79260 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2202 54832 79320 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2203 54832 79380 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2204 54832 79440 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2205 54832 79500 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2206 54832 79560 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2207 54832 79620 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2208 54832 79680 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2209 54832 79740 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2210 54832 79800 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2211 54832 79860 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2212 54832 79920 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2213 54832 79980 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2214 54832 80040 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2215 54832 80100 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2216 54832 80160 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2217 54832 80220 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2218 54832 80280 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2219 54832 80340 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2220 54832 80400 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2221 54832 80460 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2222 54832 80520 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2223 54832 80580 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2224 54832 80640 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2225 54832 80700 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2226 54832 80760 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2227 54832 80820 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2228 54832 80880 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2229 54832 80940 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2230 54832 81000 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2231 54832 81060 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2232 54832 81120 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2233 54832 81180 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2234 54832 81240 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2235 54832 81300 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2236 54832 81360 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2237 54832 81420 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2238 54832 81480 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2239 54832 81540 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2240 54832 81600 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2241 54832 81660 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2242 54832 81720 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2243 54832 81780 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2244 54832 81840 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2245 54832 81900 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2246 54832 81960 0 2.0 429.1 1.40e+05 +2009 01 01 2247 54832 82020 0 1.9 423.7 1.45e+05 +2009 01 01 2248 54832 82080 0 2.3 428.5 1.37e+05 +2009 01 01 2249 54832 82140 0 2.3 428.5 1.37e+05 +2009 01 01 2250 54832 82200 1 2.1 427.3 1.34e+05 +2009 01 01 2251 54832 82260 0 1.8 436.9 1.49e+05 +2009 01 01 2252 54832 82320 0 1.9 428.6 1.29e+05 +2009 01 01 2253 54832 82380 1 2.3 427.1 1.33e+05 +2009 01 01 2254 54832 82440 0 2.1 429.2 1.61e+05 +2009 01 01 2255 54832 82500 1 2.2 434.8 1.24e+05 +2009 01 01 2256 54832 82560 1 2.1 437.3 1.61e+05 +2009 01 01 2257 54832 82620 0 1.9 439.0 1.25e+05 +2009 01 01 2258 54832 82680 0 1.8 440.2 1.16e+05 +2009 01 01 2259 54832 82740 1 1.8 447.9 1.40e+05 +2009 01 01 2300 54832 82800 1 2.3 442.7 1.21e+05 +2009 01 01 2301 54832 82860 1 2.0 442.7 1.30e+05 +2009 01 01 2302 54832 82920 0 2.4 442.7 1.21e+05 +2009 01 01 2303 54832 82980 1 1.6 436.4 1.76e+05 +2009 01 01 2304 54832 83040 0 1.8 425.2 1.72e+05 +2009 01 01 2305 54832 83100 0 1.8 425.2 1.72e+05 +2009 01 01 2306 54832 83160 1 1.9 425.8 1.72e+05 +2009 01 01 2307 54832 83220 0 1.7 425.8 1.73e+05 +2009 01 01 2308 54832 83280 0 1.9 429.9 1.45e+05 +2009 01 01 2309 54832 83340 1 1.8 431.4 1.72e+05 +2009 01 01 2310 54832 83400 1 1.8 434.1 1.60e+05 +2009 01 01 2311 54832 83460 0 2.5 438.4 1.05e+05 +2009 01 01 2312 54832 83520 0 2.2 435.2 1.16e+05 +2009 01 01 2313 54832 83580 1 2.3 434.5 1.33e+05 +2009 01 01 2314 54832 83640 1 1.8 440.1 1.47e+05 +2009 01 01 2315 54832 83700 0 1.7 433.9 1.23e+05 +2009 01 01 2316 54832 83760 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2317 54832 83820 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2318 54832 83880 0 2.5 433.6 1.09e+05 +2009 01 01 2319 54832 83940 0 2.0 437.0 1.31e+05 +2009 01 01 2320 54832 84000 0 1.8 432.3 1.18e+05 +2009 01 01 2321 54832 84060 0 1.8 432.3 1.18e+05 +2009 01 01 2322 54832 84120 0 2.0 430.9 1.08e+05 +2009 01 01 2323 54832 84180 0 1.9 430.5 1.18e+05 +2009 01 01 2324 54832 84240 0 2.2 429.2 1.10e+05 +2009 01 01 2325 54832 84300 0 1.9 432.6 1.17e+05 +2009 01 01 2326 54832 84360 1 2.0 430.3 1.30e+05 +2009 01 01 2327 54832 84420 0 2.0 426.9 1.24e+05 +2009 01 01 2328 54832 84480 0 2.2 430.2 1.04e+05 +2009 01 01 2329 54832 84540 0 2.4 432.5 1.23e+05 +2009 01 01 2330 54832 84600 1 2.0 435.2 1.33e+05 +2009 01 01 2331 54832 84660 0 2.1 432.7 1.33e+05 +2009 01 01 2332 54832 84720 0 2.2 427.8 9.59e+04 +2009 01 01 2333 54832 84780 1 2.0 430.9 1.14e+05 +2009 01 01 2334 54832 84840 0 1.8 431.2 1.26e+05 +2009 01 01 2335 54832 84900 0 2.1 437.0 1.29e+05 +2009 01 01 2336 54832 84960 1 2.2 433.4 1.15e+05 +2009 01 01 2337 54832 85020 1 2.2 433.4 1.15e+05 +2009 01 01 2338 54832 85080 0 2.3 429.4 9.94e+04 +2009 01 01 2339 54832 85140 0 1.4 439.8 1.37e+05 +2009 01 01 2340 54832 85200 1 1.8 437.8 1.27e+05 +2009 01 01 2341 54832 85260 0 1.6 434.2 1.12e+05 +2009 01 01 2342 54832 85320 1 1.8 436.4 1.31e+05 +2009 01 01 2343 54832 85380 0 1.3 433.8 1.63e+05 +2009 01 01 2344 54832 85440 1 1.6 432.1 1.23e+05 +2009 01 01 2345 54832 85500 0 1.7 437.0 1.25e+05 +2009 01 01 2346 54832 85560 0 1.7 437.0 1.43e+05 +2009 01 01 2347 54832 85620 0 1.2 441.6 1.87e+05 +2009 01 01 2348 54832 85680 1 1.4 437.5 1.29e+05 +2009 01 01 2349 54832 85740 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2350 54832 85800 3 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2351 54832 85860 1 1.5 444.6 1.81e+05 +2009 01 01 2352 54832 85920 0 1.5 441.2 1.74e+05 +2009 01 01 2353 54832 85980 0 1.5 441.2 1.74e+05 +2009 01 01 2354 54832 86040 1 1.8 439.1 1.57e+05 +2009 01 01 2355 54832 86100 1 2.1 432.8 1.35e+05 +2009 01 01 2356 54832 86160 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2357 54832 86220 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2358 54832 86280 1 -9999.9 -9999.9 -1.00e+05 +2009 01 01 2359 54832 86340 0 1.8 423.3 1.62e+05 diff --git a/GeospaceDataManagement/tests/test_data/2009_DSD.txt b/GeospaceDataManagement/tests/test_data/2009_DSD.txt new file mode 100644 index 0000000..aed4518 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/2009_DSD.txt @@ -0,0 +1,378 @@ +:Product: Daily Solar Data 2009_DSD.txt +:Issued: 2100 UT 07 Jan 2010 +# +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# 2009 Daily Solar Data +# +# Sunspot Stanford GOES14 +# Radio SESC Area Solar X-Ray ------ Flares ------ +# Flux Sunspot 10E-6 New Mean Bkgd X-Ray Optical +# Date 10.7cm Number Hemis. Regions Field Flux C M X S 1 2 3 +#--------------------------------------------------------------------------- +2009 01 01 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 02 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 03 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 04 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 05 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 06 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 07 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 08 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 09 70 14 20 1 -999 A0.0 0 0 0 0 0 0 0 +2009 01 10 71 17 30 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 11 70 20 50 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 12 69 12 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 13 71 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 14 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 15 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 16 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 17 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 18 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 19 71 13 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 01 20 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 21 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 22 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 23 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 24 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 25 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 26 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 27 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 28 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 29 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 30 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 01 31 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 01 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 02 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 03 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 04 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 05 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 06 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 07 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 08 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 09 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 10 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 11 70 11 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 02 12 70 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 13 70 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 14 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 15 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 16 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 17 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 18 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 19 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 20 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 21 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 22 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 23 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 24 71 12 20 1 -999 A0.0 0 0 0 0 0 0 0 +2009 02 25 71 14 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 26 70 12 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 27 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 02 28 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 01 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 02 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 03 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 04 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 05 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 06 69 12 20 1 -999 A0.0 0 0 0 0 0 0 0 +2009 03 07 69 12 20 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 08 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 09 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 10 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 11 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 12 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 13 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 14 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 15 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 16 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 17 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 18 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 19 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 20 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 21 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 22 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 23 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 24 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 25 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 26 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 27 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 28 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 29 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 30 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 03 31 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 01 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 02 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 03 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 04 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 05 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 06 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 07 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 08 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 09 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 10 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 11 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 12 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 13 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 14 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 15 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 16 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 17 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 18 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 19 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 20 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 21 71 11 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 04 22 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 23 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 24 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 25 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 26 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 27 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 28 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 04 29 70 15 20 1 -999 A0.0 0 0 0 0 0 0 0 +2009 04 30 69 12 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 01 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 02 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 03 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 04 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 05 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 06 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 07 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 08 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 09 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 10 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 11 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 12 74 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 13 74 12 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 05 14 74 18 20 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 15 74 12 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 16 74 15 20 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 17 74 13 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 18 73 14 30 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 19 72 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 20 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 21 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 22 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 23 70 13 30 1 -999 A0.0 0 0 0 0 0 0 0 +2009 05 24 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 25 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 26 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 27 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 28 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 29 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 30 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 05 31 69 15 30 1 -999 A0.0 0 0 0 0 0 0 0 +2009 06 01 73 23 80 0 -999 A1.3 0 0 0 0 0 0 0 +2009 06 02 72 19 60 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 03 73 17 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 04 71 17 20 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 05 70 13 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 06 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 07 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 08 69 12 20 1 -999 A0.0 0 0 0 0 0 0 0 +2009 06 09 69 12 20 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 10 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 11 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 12 69 12 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 13 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 14 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 15 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 16 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 17 68 11 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 06 18 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 19 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 20 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 21 67 12 20 1 -999 A0.0 0 0 0 0 0 0 0 +2009 06 22 68 24 50 1 -999 A0.0 0 0 0 0 0 0 0 +2009 06 23 68 12 30 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 24 67 14 40 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 25 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 26 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 27 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 28 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 29 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 06 30 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 01 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 02 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 03 67 17 60 1 -999 A0.0 0 0 0 0 0 0 0 +2009 07 04 71 24 100 0 -999 A1.5 0 0 0 3 0 0 0 +2009 07 05 72 26 170 0 -999 A2.2 1 0 0 1 0 0 0 +2009 07 06 70 23 160 0 -999 A0.0 1 0 0 1 0 0 0 +2009 07 07 71 21 180 0 -999 A0.0 0 0 0 1 0 0 0 +2009 07 08 71 18 190 0 -999 A1.0 0 0 0 0 0 0 0 +2009 07 09 69 15 230 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 10 68 13 60 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 11 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 12 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 13 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 14 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 15 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 16 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 17 66 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 18 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 19 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 20 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 21 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 22 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 23 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 24 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 25 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 26 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 27 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 28 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 29 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 30 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 07 31 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 01 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 02 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 03 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 04 66 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 05 66 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 06 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 07 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 08 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 09 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 10 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 11 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 12 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 13 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 14 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 15 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 16 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 17 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 18 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 19 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 20 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 21 66 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 22 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 23 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 24 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 25 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 26 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 27 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 28 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 29 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 30 67 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 08 31 68 12 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 09 01 69 12 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 02 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 03 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 04 68 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 05 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 06 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 07 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 08 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 09 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 10 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 11 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 12 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 13 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 14 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 15 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 16 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 17 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 18 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 19 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 20 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 21 72 11 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 09 22 75 26 70 1 -999 A1.4 0 0 0 0 0 0 0 +2009 09 23 76 31 140 0 -999 A1.3 0 0 0 0 0 0 0 +2009 09 24 75 32 180 0 -999 A0.0 0 0 0 1 0 0 0 +2009 09 25 72 25 80 0 -999 A0.0 1 0 0 0 0 0 0 +2009 09 26 72 14 60 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 27 72 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 28 73 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 29 72 14 40 0 -999 A0.0 0 0 0 0 0 0 0 +2009 09 30 72 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 01 72 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 02 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 03 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 04 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 05 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 06 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 07 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 08 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 09 69 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 10 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 11 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 12 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 13 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 14 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 15 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 16 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 17 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 18 70 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 19 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 20 71 11 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 10 21 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 22 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 23 73 30 60 1 -999 A0.0 0 0 0 0 0 0 0 +2009 10 24 76 21 120 0 -999 A0.0 0 0 0 0 0 0 0 +2009 10 25 76 28 130 0 -999 A1.2 1 0 0 0 0 0 0 +2009 10 26 81 29 190 0 -999 A6.2 3 0 0 4 0 0 0 +2009 10 27 82 29 260 0 -999 A4.2 5 0 0 3 0 0 0 +2009 10 28 80 26 340 0 -999 A4.4 1 0 0 1 0 0 0 +2009 10 29 77 19 380 0 -999 A2.7 0 0 0 0 0 0 0 +2009 10 30 75 13 320 0 -999 A2.8 0 0 0 0 0 0 0 +2009 10 31 75 0 0 0 -999 A7.5 1 0 0 0 0 0 0 +2009 11 01 72 0 0 0 -999 A1.4 0 0 0 0 0 0 0 +2009 11 02 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 03 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 04 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 05 71 15 50 1 -999 A0.0 0 0 0 0 0 0 0 +2009 11 06 71 16 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 07 71 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 08 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 09 72 14 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 10 73 13 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 11 72 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 12 73 11 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 13 74 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 14 75 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 15 75 11 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 11 16 76 12 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 17 77 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 18 76 29 20 2 -999 A0.0 0 0 0 0 0 0 0 +2009 11 19 77 30 20 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 20 76 31 20 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 21 76 14 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 22 76 13 10 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 23 76 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 24 75 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 25 74 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 26 75 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 27 74 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 28 73 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 29 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 11 30 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 01 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 02 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 03 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 04 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 05 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 06 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 07 71 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 08 72 0 0 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 09 73 13 10 1 -999 A0.0 0 0 0 0 0 0 0 +2009 12 10 74 13 10 0 -999 A0.0 1 0 0 0 0 0 0 +2009 12 11 72 13 20 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 12 75 12 20 0 -999 A0.0 0 0 0 0 0 0 0 +2009 12 13 76 14 20 0 -999 A1.2 0 0 0 0 0 0 0 +2009 12 14 79 28 30 1 -999 A2.6 0 0 0 1 0 0 0 +2009 12 15 82 38 130 0 -999 A5.0 0 0 0 0 0 0 0 +2009 12 16 83 30 140 0 -999 B1.2 3 0 0 3 0 0 0 +2009 12 17 87 24 210 0 -999 B1.4 0 0 0 1 0 0 0 +2009 12 18 84 20 310 0 -999 A8.3 1 0 0 0 0 0 0 +2009 12 19 82 43 240 2 -999 A7.1 1 0 0 2 0 0 0 +2009 12 20 84 42 330 1 -999 A9.7 0 0 0 0 0 0 0 +2009 12 21 83 42 180 0 -999 A9.3 2 0 0 0 0 0 0 +2009 12 22 82 26 20 0 -999 B1.0 5 0 0 2 0 0 0 +2009 12 23 78 23 70 0 -999 A7.5 1 0 0 1 0 0 0 +2009 12 24 77 11 10 0 -999 A4.0 0 0 0 0 0 0 0 +2009 12 25 76 0 0 0 -999 A2.9 0 0 0 1 0 0 0 +2009 12 26 76 13 10 1 -999 A4.1 0 0 0 0 0 0 0 +2009 12 27 77 17 100 0 -999 A2.0 0 0 0 0 0 0 0 +2009 12 28 76 17 90 0 -999 A1.4 0 0 0 0 0 0 0 +2009 12 29 75 17 80 0 -999 A1.2 0 0 0 0 0 0 0 +2009 12 30 77 15 50 0 -999 A1.4 0 0 0 0 0 0 0 +2009 12 31 80 16 120 0 -999 A8.5 0 0 0 0 0 0 0 diff --git a/GeospaceDataManagement/tests/test_data/3-day-geomag-forecast.txt b/GeospaceDataManagement/tests/test_data/3-day-geomag-forecast.txt new file mode 100644 index 0000000..0f4e8b8 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/3-day-geomag-forecast.txt @@ -0,0 +1,25 @@ +:Product: Geomagnetic Forecast +:Issued: 2023 Oct 31 2205 UTC +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# +NOAA Ap Index Forecast +Observed Ap 30 Oct 012 +Estimated Ap 31 Oct 010 +Predicted Ap 01 Nov-03 Nov 008-005-005 + +NOAA Geomagnetic Activity Probabilities 01 Nov-03 Nov +Active 25/20/20 +Minor storm 05/01/01 +Moderate storm 01/01/01 +Strong-Extreme storm 01/01/01 + +NOAA Kp index forecast 01 Nov - 03 Nov + Nov 01 Nov 02 Nov 03 +00-03UT 2.33 1.67 1.67 +03-06UT 2.67 1.67 1.33 +06-09UT 2.33 1.33 1.33 +09-12UT 2.00 1.33 1.33 +12-15UT 2.00 1.33 1.33 +15-18UT 2.00 1.33 1.33 +18-21UT 2.00 1.33 1.67 +21-00UT 2.33 1.67 1.67 diff --git a/GeospaceDataManagement/tests/test_data/3-day-solar-geomag-predictions.txt b/GeospaceDataManagement/tests/test_data/3-day-solar-geomag-predictions.txt new file mode 100644 index 0000000..595eeb7 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/3-day-solar-geomag-predictions.txt @@ -0,0 +1,68 @@ +:Product: 3-day Space Weather Predictions daypre.txt +:Issued: 2023 Oct 31 2200 UTC +# Prepared by the US Dept. of Commerce, NOAA, Space Weather Prediction Center +# Product description and SWPC contact on the Web +# http://www.swpc.noaa.gov/wwire.html +# +# 3-day Space Weather Predictions +# +:Prediction_dates: 2023 Nov 01 2023 Nov 02 2023 Nov 03 +:Geomagnetic_A_indices: +A_Fredericksburg 8 6 6 +A_Planetary 8 5 5 +# +# Predicted 3-hour Middle latitude k-indices +:Pred_Mid_k: +Mid/00-03UT 2 2 2 +Mid/03-06UT 3 2 1 +Mid/06-09UT 2 2 2 +Mid/09-12UT 2 1 1 +Mid/12-15UT 2 2 2 +Mid/15-18UT 2 1 1 +Mid/18-21UT 2 1 2 +Mid/21-00UT 2 2 2 +# +# Predicted 3-hour High latitude k-indices +:Pred_High_k: +High/00-03UT 2 1 1 +High/03-06UT 2 1 1 +High/06-09UT 3 1 1 +High/09-12UT 3 2 2 +High/12-15UT 3 2 2 +High/15-18UT 2 1 1 +High/18-21UT 2 1 1 +High/21-00UT 1 1 1 +# +# Probability of Geomagnetic conditions at Middle Latitude +:Prob_Mid: +Mid/Active 15 10 10 +Mid/Minor_Storm 5 5 5 +Mid/Major-Severe_Storm 1 1 1 +# +# Probability of Geomagnetic conditions at High Latitudes +:Prob_High: +High/Active 15 15 15 +High/Minor_Storm 20 20 20 +High/Major-Severe_Storm 20 15 15 +# +# Polar Cap Absorption Forecast +:Polar_cap: + green +# +# Solar +:10cm_flux: + 148 148 150 +# +:Whole_Disk_Flare_Prob: +Class_M 25 25 25 +Class_X 5 5 5 +Proton 1 1 1 +# +# Region Flare Probabilities for 2023 Nov 01 +# Region Class C M X P +:Reg_Prob: 2023 Oct 31 + 3472 15 1 1 1 + 3473 20 5 1 1 + 3474 50 15 5 1 + 3476 10 1 1 1 + 3477 15 5 1 1 diff --git a/GeospaceDataManagement/tests/test_data/45-day-forecast.txt b/GeospaceDataManagement/tests/test_data/45-day-forecast.txt new file mode 100644 index 0000000..9bfdedf --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/45-day-forecast.txt @@ -0,0 +1,32 @@ +:Product: 45 Day AP Forecast 45DF.txt +:Issued: 2023 Oct 31 2113 UTC +# Prepared by the U.S. Air Force. +# Retransmitted by the Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# +# 45-Day AP and F10.7cm Flux Forecast +#------------------------------------------------------------- +45-DAY AP FORECAST +01Nov23 008 02Nov23 005 03Nov23 005 04Nov23 005 05Nov23 005 +06Nov23 005 07Nov23 014 08Nov23 005 09Nov23 012 10Nov23 008 +11Nov23 005 12Nov23 005 13Nov23 005 14Nov23 008 15Nov23 010 +16Nov23 005 17Nov23 005 18Nov23 005 19Nov23 005 20Nov23 005 +21Nov23 005 22Nov23 015 23Nov23 010 24Nov23 015 25Nov23 015 +26Nov23 020 27Nov23 015 28Nov23 008 29Nov23 005 30Nov23 005 +01Dec23 005 02Dec23 005 03Dec23 005 04Dec23 005 05Dec23 005 +06Dec23 012 07Dec23 008 08Dec23 005 09Dec23 005 10Dec23 005 +11Dec23 008 12Dec23 010 13Dec23 008 14Dec23 005 15Dec23 005 +45-DAY F10.7 CM FLUX FORECAST +01Nov23 148 02Nov23 148 03Nov23 150 04Nov23 150 05Nov23 148 +06Nov23 146 07Nov23 144 08Nov23 136 09Nov23 136 10Nov23 138 +11Nov23 136 12Nov23 134 13Nov23 130 14Nov23 130 15Nov23 130 +16Nov23 125 17Nov23 123 18Nov23 120 19Nov23 125 20Nov23 125 +21Nov23 125 22Nov23 125 23Nov23 130 24Nov23 130 25Nov23 130 +26Nov23 130 27Nov23 132 28Nov23 134 29Nov23 134 30Nov23 136 +01Dec23 136 02Dec23 136 03Dec23 140 04Dec23 138 05Dec23 136 +06Dec23 136 07Dec23 138 08Dec23 136 09Dec23 134 10Dec23 130 +11Dec23 130 12Dec23 130 13Dec23 125 14Dec23 123 15Dec23 120 +FORECASTER: DY / GATES +99999 +NNNN diff --git a/GeospaceDataManagement/tests/test_data/Fadj_2009-01.txt b/GeospaceDataManagement/tests/test_data/Fadj_2009-01.txt new file mode 100644 index 0000000..4b098c9 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/Fadj_2009-01.txt @@ -0,0 +1 @@ +{"meta":{"source":"GFZ Potsdam","license":"CC BY 4.0"},"datetime":["2009-01-01T00:00:00Z","2009-01-02T00:00:00Z","2009-01-03T00:00:00Z","2009-01-04T00:00:00Z","2009-01-05T00:00:00Z","2009-01-06T00:00:00Z","2009-01-07T00:00:00Z","2009-01-08T00:00:00Z","2009-01-09T00:00:00Z","2009-01-10T00:00:00Z","2009-01-11T00:00:00Z","2009-01-12T00:00:00Z","2009-01-13T00:00:00Z","2009-01-14T00:00:00Z","2009-01-15T00:00:00Z","2009-01-16T00:00:00Z","2009-01-17T00:00:00Z","2009-01-18T00:00:00Z","2009-01-19T00:00:00Z","2009-01-20T00:00:00Z","2009-01-21T00:00:00Z","2009-01-22T00:00:00Z","2009-01-23T00:00:00Z","2009-01-24T00:00:00Z","2009-01-25T00:00:00Z","2009-01-26T00:00:00Z","2009-01-27T00:00:00Z","2009-01-28T00:00:00Z","2009-01-29T00:00:00Z","2009-01-30T00:00:00Z","2009-01-31T00:00:00Z","2009-02-01T00:00:00Z"],"Fadj":[66.6,67.6,67.2,66.6,66.9,66.5,66.7,66.5,67.4,68.5,67.7,67.0,68.2,68.9,68.8,68.5,69.6,68.8,68.6,68.1,67.2,66.9,67.8,66.6,67.7,67.8,67.6,67.4,67.3,67.1,67.4,67.5]} diff --git a/GeospaceDataManagement/tests/test_data/Fobs_2009-01.txt b/GeospaceDataManagement/tests/test_data/Fobs_2009-01.txt new file mode 100644 index 0000000..696eff0 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/Fobs_2009-01.txt @@ -0,0 +1 @@ +{"meta":{"source":"GFZ Potsdam","license":"CC BY 4.0"},"datetime":["2009-01-01T00:00:00Z","2009-01-02T00:00:00Z","2009-01-03T00:00:00Z","2009-01-04T00:00:00Z","2009-01-05T00:00:00Z","2009-01-06T00:00:00Z","2009-01-07T00:00:00Z","2009-01-08T00:00:00Z","2009-01-09T00:00:00Z","2009-01-10T00:00:00Z","2009-01-11T00:00:00Z","2009-01-12T00:00:00Z","2009-01-13T00:00:00Z","2009-01-14T00:00:00Z","2009-01-15T00:00:00Z","2009-01-16T00:00:00Z","2009-01-17T00:00:00Z","2009-01-18T00:00:00Z","2009-01-19T00:00:00Z","2009-01-20T00:00:00Z","2009-01-21T00:00:00Z","2009-01-22T00:00:00Z","2009-01-23T00:00:00Z","2009-01-24T00:00:00Z","2009-01-25T00:00:00Z","2009-01-26T00:00:00Z","2009-01-27T00:00:00Z","2009-01-28T00:00:00Z","2009-01-29T00:00:00Z","2009-01-30T00:00:00Z","2009-01-31T00:00:00Z","2009-02-01T00:00:00Z"],"Fobs":[68.9,69.9,69.5,68.8,69.2,68.7,69.0,68.7,69.7,70.9,70.0,69.3,70.5,71.2,71.1,70.8,71.9,71.1,70.8,70.4,69.4,69.0,70.0,68.8,69.8,69.9,69.7,69.5,69.3,69.1,69.4,69.5]} diff --git a/GeospaceDataManagement/tests/test_data/Hp30_2009-01.txt b/GeospaceDataManagement/tests/test_data/Hp30_2009-01.txt new file mode 100644 index 0000000..5c1ad39 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/Hp30_2009-01.txt @@ -0,0 +1 @@ +{"meta":{"source":"GFZ Potsdam","license":"CC BY 4.0"},"datetime":["2009-01-01T00:00:00Z","2009-01-01T00:30:00Z","2009-01-01T01:00:00Z","2009-01-01T01:30:00Z","2009-01-01T02:00:00Z","2009-01-01T02:30:00Z","2009-01-01T03:00:00Z","2009-01-01T03:30:00Z","2009-01-01T04:00:00Z","2009-01-01T04:30:00Z","2009-01-01T05:00:00Z","2009-01-01T05:30:00Z","2009-01-01T06:00:00Z","2009-01-01T06:30:00Z","2009-01-01T07:00:00Z","2009-01-01T07:30:00Z","2009-01-01T08:00:00Z","2009-01-01T08:30:00Z","2009-01-01T09:00:00Z","2009-01-01T09:30:00Z","2009-01-01T10:00:00Z","2009-01-01T10:30:00Z","2009-01-01T11:00:00Z","2009-01-01T11:30:00Z","2009-01-01T12:00:00Z","2009-01-01T12:30:00Z","2009-01-01T13:00:00Z","2009-01-01T13:30:00Z","2009-01-01T14:00:00Z","2009-01-01T14:30:00Z","2009-01-01T15:00:00Z","2009-01-01T15:30:00Z","2009-01-01T16:00:00Z","2009-01-01T16:30:00Z","2009-01-01T17:00:00Z","2009-01-01T17:30:00Z","2009-01-01T18:00:00Z","2009-01-01T18:30:00Z","2009-01-01T19:00:00Z","2009-01-01T19:30:00Z","2009-01-01T20:00:00Z","2009-01-01T20:30:00Z","2009-01-01T21:00:00Z","2009-01-01T21:30:00Z","2009-01-01T22:00:00Z","2009-01-01T22:30:00Z","2009-01-01T23:00:00Z","2009-01-01T23:30:00Z","2009-01-02T00:00:00Z","2009-01-02T00:30:00Z","2009-01-02T01:00:00Z","2009-01-02T01:30:00Z","2009-01-02T02:00:00Z","2009-01-02T02:30:00Z","2009-01-02T03:00:00Z","2009-01-02T03:30:00Z","2009-01-02T04:00:00Z","2009-01-02T04:30:00Z","2009-01-02T05:00:00Z","2009-01-02T05:30:00Z","2009-01-02T06:00:00Z","2009-01-02T06:30:00Z","2009-01-02T07:00:00Z","2009-01-02T07:30:00Z","2009-01-02T08:00:00Z","2009-01-02T08:30:00Z","2009-01-02T09:00:00Z","2009-01-02T09:30:00Z","2009-01-02T10:00:00Z","2009-01-02T10:30:00Z","2009-01-02T11:00:00Z","2009-01-02T11:30:00Z","2009-01-02T12:00:00Z","2009-01-02T12:30:00Z","2009-01-02T13:00:00Z","2009-01-02T13:30:00Z","2009-01-02T14:00:00Z","2009-01-02T14:30:00Z","2009-01-02T15:00:00Z","2009-01-02T15:30:00Z","2009-01-02T16:00:00Z","2009-01-02T16:30:00Z","2009-01-02T17:00:00Z","2009-01-02T17:30:00Z","2009-01-02T18:00:00Z","2009-01-02T18:30:00Z","2009-01-02T19:00:00Z","2009-01-02T19:30:00Z","2009-01-02T20:00:00Z","2009-01-02T20:30:00Z","2009-01-02T21:00:00Z","2009-01-02T21:30:00Z","2009-01-02T22:00:00Z","2009-01-02T22:30:00Z","2009-01-02T23:00:00Z","2009-01-02T23:30:00Z","2009-01-03T00:00:00Z","2009-01-03T00:30:00Z","2009-01-03T01:00:00Z","2009-01-03T01:30:00Z","2009-01-03T02:00:00Z","2009-01-03T02:30:00Z","2009-01-03T03:00:00Z","2009-01-03T03:30:00Z","2009-01-03T04:00:00Z","2009-01-03T04:30:00Z","2009-01-03T05:00:00Z","2009-01-03T05:30:00Z","2009-01-03T06:00:00Z","2009-01-03T06:30:00Z","2009-01-03T07:00:00Z","2009-01-03T07:30:00Z","2009-01-03T08:00:00Z","2009-01-03T08:30:00Z","2009-01-03T09:00:00Z","2009-01-03T09:30:00Z","2009-01-03T10:00:00Z","2009-01-03T10:30:00Z","2009-01-03T11:00:00Z","2009-01-03T11:30:00Z","2009-01-03T12:00:00Z","2009-01-03T12:30:00Z","2009-01-03T13:00:00Z","2009-01-03T13:30:00Z","2009-01-03T14:00:00Z","2009-01-03T14:30:00Z","2009-01-03T15:00:00Z","2009-01-03T15:30:00Z","2009-01-03T16:00:00Z","2009-01-03T16:30:00Z","2009-01-03T17:00:00Z","2009-01-03T17:30:00Z","2009-01-03T18:00:00Z","2009-01-03T18:30:00Z","2009-01-03T19:00:00Z","2009-01-03T19:30:00Z","2009-01-03T20:00:00Z","2009-01-03T20:30:00Z","2009-01-03T21:00:00Z","2009-01-03T21:30:00Z","2009-01-03T22:00:00Z","2009-01-03T22:30:00Z","2009-01-03T23:00:00Z","2009-01-03T23:30:00Z","2009-01-04T00:00:00Z","2009-01-04T00:30:00Z","2009-01-04T01:00:00Z","2009-01-04T01:30:00Z","2009-01-04T02:00:00Z","2009-01-04T02:30:00Z","2009-01-04T03:00:00Z","2009-01-04T03:30:00Z","2009-01-04T04:00:00Z","2009-01-04T04:30:00Z","2009-01-04T05:00:00Z","2009-01-04T05:30:00Z","2009-01-04T06:00:00Z","2009-01-04T06:30:00Z","2009-01-04T07:00:00Z","2009-01-04T07:30:00Z","2009-01-04T08:00:00Z","2009-01-04T08:30:00Z","2009-01-04T09:00:00Z","2009-01-04T09:30:00Z","2009-01-04T10:00:00Z","2009-01-04T10:30:00Z","2009-01-04T11:00:00Z","2009-01-04T11:30:00Z","2009-01-04T12:00:00Z","2009-01-04T12:30:00Z","2009-01-04T13:00:00Z","2009-01-04T13:30:00Z","2009-01-04T14:00:00Z","2009-01-04T14:30:00Z","2009-01-04T15:00:00Z","2009-01-04T15:30:00Z","2009-01-04T16:00:00Z","2009-01-04T16:30:00Z","2009-01-04T17:00:00Z","2009-01-04T17:30:00Z","2009-01-04T18:00:00Z","2009-01-04T18:30:00Z","2009-01-04T19:00:00Z","2009-01-04T19:30:00Z","2009-01-04T20:00:00Z","2009-01-04T20:30:00Z","2009-01-04T21:00:00Z","2009-01-04T21:30:00Z","2009-01-04T22:00:00Z","2009-01-04T22:30:00Z","2009-01-04T23:00:00Z","2009-01-04T23:30:00Z","2009-01-05T00:00:00Z","2009-01-05T00:30:00Z","2009-01-05T01:00:00Z","2009-01-05T01:30:00Z","2009-01-05T02:00:00Z","2009-01-05T02:30:00Z","2009-01-05T03:00:00Z","2009-01-05T03:30:00Z","2009-01-05T04:00:00Z","2009-01-05T04:30:00Z","2009-01-05T05:00:00Z","2009-01-05T05:30:00Z","2009-01-05T06:00:00Z","2009-01-05T06:30:00Z","2009-01-05T07:00:00Z","2009-01-05T07:30:00Z","2009-01-05T08:00:00Z","2009-01-05T08:30:00Z","2009-01-05T09:00:00Z","2009-01-05T09:30:00Z","2009-01-05T10:00:00Z","2009-01-05T10:30:00Z","2009-01-05T11:00:00Z","2009-01-05T11:30:00Z","2009-01-05T12:00:00Z","2009-01-05T12:30:00Z","2009-01-05T13:00:00Z","2009-01-05T13:30:00Z","2009-01-05T14:00:00Z","2009-01-05T14:30:00Z","2009-01-05T15:00:00Z","2009-01-05T15:30:00Z","2009-01-05T16:00:00Z","2009-01-05T16:30:00Z","2009-01-05T17:00:00Z","2009-01-05T17:30:00Z","2009-01-05T18:00:00Z","2009-01-05T18:30:00Z","2009-01-05T19:00:00Z","2009-01-05T19:30:00Z","2009-01-05T20:00:00Z","2009-01-05T20:30:00Z","2009-01-05T21:00:00Z","2009-01-05T21:30:00Z","2009-01-05T22:00:00Z","2009-01-05T22:30:00Z","2009-01-05T23:00:00Z","2009-01-05T23:30:00Z","2009-01-06T00:00:00Z","2009-01-06T00:30:00Z","2009-01-06T01:00:00Z","2009-01-06T01:30:00Z","2009-01-06T02:00:00Z","2009-01-06T02:30:00Z","2009-01-06T03:00:00Z","2009-01-06T03:30:00Z","2009-01-06T04:00:00Z","2009-01-06T04:30:00Z","2009-01-06T05:00:00Z","2009-01-06T05:30:00Z","2009-01-06T06:00:00Z","2009-01-06T06:30:00Z","2009-01-06T07:00:00Z","2009-01-06T07:30:00Z","2009-01-06T08:00:00Z","2009-01-06T08:30:00Z","2009-01-06T09:00:00Z","2009-01-06T09:30:00Z","2009-01-06T10:00:00Z","2009-01-06T10:30:00Z","2009-01-06T11:00:00Z","2009-01-06T11:30:00Z","2009-01-06T12:00:00Z","2009-01-06T12:30:00Z","2009-01-06T13:00:00Z","2009-01-06T13:30:00Z","2009-01-06T14:00:00Z","2009-01-06T14:30:00Z","2009-01-06T15:00:00Z","2009-01-06T15:30:00Z","2009-01-06T16:00:00Z","2009-01-06T16:30:00Z","2009-01-06T17:00:00Z","2009-01-06T17:30:00Z","2009-01-06T18:00:00Z","2009-01-06T18:30:00Z","2009-01-06T19:00:00Z","2009-01-06T19:30:00Z","2009-01-06T20:00:00Z","2009-01-06T20:30:00Z","2009-01-06T21:00:00Z","2009-01-06T21:30:00Z","2009-01-06T22:00:00Z","2009-01-06T22:30:00Z","2009-01-06T23:00:00Z","2009-01-06T23:30:00Z","2009-01-07T00:00:00Z","2009-01-07T00:30:00Z","2009-01-07T01:00:00Z","2009-01-07T01:30:00Z","2009-01-07T02:00:00Z","2009-01-07T02:30:00Z","2009-01-07T03:00:00Z","2009-01-07T03:30:00Z","2009-01-07T04:00:00Z","2009-01-07T04:30:00Z","2009-01-07T05:00:00Z","2009-01-07T05:30:00Z","2009-01-07T06:00:00Z","2009-01-07T06:30:00Z","2009-01-07T07:00:00Z","2009-01-07T07:30:00Z","2009-01-07T08:00:00Z","2009-01-07T08:30:00Z","2009-01-07T09:00:00Z","2009-01-07T09:30:00Z","2009-01-07T10:00:00Z","2009-01-07T10:30:00Z","2009-01-07T11:00:00Z","2009-01-07T11:30:00Z","2009-01-07T12:00:00Z","2009-01-07T12:30:00Z","2009-01-07T13:00:00Z","2009-01-07T13:30:00Z","2009-01-07T14:00:00Z","2009-01-07T14:30:00Z","2009-01-07T15:00:00Z","2009-01-07T15:30:00Z","2009-01-07T16:00:00Z","2009-01-07T16:30:00Z","2009-01-07T17:00:00Z","2009-01-07T17:30:00Z","2009-01-07T18:00:00Z","2009-01-07T18:30:00Z","2009-01-07T19:00:00Z","2009-01-07T19:30:00Z","2009-01-07T20:00:00Z","2009-01-07T20:30:00Z","2009-01-07T21:00:00Z","2009-01-07T21:30:00Z","2009-01-07T22:00:00Z","2009-01-07T22:30:00Z","2009-01-07T23:00:00Z","2009-01-07T23:30:00Z","2009-01-08T00:00:00Z","2009-01-08T00:30:00Z","2009-01-08T01:00:00Z","2009-01-08T01:30:00Z","2009-01-08T02:00:00Z","2009-01-08T02:30:00Z","2009-01-08T03:00:00Z","2009-01-08T03:30:00Z","2009-01-08T04:00:00Z","2009-01-08T04:30:00Z","2009-01-08T05:00:00Z","2009-01-08T05:30:00Z","2009-01-08T06:00:00Z","2009-01-08T06:30:00Z","2009-01-08T07:00:00Z","2009-01-08T07:30:00Z","2009-01-08T08:00:00Z","2009-01-08T08:30:00Z","2009-01-08T09:00:00Z","2009-01-08T09:30:00Z","2009-01-08T10:00:00Z","2009-01-08T10:30:00Z","2009-01-08T11:00:00Z","2009-01-08T11:30:00Z","2009-01-08T12:00:00Z","2009-01-08T12:30:00Z","2009-01-08T13:00:00Z","2009-01-08T13:30:00Z","2009-01-08T14:00:00Z","2009-01-08T14:30:00Z","2009-01-08T15:00:00Z","2009-01-08T15:30:00Z","2009-01-08T16:00:00Z","2009-01-08T16:30:00Z","2009-01-08T17:00:00Z","2009-01-08T17:30:00Z","2009-01-08T18:00:00Z","2009-01-08T18:30:00Z","2009-01-08T19:00:00Z","2009-01-08T19:30:00Z","2009-01-08T20:00:00Z","2009-01-08T20:30:00Z","2009-01-08T21:00:00Z","2009-01-08T21:30:00Z","2009-01-08T22:00:00Z","2009-01-08T22:30:00Z","2009-01-08T23:00:00Z","2009-01-08T23:30:00Z","2009-01-09T00:00:00Z","2009-01-09T00:30:00Z","2009-01-09T01:00:00Z","2009-01-09T01:30:00Z","2009-01-09T02:00:00Z","2009-01-09T02:30:00Z","2009-01-09T03:00:00Z","2009-01-09T03:30:00Z","2009-01-09T04:00:00Z","2009-01-09T04:30:00Z","2009-01-09T05:00:00Z","2009-01-09T05:30:00Z","2009-01-09T06:00:00Z","2009-01-09T06:30:00Z","2009-01-09T07:00:00Z","2009-01-09T07:30:00Z","2009-01-09T08:00:00Z","2009-01-09T08:30:00Z","2009-01-09T09:00:00Z","2009-01-09T09:30:00Z","2009-01-09T10:00:00Z","2009-01-09T10:30:00Z","2009-01-09T11:00:00Z","2009-01-09T11:30:00Z","2009-01-09T12:00:00Z","2009-01-09T12:30:00Z","2009-01-09T13:00:00Z","2009-01-09T13:30:00Z","2009-01-09T14:00:00Z","2009-01-09T14:30:00Z","2009-01-09T15:00:00Z","2009-01-09T15:30:00Z","2009-01-09T16:00:00Z","2009-01-09T16:30:00Z","2009-01-09T17:00:00Z","2009-01-09T17:30:00Z","2009-01-09T18:00:00Z","2009-01-09T18:30:00Z","2009-01-09T19:00:00Z","2009-01-09T19:30:00Z","2009-01-09T20:00:00Z","2009-01-09T20:30:00Z","2009-01-09T21:00:00Z","2009-01-09T21:30:00Z","2009-01-09T22:00:00Z","2009-01-09T22:30:00Z","2009-01-09T23:00:00Z","2009-01-09T23:30:00Z","2009-01-10T00:00:00Z","2009-01-10T00:30:00Z","2009-01-10T01:00:00Z","2009-01-10T01:30:00Z","2009-01-10T02:00:00Z","2009-01-10T02:30:00Z","2009-01-10T03:00:00Z","2009-01-10T03:30:00Z","2009-01-10T04:00:00Z","2009-01-10T04:30:00Z","2009-01-10T05:00:00Z","2009-01-10T05:30:00Z","2009-01-10T06:00:00Z","2009-01-10T06:30:00Z","2009-01-10T07:00:00Z","2009-01-10T07:30:00Z","2009-01-10T08:00:00Z","2009-01-10T08:30:00Z","2009-01-10T09:00:00Z","2009-01-10T09:30:00Z","2009-01-10T10:00:00Z","2009-01-10T10:30:00Z","2009-01-10T11:00:00Z","2009-01-10T11:30:00Z","2009-01-10T12:00:00Z","2009-01-10T12:30:00Z","2009-01-10T13:00:00Z","2009-01-10T13:30:00Z","2009-01-10T14:00:00Z","2009-01-10T14:30:00Z","2009-01-10T15:00:00Z","2009-01-10T15:30:00Z","2009-01-10T16:00:00Z","2009-01-10T16:30:00Z","2009-01-10T17:00:00Z","2009-01-10T17:30:00Z","2009-01-10T18:00:00Z","2009-01-10T18:30:00Z","2009-01-10T19:00:00Z","2009-01-10T19:30:00Z","2009-01-10T20:00:00Z","2009-01-10T20:30:00Z","2009-01-10T21:00:00Z","2009-01-10T21:30:00Z","2009-01-10T22:00:00Z","2009-01-10T22:30:00Z","2009-01-10T23:00:00Z","2009-01-10T23:30:00Z","2009-01-11T00:00:00Z","2009-01-11T00:30:00Z","2009-01-11T01:00:00Z","2009-01-11T01:30:00Z","2009-01-11T02:00:00Z","2009-01-11T02:30:00Z","2009-01-11T03:00:00Z","2009-01-11T03:30:00Z","2009-01-11T04:00:00Z","2009-01-11T04:30:00Z","2009-01-11T05:00:00Z","2009-01-11T05:30:00Z","2009-01-11T06:00:00Z","2009-01-11T06:30:00Z","2009-01-11T07:00:00Z","2009-01-11T07:30:00Z","2009-01-11T08:00:00Z","2009-01-11T08:30:00Z","2009-01-11T09:00:00Z","2009-01-11T09:30:00Z","2009-01-11T10:00:00Z","2009-01-11T10:30:00Z","2009-01-11T11:00:00Z","2009-01-11T11:30:00Z","2009-01-11T12:00:00Z","2009-01-11T12:30:00Z","2009-01-11T13:00:00Z","2009-01-11T13:30:00Z","2009-01-11T14:00:00Z","2009-01-11T14:30:00Z","2009-01-11T15:00:00Z","2009-01-11T15:30:00Z","2009-01-11T16:00:00Z","2009-01-11T16:30:00Z","2009-01-11T17:00:00Z","2009-01-11T17:30:00Z","2009-01-11T18:00:00Z","2009-01-11T18:30:00Z","2009-01-11T19:00:00Z","2009-01-11T19:30:00Z","2009-01-11T20:00:00Z","2009-01-11T20:30:00Z","2009-01-11T21:00:00Z","2009-01-11T21:30:00Z","2009-01-11T22:00:00Z","2009-01-11T22:30:00Z","2009-01-11T23:00:00Z","2009-01-11T23:30:00Z","2009-01-12T00:00:00Z","2009-01-12T00:30:00Z","2009-01-12T01:00:00Z","2009-01-12T01:30:00Z","2009-01-12T02:00:00Z","2009-01-12T02:30:00Z","2009-01-12T03:00:00Z","2009-01-12T03:30:00Z","2009-01-12T04:00:00Z","2009-01-12T04:30:00Z","2009-01-12T05:00:00Z","2009-01-12T05:30:00Z","2009-01-12T06:00:00Z","2009-01-12T06:30:00Z","2009-01-12T07:00:00Z","2009-01-12T07:30:00Z","2009-01-12T08:00:00Z","2009-01-12T08:30:00Z","2009-01-12T09:00:00Z","2009-01-12T09:30:00Z","2009-01-12T10:00:00Z","2009-01-12T10:30:00Z","2009-01-12T11:00:00Z","2009-01-12T11:30:00Z","2009-01-12T12:00:00Z","2009-01-12T12:30:00Z","2009-01-12T13:00:00Z","2009-01-12T13:30:00Z","2009-01-12T14:00:00Z","2009-01-12T14:30:00Z","2009-01-12T15:00:00Z","2009-01-12T15:30:00Z","2009-01-12T16:00:00Z","2009-01-12T16:30:00Z","2009-01-12T17:00:00Z","2009-01-12T17:30:00Z","2009-01-12T18:00:00Z","2009-01-12T18:30:00Z","2009-01-12T19:00:00Z","2009-01-12T19:30:00Z","2009-01-12T20:00:00Z","2009-01-12T20:30:00Z","2009-01-12T21:00:00Z","2009-01-12T21:30:00Z","2009-01-12T22:00:00Z","2009-01-12T22:30:00Z","2009-01-12T23:00:00Z","2009-01-12T23:30:00Z","2009-01-13T00:00:00Z","2009-01-13T00:30:00Z","2009-01-13T01:00:00Z","2009-01-13T01:30:00Z","2009-01-13T02:00:00Z","2009-01-13T02:30:00Z","2009-01-13T03:00:00Z","2009-01-13T03:30:00Z","2009-01-13T04:00:00Z","2009-01-13T04:30:00Z","2009-01-13T05:00:00Z","2009-01-13T05:30:00Z","2009-01-13T06:00:00Z","2009-01-13T06:30:00Z","2009-01-13T07:00:00Z","2009-01-13T07:30:00Z","2009-01-13T08:00:00Z","2009-01-13T08:30:00Z","2009-01-13T09:00:00Z","2009-01-13T09:30:00Z","2009-01-13T10:00:00Z","2009-01-13T10:30:00Z","2009-01-13T11:00:00Z","2009-01-13T11:30:00Z","2009-01-13T12:00:00Z","2009-01-13T12:30:00Z","2009-01-13T13:00:00Z","2009-01-13T13:30:00Z","2009-01-13T14:00:00Z","2009-01-13T14:30:00Z","2009-01-13T15:00:00Z","2009-01-13T15:30:00Z","2009-01-13T16:00:00Z","2009-01-13T16:30:00Z","2009-01-13T17:00:00Z","2009-01-13T17:30:00Z","2009-01-13T18:00:00Z","2009-01-13T18:30:00Z","2009-01-13T19:00:00Z","2009-01-13T19:30:00Z","2009-01-13T20:00:00Z","2009-01-13T20:30:00Z","2009-01-13T21:00:00Z","2009-01-13T21:30:00Z","2009-01-13T22:00:00Z","2009-01-13T22:30:00Z","2009-01-13T23:00:00Z","2009-01-13T23:30:00Z","2009-01-14T00:00:00Z","2009-01-14T00:30:00Z","2009-01-14T01:00:00Z","2009-01-14T01:30:00Z","2009-01-14T02:00:00Z","2009-01-14T02:30:00Z","2009-01-14T03:00:00Z","2009-01-14T03:30:00Z","2009-01-14T04:00:00Z","2009-01-14T04:30:00Z","2009-01-14T05:00:00Z","2009-01-14T05:30:00Z","2009-01-14T06:00:00Z","2009-01-14T06:30:00Z","2009-01-14T07:00:00Z","2009-01-14T07:30:00Z","2009-01-14T08:00:00Z","2009-01-14T08:30:00Z","2009-01-14T09:00:00Z","2009-01-14T09:30:00Z","2009-01-14T10:00:00Z","2009-01-14T10:30:00Z","2009-01-14T11:00:00Z","2009-01-14T11:30:00Z","2009-01-14T12:00:00Z","2009-01-14T12:30:00Z","2009-01-14T13:00:00Z","2009-01-14T13:30:00Z","2009-01-14T14:00:00Z","2009-01-14T14:30:00Z","2009-01-14T15:00:00Z","2009-01-14T15:30:00Z","2009-01-14T16:00:00Z","2009-01-14T16:30:00Z","2009-01-14T17:00:00Z","2009-01-14T17:30:00Z","2009-01-14T18:00:00Z","2009-01-14T18:30:00Z","2009-01-14T19:00:00Z","2009-01-14T19:30:00Z","2009-01-14T20:00:00Z","2009-01-14T20:30:00Z","2009-01-14T21:00:00Z","2009-01-14T21:30:00Z","2009-01-14T22:00:00Z","2009-01-14T22:30:00Z","2009-01-14T23:00:00Z","2009-01-14T23:30:00Z","2009-01-15T00:00:00Z","2009-01-15T00:30:00Z","2009-01-15T01:00:00Z","2009-01-15T01:30:00Z","2009-01-15T02:00:00Z","2009-01-15T02:30:00Z","2009-01-15T03:00:00Z","2009-01-15T03:30:00Z","2009-01-15T04:00:00Z","2009-01-15T04:30:00Z","2009-01-15T05:00:00Z","2009-01-15T05:30:00Z","2009-01-15T06:00:00Z","2009-01-15T06:30:00Z","2009-01-15T07:00:00Z","2009-01-15T07:30:00Z","2009-01-15T08:00:00Z","2009-01-15T08:30:00Z","2009-01-15T09:00:00Z","2009-01-15T09:30:00Z","2009-01-15T10:00:00Z","2009-01-15T10:30:00Z","2009-01-15T11:00:00Z","2009-01-15T11:30:00Z","2009-01-15T12:00:00Z","2009-01-15T12:30:00Z","2009-01-15T13:00:00Z","2009-01-15T13:30:00Z","2009-01-15T14:00:00Z","2009-01-15T14:30:00Z","2009-01-15T15:00:00Z","2009-01-15T15:30:00Z","2009-01-15T16:00:00Z","2009-01-15T16:30:00Z","2009-01-15T17:00:00Z","2009-01-15T17:30:00Z","2009-01-15T18:00:00Z","2009-01-15T18:30:00Z","2009-01-15T19:00:00Z","2009-01-15T19:30:00Z","2009-01-15T20:00:00Z","2009-01-15T20:30:00Z","2009-01-15T21:00:00Z","2009-01-15T21:30:00Z","2009-01-15T22:00:00Z","2009-01-15T22:30:00Z","2009-01-15T23:00:00Z","2009-01-15T23:30:00Z","2009-01-16T00:00:00Z","2009-01-16T00:30:00Z","2009-01-16T01:00:00Z","2009-01-16T01:30:00Z","2009-01-16T02:00:00Z","2009-01-16T02:30:00Z","2009-01-16T03:00:00Z","2009-01-16T03:30:00Z","2009-01-16T04:00:00Z","2009-01-16T04:30:00Z","2009-01-16T05:00:00Z","2009-01-16T05:30:00Z","2009-01-16T06:00:00Z","2009-01-16T06:30:00Z","2009-01-16T07:00:00Z","2009-01-16T07:30:00Z","2009-01-16T08:00:00Z","2009-01-16T08:30:00Z","2009-01-16T09:00:00Z","2009-01-16T09:30:00Z","2009-01-16T10:00:00Z","2009-01-16T10:30:00Z","2009-01-16T11:00:00Z","2009-01-16T11:30:00Z","2009-01-16T12:00:00Z","2009-01-16T12:30:00Z","2009-01-16T13:00:00Z","2009-01-16T13:30:00Z","2009-01-16T14:00:00Z","2009-01-16T14:30:00Z","2009-01-16T15:00:00Z","2009-01-16T15:30:00Z","2009-01-16T16:00:00Z","2009-01-16T16:30:00Z","2009-01-16T17:00:00Z","2009-01-16T17:30:00Z","2009-01-16T18:00:00Z","2009-01-16T18:30:00Z","2009-01-16T19:00:00Z","2009-01-16T19:30:00Z","2009-01-16T20:00:00Z","2009-01-16T20:30:00Z","2009-01-16T21:00:00Z","2009-01-16T21:30:00Z","2009-01-16T22:00:00Z","2009-01-16T22:30:00Z","2009-01-16T23:00:00Z","2009-01-16T23:30:00Z","2009-01-17T00:00:00Z","2009-01-17T00:30:00Z","2009-01-17T01:00:00Z","2009-01-17T01:30:00Z","2009-01-17T02:00:00Z","2009-01-17T02:30:00Z","2009-01-17T03:00:00Z","2009-01-17T03:30:00Z","2009-01-17T04:00:00Z","2009-01-17T04:30:00Z","2009-01-17T05:00:00Z","2009-01-17T05:30:00Z","2009-01-17T06:00:00Z","2009-01-17T06:30:00Z","2009-01-17T07:00:00Z","2009-01-17T07:30:00Z","2009-01-17T08:00:00Z","2009-01-17T08:30:00Z","2009-01-17T09:00:00Z","2009-01-17T09:30:00Z","2009-01-17T10:00:00Z","2009-01-17T10:30:00Z","2009-01-17T11:00:00Z","2009-01-17T11:30:00Z","2009-01-17T12:00:00Z","2009-01-17T12:30:00Z","2009-01-17T13:00:00Z","2009-01-17T13:30:00Z","2009-01-17T14:00:00Z","2009-01-17T14:30:00Z","2009-01-17T15:00:00Z","2009-01-17T15:30:00Z","2009-01-17T16:00:00Z","2009-01-17T16:30:00Z","2009-01-17T17:00:00Z","2009-01-17T17:30:00Z","2009-01-17T18:00:00Z","2009-01-17T18:30:00Z","2009-01-17T19:00:00Z","2009-01-17T19:30:00Z","2009-01-17T20:00:00Z","2009-01-17T20:30:00Z","2009-01-17T21:00:00Z","2009-01-17T21:30:00Z","2009-01-17T22:00:00Z","2009-01-17T22:30:00Z","2009-01-17T23:00:00Z","2009-01-17T23:30:00Z","2009-01-18T00:00:00Z","2009-01-18T00:30:00Z","2009-01-18T01:00:00Z","2009-01-18T01:30:00Z","2009-01-18T02:00:00Z","2009-01-18T02:30:00Z","2009-01-18T03:00:00Z","2009-01-18T03:30:00Z","2009-01-18T04:00:00Z","2009-01-18T04:30:00Z","2009-01-18T05:00:00Z","2009-01-18T05:30:00Z","2009-01-18T06:00:00Z","2009-01-18T06:30:00Z","2009-01-18T07:00:00Z","2009-01-18T07:30:00Z","2009-01-18T08:00:00Z","2009-01-18T08:30:00Z","2009-01-18T09:00:00Z","2009-01-18T09:30:00Z","2009-01-18T10:00:00Z","2009-01-18T10:30:00Z","2009-01-18T11:00:00Z","2009-01-18T11:30:00Z","2009-01-18T12:00:00Z","2009-01-18T12:30:00Z","2009-01-18T13:00:00Z","2009-01-18T13:30:00Z","2009-01-18T14:00:00Z","2009-01-18T14:30:00Z","2009-01-18T15:00:00Z","2009-01-18T15:30:00Z","2009-01-18T16:00:00Z","2009-01-18T16:30:00Z","2009-01-18T17:00:00Z","2009-01-18T17:30:00Z","2009-01-18T18:00:00Z","2009-01-18T18:30:00Z","2009-01-18T19:00:00Z","2009-01-18T19:30:00Z","2009-01-18T20:00:00Z","2009-01-18T20:30:00Z","2009-01-18T21:00:00Z","2009-01-18T21:30:00Z","2009-01-18T22:00:00Z","2009-01-18T22:30:00Z","2009-01-18T23:00:00Z","2009-01-18T23:30:00Z","2009-01-19T00:00:00Z","2009-01-19T00:30:00Z","2009-01-19T01:00:00Z","2009-01-19T01:30:00Z","2009-01-19T02:00:00Z","2009-01-19T02:30:00Z","2009-01-19T03:00:00Z","2009-01-19T03:30:00Z","2009-01-19T04:00:00Z","2009-01-19T04:30:00Z","2009-01-19T05:00:00Z","2009-01-19T05:30:00Z","2009-01-19T06:00:00Z","2009-01-19T06:30:00Z","2009-01-19T07:00:00Z","2009-01-19T07:30:00Z","2009-01-19T08:00:00Z","2009-01-19T08:30:00Z","2009-01-19T09:00:00Z","2009-01-19T09:30:00Z","2009-01-19T10:00:00Z","2009-01-19T10:30:00Z","2009-01-19T11:00:00Z","2009-01-19T11:30:00Z","2009-01-19T12:00:00Z","2009-01-19T12:30:00Z","2009-01-19T13:00:00Z","2009-01-19T13:30:00Z","2009-01-19T14:00:00Z","2009-01-19T14:30:00Z","2009-01-19T15:00:00Z","2009-01-19T15:30:00Z","2009-01-19T16:00:00Z","2009-01-19T16:30:00Z","2009-01-19T17:00:00Z","2009-01-19T17:30:00Z","2009-01-19T18:00:00Z","2009-01-19T18:30:00Z","2009-01-19T19:00:00Z","2009-01-19T19:30:00Z","2009-01-19T20:00:00Z","2009-01-19T20:30:00Z","2009-01-19T21:00:00Z","2009-01-19T21:30:00Z","2009-01-19T22:00:00Z","2009-01-19T22:30:00Z","2009-01-19T23:00:00Z","2009-01-19T23:30:00Z","2009-01-20T00:00:00Z","2009-01-20T00:30:00Z","2009-01-20T01:00:00Z","2009-01-20T01:30:00Z","2009-01-20T02:00:00Z","2009-01-20T02:30:00Z","2009-01-20T03:00:00Z","2009-01-20T03:30:00Z","2009-01-20T04:00:00Z","2009-01-20T04:30:00Z","2009-01-20T05:00:00Z","2009-01-20T05:30:00Z","2009-01-20T06:00:00Z","2009-01-20T06:30:00Z","2009-01-20T07:00:00Z","2009-01-20T07:30:00Z","2009-01-20T08:00:00Z","2009-01-20T08:30:00Z","2009-01-20T09:00:00Z","2009-01-20T09:30:00Z","2009-01-20T10:00:00Z","2009-01-20T10:30:00Z","2009-01-20T11:00:00Z","2009-01-20T11:30:00Z","2009-01-20T12:00:00Z","2009-01-20T12:30:00Z","2009-01-20T13:00:00Z","2009-01-20T13:30:00Z","2009-01-20T14:00:00Z","2009-01-20T14:30:00Z","2009-01-20T15:00:00Z","2009-01-20T15:30:00Z","2009-01-20T16:00:00Z","2009-01-20T16:30:00Z","2009-01-20T17:00:00Z","2009-01-20T17:30:00Z","2009-01-20T18:00:00Z","2009-01-20T18:30:00Z","2009-01-20T19:00:00Z","2009-01-20T19:30:00Z","2009-01-20T20:00:00Z","2009-01-20T20:30:00Z","2009-01-20T21:00:00Z","2009-01-20T21:30:00Z","2009-01-20T22:00:00Z","2009-01-20T22:30:00Z","2009-01-20T23:00:00Z","2009-01-20T23:30:00Z","2009-01-21T00:00:00Z","2009-01-21T00:30:00Z","2009-01-21T01:00:00Z","2009-01-21T01:30:00Z","2009-01-21T02:00:00Z","2009-01-21T02:30:00Z","2009-01-21T03:00:00Z","2009-01-21T03:30:00Z","2009-01-21T04:00:00Z","2009-01-21T04:30:00Z","2009-01-21T05:00:00Z","2009-01-21T05:30:00Z","2009-01-21T06:00:00Z","2009-01-21T06:30:00Z","2009-01-21T07:00:00Z","2009-01-21T07:30:00Z","2009-01-21T08:00:00Z","2009-01-21T08:30:00Z","2009-01-21T09:00:00Z","2009-01-21T09:30:00Z","2009-01-21T10:00:00Z","2009-01-21T10:30:00Z","2009-01-21T11:00:00Z","2009-01-21T11:30:00Z","2009-01-21T12:00:00Z","2009-01-21T12:30:00Z","2009-01-21T13:00:00Z","2009-01-21T13:30:00Z","2009-01-21T14:00:00Z","2009-01-21T14:30:00Z","2009-01-21T15:00:00Z","2009-01-21T15:30:00Z","2009-01-21T16:00:00Z","2009-01-21T16:30:00Z","2009-01-21T17:00:00Z","2009-01-21T17:30:00Z","2009-01-21T18:00:00Z","2009-01-21T18:30:00Z","2009-01-21T19:00:00Z","2009-01-21T19:30:00Z","2009-01-21T20:00:00Z","2009-01-21T20:30:00Z","2009-01-21T21:00:00Z","2009-01-21T21:30:00Z","2009-01-21T22:00:00Z","2009-01-21T22:30:00Z","2009-01-21T23:00:00Z","2009-01-21T23:30:00Z","2009-01-22T00:00:00Z","2009-01-22T00:30:00Z","2009-01-22T01:00:00Z","2009-01-22T01:30:00Z","2009-01-22T02:00:00Z","2009-01-22T02:30:00Z","2009-01-22T03:00:00Z","2009-01-22T03:30:00Z","2009-01-22T04:00:00Z","2009-01-22T04:30:00Z","2009-01-22T05:00:00Z","2009-01-22T05:30:00Z","2009-01-22T06:00:00Z","2009-01-22T06:30:00Z","2009-01-22T07:00:00Z","2009-01-22T07:30:00Z","2009-01-22T08:00:00Z","2009-01-22T08:30:00Z","2009-01-22T09:00:00Z","2009-01-22T09:30:00Z","2009-01-22T10:00:00Z","2009-01-22T10:30:00Z","2009-01-22T11:00:00Z","2009-01-22T11:30:00Z","2009-01-22T12:00:00Z","2009-01-22T12:30:00Z","2009-01-22T13:00:00Z","2009-01-22T13:30:00Z","2009-01-22T14:00:00Z","2009-01-22T14:30:00Z","2009-01-22T15:00:00Z","2009-01-22T15:30:00Z","2009-01-22T16:00:00Z","2009-01-22T16:30:00Z","2009-01-22T17:00:00Z","2009-01-22T17:30:00Z","2009-01-22T18:00:00Z","2009-01-22T18:30:00Z","2009-01-22T19:00:00Z","2009-01-22T19:30:00Z","2009-01-22T20:00:00Z","2009-01-22T20:30:00Z","2009-01-22T21:00:00Z","2009-01-22T21:30:00Z","2009-01-22T22:00:00Z","2009-01-22T22:30:00Z","2009-01-22T23:00:00Z","2009-01-22T23:30:00Z","2009-01-23T00:00:00Z","2009-01-23T00:30:00Z","2009-01-23T01:00:00Z","2009-01-23T01:30:00Z","2009-01-23T02:00:00Z","2009-01-23T02:30:00Z","2009-01-23T03:00:00Z","2009-01-23T03:30:00Z","2009-01-23T04:00:00Z","2009-01-23T04:30:00Z","2009-01-23T05:00:00Z","2009-01-23T05:30:00Z","2009-01-23T06:00:00Z","2009-01-23T06:30:00Z","2009-01-23T07:00:00Z","2009-01-23T07:30:00Z","2009-01-23T08:00:00Z","2009-01-23T08:30:00Z","2009-01-23T09:00:00Z","2009-01-23T09:30:00Z","2009-01-23T10:00:00Z","2009-01-23T10:30:00Z","2009-01-23T11:00:00Z","2009-01-23T11:30:00Z","2009-01-23T12:00:00Z","2009-01-23T12:30:00Z","2009-01-23T13:00:00Z","2009-01-23T13:30:00Z","2009-01-23T14:00:00Z","2009-01-23T14:30:00Z","2009-01-23T15:00:00Z","2009-01-23T15:30:00Z","2009-01-23T16:00:00Z","2009-01-23T16:30:00Z","2009-01-23T17:00:00Z","2009-01-23T17:30:00Z","2009-01-23T18:00:00Z","2009-01-23T18:30:00Z","2009-01-23T19:00:00Z","2009-01-23T19:30:00Z","2009-01-23T20:00:00Z","2009-01-23T20:30:00Z","2009-01-23T21:00:00Z","2009-01-23T21:30:00Z","2009-01-23T22:00:00Z","2009-01-23T22:30:00Z","2009-01-23T23:00:00Z","2009-01-23T23:30:00Z","2009-01-24T00:00:00Z","2009-01-24T00:30:00Z","2009-01-24T01:00:00Z","2009-01-24T01:30:00Z","2009-01-24T02:00:00Z","2009-01-24T02:30:00Z","2009-01-24T03:00:00Z","2009-01-24T03:30:00Z","2009-01-24T04:00:00Z","2009-01-24T04:30:00Z","2009-01-24T05:00:00Z","2009-01-24T05:30:00Z","2009-01-24T06:00:00Z","2009-01-24T06:30:00Z","2009-01-24T07:00:00Z","2009-01-24T07:30:00Z","2009-01-24T08:00:00Z","2009-01-24T08:30:00Z","2009-01-24T09:00:00Z","2009-01-24T09:30:00Z","2009-01-24T10:00:00Z","2009-01-24T10:30:00Z","2009-01-24T11:00:00Z","2009-01-24T11:30:00Z","2009-01-24T12:00:00Z","2009-01-24T12:30:00Z","2009-01-24T13:00:00Z","2009-01-24T13:30:00Z","2009-01-24T14:00:00Z","2009-01-24T14:30:00Z","2009-01-24T15:00:00Z","2009-01-24T15:30:00Z","2009-01-24T16:00:00Z","2009-01-24T16:30:00Z","2009-01-24T17:00:00Z","2009-01-24T17:30:00Z","2009-01-24T18:00:00Z","2009-01-24T18:30:00Z","2009-01-24T19:00:00Z","2009-01-24T19:30:00Z","2009-01-24T20:00:00Z","2009-01-24T20:30:00Z","2009-01-24T21:00:00Z","2009-01-24T21:30:00Z","2009-01-24T22:00:00Z","2009-01-24T22:30:00Z","2009-01-24T23:00:00Z","2009-01-24T23:30:00Z","2009-01-25T00:00:00Z","2009-01-25T00:30:00Z","2009-01-25T01:00:00Z","2009-01-25T01:30:00Z","2009-01-25T02:00:00Z","2009-01-25T02:30:00Z","2009-01-25T03:00:00Z","2009-01-25T03:30:00Z","2009-01-25T04:00:00Z","2009-01-25T04:30:00Z","2009-01-25T05:00:00Z","2009-01-25T05:30:00Z","2009-01-25T06:00:00Z","2009-01-25T06:30:00Z","2009-01-25T07:00:00Z","2009-01-25T07:30:00Z","2009-01-25T08:00:00Z","2009-01-25T08:30:00Z","2009-01-25T09:00:00Z","2009-01-25T09:30:00Z","2009-01-25T10:00:00Z","2009-01-25T10:30:00Z","2009-01-25T11:00:00Z","2009-01-25T11:30:00Z","2009-01-25T12:00:00Z","2009-01-25T12:30:00Z","2009-01-25T13:00:00Z","2009-01-25T13:30:00Z","2009-01-25T14:00:00Z","2009-01-25T14:30:00Z","2009-01-25T15:00:00Z","2009-01-25T15:30:00Z","2009-01-25T16:00:00Z","2009-01-25T16:30:00Z","2009-01-25T17:00:00Z","2009-01-25T17:30:00Z","2009-01-25T18:00:00Z","2009-01-25T18:30:00Z","2009-01-25T19:00:00Z","2009-01-25T19:30:00Z","2009-01-25T20:00:00Z","2009-01-25T20:30:00Z","2009-01-25T21:00:00Z","2009-01-25T21:30:00Z","2009-01-25T22:00:00Z","2009-01-25T22:30:00Z","2009-01-25T23:00:00Z","2009-01-25T23:30:00Z","2009-01-26T00:00:00Z","2009-01-26T00:30:00Z","2009-01-26T01:00:00Z","2009-01-26T01:30:00Z","2009-01-26T02:00:00Z","2009-01-26T02:30:00Z","2009-01-26T03:00:00Z","2009-01-26T03:30:00Z","2009-01-26T04:00:00Z","2009-01-26T04:30:00Z","2009-01-26T05:00:00Z","2009-01-26T05:30:00Z","2009-01-26T06:00:00Z","2009-01-26T06:30:00Z","2009-01-26T07:00:00Z","2009-01-26T07:30:00Z","2009-01-26T08:00:00Z","2009-01-26T08:30:00Z","2009-01-26T09:00:00Z","2009-01-26T09:30:00Z","2009-01-26T10:00:00Z","2009-01-26T10:30:00Z","2009-01-26T11:00:00Z","2009-01-26T11:30:00Z","2009-01-26T12:00:00Z","2009-01-26T12:30:00Z","2009-01-26T13:00:00Z","2009-01-26T13:30:00Z","2009-01-26T14:00:00Z","2009-01-26T14:30:00Z","2009-01-26T15:00:00Z","2009-01-26T15:30:00Z","2009-01-26T16:00:00Z","2009-01-26T16:30:00Z","2009-01-26T17:00:00Z","2009-01-26T17:30:00Z","2009-01-26T18:00:00Z","2009-01-26T18:30:00Z","2009-01-26T19:00:00Z","2009-01-26T19:30:00Z","2009-01-26T20:00:00Z","2009-01-26T20:30:00Z","2009-01-26T21:00:00Z","2009-01-26T21:30:00Z","2009-01-26T22:00:00Z","2009-01-26T22:30:00Z","2009-01-26T23:00:00Z","2009-01-26T23:30:00Z","2009-01-27T00:00:00Z","2009-01-27T00:30:00Z","2009-01-27T01:00:00Z","2009-01-27T01:30:00Z","2009-01-27T02:00:00Z","2009-01-27T02:30:00Z","2009-01-27T03:00:00Z","2009-01-27T03:30:00Z","2009-01-27T04:00:00Z","2009-01-27T04:30:00Z","2009-01-27T05:00:00Z","2009-01-27T05:30:00Z","2009-01-27T06:00:00Z","2009-01-27T06:30:00Z","2009-01-27T07:00:00Z","2009-01-27T07:30:00Z","2009-01-27T08:00:00Z","2009-01-27T08:30:00Z","2009-01-27T09:00:00Z","2009-01-27T09:30:00Z","2009-01-27T10:00:00Z","2009-01-27T10:30:00Z","2009-01-27T11:00:00Z","2009-01-27T11:30:00Z","2009-01-27T12:00:00Z","2009-01-27T12:30:00Z","2009-01-27T13:00:00Z","2009-01-27T13:30:00Z","2009-01-27T14:00:00Z","2009-01-27T14:30:00Z","2009-01-27T15:00:00Z","2009-01-27T15:30:00Z","2009-01-27T16:00:00Z","2009-01-27T16:30:00Z","2009-01-27T17:00:00Z","2009-01-27T17:30:00Z","2009-01-27T18:00:00Z","2009-01-27T18:30:00Z","2009-01-27T19:00:00Z","2009-01-27T19:30:00Z","2009-01-27T20:00:00Z","2009-01-27T20:30:00Z","2009-01-27T21:00:00Z","2009-01-27T21:30:00Z","2009-01-27T22:00:00Z","2009-01-27T22:30:00Z","2009-01-27T23:00:00Z","2009-01-27T23:30:00Z","2009-01-28T00:00:00Z","2009-01-28T00:30:00Z","2009-01-28T01:00:00Z","2009-01-28T01:30:00Z","2009-01-28T02:00:00Z","2009-01-28T02:30:00Z","2009-01-28T03:00:00Z","2009-01-28T03:30:00Z","2009-01-28T04:00:00Z","2009-01-28T04:30:00Z","2009-01-28T05:00:00Z","2009-01-28T05:30:00Z","2009-01-28T06:00:00Z","2009-01-28T06:30:00Z","2009-01-28T07:00:00Z","2009-01-28T07:30:00Z","2009-01-28T08:00:00Z","2009-01-28T08:30:00Z","2009-01-28T09:00:00Z","2009-01-28T09:30:00Z","2009-01-28T10:00:00Z","2009-01-28T10:30:00Z","2009-01-28T11:00:00Z","2009-01-28T11:30:00Z","2009-01-28T12:00:00Z","2009-01-28T12:30:00Z","2009-01-28T13:00:00Z","2009-01-28T13:30:00Z","2009-01-28T14:00:00Z","2009-01-28T14:30:00Z","2009-01-28T15:00:00Z","2009-01-28T15:30:00Z","2009-01-28T16:00:00Z","2009-01-28T16:30:00Z","2009-01-28T17:00:00Z","2009-01-28T17:30:00Z","2009-01-28T18:00:00Z","2009-01-28T18:30:00Z","2009-01-28T19:00:00Z","2009-01-28T19:30:00Z","2009-01-28T20:00:00Z","2009-01-28T20:30:00Z","2009-01-28T21:00:00Z","2009-01-28T21:30:00Z","2009-01-28T22:00:00Z","2009-01-28T22:30:00Z","2009-01-28T23:00:00Z","2009-01-28T23:30:00Z","2009-01-29T00:00:00Z","2009-01-29T00:30:00Z","2009-01-29T01:00:00Z","2009-01-29T01:30:00Z","2009-01-29T02:00:00Z","2009-01-29T02:30:00Z","2009-01-29T03:00:00Z","2009-01-29T03:30:00Z","2009-01-29T04:00:00Z","2009-01-29T04:30:00Z","2009-01-29T05:00:00Z","2009-01-29T05:30:00Z","2009-01-29T06:00:00Z","2009-01-29T06:30:00Z","2009-01-29T07:00:00Z","2009-01-29T07:30:00Z","2009-01-29T08:00:00Z","2009-01-29T08:30:00Z","2009-01-29T09:00:00Z","2009-01-29T09:30:00Z","2009-01-29T10:00:00Z","2009-01-29T10:30:00Z","2009-01-29T11:00:00Z","2009-01-29T11:30:00Z","2009-01-29T12:00:00Z","2009-01-29T12:30:00Z","2009-01-29T13:00:00Z","2009-01-29T13:30:00Z","2009-01-29T14:00:00Z","2009-01-29T14:30:00Z","2009-01-29T15:00:00Z","2009-01-29T15:30:00Z","2009-01-29T16:00:00Z","2009-01-29T16:30:00Z","2009-01-29T17:00:00Z","2009-01-29T17:30:00Z","2009-01-29T18:00:00Z","2009-01-29T18:30:00Z","2009-01-29T19:00:00Z","2009-01-29T19:30:00Z","2009-01-29T20:00:00Z","2009-01-29T20:30:00Z","2009-01-29T21:00:00Z","2009-01-29T21:30:00Z","2009-01-29T22:00:00Z","2009-01-29T22:30:00Z","2009-01-29T23:00:00Z","2009-01-29T23:30:00Z","2009-01-30T00:00:00Z","2009-01-30T00:30:00Z","2009-01-30T01:00:00Z","2009-01-30T01:30:00Z","2009-01-30T02:00:00Z","2009-01-30T02:30:00Z","2009-01-30T03:00:00Z","2009-01-30T03:30:00Z","2009-01-30T04:00:00Z","2009-01-30T04:30:00Z","2009-01-30T05:00:00Z","2009-01-30T05:30:00Z","2009-01-30T06:00:00Z","2009-01-30T06:30:00Z","2009-01-30T07:00:00Z","2009-01-30T07:30:00Z","2009-01-30T08:00:00Z","2009-01-30T08:30:00Z","2009-01-30T09:00:00Z","2009-01-30T09:30:00Z","2009-01-30T10:00:00Z","2009-01-30T10:30:00Z","2009-01-30T11:00:00Z","2009-01-30T11:30:00Z","2009-01-30T12:00:00Z","2009-01-30T12:30:00Z","2009-01-30T13:00:00Z","2009-01-30T13:30:00Z","2009-01-30T14:00:00Z","2009-01-30T14:30:00Z","2009-01-30T15:00:00Z","2009-01-30T15:30:00Z","2009-01-30T16:00:00Z","2009-01-30T16:30:00Z","2009-01-30T17:00:00Z","2009-01-30T17:30:00Z","2009-01-30T18:00:00Z","2009-01-30T18:30:00Z","2009-01-30T19:00:00Z","2009-01-30T19:30:00Z","2009-01-30T20:00:00Z","2009-01-30T20:30:00Z","2009-01-30T21:00:00Z","2009-01-30T21:30:00Z","2009-01-30T22:00:00Z","2009-01-30T22:30:00Z","2009-01-30T23:00:00Z","2009-01-30T23:30:00Z","2009-01-31T00:00:00Z","2009-01-31T00:30:00Z","2009-01-31T01:00:00Z","2009-01-31T01:30:00Z","2009-01-31T02:00:00Z","2009-01-31T02:30:00Z","2009-01-31T03:00:00Z","2009-01-31T03:30:00Z","2009-01-31T04:00:00Z","2009-01-31T04:30:00Z","2009-01-31T05:00:00Z","2009-01-31T05:30:00Z","2009-01-31T06:00:00Z","2009-01-31T06:30:00Z","2009-01-31T07:00:00Z","2009-01-31T07:30:00Z","2009-01-31T08:00:00Z","2009-01-31T08:30:00Z","2009-01-31T09:00:00Z","2009-01-31T09:30:00Z","2009-01-31T10:00:00Z","2009-01-31T10:30:00Z","2009-01-31T11:00:00Z","2009-01-31T11:30:00Z","2009-01-31T12:00:00Z","2009-01-31T12:30:00Z","2009-01-31T13:00:00Z","2009-01-31T13:30:00Z","2009-01-31T14:00:00Z","2009-01-31T14:30:00Z","2009-01-31T15:00:00Z","2009-01-31T15:30:00Z","2009-01-31T16:00:00Z","2009-01-31T16:30:00Z","2009-01-31T17:00:00Z","2009-01-31T17:30:00Z","2009-01-31T18:00:00Z","2009-01-31T18:30:00Z","2009-01-31T19:00:00Z","2009-01-31T19:30:00Z","2009-01-31T20:00:00Z","2009-01-31T20:30:00Z","2009-01-31T21:00:00Z","2009-01-31T21:30:00Z","2009-01-31T22:00:00Z","2009-01-31T22:30:00Z","2009-01-31T23:00:00Z","2009-01-31T23:30:00Z","2009-02-01T00:00:00Z"],"Hp30":[1.667,1.667,1.333,2.333,1.333,1.333,1.0,1.333,3.0,3.0,2.667,2.0,2.333,2.667,3.0,3.667,3.0,2.333,2.0,1.667,1.667,1.333,2.0,2.333,2.667,2.0,1.333,2.0,1.333,0.667,1.0,2.333,2.333,1.333,1.0,1.0,0.667,0.333,1.0,1.0,0.667,0.667,1.0,0.667,2.333,2.333,1.333,1.333,1.667,0.667,1.0,0.667,0.667,0.667,0.333,0.667,1.333,0.667,0.667,0.667,0.333,0.0,0.333,0.333,0.333,0.0,0.0,0.667,0.0,0.333,0.333,0.667,0.333,0.667,0.333,0.667,1.0,1.333,1.333,1.667,1.0,1.0,2.0,1.667,1.333,1.667,2.333,2.667,1.667,1.667,2.0,3.333,3.333,2.333,2.667,2.0,2.667,2.0,2.0,2.333,2.667,3.0,4.0,3.0,2.667,2.667,3.0,3.333,2.667,3.0,1.333,2.333,2.333,3.333,4.667,4.0,4.0,3.667,3.0,3.333,2.667,2.0,2.0,1.667,2.0,1.333,2.667,1.667,1.333,2.667,2.667,2.667,1.333,1.0,0.667,1.0,0.667,0.667,1.333,2.333,2.333,2.333,1.667,1.667,2.0,1.333,1.667,3.0,2.333,1.0,0.333,0.0,0.667,1.0,1.667,1.333,1.0,1.333,1.0,0.0,0.667,0.667,0.667,0.667,1.667,1.333,1.667,1.0,0.667,0.667,0.333,0.333,0.333,0.667,1.333,1.333,1.333,1.667,2.0,2.333,1.667,1.333,1.333,1.0,0.667,1.0,0.333,1.0,0.333,0.333,0.667,1.0,1.333,1.0,0.333,1.0,0.667,1.333,2.333,2.0,1.0,0.333,0.0,0.0,0.667,0.667,0.333,0.333,1.333,1.667,1.333,1.333,1.333,1.333,1.0,0.333,1.333,1.667,1.0,1.0,1.0,1.0,2.333,2.0,2.333,1.0,1.333,2.0,2.0,1.333,0.667,1.0,1.0,1.0,2.667,2.333,1.667,1.667,1.0,1.0,0.333,0.333,0.333,1.0,2.667,2.667,2.333,2.0,1.0,1.333,0.667,1.333,0.667,0.333,1.0,1.0,0.667,0.333,0.333,0.667,1.667,1.333,1.333,1.333,1.0,1.0,0.667,0.333,0.667,1.0,2.0,2.333,1.667,0.667,1.0,0.667,0.0,0.333,0.333,0.0,0.0,0.0,0.0,0.0,0.667,0.0,0.0,0.667,0.667,0.333,0.333,0.667,0.333,0.333,0.667,1.0,1.0,0.667,0.667,0.667,0.333,0.667,1.0,1.333,1.333,1.333,0.667,0.333,0.333,0.667,0.667,0.667,0.333,0.667,0.333,0.333,0.0,0.0,0.0,0.667,1.0,0.667,1.0,0.667,0.333,0.333,0.0,0.333,0.0,0.0,0.0,0.667,0.667,1.333,1.0,1.333,1.333,0.667,0.0,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.667,0.333,1.0,1.333,0.667,0.667,0.333,0.667,0.667,1.0,0.667,1.0,2.333,2.333,2.0,1.333,1.0,1.667,1.333,1.667,1.667,1.667,1.333,0.333,1.333,1.333,1.667,0.667,0.667,2.0,1.0,1.0,1.0,1.667,1.667,2.333,2.0,1.333,1.667,1.0,2.0,1.0,1.333,1.333,0.667,2.333,1.333,1.0,1.0,0.667,1.333,1.333,1.0,0.667,0.667,0.667,0.667,0.667,1.0,2.0,2.667,3.0,1.667,1.0,1.333,0.667,1.333,1.667,0.667,3.0,2.667,1.333,1.0,1.0,1.667,1.667,2.0,1.333,1.333,1.0,0.667,0.667,1.667,2.0,2.667,3.0,3.0,3.0,2.667,2.333,2.0,2.333,2.0,2.333,2.667,1.0,0.333,1.667,0.667,1.0,0.667,0.667,1.0,1.667,1.667,1.333,1.667,0.333,0.0,0.0,0.333,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.333,1.0,0.667,0.0,0.333,0.333,0.667,0.667,0.333,1.0,1.333,0.667,1.0,1.333,1.0,1.0,1.0,2.0,1.667,0.667,0.0,0.667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.333,0.0,0.333,1.333,1.0,0.333,0.333,0.333,0.0,0.0,0.0,0.0,0.333,0.333,0.667,0.667,0.667,0.667,0.0,0.333,0.333,0.0,0.0,0.0,0.333,0.0,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.333,0.333,0.0,0.0,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.667,0.333,0.667,0.667,0.0,0.667,0.333,0.0,0.0,0.333,0.333,0.333,0.333,1.333,1.667,1.333,2.333,2.333,2.0,1.333,1.667,1.667,2.0,2.0,1.667,1.667,0.667,0.333,0.0,0.0,0.333,0.0,0.0,0.333,0.667,1.667,0.667,0.667,0.667,1.667,1.333,1.0,0.667,0.667,1.333,1.333,1.333,0.667,1.333,1.0,1.667,1.667,1.333,2.0,1.667,1.0,0.667,0.667,0.333,1.0,3.333,2.667,2.0,1.667,2.333,2.667,2.0,1.667,2.0,2.0,1.333,1.667,1.333,1.0,1.333,1.0,1.667,1.0,1.0,1.333,2.0,2.333,2.0,2.0,3.0,3.0,2.667,1.667,1.0,1.0,0.333,1.0,1.0,1.0,2.333,2.0,0.333,0.667,1.0,1.0,1.333,1.333,0.667,1.0,1.667,1.667,2.0,2.0,2.0,1.0,1.667,1.0,2.333,2.333,1.667,1.667,1.333,1.333,1.667,1.667,1.333,1.333,1.667,1.0,1.0,1.0,1.667,1.667,1.333,1.0,1.0,1.0,0.667,0.333,0.333,0.333,1.0,1.0,1.0,1.333,1.0,1.667,2.667,2.333,1.333,2.333,2.333,2.667,2.333,2.333,2.333,3.0,2.667,1.667,1.667,2.0,2.0,2.333,2.667,2.0,3.333,1.333,1.0,1.0,1.333,1.0,1.0,0.667,0.0,0.333,0.667,0.667,0.0,0.0,0.667,1.667,0.667,1.0,1.667,0.333,0.333,0.333,0.667,0.667,0.667,0.667,0.667,1.0,0.667,1.333,1.667,1.333,0.667,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.333,0.0,0.0,0.333,0.667,1.667,1.333,1.0,1.0,0.667,0.333,0.667,0.333,0.333,0.667,0.667,1.0,0.667,0.333,0.333,0.667,1.0,0.667,0.333,0.333,0.333,0.667,0.667,1.333,1.333,0.667,0.667,1.333,1.333,1.333,0.667,0.667,0.667,0.333,0.333,0.667,0.667,0.333,0.0,0.333,0.0,1.0,0.667,1.0,0.0,0.0,0.333,0.0,0.333,0.333,0.333,0.667,0.333,0.667,0.333,0.333,0.333,0.667,1.0,2.0,1.333,1.0,0.667,0.333,0.333,0.0,0.0,0.667,0.0,0.667,0.333,0.667,1.0,0.333,1.0,1.0,1.0,1.0,1.333,0.667,0.333,1.0,1.333,1.333,2.333,1.667,2.333,3.0,3.333,5.0,5.333,3.667,3.0,1.667,1.333,1.0,1.667,2.667,3.0,2.667,1.667,0.667,0.667,1.333,1.0,0.667,1.0,0.667,0.667,1.667,0.667,0.333,1.667,1.0,0.667,2.0,1.333,1.667,2.0,2.0,2.0,2.333,1.667,1.667,1.667,2.333,2.0,2.0,3.0,2.333,2.333,1.667,1.667,3.0,2.333,2.0,1.333,2.0,1.667,2.0,0.667,0.0,0.667,1.667,1.0,1.0,0.667,1.0,1.0,1.667,0.333,1.0,0.667,0.333,0.667,1.0,0.667,0.333,0.667,1.0,0.333,0.0,0.333,0.0,0.333,0.0,0.0,0.333,1.0,1.0,1.0,1.0,1.333,2.333,2.0,1.333,1.0,1.667,1.333,1.0,0.667,0.667,1.0,0.667,0.333,0.667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.333,0.667,0.667,1.333,1.0,1.0,1.333,1.0,1.333,0.333,0.333,0.333,0.333,0.667,1.333,1.0,0.667,1.333,2.0,1.333,2.0,2.0,1.667,1.0,1.333,2.0,1.333,0.667,1.0,0.667,0.667,0.667,1.333,1.333,0.667,0.0,0.0,0.0,0.333,0.0,0.0,0.667,0.0,0.667,0.333,1.0,0.667,0.0,0.0,0.333,1.0,0.333,1.0,0.333,0.333,0.667,0.333,0.333,0.333,1.0,0.667,0.333,0.667,0.667,0.0,0.0,0.333,0.667,1.0,0.667,1.333,0.667,1.0,1.0,0.667,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.667,1.0,0.333,0.333,0.333,0.0,0.0,0.333,0.667,1.0,0.667,1.0,0.667,0.333,0.667,0.333,0.0,0.333,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.667,1.0,0.667,1.0,0.667,0.333,0.333,0.0,0.0,0.0,0.333,2.0,2.333,0.333,0.667,0.667,0.0,0.0,0.0,0.667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.667,0.0,0.0,0.333,0.667,0.667,1.333,0.667,1.0,1.667,1.667,1.333,0.667,0.333,0.667,0.667,0.333,0.333,0.333,0.667,0.0,0.0,0.333,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.333,1.333,0.333,0.667,0.333,0.667,0.667,0.333,0.333,0.333,0.0,0.333,0.0,0.0,0.333,0.0,0.0,0.333,1.0,0.333,1.0,3.0,3.0,1.667,2.333,4.0,4.0,3.0,3.0,2.333,1.667,1.333,1.333,3.333,2.667,2.0,2.667,1.667,1.667,2.0,3.333,3.0,3.0,3.0,1.667,2.333,2.667,2.333,2.333,2.0,3.0,3.667,3.667,3.333,3.0,3.0,3.333,3.333,3.0,3.333,2.667,2.333,2.333,1.667,1.333,0.667,0.333,0.333,0.333,0.667,0.333,0.333,0.333,0.667,0.667,1.0,1.0,0.333,0.0,0.0,1.0,1.333,1.333,1.667,1.333,0.667,0.667,0.0,0.333,0.0,0.667,0.333,0.0,1.333,1.0,0.667,0.333,0.333,0.333,1.0,0.667,0.667,0.333,1.0,1.0,1.333,1.667,1.333,1.333,1.0,1.333,1.333,1.667,2.0,2.333,2.333,1.667,1.333,1.0,0.333,0.667,0.333,0.0,0.0,0.0,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.333,0.0,0.0,0.0,0.333,1.333,0.667,1.0,1.0,0.667,0.667,0.667,0.667,0.333,0.333,0.333,1.667,0.333,0.0,0.0,0.0,0.0,0.333,0.667,0.333,0.333,0.667,0.667,2.0,1.667,0.667,1.333,0.667,1.0,0.333,0.333,0.0,0.667,0.0,0.0,1.333,0.333,1.333,2.333,2.333,2.0,2.333,3.333,3.333,2.667,2.333,2.333,1.0,1.333,1.667,1.667,1.0,0.667,1.667,0.667,2.333,0.667,0.333,0.667,0.333,0.0,0.333,0.667,0.333,0.667,0.667,1.0,1.333,0.0,0.0,0.0,0.0,0.667,0.0,0.0,0.333,0.333,0.333,0.0,0.0,0.0,0.333,1.0,1.667,1.333,1.333,2.0,1.333,0.667,0.333,1.0,0.667,0.333,0.667,0.333,1.0,1.0,1.667,1.333,1.333,1.0,0.333,0.333,0.333,0.667,0.333,0.667,0.667,0.667,0.667,0.0,1.0,0.667,1.0,1.0,1.0,2.0,2.0,1.333,1.667,3.333,2.333,2.0,2.0,2.0,2.333,1.667,0.667,1.0,1.0,1.333,1.333,1.333,1.333,1.333,2.0,2.0,2.333,1.333,2.0,1.333,3.0,3.333,2.0,2.333,1.333,1.333,1.667,2.333,3.333,3.0,2.333,3.333,2.0,2.667,1.667,1.0,1.0,2.0,1.0,2.0,2.667,2.333,1.333,2.0,1.667,1.0,1.0,1.333,2.667,2.667,2.0,2.0,1.667]} diff --git a/GeospaceDataManagement/tests/test_data/Hp60_2009-01.txt b/GeospaceDataManagement/tests/test_data/Hp60_2009-01.txt new file mode 100644 index 0000000..cc2906c --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/Hp60_2009-01.txt @@ -0,0 +1 @@ +{"meta":{"source":"GFZ Potsdam","license":"CC BY 4.0"},"datetime":["2009-01-01T00:00:00Z","2009-01-01T01:00:00Z","2009-01-01T02:00:00Z","2009-01-01T03:00:00Z","2009-01-01T04:00:00Z","2009-01-01T05:00:00Z","2009-01-01T06:00:00Z","2009-01-01T07:00:00Z","2009-01-01T08:00:00Z","2009-01-01T09:00:00Z","2009-01-01T10:00:00Z","2009-01-01T11:00:00Z","2009-01-01T12:00:00Z","2009-01-01T13:00:00Z","2009-01-01T14:00:00Z","2009-01-01T15:00:00Z","2009-01-01T16:00:00Z","2009-01-01T17:00:00Z","2009-01-01T18:00:00Z","2009-01-01T19:00:00Z","2009-01-01T20:00:00Z","2009-01-01T21:00:00Z","2009-01-01T22:00:00Z","2009-01-01T23:00:00Z","2009-01-02T00:00:00Z","2009-01-02T01:00:00Z","2009-01-02T02:00:00Z","2009-01-02T03:00:00Z","2009-01-02T04:00:00Z","2009-01-02T05:00:00Z","2009-01-02T06:00:00Z","2009-01-02T07:00:00Z","2009-01-02T08:00:00Z","2009-01-02T09:00:00Z","2009-01-02T10:00:00Z","2009-01-02T11:00:00Z","2009-01-02T12:00:00Z","2009-01-02T13:00:00Z","2009-01-02T14:00:00Z","2009-01-02T15:00:00Z","2009-01-02T16:00:00Z","2009-01-02T17:00:00Z","2009-01-02T18:00:00Z","2009-01-02T19:00:00Z","2009-01-02T20:00:00Z","2009-01-02T21:00:00Z","2009-01-02T22:00:00Z","2009-01-02T23:00:00Z","2009-01-03T00:00:00Z","2009-01-03T01:00:00Z","2009-01-03T02:00:00Z","2009-01-03T03:00:00Z","2009-01-03T04:00:00Z","2009-01-03T05:00:00Z","2009-01-03T06:00:00Z","2009-01-03T07:00:00Z","2009-01-03T08:00:00Z","2009-01-03T09:00:00Z","2009-01-03T10:00:00Z","2009-01-03T11:00:00Z","2009-01-03T12:00:00Z","2009-01-03T13:00:00Z","2009-01-03T14:00:00Z","2009-01-03T15:00:00Z","2009-01-03T16:00:00Z","2009-01-03T17:00:00Z","2009-01-03T18:00:00Z","2009-01-03T19:00:00Z","2009-01-03T20:00:00Z","2009-01-03T21:00:00Z","2009-01-03T22:00:00Z","2009-01-03T23:00:00Z","2009-01-04T00:00:00Z","2009-01-04T01:00:00Z","2009-01-04T02:00:00Z","2009-01-04T03:00:00Z","2009-01-04T04:00:00Z","2009-01-04T05:00:00Z","2009-01-04T06:00:00Z","2009-01-04T07:00:00Z","2009-01-04T08:00:00Z","2009-01-04T09:00:00Z","2009-01-04T10:00:00Z","2009-01-04T11:00:00Z","2009-01-04T12:00:00Z","2009-01-04T13:00:00Z","2009-01-04T14:00:00Z","2009-01-04T15:00:00Z","2009-01-04T16:00:00Z","2009-01-04T17:00:00Z","2009-01-04T18:00:00Z","2009-01-04T19:00:00Z","2009-01-04T20:00:00Z","2009-01-04T21:00:00Z","2009-01-04T22:00:00Z","2009-01-04T23:00:00Z","2009-01-05T00:00:00Z","2009-01-05T01:00:00Z","2009-01-05T02:00:00Z","2009-01-05T03:00:00Z","2009-01-05T04:00:00Z","2009-01-05T05:00:00Z","2009-01-05T06:00:00Z","2009-01-05T07:00:00Z","2009-01-05T08:00:00Z","2009-01-05T09:00:00Z","2009-01-05T10:00:00Z","2009-01-05T11:00:00Z","2009-01-05T12:00:00Z","2009-01-05T13:00:00Z","2009-01-05T14:00:00Z","2009-01-05T15:00:00Z","2009-01-05T16:00:00Z","2009-01-05T17:00:00Z","2009-01-05T18:00:00Z","2009-01-05T19:00:00Z","2009-01-05T20:00:00Z","2009-01-05T21:00:00Z","2009-01-05T22:00:00Z","2009-01-05T23:00:00Z","2009-01-06T00:00:00Z","2009-01-06T01:00:00Z","2009-01-06T02:00:00Z","2009-01-06T03:00:00Z","2009-01-06T04:00:00Z","2009-01-06T05:00:00Z","2009-01-06T06:00:00Z","2009-01-06T07:00:00Z","2009-01-06T08:00:00Z","2009-01-06T09:00:00Z","2009-01-06T10:00:00Z","2009-01-06T11:00:00Z","2009-01-06T12:00:00Z","2009-01-06T13:00:00Z","2009-01-06T14:00:00Z","2009-01-06T15:00:00Z","2009-01-06T16:00:00Z","2009-01-06T17:00:00Z","2009-01-06T18:00:00Z","2009-01-06T19:00:00Z","2009-01-06T20:00:00Z","2009-01-06T21:00:00Z","2009-01-06T22:00:00Z","2009-01-06T23:00:00Z","2009-01-07T00:00:00Z","2009-01-07T01:00:00Z","2009-01-07T02:00:00Z","2009-01-07T03:00:00Z","2009-01-07T04:00:00Z","2009-01-07T05:00:00Z","2009-01-07T06:00:00Z","2009-01-07T07:00:00Z","2009-01-07T08:00:00Z","2009-01-07T09:00:00Z","2009-01-07T10:00:00Z","2009-01-07T11:00:00Z","2009-01-07T12:00:00Z","2009-01-07T13:00:00Z","2009-01-07T14:00:00Z","2009-01-07T15:00:00Z","2009-01-07T16:00:00Z","2009-01-07T17:00:00Z","2009-01-07T18:00:00Z","2009-01-07T19:00:00Z","2009-01-07T20:00:00Z","2009-01-07T21:00:00Z","2009-01-07T22:00:00Z","2009-01-07T23:00:00Z","2009-01-08T00:00:00Z","2009-01-08T01:00:00Z","2009-01-08T02:00:00Z","2009-01-08T03:00:00Z","2009-01-08T04:00:00Z","2009-01-08T05:00:00Z","2009-01-08T06:00:00Z","2009-01-08T07:00:00Z","2009-01-08T08:00:00Z","2009-01-08T09:00:00Z","2009-01-08T10:00:00Z","2009-01-08T11:00:00Z","2009-01-08T12:00:00Z","2009-01-08T13:00:00Z","2009-01-08T14:00:00Z","2009-01-08T15:00:00Z","2009-01-08T16:00:00Z","2009-01-08T17:00:00Z","2009-01-08T18:00:00Z","2009-01-08T19:00:00Z","2009-01-08T20:00:00Z","2009-01-08T21:00:00Z","2009-01-08T22:00:00Z","2009-01-08T23:00:00Z","2009-01-09T00:00:00Z","2009-01-09T01:00:00Z","2009-01-09T02:00:00Z","2009-01-09T03:00:00Z","2009-01-09T04:00:00Z","2009-01-09T05:00:00Z","2009-01-09T06:00:00Z","2009-01-09T07:00:00Z","2009-01-09T08:00:00Z","2009-01-09T09:00:00Z","2009-01-09T10:00:00Z","2009-01-09T11:00:00Z","2009-01-09T12:00:00Z","2009-01-09T13:00:00Z","2009-01-09T14:00:00Z","2009-01-09T15:00:00Z","2009-01-09T16:00:00Z","2009-01-09T17:00:00Z","2009-01-09T18:00:00Z","2009-01-09T19:00:00Z","2009-01-09T20:00:00Z","2009-01-09T21:00:00Z","2009-01-09T22:00:00Z","2009-01-09T23:00:00Z","2009-01-10T00:00:00Z","2009-01-10T01:00:00Z","2009-01-10T02:00:00Z","2009-01-10T03:00:00Z","2009-01-10T04:00:00Z","2009-01-10T05:00:00Z","2009-01-10T06:00:00Z","2009-01-10T07:00:00Z","2009-01-10T08:00:00Z","2009-01-10T09:00:00Z","2009-01-10T10:00:00Z","2009-01-10T11:00:00Z","2009-01-10T12:00:00Z","2009-01-10T13:00:00Z","2009-01-10T14:00:00Z","2009-01-10T15:00:00Z","2009-01-10T16:00:00Z","2009-01-10T17:00:00Z","2009-01-10T18:00:00Z","2009-01-10T19:00:00Z","2009-01-10T20:00:00Z","2009-01-10T21:00:00Z","2009-01-10T22:00:00Z","2009-01-10T23:00:00Z","2009-01-11T00:00:00Z","2009-01-11T01:00:00Z","2009-01-11T02:00:00Z","2009-01-11T03:00:00Z","2009-01-11T04:00:00Z","2009-01-11T05:00:00Z","2009-01-11T06:00:00Z","2009-01-11T07:00:00Z","2009-01-11T08:00:00Z","2009-01-11T09:00:00Z","2009-01-11T10:00:00Z","2009-01-11T11:00:00Z","2009-01-11T12:00:00Z","2009-01-11T13:00:00Z","2009-01-11T14:00:00Z","2009-01-11T15:00:00Z","2009-01-11T16:00:00Z","2009-01-11T17:00:00Z","2009-01-11T18:00:00Z","2009-01-11T19:00:00Z","2009-01-11T20:00:00Z","2009-01-11T21:00:00Z","2009-01-11T22:00:00Z","2009-01-11T23:00:00Z","2009-01-12T00:00:00Z","2009-01-12T01:00:00Z","2009-01-12T02:00:00Z","2009-01-12T03:00:00Z","2009-01-12T04:00:00Z","2009-01-12T05:00:00Z","2009-01-12T06:00:00Z","2009-01-12T07:00:00Z","2009-01-12T08:00:00Z","2009-01-12T09:00:00Z","2009-01-12T10:00:00Z","2009-01-12T11:00:00Z","2009-01-12T12:00:00Z","2009-01-12T13:00:00Z","2009-01-12T14:00:00Z","2009-01-12T15:00:00Z","2009-01-12T16:00:00Z","2009-01-12T17:00:00Z","2009-01-12T18:00:00Z","2009-01-12T19:00:00Z","2009-01-12T20:00:00Z","2009-01-12T21:00:00Z","2009-01-12T22:00:00Z","2009-01-12T23:00:00Z","2009-01-13T00:00:00Z","2009-01-13T01:00:00Z","2009-01-13T02:00:00Z","2009-01-13T03:00:00Z","2009-01-13T04:00:00Z","2009-01-13T05:00:00Z","2009-01-13T06:00:00Z","2009-01-13T07:00:00Z","2009-01-13T08:00:00Z","2009-01-13T09:00:00Z","2009-01-13T10:00:00Z","2009-01-13T11:00:00Z","2009-01-13T12:00:00Z","2009-01-13T13:00:00Z","2009-01-13T14:00:00Z","2009-01-13T15:00:00Z","2009-01-13T16:00:00Z","2009-01-13T17:00:00Z","2009-01-13T18:00:00Z","2009-01-13T19:00:00Z","2009-01-13T20:00:00Z","2009-01-13T21:00:00Z","2009-01-13T22:00:00Z","2009-01-13T23:00:00Z","2009-01-14T00:00:00Z","2009-01-14T01:00:00Z","2009-01-14T02:00:00Z","2009-01-14T03:00:00Z","2009-01-14T04:00:00Z","2009-01-14T05:00:00Z","2009-01-14T06:00:00Z","2009-01-14T07:00:00Z","2009-01-14T08:00:00Z","2009-01-14T09:00:00Z","2009-01-14T10:00:00Z","2009-01-14T11:00:00Z","2009-01-14T12:00:00Z","2009-01-14T13:00:00Z","2009-01-14T14:00:00Z","2009-01-14T15:00:00Z","2009-01-14T16:00:00Z","2009-01-14T17:00:00Z","2009-01-14T18:00:00Z","2009-01-14T19:00:00Z","2009-01-14T20:00:00Z","2009-01-14T21:00:00Z","2009-01-14T22:00:00Z","2009-01-14T23:00:00Z","2009-01-15T00:00:00Z","2009-01-15T01:00:00Z","2009-01-15T02:00:00Z","2009-01-15T03:00:00Z","2009-01-15T04:00:00Z","2009-01-15T05:00:00Z","2009-01-15T06:00:00Z","2009-01-15T07:00:00Z","2009-01-15T08:00:00Z","2009-01-15T09:00:00Z","2009-01-15T10:00:00Z","2009-01-15T11:00:00Z","2009-01-15T12:00:00Z","2009-01-15T13:00:00Z","2009-01-15T14:00:00Z","2009-01-15T15:00:00Z","2009-01-15T16:00:00Z","2009-01-15T17:00:00Z","2009-01-15T18:00:00Z","2009-01-15T19:00:00Z","2009-01-15T20:00:00Z","2009-01-15T21:00:00Z","2009-01-15T22:00:00Z","2009-01-15T23:00:00Z","2009-01-16T00:00:00Z","2009-01-16T01:00:00Z","2009-01-16T02:00:00Z","2009-01-16T03:00:00Z","2009-01-16T04:00:00Z","2009-01-16T05:00:00Z","2009-01-16T06:00:00Z","2009-01-16T07:00:00Z","2009-01-16T08:00:00Z","2009-01-16T09:00:00Z","2009-01-16T10:00:00Z","2009-01-16T11:00:00Z","2009-01-16T12:00:00Z","2009-01-16T13:00:00Z","2009-01-16T14:00:00Z","2009-01-16T15:00:00Z","2009-01-16T16:00:00Z","2009-01-16T17:00:00Z","2009-01-16T18:00:00Z","2009-01-16T19:00:00Z","2009-01-16T20:00:00Z","2009-01-16T21:00:00Z","2009-01-16T22:00:00Z","2009-01-16T23:00:00Z","2009-01-17T00:00:00Z","2009-01-17T01:00:00Z","2009-01-17T02:00:00Z","2009-01-17T03:00:00Z","2009-01-17T04:00:00Z","2009-01-17T05:00:00Z","2009-01-17T06:00:00Z","2009-01-17T07:00:00Z","2009-01-17T08:00:00Z","2009-01-17T09:00:00Z","2009-01-17T10:00:00Z","2009-01-17T11:00:00Z","2009-01-17T12:00:00Z","2009-01-17T13:00:00Z","2009-01-17T14:00:00Z","2009-01-17T15:00:00Z","2009-01-17T16:00:00Z","2009-01-17T17:00:00Z","2009-01-17T18:00:00Z","2009-01-17T19:00:00Z","2009-01-17T20:00:00Z","2009-01-17T21:00:00Z","2009-01-17T22:00:00Z","2009-01-17T23:00:00Z","2009-01-18T00:00:00Z","2009-01-18T01:00:00Z","2009-01-18T02:00:00Z","2009-01-18T03:00:00Z","2009-01-18T04:00:00Z","2009-01-18T05:00:00Z","2009-01-18T06:00:00Z","2009-01-18T07:00:00Z","2009-01-18T08:00:00Z","2009-01-18T09:00:00Z","2009-01-18T10:00:00Z","2009-01-18T11:00:00Z","2009-01-18T12:00:00Z","2009-01-18T13:00:00Z","2009-01-18T14:00:00Z","2009-01-18T15:00:00Z","2009-01-18T16:00:00Z","2009-01-18T17:00:00Z","2009-01-18T18:00:00Z","2009-01-18T19:00:00Z","2009-01-18T20:00:00Z","2009-01-18T21:00:00Z","2009-01-18T22:00:00Z","2009-01-18T23:00:00Z","2009-01-19T00:00:00Z","2009-01-19T01:00:00Z","2009-01-19T02:00:00Z","2009-01-19T03:00:00Z","2009-01-19T04:00:00Z","2009-01-19T05:00:00Z","2009-01-19T06:00:00Z","2009-01-19T07:00:00Z","2009-01-19T08:00:00Z","2009-01-19T09:00:00Z","2009-01-19T10:00:00Z","2009-01-19T11:00:00Z","2009-01-19T12:00:00Z","2009-01-19T13:00:00Z","2009-01-19T14:00:00Z","2009-01-19T15:00:00Z","2009-01-19T16:00:00Z","2009-01-19T17:00:00Z","2009-01-19T18:00:00Z","2009-01-19T19:00:00Z","2009-01-19T20:00:00Z","2009-01-19T21:00:00Z","2009-01-19T22:00:00Z","2009-01-19T23:00:00Z","2009-01-20T00:00:00Z","2009-01-20T01:00:00Z","2009-01-20T02:00:00Z","2009-01-20T03:00:00Z","2009-01-20T04:00:00Z","2009-01-20T05:00:00Z","2009-01-20T06:00:00Z","2009-01-20T07:00:00Z","2009-01-20T08:00:00Z","2009-01-20T09:00:00Z","2009-01-20T10:00:00Z","2009-01-20T11:00:00Z","2009-01-20T12:00:00Z","2009-01-20T13:00:00Z","2009-01-20T14:00:00Z","2009-01-20T15:00:00Z","2009-01-20T16:00:00Z","2009-01-20T17:00:00Z","2009-01-20T18:00:00Z","2009-01-20T19:00:00Z","2009-01-20T20:00:00Z","2009-01-20T21:00:00Z","2009-01-20T22:00:00Z","2009-01-20T23:00:00Z","2009-01-21T00:00:00Z","2009-01-21T01:00:00Z","2009-01-21T02:00:00Z","2009-01-21T03:00:00Z","2009-01-21T04:00:00Z","2009-01-21T05:00:00Z","2009-01-21T06:00:00Z","2009-01-21T07:00:00Z","2009-01-21T08:00:00Z","2009-01-21T09:00:00Z","2009-01-21T10:00:00Z","2009-01-21T11:00:00Z","2009-01-21T12:00:00Z","2009-01-21T13:00:00Z","2009-01-21T14:00:00Z","2009-01-21T15:00:00Z","2009-01-21T16:00:00Z","2009-01-21T17:00:00Z","2009-01-21T18:00:00Z","2009-01-21T19:00:00Z","2009-01-21T20:00:00Z","2009-01-21T21:00:00Z","2009-01-21T22:00:00Z","2009-01-21T23:00:00Z","2009-01-22T00:00:00Z","2009-01-22T01:00:00Z","2009-01-22T02:00:00Z","2009-01-22T03:00:00Z","2009-01-22T04:00:00Z","2009-01-22T05:00:00Z","2009-01-22T06:00:00Z","2009-01-22T07:00:00Z","2009-01-22T08:00:00Z","2009-01-22T09:00:00Z","2009-01-22T10:00:00Z","2009-01-22T11:00:00Z","2009-01-22T12:00:00Z","2009-01-22T13:00:00Z","2009-01-22T14:00:00Z","2009-01-22T15:00:00Z","2009-01-22T16:00:00Z","2009-01-22T17:00:00Z","2009-01-22T18:00:00Z","2009-01-22T19:00:00Z","2009-01-22T20:00:00Z","2009-01-22T21:00:00Z","2009-01-22T22:00:00Z","2009-01-22T23:00:00Z","2009-01-23T00:00:00Z","2009-01-23T01:00:00Z","2009-01-23T02:00:00Z","2009-01-23T03:00:00Z","2009-01-23T04:00:00Z","2009-01-23T05:00:00Z","2009-01-23T06:00:00Z","2009-01-23T07:00:00Z","2009-01-23T08:00:00Z","2009-01-23T09:00:00Z","2009-01-23T10:00:00Z","2009-01-23T11:00:00Z","2009-01-23T12:00:00Z","2009-01-23T13:00:00Z","2009-01-23T14:00:00Z","2009-01-23T15:00:00Z","2009-01-23T16:00:00Z","2009-01-23T17:00:00Z","2009-01-23T18:00:00Z","2009-01-23T19:00:00Z","2009-01-23T20:00:00Z","2009-01-23T21:00:00Z","2009-01-23T22:00:00Z","2009-01-23T23:00:00Z","2009-01-24T00:00:00Z","2009-01-24T01:00:00Z","2009-01-24T02:00:00Z","2009-01-24T03:00:00Z","2009-01-24T04:00:00Z","2009-01-24T05:00:00Z","2009-01-24T06:00:00Z","2009-01-24T07:00:00Z","2009-01-24T08:00:00Z","2009-01-24T09:00:00Z","2009-01-24T10:00:00Z","2009-01-24T11:00:00Z","2009-01-24T12:00:00Z","2009-01-24T13:00:00Z","2009-01-24T14:00:00Z","2009-01-24T15:00:00Z","2009-01-24T16:00:00Z","2009-01-24T17:00:00Z","2009-01-24T18:00:00Z","2009-01-24T19:00:00Z","2009-01-24T20:00:00Z","2009-01-24T21:00:00Z","2009-01-24T22:00:00Z","2009-01-24T23:00:00Z","2009-01-25T00:00:00Z","2009-01-25T01:00:00Z","2009-01-25T02:00:00Z","2009-01-25T03:00:00Z","2009-01-25T04:00:00Z","2009-01-25T05:00:00Z","2009-01-25T06:00:00Z","2009-01-25T07:00:00Z","2009-01-25T08:00:00Z","2009-01-25T09:00:00Z","2009-01-25T10:00:00Z","2009-01-25T11:00:00Z","2009-01-25T12:00:00Z","2009-01-25T13:00:00Z","2009-01-25T14:00:00Z","2009-01-25T15:00:00Z","2009-01-25T16:00:00Z","2009-01-25T17:00:00Z","2009-01-25T18:00:00Z","2009-01-25T19:00:00Z","2009-01-25T20:00:00Z","2009-01-25T21:00:00Z","2009-01-25T22:00:00Z","2009-01-25T23:00:00Z","2009-01-26T00:00:00Z","2009-01-26T01:00:00Z","2009-01-26T02:00:00Z","2009-01-26T03:00:00Z","2009-01-26T04:00:00Z","2009-01-26T05:00:00Z","2009-01-26T06:00:00Z","2009-01-26T07:00:00Z","2009-01-26T08:00:00Z","2009-01-26T09:00:00Z","2009-01-26T10:00:00Z","2009-01-26T11:00:00Z","2009-01-26T12:00:00Z","2009-01-26T13:00:00Z","2009-01-26T14:00:00Z","2009-01-26T15:00:00Z","2009-01-26T16:00:00Z","2009-01-26T17:00:00Z","2009-01-26T18:00:00Z","2009-01-26T19:00:00Z","2009-01-26T20:00:00Z","2009-01-26T21:00:00Z","2009-01-26T22:00:00Z","2009-01-26T23:00:00Z","2009-01-27T00:00:00Z","2009-01-27T01:00:00Z","2009-01-27T02:00:00Z","2009-01-27T03:00:00Z","2009-01-27T04:00:00Z","2009-01-27T05:00:00Z","2009-01-27T06:00:00Z","2009-01-27T07:00:00Z","2009-01-27T08:00:00Z","2009-01-27T09:00:00Z","2009-01-27T10:00:00Z","2009-01-27T11:00:00Z","2009-01-27T12:00:00Z","2009-01-27T13:00:00Z","2009-01-27T14:00:00Z","2009-01-27T15:00:00Z","2009-01-27T16:00:00Z","2009-01-27T17:00:00Z","2009-01-27T18:00:00Z","2009-01-27T19:00:00Z","2009-01-27T20:00:00Z","2009-01-27T21:00:00Z","2009-01-27T22:00:00Z","2009-01-27T23:00:00Z","2009-01-28T00:00:00Z","2009-01-28T01:00:00Z","2009-01-28T02:00:00Z","2009-01-28T03:00:00Z","2009-01-28T04:00:00Z","2009-01-28T05:00:00Z","2009-01-28T06:00:00Z","2009-01-28T07:00:00Z","2009-01-28T08:00:00Z","2009-01-28T09:00:00Z","2009-01-28T10:00:00Z","2009-01-28T11:00:00Z","2009-01-28T12:00:00Z","2009-01-28T13:00:00Z","2009-01-28T14:00:00Z","2009-01-28T15:00:00Z","2009-01-28T16:00:00Z","2009-01-28T17:00:00Z","2009-01-28T18:00:00Z","2009-01-28T19:00:00Z","2009-01-28T20:00:00Z","2009-01-28T21:00:00Z","2009-01-28T22:00:00Z","2009-01-28T23:00:00Z","2009-01-29T00:00:00Z","2009-01-29T01:00:00Z","2009-01-29T02:00:00Z","2009-01-29T03:00:00Z","2009-01-29T04:00:00Z","2009-01-29T05:00:00Z","2009-01-29T06:00:00Z","2009-01-29T07:00:00Z","2009-01-29T08:00:00Z","2009-01-29T09:00:00Z","2009-01-29T10:00:00Z","2009-01-29T11:00:00Z","2009-01-29T12:00:00Z","2009-01-29T13:00:00Z","2009-01-29T14:00:00Z","2009-01-29T15:00:00Z","2009-01-29T16:00:00Z","2009-01-29T17:00:00Z","2009-01-29T18:00:00Z","2009-01-29T19:00:00Z","2009-01-29T20:00:00Z","2009-01-29T21:00:00Z","2009-01-29T22:00:00Z","2009-01-29T23:00:00Z","2009-01-30T00:00:00Z","2009-01-30T01:00:00Z","2009-01-30T02:00:00Z","2009-01-30T03:00:00Z","2009-01-30T04:00:00Z","2009-01-30T05:00:00Z","2009-01-30T06:00:00Z","2009-01-30T07:00:00Z","2009-01-30T08:00:00Z","2009-01-30T09:00:00Z","2009-01-30T10:00:00Z","2009-01-30T11:00:00Z","2009-01-30T12:00:00Z","2009-01-30T13:00:00Z","2009-01-30T14:00:00Z","2009-01-30T15:00:00Z","2009-01-30T16:00:00Z","2009-01-30T17:00:00Z","2009-01-30T18:00:00Z","2009-01-30T19:00:00Z","2009-01-30T20:00:00Z","2009-01-30T21:00:00Z","2009-01-30T22:00:00Z","2009-01-30T23:00:00Z","2009-01-31T00:00:00Z","2009-01-31T01:00:00Z","2009-01-31T02:00:00Z","2009-01-31T03:00:00Z","2009-01-31T04:00:00Z","2009-01-31T05:00:00Z","2009-01-31T06:00:00Z","2009-01-31T07:00:00Z","2009-01-31T08:00:00Z","2009-01-31T09:00:00Z","2009-01-31T10:00:00Z","2009-01-31T11:00:00Z","2009-01-31T12:00:00Z","2009-01-31T13:00:00Z","2009-01-31T14:00:00Z","2009-01-31T15:00:00Z","2009-01-31T16:00:00Z","2009-01-31T17:00:00Z","2009-01-31T18:00:00Z","2009-01-31T19:00:00Z","2009-01-31T20:00:00Z","2009-01-31T21:00:00Z","2009-01-31T22:00:00Z","2009-01-31T23:00:00Z","2009-02-01T00:00:00Z"],"Hp60":[1.333,2.0,1.667,1.333,3.0,2.667,2.333,3.333,3.333,2.0,1.333,2.333,2.667,1.667,1.333,2.0,2.0,1.0,0.333,0.667,0.667,1.0,1.667,1.667,1.333,0.333,0.667,1.0,1.0,0.333,0.0,0.333,0.333,0.333,0.333,0.667,0.667,0.667,1.0,1.333,1.0,1.667,1.333,2.333,1.667,3.0,3.0,2.333,2.333,2.0,2.667,3.333,2.667,3.0,2.667,1.667,2.667,4.333,4.0,2.667,2.333,2.0,1.667,2.0,2.333,2.667,1.0,1.333,0.667,1.667,2.333,2.0,1.667,2.667,1.667,0.0,0.667,1.333,1.333,1.0,0.333,0.667,1.667,1.667,0.667,0.667,0.667,1.333,1.333,2.0,1.667,1.0,0.667,0.667,0.333,0.667,1.333,0.333,1.333,2.333,0.333,0.0,1.0,0.333,1.667,1.0,1.333,0.667,1.0,1.0,1.0,2.333,1.667,1.667,1.667,1.0,1.0,2.333,1.667,0.667,0.0,0.333,2.333,2.333,1.333,1.333,0.333,1.0,0.333,0.667,1.333,1.0,1.0,1.0,0.667,2.0,1.0,1.0,0.333,0.333,0.0,0.0,0.667,0.0,0.667,0.333,0.333,1.0,1.0,0.667,0.333,1.333,1.333,0.667,0.333,0.667,0.333,0.333,0.0,0.333,1.0,1.0,0.0,0.333,0.0,0.667,1.333,0.667,0.667,0.0,0.0,0.0,0.0,0.0,0.333,0.667,0.667,0.667,0.667,0.667,2.333,2.333,1.333,2.0,1.667,1.0,0.667,1.333,0.667,1.667,1.0,1.333,1.667,1.333,1.667,1.333,1.333,2.333,1.0,1.0,1.333,0.667,1.0,0.667,3.0,2.667,1.333,0.667,1.333,2.667,1.333,1.667,2.0,1.0,0.667,1.333,2.333,2.333,2.667,2.333,2.333,2.667,1.0,1.333,1.0,1.0,1.333,1.333,0.333,0.333,0.0,0.0,0.0,0.333,0.667,0.333,0.667,0.667,1.0,0.667,1.0,1.333,1.667,0.333,0.667,0.0,0.0,0.0,0.333,0.333,1.333,0.333,0.0,0.0,0.0,0.333,1.0,0.333,0.333,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.333,0.333,0.333,0.333,0.333,0.0,1.0,1.667,2.333,2.333,1.333,2.0,1.667,0.667,0.0,0.0,0.0,1.0,0.667,1.333,1.333,0.667,1.0,1.0,1.333,1.667,1.333,1.333,0.667,1.0,3.0,1.667,2.0,2.0,2.0,1.667,1.0,1.333,1.667,1.333,2.0,2.333,2.667,2.667,0.667,1.0,1.0,2.0,0.667,1.0,1.0,1.0,1.667,2.333,1.333,1.667,2.0,1.667,1.667,1.333,1.333,1.667,1.0,1.667,1.333,1.0,0.667,0.333,1.0,1.333,1.333,2.0,2.333,2.333,2.0,2.667,1.667,2.333,2.0,2.0,2.667,1.0,1.333,0.667,0.0,1.0,0.0,1.0,1.0,1.0,0.333,0.667,0.667,1.0,1.333,1.667,1.0,0.0,0.0,0.0,0.0,1.0,0.333,0.0,0.0,0.0,1.0,1.0,1.0,0.333,0.333,0.667,0.667,0.333,0.667,0.667,0.333,0.667,1.333,0.667,1.333,1.333,0.667,0.0,0.333,0.0,0.333,1.0,0.333,0.333,0.0,0.0,0.333,0.667,0.333,0.667,1.333,0.667,0.0,0.0,0.667,0.333,1.0,0.667,0.667,1.333,0.333,0.667,1.667,2.0,3.333,4.667,3.0,1.667,1.667,2.667,2.333,0.667,1.0,1.0,0.667,1.333,1.333,0.667,1.333,1.667,2.0,2.0,1.333,2.333,2.333,2.0,1.333,3.0,1.667,1.667,1.333,0.333,1.333,0.667,1.0,1.0,0.667,0.333,0.667,0.667,0.667,0.333,0.0,0.0,0.333,0.667,1.0,2.0,1.0,1.333,0.333,1.0,1.0,0.333,0.0,0.0,0.0,0.0,0.333,1.0,1.0,1.0,0.667,0.333,0.667,1.0,1.0,2.0,1.667,2.0,1.667,1.0,0.667,0.667,1.333,0.667,0.0,0.333,0.333,0.0,0.667,0.333,0.333,0.667,0.667,0.667,0.333,0.667,0.667,0.333,0.0,0.667,1.0,0.667,1.0,0.333,0.333,0.0,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.667,0.667,0.0,0.333,0.667,1.0,0.667,0.667,0.333,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.667,0.0,0.0,1.667,1.667,0.0,0.0,0.333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333,0.0,0.0,0.333,0.667,0.0,0.333,1.0,0.667,1.333,1.0,0.333,0.333,0.333,0.667,0.0,0.0,0.0,0.0,0.0,0.0,0.667,0.333,0.667,0.667,0.0,0.0,0.333,0.0,1.0,1.0,2.667,2.0,4.0,2.667,2.0,1.667,3.0,2.333,1.0,3.333,3.333,3.0,2.0,2.0,3.0,3.333,3.333,3.0,3.0,3.0,2.0,1.667,0.333,0.333,0.333,0.333,1.0,0.667,0.0,0.667,1.0,1.333,0.667,0.333,0.333,0.333,1.333,0.333,0.333,0.667,0.667,1.0,1.667,1.0,1.0,1.667,2.333,2.0,1.0,0.333,0.333,0.0,0.0,0.0,0.0,0.0,0.333,0.333,0.0,1.333,1.0,0.667,0.667,0.667,0.333,1.0,0.0,0.0,0.667,0.333,0.333,1.333,1.0,0.667,0.333,0.333,0.0,0.667,2.333,2.0,3.0,3.333,2.333,1.0,1.333,1.0,1.333,1.333,0.667,0.0,0.333,0.333,1.0,1.0,0.0,0.333,0.0,0.333,0.333,0.0,1.0,1.667,1.667,1.333,0.333,0.333,0.667,1.0,2.0,1.0,0.333,0.333,0.667,0.667,0.667,1.0,0.667,1.0,1.667,3.0,2.0,1.667,2.0,0.333,1.0,1.0,1.0,1.667,2.0,1.333,3.0,2.0,1.333,2.0,3.0,3.333,2.333,1.333,1.333,1.333,2.0,1.333,1.333,1.0,2.667,2.0,1.333]} diff --git a/GeospaceDataManagement/tests/test_data/Kp_def2009.wdc b/GeospaceDataManagement/tests/test_data/Kp_def2009.wdc new file mode 100644 index 0000000..ccba0fc --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/Kp_def2009.wdc @@ -0,0 +1,375 @@ +# DOI: https://doi.org/10.5880/Kp.0001 +# LICENCE: CC BY 4.0, please cite: +# Matzka, J., Bronkalla, O., Tornow, K., Elger, K. and Stolle, C., 2021. +# Geomagnetic Kp index. V. 1.0. GFZ Data Services, +# https://doi.org/10.5880/Kp.0001 +# Matzka, J., Stolle, C., Yamazaki, Y., Bronkalla, O. and Morschhauser, A., +# 2021. The geomagnetic Kp index and derived indices of geomagnetic activity. +# Space Weather, https://doi.org/10.1029/2020SW002641 +# The Kp index was introduced by Bartels (1949) and is produced by Geomagnetic +# Observatory Niemegk, GFZ German Research Centre for Geosciences. + 9 1 12394 1172327202317 717150 6 9 12 7 9 6 3 6 70.42 + 9 1 22394 2 7 7 0 3 7201727 87 3 3 0 2 3 7 6 12 40.21 + 9 1 32394 3273027372023 720190 12 15 12 22 7 9 3 7 110.63 + 9 1 42394 423 7 710 72317 3 97 9 3 3 4 3 9 6 2 50.21 + 9 1 52394 51013101010171020100 4 5 4 4 4 6 4 7 50.21 + 9 1 62394 62017 3101013 0 0 73 7 6 2 4 4 5 0 0 40.10 + 9 1 72394 7 3 710 3 3 7 0 7 40 2 3 4 2 2 3 0 3 20.00 + 9 1 82394 8 0 0 3 72013 713 63 0 0 2 3 7 5 3 5 30.10 + 9 1 92394 9171310 720171710110 6 5 4 3 7 6 6 4 50.21 + 9 11023941030231010 3 0 310 90 15 9 4 4 2 0 2 4 50.21 + 9 11123941110 0 0 7 0 0 0 0 17 4 0 0 3 0 0 0 0 10.00 + 9 112239412 0 0 0 0 0 0 3 0 3 0 0 0 0 0 0 2 0 00.00 + 9 113239413102017 010101310 90 4 7 6 0 4 4 5 4 40.10 + 9 1142394142320101723 71313127 9 7 4 6 9 3 5 5 60.31 + 9 11523941513201013 7202323130 5 7 4 5 3 7 9 9 60.31 + 9 1162394162020 0 7 71310 0 77 7 7 0 3 3 5 4 0 40.10 + 9 117239417 3 710 3 31310 3 53 2 3 4 2 2 5 4 2 30.10 + 9 118239418 3 0 3 7 3 71010 43 2 0 2 3 2 3 4 4 20.00 + 9 119239419402323 710171723160 27 9 9 3 4 6 6 9 90.52 + 9 12023942020 7 7 3 3 02013 73 7 3 3 2 2 0 7 5 40.10 + 9 121239421 0 0 010 7202010 67 0 0 0 4 3 7 7 4 30.10 + 9 122239422 0 7 3 3 3 3 3 0 23 0 3 2 2 2 2 2 0 20.00 + 9 123239423 0 0 3 3 7 0 0 7 20 0 0 2 2 3 0 0 3 10.00 + 9 1242394241010 0 0 0 3 0 3 27 4 4 0 0 0 2 0 2 20.00 + 9 125239425 7 0 0 0 7 3 317 37 3 0 0 0 3 2 2 6 20.00 + 9 12623942633232720303317 3187 18 9 12 7 15 18 6 2 110.63 + 9 127239427 310 3 3 3172017 77 2 4 2 2 2 6 7 6 40.10 + 9 1282395 1 0 0 010 7 7 3 7 33 0 0 0 4 3 3 2 3 20.00 + 9 1292395 2 020231313 3 3 0 77 0 7 9 5 5 2 2 0 40.10 + 9 1302395 3 313 310 3 31320 70 2 5 2 4 2 2 5 7 40.10 + 9 1312395 41310231727132020143 5 4 9 6 12 5 7 7 70.31 + 9 2 12395 5 72310 7 3 3 3 3 60 3 9 4 3 2 2 2 2 30.10 + 9 2 22395 6 3 0 0 3 3 3 0 0 13 2 0 0 2 2 2 0 0 10.00 + 9 2 32395 7 0 0 3 0 0 02037 60 0 0 2 0 0 0 7 22 40.10 + 9 2 42395 83710173330333027217 22 4 6 18 15 18 15 12 140.84 + 9 2 52395 93720101013 7 317117 22 7 4 4 5 3 2 6 70.31 + 9 2 623951020 3 0 0 0 0 0 3 27 7 2 0 0 0 0 0 2 10.00 + 9 2 7239511 320 3 0 3 3 0 0 33 2 7 2 0 2 2 0 0 20.00 + 9 2 8239512 0 0 3 0 0 0 0 3 7 0 0 2 0 0 0 0 2 00.00 + 9 2 923951317 3 0 0 0 3 010 33 6 2 0 0 0 2 0 4 20.00 + 9 210239514 3 3 0 3 3 3 3 7 27 2 2 0 2 2 2 2 3 20.00 + 9 21123951517 310 7 7 310 7 63 6 2 4 3 3 2 4 3 30.10 + 9 212239516 7 7 0 71017 7 0 53 3 3 0 3 4 6 3 0 30.00 + 9 213239517 3 0 0 0 71013 7 40 2 0 0 0 3 4 5 3 20.00 + 9 2142395181723373743331337240 6 9 22 22 32 18 5 22 170.94 + 9 2152395192737172030202020190 12 22 6 7 15 7 7 7 100.63 + 9 21623952020 3 0 7 7171010 73 7 2 0 3 3 6 4 4 40.10 + 9 217239521 0 0 0 0 0 0 310 13 0 0 0 0 0 0 2 4 10.00 + 9 21823952220 3 0 0 3 31020 60 7 2 0 0 2 2 4 7 30.10 + 9 219239523 0 0 0 0 013 3 7 23 0 0 0 0 0 5 2 3 10.00 + 9 2202395241010 7 3 7102023 90 4 4 3 2 3 4 7 9 40.21 + 9 221239525 3 3 01310 7 710 53 2 2 0 5 4 3 3 4 30.10 + 9 222239526 3 3132013 3 713 77 2 2 5 7 5 2 3 5 40.10 + 9 223239527 3 0 0 720302023103 2 0 0 3 7 15 7 9 50.21 + 9 2242396 13033231310 7 310130 15 18 9 5 4 3 2 4 80.42 + 9 2252396 21713 710 7 3 7 3 67 6 5 3 4 3 2 3 2 40.10 + 9 2262396 3 710 0 3 7 7 710 50 3 4 0 2 3 3 3 4 30.00 + 9 2272396 41717204033202020187 6 6 7 27 18 7 7 7 110.63 + 9 2282396 5272720 3 0 01013100 12 12 7 2 0 0 4 5 50.21 + 9 3 12396 62010 7 3 7 3 0 0 50 7 4 3 2 3 2 0 0 30.00 + 9 3 22396 7 0 0 0 3 3 0 3 0 10 0 0 0 2 2 0 2 0 10.00 + 9 3 32396 810 7172320232723150 4 3 6 9 7 9 12 9 70.42 + 9 3 42396 92027131317102027147 7 12 5 5 6 4 7 12 70.42 + 9 3 52396101727 3 3 0 3 3 7 63 6 12 2 2 0 2 2 3 40.10 + 9 3 623961113 7 7 3 0 0 0 7 37 5 3 3 2 0 0 0 3 20.00 + 9 3 7239612 3 3 3 0 0 3 3 3 20 2 2 2 0 0 2 2 2 20.00 + 9 3 8239613201030273027 7 3153 7 4 15 12 15 12 3 2 90.52 + 9 3 9239614 3 0 0 7 7 3 3 0 23 2 0 0 3 3 2 2 0 20.00 + 9 310239615 7 3 0 3172017 3 70 3 2 0 2 6 7 6 2 40.10 + 9 311239616 3 3 7 3 3 72327 77 2 2 3 2 2 3 9 12 40.21 + 9 3122396173030 713 7 71727137 15 15 3 5 3 3 6 12 80.42 + 9 3132396184740333027272023247 39 27 18 15 12 12 7 9 170.94 + 9 3142396193020202310272030180 15 7 7 9 4 12 7 15 100.52 + 9 315239620233027171717 320153 9 15 12 6 6 6 2 7 80.42 + 9 31623962123 71017 71717 3100 9 3 4 6 3 6 6 2 50.21 + 9 31723962210 7 7 310171713 83 4 3 3 2 4 6 6 5 40.10 + 9 318239623 3 3 3 3 3 3 3 7 30 2 2 2 2 2 2 2 3 20.00 + 9 31923962417 7 7 317 31013 77 6 3 3 2 6 2 4 5 40.10 + 9 32023962517 0 3 7 3171310 70 6 0 2 3 2 6 5 4 40.10 + 9 321239626 0 7172730102330143 0 3 6 12 15 4 9 15 80.42 + 9 322239627172710 7 3 01017 90 6 12 4 3 2 0 4 6 50.21 + 9 3232397 113 3 7 0 0 010 7 40 5 2 3 0 0 0 4 3 20.00 + 9 3242397 2 727202027201317150 3 12 7 7 12 7 5 6 70.42 + 9 3252397 333372020 7 71017150 18 22 7 7 3 3 4 6 90.52 + 9 3262397 42030271013131010133 7 15 12 4 5 5 4 4 70.42 + 9 3272397 5 3 0 0 310273017 90 2 0 0 2 4 12 15 6 50.21 + 9 3282397 613 0 0 7 7 72013 67 5 0 0 3 3 3 7 5 30.10 + 9 3292397 710 710 7 713 710 70 4 3 4 3 3 5 3 4 40.10 + 9 3302397 81313 31017 713 3 80 5 5 2 4 6 3 5 2 40.10 + 9 3312397 910 710 717 7 3 3 63 4 3 4 3 6 3 2 2 30.10 + 9 4 123971010 0 310 7 71320 70 4 0 2 4 3 3 5 7 40.10 + 9 4 2239711 3 3 7 310 3 3 3 37 2 2 3 2 4 2 2 2 20.00 + 9 4 3239712 7 0 3 0 313 7 3 37 3 0 2 0 2 5 3 2 20.00 + 9 4 4239713 0 0 0 3 3 3 3 3 17 0 0 0 2 2 2 2 2 10.00 + 9 4 523971413171710 713 7 3 87 5 6 6 4 3 5 3 2 40.10 + 9 4 6239715 7 3 3131013 3 7 60 3 2 2 5 4 5 2 3 30.10 + 9 4 7239716 7 710 7 3 3 3 3 43 3 3 4 3 2 2 2 2 30.00 + 9 4 8239717 313131323132020120 2 5 5 5 9 5 7 7 60.31 + 9 4 92397183033302017332323210 15 18 15 7 6 18 9 9 120.73 + 9 4102397192013201317203313150 7 5 7 5 6 7 18 5 80.42 + 9 4112397203327202023271723190 18 12 7 7 9 12 6 9 100.63 + 9 412239721232313 7 7132327137 9 9 5 3 3 5 9 12 70.31 + 9 413239722272010 3 7 3 3 3 77 12 7 4 2 3 2 2 2 40.10 + 9 41423972310 7 010 7 3 0 3 40 4 3 0 4 3 2 0 2 20.00 + 9 4152397241713 3 3131313 7 83 6 5 2 2 5 5 5 3 40.10 + 9 416239725 71013 717231020107 3 4 5 3 6 9 4 7 50.21 + 9 41723972617 7 7132013 720103 6 3 3 5 7 5 3 7 50.21 + 9 4182397271733271317171017150 6 18 12 5 6 6 4 6 80.42 + 9 4192398 1172317 310 31013 97 6 9 6 2 4 2 4 5 50.21 + 9 4202398 2201710 71013 3 3 83 7 6 4 3 4 5 2 2 40.10 + 9 4212398 310102313 7 310 7 83 4 4 9 5 3 2 4 3 40.10 + 9 4222398 41717 31310 3 313 80 6 6 2 5 4 2 2 5 40.10 + 9 4232398 5 7 3 3 3 3 7 3 0 30 3 2 2 2 2 3 2 0 20.00 + 9 4242398 62313171323131710130 9 5 6 5 9 5 6 4 60.31 + 9 4252398 7 710 31310171017 87 3 4 2 5 4 6 4 6 40.10 + 9 4262398 8 710 710 7 7 310 60 3 4 3 4 3 3 2 4 30.10 + 9 4272398 92317 0 7 3 3 7 3 63 9 6 0 3 2 2 3 2 30.10 + 9 428239810 0 7 3 3 7 710 7 43 0 3 2 2 3 3 4 3 20.00 + 9 429239811 0 3 710101013 3 57 0 2 3 4 4 4 5 2 30.10 + 9 430239812 7 7 7 7 7 3 0 3 40 3 3 3 3 3 2 0 2 20.00 + 9 5 1239813 3 31013 7 7 310 57 2 2 4 5 3 3 2 4 30.10 + 9 5 2239814 71013 713 3 713 73 3 4 5 3 5 2 3 5 40.10 + 9 5 323981517 3 3 71013 0 7 60 6 2 2 3 4 5 0 3 30.10 + 9 5 4239816 3171010 7 3 3 0 53 2 6 4 4 3 2 2 0 30.10 + 9 5 5239817 0 3 7 7 3 7 010 37 0 2 3 3 2 3 0 4 20.00 + 9 5 62398182010 71017172327130 7 4 3 4 6 6 9 12 60.31 + 9 5 723981927231010 7131727133 12 9 4 4 3 5 6 12 70.31 + 9 5 82398204030271717132320187 27 15 12 6 6 5 9 7 110.63 + 9 5 9239821 013172017171013107 0 5 6 7 6 6 4 5 50.21 + 9 5102398221010 7 710 71013 73 4 4 3 3 4 3 4 5 40.10 + 9 5112398232013 71013 7 7 3 80 7 5 3 4 5 3 3 2 40.10 + 9 512239824 0 0 0 0 3 3 3 7 17 0 0 0 0 2 2 2 3 10.00 + 9 513239825 7 3 3 3 313 7 3 43 3 2 2 2 2 5 3 2 30.00 + 9 514239826 713103023233017153 3 5 4 15 9 9 15 6 80.42 + 9 51523982710 7 0 7 3 7 3 3 40 4 3 0 3 2 3 2 2 20.00 + 9 5162399 11010 313 7101013 77 4 4 2 5 3 4 4 5 40.10 + 9 5172399 2 710 0 0 3 0 0 3 23 3 4 0 0 2 0 0 2 10.00 + 9 5182399 310 3 7 3 3 7 320 57 4 2 3 2 2 3 2 7 30.10 + 9 5192399 41010 7 7 7 7 7 3 57 4 4 3 3 3 3 3 2 30.10 + 9 5202399 5131010 7 7102717100 5 4 4 3 3 4 12 6 50.21 + 9 5212399 613 7131010 7 7 7 73 5 3 5 4 4 3 3 3 40.10 + 9 5222399 7 3 71320172010 7 97 2 3 5 7 6 7 4 3 50.21 + 9 5232399 8 3 01013 3101320 73 2 0 4 5 2 4 5 7 40.10 + 9 5242399 91313 710 310 7 7 70 5 5 3 4 2 4 3 3 40.10 + 9 525239910 3 0 3 7 3 3 3 3 27 2 0 2 3 2 2 2 2 20.00 + 9 526239911 3 310 3 7 7 7 3 43 2 2 4 2 3 3 3 2 30.00 + 9 527239912 0 3 0 3 3 0 3 7 20 0 2 0 2 2 0 2 3 10.00 + 9 528239913 02320232013 3 0103 0 9 7 9 7 5 2 0 50.21 + 9 529239914 713 71313131310 90 3 5 3 5 5 5 5 4 40.21 + 9 5302399151017 3 3 3 310 3 53 4 6 2 2 2 2 4 2 30.10 + 9 531239916 3 317 3 31013 7 60 2 2 6 2 2 4 5 3 30.10 + 9 6 1239917 3 7 7 0 3 3 3 3 30 2 3 3 0 2 2 2 2 20.00 + 9 6 2239918 3 3 0 7 7 7 310 40 2 2 0 3 3 3 2 4 20.00 + 9 6 323991910 3 0 7 7232313 87 4 2 0 3 3 9 9 5 40.21 + 9 6 4239920 723131010 7 717 93 3 9 5 4 4 3 3 6 50.21 + 9 6 5239921 71017171017 710 93 3 4 6 6 4 6 3 4 40.21 + 9 6 6239922 71010 310 7 7 7 60 3 4 4 2 4 3 3 3 30.10 + 9 6 7239923 3 3 71313231313 90 2 2 3 5 5 9 5 5 40.21 + 9 6 823992410 7 7 7 3 7 7 3 50 4 3 3 3 2 3 3 2 30.10 + 9 6 9239925 0 0 0 7 7 7 3 7 30 0 0 0 3 3 3 2 3 20.00 + 9 610239926 71317 7 7 7 3 0 60 3 5 6 3 3 3 2 0 30.10 + 9 611239927 7 7 310 3 3 3 7 43 3 3 2 4 2 2 2 3 30.00 + 9 6122400 1 3 3 3 3 3 0 0 0 17 2 2 2 2 2 0 0 0 10.00 + 9 6132400 2 0 313 3 710 713 57 0 2 5 2 3 4 3 5 30.10 + 9 6142400 317 7 3 720101717 97 6 3 2 3 7 4 6 6 50.21 + 9 6152400 4 717 7 3 7 7 3 3 53 3 6 3 2 3 3 2 2 30.10 + 9 6162400 5 0 3 3 32010 7 0 47 0 2 2 2 7 4 3 0 20.00 + 9 6172400 6 3 7 7 3 3 7 0 0 30 2 3 3 2 2 3 0 0 20.00 + 9 6182400 7 0 3 3 7 710 720 57 0 2 2 3 3 4 3 7 30.10 + 9 6192400 813 3 3 3 3 3 3 0 33 5 2 2 2 2 2 2 0 20.00 + 9 6202400 9 010171010102013 90 0 4 6 4 4 4 7 5 40.10 + 9 621240010172317172710 7 0117 6 9 6 6 12 4 3 0 60.31 + 9 622240011 310 3 3 7 7 3 3 40 2 4 2 2 3 3 2 2 20.00 + 9 623240012 3 3 710 3 7 733 73 2 2 3 4 2 3 3 18 50.21 + 9 6242400132330401717205027223 9 15 27 6 6 7 48 12 160.94 + 9 6252400142010131020131323123 7 4 5 4 7 5 5 9 60.31 + 9 62624001517 7 3 7 3 3 3 7 50 6 3 2 3 2 2 2 3 30.10 + 9 627240016 3 0 71013201717 87 2 0 3 4 5 7 6 6 40.10 + 9 628240017201010 717304033167 7 4 4 3 6 15 27 18 100.63 + 9 629240018372313172010 7 3130 22 9 5 6 7 4 3 2 70.42 + 9 630240019 7171010 31310 7 77 3 6 4 4 2 5 4 3 40.10 + 9 7 1240020 71310 7 3 3 3 3 50 3 5 4 3 2 2 2 2 30.10 + 9 7 2240021 3 7 7 3 3 3 3 0 30 2 3 3 2 2 2 2 0 20.00 + 9 7 3240022 3 7 310 7 7 713 57 2 3 2 4 3 3 3 5 30.10 + 9 7 424002310 7 3 3 710 710 57 4 3 2 2 3 4 3 4 30.10 + 9 7 52400242020 3 3 3102017 97 7 7 2 2 2 4 7 6 50.21 + 9 7 62400251317 7 3 3 3 710 63 5 6 3 2 2 2 3 4 30.10 + 9 7 7240026 7 7 310 71713 7 70 3 3 2 4 3 6 5 3 40.10 + 9 7 824002710 317131010 7 7 77 4 2 6 5 4 4 3 3 40.10 + 9 7 92401 113 71310 3172723113 5 3 5 4 2 6 12 9 60.31 + 9 7102401 2233013131717 713133 9 15 5 5 6 6 3 5 70.31 + 9 7112401 3101313 3 7 3 310 63 4 5 5 2 3 2 2 4 30.10 + 9 7122401 4 7 710 710 3 310 57 3 3 4 3 4 2 2 4 30.10 + 9 7132401 5 7 7 31027332330140 3 3 2 4 12 18 9 15 80.42 + 9 7142401 6372317132010 713140 22 9 6 5 7 4 3 5 80.42 + 9 7152401 7101713101010 3 3 77 4 6 5 4 4 4 2 2 40.10 + 9 7162401 8 7 310 3 3 0 3 3 33 3 2 4 2 2 0 2 2 20.00 + 9 7172401 9 0 3 0 3 0 3 0 0 10 0 2 0 2 0 2 0 0 10.00 + 9 718240110 0 7 3 3 7 0 3 0 23 0 3 2 2 3 0 2 0 20.00 + 9 719240111 0 3 3 3 3 0 0 0 13 0 2 2 2 2 0 0 0 10.00 + 9 720240112 31313201723 3 0 93 2 5 5 7 6 9 2 0 40.21 + 9 721240113 710 710 7101010 70 3 4 3 4 3 4 4 4 40.10 + 9 7222401143057504317172313250 15 67 48 32 6 6 9 5 241.15 + 9 7232401151313201717232320147 5 5 7 6 6 9 9 7 70.31 + 9 724240116201020131320 710113 7 4 7 5 5 7 3 4 50.21 + 9 7252401172020 31010 3 713 87 7 7 2 4 4 2 3 5 40.10 + 9 726240118 7 3 7 3 7 3 3 0 33 3 2 3 2 3 2 2 0 20.00 + 9 727240119 7 7 7 310 7 7 7 53 3 3 3 2 4 3 3 3 30.10 + 9 72824012010131010 710 0 7 67 4 5 4 4 3 4 0 3 30.10 + 9 729240121 710 3 7 7 3 0 0 37 3 4 2 3 3 2 0 0 20.00 + 9 730240122 3 0 013102013 3 63 2 0 0 5 4 7 5 2 30.10 + 9 731240123 0 723171310 7 7 83 0 3 9 6 5 4 3 3 40.10 + 9 8 1240124 010 7101013 3 7 60 0 4 3 4 4 5 2 3 30.10 + 9 8 2240125 3 3 0 3 3 31023 50 2 2 0 2 2 2 4 9 30.10 + 9 8 324012627202013131017 7127 12 7 7 5 5 4 6 3 60.31 + 9 8 4240127 710 7 3 7101010 63 3 4 3 2 3 4 4 4 30.10 + 9 8 52402 11313132020 7 317107 5 5 5 7 7 3 2 6 50.21 + 9 8 62402 22330401323201713180 9 15 27 5 9 7 6 5 100.63 + 9 8 72402 31717 71310272027137 6 6 3 5 4 12 7 12 70.31 + 9 8 82402 41013 3 3 710 7 3 57 4 5 2 2 3 4 3 2 30.10 + 9 8 92402 52020201713 71013120 7 7 7 6 5 3 4 5 60.21 + 9 8102402 620 0 0 3 71013 7 60 7 0 0 2 3 4 5 3 30.10 + 9 8112402 7 3 310 3 3 7 713 50 2 2 4 2 2 3 3 5 30.10 + 9 8122402 8 7 7101317 3 717 80 3 3 4 5 6 2 3 6 40.10 + 9 8132402 920 7101010 3 7 3 70 7 3 4 4 4 2 3 2 40.10 + 9 814240210 310 7 3 0 3 310 40 2 4 3 2 0 2 2 4 20.00 + 9 815240211 7 010 0 3 0 3 0 23 3 0 4 0 2 0 2 0 10.00 + 9 816240212 3 3 3 3 3 0 3 7 27 2 2 2 2 2 0 2 3 20.00 + 9 817240213 0 3 0 3 7 710 3 33 0 2 0 2 3 3 4 2 20.00 + 9 818240214 7 7 3 3 3 7 710 47 3 3 2 2 2 3 3 4 30.00 + 9 819240215 3 3 72030232730143 2 2 3 7 15 9 12 15 80.42 + 9 8202402163337202017 71723173 18 22 7 7 6 3 6 9 100.52 + 9 82124021717 7271327231317143 6 3 12 5 12 9 5 6 70.42 + 9 8222402181020101010 71310 90 4 7 4 4 4 3 5 4 40.21 + 9 82324021913231310 7 3 7 7 83 5 9 5 4 3 2 3 3 40.10 + 9 82424022010 3 0 3 3 3 3 0 27 4 2 0 2 2 2 2 0 20.00 + 9 825240221 310 0 3 7 7 3 7 40 2 4 0 2 3 3 2 3 20.00 + 9 82624022220101710 3 3 3 0 67 7 4 6 4 2 2 2 0 30.10 + 9 827240223 713 71013272310110 3 5 3 4 5 12 9 4 60.31 + 9 828240224 713 3 0 0 3 3 3 33 3 5 2 0 0 2 2 2 20.00 + 9 829240225 0 310 7 3 3 3 0 30 0 2 4 3 2 2 2 0 20.00 + 9 8302402262013272030574333243 7 5 12 7 15 67 32 18 201.05 + 9 83124022723131313131317 7113 9 5 5 5 5 5 6 3 50.21 + 9 9 12403 113 3 0 713 7 310 57 5 2 0 3 5 3 2 4 30.10 + 9 9 22403 217 7 0 310 7 310 57 6 3 0 2 4 3 2 4 30.10 + 9 9 32403 3 3 3 7 710232023 97 2 2 3 3 4 9 7 9 50.21 + 9 9 42403 420272020131713 3133 7 12 7 7 5 6 5 2 60.31 + 9 9 52403 51010 7 3 0 3 7 3 43 4 4 3 2 0 2 3 2 20.00 + 9 9 62403 6 017 317 7 710 7 67 0 6 2 6 3 3 4 3 30.10 + 9 9 72403 7 0 0 310 710 7 3 40 0 0 2 4 3 4 3 2 20.00 + 9 9 82403 8 7 0 0 0 010 710 33 3 0 0 0 0 4 3 4 20.00 + 9 9 92403 910 3 0 3 7 3 7 3 37 4 2 0 2 3 2 3 2 20.00 + 9 910240310 3 0 0 717 3 7 3 40 2 0 0 3 6 2 3 2 20.00 + 9 911240311 0 7 7 710101310 63 0 3 3 3 4 4 5 4 30.10 + 9 912240312 0 7 7 3 7 3 3 7 37 0 3 3 2 3 2 2 3 20.00 + 9 9132403131013 7 710232013103 4 5 3 3 4 9 7 5 50.21 + 9 91424031430101010 3131017103 15 4 4 4 2 5 4 6 60.21 + 9 915240315 32017 71017 723103 2 7 6 3 4 6 3 9 50.21 + 9 91624031620172013 3 7 7 7 93 7 6 7 5 2 3 3 3 40.21 + 9 917240317233320 7 7 71313123 9 18 7 3 3 3 5 5 70.31 + 9 9182403182010 0 3 7 0 3 0 43 7 4 0 2 3 0 2 0 20.00 + 9 919240319 3 0 7 7 3 3 3 0 27 2 0 3 3 2 2 2 0 20.00 + 9 920240320 0 0 3 713102727 87 0 0 2 3 5 4 12 12 50.21 + 9 92124032130172023171010 0127 15 6 7 9 6 4 4 0 60.31 + 9 922240322 7 0101013 7 0 3 50 3 0 4 4 5 3 0 2 30.00 + 9 923240323 3 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 0 00.00 + 9 924240324 0 0 0 0 3 7 7 3 20 0 0 0 0 2 3 3 2 10.00 + 9 925240325 010 0 3 7 3 3 0 27 0 4 0 2 3 2 2 0 20.00 + 9 926240326 0 0 0 310 71027 57 0 0 0 2 4 3 4 12 30.10 + 9 9272403272033102010 71313127 7 18 4 7 4 3 5 5 70.31 + 9 9282404 12327331710 31320147 9 12 18 6 4 2 5 7 80.42 + 9 9292404 2 3 0 3 3 3 3 0 0 17 2 0 2 2 2 2 0 0 10.00 + 9 9302404 3171313 717 71713103 6 5 5 3 6 3 6 5 50.21 + 910 12404 4 713 3 3 0 3 3 3 37 3 5 2 2 0 2 2 2 20.00 + 910 22404 5 7 3 0 7 3 0 3 0 23 3 2 0 3 2 0 2 0 20.00 + 910 32404 6 3 0 0 0 3 0 7 0 13 2 0 0 0 2 0 3 0 10.00 + 910 42404 7 023102017 7 3 3 83 0 9 4 7 6 3 2 2 40.10 + 910 52404 8 710 0 3 310 7 7 47 3 4 0 2 2 4 3 3 30.00 + 910 62404 9 0 7 3 3 7 3 0 3 27 0 3 2 2 3 2 0 2 20.00 + 910 7240410 0 0 3 7 3 7 3 3 27 0 0 2 3 2 3 2 2 20.00 + 910 8240411 710 3 0 0 0 013 33 3 4 2 0 0 0 0 5 20.00 + 910 9240412 0 7 7 7 0 3 3 3 30 0 3 3 3 0 2 2 2 20.00 + 91010240413 0 0 0 7 3 0 0 0 10 0 0 0 3 2 0 0 0 10.00 + 910112404142023331313171010140 7 9 18 5 5 6 4 4 70.42 + 91012240415 0 3 7 0 3 0 7 3 23 0 2 3 0 2 0 3 2 20.00 + 91013240416 7 010 7 7 31010 53 3 0 4 3 3 2 4 4 30.10 + 91014240417 0 0 0 3 0 0 3 3 10 0 0 0 2 0 0 2 2 10.00 + 91015240418 0 0201317172310100 0 0 7 5 6 6 9 4 50.21 + 910162404192320 7 3 3 0 0 0 57 9 7 3 2 2 0 0 0 30.10 + 91017240420 0 0 0 7 0 0 0 3 10 0 0 0 3 0 0 0 2 10.00 + 91018240421 0 0 3 3 3 7 0 0 17 0 0 2 2 2 3 0 0 10.00 + 91019240422 0 0 7 01010 3 0 30 0 0 3 0 4 4 2 0 20.00 + 91020240423 7 0 0 0 0 0 0 0 7 3 0 0 0 0 0 0 0 00.00 + 91021240424 0 0 0 310 3 0 3 20 0 0 0 2 4 2 0 2 10.00 + 910222404253027203020173737217 15 12 7 15 7 6 22 22 130.84 + 910232404263733173713 7 3 7153 22 18 6 22 5 3 2 3 100.63 + 91024240427 7 3131317204027140 3 2 5 5 6 7 27 12 80.52 + 910252405 1301313132010 3 0103 15 5 5 5 7 4 2 0 50.21 + 910262405 2 3 0 713 3171710 70 2 0 3 5 2 6 6 4 40.10 + 910272405 3 7 3 71010 313 0 53 3 2 3 4 4 2 5 0 30.10 + 910282405 4 7 31013 3 3 3 3 47 3 2 4 5 2 2 2 2 30.00 + 910292405 5 710 7 320132317100 3 4 3 2 7 5 9 6 50.21 + 910302405 630333327 7 7 7 7150 15 18 18 12 3 3 3 3 90.52 + 910312405 7 3 0 0 3 7 31013 40 2 0 0 2 3 2 4 5 20.00 + 911 12405 81013 7 7 0 7 7 0 50 4 5 3 3 0 3 3 0 30.00 + 911 22405 9 0 32013 3 7 3 0 50 0 2 7 5 2 3 2 0 30.00 + 911 3240510 0 0 0 0 3 0 3 0 7 0 0 0 0 2 0 2 0 00.00 + 911 4240511 0 0 0 0 0 0 7 0 7 0 0 0 0 0 0 3 0 00.00 + 911 5240512 0 3 3 0 3 0 0 0 10 0 2 2 0 2 0 0 0 10.00 + 911 6240513 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00.00 + 911 7240514 0 0 0 0 0 0 010 10 0 0 0 0 0 0 0 4 00.00 + 911 82405151013 71723232723143 4 5 3 6 9 9 12 9 70.42 + 911 924051617201713 3 7 0 3 80 6 7 6 5 2 3 0 2 40.10 + 91110240517 7 3 0 0 0 0 3 3 17 3 2 0 0 0 0 2 2 10.00 + 91111240518 7 0 0 0 0 0 0 0 7 3 0 0 0 0 0 0 0 00.00 + 91112240519 0 0 0 0 0 0 010 10 0 0 0 0 0 0 0 4 00.00 + 91113240520 0 3 0 0 3 31310 33 0 2 0 0 2 2 5 4 20.00 + 911142405211310172017101020117 5 4 6 7 6 4 4 7 50.21 + 91115240522231013 3172710 3107 9 4 5 2 6 12 4 2 60.21 + 91116240523 0 0 0 0 0 0 7 0 7 0 0 0 0 0 0 3 0 00.00 + 9111724052410 0 0 0 0 7 7 0 23 4 0 0 0 0 3 3 0 10.00 + 91118240525 0 010 7 3 3 0 7 30 0 0 4 3 2 2 0 3 20.00 + 91119240526 0 3 0 3 3 7 320 40 0 2 0 2 2 3 2 7 20.00 + 9112024052713 0 0 3 7 713 3 47 5 0 0 2 3 3 5 2 20.00 + 911212406 13020201713 32327153 15 7 7 6 5 2 9 12 80.42 + 911222406 227 717 31020 7 3 93 12 3 6 2 4 7 3 2 50.21 + 911232406 3 0 0 0 0 3 0 0 0 3 0 0 0 0 2 0 0 0 00.00 + 911242406 4 3 0 0 727303727130 2 0 0 3 12 15 22 12 80.42 + 911252406 52327171017 3 310110 9 12 6 4 6 2 2 4 60.31 + 911262406 613 7132010231713117 5 3 5 7 4 9 6 5 60.21 + 911272406 7 310 7 3 0 3 3 0 30 2 4 3 2 0 2 2 0 20.00 + 911282406 8 0 01310 3 7 3 3 40 0 0 5 4 2 3 2 2 20.00 + 911292406 9 0 0 3 0 0 0 0 0 3 0 0 2 0 0 0 0 0 00.00 + 91130240610 0 0 3 3 3 0 0 0 10 0 0 2 2 2 0 0 0 10.00 + 912 1240611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00.00 + 912 2240612 0 0 3 3 3 0 3 0 13 0 0 2 2 2 0 2 0 10.00 + 912 3240613 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00.00 + 912 4240614 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00.00 + 912 5240615 0 010 7 7 72320 73 0 0 4 3 3 3 9 7 40.10 + 912 62406162317 7 3 0 0 3 3 57 9 6 3 2 0 0 2 2 30.10 + 912 724061713 0 3 3101013 3 57 5 0 2 2 4 4 5 2 30.10 + 912 8240618 0 0 0 0 0 3 0 3 7 0 0 0 0 0 2 0 2 00.00 + 912 9240619 0 0 0 3 0 0 0 0 3 0 0 0 2 0 0 0 0 00.00 + 91210240620 0 0 3 3 3 3 3 0 17 0 0 2 2 2 2 2 0 10.00 + 91211240621 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00.00 + 91212240622 0 0 7 3 3 71010 40 0 0 3 2 2 3 4 4 20.00 + 91213240623 0 0 7 710 3 7 7 40 0 0 3 3 4 2 3 3 20.00 + 9121424062413302013 710 7 3103 5 15 7 5 3 4 3 2 60.21 + 91215240625 0 0 3 0 3 0 710 23 0 0 2 0 2 0 3 4 10.00 + 912162406262017 7101717 7 3 97 7 6 3 4 6 6 3 2 50.21 + 91217240627 0 3 0101010 7 3 43 0 2 0 4 4 4 3 2 20.00 + 912182407 1 0 010171013 3 0 53 0 0 4 6 4 5 2 0 30.00 + 912192407 2 7 3 3 7 0 0 0 3 23 3 2 2 3 0 0 0 2 20.00 + 912202407 3 7 0 0 7 713 3 0 37 3 0 0 3 3 5 2 0 20.00 + 912212407 410 7 0 3 0 320 7 50 4 3 0 2 0 2 7 3 30.00 + 912222407 5 3 0 3 3 3 71713 50 2 0 2 2 2 3 6 5 30.00 + 912232407 6 31013 7 7 7 713 67 2 4 5 3 3 3 3 5 40.10 + 912242407 7 710 7 3 3 3 0 3 37 3 4 3 2 2 2 0 2 20.00 + 912252407 8 0 0 3 310102023 70 0 0 2 2 4 4 7 9 40.10 + 912262407 9172010 7 317 3 0 77 6 7 4 3 2 6 2 0 40.10 + 91227240710 0 3 3101310 3 0 43 0 2 2 4 5 4 2 0 20.00 + 91228240711 0 0 0 7 0 7 3 0 17 0 0 0 3 0 3 2 0 10.00 + 91229240712 0 0 3 0 0 0 0 0 3 0 0 2 0 0 0 0 0 00.00 + 91230240713 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00.00 + 91231240714 0 0 0 0 3 0 0 0 3 0 0 0 0 2 0 0 0 00.00 diff --git a/GeospaceDataManagement/tests/test_data/Kp_now2020.wdc b/GeospaceDataManagement/tests/test_data/Kp_now2020.wdc new file mode 100644 index 0000000..d8a1b01 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/Kp_now2020.wdc @@ -0,0 +1,376 @@ +# DOI: https://doi.org/10.5880/Kp.0001 +# LICENCE: CC BY 4.0, please cite: +# Matzka, J., Bronkalla, O., Tornow, K., Elger, K. and Stolle, C., 2021. +# Geomagnetic Kp index. V. 1.0. GFZ Data Services, +# https://doi.org/10.5880/Kp.0001 +# Matzka, J., Stolle, C., Yamazaki, Y., Bronkalla, O. and Morschhauser, A., +# 2021. The geomagnetic Kp index and derived indices of geomagnetic activity. +# Space Weather, https://doi.org/10.1029/2020SW002641 +# The Kp index was introduced by Bartels (1949) and is produced by Geomagnetic +# Observatory Niemegk, GFZ German Research Centre for Geosciences. +20 1 1254222 0 0 0 7 7131010 47 0 0 0 3 3 5 4 4 20.00 +20 1 2254223 0 0 3 7 3 71013 43 0 0 2 3 2 3 4 5 20.00 +20 1 32542241010272310 7 313103 4 4 12 9 4 3 2 5 50.21 +20 1 425422513 7 71010202320110 5 3 3 4 4 7 9 7 50.21 +20 1 52542261313171020233323153 5 5 6 4 7 9 18 9 80.42 +20 1 6254227333017 7 0 72317133 18 15 6 3 0 3 9 6 80.42 +20 1 72543 11017 7 3 7101323 90 4 6 3 2 3 4 5 9 40.21 +20 1 82543 21010 3 717271723113 4 4 2 3 6 12 6 9 60.31 +20 1 92543 32730372320272017200 12 15 22 9 7 12 7 6 110.63 +20 1102543 41310272317171010127 5 4 12 9 6 6 4 4 60.31 +20 1112543 520202013 313 710107 7 7 7 5 2 5 3 4 50.21 +20 1122543 61717 7 7 7 0 3 3 60 6 6 3 3 3 0 2 2 30.10 +20 1132543 7 7 7 7 3 3 0 710 43 3 3 3 2 2 0 3 4 20.00 +20 1142543 8 7 3 3 7 0 3 0 3 27 3 2 2 3 0 2 0 2 20.00 +20 1152543 9 7 0 320 7 7 710 60 3 0 2 7 3 3 3 4 30.10 +20 116254310 7231713 7 7 3 7 83 3 9 6 5 3 3 2 3 40.10 +20 11725431110 3 7 0 31310 3 50 4 2 3 0 2 5 4 2 30.00 +20 118254312131310 0 3 3 3 7 53 5 5 4 0 2 2 2 3 30.10 +20 119254313 310 0 3 0 3 3 3 27 2 4 0 2 0 2 2 2 20.00 +20 120254314 3 3 3 0 0 0 3 3 17 2 2 2 0 0 0 2 2 10.00 +20 121254315 0 0 31313232323100 0 0 2 5 5 9 9 9 50.21 +20 12225431617231310 7 31327113 6 9 5 4 3 2 5 12 60.31 +20 1232543171723 3 3 0 31310 73 6 9 2 2 0 2 5 4 40.10 +20 12425431810 0 0 0 3 3 3 3 23 4 0 0 0 2 2 2 2 20.00 +20 125254319 323 7 3 3 0 3 3 47 2 9 3 2 2 0 2 2 30.00 +20 12625432013 7 0 0 71710 3 57 5 3 0 0 3 6 4 2 30.10 +20 127254321 3 710 3 3 0 3 0 30 2 3 4 2 2 0 2 0 20.00 +20 128254322101310 3 0 31030 80 4 5 4 2 0 2 4 15 40.21 +20 12925432333331713 0131320143 18 18 6 5 0 5 5 7 80.42 +20 1302543242027231723303327200 7 12 9 6 9 15 18 12 110.63 +20 1312543252333172310 3 313127 9 18 6 9 4 2 2 5 70.31 +20 2 125432610 3 7 720171723103 4 2 3 3 7 6 6 9 50.21 +20 2 2254327231010 7 3132023110 9 4 4 3 2 5 7 9 50.21 +20 2 32544 1172010 3 3 710 3 73 6 7 4 2 2 3 4 2 40.10 +20 2 42544 217171010 7101727113 6 6 4 4 3 4 6 12 60.31 +20 2 52544 31320131710 7 7 3 90 5 7 5 6 4 3 3 2 40.21 +20 2 62544 4 727402727234030220 3 12 27 12 12 9 27 15 150.84 +20 2 72544 53030301327272733217 15 15 15 5 12 12 12 18 130.73 +20 2 82544 62713101017131013113 12 5 4 4 6 5 4 5 60.31 +20 2 92544 730171310 7171720130 15 6 5 4 3 6 6 7 60.31 +20 2102544 817131713 7 3 713 90 6 5 6 5 3 2 3 5 40.21 +20 2112544 9273013 3 0 0 713 93 12 15 5 2 0 0 3 5 50.21 +20 21225441017171320 3 0 010 80 6 6 5 7 2 0 0 4 40.10 +20 213254411 3 0 7 7 0 3 717 43 2 0 3 3 0 2 3 6 20.00 +20 2142544121710 3 0 0 0 010 40 6 4 2 0 0 0 0 4 20.00 +20 21525441310 0 02023101010 83 4 0 0 7 9 4 4 4 40.10 +20 21625441420 7 0 7 3 3 3 0 43 7 3 0 3 2 2 2 0 20.00 +20 21725441513 713 710132730120 5 3 5 3 4 5 12 15 60.31 +20 2182544161027372330303327217 4 12 22 9 15 15 18 12 130.84 +20 2192544172340333317171017190 9 27 18 18 6 6 4 6 120.73 +20 2202544182323171017102327150 9 9 6 4 6 4 9 12 70.42 +20 2212544193727273317301733220 22 12 12 18 6 15 6 18 140.84 +20 2222544202720131713202720157 12 7 5 6 5 7 12 7 80.42 +20 223254421 7 3 7 7 3102323 83 3 2 3 3 2 4 9 9 40.21 +20 2242544222017 0 3 3 0 713 63 7 6 0 2 2 0 3 5 30.10 +20 22525442317 3 3 0 7 0 0 3 33 6 2 2 0 3 0 0 2 20.00 +20 226254424 7 3 7 0 7 72013 63 3 2 3 0 3 3 7 5 30.10 +20 22725442517 0 310 7 3 7 7 53 6 0 2 4 3 2 3 3 30.10 +20 228254426171710171710 723117 6 6 4 6 6 4 3 9 60.21 +20 2292544272017202320302040190 7 6 7 9 7 15 7 27 110.63 +20 3 12545 133131323 7 3 313110 18 5 5 9 3 2 2 5 60.31 +20 3 22545 217 7 0102010 310 77 6 3 0 4 7 4 2 4 40.10 +20 3 32545 3201010132020 723123 7 4 4 5 7 7 3 9 60.31 +20 3 42545 4 013101017301713110 0 5 4 4 6 15 6 5 60.31 +20 3 52545 51010101013 7 7 0 67 4 4 4 4 5 3 3 0 30.10 +20 3 62545 610 313201713 0 0 77 4 2 5 7 6 5 0 0 40.10 +20 3 72545 7 310131020 7 3 3 70 2 4 5 4 7 3 2 2 40.10 +20 3 82545 8131713 3 3131717 97 5 6 5 2 2 5 6 6 50.21 +20 3 92545 9 320171010131710100 2 7 6 4 4 5 6 4 50.21 +20 31025451020 313 7 7 7 013 70 7 2 5 3 3 3 0 5 40.10 +20 31125451117 3 3 7 7 3 0 3 43 6 2 2 3 3 2 0 2 20.00 +20 3122545121013171013172710117 4 5 6 4 5 6 12 4 60.31 +20 3132545132027202010171010133 7 12 7 7 4 6 4 4 60.31 +20 314254514 3 0 3 7 7 310 3 37 2 0 2 3 3 2 4 2 20.00 +20 315254515 3 3 31710 71717 77 2 2 2 6 4 3 6 6 40.10 +20 31625451620 3 713131017 7 90 7 2 3 5 5 4 6 3 40.21 +20 31725451720 3131713171017110 7 2 5 6 5 6 4 6 50.21 +20 318254518 3 7 7 317233017107 2 3 3 2 6 9 15 6 60.31 +20 319254519432323202017 717170 32 9 9 7 7 6 3 6 100.63 +20 320254520271320 0 7202027133 12 5 7 0 3 7 7 12 70.31 +20 3212545211723302013171017147 6 9 15 7 5 6 4 6 70.42 +20 3222545222323131017172017140 9 9 5 4 6 6 7 6 60.31 +20 3232545232333172723173323197 9 18 6 12 9 6 18 9 110.63 +20 324254524271010 7 0 0 0 3 57 12 4 4 3 0 0 0 2 30.10 +20 32525452517 0 3 710 0 720 63 6 0 2 3 4 0 3 7 30.10 +20 32625452610 3 7101017 727 90 4 2 3 4 4 6 3 12 50.21 +20 327254527201310 7102017 3100 7 5 4 3 4 7 6 2 50.21 +20 3282546 1 0 7131713 31323 90 0 3 5 6 5 2 5 9 40.21 +20 3292546 210 3202030231710133 4 2 7 7 15 9 6 4 70.31 +20 3302546 31320131013303337170 5 7 5 4 5 15 18 22 100.63 +20 3312546 43340372027202313213 18 27 22 7 12 7 9 5 130.84 +20 4 12546 5202713 7 0101020107 7 12 5 3 0 4 4 7 50.21 +20 4 22546 61323231310 72023133 5 9 9 5 4 3 7 9 60.31 +20 4 32546 72323 7 7 7132037137 9 9 3 3 3 5 7 22 80.42 +20 4 42546 820 3 313 3 71317 80 7 2 2 5 2 3 5 6 40.10 +20 4 52546 92013 713 7 7 313 83 7 5 3 5 3 3 2 5 40.10 +20 4 62546101010 7 310 0 0 3 43 4 4 3 2 4 0 0 2 20.00 +20 4 7254611 3 0 0 3 0 32020 50 2 0 0 2 0 2 7 7 20.00 +20 4 82546121727202330331733200 6 12 7 9 15 18 6 18 110.73 +20 4 925461317 3 7 713 31313 77 6 2 3 3 5 2 5 5 40.10 +20 410254614 0 71017102010 7 80 0 3 4 6 4 7 4 3 40.10 +20 411254615101010 720272023127 4 4 4 3 7 12 7 9 60.31 +20 4122546161017171023132313127 4 6 6 4 9 5 9 5 60.31 +20 4132546171017 71017131317103 4 6 3 4 6 5 5 6 50.21 +20 41425461823332717 7 3 323137 9 18 12 6 3 2 2 9 80.42 +20 4152546193023171010 7 713117 15 9 6 4 4 3 3 5 60.31 +20 416254620201010 3 31310 3 73 7 4 4 2 2 5 4 2 40.10 +20 41725462110 31010 7 3 313 60 4 2 4 4 3 2 2 5 30.10 +20 41825462213171310 7 3 0 3 67 5 6 5 4 3 2 0 2 30.10 +20 419254623 0 0 3 0 7 3 0 3 17 0 0 2 0 3 2 0 2 10.00 +20 420254624203033474323 3 7207 7 15 18 39 32 9 2 3 160.94 +20 4212546251317101723332023157 5 6 4 6 9 18 7 9 80.42 +20 4222546263030131013101313133 15 15 5 4 5 4 5 5 70.42 +20 423254627 310 310 3 0 320 53 2 4 2 4 2 0 2 7 30.10 +20 4242547 123 7 71010202030127 9 3 3 4 4 7 7 15 60.31 +20 4252547 2202017 3 710 0 0 77 7 7 6 2 3 4 0 0 40.10 +20 4262547 3 720 71317172023123 3 7 3 5 6 6 7 9 60.31 +20 4272547 4271710 713201710120 12 6 4 3 5 7 6 4 60.31 +20 4282547 52713 3171013 713103 12 5 2 6 4 5 3 5 50.21 +20 4292547 613 3 0 3 7 3 7 7 43 5 2 0 2 3 2 3 3 20.00 +20 4302547 713 3 3 3 0 0 0 0 23 5 2 2 2 0 0 0 0 10.00 +20 5 12547 8 31023171710 3 7 90 2 4 9 6 6 4 2 3 40.21 +20 5 22547 9 31717131010 710 87 2 6 6 5 4 4 3 4 40.10 +20 5 3254710 713 7 3 3 31727 80 3 5 3 2 2 2 6 12 40.21 +20 5 42547111713 7131710 313 93 6 5 3 5 6 4 2 5 40.21 +20 5 52547121317131310171320117 5 6 5 5 4 6 5 7 50.21 +20 5 62547133023 3 3 7 3 3 3 77 15 9 2 2 3 2 2 2 50.21 +20 5 7254714 710171010 3 3 7 67 3 4 6 4 4 2 2 3 40.10 +20 5 825471513 3 7 710 0 010 50 5 2 3 3 4 0 0 4 30.00 +20 5 925471610 0 0 3 3 3 3 0 23 4 0 0 2 2 2 2 0 20.00 +20 510254717 3 0 3 3 3101323 60 2 0 2 2 2 4 5 9 30.10 +20 51125471813201713 3 3 3 7 80 5 7 6 5 2 2 2 3 40.10 +20 512254719 7 7 7 3 7 7 723 67 3 3 3 2 3 3 3 9 40.10 +20 51325472013 3 0 7 710 713 60 5 2 0 3 3 4 3 5 30.10 +20 514254721 7 7 3 3 3 3 3 3 33 3 3 2 2 2 2 2 2 20.00 +20 515254722 7101013 3 7 0 3 53 3 4 4 5 2 3 0 2 30.10 +20 516254723 3 3 3 71710 3 7 53 2 2 2 3 6 4 2 3 30.10 +20 517254724 3 3 010 3 7 310 40 2 2 0 4 2 3 2 4 20.00 +20 518254725 3 0 0 3 72017 7 57 2 0 0 2 3 7 6 3 30.10 +20 5192547261013172017 3 713100 4 5 6 7 6 2 3 5 50.21 +20 52025472713 3 0 3 3 3 7 7 40 5 2 0 2 2 2 3 3 20.00 +20 5212548 1132010 7 7131320103 5 7 4 3 3 5 5 7 50.21 +20 5222548 2171310 3202023 7113 6 5 4 2 7 7 9 3 50.21 +20 5232548 3131710 3 3 7 3 0 57 5 6 4 2 2 3 2 0 30.10 +20 5242548 410 3 0 3202317 7 83 4 2 0 2 7 9 6 3 40.10 +20 5252548 5201013 717 71020103 7 4 5 3 6 3 4 7 50.21 +20 5262548 613 7 7 7 3 3 317 60 5 3 3 3 2 2 2 6 30.10 +20 5272548 7 7 3 31010 713 3 57 3 2 2 4 4 3 5 2 30.10 +20 5282548 8 710 7 310 7 3 7 53 3 4 3 2 4 3 2 3 30.10 +20 5292548 9 7 3 3 3 7 0 317 43 3 2 2 2 3 0 2 6 20.00 +20 5302548102027333330233030227 7 12 18 18 15 9 15 15 140.84 +20 5312548111010 3 7 710 310 60 4 4 2 3 3 4 2 4 30.10 +20 6 1254812 713 710 3102727103 3 5 3 4 2 4 12 12 60.31 +20 6 22548131730131310 72013123 6 15 5 5 4 3 7 5 60.31 +20 6 32548141010 0 710 7 3 3 50 4 4 0 3 4 3 2 2 30.00 +20 6 4254815 7 313 3 3101717 73 3 2 5 2 2 4 6 6 40.10 +20 6 5254816 3 3 31313 7 7 3 53 2 2 2 5 5 3 3 2 30.10 +20 6 6254817 7 7 31013 3 3 3 50 3 3 2 4 5 2 2 2 30.10 +20 6 7254818 713 7 710233723127 3 5 3 3 4 9 22 9 70.42 +20 6 82548191720 7 3 710 7 3 73 6 7 3 2 3 4 3 2 40.10 +20 6 9254820 7 7 0 3 7102027 80 3 3 0 2 3 4 7 12 40.10 +20 6102548211723232710101013133 6 9 9 12 4 4 4 5 70.31 +20 6112548221713 7 3 7 3 3 0 53 6 5 3 2 3 2 2 0 30.10 +20 612254823 71010 7 7 7 3 3 53 3 4 4 3 3 3 2 2 30.10 +20 613254824 0 7 7 310 3 3 3 37 0 3 3 2 4 2 2 2 20.00 +20 614254825 3 3 3 3 3 3 7 7 33 2 2 2 2 2 2 3 3 20.00 +20 615254826 0 7101710 7 7 3 60 0 3 4 6 4 3 3 2 30.10 +20 616254827 7101710 7172317107 3 4 6 4 3 6 9 6 50.21 +20 6172549 117 7 7101710 0 0 67 6 3 3 4 6 4 0 0 30.10 +20 6182549 2 3171010131010 7 80 2 6 4 4 5 4 4 3 40.10 +20 6192549 3 710 713 7101720 90 3 4 3 5 3 4 6 7 40.21 +20 6202549 423202010 3 7 313100 9 7 7 4 2 3 2 5 50.21 +20 6212549 5 7 7 31010 7 7 3 53 3 3 2 4 4 3 3 2 30.10 +20 6222549 6 3 3 7 7 3 3 313 43 2 2 3 3 2 2 2 5 30.00 +20 6232549 7 7 313 3 7 3 313 53 3 2 5 2 3 2 2 5 30.10 +20 6242549 813131010 7 7 3 7 70 5 5 4 4 3 3 2 3 40.10 +20 6252549 9 710 3 7 3 7 013 50 3 4 2 3 2 3 0 5 30.00 +20 62625491017 3 3 710102330103 6 2 2 3 4 4 9 15 60.31 +20 6272549112713132323 3 320127 12 5 5 9 9 2 2 7 60.31 +20 6282549121313 3 7 0 3 310 53 5 5 2 3 0 2 2 4 30.10 +20 62925491310 7 0 3 3 3 7 7 40 4 3 0 2 2 2 3 3 20.00 +20 630254914201717 3 0 7 013 77 7 6 6 2 0 3 0 5 40.10 +20 7 1254915 7101010 3 32323 90 3 4 4 4 2 2 9 9 50.21 +20 7 2254916 7 7 3 3 710 7 7 50 3 3 2 2 3 4 3 3 30.10 +20 7 3254917 3101010 7 7 7 7 60 2 4 4 4 3 3 3 3 30.10 +20 7 42549181010131320102330130 4 4 5 5 7 4 9 15 70.31 +20 7 52549191727302713101727167 6 12 15 12 5 4 6 12 90.52 +20 7 6254920131317 7131313 3 93 5 5 6 3 5 5 5 2 40.21 +20 7 7254921 71320 7 3 3 310 67 3 5 7 3 2 2 2 4 40.10 +20 7 8254922 0 7 3 0 3 3 3 7 27 0 3 2 0 2 2 2 3 20.00 +20 7 9254923 7 310 7 7 7 7 3 50 3 2 4 3 3 3 3 2 30.10 +20 710254924 3 317 3 3 3 3 3 40 2 2 6 2 2 2 2 2 20.00 +20 71125492510 3 3 3 3 3 7 7 40 4 2 2 2 2 2 3 3 20.00 +20 712254926 3 3 3 7 3 3 0 7 30 2 2 2 3 2 2 0 3 20.00 +20 71325492713172017 7101327123 5 6 7 6 3 4 5 12 60.31 +20 7142550 1373737171710 3 7163 22 22 22 6 6 4 2 3 110.63 +20 7152550 2 31717131720 3 0 90 2 6 6 5 6 7 2 0 40.10 +20 7162550 3 0 3 31710101010 63 0 2 2 6 4 4 4 4 30.10 +20 7172550 410 7 3 7 7131317 77 4 3 2 3 3 5 5 6 40.10 +20 7182550 51310 7 7 7 7 313 67 5 4 3 3 3 3 2 5 40.10 +20 7192550 6 0 7101010 7 717 67 0 3 4 4 4 3 3 6 30.10 +20 7202550 7 71013 3 3 3 310 53 3 4 5 2 2 2 2 4 30.10 +20 7212550 8101310 3 710 717 77 4 5 4 2 3 4 3 6 40.10 +20 7222550 910 7 3 3 31310 3 53 4 3 2 2 2 5 4 2 30.10 +20 723255010 7 3 7 710 7 0 7 47 3 2 3 3 4 3 0 3 30.00 +20 724255011 723272023332327183 3 9 12 7 9 18 9 12 100.63 +20 7252550123727231717131340187 22 12 9 6 6 5 5 27 120.73 +20 72625501313 3 3 7 3 0 010 40 5 2 2 3 2 0 0 4 20.00 +20 727255014 7 710 3 710 710 60 3 3 4 2 3 4 3 4 30.10 +20 728255015231010 3 710 7 7 77 9 4 4 2 3 4 3 3 40.10 +20 72925501620 717 310 7 7 7 77 7 3 6 2 4 3 3 3 40.10 +20 730255017131020 7 3 3 0 7 63 5 4 7 3 2 2 0 3 30.10 +20 7312550181010 7101310 710 77 4 4 3 4 5 4 3 4 40.10 +20 8 1255019 3 7 7 310 7 7 7 50 2 3 3 2 4 3 3 3 30.10 +20 8 2255020 3 7102733271727150 2 3 4 12 18 12 6 12 90.52 +20 8 32550213733303020303333247 22 18 15 15 7 15 18 18 160.94 +20 8 42550222033171710101317137 7 18 6 6 4 4 5 6 70.42 +20 8 5255023171310 7 7101713 93 6 5 4 3 3 4 6 5 40.21 +20 8 6255024 713 3 71717 720 90 3 5 2 3 6 6 3 7 40.21 +20 8 72550251310 3 0 3 3 720 60 5 4 2 0 2 2 3 7 30.10 +20 8 82550262017131013 710 3 93 7 6 5 4 5 3 4 2 40.21 +20 8 9255027 3 3 3 7 3 0 0 7 27 2 2 2 3 2 0 0 3 20.00 +20 8102551 1 7 3 3 3 0 3 010 30 3 2 2 2 0 2 0 4 20.00 +20 8112551 21310 3 3 3 0 3 3 40 5 4 2 2 2 0 2 2 20.00 +20 8122551 3 31310 710 3 7 3 57 2 5 4 3 4 2 3 2 30.10 +20 8132551 417 7 3 310 3 313 60 6 3 2 2 4 2 2 5 30.10 +20 8142551 51017 3 3 7 71010 67 4 6 2 2 3 3 4 4 40.10 +20 8152551 6 0 010 7 3 3 3 7 33 0 0 4 3 2 2 2 3 20.00 +20 8162551 7101310 7 3 3 0 7 53 4 5 4 3 2 2 0 3 30.10 +20 8172551 8 7 7 713 7 3 310 57 3 3 3 5 3 2 2 4 30.10 +20 8182551 91013171717 31030117 4 5 6 6 6 2 4 15 60.31 +20 8192551102723 7 3 0 0 310 73 12 9 3 2 0 0 2 4 40.10 +20 820255111 7 7 0 710 3 3 7 43 3 3 0 3 4 2 2 3 20.00 +20 82125511210 3 7 3 3 71713 63 4 2 3 2 2 3 6 5 30.10 +20 8222551131020201713131323130 4 7 7 6 5 5 5 9 60.31 +20 8232551142020131720131023137 7 7 5 6 7 5 4 9 60.31 +20 8242551151010 3 0 3 7 3 0 37 4 4 2 0 2 3 2 0 20.00 +20 825255116 3 3 7 3 3 7 7 7 40 2 2 3 2 2 3 3 3 20.00 +20 82625511717231020 7231317130 6 9 4 7 3 9 5 6 60.31 +20 8272551182313201730101010133 9 5 7 6 15 4 4 4 70.31 +20 828255119 0 3 71727431727140 0 2 3 6 12 32 6 12 90.52 +20 8292551203327372313203333220 18 12 22 9 5 7 18 18 140.84 +20 830255121203720171720 730167 7 22 7 6 6 7 3 15 90.52 +20 8312551223343274740403730297 18 32 12 39 27 27 22 15 241.26 +20 9 12551232743303027372730250 12 32 15 15 12 22 12 15 170.94 +20 9 22551242727232723201317177 12 12 9 12 9 7 5 6 90.52 +20 9 3255125 0 010 710 7 017 50 0 0 4 3 4 3 0 6 20.00 +20 9 425512627171320171720 7137 12 6 5 7 6 6 7 3 60.31 +20 9 52551272017202020 310 7117 7 6 7 7 7 2 4 3 50.21 +20 9 62552 12010 310 7 0 717 73 7 4 2 4 3 0 3 6 40.10 +20 9 72552 2101313 7 7 7 3 0 60 4 5 5 3 3 3 2 0 30.10 +20 9 82552 3 7 3 710 71010 0 53 3 2 3 4 3 4 4 0 30.10 +20 9 92552 4 7 0 0 0 0 0 0 0 7 3 0 0 0 0 0 0 0 00.00 +20 9102552 5 0 0 0 0 0 010 3 13 0 0 0 0 0 0 4 2 10.00 +20 9112552 6 0 0 3 3 0 71010 33 0 0 2 2 0 3 4 4 20.00 +20 9122552 717202317 3 713 7107 6 7 9 6 2 3 5 3 50.21 +20 9132552 8131313 310131330110 5 5 5 2 4 5 5 15 60.31 +20 9142552 9333327232310 720177 18 18 12 9 9 4 3 7 100.63 +20 91525521023231313 0 71313107 9 9 5 5 0 3 5 5 50.21 +20 916255211 0 31010 310 7 0 43 0 2 4 4 2 4 3 0 20.00 +20 917255212 0 31710 3 0 313 50 0 2 6 4 2 0 2 5 30.00 +20 91825521310 3 0 7171310 0 60 4 2 0 3 6 5 4 0 30.10 +20 919255214 013 7 3 010 7 0 40 0 5 3 2 0 4 3 0 20.00 +20 920255215 0 0 02310 7 713 60 0 0 0 9 4 3 3 5 30.10 +20 921255216 7 3 0 3 3 010 7 33 3 2 0 2 2 0 4 3 20.00 +20 92225521717272017 7 7 3 7103 6 12 7 6 3 3 2 3 50.21 +20 9232552181710201737233723183 6 4 7 6 22 9 22 9 110.63 +20 924255219303753333327 317233 15 22 56 18 18 12 2 6 191.05 +20 9252552203033302320433340253 15 18 15 9 7 32 18 27 181.05 +20 9262552214043374047272033287 27 32 22 27 39 12 7 18 231.15 +20 9272552222340202017305057257 9 27 7 7 6 15 48 67 231.15 +20 9282552234750403337375050343 39 48 27 18 22 22 48 48 341.36 +20 9292552244333302727272733247 32 18 15 12 12 12 12 18 160.94 +20 9302552254037332320173033233 27 22 18 9 7 6 15 18 150.94 +2010 12552262313203027302317183 9 5 7 15 12 15 9 6 100.52 +2010 22552272323132720172017160 9 9 5 12 7 6 7 6 80.42 +2010 32553 120171317 7 7 710 97 7 6 5 6 3 3 3 4 50.21 +2010 42553 2 717 31017 7 313 77 3 6 2 4 6 3 2 5 40.10 +2010 52553 3 3 7101323334023153 2 3 4 5 9 18 27 9 100.52 +2010 62553 4273710 710 3 3 7103 12 22 4 3 4 2 2 3 60.31 +2010 72553 5 7 7 3102017 713 83 3 3 2 4 7 6 3 5 40.10 +2010 82553 610 0 7 3 0 3 3 7 33 4 0 3 2 0 2 2 3 20.00 +2010 92553 7 7 0 3 0 0 0 0 0 10 3 0 2 0 0 0 0 0 10.00 +2010102553 8 0 0 0 7 0 3 0 0 10 0 0 0 3 0 2 0 0 10.00 +2010112553 9 0 0 3 3 3 7 313 33 0 0 2 2 2 3 2 5 20.00 +201012255310 7 3 0 0 7 7 713 43 3 2 0 0 3 3 3 5 20.00 +2010132553111010 3 3 0 7 3 3 40 4 4 2 2 0 3 2 2 20.00 +201014255312 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00.00 +201015255313 0 0 0 0 0 0 713 20 0 0 0 0 0 0 3 5 10.00 +2010162553141310 710 7 3 717 73 5 4 3 4 3 2 3 6 40.10 +20101725531510172010 7 01313 90 4 6 7 4 3 0 5 5 40.10 +201018255316 3 3 3 0 0 0 713 30 2 2 2 0 0 0 3 5 20.00 +201019255317 710102030172017130 3 4 4 7 15 6 7 6 60.31 +20102025531823171010 0 01310 83 9 6 4 4 0 0 5 4 40.10 +2010212553192723372010 71020153 12 9 22 7 4 3 4 7 80.52 +20102225532033 7 3 3 7 31717 90 18 3 2 2 3 2 6 6 50.21 +2010232553211313 3 317274747170 5 5 2 2 6 12 39 39 140.84 +2010242553223743403317332723253 22 32 27 18 6 18 12 9 181.05 +2010252553232710202737334023217 12 4 7 12 22 18 27 9 140.84 +2010262553242037332733203030230 7 22 18 12 18 7 15 15 140.84 +20102725532517133027 7 32320140 6 5 15 12 3 2 9 7 70.42 +2010282553262027132027333020190 7 12 5 7 12 18 15 7 100.63 +2010292553272027273323371720203 7 12 12 18 9 22 6 7 120.73 +2010302554 11713 710 3 01023 83 6 5 3 4 2 0 4 9 40.10 +2010312554 2101327201720 0 7113 4 5 12 7 6 7 0 3 60.21 +2011 12554 3 3 7172330302313147 2 3 6 9 15 15 9 5 80.42 +2011 22554 4 0 0 7 3 0 0 7 7 23 0 0 3 2 0 0 3 3 10.00 +2011 32554 517 0 0 3 3 0 010 33 6 0 0 2 2 0 0 4 20.00 +2011 42554 6 7 3 3 3 3 3 3 0 27 3 2 2 2 2 2 2 0 20.00 +2011 52554 7 0 0 3 717 71020 63 0 0 2 3 6 3 4 7 30.10 +2011 62554 81720131720272317153 6 7 5 6 7 12 9 6 70.42 +2011 72554 913 7 713 3202730120 5 3 3 5 2 7 12 15 60.31 +2011 8255410131720101010 7 0 87 5 6 7 4 4 4 3 0 40.10 +2011 9255411 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00.00 +201110255412 0 0 3 3 0 0 0 0 7 0 0 2 2 0 0 0 0 00.00 +201111255413 0 0 3 3 3131020 53 0 0 2 2 2 5 4 7 30.00 +20111225541417 01713 7 3 3 7 67 6 0 6 5 3 2 2 3 30.10 +201113255415101013 7 3 0 3 7 53 4 4 5 3 2 0 2 3 30.10 +201114255416 0 0 3 0 7 31710 40 0 0 2 0 3 2 6 4 20.00 +2011152554171720 0 0 3 7 0 0 47 6 7 0 0 2 3 0 0 20.00 +201116255418 3 0 0 0 3 3 0 3 13 2 0 0 0 2 2 0 2 10.00 +201117255419 3 3 01010 0 010 37 2 2 0 4 4 0 0 4 20.00 +20111825542013 310 3 0 0 7 7 43 5 2 4 2 0 0 3 3 20.00 +201119255421 3 0 313 0 3 317 43 2 0 2 5 0 2 2 6 20.00 +20112025542227301723 7 31710133 12 15 6 9 3 2 6 4 70.42 +201121255423231713 730273337187 9 6 5 3 15 12 18 22 110.63 +2011222554242740434347433733313 12 27 32 32 39 32 22 18 271.26 +20112325542520272323 7131717147 7 12 9 9 3 5 6 6 70.42 +2011242554261310 0 7 7 7 310 57 5 4 0 3 3 3 2 4 30.10 +2011252554271027 71310131730127 4 12 3 5 4 5 6 15 70.31 +2011262555 117 3101023202017120 6 2 4 4 9 7 7 6 60.31 +2011272555 2102323232713 3 7130 4 9 9 9 12 5 2 3 70.31 +2011282555 33333271720131713173 18 18 12 6 7 5 6 5 100.52 +2011292555 4 01720171313 3 3 87 0 6 7 6 5 5 2 2 40.10 +2011302555 510333320 710 313130 4 18 18 7 3 4 2 5 80.42 +2012 12555 613 0 0 0 0 0 010 23 5 0 0 0 0 0 0 4 10.00 +2012 22555 713 713 7 0 0 3 7 50 5 3 5 3 0 0 2 3 30.00 +2012 32555 8 0 0 0 31017 3 0 33 0 0 0 2 4 6 2 0 20.00 +2012 42555 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00.00 +2012 5255510 0 0 31020102710 80 0 0 2 4 7 4 12 4 40.10 +2012 62555112010101017 71720110 7 4 4 4 6 3 6 7 50.21 +2012 7255512 7 0 7 7 0 3 0 0 23 3 0 3 3 0 2 0 0 10.00 +2012 8255513 713131310 0 313 73 3 5 5 5 4 0 2 5 40.10 +2012 9255514203020 7 0133013133 7 15 7 3 0 5 15 5 70.42 +201210255515332710 7 3 31323120 18 12 4 3 2 2 5 9 70.31 +20121125551630231310 3 71713117 15 9 5 4 2 3 6 5 60.31 +20121225551713 710 7 3 71017 73 5 3 4 3 2 3 4 6 40.10 +2012132555183010 0 0 7 31710 77 15 4 0 0 3 2 6 4 40.10 +201214255519 0 3 0 3 0 71313 40 0 2 0 2 0 3 5 5 20.00 +20121525552017 010 0 0 0 710 43 6 0 4 0 0 0 3 4 20.00 +20121625552110 3 0 0 3 3 3 7 30 4 2 0 0 2 2 2 3 20.00 +201217255522 7 3 0 0 0 3 0 3 17 3 2 0 0 0 2 0 2 10.00 +201218255523 3 0 3 3 3 7 3 3 27 2 0 2 2 2 3 2 2 20.00 +20121925552413 7132017 71310100 5 3 5 7 6 3 5 4 50.21 +20122025552510 713101010 313 77 4 3 5 4 4 4 2 5 40.10 +2012212555262033232317 72043187 7 18 9 9 6 3 7 32 110.73 +2012222555273333302727232713213 18 18 15 12 12 9 12 5 130.73 +2012232556 13043272720101317187 15 32 12 12 7 4 5 6 120.73 +2012242556 2 727202327301317163 3 12 7 9 12 15 5 6 90.52 +2012252556 3231710102010 0 0 90 9 6 4 4 7 4 0 0 40.10 +2012262556 4 02010 3 7 72020 87 0 7 4 2 3 3 7 7 40.10 +2012272556 51317 31713 71017 97 5 6 2 6 5 3 4 6 50.21 +2012282556 62023232320131313150 7 9 9 9 7 5 5 5 70.42 +2012292556 723271010 7131323127 9 12 4 4 3 5 5 9 60.31 +2012302556 82327172017 7 727143 9 12 6 7 6 3 3 12 70.42 +2012312556 92310 713 3 7 3 7 73 9 4 3 5 2 3 2 3 40.10 diff --git a/GeospaceDataManagement/tests/test_data/SN_2009-01.txt b/GeospaceDataManagement/tests/test_data/SN_2009-01.txt new file mode 100644 index 0000000..dda6945 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/SN_2009-01.txt @@ -0,0 +1 @@ +{"meta":{"source":"GFZ Potsdam","license":"CC BY 4.0"},"datetime":["2009-01-01T00:00:00Z","2009-01-02T00:00:00Z","2009-01-03T00:00:00Z","2009-01-04T00:00:00Z","2009-01-05T00:00:00Z","2009-01-06T00:00:00Z","2009-01-07T00:00:00Z","2009-01-08T00:00:00Z","2009-01-09T00:00:00Z","2009-01-10T00:00:00Z","2009-01-11T00:00:00Z","2009-01-12T00:00:00Z","2009-01-13T00:00:00Z","2009-01-14T00:00:00Z","2009-01-15T00:00:00Z","2009-01-16T00:00:00Z","2009-01-17T00:00:00Z","2009-01-18T00:00:00Z","2009-01-19T00:00:00Z","2009-01-20T00:00:00Z","2009-01-21T00:00:00Z","2009-01-22T00:00:00Z","2009-01-23T00:00:00Z","2009-01-24T00:00:00Z","2009-01-25T00:00:00Z","2009-01-26T00:00:00Z","2009-01-27T00:00:00Z","2009-01-28T00:00:00Z","2009-01-29T00:00:00Z","2009-01-30T00:00:00Z","2009-01-31T00:00:00Z","2009-02-01T00:00:00Z"],"SN":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.0,9.0,10.0,8.0,0.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"SNstatus":["def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def","def"]} diff --git a/GeospaceDataManagement/tests/test_data/TYKW-NoRP_dailyflux.txt b/GeospaceDataManagement/tests/test_data/TYKW-NoRP_dailyflux.txt new file mode 100644 index 0000000..789b026 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/TYKW-NoRP_dailyflux.txt @@ -0,0 +1,7 @@ +TYKW-NoRP solar daily flux (1951-11-02 -- 1951-11-06) +Date,1 GHz,2 GHz,3.75 GHz,9.4 GHz +"1951-11-02",NaN,NaN,NaN,NaN +"1951-11-03",NaN,NaN,NaN,NaN +"1951-11-04",NaN,NaN,NaN,NaN +"1951-11-05",NaN,NaN,NaN,NaN +"1951-11-06",NaN,NaN,115.000,NaN diff --git a/GeospaceDataManagement/tests/test_data/ace-epam.txt b/GeospaceDataManagement/tests/test_data/ace-epam.txt new file mode 100644 index 0000000..9e3f590 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/ace-epam.txt @@ -0,0 +1,42 @@ +:Data_list: ace_epam_5m.txt +:Created: 2023 Nov 01 1731 UT +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# Units: Differential Flux particles/cm2-s-ster-MeV +# Units: Anisotropy Index 0.0 - 2.0 +# Status(S): 0 = nominal, 4,6,7,8 = bad data, unable to process, 9 = no data +# Missing data values: -1.00e+05, index = -1.00 +# Source: ACE Satellite - Electron, Proton, and Alpha Monitor +# +# +# 5-minute averaged Real-time Differential Electron and Proton Flux +# +# Modified Seconds ---------------------------- Differential Flux --------------------------- +# UT Date Time Julian of the ----- Electron ----- ------------------- Protons keV ------------------- Anis. +# YR MO DA HHMM Day Day S 38-53 175-315 S 47-68 115-195 310-580 795-1193 1060-1900 Index +#------------------------------------------------------------------------------------------------------------------- +2023 11 01 1530 60249 55800 0 3.97e+03 1.63e+01 0 4.91e+03 3.40e+02 6.26e+01 2.15e+01 5.51e+00 -1.00 +2023 11 01 1535 60249 56100 0 3.90e+03 1.35e+01 0 5.26e+03 3.61e+02 6.54e+01 1.95e+01 5.26e+00 -1.00 +2023 11 01 1540 60249 56400 0 3.67e+03 1.37e+01 0 5.23e+03 3.88e+02 7.22e+01 2.08e+01 5.92e+00 -1.00 +2023 11 01 1545 60249 56700 0 3.60e+03 1.39e+01 0 5.28e+03 4.09e+02 7.04e+01 1.93e+01 6.16e+00 -1.00 +2023 11 01 1550 60249 57000 0 3.70e+03 1.34e+01 0 5.21e+03 3.97e+02 6.81e+01 1.95e+01 6.39e+00 -1.00 +2023 11 01 1555 60249 57300 0 3.77e+03 1.31e+01 0 5.59e+03 3.95e+02 6.53e+01 1.98e+01 6.52e+00 -1.00 +2023 11 01 1600 60249 57600 0 3.72e+03 1.31e+01 0 5.21e+03 3.11e+02 5.62e+01 2.19e+01 4.94e+00 -1.00 +2023 11 01 1605 60249 57900 0 4.14e+03 1.28e+01 0 4.86e+03 3.30e+02 5.89e+01 2.13e+01 4.95e+00 -1.00 +2023 11 01 1610 60249 58200 0 4.22e+03 1.80e+01 0 5.22e+03 3.35e+02 6.05e+01 2.24e+01 5.62e+00 -1.00 +2023 11 01 1615 60249 58500 0 4.13e+03 1.53e+01 0 5.06e+03 3.21e+02 6.09e+01 2.14e+01 5.57e+00 -1.00 +2023 11 01 1620 60249 58800 0 3.74e+03 9.66e+00 0 4.91e+03 3.49e+02 6.16e+01 2.36e+01 6.00e+00 -1.00 +2023 11 01 1625 60249 59100 0 3.41e+03 2.13e+01 0 4.76e+03 3.46e+02 6.78e+01 1.72e+01 7.23e+00 -1.00 +2023 11 01 1630 60249 59400 9 -1.00e+05 -1.00e+05 0 5.36e+03 3.32e+02 5.52e+01 1.46e+01 6.49e+00 -1.00 +2023 11 01 1635 60249 59700 0 3.86e+03 1.23e+01 0 5.16e+03 3.39e+02 6.06e+01 2.37e+01 6.02e+00 -1.00 +2023 11 01 1640 60249 60000 0 3.65e+03 1.77e+01 0 4.97e+03 3.31e+02 6.25e+01 2.29e+01 5.72e+00 -1.00 +2023 11 01 1645 60249 60300 0 3.77e+03 1.70e+01 0 4.60e+03 3.56e+02 6.35e+01 2.85e+01 4.24e+00 -1.00 +2023 11 01 1650 60249 60600 0 3.57e+03 1.28e+01 0 4.94e+03 3.96e+02 6.15e+01 2.50e+01 6.18e+00 -1.00 +2023 11 01 1655 60249 60900 0 3.50e+03 1.65e+01 0 4.77e+03 3.21e+02 6.24e+01 1.99e+01 5.02e+00 -1.00 +2023 11 01 1700 60249 61200 0 4.15e+03 1.12e+01 0 5.43e+03 3.59e+02 6.32e+01 2.17e+01 5.51e+00 -1.00 +2023 11 01 1705 60249 61500 0 3.73e+03 1.60e+01 0 5.11e+03 3.52e+02 6.38e+01 1.99e+01 5.50e+00 -1.00 +2023 11 01 1710 60249 61800 0 3.44e+03 1.71e+01 0 5.15e+03 3.66e+02 6.57e+01 2.10e+01 5.37e+00 -1.00 +2023 11 01 1715 60249 62100 0 3.71e+03 1.11e+01 0 4.91e+03 3.39e+02 6.19e+01 2.07e+01 5.53e+00 -1.00 +2023 11 01 1720 60249 62400 0 3.90e+03 1.54e+01 0 5.19e+03 3.45e+02 6.20e+01 2.03e+01 5.56e+00 -1.00 +2023 11 01 1725 60249 62700 0 3.63e+03 1.11e+01 0 5.16e+03 3.16e+02 5.66e+01 2.10e+01 5.39e+00 -1.00 diff --git a/GeospaceDataManagement/tests/test_data/ace-magnetometer.txt b/GeospaceDataManagement/tests/test_data/ace-magnetometer.txt new file mode 100644 index 0000000..bd2af0d --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/ace-magnetometer.txt @@ -0,0 +1,139 @@ +:Data_list: ace_mag_1m.txt +:Created: 2023 Nov 01 1741 UT +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# Magnetometer values are in GSM coordinates. +# +# Units: Bx, By, Bz, Bt in nT +# Units: Latitude degrees +/- 90.0 +# Units: Longitude degrees 0.0 - 360.0 +# Status(S): 0 = nominal data, 1 to 8 = bad data record, 9 = no data +# Missing data values: -999.9 +# Source: ACE Satellite - Magnetometer +# +# 1-minute averaged Real-time Interplanetary Magnetic Field Values +# +# Modified Seconds +# UT Date Time Julian of the ---------------- GSM Coordinates --------------- +# YR MO DA HHMM Day Day S Bx By Bz Bt Lat. Long. +#------------------------------------------------------------------------------------ +2023 11 01 1541 60249 56460 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1542 60249 56520 0 -4.1 -0.2 -1.1 4.3 -14.8 182.8 +2023 11 01 1543 60249 56580 0 -4.1 -0.0 -1.1 4.3 -15.2 180.2 +2023 11 01 1544 60249 56640 0 -4.1 -0.2 -1.3 4.3 -16.9 182.4 +2023 11 01 1545 60249 56700 0 -4.2 -0.3 -1.3 4.4 -17.2 184.1 +2023 11 01 1546 60249 56760 0 -4.2 -0.0 -1.4 4.4 -18.3 180.5 +2023 11 01 1547 60249 56820 0 -4.1 -0.2 -1.4 4.4 -19.3 183.3 +2023 11 01 1548 60249 56880 0 -4.2 0.5 -1.3 4.4 -16.8 173.0 +2023 11 01 1549 60249 56940 0 -4.0 0.7 -1.0 4.2 -13.8 169.8 +2023 11 01 1550 60249 57000 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1551 60249 57060 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1552 60249 57120 0 -3.3 -1.3 -2.4 4.3 -34.2 201.3 +2023 11 01 1553 60249 57180 0 -3.1 -1.6 -2.5 4.2 -35.3 207.7 +2023 11 01 1554 60249 57240 0 -3.0 -1.8 -2.3 4.2 -33.1 211.7 +2023 11 01 1555 60249 57300 0 -2.8 -2.0 -2.3 4.2 -34.4 215.3 +2023 11 01 1556 60249 57360 0 -2.4 -2.0 -2.5 4.0 -38.4 219.7 +2023 11 01 1557 60249 57420 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1558 60249 57480 0 -2.3 -1.6 -2.9 4.0 -45.8 215.9 +2023 11 01 1559 60249 57540 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1600 60249 57600 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1601 60249 57660 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1602 60249 57720 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1603 60249 57780 0 0.9 3.5 1.0 3.7 15.4 76.2 +2023 11 01 1604 60249 57840 0 0.5 3.6 0.3 3.6 5.3 81.3 +2023 11 01 1605 60249 57900 0 0.6 3.5 0.3 3.6 5.4 80.1 +2023 11 01 1606 60249 57960 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1607 60249 58020 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1608 60249 58080 0 0.4 2.8 2.0 3.5 35.4 82.0 +2023 11 01 1609 60249 58140 0 -0.2 3.2 1.6 3.6 26.9 93.4 +2023 11 01 1610 60249 58200 0 -0.5 3.3 1.7 3.7 26.4 98.2 +2023 11 01 1611 60249 58260 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1612 60249 58320 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1613 60249 58380 0 -0.5 3.4 1.7 3.8 25.8 98.1 +2023 11 01 1614 60249 58440 0 -0.9 3.7 1.4 4.1 20.4 103.6 +2023 11 01 1615 60249 58500 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1616 60249 58560 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1617 60249 58620 0 0.1 3.8 0.9 3.9 12.8 88.0 +2023 11 01 1618 60249 58680 0 -0.2 4.0 0.9 4.1 12.2 93.1 +2023 11 01 1619 60249 58740 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1620 60249 58800 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1621 60249 58860 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1622 60249 58920 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1623 60249 58980 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1624 60249 59040 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1625 60249 59100 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1626 60249 59160 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1627 60249 59220 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1628 60249 59280 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1629 60249 59340 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1630 60249 59400 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1631 60249 59460 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1632 60249 59520 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1633 60249 59580 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1634 60249 59640 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1635 60249 59700 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1636 60249 59760 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1637 60249 59820 0 -0.2 3.6 -1.0 3.7 -15.9 93.4 +2023 11 01 1638 60249 59880 0 -1.1 3.3 0.4 3.5 6.2 108.4 +2023 11 01 1639 60249 59940 0 -1.6 3.6 0.9 4.0 13.0 114.4 +2023 11 01 1640 60249 60000 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1641 60249 60060 0 -1.8 3.4 -0.7 3.9 -11.1 117.7 +2023 11 01 1642 60249 60120 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1643 60249 60180 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1644 60249 60240 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1645 60249 60300 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1646 60249 60360 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1647 60249 60420 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1648 60249 60480 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1649 60249 60540 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1650 60249 60600 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1651 60249 60660 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1652 60249 60720 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1653 60249 60780 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1654 60249 60840 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1655 60249 60900 0 -2.1 2.4 1.3 3.5 22.1 131.1 +2023 11 01 1656 60249 60960 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1657 60249 61020 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1658 60249 61080 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1659 60249 61140 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1700 60249 61200 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1701 60249 61260 9 -999.9 -999.9 -999.9 -999.9 -999.9 -999.9 +2023 11 01 1702 60249 61320 0 -2.7 1.7 2.2 3.8 34.5 148.1 +2023 11 01 1703 60249 61380 0 -2.8 2.0 1.9 3.9 28.9 144.3 +2023 11 01 1704 60249 61440 0 -2.6 2.3 1.7 3.9 25.7 139.1 +2023 11 01 1705 60249 61500 0 -2.7 2.1 2.0 3.9 30.4 142.3 +2023 11 01 1706 60249 61560 0 -2.8 2.1 2.1 4.0 30.7 142.8 +2023 11 01 1707 60249 61620 0 -2.9 2.3 1.3 4.0 18.9 141.3 +2023 11 01 1708 60249 61680 0 -2.8 2.6 0.6 3.9 9.5 137.1 +2023 11 01 1709 60249 61740 0 -3.3 2.3 0.5 4.0 6.8 145.2 +2023 11 01 1710 60249 61800 0 -2.5 2.8 0.7 3.8 11.0 131.9 +2023 11 01 1711 60249 61860 0 -2.6 2.9 0.4 3.9 5.2 131.7 +2023 11 01 1712 60249 61920 0 -2.9 2.6 -0.0 3.9 -0.1 137.8 +2023 11 01 1713 60249 61980 0 -2.5 2.9 0.5 3.9 7.5 131.7 +2023 11 01 1714 60249 62040 0 -2.3 2.9 1.0 3.8 15.3 128.6 +2023 11 01 1715 60249 62100 0 -2.4 2.9 -0.1 3.8 -1.2 129.2 +2023 11 01 1716 60249 62160 0 -2.1 3.0 -0.5 3.7 -7.1 124.9 +2023 11 01 1717 60249 62220 0 -0.9 1.8 -3.2 3.8 -57.7 117.2 +2023 11 01 1718 60249 62280 0 -0.9 2.0 -3.1 3.9 -54.6 114.9 +2023 11 01 1719 60249 62340 0 -1.4 2.9 -2.2 3.9 -35.3 115.4 +2023 11 01 1720 60249 62400 0 -1.8 2.4 -2.6 3.9 -40.5 127.7 +2023 11 01 1721 60249 62460 0 -1.8 2.7 -2.0 3.8 -31.6 123.1 +2023 11 01 1722 60249 62520 0 -1.7 1.8 -2.2 3.3 -42.1 134.4 +2023 11 01 1723 60249 62580 0 -0.8 1.3 3.1 3.4 63.6 121.4 +2023 11 01 1724 60249 62640 0 -0.6 1.0 3.4 3.6 70.8 122.6 +2023 11 01 1725 60249 62700 0 -0.4 0.7 3.4 3.5 77.3 121.7 +2023 11 01 1726 60249 62760 0 -0.5 2.0 3.0 3.6 54.8 104.0 +2023 11 01 1727 60249 62820 0 -1.0 2.8 2.2 3.7 35.9 110.4 +2023 11 01 1728 60249 62880 0 -1.0 3.1 1.8 3.7 28.5 107.0 +2023 11 01 1729 60249 62940 0 -1.8 3.3 1.1 4.0 16.9 117.6 +2023 11 01 1730 60249 63000 0 -1.6 3.5 1.0 4.0 14.3 113.8 +2023 11 01 1731 60249 63060 0 -1.6 3.6 0.5 4.0 7.6 114.1 +2023 11 01 1732 60249 63120 0 -1.9 3.4 -1.1 4.0 -15.3 119.5 +2023 11 01 1733 60249 63180 0 -1.6 2.8 -2.1 3.9 -33.3 119.1 +2023 11 01 1734 60249 63240 0 -1.8 3.1 -1.1 3.8 -17.0 119.6 +2023 11 01 1735 60249 63300 0 -1.7 3.5 -0.0 3.9 -0.3 115.7 +2023 11 01 1736 60249 63360 0 -1.8 3.5 -0.3 3.9 -4.2 118.0 +2023 11 01 1737 60249 63420 0 -2.2 3.2 -0.2 3.9 -3.3 124.2 +2023 11 01 1738 60249 63480 0 -1.8 3.1 -1.0 3.7 -15.2 120.6 +2023 11 01 1739 60249 63540 0 -1.4 2.9 -2.1 3.9 -33.0 115.4 diff --git a/GeospaceDataManagement/tests/test_data/ace-sis.txt b/GeospaceDataManagement/tests/test_data/ace-sis.txt new file mode 100644 index 0000000..85de336 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/ace-sis.txt @@ -0,0 +1,40 @@ +:Data_list: ace_sis_5m.txt +:Created: 2023 Nov 01 1741 UT +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# Units: proton flux p/cs2-sec-ster +# Status(S): 0 = nominal data, 1 to 8 = bad data record, 9 = no data +# Missing data values: -1.00e+05 +# Source: ACE Satellite - Solar Isotope Spectrometer +# +# 5-minute averaged Real-time Integral Flux of High-energy Solar Protons +# +# Modified Seconds +# UT Date Time Julian of the ---- Integral Proton Flux ---- +# YR MO DA HHMM Day Day S > 10 MeV S > 30 MeV +#-------------------------------------------------------------------- +2023 11 01 1540 60249 56400 0 1.01e+00 0 7.14e-01 +2023 11 01 1545 60249 56700 0 9.73e-01 0 6.94e-01 +2023 11 01 1550 60249 57000 0 9.78e-01 0 6.89e-01 +2023 11 01 1555 60249 57300 0 9.69e-01 0 6.92e-01 +2023 11 01 1600 60249 57600 0 9.88e-01 0 6.95e-01 +2023 11 01 1605 60249 57900 0 1.00e+00 0 7.18e-01 +2023 11 01 1610 60249 58200 0 1.01e+00 0 7.27e-01 +2023 11 01 1615 60249 58500 0 1.03e+00 0 7.40e-01 +2023 11 01 1620 60249 58800 0 9.47e-01 0 6.94e-01 +2023 11 01 1625 60249 59100 9 -1.00e+05 9 -1.00e+05 +2023 11 01 1630 60249 59400 9 -1.00e+05 9 -1.00e+05 +2023 11 01 1635 60249 59700 0 1.01e+00 0 7.14e-01 +2023 11 01 1640 60249 60000 0 9.57e-01 0 6.70e-01 +2023 11 01 1645 60249 60300 9 -1.00e+05 9 -1.00e+05 +2023 11 01 1650 60249 60600 9 -1.00e+05 9 -1.00e+05 +2023 11 01 1655 60249 60900 9 -1.00e+05 9 -1.00e+05 +2023 11 01 1700 60249 61200 0 9.79e-01 0 6.93e-01 +2023 11 01 1705 60249 61500 0 9.58e-01 0 6.80e-01 +2023 11 01 1710 60249 61800 0 9.95e-01 0 7.05e-01 +2023 11 01 1715 60249 62100 0 9.74e-01 0 6.94e-01 +2023 11 01 1720 60249 62400 0 9.98e-01 0 7.10e-01 +2023 11 01 1725 60249 62700 0 1.01e+00 0 7.08e-01 +2023 11 01 1730 60249 63000 0 9.70e-01 0 6.83e-01 +2023 11 01 1735 60249 63300 0 9.84e-01 0 6.96e-01 diff --git a/GeospaceDataManagement/tests/test_data/ace-swepam.txt b/GeospaceDataManagement/tests/test_data/ace-swepam.txt new file mode 100644 index 0000000..5cadc21 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/ace-swepam.txt @@ -0,0 +1,137 @@ +:Data_list: ace_swepam_1m.txt +:Created: 2023 Nov 01 1742 UT +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# Units: Proton density p/cc +# Units: Bulk speed km/s +# Units: Ion tempeture degrees K +# Status(S): 0 = nominal data, 1 to 8 = bad data record, 9 = no data +# Missing data values: Density and Speed = -9999.9, Temp. = -1.00e+05 +# Source: ACE Satellite - Solar Wind Electron Proton Alpha Monitor +# +# 1-minute averaged Real-time Bulk Parameters of the Solar Wind Plasma +# +# Modified Seconds ------------- Solar Wind ----------- +# UT Date Time Julian of the Proton Bulk Ion +# YR MO DA HHMM Day Day S Density Speed Temperature +#------------------------------------------------------------------------- +2023 11 01 1542 60249 56520 1 1.6 437.8 9.17e+04 +2023 11 01 1543 60249 56580 0 1.8 439.2 1.13e+05 +2023 11 01 1544 60249 56640 1 1.6 434.1 9.07e+04 +2023 11 01 1545 60249 56700 1 1.7 436.4 9.70e+04 +2023 11 01 1546 60249 56760 0 1.7 431.1 7.45e+04 +2023 11 01 1547 60249 56820 0 1.0 418.7 5.73e+04 +2023 11 01 1548 60249 56880 0 1.9 442.7 1.38e+05 +2023 11 01 1549 60249 56940 1 2.8 445.1 1.54e+05 +2023 11 01 1550 60249 57000 0 2.5 449.0 1.41e+05 +2023 11 01 1551 60249 57060 0 2.3 453.5 1.39e+05 +2023 11 01 1552 60249 57120 0 2.4 454.6 1.42e+05 +2023 11 01 1553 60249 57180 0 1.6 442.0 7.79e+04 +2023 11 01 1554 60249 57240 0 1.6 441.1 7.35e+04 +2023 11 01 1555 60249 57300 0 1.6 443.0 8.17e+04 +2023 11 01 1556 60249 57360 0 1.7 449.6 1.11e+05 +2023 11 01 1557 60249 57420 1 1.3 446.1 7.19e+04 +2023 11 01 1558 60249 57480 1 1.3 446.1 7.19e+04 +2023 11 01 1559 60249 57540 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1600 60249 57600 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1601 60249 57660 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1602 60249 57720 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1603 60249 57780 0 1.0 454.0 5.94e+04 +2023 11 01 1604 60249 57840 0 1.2 460.6 8.00e+04 +2023 11 01 1605 60249 57900 0 1.5 457.8 5.49e+04 +2023 11 01 1606 60249 57960 0 2.1 469.7 7.56e+04 +2023 11 01 1607 60249 58020 0 2.4 476.5 9.14e+04 +2023 11 01 1608 60249 58080 0 2.5 485.2 1.15e+05 +2023 11 01 1609 60249 58140 0 1.8 468.2 8.24e+04 +2023 11 01 1610 60249 58200 0 1.3 456.8 6.37e+04 +2023 11 01 1611 60249 58260 0 1.9 471.0 1.04e+05 +2023 11 01 1612 60249 58320 0 2.2 475.3 1.30e+05 +2023 11 01 1613 60249 58380 0 1.5 455.7 5.44e+04 +2023 11 01 1614 60249 58440 0 1.5 455.7 5.44e+04 +2023 11 01 1615 60249 58500 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1616 60249 58560 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1617 60249 58620 0 1.4 453.9 3.91e+04 +2023 11 01 1618 60249 58680 0 1.6 463.0 6.35e+04 +2023 11 01 1619 60249 58740 0 1.7 463.7 6.52e+04 +2023 11 01 1620 60249 58800 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1621 60249 58860 0 1.4 449.4 3.94e+04 +2023 11 01 1622 60249 58920 0 1.4 449.4 3.94e+04 +2023 11 01 1623 60249 58980 0 2.0 458.0 5.09e+04 +2023 11 01 1624 60249 59040 0 2.0 458.0 5.09e+04 +2023 11 01 1625 60249 59100 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1626 60249 59160 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1627 60249 59220 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1628 60249 59280 0 0.6 432.3 1.96e+04 +2023 11 01 1629 60249 59340 0 0.6 432.3 1.96e+04 +2023 11 01 1630 60249 59400 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1631 60249 59460 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1632 60249 59520 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1633 60249 59580 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1634 60249 59640 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1635 60249 59700 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1636 60249 59760 0 1.2 447.3 3.66e+04 +2023 11 01 1637 60249 59820 0 1.2 447.3 3.66e+04 +2023 11 01 1638 60249 59880 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1639 60249 59940 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1640 60249 60000 0 3.3 470.8 1.21e+05 +2023 11 01 1641 60249 60060 0 3.3 470.8 1.21e+05 +2023 11 01 1642 60249 60120 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1643 60249 60180 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1644 60249 60240 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1645 60249 60300 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1646 60249 60360 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1647 60249 60420 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1648 60249 60480 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1649 60249 60540 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1650 60249 60600 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1651 60249 60660 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1652 60249 60720 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1653 60249 60780 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1654 60249 60840 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1655 60249 60900 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1656 60249 60960 0 1.1 436.9 4.04e+04 +2023 11 01 1657 60249 61020 0 1.1 436.9 4.04e+04 +2023 11 01 1658 60249 61080 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1659 60249 61140 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1700 60249 61200 9 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1701 60249 61260 1 1.2 428.8 4.27e+04 +2023 11 01 1702 60249 61320 1 1.3 431.4 5.09e+04 +2023 11 01 1703 60249 61380 0 1.4 448.2 1.01e+05 +2023 11 01 1704 60249 61440 0 1.3 447.6 6.73e+04 +2023 11 01 1705 60249 61500 0 1.6 449.8 9.80e+04 +2023 11 01 1706 60249 61560 0 1.6 449.8 9.80e+04 +2023 11 01 1707 60249 61620 3 -9999.9 -9999.9 -1.00e+05 +2023 11 01 1708 60249 61680 0 0.8 416.2 3.10e+04 +2023 11 01 1709 60249 61740 1 2.1 443.0 1.40e+05 +2023 11 01 1710 60249 61800 1 2.2 443.0 1.24e+05 +2023 11 01 1711 60249 61860 0 2.0 438.8 8.62e+04 +2023 11 01 1712 60249 61920 1 2.0 438.5 8.64e+04 +2023 11 01 1713 60249 61980 1 2.1 439.4 9.51e+04 +2023 11 01 1714 60249 62040 1 2.0 443.7 8.89e+04 +2023 11 01 1715 60249 62100 0 1.7 447.5 7.30e+04 +2023 11 01 1716 60249 62160 0 1.9 448.7 7.50e+04 +2023 11 01 1717 60249 62220 0 2.1 453.3 8.96e+04 +2023 11 01 1718 60249 62280 0 1.7 458.9 7.30e+04 +2023 11 01 1719 60249 62340 0 1.8 457.0 5.98e+04 +2023 11 01 1720 60249 62400 0 2.2 449.6 6.27e+04 +2023 11 01 1721 60249 62460 0 1.8 450.3 6.75e+04 +2023 11 01 1722 60249 62520 0 1.6 452.0 8.20e+04 +2023 11 01 1723 60249 62580 0 1.7 450.0 8.44e+04 +2023 11 01 1724 60249 62640 0 1.4 457.7 6.44e+04 +2023 11 01 1725 60249 62700 0 1.3 462.1 5.61e+04 +2023 11 01 1726 60249 62760 0 1.2 461.3 6.12e+04 +2023 11 01 1727 60249 62820 0 1.2 460.4 5.94e+04 +2023 11 01 1728 60249 62880 0 1.3 459.6 5.89e+04 +2023 11 01 1729 60249 62940 0 1.6 454.0 6.35e+04 +2023 11 01 1730 60249 63000 0 1.8 449.3 6.38e+04 +2023 11 01 1731 60249 63060 0 2.1 453.6 7.05e+04 +2023 11 01 1732 60249 63120 0 2.8 459.7 7.93e+04 +2023 11 01 1733 60249 63180 0 3.5 455.5 4.87e+04 +2023 11 01 1734 60249 63240 0 1.1 436.5 5.70e+04 +2023 11 01 1735 60249 63300 1 2.6 454.7 1.19e+05 +2023 11 01 1736 60249 63360 0 2.5 460.4 7.11e+04 +2023 11 01 1737 60249 63420 0 2.1 450.0 7.41e+04 +2023 11 01 1738 60249 63480 0 0.7 419.9 2.99e+04 +2023 11 01 1739 60249 63540 0 0.6 417.7 2.68e+04 +2023 11 01 1740 60249 63600 3 -9999.9 -9999.9 -1.00e+05 diff --git a/GeospaceDataManagement/tests/test_data/ae_last_96_hrs.txt b/GeospaceDataManagement/tests/test_data/ae_last_96_hrs.txt new file mode 100644 index 0000000..c94e3d2 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/ae_last_96_hrs.txt @@ -0,0 +1,574 @@ + Time Predicted AE +2023/301-21:09:23 91.2 +2023/301-21:19:23 118.3 +2023/301-21:29:23 160.0 +2023/301-21:39:23 178.2 +2023/301-21:49:23 193.0 +2023/301-21:59:23 211.5 +2023/301-22:09:23 278.9 +2023/301-22:19:23 355.9 +2023/301-22:29:23 389.3 +2023/301-22:39:23 394.6 +2023/301-22:49:23 360.7 +2023/301-22:59:23 342.6 +2023/301-23:09:23 333.5 +2023/301-23:19:23 347.1 +2023/301-23:29:23 388.4 +2023/301-23:39:23 456.3 +2023/301-23:49:23 514.6 +2023/301-23:59:23 555.7 +2023/302-00:09:23 578.1 +2023/302-00:19:23 595.7 +2023/302-00:29:23 601.7 +2023/302-00:39:23 552.7 +2023/302-00:49:23 494.7 +2023/302-00:59:23 487.5 +2023/302-01:09:23 511.2 +2023/302-01:19:23 516.0 +2023/302-01:29:23 500.7 +2023/302-01:39:23 443.6 +2023/302-01:49:23 386.2 +2023/302-01:59:23 342.2 +2023/302-02:09:23 297.7 +2023/302-02:19:23 253.1 +2023/302-02:29:23 222.5 +2023/302-02:39:23 190.2 +2023/302-02:49:23 161.8 +2023/302-02:59:23 142.1 +2023/302-03:09:23 133.6 +2023/302-03:19:23 139.7 +2023/302-03:29:23 175.8 +2023/302-03:39:23 235.6 +2023/302-03:49:23 281.7 +2023/302-03:59:23 313.5 +2023/302-04:09:23 355.0 +2023/302-04:19:23 414.0 +2023/302-04:29:23 472.2 +2023/302-04:39:23 507.6 +2023/302-04:49:23 510.6 +2023/302-04:59:23 505.4 +2023/302-05:09:23 515.3 +2023/302-05:19:23 456.1 +2023/302-05:29:23 402.5 +2023/302-05:39:23 386.3 +2023/302-05:49:23 350.2 +2023/302-05:59:23 289.9 +2023/302-06:09:23 244.3 +2023/302-06:19:23 209.3 +2023/302-06:29:23 175.0 +2023/302-06:39:23 146.7 +2023/302-06:49:23 124.2 +2023/302-06:59:23 107.4 +2023/302-07:09:23 96.3 +2023/302-07:19:23 94.0 +2023/302-07:29:23 98.8 +2023/302-07:39:23 203.8 +2023/302-07:49:23 345.6 +2023/302-07:59:23 457.0 +2023/302-08:09:23 574.8 +2023/302-08:19:23 674.0 +2023/302-08:29:23 743.2 +2023/302-08:39:23 797.0 +2023/302-08:49:23 835.8 +2023/302-08:59:23 850.7 +2023/302-09:09:23 847.3 +2023/302-09:19:23 872.2 +2023/302-09:29:23 875.9 +2023/302-09:39:23 840.5 +2023/302-09:49:23 774.4 +2023/302-09:59:23 680.8 +2023/302-10:09:23 591.3 +2023/302-10:19:23 513.0 +2023/302-10:29:23 489.1 +2023/302-10:39:23 464.8 +2023/302-10:49:23 461.1 +2023/302-10:59:23 471.9 +2023/302-11:09:23 470.7 +2023/302-11:19:23 458.2 +2023/302-11:29:23 442.9 +2023/302-11:39:23 424.1 +2023/302-11:49:23 384.0 +2023/302-11:59:23 338.7 +2023/302-12:09:23 336.0 +2023/302-12:19:23 384.3 +2023/302-12:29:23 420.5 +2023/302-12:39:23 388.1 +2023/302-12:49:23 341.8 +2023/302-12:59:23 315.1 +2023/302-13:09:23 304.3 +2023/302-13:19:23 304.2 +2023/302-13:29:23 350.8 +2023/302-13:39:23 397.2 +2023/302-13:49:23 487.8 +2023/302-13:59:23 534.8 +2023/302-14:09:23 597.4 +2023/302-14:19:23 654.5 +2023/302-14:29:23 694.9 +2023/302-14:39:23 746.9 +2023/302-14:49:23 795.8 +2023/302-14:59:23 818.5 +2023/302-15:09:23 809.8 +2023/302-15:19:23 753.1 +2023/302-15:29:23 666.8 +2023/302-15:39:23 612.5 +2023/302-15:49:23 527.7 +2023/302-15:59:23 482.3 +2023/302-16:09:23 432.1 +2023/302-16:19:23 404.2 +2023/302-16:29:23 352.6 +2023/302-16:39:23 299.7 +2023/302-16:49:23 256.3 +2023/302-16:59:23 235.6 +2023/302-17:09:23 223.7 +2023/302-17:19:23 222.5 +2023/302-17:29:23 226.8 +2023/302-17:39:23 237.4 +2023/302-17:49:23 216.8 +2023/302-17:59:23 199.8 +2023/302-18:09:23 193.6 +2023/302-18:19:23 210.6 +2023/302-18:29:23 270.3 +2023/302-18:39:23 354.9 +2023/302-18:49:23 426.1 +2023/302-18:59:23 452.5 +2023/302-19:09:23 485.5 +2023/302-19:19:23 461.3 +2023/302-19:29:23 462.5 +2023/302-19:39:23 496.3 +2023/302-19:49:23 488.7 +2023/302-19:59:23 428.1 +2023/302-20:09:23 391.3 +2023/302-20:19:23 384.4 +2023/302-20:29:23 368.5 +2023/302-20:39:23 348.9 +2023/302-20:49:23 334.5 +2023/302-20:59:23 327.0 +2023/302-21:09:23 322.2 +2023/302-21:19:23 316.1 +2023/302-21:29:23 310.7 +2023/302-21:39:23 307.8 +2023/302-21:49:23 304.5 +2023/302-21:59:23 300.1 +2023/302-22:09:23 295.7 +2023/302-22:19:23 291.7 +2023/302-22:29:23 287.5 +2023/302-22:39:23 282.2 +2023/302-22:49:23 276.4 +2023/302-22:59:23 273.8 +2023/302-23:09:23 277.4 +2023/302-23:19:23 316.6 +2023/302-23:29:23 359.4 +2023/302-23:39:23 393.3 +2023/302-23:49:23 422.0 +2023/302-23:59:23 446.5 +2023/303-00:09:23 464.1 +2023/303-00:19:23 474.7 +2023/303-00:29:23 480.9 +2023/303-00:39:23 482.4 +2023/303-00:49:23 485.3 +2023/303-00:59:23 466.2 +2023/303-01:09:23 448.8 +2023/303-01:19:23 455.4 +2023/303-01:29:23 458.0 +2023/303-01:39:23 450.1 +2023/303-01:49:23 455.5 +2023/303-01:59:23 449.5 +2023/303-02:09:23 437.7 +2023/303-02:19:23 425.5 +2023/303-02:29:23 410.2 +2023/303-02:39:23 380.4 +2023/303-02:49:23 343.7 +2023/303-02:59:23 306.8 +2023/303-03:09:23 267.3 +2023/303-03:19:23 227.9 +2023/303-03:29:23 193.1 +2023/303-03:39:23 165.6 +2023/303-03:49:23 140.1 +2023/303-03:59:23 118.1 +2023/303-04:09:23 99.8 +2023/303-04:19:23 85.1 +2023/303-04:29:23 72.7 +2023/303-04:39:23 62.8 +2023/303-04:49:23 55.9 +2023/303-04:59:23 59.1 +2023/303-05:09:23 67.1 +2023/303-05:19:23 76.3 +2023/303-05:29:23 85.9 +2023/303-05:39:23 96.0 +2023/303-05:49:23 105.6 +2023/303-05:59:23 114.6 +2023/303-06:09:23 124.2 +2023/303-06:19:23 133.5 +2023/303-06:29:23 141.4 +2023/303-06:39:23 148.1 +2023/303-06:49:23 154.0 +2023/303-06:59:23 158.8 +2023/303-07:09:23 162.0 +2023/303-07:19:23 163.9 +2023/303-07:29:23 165.6 +2023/303-07:39:23 167.4 +2023/303-07:49:23 169.3 +2023/303-07:59:23 170.9 +2023/303-08:09:23 171.9 +2023/303-08:19:23 152.1 +2023/303-08:29:23 135.9 +2023/303-08:39:23 122.6 +2023/303-08:49:23 111.5 +2023/303-08:59:23 98.6 +2023/303-09:09:23 87.9 +2023/303-09:19:23 78.9 +2023/303-09:29:23 71.2 +2023/303-09:39:23 64.9 +2023/303-09:49:23 59.5 +2023/303-09:59:23 55.4 +2023/303-10:09:23 52.1 +2023/303-10:19:23 49.5 +2023/303-10:29:23 49.0 +2023/303-10:39:23 51.1 +2023/303-10:49:23 94.6 +2023/303-10:59:23 134.2 +2023/303-11:09:23 148.5 +2023/303-11:19:23 161.2 +2023/303-11:29:23 179.7 +2023/303-11:39:23 193.8 +2023/303-11:49:23 200.6 +2023/303-11:59:23 206.2 +2023/303-12:09:23 211.3 +2023/303-12:19:23 217.4 +2023/303-12:29:23 237.4 +2023/303-12:39:23 291.4 +2023/303-12:49:23 355.8 +2023/303-12:59:23 438.1 +2023/303-13:09:23 524.6 +2023/303-13:19:23 596.4 +2023/303-13:29:23 642.2 +2023/303-13:39:23 673.1 +2023/303-13:49:23 698.5 +2023/303-13:59:23 710.8 +2023/303-14:09:23 669.8 +2023/303-14:19:23 574.4 +2023/303-14:29:23 499.6 +2023/303-14:39:23 436.7 +2023/303-14:49:23 364.6 +2023/303-14:59:23 294.3 +2023/303-15:09:23 240.4 +2023/303-15:19:23 198.6 +2023/303-15:29:23 165.5 +2023/303-15:39:23 138.8 +2023/303-15:49:23 118.0 +2023/303-15:59:23 102.2 +2023/303-16:09:23 89.8 +2023/303-16:19:23 79.8 +2023/303-16:29:23 71.7 +2023/303-16:39:23 66.2 +2023/303-16:49:23 65.1 +2023/303-16:59:23 88.0 +2023/303-17:09:23 108.0 +2023/303-17:19:23 131.2 +2023/303-17:29:23 152.5 +2023/303-17:39:23 174.4 +2023/303-17:49:23 192.2 +2023/303-17:59:23 206.5 +2023/303-18:09:23 217.7 +2023/303-18:19:23 226.4 +2023/303-18:29:23 232.7 +2023/303-18:39:23 236.9 +2023/303-18:49:23 239.3 +2023/303-18:59:23 240.3 +2023/303-19:09:23 240.2 +2023/303-19:19:23 239.1 +2023/303-19:29:23 237.4 +2023/303-19:39:23 235.2 +2023/303-19:49:23 232.6 +2023/303-19:59:23 229.8 +2023/303-20:09:23 226.7 +2023/303-20:19:23 223.5 +2023/303-20:29:23 220.3 +2023/303-20:39:23 217.1 +2023/303-20:49:23 213.9 +2023/303-20:59:23 210.8 +2023/303-21:09:23 207.7 +2023/303-21:19:23 204.7 +2023/303-21:29:23 201.8 +2023/303-21:39:23 198.9 +2023/303-21:49:23 196.2 +2023/303-21:59:23 193.4 +2023/303-22:09:23 190.7 +2023/303-22:19:23 187.7 +2023/303-22:29:23 184.0 +2023/303-22:39:23 172.3 +2023/303-22:49:23 152.1 +2023/303-22:59:23 136.9 +2023/303-23:09:23 125.1 +2023/303-23:19:23 116.5 +2023/303-23:29:23 116.5 +2023/303-23:39:23 127.6 +2023/303-23:49:23 128.1 +2023/303-23:59:23 114.2 +2023/304-00:09:23 108.2 +2023/304-00:19:23 105.4 +2023/304-00:29:23 101.3 +2023/304-00:39:23 139.5 +2023/304-00:49:23 183.9 +2023/304-00:59:23 219.0 +2023/304-01:09:23 247.2 +2023/304-01:19:23 271.9 +2023/304-01:29:23 290.3 +2023/304-01:39:23 308.6 +2023/304-01:49:23 328.9 +2023/304-01:59:23 331.2 +2023/304-02:09:23 315.0 +2023/304-02:19:23 284.3 +2023/304-02:29:23 249.1 +2023/304-02:39:23 216.8 +2023/304-02:49:23 186.4 +2023/304-02:59:23 165.5 +2023/304-03:09:23 144.3 +2023/304-03:19:23 124.3 +2023/304-03:29:23 111.0 +2023/304-03:39:23 115.3 +2023/304-03:49:23 115.1 +2023/304-03:59:23 105.8 +2023/304-04:09:23 92.6 +2023/304-04:19:23 84.1 +2023/304-04:29:23 84.2 +2023/304-04:39:23 93.9 +2023/304-04:49:23 116.7 +2023/304-04:59:23 142.9 +2023/304-05:09:23 140.0 +2023/304-05:19:23 131.3 +2023/304-05:29:23 122.1 +2023/304-05:39:23 115.7 +2023/304-05:49:23 104.9 +2023/304-05:59:23 98.2 +2023/304-06:09:23 96.1 +2023/304-06:19:23 94.6 +2023/304-06:29:23 92.4 +2023/304-06:39:23 90.1 +2023/304-06:49:23 89.8 +2023/304-06:59:23 84.8 +2023/304-07:09:23 79.7 +2023/304-07:19:23 75.8 +2023/304-07:29:23 73.7 +2023/304-07:39:23 73.2 +2023/304-07:49:23 73.9 +2023/304-07:59:23 75.4 +2023/304-08:09:23 84.6 +2023/304-08:19:23 106.3 +2023/304-08:29:23 156.7 +2023/304-08:39:23 198.3 +2023/304-08:49:23 248.8 +2023/304-08:59:23 300.4 +2023/304-09:09:23 350.9 +2023/304-09:19:23 399.8 +2023/304-09:29:23 440.5 +2023/304-09:39:23 470.9 +2023/304-09:49:23 511.8 +2023/304-09:59:23 545.4 +2023/304-10:09:23 576.3 +2023/304-10:19:23 597.3 +2023/304-10:29:23 607.7 +2023/304-10:39:23 612.8 +2023/304-10:49:23 602.1 +2023/304-10:59:23 557.2 +2023/304-11:09:23 501.6 +2023/304-11:19:23 472.7 +2023/304-11:29:23 458.1 +2023/304-11:39:23 450.9 +2023/304-11:49:23 455.3 +2023/304-11:59:23 474.1 +2023/304-12:09:23 476.1 +2023/304-12:19:23 481.9 +2023/304-12:29:23 428.6 +2023/304-12:39:23 392.2 +2023/304-12:49:23 363.3 +2023/304-12:59:23 341.8 +2023/304-13:09:23 311.8 +2023/304-13:19:23 288.3 +2023/304-13:29:23 269.3 +2023/304-13:39:23 253.3 +2023/304-13:49:23 239.6 +2023/304-13:59:23 223.6 +2023/304-14:09:23 195.0 +2023/304-14:19:23 173.8 +2023/304-14:29:23 173.9 +2023/304-14:39:23 180.0 +2023/304-14:49:23 157.0 +2023/304-14:59:23 137.9 +2023/304-15:09:23 127.2 +2023/304-15:19:23 119.9 +2023/304-15:29:23 106.8 +2023/304-15:39:23 95.4 +2023/304-15:49:23 87.3 +2023/304-15:59:23 81.2 +2023/304-16:09:23 73.3 +2023/304-16:19:23 66.2 +2023/304-16:29:23 60.4 +2023/304-16:39:23 55.9 +2023/304-16:49:23 51.6 +2023/304-16:59:23 48.0 +2023/304-17:09:23 46.5 +2023/304-17:19:23 46.5 +2023/304-17:29:23 45.2 +2023/304-17:39:23 43.4 +2023/304-17:49:23 42.2 +2023/304-17:59:23 42.5 +2023/304-18:09:23 42.3 +2023/304-18:19:23 40.8 +2023/304-18:29:23 40.4 +2023/304-18:39:23 46.0 +2023/304-18:49:23 53.8 +2023/304-18:59:23 63.1 +2023/304-19:09:23 86.7 +2023/304-19:19:23 127.6 +2023/304-19:29:23 161.3 +2023/304-19:39:23 185.1 +2023/304-19:49:23 208.9 +2023/304-19:59:23 213.4 +2023/304-20:09:23 224.3 +2023/304-20:19:23 203.4 +2023/304-20:29:23 197.2 +2023/304-20:39:23 178.6 +2023/304-20:49:23 161.4 +2023/304-20:59:23 141.4 +2023/304-21:09:23 131.6 +2023/304-21:19:23 131.7 +2023/304-21:29:23 124.1 +2023/304-21:39:23 119.6 +2023/304-21:49:23 111.4 +2023/304-21:59:23 105.1 +2023/304-22:09:23 96.8 +2023/304-22:19:23 89.8 +2023/304-22:29:23 84.3 +2023/304-22:39:23 81.3 +2023/304-22:49:23 81.6 +2023/304-22:59:23 90.2 +2023/304-23:09:23 110.7 +2023/304-23:19:23 138.3 +2023/304-23:29:23 169.5 +2023/304-23:39:23 191.9 +2023/304-23:49:23 201.9 +2023/304-23:59:23 220.2 +2023/305-00:09:23 239.4 +2023/305-00:19:23 240.4 +2023/305-00:29:23 233.1 +2023/305-00:39:23 221.6 +2023/305-00:49:23 210.0 +2023/305-00:59:23 200.2 +2023/305-01:09:23 193.4 +2023/305-01:19:23 190.1 +2023/305-01:29:23 187.7 +2023/305-01:39:23 179.1 +2023/305-01:49:23 167.4 +2023/305-01:59:23 154.8 +2023/305-02:09:23 145.6 +2023/305-02:19:23 129.3 +2023/305-02:29:23 116.7 +2023/305-02:39:23 119.2 +2023/305-02:49:23 139.0 +2023/305-02:59:23 167.6 +2023/305-03:09:23 196.7 +2023/305-03:19:23 223.9 +2023/305-03:29:23 248.5 +2023/305-03:39:23 262.8 +2023/305-03:49:23 264.5 +2023/305-03:59:23 251.7 +2023/305-04:09:23 224.8 +2023/305-04:19:23 200.7 +2023/305-04:29:23 177.4 +2023/305-04:39:23 153.9 +2023/305-04:49:23 130.7 +2023/305-04:59:23 111.4 +2023/305-05:09:23 95.1 +2023/305-05:19:23 81.8 +2023/305-05:29:23 71.0 +2023/305-05:39:23 62.2 +2023/305-05:49:23 55.2 +2023/305-05:59:23 50.4 +2023/305-06:09:23 48.2 +2023/305-06:19:23 64.2 +2023/305-06:29:23 89.9 +2023/305-06:39:23 122.2 +2023/305-06:49:23 157.4 +2023/305-06:59:23 197.2 +2023/305-07:09:23 237.6 +2023/305-07:19:23 271.8 +2023/305-07:29:23 303.4 +2023/305-07:39:23 334.0 +2023/305-07:49:23 359.2 +2023/305-07:59:23 387.0 +2023/305-08:09:23 396.1 +2023/305-08:19:23 395.8 +2023/305-08:29:23 388.9 +2023/305-08:39:23 373.8 +2023/305-08:49:23 347.3 +2023/305-08:59:23 325.0 +2023/305-09:09:23 314.8 +2023/305-09:19:23 298.7 +2023/305-09:29:23 286.4 +2023/305-09:39:23 302.3 +2023/305-09:49:23 314.5 +2023/305-09:59:23 315.2 +2023/305-10:09:23 308.8 +2023/305-10:19:23 300.9 +2023/305-10:29:23 287.7 +2023/305-10:39:23 269.4 +2023/305-10:49:23 244.9 +2023/305-10:59:23 219.5 +2023/305-11:09:23 194.7 +2023/305-11:19:23 170.4 +2023/305-11:29:23 148.7 +2023/305-11:39:23 130.5 +2023/305-11:49:23 115.8 +2023/305-11:59:23 105.0 +2023/305-12:09:23 112.1 +2023/305-12:19:23 141.0 +2023/305-12:29:23 149.8 +2023/305-12:39:23 148.4 +2023/305-12:49:23 145.0 +2023/305-12:59:23 147.3 +2023/305-13:09:23 146.6 +2023/305-13:19:23 144.1 +2023/305-13:29:23 145.8 +2023/305-13:39:23 158.7 +2023/305-13:49:23 184.7 +2023/305-13:59:23 238.3 +2023/305-14:09:23 283.7 +2023/305-14:19:23 311.3 +2023/305-14:29:23 327.6 +2023/305-14:39:23 345.7 +2023/305-14:49:23 348.5 +2023/305-14:59:23 352.7 +2023/305-15:09:23 374.8 +2023/305-15:19:23 382.9 +2023/305-15:29:23 371.5 +2023/305-15:39:23 347.9 +2023/305-15:49:23 321.3 +2023/305-15:59:23 290.4 +2023/305-16:09:23 259.3 +2023/305-16:19:23 234.3 +2023/305-16:29:23 213.3 +2023/305-16:39:23 194.1 +2023/305-16:49:23 182.6 +2023/305-16:59:23 182.7 +2023/305-17:09:23 170.7 +2023/305-17:19:23 151.3 +2023/305-17:29:23 136.0 +2023/305-17:39:23 126.4 +2023/305-17:49:23 115.9 +2023/305-17:59:23 103.6 +2023/305-18:09:23 92.5 +2023/305-18:19:23 83.5 +2023/305-18:29:23 78.0 +2023/305-18:39:23 78.8 +2023/305-18:49:23 87.2 +2023/305-18:59:23 114.1 +2023/305-19:09:23 140.7 +2023/305-19:19:23 150.0 +2023/305-19:29:23 147.9 +2023/305-19:39:23 140.3 +2023/305-19:49:23 131.4 +2023/305-19:59:23 122.8 +2023/305-20:09:23 128.6 +2023/305-20:19:23 152.1 +2023/305-20:29:23 172.4 diff --git a/GeospaceDataManagement/tests/test_data/al_last_96_hrs.txt b/GeospaceDataManagement/tests/test_data/al_last_96_hrs.txt new file mode 100644 index 0000000..6717f54 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/al_last_96_hrs.txt @@ -0,0 +1,574 @@ + Time Predicted AL +2023/301-21:09:23 -52.6 +2023/301-21:19:23 -74.3 +2023/301-21:29:23 -110.2 +2023/301-21:39:23 -122.6 +2023/301-21:49:23 -129.3 +2023/301-21:59:23 -137.7 +2023/301-22:09:23 -194.0 +2023/301-22:19:23 -259.9 +2023/301-22:29:23 -286.0 +2023/301-22:39:23 -290.7 +2023/301-22:49:23 -261.4 +2023/301-22:59:23 -247.4 +2023/301-23:09:23 -238.7 +2023/301-23:19:23 -245.0 +2023/301-23:29:23 -273.8 +2023/301-23:39:23 -327.3 +2023/301-23:49:23 -373.3 +2023/301-23:59:23 -405.3 +2023/302-00:09:23 -422.6 +2023/302-00:19:23 -440.6 +2023/302-00:29:23 -450.6 +2023/302-00:39:23 -405.6 +2023/302-00:49:23 -350.1 +2023/302-00:59:23 -344.3 +2023/302-01:09:23 -367.0 +2023/302-01:19:23 -370.9 +2023/302-01:29:23 -359.6 +2023/302-01:39:23 -311.8 +2023/302-01:49:23 -266.8 +2023/302-01:59:23 -235.0 +2023/302-02:09:23 -199.8 +2023/302-02:19:23 -161.1 +2023/302-02:29:23 -134.9 +2023/302-02:39:23 -107.0 +2023/302-02:49:23 -84.6 +2023/302-02:59:23 -71.1 +2023/302-03:09:23 -65.7 +2023/302-03:19:23 -69.4 +2023/302-03:29:23 -98.8 +2023/302-03:39:23 -149.5 +2023/302-03:49:23 -185.3 +2023/302-03:59:23 -206.7 +2023/302-04:09:23 -239.3 +2023/302-04:19:23 -291.0 +2023/302-04:29:23 -342.7 +2023/302-04:39:23 -373.5 +2023/302-04:49:23 -373.9 +2023/302-04:59:23 -371.7 +2023/302-05:09:23 -387.3 +2023/302-05:19:23 -333.9 +2023/302-05:29:23 -286.7 +2023/302-05:39:23 -279.2 +2023/302-05:49:23 -249.9 +2023/302-05:59:23 -196.3 +2023/302-06:09:23 -159.1 +2023/302-06:19:23 -133.1 +2023/302-06:29:23 -106.8 +2023/302-06:39:23 -85.3 +2023/302-06:49:23 -68.7 +2023/302-06:59:23 -56.1 +2023/302-07:09:23 -48.0 +2023/302-07:19:23 -43.1 +2023/302-07:29:23 -37.2 +2023/302-07:39:23 -125.0 +2023/302-07:49:23 -245.0 +2023/302-07:59:23 -332.2 +2023/302-08:09:23 -429.7 +2023/302-08:19:23 -515.1 +2023/302-08:29:23 -575.2 +2023/302-08:39:23 -623.5 +2023/302-08:49:23 -659.3 +2023/302-08:59:23 -670.4 +2023/302-09:09:23 -663.2 +2023/302-09:19:23 -686.5 +2023/302-09:29:23 -691.2 +2023/302-09:39:23 -659.5 +2023/302-09:49:23 -602.2 +2023/302-09:59:23 -521.4 +2023/302-10:09:23 -442.9 +2023/302-10:19:23 -372.5 +2023/302-10:29:23 -352.8 +2023/302-10:39:23 -329.2 +2023/302-10:49:23 -324.1 +2023/302-10:59:23 -336.4 +2023/302-11:09:23 -339.4 +2023/302-11:19:23 -333.3 +2023/302-11:29:23 -326.8 +2023/302-11:39:23 -317.8 +2023/302-11:49:23 -286.3 +2023/302-11:59:23 -246.1 +2023/302-12:09:23 -245.1 +2023/302-12:19:23 -294.7 +2023/302-12:29:23 -332.1 +2023/302-12:39:23 -302.8 +2023/302-12:49:23 -262.7 +2023/302-12:59:23 -243.7 +2023/302-13:09:23 -236.1 +2023/302-13:19:23 -235.0 +2023/302-13:29:23 -275.0 +2023/302-13:39:23 -312.2 +2023/302-13:49:23 -391.8 +2023/302-13:59:23 -428.8 +2023/302-14:09:23 -482.6 +2023/302-14:19:23 -532.2 +2023/302-14:29:23 -564.2 +2023/302-14:39:23 -608.5 +2023/302-14:49:23 -651.3 +2023/302-14:59:23 -671.0 +2023/302-15:09:23 -664.3 +2023/302-15:19:23 -613.2 +2023/302-15:29:23 -535.1 +2023/302-15:39:23 -488.7 +2023/302-15:49:23 -409.9 +2023/302-15:59:23 -368.1 +2023/302-16:09:23 -321.9 +2023/302-16:19:23 -299.5 +2023/302-16:29:23 -255.8 +2023/302-16:39:23 -212.1 +2023/302-16:49:23 -178.1 +2023/302-16:59:23 -164.9 +2023/302-17:09:23 -157.4 +2023/302-17:19:23 -158.2 +2023/302-17:29:23 -164.8 +2023/302-17:39:23 -178.3 +2023/302-17:49:23 -161.4 +2023/302-17:59:23 -147.8 +2023/302-18:09:23 -142.0 +2023/302-18:19:23 -153.2 +2023/302-18:29:23 -202.6 +2023/302-18:39:23 -275.4 +2023/302-18:49:23 -334.4 +2023/302-18:59:23 -354.4 +2023/302-19:09:23 -385.9 +2023/302-19:19:23 -360.4 +2023/302-19:29:23 -360.1 +2023/302-19:39:23 -395.3 +2023/302-19:49:23 -387.6 +2023/302-19:59:23 -326.7 +2023/302-20:09:23 -292.8 +2023/302-20:19:23 -289.7 +2023/302-20:29:23 -275.3 +2023/302-20:39:23 -255.8 +2023/302-20:49:23 -241.8 +2023/302-20:59:23 -234.7 +2023/302-21:09:23 -230.3 +2023/302-21:19:23 -225.2 +2023/302-21:29:23 -221.0 +2023/302-21:39:23 -219.1 +2023/302-21:49:23 -216.7 +2023/302-21:59:23 -213.5 +2023/302-22:09:23 -210.3 +2023/302-22:19:23 -207.5 +2023/302-22:29:23 -204.7 +2023/302-22:39:23 -200.8 +2023/302-22:49:23 -196.1 +2023/302-22:59:23 -191.8 +2023/302-23:09:23 -190.9 +2023/302-23:19:23 -223.5 +2023/302-23:29:23 -258.3 +2023/302-23:39:23 -283.6 +2023/302-23:49:23 -305.6 +2023/302-23:59:23 -325.7 +2023/303-00:09:23 -340.3 +2023/303-00:19:23 -349.0 +2023/303-00:29:23 -353.6 +2023/303-00:39:23 -355.1 +2023/303-00:49:23 -359.0 +2023/303-00:59:23 -340.5 +2023/303-01:09:23 -323.6 +2023/303-01:19:23 -330.7 +2023/303-01:29:23 -332.0 +2023/303-01:39:23 -321.9 +2023/303-01:49:23 -326.6 +2023/303-01:59:23 -320.8 +2023/303-02:09:23 -310.0 +2023/303-02:19:23 -301.1 +2023/303-02:29:23 -290.9 +2023/303-02:39:23 -267.0 +2023/303-02:49:23 -237.3 +2023/303-02:59:23 -208.5 +2023/303-03:09:23 -177.2 +2023/303-03:19:23 -145.4 +2023/303-03:29:23 -118.3 +2023/303-03:39:23 -98.2 +2023/303-03:49:23 -79.3 +2023/303-03:59:23 -63.5 +2023/303-04:09:23 -51.3 +2023/303-04:19:23 -42.1 +2023/303-04:29:23 -34.5 +2023/303-04:39:23 -28.6 +2023/303-04:49:23 -24.6 +2023/303-04:59:23 -29.4 +2023/303-05:09:23 -38.3 +2023/303-05:19:23 -47.7 +2023/303-05:29:23 -57.0 +2023/303-05:39:23 -66.7 +2023/303-05:49:23 -75.5 +2023/303-05:59:23 -83.4 +2023/303-06:09:23 -91.5 +2023/303-06:19:23 -99.2 +2023/303-06:29:23 -105.5 +2023/303-06:39:23 -110.8 +2023/303-06:49:23 -115.6 +2023/303-06:59:23 -119.5 +2023/303-07:09:23 -122.0 +2023/303-07:19:23 -123.4 +2023/303-07:29:23 -124.6 +2023/303-07:39:23 -126.1 +2023/303-07:49:23 -127.8 +2023/303-07:59:23 -129.9 +2023/303-08:09:23 -132.0 +2023/303-08:19:23 -114.0 +2023/303-08:29:23 -99.8 +2023/303-08:39:23 -88.8 +2023/303-08:49:23 -79.7 +2023/303-08:59:23 -68.4 +2023/303-09:09:23 -59.4 +2023/303-09:19:23 -52.0 +2023/303-09:29:23 -45.8 +2023/303-09:39:23 -40.9 +2023/303-09:49:23 -36.7 +2023/303-09:59:23 -33.5 +2023/303-10:09:23 -31.0 +2023/303-10:19:23 -29.0 +2023/303-10:29:23 -27.3 +2023/303-10:39:23 -26.6 +2023/303-10:49:23 -67.0 +2023/303-10:59:23 -103.3 +2023/303-11:09:23 -114.2 +2023/303-11:19:23 -125.0 +2023/303-11:29:23 -143.0 +2023/303-11:39:23 -156.6 +2023/303-11:49:23 -162.5 +2023/303-11:59:23 -167.4 +2023/303-12:09:23 -171.3 +2023/303-12:19:23 -174.1 +2023/303-12:29:23 -188.6 +2023/303-12:39:23 -233.8 +2023/303-12:49:23 -286.0 +2023/303-12:59:23 -354.2 +2023/303-13:09:23 -427.7 +2023/303-13:19:23 -488.6 +2023/303-13:29:23 -526.3 +2023/303-13:39:23 -551.8 +2023/303-13:49:23 -575.7 +2023/303-13:59:23 -590.0 +2023/303-14:09:23 -553.5 +2023/303-14:19:23 -465.4 +2023/303-14:29:23 -400.1 +2023/303-14:39:23 -346.8 +2023/303-14:49:23 -282.7 +2023/303-14:59:23 -219.7 +2023/303-15:09:23 -172.8 +2023/303-15:19:23 -137.4 +2023/303-15:29:23 -110.5 +2023/303-15:39:23 -90.0 +2023/303-15:49:23 -74.9 +2023/303-15:59:23 -63.9 +2023/303-16:09:23 -55.8 +2023/303-16:19:23 -49.7 +2023/303-16:29:23 -44.9 +2023/303-16:39:23 -41.2 +2023/303-16:49:23 -40.5 +2023/303-16:59:23 -62.5 +2023/303-17:09:23 -80.2 +2023/303-17:19:23 -100.1 +2023/303-17:29:23 -118.4 +2023/303-17:39:23 -137.5 +2023/303-17:49:23 -152.6 +2023/303-17:59:23 -164.4 +2023/303-18:09:23 -173.2 +2023/303-18:19:23 -179.7 +2023/303-18:29:23 -184.1 +2023/303-18:39:23 -186.8 +2023/303-18:49:23 -187.9 +2023/303-18:59:23 -187.8 +2023/303-19:09:23 -186.9 +2023/303-19:19:23 -185.2 +2023/303-19:29:23 -183.0 +2023/303-19:39:23 -180.5 +2023/303-19:49:23 -177.7 +2023/303-19:59:23 -174.8 +2023/303-20:09:23 -171.8 +2023/303-20:19:23 -168.9 +2023/303-20:29:23 -165.9 +2023/303-20:39:23 -163.0 +2023/303-20:49:23 -160.1 +2023/303-20:59:23 -157.3 +2023/303-21:09:23 -154.6 +2023/303-21:19:23 -152.0 +2023/303-21:29:23 -149.4 +2023/303-21:39:23 -146.9 +2023/303-21:49:23 -144.5 +2023/303-21:59:23 -142.1 +2023/303-22:09:23 -139.8 +2023/303-22:19:23 -137.5 +2023/303-22:29:23 -135.3 +2023/303-22:39:23 -125.5 +2023/303-22:49:23 -107.5 +2023/303-22:59:23 -94.9 +2023/303-23:09:23 -85.1 +2023/303-23:19:23 -76.7 +2023/303-23:29:23 -76.1 +2023/303-23:39:23 -87.1 +2023/303-23:49:23 -87.1 +2023/303-23:59:23 -73.1 +2023/304-00:09:23 -68.8 +2023/304-00:19:23 -65.6 +2023/304-00:29:23 -57.5 +2023/304-00:39:23 -89.6 +2023/304-00:49:23 -126.7 +2023/304-00:59:23 -153.4 +2023/304-01:09:23 -175.4 +2023/304-01:19:23 -196.5 +2023/304-01:29:23 -212.1 +2023/304-01:39:23 -228.3 +2023/304-01:49:23 -247.8 +2023/304-01:59:23 -250.7 +2023/304-02:09:23 -237.0 +2023/304-02:19:23 -211.0 +2023/304-02:29:23 -181.6 +2023/304-02:39:23 -154.7 +2023/304-02:49:23 -128.7 +2023/304-02:59:23 -111.5 +2023/304-03:09:23 -93.6 +2023/304-03:19:23 -76.0 +2023/304-03:29:23 -64.8 +2023/304-03:39:23 -71.3 +2023/304-03:49:23 -73.1 +2023/304-03:59:23 -65.9 +2023/304-04:09:23 -55.4 +2023/304-04:19:23 -49.3 +2023/304-04:29:23 -49.6 +2023/304-04:39:23 -56.7 +2023/304-04:49:23 -76.6 +2023/304-04:59:23 -100.1 +2023/304-05:09:23 -95.7 +2023/304-05:19:23 -87.8 +2023/304-05:29:23 -82.1 +2023/304-05:39:23 -78.6 +2023/304-05:49:23 -69.6 +2023/304-05:59:23 -63.9 +2023/304-06:09:23 -62.4 +2023/304-06:19:23 -61.3 +2023/304-06:29:23 -59.6 +2023/304-06:39:23 -58.5 +2023/304-06:49:23 -59.5 +2023/304-06:59:23 -55.6 +2023/304-07:09:23 -51.4 +2023/304-07:19:23 -48.2 +2023/304-07:29:23 -46.5 +2023/304-07:39:23 -45.8 +2023/304-07:49:23 -45.8 +2023/304-07:59:23 -45.7 +2023/304-08:09:23 -50.5 +2023/304-08:19:23 -66.2 +2023/304-08:29:23 -108.4 +2023/304-08:39:23 -140.1 +2023/304-08:49:23 -179.9 +2023/304-08:59:23 -221.7 +2023/304-09:09:23 -262.9 +2023/304-09:19:23 -303.9 +2023/304-09:29:23 -337.3 +2023/304-09:39:23 -361.0 +2023/304-09:49:23 -395.6 +2023/304-09:59:23 -423.6 +2023/304-10:09:23 -449.6 +2023/304-10:19:23 -466.7 +2023/304-10:29:23 -474.8 +2023/304-10:39:23 -480.9 +2023/304-10:49:23 -474.1 +2023/304-10:59:23 -434.2 +2023/304-11:09:23 -384.0 +2023/304-11:19:23 -359.5 +2023/304-11:29:23 -346.9 +2023/304-11:39:23 -338.2 +2023/304-11:49:23 -340.4 +2023/304-11:59:23 -357.3 +2023/304-12:09:23 -360.8 +2023/304-12:19:23 -371.0 +2023/304-12:29:23 -324.5 +2023/304-12:39:23 -295.6 +2023/304-12:49:23 -274.3 +2023/304-12:59:23 -258.1 +2023/304-13:09:23 -232.1 +2023/304-13:19:23 -212.2 +2023/304-13:29:23 -197.2 +2023/304-13:39:23 -185.5 +2023/304-13:49:23 -176.8 +2023/304-13:59:23 -165.9 +2023/304-14:09:23 -141.4 +2023/304-14:19:23 -123.4 +2023/304-14:29:23 -126.7 +2023/304-14:39:23 -135.7 +2023/304-14:49:23 -115.4 +2023/304-14:59:23 -99.5 +2023/304-15:09:23 -92.6 +2023/304-15:19:23 -88.6 +2023/304-15:29:23 -78.2 +2023/304-15:39:23 -69.4 +2023/304-15:49:23 -63.6 +2023/304-15:59:23 -59.6 +2023/304-16:09:23 -53.6 +2023/304-16:19:23 -48.5 +2023/304-16:29:23 -44.4 +2023/304-16:39:23 -41.3 +2023/304-16:49:23 -38.2 +2023/304-16:59:23 -35.5 +2023/304-17:09:23 -34.5 +2023/304-17:19:23 -34.9 +2023/304-17:29:23 -33.9 +2023/304-17:39:23 -32.3 +2023/304-17:49:23 -31.3 +2023/304-17:59:23 -31.7 +2023/304-18:09:23 -31.6 +2023/304-18:19:23 -29.8 +2023/304-18:29:23 -28.8 +2023/304-18:39:23 -33.4 +2023/304-18:49:23 -38.8 +2023/304-18:59:23 -43.5 +2023/304-19:09:23 -60.7 +2023/304-19:19:23 -94.7 +2023/304-19:29:23 -120.8 +2023/304-19:39:23 -138.7 +2023/304-19:49:23 -158.6 +2023/304-19:59:23 -162.1 +2023/304-20:09:23 -173.2 +2023/304-20:19:23 -154.0 +2023/304-20:29:23 -149.7 +2023/304-20:39:23 -134.0 +2023/304-20:49:23 -119.2 +2023/304-20:59:23 -100.9 +2023/304-21:09:23 -92.7 +2023/304-21:19:23 -93.7 +2023/304-21:29:23 -86.9 +2023/304-21:39:23 -83.2 +2023/304-21:49:23 -76.6 +2023/304-21:59:23 -72.1 +2023/304-22:09:23 -65.5 +2023/304-22:19:23 -59.9 +2023/304-22:29:23 -55.4 +2023/304-22:39:23 -52.7 +2023/304-22:49:23 -52.1 +2023/304-22:59:23 -58.2 +2023/304-23:09:23 -74.5 +2023/304-23:19:23 -96.9 +2023/304-23:29:23 -123.0 +2023/304-23:39:23 -140.6 +2023/304-23:49:23 -146.3 +2023/304-23:59:23 -162.0 +2023/305-00:09:23 -179.9 +2023/305-00:19:23 -180.1 +2023/305-00:29:23 -173.2 +2023/305-00:39:23 -163.4 +2023/305-00:49:23 -153.3 +2023/305-00:59:23 -144.5 +2023/305-01:09:23 -138.2 +2023/305-01:19:23 -135.1 +2023/305-01:29:23 -133.0 +2023/305-01:39:23 -125.4 +2023/305-01:49:23 -115.5 +2023/305-01:59:23 -105.4 +2023/305-02:09:23 -98.9 +2023/305-02:19:23 -84.8 +2023/305-02:29:23 -72.9 +2023/305-02:39:23 -74.0 +2023/305-02:49:23 -90.4 +2023/305-02:59:23 -113.9 +2023/305-03:09:23 -137.0 +2023/305-03:19:23 -158.6 +2023/305-03:29:23 -179.6 +2023/305-03:39:23 -192.5 +2023/305-03:49:23 -195.3 +2023/305-03:59:23 -185.4 +2023/305-04:09:23 -162.7 +2023/305-04:19:23 -143.2 +2023/305-04:29:23 -124.4 +2023/305-04:39:23 -105.0 +2023/305-04:49:23 -85.6 +2023/305-04:59:23 -69.9 +2023/305-05:09:23 -57.0 +2023/305-05:19:23 -46.6 +2023/305-05:29:23 -38.4 +2023/305-05:39:23 -32.0 +2023/305-05:49:23 -27.0 +2023/305-05:59:23 -23.1 +2023/305-06:09:23 -20.1 +2023/305-06:19:23 -33.3 +2023/305-06:29:23 -54.0 +2023/305-06:39:23 -79.3 +2023/305-06:49:23 -106.6 +2023/305-06:59:23 -138.4 +2023/305-07:09:23 -171.1 +2023/305-07:19:23 -197.8 +2023/305-07:29:23 -222.3 +2023/305-07:39:23 -246.1 +2023/305-07:49:23 -265.8 +2023/305-07:59:23 -290.0 +2023/305-08:09:23 -297.4 +2023/305-08:19:23 -297.6 +2023/305-08:29:23 -293.7 +2023/305-08:39:23 -282.3 +2023/305-08:49:23 -259.2 +2023/305-08:59:23 -240.5 +2023/305-09:09:23 -233.3 +2023/305-09:19:23 -218.2 +2023/305-09:29:23 -205.7 +2023/305-09:39:23 -221.4 +2023/305-09:49:23 -233.4 +2023/305-09:59:23 -234.3 +2023/305-10:09:23 -230.1 +2023/305-10:19:23 -226.0 +2023/305-10:29:23 -217.2 +2023/305-10:39:23 -203.6 +2023/305-10:49:23 -183.9 +2023/305-10:59:23 -163.2 +2023/305-11:09:23 -142.8 +2023/305-11:19:23 -122.9 +2023/305-11:29:23 -105.2 +2023/305-11:39:23 -90.7 +2023/305-11:49:23 -78.5 +2023/305-11:59:23 -68.2 +2023/305-12:09:23 -75.0 +2023/305-12:19:23 -103.4 +2023/305-12:29:23 -111.8 +2023/305-12:39:23 -110.3 +2023/305-12:49:23 -108.3 +2023/305-12:59:23 -112.3 +2023/305-13:09:23 -112.7 +2023/305-13:19:23 -110.2 +2023/305-13:29:23 -110.6 +2023/305-13:39:23 -119.5 +2023/305-13:49:23 -139.4 +2023/305-13:59:23 -186.1 +2023/305-14:09:23 -224.7 +2023/305-14:19:23 -246.0 +2023/305-14:29:23 -258.5 +2023/305-14:39:23 -274.5 +2023/305-14:49:23 -274.7 +2023/305-14:59:23 -276.1 +2023/305-15:09:23 -296.2 +2023/305-15:19:23 -303.0 +2023/305-15:29:23 -291.8 +2023/305-15:39:23 -270.8 +2023/305-15:49:23 -248.7 +2023/305-15:59:23 -222.6 +2023/305-16:09:23 -195.8 +2023/305-16:19:23 -174.8 +2023/305-16:29:23 -156.8 +2023/305-16:39:23 -139.6 +2023/305-16:49:23 -130.5 +2023/305-16:59:23 -133.5 +2023/305-17:09:23 -124.6 +2023/305-17:19:23 -108.4 +2023/305-17:29:23 -97.1 +2023/305-17:39:23 -91.3 +2023/305-17:49:23 -83.9 +2023/305-17:59:23 -74.5 +2023/305-18:09:23 -66.0 +2023/305-18:19:23 -59.1 +2023/305-18:29:23 -54.6 +2023/305-18:39:23 -54.3 +2023/305-18:49:23 -59.3 +2023/305-18:59:23 -81.6 +2023/305-19:09:23 -104.0 +2023/305-19:19:23 -110.3 +2023/305-19:29:23 -107.7 +2023/305-19:39:23 -101.9 +2023/305-19:49:23 -95.1 +2023/305-19:59:23 -86.3 +2023/305-20:09:23 -89.8 +2023/305-20:19:23 -110.1 +2023/305-20:29:23 -122.6 diff --git a/GeospaceDataManagement/tests/test_data/ap30_2009-01.txt b/GeospaceDataManagement/tests/test_data/ap30_2009-01.txt new file mode 100644 index 0000000..7d887c5 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/ap30_2009-01.txt @@ -0,0 +1 @@ +{"meta":{"source":"GFZ Potsdam","license":"CC BY 4.0"},"datetime":["2009-01-01T00:00:00Z","2009-01-01T00:30:00Z","2009-01-01T01:00:00Z","2009-01-01T01:30:00Z","2009-01-01T02:00:00Z","2009-01-01T02:30:00Z","2009-01-01T03:00:00Z","2009-01-01T03:30:00Z","2009-01-01T04:00:00Z","2009-01-01T04:30:00Z","2009-01-01T05:00:00Z","2009-01-01T05:30:00Z","2009-01-01T06:00:00Z","2009-01-01T06:30:00Z","2009-01-01T07:00:00Z","2009-01-01T07:30:00Z","2009-01-01T08:00:00Z","2009-01-01T08:30:00Z","2009-01-01T09:00:00Z","2009-01-01T09:30:00Z","2009-01-01T10:00:00Z","2009-01-01T10:30:00Z","2009-01-01T11:00:00Z","2009-01-01T11:30:00Z","2009-01-01T12:00:00Z","2009-01-01T12:30:00Z","2009-01-01T13:00:00Z","2009-01-01T13:30:00Z","2009-01-01T14:00:00Z","2009-01-01T14:30:00Z","2009-01-01T15:00:00Z","2009-01-01T15:30:00Z","2009-01-01T16:00:00Z","2009-01-01T16:30:00Z","2009-01-01T17:00:00Z","2009-01-01T17:30:00Z","2009-01-01T18:00:00Z","2009-01-01T18:30:00Z","2009-01-01T19:00:00Z","2009-01-01T19:30:00Z","2009-01-01T20:00:00Z","2009-01-01T20:30:00Z","2009-01-01T21:00:00Z","2009-01-01T21:30:00Z","2009-01-01T22:00:00Z","2009-01-01T22:30:00Z","2009-01-01T23:00:00Z","2009-01-01T23:30:00Z","2009-01-02T00:00:00Z","2009-01-02T00:30:00Z","2009-01-02T01:00:00Z","2009-01-02T01:30:00Z","2009-01-02T02:00:00Z","2009-01-02T02:30:00Z","2009-01-02T03:00:00Z","2009-01-02T03:30:00Z","2009-01-02T04:00:00Z","2009-01-02T04:30:00Z","2009-01-02T05:00:00Z","2009-01-02T05:30:00Z","2009-01-02T06:00:00Z","2009-01-02T06:30:00Z","2009-01-02T07:00:00Z","2009-01-02T07:30:00Z","2009-01-02T08:00:00Z","2009-01-02T08:30:00Z","2009-01-02T09:00:00Z","2009-01-02T09:30:00Z","2009-01-02T10:00:00Z","2009-01-02T10:30:00Z","2009-01-02T11:00:00Z","2009-01-02T11:30:00Z","2009-01-02T12:00:00Z","2009-01-02T12:30:00Z","2009-01-02T13:00:00Z","2009-01-02T13:30:00Z","2009-01-02T14:00:00Z","2009-01-02T14:30:00Z","2009-01-02T15:00:00Z","2009-01-02T15:30:00Z","2009-01-02T16:00:00Z","2009-01-02T16:30:00Z","2009-01-02T17:00:00Z","2009-01-02T17:30:00Z","2009-01-02T18:00:00Z","2009-01-02T18:30:00Z","2009-01-02T19:00:00Z","2009-01-02T19:30:00Z","2009-01-02T20:00:00Z","2009-01-02T20:30:00Z","2009-01-02T21:00:00Z","2009-01-02T21:30:00Z","2009-01-02T22:00:00Z","2009-01-02T22:30:00Z","2009-01-02T23:00:00Z","2009-01-02T23:30:00Z","2009-01-03T00:00:00Z","2009-01-03T00:30:00Z","2009-01-03T01:00:00Z","2009-01-03T01:30:00Z","2009-01-03T02:00:00Z","2009-01-03T02:30:00Z","2009-01-03T03:00:00Z","2009-01-03T03:30:00Z","2009-01-03T04:00:00Z","2009-01-03T04:30:00Z","2009-01-03T05:00:00Z","2009-01-03T05:30:00Z","2009-01-03T06:00:00Z","2009-01-03T06:30:00Z","2009-01-03T07:00:00Z","2009-01-03T07:30:00Z","2009-01-03T08:00:00Z","2009-01-03T08:30:00Z","2009-01-03T09:00:00Z","2009-01-03T09:30:00Z","2009-01-03T10:00:00Z","2009-01-03T10:30:00Z","2009-01-03T11:00:00Z","2009-01-03T11:30:00Z","2009-01-03T12:00:00Z","2009-01-03T12:30:00Z","2009-01-03T13:00:00Z","2009-01-03T13:30:00Z","2009-01-03T14:00:00Z","2009-01-03T14:30:00Z","2009-01-03T15:00:00Z","2009-01-03T15:30:00Z","2009-01-03T16:00:00Z","2009-01-03T16:30:00Z","2009-01-03T17:00:00Z","2009-01-03T17:30:00Z","2009-01-03T18:00:00Z","2009-01-03T18:30:00Z","2009-01-03T19:00:00Z","2009-01-03T19:30:00Z","2009-01-03T20:00:00Z","2009-01-03T20:30:00Z","2009-01-03T21:00:00Z","2009-01-03T21:30:00Z","2009-01-03T22:00:00Z","2009-01-03T22:30:00Z","2009-01-03T23:00:00Z","2009-01-03T23:30:00Z","2009-01-04T00:00:00Z","2009-01-04T00:30:00Z","2009-01-04T01:00:00Z","2009-01-04T01:30:00Z","2009-01-04T02:00:00Z","2009-01-04T02:30:00Z","2009-01-04T03:00:00Z","2009-01-04T03:30:00Z","2009-01-04T04:00:00Z","2009-01-04T04:30:00Z","2009-01-04T05:00:00Z","2009-01-04T05:30:00Z","2009-01-04T06:00:00Z","2009-01-04T06:30:00Z","2009-01-04T07:00:00Z","2009-01-04T07:30:00Z","2009-01-04T08:00:00Z","2009-01-04T08:30:00Z","2009-01-04T09:00:00Z","2009-01-04T09:30:00Z","2009-01-04T10:00:00Z","2009-01-04T10:30:00Z","2009-01-04T11:00:00Z","2009-01-04T11:30:00Z","2009-01-04T12:00:00Z","2009-01-04T12:30:00Z","2009-01-04T13:00:00Z","2009-01-04T13:30:00Z","2009-01-04T14:00:00Z","2009-01-04T14:30:00Z","2009-01-04T15:00:00Z","2009-01-04T15:30:00Z","2009-01-04T16:00:00Z","2009-01-04T16:30:00Z","2009-01-04T17:00:00Z","2009-01-04T17:30:00Z","2009-01-04T18:00:00Z","2009-01-04T18:30:00Z","2009-01-04T19:00:00Z","2009-01-04T19:30:00Z","2009-01-04T20:00:00Z","2009-01-04T20:30:00Z","2009-01-04T21:00:00Z","2009-01-04T21:30:00Z","2009-01-04T22:00:00Z","2009-01-04T22:30:00Z","2009-01-04T23:00:00Z","2009-01-04T23:30:00Z","2009-01-05T00:00:00Z","2009-01-05T00:30:00Z","2009-01-05T01:00:00Z","2009-01-05T01:30:00Z","2009-01-05T02:00:00Z","2009-01-05T02:30:00Z","2009-01-05T03:00:00Z","2009-01-05T03:30:00Z","2009-01-05T04:00:00Z","2009-01-05T04:30:00Z","2009-01-05T05:00:00Z","2009-01-05T05:30:00Z","2009-01-05T06:00:00Z","2009-01-05T06:30:00Z","2009-01-05T07:00:00Z","2009-01-05T07:30:00Z","2009-01-05T08:00:00Z","2009-01-05T08:30:00Z","2009-01-05T09:00:00Z","2009-01-05T09:30:00Z","2009-01-05T10:00:00Z","2009-01-05T10:30:00Z","2009-01-05T11:00:00Z","2009-01-05T11:30:00Z","2009-01-05T12:00:00Z","2009-01-05T12:30:00Z","2009-01-05T13:00:00Z","2009-01-05T13:30:00Z","2009-01-05T14:00:00Z","2009-01-05T14:30:00Z","2009-01-05T15:00:00Z","2009-01-05T15:30:00Z","2009-01-05T16:00:00Z","2009-01-05T16:30:00Z","2009-01-05T17:00:00Z","2009-01-05T17:30:00Z","2009-01-05T18:00:00Z","2009-01-05T18:30:00Z","2009-01-05T19:00:00Z","2009-01-05T19:30:00Z","2009-01-05T20:00:00Z","2009-01-05T20:30:00Z","2009-01-05T21:00:00Z","2009-01-05T21:30:00Z","2009-01-05T22:00:00Z","2009-01-05T22:30:00Z","2009-01-05T23:00:00Z","2009-01-05T23:30:00Z","2009-01-06T00:00:00Z","2009-01-06T00:30:00Z","2009-01-06T01:00:00Z","2009-01-06T01:30:00Z","2009-01-06T02:00:00Z","2009-01-06T02:30:00Z","2009-01-06T03:00:00Z","2009-01-06T03:30:00Z","2009-01-06T04:00:00Z","2009-01-06T04:30:00Z","2009-01-06T05:00:00Z","2009-01-06T05:30:00Z","2009-01-06T06:00:00Z","2009-01-06T06:30:00Z","2009-01-06T07:00:00Z","2009-01-06T07:30:00Z","2009-01-06T08:00:00Z","2009-01-06T08:30:00Z","2009-01-06T09:00:00Z","2009-01-06T09:30:00Z","2009-01-06T10:00:00Z","2009-01-06T10:30:00Z","2009-01-06T11:00:00Z","2009-01-06T11:30:00Z","2009-01-06T12:00:00Z","2009-01-06T12:30:00Z","2009-01-06T13:00:00Z","2009-01-06T13:30:00Z","2009-01-06T14:00:00Z","2009-01-06T14:30:00Z","2009-01-06T15:00:00Z","2009-01-06T15:30:00Z","2009-01-06T16:00:00Z","2009-01-06T16:30:00Z","2009-01-06T17:00:00Z","2009-01-06T17:30:00Z","2009-01-06T18:00:00Z","2009-01-06T18:30:00Z","2009-01-06T19:00:00Z","2009-01-06T19:30:00Z","2009-01-06T20:00:00Z","2009-01-06T20:30:00Z","2009-01-06T21:00:00Z","2009-01-06T21:30:00Z","2009-01-06T22:00:00Z","2009-01-06T22:30:00Z","2009-01-06T23:00:00Z","2009-01-06T23:30:00Z","2009-01-07T00:00:00Z","2009-01-07T00:30:00Z","2009-01-07T01:00:00Z","2009-01-07T01:30:00Z","2009-01-07T02:00:00Z","2009-01-07T02:30:00Z","2009-01-07T03:00:00Z","2009-01-07T03:30:00Z","2009-01-07T04:00:00Z","2009-01-07T04:30:00Z","2009-01-07T05:00:00Z","2009-01-07T05:30:00Z","2009-01-07T06:00:00Z","2009-01-07T06:30:00Z","2009-01-07T07:00:00Z","2009-01-07T07:30:00Z","2009-01-07T08:00:00Z","2009-01-07T08:30:00Z","2009-01-07T09:00:00Z","2009-01-07T09:30:00Z","2009-01-07T10:00:00Z","2009-01-07T10:30:00Z","2009-01-07T11:00:00Z","2009-01-07T11:30:00Z","2009-01-07T12:00:00Z","2009-01-07T12:30:00Z","2009-01-07T13:00:00Z","2009-01-07T13:30:00Z","2009-01-07T14:00:00Z","2009-01-07T14:30:00Z","2009-01-07T15:00:00Z","2009-01-07T15:30:00Z","2009-01-07T16:00:00Z","2009-01-07T16:30:00Z","2009-01-07T17:00:00Z","2009-01-07T17:30:00Z","2009-01-07T18:00:00Z","2009-01-07T18:30:00Z","2009-01-07T19:00:00Z","2009-01-07T19:30:00Z","2009-01-07T20:00:00Z","2009-01-07T20:30:00Z","2009-01-07T21:00:00Z","2009-01-07T21:30:00Z","2009-01-07T22:00:00Z","2009-01-07T22:30:00Z","2009-01-07T23:00:00Z","2009-01-07T23:30:00Z","2009-01-08T00:00:00Z","2009-01-08T00:30:00Z","2009-01-08T01:00:00Z","2009-01-08T01:30:00Z","2009-01-08T02:00:00Z","2009-01-08T02:30:00Z","2009-01-08T03:00:00Z","2009-01-08T03:30:00Z","2009-01-08T04:00:00Z","2009-01-08T04:30:00Z","2009-01-08T05:00:00Z","2009-01-08T05:30:00Z","2009-01-08T06:00:00Z","2009-01-08T06:30:00Z","2009-01-08T07:00:00Z","2009-01-08T07:30:00Z","2009-01-08T08:00:00Z","2009-01-08T08:30:00Z","2009-01-08T09:00:00Z","2009-01-08T09:30:00Z","2009-01-08T10:00:00Z","2009-01-08T10:30:00Z","2009-01-08T11:00:00Z","2009-01-08T11:30:00Z","2009-01-08T12:00:00Z","2009-01-08T12:30:00Z","2009-01-08T13:00:00Z","2009-01-08T13:30:00Z","2009-01-08T14:00:00Z","2009-01-08T14:30:00Z","2009-01-08T15:00:00Z","2009-01-08T15:30:00Z","2009-01-08T16:00:00Z","2009-01-08T16:30:00Z","2009-01-08T17:00:00Z","2009-01-08T17:30:00Z","2009-01-08T18:00:00Z","2009-01-08T18:30:00Z","2009-01-08T19:00:00Z","2009-01-08T19:30:00Z","2009-01-08T20:00:00Z","2009-01-08T20:30:00Z","2009-01-08T21:00:00Z","2009-01-08T21:30:00Z","2009-01-08T22:00:00Z","2009-01-08T22:30:00Z","2009-01-08T23:00:00Z","2009-01-08T23:30:00Z","2009-01-09T00:00:00Z","2009-01-09T00:30:00Z","2009-01-09T01:00:00Z","2009-01-09T01:30:00Z","2009-01-09T02:00:00Z","2009-01-09T02:30:00Z","2009-01-09T03:00:00Z","2009-01-09T03:30:00Z","2009-01-09T04:00:00Z","2009-01-09T04:30:00Z","2009-01-09T05:00:00Z","2009-01-09T05:30:00Z","2009-01-09T06:00:00Z","2009-01-09T06:30:00Z","2009-01-09T07:00:00Z","2009-01-09T07:30:00Z","2009-01-09T08:00:00Z","2009-01-09T08:30:00Z","2009-01-09T09:00:00Z","2009-01-09T09:30:00Z","2009-01-09T10:00:00Z","2009-01-09T10:30:00Z","2009-01-09T11:00:00Z","2009-01-09T11:30:00Z","2009-01-09T12:00:00Z","2009-01-09T12:30:00Z","2009-01-09T13:00:00Z","2009-01-09T13:30:00Z","2009-01-09T14:00:00Z","2009-01-09T14:30:00Z","2009-01-09T15:00:00Z","2009-01-09T15:30:00Z","2009-01-09T16:00:00Z","2009-01-09T16:30:00Z","2009-01-09T17:00:00Z","2009-01-09T17:30:00Z","2009-01-09T18:00:00Z","2009-01-09T18:30:00Z","2009-01-09T19:00:00Z","2009-01-09T19:30:00Z","2009-01-09T20:00:00Z","2009-01-09T20:30:00Z","2009-01-09T21:00:00Z","2009-01-09T21:30:00Z","2009-01-09T22:00:00Z","2009-01-09T22:30:00Z","2009-01-09T23:00:00Z","2009-01-09T23:30:00Z","2009-01-10T00:00:00Z","2009-01-10T00:30:00Z","2009-01-10T01:00:00Z","2009-01-10T01:30:00Z","2009-01-10T02:00:00Z","2009-01-10T02:30:00Z","2009-01-10T03:00:00Z","2009-01-10T03:30:00Z","2009-01-10T04:00:00Z","2009-01-10T04:30:00Z","2009-01-10T05:00:00Z","2009-01-10T05:30:00Z","2009-01-10T06:00:00Z","2009-01-10T06:30:00Z","2009-01-10T07:00:00Z","2009-01-10T07:30:00Z","2009-01-10T08:00:00Z","2009-01-10T08:30:00Z","2009-01-10T09:00:00Z","2009-01-10T09:30:00Z","2009-01-10T10:00:00Z","2009-01-10T10:30:00Z","2009-01-10T11:00:00Z","2009-01-10T11:30:00Z","2009-01-10T12:00:00Z","2009-01-10T12:30:00Z","2009-01-10T13:00:00Z","2009-01-10T13:30:00Z","2009-01-10T14:00:00Z","2009-01-10T14:30:00Z","2009-01-10T15:00:00Z","2009-01-10T15:30:00Z","2009-01-10T16:00:00Z","2009-01-10T16:30:00Z","2009-01-10T17:00:00Z","2009-01-10T17:30:00Z","2009-01-10T18:00:00Z","2009-01-10T18:30:00Z","2009-01-10T19:00:00Z","2009-01-10T19:30:00Z","2009-01-10T20:00:00Z","2009-01-10T20:30:00Z","2009-01-10T21:00:00Z","2009-01-10T21:30:00Z","2009-01-10T22:00:00Z","2009-01-10T22:30:00Z","2009-01-10T23:00:00Z","2009-01-10T23:30:00Z","2009-01-11T00:00:00Z","2009-01-11T00:30:00Z","2009-01-11T01:00:00Z","2009-01-11T01:30:00Z","2009-01-11T02:00:00Z","2009-01-11T02:30:00Z","2009-01-11T03:00:00Z","2009-01-11T03:30:00Z","2009-01-11T04:00:00Z","2009-01-11T04:30:00Z","2009-01-11T05:00:00Z","2009-01-11T05:30:00Z","2009-01-11T06:00:00Z","2009-01-11T06:30:00Z","2009-01-11T07:00:00Z","2009-01-11T07:30:00Z","2009-01-11T08:00:00Z","2009-01-11T08:30:00Z","2009-01-11T09:00:00Z","2009-01-11T09:30:00Z","2009-01-11T10:00:00Z","2009-01-11T10:30:00Z","2009-01-11T11:00:00Z","2009-01-11T11:30:00Z","2009-01-11T12:00:00Z","2009-01-11T12:30:00Z","2009-01-11T13:00:00Z","2009-01-11T13:30:00Z","2009-01-11T14:00:00Z","2009-01-11T14:30:00Z","2009-01-11T15:00:00Z","2009-01-11T15:30:00Z","2009-01-11T16:00:00Z","2009-01-11T16:30:00Z","2009-01-11T17:00:00Z","2009-01-11T17:30:00Z","2009-01-11T18:00:00Z","2009-01-11T18:30:00Z","2009-01-11T19:00:00Z","2009-01-11T19:30:00Z","2009-01-11T20:00:00Z","2009-01-11T20:30:00Z","2009-01-11T21:00:00Z","2009-01-11T21:30:00Z","2009-01-11T22:00:00Z","2009-01-11T22:30:00Z","2009-01-11T23:00:00Z","2009-01-11T23:30:00Z","2009-01-12T00:00:00Z","2009-01-12T00:30:00Z","2009-01-12T01:00:00Z","2009-01-12T01:30:00Z","2009-01-12T02:00:00Z","2009-01-12T02:30:00Z","2009-01-12T03:00:00Z","2009-01-12T03:30:00Z","2009-01-12T04:00:00Z","2009-01-12T04:30:00Z","2009-01-12T05:00:00Z","2009-01-12T05:30:00Z","2009-01-12T06:00:00Z","2009-01-12T06:30:00Z","2009-01-12T07:00:00Z","2009-01-12T07:30:00Z","2009-01-12T08:00:00Z","2009-01-12T08:30:00Z","2009-01-12T09:00:00Z","2009-01-12T09:30:00Z","2009-01-12T10:00:00Z","2009-01-12T10:30:00Z","2009-01-12T11:00:00Z","2009-01-12T11:30:00Z","2009-01-12T12:00:00Z","2009-01-12T12:30:00Z","2009-01-12T13:00:00Z","2009-01-12T13:30:00Z","2009-01-12T14:00:00Z","2009-01-12T14:30:00Z","2009-01-12T15:00:00Z","2009-01-12T15:30:00Z","2009-01-12T16:00:00Z","2009-01-12T16:30:00Z","2009-01-12T17:00:00Z","2009-01-12T17:30:00Z","2009-01-12T18:00:00Z","2009-01-12T18:30:00Z","2009-01-12T19:00:00Z","2009-01-12T19:30:00Z","2009-01-12T20:00:00Z","2009-01-12T20:30:00Z","2009-01-12T21:00:00Z","2009-01-12T21:30:00Z","2009-01-12T22:00:00Z","2009-01-12T22:30:00Z","2009-01-12T23:00:00Z","2009-01-12T23:30:00Z","2009-01-13T00:00:00Z","2009-01-13T00:30:00Z","2009-01-13T01:00:00Z","2009-01-13T01:30:00Z","2009-01-13T02:00:00Z","2009-01-13T02:30:00Z","2009-01-13T03:00:00Z","2009-01-13T03:30:00Z","2009-01-13T04:00:00Z","2009-01-13T04:30:00Z","2009-01-13T05:00:00Z","2009-01-13T05:30:00Z","2009-01-13T06:00:00Z","2009-01-13T06:30:00Z","2009-01-13T07:00:00Z","2009-01-13T07:30:00Z","2009-01-13T08:00:00Z","2009-01-13T08:30:00Z","2009-01-13T09:00:00Z","2009-01-13T09:30:00Z","2009-01-13T10:00:00Z","2009-01-13T10:30:00Z","2009-01-13T11:00:00Z","2009-01-13T11:30:00Z","2009-01-13T12:00:00Z","2009-01-13T12:30:00Z","2009-01-13T13:00:00Z","2009-01-13T13:30:00Z","2009-01-13T14:00:00Z","2009-01-13T14:30:00Z","2009-01-13T15:00:00Z","2009-01-13T15:30:00Z","2009-01-13T16:00:00Z","2009-01-13T16:30:00Z","2009-01-13T17:00:00Z","2009-01-13T17:30:00Z","2009-01-13T18:00:00Z","2009-01-13T18:30:00Z","2009-01-13T19:00:00Z","2009-01-13T19:30:00Z","2009-01-13T20:00:00Z","2009-01-13T20:30:00Z","2009-01-13T21:00:00Z","2009-01-13T21:30:00Z","2009-01-13T22:00:00Z","2009-01-13T22:30:00Z","2009-01-13T23:00:00Z","2009-01-13T23:30:00Z","2009-01-14T00:00:00Z","2009-01-14T00:30:00Z","2009-01-14T01:00:00Z","2009-01-14T01:30:00Z","2009-01-14T02:00:00Z","2009-01-14T02:30:00Z","2009-01-14T03:00:00Z","2009-01-14T03:30:00Z","2009-01-14T04:00:00Z","2009-01-14T04:30:00Z","2009-01-14T05:00:00Z","2009-01-14T05:30:00Z","2009-01-14T06:00:00Z","2009-01-14T06:30:00Z","2009-01-14T07:00:00Z","2009-01-14T07:30:00Z","2009-01-14T08:00:00Z","2009-01-14T08:30:00Z","2009-01-14T09:00:00Z","2009-01-14T09:30:00Z","2009-01-14T10:00:00Z","2009-01-14T10:30:00Z","2009-01-14T11:00:00Z","2009-01-14T11:30:00Z","2009-01-14T12:00:00Z","2009-01-14T12:30:00Z","2009-01-14T13:00:00Z","2009-01-14T13:30:00Z","2009-01-14T14:00:00Z","2009-01-14T14:30:00Z","2009-01-14T15:00:00Z","2009-01-14T15:30:00Z","2009-01-14T16:00:00Z","2009-01-14T16:30:00Z","2009-01-14T17:00:00Z","2009-01-14T17:30:00Z","2009-01-14T18:00:00Z","2009-01-14T18:30:00Z","2009-01-14T19:00:00Z","2009-01-14T19:30:00Z","2009-01-14T20:00:00Z","2009-01-14T20:30:00Z","2009-01-14T21:00:00Z","2009-01-14T21:30:00Z","2009-01-14T22:00:00Z","2009-01-14T22:30:00Z","2009-01-14T23:00:00Z","2009-01-14T23:30:00Z","2009-01-15T00:00:00Z","2009-01-15T00:30:00Z","2009-01-15T01:00:00Z","2009-01-15T01:30:00Z","2009-01-15T02:00:00Z","2009-01-15T02:30:00Z","2009-01-15T03:00:00Z","2009-01-15T03:30:00Z","2009-01-15T04:00:00Z","2009-01-15T04:30:00Z","2009-01-15T05:00:00Z","2009-01-15T05:30:00Z","2009-01-15T06:00:00Z","2009-01-15T06:30:00Z","2009-01-15T07:00:00Z","2009-01-15T07:30:00Z","2009-01-15T08:00:00Z","2009-01-15T08:30:00Z","2009-01-15T09:00:00Z","2009-01-15T09:30:00Z","2009-01-15T10:00:00Z","2009-01-15T10:30:00Z","2009-01-15T11:00:00Z","2009-01-15T11:30:00Z","2009-01-15T12:00:00Z","2009-01-15T12:30:00Z","2009-01-15T13:00:00Z","2009-01-15T13:30:00Z","2009-01-15T14:00:00Z","2009-01-15T14:30:00Z","2009-01-15T15:00:00Z","2009-01-15T15:30:00Z","2009-01-15T16:00:00Z","2009-01-15T16:30:00Z","2009-01-15T17:00:00Z","2009-01-15T17:30:00Z","2009-01-15T18:00:00Z","2009-01-15T18:30:00Z","2009-01-15T19:00:00Z","2009-01-15T19:30:00Z","2009-01-15T20:00:00Z","2009-01-15T20:30:00Z","2009-01-15T21:00:00Z","2009-01-15T21:30:00Z","2009-01-15T22:00:00Z","2009-01-15T22:30:00Z","2009-01-15T23:00:00Z","2009-01-15T23:30:00Z","2009-01-16T00:00:00Z","2009-01-16T00:30:00Z","2009-01-16T01:00:00Z","2009-01-16T01:30:00Z","2009-01-16T02:00:00Z","2009-01-16T02:30:00Z","2009-01-16T03:00:00Z","2009-01-16T03:30:00Z","2009-01-16T04:00:00Z","2009-01-16T04:30:00Z","2009-01-16T05:00:00Z","2009-01-16T05:30:00Z","2009-01-16T06:00:00Z","2009-01-16T06:30:00Z","2009-01-16T07:00:00Z","2009-01-16T07:30:00Z","2009-01-16T08:00:00Z","2009-01-16T08:30:00Z","2009-01-16T09:00:00Z","2009-01-16T09:30:00Z","2009-01-16T10:00:00Z","2009-01-16T10:30:00Z","2009-01-16T11:00:00Z","2009-01-16T11:30:00Z","2009-01-16T12:00:00Z","2009-01-16T12:30:00Z","2009-01-16T13:00:00Z","2009-01-16T13:30:00Z","2009-01-16T14:00:00Z","2009-01-16T14:30:00Z","2009-01-16T15:00:00Z","2009-01-16T15:30:00Z","2009-01-16T16:00:00Z","2009-01-16T16:30:00Z","2009-01-16T17:00:00Z","2009-01-16T17:30:00Z","2009-01-16T18:00:00Z","2009-01-16T18:30:00Z","2009-01-16T19:00:00Z","2009-01-16T19:30:00Z","2009-01-16T20:00:00Z","2009-01-16T20:30:00Z","2009-01-16T21:00:00Z","2009-01-16T21:30:00Z","2009-01-16T22:00:00Z","2009-01-16T22:30:00Z","2009-01-16T23:00:00Z","2009-01-16T23:30:00Z","2009-01-17T00:00:00Z","2009-01-17T00:30:00Z","2009-01-17T01:00:00Z","2009-01-17T01:30:00Z","2009-01-17T02:00:00Z","2009-01-17T02:30:00Z","2009-01-17T03:00:00Z","2009-01-17T03:30:00Z","2009-01-17T04:00:00Z","2009-01-17T04:30:00Z","2009-01-17T05:00:00Z","2009-01-17T05:30:00Z","2009-01-17T06:00:00Z","2009-01-17T06:30:00Z","2009-01-17T07:00:00Z","2009-01-17T07:30:00Z","2009-01-17T08:00:00Z","2009-01-17T08:30:00Z","2009-01-17T09:00:00Z","2009-01-17T09:30:00Z","2009-01-17T10:00:00Z","2009-01-17T10:30:00Z","2009-01-17T11:00:00Z","2009-01-17T11:30:00Z","2009-01-17T12:00:00Z","2009-01-17T12:30:00Z","2009-01-17T13:00:00Z","2009-01-17T13:30:00Z","2009-01-17T14:00:00Z","2009-01-17T14:30:00Z","2009-01-17T15:00:00Z","2009-01-17T15:30:00Z","2009-01-17T16:00:00Z","2009-01-17T16:30:00Z","2009-01-17T17:00:00Z","2009-01-17T17:30:00Z","2009-01-17T18:00:00Z","2009-01-17T18:30:00Z","2009-01-17T19:00:00Z","2009-01-17T19:30:00Z","2009-01-17T20:00:00Z","2009-01-17T20:30:00Z","2009-01-17T21:00:00Z","2009-01-17T21:30:00Z","2009-01-17T22:00:00Z","2009-01-17T22:30:00Z","2009-01-17T23:00:00Z","2009-01-17T23:30:00Z","2009-01-18T00:00:00Z","2009-01-18T00:30:00Z","2009-01-18T01:00:00Z","2009-01-18T01:30:00Z","2009-01-18T02:00:00Z","2009-01-18T02:30:00Z","2009-01-18T03:00:00Z","2009-01-18T03:30:00Z","2009-01-18T04:00:00Z","2009-01-18T04:30:00Z","2009-01-18T05:00:00Z","2009-01-18T05:30:00Z","2009-01-18T06:00:00Z","2009-01-18T06:30:00Z","2009-01-18T07:00:00Z","2009-01-18T07:30:00Z","2009-01-18T08:00:00Z","2009-01-18T08:30:00Z","2009-01-18T09:00:00Z","2009-01-18T09:30:00Z","2009-01-18T10:00:00Z","2009-01-18T10:30:00Z","2009-01-18T11:00:00Z","2009-01-18T11:30:00Z","2009-01-18T12:00:00Z","2009-01-18T12:30:00Z","2009-01-18T13:00:00Z","2009-01-18T13:30:00Z","2009-01-18T14:00:00Z","2009-01-18T14:30:00Z","2009-01-18T15:00:00Z","2009-01-18T15:30:00Z","2009-01-18T16:00:00Z","2009-01-18T16:30:00Z","2009-01-18T17:00:00Z","2009-01-18T17:30:00Z","2009-01-18T18:00:00Z","2009-01-18T18:30:00Z","2009-01-18T19:00:00Z","2009-01-18T19:30:00Z","2009-01-18T20:00:00Z","2009-01-18T20:30:00Z","2009-01-18T21:00:00Z","2009-01-18T21:30:00Z","2009-01-18T22:00:00Z","2009-01-18T22:30:00Z","2009-01-18T23:00:00Z","2009-01-18T23:30:00Z","2009-01-19T00:00:00Z","2009-01-19T00:30:00Z","2009-01-19T01:00:00Z","2009-01-19T01:30:00Z","2009-01-19T02:00:00Z","2009-01-19T02:30:00Z","2009-01-19T03:00:00Z","2009-01-19T03:30:00Z","2009-01-19T04:00:00Z","2009-01-19T04:30:00Z","2009-01-19T05:00:00Z","2009-01-19T05:30:00Z","2009-01-19T06:00:00Z","2009-01-19T06:30:00Z","2009-01-19T07:00:00Z","2009-01-19T07:30:00Z","2009-01-19T08:00:00Z","2009-01-19T08:30:00Z","2009-01-19T09:00:00Z","2009-01-19T09:30:00Z","2009-01-19T10:00:00Z","2009-01-19T10:30:00Z","2009-01-19T11:00:00Z","2009-01-19T11:30:00Z","2009-01-19T12:00:00Z","2009-01-19T12:30:00Z","2009-01-19T13:00:00Z","2009-01-19T13:30:00Z","2009-01-19T14:00:00Z","2009-01-19T14:30:00Z","2009-01-19T15:00:00Z","2009-01-19T15:30:00Z","2009-01-19T16:00:00Z","2009-01-19T16:30:00Z","2009-01-19T17:00:00Z","2009-01-19T17:30:00Z","2009-01-19T18:00:00Z","2009-01-19T18:30:00Z","2009-01-19T19:00:00Z","2009-01-19T19:30:00Z","2009-01-19T20:00:00Z","2009-01-19T20:30:00Z","2009-01-19T21:00:00Z","2009-01-19T21:30:00Z","2009-01-19T22:00:00Z","2009-01-19T22:30:00Z","2009-01-19T23:00:00Z","2009-01-19T23:30:00Z","2009-01-20T00:00:00Z","2009-01-20T00:30:00Z","2009-01-20T01:00:00Z","2009-01-20T01:30:00Z","2009-01-20T02:00:00Z","2009-01-20T02:30:00Z","2009-01-20T03:00:00Z","2009-01-20T03:30:00Z","2009-01-20T04:00:00Z","2009-01-20T04:30:00Z","2009-01-20T05:00:00Z","2009-01-20T05:30:00Z","2009-01-20T06:00:00Z","2009-01-20T06:30:00Z","2009-01-20T07:00:00Z","2009-01-20T07:30:00Z","2009-01-20T08:00:00Z","2009-01-20T08:30:00Z","2009-01-20T09:00:00Z","2009-01-20T09:30:00Z","2009-01-20T10:00:00Z","2009-01-20T10:30:00Z","2009-01-20T11:00:00Z","2009-01-20T11:30:00Z","2009-01-20T12:00:00Z","2009-01-20T12:30:00Z","2009-01-20T13:00:00Z","2009-01-20T13:30:00Z","2009-01-20T14:00:00Z","2009-01-20T14:30:00Z","2009-01-20T15:00:00Z","2009-01-20T15:30:00Z","2009-01-20T16:00:00Z","2009-01-20T16:30:00Z","2009-01-20T17:00:00Z","2009-01-20T17:30:00Z","2009-01-20T18:00:00Z","2009-01-20T18:30:00Z","2009-01-20T19:00:00Z","2009-01-20T19:30:00Z","2009-01-20T20:00:00Z","2009-01-20T20:30:00Z","2009-01-20T21:00:00Z","2009-01-20T21:30:00Z","2009-01-20T22:00:00Z","2009-01-20T22:30:00Z","2009-01-20T23:00:00Z","2009-01-20T23:30:00Z","2009-01-21T00:00:00Z","2009-01-21T00:30:00Z","2009-01-21T01:00:00Z","2009-01-21T01:30:00Z","2009-01-21T02:00:00Z","2009-01-21T02:30:00Z","2009-01-21T03:00:00Z","2009-01-21T03:30:00Z","2009-01-21T04:00:00Z","2009-01-21T04:30:00Z","2009-01-21T05:00:00Z","2009-01-21T05:30:00Z","2009-01-21T06:00:00Z","2009-01-21T06:30:00Z","2009-01-21T07:00:00Z","2009-01-21T07:30:00Z","2009-01-21T08:00:00Z","2009-01-21T08:30:00Z","2009-01-21T09:00:00Z","2009-01-21T09:30:00Z","2009-01-21T10:00:00Z","2009-01-21T10:30:00Z","2009-01-21T11:00:00Z","2009-01-21T11:30:00Z","2009-01-21T12:00:00Z","2009-01-21T12:30:00Z","2009-01-21T13:00:00Z","2009-01-21T13:30:00Z","2009-01-21T14:00:00Z","2009-01-21T14:30:00Z","2009-01-21T15:00:00Z","2009-01-21T15:30:00Z","2009-01-21T16:00:00Z","2009-01-21T16:30:00Z","2009-01-21T17:00:00Z","2009-01-21T17:30:00Z","2009-01-21T18:00:00Z","2009-01-21T18:30:00Z","2009-01-21T19:00:00Z","2009-01-21T19:30:00Z","2009-01-21T20:00:00Z","2009-01-21T20:30:00Z","2009-01-21T21:00:00Z","2009-01-21T21:30:00Z","2009-01-21T22:00:00Z","2009-01-21T22:30:00Z","2009-01-21T23:00:00Z","2009-01-21T23:30:00Z","2009-01-22T00:00:00Z","2009-01-22T00:30:00Z","2009-01-22T01:00:00Z","2009-01-22T01:30:00Z","2009-01-22T02:00:00Z","2009-01-22T02:30:00Z","2009-01-22T03:00:00Z","2009-01-22T03:30:00Z","2009-01-22T04:00:00Z","2009-01-22T04:30:00Z","2009-01-22T05:00:00Z","2009-01-22T05:30:00Z","2009-01-22T06:00:00Z","2009-01-22T06:30:00Z","2009-01-22T07:00:00Z","2009-01-22T07:30:00Z","2009-01-22T08:00:00Z","2009-01-22T08:30:00Z","2009-01-22T09:00:00Z","2009-01-22T09:30:00Z","2009-01-22T10:00:00Z","2009-01-22T10:30:00Z","2009-01-22T11:00:00Z","2009-01-22T11:30:00Z","2009-01-22T12:00:00Z","2009-01-22T12:30:00Z","2009-01-22T13:00:00Z","2009-01-22T13:30:00Z","2009-01-22T14:00:00Z","2009-01-22T14:30:00Z","2009-01-22T15:00:00Z","2009-01-22T15:30:00Z","2009-01-22T16:00:00Z","2009-01-22T16:30:00Z","2009-01-22T17:00:00Z","2009-01-22T17:30:00Z","2009-01-22T18:00:00Z","2009-01-22T18:30:00Z","2009-01-22T19:00:00Z","2009-01-22T19:30:00Z","2009-01-22T20:00:00Z","2009-01-22T20:30:00Z","2009-01-22T21:00:00Z","2009-01-22T21:30:00Z","2009-01-22T22:00:00Z","2009-01-22T22:30:00Z","2009-01-22T23:00:00Z","2009-01-22T23:30:00Z","2009-01-23T00:00:00Z","2009-01-23T00:30:00Z","2009-01-23T01:00:00Z","2009-01-23T01:30:00Z","2009-01-23T02:00:00Z","2009-01-23T02:30:00Z","2009-01-23T03:00:00Z","2009-01-23T03:30:00Z","2009-01-23T04:00:00Z","2009-01-23T04:30:00Z","2009-01-23T05:00:00Z","2009-01-23T05:30:00Z","2009-01-23T06:00:00Z","2009-01-23T06:30:00Z","2009-01-23T07:00:00Z","2009-01-23T07:30:00Z","2009-01-23T08:00:00Z","2009-01-23T08:30:00Z","2009-01-23T09:00:00Z","2009-01-23T09:30:00Z","2009-01-23T10:00:00Z","2009-01-23T10:30:00Z","2009-01-23T11:00:00Z","2009-01-23T11:30:00Z","2009-01-23T12:00:00Z","2009-01-23T12:30:00Z","2009-01-23T13:00:00Z","2009-01-23T13:30:00Z","2009-01-23T14:00:00Z","2009-01-23T14:30:00Z","2009-01-23T15:00:00Z","2009-01-23T15:30:00Z","2009-01-23T16:00:00Z","2009-01-23T16:30:00Z","2009-01-23T17:00:00Z","2009-01-23T17:30:00Z","2009-01-23T18:00:00Z","2009-01-23T18:30:00Z","2009-01-23T19:00:00Z","2009-01-23T19:30:00Z","2009-01-23T20:00:00Z","2009-01-23T20:30:00Z","2009-01-23T21:00:00Z","2009-01-23T21:30:00Z","2009-01-23T22:00:00Z","2009-01-23T22:30:00Z","2009-01-23T23:00:00Z","2009-01-23T23:30:00Z","2009-01-24T00:00:00Z","2009-01-24T00:30:00Z","2009-01-24T01:00:00Z","2009-01-24T01:30:00Z","2009-01-24T02:00:00Z","2009-01-24T02:30:00Z","2009-01-24T03:00:00Z","2009-01-24T03:30:00Z","2009-01-24T04:00:00Z","2009-01-24T04:30:00Z","2009-01-24T05:00:00Z","2009-01-24T05:30:00Z","2009-01-24T06:00:00Z","2009-01-24T06:30:00Z","2009-01-24T07:00:00Z","2009-01-24T07:30:00Z","2009-01-24T08:00:00Z","2009-01-24T08:30:00Z","2009-01-24T09:00:00Z","2009-01-24T09:30:00Z","2009-01-24T10:00:00Z","2009-01-24T10:30:00Z","2009-01-24T11:00:00Z","2009-01-24T11:30:00Z","2009-01-24T12:00:00Z","2009-01-24T12:30:00Z","2009-01-24T13:00:00Z","2009-01-24T13:30:00Z","2009-01-24T14:00:00Z","2009-01-24T14:30:00Z","2009-01-24T15:00:00Z","2009-01-24T15:30:00Z","2009-01-24T16:00:00Z","2009-01-24T16:30:00Z","2009-01-24T17:00:00Z","2009-01-24T17:30:00Z","2009-01-24T18:00:00Z","2009-01-24T18:30:00Z","2009-01-24T19:00:00Z","2009-01-24T19:30:00Z","2009-01-24T20:00:00Z","2009-01-24T20:30:00Z","2009-01-24T21:00:00Z","2009-01-24T21:30:00Z","2009-01-24T22:00:00Z","2009-01-24T22:30:00Z","2009-01-24T23:00:00Z","2009-01-24T23:30:00Z","2009-01-25T00:00:00Z","2009-01-25T00:30:00Z","2009-01-25T01:00:00Z","2009-01-25T01:30:00Z","2009-01-25T02:00:00Z","2009-01-25T02:30:00Z","2009-01-25T03:00:00Z","2009-01-25T03:30:00Z","2009-01-25T04:00:00Z","2009-01-25T04:30:00Z","2009-01-25T05:00:00Z","2009-01-25T05:30:00Z","2009-01-25T06:00:00Z","2009-01-25T06:30:00Z","2009-01-25T07:00:00Z","2009-01-25T07:30:00Z","2009-01-25T08:00:00Z","2009-01-25T08:30:00Z","2009-01-25T09:00:00Z","2009-01-25T09:30:00Z","2009-01-25T10:00:00Z","2009-01-25T10:30:00Z","2009-01-25T11:00:00Z","2009-01-25T11:30:00Z","2009-01-25T12:00:00Z","2009-01-25T12:30:00Z","2009-01-25T13:00:00Z","2009-01-25T13:30:00Z","2009-01-25T14:00:00Z","2009-01-25T14:30:00Z","2009-01-25T15:00:00Z","2009-01-25T15:30:00Z","2009-01-25T16:00:00Z","2009-01-25T16:30:00Z","2009-01-25T17:00:00Z","2009-01-25T17:30:00Z","2009-01-25T18:00:00Z","2009-01-25T18:30:00Z","2009-01-25T19:00:00Z","2009-01-25T19:30:00Z","2009-01-25T20:00:00Z","2009-01-25T20:30:00Z","2009-01-25T21:00:00Z","2009-01-25T21:30:00Z","2009-01-25T22:00:00Z","2009-01-25T22:30:00Z","2009-01-25T23:00:00Z","2009-01-25T23:30:00Z","2009-01-26T00:00:00Z","2009-01-26T00:30:00Z","2009-01-26T01:00:00Z","2009-01-26T01:30:00Z","2009-01-26T02:00:00Z","2009-01-26T02:30:00Z","2009-01-26T03:00:00Z","2009-01-26T03:30:00Z","2009-01-26T04:00:00Z","2009-01-26T04:30:00Z","2009-01-26T05:00:00Z","2009-01-26T05:30:00Z","2009-01-26T06:00:00Z","2009-01-26T06:30:00Z","2009-01-26T07:00:00Z","2009-01-26T07:30:00Z","2009-01-26T08:00:00Z","2009-01-26T08:30:00Z","2009-01-26T09:00:00Z","2009-01-26T09:30:00Z","2009-01-26T10:00:00Z","2009-01-26T10:30:00Z","2009-01-26T11:00:00Z","2009-01-26T11:30:00Z","2009-01-26T12:00:00Z","2009-01-26T12:30:00Z","2009-01-26T13:00:00Z","2009-01-26T13:30:00Z","2009-01-26T14:00:00Z","2009-01-26T14:30:00Z","2009-01-26T15:00:00Z","2009-01-26T15:30:00Z","2009-01-26T16:00:00Z","2009-01-26T16:30:00Z","2009-01-26T17:00:00Z","2009-01-26T17:30:00Z","2009-01-26T18:00:00Z","2009-01-26T18:30:00Z","2009-01-26T19:00:00Z","2009-01-26T19:30:00Z","2009-01-26T20:00:00Z","2009-01-26T20:30:00Z","2009-01-26T21:00:00Z","2009-01-26T21:30:00Z","2009-01-26T22:00:00Z","2009-01-26T22:30:00Z","2009-01-26T23:00:00Z","2009-01-26T23:30:00Z","2009-01-27T00:00:00Z","2009-01-27T00:30:00Z","2009-01-27T01:00:00Z","2009-01-27T01:30:00Z","2009-01-27T02:00:00Z","2009-01-27T02:30:00Z","2009-01-27T03:00:00Z","2009-01-27T03:30:00Z","2009-01-27T04:00:00Z","2009-01-27T04:30:00Z","2009-01-27T05:00:00Z","2009-01-27T05:30:00Z","2009-01-27T06:00:00Z","2009-01-27T06:30:00Z","2009-01-27T07:00:00Z","2009-01-27T07:30:00Z","2009-01-27T08:00:00Z","2009-01-27T08:30:00Z","2009-01-27T09:00:00Z","2009-01-27T09:30:00Z","2009-01-27T10:00:00Z","2009-01-27T10:30:00Z","2009-01-27T11:00:00Z","2009-01-27T11:30:00Z","2009-01-27T12:00:00Z","2009-01-27T12:30:00Z","2009-01-27T13:00:00Z","2009-01-27T13:30:00Z","2009-01-27T14:00:00Z","2009-01-27T14:30:00Z","2009-01-27T15:00:00Z","2009-01-27T15:30:00Z","2009-01-27T16:00:00Z","2009-01-27T16:30:00Z","2009-01-27T17:00:00Z","2009-01-27T17:30:00Z","2009-01-27T18:00:00Z","2009-01-27T18:30:00Z","2009-01-27T19:00:00Z","2009-01-27T19:30:00Z","2009-01-27T20:00:00Z","2009-01-27T20:30:00Z","2009-01-27T21:00:00Z","2009-01-27T21:30:00Z","2009-01-27T22:00:00Z","2009-01-27T22:30:00Z","2009-01-27T23:00:00Z","2009-01-27T23:30:00Z","2009-01-28T00:00:00Z","2009-01-28T00:30:00Z","2009-01-28T01:00:00Z","2009-01-28T01:30:00Z","2009-01-28T02:00:00Z","2009-01-28T02:30:00Z","2009-01-28T03:00:00Z","2009-01-28T03:30:00Z","2009-01-28T04:00:00Z","2009-01-28T04:30:00Z","2009-01-28T05:00:00Z","2009-01-28T05:30:00Z","2009-01-28T06:00:00Z","2009-01-28T06:30:00Z","2009-01-28T07:00:00Z","2009-01-28T07:30:00Z","2009-01-28T08:00:00Z","2009-01-28T08:30:00Z","2009-01-28T09:00:00Z","2009-01-28T09:30:00Z","2009-01-28T10:00:00Z","2009-01-28T10:30:00Z","2009-01-28T11:00:00Z","2009-01-28T11:30:00Z","2009-01-28T12:00:00Z","2009-01-28T12:30:00Z","2009-01-28T13:00:00Z","2009-01-28T13:30:00Z","2009-01-28T14:00:00Z","2009-01-28T14:30:00Z","2009-01-28T15:00:00Z","2009-01-28T15:30:00Z","2009-01-28T16:00:00Z","2009-01-28T16:30:00Z","2009-01-28T17:00:00Z","2009-01-28T17:30:00Z","2009-01-28T18:00:00Z","2009-01-28T18:30:00Z","2009-01-28T19:00:00Z","2009-01-28T19:30:00Z","2009-01-28T20:00:00Z","2009-01-28T20:30:00Z","2009-01-28T21:00:00Z","2009-01-28T21:30:00Z","2009-01-28T22:00:00Z","2009-01-28T22:30:00Z","2009-01-28T23:00:00Z","2009-01-28T23:30:00Z","2009-01-29T00:00:00Z","2009-01-29T00:30:00Z","2009-01-29T01:00:00Z","2009-01-29T01:30:00Z","2009-01-29T02:00:00Z","2009-01-29T02:30:00Z","2009-01-29T03:00:00Z","2009-01-29T03:30:00Z","2009-01-29T04:00:00Z","2009-01-29T04:30:00Z","2009-01-29T05:00:00Z","2009-01-29T05:30:00Z","2009-01-29T06:00:00Z","2009-01-29T06:30:00Z","2009-01-29T07:00:00Z","2009-01-29T07:30:00Z","2009-01-29T08:00:00Z","2009-01-29T08:30:00Z","2009-01-29T09:00:00Z","2009-01-29T09:30:00Z","2009-01-29T10:00:00Z","2009-01-29T10:30:00Z","2009-01-29T11:00:00Z","2009-01-29T11:30:00Z","2009-01-29T12:00:00Z","2009-01-29T12:30:00Z","2009-01-29T13:00:00Z","2009-01-29T13:30:00Z","2009-01-29T14:00:00Z","2009-01-29T14:30:00Z","2009-01-29T15:00:00Z","2009-01-29T15:30:00Z","2009-01-29T16:00:00Z","2009-01-29T16:30:00Z","2009-01-29T17:00:00Z","2009-01-29T17:30:00Z","2009-01-29T18:00:00Z","2009-01-29T18:30:00Z","2009-01-29T19:00:00Z","2009-01-29T19:30:00Z","2009-01-29T20:00:00Z","2009-01-29T20:30:00Z","2009-01-29T21:00:00Z","2009-01-29T21:30:00Z","2009-01-29T22:00:00Z","2009-01-29T22:30:00Z","2009-01-29T23:00:00Z","2009-01-29T23:30:00Z","2009-01-30T00:00:00Z","2009-01-30T00:30:00Z","2009-01-30T01:00:00Z","2009-01-30T01:30:00Z","2009-01-30T02:00:00Z","2009-01-30T02:30:00Z","2009-01-30T03:00:00Z","2009-01-30T03:30:00Z","2009-01-30T04:00:00Z","2009-01-30T04:30:00Z","2009-01-30T05:00:00Z","2009-01-30T05:30:00Z","2009-01-30T06:00:00Z","2009-01-30T06:30:00Z","2009-01-30T07:00:00Z","2009-01-30T07:30:00Z","2009-01-30T08:00:00Z","2009-01-30T08:30:00Z","2009-01-30T09:00:00Z","2009-01-30T09:30:00Z","2009-01-30T10:00:00Z","2009-01-30T10:30:00Z","2009-01-30T11:00:00Z","2009-01-30T11:30:00Z","2009-01-30T12:00:00Z","2009-01-30T12:30:00Z","2009-01-30T13:00:00Z","2009-01-30T13:30:00Z","2009-01-30T14:00:00Z","2009-01-30T14:30:00Z","2009-01-30T15:00:00Z","2009-01-30T15:30:00Z","2009-01-30T16:00:00Z","2009-01-30T16:30:00Z","2009-01-30T17:00:00Z","2009-01-30T17:30:00Z","2009-01-30T18:00:00Z","2009-01-30T18:30:00Z","2009-01-30T19:00:00Z","2009-01-30T19:30:00Z","2009-01-30T20:00:00Z","2009-01-30T20:30:00Z","2009-01-30T21:00:00Z","2009-01-30T21:30:00Z","2009-01-30T22:00:00Z","2009-01-30T22:30:00Z","2009-01-30T23:00:00Z","2009-01-30T23:30:00Z","2009-01-31T00:00:00Z","2009-01-31T00:30:00Z","2009-01-31T01:00:00Z","2009-01-31T01:30:00Z","2009-01-31T02:00:00Z","2009-01-31T02:30:00Z","2009-01-31T03:00:00Z","2009-01-31T03:30:00Z","2009-01-31T04:00:00Z","2009-01-31T04:30:00Z","2009-01-31T05:00:00Z","2009-01-31T05:30:00Z","2009-01-31T06:00:00Z","2009-01-31T06:30:00Z","2009-01-31T07:00:00Z","2009-01-31T07:30:00Z","2009-01-31T08:00:00Z","2009-01-31T08:30:00Z","2009-01-31T09:00:00Z","2009-01-31T09:30:00Z","2009-01-31T10:00:00Z","2009-01-31T10:30:00Z","2009-01-31T11:00:00Z","2009-01-31T11:30:00Z","2009-01-31T12:00:00Z","2009-01-31T12:30:00Z","2009-01-31T13:00:00Z","2009-01-31T13:30:00Z","2009-01-31T14:00:00Z","2009-01-31T14:30:00Z","2009-01-31T15:00:00Z","2009-01-31T15:30:00Z","2009-01-31T16:00:00Z","2009-01-31T16:30:00Z","2009-01-31T17:00:00Z","2009-01-31T17:30:00Z","2009-01-31T18:00:00Z","2009-01-31T18:30:00Z","2009-01-31T19:00:00Z","2009-01-31T19:30:00Z","2009-01-31T20:00:00Z","2009-01-31T20:30:00Z","2009-01-31T21:00:00Z","2009-01-31T21:30:00Z","2009-01-31T22:00:00Z","2009-01-31T22:30:00Z","2009-01-31T23:00:00Z","2009-01-31T23:30:00Z","2009-02-01T00:00:00Z"],"ap30":[6.0,6.0,5.0,9.0,5.0,5.0,4.0,5.0,15.0,15.0,12.0,7.0,9.0,12.0,15.0,22.0,15.0,9.0,7.0,6.0,6.0,5.0,7.0,9.0,12.0,7.0,5.0,7.0,5.0,3.0,4.0,9.0,9.0,5.0,4.0,4.0,3.0,2.0,4.0,4.0,3.0,3.0,4.0,3.0,9.0,9.0,5.0,5.0,6.0,3.0,4.0,3.0,3.0,3.0,2.0,3.0,5.0,3.0,3.0,3.0,2.0,0.0,2.0,2.0,2.0,0.0,0.0,3.0,0.0,2.0,2.0,3.0,2.0,3.0,2.0,3.0,4.0,5.0,5.0,6.0,4.0,4.0,7.0,6.0,5.0,6.0,9.0,12.0,6.0,6.0,7.0,18.0,18.0,9.0,12.0,7.0,12.0,7.0,7.0,9.0,12.0,15.0,27.0,15.0,12.0,12.0,15.0,18.0,12.0,15.0,5.0,9.0,9.0,18.0,39.0,27.0,27.0,22.0,15.0,18.0,12.0,7.0,7.0,6.0,7.0,5.0,12.0,6.0,5.0,12.0,12.0,12.0,5.0,4.0,3.0,4.0,3.0,3.0,5.0,9.0,9.0,9.0,6.0,6.0,7.0,5.0,6.0,15.0,9.0,4.0,2.0,0.0,3.0,4.0,6.0,5.0,4.0,5.0,4.0,0.0,3.0,3.0,3.0,3.0,6.0,5.0,6.0,4.0,3.0,3.0,2.0,2.0,2.0,3.0,5.0,5.0,5.0,6.0,7.0,9.0,6.0,5.0,5.0,4.0,3.0,4.0,2.0,4.0,2.0,2.0,3.0,4.0,5.0,4.0,2.0,4.0,3.0,5.0,9.0,7.0,4.0,2.0,0.0,0.0,3.0,3.0,2.0,2.0,5.0,6.0,5.0,5.0,5.0,5.0,4.0,2.0,5.0,6.0,4.0,4.0,4.0,4.0,9.0,7.0,9.0,4.0,5.0,7.0,7.0,5.0,3.0,4.0,4.0,4.0,12.0,9.0,6.0,6.0,4.0,4.0,2.0,2.0,2.0,4.0,12.0,12.0,9.0,7.0,4.0,5.0,3.0,5.0,3.0,2.0,4.0,4.0,3.0,2.0,2.0,3.0,6.0,5.0,5.0,5.0,4.0,4.0,3.0,2.0,3.0,4.0,7.0,9.0,6.0,3.0,4.0,3.0,0.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,0.0,3.0,3.0,2.0,2.0,3.0,2.0,2.0,3.0,4.0,4.0,3.0,3.0,3.0,2.0,3.0,4.0,5.0,5.0,5.0,3.0,2.0,2.0,3.0,3.0,3.0,2.0,3.0,2.0,2.0,0.0,0.0,0.0,3.0,4.0,3.0,4.0,3.0,2.0,2.0,0.0,2.0,0.0,0.0,0.0,3.0,3.0,5.0,4.0,5.0,5.0,3.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,2.0,4.0,5.0,3.0,3.0,2.0,3.0,3.0,4.0,3.0,4.0,9.0,9.0,7.0,5.0,4.0,6.0,5.0,6.0,6.0,6.0,5.0,2.0,5.0,5.0,6.0,3.0,3.0,7.0,4.0,4.0,4.0,6.0,6.0,9.0,7.0,5.0,6.0,4.0,7.0,4.0,5.0,5.0,3.0,9.0,5.0,4.0,4.0,3.0,5.0,5.0,4.0,3.0,3.0,3.0,3.0,3.0,4.0,7.0,12.0,15.0,6.0,4.0,5.0,3.0,5.0,6.0,3.0,15.0,12.0,5.0,4.0,4.0,6.0,6.0,7.0,5.0,5.0,4.0,3.0,3.0,6.0,7.0,12.0,15.0,15.0,15.0,12.0,9.0,7.0,9.0,7.0,9.0,12.0,4.0,2.0,6.0,3.0,4.0,3.0,3.0,4.0,6.0,6.0,5.0,6.0,2.0,0.0,0.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,4.0,3.0,0.0,2.0,2.0,3.0,3.0,2.0,4.0,5.0,3.0,4.0,5.0,4.0,4.0,4.0,7.0,6.0,3.0,0.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,2.0,0.0,2.0,5.0,4.0,2.0,2.0,2.0,0.0,0.0,0.0,0.0,2.0,2.0,3.0,3.0,3.0,3.0,0.0,2.0,2.0,0.0,0.0,0.0,2.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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.0,2.0,2.0,0.0,0.0,2.0,0.0,0.0,0.0,0.0,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.0,3.0,2.0,3.0,3.0,0.0,3.0,2.0,0.0,0.0,2.0,2.0,2.0,2.0,5.0,6.0,5.0,9.0,9.0,7.0,5.0,6.0,6.0,7.0,7.0,6.0,6.0,3.0,2.0,0.0,0.0,2.0,0.0,0.0,2.0,3.0,6.0,3.0,3.0,3.0,6.0,5.0,4.0,3.0,3.0,5.0,5.0,5.0,3.0,5.0,4.0,6.0,6.0,5.0,7.0,6.0,4.0,3.0,3.0,2.0,4.0,18.0,12.0,7.0,6.0,9.0,12.0,7.0,6.0,7.0,7.0,5.0,6.0,5.0,4.0,5.0,4.0,6.0,4.0,4.0,5.0,7.0,9.0,7.0,7.0,15.0,15.0,12.0,6.0,4.0,4.0,2.0,4.0,4.0,4.0,9.0,7.0,2.0,3.0,4.0,4.0,5.0,5.0,3.0,4.0,6.0,6.0,7.0,7.0,7.0,4.0,6.0,4.0,9.0,9.0,6.0,6.0,5.0,5.0,6.0,6.0,5.0,5.0,6.0,4.0,4.0,4.0,6.0,6.0,5.0,4.0,4.0,4.0,3.0,2.0,2.0,2.0,4.0,4.0,4.0,5.0,4.0,6.0,12.0,9.0,5.0,9.0,9.0,12.0,9.0,9.0,9.0,15.0,12.0,6.0,6.0,7.0,7.0,9.0,12.0,7.0,18.0,5.0,4.0,4.0,5.0,4.0,4.0,3.0,0.0,2.0,3.0,3.0,0.0,0.0,3.0,6.0,3.0,4.0,6.0,2.0,2.0,2.0,3.0,3.0,3.0,3.0,3.0,4.0,3.0,5.0,6.0,5.0,3.0,4.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,4.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,0.0,2.0,3.0,6.0,5.0,4.0,4.0,3.0,2.0,3.0,2.0,2.0,3.0,3.0,4.0,3.0,2.0,2.0,3.0,4.0,3.0,2.0,2.0,2.0,3.0,3.0,5.0,5.0,3.0,3.0,5.0,5.0,5.0,3.0,3.0,3.0,2.0,2.0,3.0,3.0,2.0,0.0,2.0,0.0,4.0,3.0,4.0,0.0,0.0,2.0,0.0,2.0,2.0,2.0,3.0,2.0,3.0,2.0,2.0,2.0,3.0,4.0,7.0,5.0,4.0,3.0,2.0,2.0,0.0,0.0,3.0,0.0,3.0,2.0,3.0,4.0,2.0,4.0,4.0,4.0,4.0,5.0,3.0,2.0,4.0,5.0,5.0,9.0,6.0,9.0,15.0,18.0,48.0,56.0,22.0,15.0,6.0,5.0,4.0,6.0,12.0,15.0,12.0,6.0,3.0,3.0,5.0,4.0,3.0,4.0,3.0,3.0,6.0,3.0,2.0,6.0,4.0,3.0,7.0,5.0,6.0,7.0,7.0,7.0,9.0,6.0,6.0,6.0,9.0,7.0,7.0,15.0,9.0,9.0,6.0,6.0,15.0,9.0,7.0,5.0,7.0,6.0,7.0,3.0,0.0,3.0,6.0,4.0,4.0,3.0,4.0,4.0,6.0,2.0,4.0,3.0,2.0,3.0,4.0,3.0,2.0,3.0,4.0,2.0,0.0,2.0,0.0,2.0,0.0,0.0,2.0,4.0,4.0,4.0,4.0,5.0,9.0,7.0,5.0,4.0,6.0,5.0,4.0,3.0,3.0,4.0,3.0,2.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,2.0,3.0,3.0,5.0,4.0,4.0,5.0,4.0,5.0,2.0,2.0,2.0,2.0,3.0,5.0,4.0,3.0,5.0,7.0,5.0,7.0,7.0,6.0,4.0,5.0,7.0,5.0,3.0,4.0,3.0,3.0,3.0,5.0,5.0,3.0,0.0,0.0,0.0,2.0,0.0,0.0,3.0,0.0,3.0,2.0,4.0,3.0,0.0,0.0,2.0,4.0,2.0,4.0,2.0,2.0,3.0,2.0,2.0,2.0,4.0,3.0,2.0,3.0,3.0,0.0,0.0,2.0,3.0,4.0,3.0,5.0,3.0,4.0,4.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,3.0,4.0,2.0,2.0,2.0,0.0,0.0,2.0,3.0,4.0,3.0,4.0,3.0,2.0,3.0,2.0,0.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,4.0,3.0,4.0,3.0,2.0,2.0,0.0,0.0,0.0,2.0,7.0,9.0,2.0,3.0,3.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,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.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,3.0,0.0,0.0,2.0,3.0,3.0,5.0,3.0,4.0,6.0,6.0,5.0,3.0,2.0,3.0,3.0,2.0,2.0,2.0,3.0,0.0,0.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,2.0,5.0,2.0,3.0,2.0,3.0,3.0,2.0,2.0,2.0,0.0,2.0,0.0,0.0,2.0,0.0,0.0,2.0,4.0,2.0,4.0,15.0,15.0,6.0,9.0,27.0,27.0,15.0,15.0,9.0,6.0,5.0,5.0,18.0,12.0,7.0,12.0,6.0,6.0,7.0,18.0,15.0,15.0,15.0,6.0,9.0,12.0,9.0,9.0,7.0,15.0,22.0,22.0,18.0,15.0,15.0,18.0,18.0,15.0,18.0,12.0,9.0,9.0,6.0,5.0,3.0,2.0,2.0,2.0,3.0,2.0,2.0,2.0,3.0,3.0,4.0,4.0,2.0,0.0,0.0,4.0,5.0,5.0,6.0,5.0,3.0,3.0,0.0,2.0,0.0,3.0,2.0,0.0,5.0,4.0,3.0,2.0,2.0,2.0,4.0,3.0,3.0,2.0,4.0,4.0,5.0,6.0,5.0,5.0,4.0,5.0,5.0,6.0,7.0,9.0,9.0,6.0,5.0,4.0,2.0,3.0,2.0,0.0,0.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,2.0,0.0,0.0,0.0,2.0,5.0,3.0,4.0,4.0,3.0,3.0,3.0,3.0,2.0,2.0,2.0,6.0,2.0,0.0,0.0,0.0,0.0,2.0,3.0,2.0,2.0,3.0,3.0,7.0,6.0,3.0,5.0,3.0,4.0,2.0,2.0,0.0,3.0,0.0,0.0,5.0,2.0,5.0,9.0,9.0,7.0,9.0,18.0,18.0,12.0,9.0,9.0,4.0,5.0,6.0,6.0,4.0,3.0,6.0,3.0,9.0,3.0,2.0,3.0,2.0,0.0,2.0,3.0,2.0,3.0,3.0,4.0,5.0,0.0,0.0,0.0,0.0,3.0,0.0,0.0,2.0,2.0,2.0,0.0,0.0,0.0,2.0,4.0,6.0,5.0,5.0,7.0,5.0,3.0,2.0,4.0,3.0,2.0,3.0,2.0,4.0,4.0,6.0,5.0,5.0,4.0,2.0,2.0,2.0,3.0,2.0,3.0,3.0,3.0,3.0,0.0,4.0,3.0,4.0,4.0,4.0,7.0,7.0,5.0,6.0,18.0,9.0,7.0,7.0,7.0,9.0,6.0,3.0,4.0,4.0,5.0,5.0,5.0,5.0,5.0,7.0,7.0,9.0,5.0,7.0,5.0,15.0,18.0,7.0,9.0,5.0,5.0,6.0,9.0,18.0,15.0,9.0,18.0,7.0,12.0,6.0,4.0,4.0,7.0,4.0,7.0,12.0,9.0,5.0,7.0,6.0,4.0,4.0,5.0,12.0,12.0,7.0,7.0,6.0]} diff --git a/GeospaceDataManagement/tests/test_data/ap60_2009-01.txt b/GeospaceDataManagement/tests/test_data/ap60_2009-01.txt new file mode 100644 index 0000000..5c27871 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/ap60_2009-01.txt @@ -0,0 +1 @@ +{"meta":{"source":"GFZ Potsdam","license":"CC BY 4.0"},"datetime":["2009-01-01T00:00:00Z","2009-01-01T01:00:00Z","2009-01-01T02:00:00Z","2009-01-01T03:00:00Z","2009-01-01T04:00:00Z","2009-01-01T05:00:00Z","2009-01-01T06:00:00Z","2009-01-01T07:00:00Z","2009-01-01T08:00:00Z","2009-01-01T09:00:00Z","2009-01-01T10:00:00Z","2009-01-01T11:00:00Z","2009-01-01T12:00:00Z","2009-01-01T13:00:00Z","2009-01-01T14:00:00Z","2009-01-01T15:00:00Z","2009-01-01T16:00:00Z","2009-01-01T17:00:00Z","2009-01-01T18:00:00Z","2009-01-01T19:00:00Z","2009-01-01T20:00:00Z","2009-01-01T21:00:00Z","2009-01-01T22:00:00Z","2009-01-01T23:00:00Z","2009-01-02T00:00:00Z","2009-01-02T01:00:00Z","2009-01-02T02:00:00Z","2009-01-02T03:00:00Z","2009-01-02T04:00:00Z","2009-01-02T05:00:00Z","2009-01-02T06:00:00Z","2009-01-02T07:00:00Z","2009-01-02T08:00:00Z","2009-01-02T09:00:00Z","2009-01-02T10:00:00Z","2009-01-02T11:00:00Z","2009-01-02T12:00:00Z","2009-01-02T13:00:00Z","2009-01-02T14:00:00Z","2009-01-02T15:00:00Z","2009-01-02T16:00:00Z","2009-01-02T17:00:00Z","2009-01-02T18:00:00Z","2009-01-02T19:00:00Z","2009-01-02T20:00:00Z","2009-01-02T21:00:00Z","2009-01-02T22:00:00Z","2009-01-02T23:00:00Z","2009-01-03T00:00:00Z","2009-01-03T01:00:00Z","2009-01-03T02:00:00Z","2009-01-03T03:00:00Z","2009-01-03T04:00:00Z","2009-01-03T05:00:00Z","2009-01-03T06:00:00Z","2009-01-03T07:00:00Z","2009-01-03T08:00:00Z","2009-01-03T09:00:00Z","2009-01-03T10:00:00Z","2009-01-03T11:00:00Z","2009-01-03T12:00:00Z","2009-01-03T13:00:00Z","2009-01-03T14:00:00Z","2009-01-03T15:00:00Z","2009-01-03T16:00:00Z","2009-01-03T17:00:00Z","2009-01-03T18:00:00Z","2009-01-03T19:00:00Z","2009-01-03T20:00:00Z","2009-01-03T21:00:00Z","2009-01-03T22:00:00Z","2009-01-03T23:00:00Z","2009-01-04T00:00:00Z","2009-01-04T01:00:00Z","2009-01-04T02:00:00Z","2009-01-04T03:00:00Z","2009-01-04T04:00:00Z","2009-01-04T05:00:00Z","2009-01-04T06:00:00Z","2009-01-04T07:00:00Z","2009-01-04T08:00:00Z","2009-01-04T09:00:00Z","2009-01-04T10:00:00Z","2009-01-04T11:00:00Z","2009-01-04T12:00:00Z","2009-01-04T13:00:00Z","2009-01-04T14:00:00Z","2009-01-04T15:00:00Z","2009-01-04T16:00:00Z","2009-01-04T17:00:00Z","2009-01-04T18:00:00Z","2009-01-04T19:00:00Z","2009-01-04T20:00:00Z","2009-01-04T21:00:00Z","2009-01-04T22:00:00Z","2009-01-04T23:00:00Z","2009-01-05T00:00:00Z","2009-01-05T01:00:00Z","2009-01-05T02:00:00Z","2009-01-05T03:00:00Z","2009-01-05T04:00:00Z","2009-01-05T05:00:00Z","2009-01-05T06:00:00Z","2009-01-05T07:00:00Z","2009-01-05T08:00:00Z","2009-01-05T09:00:00Z","2009-01-05T10:00:00Z","2009-01-05T11:00:00Z","2009-01-05T12:00:00Z","2009-01-05T13:00:00Z","2009-01-05T14:00:00Z","2009-01-05T15:00:00Z","2009-01-05T16:00:00Z","2009-01-05T17:00:00Z","2009-01-05T18:00:00Z","2009-01-05T19:00:00Z","2009-01-05T20:00:00Z","2009-01-05T21:00:00Z","2009-01-05T22:00:00Z","2009-01-05T23:00:00Z","2009-01-06T00:00:00Z","2009-01-06T01:00:00Z","2009-01-06T02:00:00Z","2009-01-06T03:00:00Z","2009-01-06T04:00:00Z","2009-01-06T05:00:00Z","2009-01-06T06:00:00Z","2009-01-06T07:00:00Z","2009-01-06T08:00:00Z","2009-01-06T09:00:00Z","2009-01-06T10:00:00Z","2009-01-06T11:00:00Z","2009-01-06T12:00:00Z","2009-01-06T13:00:00Z","2009-01-06T14:00:00Z","2009-01-06T15:00:00Z","2009-01-06T16:00:00Z","2009-01-06T17:00:00Z","2009-01-06T18:00:00Z","2009-01-06T19:00:00Z","2009-01-06T20:00:00Z","2009-01-06T21:00:00Z","2009-01-06T22:00:00Z","2009-01-06T23:00:00Z","2009-01-07T00:00:00Z","2009-01-07T01:00:00Z","2009-01-07T02:00:00Z","2009-01-07T03:00:00Z","2009-01-07T04:00:00Z","2009-01-07T05:00:00Z","2009-01-07T06:00:00Z","2009-01-07T07:00:00Z","2009-01-07T08:00:00Z","2009-01-07T09:00:00Z","2009-01-07T10:00:00Z","2009-01-07T11:00:00Z","2009-01-07T12:00:00Z","2009-01-07T13:00:00Z","2009-01-07T14:00:00Z","2009-01-07T15:00:00Z","2009-01-07T16:00:00Z","2009-01-07T17:00:00Z","2009-01-07T18:00:00Z","2009-01-07T19:00:00Z","2009-01-07T20:00:00Z","2009-01-07T21:00:00Z","2009-01-07T22:00:00Z","2009-01-07T23:00:00Z","2009-01-08T00:00:00Z","2009-01-08T01:00:00Z","2009-01-08T02:00:00Z","2009-01-08T03:00:00Z","2009-01-08T04:00:00Z","2009-01-08T05:00:00Z","2009-01-08T06:00:00Z","2009-01-08T07:00:00Z","2009-01-08T08:00:00Z","2009-01-08T09:00:00Z","2009-01-08T10:00:00Z","2009-01-08T11:00:00Z","2009-01-08T12:00:00Z","2009-01-08T13:00:00Z","2009-01-08T14:00:00Z","2009-01-08T15:00:00Z","2009-01-08T16:00:00Z","2009-01-08T17:00:00Z","2009-01-08T18:00:00Z","2009-01-08T19:00:00Z","2009-01-08T20:00:00Z","2009-01-08T21:00:00Z","2009-01-08T22:00:00Z","2009-01-08T23:00:00Z","2009-01-09T00:00:00Z","2009-01-09T01:00:00Z","2009-01-09T02:00:00Z","2009-01-09T03:00:00Z","2009-01-09T04:00:00Z","2009-01-09T05:00:00Z","2009-01-09T06:00:00Z","2009-01-09T07:00:00Z","2009-01-09T08:00:00Z","2009-01-09T09:00:00Z","2009-01-09T10:00:00Z","2009-01-09T11:00:00Z","2009-01-09T12:00:00Z","2009-01-09T13:00:00Z","2009-01-09T14:00:00Z","2009-01-09T15:00:00Z","2009-01-09T16:00:00Z","2009-01-09T17:00:00Z","2009-01-09T18:00:00Z","2009-01-09T19:00:00Z","2009-01-09T20:00:00Z","2009-01-09T21:00:00Z","2009-01-09T22:00:00Z","2009-01-09T23:00:00Z","2009-01-10T00:00:00Z","2009-01-10T01:00:00Z","2009-01-10T02:00:00Z","2009-01-10T03:00:00Z","2009-01-10T04:00:00Z","2009-01-10T05:00:00Z","2009-01-10T06:00:00Z","2009-01-10T07:00:00Z","2009-01-10T08:00:00Z","2009-01-10T09:00:00Z","2009-01-10T10:00:00Z","2009-01-10T11:00:00Z","2009-01-10T12:00:00Z","2009-01-10T13:00:00Z","2009-01-10T14:00:00Z","2009-01-10T15:00:00Z","2009-01-10T16:00:00Z","2009-01-10T17:00:00Z","2009-01-10T18:00:00Z","2009-01-10T19:00:00Z","2009-01-10T20:00:00Z","2009-01-10T21:00:00Z","2009-01-10T22:00:00Z","2009-01-10T23:00:00Z","2009-01-11T00:00:00Z","2009-01-11T01:00:00Z","2009-01-11T02:00:00Z","2009-01-11T03:00:00Z","2009-01-11T04:00:00Z","2009-01-11T05:00:00Z","2009-01-11T06:00:00Z","2009-01-11T07:00:00Z","2009-01-11T08:00:00Z","2009-01-11T09:00:00Z","2009-01-11T10:00:00Z","2009-01-11T11:00:00Z","2009-01-11T12:00:00Z","2009-01-11T13:00:00Z","2009-01-11T14:00:00Z","2009-01-11T15:00:00Z","2009-01-11T16:00:00Z","2009-01-11T17:00:00Z","2009-01-11T18:00:00Z","2009-01-11T19:00:00Z","2009-01-11T20:00:00Z","2009-01-11T21:00:00Z","2009-01-11T22:00:00Z","2009-01-11T23:00:00Z","2009-01-12T00:00:00Z","2009-01-12T01:00:00Z","2009-01-12T02:00:00Z","2009-01-12T03:00:00Z","2009-01-12T04:00:00Z","2009-01-12T05:00:00Z","2009-01-12T06:00:00Z","2009-01-12T07:00:00Z","2009-01-12T08:00:00Z","2009-01-12T09:00:00Z","2009-01-12T10:00:00Z","2009-01-12T11:00:00Z","2009-01-12T12:00:00Z","2009-01-12T13:00:00Z","2009-01-12T14:00:00Z","2009-01-12T15:00:00Z","2009-01-12T16:00:00Z","2009-01-12T17:00:00Z","2009-01-12T18:00:00Z","2009-01-12T19:00:00Z","2009-01-12T20:00:00Z","2009-01-12T21:00:00Z","2009-01-12T22:00:00Z","2009-01-12T23:00:00Z","2009-01-13T00:00:00Z","2009-01-13T01:00:00Z","2009-01-13T02:00:00Z","2009-01-13T03:00:00Z","2009-01-13T04:00:00Z","2009-01-13T05:00:00Z","2009-01-13T06:00:00Z","2009-01-13T07:00:00Z","2009-01-13T08:00:00Z","2009-01-13T09:00:00Z","2009-01-13T10:00:00Z","2009-01-13T11:00:00Z","2009-01-13T12:00:00Z","2009-01-13T13:00:00Z","2009-01-13T14:00:00Z","2009-01-13T15:00:00Z","2009-01-13T16:00:00Z","2009-01-13T17:00:00Z","2009-01-13T18:00:00Z","2009-01-13T19:00:00Z","2009-01-13T20:00:00Z","2009-01-13T21:00:00Z","2009-01-13T22:00:00Z","2009-01-13T23:00:00Z","2009-01-14T00:00:00Z","2009-01-14T01:00:00Z","2009-01-14T02:00:00Z","2009-01-14T03:00:00Z","2009-01-14T04:00:00Z","2009-01-14T05:00:00Z","2009-01-14T06:00:00Z","2009-01-14T07:00:00Z","2009-01-14T08:00:00Z","2009-01-14T09:00:00Z","2009-01-14T10:00:00Z","2009-01-14T11:00:00Z","2009-01-14T12:00:00Z","2009-01-14T13:00:00Z","2009-01-14T14:00:00Z","2009-01-14T15:00:00Z","2009-01-14T16:00:00Z","2009-01-14T17:00:00Z","2009-01-14T18:00:00Z","2009-01-14T19:00:00Z","2009-01-14T20:00:00Z","2009-01-14T21:00:00Z","2009-01-14T22:00:00Z","2009-01-14T23:00:00Z","2009-01-15T00:00:00Z","2009-01-15T01:00:00Z","2009-01-15T02:00:00Z","2009-01-15T03:00:00Z","2009-01-15T04:00:00Z","2009-01-15T05:00:00Z","2009-01-15T06:00:00Z","2009-01-15T07:00:00Z","2009-01-15T08:00:00Z","2009-01-15T09:00:00Z","2009-01-15T10:00:00Z","2009-01-15T11:00:00Z","2009-01-15T12:00:00Z","2009-01-15T13:00:00Z","2009-01-15T14:00:00Z","2009-01-15T15:00:00Z","2009-01-15T16:00:00Z","2009-01-15T17:00:00Z","2009-01-15T18:00:00Z","2009-01-15T19:00:00Z","2009-01-15T20:00:00Z","2009-01-15T21:00:00Z","2009-01-15T22:00:00Z","2009-01-15T23:00:00Z","2009-01-16T00:00:00Z","2009-01-16T01:00:00Z","2009-01-16T02:00:00Z","2009-01-16T03:00:00Z","2009-01-16T04:00:00Z","2009-01-16T05:00:00Z","2009-01-16T06:00:00Z","2009-01-16T07:00:00Z","2009-01-16T08:00:00Z","2009-01-16T09:00:00Z","2009-01-16T10:00:00Z","2009-01-16T11:00:00Z","2009-01-16T12:00:00Z","2009-01-16T13:00:00Z","2009-01-16T14:00:00Z","2009-01-16T15:00:00Z","2009-01-16T16:00:00Z","2009-01-16T17:00:00Z","2009-01-16T18:00:00Z","2009-01-16T19:00:00Z","2009-01-16T20:00:00Z","2009-01-16T21:00:00Z","2009-01-16T22:00:00Z","2009-01-16T23:00:00Z","2009-01-17T00:00:00Z","2009-01-17T01:00:00Z","2009-01-17T02:00:00Z","2009-01-17T03:00:00Z","2009-01-17T04:00:00Z","2009-01-17T05:00:00Z","2009-01-17T06:00:00Z","2009-01-17T07:00:00Z","2009-01-17T08:00:00Z","2009-01-17T09:00:00Z","2009-01-17T10:00:00Z","2009-01-17T11:00:00Z","2009-01-17T12:00:00Z","2009-01-17T13:00:00Z","2009-01-17T14:00:00Z","2009-01-17T15:00:00Z","2009-01-17T16:00:00Z","2009-01-17T17:00:00Z","2009-01-17T18:00:00Z","2009-01-17T19:00:00Z","2009-01-17T20:00:00Z","2009-01-17T21:00:00Z","2009-01-17T22:00:00Z","2009-01-17T23:00:00Z","2009-01-18T00:00:00Z","2009-01-18T01:00:00Z","2009-01-18T02:00:00Z","2009-01-18T03:00:00Z","2009-01-18T04:00:00Z","2009-01-18T05:00:00Z","2009-01-18T06:00:00Z","2009-01-18T07:00:00Z","2009-01-18T08:00:00Z","2009-01-18T09:00:00Z","2009-01-18T10:00:00Z","2009-01-18T11:00:00Z","2009-01-18T12:00:00Z","2009-01-18T13:00:00Z","2009-01-18T14:00:00Z","2009-01-18T15:00:00Z","2009-01-18T16:00:00Z","2009-01-18T17:00:00Z","2009-01-18T18:00:00Z","2009-01-18T19:00:00Z","2009-01-18T20:00:00Z","2009-01-18T21:00:00Z","2009-01-18T22:00:00Z","2009-01-18T23:00:00Z","2009-01-19T00:00:00Z","2009-01-19T01:00:00Z","2009-01-19T02:00:00Z","2009-01-19T03:00:00Z","2009-01-19T04:00:00Z","2009-01-19T05:00:00Z","2009-01-19T06:00:00Z","2009-01-19T07:00:00Z","2009-01-19T08:00:00Z","2009-01-19T09:00:00Z","2009-01-19T10:00:00Z","2009-01-19T11:00:00Z","2009-01-19T12:00:00Z","2009-01-19T13:00:00Z","2009-01-19T14:00:00Z","2009-01-19T15:00:00Z","2009-01-19T16:00:00Z","2009-01-19T17:00:00Z","2009-01-19T18:00:00Z","2009-01-19T19:00:00Z","2009-01-19T20:00:00Z","2009-01-19T21:00:00Z","2009-01-19T22:00:00Z","2009-01-19T23:00:00Z","2009-01-20T00:00:00Z","2009-01-20T01:00:00Z","2009-01-20T02:00:00Z","2009-01-20T03:00:00Z","2009-01-20T04:00:00Z","2009-01-20T05:00:00Z","2009-01-20T06:00:00Z","2009-01-20T07:00:00Z","2009-01-20T08:00:00Z","2009-01-20T09:00:00Z","2009-01-20T10:00:00Z","2009-01-20T11:00:00Z","2009-01-20T12:00:00Z","2009-01-20T13:00:00Z","2009-01-20T14:00:00Z","2009-01-20T15:00:00Z","2009-01-20T16:00:00Z","2009-01-20T17:00:00Z","2009-01-20T18:00:00Z","2009-01-20T19:00:00Z","2009-01-20T20:00:00Z","2009-01-20T21:00:00Z","2009-01-20T22:00:00Z","2009-01-20T23:00:00Z","2009-01-21T00:00:00Z","2009-01-21T01:00:00Z","2009-01-21T02:00:00Z","2009-01-21T03:00:00Z","2009-01-21T04:00:00Z","2009-01-21T05:00:00Z","2009-01-21T06:00:00Z","2009-01-21T07:00:00Z","2009-01-21T08:00:00Z","2009-01-21T09:00:00Z","2009-01-21T10:00:00Z","2009-01-21T11:00:00Z","2009-01-21T12:00:00Z","2009-01-21T13:00:00Z","2009-01-21T14:00:00Z","2009-01-21T15:00:00Z","2009-01-21T16:00:00Z","2009-01-21T17:00:00Z","2009-01-21T18:00:00Z","2009-01-21T19:00:00Z","2009-01-21T20:00:00Z","2009-01-21T21:00:00Z","2009-01-21T22:00:00Z","2009-01-21T23:00:00Z","2009-01-22T00:00:00Z","2009-01-22T01:00:00Z","2009-01-22T02:00:00Z","2009-01-22T03:00:00Z","2009-01-22T04:00:00Z","2009-01-22T05:00:00Z","2009-01-22T06:00:00Z","2009-01-22T07:00:00Z","2009-01-22T08:00:00Z","2009-01-22T09:00:00Z","2009-01-22T10:00:00Z","2009-01-22T11:00:00Z","2009-01-22T12:00:00Z","2009-01-22T13:00:00Z","2009-01-22T14:00:00Z","2009-01-22T15:00:00Z","2009-01-22T16:00:00Z","2009-01-22T17:00:00Z","2009-01-22T18:00:00Z","2009-01-22T19:00:00Z","2009-01-22T20:00:00Z","2009-01-22T21:00:00Z","2009-01-22T22:00:00Z","2009-01-22T23:00:00Z","2009-01-23T00:00:00Z","2009-01-23T01:00:00Z","2009-01-23T02:00:00Z","2009-01-23T03:00:00Z","2009-01-23T04:00:00Z","2009-01-23T05:00:00Z","2009-01-23T06:00:00Z","2009-01-23T07:00:00Z","2009-01-23T08:00:00Z","2009-01-23T09:00:00Z","2009-01-23T10:00:00Z","2009-01-23T11:00:00Z","2009-01-23T12:00:00Z","2009-01-23T13:00:00Z","2009-01-23T14:00:00Z","2009-01-23T15:00:00Z","2009-01-23T16:00:00Z","2009-01-23T17:00:00Z","2009-01-23T18:00:00Z","2009-01-23T19:00:00Z","2009-01-23T20:00:00Z","2009-01-23T21:00:00Z","2009-01-23T22:00:00Z","2009-01-23T23:00:00Z","2009-01-24T00:00:00Z","2009-01-24T01:00:00Z","2009-01-24T02:00:00Z","2009-01-24T03:00:00Z","2009-01-24T04:00:00Z","2009-01-24T05:00:00Z","2009-01-24T06:00:00Z","2009-01-24T07:00:00Z","2009-01-24T08:00:00Z","2009-01-24T09:00:00Z","2009-01-24T10:00:00Z","2009-01-24T11:00:00Z","2009-01-24T12:00:00Z","2009-01-24T13:00:00Z","2009-01-24T14:00:00Z","2009-01-24T15:00:00Z","2009-01-24T16:00:00Z","2009-01-24T17:00:00Z","2009-01-24T18:00:00Z","2009-01-24T19:00:00Z","2009-01-24T20:00:00Z","2009-01-24T21:00:00Z","2009-01-24T22:00:00Z","2009-01-24T23:00:00Z","2009-01-25T00:00:00Z","2009-01-25T01:00:00Z","2009-01-25T02:00:00Z","2009-01-25T03:00:00Z","2009-01-25T04:00:00Z","2009-01-25T05:00:00Z","2009-01-25T06:00:00Z","2009-01-25T07:00:00Z","2009-01-25T08:00:00Z","2009-01-25T09:00:00Z","2009-01-25T10:00:00Z","2009-01-25T11:00:00Z","2009-01-25T12:00:00Z","2009-01-25T13:00:00Z","2009-01-25T14:00:00Z","2009-01-25T15:00:00Z","2009-01-25T16:00:00Z","2009-01-25T17:00:00Z","2009-01-25T18:00:00Z","2009-01-25T19:00:00Z","2009-01-25T20:00:00Z","2009-01-25T21:00:00Z","2009-01-25T22:00:00Z","2009-01-25T23:00:00Z","2009-01-26T00:00:00Z","2009-01-26T01:00:00Z","2009-01-26T02:00:00Z","2009-01-26T03:00:00Z","2009-01-26T04:00:00Z","2009-01-26T05:00:00Z","2009-01-26T06:00:00Z","2009-01-26T07:00:00Z","2009-01-26T08:00:00Z","2009-01-26T09:00:00Z","2009-01-26T10:00:00Z","2009-01-26T11:00:00Z","2009-01-26T12:00:00Z","2009-01-26T13:00:00Z","2009-01-26T14:00:00Z","2009-01-26T15:00:00Z","2009-01-26T16:00:00Z","2009-01-26T17:00:00Z","2009-01-26T18:00:00Z","2009-01-26T19:00:00Z","2009-01-26T20:00:00Z","2009-01-26T21:00:00Z","2009-01-26T22:00:00Z","2009-01-26T23:00:00Z","2009-01-27T00:00:00Z","2009-01-27T01:00:00Z","2009-01-27T02:00:00Z","2009-01-27T03:00:00Z","2009-01-27T04:00:00Z","2009-01-27T05:00:00Z","2009-01-27T06:00:00Z","2009-01-27T07:00:00Z","2009-01-27T08:00:00Z","2009-01-27T09:00:00Z","2009-01-27T10:00:00Z","2009-01-27T11:00:00Z","2009-01-27T12:00:00Z","2009-01-27T13:00:00Z","2009-01-27T14:00:00Z","2009-01-27T15:00:00Z","2009-01-27T16:00:00Z","2009-01-27T17:00:00Z","2009-01-27T18:00:00Z","2009-01-27T19:00:00Z","2009-01-27T20:00:00Z","2009-01-27T21:00:00Z","2009-01-27T22:00:00Z","2009-01-27T23:00:00Z","2009-01-28T00:00:00Z","2009-01-28T01:00:00Z","2009-01-28T02:00:00Z","2009-01-28T03:00:00Z","2009-01-28T04:00:00Z","2009-01-28T05:00:00Z","2009-01-28T06:00:00Z","2009-01-28T07:00:00Z","2009-01-28T08:00:00Z","2009-01-28T09:00:00Z","2009-01-28T10:00:00Z","2009-01-28T11:00:00Z","2009-01-28T12:00:00Z","2009-01-28T13:00:00Z","2009-01-28T14:00:00Z","2009-01-28T15:00:00Z","2009-01-28T16:00:00Z","2009-01-28T17:00:00Z","2009-01-28T18:00:00Z","2009-01-28T19:00:00Z","2009-01-28T20:00:00Z","2009-01-28T21:00:00Z","2009-01-28T22:00:00Z","2009-01-28T23:00:00Z","2009-01-29T00:00:00Z","2009-01-29T01:00:00Z","2009-01-29T02:00:00Z","2009-01-29T03:00:00Z","2009-01-29T04:00:00Z","2009-01-29T05:00:00Z","2009-01-29T06:00:00Z","2009-01-29T07:00:00Z","2009-01-29T08:00:00Z","2009-01-29T09:00:00Z","2009-01-29T10:00:00Z","2009-01-29T11:00:00Z","2009-01-29T12:00:00Z","2009-01-29T13:00:00Z","2009-01-29T14:00:00Z","2009-01-29T15:00:00Z","2009-01-29T16:00:00Z","2009-01-29T17:00:00Z","2009-01-29T18:00:00Z","2009-01-29T19:00:00Z","2009-01-29T20:00:00Z","2009-01-29T21:00:00Z","2009-01-29T22:00:00Z","2009-01-29T23:00:00Z","2009-01-30T00:00:00Z","2009-01-30T01:00:00Z","2009-01-30T02:00:00Z","2009-01-30T03:00:00Z","2009-01-30T04:00:00Z","2009-01-30T05:00:00Z","2009-01-30T06:00:00Z","2009-01-30T07:00:00Z","2009-01-30T08:00:00Z","2009-01-30T09:00:00Z","2009-01-30T10:00:00Z","2009-01-30T11:00:00Z","2009-01-30T12:00:00Z","2009-01-30T13:00:00Z","2009-01-30T14:00:00Z","2009-01-30T15:00:00Z","2009-01-30T16:00:00Z","2009-01-30T17:00:00Z","2009-01-30T18:00:00Z","2009-01-30T19:00:00Z","2009-01-30T20:00:00Z","2009-01-30T21:00:00Z","2009-01-30T22:00:00Z","2009-01-30T23:00:00Z","2009-01-31T00:00:00Z","2009-01-31T01:00:00Z","2009-01-31T02:00:00Z","2009-01-31T03:00:00Z","2009-01-31T04:00:00Z","2009-01-31T05:00:00Z","2009-01-31T06:00:00Z","2009-01-31T07:00:00Z","2009-01-31T08:00:00Z","2009-01-31T09:00:00Z","2009-01-31T10:00:00Z","2009-01-31T11:00:00Z","2009-01-31T12:00:00Z","2009-01-31T13:00:00Z","2009-01-31T14:00:00Z","2009-01-31T15:00:00Z","2009-01-31T16:00:00Z","2009-01-31T17:00:00Z","2009-01-31T18:00:00Z","2009-01-31T19:00:00Z","2009-01-31T20:00:00Z","2009-01-31T21:00:00Z","2009-01-31T22:00:00Z","2009-01-31T23:00:00Z","2009-02-01T00:00:00Z"],"ap60":[5.0,7.0,6.0,5.0,15.0,12.0,9.0,18.0,18.0,7.0,5.0,9.0,12.0,6.0,5.0,7.0,7.0,4.0,2.0,3.0,3.0,4.0,6.0,6.0,5.0,2.0,3.0,4.0,4.0,2.0,0.0,2.0,2.0,2.0,2.0,3.0,3.0,3.0,4.0,5.0,4.0,6.0,5.0,9.0,6.0,15.0,15.0,9.0,9.0,7.0,12.0,18.0,12.0,15.0,12.0,6.0,12.0,32.0,27.0,12.0,9.0,7.0,6.0,7.0,9.0,12.0,4.0,5.0,3.0,6.0,9.0,7.0,6.0,12.0,6.0,0.0,3.0,5.0,5.0,4.0,2.0,3.0,6.0,6.0,3.0,3.0,3.0,5.0,5.0,7.0,6.0,4.0,3.0,3.0,2.0,3.0,5.0,2.0,5.0,9.0,2.0,0.0,4.0,2.0,6.0,4.0,5.0,3.0,4.0,4.0,4.0,9.0,6.0,6.0,6.0,4.0,4.0,9.0,6.0,3.0,0.0,2.0,9.0,9.0,5.0,5.0,2.0,4.0,2.0,3.0,5.0,4.0,4.0,4.0,3.0,7.0,4.0,4.0,2.0,2.0,0.0,0.0,3.0,0.0,3.0,2.0,2.0,4.0,4.0,3.0,2.0,5.0,5.0,3.0,2.0,3.0,2.0,2.0,0.0,2.0,4.0,4.0,0.0,2.0,0.0,3.0,5.0,3.0,3.0,0.0,0.0,0.0,0.0,0.0,2.0,3.0,3.0,3.0,3.0,3.0,9.0,9.0,5.0,7.0,6.0,4.0,3.0,5.0,3.0,6.0,4.0,5.0,6.0,5.0,6.0,5.0,5.0,9.0,4.0,4.0,5.0,3.0,4.0,3.0,15.0,12.0,5.0,3.0,5.0,12.0,5.0,6.0,7.0,4.0,3.0,5.0,9.0,9.0,12.0,9.0,9.0,12.0,4.0,5.0,4.0,4.0,5.0,5.0,2.0,2.0,0.0,0.0,0.0,2.0,3.0,2.0,3.0,3.0,4.0,3.0,4.0,5.0,6.0,2.0,3.0,0.0,0.0,0.0,2.0,2.0,5.0,2.0,0.0,0.0,0.0,2.0,4.0,2.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,2.0,2.0,2.0,2.0,2.0,0.0,4.0,6.0,9.0,9.0,5.0,7.0,6.0,3.0,0.0,0.0,0.0,4.0,3.0,5.0,5.0,3.0,4.0,4.0,5.0,6.0,5.0,5.0,3.0,4.0,15.0,6.0,7.0,7.0,7.0,6.0,4.0,5.0,6.0,5.0,7.0,9.0,12.0,12.0,3.0,4.0,4.0,7.0,3.0,4.0,4.0,4.0,6.0,9.0,5.0,6.0,7.0,6.0,6.0,5.0,5.0,6.0,4.0,6.0,5.0,4.0,3.0,2.0,4.0,5.0,5.0,7.0,9.0,9.0,7.0,12.0,6.0,9.0,7.0,7.0,12.0,4.0,5.0,3.0,0.0,4.0,0.0,4.0,4.0,4.0,2.0,3.0,3.0,4.0,5.0,6.0,4.0,0.0,0.0,0.0,0.0,4.0,2.0,0.0,0.0,0.0,4.0,4.0,4.0,2.0,2.0,3.0,3.0,2.0,3.0,3.0,2.0,3.0,5.0,3.0,5.0,5.0,3.0,0.0,2.0,0.0,2.0,4.0,2.0,2.0,0.0,0.0,2.0,3.0,2.0,3.0,5.0,3.0,0.0,0.0,3.0,2.0,4.0,3.0,3.0,5.0,2.0,3.0,6.0,7.0,18.0,39.0,15.0,6.0,6.0,12.0,9.0,3.0,4.0,4.0,3.0,5.0,5.0,3.0,5.0,6.0,7.0,7.0,5.0,9.0,9.0,7.0,5.0,15.0,6.0,6.0,5.0,2.0,5.0,3.0,4.0,4.0,3.0,2.0,3.0,3.0,3.0,2.0,0.0,0.0,2.0,3.0,4.0,7.0,4.0,5.0,2.0,4.0,4.0,2.0,0.0,0.0,0.0,0.0,2.0,4.0,4.0,4.0,3.0,2.0,3.0,4.0,4.0,7.0,6.0,7.0,6.0,4.0,3.0,3.0,5.0,3.0,0.0,2.0,2.0,0.0,3.0,2.0,2.0,3.0,3.0,3.0,2.0,3.0,3.0,2.0,0.0,3.0,4.0,3.0,4.0,2.0,2.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,3.0,0.0,2.0,3.0,4.0,3.0,3.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,4.0,3.0,0.0,0.0,6.0,6.0,0.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,0.0,2.0,3.0,0.0,2.0,4.0,3.0,5.0,4.0,2.0,2.0,2.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,2.0,3.0,3.0,0.0,0.0,2.0,0.0,4.0,4.0,12.0,7.0,27.0,12.0,7.0,6.0,15.0,9.0,4.0,18.0,18.0,15.0,7.0,7.0,15.0,18.0,18.0,15.0,15.0,15.0,7.0,6.0,2.0,2.0,2.0,2.0,4.0,3.0,0.0,3.0,4.0,5.0,3.0,2.0,2.0,2.0,5.0,2.0,2.0,3.0,3.0,4.0,6.0,4.0,4.0,6.0,9.0,7.0,4.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,2.0,2.0,0.0,5.0,4.0,3.0,3.0,3.0,2.0,4.0,0.0,0.0,3.0,2.0,2.0,5.0,4.0,3.0,2.0,2.0,0.0,3.0,9.0,7.0,15.0,18.0,9.0,4.0,5.0,4.0,5.0,5.0,3.0,0.0,2.0,2.0,4.0,4.0,0.0,2.0,0.0,2.0,2.0,0.0,4.0,6.0,6.0,5.0,2.0,2.0,3.0,4.0,7.0,4.0,2.0,2.0,3.0,3.0,3.0,4.0,3.0,4.0,6.0,15.0,7.0,6.0,7.0,2.0,4.0,4.0,4.0,6.0,7.0,5.0,15.0,7.0,5.0,7.0,15.0,18.0,9.0,5.0,5.0,5.0,7.0,5.0,5.0,4.0,12.0,7.0,5.0]} diff --git a/GeospaceDataManagement/tests/test_data/au_last_96_hrs.txt b/GeospaceDataManagement/tests/test_data/au_last_96_hrs.txt new file mode 100644 index 0000000..8e37b09 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/au_last_96_hrs.txt @@ -0,0 +1,575 @@ + Time Predicted AU +2023/301-21:01:23 34.4 +2023/301-21:11:23 38.5 +2023/301-21:21:23 44.0 +2023/301-21:31:23 49.7 +2023/301-21:41:23 55.5 +2023/301-21:51:23 63.7 +2023/301-22:01:23 73.8 +2023/301-22:11:23 85.0 +2023/301-22:21:23 96.0 +2023/301-22:31:23 103.3 +2023/301-22:41:23 103.9 +2023/301-22:51:23 99.3 +2023/301-23:01:23 95.1 +2023/301-23:11:23 94.9 +2023/301-23:21:23 102.0 +2023/301-23:31:23 114.6 +2023/301-23:41:23 129.0 +2023/301-23:51:23 141.4 +2023/302-00:01:23 150.4 +2023/302-00:11:23 155.5 +2023/302-00:21:23 155.1 +2023/302-00:31:23 151.1 +2023/302-00:41:23 147.1 +2023/302-00:51:23 144.6 +2023/302-01:01:23 143.1 +2023/302-01:11:23 144.3 +2023/302-01:21:23 145.0 +2023/302-01:31:23 141.1 +2023/302-01:41:23 131.8 +2023/302-01:51:23 119.4 +2023/302-02:01:23 107.3 +2023/302-02:11:23 97.9 +2023/302-02:21:23 92.0 +2023/302-02:31:23 87.6 +2023/302-02:41:23 83.2 +2023/302-02:51:23 77.2 +2023/302-03:01:23 71.0 +2023/302-03:11:23 67.9 +2023/302-03:21:23 70.3 +2023/302-03:31:23 77.0 +2023/302-03:41:23 86.1 +2023/302-03:51:23 96.4 +2023/302-04:01:23 106.8 +2023/302-04:11:23 115.6 +2023/302-04:21:23 123.1 +2023/302-04:31:23 129.5 +2023/302-04:41:23 134.1 +2023/302-04:51:23 136.8 +2023/302-05:01:23 133.7 +2023/302-05:11:23 128.1 +2023/302-05:21:23 122.3 +2023/302-05:31:23 115.8 +2023/302-05:41:23 107.1 +2023/302-05:51:23 100.3 +2023/302-06:01:23 93.7 +2023/302-06:11:23 85.1 +2023/302-06:21:23 76.2 +2023/302-06:31:23 68.2 +2023/302-06:41:23 61.4 +2023/302-06:51:23 55.5 +2023/302-07:01:23 51.2 +2023/302-07:11:23 48.3 +2023/302-07:21:23 50.9 +2023/302-07:31:23 61.6 +2023/302-07:41:23 78.8 +2023/302-07:51:23 100.6 +2023/302-08:01:23 124.8 +2023/302-08:11:23 145.1 +2023/302-08:21:23 158.9 +2023/302-08:31:23 168.0 +2023/302-08:41:23 173.5 +2023/302-08:51:23 176.5 +2023/302-09:01:23 180.3 +2023/302-09:11:23 184.0 +2023/302-09:21:23 185.7 +2023/302-09:31:23 184.7 +2023/302-09:41:23 181.0 +2023/302-09:51:23 172.2 +2023/302-10:01:23 159.3 +2023/302-10:11:23 148.3 +2023/302-10:21:23 140.5 +2023/302-10:31:23 136.2 +2023/302-10:41:23 135.6 +2023/302-10:51:23 136.9 +2023/302-11:01:23 135.5 +2023/302-11:11:23 131.3 +2023/302-11:21:23 124.9 +2023/302-11:31:23 116.1 +2023/302-11:41:23 106.3 +2023/302-11:51:23 97.8 +2023/302-12:01:23 92.6 +2023/302-12:11:23 90.9 +2023/302-12:21:23 89.6 +2023/302-12:31:23 88.4 +2023/302-12:41:23 85.3 +2023/302-12:51:23 79.1 +2023/302-13:01:23 71.5 +2023/302-13:11:23 68.1 +2023/302-13:21:23 69.3 +2023/302-13:31:23 75.8 +2023/302-13:41:23 85.0 +2023/302-13:51:23 96.0 +2023/302-14:01:23 106.0 +2023/302-14:11:23 114.8 +2023/302-14:21:23 122.3 +2023/302-14:31:23 130.8 +2023/302-14:41:23 138.4 +2023/302-14:51:23 144.5 +2023/302-15:01:23 147.5 +2023/302-15:11:23 145.5 +2023/302-15:21:23 139.9 +2023/302-15:31:23 131.7 +2023/302-15:41:23 123.8 +2023/302-15:51:23 117.8 +2023/302-16:01:23 114.2 +2023/302-16:11:23 110.2 +2023/302-16:21:23 104.7 +2023/302-16:31:23 96.8 +2023/302-16:41:23 87.6 +2023/302-16:51:23 78.2 +2023/302-17:01:23 70.7 +2023/302-17:11:23 66.3 +2023/302-17:21:23 64.3 +2023/302-17:31:23 62.1 +2023/302-17:41:23 59.1 +2023/302-17:51:23 55.5 +2023/302-18:01:23 52.0 +2023/302-18:11:23 51.6 +2023/302-18:21:23 57.4 +2023/302-18:31:23 67.7 +2023/302-18:41:23 79.4 +2023/302-18:51:23 91.7 +2023/302-19:01:23 98.1 +2023/302-19:11:23 99.6 +2023/302-19:21:23 100.9 +2023/302-19:31:23 102.4 +2023/302-19:41:23 101.0 +2023/302-19:51:23 101.1 +2023/302-20:01:23 101.4 +2023/302-20:11:23 98.5 +2023/302-20:21:23 94.7 +2023/302-20:31:23 93.2 +2023/302-20:41:23 93.1 +2023/302-20:51:23 92.7 +2023/302-21:01:23 92.3 +2023/302-21:11:23 91.9 +2023/302-21:21:23 90.9 +2023/302-21:31:23 89.7 +2023/302-21:41:23 88.7 +2023/302-21:51:23 87.8 +2023/302-22:01:23 86.6 +2023/302-22:11:23 85.4 +2023/302-22:21:23 84.2 +2023/302-22:31:23 82.8 +2023/302-22:41:23 81.4 +2023/302-22:51:23 80.4 +2023/302-23:01:23 82.0 +2023/302-23:11:23 86.5 +2023/302-23:21:23 93.1 +2023/302-23:31:23 101.0 +2023/302-23:41:23 109.7 +2023/302-23:51:23 116.4 +2023/303-00:01:23 120.8 +2023/303-00:11:23 123.8 +2023/303-00:21:23 125.8 +2023/303-00:31:23 127.3 +2023/303-00:41:23 127.3 +2023/303-00:51:23 126.3 +2023/303-01:01:23 125.7 +2023/303-01:11:23 125.2 +2023/303-01:21:23 124.7 +2023/303-01:31:23 126.1 +2023/303-01:41:23 128.1 +2023/303-01:51:23 128.9 +2023/303-02:01:23 128.7 +2023/303-02:11:23 127.7 +2023/303-02:21:23 124.4 +2023/303-02:31:23 119.3 +2023/303-02:41:23 113.4 +2023/303-02:51:23 106.4 +2023/303-03:01:23 98.3 +2023/303-03:11:23 90.1 +2023/303-03:21:23 82.4 +2023/303-03:31:23 74.7 +2023/303-03:41:23 67.5 +2023/303-03:51:23 60.8 +2023/303-04:01:23 54.5 +2023/303-04:11:23 48.5 +2023/303-04:21:23 43.1 +2023/303-04:31:23 38.2 +2023/303-04:41:23 34.2 +2023/303-04:51:23 31.4 +2023/303-05:01:23 29.7 +2023/303-05:11:23 28.8 +2023/303-05:21:23 28.7 +2023/303-05:31:23 28.9 +2023/303-05:41:23 29.4 +2023/303-05:51:23 30.1 +2023/303-06:01:23 31.2 +2023/303-06:11:23 32.7 +2023/303-06:21:23 34.3 +2023/303-06:31:23 35.9 +2023/303-06:41:23 37.3 +2023/303-06:51:23 38.4 +2023/303-07:01:23 39.3 +2023/303-07:11:23 40.0 +2023/303-07:21:23 40.5 +2023/303-07:31:23 40.9 +2023/303-07:41:23 41.3 +2023/303-07:51:23 41.6 +2023/303-08:01:23 41.0 +2023/303-08:11:23 39.8 +2023/303-08:21:23 38.1 +2023/303-08:31:23 36.1 +2023/303-08:41:23 33.7 +2023/303-08:51:23 31.8 +2023/303-09:01:23 30.1 +2023/303-09:11:23 28.5 +2023/303-09:21:23 26.9 +2023/303-09:31:23 25.4 +2023/303-09:41:23 24.0 +2023/303-09:51:23 22.8 +2023/303-10:01:23 21.8 +2023/303-10:11:23 21.1 +2023/303-10:21:23 20.5 +2023/303-10:31:23 21.7 +2023/303-10:41:23 24.5 +2023/303-10:51:23 27.6 +2023/303-11:01:23 30.9 +2023/303-11:11:23 34.4 +2023/303-11:21:23 36.2 +2023/303-11:31:23 36.6 +2023/303-11:41:23 37.3 +2023/303-11:51:23 38.1 +2023/303-12:01:23 38.8 +2023/303-12:11:23 40.0 +2023/303-12:21:23 43.3 +2023/303-12:31:23 48.8 +2023/303-12:41:23 57.6 +2023/303-12:51:23 69.7 +2023/303-13:01:23 83.9 +2023/303-13:11:23 96.9 +2023/303-13:21:23 107.8 +2023/303-13:31:23 115.9 +2023/303-13:41:23 121.3 +2023/303-13:51:23 122.8 +2023/303-14:01:23 120.8 +2023/303-14:11:23 116.3 +2023/303-14:21:23 109.1 +2023/303-14:31:23 99.4 +2023/303-14:41:23 89.9 +2023/303-14:51:23 81.9 +2023/303-15:01:23 74.5 +2023/303-15:11:23 67.6 +2023/303-15:21:23 61.2 +2023/303-15:31:23 55.0 +2023/303-15:41:23 48.8 +2023/303-15:51:23 43.2 +2023/303-16:01:23 38.3 +2023/303-16:11:23 34.0 +2023/303-16:21:23 30.1 +2023/303-16:31:23 26.8 +2023/303-16:41:23 25.0 +2023/303-16:51:23 24.6 +2023/303-17:01:23 25.5 +2023/303-17:11:23 27.8 +2023/303-17:21:23 31.0 +2023/303-17:31:23 34.1 +2023/303-17:41:23 36.9 +2023/303-17:51:23 39.6 +2023/303-18:01:23 42.1 +2023/303-18:11:23 44.5 +2023/303-18:21:23 46.7 +2023/303-18:31:23 48.6 +2023/303-18:41:23 50.2 +2023/303-18:51:23 51.4 +2023/303-19:01:23 52.5 +2023/303-19:11:23 53.3 +2023/303-19:21:23 54.0 +2023/303-19:31:23 54.4 +2023/303-19:41:23 54.8 +2023/303-19:51:23 54.9 +2023/303-20:01:23 55.0 +2023/303-20:11:23 54.8 +2023/303-20:21:23 54.6 +2023/303-20:31:23 54.4 +2023/303-20:41:23 54.1 +2023/303-20:51:23 53.8 +2023/303-21:01:23 53.4 +2023/303-21:11:23 53.1 +2023/303-21:21:23 52.7 +2023/303-21:31:23 52.4 +2023/303-21:41:23 52.1 +2023/303-21:51:23 51.7 +2023/303-22:01:23 51.4 +2023/303-22:11:23 51.0 +2023/303-22:21:23 50.2 +2023/303-22:31:23 48.7 +2023/303-22:41:23 46.8 +2023/303-22:51:23 44.5 +2023/303-23:01:23 42.0 +2023/303-23:11:23 40.0 +2023/303-23:21:23 39.8 +2023/303-23:31:23 40.3 +2023/303-23:41:23 40.5 +2023/303-23:51:23 41.0 +2023/304-00:01:23 41.1 +2023/304-00:11:23 39.4 +2023/304-00:21:23 39.7 +2023/304-00:31:23 43.8 +2023/304-00:41:23 49.8 +2023/304-00:51:23 57.1 +2023/304-01:01:23 65.6 +2023/304-01:11:23 71.8 +2023/304-01:21:23 75.5 +2023/304-01:31:23 78.3 +2023/304-01:41:23 80.3 +2023/304-01:51:23 81.1 +2023/304-02:01:23 80.5 +2023/304-02:11:23 78.0 +2023/304-02:21:23 73.3 +2023/304-02:31:23 67.5 +2023/304-02:41:23 62.1 +2023/304-02:51:23 57.7 +2023/304-03:01:23 54.0 +2023/304-03:11:23 50.7 +2023/304-03:21:23 48.3 +2023/304-03:31:23 46.2 +2023/304-03:41:23 44.0 +2023/304-03:51:23 42.0 +2023/304-04:01:23 39.9 +2023/304-04:11:23 37.2 +2023/304-04:21:23 34.8 +2023/304-04:31:23 34.6 +2023/304-04:41:23 37.1 +2023/304-04:51:23 40.1 +2023/304-05:01:23 42.8 +2023/304-05:11:23 44.3 +2023/304-05:21:23 43.5 +2023/304-05:31:23 40.0 +2023/304-05:41:23 37.1 +2023/304-05:51:23 35.3 +2023/304-06:01:23 34.3 +2023/304-06:11:23 33.7 +2023/304-06:21:23 33.3 +2023/304-06:31:23 32.8 +2023/304-06:41:23 31.7 +2023/304-06:51:23 30.3 +2023/304-07:01:23 29.2 +2023/304-07:11:23 28.3 +2023/304-07:21:23 27.6 +2023/304-07:31:23 27.2 +2023/304-07:41:23 27.4 +2023/304-07:51:23 28.1 +2023/304-08:01:23 29.7 +2023/304-08:11:23 34.1 +2023/304-08:21:23 40.1 +2023/304-08:31:23 48.3 +2023/304-08:41:23 58.2 +2023/304-08:51:23 68.9 +2023/304-09:01:23 78.7 +2023/304-09:11:23 88.0 +2023/304-09:21:23 95.9 +2023/304-09:31:23 103.2 +2023/304-09:41:23 110.0 +2023/304-09:51:23 116.2 +2023/304-10:01:23 121.8 +2023/304-10:11:23 126.8 +2023/304-10:21:23 130.6 +2023/304-10:31:23 132.9 +2023/304-10:41:23 131.9 +2023/304-10:51:23 128.0 +2023/304-11:01:23 123.0 +2023/304-11:11:23 117.7 +2023/304-11:21:23 113.1 +2023/304-11:31:23 111.2 +2023/304-11:41:23 112.7 +2023/304-11:51:23 114.8 +2023/304-12:01:23 116.8 +2023/304-12:11:23 115.3 +2023/304-12:21:23 110.9 +2023/304-12:31:23 104.1 +2023/304-12:41:23 96.6 +2023/304-12:51:23 89.0 +2023/304-13:01:23 83.7 +2023/304-13:11:23 79.8 +2023/304-13:21:23 76.0 +2023/304-13:31:23 72.2 +2023/304-13:41:23 67.7 +2023/304-13:51:23 62.8 +2023/304-14:01:23 57.7 +2023/304-14:11:23 53.6 +2023/304-14:21:23 50.4 +2023/304-14:31:23 47.2 +2023/304-14:41:23 44.3 +2023/304-14:51:23 41.6 +2023/304-15:01:23 38.4 +2023/304-15:11:23 34.6 +2023/304-15:21:23 31.3 +2023/304-15:31:23 28.5 +2023/304-15:41:23 26.0 +2023/304-15:51:23 23.7 +2023/304-16:01:23 21.6 +2023/304-16:11:23 19.6 +2023/304-16:21:23 17.7 +2023/304-16:31:23 16.0 +2023/304-16:41:23 14.6 +2023/304-16:51:23 13.3 +2023/304-17:01:23 12.6 +2023/304-17:11:23 12.1 +2023/304-17:21:23 11.7 +2023/304-17:31:23 11.4 +2023/304-17:41:23 11.2 +2023/304-17:51:23 11.0 +2023/304-18:01:23 10.8 +2023/304-18:11:23 10.7 +2023/304-18:21:23 11.0 +2023/304-18:31:23 11.6 +2023/304-18:41:23 12.6 +2023/304-18:51:23 15.0 +2023/304-19:01:23 19.7 +2023/304-19:11:23 25.9 +2023/304-19:21:23 33.0 +2023/304-19:31:23 40.5 +2023/304-19:41:23 46.4 +2023/304-19:51:23 50.2 +2023/304-20:01:23 51.3 +2023/304-20:11:23 51.1 +2023/304-20:21:23 49.4 +2023/304-20:31:23 47.4 +2023/304-20:41:23 44.6 +2023/304-20:51:23 42.3 +2023/304-21:01:23 40.5 +2023/304-21:11:23 39.0 +2023/304-21:21:23 38.0 +2023/304-21:31:23 37.2 +2023/304-21:41:23 36.4 +2023/304-21:51:23 34.8 +2023/304-22:01:23 33.0 +2023/304-22:11:23 31.3 +2023/304-22:21:23 29.9 +2023/304-22:31:23 28.9 +2023/304-22:41:23 28.6 +2023/304-22:51:23 29.5 +2023/304-23:01:23 32.0 +2023/304-23:11:23 36.2 +2023/304-23:21:23 41.5 +2023/304-23:31:23 46.5 +2023/304-23:41:23 51.3 +2023/304-23:51:23 55.6 +2023/305-00:01:23 58.2 +2023/305-00:11:23 59.5 +2023/305-00:21:23 60.3 +2023/305-00:31:23 59.9 +2023/305-00:41:23 58.2 +2023/305-00:51:23 56.7 +2023/305-01:01:23 55.6 +2023/305-01:11:23 55.2 +2023/305-01:21:23 55.1 +2023/305-01:31:23 54.7 +2023/305-01:41:23 53.7 +2023/305-01:51:23 51.9 +2023/305-02:01:23 49.4 +2023/305-02:11:23 46.7 +2023/305-02:21:23 44.5 +2023/305-02:31:23 43.8 +2023/305-02:41:23 45.2 +2023/305-02:51:23 48.6 +2023/305-03:01:23 53.6 +2023/305-03:11:23 59.7 +2023/305-03:21:23 65.3 +2023/305-03:31:23 68.9 +2023/305-03:41:23 70.3 +2023/305-03:51:23 69.2 +2023/305-04:01:23 66.3 +2023/305-04:11:23 62.2 +2023/305-04:21:23 57.5 +2023/305-04:31:23 53.0 +2023/305-04:41:23 49.0 +2023/305-04:51:23 45.1 +2023/305-05:01:23 41.5 +2023/305-05:11:23 38.2 +2023/305-05:21:23 35.2 +2023/305-05:31:23 32.5 +2023/305-05:41:23 30.2 +2023/305-05:51:23 28.2 +2023/305-06:01:23 27.2 +2023/305-06:11:23 28.0 +2023/305-06:21:23 31.0 +2023/305-06:31:23 35.9 +2023/305-06:41:23 42.8 +2023/305-06:51:23 50.8 +2023/305-07:01:23 58.7 +2023/305-07:11:23 66.5 +2023/305-07:21:23 74.0 +2023/305-07:31:23 81.1 +2023/305-07:41:23 87.9 +2023/305-07:51:23 93.4 +2023/305-08:01:23 97.0 +2023/305-08:11:23 98.6 +2023/305-08:21:23 98.2 +2023/305-08:31:23 95.2 +2023/305-08:41:23 91.5 +2023/305-08:51:23 88.0 +2023/305-09:01:23 84.6 +2023/305-09:11:23 81.5 +2023/305-09:21:23 80.5 +2023/305-09:31:23 80.8 +2023/305-09:41:23 80.9 +2023/305-09:51:23 81.1 +2023/305-10:01:23 80.9 +2023/305-10:11:23 78.8 +2023/305-10:21:23 75.0 +2023/305-10:31:23 70.5 +2023/305-10:41:23 65.8 +2023/305-10:51:23 61.0 +2023/305-11:01:23 56.3 +2023/305-11:11:23 51.8 +2023/305-11:21:23 47.5 +2023/305-11:31:23 43.5 +2023/305-11:41:23 39.9 +2023/305-11:51:23 37.3 +2023/305-12:01:23 36.8 +2023/305-12:11:23 37.1 +2023/305-12:21:23 37.6 +2023/305-12:31:23 38.1 +2023/305-12:41:23 38.1 +2023/305-12:51:23 36.7 +2023/305-13:01:23 35.0 +2023/305-13:11:23 33.9 +2023/305-13:21:23 33.9 +2023/305-13:31:23 35.2 +2023/305-13:41:23 39.2 +2023/305-13:51:23 45.3 +2023/305-14:01:23 52.2 +2023/305-14:11:23 59.0 +2023/305-14:21:23 65.3 +2023/305-14:31:23 69.1 +2023/305-14:41:23 71.2 +2023/305-14:51:23 73.8 +2023/305-15:01:23 76.6 +2023/305-15:11:23 78.6 +2023/305-15:21:23 79.8 +2023/305-15:31:23 79.8 +2023/305-15:41:23 77.0 +2023/305-15:51:23 72.6 +2023/305-16:01:23 67.8 +2023/305-16:11:23 63.5 +2023/305-16:21:23 59.6 +2023/305-16:31:23 56.5 +2023/305-16:41:23 54.5 +2023/305-16:51:23 52.2 +2023/305-17:01:23 49.2 +2023/305-17:11:23 46.1 +2023/305-17:21:23 42.9 +2023/305-17:31:23 38.9 +2023/305-17:41:23 35.1 +2023/305-17:51:23 32.0 +2023/305-18:01:23 29.2 +2023/305-18:11:23 26.5 +2023/305-18:21:23 24.4 +2023/305-18:31:23 23.4 +2023/305-18:41:23 24.5 +2023/305-18:51:23 28.0 +2023/305-19:01:23 32.5 +2023/305-19:11:23 36.8 +2023/305-19:21:23 39.7 +2023/305-19:31:23 40.3 +2023/305-19:41:23 38.4 +2023/305-19:51:23 36.3 +2023/305-20:01:23 36.6 +2023/305-20:11:23 38.9 +2023/305-20:21:23 41.9 +2023/305-20:31:23 49.8 diff --git a/GeospaceDataManagement/tests/test_data/daily-geomagnetic-indices.txt b/GeospaceDataManagement/tests/test_data/daily-geomagnetic-indices.txt new file mode 100644 index 0000000..39c45e8 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/daily-geomagnetic-indices.txt @@ -0,0 +1,42 @@ +:Product: Daily Geomagnetic Data DGD.txt +:Issued: 1530 UT 01 Nov 2023 +# +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comment and suggestions to SWPC.Webmaster@noaa.gov +# +# Last 30 Days Daily Geomagnetic Data +# +# +# Middle Latitude High Latitude Estimated +# - Fredericksburg - ---- College ---- --- Planetary --- +# Date A K-indices A K-indices A K-indices +2023 10 03 6 1 2 2 1 3 2 1 1 19 2 0 2 4 5 5 3 0 8 1.33 2.67 1.67 1.33 2.33 2.33 2.33 1.67 +2023 10 04 8 2 2 2 2 2 1 2 3 19 1 1 5 5 4 2 2 2 10 2.67 2.33 2.67 2.67 2.00 1.67 2.00 3.33 +2023 10 05 11 3 4 2 3 2 1 2 2 22 3 4 3 6 4 1 1 2 16 4.33 5.00 2.33 3.00 2.00 1.00 1.33 2.33 +2023 10 06 7 2 2 2 2 1 2 1 3 10 2 3 4 1 2 3 0 2 9 2.33 2.67 2.33 1.67 1.33 1.67 1.00 3.33 +2023 10 07 -1 1 2-1-1-1-1-1-1 2 1 1 1 0 0 0 1 0 5 1.33 2.00 1.33 0.67 0.33 0.33 1.67 1.67 +2023 10 08 -1 -1-1-1-1-1-1-1-1 7 1 2 3 3 1 1 1 1 7 2.00 2.00 2.33 1.67 0.67 1.00 1.67 2.67 +2023 10 09 -1 -1-1-1-1-1-1-1-1 14 0 0 4 4 4 3 3 1 8 2.33 1.33 2.00 1.67 2.00 2.00 3.33 1.67 +2023 10 10 -1 -1-1-1-1-1-1-1-1 4 1 2 1 3 0 0 0 0 4 1.00 2.00 1.67 1.67 0.33 0.67 0.67 0.33 +2023 10 11 3 -1-1-1-1-1 0 1 2 2 0 0 1 2 1 0 0 0 4 0.67 0.67 1.33 1.33 1.00 1.00 0.67 1.00 +2023 10 12 3 -1 1 1 1 2 1 0 1 0 0 0 0 0 0 0 0 0 4 1.33 1.00 1.33 1.00 0.67 1.00 0.67 1.00 +2023 10 13 11 -1 1 3 2 3 3 3 2 15 0 3 3 3 4 4 3 1 13 1.00 2.67 3.33 2.67 3.00 3.67 2.67 2.33 +2023 10 14 6 1 1 1 3 2 1 2 1 5 1 1 1 3 1 0 2 1 8 2.00 1.67 2.00 3.00 1.67 1.00 2.67 1.00 +2023 10 15 2 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 4 0.67 0.33 1.00 0.67 0.67 0.67 1.00 2.00 +2023 10 16 3 2 0 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 4 2.00 0.33 0.67 1.00 1.33 0.67 0.33 0.33 +2023 10 17 2 0 0 0 0 2 1 1 1 0 0 0 0 0 0 0 0 0 3 0.67 0.33 0.67 1.00 1.00 0.33 0.00 0.67 +2023 10 18 8 0 2 2 2 3 3 2 2 12 0 1 0 3 5 4 1 1 9 0.33 2.00 1.33 2.33 3.00 3.00 2.33 2.33 +2023 10 19 8 2 3 2 3 2 1 1 1 24 2 4 4 6 3 4 2 1 10 2.67 3.67 2.33 2.67 1.67 1.67 1.67 1.00 +2023 10 20 8 2 2 2 2 2 1 2 3 10 1 1 3 4 3 1 1 2 8 1.33 2.33 2.33 2.33 2.00 1.00 2.33 2.67 +2023 10 21 13 3 3 4 4 2 2 1 1 39 3 5 6 6 4 5 2 2 22 4.00 4.67 5.00 3.33 2.67 3.33 1.67 1.00 +2023 10 22 7 2 1 2 2 1 2 3 1 17 1 1 4 5 4 3 2 2 8 2.33 1.67 2.33 2.33 1.33 1.67 3.00 1.67 +2023 10 23 2 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 0 3 1.00 0.33 0.33 0.33 1.00 0.67 0.67 0.67 +2023 10 24 2 1 0 0 1 1 1 1 1 3 1 0 1 2 0 1 1 1 4 0.33 0.33 0.67 1.33 0.67 1.00 1.33 1.33 +2023 10 25 3 1 0 0 1 2 1 1 1 2 0 0 0 1 1 1 1 0 4 0.67 1.00 0.33 0.67 1.00 0.67 1.33 1.67 +2023 10 26 18 2 2 2 4 4 3 4 4 29 1 2 1 6 6 5 2 1 23 2.67 2.67 2.00 4.67 4.00 3.33 4.33 4.67 +2023 10 27 9 3 4 2 2 2 1 1 1 33 3 5 4 5 3 3 3 6 11 3.33 4.00 2.67 2.33 1.67 1.67 1.33 1.00 +2023 10 28 13 1 2 2 4 4 2 2 3 86 6 6 7 7 7 6 3 3 19 1.00 3.00 3.33 4.00 4.33 3.33 3.00 3.67 +2023 10 29 21 4 3 4 4 4 3 3 3 49 4 5 6 6 6 5 3 3 28 4.67 3.67 4.67 3.67 4.00 4.00 3.33 4.00 +2023 10 30 10 3 2 1 3 3 2 2 2 31 5 2 1 6 6 3 2 2 12 4.00 2.00 1.33 3.33 3.33 1.67 2.33 2.33 +2023 10 31 6 2 2 1 2 2 2 1 1 18 2 2 3 5 5 3 1 1 9 2.67 2.33 2.00 2.67 2.67 1.33 1.67 2.00 +2023 11 01 -1 2 2 1 2 2-1-1-1 -1 1 2 3 4 4-1-1-1 9 2.33 2.67 2.33 2.67 2.33 -1.00 -1.00 -1.00 diff --git a/GeospaceDataManagement/tests/test_data/daily-solar-indices.txt b/GeospaceDataManagement/tests/test_data/daily-solar-indices.txt new file mode 100644 index 0000000..6a5f335 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/daily-solar-indices.txt @@ -0,0 +1,43 @@ +:Product: Daily Solar Data DSD.txt +:Issued: 1425 UT 01 Nov 2023 +# +# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center +# Please send comments and suggestions to SWPC.Webmaster@noaa.gov +# +# Last 30 Days Daily Solar Data +# +# Sunspot Stanford GOES15 +# Radio SESC Area Solar X-Ray ------ Flares ------ +# Flux Sunspot 10E-6 New Mean Bkgd X-Ray Optical +# Date 10.7cm Number Hemis. Regions Field Flux C M X S 1 2 3 +#--------------------------------------------------------------------------- +2023 10 02 158 146 810 1 -999 * 11 1 0 11 1 0 0 +2023 10 03 154 150 530 1 -999 * 14 0 0 14 0 0 0 +2023 10 04 155 151 630 1 -999 * 6 0 0 4 0 0 0 +2023 10 05 156 179 580 2 -999 * 10 0 0 9 0 0 0 +2023 10 06 155 138 460 0 -999 * 5 0 0 4 0 0 0 +2023 10 07 157 145 490 1 -999 * 9 1 0 11 0 0 0 +2023 10 08 157 149 570 2 -999 * 7 0 0 13 0 0 0 +2023 10 09 166 129 495 1 -999 * 16 0 0 23 1 0 0 +2023 10 10 164 120 560 1 -999 * 8 2 0 9 1 0 0 +2023 10 11 158 149 805 2 -999 * 8 0 0 6 0 0 0 +2023 10 12 157 126 580 0 -999 * 3 1 0 8 0 0 0 +2023 10 13 149 91 440 0 -999 * 5 0 0 11 0 0 0 +2023 10 14 148 100 490 1 -999 * 2 0 0 2 0 0 0 +2023 10 15 145 92 510 0 -999 * 3 0 0 4 0 0 0 +2023 10 16 144 106 430 1 -999 * 7 0 0 3 0 0 0 +2023 10 17 137 57 440 0 -999 * 2 0 0 3 0 0 0 +2023 10 18 135 54 330 0 -999 * 0 0 0 0 0 0 0 +2023 10 19 129 39 220 0 -999 * 8 0 0 1 0 0 0 +2023 10 20 126 56 180 1 -999 * 5 0 0 1 0 0 0 +2023 10 21 123 65 160 1 -999 * 2 0 0 0 0 0 0 +2023 10 22 119 48 90 1 -999 * 0 0 0 0 0 0 0 +2023 10 23 122 25 70 0 -999 * 2 0 0 4 0 0 0 +2023 10 24 121 34 40 0 -999 * 3 0 0 0 0 0 0 +2023 10 25 126 26 60 0 -999 * 10 0 0 1 0 0 0 +2023 10 26 126 57 90 2 -999 * 9 1 0 3 0 0 0 +2023 10 27 128 66 60 1 -999 * 1 0 0 0 0 0 0 +2023 10 28 128 70 80 1 -999 * 3 0 0 4 0 0 0 +2023 10 29 135 61 70 0 -999 * 8 0 0 5 0 0 0 +2023 10 30 140 62 220 0 -999 * 2 0 0 4 0 0 0 +2023 10 31 147 116 670 2 -999 * 7 0 0 1 0 0 0 diff --git a/GeospaceDataManagement/tests/test_data/dst_last_96_hrs.txt b/GeospaceDataManagement/tests/test_data/dst_last_96_hrs.txt new file mode 100644 index 0000000..1d64869 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/dst_last_96_hrs.txt @@ -0,0 +1,575 @@ + Time Predicted Dst +2023/301-21:10:16 -40.5 +2023/301-21:20:59 -39.9 +2023/301-21:30:56 -39.8 +2023/301-21:40:19 -41.0 +2023/301-21:49:52 -41.1 +2023/301-21:59:32 -41.6 +2023/301-22:09:00 -42.8 +2023/301-22:18:46 -43.0 +2023/301-22:28:40 -42.5 +2023/301-22:38:23 -42.0 +2023/301-22:48:07 -42.3 +2023/301-22:58:22 -44.2 +2023/301-23:09:04 -45.0 +2023/301-23:18:47 -43.7 +2023/301-23:27:44 -42.6 +2023/301-23:37:15 -40.3 +2023/301-23:46:57 -40.9 +2023/301-23:56:35 -43.2 +2023/302-00:05:58 -45.4 +2023/302-00:15:13 -47.8 +2023/302-00:24:46 -49.8 +2023/302-00:34:39 -50.3 +2023/302-00:44:41 -50.4 +2023/302-00:53:52 -50.4 +2023/302-01:03:19 -51.2 +2023/302-01:13:54 -51.7 +2023/302-01:25:02 -49.9 +2023/302-01:35:49 -47.6 +2023/302-01:45:21 -48.5 +2023/302-01:54:29 -51.3 +2023/302-02:04:04 -52.6 +2023/302-02:14:16 -52.1 +2023/302-02:24:34 -50.0 +2023/302-02:34:32 -47.0 +2023/302-02:44:18 -44.6 +2023/302-02:53:49 -43.8 +2023/302-03:03:59 -44.3 +2023/302-03:14:38 -45.3 +2023/302-03:24:15 -44.8 +2023/302-03:34:02 -43.4 +2023/302-03:44:28 -42.7 +2023/302-03:54:38 -42.6 +2023/302-04:04:32 -43.3 +2023/302-04:14:01 -45.4 +2023/302-04:23:39 -47.7 +2023/302-04:33:49 -48.7 +2023/302-04:44:09 -48.3 +2023/302-04:53:42 -49.1 +2023/302-05:03:23 -50.4 +2023/302-05:13:25 -51.4 +2023/302-05:23:24 -51.8 +2023/302-05:33:29 -51.3 +2023/302-05:42:46 -50.7 +2023/302-05:52:05 -50.8 +2023/302-06:02:03 -49.7 +2023/302-06:11:47 -47.7 +2023/302-06:21:47 -48.9 +2023/302-06:32:06 -48.8 +2023/302-06:42:52 -47.1 +2023/302-06:53:32 -45.3 +2023/302-07:02:27 -43.7 +2023/302-07:11:13 -41.3 +2023/302-07:20:56 -40.4 +2023/302-07:31:10 -40.5 +2023/302-07:41:02 -40.0 +2023/302-07:50:29 -40.8 +2023/302-08:00:15 -42.6 +2023/302-08:10:08 -43.3 +2023/302-08:20:07 -45.1 +2023/302-08:29:29 -49.9 +2023/302-08:39:35 -53.3 +2023/302-08:50:43 -54.7 +2023/302-09:01:09 -55.7 +2023/302-09:11:12 -56.3 +2023/302-09:20:53 -57.4 +2023/302-09:30:46 -58.9 +2023/302-09:41:31 -59.6 +2023/302-09:52:34 -59.0 +2023/302-10:02:54 -59.4 +2023/302-10:12:47 -60.9 +2023/302-10:22:16 -60.4 +2023/302-10:31:29 -59.0 +2023/302-10:40:24 -57.1 +2023/302-10:49:08 -55.2 +2023/302-10:59:04 -54.6 +2023/302-11:10:06 -55.7 +2023/302-11:20:27 -56.6 +2023/302-11:29:58 -56.4 +2023/302-11:40:34 -56.3 +2023/302-11:52:02 -56.2 +2023/302-12:02:26 -55.8 +2023/302-12:12:10 -55.8 +2023/302-12:22:29 -55.3 +2023/302-12:32:49 -54.6 +2023/302-12:42:24 -53.3 +2023/302-12:52:14 -53.0 +2023/302-13:02:35 -54.7 +2023/302-13:12:37 -55.4 +2023/302-13:22:19 -54.6 +2023/302-13:32:11 -53.1 +2023/302-13:42:40 -52.2 +2023/302-13:53:31 -51.6 +2023/302-14:03:16 -52.0 +2023/302-14:12:41 -53.3 +2023/302-14:22:53 -54.2 +2023/302-14:32:27 -54.9 +2023/302-14:42:12 -55.7 +2023/302-14:52:40 -55.9 +2023/302-15:02:32 -56.6 +2023/302-15:12:15 -56.5 +2023/302-15:22:04 -56.7 +2023/302-15:31:45 -57.1 +2023/302-15:41:45 -57.2 +2023/302-15:52:28 -56.6 +2023/302-16:02:47 -55.5 +2023/302-16:12:38 -54.1 +2023/302-16:22:53 -53.6 +2023/302-16:33:10 -53.7 +2023/302-16:43:19 -53.5 +2023/302-16:53:26 -53.9 +2023/302-17:03:26 -53.6 +2023/302-17:13:18 -53.0 +2023/302-17:23:25 -51.8 +2023/302-17:33:29 -50.8 +2023/302-17:42:58 -50.7 +2023/302-17:52:15 -50.9 +2023/302-18:02:13 -50.9 +2023/302-18:12:59 -50.6 +2023/302-18:23:24 -50.3 +2023/302-18:33:27 -49.6 +2023/302-18:43:43 -48.3 +2023/302-18:53:18 -48.5 +2023/302-19:02:53 -49.6 +2023/302-19:12:45 -50.9 +2023/302-19:22:55 -51.8 +2023/302-19:33:13 -51.9 +2023/302-19:43:06 -51.2 +2023/302-19:53:26 -50.6 +2023/302-20:03:50 -50.2 +2023/302-20:13:39 -49.6 +2023/302-20:23:19 -50.4 +2023/302-20:33:23 -50.5 +2023/302-20:43:24 -49.0 +2023/302-20:53:14 -48.0 +2023/302-21:02:48 -48.2 +2023/302-21:12:49 -48.2 +2023/302-21:22:48 -47.8 +2023/302-21:32:42 -47.5 +2023/302-21:43:13 -47.3 +2023/302-21:53:24 -47.2 +2023/302-22:03:20 -47.2 +2023/302-22:13:14 -47.0 +2023/302-22:23:09 -46.9 +2023/302-22:33:35 -46.9 +2023/302-22:43:58 -46.8 +2023/302-22:53:47 -46.7 +2023/302-23:03:40 -46.6 +2023/302-23:13:47 -46.5 +2023/302-23:24:01 -46.4 +2023/302-23:34:02 -46.1 +2023/302-23:44:01 -46.0 +2023/302-23:54:00 -46.2 +2023/303-00:03:59 -47.0 +2023/303-00:13:57 -48.3 +2023/303-00:23:52 -48.6 +2023/303-00:33:35 -48.7 +2023/303-00:43:22 -48.9 +2023/303-00:53:23 -49.0 +2023/303-01:03:26 -49.2 +2023/303-01:13:29 -49.4 +2023/303-01:23:39 -49.4 +2023/303-01:33:47 -49.5 +2023/303-01:43:47 -49.4 +2023/303-01:54:02 -49.0 +2023/303-02:04:28 -49.7 +2023/303-02:14:40 -50.4 +2023/303-02:24:48 -50.3 +2023/303-02:35:00 -50.6 +2023/303-02:45:08 -50.7 +2023/303-02:55:14 -50.2 +2023/303-03:05:11 -50.1 +2023/303-03:14:58 -49.9 +2023/303-03:24:59 -49.3 +2023/303-03:35:09 -48.6 +2023/303-03:45:09 -48.2 +2023/303-03:55:01 -47.7 +2023/303-04:04:49 -46.9 +2023/303-04:14:28 -46.7 +2023/303-04:23:42 -47.1 +2023/303-04:33:24 -47.3 +2023/303-04:44:16 -46.7 +2023/303-04:54:40 -46.6 +2023/303-05:04:25 -46.3 +2023/303-05:14:42 -45.6 +2023/303-05:24:39 -44.7 +2023/303-05:34:28 -45.7 +2023/303-05:44:48 -47.2 +2023/303-05:54:34 -47.4 +2023/303-06:03:45 -47.1 +2023/303-06:13:30 -46.7 +2023/303-06:23:47 -46.3 +2023/303-06:34:09 -46.0 +2023/303-06:44:12 -45.7 +2023/303-06:54:34 -45.5 +2023/303-07:05:28 -45.3 +2023/303-07:15:54 -45.3 +2023/303-07:25:42 -45.2 +2023/303-07:35:26 -45.0 +2023/303-07:45:14 -44.7 +2023/303-07:54:43 -44.7 +2023/303-08:04:36 -44.5 +2023/303-08:15:37 -44.4 +2023/303-08:26:16 -44.2 +2023/303-08:36:17 -43.8 +2023/303-08:46:37 -43.3 +2023/303-08:56:57 -42.9 +2023/303-09:06:59 -41.8 +2023/303-09:16:46 -40.4 +2023/303-09:26:40 -40.9 +2023/303-09:36:33 -40.8 +2023/303-09:46:39 -40.5 +2023/303-09:56:46 -40.0 +2023/303-10:05:50 -39.6 +2023/303-10:15:07 -39.8 +2023/303-10:25:15 -40.3 +2023/303-10:36:05 -40.0 +2023/303-10:46:55 -39.1 +2023/303-10:56:35 -38.2 +2023/303-11:06:29 -37.6 +2023/303-11:17:06 -37.6 +2023/303-11:27:33 -38.7 +2023/303-11:37:47 -40.1 +2023/303-11:48:02 -40.1 +2023/303-11:58:18 -39.1 +2023/303-12:08:33 -38.9 +2023/303-12:18:47 -38.9 +2023/303-12:28:50 -39.0 +2023/303-12:38:34 -39.1 +2023/303-12:47:49 -39.1 +2023/303-12:56:51 -39.3 +2023/303-13:06:15 -39.5 +2023/303-13:15:10 -40.3 +2023/303-13:24:27 -41.9 +2023/303-13:35:28 -43.1 +2023/303-13:46:56 -44.3 +2023/303-13:57:26 -45.2 +2023/303-14:06:54 -45.5 +2023/303-14:16:13 -45.6 +2023/303-14:26:05 -45.8 +2023/303-14:35:47 -46.3 +2023/303-14:45:21 -46.7 +2023/303-14:55:41 -45.8 +2023/303-15:05:49 -43.5 +2023/303-15:15:33 -41.9 +2023/303-15:25:50 -41.2 +2023/303-15:36:18 -40.7 +2023/303-15:46:13 -40.1 +2023/303-15:56:03 -39.6 +2023/303-16:05:52 -39.0 +2023/303-16:15:47 -38.5 +2023/303-16:25:30 -38.1 +2023/303-16:34:57 -38.1 +2023/303-16:44:52 -38.0 +2023/303-16:54:58 -37.8 +2023/303-17:05:04 -37.5 +2023/303-17:15:10 -37.2 +2023/303-17:25:16 -37.0 +2023/303-17:35:22 -37.7 +2023/303-17:45:28 -39.2 +2023/303-17:55:34 -39.1 +2023/303-18:05:40 -38.9 +2023/303-18:15:46 -38.8 +2023/303-18:25:52 -38.7 +2023/303-18:35:59 -38.6 +2023/303-18:46:05 -38.5 +2023/303-18:56:11 -38.4 +2023/303-19:06:17 -38.2 +2023/303-19:16:24 -38.1 +2023/303-19:26:30 -38.0 +2023/303-19:36:36 -37.9 +2023/303-19:46:43 -37.7 +2023/303-19:56:49 -37.6 +2023/303-20:06:56 -37.5 +2023/303-20:17:02 -37.4 +2023/303-20:27:09 -37.3 +2023/303-20:37:15 -37.2 +2023/303-20:47:22 -37.1 +2023/303-20:57:28 -37.0 +2023/303-21:07:35 -36.8 +2023/303-21:17:42 -36.7 +2023/303-21:27:48 -36.6 +2023/303-21:37:55 -36.5 +2023/303-21:48:02 -36.4 +2023/303-21:58:09 -36.4 +2023/303-22:08:15 -36.3 +2023/303-22:18:22 -36.2 +2023/303-22:28:29 -36.2 +2023/303-22:38:30 -36.0 +2023/303-22:48:21 -35.7 +2023/303-22:58:03 -35.4 +2023/303-23:07:40 -35.2 +2023/303-23:17:45 -35.1 +2023/303-23:28:34 -34.7 +2023/303-23:39:14 -34.1 +2023/303-23:49:20 -32.9 +2023/303-23:59:16 -32.0 +2023/304-00:08:50 -31.8 +2023/304-00:18:30 -32.0 +2023/304-00:28:32 -32.2 +2023/304-00:38:37 -32.3 +2023/304-00:48:51 -31.6 +2023/304-00:59:11 -31.1 +2023/304-01:09:31 -31.1 +2023/304-01:19:51 -32.0 +2023/304-01:30:04 -33.8 +2023/304-01:39:53 -34.8 +2023/304-01:49:31 -35.7 +2023/304-01:59:36 -36.8 +2023/304-02:09:55 -37.4 +2023/304-02:19:39 -37.3 +2023/304-02:28:53 -37.1 +2023/304-02:38:10 -36.4 +2023/304-02:47:32 -35.6 +2023/304-02:57:05 -35.1 +2023/304-03:07:09 -34.9 +2023/304-03:17:27 -34.4 +2023/304-03:27:24 -33.8 +2023/304-03:37:36 -33.4 +2023/304-03:48:12 -33.9 +2023/304-03:59:02 -34.1 +2023/304-04:09:08 -33.3 +2023/304-04:18:31 -33.2 +2023/304-04:28:56 -33.8 +2023/304-04:39:40 -33.4 +2023/304-04:49:44 -32.9 +2023/304-04:59:39 -32.3 +2023/304-05:09:33 -32.2 +2023/304-05:19:09 -32.7 +2023/304-05:29:15 -33.6 +2023/304-05:40:03 -35.2 +2023/304-05:50:51 -35.2 +2023/304-06:01:16 -33.2 +2023/304-06:11:22 -32.1 +2023/304-06:21:27 -31.7 +2023/304-06:31:27 -32.5 +2023/304-06:41:04 -33.4 +2023/304-06:50:01 -33.6 +2023/304-06:59:51 -33.7 +2023/304-07:10:17 -33.4 +2023/304-07:20:21 -33.0 +2023/304-07:30:52 -32.6 +2023/304-07:41:16 -31.9 +2023/304-07:51:04 -30.6 +2023/304-08:00:36 -30.3 +2023/304-08:10:48 -30.3 +2023/304-08:21:30 -30.7 +2023/304-08:31:45 -31.2 +2023/304-08:41:52 -31.5 +2023/304-08:51:55 -32.3 +2023/304-09:01:55 -33.4 +2023/304-09:11:48 -34.7 +2023/304-09:22:04 -36.1 +2023/304-09:32:07 -36.7 +2023/304-09:41:38 -37.7 +2023/304-09:51:40 -38.6 +2023/304-10:01:53 -39.5 +2023/304-10:12:04 -40.1 +2023/304-10:22:15 -40.7 +2023/304-10:32:22 -41.6 +2023/304-10:42:41 -42.8 +2023/304-10:52:38 -43.4 +2023/304-11:02:02 -43.9 +2023/304-11:11:36 -43.9 +2023/304-11:21:35 -43.9 +2023/304-11:32:05 -43.8 +2023/304-11:42:26 -43.2 +2023/304-11:52:18 -42.4 +2023/304-12:02:08 -42.3 +2023/304-12:12:12 -42.9 +2023/304-12:22:13 -43.2 +2023/304-12:32:04 -43.5 +2023/304-12:41:56 -43.7 +2023/304-12:51:48 -43.5 +2023/304-13:01:39 -42.9 +2023/304-13:11:31 -41.9 +2023/304-13:21:23 -40.4 +2023/304-13:31:15 -40.0 +2023/304-13:41:06 -39.7 +2023/304-13:50:58 -39.5 +2023/304-14:01:41 -39.4 +2023/304-14:12:40 -39.2 +2023/304-14:22:43 -39.1 +2023/304-14:32:42 -38.9 +2023/304-14:42:56 -38.7 +2023/304-14:53:06 -37.9 +2023/304-15:03:14 -37.1 +2023/304-15:13:24 -37.8 +2023/304-15:23:16 -38.3 +2023/304-15:32:59 -37.9 +2023/304-15:42:44 -37.4 +2023/304-15:52:41 -37.9 +2023/304-16:02:36 -38.0 +2023/304-16:12:01 -37.6 +2023/304-16:21:18 -37.2 +2023/304-16:30:41 -37.3 +2023/304-16:40:26 -37.4 +2023/304-16:51:30 -36.8 +2023/304-17:02:41 -35.7 +2023/304-17:12:50 -35.0 +2023/304-17:22:10 -34.3 +2023/304-17:31:11 -33.9 +2023/304-17:41:28 -33.8 +2023/304-17:52:13 -34.0 +2023/304-18:02:15 -34.3 +2023/304-18:12:20 -34.1 +2023/304-18:22:53 -33.4 +2023/304-18:33:30 -33.1 +2023/304-18:43:38 -33.2 +2023/304-18:53:28 -33.3 +2023/304-19:03:09 -33.0 +2023/304-19:12:34 -33.2 +2023/304-19:22:25 -34.0 +2023/304-19:32:29 -34.5 +2023/304-19:42:09 -34.7 +2023/304-19:51:45 -34.9 +2023/304-20:01:35 -35.5 +2023/304-20:11:28 -35.8 +2023/304-20:21:06 -35.6 +2023/304-20:31:13 -35.4 +2023/304-20:41:28 -35.1 +2023/304-20:51:31 -34.8 +2023/304-21:02:17 -34.1 +2023/304-21:13:17 -33.3 +2023/304-21:23:39 -33.5 +2023/304-21:33:25 -32.7 +2023/304-21:43:18 -31.8 +2023/304-21:53:33 -32.1 +2023/304-22:03:38 -33.1 +2023/304-22:13:26 -33.1 +2023/304-22:22:42 -32.6 +2023/304-22:31:36 -32.6 +2023/304-22:40:47 -32.2 +2023/304-22:50:44 -32.2 +2023/304-23:01:31 -32.2 +2023/304-23:12:28 -32.3 +2023/304-23:23:04 -32.5 +2023/304-23:33:16 -32.6 +2023/304-23:43:09 -33.0 +2023/304-23:52:58 -33.9 +2023/305-00:02:52 -34.8 +2023/305-00:13:13 -35.3 +2023/305-00:24:02 -35.6 +2023/305-00:34:28 -35.3 +2023/305-00:44:20 -35.1 +2023/305-00:54:07 -35.4 +2023/305-01:04:26 -35.2 +2023/305-01:14:37 -34.7 +2023/305-01:24:40 -34.3 +2023/305-01:34:53 -33.9 +2023/305-01:44:56 -33.9 +2023/305-01:55:02 -34.1 +2023/305-02:04:57 -34.3 +2023/305-02:14:17 -34.5 +2023/305-02:23:18 -34.3 +2023/305-02:32:56 -34.0 +2023/305-02:43:25 -33.8 +2023/305-02:53:38 -33.7 +2023/305-03:03:14 -33.2 +2023/305-03:13:19 -32.7 +2023/305-03:23:36 -34.1 +2023/305-03:33:33 -35.3 +2023/305-03:43:55 -36.3 +2023/305-03:54:10 -36.9 +2023/305-04:03:40 -37.1 +2023/305-04:13:00 -37.3 +2023/305-04:22:22 -37.4 +2023/305-04:32:07 -37.1 +2023/305-04:42:24 -36.5 +2023/305-04:52:58 -35.1 +2023/305-05:03:05 -33.8 +2023/305-05:13:20 -33.6 +2023/305-05:23:10 -32.7 +2023/305-05:32:41 -32.4 +2023/305-05:42:55 -31.7 +2023/305-05:53:34 -31.3 +2023/305-06:04:31 -30.6 +2023/305-06:14:45 -30.0 +2023/305-06:24:38 -30.2 +2023/305-06:34:35 -30.7 +2023/305-06:44:28 -31.0 +2023/305-06:54:30 -31.5 +2023/305-07:04:38 -33.7 +2023/305-07:14:19 -34.9 +2023/305-07:23:28 -35.5 +2023/305-07:33:06 -35.9 +2023/305-07:43:09 -36.5 +2023/305-07:53:08 -37.0 +2023/305-08:03:30 -37.3 +2023/305-08:14:32 -37.5 +2023/305-08:25:46 -37.8 +2023/305-08:36:32 -37.9 +2023/305-08:46:36 -38.1 +2023/305-08:55:51 -38.0 +2023/305-09:05:55 -37.5 +2023/305-09:15:58 -37.4 +2023/305-09:24:18 -37.0 +2023/305-09:33:35 -36.6 +2023/305-09:44:09 -36.6 +2023/305-09:54:45 -36.9 +2023/305-10:05:22 -36.9 +2023/305-10:16:00 -36.6 +2023/305-10:26:39 -37.3 +2023/305-10:37:12 -37.6 +2023/305-10:47:27 -37.1 +2023/305-10:57:34 -36.7 +2023/305-11:07:31 -36.3 +2023/305-11:17:13 -35.7 +2023/305-11:26:57 -35.3 +2023/305-11:36:52 -34.8 +2023/305-11:46:54 -34.1 +2023/305-11:56:35 -33.5 +2023/305-12:06:21 -32.8 +2023/305-12:17:03 -32.1 +2023/305-12:27:51 -31.8 +2023/305-12:38:10 -31.9 +2023/305-12:48:25 -32.3 +2023/305-12:58:35 -33.6 +2023/305-13:08:39 -34.8 +2023/305-13:18:23 -34.1 +2023/305-13:28:23 -33.7 +2023/305-13:38:05 -33.6 +2023/305-13:46:51 -33.6 +2023/305-13:56:08 -33.7 +2023/305-14:06:18 -33.8 +2023/305-14:16:49 -34.1 +2023/305-14:26:51 -34.4 +2023/305-14:35:57 -35.0 +2023/305-14:45:15 -35.8 +2023/305-14:54:24 -35.7 +2023/305-15:03:48 -35.3 +2023/305-15:14:11 -35.0 +2023/305-15:24:35 -34.9 +2023/305-15:34:58 -34.6 +2023/305-15:45:22 -34.3 +2023/305-15:55:47 -34.8 +2023/305-16:06:00 -34.9 +2023/305-16:16:06 -34.4 +2023/305-16:26:08 -33.9 +2023/305-16:36:18 -33.4 +2023/305-16:46:47 -33.1 +2023/305-16:56:22 -32.5 +2023/305-17:04:56 -32.4 +2023/305-17:14:42 -32.6 +2023/305-17:26:01 -32.3 +2023/305-17:35:24 -32.4 +2023/305-17:44:32 -32.6 +2023/305-17:55:52 -32.3 +2023/305-18:06:53 -31.2 +2023/305-18:16:31 -30.7 +2023/305-18:25:59 -30.9 +2023/305-18:36:19 -31.0 +2023/305-18:46:35 -30.4 +2023/305-18:56:10 -29.9 +2023/305-19:05:51 -30.0 +2023/305-19:16:12 -30.7 +2023/305-19:26:58 -31.1 +2023/305-19:36:28 -31.3 +2023/305-19:45:21 -31.9 +2023/305-19:55:19 -32.0 +2023/305-20:05:54 -31.3 +2023/305-20:16:21 -30.3 +2023/305-20:26:23 -29.5 +2023/305-20:36:29 -28.5 +2023/305-20:46:42 -28.9 diff --git a/GeospaceDataManagement/tests/test_data/f107_monthly_2009-01.txt b/GeospaceDataManagement/tests/test_data/f107_monthly_2009-01.txt new file mode 100644 index 0000000..0f1cded --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/f107_monthly_2009-01.txt @@ -0,0 +1,33 @@ +{"noaa_radio_flux": { +"samples": [{"time": "2009-01-01T00:00:00.000", "f107_adjusted": 66.6, "f107_observed": 68.9}, +{"time": "2009-01-02T00:00:00.000", "f107_adjusted": 67.6, "f107_observed": 69.9}, +{"time": "2009-01-03T00:00:00.000", "f107_adjusted": 67.2, "f107_observed": 69.5}, +{"time": "2009-01-04T00:00:00.000", "f107_adjusted": 66.6, "f107_observed": 68.8}, +{"time": "2009-01-05T00:00:00.000", "f107_adjusted": 66.9, "f107_observed": 69.2}, +{"time": "2009-01-06T00:00:00.000", "f107_adjusted": 66.5, "f107_observed": 68.7}, +{"time": "2009-01-07T00:00:00.000", "f107_adjusted": 66.7, "f107_observed": 69.0}, +{"time": "2009-01-08T00:00:00.000", "f107_adjusted": 66.5, "f107_observed": 68.7}, +{"time": "2009-01-09T00:00:00.000", "f107_adjusted": 67.4, "f107_observed": 69.7}, +{"time": "2009-01-10T00:00:00.000", "f107_adjusted": 68.5, "f107_observed": 70.9}, +{"time": "2009-01-11T00:00:00.000", "f107_adjusted": 67.7, "f107_observed": 70.0}, +{"time": "2009-01-12T00:00:00.000", "f107_adjusted": 67.0, "f107_observed": 69.3}, +{"time": "2009-01-13T00:00:00.000", "f107_adjusted": 68.2, "f107_observed": 70.5}, +{"time": "2009-01-14T00:00:00.000", "f107_adjusted": 68.9, "f107_observed": 71.2}, +{"time": "2009-01-15T00:00:00.000", "f107_adjusted": 68.8, "f107_observed": 71.1}, +{"time": "2009-01-16T00:00:00.000", "f107_adjusted": 68.5, "f107_observed": 70.8}, +{"time": "2009-01-17T00:00:00.000", "f107_adjusted": 69.6, "f107_observed": 71.9}, +{"time": "2009-01-18T00:00:00.000", "f107_adjusted": 68.8, "f107_observed": 71.1}, +{"time": "2009-01-19T00:00:00.000", "f107_adjusted": 68.6, "f107_observed": 70.8}, +{"time": "2009-01-20T00:00:00.000", "f107_adjusted": 68.1, "f107_observed": 70.4}, +{"time": "2009-01-21T00:00:00.000", "f107_adjusted": 67.2, "f107_observed": 69.4}, +{"time": "2009-01-22T00:00:00.000", "f107_adjusted": 66.9, "f107_observed": 69.0}, +{"time": "2009-01-23T00:00:00.000", "f107_adjusted": 67.8, "f107_observed": 70.0}, +{"time": "2009-01-24T00:00:00.000", "f107_adjusted": 66.6, "f107_observed": 68.8}, +{"time": "2009-01-25T00:00:00.000", "f107_adjusted": 67.7, "f107_observed": 69.8}, +{"time": "2009-01-26T00:00:00.000", "f107_adjusted": 67.8, "f107_observed": 69.9}, +{"time": "2009-01-27T00:00:00.000", "f107_adjusted": 67.6, "f107_observed": 69.7}, +{"time": "2009-01-28T00:00:00.000", "f107_adjusted": 67.4, "f107_observed": 69.5}, +{"time": "2009-01-29T00:00:00.000", "f107_adjusted": 67.3, "f107_observed": 69.3}, +{"time": "2009-01-30T00:00:00.000", "f107_adjusted": 67.1, "f107_observed": 69.1}, +{"time": "2009-01-31T00:00:00.000", "f107_adjusted": 67.4, "f107_observed": 69.4}] +}} diff --git a/GeospaceDataManagement/tests/test_data/mgii_composite_1981-11.txt b/GeospaceDataManagement/tests/test_data/mgii_composite_1981-11.txt new file mode 100644 index 0000000..a2f0cab --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/mgii_composite_1981-11.txt @@ -0,0 +1,32 @@ +{"composite_mg_index": { +"samples": [{"time": "1981-11-01T12:00:00.000", "mg_index": 0.28507999}, +{"time": "1981-11-02T12:00:00.000", "mg_index": 0.28593001}, +{"time": "1981-11-03T12:00:00.000", "mg_index": 0.28575}, +{"time": "1981-11-04T12:00:00.000", "mg_index": 0.28606001}, +{"time": "1981-11-05T12:00:00.000", "mg_index": 0.28619}, +{"time": "1981-11-06T12:00:00.000", "mg_index": 0.28536999}, +{"time": "1981-11-07T12:00:00.000", "mg_index": 0.28512999}, +{"time": "1981-11-08T12:00:00.000", "mg_index": 0.28494999}, +{"time": "1981-11-09T12:00:00.000", "mg_index": 0.28479999}, +{"time": "1981-11-10T12:00:00.000", "mg_index": 0.28476}, +{"time": "1981-11-11T12:00:00.000", "mg_index": 0.28437001}, +{"time": "1981-11-12T12:00:00.000", "mg_index": 0.28417999}, +{"time": "1981-11-13T12:00:00.000", "mg_index": 0.28415999}, +{"time": "1981-11-14T12:00:00.000", "mg_index": 0.28352001}, +{"time": "1981-11-15T12:00:00.000", "mg_index": 0.28095001}, +{"time": "1981-11-16T12:00:00.000", "mg_index": 0.27991}, +{"time": "1981-11-17T12:00:00.000", "mg_index": 0.27932999}, +{"time": "1981-11-18T12:00:00.000", "mg_index": 0.27779999}, +{"time": "1981-11-19T12:00:00.000", "mg_index": 0.27737001}, +{"time": "1981-11-20T12:00:00.000", "mg_index": 0.27680001}, +{"time": "1981-11-21T12:00:00.000", "mg_index": 0.27621999}, +{"time": "1981-11-22T12:00:00.000", "mg_index": 0.27632001}, +{"time": "1981-11-23T12:00:00.000", "mg_index": 0.27715001}, +{"time": "1981-11-24T12:00:00.000", "mg_index": 0.27801999}, +{"time": "1981-11-25T12:00:00.000", "mg_index": 0.27903}, +{"time": "1981-11-26T12:00:00.000", "mg_index": 0.28042999}, +{"time": "1981-11-27T12:00:00.000", "mg_index": 0.28198999}, +{"time": "1981-11-28T12:00:00.000", "mg_index": 0.28318}, +{"time": "1981-11-29T12:00:00.000", "mg_index": 0.28408}, +{"time": "1981-11-30T12:00:00.000", "mg_index": 0.28488001}] +}} diff --git a/GeospaceDataManagement/tests/test_data/mgii_sorce_2005-03-06.txt b/GeospaceDataManagement/tests/test_data/mgii_sorce_2005-03-06.txt new file mode 100644 index 0000000..c6c0bd6 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/mgii_sorce_2005-03-06.txt @@ -0,0 +1,20 @@ +{"sorce_mg_index": { +"samples": [{"time": "2005-03-06T01:49:00.480", "mg_index": 0.26555, "unc": 0.006454}, +{"time": "2005-03-06T02:01:32.160", "mg_index": 0.26729, "unc": 0.006337}, +{"time": "2005-03-06T03:13:40.800", "mg_index": 0.26726, "unc": 0.002008}, +{"time": "2005-03-06T06:04:10.560", "mg_index": 0.26695, "unc": 0.002009}, +{"time": "2005-03-06T06:40:36.480", "mg_index": 0.26827, "unc": 0.006307}, +{"time": "2005-03-06T06:53:08.160", "mg_index": 0.26758, "unc": 0.006332}, +{"time": "2005-03-06T12:56:44.160", "mg_index": 0.26864, "unc": 0.001999}, +{"time": "2005-03-06T14:10:10.560", "mg_index": 0.26812, "unc": 0.001994}, +{"time": "2005-03-06T14:46:45.119", "mg_index": 0.26704, "unc": 0.006361}, +{"time": "2005-03-06T14:59:16.800", "mg_index": 0.26806, "unc": 0.006313}, +{"time": "2005-03-06T16:11:08.160", "mg_index": 0.26801, "unc": 0.001997}, +{"time": "2005-03-06T19:01:46.559", "mg_index": 0.2687, "unc": 0.001989}, +{"time": "2005-03-06T19:38:29.760", "mg_index": 0.26766, "unc": 0.006343}, +{"time": "2005-03-06T19:51:01.440", "mg_index": 0.26846, "unc": 0.006295}, +{"time": "2005-03-06T20:38:58.560", "mg_index": 0.26755, "unc": 0.002012}, +{"time": "2005-03-06T22:39:56.160", "mg_index": 0.26842, "unc": 0.001993}, +{"time": "2005-03-06T22:52:45.120", "mg_index": 0.26803, "unc": 0.006319}, +{"time": "2005-03-06T23:05:16.800", "mg_index": 0.26844, "unc": 0.006296}] +}} diff --git a/GeospaceDataManagement/tests/test_data/sw/f107/all/f107_1947_to_2019-03-17.txt b/GeospaceDataManagement/tests/test_data/sw/f107/all/f107_1947_to_2019-03-17.txt deleted file mode 100644 index 7d5416d..0000000 --- a/GeospaceDataManagement/tests/test_data/sw/f107/all/f107_1947_to_2019-03-17.txt +++ /dev/null @@ -1,26083 +0,0 @@ -,f107 -1947-02-13, -1947-02-14,253.9 -1947-02-15, -1947-02-16, -1947-02-17,228.5 -1947-02-18, -1947-02-19,178.8 -1947-02-20,163.7 -1947-02-21, -1947-02-22, -1947-02-23, -1947-02-24,164.1 -1947-02-25,192.7 -1947-02-26,171.1 -1947-02-27, -1947-02-28,233.3 -1947-03-01, -1947-03-02, -1947-03-03, -1947-03-04, -1947-03-05,306.1 -1947-03-06,306.0 -1947-03-07,321.4 -1947-03-08,345.6 -1947-03-09, -1947-03-10,325.9 -1947-03-11,303.3 -1947-03-12,305.3 -1947-03-13,359.5 -1947-03-14,267.2 -1947-03-15,223.0 -1947-03-16, -1947-03-17,179.6 -1947-03-18,157.1 -1947-03-19,141.1 -1947-03-20,141.1 -1947-03-21,149.7 -1947-03-22,159.1 -1947-03-23, -1947-03-24,164.3 -1947-03-25,160.7 -1947-03-26,181.8 -1947-03-27,194.3 -1947-03-28,199.2 -1947-03-29,226.7 -1947-03-30,226.9 -1947-03-31,258.0 -1947-04-01,252.3 -1947-04-02,260.9 -1947-04-03,302.0 -1947-04-04,296.7 -1947-04-05,347.5 -1947-04-06, -1947-04-07,457.9 -1947-04-08,425.1 -1947-04-09,357.6 -1947-04-10,336.1 -1947-04-11,300.1 -1947-04-12,235.5 -1947-04-13, -1947-04-14,169.0 -1947-04-15, -1947-04-16, -1947-04-17,158.0 -1947-04-18,159.9 -1947-04-19,155.1 -1947-04-20, -1947-04-21,159.1 -1947-04-22,167.2 -1947-04-23,188.9 -1947-04-24,229.5 -1947-04-25,240.5 -1947-04-26,300.5 -1947-04-27, -1947-04-28,285.4 -1947-04-29,298.4 -1947-04-30,296.2 -1947-05-01,262.8 -1947-05-02,269.3 -1947-05-03,277.0 -1947-05-04, -1947-05-05,267.2 -1947-05-06,223.5 -1947-05-07,240.3 -1947-05-08,230.6 -1947-05-09,224.5 -1947-05-10,226.0 -1947-05-11, -1947-05-12,240.3 -1947-05-13,261.1 -1947-05-14,195.3 -1947-05-15,185.9 -1947-05-16,235.7 -1947-05-17,239.7 -1947-05-18, -1947-05-19,253.5 -1947-05-20,289.2 -1947-05-21,336.2 -1947-05-22,300.9 -1947-05-23,336.1 -1947-05-24, -1947-05-25, -1947-05-26,307.7 -1947-05-27,301.5 -1947-05-28,346.6 -1947-05-29,335.8 -1947-05-30,297.4 -1947-05-31,260.7 -1947-06-01, -1947-06-02,260.0 -1947-06-03,225.5 -1947-06-04,221.0 -1947-06-05,221.2 -1947-06-06,216.8 -1947-06-07,244.7 -1947-06-08, -1947-06-09, -1947-06-10,246.7 -1947-06-11,188.3 -1947-06-12,151.0 -1947-06-13,175.5 -1947-06-14,176.5 -1947-06-15, -1947-06-16,183.6 -1947-06-17,215.1 -1947-06-18,259.2 -1947-06-19,287.2 -1947-06-20,279.2 -1947-06-21,296.5 -1947-06-22, -1947-06-23,291.6 -1947-06-24,266.7 -1947-06-25,270.3 -1947-06-26,242.6 -1947-06-27,227.5 -1947-06-28,252.8 -1947-06-29, -1947-06-30,212.8 -1947-07-01, -1947-07-02,201.1 -1947-07-03,202.9 -1947-07-04,210.5 -1947-07-05,204.2 -1947-07-06, -1947-07-07,216.7 -1947-07-08,205.6 -1947-07-09,201.6 -1947-07-10,211.3 -1947-07-11,218.1 -1947-07-12,211.1 -1947-07-13, -1947-07-14,223.5 -1947-07-15,233.4 -1947-07-16,268.0 -1947-07-17,279.9 -1947-07-18,260.0 -1947-07-19,262.7 -1947-07-20, -1947-07-21,252.2 -1947-07-22,264.6 -1947-07-23,245.1 -1947-07-24,244.2 -1947-07-25,208.3 -1947-07-26,208.8 -1947-07-27, -1947-07-28,169.1 -1947-07-29,175.3 -1947-07-30,182.0 -1947-07-31,218.6 -1947-08-01,223.2 -1947-08-02,238.2 -1947-08-03, -1947-08-04,251.7 -1947-08-05,248.6 -1947-08-06,260.1 -1947-08-07,304.4 -1947-08-08,298.2 -1947-08-09,316.3 -1947-08-10, -1947-08-11,323.5 -1947-08-12,328.4 -1947-08-13,302.0 -1947-08-14,304.2 -1947-08-15,279.0 -1947-08-16,234.2 -1947-08-17, -1947-08-18,208.3 -1947-08-19,197.0 -1947-08-20,179.8 -1947-08-21,164.7 -1947-08-22,159.4 -1947-08-23,154.9 -1947-08-24, -1947-08-25,156.6 -1947-08-26,179.3 -1947-08-27,190.3 -1947-08-28,199.7 -1947-08-29,213.8 -1947-08-30,248.7 -1947-08-31, -1947-09-01, -1947-09-02,264.2 -1947-09-03,238.6 -1947-09-04,235.5 -1947-09-05,230.9 -1947-09-06,235.3 -1947-09-07, -1947-09-08,233.3 -1947-09-09,222.5 -1947-09-10,230.4 -1947-09-11,187.5 -1947-09-12,183.5 -1947-09-13,201.0 -1947-09-14, -1947-09-15,169.9 -1947-09-16,161.2 -1947-09-17,159.7 -1947-09-18,161.2 -1947-09-19,157.8 -1947-09-20,148.4 -1947-09-21, -1947-09-22,157.1 -1947-09-23,184.9 -1947-09-24,219.5 -1947-09-25,219.3 -1947-09-26,209.3 -1947-09-27,201.7 -1947-09-28, -1947-09-29,205.4 -1947-09-30,228.8 -1947-10-01,204.5 -1947-10-02, -1947-10-03,249.8 -1947-10-04,271.6 -1947-10-05, -1947-10-06,238.1 -1947-10-07,243.2 -1947-10-08,236.3 -1947-10-09,226.6 -1947-10-10,212.8 -1947-10-11,202.2 -1947-10-12,195.4 -1947-10-13, -1947-10-14,159.9 -1947-10-15,151.2 -1947-10-16,161.0 -1947-10-17,167.5 -1947-10-18,150.9 -1947-10-19, -1947-10-20,191.6 -1947-10-21,191.1 -1947-10-22,213.5 -1947-10-23,231.0 -1947-10-24,237.2 -1947-10-25,236.9 -1947-10-26, -1947-10-27,226.0 -1947-10-28,213.2 -1947-10-29,198.5 -1947-10-30,198.1 -1947-10-31,191.0 -1947-11-01,188.0 -1947-11-02, -1947-11-03,153.7 -1947-11-04,145.1 -1947-11-05,146.2 -1947-11-06,132.9 -1947-11-07,131.6 -1947-11-08, -1947-11-09, -1947-11-10,133.7 -1947-11-11, -1947-11-12,156.5 -1947-11-13,162.4 -1947-11-14,168.0 -1947-11-15,187.8 -1947-11-16, -1947-11-17,175.2 -1947-11-18,185.0 -1947-11-19,195.0 -1947-11-20,197.1 -1947-11-21,208.6 -1947-11-22,211.6 -1947-11-23,216.2 -1947-11-24,203.3 -1947-11-25,192.7 -1947-11-26,187.9 -1947-11-27,181.8 -1947-11-28,190.3 -1947-11-29,167.8 -1947-11-30, -1947-12-01,175.6 -1947-12-02,143.8 -1947-12-03,146.6 -1947-12-04,138.9 -1947-12-05,169.9 -1947-12-06,172.8 -1947-12-07,170.6 -1947-12-08,159.3 -1947-12-09,169.0 -1947-12-10,165.6 -1947-12-11,170.6 -1947-12-12,161.6 -1947-12-13,176.9 -1947-12-14, -1947-12-15,172.0 -1947-12-16,199.4 -1947-12-17,203.6 -1947-12-18,196.0 -1947-12-19,188.3 -1947-12-20,176.5 -1947-12-21, -1947-12-22,151.8 -1947-12-23,157.7 -1947-12-24,149.6 -1947-12-25, -1947-12-26,169.0 -1947-12-27,173.6 -1947-12-28, -1947-12-29,181.1 -1947-12-30,193.9 -1947-12-31,182.0 -1948-01-01, -1948-01-02,201.2 -1948-01-03,173.4 -1948-01-04, -1948-01-05,167.5 -1948-01-06,170.8 -1948-01-07,173.4 -1948-01-08,166.0 -1948-01-09,147.9 -1948-01-10,142.0 -1948-01-11,135.2 -1948-01-12,138.5 -1948-01-13,140.3 -1948-01-14,141.5 -1948-01-15,137.5 -1948-01-16,141.8 -1948-01-17,136.3 -1948-01-18,138.0 -1948-01-19,145.6 -1948-01-20,151.9 -1948-01-21,143.9 -1948-01-22,156.4 -1948-01-23,149.3 -1948-01-24,145.4 -1948-01-25, -1948-01-26,145.0 -1948-01-27,144.8 -1948-01-28,132.1 -1948-01-29, -1948-01-30,151.6 -1948-01-31, -1948-02-01,123.8 -1948-02-02,127.2 -1948-02-03,131.0 -1948-02-04,128.6 -1948-02-05,131.1 -1948-02-06,119.3 -1948-02-07,125.7 -1948-02-08,118.3 -1948-02-09,126.4 -1948-02-10,140.0 -1948-02-11,136.6 -1948-02-12,129.4 -1948-02-13,125.7 -1948-02-14, -1948-02-15, -1948-02-16,138.4 -1948-02-17,130.8 -1948-02-18,137.4 -1948-02-19,148.3 -1948-02-20,147.2 -1948-02-21,140.0 -1948-02-22,141.6 -1948-02-23,140.9 -1948-02-24,123.9 -1948-02-25,129.6 -1948-02-26,124.9 -1948-02-27,121.6 -1948-02-28, -1948-02-29,118.0 -1948-03-01,130.6 -1948-03-02,131.9 -1948-03-03,118.4 -1948-03-04,116.8 -1948-03-05,113.8 -1948-03-06,122.9 -1948-03-07, -1948-03-08,133.1 -1948-03-09,136.9 -1948-03-10,150.3 -1948-03-11,154.5 -1948-03-12,161.9 -1948-03-13,152.1 -1948-03-14,150.6 -1948-03-15,144.5 -1948-03-16,133.5 -1948-03-17,132.6 -1948-03-18,125.1 -1948-03-19,123.5 -1948-03-20,131.7 -1948-03-21,130.0 -1948-03-22,123.9 -1948-03-23,112.9 -1948-03-24,113.8 -1948-03-25,120.4 -1948-03-26, -1948-03-27, -1948-03-28, -1948-03-29, -1948-03-30,154.3 -1948-03-31,166.7 -1948-04-01,170.9 -1948-04-02,183.0 -1948-04-03,198.2 -1948-04-04,199.7 -1948-04-05,192.4 -1948-04-06,196.5 -1948-04-07,186.9 -1948-04-08,187.6 -1948-04-09,184.1 -1948-04-10,195.2 -1948-04-11, -1948-04-12,207.4 -1948-04-13,228.0 -1948-04-14,250.5 -1948-04-15,219.3 -1948-04-16,212.4 -1948-04-17, -1948-04-18,214.1 -1948-04-19,234.1 -1948-04-20,218.3 -1948-04-21,228.3 -1948-04-22,231.0 -1948-04-23,223.7 -1948-04-24,235.2 -1948-04-25,232.6 -1948-04-26,220.6 -1948-04-27,229.6 -1948-04-28,210.0 -1948-04-29,194.5 -1948-04-30,187.0 -1948-05-01,202.5 -1948-05-02, -1948-05-03,182.1 -1948-05-04,205.7 -1948-05-05,233.5 -1948-05-06,271.6 -1948-05-07,302.1 -1948-05-08,324.9 -1948-05-09, -1948-05-10,342.8 -1948-05-11,326.1 -1948-05-12,312.5 -1948-05-13,297.4 -1948-05-14,288.9 -1948-05-15,251.3 -1948-05-16, -1948-05-17,224.3 -1948-05-18,197.2 -1948-05-19,188.0 -1948-05-20,176.9 -1948-05-21,192.6 -1948-05-22,166.6 -1948-05-23, -1948-05-24,178.6 -1948-05-25,179.1 -1948-05-26,177.1 -1948-05-27,193.4 -1948-05-28,200.5 -1948-05-29,199.3 -1948-05-30, -1948-05-31,202.4 -1948-06-01,206.9 -1948-06-02,196.3 -1948-06-03,204.3 -1948-06-04,205.6 -1948-06-05,211.6 -1948-06-06, -1948-06-07,189.4 -1948-06-08,208.0 -1948-06-09,200.2 -1948-06-10,192.7 -1948-06-11,177.6 -1948-06-12,175.0 -1948-06-13, -1948-06-14,168.5 -1948-06-15,163.2 -1948-06-16,166.7 -1948-06-17,189.4 -1948-06-18,203.3 -1948-06-19,202.8 -1948-06-20, -1948-06-21,203.3 -1948-06-22,204.6 -1948-06-23,228.1 -1948-06-24,238.8 -1948-06-25,227.7 -1948-06-26,223.9 -1948-06-27, -1948-06-28,225.2 -1948-06-29,216.3 -1948-06-30,216.3 -1948-07-01,210.9 -1948-07-02,203.4 -1948-07-03,197.6 -1948-07-04,181.2 -1948-07-05,171.3 -1948-07-06,157.6 -1948-07-07,155.4 -1948-07-08,152.3 -1948-07-09,167.4 -1948-07-10,170.9 -1948-07-11, -1948-07-12,182.3 -1948-07-13,180.1 -1948-07-14,184.1 -1948-07-15,192.0 -1948-07-16,191.2 -1948-07-17,193.0 -1948-07-18, -1948-07-19,179.6 -1948-07-20,196.1 -1948-07-21,188.3 -1948-07-22,197.2 -1948-07-23,190.5 -1948-07-24, -1948-07-25,205.7 -1948-07-26,190.1 -1948-07-27,203.2 -1948-07-28,213.4 -1948-07-29,211.7 -1948-07-30,212.5 -1948-07-31,205.7 -1948-08-01,212.6 -1948-08-02,201.1 -1948-08-03,212.6 -1948-08-04,226.5 -1948-08-05,212.0 -1948-08-06,191.2 -1948-08-07,189.3 -1948-08-08,186.8 -1948-08-09,155.3 -1948-08-10,149.9 -1948-08-11,159.5 -1948-08-12,171.1 -1948-08-13,144.4 -1948-08-14,157.2 -1948-08-15,158.2 -1948-08-16,165.0 -1948-08-17,170.3 -1948-08-18,180.5 -1948-08-19,201.8 -1948-08-20,206.2 -1948-08-21,186.3 -1948-08-22, -1948-08-23,189.6 -1948-08-24,157.5 -1948-08-25,158.8 -1948-08-26,167.9 -1948-08-27,166.2 -1948-08-28, -1948-08-29,162.0 -1948-08-30,149.1 -1948-08-31,150.4 -1948-09-01,151.6 -1948-09-02,143.2 -1948-09-03,140.4 -1948-09-04, -1948-09-05,134.6 -1948-09-06,138.6 -1948-09-07,129.3 -1948-09-08,135.0 -1948-09-09,134.8 -1948-09-10,137.9 -1948-09-11,148.2 -1948-09-12,166.1 -1948-09-13,179.2 -1948-09-14,188.3 -1948-09-15,192.5 -1948-09-16,202.9 -1948-09-17,202.3 -1948-09-18,226.0 -1948-09-19,238.6 -1948-09-20,224.5 -1948-09-21, -1948-09-22, -1948-09-23, -1948-09-24, -1948-09-25, -1948-09-26, -1948-09-27,166.6 -1948-09-28,165.9 -1948-09-29,133.6 -1948-09-30,128.0 -1948-10-01,125.8 -1948-10-02,127.0 -1948-10-03,126.6 -1948-10-04,132.5 -1948-10-05,133.3 -1948-10-06,131.0 -1948-10-07,139.3 -1948-10-08,163.3 -1948-10-09,145.1 -1948-10-10, -1948-10-11, -1948-10-12,195.8 -1948-10-13,207.6 -1948-10-14,200.8 -1948-10-15,192.2 -1948-10-16,184.2 -1948-10-17,179.9 -1948-10-18,166.0 -1948-10-19,168.5 -1948-10-20,169.3 -1948-10-21,177.8 -1948-10-22,161.6 -1948-10-23,162.0 -1948-10-24,158.8 -1948-10-25,164.2 -1948-10-26,157.0 -1948-10-27,143.1 -1948-10-28,141.0 -1948-10-29,153.2 -1948-10-30,144.2 -1948-10-31,132.5 -1948-11-01,137.2 -1948-11-02,135.8 -1948-11-03,144.7 -1948-11-04,153.1 -1948-11-05,154.0 -1948-11-06,153.8 -1948-11-07, -1948-11-08,186.3 -1948-11-09,170.0 -1948-11-10,165.2 -1948-11-11,171.1 -1948-11-12,173.9 -1948-11-13,184.1 -1948-11-14, -1948-11-15,178.3 -1948-11-16,189.8 -1948-11-17,187.1 -1948-11-18,194.8 -1948-11-19,201.8 -1948-11-20,198.8 -1948-11-21, -1948-11-22,181.8 -1948-11-23,151.2 -1948-11-24,142.5 -1948-11-25,145.5 -1948-11-26,132.8 -1948-11-27,131.8 -1948-11-28, -1948-11-29,124.6 -1948-11-30,116.9 -1948-12-01,120.0 -1948-12-02,123.0 -1948-12-03,141.1 -1948-12-04,135.2 -1948-12-05, -1948-12-06,151.2 -1948-12-07,165.9 -1948-12-08,175.0 -1948-12-09,179.6 -1948-12-10,189.4 -1948-12-11,187.0 -1948-12-12, -1948-12-13,200.2 -1948-12-14,190.9 -1948-12-15,203.8 -1948-12-16,206.9 -1948-12-17,215.0 -1948-12-18,213.3 -1948-12-19,228.5 -1948-12-20,229.8 -1948-12-21,220.9 -1948-12-22,227.9 -1948-12-23,214.8 -1948-12-24,219.4 -1948-12-25, -1948-12-26, -1948-12-27,201.9 -1948-12-28,195.6 -1948-12-29,175.7 -1948-12-30,183.3 -1948-12-31,160.9 -1949-01-01, -1949-01-02, -1949-01-03,139.5 -1949-01-04,141.2 -1949-01-05,151.4 -1949-01-06,148.4 -1949-01-07,141.2 -1949-01-08,150.8 -1949-01-09, -1949-01-10,161.3 -1949-01-11,161.8 -1949-01-12,165.5 -1949-01-13,161.8 -1949-01-14,166.0 -1949-01-15,204.0 -1949-01-16, -1949-01-17,249.8 -1949-01-18,205.5 -1949-01-19,230.0 -1949-01-20,225.8 -1949-01-21,201.7 -1949-01-22,223.5 -1949-01-23,207.8 -1949-01-24,185.9 -1949-01-25,179.2 -1949-01-26,172.9 -1949-01-27,165.9 -1949-01-28,157.8 -1949-01-29,148.5 -1949-01-30, -1949-01-31,172.4 -1949-02-01,188.0 -1949-02-02,202.7 -1949-02-03,212.0 -1949-02-04,224.1 -1949-02-05,224.9 -1949-02-06,238.8 -1949-02-07,228.1 -1949-02-08,203.1 -1949-02-09,212.5 -1949-02-10,198.7 -1949-02-11,216.9 -1949-02-12, -1949-02-13, -1949-02-14,230.6 -1949-02-15,234.6 -1949-02-16,246.7 -1949-02-17,241.2 -1949-02-18,234.3 -1949-02-19,234.3 -1949-02-20,216.3 -1949-02-21,201.5 -1949-02-22,194.5 -1949-02-23,189.2 -1949-02-24,176.9 -1949-02-25,228.4 -1949-02-26,189.4 -1949-02-27, -1949-02-28,202.7 -1949-03-01,196.4 -1949-03-02,199.2 -1949-03-03,205.1 -1949-03-04,207.9 -1949-03-05,207.0 -1949-03-06,199.1 -1949-03-07,194.4 -1949-03-08,213.5 -1949-03-09,235.3 -1949-03-10,247.5 -1949-03-11,227.1 -1949-03-12,214.9 -1949-03-13, -1949-03-14,212.5 -1949-03-15,217.5 -1949-03-16,208.7 -1949-03-17,217.7 -1949-03-18,222.6 -1949-03-19,230.5 -1949-03-20, -1949-03-21,223.0 -1949-03-22,197.5 -1949-03-23,181.8 -1949-03-24,184.9 -1949-03-25,178.2 -1949-03-26,171.1 -1949-03-27, -1949-03-28,153.2 -1949-03-29,159.2 -1949-03-30,171.9 -1949-03-31,171.9 -1949-04-01,156.3 -1949-04-02,139.0 -1949-04-03,196.5 -1949-04-04,188.5 -1949-04-05,196.7 -1949-04-06,208.9 -1949-04-07,198.6 -1949-04-08,172.9 -1949-04-09,180.7 -1949-04-10, -1949-04-11,182.4 -1949-04-12,185.8 -1949-04-13,187.7 -1949-04-14,177.3 -1949-04-15, -1949-04-16,176.0 -1949-04-17, -1949-04-18, -1949-04-19,181.1 -1949-04-20,198.7 -1949-04-21,188.2 -1949-04-22,198.1 -1949-04-23,178.9 -1949-04-24, -1949-04-25,176.9 -1949-04-26,197.5 -1949-04-27,192.0 -1949-04-28,190.7 -1949-04-29,185.7 -1949-04-30,159.9 -1949-05-01, -1949-05-02,167.5 -1949-05-03,183.3 -1949-05-04,176.4 -1949-05-05,186.7 -1949-05-06,172.2 -1949-05-07,166.7 -1949-05-08, -1949-05-09,168.8 -1949-05-10,155.8 -1949-05-11,139.6 -1949-05-12,139.7 -1949-05-13,128.8 -1949-05-14,142.9 -1949-05-15, -1949-05-16,151.7 -1949-05-17,153.0 -1949-05-18,159.8 -1949-05-19,157.2 -1949-05-20,158.5 -1949-05-21,152.9 -1949-05-22, -1949-05-23,147.7 -1949-05-24, -1949-05-25,158.8 -1949-05-26,149.2 -1949-05-27,153.6 -1949-05-28,151.9 -1949-05-29, -1949-05-30,165.3 -1949-05-31,169.7 -1949-06-01,170.6 -1949-06-02,161.3 -1949-06-03,164.4 -1949-06-04,155.2 -1949-06-05,154.4 -1949-06-06,158.0 -1949-06-07,150.5 -1949-06-08,154.0 -1949-06-09,151.0 -1949-06-10,141.2 -1949-06-11,148.8 -1949-06-12,153.7 -1949-06-13,155.2 -1949-06-14,148.1 -1949-06-15,145.8 -1949-06-16,157.8 -1949-06-17,148.9 -1949-06-18,142.0 -1949-06-19, -1949-06-20,146.9 -1949-06-21,154.0 -1949-06-22,156.6 -1949-06-23,158.5 -1949-06-24,165.5 -1949-06-25,166.8 -1949-06-26, -1949-06-27,199.9 -1949-06-28,215.9 -1949-06-29,209.3 -1949-06-30,216.8 -1949-07-01,189.1 -1949-07-02,175.0 -1949-07-03,164.7 -1949-07-04,154.1 -1949-07-05,136.7 -1949-07-06,137.6 -1949-07-07,137.6 -1949-07-08,133.6 -1949-07-09,124.7 -1949-07-10, -1949-07-11,118.9 -1949-07-12,120.6 -1949-07-13,127.7 -1949-07-14,136.1 -1949-07-15,148.5 -1949-07-16,154.3 -1949-07-17,147.2 -1949-07-18,148.1 -1949-07-19,153.0 -1949-07-20,170.8 -1949-07-21,168.8 -1949-07-22,151.1 -1949-07-23,167.5 -1949-07-24, -1949-07-25,186.1 -1949-07-26,196.8 -1949-07-27,209.9 -1949-07-28,221.9 -1949-07-29,236.9 -1949-07-30,228.5 -1949-07-31,241.5 -1949-08-01,235.6 -1949-08-02,200.6 -1949-08-03,193.1 -1949-08-04,173.5 -1949-08-05,170.4 -1949-08-06,143.9 -1949-08-07,133.3 -1949-08-08,120.8 -1949-08-09,111.1 -1949-08-10,117.6 -1949-08-11,112.8 -1949-08-12,129.5 -1949-08-13,141.8 -1949-08-14, -1949-08-15,164.3 -1949-08-16,169.0 -1949-08-17,187.0 -1949-08-18,192.8 -1949-08-19,210.2 -1949-08-20,221.2 -1949-08-21,219.8 -1949-08-22,226.3 -1949-08-23,212.9 -1949-08-24,220.4 -1949-08-25,224.8 -1949-08-26,210.5 -1949-08-27,197.8 -1949-08-28, -1949-08-29,190.1 -1949-08-30,189.0 -1949-08-31,185.5 -1949-09-01,166.0 -1949-09-02,181.0 -1949-09-03,181.2 -1949-09-04, -1949-09-05,171.8 -1949-09-06,171.8 -1949-09-07,167.3 -1949-09-08,171.2 -1949-09-09,176.3 -1949-09-10,171.9 -1949-09-11, -1949-09-12,188.8 -1949-09-13,187.0 -1949-09-14,206.7 -1949-09-15,197.7 -1949-09-16,214.3 -1949-09-17,197.9 -1949-09-18,198.2 -1949-09-19,191.3 -1949-09-20,181.1 -1949-09-21,176.7 -1949-09-22,186.7 -1949-09-23,171.9 -1949-09-24,166.6 -1949-09-25, -1949-09-26,149.4 -1949-09-27,145.5 -1949-09-28,131.5 -1949-09-29,129.7 -1949-09-30,128.8 -1949-10-01,147.8 -1949-10-02,163.7 -1949-10-03,164.6 -1949-10-04,192.1 -1949-10-05,218.0 -1949-10-06,239.8 -1949-10-07,223.8 -1949-10-08,231.1 -1949-10-09,238.6 -1949-10-10,225.8 -1949-10-11,225.9 -1949-10-12, -1949-10-13,214.5 -1949-10-14,198.2 -1949-10-15,187.9 -1949-10-16,188.5 -1949-10-17,171.8 -1949-10-18,151.8 -1949-10-19,146.2 -1949-10-20,140.1 -1949-10-21,144.0 -1949-10-22,147.0 -1949-10-23, -1949-10-24,162.2 -1949-10-25,132.1 -1949-10-26,127.0 -1949-10-27,141.0 -1949-10-28,144.0 -1949-10-29,145.1 -1949-10-30, -1949-10-31,148.7 -1949-11-01,147.0 -1949-11-02,149.0 -1949-11-03,164.0 -1949-11-04,165.9 -1949-11-05,171.1 -1949-11-06, -1949-11-07,203.2 -1949-11-08,217.8 -1949-11-09,210.5 -1949-11-10,180.9 -1949-11-11,184.3 -1949-11-12,167.1 -1949-11-13, -1949-11-14,174.8 -1949-11-15,194.1 -1949-11-16,198.3 -1949-11-17,214.8 -1949-11-18,199.8 -1949-11-19,183.9 -1949-11-20, -1949-11-21,152.9 -1949-11-22,149.1 -1949-11-23,152.1 -1949-11-24,166.3 -1949-11-25,168.0 -1949-11-26,168.0 -1949-11-27,155.6 -1949-11-28,168.7 -1949-11-29, -1949-11-30,180.9 -1949-12-01,178.9 -1949-12-02,171.3 -1949-12-03,171.6 -1949-12-04, -1949-12-05,167.3 -1949-12-06,175.4 -1949-12-07,168.8 -1949-12-08,178.0 -1949-12-09,164.3 -1949-12-10,167.8 -1949-12-11,174.3 -1949-12-12, -1949-12-13,188.3 -1949-12-14,160.4 -1949-12-15,158.8 -1949-12-16,150.2 -1949-12-17,153.1 -1949-12-18, -1949-12-19,142.2 -1949-12-20,130.3 -1949-12-21,132.4 -1949-12-22,144.1 -1949-12-23,141.6 -1949-12-24, -1949-12-25, -1949-12-26, -1949-12-27,153.3 -1949-12-28,157.9 -1949-12-29,158.3 -1949-12-30,153.7 -1949-12-31, -1950-01-01,147.1 -1950-01-02, -1950-01-03,150.1 -1950-01-04,145.1 -1950-01-05,148.4 -1950-01-06,140.8 -1950-01-07,131.1 -1950-01-08,126.3 -1950-01-09,117.4 -1950-01-10,112.0 -1950-01-11, -1950-01-12,127.1 -1950-01-13,125.1 -1950-01-14, -1950-01-15, -1950-01-16,127.9 -1950-01-17,122.8 -1950-01-18, -1950-01-19,135.9 -1950-01-20,166.7 -1950-01-21,167.6 -1950-01-22, -1950-01-23,179.2 -1950-01-24,193.1 -1950-01-25,178.8 -1950-01-26,159.4 -1950-01-27,161.7 -1950-01-28,160.8 -1950-01-29, -1950-01-30,146.1 -1950-01-31,132.3 -1950-02-01,124.7 -1950-02-02,123.0 -1950-02-03,119.6 -1950-02-04,110.0 -1950-02-05,109.6 -1950-02-06,97.3 -1950-02-07,100.4 -1950-02-08,101.0 -1950-02-09,103.5 -1950-02-10,111.2 -1950-02-11, -1950-02-12, -1950-02-13,149.0 -1950-02-14,158.8 -1950-02-15,184.8 -1950-02-16, -1950-02-17,182.9 -1950-02-18,191.5 -1950-02-19, -1950-02-20,204.0 -1950-02-21,182.0 -1950-02-22,174.1 -1950-02-23,160.4 -1950-02-24,147.7 -1950-02-25,135.1 -1950-02-26, -1950-02-27,126.2 -1950-02-28,119.0 -1950-03-01,115.7 -1950-03-02,114.5 -1950-03-03,123.9 -1950-03-04,124.0 -1950-03-05, -1950-03-06,134.8 -1950-03-07,155.7 -1950-03-08,151.8 -1950-03-09,160.7 -1950-03-10,171.6 -1950-03-11,160.1 -1950-03-12, -1950-03-13,157.3 -1950-03-14,158.2 -1950-03-15,156.0 -1950-03-16,147.6 -1950-03-17,144.6 -1950-03-18,134.0 -1950-03-19, -1950-03-20,116.6 -1950-03-21,122.3 -1950-03-22,112.0 -1950-03-23, -1950-03-24,116.3 -1950-03-25,113.0 -1950-03-26, -1950-03-27,116.6 -1950-03-28,125.3 -1950-03-29,133.4 -1950-03-30,142.6 -1950-03-31,137.8 -1950-04-01,135.6 -1950-04-02, -1950-04-03,156.9 -1950-04-04,159.6 -1950-04-05,165.7 -1950-04-06,166.7 -1950-04-07, -1950-04-08,182.0 -1950-04-09, -1950-04-10, -1950-04-11,165.5 -1950-04-12,172.4 -1950-04-13,162.2 -1950-04-14,182.0 -1950-04-15, -1950-04-16, -1950-04-17,163.7 -1950-04-18,162.9 -1950-04-19,154.6 -1950-04-20,132.6 -1950-04-21,136.1 -1950-04-22, -1950-04-23, -1950-04-24,172.5 -1950-04-25,177.3 -1950-04-26,190.5 -1950-04-27,190.3 -1950-04-28,179.9 -1950-04-29, -1950-04-30, -1950-05-01,158.8 -1950-05-02,163.9 -1950-05-03,160.2 -1950-05-04,160.2 -1950-05-05,178.7 -1950-05-06, -1950-05-07,180.2 -1950-05-08,185.9 -1950-05-09,182.5 -1950-05-10,169.9 -1950-05-11,162.4 -1950-05-12,157.3 -1950-05-13, -1950-05-14, -1950-05-15,139.3 -1950-05-16,131.6 -1950-05-17,150.0 -1950-05-18,155.9 -1950-05-19,173.5 -1950-05-20, -1950-05-21, -1950-05-22,162.7 -1950-05-23,169.4 -1950-05-24, -1950-05-25,175.5 -1950-05-26,166.1 -1950-05-27, -1950-05-28, -1950-05-29,138.8 -1950-05-30,134.4 -1950-05-31,134.4 -1950-06-01,124.6 -1950-06-02,130.9 -1950-06-03, -1950-06-04,131.7 -1950-06-05, -1950-06-06,127.4 -1950-06-07,125.2 -1950-06-08,131.8 -1950-06-09,139.5 -1950-06-10, -1950-06-11, -1950-06-12,147.0 -1950-06-13,138.8 -1950-06-14,143.7 -1950-06-15,145.8 -1950-06-16,139.2 -1950-06-17, -1950-06-18, -1950-06-19,128.7 -1950-06-20,127.4 -1950-06-21,127.8 -1950-06-22,131.8 -1950-06-23,130.5 -1950-06-24, -1950-06-25, -1950-06-26,142.2 -1950-06-27,135.0 -1950-06-28,127.1 -1950-06-29,121.3 -1950-06-30,124.8 -1950-07-01, -1950-07-02, -1950-07-03,115.4 -1950-07-04,122.0 -1950-07-05, -1950-07-06, -1950-07-07,140.2 -1950-07-08, -1950-07-09, -1950-07-10,135.4 -1950-07-11,129.6 -1950-07-12,125.5 -1950-07-13,122.4 -1950-07-14,128.6 -1950-07-15, -1950-07-16, -1950-07-17,130.8 -1950-07-18,154.3 -1950-07-19,155.7 -1950-07-20,157.8 -1950-07-21,163.5 -1950-07-22, -1950-07-23, -1950-07-24, -1950-07-25,146.2 -1950-07-26,145.3 -1950-07-27,142.5 -1950-07-28,136.7 -1950-07-29, -1950-07-30, -1950-07-31,141.0 -1950-08-01,128.0 -1950-08-02,140.0 -1950-08-03,150.6 -1950-08-04,138.5 -1950-08-05, -1950-08-06, -1950-08-07, -1950-08-08,122.6 -1950-08-09,117.3 -1950-08-10,115.4 -1950-08-11,111.4 -1950-08-12, -1950-08-13, -1950-08-14,120.6 -1950-08-15,121.9 -1950-08-16,116.0 -1950-08-17,131.9 -1950-08-18,135.4 -1950-08-19, -1950-08-20, -1950-08-21,134.8 -1950-08-22,129.5 -1950-08-23,133.3 -1950-08-24,131.2 -1950-08-25,130.6 -1950-08-26, -1950-08-27, -1950-08-28,107.6 -1950-08-29,103.6 -1950-08-30,101.4 -1950-08-31,104.4 -1950-09-01,98.5 -1950-09-02,93.6 -1950-09-03,88.3 -1950-09-04,94.4 -1950-09-05,95.6 -1950-09-06,92.6 -1950-09-07,94.2 -1950-09-08,89.9 -1950-09-09,89.4 -1950-09-10, -1950-09-11,96.7 -1950-09-12,98.4 -1950-09-13,108.5 -1950-09-14,113.6 -1950-09-15,113.6 -1950-09-16, -1950-09-17, -1950-09-18,119.0 -1950-09-19,111.2 -1950-09-20,110.2 -1950-09-21,109.4 -1950-09-22,102.4 -1950-09-23, -1950-09-24, -1950-09-25,96.1 -1950-09-26,95.6 -1950-09-27,94.7 -1950-09-28,94.2 -1950-09-29,91.1 -1950-09-30, -1950-10-01, -1950-10-02,97.0 -1950-10-03,93.6 -1950-10-04,91.4 -1950-10-05,93.5 -1950-10-06,91.7 -1950-10-07, -1950-10-08, -1950-10-09, -1950-10-10,108.0 -1950-10-11,113.5 -1950-10-12,107.1 -1950-10-13,109.1 -1950-10-14, -1950-10-15, -1950-10-16,122.8 -1950-10-17,121.0 -1950-10-18,112.3 -1950-10-19,106.8 -1950-10-20,94.6 -1950-10-21, -1950-10-22, -1950-10-23,84.7 -1950-10-24,83.3 -1950-10-25,88.0 -1950-10-26,88.0 -1950-10-27,84.4 -1950-10-28, -1950-10-29, -1950-10-30,99.7 -1950-10-31,93.3 -1950-11-01,93.1 -1950-11-02,96.5 -1950-11-03,99.8 -1950-11-04, -1950-11-05, -1950-11-06,119.7 -1950-11-07,112.1 -1950-11-08,112.1 -1950-11-09,112.5 -1950-11-10,112.4 -1950-11-11, -1950-11-12, -1950-11-13,101.2 -1950-11-14,105.8 -1950-11-15,109.8 -1950-11-16,107.2 -1950-11-17,97.7 -1950-11-18, -1950-11-19, -1950-11-20,85.3 -1950-11-21,85.7 -1950-11-22,87.0 -1950-11-23,78.9 -1950-11-24,80.9 -1950-11-25, -1950-11-26, -1950-11-27,90.6 -1950-11-28,101.3 -1950-11-29,103.4 -1950-11-30,100.3 -1950-12-01,107.6 -1950-12-02, -1950-12-03, -1950-12-04,108.4 -1950-12-05,105.9 -1950-12-06,114.3 -1950-12-07,118.1 -1950-12-08,124.1 -1950-12-09, -1950-12-10, -1950-12-11,126.0 -1950-12-12,116.4 -1950-12-13,115.1 -1950-12-14,101.5 -1950-12-15,94.8 -1950-12-16, -1950-12-17,81.9 -1950-12-18,81.5 -1950-12-19,78.2 -1950-12-20,79.9 -1950-12-21,78.2 -1950-12-22,75.2 -1950-12-23,77.6 -1950-12-24,78.9 -1950-12-25, -1950-12-26, -1950-12-27,96.6 -1950-12-28,97.9 -1950-12-29,97.0 -1950-12-30, -1950-12-31, -1951-01-01, -1951-01-02,93.7 -1951-01-03,85.0 -1951-01-04,98.3 -1951-01-05,109.8 -1951-01-06, -1951-01-07, -1951-01-08,110.5 -1951-01-09,108.5 -1951-01-10,105.2 -1951-01-11,88.3 -1951-01-12,85.3 -1951-01-13, -1951-01-14, -1951-01-15,78.6 -1951-01-16,82.3 -1951-01-17,81.5 -1951-01-18,85.2 -1951-01-19,84.5 -1951-01-20, -1951-01-21, -1951-01-22,99.9 -1951-01-23,109.7 -1951-01-24,102.2 -1951-01-25,127.6 -1951-01-26,134.5 -1951-01-27, -1951-01-28, -1951-01-29,146.7 -1951-01-30,144.1 -1951-01-31,137.6 -1951-02-01,122.1 -1951-02-02,126.6 -1951-02-03, -1951-02-04, -1951-02-05,96.9 -1951-02-06,95.3 -1951-02-07,84.3 -1951-02-08,85.7 -1951-02-09,83.6 -1951-02-10,97.4 -1951-02-11, -1951-02-12,86.3 -1951-02-13,82.7 -1951-02-14,91.0 -1951-02-15,88.0 -1951-02-16,88.1 -1951-02-17, -1951-02-18, -1951-02-19,98.5 -1951-02-20,97.1 -1951-02-21,102.4 -1951-02-22,105.3 -1951-02-23,105.7 -1951-02-24, -1951-02-25, -1951-02-26,120.5 -1951-02-27,113.9 -1951-02-28,115.1 -1951-03-01,102.1 -1951-03-02,95.7 -1951-03-03, -1951-03-04, -1951-03-05,86.6 -1951-03-06,90.4 -1951-03-07,84.7 -1951-03-08,83.8 -1951-03-09,86.3 -1951-03-10, -1951-03-11, -1951-03-12,85.6 -1951-03-13,86.1 -1951-03-14,85.7 -1951-03-15,85.2 -1951-03-16,88.2 -1951-03-17, -1951-03-18, -1951-03-19,107.4 -1951-03-20,110.7 -1951-03-21,130.1 -1951-03-22,118.8 -1951-03-23, -1951-03-24,147.7 -1951-03-25, -1951-03-26, -1951-03-27,124.5 -1951-03-28,117.9 -1951-03-29,107.3 -1951-03-30,106.6 -1951-03-31, -1951-04-01, -1951-04-02,89.6 -1951-04-03,88.8 -1951-04-04,83.1 -1951-04-05,86.0 -1951-04-06,92.6 -1951-04-07, -1951-04-08, -1951-04-09,98.1 -1951-04-10,105.4 -1951-04-11,108.9 -1951-04-12,130.1 -1951-04-13,141.3 -1951-04-14,142.9 -1951-04-15,169.1 -1951-04-16,151.4 -1951-04-17,155.3 -1951-04-18,164.5 -1951-04-19,158.6 -1951-04-20,156.2 -1951-04-21, -1951-04-22, -1951-04-23,147.4 -1951-04-24,146.7 -1951-04-25,143.7 -1951-04-26, -1951-04-27,141.1 -1951-04-28, -1951-04-29, -1951-04-30,114.6 -1951-05-01,110.0 -1951-05-02,108.7 -1951-05-03,99.7 -1951-05-04,96.8 -1951-05-05, -1951-05-06, -1951-05-07,91.9 -1951-05-08,103.9 -1951-05-09,115.9 -1951-05-10,140.9 -1951-05-11,158.1 -1951-05-12, -1951-05-13,213.4 -1951-05-14,236.8 -1951-05-15,244.9 -1951-05-16,248.0 -1951-05-17,248.9 -1951-05-18,251.8 -1951-05-19,254.9 -1951-05-20,245.9 -1951-05-21,256.0 -1951-05-22,242.2 -1951-05-23,209.4 -1951-05-24,189.7 -1951-05-25,175.9 -1951-05-26,160.3 -1951-05-27, -1951-05-28,122.7 -1951-05-29,115.0 -1951-05-30,109.5 -1951-05-31,105.2 -1951-06-01,100.8 -1951-06-02, -1951-06-03, -1951-06-04, -1951-06-05,136.1 -1951-06-06,159.1 -1951-06-07,192.4 -1951-06-08,205.5 -1951-06-09,204.8 -1951-06-10,197.0 -1951-06-11,203.8 -1951-06-12,205.7 -1951-06-13,211.6 -1951-06-14,215.8 -1951-06-15,208.8 -1951-06-16, -1951-06-17, -1951-06-18,205.3 -1951-06-19,195.1 -1951-06-20,186.5 -1951-06-21,170.9 -1951-06-22,160.8 -1951-06-23, -1951-06-24, -1951-06-25,122.6 -1951-06-26,104.7 -1951-06-27,96.5 -1951-06-28,95.2 -1951-06-29,92.5 -1951-06-30, -1951-07-01,97.7 -1951-07-02, -1951-07-03,102.9 -1951-07-04,105.2 -1951-07-05,107.2 -1951-07-06,111.7 -1951-07-07, -1951-07-08, -1951-07-09,143.5 -1951-07-10,152.7 -1951-07-11,163.1 -1951-07-12,159.0 -1951-07-13,153.8 -1951-07-14, -1951-07-15, -1951-07-16,143.8 -1951-07-17, -1951-07-18,126.3 -1951-07-19,120.2 -1951-07-20,109.8 -1951-07-21, -1951-07-22, -1951-07-23,96.2 -1951-07-24,99.3 -1951-07-25, -1951-07-26,100.2 -1951-07-27,98.7 -1951-07-28, -1951-07-29, -1951-07-30,102.3 -1951-07-31,109.9 -1951-08-01,109.8 -1951-08-02,104.1 -1951-08-03,105.9 -1951-08-04, -1951-08-05, -1951-08-06, -1951-08-07,134.3 -1951-08-08,146.8 -1951-08-09,143.5 -1951-08-10,158.1 -1951-08-11, -1951-08-12, -1951-08-13,125.9 -1951-08-14,121.5 -1951-08-15,119.3 -1951-08-16,114.8 -1951-08-17,106.2 -1951-08-18, -1951-08-19, -1951-08-20,104.0 -1951-08-21,99.9 -1951-08-22,100.5 -1951-08-23,101.6 -1951-08-24,99.1 -1951-08-25,100.5 -1951-08-26, -1951-08-27,93.8 -1951-08-28,97.6 -1951-08-29,97.7 -1951-08-30,99.6 -1951-08-31,103.1 -1951-09-01,106.6 -1951-09-02, -1951-09-03, -1951-09-04,109.6 -1951-09-05,116.0 -1951-09-06,115.9 -1951-09-07,126.4 -1951-09-08, -1951-09-09, -1951-09-10,126.0 -1951-09-11,128.4 -1951-09-12,131.0 -1951-09-13,122.9 -1951-09-14,123.3 -1951-09-15, -1951-09-16, -1951-09-17,111.9 -1951-09-18,115.7 -1951-09-19,122.9 -1951-09-20,127.5 -1951-09-21,134.8 -1951-09-22, -1951-09-23, -1951-09-24,121.8 -1951-09-25,110.2 -1951-09-26,112.7 -1951-09-27,112.2 -1951-09-28,105.7 -1951-09-29, -1951-09-30, -1951-10-01,95.0 -1951-10-02,91.1 -1951-10-03,100.6 -1951-10-04,103.4 -1951-10-05,97.9 -1951-10-06, -1951-10-07,98.4 -1951-10-08, -1951-10-09,100.6 -1951-10-10, -1951-10-11,109.3 -1951-10-12,119.9 -1951-10-13, -1951-10-14, -1951-10-15,118.6 -1951-10-16,121.5 -1951-10-17,120.6 -1951-10-18,120.1 -1951-10-19,123.4 -1951-10-20,111.4 -1951-10-21,103.0 -1951-10-22,93.0 -1951-10-23,88.8 -1951-10-24,90.3 -1951-10-25,90.6 -1951-10-26,99.8 -1951-10-27,101.8 -1951-10-28,111.8 -1951-10-29,109.2 -1951-10-30,106.7 -1951-10-31,109.6 -1951-11-01,105.6 -1951-11-02,103.0 -1951-11-03, -1951-11-04,105.3 -1951-11-05,112.0 -1951-11-06,112.0 -1951-11-07, -1951-11-08,110.3 -1951-11-09,111.1 -1951-11-10, -1951-11-11,109.8 -1951-11-12,101.0 -1951-11-13,96.8 -1951-11-14,98.4 -1951-11-15,98.5 -1951-11-16,97.6 -1951-11-17,99.6 -1951-11-18,96.3 -1951-11-19,95.3 -1951-11-20,96.2 -1951-11-21,95.0 -1951-11-22,97.4 -1951-11-23,99.1 -1951-11-24, -1951-11-25,98.5 -1951-11-26,99.4 -1951-11-27,101.3 -1951-11-28,104.3 -1951-11-29,101.8 -1951-11-30,107.6 -1951-12-01, -1951-12-02,95.2 -1951-12-03,92.1 -1951-12-04,92.2 -1951-12-05,89.6 -1951-12-06,82.2 -1951-12-07,86.3 -1951-12-08, -1951-12-09,83.0 -1951-12-10,85.0 -1951-12-11,83.7 -1951-12-12,87.9 -1951-12-13,89.0 -1951-12-14,94.1 -1951-12-15, -1951-12-16, -1951-12-17,104.5 -1951-12-18,101.9 -1951-12-19,111.8 -1951-12-20,113.0 -1951-12-21,123.2 -1951-12-22, -1951-12-23,125.0 -1951-12-24,117.2 -1951-12-25, -1951-12-26,110.8 -1951-12-27,103.4 -1951-12-28,105.0 -1951-12-29,103.0 -1951-12-30, -1951-12-31,101.4 -1952-01-01, -1952-01-02,92.0 -1952-01-03,86.3 -1952-01-04,85.0 -1952-01-05, -1952-01-06, -1952-01-07,86.6 -1952-01-08,93.2 -1952-01-09,100.7 -1952-01-10,106.4 -1952-01-11,108.4 -1952-01-12, -1952-01-13, -1952-01-14,108.5 -1952-01-15,104.6 -1952-01-16,93.9 -1952-01-17,96.0 -1952-01-18,87.7 -1952-01-19, -1952-01-20, -1952-01-21,90.9 -1952-01-22,85.6 -1952-01-23,104.5 -1952-01-24,87.1 -1952-01-25,85.1 -1952-01-26, -1952-01-27, -1952-01-28,83.6 -1952-01-29,83.1 -1952-01-30,82.3 -1952-01-31,80.0 -1952-02-01,81.3 -1952-02-02, -1952-02-03, -1952-02-04,80.5 -1952-02-05,87.2 -1952-02-06,85.2 -1952-02-07,86.9 -1952-02-08,85.9 -1952-02-09, -1952-02-10, -1952-02-11,88.1 -1952-02-12,86.2 -1952-02-13,92.9 -1952-02-14,94.2 -1952-02-15, -1952-02-16,99.3 -1952-02-17, -1952-02-18,101.5 -1952-02-19,94.4 -1952-02-20,87.5 -1952-02-21,84.9 -1952-02-22,77.9 -1952-02-23, -1952-02-24,79.1 -1952-02-25,78.0 -1952-02-26,71.0 -1952-02-27,70.3 -1952-02-28,69.8 -1952-02-29,68.2 -1952-03-01, -1952-03-02, -1952-03-03,70.4 -1952-03-04,69.9 -1952-03-05,74.1 -1952-03-06,74.7 -1952-03-07,73.8 -1952-03-08, -1952-03-09, -1952-03-10,81.0 -1952-03-11,79.3 -1952-03-12,81.9 -1952-03-13,85.5 -1952-03-14,83.6 -1952-03-15, -1952-03-16, -1952-03-17,79.5 -1952-03-18,78.0 -1952-03-19,75.8 -1952-03-20,75.8 -1952-03-21,76.4 -1952-03-22, -1952-03-23, -1952-03-24,73.0 -1952-03-25,75.3 -1952-03-26,74.5 -1952-03-27,80.3 -1952-03-28,85.5 -1952-03-29, -1952-03-30, -1952-03-31,84.2 -1952-04-01,86.2 -1952-04-02,85.1 -1952-04-03,82.6 -1952-04-04,89.0 -1952-04-05, -1952-04-06, -1952-04-07,83.6 -1952-04-08,86.2 -1952-04-09,89.2 -1952-04-10,80.8 -1952-04-11, -1952-04-12,88.6 -1952-04-13, -1952-04-14, -1952-04-15,78.9 -1952-04-16,75.5 -1952-04-17,76.0 -1952-04-18,78.7 -1952-04-19, -1952-04-20, -1952-04-21,90.2 -1952-04-22,91.1 -1952-04-23,86.5 -1952-04-24,88.3 -1952-04-25,84.4 -1952-04-26, -1952-04-27, -1952-04-28,84.6 -1952-04-29,85.6 -1952-04-30,83.8 -1952-05-01,85.5 -1952-05-02,80.8 -1952-05-03, -1952-05-04, -1952-05-05,87.0 -1952-05-06,89.9 -1952-05-07,91.8 -1952-05-08,90.5 -1952-05-09,86.7 -1952-05-10,81.2 -1952-05-11,72.1 -1952-05-12,72.2 -1952-05-13,74.8 -1952-05-14,76.6 -1952-05-15,76.1 -1952-05-16,77.9 -1952-05-17,77.9 -1952-05-18,78.8 -1952-05-19,79.7 -1952-05-20,80.1 -1952-05-21,75.8 -1952-05-22,82.4 -1952-05-23,83.8 -1952-05-24,80.8 -1952-05-25, -1952-05-26,86.4 -1952-05-27,89.0 -1952-05-28,94.2 -1952-05-29,90.7 -1952-05-30,86.1 -1952-05-31,85.3 -1952-06-01, -1952-06-02,78.3 -1952-06-03,77.9 -1952-06-04,76.1 -1952-06-05,74.4 -1952-06-06,73.9 -1952-06-07,74.8 -1952-06-08,74.0 -1952-06-09,75.3 -1952-06-10,77.2 -1952-06-11,74.9 -1952-06-12,76.2 -1952-06-13,77.7 -1952-06-14,79.0 -1952-06-15,82.8 -1952-06-16,83.8 -1952-06-17,86.7 -1952-06-18,88.5 -1952-06-19,89.4 -1952-06-20,90.2 -1952-06-21,93.9 -1952-06-22,94.3 -1952-06-23,103.0 -1952-06-24,99.8 -1952-06-25,101.2 -1952-06-26,101.7 -1952-06-27,110.0 -1952-06-28,107.0 -1952-06-29,110.4 -1952-06-30,105.4 -1952-07-01,100.4 -1952-07-02,95.9 -1952-07-03,96.4 -1952-07-04,90.7 -1952-07-05,86.8 -1952-07-06,81.2 -1952-07-07,80.4 -1952-07-08,86.0 -1952-07-09,90.7 -1952-07-10,95.9 -1952-07-11,103.4 -1952-07-12,108.2 -1952-07-13,109.5 -1952-07-14,108.6 -1952-07-15,106.8 -1952-07-16,105.5 -1952-07-17,103.8 -1952-07-18,95.9 -1952-07-19,92.8 -1952-07-20,88.5 -1952-07-21,82.7 -1952-07-22,83.2 -1952-07-23,78.0 -1952-07-24,78.0 -1952-07-25,78.4 -1952-07-26,78.4 -1952-07-27,81.5 -1952-07-28,84.0 -1952-07-29,80.9 -1952-07-30,89.5 -1952-07-31,100.4 -1952-08-01,90.2 -1952-08-02,86.3 -1952-08-03,89.8 -1952-08-04,89.7 -1952-08-05,87.1 -1952-08-06,88.0 -1952-08-07,94.4 -1952-08-08,94.4 -1952-08-09,93.6 -1952-08-10, -1952-08-11,87.0 -1952-08-12,87.4 -1952-08-13,89.0 -1952-08-14,89.5 -1952-08-15,93.0 -1952-08-16, -1952-08-17,88.5 -1952-08-18,90.2 -1952-08-19,87.7 -1952-08-20,88.1 -1952-08-21,92.2 -1952-08-22,92.2 -1952-08-23,99.1 -1952-08-24,102.9 -1952-08-25,104.8 -1952-08-26,115.8 -1952-08-27,114.5 -1952-08-28,123.0 -1952-08-29,121.7 -1952-08-30, -1952-08-31, -1952-09-01, -1952-09-02, -1952-09-03,105.0 -1952-09-04,99.6 -1952-09-05,93.2 -1952-09-06,86.7 -1952-09-07,83.7 -1952-09-08,81.9 -1952-09-09,79.3 -1952-09-10,76.0 -1952-09-11,76.3 -1952-09-12,79.2 -1952-09-13,75.0 -1952-09-14,72.3 -1952-09-15,72.8 -1952-09-16,78.8 -1952-09-17,78.3 -1952-09-18,77.3 -1952-09-19,83.2 -1952-09-20,80.1 -1952-09-21,83.2 -1952-09-22,86.4 -1952-09-23,84.8 -1952-09-24,84.3 -1952-09-25,85.5 -1952-09-26,82.9 -1952-09-27, -1952-09-28, -1952-09-29,79.4 -1952-09-30,75.6 -1952-10-01,76.8 -1952-10-02,76.7 -1952-10-03,80.0 -1952-10-04,87.7 -1952-10-05,83.0 -1952-10-06,85.4 -1952-10-07,85.4 -1952-10-08,83.7 -1952-10-09,81.5 -1952-10-10,79.8 -1952-10-11, -1952-10-12,82.3 -1952-10-13,79.3 -1952-10-14,76.7 -1952-10-15,75.9 -1952-10-16,77.1 -1952-10-17,74.1 -1952-10-18,74.0 -1952-10-19,78.2 -1952-10-20,78.6 -1952-10-21,84.9 -1952-10-22,90.0 -1952-10-23,90.8 -1952-10-24,91.2 -1952-10-25, -1952-10-26,88.1 -1952-10-27,85.9 -1952-10-28,87.1 -1952-10-29,85.4 -1952-10-30,84.1 -1952-10-31,80.7 -1952-11-01,75.1 -1952-11-02, -1952-11-03,70.8 -1952-11-04,70.3 -1952-11-05,74.9 -1952-11-06,71.6 -1952-11-07,71.9 -1952-11-08, -1952-11-09,73.5 -1952-11-10,71.8 -1952-11-11,73.5 -1952-11-12,75.0 -1952-11-13,75.9 -1952-11-14,76.3 -1952-11-15, -1952-11-16, -1952-11-17,86.8 -1952-11-18,90.9 -1952-11-19,108.3 -1952-11-20,94.5 -1952-11-21,97.5 -1952-11-22,89.9 -1952-11-23,90.8 -1952-11-24,90.2 -1952-11-25,93.2 -1952-11-26,83.7 -1952-11-27,74.7 -1952-11-28,75.2 -1952-11-29, -1952-11-30, -1952-12-01,74.8 -1952-12-02, -1952-12-03,73.9 -1952-12-04,71.4 -1952-12-05,72.7 -1952-12-06, -1952-12-07, -1952-12-08,81.3 -1952-12-09,85.1 -1952-12-10,87.9 -1952-12-11,92.9 -1952-12-12,89.5 -1952-12-13, -1952-12-14, -1952-12-15,99.6 -1952-12-16,98.3 -1952-12-17,100.8 -1952-12-18,99.0 -1952-12-19, -1952-12-20, -1952-12-21, -1952-12-22,80.3 -1952-12-23,82.4 -1952-12-24,80.0 -1952-12-25, -1952-12-26,74.9 -1952-12-27, -1952-12-28, -1952-12-29,67.9 -1952-12-30,67.8 -1952-12-31,79.3 -1953-01-01, -1953-01-02,71.8 -1953-01-03, -1953-01-04, -1953-01-05,77.8 -1953-01-06,90.7 -1953-01-07,86.2 -1953-01-08,95.2 -1953-01-09,94.0 -1953-01-10, -1953-01-11, -1953-01-12,98.1 -1953-01-13,96.5 -1953-01-14,99.8 -1953-01-15,84.0 -1953-01-16,87.3 -1953-01-17, -1953-01-18, -1953-01-19,76.2 -1953-01-20,73.3 -1953-01-21,72.4 -1953-01-22,71.6 -1953-01-23,71.1 -1953-01-24, -1953-01-25,69.5 -1953-01-26,70.7 -1953-01-27,70.7 -1953-01-28,71.2 -1953-01-29,69.9 -1953-01-30,72.4 -1953-01-31, -1953-02-01, -1953-02-02,75.0 -1953-02-03,76.2 -1953-02-04,78.1 -1953-02-05,77.2 -1953-02-06,76.4 -1953-02-07, -1953-02-08, -1953-02-09,74.3 -1953-02-10,75.6 -1953-02-11,75.6 -1953-02-12,72.7 -1953-02-13,72.9 -1953-02-14, -1953-02-15, -1953-02-16,72.0 -1953-02-17,68.1 -1953-02-18,65.4 -1953-02-19,65.1 -1953-02-20,64.7 -1953-02-21, -1953-02-22, -1953-02-23,66.3 -1953-02-24,61.8 -1953-02-25,68.0 -1953-02-26,67.7 -1953-02-27,67.2 -1953-02-28, -1953-03-01, -1953-03-02,71.6 -1953-03-03,70.3 -1953-03-04, -1953-03-05,72.4 -1953-03-06,71.7 -1953-03-07, -1953-03-08, -1953-03-09,67.5 -1953-03-10,69.2 -1953-03-11,67.1 -1953-03-12,64.3 -1953-03-13,68.1 -1953-03-14, -1953-03-15, -1953-03-16,64.4 -1953-03-17,68.2 -1953-03-18,66.1 -1953-03-19, -1953-03-20,70.1 -1953-03-21, -1953-03-22, -1953-03-23,65.1 -1953-03-24, -1953-03-25,74.4 -1953-03-26,68.6 -1953-03-27,67.3 -1953-03-28, -1953-03-29, -1953-03-30,78.4 -1953-03-31,79.1 -1953-04-01,85.5 -1953-04-02,85.9 -1953-04-03,89.8 -1953-04-04,86.4 -1953-04-05, -1953-04-06,79.4 -1953-04-07,79.0 -1953-04-08,87.2 -1953-04-09,80.4 -1953-04-10, -1953-04-11, -1953-04-12, -1953-04-13,70.8 -1953-04-14,67.4 -1953-04-15,68.7 -1953-04-16,66.5 -1953-04-17,67.0 -1953-04-18, -1953-04-19, -1953-04-20,67.1 -1953-04-21,71.3 -1953-04-22,76.3 -1953-04-23,77.9 -1953-04-24,87.8 -1953-04-25, -1953-04-26,90.5 -1953-04-27,97.3 -1953-04-28,102.1 -1953-04-29,95.0 -1953-04-30,96.2 -1953-05-01,85.1 -1953-05-02, -1953-05-03, -1953-05-04,82.2 -1953-05-05,78.0 -1953-05-06,77.7 -1953-05-07,72.1 -1953-05-08,73.5 -1953-05-09, -1953-05-10, -1953-05-11,67.9 -1953-05-12,68.7 -1953-05-13,69.2 -1953-05-14,69.3 -1953-05-15,68.3 -1953-05-16, -1953-05-17,73.2 -1953-05-18, -1953-05-19,74.5 -1953-05-20,74.5 -1953-05-21,75.5 -1953-05-22,75.1 -1953-05-23, -1953-05-24,75.6 -1953-05-25,76.9 -1953-05-26,71.7 -1953-05-27,72.2 -1953-05-28,74.3 -1953-05-29,74.8 -1953-05-30, -1953-05-31,73.6 -1953-06-01,74.4 -1953-06-02, -1953-06-03,77.3 -1953-06-04,79.1 -1953-06-05,74.4 -1953-06-06, -1953-06-07,75.2 -1953-06-08,74.4 -1953-06-09,73.7 -1953-06-10,72.2 -1953-06-11,74.5 -1953-06-12,69.7 -1953-06-13, -1953-06-14,76.3 -1953-06-15,75.5 -1953-06-16,89.4 -1953-06-17,78.1 -1953-06-18,76.4 -1953-06-19,76.4 -1953-06-20, -1953-06-21,75.6 -1953-06-22,74.7 -1953-06-23,75.1 -1953-06-24,74.1 -1953-06-25,74.1 -1953-06-26,73.9 -1953-06-27, -1953-06-28,72.5 -1953-06-29,73.0 -1953-06-30,71.2 -1953-07-01,69.0 -1953-07-02,69.3 -1953-07-03,71.6 -1953-07-04, -1953-07-05,70.3 -1953-07-06,70.7 -1953-07-07,71.1 -1953-07-08,72.0 -1953-07-09,76.0 -1953-07-10,75.0 -1953-07-11,76.8 -1953-07-12,76.7 -1953-07-13,75.9 -1953-07-14,75.9 -1953-07-15,77.6 -1953-07-16,75.4 -1953-07-17,75.1 -1953-07-18,75.5 -1953-07-19,72.9 -1953-07-20,67.6 -1953-07-21,71.9 -1953-07-22,73.2 -1953-07-23,71.5 -1953-07-24,70.1 -1953-07-25, -1953-07-26,67.6 -1953-07-27,67.9 -1953-07-28,68.4 -1953-07-29,67.9 -1953-07-30,67.9 -1953-07-31,69.5 -1953-08-01, -1953-08-02,66.8 -1953-08-03,69.4 -1953-08-04,72.0 -1953-08-05,73.1 -1953-08-06,72.7 -1953-08-07,73.7 -1953-08-08, -1953-08-09, -1953-08-10,83.0 -1953-08-11,91.8 -1953-08-12,89.7 -1953-08-13,91.3 -1953-08-14,90.8 -1953-08-15,91.3 -1953-08-16,86.4 -1953-08-17,84.2 -1953-08-18,77.7 -1953-08-19,78.1 -1953-08-20,77.2 -1953-08-21,77.6 -1953-08-22, -1953-08-23,71.1 -1953-08-24,72.0 -1953-08-25,68.0 -1953-08-26,68.0 -1953-08-27,69.7 -1953-08-28,68.8 -1953-08-29, -1953-08-30, -1953-08-31,69.5 -1953-09-01,70.5 -1953-09-02,69.7 -1953-09-03,69.2 -1953-09-04,69.7 -1953-09-05, -1953-09-06,73.5 -1953-09-07,74.7 -1953-09-08,75.4 -1953-09-09,74.5 -1953-09-10,79.3 -1953-09-11,77.5 -1953-09-12, -1953-09-13,77.5 -1953-09-14,80.4 -1953-09-15,80.8 -1953-09-16,80.4 -1953-09-17,78.6 -1953-09-18,78.5 -1953-09-19,74.7 -1953-09-20,72.0 -1953-09-21,75.5 -1953-09-22,75.0 -1953-09-23,73.3 -1953-09-24,75.8 -1953-09-25,75.3 -1953-09-26, -1953-09-27, -1953-09-28,72.3 -1953-09-29,71.8 -1953-09-30,76.1 -1953-10-01,71.8 -1953-10-02,69.6 -1953-10-03, -1953-10-04,66.1 -1953-10-05,68.6 -1953-10-06,73.6 -1953-10-07,72.6 -1953-10-08,70.6 -1953-10-09,70.2 -1953-10-10, -1953-10-11,70.9 -1953-10-12,71.8 -1953-10-13,71.2 -1953-10-14,78.0 -1953-10-15,76.7 -1953-10-16,74.7 -1953-10-17,71.8 -1953-10-18,70.4 -1953-10-19,71.2 -1953-10-20,70.3 -1953-10-21,70.3 -1953-10-22,72.0 -1953-10-23,72.4 -1953-10-24, -1953-10-25,68.9 -1953-10-26,70.9 -1953-10-27,71.7 -1953-10-28,69.2 -1953-10-29,70.7 -1953-10-30,72.4 -1953-10-31, -1953-11-01, -1953-11-02,72.5 -1953-11-03,70.4 -1953-11-04,71.1 -1953-11-05,69.9 -1953-11-06,71.6 -1953-11-07, -1953-11-08,70.3 -1953-11-09,69.9 -1953-11-10,68.5 -1953-11-11,68.5 -1953-11-12,67.6 -1953-11-13,68.4 -1953-11-14,67.2 -1953-11-15,68.9 -1953-11-16,68.5 -1953-11-17,69.2 -1953-11-18,70.1 -1953-11-19,70.1 -1953-11-20,69.7 -1953-11-21, -1953-11-22,73.8 -1953-11-23,70.1 -1953-11-24,70.8 -1953-11-25,67.8 -1953-11-26,71.6 -1953-11-27,70.2 -1953-11-28,69.0 -1953-11-29, -1953-11-30,68.8 -1953-12-01,66.5 -1953-12-02,69.1 -1953-12-03,68.5 -1953-12-04,68.5 -1953-12-05, -1953-12-06,69.8 -1953-12-07,70.5 -1953-12-08,70.2 -1953-12-09,69.4 -1953-12-10,67.7 -1953-12-11,67.7 -1953-12-12, -1953-12-13, -1953-12-14,66.4 -1953-12-15,67.2 -1953-12-16,68.3 -1953-12-17,66.3 -1953-12-18,67.9 -1953-12-19, -1953-12-20, -1953-12-21,68.4 -1953-12-22,70.5 -1953-12-23,67.5 -1953-12-24,69.6 -1953-12-25, -1953-12-26,70.4 -1953-12-27, -1953-12-28,68.3 -1953-12-29,69.5 -1953-12-30,67.8 -1953-12-31, -1954-01-01, -1954-01-02,67.4 -1954-01-03, -1954-01-04,65.9 -1954-01-05,66.2 -1954-01-06,63.1 -1954-01-07,66.3 -1954-01-08,65.8 -1954-01-09, -1954-01-10, -1954-01-11,69.9 -1954-01-12,68.1 -1954-01-13,65.0 -1954-01-14,66.3 -1954-01-15,68.2 -1954-01-16, -1954-01-17,64.7 -1954-01-18,66.6 -1954-01-19,68.1 -1954-01-20,65.4 -1954-01-21,68.8 -1954-01-22,66.1 -1954-01-23, -1954-01-24, -1954-01-25,65.0 -1954-01-26,66.6 -1954-01-27,65.6 -1954-01-28,67.0 -1954-01-29,65.7 -1954-01-30, -1954-01-31, -1954-02-01,68.5 -1954-02-02,67.3 -1954-02-03,65.7 -1954-02-04,68.8 -1954-02-05,67.6 -1954-02-06, -1954-02-07, -1954-02-08,66.5 -1954-02-09, -1954-02-10,67.6 -1954-02-11,67.4 -1954-02-12, -1954-02-13, -1954-02-14, -1954-02-15,68.2 -1954-02-16,66.6 -1954-02-17, -1954-02-18,67.0 -1954-02-19,65.6 -1954-02-20, -1954-02-21, -1954-02-22,65.6 -1954-02-23,68.0 -1954-02-24,66.7 -1954-02-25,68.4 -1954-02-26,69.1 -1954-02-27, -1954-02-28,69.0 -1954-03-01,69.4 -1954-03-02,68.6 -1954-03-03,68.9 -1954-03-04,68.7 -1954-03-05,68.5 -1954-03-06, -1954-03-07, -1954-03-08,69.2 -1954-03-09,69.2 -1954-03-10,69.5 -1954-03-11,69.3 -1954-03-12,69.4 -1954-03-13, -1954-03-14, -1954-03-15,82.7 -1954-03-16,79.5 -1954-03-17,78.6 -1954-03-18,76.7 -1954-03-19,77.3 -1954-03-20,70.9 -1954-03-21,72.1 -1954-03-22,70.4 -1954-03-23,68.4 -1954-03-24,69.5 -1954-03-25,69.2 -1954-03-26,64.4 -1954-03-27, -1954-03-28,68.7 -1954-03-29, -1954-03-30, -1954-03-31,67.4 -1954-04-01,69.2 -1954-04-02,63.5 -1954-04-03, -1954-04-04, -1954-04-05,67.6 -1954-04-06,67.7 -1954-04-07,69.4 -1954-04-08,71.8 -1954-04-09,70.0 -1954-04-10,70.7 -1954-04-11,68.6 -1954-04-12,71.5 -1954-04-13,71.7 -1954-04-14,69.7 -1954-04-15,71.2 -1954-04-16, -1954-04-17,70.3 -1954-04-18,69.8 -1954-04-19,69.4 -1954-04-20,68.1 -1954-04-21,71.0 -1954-04-22,69.9 -1954-04-23,67.8 -1954-04-24,68.5 -1954-04-25,69.1 -1954-04-26,69.1 -1954-04-27,68.7 -1954-04-28,67.5 -1954-04-29,68.0 -1954-04-30,68.4 -1954-05-01, -1954-05-02,69.7 -1954-05-03,69.0 -1954-05-04,70.4 -1954-05-05,70.3 -1954-05-06,68.8 -1954-05-07,69.9 -1954-05-08, -1954-05-09, -1954-05-10,70.3 -1954-05-11,70.0 -1954-05-12,69.5 -1954-05-13,69.5 -1954-05-14,69.5 -1954-05-15,68.0 -1954-05-16, -1954-05-17,69.9 -1954-05-18,69.4 -1954-05-19, -1954-05-20,67.8 -1954-05-21,69.2 -1954-05-22,69.7 -1954-05-23,67.9 -1954-05-24,69.7 -1954-05-25,70.3 -1954-05-26,70.0 -1954-05-27,70.9 -1954-05-28,67.8 -1954-05-29, -1954-05-30,69.4 -1954-05-31,70.5 -1954-06-01,66.7 -1954-06-02,68.3 -1954-06-03,69.0 -1954-06-04,69.0 -1954-06-05,70.5 -1954-06-06,68.8 -1954-06-07,69.6 -1954-06-08,69.5 -1954-06-09,71.4 -1954-06-10,71.2 -1954-06-11,70.2 -1954-06-12,68.5 -1954-06-13,68.6 -1954-06-14,70.6 -1954-06-15,70.1 -1954-06-16,70.9 -1954-06-17,69.5 -1954-06-18,70.3 -1954-06-19,69.5 -1954-06-20,66.6 -1954-06-21,67.3 -1954-06-22,68.1 -1954-06-23,69.8 -1954-06-24,69.9 -1954-06-25,69.9 -1954-06-26,69.1 -1954-06-27,65.1 -1954-06-28,71.9 -1954-06-29,71.4 -1954-06-30,70.5 -1954-07-01,70.4 -1954-07-02,66.5 -1954-07-03,69.2 -1954-07-04,70.2 -1954-07-05,70.3 -1954-07-06,70.7 -1954-07-07, -1954-07-08,69.7 -1954-07-09,69.7 -1954-07-10, -1954-07-11, -1954-07-12,70.3 -1954-07-13,70.8 -1954-07-14,70.6 -1954-07-15,70.4 -1954-07-16,69.0 -1954-07-17,70.3 -1954-07-18,68.8 -1954-07-19,69.4 -1954-07-20,69.6 -1954-07-21,67.8 -1954-07-22, -1954-07-23,70.0 -1954-07-24, -1954-07-25,69.1 -1954-07-26,71.0 -1954-07-27,71.6 -1954-07-28,70.3 -1954-07-29,71.0 -1954-07-30,71.4 -1954-07-31, -1954-08-01,71.5 -1954-08-02,71.5 -1954-08-03,70.5 -1954-08-04,69.7 -1954-08-05,70.6 -1954-08-06,72.8 -1954-08-07,72.6 -1954-08-08,72.2 -1954-08-09,73.2 -1954-08-10,74.9 -1954-08-11,72.6 -1954-08-12,72.8 -1954-08-13,71.3 -1954-08-14, -1954-08-15,72.3 -1954-08-16,71.8 -1954-08-17,69.9 -1954-08-18,70.4 -1954-08-19,68.8 -1954-08-20,70.2 -1954-08-21, -1954-08-22,71.6 -1954-08-23,73.7 -1954-08-24,73.7 -1954-08-25,73.3 -1954-08-26,73.1 -1954-08-27,71.0 -1954-08-28, -1954-08-29,69.4 -1954-08-30,70.0 -1954-08-31,69.1 -1954-09-01,69.3 -1954-09-02,69.3 -1954-09-03,72.6 -1954-09-04, -1954-09-05,70.3 -1954-09-06,70.5 -1954-09-07,67.6 -1954-09-08,69.4 -1954-09-09,71.8 -1954-09-10,70.5 -1954-09-11, -1954-09-12,71.3 -1954-09-13,68.0 -1954-09-14,70.8 -1954-09-15,70.0 -1954-09-16,69.9 -1954-09-17,71.2 -1954-09-18, -1954-09-19, -1954-09-20,72.5 -1954-09-21,70.3 -1954-09-22,70.3 -1954-09-23,72.0 -1954-09-24,71.2 -1954-09-25, -1954-09-26,70.6 -1954-09-27,71.8 -1954-09-28,71.8 -1954-09-29,73.3 -1954-09-30,74.8 -1954-10-01,74.2 -1954-10-02, -1954-10-03,66.5 -1954-10-04,73.5 -1954-10-05,75.9 -1954-10-06,76.2 -1954-10-07,74.9 -1954-10-08,75.4 -1954-10-09,74.4 -1954-10-10, -1954-10-11, -1954-10-12,72.4 -1954-10-13,74.2 -1954-10-14,75.1 -1954-10-15,73.5 -1954-10-16, -1954-10-17,74.9 -1954-10-18,74.1 -1954-10-19,72.8 -1954-10-20,73.8 -1954-10-21,70.8 -1954-10-22,71.0 -1954-10-23, -1954-10-24,70.6 -1954-10-25,72.0 -1954-10-26,72.0 -1954-10-27,69.3 -1954-10-28,70.8 -1954-10-29,68.7 -1954-10-30, -1954-10-31,69.4 -1954-11-01,69.2 -1954-11-02,69.5 -1954-11-03,61.6 -1954-11-04,66.6 -1954-11-05,68.2 -1954-11-06, -1954-11-07, -1954-11-08,72.9 -1954-11-09,76.2 -1954-11-10,78.9 -1954-11-11,82.0 -1954-11-12,77.6 -1954-11-13, -1954-11-14, -1954-11-15,74.7 -1954-11-16,72.7 -1954-11-17,71.7 -1954-11-18,71.4 -1954-11-19,70.4 -1954-11-20, -1954-11-21,67.5 -1954-11-22,66.9 -1954-11-23,69.9 -1954-11-24,70.5 -1954-11-25,68.9 -1954-11-26,67.0 -1954-11-27, -1954-11-28, -1954-11-29,67.3 -1954-11-30,70.8 -1954-12-01,74.6 -1954-12-02,73.7 -1954-12-03,71.4 -1954-12-04, -1954-12-05,72.8 -1954-12-06,69.3 -1954-12-07,70.5 -1954-12-08,69.9 -1954-12-09,71.4 -1954-12-10,69.0 -1954-12-11, -1954-12-12,71.5 -1954-12-13,70.7 -1954-12-14,72.6 -1954-12-15,77.9 -1954-12-16,78.8 -1954-12-17,75.6 -1954-12-18, -1954-12-19,76.1 -1954-12-20,74.7 -1954-12-21,73.3 -1954-12-22,72.9 -1954-12-23,74.1 -1954-12-24,74.6 -1954-12-25, -1954-12-26,72.4 -1954-12-27,70.6 -1954-12-28, -1954-12-29,71.2 -1954-12-30,74.0 -1954-12-31,76.8 -1955-01-01, -1955-01-02,72.6 -1955-01-03,72.2 -1955-01-04,77.5 -1955-01-05,83.9 -1955-01-06,94.3 -1955-01-07,98.4 -1955-01-08, -1955-01-09,95.8 -1955-01-10,91.5 -1955-01-11,93.3 -1955-01-12,93.8 -1955-01-13,90.2 -1955-01-14,89.2 -1955-01-15, -1955-01-16,83.4 -1955-01-17,81.7 -1955-01-18,79.1 -1955-01-19,79.1 -1955-01-20,74.1 -1955-01-21,71.6 -1955-01-22,72.2 -1955-01-23,72.4 -1955-01-24,77.0 -1955-01-25,77.1 -1955-01-26,76.5 -1955-01-27,71.8 -1955-01-28,75.4 -1955-01-29,77.3 -1955-01-30, -1955-01-31,80.1 -1955-02-01,79.2 -1955-02-02,80.8 -1955-02-03,83.8 -1955-02-04,84.8 -1955-02-05,80.2 -1955-02-06,82.0 -1955-02-07,83.9 -1955-02-08,85.7 -1955-02-09,86.8 -1955-02-10,80.5 -1955-02-11,77.8 -1955-02-12, -1955-02-13,83.1 -1955-02-14,79.1 -1955-02-15,78.4 -1955-02-16,74.8 -1955-02-17,72.2 -1955-02-18,75.0 -1955-02-19,75.8 -1955-02-20,80.8 -1955-02-21,77.7 -1955-02-22,74.8 -1955-02-23,81.5 -1955-02-24,82.5 -1955-02-25,80.1 -1955-02-26,79.4 -1955-02-27, -1955-02-28,77.5 -1955-03-01, -1955-03-02,75.8 -1955-03-03,76.5 -1955-03-04,73.6 -1955-03-05,77.3 -1955-03-06,76.2 -1955-03-07,73.4 -1955-03-08,73.2 -1955-03-09,73.4 -1955-03-10,77.2 -1955-03-11,71.9 -1955-03-12,72.6 -1955-03-13, -1955-03-14,73.6 -1955-03-15,73.4 -1955-03-16,73.7 -1955-03-17,70.9 -1955-03-18,73.5 -1955-03-19, -1955-03-20,74.1 -1955-03-21,72.7 -1955-03-22, -1955-03-23,71.3 -1955-03-24,71.3 -1955-03-25,73.9 -1955-03-26, -1955-03-27, -1955-03-28, -1955-03-29,75.1 -1955-03-30,74.8 -1955-03-31,75.9 -1955-04-01,77.1 -1955-04-02,77.9 -1955-04-03,77.3 -1955-04-04,77.3 -1955-04-05,81.3 -1955-04-06,83.1 -1955-04-07,79.3 -1955-04-08, -1955-04-09,79.2 -1955-04-10,76.8 -1955-04-11,78.7 -1955-04-12,76.3 -1955-04-13,76.0 -1955-04-14,74.6 -1955-04-15,80.2 -1955-04-16, -1955-04-17,75.8 -1955-04-18,76.3 -1955-04-19,75.0 -1955-04-20,76.5 -1955-04-21,76.2 -1955-04-22,76.5 -1955-04-23,76.7 -1955-04-24,76.5 -1955-04-25,74.1 -1955-04-26,76.3 -1955-04-27,82.1 -1955-04-28,80.1 -1955-04-29,81.3 -1955-04-30,80.7 -1955-05-01,82.4 -1955-05-02,81.1 -1955-05-03,84.5 -1955-05-04,84.0 -1955-05-05,84.3 -1955-05-06,84.7 -1955-05-07, -1955-05-08, -1955-05-09,79.4 -1955-05-10,79.3 -1955-05-11,76.5 -1955-05-12,76.6 -1955-05-13,75.1 -1955-05-14,73.6 -1955-05-15, -1955-05-16,75.7 -1955-05-17,81.7 -1955-05-18,79.5 -1955-05-19,79.7 -1955-05-20,88.0 -1955-05-21,96.0 -1955-05-22,94.6 -1955-05-23,93.7 -1955-05-24,92.7 -1955-05-25,93.4 -1955-05-26,93.7 -1955-05-27,95.4 -1955-05-28,89.5 -1955-05-29,89.8 -1955-05-30,81.4 -1955-05-31,82.9 -1955-06-01,82.0 -1955-06-02,82.0 -1955-06-03,81.8 -1955-06-04,81.5 -1955-06-05,81.1 -1955-06-06,78.2 -1955-06-07,77.3 -1955-06-08,81.7 -1955-06-09,87.0 -1955-06-10,88.3 -1955-06-11,95.1 -1955-06-12, -1955-06-13,100.2 -1955-06-14,105.7 -1955-06-15,105.3 -1955-06-16,111.7 -1955-06-17,110.6 -1955-06-18,107.3 -1955-06-19,108.7 -1955-06-20,110.5 -1955-06-21,105.0 -1955-06-22,93.8 -1955-06-23,96.2 -1955-06-24,85.6 -1955-06-25,80.4 -1955-06-26, -1955-06-27,81.4 -1955-06-28,79.5 -1955-06-29,83.0 -1955-06-30,84.7 -1955-07-01,90.8 -1955-07-02,91.6 -1955-07-03,95.1 -1955-07-04,93.9 -1955-07-05,98.0 -1955-07-06,105.0 -1955-07-07,106.1 -1955-07-08,105.6 -1955-07-09,104.7 -1955-07-10,104.4 -1955-07-11,99.9 -1955-07-12,100.2 -1955-07-13,96.5 -1955-07-14,93.2 -1955-07-15,91.5 -1955-07-16,88.2 -1955-07-17,86.1 -1955-07-18,83.9 -1955-07-19,84.8 -1955-07-20,84.6 -1955-07-21,80.6 -1955-07-22,79.6 -1955-07-23,78.3 -1955-07-24,75.6 -1955-07-25,76.1 -1955-07-26,76.3 -1955-07-27, -1955-07-28,78.2 -1955-07-29,81.5 -1955-07-30,83.6 -1955-07-31, -1955-08-01,85.4 -1955-08-02,83.3 -1955-08-03,86.8 -1955-08-04,87.6 -1955-08-05,92.5 -1955-08-06, -1955-08-07,106.2 -1955-08-08,114.0 -1955-08-09,127.9 -1955-08-10,120.3 -1955-08-11,116.1 -1955-08-12,112.8 -1955-08-13, -1955-08-14,103.8 -1955-08-15,98.0 -1955-08-16,93.1 -1955-08-17,89.1 -1955-08-18,80.7 -1955-08-19,80.6 -1955-08-20,80.2 -1955-08-21,78.4 -1955-08-22,80.5 -1955-08-23,78.3 -1955-08-24,77.4 -1955-08-25,77.4 -1955-08-26,81.3 -1955-08-27, -1955-08-28,86.9 -1955-08-29,87.4 -1955-08-30,93.0 -1955-08-31,102.7 -1955-09-01,102.9 -1955-09-02,106.0 -1955-09-03,109.3 -1955-09-04, -1955-09-05,112.3 -1955-09-06,110.6 -1955-09-07,108.7 -1955-09-08,112.2 -1955-09-09,112.1 -1955-09-10,107.7 -1955-09-11,99.7 -1955-09-12,98.4 -1955-09-13,98.4 -1955-09-14,94.9 -1955-09-15,90.0 -1955-09-16,85.6 -1955-09-17,86.5 -1955-09-18,85.1 -1955-09-19,85.5 -1955-09-20,84.6 -1955-09-21,81.9 -1955-09-22,81.0 -1955-09-23,81.5 -1955-09-24, -1955-09-25,87.4 -1955-09-26,87.4 -1955-09-27,92.1 -1955-09-28,93.4 -1955-09-29,97.2 -1955-09-30,98.4 -1955-10-01,98.0 -1955-10-02,101.3 -1955-10-03,113.6 -1955-10-04,118.6 -1955-10-05, -1955-10-06, -1955-10-07,125.0 -1955-10-08,112.8 -1955-10-09,115.3 -1955-10-10,120.2 -1955-10-11,113.9 -1955-10-12, -1955-10-13,99.2 -1955-10-14,95.7 -1955-10-15,86.2 -1955-10-16,85.8 -1955-10-17,78.8 -1955-10-18,84.4 -1955-10-19,87.0 -1955-10-20,87.3 -1955-10-21,93.8 -1955-10-22,95.9 -1955-10-23,104.1 -1955-10-24,112.6 -1955-10-25,133.0 -1955-10-26,138.0 -1955-10-27,137.5 -1955-10-28,139.3 -1955-10-29,142.9 -1955-10-30,139.1 -1955-10-31,148.3 -1955-11-01,151.7 -1955-11-02,134.1 -1955-11-03,120.4 -1955-11-04,115.6 -1955-11-05,108.3 -1955-11-06,106.9 -1955-11-07,115.1 -1955-11-08,119.7 -1955-11-09,123.8 -1955-11-10,129.3 -1955-11-11,132.8 -1955-11-12,138.2 -1955-11-13,130.0 -1955-11-14,125.6 -1955-11-15,130.1 -1955-11-16,132.7 -1955-11-17,129.3 -1955-11-18,126.7 -1955-11-19,129.6 -1955-11-20,130.1 -1955-11-21,122.3 -1955-11-22,120.7 -1955-11-23,121.6 -1955-11-24,122.1 -1955-11-25,125.9 -1955-11-26,133.3 -1955-11-27,134.2 -1955-11-28,133.2 -1955-11-29,129.8 -1955-11-30,141.8 -1955-12-01,134.3 -1955-12-02,136.0 -1955-12-03,132.6 -1955-12-04,143.4 -1955-12-05,144.7 -1955-12-06,145.7 -1955-12-07,141.0 -1955-12-08,138.2 -1955-12-09,136.3 -1955-12-10,132.6 -1955-12-11,144.3 -1955-12-12,138.9 -1955-12-13,131.2 -1955-12-14,134.0 -1955-12-15,135.1 -1955-12-16,137.4 -1955-12-17,133.7 -1955-12-18,130.9 -1955-12-19,129.9 -1955-12-20,128.6 -1955-12-21,116.8 -1955-12-22,120.4 -1955-12-23,115.3 -1955-12-24,113.1 -1955-12-25,113.1 -1955-12-26,111.7 -1955-12-27,120.5 -1955-12-28,120.5 -1955-12-29,122.0 -1955-12-30,132.9 -1955-12-31,126.7 -1956-01-01, -1956-01-02,125.9 -1956-01-03,122.9 -1956-01-04,121.0 -1956-01-05,114.1 -1956-01-06,118.0 -1956-01-07,121.9 -1956-01-08,119.9 -1956-01-09,114.0 -1956-01-10,110.0 -1956-01-11,114.0 -1956-01-12,121.8 -1956-01-13,132.6 -1956-01-14,133.6 -1956-01-15,153.0 -1956-01-16,158.0 -1956-01-17,166.9 -1956-01-18,173.7 -1956-01-19,170.8 -1956-01-20,169.8 -1956-01-21,170.8 -1956-01-22,177.5 -1956-01-23,173.6 -1956-01-24,170.6 -1956-01-25,150.0 -1956-01-26,134.3 -1956-01-27,121.7 -1956-01-28,118.8 -1956-01-29,107.0 -1956-01-30,105.0 -1956-01-31,108.1 -1956-02-01,111.9 -1956-02-02,113.9 -1956-02-03,113.9 -1956-02-04,114.0 -1956-02-05,104.2 -1956-02-06,101.2 -1956-02-07,105.3 -1956-02-08,107.0 -1956-02-09,113.9 -1956-02-10,118.9 -1956-02-11,130.7 -1956-02-12,151.3 -1956-02-13,160.4 -1956-02-14,182.0 -1956-02-15,215.2 -1956-02-16,236.1 -1956-02-17,244.0 -1956-02-18,247.2 -1956-02-19,244.2 -1956-02-20,240.5 -1956-02-21,232.7 -1956-02-22,216.7 -1956-02-23,201.1 -1956-02-24,175.5 -1956-02-25, -1956-02-26,152.0 -1956-02-27,140.3 -1956-02-28,141.3 -1956-02-29,155.3 -1956-03-01,151.1 -1956-03-02,157.2 -1956-03-03,151.3 -1956-03-04,144.5 -1956-03-05,142.5 -1956-03-06,146.7 -1956-03-07,147.6 -1956-03-08, -1956-03-09,152.6 -1956-03-10,156.7 -1956-03-11,154.7 -1956-03-12, -1956-03-13,161.8 -1956-03-14,173.9 -1956-03-15,170.8 -1956-03-16,165.0 -1956-03-17,166.0 -1956-03-18,168.1 -1956-03-19,170.3 -1956-03-20,162.3 -1956-03-21,162.5 -1956-03-22,162.3 -1956-03-23,168.5 -1956-03-24,163.5 -1956-03-25,156.7 -1956-03-26,153.8 -1956-03-27,160.8 -1956-03-28,163.0 -1956-03-29,168.0 -1956-03-30,154.2 -1956-03-31,155.2 -1956-04-01, -1956-04-02,135.1 -1956-04-03,129.3 -1956-04-04,136.4 -1956-04-05,134.4 -1956-04-06,145.6 -1956-04-07, -1956-04-08,164.8 -1956-04-09,175.9 -1956-04-10,189.1 -1956-04-11,186.3 -1956-04-12,187.3 -1956-04-13,194.5 -1956-04-14,199.6 -1956-04-15, -1956-04-16,195.6 -1956-04-17,192.7 -1956-04-18,192.9 -1956-04-19,180.8 -1956-04-20,176.9 -1956-04-21,190.1 -1956-04-22,189.2 -1956-04-23,165.0 -1956-04-24,168.2 -1956-04-25,154.0 -1956-04-26,158.2 -1956-04-27,139.1 -1956-04-28, -1956-04-29,127.0 -1956-04-30,138.2 -1956-05-01,153.6 -1956-05-02,160.7 -1956-05-03,159.8 -1956-05-04,159.8 -1956-05-05,165.1 -1956-05-06,167.1 -1956-05-07,168.3 -1956-05-08,169.3 -1956-05-09,172.4 -1956-05-10,182.8 -1956-05-11,180.7 -1956-05-12,181.9 -1956-05-13,178.9 -1956-05-14,170.8 -1956-05-15,164.5 -1956-05-16,159.6 -1956-05-17,164.7 -1956-05-18,174.1 -1956-05-19,172.0 -1956-05-20,180.2 -1956-05-21,166.0 -1956-05-22,159.9 -1956-05-23,150.8 -1956-05-24,150.8 -1956-05-25,157.0 -1956-05-26,163.3 -1956-05-27,161.2 -1956-05-28,169.5 -1956-05-29,182.0 -1956-05-30,171.7 -1956-05-31,159.3 -1956-06-01,159.5 -1956-06-02,152.3 -1956-06-03,152.3 -1956-06-04,153.3 -1956-06-05,153.5 -1956-06-06,151.4 -1956-06-07,150.4 -1956-06-08,145.2 -1956-06-09,142.3 -1956-06-10,138.2 -1956-06-11,141.2 -1956-06-12,141.2 -1956-06-13,151.7 -1956-06-14,151.7 -1956-06-15,165.1 -1956-06-16,163.1 -1956-06-17,164.1 -1956-06-18,176.6 -1956-06-19,184.9 -1956-06-20,193.2 -1956-06-21,193.2 -1956-06-22,188.0 -1956-06-23,175.6 -1956-06-24,178.7 -1956-06-25,163.2 -1956-06-26,142.7 -1956-06-27,138.6 -1956-06-28,143.7 -1956-06-29,153.0 -1956-06-30, -1956-07-01, -1956-07-02, -1956-07-03,162.3 -1956-07-04,157.2 -1956-07-05,163.4 -1956-07-06,161.3 -1956-07-07,171.6 -1956-07-08,179.9 -1956-07-09,177.8 -1956-07-10,174.7 -1956-07-11,185.1 -1956-07-12,198.3 -1956-07-13,189.0 -1956-07-14, -1956-07-15,166.3 -1956-07-16,159.1 -1956-07-17,150.8 -1956-07-18,150.8 -1956-07-19,148.8 -1956-07-20,148.8 -1956-07-21,161.0 -1956-07-22,170.3 -1956-07-23,186.8 -1956-07-24,177.5 -1956-07-25,175.4 -1956-07-26,164.1 -1956-07-27,165.0 -1956-07-28,159.8 -1956-07-29,162.9 -1956-07-30,167.0 -1956-07-31,173.0 -1956-08-01,179.2 -1956-08-02,181.3 -1956-08-03,180.2 -1956-08-04,189.3 -1956-08-05,189.3 -1956-08-06,190.4 -1956-08-07,201.7 -1956-08-08,202.7 -1956-08-09,209.9 -1956-08-10,199.4 -1956-08-11,186.1 -1956-08-12,186.1 -1956-08-13,183.8 -1956-08-14,180.8 -1956-08-15,175.6 -1956-08-16,171.3 -1956-08-17,178.5 -1956-08-18, -1956-08-19,192.7 -1956-08-20,209.1 -1956-08-21,233.5 -1956-08-22,217.1 -1956-08-23,228.1 -1956-08-24,224.0 -1956-08-25, -1956-08-26,224.8 -1956-08-27,217.7 -1956-08-28,211.4 -1956-08-29,218.5 -1956-08-30,203.0 -1956-08-31,193.8 -1956-09-01,184.6 -1956-09-02,182.6 -1956-09-03, -1956-09-04,185.5 -1956-09-05,184.3 -1956-09-06,216.8 -1956-09-07,212.6 -1956-09-08,206.5 -1956-09-09,220.5 -1956-09-10,220.5 -1956-09-11,240.5 -1956-09-12,250.7 -1956-09-13,264.9 -1956-09-14,250.7 -1956-09-15,237.3 -1956-09-16,241.3 -1956-09-17,220.8 -1956-09-18,212.5 -1956-09-19,199.4 -1956-09-20,197.1 -1956-09-21,191.1 -1956-09-22,181.0 -1956-09-23,174.9 -1956-09-24,176.8 -1956-09-25,177.6 -1956-09-26,174.6 -1956-09-27,168.3 -1956-09-28,167.3 -1956-09-29,173.2 -1956-09-30,175.2 -1956-10-01,192.3 -1956-10-02,203.2 -1956-10-03,223.3 -1956-10-04,220.1 -1956-10-05,217.1 -1956-10-06,208.8 -1956-10-07,214.9 -1956-10-08,212.8 -1956-10-09,212.6 -1956-10-10,209.6 -1956-10-11,215.4 -1956-10-12,207.4 -1956-10-13,201.2 -1956-10-14,186.2 -1956-10-15,168.2 -1956-10-16,163.0 -1956-10-17,162.0 -1956-10-18,161.8 -1956-10-19,184.8 -1956-10-20,182.6 -1956-10-21,185.6 -1956-10-22,190.6 -1956-10-23,183.6 -1956-10-24,190.4 -1956-10-25,193.2 -1956-10-26,198.2 -1956-10-27,211.9 -1956-10-28,217.9 -1956-10-29,227.6 -1956-10-30,230.6 -1956-10-31,232.3 -1956-11-01,239.8 -1956-11-02,223.6 -1956-11-03,223.6 -1956-11-04,249.2 -1956-11-05,272.0 -1956-11-06,298.5 -1956-11-07,299.5 -1956-11-08,316.4 -1956-11-09,302.5 -1956-11-10,281.4 -1956-11-11,280.4 -1956-11-12,290.0 -1956-11-13,275.2 -1956-11-14,266.2 -1956-11-15,248.7 -1956-11-16,254.6 -1956-11-17,252.4 -1956-11-18,225.7 -1956-11-19,220.5 -1956-11-20,213.6 -1956-11-21,202.7 -1956-11-22,227.4 -1956-11-23,200.7 -1956-11-24,196.5 -1956-11-25,210.4 -1956-11-26,211.4 -1956-11-27,202.3 -1956-11-28,214.1 -1956-11-29,215.1 -1956-11-30,234.6 -1956-12-01,222.2 -1956-12-02,237.0 -1956-12-03,246.6 -1956-12-04,247.6 -1956-12-05,257.5 -1956-12-06,251.6 -1956-12-07,247.4 -1956-12-08,241.7 -1956-12-09,253.6 -1956-12-10,266.4 -1956-12-11,268.0 -1956-12-12,260.2 -1956-12-13,245.4 -1956-12-14,246.4 -1956-12-15,250.6 -1956-12-16,245.4 -1956-12-17,250.3 -1956-12-18,226.6 -1956-12-19,232.6 -1956-12-20,226.6 -1956-12-21,238.5 -1956-12-22,250.1 -1956-12-23,254.0 -1956-12-24,248.1 -1956-12-25, -1956-12-26,254.7 -1956-12-27,267.5 -1956-12-28,222.2 -1956-12-29,230.1 -1956-12-30,240.0 -1956-12-31, -1957-01-01, -1957-01-02,270.4 -1957-01-03,269.5 -1957-01-04,278.3 -1957-01-05,281.3 -1957-01-06,286.2 -1957-01-07,259.6 -1957-01-08,243.7 -1957-01-09,228.9 -1957-01-10,212.2 -1957-01-11,211.2 -1957-01-12,213.2 -1957-01-13,202.4 -1957-01-14,193.5 -1957-01-15,187.3 -1957-01-16,180.6 -1957-01-17,190.4 -1957-01-18,199.3 -1957-01-19,211.0 -1957-01-20,228.7 -1957-01-21,218.9 -1957-01-22,221.6 -1957-01-23,228.5 -1957-01-24,247.1 -1957-01-25,227.5 -1957-01-26,236.3 -1957-01-27,232.6 -1957-01-28,203.2 -1957-01-29,193.4 -1957-01-30,184.5 -1957-01-31,172.9 -1957-02-01,193.4 -1957-02-02,178.7 -1957-02-03,181.6 -1957-02-04,177.9 -1957-02-05,179.8 -1957-02-06,189.7 -1957-02-07,183.0 -1957-02-08,196.4 -1957-02-09,186.5 -1957-02-10,180.8 -1957-02-11,186.7 -1957-02-12,189.7 -1957-02-13,172.2 -1957-02-14,177.1 -1957-02-15,184.8 -1957-02-16,173.2 -1957-02-17,178.1 -1957-02-18,185.1 -1957-02-19,170.4 -1957-02-20,169.6 -1957-02-21,181.4 -1957-02-22,183.2 -1957-02-23,201.1 -1957-02-24,182.4 -1957-02-25,181.6 -1957-02-26,177.6 -1957-02-27,180.8 -1957-02-28,177.8 -1957-03-01,183.7 -1957-03-02,180.0 -1957-03-03,177.0 -1957-03-04,175.2 -1957-03-05,178.2 -1957-03-06,178.4 -1957-03-07,193.2 -1957-03-08,196.2 -1957-03-09,195.2 -1957-03-10,197.4 -1957-03-11,214.3 -1957-03-12,207.5 -1957-03-13,212.5 -1957-03-14,198.8 -1957-03-15,196.6 -1957-03-16,199.8 -1957-03-17,198.8 -1957-03-18,196.0 -1957-03-19,192.2 -1957-03-20,194.2 -1957-03-21,197.4 -1957-03-22,201.2 -1957-03-23,202.4 -1957-03-24,195.4 -1957-03-25,197.6 -1957-03-26,192.8 -1957-03-27,214.8 -1957-03-28,198.0 -1957-03-29,209.0 -1957-03-30,195.2 -1957-03-31,201.2 -1957-04-01,219.2 -1957-04-02,203.2 -1957-04-03,183.4 -1957-04-04,193.6 -1957-04-05,192.6 -1957-04-06,169.7 -1957-04-07,171.7 -1957-04-08,196.0 -1957-04-09,210.0 -1957-04-10,194.2 -1957-04-11,187.3 -1957-04-12,181.3 -1957-04-13,187.5 -1957-04-14,184.5 -1957-04-15,203.6 -1957-04-16,210.7 -1957-04-17,213.9 -1957-04-18,206.0 -1957-04-19,209.1 -1957-04-20,211.3 -1957-04-21,206.2 -1957-04-22,219.6 -1957-04-23,216.6 -1957-04-24,217.8 -1957-04-25,226.9 -1957-04-26,236.3 -1957-04-27,217.2 -1957-04-28,202.0 -1957-04-29,191.0 -1957-04-30,179.8 -1957-05-01,178.0 -1957-05-02,179.0 -1957-05-03,185.3 -1957-05-04,193.4 -1957-05-05,205.8 -1957-05-06,201.8 -1957-05-07,208.1 -1957-05-08,211.1 -1957-05-09,232.6 -1957-05-10,231.8 -1957-05-11,238.9 -1957-05-12,233.0 -1957-05-13,247.3 -1957-05-14,253.7 -1957-05-15,240.2 -1957-05-16,244.5 -1957-05-17,216.9 -1957-05-18,219.1 -1957-05-19,205.8 -1957-05-20, -1957-05-21,235.7 -1957-05-22,217.3 -1957-05-23,212.4 -1957-05-24,215.5 -1957-05-25,201.1 -1957-05-26,189.0 -1957-05-27,203.3 -1957-05-28,185.9 -1957-05-29,188.1 -1957-05-30,204.6 -1957-05-31,216.9 -1957-06-01,224.3 -1957-06-02,235.6 -1957-06-03,236.7 -1957-06-04,224.3 -1957-06-05,228.7 -1957-06-06,232.8 -1957-06-07,227.6 -1957-06-08,229.7 -1957-06-09,240.2 -1957-06-10,226.8 -1957-06-11,230.9 -1957-06-12,233.0 -1957-06-13,252.8 -1957-06-14,254.9 -1957-06-15,263.2 -1957-06-16,272.4 -1957-06-17,276.6 -1957-06-18,297.5 -1957-06-19,301.6 -1957-06-20,304.7 -1957-06-21,304.7 -1957-06-22,302.7 -1957-06-23,306.8 -1957-06-24,286.1 -1957-06-25,261.3 -1957-06-26,268.8 -1957-06-27,267.8 -1957-06-28,269.9 -1957-06-29,268.8 -1957-06-30,274.0 -1957-07-01,264.7 -1957-07-02,250.2 -1957-07-03,262.6 -1957-07-04,257.5 -1957-07-05,246.1 -1957-07-06,231.6 -1957-07-07,218.2 -1957-07-08,207.8 -1957-07-09,204.7 -1957-07-10,194.4 -1957-07-11,175.8 -1957-07-12,181.8 -1957-07-13,194.2 -1957-07-14,193.2 -1957-07-15,194.2 -1957-07-16,209.7 -1957-07-17,224.2 -1957-07-18,234.5 -1957-07-19,227.3 -1957-07-20,237.6 -1957-07-21,251.8 -1957-07-22,243.6 -1957-07-23,258.0 -1957-07-24,263.2 -1957-07-25,253.9 -1957-07-26,238.4 -1957-07-27,239.2 -1957-07-28,218.6 -1957-07-29,207.2 -1957-07-30,199.0 -1957-07-31,196.7 -1957-08-01,209.1 -1957-08-02,206.0 -1957-08-03,203.9 -1957-08-04,199.6 -1957-08-05,192.4 -1957-08-06,192.4 -1957-08-07,190.4 -1957-08-08,186.3 -1957-08-09,180.1 -1957-08-10,173.7 -1957-08-11,177.8 -1957-08-12,182.0 -1957-08-13,176.6 -1957-08-14,186.9 -1957-08-15,187.9 -1957-08-16,202.1 -1957-08-17,221.6 -1957-08-18,221.6 -1957-08-19,219.4 -1957-08-20,204.0 -1957-08-21,198.7 -1957-08-22,189.4 -1957-08-23,201.5 -1957-08-24,203.6 -1957-08-25,214.8 -1957-08-26,223.8 -1957-08-27,226.9 -1957-08-28,243.0 -1957-08-29,243.0 -1957-08-30,268.3 -1957-08-31,299.9 -1957-09-01,280.5 -1957-09-02,273.4 -1957-09-03,278.2 -1957-09-04,251.7 -1957-09-05,241.3 -1957-09-06,227.0 -1957-09-07,225.8 -1957-09-08,230.9 -1957-09-09,236.7 -1957-09-10,248.9 -1957-09-11,272.0 -1957-09-12,281.2 -1957-09-13,272.0 -1957-09-14,262.9 -1957-09-15,258.6 -1957-09-16,267.7 -1957-09-17,274.5 -1957-09-18,278.3 -1957-09-19,304.6 -1957-09-20,305.3 -1957-09-21,330.6 -1957-09-22,331.6 -1957-09-23,297.2 -1957-09-24,287.9 -1957-09-25,263.4 -1957-09-26,272.4 -1957-09-27,261.1 -1957-09-28,261.1 -1957-09-29,257.8 -1957-09-30,263.8 -1957-10-01,269.9 -1957-10-02,253.5 -1957-10-03,266.6 -1957-10-04,238.2 -1957-10-05,246.2 -1957-10-06,251.0 -1957-10-07,254.0 -1957-10-08,262.0 -1957-10-09,275.8 -1957-10-10,275.8 -1957-10-11,278.5 -1957-10-12,284.6 -1957-10-13,281.3 -1957-10-14,289.3 -1957-10-15,277.3 -1957-10-16,289.0 -1957-10-17,272.0 -1957-10-18,293.7 -1957-10-19,290.7 -1957-10-20,302.4 -1957-10-21,281.4 -1957-10-22,273.4 -1957-10-23,294.4 -1957-10-24,279.1 -1957-10-25,257.9 -1957-10-26,264.9 -1957-10-27,294.5 -1957-10-28,321.4 -1957-10-29,339.9 -1957-10-30,341.9 -1957-10-31,315.7 -1957-11-01,298.5 -1957-11-02,287.2 -1957-11-03,264.4 -1957-11-04,234.3 -1957-11-05,238.3 -1957-11-06,237.0 -1957-11-07,241.0 -1957-11-08,233.1 -1957-11-09,228.1 -1957-11-10,229.9 -1957-11-11,243.7 -1957-11-12,254.4 -1957-11-13,247.4 -1957-11-14,245.5 -1957-11-15,239.8 -1957-11-16,239.8 -1957-11-17,225.7 -1957-11-18,244.5 -1957-11-19,248.2 -1957-11-20,258.0 -1957-11-21,270.9 -1957-11-22,290.7 -1957-11-23,276.8 -1957-11-24,281.5 -1957-11-25,267.6 -1957-11-26,255.8 -1957-11-27,254.5 -1957-11-28,251.6 -1957-11-29,243.7 -1957-11-30,274.0 -1957-12-01,291.3 -1957-12-02,266.6 -1957-12-03,279.2 -1957-12-04,274.3 -1957-12-05,269.3 -1957-12-06,267.4 -1957-12-07,230.6 -1957-12-08,238.7 -1957-12-09,225.9 -1957-12-10,207.2 -1957-12-11,207.9 -1957-12-12,206.0 -1957-12-13,218.8 -1957-12-14,224.7 -1957-12-15,232.8 -1957-12-16,248.3 -1957-12-17,273.9 -1957-12-18,286.8 -1957-12-19,288.7 -1957-12-20,328.1 -1957-12-21,342.9 -1957-12-22,359.3 -1957-12-23,371.1 -1957-12-24,364.2 -1957-12-25, -1957-12-26,350.1 -1957-12-27,336.3 -1957-12-28,311.7 -1957-12-29,277.3 -1957-12-30,271.4 -1957-12-31,275.4 -1958-01-01,252.7 -1958-01-02,258.6 -1958-01-03,257.7 -1958-01-04,256.7 -1958-01-05,241.9 -1958-01-06,249.8 -1958-01-07,250.8 -1958-01-08,250.5 -1958-01-09,254.5 -1958-01-10,269.2 -1958-01-11,268.2 -1958-01-12,284.9 -1958-01-13,304.6 -1958-01-14,315.4 -1958-01-15,303.0 -1958-01-16,291.5 -1958-01-17,279.7 -1958-01-18,255.2 -1958-01-19,233.6 -1958-01-20,246.4 -1958-01-21,234.6 -1958-01-22,222.6 -1958-01-23,205.9 -1958-01-24,206.9 -1958-01-25,202.0 -1958-01-26,215.7 -1958-01-27,196.3 -1958-01-28,185.5 -1958-01-29,190.4 -1958-01-30,177.7 -1958-01-31,183.8 -1958-02-01,191.4 -1958-02-02,213.0 -1958-02-03,217.9 -1958-02-04,229.0 -1958-02-05,244.7 -1958-02-06,247.6 -1958-02-07,252.8 -1958-02-08,245.4 -1958-02-09,229.7 -1958-02-10,227.0 -1958-02-11,224.1 -1958-02-12,222.1 -1958-02-13,218.4 -1958-02-14,206.6 -1958-02-15,198.5 -1958-02-16,184.0 -1958-02-17,180.1 -1958-02-18,174.3 -1958-02-19,170.4 -1958-02-20,169.6 -1958-02-21,172.5 -1958-02-22,173.3 -1958-02-23,191.3 -1958-02-24,203.1 -1958-02-25,204.3 -1958-02-26,202.3 -1958-02-27,194.6 -1958-02-28, -1958-03-01,192.6 -1958-03-02,206.7 -1958-03-03,220.5 -1958-03-04,229.7 -1958-03-05,230.6 -1958-03-06,248.7 -1958-03-07,253.7 -1958-03-08,248.7 -1958-03-09,252.7 -1958-03-10,240.0 -1958-03-11,233.1 -1958-03-12,230.4 -1958-03-13,236.3 -1958-03-14,225.6 -1958-03-15,215.5 -1958-03-16,212.7 -1958-03-17,206.7 -1958-03-18,208.9 -1958-03-19,219.1 -1958-03-20,231.1 -1958-03-21,223.3 -1958-03-22,264.9 -1958-03-23,267.2 -1958-03-24,273.2 -1958-03-25,257.5 -1958-03-26,283.7 -1958-03-27,301.7 -1958-03-28,295.0 -1958-03-29,332.0 -1958-03-30,344.3 -1958-03-31,338.3 -1958-04-01,331.3 -1958-04-02,326.3 -1958-04-03,302.6 -1958-04-04,295.9 -1958-04-05,290.9 -1958-04-06,290.2 -1958-04-07,284.1 -1958-04-08,273.4 -1958-04-09,251.3 -1958-04-10,245.5 -1958-04-11,217.5 -1958-04-12,197.4 -1958-04-13,180.5 -1958-04-14,178.4 -1958-04-15,189.5 -1958-04-16,198.6 -1958-04-17,208.9 -1958-04-18,215.1 -1958-04-19,223.2 -1958-04-20,228.5 -1958-04-21,231.5 -1958-04-22,239.8 -1958-04-23,237.8 -1958-04-24,247.2 -1958-04-25,251.2 -1958-04-26,248.4 -1958-04-27,250.7 -1958-04-28,261.9 -1958-04-29,259.1 -1958-04-30,269.2 -1958-05-01,270.5 -1958-05-02,280.7 -1958-05-03, -1958-05-04,285.0 -1958-05-05,274.1 -1958-05-06,268.0 -1958-05-07,254.0 -1958-05-08,240.7 -1958-05-09,243.8 -1958-05-10,213.4 -1958-05-11,215.4 -1958-05-12,213.6 -1958-05-13,207.5 -1958-05-14,198.5 -1958-05-15,200.3 -1958-05-16,198.5 -1958-05-17,198.5 -1958-05-18,201.7 -1958-05-19,201.7 -1958-05-20,201.7 -1958-05-21,204.0 -1958-05-22,204.0 -1958-05-23,211.4 -1958-05-24,216.5 -1958-05-25,212.4 -1958-05-26,215.7 -1958-05-27,206.4 -1958-05-28,207.5 -1958-05-29,225.1 -1958-05-30,219.0 -1958-05-31,214.9 -1958-06-01,225.4 -1958-06-02,226.4 -1958-06-03,233.6 -1958-06-04,253.1 -1958-06-05,263.7 -1958-06-06,267.8 -1958-06-07,245.1 -1958-06-08,240.0 -1958-06-09,259.8 -1958-06-10,241.3 -1958-06-11,242.3 -1958-06-12,234.0 -1958-06-13,227.0 -1958-06-14,214.7 -1958-06-15,203.3 -1958-06-16,197.1 -1958-06-17,187.8 -1958-06-18,182.8 -1958-06-19,195.2 -1958-06-20,199.4 -1958-06-21,200.4 -1958-06-22,220.0 -1958-06-23,224.2 -1958-06-24,228.3 -1958-06-25,233.5 -1958-06-26,240.9 -1958-06-27,245.1 -1958-06-28,239.9 -1958-06-29,227.5 -1958-06-30,224.4 -1958-07-01,222.3 -1958-07-02,222.3 -1958-07-03,231.6 -1958-07-04,239.9 -1958-07-05,246.1 -1958-07-06,239.9 -1958-07-07,245.1 -1958-07-08,239.9 -1958-07-09,225.4 -1958-07-10,215.1 -1958-07-11,209.9 -1958-07-12,194.2 -1958-07-13,197.3 -1958-07-14,188.0 -1958-07-15,187.0 -1958-07-16,198.3 -1958-07-17,194.2 -1958-07-18,196.3 -1958-07-19,211.8 -1958-07-20,206.6 -1958-07-21,215.7 -1958-07-22,220.8 -1958-07-23,219.8 -1958-07-24,235.3 -1958-07-25,247.7 -1958-07-26,268.3 -1958-07-27,269.1 -1958-07-28,299.0 -1958-07-29,293.8 -1958-07-30,295.9 -1958-07-31,296.6 -1958-08-01,282.2 -1958-08-02,261.6 -1958-08-03,244.1 -1958-08-04,222.3 -1958-08-05,227.4 -1958-08-06,245.9 -1958-08-07,241.8 -1958-08-08,242.9 -1958-08-09,231.5 -1958-08-10,228.2 -1958-08-11,231.3 -1958-08-12,228.2 -1958-08-13,242.4 -1958-08-14,241.4 -1958-08-15,237.2 -1958-08-16,220.6 -1958-08-17,216.5 -1958-08-18,223.7 -1958-08-19,224.5 -1958-08-20,225.5 -1958-08-21,236.5 -1958-08-22,244.7 -1958-08-23,248.6 -1958-08-24,258.8 -1958-08-25,269.1 -1958-08-26,269.8 -1958-08-27,257.5 -1958-08-28,249.1 -1958-08-29,257.3 -1958-08-30,254.0 -1958-08-31,264.2 -1958-09-01,266.2 -1958-09-02,286.6 -1958-09-03,275.1 -1958-09-04,260.9 -1958-09-05,237.2 -1958-09-06,219.9 -1958-09-07,213.6 -1958-09-08,214.6 -1958-09-09,238.8 -1958-09-10,248.9 -1958-09-11,253.8 -1958-09-12,274.1 -1958-09-13,289.3 -1958-09-14,294.4 -1958-09-15,274.8 -1958-09-16,266.7 -1958-09-17,262.4 -1958-09-18,249.0 -1958-09-19,245.9 -1958-09-20,233.5 -1958-09-21,223.4 -1958-09-22,251.7 -1958-09-23,228.5 -1958-09-24,227.3 -1958-09-25,224.0 -1958-09-26,220.0 -1958-09-27,220.8 -1958-09-28,226.8 -1958-09-29,228.6 -1958-09-30,229.6 -1958-10-01,232.6 -1958-10-02,222.3 -1958-10-03,220.3 -1958-10-04,216.1 -1958-10-05,200.0 -1958-10-06,189.8 -1958-10-07,189.8 -1958-10-08,187.7 -1958-10-09,192.6 -1958-10-10,198.6 -1958-10-11,210.4 -1958-10-12,219.4 -1958-10-13,225.2 -1958-10-14,228.2 -1958-10-15,230.2 -1958-10-16,253.0 -1958-10-17,286.0 -1958-10-18,285.7 -1958-10-19,295.7 -1958-10-20,277.4 -1958-10-21,276.4 -1958-10-22,269.4 -1958-10-23,239.5 -1958-10-24,226.3 -1958-10-25,190.2 -1958-10-26,193.2 -1958-10-27,190.0 -1958-10-28,207.9 -1958-10-29,218.7 -1958-10-30,226.6 -1958-10-31,220.4 -1958-11-01,232.8 -1958-11-02,239.5 -1958-11-03,222.6 -1958-11-04,218.4 -1958-11-05,220.4 -1958-11-06,202.3 -1958-11-07,204.3 -1958-11-08,189.4 -1958-11-09,178.5 -1958-11-10,167.4 -1958-11-11,164.5 -1958-11-12,164.3 -1958-11-13,161.3 -1958-11-14,164.3 -1958-11-15,164.5 -1958-11-16,167.4 -1958-11-17,171.2 -1958-11-18,172.2 -1958-11-19,180.9 -1958-11-20,184.9 -1958-11-21,191.8 -1958-11-22,197.7 -1958-11-23,210.6 -1958-11-24,226.2 -1958-11-25,240.0 -1958-11-26,260.7 -1958-11-27,264.4 -1958-11-28,255.5 -1958-11-29,259.5 -1958-11-30,260.2 -1958-12-01,264.7 -1958-12-02,255.8 -1958-12-03,237.8 -1958-12-04,237.8 -1958-12-05,249.6 -1958-12-06,245.6 -1958-12-07,249.3 -1958-12-08,256.5 -1958-12-09,250.6 -1958-12-10,265.4 -1958-12-11,252.3 -1958-12-12,253.3 -1958-12-13,256.2 -1958-12-14,254.3 -1958-12-15,231.8 -1958-12-16,213.8 -1958-12-17,201.0 -1958-12-18,199.1 -1958-12-19,184.3 -1958-12-20,196.1 -1958-12-21,195.1 -1958-12-22,207.7 -1958-12-23,211.7 -1958-12-24,220.5 -1958-12-25, -1958-12-26,234.1 -1958-12-27,223.2 -1958-12-28,219.3 -1958-12-29,215.4 -1958-12-30,220.3 -1958-12-31,222.3 -1959-01-01,231.1 -1959-01-02,245.9 -1959-01-03,261.6 -1959-01-04,265.5 -1959-01-05,277.3 -1959-01-06, -1959-01-07,300.9 -1959-01-08,273.1 -1959-01-09,263.3 -1959-01-10,277.1 -1959-01-11,255.4 -1959-01-12,246.6 -1959-01-13,230.9 -1959-01-14,220.1 -1959-01-15,203.0 -1959-01-16,209.1 -1959-01-17,215.9 -1959-01-18,232.6 -1959-01-19,260.1 -1959-01-20,288.6 -1959-01-21,309.2 -1959-01-22,330.5 -1959-01-23,321.6 -1959-01-24,327.5 -1959-01-25,314.8 -1959-01-26,307.9 -1959-01-27,316.1 -1959-01-28,298.4 -1959-01-29,257.2 -1959-01-30,219.9 -1959-01-31,210.3 -1959-02-01,201.2 -1959-02-02,201.2 -1959-02-03,200.3 -1959-02-04,197.5 -1959-02-05,187.7 -1959-02-06,191.6 -1959-02-07,179.0 -1959-02-08,178.7 -1959-02-09,170.8 -1959-02-10,186.7 -1959-02-11,195.6 -1959-02-12,195.6 -1959-02-13,197.7 -1959-02-14,195.8 -1959-02-15,209.3 -1959-02-16,210.5 -1959-02-17,216.4 -1959-02-18,214.7 -1959-02-19,214.7 -1959-02-20,224.8 -1959-02-21,220.8 -1959-02-22,215.7 -1959-02-23,209.0 -1959-02-24,216.9 -1959-02-25,224.0 -1959-02-26,216.1 -1959-02-27,208.4 -1959-02-28,198.6 -1959-03-01,184.7 -1959-03-02,179.0 -1959-03-03,179.0 -1959-03-04,176.2 -1959-03-05,177.2 -1959-03-06,188.3 -1959-03-07,186.3 -1959-03-08,189.3 -1959-03-09,196.2 -1959-03-10,202.4 -1959-03-11,199.4 -1959-03-12,192.6 -1959-03-13,205.5 -1959-03-14,213.7 -1959-03-15,233.3 -1959-03-16,244.5 -1959-03-17,257.4 -1959-03-18,272.6 -1959-03-19,279.9 -1959-03-20,283.9 -1959-03-21,286.1 -1959-03-22,260.9 -1959-03-23,257.2 -1959-03-24,246.3 -1959-03-25,247.5 -1959-03-26,246.7 -1959-03-27,245.8 -1959-03-28,248.0 -1959-03-29,245.0 -1959-03-30,258.3 -1959-03-31,254.3 -1959-04-01,256.3 -1959-04-02,236.2 -1959-04-03,216.4 -1959-04-04,215.6 -1959-04-05,196.6 -1959-04-06,196.8 -1959-04-07,217.9 -1959-04-08,216.1 -1959-04-09,216.1 -1959-04-10,221.3 -1959-04-11,233.6 -1959-04-12,225.6 -1959-04-13,210.7 -1959-04-14,199.6 -1959-04-15,190.5 -1959-04-16,189.5 -1959-04-17,191.7 -1959-04-18,182.8 -1959-04-19,198.0 -1959-04-20,205.2 -1959-04-21,205.2 -1959-04-22,201.4 -1959-04-23,215.6 -1959-04-24,215.8 -1959-04-25,213.7 -1959-04-26,221.1 -1959-04-27,215.2 -1959-04-28,219.2 -1959-04-29,214.4 -1959-04-30,223.5 -1959-05-01,207.5 -1959-05-02,197.3 -1959-05-03,198.5 -1959-05-04,187.3 -1959-05-05,189.5 -1959-05-06,205.8 -1959-05-07,212.2 -1959-05-08,248.9 -1959-05-09,254.0 -1959-05-10,264.4 -1959-05-11,269.5 -1959-05-12,271.9 -1959-05-13,269.8 -1959-05-14,249.6 -1959-05-15,233.0 -1959-05-16,227.1 -1959-05-17,229.2 -1959-05-18,218.1 -1959-05-19,203.8 -1959-05-20,205.8 -1959-05-21,206.0 -1959-05-22,206.0 -1959-05-23,203.1 -1959-05-24,204.2 -1959-05-25,208.3 -1959-05-26,210.5 -1959-05-27,213.6 -1959-05-28,200.3 -1959-05-29,180.9 -1959-05-30,182.0 -1959-05-31,184.0 -1959-06-01,198.6 -1959-06-02,203.7 -1959-06-03,203.7 -1959-06-04,195.5 -1959-06-05,202.9 -1959-06-06,216.3 -1959-06-07,203.9 -1959-06-08,219.4 -1959-06-09,229.9 -1959-06-10,235.1 -1959-06-11,233.0 -1959-06-12,226.8 -1959-06-13,218.8 -1959-06-14,214.7 -1959-06-15,232.2 -1959-06-16,227.0 -1959-06-17,232.2 -1959-06-18,235.5 -1959-06-19,244.8 -1959-06-20,233.5 -1959-06-21,235.5 -1959-06-22,226.2 -1959-06-23,227.3 -1959-06-24,239.7 -1959-06-25,240.7 -1959-06-26,246.1 -1959-06-27,248.2 -1959-06-28,231.6 -1959-06-29,226.4 -1959-06-30,202.7 -1959-07-01,194.4 -1959-07-02,179.9 -1959-07-03,176.8 -1959-07-04,183.0 -1959-07-05,182.0 -1959-07-06,194.4 -1959-07-07,198.5 -1959-07-08,191.3 -1959-07-09,191.3 -1959-07-10,207.8 -1959-07-11,200.6 -1959-07-12,241.7 -1959-07-13,251.0 -1959-07-14,272.7 -1959-07-15,253.1 -1959-07-16,269.6 -1959-07-17,247.9 -1959-07-18,238.6 -1959-07-19,229.3 -1959-07-20,214.9 -1959-07-21,195.0 -1959-07-22,183.7 -1959-07-23,183.7 -1959-07-24,186.8 -1959-07-25,187.8 -1959-07-26,187.8 -1959-07-27,206.2 -1959-07-28,211.4 -1959-07-29,213.4 -1959-07-30,210.3 -1959-07-31,214.2 -1959-08-01,220.4 -1959-08-02,234.8 -1959-08-03,247.2 -1959-08-04,242.8 -1959-08-05,235.6 -1959-08-06,233.6 -1959-08-07,218.2 -1959-08-08,209.9 -1959-08-09,209.9 -1959-08-10,207.7 -1959-08-11,205.6 -1959-08-12,201.5 -1959-08-13,199.2 -1959-08-14,194.1 -1959-08-15,195.1 -1959-08-16,206.2 -1959-08-17,229.8 -1959-08-18,235.0 -1959-08-19,220.4 -1959-08-20,229.6 -1959-08-21,235.5 -1959-08-22,248.8 -1959-08-23,268.0 -1959-08-24,250.6 -1959-08-25,258.8 -1959-08-26,262.7 -1959-08-27,285.1 -1959-08-28,308.3 -1959-08-29,314.5 -1959-08-30,318.2 -1959-08-31,311.1 -1959-09-01,287.6 -1959-09-02,274.4 -1959-09-03,261.9 -1959-09-04,243.5 -1959-09-05,224.0 -1959-09-06,203.6 -1959-09-07,195.3 -1959-09-08,202.4 -1959-09-09,212.3 -1959-09-10,204.2 -1959-09-11,206.1 -1959-09-12,197.9 -1959-09-13,191.8 -1959-09-14,198.9 -1959-09-15,186.6 -1959-09-16,170.4 -1959-09-17,172.2 -1959-09-18,169.0 -1959-09-19,177.1 -1959-09-20,187.0 -1959-09-21,184.0 -1959-09-22,190.1 -1959-09-23,184.0 -1959-09-24,184.8 -1959-09-25,176.6 -1959-09-26,165.5 -1959-09-27,164.3 -1959-09-28,163.3 -1959-09-29,160.1 -1959-09-30,157.1 -1959-10-01,151.1 -1959-10-02,145.9 -1959-10-03,144.9 -1959-10-04,148.7 -1959-10-05,155.8 -1959-10-06,174.7 -1959-10-07,169.7 -1959-10-08,155.6 -1959-10-09,153.5 -1959-10-10,149.4 -1959-10-11,147.3 -1959-10-12,154.3 -1959-10-13,155.2 -1959-10-14,153.1 -1959-10-15,160.2 -1959-10-16,167.0 -1959-10-17,169.0 -1959-10-18,170.8 -1959-10-19,172.8 -1959-10-20,174.6 -1959-10-21,174.6 -1959-10-22,186.6 -1959-10-23,182.6 -1959-10-24,180.4 -1959-10-25,185.2 -1959-10-26,189.2 -1959-10-27, -1959-10-28, -1959-10-29, -1959-10-30, -1959-10-31,159.9 -1959-11-01,158.2 -1959-11-02,167.0 -1959-11-03,164.0 -1959-11-04,152.9 -1959-11-05,149.9 -1959-11-06,155.7 -1959-11-07,159.7 -1959-11-08,171.6 -1959-11-09,181.5 -1959-11-10,192.2 -1959-11-11,191.2 -1959-11-12,190.0 -1959-11-13,189.0 -1959-11-14,185.1 -1959-11-15,180.3 -1959-11-16,173.4 -1959-11-17,159.3 -1959-11-18,153.4 -1959-11-19,155.2 -1959-11-20,152.3 -1959-11-21,152.3 -1959-11-22,171.0 -1959-11-23,184.9 -1959-11-24,202.5 -1959-11-25,223.2 -1959-11-26,218.3 -1959-11-27,215.1 -1959-11-28,224.0 -1959-11-29,222.0 -1959-11-30,226.7 -1959-12-01,219.2 -1959-12-02,214.3 -1959-12-03,199.3 -1959-12-04,196.3 -1959-12-05,201.3 -1959-12-06,199.3 -1959-12-07,188.2 -1959-12-08,190.4 -1959-12-09,170.7 -1959-12-10,171.6 -1959-12-11,168.5 -1959-12-12,166.5 -1959-12-13,159.6 -1959-12-14,162.6 -1959-12-15,168.7 -1959-12-16,161.6 -1959-12-17,164.6 -1959-12-18,166.5 -1959-12-19,177.4 -1959-12-20,175.4 -1959-12-21,182.3 -1959-12-22,168.3 -1959-12-23,163.4 -1959-12-24,160.5 -1959-12-25, -1959-12-26,158.3 -1959-12-27,164.2 -1959-12-28,169.2 -1959-12-29,168.2 -1959-12-30,176.0 -1959-12-31,164.2 -1960-01-01, -1960-01-02,172.1 -1960-01-03,179.0 -1960-01-04,189.8 -1960-01-05,209.5 -1960-01-06,211.4 -1960-01-07,220.3 -1960-01-08,215.2 -1960-01-09,197.5 -1960-01-10,190.6 -1960-01-11,196.5 -1960-01-12,180.8 -1960-01-13,174.9 -1960-01-14,172.9 -1960-01-15,179.4 -1960-01-16,179.6 -1960-01-17,175.7 -1960-01-18,172.8 -1960-01-19,161.0 -1960-01-20,154.1 -1960-01-21,159.0 -1960-01-22,168.7 -1960-01-23,184.4 -1960-01-24,205.9 -1960-01-25,225.5 -1960-01-26,237.3 -1960-01-27,243.4 -1960-01-28,247.4 -1960-01-29,232.6 -1960-01-30,225.8 -1960-01-31,220.1 -1960-02-01,220.9 -1960-02-02,209.1 -1960-02-03,211.1 -1960-02-04,205.4 -1960-02-05,205.4 -1960-02-06,188.7 -1960-02-07,184.0 -1960-02-08,179.7 -1960-02-09,179.7 -1960-02-10,174.9 -1960-02-11,172.0 -1960-02-12,163.1 -1960-02-13,164.3 -1960-02-14,164.3 -1960-02-15,157.2 -1960-02-16,155.4 -1960-02-17,150.5 -1960-02-18,148.7 -1960-02-19, -1960-02-20,140.0 -1960-02-21,153.8 -1960-02-22,146.7 -1960-02-23,141.0 -1960-02-24,138.0 -1960-02-25,145.1 -1960-02-26,145.1 -1960-02-27,145.2 -1960-02-28,138.3 -1960-02-29,138.4 -1960-03-01,135.3 -1960-03-02,135.5 -1960-03-03,136.5 -1960-03-04,137.6 -1960-03-05,138.6 -1960-03-06,133.8 -1960-03-07,137.7 -1960-03-08,139.7 -1960-03-09,141.7 -1960-03-10,130.9 -1960-03-11,130.9 -1960-03-12,128.1 -1960-03-13,134.0 -1960-03-14,133.2 -1960-03-15,136.0 -1960-03-16,141.1 -1960-03-17,139.2 -1960-03-18,132.3 -1960-03-19,136.4 -1960-03-20,142.4 -1960-03-21,144.6 -1960-03-22,149.4 -1960-03-23,153.5 -1960-03-24,157.5 -1960-03-25,156.7 -1960-03-26, -1960-03-27, -1960-03-28,175.0 -1960-03-29,181.0 -1960-03-30,193.2 -1960-03-31,182.2 -1960-04-01,201.2 -1960-04-02,184.2 -1960-04-03,179.4 -1960-04-04,188.6 -1960-04-05,182.5 -1960-04-06,169.7 -1960-04-07,165.7 -1960-04-08,147.7 -1960-04-09,148.7 -1960-04-10,156.9 -1960-04-11,160.1 -1960-04-12,169.2 -1960-04-13,180.4 -1960-04-14,184.5 -1960-04-15,191.5 -1960-04-16,184.5 -1960-04-17,179.6 -1960-04-18,177.8 -1960-04-19,171.7 -1960-04-20,176.9 -1960-04-21,164.8 -1960-04-22,161.9 -1960-04-23,168.0 -1960-04-24,167.1 -1960-04-25,148.9 -1960-04-26,145.0 -1960-04-27,142.1 -1960-04-28,144.1 -1960-04-29,155.5 -1960-04-30,163.6 -1960-05-01,154.6 -1960-05-02,162.7 -1960-05-03,160.8 -1960-05-04,158.8 -1960-05-05,154.9 -1960-05-06,159.0 -1960-05-07,165.2 -1960-05-08,171.4 -1960-05-09,173.4 -1960-05-10,173.6 -1960-05-11,183.8 -1960-05-12,182.9 -1960-05-13,173.7 -1960-05-14,165.7 -1960-05-15,165.6 -1960-05-16,158.6 -1960-05-17,154.5 -1960-05-18,156.7 -1960-05-19,156.7 -1960-05-20,163.8 -1960-05-21,168.1 -1960-05-22,168.1 -1960-05-23,167.2 -1960-05-24,168.3 -1960-05-25,167.2 -1960-05-26,162.3 -1960-05-27,170.5 -1960-05-28,175.6 -1960-05-29,174.8 -1960-05-30,174.8 -1960-05-31,163.5 -1960-06-01,170.8 -1960-06-02,171.8 -1960-06-03,171.8 -1960-06-04,177.0 -1960-06-05,175.1 -1960-06-06,180.2 -1960-06-07,190.5 -1960-06-08,190.5 -1960-06-09,186.6 -1960-06-10,183.5 -1960-06-11,176.3 -1960-06-12,172.2 -1960-06-13,167.2 -1960-06-14,171.3 -1960-06-15,171.3 -1960-06-16,162.0 -1960-06-17,157.9 -1960-06-18,143.6 -1960-06-19,144.6 -1960-06-20,137.4 -1960-06-21,135.3 -1960-06-22,134.3 -1960-06-23,140.5 -1960-06-24,136.4 -1960-06-25,144.6 -1960-06-26,160.3 -1960-06-27,169.6 -1960-06-28,190.3 -1960-06-29,196.5 -1960-06-30,200.6 -1960-07-01,215.1 -1960-07-02,214.0 -1960-07-03,217.1 -1960-07-04,219.2 -1960-07-05,216.1 -1960-07-06,206.8 -1960-07-07,193.4 -1960-07-08,182.0 -1960-07-09,182.0 -1960-07-10,171.6 -1960-07-11,158.2 -1960-07-12,146.7 -1960-07-13,139.5 -1960-07-14,143.6 -1960-07-15,150.8 -1960-07-16,148.8 -1960-07-17,158.0 -1960-07-18,164.2 -1960-07-19,161.1 -1960-07-20,157.0 -1960-07-21,157.9 -1960-07-22,152.7 -1960-07-23,155.8 -1960-07-24,164.1 -1960-07-25,152.7 -1960-07-26,153.8 -1960-07-27,154.6 -1960-07-28,153.6 -1960-07-29,158.8 -1960-07-30,150.5 -1960-07-31,149.3 -1960-08-01,144.2 -1960-08-02,138.0 -1960-08-03,128.7 -1960-08-04,125.5 -1960-08-05,129.7 -1960-08-06,130.7 -1960-08-07,137.9 -1960-08-08,149.2 -1960-08-09,156.4 -1960-08-10,174.8 -1960-08-11,192.2 -1960-08-12,220.0 -1960-08-13,240.3 -1960-08-14,244.4 -1960-08-15,246.5 -1960-08-16,247.3 -1960-08-17,253.4 -1960-08-18,256.5 -1960-08-19,239.9 -1960-08-20,224.5 -1960-08-21,205.8 -1960-08-22,193.5 -1960-08-23,174.9 -1960-08-24,165.7 -1960-08-25,161.6 -1960-08-26,165.6 -1960-08-27,153.3 -1960-08-28,142.9 -1960-08-29,131.7 -1960-08-30,131.6 -1960-08-31,134.6 -1960-09-01,139.7 -1960-09-02,155.0 -1960-09-03,151.8 -1960-09-04,144.7 -1960-09-05,144.6 -1960-09-06,151.7 -1960-09-07,164.8 -1960-09-08,172.9 -1960-09-09,175.8 -1960-09-10,177.8 -1960-09-11,177.6 -1960-09-12,179.7 -1960-09-13,183.7 -1960-09-14,183.7 -1960-09-15,180.5 -1960-09-16,179.5 -1960-09-17,187.4 -1960-09-18,192.3 -1960-09-19,201.4 -1960-09-20,197.1 -1960-09-21,191.1 -1960-09-22,186.0 -1960-09-23,176.9 -1960-09-24,163.6 -1960-09-25,156.4 -1960-09-26,149.3 -1960-09-27,143.1 -1960-09-28,133.1 -1960-09-29,124.9 -1960-09-30,121.8 -1960-10-01,115.8 -1960-10-02,112.7 -1960-10-03,120.7 -1960-10-04,132.7 -1960-10-05,132.7 -1960-10-06,132.5 -1960-10-07,144.6 -1960-10-08,143.6 -1960-10-09,151.5 -1960-10-10,159.5 -1960-10-11,152.3 -1960-10-12,159.3 -1960-10-13,162.2 -1960-10-14,166.2 -1960-10-15,165.2 -1960-10-16,165.0 -1960-10-17,167.0 -1960-10-18,153.8 -1960-10-19,152.8 -1960-10-20,148.7 -1960-10-21,143.7 -1960-10-22,140.7 -1960-10-23,133.7 -1960-10-24,128.6 -1960-10-25,129.5 -1960-10-26,131.5 -1960-10-27,131.3 -1960-10-28,121.4 -1960-10-29,130.2 -1960-10-30,127.2 -1960-10-31,126.1 -1960-11-01,123.4 -1960-11-02,128.2 -1960-11-03,129.2 -1960-11-04,130.1 -1960-11-05,143.0 -1960-11-06,146.8 -1960-11-07,155.7 -1960-11-08,166.6 -1960-11-09,173.5 -1960-11-10,198.2 -1960-11-11,186.3 -1960-11-12,166.2 -1960-11-13,178.2 -1960-11-14,190.0 -1960-11-15,181.3 -1960-11-16,172.4 -1960-11-17,162.3 -1960-11-18,151.4 -1960-11-19,148.3 -1960-11-20,145.3 -1960-11-21,137.4 -1960-11-22,125.6 -1960-11-23,114.7 -1960-11-24,111.6 -1960-11-25,109.6 -1960-11-26,115.6 -1960-11-27,117.4 -1960-11-28,115.4 -1960-11-29,117.4 -1960-11-30,129.1 -1960-12-01,134.3 -1960-12-02,143.2 -1960-12-03,150.0 -1960-12-04,160.8 -1960-12-05,156.9 -1960-12-06,158.8 -1960-12-07,149.8 -1960-12-08,151.9 -1960-12-09,148.0 -1960-12-10,149.0 -1960-12-11,141.9 -1960-12-12,138.0 -1960-12-13,134.0 -1960-12-14,130.1 -1960-12-15,136.1 -1960-12-16,132.0 -1960-12-17,123.2 -1960-12-18,116.3 -1960-12-19,113.3 -1960-12-20,116.3 -1960-12-21,114.3 -1960-12-22,104.4 -1960-12-23,101.4 -1960-12-24,104.4 -1960-12-25,109.2 -1960-12-26,114.1 -1960-12-27,122.9 -1960-12-28,133.7 -1960-12-29,142.6 -1960-12-30,156.4 -1960-12-31,160.3 -1961-01-01,161.3 -1961-01-02,173.1 -1961-01-03,172.1 -1961-01-04,162.3 -1961-01-05,157.4 -1961-01-06,140.6 -1961-01-07,129.8 -1961-01-08,122.8 -1961-01-09,119.9 -1961-01-10,113.0 -1961-01-11,108.1 -1961-01-12,101.2 -1961-01-13,94.3 -1961-01-14,94.3 -1961-01-15,95.1 -1961-01-16,98.1 -1961-01-17,100.1 -1961-01-18,101.1 -1961-01-19,100.1 -1961-01-20,100.1 -1961-01-21,102.1 -1961-01-22,100.0 -1961-01-23,98.0 -1961-01-24,101.0 -1961-01-25,101.0 -1961-01-26,105.9 -1961-01-27,107.0 -1961-01-28,122.7 -1961-01-29,129.6 -1961-01-30,126.6 -1961-01-31,120.9 -1961-02-01,120.7 -1961-02-02,119.8 -1961-02-03,115.8 -1961-02-04,116.0 -1961-02-05,116.0 -1961-02-06,118.9 -1961-02-07,112.1 -1961-02-08,109.0 -1961-02-09,106.0 -1961-02-10,102.2 -1961-02-11,99.2 -1961-02-12,96.3 -1961-02-13,95.4 -1961-02-14,95.4 -1961-02-15,96.3 -1961-02-16,94.4 -1961-02-17,94.4 -1961-02-18,94.5 -1961-02-19,94.5 -1961-02-20,97.6 -1961-02-21,98.6 -1961-02-22,100.5 -1961-02-23,101.5 -1961-02-24,102.5 -1961-02-25,104.6 -1961-02-26,99.6 -1961-02-27,101.8 -1961-02-28,101.8 -1961-03-01,101.7 -1961-03-02,101.8 -1961-03-03,102.8 -1961-03-04,95.0 -1961-03-05,93.0 -1961-03-06,92.1 -1961-03-07,94.1 -1961-03-08,93.1 -1961-03-09,89.1 -1961-03-10,90.2 -1961-03-11,97.1 -1961-03-12,91.3 -1961-03-13,92.3 -1961-03-14,90.4 -1961-03-15,97.2 -1961-03-16,98.4 -1961-03-17,97.3 -1961-03-18,100.5 -1961-03-19,101.6 -1961-03-20,104.6 -1961-03-21,104.7 -1961-03-22,105.6 -1961-03-23,109.6 -1961-03-24,115.6 -1961-03-25,117.8 -1961-03-26,120.9 -1961-03-27,124.9 -1961-03-28,126.0 -1961-03-29,126.0 -1961-03-30,125.1 -1961-03-31,117.2 -1961-04-01,113.1 -1961-04-02,105.1 -1961-04-03,101.2 -1961-04-04,103.3 -1961-04-05,107.3 -1961-04-06,106.4 -1961-04-07,98.3 -1961-04-08,104.5 -1961-04-09,96.4 -1961-04-10,93.5 -1961-04-11,92.6 -1961-04-12,89.6 -1961-04-13,88.7 -1961-04-14,93.7 -1961-04-15,98.7 -1961-04-16,103.8 -1961-04-17,105.9 -1961-04-18,108.1 -1961-04-19,106.0 -1961-04-20,104.1 -1961-04-21,105.1 -1961-04-22,104.2 -1961-04-23,106.3 -1961-04-24,112.4 -1961-04-25,112.4 -1961-04-26,127.8 -1961-04-27,121.8 -1961-04-28,115.7 -1961-04-29,122.9 -1961-04-30,124.0 -1961-05-01,127.1 -1961-05-02,121.0 -1961-05-03,113.0 -1961-05-04,105.9 -1961-05-05,105.0 -1961-05-06,98.8 -1961-05-07,98.9 -1961-05-08,95.8 -1961-05-09,97.9 -1961-05-10,93.9 -1961-05-11,100.1 -1961-05-12,103.2 -1961-05-13,99.1 -1961-05-14,95.1 -1961-05-15,93.0 -1961-05-16,90.0 -1961-05-17,90.0 -1961-05-18,97.2 -1961-05-19,102.4 -1961-05-20,107.5 -1961-05-21,112.7 -1961-05-22,111.7 -1961-05-23,112.9 -1961-05-24,110.8 -1961-05-25,108.8 -1961-05-26,90.3 -1961-05-27,97.5 -1961-05-28,93.4 -1961-05-29,93.5 -1961-05-30,90.4 -1961-05-31,90.5 -1961-06-01,88.4 -1961-06-02,90.5 -1961-06-03,94.6 -1961-06-04,91.5 -1961-06-05,88.5 -1961-06-06,90.6 -1961-06-07,91.6 -1961-06-08,93.7 -1961-06-09,103.1 -1961-06-10,105.2 -1961-06-11,113.4 -1961-06-12,111.3 -1961-06-13,117.6 -1961-06-14,126.9 -1961-06-15,133.1 -1961-06-16,136.2 -1961-06-17,141.4 -1961-06-18,140.5 -1961-06-19,135.3 -1961-06-20,135.3 -1961-06-21,136.4 -1961-06-22,138.4 -1961-06-23,139.5 -1961-06-24,120.9 -1961-06-25,114.7 -1961-06-26,111.7 -1961-06-27,102.4 -1961-06-28,98.2 -1961-06-29,105.5 -1961-06-30,106.5 -1961-07-01,107.5 -1961-07-02,102.4 -1961-07-03,107.5 -1961-07-04,106.5 -1961-07-05,109.6 -1961-07-06,105.5 -1961-07-07,108.6 -1961-07-08,110.6 -1961-07-09,115.8 -1961-07-10,128.2 -1961-07-11,142.7 -1961-07-12,141.5 -1961-07-13,145.7 -1961-07-14,140.5 -1961-07-15,140.5 -1961-07-16,136.4 -1961-07-17,141.5 -1961-07-18,135.3 -1961-07-19,130.2 -1961-07-20,127.1 -1961-07-21,121.8 -1961-07-22,122.8 -1961-07-23,121.8 -1961-07-24,121.8 -1961-07-25,120.7 -1961-07-26,118.7 -1961-07-27,114.4 -1961-07-28,108.3 -1961-07-29,106.2 -1961-07-30,94.8 -1961-07-31,93.7 -1961-08-01,92.7 -1961-08-02,89.6 -1961-08-03,93.7 -1961-08-04,90.5 -1961-08-05,92.6 -1961-08-06,94.6 -1961-08-07,101.9 -1961-08-08,108.0 -1961-08-09,116.3 -1961-08-10,125.4 -1961-08-11,133.6 -1961-08-12,131.6 -1961-08-13,131.5 -1961-08-14,130.4 -1961-08-15,126.3 -1961-08-16,122.1 -1961-08-17,122.1 -1961-08-18,119.0 -1961-08-19,115.8 -1961-08-20,111.7 -1961-08-21,106.5 -1961-08-22,105.5 -1961-08-23,100.3 -1961-08-24,99.2 -1961-08-25,95.1 -1961-08-26,97.0 -1961-08-27,97.0 -1961-08-28,102.1 -1961-08-29,105.2 -1961-08-30,108.1 -1961-08-31,110.2 -1961-09-01,112.2 -1961-09-02,112.2 -1961-09-03,119.2 -1961-09-04,120.2 -1961-09-05,116.1 -1961-09-06,114.0 -1961-09-07,117.0 -1961-09-08,119.0 -1961-09-09,128.0 -1961-09-10,132.1 -1961-09-11,128.9 -1961-09-12,132.0 -1961-09-13,132.0 -1961-09-14,139.1 -1961-09-15,136.9 -1961-09-16,134.9 -1961-09-17,125.6 -1961-09-18,116.4 -1961-09-19,109.3 -1961-09-20,102.1 -1961-09-21,97.0 -1961-09-22,93.0 -1961-09-23,90.9 -1961-09-24,97.9 -1961-09-25,97.8 -1961-09-26,98.8 -1961-09-27,96.7 -1961-09-28,96.7 -1961-09-29,102.7 -1961-09-30,100.7 -1961-10-01,98.6 -1961-10-02,97.5 -1961-10-03,97.5 -1961-10-04,102.5 -1961-10-05,108.5 -1961-10-06,101.4 -1961-10-07,99.3 -1961-10-08,98.3 -1961-10-09,107.3 -1961-10-10,106.3 -1961-10-11,107.2 -1961-10-12,111.2 -1961-10-13,111.1 -1961-10-14,105.1 -1961-10-15,106.1 -1961-10-16,100.0 -1961-10-17,97.0 -1961-10-18,94.9 -1961-10-19,94.9 -1961-10-20,92.8 -1961-10-21,91.8 -1961-10-22,88.8 -1961-10-23,84.8 -1961-10-24,84.7 -1961-10-25,82.6 -1961-10-26,82.6 -1961-10-27,83.5 -1961-10-28,85.5 -1961-10-29,84.4 -1961-10-30,86.4 -1961-10-31,85.3 -1961-11-01,85.5 -1961-11-02,82.4 -1961-11-03,80.5 -1961-11-04,81.4 -1961-11-05,86.3 -1961-11-06,86.2 -1961-11-07,92.2 -1961-11-08,98.1 -1961-11-09,97.2 -1961-11-10,100.1 -1961-11-11,98.0 -1961-11-12,93.0 -1961-11-13,90.0 -1961-11-14,85.1 -1961-11-15,83.2 -1961-11-16,85.2 -1961-11-17,82.1 -1961-11-18,78.1 -1961-11-19,76.1 -1961-11-20,79.1 -1961-11-21,82.0 -1961-11-22,83.0 -1961-11-23,86.0 -1961-11-24,85.9 -1961-11-25,90.8 -1961-11-26,91.8 -1961-11-27,93.7 -1961-11-28,96.6 -1961-11-29,96.6 -1961-11-30,102.5 -1961-12-01,103.7 -1961-12-02,106.7 -1961-12-03,109.5 -1961-12-04,103.6 -1961-12-05,99.6 -1961-12-06,99.6 -1961-12-07,92.6 -1961-12-08,94.7 -1961-12-09,90.7 -1961-12-10,85.8 -1961-12-11,80.8 -1961-12-12,76.8 -1961-12-13,80.8 -1961-12-14,79.8 -1961-12-15,79.9 -1961-12-16,79.8 -1961-12-17,77.8 -1961-12-18,79.8 -1961-12-19,80.8 -1961-12-20,86.7 -1961-12-21,88.6 -1961-12-22,97.4 -1961-12-23,99.4 -1961-12-24,102.4 -1961-12-25, -1961-12-26,100.3 -1961-12-27,101.3 -1961-12-28,96.3 -1961-12-29,96.3 -1961-12-30,92.4 -1961-12-31,91.4 -1962-01-01, -1962-01-02, -1962-01-03,81.9 -1962-01-04,80.0 -1962-01-05,76.4 -1962-01-06,75.4 -1962-01-07,75.7 -1962-01-08,73.0 -1962-01-09,72.7 -1962-01-10,73.9 -1962-01-11,74.0 -1962-01-12,76.0 -1962-01-13,76.8 -1962-01-14,80.9 -1962-01-15,83.9 -1962-01-16,82.6 -1962-01-17,85.1 -1962-01-18,92.4 -1962-01-19,96.6 -1962-01-20,105.3 -1962-01-21,109.5 -1962-01-22,108.8 -1962-01-23,114.1 -1962-01-24,111.7 -1962-01-25,112.8 -1962-01-26,113.2 -1962-01-27,112.4 -1962-01-28,112.6 -1962-01-29,107.0 -1962-01-30,99.7 -1962-01-31,100.0 -1962-02-01,108.0 -1962-02-02,101.3 -1962-02-03,99.3 -1962-02-04,101.9 -1962-02-05,90.8 -1962-02-06,84.0 -1962-02-07,81.0 -1962-02-08,80.4 -1962-02-09,81.1 -1962-02-10,79.2 -1962-02-11,80.4 -1962-02-12,79.7 -1962-02-13,83.1 -1962-02-14,82.0 -1962-02-15,81.4 -1962-02-16,84.1 -1962-02-17,85.5 -1962-02-18,89.7 -1962-02-19,106.8 -1962-02-20,105.8 -1962-02-21,112.6 -1962-02-22,119.0 -1962-02-23,134.0 -1962-02-24,131.7 -1962-02-25,127.4 -1962-02-26,127.3 -1962-02-27,134.5 -1962-02-28,120.0 -1962-03-01,119.5 -1962-03-02,111.2 -1962-03-03,99.1 -1962-03-04,87.9 -1962-03-05,84.9 -1962-03-06,80.6 -1962-03-07,79.3 -1962-03-08,75.8 -1962-03-09,77.0 -1962-03-10,74.8 -1962-03-11,77.1 -1962-03-12,81.6 -1962-03-13,80.7 -1962-03-14,81.7 -1962-03-15,83.9 -1962-03-16,85.7 -1962-03-17,93.9 -1962-03-18,97.9 -1962-03-19,116.0 -1962-03-20,117.5 -1962-03-21,127.1 -1962-03-22,127.7 -1962-03-23,129.9 -1962-03-24,125.3 -1962-03-25,127.4 -1962-03-26,117.4 -1962-03-27,116.6 -1962-03-28,108.5 -1962-03-29,102.9 -1962-03-30,98.7 -1962-03-31,92.2 -1962-04-01,87.5 -1962-04-02,82.7 -1962-04-03,80.5 -1962-04-04,78.0 -1962-04-05,76.2 -1962-04-06,78.4 -1962-04-07,77.3 -1962-04-08,77.1 -1962-04-09,78.1 -1962-04-10,81.8 -1962-04-11,88.9 -1962-04-12,94.0 -1962-04-13,103.2 -1962-04-14,110.5 -1962-04-15,112.3 -1962-04-16,120.3 -1962-04-17,115.2 -1962-04-18,110.1 -1962-04-19,110.1 -1962-04-20,110.5 -1962-04-21,113.3 -1962-04-22,114.7 -1962-04-23,109.3 -1962-04-24,106.4 -1962-04-25,102.4 -1962-04-26,101.2 -1962-04-27,101.1 -1962-04-28,97.4 -1962-04-29,94.9 -1962-04-30,92.8 -1962-05-01,95.5 -1962-05-02,96.6 -1962-05-03,96.1 -1962-05-04,92.1 -1962-05-05,88.6 -1962-05-06,88.1 -1962-05-07,84.8 -1962-05-08,85.8 -1962-05-09,89.0 -1962-05-10,92.7 -1962-05-11,99.9 -1962-05-12,100.0 -1962-05-13,98.3 -1962-05-14,96.6 -1962-05-15,93.1 -1962-05-16,91.4 -1962-05-17,95.5 -1962-05-18,97.0 -1962-05-19,99.1 -1962-05-20,105.7 -1962-05-21,108.7 -1962-05-22,112.5 -1962-05-23,113.7 -1962-05-24,113.7 -1962-05-25,114.5 -1962-05-26,113.1 -1962-05-27,111.4 -1962-05-28,105.7 -1962-05-29,107.3 -1962-05-30,108.1 -1962-05-31,107.3 -1962-06-01,100.8 -1962-06-02,95.0 -1962-06-03,89.0 -1962-06-04,87.4 -1962-06-05,87.5 -1962-06-06,89.9 -1962-06-07,94.3 -1962-06-08,92.2 -1962-06-09,94.2 -1962-06-10,93.2 -1962-06-11,91.3 -1962-06-12,90.2 -1962-06-13,91.6 -1962-06-14,92.1 -1962-06-15,95.6 -1962-06-16,98.0 -1962-06-17,101.1 -1962-06-18,100.5 -1962-06-19,101.2 -1962-06-20,98.8 -1962-06-21,93.3 -1962-06-22,93.0 -1962-06-23,89.1 -1962-06-24,89.8 -1962-06-25,92.7 -1962-06-26,95.0 -1962-06-27,95.8 -1962-06-28,93.9 -1962-06-29, -1962-06-30, -1962-07-01, -1962-07-02, -1962-07-03, -1962-07-04,92.6 -1962-07-05,90.7 -1962-07-06,89.2 -1962-07-07,90.4 -1962-07-08,86.0 -1962-07-09,82.8 -1962-07-10,83.3 -1962-07-11,85.5 -1962-07-12,84.4 -1962-07-13,88.6 -1962-07-14,89.1 -1962-07-15,87.8 -1962-07-16,86.4 -1962-07-17,86.4 -1962-07-18,84.4 -1962-07-19,82.7 -1962-07-20,82.7 -1962-07-21,81.3 -1962-07-22,82.9 -1962-07-23,80.6 -1962-07-24,80.6 -1962-07-25,76.8 -1962-07-26,78.4 -1962-07-27,76.5 -1962-07-28,76.2 -1962-07-29,75.4 -1962-07-30,74.4 -1962-07-31,75.1 -1962-08-01,73.0 -1962-08-02,75.1 -1962-08-03,73.8 -1962-08-04,74.8 -1962-08-05,72.4 -1962-08-06,73.7 -1962-08-07,73.4 -1962-08-08,74.5 -1962-08-09,75.1 -1962-08-10,77.6 -1962-08-11,75.7 -1962-08-12,78.4 -1962-08-13,81.2 -1962-08-14,85.4 -1962-08-15,94.0 -1962-08-16,92.7 -1962-08-17,90.9 -1962-08-18,86.9 -1962-08-19,85.4 -1962-08-20,86.6 -1962-08-21,83.8 -1962-08-22,82.3 -1962-08-23,81.2 -1962-08-24,80.4 -1962-08-25,78.7 -1962-08-26,76.6 -1962-08-27,75.1 -1962-08-28,73.9 -1962-08-29,73.2 -1962-08-30,73.8 -1962-08-31,76.8 -1962-09-01,85.3 -1962-09-02,94.7 -1962-09-03,100.2 -1962-09-04,101.2 -1962-09-05,99.2 -1962-09-06,101.9 -1962-09-07,101.3 -1962-09-08,98.6 -1962-09-09,95.2 -1962-09-10,92.5 -1962-09-11,91.4 -1962-09-12,94.8 -1962-09-13,92.9 -1962-09-14,96.4 -1962-09-15,94.0 -1962-09-16,91.8 -1962-09-17,79.3 -1962-09-18,86.5 -1962-09-19,84.9 -1962-09-20,84.6 -1962-09-21,83.6 -1962-09-22,81.9 -1962-09-23,83.0 -1962-09-24,83.2 -1962-09-25,84.9 -1962-09-26,85.2 -1962-09-27,84.3 -1962-09-28,83.3 -1962-09-29,86.9 -1962-09-30,90.4 -1962-10-01,86.6 -1962-10-02,86.0 -1962-10-03,83.7 -1962-10-04,82.3 -1962-10-05,85.9 -1962-10-06,84.0 -1962-10-07,85.3 -1962-10-08,87.3 -1962-10-09,86.5 -1962-10-10,92.9 -1962-10-11,93.5 -1962-10-12,93.5 -1962-10-13,95.0 -1962-10-14,95.5 -1962-10-15,94.2 -1962-10-16,91.1 -1962-10-17,90.6 -1962-10-18,88.7 -1962-10-19,87.2 -1962-10-20,87.6 -1962-10-21,86.8 -1962-10-22,84.5 -1962-10-23,84.0 -1962-10-24,88.8 -1962-10-25,86.1 -1962-10-26,86.4 -1962-10-27,85.8 -1962-10-28,81.9 -1962-10-29,79.1 -1962-10-30,81.9 -1962-10-31,80.3 -1962-11-01,79.6 -1962-11-02,79.6 -1962-11-03,79.8 -1962-11-04,81.1 -1962-11-05,81.1 -1962-11-06,82.2 -1962-11-07,83.8 -1962-11-08,84.5 -1962-11-09,84.8 -1962-11-10, -1962-11-11,86.0 -1962-11-12,87.2 -1962-11-13,91.9 -1962-11-14,97.4 -1962-11-15,94.1 -1962-11-16,97.8 -1962-11-17,93.0 -1962-11-18,87.3 -1962-11-19,87.6 -1962-11-20,85.3 -1962-11-21,79.6 -1962-11-22,77.9 -1962-11-23,75.9 -1962-11-24,79.1 -1962-11-25,76.3 -1962-11-26,75.5 -1962-11-27,74.0 -1962-11-28,73.5 -1962-11-29,74.2 -1962-11-30,75.8 -1962-12-01,75.8 -1962-12-02,80.3 -1962-12-03,81.5 -1962-12-04,81.0 -1962-12-05,80.8 -1962-12-06,81.7 -1962-12-07,85.0 -1962-12-08,83.3 -1962-12-09,81.5 -1962-12-10,82.5 -1962-12-11,76.6 -1962-12-12,75.0 -1962-12-13,75.6 -1962-12-14,75.1 -1962-12-15,74.9 -1962-12-16,74.8 -1962-12-17,77.1 -1962-12-18,82.1 -1962-12-19,82.7 -1962-12-20,85.0 -1962-12-21,83.4 -1962-12-22,80.6 -1962-12-23,78.0 -1962-12-24,77.8 -1962-12-25, -1962-12-26, -1962-12-27, -1962-12-28,72.4 -1962-12-29, -1962-12-30, -1962-12-31, -1963-01-01, -1963-01-02, -1963-01-03,75.8 -1963-01-04,77.3 -1963-01-05,76.0 -1963-01-06,75.2 -1963-01-07,75.5 -1963-01-08,74.9 -1963-01-09,76.7 -1963-01-10,78.5 -1963-01-11,79.7 -1963-01-12,76.9 -1963-01-13,77.4 -1963-01-14,84.0 -1963-01-15,83.0 -1963-01-16,80.3 -1963-01-17,80.6 -1963-01-18,78.9 -1963-01-19,76.1 -1963-01-20,76.1 -1963-01-21,74.4 -1963-01-22,73.5 -1963-01-23,72.5 -1963-01-24,71.7 -1963-01-25,72.2 -1963-01-26,72.0 -1963-01-27,79.1 -1963-01-28,78.6 -1963-01-29,77.3 -1963-01-30,76.7 -1963-01-31,80.9 -1963-02-01,85.7 -1963-02-02,84.7 -1963-02-03,83.4 -1963-02-04,86.0 -1963-02-05,85.2 -1963-02-06,83.2 -1963-02-07,81.3 -1963-02-08,80.2 -1963-02-09,77.9 -1963-02-10,77.4 -1963-02-11,74.9 -1963-02-12,72.7 -1963-02-13,72.8 -1963-02-14,73.5 -1963-02-15,74.6 -1963-02-16,75.8 -1963-02-17,77.5 -1963-02-18,79.6 -1963-02-19,77.6 -1963-02-20,75.7 -1963-02-21,73.1 -1963-02-22,74.6 -1963-02-23,74.2 -1963-02-24,74.9 -1963-02-25,77.2 -1963-02-26,75.4 -1963-02-27,73.8 -1963-02-28,72.8 -1963-03-01,73.3 -1963-03-02,74.4 -1963-03-03,77.4 -1963-03-04,79.2 -1963-03-05,81.3 -1963-03-06,84.2 -1963-03-07,83.2 -1963-03-08,82.7 -1963-03-09,80.9 -1963-03-10,79.2 -1963-03-11,77.6 -1963-03-12,75.9 -1963-03-13,73.6 -1963-03-14,79.1 -1963-03-15,79.3 -1963-03-16,78.9 -1963-03-17,78.9 -1963-03-18,79.5 -1963-03-19,76.9 -1963-03-20,76.5 -1963-03-21,75.7 -1963-03-22,75.9 -1963-03-23,74.7 -1963-03-24,74.5 -1963-03-25,74.6 -1963-03-26,73.1 -1963-03-27,73.9 -1963-03-28,73.2 -1963-03-29,74.8 -1963-03-30,74.2 -1963-03-31,70.9 -1963-04-01,73.2 -1963-04-02,73.7 -1963-04-03,74.1 -1963-04-04,70.3 -1963-04-05,72.1 -1963-04-06,78.1 -1963-04-07,80.4 -1963-04-08,81.0 -1963-04-09,82.6 -1963-04-10,82.9 -1963-04-11,88.7 -1963-04-12,93.5 -1963-04-13,89.5 -1963-04-14,87.1 -1963-04-15,88.3 -1963-04-16,88.8 -1963-04-17,87.2 -1963-04-18,88.9 -1963-04-19,85.0 -1963-04-20,79.1 -1963-04-21,75.3 -1963-04-22,72.5 -1963-04-23,72.0 -1963-04-24,73.6 -1963-04-25,73.1 -1963-04-26,72.9 -1963-04-27,75.9 -1963-04-28,78.9 -1963-04-29,79.0 -1963-04-30,81.6 -1963-05-01,83.0 -1963-05-02,83.0 -1963-05-03,82.6 -1963-05-04,83.6 -1963-05-05,85.6 -1963-05-06,88.4 -1963-05-07,90.0 -1963-05-08,88.0 -1963-05-09,89.8 -1963-05-10,89.1 -1963-05-11,85.9 -1963-05-12,88.8 -1963-05-13,91.2 -1963-05-14,97.3 -1963-05-15,100.5 -1963-05-16,102.4 -1963-05-17,102.7 -1963-05-18,100.4 -1963-05-19,101.2 -1963-05-20,93.0 -1963-05-21,89.7 -1963-05-22,90.8 -1963-05-23,95.6 -1963-05-24,91.6 -1963-05-25,85.6 -1963-05-26,78.3 -1963-05-27,82.2 -1963-05-28,81.5 -1963-05-29,82.1 -1963-05-30,85.2 -1963-05-31,91.0 -1963-06-01,86.6 -1963-06-02,82.9 -1963-06-03,83.5 -1963-06-04,81.7 -1963-06-05,80.6 -1963-06-06,79.6 -1963-06-07,86.5 -1963-06-08,92.6 -1963-06-09,96.3 -1963-06-10,101.9 -1963-06-11,106.1 -1963-06-12,112.2 -1963-06-13,110.7 -1963-06-14,103.6 -1963-06-15,98.7 -1963-06-16,91.6 -1963-06-17,88.7 -1963-06-18,85.1 -1963-06-19,82.0 -1963-06-20,77.7 -1963-06-21,75.1 -1963-06-22,74.2 -1963-06-23,74.0 -1963-06-24,74.2 -1963-06-25,76.1 -1963-06-26,76.7 -1963-06-27,74.6 -1963-06-28,76.5 -1963-06-29,76.0 -1963-06-30,78.0 -1963-07-01,78.0 -1963-07-02,79.9 -1963-07-03,80.2 -1963-07-04,80.4 -1963-07-05,80.8 -1963-07-06,79.7 -1963-07-07,79.7 -1963-07-08,79.4 -1963-07-09,79.7 -1963-07-10,78.3 -1963-07-11,77.5 -1963-07-12,76.4 -1963-07-13,77.9 -1963-07-14,79.0 -1963-07-15,77.9 -1963-07-16,78.8 -1963-07-17,76.4 -1963-07-18,76.1 -1963-07-19,76.6 -1963-07-20,79.0 -1963-07-21,77.1 -1963-07-22,75.8 -1963-07-23,74.2 -1963-07-24,74.5 -1963-07-25,76.8 -1963-07-26,75.3 -1963-07-27,76.2 -1963-07-28,75.4 -1963-07-29,79.1 -1963-07-30,86.2 -1963-07-31,87.4 -1963-08-01,89.4 -1963-08-02,89.9 -1963-08-03,89.0 -1963-08-04,90.0 -1963-08-05,88.7 -1963-08-06,90.3 -1963-08-07,87.6 -1963-08-08,83.7 -1963-08-09,82.4 -1963-08-10,78.9 -1963-08-11,74.2 -1963-08-12,75.0 -1963-08-13,75.4 -1963-08-14,72.8 -1963-08-15,74.3 -1963-08-16,77.4 -1963-08-17,84.4 -1963-08-18,82.4 -1963-08-19,81.3 -1963-08-20,83.2 -1963-08-21,85.5 -1963-08-22,88.1 -1963-08-23,92.4 -1963-08-24,88.5 -1963-08-25,86.4 -1963-08-26,83.5 -1963-08-27,82.0 -1963-08-28,78.7 -1963-08-29,78.8 -1963-08-30,78.3 -1963-08-31,78.0 -1963-09-01,75.0 -1963-09-02,74.5 -1963-09-03,75.7 -1963-09-04,76.1 -1963-09-05,75.7 -1963-09-06,75.0 -1963-09-07,79.3 -1963-09-08,76.2 -1963-09-09,78.2 -1963-09-10,77.2 -1963-09-11,73.1 -1963-09-12,77.7 -1963-09-13,90.4 -1963-09-14,99.4 -1963-09-15,99.9 -1963-09-16,106.5 -1963-09-17,100.1 -1963-09-18,98.1 -1963-09-19,103.0 -1963-09-20,109.7 -1963-09-21,91.1 -1963-09-22,106.2 -1963-09-23,99.8 -1963-09-24,96.0 -1963-09-25,87.1 -1963-09-26,85.1 -1963-09-27,78.4 -1963-09-28,74.2 -1963-09-29,71.2 -1963-09-30,69.6 -1963-10-01,68.4 -1963-10-02,69.5 -1963-10-03,70.8 -1963-10-04,70.9 -1963-10-05,73.3 -1963-10-06,77.5 -1963-10-07,79.1 -1963-10-08,85.5 -1963-10-09,86.1 -1963-10-10,86.7 -1963-10-11,87.4 -1963-10-12,84.3 -1963-10-13,84.4 -1963-10-14,85.6 -1963-10-15,88.2 -1963-10-16,87.3 -1963-10-17,84.4 -1963-10-18,83.1 -1963-10-19,87.8 -1963-10-20,88.6 -1963-10-21,93.7 -1963-10-22,95.3 -1963-10-23,93.3 -1963-10-24,94.0 -1963-10-25,95.6 -1963-10-26,95.7 -1963-10-27,87.8 -1963-10-28,83.8 -1963-10-29,84.3 -1963-10-30,84.8 -1963-10-31,81.5 -1963-11-01,86.9 -1963-11-02,84.1 -1963-11-03,82.2 -1963-11-04,82.5 -1963-11-05,79.6 -1963-11-06,77.2 -1963-11-07,75.2 -1963-11-08,73.9 -1963-11-09,74.9 -1963-11-10,74.5 -1963-11-11,75.7 -1963-11-12,75.7 -1963-11-13,76.5 -1963-11-14,77.1 -1963-11-15,79.9 -1963-11-16,80.4 -1963-11-17,79.3 -1963-11-18,81.5 -1963-11-19,84.6 -1963-11-20,83.3 -1963-11-21,84.7 -1963-11-22,85.0 -1963-11-23,83.0 -1963-11-24,82.1 -1963-11-25,80.6 -1963-11-26,80.7 -1963-11-27,80.0 -1963-11-28,77.7 -1963-11-29,77.8 -1963-11-30,77.9 -1963-12-01,77.5 -1963-12-02,79.2 -1963-12-03,77.9 -1963-12-04,76.4 -1963-12-05,74.4 -1963-12-06,75.1 -1963-12-07,75.5 -1963-12-08,75.8 -1963-12-09,77.3 -1963-12-10,77.6 -1963-12-11,79.0 -1963-12-12,80.6 -1963-12-13,79.6 -1963-12-14,77.8 -1963-12-15,79.4 -1963-12-16,77.0 -1963-12-17,77.2 -1963-12-18,77.4 -1963-12-19,77.1 -1963-12-20,77.5 -1963-12-21,77.5 -1963-12-22,76.1 -1963-12-23,75.0 -1963-12-24,74.4 -1963-12-25, -1963-12-26,72.6 -1963-12-27,73.0 -1963-12-28,71.5 -1963-12-29,71.2 -1963-12-30,68.0 -1963-12-31,69.8 -1964-01-01, -1964-01-02,69.4 -1964-01-03,71.8 -1964-01-04,71.5 -1964-01-05,72.4 -1964-01-06,73.7 -1964-01-07,74.0 -1964-01-08,71.9 -1964-01-09,72.1 -1964-01-10,72.0 -1964-01-11,73.2 -1964-01-12,74.8 -1964-01-13,74.7 -1964-01-14,74.2 -1964-01-15,73.1 -1964-01-16,73.0 -1964-01-17,70.1 -1964-01-18,72.5 -1964-01-19,73.4 -1964-01-20,74.5 -1964-01-21,73.5 -1964-01-22,73.1 -1964-01-23,73.2 -1964-01-24,72.8 -1964-01-25,71.7 -1964-01-26,72.3 -1964-01-27,71.9 -1964-01-28,75.7 -1964-01-29,76.0 -1964-01-30,73.5 -1964-01-31,73.0 -1964-02-01,71.5 -1964-02-02,70.2 -1964-02-03,69.6 -1964-02-04,69.9 -1964-02-05,71.1 -1964-02-06,71.4 -1964-02-07,70.8 -1964-02-08,71.8 -1964-02-09,70.4 -1964-02-10,71.4 -1964-02-11,70.4 -1964-02-12,71.5 -1964-02-13,72.1 -1964-02-14,71.4 -1964-02-15,71.4 -1964-02-16,71.9 -1964-02-17,72.7 -1964-02-18,74.8 -1964-02-19,74.4 -1964-02-20,75.1 -1964-02-21,77.3 -1964-02-22,78.5 -1964-02-23,83.2 -1964-02-24,83.9 -1964-02-25,83.2 -1964-02-26,85.3 -1964-02-27,83.8 -1964-02-28,83.3 -1964-02-29,79.9 -1964-03-01,76.5 -1964-03-02,74.3 -1964-03-03,72.9 -1964-03-04,74.2 -1964-03-05,71.3 -1964-03-06,72.8 -1964-03-07,72.2 -1964-03-08,73.0 -1964-03-09,70.9 -1964-03-10,72.6 -1964-03-11,74.4 -1964-03-12,76.6 -1964-03-13,77.6 -1964-03-14,78.4 -1964-03-15,78.1 -1964-03-16,76.5 -1964-03-17,77.0 -1964-03-18,74.9 -1964-03-19,73.9 -1964-03-20,74.0 -1964-03-21,74.1 -1964-03-22,78.0 -1964-03-23,77.1 -1964-03-24,76.7 -1964-03-25,73.9 -1964-03-26,74.2 -1964-03-27,75.1 -1964-03-28,75.7 -1964-03-29,75.0 -1964-03-30,78.2 -1964-03-31,76.9 -1964-04-01,77.4 -1964-04-02,75.4 -1964-04-03,76.9 -1964-04-04,77.0 -1964-04-05,76.2 -1964-04-06,75.9 -1964-04-07,75.8 -1964-04-08,73.8 -1964-04-09,75.3 -1964-04-10,73.2 -1964-04-11,74.4 -1964-04-12,73.2 -1964-04-13,73.5 -1964-04-14,72.1 -1964-04-15,71.9 -1964-04-16,71.2 -1964-04-17,72.4 -1964-04-18,72.5 -1964-04-19,71.6 -1964-04-20,72.1 -1964-04-21,72.3 -1964-04-22,71.5 -1964-04-23,71.1 -1964-04-24,72.5 -1964-04-25,71.5 -1964-04-26,70.5 -1964-04-27,70.5 -1964-04-28,70.9 -1964-04-29,69.9 -1964-04-30,70.1 -1964-05-01,70.0 -1964-05-02,69.5 -1964-05-03,71.0 -1964-05-04,71.5 -1964-05-05,73.2 -1964-05-06,72.2 -1964-05-07,72.3 -1964-05-08,72.9 -1964-05-09,72.3 -1964-05-10,71.5 -1964-05-11,71.5 -1964-05-12,81.1 -1964-05-13,70.0 -1964-05-14,69.8 -1964-05-15,69.5 -1964-05-16,71.6 -1964-05-17,71.2 -1964-05-18,72.0 -1964-05-19,70.3 -1964-05-20,69.3 -1964-05-21,69.7 -1964-05-22,68.8 -1964-05-23,69.0 -1964-05-24,69.7 -1964-05-25,69.2 -1964-05-26,70.2 -1964-05-27,69.5 -1964-05-28,71.4 -1964-05-29,71.0 -1964-05-30,70.1 -1964-05-31,69.6 -1964-06-01,69.6 -1964-06-02,69.9 -1964-06-03,70.1 -1964-06-04,70.1 -1964-06-05,69.8 -1964-06-06,70.4 -1964-06-07,71.6 -1964-06-08,71.8 -1964-06-09,71.1 -1964-06-10,72.4 -1964-06-11,72.4 -1964-06-12,71.0 -1964-06-13,72.4 -1964-06-14,72.7 -1964-06-15,73.8 -1964-06-16,72.8 -1964-06-17,73.3 -1964-06-18,74.0 -1964-06-19,72.4 -1964-06-20,72.7 -1964-06-21,72.0 -1964-06-22,71.7 -1964-06-23,69.6 -1964-06-24,70.2 -1964-06-25,69.9 -1964-06-26,69.9 -1964-06-27,69.6 -1964-06-28,69.5 -1964-06-29,69.3 -1964-06-30,69.4 -1964-07-01,69.6 -1964-07-02,69.2 -1964-07-03,69.5 -1964-07-04,70.4 -1964-07-05,69.9 -1964-07-06,70.1 -1964-07-07,69.2 -1964-07-08,70.2 -1964-07-09,69.3 -1964-07-10,68.8 -1964-07-11,69.9 -1964-07-12,69.1 -1964-07-13,68.6 -1964-07-14,71.4 -1964-07-15,71.7 -1964-07-16,71.4 -1964-07-17,70.8 -1964-07-18,70.2 -1964-07-19,69.6 -1964-07-20,68.8 -1964-07-21,68.5 -1964-07-22,68.2 -1964-07-23,68.5 -1964-07-24,68.2 -1964-07-25,67.9 -1964-07-26,66.8 -1964-07-27,67.3 -1964-07-28,67.4 -1964-07-29,67.9 -1964-07-30,68.2 -1964-07-31,68.1 -1964-08-01,68.9 -1964-08-02,69.7 -1964-08-03,70.0 -1964-08-04,69.8 -1964-08-05,71.0 -1964-08-06,70.1 -1964-08-07,69.6 -1964-08-08,69.4 -1964-08-09,69.8 -1964-08-10,70.7 -1964-08-11,70.0 -1964-08-12,71.7 -1964-08-13,76.0 -1964-08-14,78.1 -1964-08-15,77.4 -1964-08-16,74.9 -1964-08-17,73.3 -1964-08-18,71.4 -1964-08-19,72.3 -1964-08-20,71.4 -1964-08-21,70.8 -1964-08-22,70.6 -1964-08-23,70.3 -1964-08-24,69.9 -1964-08-25,69.2 -1964-08-26,68.9 -1964-08-27,69.7 -1964-08-28,68.6 -1964-08-29,68.5 -1964-08-30,69.9 -1964-08-31,70.2 -1964-09-01,71.4 -1964-09-02,70.5 -1964-09-03,70.9 -1964-09-04,71.1 -1964-09-05,70.9 -1964-09-06,71.6 -1964-09-07,71.9 -1964-09-08,72.0 -1964-09-09,72.5 -1964-09-10,72.9 -1964-09-11,73.1 -1964-09-12,73.3 -1964-09-13,73.0 -1964-09-14,72.6 -1964-09-15,72.1 -1964-09-16,70.4 -1964-09-17,69.2 -1964-09-18,69.2 -1964-09-19,69.6 -1964-09-20,69.6 -1964-09-21,69.3 -1964-09-22,69.4 -1964-09-23,69.2 -1964-09-24,68.6 -1964-09-25,68.4 -1964-09-26,70.0 -1964-09-27,70.2 -1964-09-28,70.7 -1964-09-29,71.2 -1964-09-30,71.9 -1964-10-01,72.4 -1964-10-02,71.9 -1964-10-03,72.1 -1964-10-04,71.1 -1964-10-05,71.9 -1964-10-06,72.9 -1964-10-07,74.4 -1964-10-08,77.3 -1964-10-09,73.3 -1964-10-10,73.1 -1964-10-11,71.9 -1964-10-12,70.1 -1964-10-13,72.3 -1964-10-14,70.6 -1964-10-15,70.6 -1964-10-16,71.0 -1964-10-17,70.9 -1964-10-18,72.3 -1964-10-19,72.7 -1964-10-20,72.4 -1964-10-21,70.7 -1964-10-22,72.3 -1964-10-23,72.8 -1964-10-24,73.5 -1964-10-25,76.0 -1964-10-26,76.1 -1964-10-27,75.4 -1964-10-28,74.1 -1964-10-29,73.8 -1964-10-30,73.7 -1964-10-31,74.5 -1964-11-01,74.3 -1964-11-02,74.0 -1964-11-03,73.4 -1964-11-04,72.8 -1964-11-05,72.3 -1964-11-06,73.3 -1964-11-07,72.2 -1964-11-08,71.8 -1964-11-09,71.1 -1964-11-10,70.8 -1964-11-11,70.9 -1964-11-12,71.4 -1964-11-13,71.4 -1964-11-14,71.8 -1964-11-15,71.5 -1964-11-16,71.2 -1964-11-17,74.7 -1964-11-18,74.2 -1964-11-19,74.0 -1964-11-20,75.0 -1964-11-21,72.8 -1964-11-22,72.4 -1964-11-23,70.7 -1964-11-24,70.2 -1964-11-25,70.5 -1964-11-26,69.0 -1964-11-27,70.5 -1964-11-28,69.7 -1964-11-29,72.0 -1964-11-30,72.5 -1964-12-01,75.0 -1964-12-02,75.0 -1964-12-03,75.6 -1964-12-04,76.9 -1964-12-05,76.5 -1964-12-06,75.7 -1964-12-07,75.0 -1964-12-08,76.2 -1964-12-09,76.3 -1964-12-10,77.2 -1964-12-11,78.3 -1964-12-12,75.5 -1964-12-13,76.7 -1964-12-14,76.6 -1964-12-15,77.2 -1964-12-16,78.7 -1964-12-17,78.4 -1964-12-18,78.7 -1964-12-19,79.8 -1964-12-20,78.3 -1964-12-21,76.8 -1964-12-22,76.3 -1964-12-23,74.8 -1964-12-24,73.8 -1964-12-25,73.7 -1964-12-26,72.7 -1964-12-27,75.0 -1964-12-28,76.0 -1964-12-29,76.4 -1964-12-30,75.4 -1964-12-31,77.2 -1965-01-01,84.1 -1965-01-02,82.8 -1965-01-03,80.7 -1965-01-04,79.3 -1965-01-05,78.6 -1965-01-06,79.0 -1965-01-07,76.9 -1965-01-08,76.1 -1965-01-09,75.3 -1965-01-10,74.6 -1965-01-11,73.7 -1965-01-12,73.7 -1965-01-13,73.6 -1965-01-14,73.1 -1965-01-15,73.4 -1965-01-16,72.3 -1965-01-17,72.2 -1965-01-18,73.1 -1965-01-19,72.5 -1965-01-20,74.7 -1965-01-21,75.1 -1965-01-22,75.3 -1965-01-23,74.2 -1965-01-24,74.9 -1965-01-25,74.0 -1965-01-26,74.4 -1965-01-27,77.7 -1965-01-28,75.9 -1965-01-29,77.5 -1965-01-30,79.5 -1965-01-31,78.6 -1965-02-01,77.0 -1965-02-02,77.6 -1965-02-03,77.2 -1965-02-04,76.0 -1965-02-05,74.8 -1965-02-06,74.8 -1965-02-07,76.0 -1965-02-08,74.0 -1965-02-09,74.0 -1965-02-10,74.5 -1965-02-11,72.4 -1965-02-12,71.8 -1965-02-13,71.2 -1965-02-14,70.7 -1965-02-15,71.3 -1965-02-16,72.0 -1965-02-17,72.2 -1965-02-18,71.1 -1965-02-19,71.2 -1965-02-20,70.3 -1965-02-21,70.5 -1965-02-22,70.8 -1965-02-23,71.9 -1965-02-24,73.4 -1965-02-25,73.2 -1965-02-26,72.8 -1965-02-27,75.1 -1965-02-28,75.3 -1965-03-01,75.5 -1965-03-02,74.4 -1965-03-03,74.1 -1965-03-04,74.2 -1965-03-05,75.3 -1965-03-06,76.0 -1965-03-07,76.3 -1965-03-08,73.8 -1965-03-09,72.3 -1965-03-10,72.5 -1965-03-11,71.3 -1965-03-12,72.9 -1965-03-13,75.0 -1965-03-14,74.1 -1965-03-15,72.1 -1965-03-16,70.8 -1965-03-17,71.1 -1965-03-18,74.6 -1965-03-19,76.6 -1965-03-20,74.1 -1965-03-21,73.7 -1965-03-22,72.4 -1965-03-23,72.7 -1965-03-24,72.2 -1965-03-25,73.6 -1965-03-26,73.2 -1965-03-27,72.0 -1965-03-28,71.7 -1965-03-29,72.0 -1965-03-30,71.4 -1965-03-31,71.6 -1965-04-01,71.2 -1965-04-02,71.6 -1965-04-03,71.4 -1965-04-04,71.2 -1965-04-05,70.9 -1965-04-06,71.1 -1965-04-07,70.9 -1965-04-08,70.8 -1965-04-09,72.0 -1965-04-10,73.5 -1965-04-11,74.2 -1965-04-12,73.8 -1965-04-13,74.1 -1965-04-14,75.9 -1965-04-15,75.6 -1965-04-16,75.2 -1965-04-17,73.8 -1965-04-18,73.7 -1965-04-19,74.8 -1965-04-20,73.2 -1965-04-21,73.8 -1965-04-22,73.5 -1965-04-23,74.0 -1965-04-24,71.7 -1965-04-25,70.5 -1965-04-26,70.0 -1965-04-27,70.2 -1965-04-28,70.5 -1965-04-29,71.3 -1965-04-30,71.0 -1965-05-01,72.3 -1965-05-02,72.0 -1965-05-03,71.9 -1965-05-04,70.9 -1965-05-05,70.3 -1965-05-06,71.7 -1965-05-07,72.8 -1965-05-08,73.4 -1965-05-09,73.8 -1965-05-10,73.6 -1965-05-11,72.5 -1965-05-12,73.3 -1965-05-13,76.0 -1965-05-14,77.1 -1965-05-15,82.2 -1965-05-16,88.2 -1965-05-17,93.2 -1965-05-18,92.5 -1965-05-19,94.6 -1965-05-20,96.9 -1965-05-21,95.1 -1965-05-22,94.5 -1965-05-23,88.4 -1965-05-24,87.3 -1965-05-25,83.1 -1965-05-26,80.0 -1965-05-27,78.0 -1965-05-28,76.5 -1965-05-29,75.7 -1965-05-30,76.0 -1965-05-31,73.6 -1965-06-01,72.8 -1965-06-02,75.8 -1965-06-03,77.3 -1965-06-04,80.4 -1965-06-05,80.6 -1965-06-06,80.7 -1965-06-07,79.5 -1965-06-08,80.7 -1965-06-09,81.4 -1965-06-10,80.7 -1965-06-11,78.8 -1965-06-12,78.3 -1965-06-13,79.2 -1965-06-14,78.5 -1965-06-15,79.1 -1965-06-16,78.4 -1965-06-17,78.7 -1965-06-18,80.7 -1965-06-19,77.3 -1965-06-20,78.5 -1965-06-21,78.4 -1965-06-22,80.7 -1965-06-23,82.8 -1965-06-24,80.6 -1965-06-25,81.9 -1965-06-26,81.3 -1965-06-27,80.3 -1965-06-28,79.3 -1965-06-29,79.0 -1965-06-30,79.6 -1965-07-01,78.5 -1965-07-02,78.1 -1965-07-03,78.7 -1965-07-04,78.4 -1965-07-05,77.9 -1965-07-06,81.1 -1965-07-07,84.2 -1965-07-08,83.7 -1965-07-09,84.1 -1965-07-10,83.0 -1965-07-11,82.6 -1965-07-12,80.7 -1965-07-13,78.8 -1965-07-14,77.1 -1965-07-15,76.9 -1965-07-16,74.4 -1965-07-17,74.2 -1965-07-18,74.2 -1965-07-19,74.8 -1965-07-20,75.4 -1965-07-21,74.9 -1965-07-22,73.7 -1965-07-23,73.1 -1965-07-24,72.3 -1965-07-25,72.2 -1965-07-26,71.6 -1965-07-27,72.1 -1965-07-28,72.7 -1965-07-29,73.3 -1965-07-30,73.3 -1965-07-31,72.8 -1965-08-01,74.1 -1965-08-02,75.1 -1965-08-03,79.6 -1965-08-04,80.6 -1965-08-05,78.5 -1965-08-06,81.0 -1965-08-07,81.9 -1965-08-08,79.5 -1965-08-09,79.8 -1965-08-10,78.2 -1965-08-11,78.8 -1965-08-12,78.0 -1965-08-13,76.8 -1965-08-14,75.6 -1965-08-15,74.4 -1965-08-16,75.7 -1965-08-17,74.2 -1965-08-18,75.1 -1965-08-19,76.1 -1965-08-20,75.5 -1965-08-21,75.3 -1965-08-22,74.6 -1965-08-23,74.6 -1965-08-24,74.3 -1965-08-25,73.8 -1965-08-26,73.5 -1965-08-27,76.1 -1965-08-28,74.7 -1965-08-29,75.7 -1965-08-30,76.5 -1965-08-31,76.4 -1965-09-01,76.9 -1965-09-02,77.4 -1965-09-03,78.0 -1965-09-04,78.1 -1965-09-05,80.1 -1965-09-06,78.4 -1965-09-07,79.0 -1965-09-08,79.9 -1965-09-09,77.3 -1965-09-10,76.8 -1965-09-11,76.8 -1965-09-12,76.4 -1965-09-13,76.1 -1965-09-14,76.3 -1965-09-15,75.9 -1965-09-16,74.7 -1965-09-17,74.7 -1965-09-18,73.8 -1965-09-19,73.6 -1965-09-20,73.6 -1965-09-21,73.3 -1965-09-22,71.9 -1965-09-23,72.5 -1965-09-24,76.8 -1965-09-25,76.4 -1965-09-26,77.6 -1965-09-27,79.0 -1965-09-28,81.1 -1965-09-29,87.9 -1965-09-30,89.6 -1965-10-01,92.6 -1965-10-02,93.7 -1965-10-03,96.5 -1965-10-04,97.9 -1965-10-05,92.0 -1965-10-06,85.5 -1965-10-07,83.9 -1965-10-08,83.1 -1965-10-09,83.5 -1965-10-10,80.6 -1965-10-11,76.1 -1965-10-12,74.9 -1965-10-13,75.8 -1965-10-14,74.7 -1965-10-15,73.8 -1965-10-16,72.3 -1965-10-17,72.5 -1965-10-18,72.1 -1965-10-19,71.7 -1965-10-20,72.5 -1965-10-21,73.1 -1965-10-22,76.0 -1965-10-23,78.5 -1965-10-24,76.0 -1965-10-25,77.5 -1965-10-26,77.8 -1965-10-27,77.6 -1965-10-28,76.8 -1965-10-29,76.2 -1965-10-30,75.7 -1965-10-31,77.5 -1965-11-01,78.3 -1965-11-02,79.0 -1965-11-03,80.6 -1965-11-04,79.2 -1965-11-05,77.4 -1965-11-06,80.0 -1965-11-07,84.5 -1965-11-08,79.7 -1965-11-09,81.3 -1965-11-10,83.3 -1965-11-11,83.4 -1965-11-12,79.9 -1965-11-13,76.5 -1965-11-14,75.2 -1965-11-15,75.7 -1965-11-16,73.3 -1965-11-17,73.5 -1965-11-18,74.2 -1965-11-19,72.5 -1965-11-20,71.8 -1965-11-21,71.3 -1965-11-22,70.9 -1965-11-23,70.4 -1965-11-24,70.3 -1965-11-25,69.7 -1965-11-26,70.9 -1965-11-27,73.1 -1965-11-28,75.9 -1965-11-29,72.9 -1965-11-30,74.0 -1965-12-01,74.4 -1965-12-02,74.0 -1965-12-03,73.8 -1965-12-04,73.5 -1965-12-05,74.3 -1965-12-06,75.1 -1965-12-07,74.2 -1965-12-08,75.6 -1965-12-09,73.9 -1965-12-10,74.2 -1965-12-11,74.5 -1965-12-12,74.8 -1965-12-13,72.9 -1965-12-14,73.6 -1965-12-15,75.7 -1965-12-16,76.4 -1965-12-17,77.2 -1965-12-18,77.2 -1965-12-19,75.6 -1965-12-20,73.4 -1965-12-21,73.0 -1965-12-22,71.1 -1965-12-23,71.5 -1965-12-24,70.0 -1965-12-25,70.9 -1965-12-26,75.6 -1965-12-27,82.3 -1965-12-28,82.4 -1965-12-29,83.3 -1965-12-30,80.5 -1965-12-31,79.4 -1966-01-01,79.2 -1966-01-02,76.3 -1966-01-03,75.9 -1966-01-04,77.8 -1966-01-05,77.3 -1966-01-06,77.0 -1966-01-07,78.2 -1966-01-08,77.9 -1966-01-09,77.4 -1966-01-10,77.1 -1966-01-11,78.2 -1966-01-12,81.2 -1966-01-13,84.3 -1966-01-14,90.1 -1966-01-15,98.5 -1966-01-16,102.6 -1966-01-17,98.4 -1966-01-18,101.4 -1966-01-19,105.1 -1966-01-20,99.0 -1966-01-21,95.7 -1966-01-22,91.7 -1966-01-23,90.6 -1966-01-24,88.9 -1966-01-25,85.3 -1966-01-26,82.7 -1966-01-27,79.9 -1966-01-28,78.0 -1966-01-29,78.2 -1966-01-30,76.3 -1966-01-31,75.4 -1966-02-01,77.5 -1966-02-02,76.9 -1966-02-03,77.4 -1966-02-04,79.0 -1966-02-05,80.5 -1966-02-06,82.1 -1966-02-07,82.8 -1966-02-08,82.3 -1966-02-09,82.9 -1966-02-10,83.7 -1966-02-11,83.5 -1966-02-12,83.1 -1966-02-13,83.9 -1966-02-14,83.9 -1966-02-15,83.2 -1966-02-16,82.6 -1966-02-17,82.0 -1966-02-18,82.1 -1966-02-19,81.0 -1966-02-20,82.8 -1966-02-21,85.7 -1966-02-22,85.9 -1966-02-23,82.7 -1966-02-24,81.9 -1966-02-25,79.2 -1966-02-26,83.1 -1966-02-27,83.1 -1966-02-28,84.0 -1966-03-01,79.7 -1966-03-02,76.6 -1966-03-03,75.7 -1966-03-04,75.4 -1966-03-05,74.7 -1966-03-06,75.4 -1966-03-07,76.2 -1966-03-08,76.4 -1966-03-09,78.4 -1966-03-10,78.5 -1966-03-11,77.9 -1966-03-12,78.3 -1966-03-13,80.0 -1966-03-14,81.3 -1966-03-15,87.1 -1966-03-16,92.8 -1966-03-17,105.1 -1966-03-18,109.6 -1966-03-19,114.6 -1966-03-20,111.0 -1966-03-21,120.4 -1966-03-22,105.1 -1966-03-23,96.2 -1966-03-24,92.9 -1966-03-25,91.1 -1966-03-26,84.6 -1966-03-27,83.0 -1966-03-28,87.6 -1966-03-29,96.1 -1966-03-30,99.0 -1966-03-31,110.4 -1966-04-01,106.8 -1966-04-02,106.3 -1966-04-03,102.1 -1966-04-04,102.6 -1966-04-05,102.0 -1966-04-06,104.2 -1966-04-07,102.8 -1966-04-08,107.3 -1966-04-09,100.3 -1966-04-10,94.7 -1966-04-11,93.9 -1966-04-12,94.8 -1966-04-13,93.1 -1966-04-14,91.0 -1966-04-15,96.3 -1966-04-16,93.2 -1966-04-17,95.2 -1966-04-18,92.9 -1966-04-19,88.9 -1966-04-20,93.5 -1966-04-21,91.7 -1966-04-22,93.4 -1966-04-23,98.8 -1966-04-24,103.7 -1966-04-25,103.8 -1966-04-26,101.3 -1966-04-27,96.9 -1966-04-28,94.9 -1966-04-29,94.5 -1966-04-30,93.2 -1966-05-01,91.7 -1966-05-02,93.9 -1966-05-03,93.9 -1966-05-04,92.5 -1966-05-05,88.5 -1966-05-06,87.5 -1966-05-07,89.8 -1966-05-08,87.8 -1966-05-09,87.5 -1966-05-10,86.6 -1966-05-11,88.3 -1966-05-12,92.6 -1966-05-13,92.9 -1966-05-14,97.1 -1966-05-15,99.2 -1966-05-16,100.2 -1966-05-17,98.9 -1966-05-18,98.7 -1966-05-19,107.1 -1966-05-20,115.5 -1966-05-21,123.6 -1966-05-22,121.1 -1966-05-23,114.0 -1966-05-24,117.7 -1966-05-25,115.1 -1966-05-26,112.4 -1966-05-27,108.5 -1966-05-28,107.5 -1966-05-29,106.1 -1966-05-30,101.6 -1966-05-31,105.6 -1966-06-01,104.9 -1966-06-02,103.9 -1966-06-03,102.6 -1966-06-04,102.0 -1966-06-05,101.7 -1966-06-06,101.9 -1966-06-07,96.9 -1966-06-08,99.5 -1966-06-09,98.8 -1966-06-10,96.8 -1966-06-11,96.0 -1966-06-12,95.8 -1966-06-13,96.0 -1966-06-14,96.9 -1966-06-15,94.7 -1966-06-16,97.9 -1966-06-17,99.4 -1966-06-18,98.2 -1966-06-19,96.9 -1966-06-20,94.3 -1966-06-21,93.4 -1966-06-22,96.0 -1966-06-23,99.1 -1966-06-24,103.5 -1966-06-25,104.8 -1966-06-26,105.6 -1966-06-27,100.8 -1966-06-28,101.4 -1966-06-29,99.7 -1966-06-30,100.7 -1966-07-01,100.1 -1966-07-02,98.2 -1966-07-03,99.2 -1966-07-04,104.8 -1966-07-05,105.1 -1966-07-06,109.7 -1966-07-07,112.6 -1966-07-08,114.4 -1966-07-09,107.8 -1966-07-10,108.2 -1966-07-11,109.0 -1966-07-12,102.7 -1966-07-13,100.4 -1966-07-14,99.7 -1966-07-15,101.1 -1966-07-16,102.8 -1966-07-17,101.2 -1966-07-18,101.3 -1966-07-19,101.5 -1966-07-20,101.9 -1966-07-21,103.7 -1966-07-22,106.5 -1966-07-23,114.9 -1966-07-24,120.6 -1966-07-25,126.0 -1966-07-26,127.7 -1966-07-27,123.8 -1966-07-28,124.2 -1966-07-29,132.9 -1966-07-30,128.1 -1966-07-31,124.6 -1966-08-01,125.9 -1966-08-02,119.6 -1966-08-03,118.2 -1966-08-04,116.0 -1966-08-05,110.5 -1966-08-06,106.0 -1966-08-07,101.5 -1966-08-08,97.6 -1966-08-09,96.4 -1966-08-10,94.2 -1966-08-11,92.5 -1966-08-12,92.8 -1966-08-13,93.1 -1966-08-14,92.8 -1966-08-15,93.6 -1966-08-16,95.1 -1966-08-17,96.7 -1966-08-18,97.4 -1966-08-19,100.0 -1966-08-20,101.6 -1966-08-21,102.7 -1966-08-22,105.5 -1966-08-23,114.7 -1966-08-24,122.0 -1966-08-25,126.3 -1966-08-26,130.2 -1966-08-27,133.4 -1966-08-28,132.6 -1966-08-29,129.8 -1966-08-30,126.2 -1966-08-31,121.0 -1966-09-01,116.6 -1966-09-02,106.3 -1966-09-03,103.2 -1966-09-04,101.9 -1966-09-05,100.5 -1966-09-06,97.9 -1966-09-07,95.8 -1966-09-08,96.2 -1966-09-09,95.3 -1966-09-10,93.9 -1966-09-11,96.6 -1966-09-12,100.8 -1966-09-13,102.4 -1966-09-14,107.4 -1966-09-15,112.0 -1966-09-16,124.7 -1966-09-17,129.1 -1966-09-18,142.6 -1966-09-19,146.6 -1966-09-20,146.1 -1966-09-21,137.2 -1966-09-22,131.5 -1966-09-23,127.5 -1966-09-24,126.1 -1966-09-25,118.8 -1966-09-26,109.4 -1966-09-27,102.9 -1966-09-28,97.8 -1966-09-29,98.5 -1966-09-30,95.6 -1966-10-01,101.4 -1966-10-02,102.0 -1966-10-03,103.2 -1966-10-04,100.6 -1966-10-05,100.0 -1966-10-06,101.9 -1966-10-07,103.1 -1966-10-08,99.4 -1966-10-09,103.5 -1966-10-10,106.5 -1966-10-11,109.9 -1966-10-12,114.8 -1966-10-13,122.8 -1966-10-14,120.3 -1966-10-15,120.6 -1966-10-16,120.4 -1966-10-17,120.6 -1966-10-18,118.5 -1966-10-19,115.6 -1966-10-20,124.1 -1966-10-21,120.9 -1966-10-22,119.8 -1966-10-23,111.1 -1966-10-24,106.1 -1966-10-25,100.8 -1966-10-26,97.7 -1966-10-27,91.9 -1966-10-28,94.1 -1966-10-29,99.6 -1966-10-30,95.7 -1966-10-31,97.1 -1966-11-01,94.5 -1966-11-02,96.7 -1966-11-03,93.0 -1966-11-04,91.7 -1966-11-05,97.9 -1966-11-06,104.7 -1966-11-07,113.4 -1966-11-08,116.9 -1966-11-09,117.2 -1966-11-10,121.9 -1966-11-11,126.1 -1966-11-12,126.2 -1966-11-13,126.4 -1966-11-14,124.0 -1966-11-15,122.6 -1966-11-16,121.2 -1966-11-17,113.2 -1966-11-18,113.4 -1966-11-19,111.0 -1966-11-20,110.9 -1966-11-21,110.7 -1966-11-22,116.5 -1966-11-23,114.7 -1966-11-24,113.8 -1966-11-25,110.7 -1966-11-26,107.3 -1966-11-27,111.1 -1966-11-28,104.1 -1966-11-29,97.9 -1966-11-30,94.5 -1966-12-01,92.2 -1966-12-02,95.0 -1966-12-03,98.6 -1966-12-04,104.8 -1966-12-05,110.9 -1966-12-06,115.6 -1966-12-07,117.7 -1966-12-08,123.7 -1966-12-09,146.2 -1966-12-10,157.3 -1966-12-11,162.8 -1966-12-12,157.7 -1966-12-13,155.5 -1966-12-14,149.5 -1966-12-15,144.9 -1966-12-16,135.1 -1966-12-17,124.9 -1966-12-18,111.2 -1966-12-19,112.3 -1966-12-20,107.6 -1966-12-21,106.5 -1966-12-22,105.5 -1966-12-23,110.7 -1966-12-24,110.6 -1966-12-25,111.6 -1966-12-26,110.9 -1966-12-27,109.6 -1966-12-28,107.5 -1966-12-29,109.3 -1966-12-30,115.1 -1966-12-31,120.5 -1967-01-01,124.5 -1967-01-02,143.0 -1967-01-03,154.0 -1967-01-04,160.7 -1967-01-05,168.3 -1967-01-06,160.5 -1967-01-07,153.7 -1967-01-08,142.9 -1967-01-09,144.7 -1967-01-10,145.6 -1967-01-11,139.8 -1967-01-12,139.2 -1967-01-13,138.1 -1967-01-14,135.2 -1967-01-15,126.6 -1967-01-16,120.2 -1967-01-17,116.9 -1967-01-18,117.4 -1967-01-19,116.5 -1967-01-20,127.0 -1967-01-21,138.2 -1967-01-22,139.9 -1967-01-23,148.8 -1967-01-24,146.8 -1967-01-25,142.7 -1967-01-26,154.3 -1967-01-27,158.3 -1967-01-28,156.2 -1967-01-29,158.2 -1967-01-30,159.0 -1967-01-31,156.4 -1967-02-01,151.6 -1967-02-02,143.5 -1967-02-03,138.8 -1967-02-04,137.3 -1967-02-05,146.8 -1967-02-06,148.8 -1967-02-07,162.5 -1967-02-08,148.3 -1967-02-09,145.9 -1967-02-10,140.5 -1967-02-11,133.7 -1967-02-12,133.0 -1967-02-13,130.0 -1967-02-14,129.2 -1967-02-15,126.5 -1967-02-16,124.9 -1967-02-17,122.2 -1967-02-18,124.2 -1967-02-19,121.1 -1967-02-20,128.6 -1967-02-21,131.8 -1967-02-22,146.0 -1967-02-23,149.3 -1967-02-24,162.2 -1967-02-25,159.4 -1967-02-26,173.3 -1967-02-27,176.7 -1967-02-28,180.2 -1967-03-01,194.2 -1967-03-02,197.8 -1967-03-03,196.4 -1967-03-04,206.0 -1967-03-05,179.2 -1967-03-06,177.4 -1967-03-07,163.8 -1967-03-08,156.1 -1967-03-09,158.0 -1967-03-10,148.4 -1967-03-11,141.6 -1967-03-12,134.3 -1967-03-13,129.1 -1967-03-14,127.2 -1967-03-15,132.4 -1967-03-16,132.1 -1967-03-17,132.6 -1967-03-18,132.2 -1967-03-19,136.0 -1967-03-20,140.4 -1967-03-21,147.2 -1967-03-22,149.5 -1967-03-23,155.7 -1967-03-24,161.9 -1967-03-25,169.2 -1967-03-26,163.9 -1967-03-27,162.8 -1967-03-28,180.8 -1967-03-29,178.5 -1967-03-30,175.8 -1967-03-31,167.7 -1967-04-01,158.6 -1967-04-02,141.1 -1967-04-03,133.3 -1967-04-04,125.0 -1967-04-05,122.1 -1967-04-06,119.0 -1967-04-07,126.3 -1967-04-08,135.7 -1967-04-09,133.3 -1967-04-10,130.3 -1967-04-11,131.2 -1967-04-12,129.8 -1967-04-13,126.9 -1967-04-14,133.5 -1967-04-15,124.1 -1967-04-16,126.1 -1967-04-17,125.9 -1967-04-18,128.5 -1967-04-19,126.6 -1967-04-20,127.2 -1967-04-21,134.0 -1967-04-22,131.5 -1967-04-23,128.0 -1967-04-24,130.5 -1967-04-25,132.9 -1967-04-26,125.4 -1967-04-27,129.2 -1967-04-28,135.1 -1967-04-29,137.5 -1967-04-30,135.3 -1967-05-01,136.7 -1967-05-02,131.8 -1967-05-03,126.5 -1967-05-04,125.8 -1967-05-05,128.1 -1967-05-06,122.8 -1967-05-07,119.7 -1967-05-08,116.9 -1967-05-09,113.6 -1967-05-10,109.4 -1967-05-11,106.1 -1967-05-12,109.8 -1967-05-13,107.3 -1967-05-14,108.6 -1967-05-15,111.0 -1967-05-16,113.1 -1967-05-17,115.4 -1967-05-18,124.8 -1967-05-19,135.6 -1967-05-20,146.3 -1967-05-21,160.3 -1967-05-22,182.8 -1967-05-23,194.0 -1967-05-24,200.9 -1967-05-25,210.7 -1967-05-26,219.0 -1967-05-27,213.8 -1967-05-28,202.6 -1967-05-29,188.3 -1967-05-30,177.4 -1967-05-31,175.4 -1967-06-01,174.6 -1967-06-02,158.1 -1967-06-03,150.4 -1967-06-04,148.4 -1967-06-05,138.7 -1967-06-06,130.5 -1967-06-07,119.1 -1967-06-08,110.1 -1967-06-09,103.7 -1967-06-10,97.1 -1967-06-11,96.9 -1967-06-12,96.5 -1967-06-13,99.7 -1967-06-14,103.8 -1967-06-15,107.2 -1967-06-16,111.8 -1967-06-17,112.0 -1967-06-18,115.4 -1967-06-19,119.0 -1967-06-20,121.3 -1967-06-21,122.9 -1967-06-22,129.6 -1967-06-23,133.2 -1967-06-24,132.4 -1967-06-25,133.2 -1967-06-26,127.8 -1967-06-27,131.5 -1967-06-28,136.7 -1967-06-29,133.4 -1967-06-30,126.1 -1967-07-01,125.0 -1967-07-02,125.7 -1967-07-03,129.6 -1967-07-04,127.2 -1967-07-05,123.7 -1967-07-06,116.6 -1967-07-07,116.0 -1967-07-08,111.8 -1967-07-09,109.7 -1967-07-10,105.8 -1967-07-11,107.1 -1967-07-12,106.1 -1967-07-13,113.8 -1967-07-14,122.4 -1967-07-15,127.6 -1967-07-16,130.1 -1967-07-17,129.6 -1967-07-18,131.3 -1967-07-19,128.6 -1967-07-20,135.5 -1967-07-21,140.2 -1967-07-22,152.4 -1967-07-23,161.8 -1967-07-24,176.4 -1967-07-25,195.5 -1967-07-26,199.9 -1967-07-27,213.2 -1967-07-28,213.1 -1967-07-29,215.7 -1967-07-30,211.6 -1967-07-31,188.9 -1967-08-01,176.6 -1967-08-02,166.8 -1967-08-03,163.5 -1967-08-04,149.3 -1967-08-05,155.4 -1967-08-06,155.4 -1967-08-07,150.2 -1967-08-08,143.4 -1967-08-09,141.2 -1967-08-10,136.7 -1967-08-11,136.2 -1967-08-12,139.0 -1967-08-13,137.5 -1967-08-14,130.0 -1967-08-15,127.4 -1967-08-16,132.9 -1967-08-17,148.3 -1967-08-18,157.1 -1967-08-19,172.3 -1967-08-20,173.0 -1967-08-21,178.8 -1967-08-22,178.5 -1967-08-23,178.3 -1967-08-24,170.0 -1967-08-25,170.8 -1967-08-26,172.0 -1967-08-27,171.2 -1967-08-28,169.9 -1967-08-29,172.7 -1967-08-30,164.1 -1967-08-31,165.7 -1967-09-01,160.5 -1967-09-02,156.6 -1967-09-03,147.1 -1967-09-04,141.0 -1967-09-05,138.7 -1967-09-06,133.8 -1967-09-07,128.4 -1967-09-08,133.9 -1967-09-09,131.5 -1967-09-10,133.6 -1967-09-11,131.8 -1967-09-12,131.7 -1967-09-13,127.6 -1967-09-14,128.0 -1967-09-15,130.4 -1967-09-16,126.4 -1967-09-17,126.8 -1967-09-18,128.7 -1967-09-19,127.7 -1967-09-20,130.6 -1967-09-21,126.6 -1967-09-22,124.6 -1967-09-23,123.8 -1967-09-24,131.8 -1967-09-25,134.1 -1967-09-26,134.4 -1967-09-27,137.3 -1967-09-28,134.6 -1967-09-29,131.7 -1967-09-30,131.7 -1967-10-01,139.7 -1967-10-02,135.0 -1967-10-03,131.5 -1967-10-04,129.9 -1967-10-05,125.7 -1967-10-06,129.9 -1967-10-07,125.8 -1967-10-08,121.6 -1967-10-09,122.1 -1967-10-10,127.3 -1967-10-11,136.6 -1967-10-12,135.5 -1967-10-13,130.8 -1967-10-14,127.9 -1967-10-15,122.7 -1967-10-16,118.0 -1967-10-17,117.3 -1967-10-18,113.3 -1967-10-19,119.3 -1967-10-20,131.2 -1967-10-21,130.1 -1967-10-22,137.3 -1967-10-23,139.4 -1967-10-24,141.3 -1967-10-25,142.1 -1967-10-26,148.2 -1967-10-27,161.1 -1967-10-28,177.0 -1967-10-29,163.4 -1967-10-30,159.5 -1967-10-31,148.6 -1967-11-01,140.3 -1967-11-02,140.9 -1967-11-03,137.5 -1967-11-04,130.5 -1967-11-05,121.8 -1967-11-06,119.6 -1967-11-07,113.1 -1967-11-08,112.8 -1967-11-09,111.1 -1967-11-10,117.3 -1967-11-11,124.1 -1967-11-12,132.8 -1967-11-13,134.7 -1967-11-14,136.9 -1967-11-15,142.9 -1967-11-16,151.8 -1967-11-17,155.0 -1967-11-18,156.9 -1967-11-19,166.7 -1967-11-20,166.0 -1967-11-21,161.4 -1967-11-22,159.4 -1967-11-23,156.6 -1967-11-24,152.6 -1967-11-25,154.7 -1967-11-26,157.9 -1967-11-27,155.0 -1967-11-28,157.2 -1967-11-29,150.3 -1967-11-30,144.4 -1967-12-01,140.0 -1967-12-02,131.5 -1967-12-03,120.5 -1967-12-04,126.3 -1967-12-05,121.6 -1967-12-06,130.3 -1967-12-07,127.7 -1967-12-08,129.6 -1967-12-09,130.0 -1967-12-10,127.7 -1967-12-11,136.6 -1967-12-12,139.1 -1967-12-13,143.0 -1967-12-14,153.4 -1967-12-15,164.3 -1967-12-16,181.3 -1967-12-17,202.0 -1967-12-18,212.4 -1967-12-19,205.4 -1967-12-20,201.5 -1967-12-21,198.1 -1967-12-22,182.3 -1967-12-23,164.2 -1967-12-24,153.0 -1967-12-25,159.5 -1967-12-26,165.4 -1967-12-27,177.1 -1967-12-28,184.1 -1967-12-29,176.5 -1967-12-30,158.9 -1967-12-31,152.6 -1968-01-01,171.4 -1968-01-02,171.8 -1968-01-03,179.3 -1968-01-04,183.8 -1968-01-05,191.2 -1968-01-06,209.7 -1968-01-07,223.9 -1968-01-08,230.2 -1968-01-09,222.0 -1968-01-10,208.3 -1968-01-11,202.5 -1968-01-12,198.9 -1968-01-13,197.2 -1968-01-14,187.0 -1968-01-15,176.6 -1968-01-16,160.8 -1968-01-17,157.4 -1968-01-18,148.5 -1968-01-19,141.6 -1968-01-20,137.3 -1968-01-21,132.5 -1968-01-22,135.8 -1968-01-23,137.9 -1968-01-24,148.6 -1968-01-25,160.1 -1968-01-26,174.0 -1968-01-27,185.0 -1968-01-28,213.0 -1968-01-29,220.7 -1968-01-30,229.1 -1968-01-31,239.1 -1968-02-01,254.1 -1968-02-02,253.0 -1968-02-03,244.3 -1968-02-04,220.4 -1968-02-05,191.4 -1968-02-06,172.2 -1968-02-07,164.2 -1968-02-08,151.5 -1968-02-09,151.7 -1968-02-10,155.7 -1968-02-11,155.7 -1968-02-12,159.2 -1968-02-13,149.1 -1968-02-14,145.7 -1968-02-15,141.8 -1968-02-16,142.5 -1968-02-17,138.6 -1968-02-18,135.2 -1968-02-19,137.5 -1968-02-20,138.6 -1968-02-21,148.5 -1968-02-22,151.8 -1968-02-23,156.5 -1968-02-24,164.6 -1968-02-25,177.4 -1968-02-26,183.9 -1968-02-27,175.7 -1968-02-28,170.7 -1968-02-29,167.4 -1968-03-01,162.8 -1968-03-02,164.5 -1968-03-03,150.8 -1968-03-04,144.5 -1968-03-05,137.8 -1968-03-06,136.0 -1968-03-07,131.6 -1968-03-08,124.1 -1968-03-09,122.9 -1968-03-10,124.1 -1968-03-11,128.3 -1968-03-12,130.4 -1968-03-13,127.8 -1968-03-14,127.9 -1968-03-15,125.9 -1968-03-16,128.2 -1968-03-17,135.2 -1968-03-18,132.2 -1968-03-19,130.2 -1968-03-20,129.6 -1968-03-21,140.0 -1968-03-22,142.2 -1968-03-23,145.5 -1968-03-24,154.4 -1968-03-25,156.0 -1968-03-26,156.8 -1968-03-27,159.2 -1968-03-28,157.1 -1968-03-29,156.2 -1968-03-30,160.3 -1968-03-31,155.8 -1968-04-01,143.9 -1968-04-02,144.1 -1968-04-03,137.1 -1968-04-04,131.7 -1968-04-05,129.1 -1968-04-06,125.1 -1968-04-07,124.7 -1968-04-08,130.7 -1968-04-09,141.1 -1968-04-10,142.8 -1968-04-11,138.4 -1968-04-12,142.7 -1968-04-13,141.9 -1968-04-14,138.3 -1968-04-15,140.0 -1968-04-16,141.0 -1968-04-17,132.2 -1968-04-18,127.7 -1968-04-19,125.3 -1968-04-20,122.4 -1968-04-21,123.4 -1968-04-22,115.7 -1968-04-23,111.7 -1968-04-24,117.5 -1968-04-25,119.9 -1968-04-26,114.3 -1968-04-27,119.1 -1968-04-28,128.4 -1968-04-29,128.0 -1968-04-30,132.8 -1968-05-01,144.8 -1968-05-02,148.2 -1968-05-03,156.3 -1968-05-04,154.5 -1968-05-05,156.0 -1968-05-06,148.5 -1968-05-07,145.4 -1968-05-08,141.6 -1968-05-09,139.8 -1968-05-10,139.7 -1968-05-11,133.5 -1968-05-12,127.3 -1968-05-13,128.3 -1968-05-14,138.2 -1968-05-15,141.9 -1968-05-16,150.7 -1968-05-17,166.5 -1968-05-18,178.4 -1968-05-19,185.3 -1968-05-20,193.6 -1968-05-21,194.6 -1968-05-22,190.3 -1968-05-23,185.7 -1968-05-24,182.6 -1968-05-25,181.0 -1968-05-26,177.1 -1968-05-27,170.9 -1968-05-28,158.1 -1968-05-29,150.9 -1968-05-30,151.3 -1968-05-31,148.9 -1968-06-01,152.0 -1968-06-02,145.4 -1968-06-03,143.9 -1968-06-04,144.0 -1968-06-05,138.3 -1968-06-06,145.5 -1968-06-07,152.2 -1968-06-08,154.6 -1968-06-09,149.0 -1968-06-10,147.9 -1968-06-11,146.5 -1968-06-12,143.4 -1968-06-13,143.4 -1968-06-14,139.5 -1968-06-15,139.7 -1968-06-16,138.2 -1968-06-17,139.6 -1968-06-18,143.2 -1968-06-19,147.5 -1968-06-20,151.5 -1968-06-21,157.2 -1968-06-22,154.6 -1968-06-23,163.8 -1968-06-24,157.5 -1968-06-25,154.0 -1968-06-26,146.2 -1968-06-27,147.6 -1968-06-28,142.8 -1968-06-29,139.1 -1968-06-30,135.9 -1968-07-01,128.3 -1968-07-02,120.3 -1968-07-03,117.2 -1968-07-04,116.0 -1968-07-05,119.4 -1968-07-06,120.2 -1968-07-07,135.0 -1968-07-08,147.1 -1968-07-09,153.7 -1968-07-10,157.0 -1968-07-11,162.8 -1968-07-12,166.1 -1968-07-13,155.6 -1968-07-14,155.9 -1968-07-15,147.9 -1968-07-16,149.5 -1968-07-17,143.6 -1968-07-18,135.2 -1968-07-19,135.3 -1968-07-20,133.9 -1968-07-21,133.0 -1968-07-22,139.0 -1968-07-23,146.1 -1968-07-24,152.7 -1968-07-25,158.2 -1968-07-26,154.4 -1968-07-27,146.8 -1968-07-28,143.6 -1968-07-29,144.3 -1968-07-30,138.6 -1968-07-31,134.7 -1968-08-01,134.2 -1968-08-02,134.2 -1968-08-03,140.9 -1968-08-04,135.6 -1968-08-05,135.9 -1968-08-06,148.0 -1968-08-07,139.8 -1968-08-08,141.8 -1968-08-09,146.7 -1968-08-10,146.6 -1968-08-11,150.7 -1968-08-12,161.6 -1968-08-13,170.8 -1968-08-14,185.1 -1968-08-15,185.7 -1968-08-16,179.0 -1968-08-17,169.2 -1968-08-18,164.8 -1968-08-19,159.8 -1968-08-20,159.9 -1968-08-21,158.6 -1968-08-22,153.8 -1968-08-23,137.7 -1968-08-24,130.8 -1968-08-25,124.2 -1968-08-26,118.0 -1968-08-27,114.5 -1968-08-28,119.4 -1968-08-29,121.7 -1968-08-30,125.5 -1968-08-31,123.5 -1968-09-01,129.5 -1968-09-02,134.2 -1968-09-03,142.8 -1968-09-04,143.2 -1968-09-05,139.6 -1968-09-06,136.0 -1968-09-07,141.1 -1968-09-08,149.4 -1968-09-09,149.4 -1968-09-10,156.2 -1968-09-11,152.5 -1968-09-12,156.0 -1968-09-13,150.6 -1968-09-14,146.7 -1968-09-15,135.7 -1968-09-16,132.0 -1968-09-17,131.5 -1968-09-18,128.7 -1968-09-19,127.3 -1968-09-20,127.4 -1968-09-21,133.6 -1968-09-22,127.5 -1968-09-23,126.8 -1968-09-24,143.0 -1968-09-25,158.1 -1968-09-26,160.0 -1968-09-27,157.8 -1968-09-28,158.8 -1968-09-29,154.0 -1968-09-30,144.3 -1968-10-01,136.5 -1968-10-02,136.3 -1968-10-03,145.2 -1968-10-04,146.1 -1968-10-05,147.9 -1968-10-06,145.3 -1968-10-07,146.9 -1968-10-08,141.6 -1968-10-09,137.3 -1968-10-10,134.6 -1968-10-11,133.9 -1968-10-12,136.8 -1968-10-13,127.2 -1968-10-14,132.1 -1968-10-15,137.0 -1968-10-16,137.2 -1968-10-17,142.5 -1968-10-18,149.6 -1968-10-19,153.7 -1968-10-20,155.5 -1968-10-21,163.3 -1968-10-22,164.8 -1968-10-23,167.0 -1968-10-24,173.3 -1968-10-25,171.7 -1968-10-26,172.5 -1968-10-27,172.8 -1968-10-28,171.0 -1968-10-29,191.1 -1968-10-30,163.9 -1968-10-31,159.5 -1968-11-01,153.4 -1968-11-02,151.5 -1968-11-03,146.1 -1968-11-04,140.3 -1968-11-05,132.9 -1968-11-06,131.4 -1968-11-07,129.1 -1968-11-08,133.1 -1968-11-09,135.4 -1968-11-10,135.2 -1968-11-11,132.6 -1968-11-12,129.3 -1968-11-13,131.5 -1968-11-14,131.3 -1968-11-15,133.5 -1968-11-16,127.6 -1968-11-17,140.5 -1968-11-18,148.0 -1968-11-19,141.3 -1968-11-20,139.1 -1968-11-21,133.8 -1968-11-22,131.0 -1968-11-23,132.3 -1968-11-24,134.2 -1968-11-25,135.3 -1968-11-26,135.2 -1968-11-27,134.1 -1968-11-28,129.6 -1968-11-29,128.2 -1968-11-30,128.6 -1968-12-01,140.2 -1968-12-02,149.9 -1968-12-03,149.6 -1968-12-04,147.9 -1968-12-05,146.6 -1968-12-06,142.9 -1968-12-07,140.2 -1968-12-08,141.8 -1968-12-09,145.6 -1968-12-10,148.0 -1968-12-11,143.6 -1968-12-12,139.0 -1968-12-13,131.5 -1968-12-14,134.3 -1968-12-15,134.1 -1968-12-16,127.0 -1968-12-17,130.2 -1968-12-18,133.9 -1968-12-19,141.9 -1968-12-20,144.7 -1968-12-21,147.1 -1968-12-22,147.3 -1968-12-23,146.5 -1968-12-24,154.0 -1968-12-25,155.3 -1968-12-26,154.0 -1968-12-27,163.5 -1968-12-28,150.7 -1968-12-29,142.7 -1968-12-30,144.2 -1968-12-31,139.6 -1969-01-01,139.9 -1969-01-02,142.1 -1969-01-03,144.1 -1969-01-04,154.5 -1969-01-05,162.5 -1969-01-06,175.9 -1969-01-07,183.0 -1969-01-08,183.1 -1969-01-09,183.3 -1969-01-10,169.3 -1969-01-11,168.5 -1969-01-12,163.1 -1969-01-13,157.2 -1969-01-14,153.3 -1969-01-15,154.1 -1969-01-16,152.8 -1969-01-17,149.1 -1969-01-18,144.3 -1969-01-19,131.6 -1969-01-20,128.0 -1969-01-21,131.9 -1969-01-22,133.9 -1969-01-23,124.8 -1969-01-24,130.8 -1969-01-25,134.1 -1969-01-26,142.2 -1969-01-27,131.5 -1969-01-28,129.6 -1969-01-29,129.2 -1969-01-30,126.1 -1969-01-31,126.4 -1969-02-01,129.8 -1969-02-02,139.0 -1969-02-03,139.1 -1969-02-04,137.8 -1969-02-05,138.9 -1969-02-06,138.5 -1969-02-07,140.3 -1969-02-08,134.3 -1969-02-09,133.3 -1969-02-10,129.6 -1969-02-11,128.9 -1969-02-12,124.6 -1969-02-13,126.2 -1969-02-14,125.0 -1969-02-15,124.8 -1969-02-16,128.0 -1969-02-17,134.3 -1969-02-18,139.4 -1969-02-19,150.0 -1969-02-20,159.1 -1969-02-21,169.2 -1969-02-22,184.7 -1969-02-23,201.4 -1969-02-24,205.8 -1969-02-25,207.1 -1969-02-26,194.7 -1969-02-27,197.1 -1969-02-28,180.5 -1969-03-01,165.6 -1969-03-02,152.0 -1969-03-03,147.8 -1969-03-04,143.9 -1969-03-05,135.9 -1969-03-06,139.4 -1969-03-07,138.1 -1969-03-08,137.3 -1969-03-09,141.8 -1969-03-10,137.8 -1969-03-11,136.4 -1969-03-12,138.5 -1969-03-13,134.0 -1969-03-14,139.0 -1969-03-15,161.8 -1969-03-16,174.9 -1969-03-17,200.1 -1969-03-18,210.9 -1969-03-19,208.5 -1969-03-20,213.7 -1969-03-21,230.8 -1969-03-22,222.5 -1969-03-23,205.8 -1969-03-24,195.4 -1969-03-25,181.1 -1969-03-26,191.2 -1969-03-27,177.7 -1969-03-28,177.5 -1969-03-29,182.0 -1969-03-30,182.9 -1969-03-31,185.5 -1969-04-01,188.7 -1969-04-02,191.4 -1969-04-03,189.8 -1969-04-04,177.3 -1969-04-05,175.7 -1969-04-06,162.6 -1969-04-07,154.2 -1969-04-08,147.6 -1969-04-09,143.8 -1969-04-10,148.9 -1969-04-11,150.7 -1969-04-12,155.5 -1969-04-13,172.5 -1969-04-14,179.4 -1969-04-15,181.2 -1969-04-16,167.1 -1969-04-17,154.7 -1969-04-18,146.8 -1969-04-19,146.4 -1969-04-20,149.3 -1969-04-21,157.2 -1969-04-22,147.8 -1969-04-23,144.1 -1969-04-24,144.7 -1969-04-25,147.7 -1969-04-26,143.7 -1969-04-27,135.0 -1969-04-28,134.9 -1969-04-29,128.2 -1969-04-30,129.1 -1969-05-01,125.0 -1969-05-02,127.8 -1969-05-03,131.9 -1969-05-04,135.5 -1969-05-05,154.1 -1969-05-06,138.2 -1969-05-07,129.8 -1969-05-08,138.5 -1969-05-09,135.4 -1969-05-10,137.7 -1969-05-11,150.1 -1969-05-12,160.3 -1969-05-13,154.1 -1969-05-14,157.7 -1969-05-15,158.8 -1969-05-16,159.4 -1969-05-17,164.1 -1969-05-18,162.4 -1969-05-19,157.6 -1969-05-20,159.0 -1969-05-21,170.7 -1969-05-22,177.4 -1969-05-23,172.8 -1969-05-24,171.4 -1969-05-25,168.5 -1969-05-26,163.7 -1969-05-27,153.5 -1969-05-28,143.2 -1969-05-29,122.6 -1969-05-30,116.7 -1969-05-31,111.9 -1969-06-01,113.3 -1969-06-02,121.2 -1969-06-03,133.4 -1969-06-04,159.0 -1969-06-05,177.8 -1969-06-06,196.4 -1969-06-07,222.2 -1969-06-08,238.4 -1969-06-09,235.8 -1969-06-10,243.5 -1969-06-11,246.6 -1969-06-12,236.7 -1969-06-13,228.7 -1969-06-14,223.5 -1969-06-15,200.5 -1969-06-16,174.7 -1969-06-17,157.2 -1969-06-18,153.9 -1969-06-19,147.0 -1969-06-20,144.9 -1969-06-21,139.7 -1969-06-22,133.1 -1969-06-23,131.6 -1969-06-24,128.9 -1969-06-25,120.2 -1969-06-26,117.2 -1969-06-27,114.2 -1969-06-28,118.3 -1969-06-29,123.8 -1969-06-30,136.8 -1969-07-01,149.2 -1969-07-02,162.1 -1969-07-03,167.5 -1969-07-04,169.2 -1969-07-05,166.6 -1969-07-06,165.2 -1969-07-07,166.7 -1969-07-08,165.2 -1969-07-09,165.8 -1969-07-10,164.4 -1969-07-11,158.1 -1969-07-12,151.4 -1969-07-13,145.1 -1969-07-14,134.3 -1969-07-15,126.5 -1969-07-16,126.1 -1969-07-17,124.2 -1969-07-18,119.9 -1969-07-19,118.1 -1969-07-20,115.4 -1969-07-21,115.7 -1969-07-22,115.1 -1969-07-23,116.5 -1969-07-24,115.7 -1969-07-25,117.8 -1969-07-26,119.2 -1969-07-27,126.9 -1969-07-28,135.1 -1969-07-29,137.1 -1969-07-30,147.0 -1969-07-31,167.0 -1969-08-01,175.7 -1969-08-02,192.5 -1969-08-03,188.8 -1969-08-04,192.9 -1969-08-05,187.7 -1969-08-06,171.9 -1969-08-07,163.1 -1969-08-08,150.3 -1969-08-09,145.5 -1969-08-10,139.3 -1969-08-11,135.9 -1969-08-12,128.6 -1969-08-13,123.1 -1969-08-14,117.5 -1969-08-15,115.5 -1969-08-16,112.3 -1969-08-17,107.9 -1969-08-18,105.2 -1969-08-19,103.9 -1969-08-20,109.5 -1969-08-21,116.2 -1969-08-22,121.0 -1969-08-23,133.2 -1969-08-24,146.0 -1969-08-25,154.8 -1969-08-26,156.4 -1969-08-27,167.8 -1969-08-28,171.5 -1969-08-29,177.6 -1969-08-30,169.6 -1969-08-31,163.8 -1969-09-01,156.3 -1969-09-02,155.2 -1969-09-03,151.7 -1969-09-04,150.5 -1969-09-05,138.2 -1969-09-06,135.7 -1969-09-07,128.3 -1969-09-08,124.1 -1969-09-09,117.3 -1969-09-10,116.6 -1969-09-11,119.0 -1969-09-12,120.7 -1969-09-13,131.2 -1969-09-14,129.8 -1969-09-15,135.3 -1969-09-16,134.2 -1969-09-17,133.3 -1969-09-18,134.4 -1969-09-19,131.5 -1969-09-20,136.5 -1969-09-21,137.8 -1969-09-22,140.5 -1969-09-23,145.5 -1969-09-24,159.7 -1969-09-25,169.3 -1969-09-26,158.9 -1969-09-27,151.3 -1969-09-28,142.7 -1969-09-29,139.9 -1969-09-30,137.0 -1969-10-01,133.9 -1969-10-02,143.2 -1969-10-03,132.5 -1969-10-04,132.2 -1969-10-05,140.9 -1969-10-06,143.2 -1969-10-07,145.0 -1969-10-08,150.1 -1969-10-09,141.7 -1969-10-10,136.7 -1969-10-11,130.1 -1969-10-12,128.0 -1969-10-13,124.3 -1969-10-14,119.1 -1969-10-15,117.7 -1969-10-16,115.4 -1969-10-17,122.3 -1969-10-18,128.8 -1969-10-19,145.8 -1969-10-20,161.9 -1969-10-21,177.0 -1969-10-22,186.2 -1969-10-23,193.1 -1969-10-24,204.5 -1969-10-25,204.0 -1969-10-26,204.6 -1969-10-27,200.8 -1969-10-28,189.6 -1969-10-29,172.5 -1969-10-30,161.7 -1969-10-31,153.9 -1969-11-01,139.4 -1969-11-02,138.9 -1969-11-03,126.7 -1969-11-04,129.6 -1969-11-05,130.1 -1969-11-06,131.9 -1969-11-07,135.8 -1969-11-08,130.4 -1969-11-09,127.7 -1969-11-10,122.8 -1969-11-11,122.0 -1969-11-12,122.3 -1969-11-13,126.6 -1969-11-14,134.1 -1969-11-15,137.9 -1969-11-16,145.5 -1969-11-17,160.1 -1969-11-18,177.2 -1969-11-19,185.2 -1969-11-20,188.9 -1969-11-21,198.2 -1969-11-22,205.3 -1969-11-23,209.5 -1969-11-24,200.7 -1969-11-25,185.7 -1969-11-26,175.3 -1969-11-27,172.8 -1969-11-28,156.8 -1969-11-29,141.5 -1969-11-30,136.5 -1969-12-01,130.2 -1969-12-02,131.5 -1969-12-03,131.7 -1969-12-04,138.9 -1969-12-05,133.3 -1969-12-06,123.4 -1969-12-07,120.7 -1969-12-08,112.1 -1969-12-09,116.1 -1969-12-10,114.8 -1969-12-11,117.9 -1969-12-12,122.3 -1969-12-13,129.6 -1969-12-14,132.7 -1969-12-15,135.9 -1969-12-16,136.9 -1969-12-17,144.1 -1969-12-18,144.1 -1969-12-19,147.2 -1969-12-20,154.2 -1969-12-21,160.3 -1969-12-22,163.0 -1969-12-23,156.3 -1969-12-24,152.9 -1969-12-25,153.6 -1969-12-26,151.0 -1969-12-27,146.9 -1969-12-28,149.0 -1969-12-29,153.4 -1969-12-30,157.9 -1969-12-31,151.3 -1970-01-01,150.9 -1970-01-02,144.5 -1970-01-03,137.1 -1970-01-04,131.5 -1970-01-05,126.5 -1970-01-06,117.6 -1970-01-07,113.0 -1970-01-08,113.3 -1970-01-09,119.6 -1970-01-10,134.5 -1970-01-11,160.1 -1970-01-12,171.6 -1970-01-13,172.9 -1970-01-14,171.8 -1970-01-15,180.0 -1970-01-16,174.3 -1970-01-17,180.6 -1970-01-18,179.4 -1970-01-19,175.3 -1970-01-20,168.4 -1970-01-21,177.0 -1970-01-22,160.5 -1970-01-23,153.4 -1970-01-24,143.6 -1970-01-25,149.5 -1970-01-26,156.4 -1970-01-27,163.0 -1970-01-28,162.0 -1970-01-29,163.3 -1970-01-30,154.8 -1970-01-31,143.4 -1970-02-01,134.6 -1970-02-02,133.1 -1970-02-03,123.7 -1970-02-04,119.4 -1970-02-05,121.0 -1970-02-06,131.9 -1970-02-07,139.4 -1970-02-08,152.6 -1970-02-09,154.1 -1970-02-10,170.3 -1970-02-11,184.3 -1970-02-12,201.0 -1970-02-13,197.6 -1970-02-14,196.2 -1970-02-15,201.6 -1970-02-16,193.3 -1970-02-17,193.9 -1970-02-18,197.7 -1970-02-19,198.5 -1970-02-20,196.5 -1970-02-21,191.1 -1970-02-22,183.0 -1970-02-23,183.9 -1970-02-24,185.9 -1970-02-25,179.6 -1970-02-26,178.3 -1970-02-27,176.9 -1970-02-28,174.1 -1970-03-01,175.7 -1970-03-02,173.0 -1970-03-03,167.3 -1970-03-04,165.3 -1970-03-05,169.8 -1970-03-06,167.8 -1970-03-07,168.4 -1970-03-08,172.8 -1970-03-09,164.5 -1970-03-10,158.3 -1970-03-11,156.3 -1970-03-12,164.4 -1970-03-13,152.4 -1970-03-14,147.3 -1970-03-15,144.9 -1970-03-16,139.0 -1970-03-17,133.6 -1970-03-18,133.5 -1970-03-19,130.2 -1970-03-20,141.1 -1970-03-21,149.7 -1970-03-22,150.9 -1970-03-23,164.9 -1970-03-24,169.8 -1970-03-25,167.2 -1970-03-26,166.4 -1970-03-27,159.2 -1970-03-28,153.8 -1970-03-29,153.1 -1970-03-30,149.4 -1970-03-31,149.3 -1970-04-01,160.8 -1970-04-02,167.1 -1970-04-03,163.5 -1970-04-04,170.4 -1970-04-05,179.4 -1970-04-06,192.9 -1970-04-07,193.4 -1970-04-08,203.1 -1970-04-09,218.5 -1970-04-10,224.7 -1970-04-11,206.4 -1970-04-12,198.5 -1970-04-13,185.3 -1970-04-14,173.8 -1970-04-15,163.6 -1970-04-16,152.2 -1970-04-17,148.0 -1970-04-18,141.9 -1970-04-19,135.7 -1970-04-20,131.2 -1970-04-21,126.2 -1970-04-22,128.6 -1970-04-23,130.1 -1970-04-24,130.1 -1970-04-25,134.8 -1970-04-26,135.3 -1970-04-27,138.0 -1970-04-28,148.6 -1970-04-29,156.1 -1970-04-30,153.3 -1970-05-01,159.5 -1970-05-02,160.7 -1970-05-03,163.5 -1970-05-04,162.3 -1970-05-05,167.9 -1970-05-06,163.3 -1970-05-07,162.4 -1970-05-08,156.7 -1970-05-09,154.9 -1970-05-10,162.8 -1970-05-11,176.2 -1970-05-12,180.3 -1970-05-13,193.1 -1970-05-14,196.8 -1970-05-15,206.3 -1970-05-16,206.0 -1970-05-17,197.0 -1970-05-18,194.6 -1970-05-19,197.4 -1970-05-20,183.9 -1970-05-21,174.9 -1970-05-22,170.3 -1970-05-23,163.7 -1970-05-24,162.6 -1970-05-25,160.6 -1970-05-26,162.8 -1970-05-27,155.2 -1970-05-28,153.8 -1970-05-29,158.5 -1970-05-30,163.7 -1970-05-31,165.2 -1970-06-01,145.6 -1970-06-02,141.8 -1970-06-03,133.4 -1970-06-04,131.7 -1970-06-05,132.9 -1970-06-06,130.0 -1970-06-07,134.5 -1970-06-08,134.2 -1970-06-09,138.2 -1970-06-10,145.9 -1970-06-11,169.5 -1970-06-12,171.7 -1970-06-13,200.3 -1970-06-14,207.4 -1970-06-15,209.2 -1970-06-16,198.6 -1970-06-17,190.6 -1970-06-18,181.8 -1970-06-19,175.1 -1970-06-20,163.3 -1970-06-21,160.6 -1970-06-22,150.1 -1970-06-23,143.7 -1970-06-24,142.3 -1970-06-25,149.3 -1970-06-26,151.4 -1970-06-27,160.0 -1970-06-28,160.5 -1970-06-29,168.0 -1970-06-30,174.8 -1970-07-01,179.9 -1970-07-02,189.0 -1970-07-03,194.6 -1970-07-04,195.0 -1970-07-05,191.0 -1970-07-06,186.4 -1970-07-07,166.3 -1970-07-08,160.4 -1970-07-09,148.4 -1970-07-10,143.8 -1970-07-11,137.7 -1970-07-12,135.4 -1970-07-13,130.7 -1970-07-14,126.3 -1970-07-15,121.9 -1970-07-16,121.4 -1970-07-17,125.9 -1970-07-18,131.0 -1970-07-19,135.8 -1970-07-20,136.4 -1970-07-21,150.6 -1970-07-22,163.8 -1970-07-23,158.7 -1970-07-24,164.0 -1970-07-25,169.0 -1970-07-26,176.3 -1970-07-27,185.9 -1970-07-28,182.1 -1970-07-29,161.0 -1970-07-30,156.1 -1970-07-31,141.5 -1970-08-01,134.0 -1970-08-02,128.5 -1970-08-03,127.9 -1970-08-04,127.4 -1970-08-05,128.4 -1970-08-06,128.0 -1970-08-07,128.2 -1970-08-08,131.8 -1970-08-09,138.3 -1970-08-10,137.3 -1970-08-11,127.2 -1970-08-12,136.9 -1970-08-13,149.7 -1970-08-14,167.0 -1970-08-15,169.1 -1970-08-16,162.5 -1970-08-17,151.6 -1970-08-18,149.0 -1970-08-19,145.4 -1970-08-20,148.6 -1970-08-21,142.8 -1970-08-22,141.7 -1970-08-23,146.2 -1970-08-24,140.2 -1970-08-25,136.5 -1970-08-26,135.7 -1970-08-27,137.2 -1970-08-28,141.6 -1970-08-29,148.7 -1970-08-30,149.0 -1970-08-31,154.5 -1970-09-01,154.1 -1970-09-02,156.7 -1970-09-03,163.2 -1970-09-04,163.4 -1970-09-05,162.4 -1970-09-06,161.5 -1970-09-07,164.4 -1970-09-08,156.9 -1970-09-09,157.2 -1970-09-10,143.9 -1970-09-11,134.4 -1970-09-12,126.1 -1970-09-13,120.1 -1970-09-14,121.9 -1970-09-15,118.0 -1970-09-16,118.4 -1970-09-17,116.9 -1970-09-18,120.7 -1970-09-19,134.7 -1970-09-20,146.9 -1970-09-21,149.4 -1970-09-22,155.2 -1970-09-23,161.6 -1970-09-24,156.0 -1970-09-25,155.8 -1970-09-26,155.9 -1970-09-27,150.0 -1970-09-28,144.5 -1970-09-29,138.7 -1970-09-30,134.7 -1970-10-01,128.7 -1970-10-02,125.4 -1970-10-03,126.0 -1970-10-04,137.3 -1970-10-05,134.5 -1970-10-06,128.0 -1970-10-07,133.3 -1970-10-08,142.0 -1970-10-09,144.9 -1970-10-10,147.6 -1970-10-11,142.8 -1970-10-12,135.4 -1970-10-13,131.8 -1970-10-14,134.9 -1970-10-15,140.2 -1970-10-16,134.0 -1970-10-17,131.5 -1970-10-18,138.5 -1970-10-19,139.0 -1970-10-20,137.2 -1970-10-21,136.5 -1970-10-22,135.0 -1970-10-23,149.0 -1970-10-24,161.2 -1970-10-25,168.6 -1970-10-26,187.1 -1970-10-27,191.8 -1970-10-28,190.3 -1970-10-29,189.0 -1970-10-30,175.2 -1970-10-31,168.6 -1970-11-01,163.3 -1970-11-02,159.1 -1970-11-03,153.2 -1970-11-04,148.3 -1970-11-05,147.4 -1970-11-06,149.8 -1970-11-07,150.6 -1970-11-08,141.1 -1970-11-09,141.9 -1970-11-10,147.8 -1970-11-11,155.6 -1970-11-12,165.1 -1970-11-13,179.1 -1970-11-14,186.4 -1970-11-15,200.0 -1970-11-16,193.5 -1970-11-17,184.1 -1970-11-18,193.1 -1970-11-19,185.5 -1970-11-20,173.7 -1970-11-21,163.3 -1970-11-22,154.2 -1970-11-23,142.4 -1970-11-24,133.9 -1970-11-25,127.9 -1970-11-26,129.3 -1970-11-27,135.1 -1970-11-28,148.9 -1970-11-29,148.4 -1970-11-30,152.5 -1970-12-01,146.4 -1970-12-02,148.4 -1970-12-03,148.1 -1970-12-04,154.0 -1970-12-05,161.9 -1970-12-06,167.5 -1970-12-07,166.5 -1970-12-08,167.3 -1970-12-09,171.5 -1970-12-10,170.9 -1970-12-11,172.6 -1970-12-12,178.4 -1970-12-13,164.3 -1970-12-14,154.6 -1970-12-15,154.1 -1970-12-16,146.7 -1970-12-17,146.8 -1970-12-18,151.6 -1970-12-19,152.4 -1970-12-20,155.6 -1970-12-21,146.3 -1970-12-22,136.8 -1970-12-23,132.1 -1970-12-24,124.4 -1970-12-25,124.0 -1970-12-26,122.3 -1970-12-27,119.8 -1970-12-28,117.3 -1970-12-29,123.4 -1970-12-30,129.0 -1970-12-31,133.3 -1971-01-01,130.5 -1971-01-02,134.8 -1971-01-03,134.7 -1971-01-04,140.2 -1971-01-05,146.1 -1971-01-06,146.9 -1971-01-07,150.2 -1971-01-08,149.1 -1971-01-09,152.9 -1971-01-10,152.1 -1971-01-11,149.0 -1971-01-12,150.5 -1971-01-13,148.1 -1971-01-14,153.9 -1971-01-15,153.7 -1971-01-16,156.4 -1971-01-17,155.3 -1971-01-18,160.3 -1971-01-19,165.8 -1971-01-20,169.2 -1971-01-21,178.7 -1971-01-22,180.6 -1971-01-23,182.9 -1971-01-24,177.0 -1971-01-25,168.6 -1971-01-26,164.9 -1971-01-27,166.7 -1971-01-28,166.2 -1971-01-29,160.7 -1971-01-30,163.0 -1971-01-31,170.1 -1971-02-01,165.6 -1971-02-02,160.5 -1971-02-03,154.7 -1971-02-04,148.6 -1971-02-05,144.7 -1971-02-06,143.7 -1971-02-07,133.4 -1971-02-08,123.2 -1971-02-09,110.4 -1971-02-10,109.5 -1971-02-11,109.7 -1971-02-12,110.5 -1971-02-13,113.2 -1971-02-14,114.8 -1971-02-15,117.1 -1971-02-16,129.8 -1971-02-17,132.6 -1971-02-18,130.4 -1971-02-19,138.5 -1971-02-20,136.2 -1971-02-21,136.1 -1971-02-22,143.6 -1971-02-23,143.2 -1971-02-24,147.5 -1971-02-25,146.4 -1971-02-26,143.2 -1971-02-27,140.0 -1971-02-28,136.6 -1971-03-01,129.2 -1971-03-02,125.8 -1971-03-03,121.7 -1971-03-04,116.0 -1971-03-05,113.7 -1971-03-06,109.1 -1971-03-07,105.2 -1971-03-08,104.0 -1971-03-09,104.5 -1971-03-10,107.0 -1971-03-11,109.5 -1971-03-12,115.3 -1971-03-13,112.5 -1971-03-14,111.7 -1971-03-15,110.3 -1971-03-16,114.5 -1971-03-17,116.1 -1971-03-18,114.2 -1971-03-19,109.1 -1971-03-20,106.3 -1971-03-21,112.6 -1971-03-22,112.4 -1971-03-23,108.2 -1971-03-24,107.8 -1971-03-25,108.3 -1971-03-26,107.8 -1971-03-27,108.5 -1971-03-28,106.2 -1971-03-29,103.4 -1971-03-30,100.9 -1971-03-31,102.9 -1971-04-01,100.5 -1971-04-02,107.6 -1971-04-03,109.0 -1971-04-04,107.7 -1971-04-05,108.3 -1971-04-06,107.3 -1971-04-07,113.2 -1971-04-08,110.1 -1971-04-09,108.9 -1971-04-10,109.8 -1971-04-11,124.1 -1971-04-12,129.7 -1971-04-13,139.6 -1971-04-14,141.0 -1971-04-15,139.2 -1971-04-16,139.6 -1971-04-17,139.9 -1971-04-18,137.2 -1971-04-19,138.4 -1971-04-20,136.8 -1971-04-21,128.9 -1971-04-22,120.5 -1971-04-23,117.5 -1971-04-24,109.1 -1971-04-25,106.0 -1971-04-26,104.8 -1971-04-27,101.7 -1971-04-28,97.5 -1971-04-29,95.8 -1971-04-30,94.8 -1971-05-01,95.3 -1971-05-02,99.6 -1971-05-03,106.2 -1971-05-04,112.6 -1971-05-05,117.9 -1971-05-06,125.6 -1971-05-07,131.1 -1971-05-08,132.7 -1971-05-09,138.3 -1971-05-10,135.8 -1971-05-11,135.3 -1971-05-12,130.2 -1971-05-13,125.0 -1971-05-14,122.3 -1971-05-15,118.0 -1971-05-16,116.1 -1971-05-17,112.8 -1971-05-18,111.2 -1971-05-19,109.8 -1971-05-20,106.0 -1971-05-21,102.0 -1971-05-22,93.4 -1971-05-23,89.7 -1971-05-24,88.9 -1971-05-25,92.3 -1971-05-26,93.7 -1971-05-27,103.9 -1971-05-28,107.0 -1971-05-29,108.5 -1971-05-30,110.3 -1971-05-31,111.6 -1971-06-01,110.1 -1971-06-02,108.3 -1971-06-03,107.8 -1971-06-04,107.3 -1971-06-05,106.3 -1971-06-06,105.1 -1971-06-07,101.6 -1971-06-08,101.9 -1971-06-09,100.9 -1971-06-10,97.5 -1971-06-11,96.0 -1971-06-12,93.3 -1971-06-13,93.7 -1971-06-14,94.0 -1971-06-15,91.3 -1971-06-16,90.8 -1971-06-17,93.1 -1971-06-18,95.4 -1971-06-19,94.6 -1971-06-20,94.2 -1971-06-21,95.2 -1971-06-22,98.4 -1971-06-23,94.9 -1971-06-24,105.3 -1971-06-25,110.1 -1971-06-26,115.9 -1971-06-27,122.5 -1971-06-28,131.1 -1971-06-29,141.1 -1971-06-30,148.8 -1971-07-01,145.1 -1971-07-02,139.4 -1971-07-03,130.5 -1971-07-04,134.7 -1971-07-05,134.6 -1971-07-06,127.0 -1971-07-07,122.5 -1971-07-08,116.7 -1971-07-09,107.7 -1971-07-10,108.5 -1971-07-11,108.7 -1971-07-12,109.6 -1971-07-13,111.2 -1971-07-14,113.9 -1971-07-15,125.6 -1971-07-16,125.3 -1971-07-17,121.5 -1971-07-18,121.0 -1971-07-19,126.9 -1971-07-20,118.8 -1971-07-21,113.6 -1971-07-22,115.7 -1971-07-23,121.3 -1971-07-24,134.5 -1971-07-25,121.4 -1971-07-26,122.3 -1971-07-27,119.0 -1971-07-28,116.7 -1971-07-29,114.3 -1971-07-30,116.3 -1971-07-31,113.2 -1971-08-01,109.7 -1971-08-02,109.2 -1971-08-03,106.4 -1971-08-04,106.4 -1971-08-05,106.9 -1971-08-06,105.0 -1971-08-07,102.6 -1971-08-08,108.6 -1971-08-09,112.1 -1971-08-10,109.7 -1971-08-11,104.7 -1971-08-12,102.1 -1971-08-13,101.9 -1971-08-14,100.7 -1971-08-15,97.3 -1971-08-16,98.8 -1971-08-17,103.6 -1971-08-18,110.5 -1971-08-19,126.2 -1971-08-20,141.1 -1971-08-21,150.3 -1971-08-22,151.2 -1971-08-23,148.6 -1971-08-24,157.6 -1971-08-25,143.5 -1971-08-26,138.8 -1971-08-27,135.3 -1971-08-28,123.6 -1971-08-29,112.0 -1971-08-30,103.3 -1971-08-31,96.3 -1971-09-01,90.3 -1971-09-02,90.1 -1971-09-03,92.5 -1971-09-04,92.6 -1971-09-05,95.2 -1971-09-06,101.8 -1971-09-07,107.3 -1971-09-08,103.5 -1971-09-09,98.3 -1971-09-10,91.8 -1971-09-11,89.3 -1971-09-12,91.6 -1971-09-13,98.9 -1971-09-14,108.1 -1971-09-15,113.5 -1971-09-16,112.5 -1971-09-17,116.5 -1971-09-18,116.6 -1971-09-19,113.1 -1971-09-20,110.3 -1971-09-21,109.2 -1971-09-22,110.3 -1971-09-23,108.1 -1971-09-24,106.3 -1971-09-25,109.2 -1971-09-26,111.9 -1971-09-27,116.6 -1971-09-28,116.6 -1971-09-29,114.8 -1971-09-30,116.9 -1971-10-01,114.6 -1971-10-02,114.2 -1971-10-03,113.4 -1971-10-04,109.1 -1971-10-05,106.1 -1971-10-06,102.4 -1971-10-07,98.3 -1971-10-08,98.1 -1971-10-09,99.5 -1971-10-10,95.4 -1971-10-11,94.5 -1971-10-12,94.9 -1971-10-13,91.0 -1971-10-14,89.9 -1971-10-15,89.8 -1971-10-16,89.3 -1971-10-17,94.7 -1971-10-18,99.1 -1971-10-19,109.8 -1971-10-20,115.6 -1971-10-21,119.3 -1971-10-22,122.2 -1971-10-23,123.9 -1971-10-24,125.7 -1971-10-25,124.3 -1971-10-26,119.3 -1971-10-27,116.1 -1971-10-28,110.5 -1971-10-29,105.1 -1971-10-30,107.5 -1971-10-31,106.2 -1971-11-01,109.5 -1971-11-02,111.7 -1971-11-03,115.2 -1971-11-04,112.8 -1971-11-05,116.0 -1971-11-06,109.5 -1971-11-07,104.6 -1971-11-08,100.7 -1971-11-09,101.6 -1971-11-10,102.7 -1971-11-11,104.6 -1971-11-12,102.6 -1971-11-13,103.3 -1971-11-14,103.1 -1971-11-15,101.1 -1971-11-16,104.7 -1971-11-17,105.4 -1971-11-18,104.1 -1971-11-19,107.6 -1971-11-20,113.0 -1971-11-21,114.9 -1971-11-22,118.8 -1971-11-23,120.4 -1971-11-24,121.6 -1971-11-25,121.7 -1971-11-26,128.8 -1971-11-27,128.1 -1971-11-28,125.6 -1971-11-29,117.2 -1971-11-30,114.1 -1971-12-01,116.9 -1971-12-02,109.4 -1971-12-03,109.7 -1971-12-04,106.2 -1971-12-05,111.7 -1971-12-06,111.8 -1971-12-07,113.0 -1971-12-08,114.7 -1971-12-09,121.2 -1971-12-10,122.4 -1971-12-11,122.2 -1971-12-12,124.0 -1971-12-13,118.7 -1971-12-14,118.5 -1971-12-15,117.3 -1971-12-16,117.6 -1971-12-17,131.2 -1971-12-18,134.6 -1971-12-19,134.4 -1971-12-20,135.2 -1971-12-21,135.7 -1971-12-22,139.2 -1971-12-23,132.9 -1971-12-24,129.4 -1971-12-25,126.8 -1971-12-26,120.2 -1971-12-27,120.2 -1971-12-28,113.2 -1971-12-29,112.7 -1971-12-30,112.4 -1971-12-31,106.8 -1972-01-01,104.7 -1972-01-02,103.1 -1972-01-03,99.6 -1972-01-04,97.9 -1972-01-05,99.1 -1972-01-06,103.1 -1972-01-07,99.5 -1972-01-08,98.8 -1972-01-09,94.3 -1972-01-10,92.3 -1972-01-11,95.8 -1972-01-12,99.6 -1972-01-13,99.0 -1972-01-14,105.8 -1972-01-15,115.4 -1972-01-16,113.5 -1972-01-17,113.9 -1972-01-18,110.9 -1972-01-19,115.9 -1972-01-20,123.0 -1972-01-21,127.9 -1972-01-22,123.2 -1972-01-23,136.3 -1972-01-24,137.2 -1972-01-25,131.8 -1972-01-26,123.8 -1972-01-27,118.9 -1972-01-28,119.5 -1972-01-29,116.1 -1972-01-30,112.9 -1972-01-31,111.9 -1972-02-01,106.7 -1972-02-02,106.5 -1972-02-03,104.8 -1972-02-04,103.6 -1972-02-05,102.6 -1972-02-06,98.6 -1972-02-07,102.2 -1972-02-08,104.3 -1972-02-09,106.3 -1972-02-10,113.6 -1972-02-11,118.4 -1972-02-12,123.9 -1972-02-13,126.3 -1972-02-14,136.7 -1972-02-15,145.8 -1972-02-16,153.2 -1972-02-17,168.2 -1972-02-18,184.4 -1972-02-19,190.6 -1972-02-20,202.5 -1972-02-21,189.6 -1972-02-22,180.4 -1972-02-23,175.6 -1972-02-24,164.2 -1972-02-25,151.9 -1972-02-26,149.3 -1972-02-27,140.3 -1972-02-28,133.2 -1972-02-29,130.5 -1972-03-01,125.5 -1972-03-02,129.7 -1972-03-03,131.1 -1972-03-04,137.1 -1972-03-05,140.8 -1972-03-06,143.7 -1972-03-07,143.3 -1972-03-08,141.6 -1972-03-09,137.4 -1972-03-10,132.5 -1972-03-11,134.9 -1972-03-12,128.5 -1972-03-13,129.3 -1972-03-14,129.7 -1972-03-15,135.3 -1972-03-16,133.0 -1972-03-17,133.8 -1972-03-18,131.9 -1972-03-19,131.0 -1972-03-20,135.2 -1972-03-21,135.8 -1972-03-22,131.2 -1972-03-23,140.0 -1972-03-24,126.6 -1972-03-25,116.4 -1972-03-26,110.5 -1972-03-27,104.1 -1972-03-28,101.1 -1972-03-29,96.5 -1972-03-30,98.3 -1972-03-31,95.7 -1972-04-01,96.0 -1972-04-02,97.3 -1972-04-03,98.1 -1972-04-04,101.0 -1972-04-05,105.3 -1972-04-06,118.1 -1972-04-07,121.3 -1972-04-08,123.8 -1972-04-09,130.5 -1972-04-10,130.3 -1972-04-11,129.8 -1972-04-12,128.3 -1972-04-13,128.4 -1972-04-14,125.0 -1972-04-15,126.0 -1972-04-16,124.3 -1972-04-17,120.3 -1972-04-18,115.7 -1972-04-19,115.4 -1972-04-20,111.3 -1972-04-21,106.9 -1972-04-22,109.4 -1972-04-23,108.4 -1972-04-24,110.2 -1972-04-25,111.6 -1972-04-26,109.9 -1972-04-27,109.0 -1972-04-28,103.2 -1972-04-29,98.6 -1972-04-30,97.0 -1972-05-01,95.0 -1972-05-02,94.9 -1972-05-03,97.7 -1972-05-04,102.7 -1972-05-05,108.7 -1972-05-06,117.6 -1972-05-07,120.9 -1972-05-08,128.8 -1972-05-09,133.0 -1972-05-10,138.3 -1972-05-11,140.8 -1972-05-12,148.6 -1972-05-13,161.6 -1972-05-14,162.8 -1972-05-15,164.6 -1972-05-16,161.8 -1972-05-17,169.3 -1972-05-18,165.5 -1972-05-19,156.7 -1972-05-20,152.3 -1972-05-21,148.2 -1972-05-22,143.3 -1972-05-23,135.2 -1972-05-24,135.5 -1972-05-25,127.3 -1972-05-26,116.3 -1972-05-27,114.3 -1972-05-28,110.8 -1972-05-29,116.2 -1972-05-30,116.8 -1972-05-31,122.5 -1972-06-01,128.2 -1972-06-02,130.0 -1972-06-03,137.5 -1972-06-04,149.5 -1972-06-05,164.8 -1972-06-06,159.1 -1972-06-07,152.7 -1972-06-08,150.2 -1972-06-09,149.1 -1972-06-10,139.5 -1972-06-11,143.9 -1972-06-12,149.7 -1972-06-13,138.9 -1972-06-14,136.5 -1972-06-15,139.5 -1972-06-16,142.7 -1972-06-17,149.6 -1972-06-18,149.0 -1972-06-19,143.2 -1972-06-20,142.5 -1972-06-21,139.0 -1972-06-22,135.1 -1972-06-23,130.7 -1972-06-24,128.5 -1972-06-25,125.5 -1972-06-26,120.8 -1972-06-27,121.9 -1972-06-28,127.3 -1972-06-29,132.4 -1972-06-30,134.5 -1972-07-01,133.0 -1972-07-02,137.0 -1972-07-03,139.9 -1972-07-04,146.7 -1972-07-05,150.2 -1972-07-06,146.1 -1972-07-07,143.2 -1972-07-08,136.7 -1972-07-09,127.1 -1972-07-10,121.7 -1972-07-11,123.6 -1972-07-12,119.3 -1972-07-13,119.9 -1972-07-14,119.5 -1972-07-15,117.6 -1972-07-16,115.1 -1972-07-17,114.6 -1972-07-18,108.9 -1972-07-19,109.0 -1972-07-20,110.9 -1972-07-21,111.7 -1972-07-22,111.6 -1972-07-23,109.6 -1972-07-24,109.5 -1972-07-25,112.4 -1972-07-26,120.6 -1972-07-27,127.2 -1972-07-28,133.3 -1972-07-29,139.1 -1972-07-30,141.2 -1972-07-31,150.1 -1972-08-01,156.3 -1972-08-02,150.4 -1972-08-03,147.1 -1972-08-04,146.0 -1972-08-05,146.5 -1972-08-06,143.4 -1972-08-07,139.0 -1972-08-08,125.3 -1972-08-09,123.8 -1972-08-10,118.6 -1972-08-11,113.3 -1972-08-12,107.6 -1972-08-13,101.7 -1972-08-14,97.9 -1972-08-15,97.6 -1972-08-16,100.6 -1972-08-17,106.4 -1972-08-18,109.6 -1972-08-19,116.2 -1972-08-20,117.9 -1972-08-21,119.5 -1972-08-22,127.3 -1972-08-23,122.9 -1972-08-24,122.6 -1972-08-25,127.8 -1972-08-26,137.4 -1972-08-27,144.1 -1972-08-28,147.2 -1972-08-29,163.3 -1972-08-30,163.3 -1972-08-31,154.2 -1972-09-01,144.3 -1972-09-02,139.7 -1972-09-03,129.4 -1972-09-04,122.0 -1972-09-05,117.0 -1972-09-06,119.2 -1972-09-07,110.4 -1972-09-08,115.9 -1972-09-09,112.9 -1972-09-10,107.2 -1972-09-11,102.7 -1972-09-12,100.6 -1972-09-13,94.6 -1972-09-14,99.5 -1972-09-15,103.4 -1972-09-16,103.1 -1972-09-17,100.3 -1972-09-18,102.6 -1972-09-19,106.2 -1972-09-20,113.2 -1972-09-21,113.4 -1972-09-22,119.4 -1972-09-23,125.2 -1972-09-24,126.8 -1972-09-25,126.3 -1972-09-26,122.5 -1972-09-27,118.3 -1972-09-28,116.4 -1972-09-29,115.2 -1972-09-30,118.5 -1972-10-01,114.7 -1972-10-02,108.4 -1972-10-03,107.3 -1972-10-04,103.3 -1972-10-05,100.6 -1972-10-06,98.4 -1972-10-07,96.1 -1972-10-08,97.2 -1972-10-09,100.5 -1972-10-10,94.7 -1972-10-11,93.5 -1972-10-12,94.7 -1972-10-13,94.5 -1972-10-14,97.0 -1972-10-15,102.1 -1972-10-16,106.2 -1972-10-17,112.1 -1972-10-18,111.0 -1972-10-19,117.1 -1972-10-20,122.2 -1972-10-21,132.8 -1972-10-22,141.7 -1972-10-23,151.2 -1972-10-24,156.5 -1972-10-25,171.8 -1972-10-26,170.0 -1972-10-27,167.6 -1972-10-28,159.1 -1972-10-29, -1972-10-30,144.6 -1972-10-31,140.1 -1972-11-01,129.9 -1972-11-02,121.8 -1972-11-03,113.9 -1972-11-04,105.8 -1972-11-05,102.6 -1972-11-06,93.2 -1972-11-07,85.7 -1972-11-08,82.5 -1972-11-09,82.3 -1972-11-10,84.7 -1972-11-11,88.3 -1972-11-12,88.7 -1972-11-13,86.7 -1972-11-14,85.1 -1972-11-15,86.5 -1972-11-16,89.6 -1972-11-17,91.5 -1972-11-18,94.6 -1972-11-19,99.7 -1972-11-20,109.4 -1972-11-21,109.3 -1972-11-22,110.9 -1972-11-23,115.3 -1972-11-24,115.4 -1972-11-25,112.7 -1972-11-26,108.6 -1972-11-27,102.3 -1972-11-28,97.5 -1972-11-29,92.7 -1972-11-30,95.1 -1972-12-01,91.1 -1972-12-02,89.4 -1972-12-03,85.2 -1972-12-04,82.3 -1972-12-05,80.4 -1972-12-06,77.8 -1972-12-07,87.1 -1972-12-08,91.6 -1972-12-09,94.7 -1972-12-10,97.2 -1972-12-11,105.1 -1972-12-12,108.9 -1972-12-13,111.2 -1972-12-14,114.8 -1972-12-15,116.1 -1972-12-16,110.2 -1972-12-17,111.9 -1972-12-18,112.4 -1972-12-19,113.2 -1972-12-20,111.4 -1972-12-21,113.4 -1972-12-22,107.9 -1972-12-23,106.2 -1972-12-24,101.1 -1972-12-25,103.3 -1972-12-26,97.7 -1972-12-27,97.6 -1972-12-28,91.9 -1972-12-29,92.8 -1972-12-30,92.0 -1972-12-31,94.3 -1973-01-01,93.9 -1973-01-02,98.2 -1973-01-03,105.1 -1973-01-04,109.3 -1973-01-05,113.3 -1973-01-06,115.0 -1973-01-07,112.3 -1973-01-08,103.2 -1973-01-09,103.7 -1973-01-10,103.8 -1973-01-11,102.8 -1973-01-12,103.5 -1973-01-13,100.9 -1973-01-14,96.2 -1973-01-15,94.6 -1973-01-16,93.8 -1973-01-17,94.2 -1973-01-18,95.3 -1973-01-19,94.8 -1973-01-20,98.3 -1973-01-21,97.9 -1973-01-22,98.5 -1973-01-23,97.2 -1973-01-24,96.9 -1973-01-25,95.6 -1973-01-26,95.3 -1973-01-27,93.4 -1973-01-28,91.7 -1973-01-29,91.4 -1973-01-30,89.7 -1973-01-31,87.7 -1973-02-01,88.6 -1973-02-02,88.6 -1973-02-03,93.1 -1973-02-04,94.1 -1973-02-05,94.3 -1973-02-06,95.3 -1973-02-07,98.5 -1973-02-08,100.5 -1973-02-09,100.9 -1973-02-10,102.1 -1973-02-11,101.2 -1973-02-12,104.6 -1973-02-13,104.7 -1973-02-14,105.6 -1973-02-15,104.7 -1973-02-16,98.7 -1973-02-17,94.2 -1973-02-18,90.7 -1973-02-19,88.9 -1973-02-20,89.4 -1973-02-21,89.9 -1973-02-22,89.7 -1973-02-23,91.4 -1973-02-24,93.6 -1973-02-25,97.2 -1973-02-26,95.6 -1973-02-27,98.2 -1973-02-28,100.9 -1973-03-01,99.5 -1973-03-02,101.6 -1973-03-03,97.8 -1973-03-04,96.6 -1973-03-05,94.8 -1973-03-06,98.9 -1973-03-07,92.2 -1973-03-08,98.9 -1973-03-09,104.7 -1973-03-10,105.6 -1973-03-11,113.4 -1973-03-12,114.5 -1973-03-13,118.9 -1973-03-14,114.0 -1973-03-15,107.1 -1973-03-16,106.9 -1973-03-17,101.5 -1973-03-18,94.9 -1973-03-19,96.7 -1973-03-20,91.0 -1973-03-21,87.4 -1973-03-22,90.3 -1973-03-23,87.1 -1973-03-24,89.4 -1973-03-25,90.0 -1973-03-26,88.6 -1973-03-27,92.0 -1973-03-28,94.2 -1973-03-29,99.0 -1973-03-30,102.8 -1973-03-31,110.3 -1973-04-01,115.0 -1973-04-02,118.1 -1973-04-03,129.4 -1973-04-04,122.3 -1973-04-05,117.7 -1973-04-06,112.7 -1973-04-07,110.3 -1973-04-08,121.0 -1973-04-09,120.5 -1973-04-10,115.5 -1973-04-11,110.3 -1973-04-12,103.4 -1973-04-13,99.4 -1973-04-14,92.7 -1973-04-15,89.5 -1973-04-16,85.0 -1973-04-17,82.1 -1973-04-18,80.9 -1973-04-19,82.8 -1973-04-20,86.4 -1973-04-21,95.2 -1973-04-22,105.0 -1973-04-23,109.2 -1973-04-24,109.0 -1973-04-25,109.2 -1973-04-26,110.1 -1973-04-27,111.6 -1973-04-28,112.6 -1973-04-29,109.5 -1973-04-30,106.2 -1973-05-01,111.9 -1973-05-02,115.0 -1973-05-03,117.3 -1973-05-04,115.9 -1973-05-05,115.0 -1973-05-06,109.7 -1973-05-07,103.4 -1973-05-08,100.0 -1973-05-09,95.1 -1973-05-10,90.9 -1973-05-11,87.0 -1973-05-12,86.8 -1973-05-13,85.2 -1973-05-14,89.3 -1973-05-15,90.1 -1973-05-16,89.5 -1973-05-17,91.4 -1973-05-18,95.4 -1973-05-19,99.4 -1973-05-20,104.7 -1973-05-21,102.2 -1973-05-22,103.1 -1973-05-23,99.6 -1973-05-24,104.5 -1973-05-25,104.7 -1973-05-26,101.1 -1973-05-27,99.9 -1973-05-28,94.1 -1973-05-29,93.3 -1973-05-30,90.8 -1973-05-31,87.2 -1973-06-01,85.2 -1973-06-02,83.1 -1973-06-03,81.5 -1973-06-04,81.0 -1973-06-05,82.5 -1973-06-06,85.1 -1973-06-07,85.3 -1973-06-08,87.4 -1973-06-09,88.9 -1973-06-10,91.0 -1973-06-11,92.9 -1973-06-12,93.6 -1973-06-13,96.3 -1973-06-14,97.7 -1973-06-15,98.2 -1973-06-16,95.2 -1973-06-17,89.8 -1973-06-18,91.4 -1973-06-19,99.2 -1973-06-20,105.4 -1973-06-21,108.8 -1973-06-22,109.4 -1973-06-23,108.8 -1973-06-24,106.1 -1973-06-25,101.3 -1973-06-26,100.3 -1973-06-27,94.8 -1973-06-28,95.2 -1973-06-29,95.1 -1973-06-30,94.1 -1973-07-01,90.9 -1973-07-02,93.1 -1973-07-03,93.5 -1973-07-04,94.9 -1973-07-05,97.9 -1973-07-06,99.4 -1973-07-07,99.9 -1973-07-08,97.6 -1973-07-09,98.6 -1973-07-10,100.5 -1973-07-11,94.0 -1973-07-12,85.4 -1973-07-13,80.3 -1973-07-14,79.5 -1973-07-15,78.7 -1973-07-16,79.5 -1973-07-17,78.1 -1973-07-18,83.6 -1973-07-19,81.6 -1973-07-20,79.5 -1973-07-21,79.4 -1973-07-22,77.6 -1973-07-23,78.6 -1973-07-24,81.6 -1973-07-25,83.8 -1973-07-26,85.0 -1973-07-27,85.5 -1973-07-28,84.2 -1973-07-29,89.5 -1973-07-30,86.1 -1973-07-31,86.6 -1973-08-01,86.9 -1973-08-02,86.8 -1973-08-03,85.0 -1973-08-04,86.2 -1973-08-05,85.1 -1973-08-06,88.8 -1973-08-07,90.8 -1973-08-08,87.5 -1973-08-09,87.1 -1973-08-10,83.4 -1973-08-11,78.9 -1973-08-12,76.3 -1973-08-13,74.7 -1973-08-14,74.1 -1973-08-15,72.6 -1973-08-16,74.1 -1973-08-17,75.0 -1973-08-18,75.3 -1973-08-19,75.4 -1973-08-20,76.8 -1973-08-21,80.4 -1973-08-22,80.4 -1973-08-23,81.8 -1973-08-24,85.3 -1973-08-25,88.9 -1973-08-26,91.2 -1973-08-27,95.1 -1973-08-28,97.5 -1973-08-29,100.8 -1973-08-30,101.3 -1973-08-31,109.6 -1973-09-01,114.9 -1973-09-02,129.2 -1973-09-03,136.5 -1973-09-04,135.0 -1973-09-05,135.1 -1973-09-06,130.9 -1973-09-07,121.7 -1973-09-08,115.7 -1973-09-09,113.1 -1973-09-10,106.7 -1973-09-11,96.8 -1973-09-12,89.5 -1973-09-13,84.6 -1973-09-14,82.9 -1973-09-15,82.6 -1973-09-16,83.9 -1973-09-17,81.8 -1973-09-18,84.6 -1973-09-19,86.6 -1973-09-20,92.0 -1973-09-21,94.9 -1973-09-22,99.5 -1973-09-23,103.9 -1973-09-24,106.2 -1973-09-25,112.7 -1973-09-26,115.5 -1973-09-27,115.9 -1973-09-28,118.1 -1973-09-29,116.5 -1973-09-30,116.5 -1973-10-01,109.0 -1973-10-02,106.1 -1973-10-03,103.5 -1973-10-04,94.9 -1973-10-05,90.6 -1973-10-06,85.9 -1973-10-07,82.2 -1973-10-08,80.1 -1973-10-09,79.1 -1973-10-10,77.0 -1973-10-11,74.9 -1973-10-12,72.0 -1973-10-13,70.5 -1973-10-14,72.7 -1973-10-15,75.7 -1973-10-16,75.6 -1973-10-17,79.5 -1973-10-18,78.3 -1973-10-19,76.7 -1973-10-20,73.4 -1973-10-21,80.0 -1973-10-22,85.0 -1973-10-23,89.9 -1973-10-24,97.6 -1973-10-25,101.0 -1973-10-26,101.0 -1973-10-27,101.7 -1973-10-28,100.7 -1973-10-29,99.1 -1973-10-30,97.4 -1973-10-31,90.5 -1973-11-01,87.0 -1973-11-02,83.9 -1973-11-03,81.1 -1973-11-04,77.4 -1973-11-05,73.9 -1973-11-06,73.2 -1973-11-07,72.1 -1973-11-08,70.4 -1973-11-09,70.4 -1973-11-10,70.7 -1973-11-11,71.2 -1973-11-12,70.7 -1973-11-13,72.6 -1973-11-14,73.8 -1973-11-15,75.0 -1973-11-16,76.2 -1973-11-17,75.3 -1973-11-18,75.5 -1973-11-19,75.4 -1973-11-20,76.8 -1973-11-21,80.7 -1973-11-22,84.7 -1973-11-23,86.5 -1973-11-24,87.0 -1973-11-25,88.0 -1973-11-26,91.8 -1973-11-27,88.8 -1973-11-28,90.7 -1973-11-29,94.9 -1973-11-30,95.7 -1973-12-01,86.9 -1973-12-02,86.3 -1973-12-03,82.7 -1973-12-04,78.6 -1973-12-05,73.6 -1973-12-06,70.9 -1973-12-07,70.4 -1973-12-08,70.9 -1973-12-09,71.2 -1973-12-10,72.3 -1973-12-11,71.9 -1973-12-12,72.5 -1973-12-13,73.1 -1973-12-14,73.8 -1973-12-15,76.6 -1973-12-16,79.7 -1973-12-17,82.1 -1973-12-18,84.9 -1973-12-19,87.8 -1973-12-20,89.9 -1973-12-21,97.6 -1973-12-22,96.7 -1973-12-23,96.0 -1973-12-24,98.1 -1973-12-25,97.6 -1973-12-26,92.9 -1973-12-27,88.6 -1973-12-28,81.7 -1973-12-29,76.4 -1973-12-30,74.1 -1973-12-31,72.0 -1974-01-01,71.5 -1974-01-02,73.2 -1974-01-03,73.3 -1974-01-04,72.5 -1974-01-05,72.1 -1974-01-06,74.7 -1974-01-07,76.0 -1974-01-08,79.7 -1974-01-09,84.9 -1974-01-10,89.2 -1974-01-11,91.0 -1974-01-12,94.6 -1974-01-13,94.8 -1974-01-14,95.7 -1974-01-15,91.8 -1974-01-16,90.0 -1974-01-17,89.2 -1974-01-18,87.1 -1974-01-19,85.8 -1974-01-20,84.4 -1974-01-21,79.7 -1974-01-22,83.5 -1974-01-23,81.0 -1974-01-24,77.8 -1974-01-25,74.1 -1974-01-26,71.5 -1974-01-27,70.7 -1974-01-28,70.8 -1974-01-29,70.7 -1974-01-30,70.8 -1974-01-31,71.3 -1974-02-01,71.8 -1974-02-02,73.1 -1974-02-03,73.1 -1974-02-04,72.9 -1974-02-05,74.0 -1974-02-06,75.4 -1974-02-07,77.4 -1974-02-08,78.8 -1974-02-09,80.8 -1974-02-10,80.5 -1974-02-11,77.5 -1974-02-12,76.5 -1974-02-13,77.3 -1974-02-14,76.3 -1974-02-15,83.7 -1974-02-16,84.7 -1974-02-17,85.9 -1974-02-18,87.5 -1974-02-19,82.7 -1974-02-20,82.2 -1974-02-21,82.2 -1974-02-22,82.2 -1974-02-23,84.2 -1974-02-24,80.9 -1974-02-25,78.6 -1974-02-26,76.2 -1974-02-27,76.4 -1974-02-28,75.8 -1974-03-01,76.4 -1974-03-02,76.5 -1974-03-03,77.1 -1974-03-04,79.0 -1974-03-05,78.6 -1974-03-06,77.5 -1974-03-07,76.0 -1974-03-08,77.0 -1974-03-09,80.2 -1974-03-10,86.1 -1974-03-11,85.9 -1974-03-12,86.2 -1974-03-13,84.5 -1974-03-14,81.9 -1974-03-15,82.9 -1974-03-16,81.8 -1974-03-17,82.7 -1974-03-18,80.2 -1974-03-19,80.0 -1974-03-20,79.6 -1974-03-21,79.1 -1974-03-22,80.0 -1974-03-23,79.8 -1974-03-24,76.6 -1974-03-25,74.3 -1974-03-26,72.6 -1974-03-27,71.8 -1974-03-28,70.4 -1974-03-29,71.5 -1974-03-30,72.1 -1974-03-31,72.9 -1974-04-01,72.1 -1974-04-02,71.3 -1974-04-03,71.6 -1974-04-04,73.3 -1974-04-05,76.3 -1974-04-06,80.0 -1974-04-07,80.2 -1974-04-08,81.1 -1974-04-09,87.8 -1974-04-10,93.5 -1974-04-11,99.8 -1974-04-12,105.6 -1974-04-13,102.8 -1974-04-14,116.3 -1974-04-15,122.9 -1974-04-16,115.0 -1974-04-17,101.8 -1974-04-18,98.0 -1974-04-19,87.5 -1974-04-20,82.3 -1974-04-21,79.5 -1974-04-22,75.3 -1974-04-23,73.9 -1974-04-24,75.0 -1974-04-25,76.5 -1974-04-26,74.9 -1974-04-27,75.3 -1974-04-28,77.9 -1974-04-29,81.6 -1974-04-30,91.7 -1974-05-01,98.5 -1974-05-02,113.1 -1974-05-03,115.5 -1974-05-04,118.0 -1974-05-05,119.7 -1974-05-06,123.0 -1974-05-07,119.3 -1974-05-08,115.8 -1974-05-09,110.0 -1974-05-10,105.1 -1974-05-11,104.3 -1974-05-12,97.1 -1974-05-13,93.5 -1974-05-14,88.2 -1974-05-15,84.9 -1974-05-16,80.3 -1974-05-17,75.8 -1974-05-18,75.2 -1974-05-19,73.0 -1974-05-20,72.5 -1974-05-21,71.9 -1974-05-22,72.2 -1974-05-23,71.5 -1974-05-24,71.6 -1974-05-25,72.4 -1974-05-26,79.6 -1974-05-27,85.1 -1974-05-28,87.4 -1974-05-29,89.4 -1974-05-30,91.3 -1974-05-31,95.1 -1974-06-01,97.9 -1974-06-02,100.1 -1974-06-03,98.9 -1974-06-04,98.2 -1974-06-05,96.5 -1974-06-06,95.0 -1974-06-07,92.8 -1974-06-08,95.0 -1974-06-09,95.1 -1974-06-10,97.0 -1974-06-11,95.3 -1974-06-12,91.7 -1974-06-13,89.8 -1974-06-14,88.1 -1974-06-15,84.7 -1974-06-16,86.2 -1974-06-17,87.2 -1974-06-18,84.4 -1974-06-19,82.8 -1974-06-20,83.8 -1974-06-21,81.4 -1974-06-22,82.3 -1974-06-23,80.2 -1974-06-24,79.1 -1974-06-25,78.8 -1974-06-26,79.6 -1974-06-27,82.4 -1974-06-28,83.0 -1974-06-29,89.4 -1974-06-30,93.1 -1974-07-01,105.4 -1974-07-02,112.7 -1974-07-03,118.5 -1974-07-04,127.8 -1974-07-05,125.6 -1974-07-06,121.5 -1974-07-07,110.9 -1974-07-08,104.7 -1974-07-09,95.5 -1974-07-10,88.2 -1974-07-11,83.1 -1974-07-12,83.3 -1974-07-13,83.3 -1974-07-14,83.3 -1974-07-15,85.5 -1974-07-16,91.3 -1974-07-17,91.0 -1974-07-18,86.5 -1974-07-19,87.1 -1974-07-20,86.7 -1974-07-21,90.1 -1974-07-22,95.3 -1974-07-23,98.5 -1974-07-24,92.1 -1974-07-25,89.5 -1974-07-26,93.1 -1974-07-27,87.9 -1974-07-28,84.5 -1974-07-29,85.2 -1974-07-30,85.9 -1974-07-31,87.4 -1974-08-01,85.1 -1974-08-02,85.2 -1974-08-03,83.0 -1974-08-04,85.8 -1974-08-05,86.5 -1974-08-06,88.0 -1974-08-07,85.8 -1974-08-08,89.4 -1974-08-09,87.5 -1974-08-10,88.3 -1974-08-11,94.4 -1974-08-12,99.4 -1974-08-13,95.2 -1974-08-14,93.2 -1974-08-15,92.1 -1974-08-16,96.6 -1974-08-17,98.8 -1974-08-18,95.1 -1974-08-19,88.8 -1974-08-20,82.6 -1974-08-21,81.2 -1974-08-22,80.6 -1974-08-23,81.0 -1974-08-24,77.4 -1974-08-25,75.7 -1974-08-26,73.8 -1974-08-27,72.7 -1974-08-28,71.8 -1974-08-29,72.4 -1974-08-30,74.2 -1974-08-31,75.6 -1974-09-01,77.8 -1974-09-02,79.4 -1974-09-03,79.2 -1974-09-04,81.0 -1974-09-05,81.5 -1974-09-06,82.2 -1974-09-07,85.4 -1974-09-08,93.4 -1974-09-09,96.0 -1974-09-10,102.0 -1974-09-11,104.6 -1974-09-12,105.6 -1974-09-13,106.8 -1974-09-14,104.1 -1974-09-15,103.6 -1974-09-16,102.0 -1974-09-17,100.3 -1974-09-18,100.0 -1974-09-19,91.7 -1974-09-20,85.9 -1974-09-21,82.7 -1974-09-22,81.0 -1974-09-23,74.6 -1974-09-24,72.8 -1974-09-25,72.8 -1974-09-26,75.4 -1974-09-27,77.0 -1974-09-28,80.7 -1974-09-29,90.7 -1974-09-30,91.5 -1974-10-01,93.1 -1974-10-02,94.6 -1974-10-03,93.4 -1974-10-04,100.5 -1974-10-05,113.3 -1974-10-06,115.0 -1974-10-07,114.5 -1974-10-08,125.2 -1974-10-09,128.9 -1974-10-10,129.3 -1974-10-11,137.5 -1974-10-12,144.1 -1974-10-13,126.6 -1974-10-14,113.2 -1974-10-15,103.7 -1974-10-16,94.9 -1974-10-17,83.8 -1974-10-18,81.0 -1974-10-19,75.2 -1974-10-20,75.5 -1974-10-21,73.9 -1974-10-22,72.6 -1974-10-23,74.0 -1974-10-24,74.7 -1974-10-25,76.9 -1974-10-26,80.7 -1974-10-27,80.0 -1974-10-28,81.6 -1974-10-29,81.6 -1974-10-30,82.7 -1974-10-31,86.7 -1974-11-01,90.2 -1974-11-02,92.0 -1974-11-03,96.2 -1974-11-04,99.5 -1974-11-05,97.6 -1974-11-06,92.3 -1974-11-07,85.6 -1974-11-08,82.0 -1974-11-09,78.9 -1974-11-10,78.4 -1974-11-11,77.3 -1974-11-12,79.1 -1974-11-13,76.1 -1974-11-14,77.7 -1974-11-15,80.0 -1974-11-16,82.5 -1974-11-17,84.6 -1974-11-18,88.5 -1974-11-19,96.0 -1974-11-20,95.6 -1974-11-21,96.2 -1974-11-22,98.7 -1974-11-23,98.1 -1974-11-24,95.9 -1974-11-25,94.5 -1974-11-26,92.2 -1974-11-27,90.8 -1974-11-28,86.6 -1974-11-29,83.8 -1974-11-30,82.0 -1974-12-01,79.7 -1974-12-02,78.7 -1974-12-03,76.7 -1974-12-04,74.7 -1974-12-05,73.2 -1974-12-06,71.9 -1974-12-07,71.1 -1974-12-08,69.6 -1974-12-09,69.6 -1974-12-10,70.4 -1974-12-11,76.2 -1974-12-12,77.9 -1974-12-13,78.0 -1974-12-14,78.2 -1974-12-15,83.2 -1974-12-16,88.3 -1974-12-17,88.3 -1974-12-18,90.3 -1974-12-19,91.9 -1974-12-20,87.3 -1974-12-21,86.0 -1974-12-22,84.4 -1974-12-23,83.0 -1974-12-24,80.1 -1974-12-25,78.9 -1974-12-26,75.8 -1974-12-27,74.3 -1974-12-28,73.7 -1974-12-29,74.1 -1974-12-30,74.5 -1974-12-31,76.1 -1975-01-01,78.1 -1975-01-02,75.8 -1975-01-03,77.1 -1975-01-04,74.4 -1975-01-05,73.7 -1975-01-06,73.8 -1975-01-07,75.7 -1975-01-08,77.7 -1975-01-09,79.9 -1975-01-10,80.5 -1975-01-11,81.2 -1975-01-12,82.4 -1975-01-13,80.4 -1975-01-14,77.7 -1975-01-15,77.4 -1975-01-16,76.5 -1975-01-17,74.7 -1975-01-18,75.8 -1975-01-19,74.1 -1975-01-20,73.8 -1975-01-21,74.5 -1975-01-22,73.6 -1975-01-23,72.7 -1975-01-24,71.0 -1975-01-25,70.3 -1975-01-26,70.5 -1975-01-27,70.1 -1975-01-28,70.7 -1975-01-29,70.4 -1975-01-30,70.5 -1975-01-31,70.1 -1975-02-01,70.8 -1975-02-02,72.3 -1975-02-03,74.3 -1975-02-04,75.4 -1975-02-05,76.5 -1975-02-06,81.1 -1975-02-07,79.4 -1975-02-08,78.8 -1975-02-09,77.1 -1975-02-10,76.7 -1975-02-11,74.8 -1975-02-12,74.9 -1975-02-13,73.7 -1975-02-14,72.0 -1975-02-15,69.7 -1975-02-16,71.4 -1975-02-17,69.3 -1975-02-18,68.3 -1975-02-19,70.0 -1975-02-20,69.5 -1975-02-21,68.9 -1975-02-22,68.3 -1975-02-23,68.3 -1975-02-24,68.6 -1975-02-25,69.4 -1975-02-26,68.8 -1975-02-27,69.4 -1975-02-28,68.6 -1975-03-01,70.7 -1975-03-02,72.4 -1975-03-03,73.4 -1975-03-04,72.8 -1975-03-05,71.3 -1975-03-06,72.4 -1975-03-07,71.9 -1975-03-08,72.5 -1975-03-09,73.8 -1975-03-10,73.3 -1975-03-11,73.0 -1975-03-12,74.2 -1975-03-13,75.6 -1975-03-14,75.0 -1975-03-15,73.4 -1975-03-16,76.0 -1975-03-17,75.3 -1975-03-18,74.2 -1975-03-19,72.9 -1975-03-20,71.9 -1975-03-21,71.2 -1975-03-22,69.3 -1975-03-23,67.6 -1975-03-24,67.4 -1975-03-25,67.5 -1975-03-26,68.6 -1975-03-27,67.3 -1975-03-28,67.8 -1975-03-29,69.0 -1975-03-30,69.0 -1975-03-31,70.5 -1975-04-01,70.2 -1975-04-02,71.2 -1975-04-03,72.2 -1975-04-04,73.0 -1975-04-05,73.7 -1975-04-06,73.7 -1975-04-07,74.3 -1975-04-08,73.6 -1975-04-09,73.4 -1975-04-10,72.4 -1975-04-11,72.3 -1975-04-12,70.8 -1975-04-13,70.7 -1975-04-14,69.7 -1975-04-15,69.7 -1975-04-16,69.2 -1975-04-17,69.6 -1975-04-18,68.3 -1975-04-19,67.5 -1975-04-20,68.0 -1975-04-21,68.2 -1975-04-22,67.8 -1975-04-23,68.7 -1975-04-24,69.3 -1975-04-25,71.6 -1975-04-26,72.1 -1975-04-27,74.4 -1975-04-28,74.8 -1975-04-29,73.2 -1975-04-30,73.4 -1975-05-01,76.3 -1975-05-02,81.1 -1975-05-03,79.6 -1975-05-04,79.6 -1975-05-05,78.4 -1975-05-06,75.9 -1975-05-07,73.6 -1975-05-08,71.9 -1975-05-09,70.6 -1975-05-10,70.1 -1975-05-11,69.8 -1975-05-12,69.6 -1975-05-13,69.1 -1975-05-14,68.7 -1975-05-15,68.0 -1975-05-16,68.5 -1975-05-17,68.3 -1975-05-18,68.7 -1975-05-19,68.9 -1975-05-20,68.6 -1975-05-21,69.7 -1975-05-22,70.8 -1975-05-23,70.6 -1975-05-24,70.6 -1975-05-25,70.2 -1975-05-26,69.0 -1975-05-27,70.5 -1975-05-28,70.6 -1975-05-29,71.0 -1975-05-30,71.0 -1975-05-31,71.1 -1975-06-01,71.4 -1975-06-02,73.0 -1975-06-03,70.8 -1975-06-04,70.4 -1975-06-05,69.3 -1975-06-06,68.2 -1975-06-07,68.1 -1975-06-08,67.5 -1975-06-09,67.7 -1975-06-10,68.8 -1975-06-11,68.1 -1975-06-12,68.4 -1975-06-13,67.9 -1975-06-14,68.5 -1975-06-15,68.9 -1975-06-16,71.4 -1975-06-17,70.2 -1975-06-18,70.2 -1975-06-19,71.0 -1975-06-20,72.5 -1975-06-21,68.7 -1975-06-22,69.9 -1975-06-23,72.9 -1975-06-24,75.9 -1975-06-25,77.7 -1975-06-26,79.8 -1975-06-27,81.5 -1975-06-28,80.7 -1975-06-29,79.4 -1975-06-30,78.8 -1975-07-01,78.7 -1975-07-02,76.8 -1975-07-03,77.1 -1975-07-04,76.8 -1975-07-05,76.8 -1975-07-06,76.1 -1975-07-07,74.1 -1975-07-08,74.0 -1975-07-09,73.3 -1975-07-10,73.0 -1975-07-11,77.6 -1975-07-12,82.7 -1975-07-13,88.5 -1975-07-14,89.0 -1975-07-15,85.6 -1975-07-16,83.6 -1975-07-17,81.2 -1975-07-18,82.8 -1975-07-19,81.9 -1975-07-20,83.3 -1975-07-21,83.1 -1975-07-22,82.7 -1975-07-23,82.0 -1975-07-24,79.3 -1975-07-25,79.8 -1975-07-26,80.0 -1975-07-27,78.5 -1975-07-28,76.5 -1975-07-29,75.5 -1975-07-30,78.9 -1975-07-31,81.9 -1975-08-01,91.6 -1975-08-02,95.4 -1975-08-03,97.0 -1975-08-04,104.6 -1975-08-05,107.9 -1975-08-06,120.0 -1975-08-07,123.2 -1975-08-08,123.7 -1975-08-09,115.9 -1975-08-10,116.5 -1975-08-11,107.3 -1975-08-12,104.5 -1975-08-13,98.0 -1975-08-14,90.9 -1975-08-15,86.0 -1975-08-16,82.8 -1975-08-17,79.0 -1975-08-18,76.4 -1975-08-19,76.7 -1975-08-20,77.2 -1975-08-21,80.0 -1975-08-22,78.5 -1975-08-23,76.8 -1975-08-24,77.0 -1975-08-25,80.6 -1975-08-26,81.3 -1975-08-27,83.6 -1975-08-28,83.3 -1975-08-29,84.7 -1975-08-30,86.2 -1975-08-31,86.7 -1975-09-01,87.0 -1975-09-02,87.9 -1975-09-03,87.8 -1975-09-04,92.8 -1975-09-05,94.4 -1975-09-06,94.0 -1975-09-07,91.1 -1975-09-08,88.5 -1975-09-09,84.3 -1975-09-10,82.5 -1975-09-11,81.1 -1975-09-12,78.2 -1975-09-13,75.2 -1975-09-14,74.2 -1975-09-15,74.1 -1975-09-16,74.3 -1975-09-17,74.8 -1975-09-18,76.2 -1975-09-19,76.2 -1975-09-20,76.5 -1975-09-21,76.7 -1975-09-22,75.3 -1975-09-23,76.1 -1975-09-24,76.8 -1975-09-25,76.7 -1975-09-26,76.7 -1975-09-27,75.7 -1975-09-28,76.1 -1975-09-29,75.9 -1975-09-30,75.8 -1975-10-01,76.4 -1975-10-02,78.1 -1975-10-03,78.4 -1975-10-04,76.3 -1975-10-05,76.1 -1975-10-06,75.1 -1975-10-07,74.3 -1975-10-08,74.0 -1975-10-09,75.4 -1975-10-10,74.3 -1975-10-11,73.3 -1975-10-12,74.8 -1975-10-13,79.0 -1975-10-14,80.0 -1975-10-15,80.3 -1975-10-16,78.5 -1975-10-17,78.9 -1975-10-18,79.2 -1975-10-19,78.0 -1975-10-20,77.1 -1975-10-21,75.7 -1975-10-22,74.2 -1975-10-23,74.3 -1975-10-24,72.7 -1975-10-25,72.1 -1975-10-26,71.9 -1975-10-27,72.1 -1975-10-28,71.7 -1975-10-29,70.8 -1975-10-30,70.2 -1975-10-31,69.9 -1975-11-01,70.4 -1975-11-02,71.4 -1975-11-03,73.0 -1975-11-04,75.4 -1975-11-05,78.9 -1975-11-06,80.1 -1975-11-07,80.5 -1975-11-08,80.9 -1975-11-09,78.8 -1975-11-10,78.9 -1975-11-11,78.6 -1975-11-12,79.9 -1975-11-13,79.2 -1975-11-14,82.7 -1975-11-15,83.7 -1975-11-16,87.6 -1975-11-17,88.9 -1975-11-18,90.8 -1975-11-19,93.0 -1975-11-20,90.9 -1975-11-21,86.6 -1975-11-22,81.5 -1975-11-23,77.2 -1975-11-24,74.7 -1975-11-25,73.7 -1975-11-26,71.9 -1975-11-27,70.7 -1975-11-28,70.4 -1975-11-29,70.9 -1975-11-30,70.6 -1975-12-01,72.1 -1975-12-02,74.8 -1975-12-03,74.3 -1975-12-04,74.1 -1975-12-05,77.4 -1975-12-06,75.8 -1975-12-07,73.7 -1975-12-08,76.0 -1975-12-09,73.3 -1975-12-10,73.3 -1975-12-11,74.3 -1975-12-12,73.4 -1975-12-13,72.8 -1975-12-14,71.8 -1975-12-15,71.8 -1975-12-16,70.5 -1975-12-17,70.5 -1975-12-18,69.6 -1975-12-19,69.1 -1975-12-20,69.7 -1975-12-21,69.0 -1975-12-22,68.9 -1975-12-23,69.6 -1975-12-24,71.4 -1975-12-25,71.0 -1975-12-26,71.8 -1975-12-27,72.5 -1975-12-28,71.5 -1975-12-29,72.5 -1975-12-30,71.9 -1975-12-31,72.1 -1976-01-01,72.1 -1976-01-02,71.2 -1976-01-03,71.3 -1976-01-04,71.8 -1976-01-05,71.9 -1976-01-06,71.7 -1976-01-07,71.6 -1976-01-08,70.9 -1976-01-09,69.4 -1976-01-10,70.5 -1976-01-11,72.1 -1976-01-12,76.9 -1976-01-13,80.0 -1976-01-14,82.1 -1976-01-15,80.4 -1976-01-16,78.1 -1976-01-17,76.6 -1976-01-18,76.7 -1976-01-19,75.2 -1976-01-20,74.6 -1976-01-21,72.1 -1976-01-22,70.9 -1976-01-23,70.2 -1976-01-24,68.5 -1976-01-25,68.2 -1976-01-26,68.2 -1976-01-27,67.2 -1976-01-28,67.1 -1976-01-29,67.4 -1976-01-30,68.9 -1976-01-31,69.1 -1976-02-01,68.6 -1976-02-02,68.6 -1976-02-03,68.4 -1976-02-04,68.4 -1976-02-05,67.6 -1976-02-06,68.1 -1976-02-07,69.3 -1976-02-08,68.4 -1976-02-09,68.3 -1976-02-10,68.5 -1976-02-11,68.4 -1976-02-12,67.8 -1976-02-13,69.7 -1976-02-14,69.9 -1976-02-15,69.6 -1976-02-16,69.7 -1976-02-17,69.9 -1976-02-18,70.1 -1976-02-19,70.1 -1976-02-20,70.0 -1976-02-21,68.8 -1976-02-22,68.9 -1976-02-23,69.2 -1976-02-24,69.6 -1976-02-25,68.4 -1976-02-26,68.5 -1976-02-27,68.5 -1976-02-28,67.9 -1976-02-29,67.4 -1976-03-01,67.8 -1976-03-02,68.1 -1976-03-03,67.4 -1976-03-04,67.4 -1976-03-05,67.6 -1976-03-06,67.6 -1976-03-07,68.0 -1976-03-08,67.9 -1976-03-09,68.2 -1976-03-10,68.5 -1976-03-11,68.9 -1976-03-12,69.0 -1976-03-13,70.9 -1976-03-14,70.1 -1976-03-15,69.1 -1976-03-16,72.6 -1976-03-17,74.4 -1976-03-18,79.1 -1976-03-19,81.6 -1976-03-20,85.0 -1976-03-21,91.3 -1976-03-22,83.0 -1976-03-23,87.0 -1976-03-24,82.2 -1976-03-25,85.2 -1976-03-26,84.2 -1976-03-27,85.6 -1976-03-28,87.1 -1976-03-29,84.0 -1976-03-30,82.4 -1976-03-31,82.7 -1976-04-01,79.6 -1976-04-02,76.8 -1976-04-03,76.2 -1976-04-04,74.8 -1976-04-05,73.1 -1976-04-06,71.3 -1976-04-07,70.3 -1976-04-08,71.9 -1976-04-09,74.1 -1976-04-10,75.3 -1976-04-11,77.2 -1976-04-12,78.2 -1976-04-13,79.7 -1976-04-14,79.6 -1976-04-15,79.3 -1976-04-16,80.7 -1976-04-17,80.5 -1976-04-18,80.5 -1976-04-19,79.8 -1976-04-20,80.1 -1976-04-21,78.1 -1976-04-22,76.2 -1976-04-23,75.7 -1976-04-24,76.8 -1976-04-25,75.8 -1976-04-26,75.8 -1976-04-27,74.6 -1976-04-28,73.4 -1976-04-29,79.7 -1976-04-30,79.6 -1976-05-01,77.6 -1976-05-02,74.2 -1976-05-03,71.9 -1976-05-04,71.5 -1976-05-05,71.1 -1976-05-06,69.9 -1976-05-07,70.3 -1976-05-08,70.2 -1976-05-09,70.6 -1976-05-10,71.7 -1976-05-11,72.5 -1976-05-12,72.6 -1976-05-13,73.6 -1976-05-14,74.2 -1976-05-15,76.9 -1976-05-16,79.2 -1976-05-17,76.5 -1976-05-18,75.6 -1976-05-19,73.8 -1976-05-20,73.0 -1976-05-21,74.0 -1976-05-22,72.5 -1976-05-23,71.9 -1976-05-24,70.8 -1976-05-25,69.8 -1976-05-26,69.5 -1976-05-27,69.6 -1976-05-28,69.0 -1976-05-29,68.0 -1976-05-30,68.1 -1976-05-31,68.7 -1976-06-01,68.4 -1976-06-02,67.9 -1976-06-03,68.1 -1976-06-04,68.4 -1976-06-05,68.7 -1976-06-06,69.3 -1976-06-07,69.0 -1976-06-08,70.7 -1976-06-09,70.1 -1976-06-10,71.0 -1976-06-11,71.4 -1976-06-12,71.7 -1976-06-13,72.0 -1976-06-14,73.7 -1976-06-15,74.3 -1976-06-16,77.1 -1976-06-17,77.1 -1976-06-18,77.9 -1976-06-19,76.9 -1976-06-20,76.9 -1976-06-21,77.7 -1976-06-22,78.9 -1976-06-23,76.5 -1976-06-24,75.2 -1976-06-25,74.9 -1976-06-26,74.3 -1976-06-27,72.8 -1976-06-28,71.8 -1976-06-29,71.3 -1976-06-30,70.3 -1976-07-01,69.3 -1976-07-02,69.1 -1976-07-03,69.5 -1976-07-04,68.6 -1976-07-05,69.5 -1976-07-06,69.6 -1976-07-07,69.5 -1976-07-08,69.7 -1976-07-09,69.7 -1976-07-10,70.1 -1976-07-11,70.2 -1976-07-12,69.8 -1976-07-13,69.8 -1976-07-14,70.7 -1976-07-15,71.4 -1976-07-16,69.8 -1976-07-17,69.4 -1976-07-18,70.6 -1976-07-19,70.2 -1976-07-20,69.4 -1976-07-21,70.1 -1976-07-22,70.1 -1976-07-23,68.7 -1976-07-24,69.4 -1976-07-25,68.8 -1976-07-26,68.5 -1976-07-27,69.4 -1976-07-28,69.4 -1976-07-29,69.4 -1976-07-30,70.7 -1976-07-31,72.3 -1976-08-01,75.9 -1976-08-02,77.8 -1976-08-03,82.3 -1976-08-04,82.3 -1976-08-05,84.2 -1976-08-06,84.3 -1976-08-07,83.7 -1976-08-08,82.0 -1976-08-09,82.8 -1976-08-10,82.8 -1976-08-11,80.4 -1976-08-12,80.6 -1976-08-13,78.7 -1976-08-14,73.4 -1976-08-15,72.8 -1976-08-16,72.9 -1976-08-17,77.8 -1976-08-18,78.2 -1976-08-19,76.1 -1976-08-20,74.5 -1976-08-21,73.2 -1976-08-22,72.3 -1976-08-23,70.8 -1976-08-24,70.9 -1976-08-25,70.6 -1976-08-26,70.1 -1976-08-27,71.5 -1976-08-28,72.8 -1976-08-29,73.3 -1976-08-30,73.0 -1976-08-31,73.8 -1976-09-01,76.3 -1976-09-02,75.3 -1976-09-03,75.7 -1976-09-04,75.9 -1976-09-05,75.4 -1976-09-06,73.1 -1976-09-07,73.0 -1976-09-08,72.9 -1976-09-09,73.2 -1976-09-10,75.8 -1976-09-11,75.7 -1976-09-12,75.7 -1976-09-13,74.3 -1976-09-14,74.7 -1976-09-15,73.9 -1976-09-16,75.8 -1976-09-17,76.5 -1976-09-18,74.3 -1976-09-19,73.3 -1976-09-20,72.2 -1976-09-21,70.9 -1976-09-22,70.5 -1976-09-23,72.0 -1976-09-24,72.5 -1976-09-25,73.4 -1976-09-26,72.8 -1976-09-27,73.3 -1976-09-28,73.6 -1976-09-29,71.9 -1976-09-30,72.6 -1976-10-01,74.6 -1976-10-02,73.9 -1976-10-03,73.8 -1976-10-04,73.1 -1976-10-05,74.8 -1976-10-06,74.7 -1976-10-07,74.5 -1976-10-08,74.6 -1976-10-09,74.8 -1976-10-10,74.9 -1976-10-11,73.7 -1976-10-12,73.3 -1976-10-13,72.6 -1976-10-14,74.4 -1976-10-15,75.5 -1976-10-16,77.0 -1976-10-17,78.0 -1976-10-18,77.3 -1976-10-19,76.6 -1976-10-20,75.8 -1976-10-21,73.5 -1976-10-22,75.4 -1976-10-23,80.1 -1976-10-24,80.1 -1976-10-25,84.7 -1976-10-26,80.4 -1976-10-27,77.4 -1976-10-28,73.8 -1976-10-29,72.1 -1976-10-30,72.1 -1976-10-31,70.4 -1976-11-01,70.9 -1976-11-02,69.1 -1976-11-03,69.8 -1976-11-04,69.9 -1976-11-05,70.9 -1976-11-06,69.7 -1976-11-07,69.5 -1976-11-08,69.3 -1976-11-09,70.7 -1976-11-10,69.4 -1976-11-11,70.5 -1976-11-12,70.8 -1976-11-13,69.4 -1976-11-14,69.2 -1976-11-15,71.1 -1976-11-16,71.1 -1976-11-17,72.8 -1976-11-18,75.6 -1976-11-19,74.6 -1976-11-20,72.9 -1976-11-21,73.2 -1976-11-22,73.3 -1976-11-23,72.5 -1976-11-24,72.9 -1976-11-25,72.7 -1976-11-26,72.1 -1976-11-27,73.7 -1976-11-28,71.7 -1976-11-29,69.7 -1976-11-30,69.7 -1976-12-01,70.2 -1976-12-02,71.6 -1976-12-03,71.2 -1976-12-04,71.3 -1976-12-05,70.1 -1976-12-06,70.1 -1976-12-07,69.7 -1976-12-08,70.8 -1976-12-09,74.3 -1976-12-10,76.8 -1976-12-11,78.3 -1976-12-12,78.6 -1976-12-13,78.1 -1976-12-14,81.0 -1976-12-15,79.8 -1976-12-16,77.8 -1976-12-17,75.5 -1976-12-18,73.8 -1976-12-19,72.9 -1976-12-20,71.7 -1976-12-21,71.8 -1976-12-22,73.4 -1976-12-23,73.7 -1976-12-24,74.2 -1976-12-25,75.6 -1976-12-26,75.6 -1976-12-27,75.2 -1976-12-28,74.5 -1976-12-29,74.8 -1976-12-30,75.1 -1976-12-31,76.4 -1977-01-01,73.8 -1977-01-02,76.5 -1977-01-03,76.0 -1977-01-04,75.5 -1977-01-05,74.0 -1977-01-06,72.4 -1977-01-07,71.4 -1977-01-08,69.6 -1977-01-09,68.4 -1977-01-10,68.8 -1977-01-11,71.2 -1977-01-12,74.9 -1977-01-13,77.5 -1977-01-14,74.5 -1977-01-15,75.6 -1977-01-16,77.5 -1977-01-17,76.1 -1977-01-18,75.4 -1977-01-19,76.9 -1977-01-20,75.2 -1977-01-21,74.0 -1977-01-22,76.8 -1977-01-23,78.7 -1977-01-24,77.4 -1977-01-25,74.9 -1977-01-26,76.0 -1977-01-27,75.3 -1977-01-28,77.1 -1977-01-29,76.1 -1977-01-30,76.3 -1977-01-31,79.6 -1977-02-01,81.7 -1977-02-02,82.1 -1977-02-03,80.9 -1977-02-04,78.7 -1977-02-05,77.8 -1977-02-06,75.2 -1977-02-07,74.6 -1977-02-08,78.6 -1977-02-09,83.1 -1977-02-10,83.5 -1977-02-11,84.6 -1977-02-12,86.9 -1977-02-13,88.5 -1977-02-14,85.2 -1977-02-15,84.4 -1977-02-16,85.7 -1977-02-17,89.6 -1977-02-18,86.5 -1977-02-19,82.8 -1977-02-20,81.1 -1977-02-21,78.6 -1977-02-22,75.9 -1977-02-23,75.9 -1977-02-24,74.2 -1977-02-25,74.3 -1977-02-26,72.3 -1977-02-27,72.0 -1977-02-28,72.6 -1977-03-01,72.6 -1977-03-02,75.4 -1977-03-03,74.8 -1977-03-04,76.9 -1977-03-05,77.6 -1977-03-06,77.6 -1977-03-07,77.2 -1977-03-08,81.6 -1977-03-09,80.3 -1977-03-10,80.5 -1977-03-11,78.9 -1977-03-12,78.6 -1977-03-13,77.9 -1977-03-14,77.2 -1977-03-15,74.8 -1977-03-16,74.1 -1977-03-17,74.1 -1977-03-18,73.9 -1977-03-19,74.0 -1977-03-20,72.3 -1977-03-21,72.8 -1977-03-22,74.6 -1977-03-23,74.7 -1977-03-24,74.8 -1977-03-25,74.0 -1977-03-26,75.1 -1977-03-27,74.5 -1977-03-28,74.4 -1977-03-29,75.4 -1977-03-30,74.6 -1977-03-31,74.1 -1977-04-01,74.8 -1977-04-02,76.3 -1977-04-03,76.6 -1977-04-04,76.8 -1977-04-05,75.5 -1977-04-06,76.1 -1977-04-07,75.5 -1977-04-08,74.3 -1977-04-09,74.8 -1977-04-10,76.5 -1977-04-11,79.2 -1977-04-12,80.2 -1977-04-13,82.7 -1977-04-14,83.4 -1977-04-15,86.8 -1977-04-16,83.7 -1977-04-17,83.6 -1977-04-18,80.8 -1977-04-19,79.8 -1977-04-20,80.4 -1977-04-21,80.8 -1977-04-22,80.1 -1977-04-23,77.5 -1977-04-24,76.5 -1977-04-25,76.4 -1977-04-26,75.4 -1977-04-27,74.9 -1977-04-28,74.2 -1977-04-29,74.8 -1977-04-30,76.6 -1977-05-01,77.2 -1977-05-02,78.5 -1977-05-03,81.9 -1977-05-04,81.4 -1977-05-05,79.6 -1977-05-06,78.5 -1977-05-07,77.1 -1977-05-08,77.9 -1977-05-09,83.6 -1977-05-10,80.8 -1977-05-11,80.8 -1977-05-12,79.7 -1977-05-13,81.5 -1977-05-14,84.8 -1977-05-15,85.0 -1977-05-16,85.1 -1977-05-17,84.1 -1977-05-18,82.9 -1977-05-19,82.1 -1977-05-20,81.3 -1977-05-21,81.4 -1977-05-22,82.9 -1977-05-23,82.4 -1977-05-24,79.2 -1977-05-25,77.4 -1977-05-26,76.8 -1977-05-27,77.9 -1977-05-28,79.1 -1977-05-29,81.7 -1977-05-30,89.9 -1977-05-31,92.0 -1977-06-01,88.9 -1977-06-02,90.9 -1977-06-03,93.0 -1977-06-04,94.2 -1977-06-05,90.2 -1977-06-06,90.6 -1977-06-07,92.0 -1977-06-08,91.9 -1977-06-09,90.9 -1977-06-10,89.2 -1977-06-11,87.2 -1977-06-12,83.3 -1977-06-13,84.2 -1977-06-14,82.3 -1977-06-15,82.3 -1977-06-16,81.4 -1977-06-17,82.4 -1977-06-18,84.3 -1977-06-19,85.2 -1977-06-20,88.9 -1977-06-21,92.4 -1977-06-22,98.8 -1977-06-23,99.4 -1977-06-24,107.4 -1977-06-25,113.8 -1977-06-26,120.7 -1977-06-27,115.9 -1977-06-28,113.4 -1977-06-29,111.9 -1977-06-30,106.9 -1977-07-01,102.0 -1977-07-02,100.7 -1977-07-03,97.4 -1977-07-04,94.0 -1977-07-05,88.0 -1977-07-06,90.2 -1977-07-07,85.2 -1977-07-08,82.1 -1977-07-09,79.0 -1977-07-10,76.9 -1977-07-11,76.2 -1977-07-12,75.8 -1977-07-13,77.8 -1977-07-14,76.8 -1977-07-15,76.0 -1977-07-16,76.9 -1977-07-17,76.5 -1977-07-18,76.9 -1977-07-19,76.9 -1977-07-20,80.1 -1977-07-21,81.7 -1977-07-22,83.1 -1977-07-23,85.0 -1977-07-24,84.0 -1977-07-25,86.0 -1977-07-26,86.0 -1977-07-27,85.4 -1977-07-28,87.5 -1977-07-29,86.7 -1977-07-30,84.1 -1977-07-31,80.4 -1977-08-01,83.0 -1977-08-02,82.8 -1977-08-03,82.3 -1977-08-04,82.9 -1977-08-05,86.4 -1977-08-06,88.2 -1977-08-07,86.9 -1977-08-08,85.1 -1977-08-09,85.9 -1977-08-10,87.2 -1977-08-11,87.6 -1977-08-12,86.5 -1977-08-13,89.0 -1977-08-14,87.5 -1977-08-15,86.9 -1977-08-16,87.3 -1977-08-17,87.1 -1977-08-18,88.6 -1977-08-19,87.0 -1977-08-20,88.7 -1977-08-21,90.8 -1977-08-22,89.6 -1977-08-23,86.0 -1977-08-24,86.0 -1977-08-25,87.7 -1977-08-26,86.4 -1977-08-27,85.4 -1977-08-28,82.4 -1977-08-29,86.1 -1977-08-30,85.5 -1977-08-31,84.7 -1977-09-01,83.1 -1977-09-02,84.2 -1977-09-03,87.2 -1977-09-04,84.2 -1977-09-05,85.6 -1977-09-06,84.9 -1977-09-07,89.3 -1977-09-08,91.6 -1977-09-09,95.9 -1977-09-10,99.8 -1977-09-11,104.6 -1977-09-12,107.8 -1977-09-13,112.9 -1977-09-14,118.2 -1977-09-15,120.7 -1977-09-16,120.4 -1977-09-17,120.6 -1977-09-18,120.5 -1977-09-19,104.5 -1977-09-20,108.8 -1977-09-21,104.9 -1977-09-22,102.4 -1977-09-23,99.3 -1977-09-24,100.6 -1977-09-25,98.8 -1977-09-26,99.4 -1977-09-27,100.0 -1977-09-28,100.0 -1977-09-29,99.4 -1977-09-30,97.7 -1977-10-01,93.8 -1977-10-02,93.2 -1977-10-03,97.4 -1977-10-04,98.8 -1977-10-05,104.0 -1977-10-06,103.5 -1977-10-07,105.5 -1977-10-08,103.8 -1977-10-09,100.7 -1977-10-10,96.4 -1977-10-11,95.3 -1977-10-12,100.8 -1977-10-13,98.5 -1977-10-14,98.9 -1977-10-15,98.2 -1977-10-16,96.8 -1977-10-17,94.9 -1977-10-18,95.4 -1977-10-19,105.0 -1977-10-20,99.6 -1977-10-21,98.6 -1977-10-22,93.9 -1977-10-23,87.3 -1977-10-24,88.3 -1977-10-25,88.1 -1977-10-26,88.6 -1977-10-27,88.5 -1977-10-28,90.3 -1977-10-29,90.3 -1977-10-30,94.9 -1977-10-31,95.9 -1977-11-01,94.4 -1977-11-02,93.6 -1977-11-03,90.4 -1977-11-04,89.4 -1977-11-05,90.6 -1977-11-06,91.1 -1977-11-07,90.2 -1977-11-08,90.3 -1977-11-09,91.1 -1977-11-10,93.1 -1977-11-11,94.9 -1977-11-12,91.4 -1977-11-13,94.0 -1977-11-14,97.9 -1977-11-15,97.9 -1977-11-16,95.9 -1977-11-17,100.4 -1977-11-18,102.0 -1977-11-19,99.2 -1977-11-20,95.7 -1977-11-21,92.8 -1977-11-22,89.3 -1977-11-23,88.0 -1977-11-24,86.7 -1977-11-25,84.7 -1977-11-26,84.1 -1977-11-27,83.8 -1977-11-28,85.6 -1977-11-29,85.6 -1977-11-30,85.3 -1977-12-01,88.4 -1977-12-02,91.2 -1977-12-03,93.7 -1977-12-04,95.9 -1977-12-05,96.9 -1977-12-06,102.0 -1977-12-07,105.5 -1977-12-08,106.7 -1977-12-09,112.6 -1977-12-10,114.7 -1977-12-11,107.4 -1977-12-12,111.0 -1977-12-13,100.6 -1977-12-14,93.7 -1977-12-15,92.5 -1977-12-16,92.5 -1977-12-17,91.1 -1977-12-18,93.6 -1977-12-19,91.0 -1977-12-20,88.7 -1977-12-21,87.8 -1977-12-22,89.9 -1977-12-23,91.2 -1977-12-24,93.9 -1977-12-25,96.3 -1977-12-26,99.3 -1977-12-27,98.3 -1977-12-28,98.9 -1977-12-29,105.6 -1977-12-30,114.7 -1977-12-31,120.2 -1978-01-01,126.9 -1978-01-02,133.9 -1978-01-03,130.2 -1978-01-04,124.8 -1978-01-05,119.2 -1978-01-06,118.7 -1978-01-07,111.6 -1978-01-08,102.8 -1978-01-09,97.0 -1978-01-10,93.5 -1978-01-11,93.1 -1978-01-12,92.1 -1978-01-13,90.3 -1978-01-14,88.6 -1978-01-15,89.6 -1978-01-16,86.4 -1978-01-17,83.8 -1978-01-18,84.7 -1978-01-19,85.4 -1978-01-20,87.0 -1978-01-21,91.4 -1978-01-22,96.9 -1978-01-23,99.6 -1978-01-24,100.4 -1978-01-25,103.3 -1978-01-26,112.7 -1978-01-27,116.4 -1978-01-28,127.7 -1978-01-29,132.2 -1978-01-30,134.9 -1978-01-31,133.3 -1978-02-01,139.1 -1978-02-02,152.6 -1978-02-03,156.6 -1978-02-04,154.0 -1978-02-05,159.0 -1978-02-06,156.1 -1978-02-07,157.3 -1978-02-08,157.0 -1978-02-09,155.2 -1978-02-10,148.7 -1978-02-11,154.2 -1978-02-12,159.0 -1978-02-13,151.2 -1978-02-14,148.4 -1978-02-15,136.8 -1978-02-16,130.2 -1978-02-17,125.9 -1978-02-18,124.9 -1978-02-19,119.1 -1978-02-20,122.2 -1978-02-21,122.2 -1978-02-22,127.7 -1978-02-23,131.8 -1978-02-24,135.6 -1978-02-25,139.3 -1978-02-26,134.8 -1978-02-27,137.5 -1978-02-28,135.4 -1978-03-01,136.3 -1978-03-02,141.1 -1978-03-03,146.6 -1978-03-04,148.4 -1978-03-05,154.5 -1978-03-06,162.8 -1978-03-07,165.2 -1978-03-08,168.7 -1978-03-09,183.7 -1978-03-10,179.1 -1978-03-11,175.2 -1978-03-12,169.8 -1978-03-13,160.9 -1978-03-14,160.5 -1978-03-15,154.2 -1978-03-16,143.3 -1978-03-17,135.4 -1978-03-18,132.3 -1978-03-19,128.1 -1978-03-20,125.3 -1978-03-21,118.2 -1978-03-22,117.0 -1978-03-23,116.4 -1978-03-24,117.5 -1978-03-25,118.2 -1978-03-26,112.5 -1978-03-27,114.1 -1978-03-28,112.7 -1978-03-29,111.1 -1978-03-30,115.4 -1978-03-31,124.5 -1978-04-01,130.0 -1978-04-02,129.8 -1978-04-03,134.5 -1978-04-04,143.3 -1978-04-05,146.7 -1978-04-06,145.3 -1978-04-07,146.9 -1978-04-08,148.6 -1978-04-09,156.1 -1978-04-10,155.4 -1978-04-11,162.8 -1978-04-12,156.2 -1978-04-13,145.6 -1978-04-14,139.1 -1978-04-15,141.4 -1978-04-16,137.6 -1978-04-17,133.4 -1978-04-18,134.1 -1978-04-19,139.5 -1978-04-20,138.1 -1978-04-21,138.4 -1978-04-22,146.4 -1978-04-23,162.9 -1978-04-24,159.8 -1978-04-25,159.1 -1978-04-26,166.7 -1978-04-27,172.8 -1978-04-28,176.6 -1978-04-29,185.2 -1978-04-30,182.1 -1978-05-01,181.4 -1978-05-02,183.0 -1978-05-03,182.2 -1978-05-04,178.4 -1978-05-05,173.9 -1978-05-06,173.1 -1978-05-07,162.6 -1978-05-08,143.4 -1978-05-09,135.1 -1978-05-10,129.5 -1978-05-11,133.8 -1978-05-12,138.2 -1978-05-13,140.2 -1978-05-14,143.7 -1978-05-15,146.1 -1978-05-16,147.8 -1978-05-17,143.8 -1978-05-18,135.6 -1978-05-19,133.6 -1978-05-20,132.3 -1978-05-21,132.7 -1978-05-22,135.7 -1978-05-23,142.9 -1978-05-24,146.5 -1978-05-25,147.6 -1978-05-26,152.8 -1978-05-27,150.6 -1978-05-28,147.1 -1978-05-29,148.6 -1978-05-30,147.2 -1978-05-31,152.6 -1978-06-01,149.1 -1978-06-02,147.0 -1978-06-03,130.8 -1978-06-04,118.6 -1978-06-05,116.9 -1978-06-06,109.8 -1978-06-07,110.6 -1978-06-08,109.3 -1978-06-09,106.5 -1978-06-10,108.4 -1978-06-11,113.2 -1978-06-12,116.4 -1978-06-13,120.3 -1978-06-14,126.4 -1978-06-15,132.5 -1978-06-16,139.5 -1978-06-17,149.0 -1978-06-18,153.5 -1978-06-19,162.0 -1978-06-20,174.2 -1978-06-21,185.4 -1978-06-22,190.3 -1978-06-23,196.7 -1978-06-24,194.8 -1978-06-25,183.5 -1978-06-26,182.4 -1978-06-27,179.5 -1978-06-28,174.1 -1978-06-29,167.4 -1978-06-30,154.6 -1978-07-01,142.9 -1978-07-02,127.6 -1978-07-03,116.5 -1978-07-04,117.4 -1978-07-05,118.9 -1978-07-06,119.3 -1978-07-07,128.9 -1978-07-08,135.9 -1978-07-09,147.1 -1978-07-10,156.0 -1978-07-11,163.2 -1978-07-12,174.2 -1978-07-13,165.5 -1978-07-14,163.1 -1978-07-15,169.5 -1978-07-16,163.4 -1978-07-17,159.5 -1978-07-18,154.1 -1978-07-19,148.6 -1978-07-20,142.9 -1978-07-21,140.2 -1978-07-22,127.0 -1978-07-23,123.4 -1978-07-24,118.5 -1978-07-25,113.7 -1978-07-26,112.2 -1978-07-27,110.8 -1978-07-28,109.9 -1978-07-29,109.2 -1978-07-30,109.2 -1978-07-31,108.8 -1978-08-01,106.0 -1978-08-02,106.0 -1978-08-03,109.6 -1978-08-04,112.3 -1978-08-05,117.6 -1978-08-06,122.6 -1978-08-07,128.2 -1978-08-08,130.6 -1978-08-09,128.1 -1978-08-10,127.5 -1978-08-11,121.7 -1978-08-12,124.5 -1978-08-13,134.9 -1978-08-14,132.7 -1978-08-15,130.0 -1978-08-16,123.6 -1978-08-17,119.3 -1978-08-18,115.6 -1978-08-19,111.6 -1978-08-20,107.5 -1978-08-21,104.8 -1978-08-22,106.0 -1978-08-23,104.1 -1978-08-24,105.4 -1978-08-25,104.2 -1978-08-26,100.7 -1978-08-27,107.3 -1978-08-28,107.7 -1978-08-29,116.2 -1978-08-30,124.1 -1978-08-31,133.9 -1978-09-01,159.8 -1978-09-02,171.7 -1978-09-03,167.0 -1978-09-04,174.4 -1978-09-05,179.4 -1978-09-06,181.1 -1978-09-07,177.5 -1978-09-08,167.1 -1978-09-09,157.6 -1978-09-10,149.8 -1978-09-11,141.5 -1978-09-12,138.5 -1978-09-13,138.0 -1978-09-14,143.5 -1978-09-15,152.6 -1978-09-16,161.5 -1978-09-17,161.8 -1978-09-18,169.3 -1978-09-19,168.8 -1978-09-20,168.6 -1978-09-21,172.5 -1978-09-22,171.5 -1978-09-23,165.5 -1978-09-24,158.9 -1978-09-25,157.2 -1978-09-26,148.5 -1978-09-27,146.2 -1978-09-28,147.8 -1978-09-29,148.1 -1978-09-30,142.6 -1978-10-01,139.0 -1978-10-02,137.8 -1978-10-03,131.7 -1978-10-04,132.0 -1978-10-05,138.7 -1978-10-06,137.4 -1978-10-07,141.6 -1978-10-08,150.1 -1978-10-09,155.8 -1978-10-10,162.3 -1978-10-11,171.6 -1978-10-12,177.2 -1978-10-13,178.5 -1978-10-14,180.1 -1978-10-15,182.0 -1978-10-16,176.7 -1978-10-17,171.5 -1978-10-18,169.4 -1978-10-19,170.4 -1978-10-20,171.0 -1978-10-21,166.9 -1978-10-22,161.4 -1978-10-23,161.4 -1978-10-24,156.9 -1978-10-25,156.1 -1978-10-26,154.4 -1978-10-27,150.7 -1978-10-28,148.4 -1978-10-29,149.8 -1978-10-30,146.5 -1978-10-31,144.0 -1978-11-01,152.0 -1978-11-02,159.0 -1978-11-03,169.9 -1978-11-04,177.4 -1978-11-05,181.2 -1978-11-06,172.2 -1978-11-07,174.6 -1978-11-08,168.0 -1978-11-09,164.9 -1978-11-10,166.3 -1978-11-11,163.7 -1978-11-12,150.4 -1978-11-13,145.3 -1978-11-14,136.3 -1978-11-15,133.8 -1978-11-16,128.8 -1978-11-17,128.1 -1978-11-18,127.4 -1978-11-19,128.9 -1978-11-20,134.9 -1978-11-21,126.0 -1978-11-22,127.1 -1978-11-23,121.9 -1978-11-24,123.5 -1978-11-25,124.7 -1978-11-26,132.7 -1978-11-27,144.4 -1978-11-28,154.1 -1978-11-29,162.2 -1978-11-30,167.8 -1978-12-01,166.6 -1978-12-02,167.6 -1978-12-03,164.2 -1978-12-04,165.3 -1978-12-05,169.5 -1978-12-06,164.5 -1978-12-07,178.5 -1978-12-08,189.9 -1978-12-09,189.6 -1978-12-10,204.7 -1978-12-11,210.5 -1978-12-12,217.3 -1978-12-13,210.6 -1978-12-14,197.0 -1978-12-15,192.7 -1978-12-16,180.5 -1978-12-17,177.7 -1978-12-18,161.5 -1978-12-19,152.9 -1978-12-20,138.1 -1978-12-21,132.1 -1978-12-22,132.7 -1978-12-23,133.4 -1978-12-24,135.2 -1978-12-25,138.0 -1978-12-26,144.2 -1978-12-27,148.7 -1978-12-28,164.1 -1978-12-29,166.2 -1978-12-30,181.7 -1978-12-31,195.1 -1979-01-01,194.1 -1979-01-02,200.1 -1979-01-03,203.5 -1979-01-04,192.7 -1979-01-05,194.9 -1979-01-06,190.9 -1979-01-07,186.2 -1979-01-08,200.1 -1979-01-09,192.6 -1979-01-10,186.2 -1979-01-11,179.5 -1979-01-12,174.5 -1979-01-13,193.9 -1979-01-14,200.0 -1979-01-15,192.1 -1979-01-16,189.9 -1979-01-17,175.7 -1979-01-18,177.6 -1979-01-19,187.8 -1979-01-20,197.2 -1979-01-21,210.3 -1979-01-22,226.9 -1979-01-23,225.1 -1979-01-24,208.5 -1979-01-25,206.1 -1979-01-26,192.9 -1979-01-27,205.4 -1979-01-28,209.6 -1979-01-29,209.3 -1979-01-30,194.1 -1979-01-31,193.7 -1979-02-01,185.8 -1979-02-02,185.6 -1979-02-03,187.4 -1979-02-04,187.7 -1979-02-05,197.4 -1979-02-06,206.5 -1979-02-07,203.4 -1979-02-08,207.2 -1979-02-09,198.7 -1979-02-10,198.4 -1979-02-11,202.2 -1979-02-12,195.4 -1979-02-13,195.4 -1979-02-14,204.2 -1979-02-15,205.0 -1979-02-16,209.2 -1979-02-17,213.1 -1979-02-18,237.7 -1979-02-19,237.8 -1979-02-20,230.1 -1979-02-21,225.1 -1979-02-22,223.3 -1979-02-23,196.0 -1979-02-24,182.8 -1979-02-25,167.5 -1979-02-26,166.0 -1979-02-27,162.7 -1979-02-28,163.6 -1979-03-01,168.5 -1979-03-02,170.7 -1979-03-03,173.3 -1979-03-04,181.4 -1979-03-05,180.1 -1979-03-06,182.4 -1979-03-07,183.1 -1979-03-08,178.9 -1979-03-09,181.4 -1979-03-10,180.6 -1979-03-11,181.7 -1979-03-12,188.7 -1979-03-13,186.3 -1979-03-14,189.4 -1979-03-15,181.3 -1979-03-16,183.5 -1979-03-17,177.7 -1979-03-18,188.6 -1979-03-19,177.6 -1979-03-20,184.1 -1979-03-21,182.2 -1979-03-22,181.1 -1979-03-23,188.5 -1979-03-24,188.3 -1979-03-25,188.2 -1979-03-26,200.2 -1979-03-27,187.9 -1979-03-28,188.6 -1979-03-29,191.4 -1979-03-30,186.6 -1979-03-31,201.4 -1979-04-01,202.6 -1979-04-02,203.4 -1979-04-03,194.2 -1979-04-04,183.5 -1979-04-05,179.3 -1979-04-06,176.3 -1979-04-07,166.7 -1979-04-08,169.0 -1979-04-09,169.6 -1979-04-10,173.0 -1979-04-11,170.0 -1979-04-12,174.5 -1979-04-13,175.8 -1979-04-14,170.9 -1979-04-15,168.1 -1979-04-16,171.7 -1979-04-17,168.0 -1979-04-18,158.7 -1979-04-19,159.4 -1979-04-20,156.1 -1979-04-21,161.5 -1979-04-22,159.7 -1979-04-23,162.3 -1979-04-24,161.9 -1979-04-25,172.5 -1979-04-26,182.0 -1979-04-27,195.1 -1979-04-28,192.1 -1979-04-29,185.7 -1979-04-30,185.2 -1979-05-01,180.4 -1979-05-02,179.2 -1979-05-03,164.3 -1979-05-04,176.0 -1979-05-05,169.6 -1979-05-06,171.1 -1979-05-07,178.0 -1979-05-08,182.4 -1979-05-09,181.3 -1979-05-10,174.7 -1979-05-11,178.6 -1979-05-12,184.2 -1979-05-13,186.6 -1979-05-14,182.0 -1979-05-15,181.9 -1979-05-16,176.4 -1979-05-17,187.7 -1979-05-18,171.3 -1979-05-19,161.5 -1979-05-20,155.6 -1979-05-21,155.7 -1979-05-22,156.5 -1979-05-23,156.0 -1979-05-24,159.2 -1979-05-25,153.3 -1979-05-26,149.1 -1979-05-27,149.4 -1979-05-28,149.2 -1979-05-29,150.2 -1979-05-30,158.4 -1979-05-31,174.9 -1979-06-01,189.5 -1979-06-02,206.8 -1979-06-03,216.1 -1979-06-04,228.8 -1979-06-05,230.2 -1979-06-06,238.1 -1979-06-07,238.1 -1979-06-08,242.7 -1979-06-09,247.4 -1979-06-10,239.9 -1979-06-11,229.6 -1979-06-12,208.3 -1979-06-13,193.7 -1979-06-14,185.7 -1979-06-15,176.0 -1979-06-16,167.5 -1979-06-17,158.1 -1979-06-18,152.6 -1979-06-19,146.2 -1979-06-20,151.5 -1979-06-21,148.9 -1979-06-22,141.1 -1979-06-23,139.0 -1979-06-24,141.2 -1979-06-25,147.8 -1979-06-26,153.7 -1979-06-27,158.5 -1979-06-28,159.1 -1979-06-29,166.9 -1979-06-30,176.7 -1979-07-01,186.3 -1979-07-02,200.9 -1979-07-03,213.4 -1979-07-04,218.1 -1979-07-05,204.5 -1979-07-06,211.3 -1979-07-07,207.2 -1979-07-08,206.7 -1979-07-09,197.9 -1979-07-10,185.9 -1979-07-11,178.6 -1979-07-12,170.1 -1979-07-13,161.4 -1979-07-14,154.7 -1979-07-15,151.1 -1979-07-16,143.6 -1979-07-17,142.7 -1979-07-18,141.2 -1979-07-19,143.6 -1979-07-20,146.6 -1979-07-21,143.7 -1979-07-22,155.7 -1979-07-23,163.1 -1979-07-24,168.6 -1979-07-25,164.5 -1979-07-26,165.6 -1979-07-27,159.1 -1979-07-28,158.1 -1979-07-29,156.7 -1979-07-30,160.3 -1979-07-31,152.4 -1979-08-01,149.1 -1979-08-02,143.9 -1979-08-03,145.1 -1979-08-04,141.7 -1979-08-05,141.6 -1979-08-06,149.5 -1979-08-07,151.1 -1979-08-08,152.7 -1979-08-09,157.3 -1979-08-10,152.1 -1979-08-11,154.4 -1979-08-12,144.8 -1979-08-13,155.8 -1979-08-14,158.2 -1979-08-15,167.6 -1979-08-16,164.8 -1979-08-17,165.8 -1979-08-18,180.0 -1979-08-19,186.4 -1979-08-20,204.2 -1979-08-21,207.6 -1979-08-22,223.2 -1979-08-23,218.6 -1979-08-24,225.2 -1979-08-25,229.3 -1979-08-26,223.3 -1979-08-27,212.8 -1979-08-28,214.2 -1979-08-29,197.6 -1979-08-30,187.8 -1979-08-31,179.9 -1979-09-01,175.8 -1979-09-02,180.1 -1979-09-03,180.8 -1979-09-04,175.3 -1979-09-05,177.1 -1979-09-06,180.4 -1979-09-07,186.3 -1979-09-08,183.6 -1979-09-09,187.4 -1979-09-10,184.6 -1979-09-11,181.5 -1979-09-12,181.7 -1979-09-13,186.1 -1979-09-14,192.6 -1979-09-15,193.8 -1979-09-16,196.3 -1979-09-17,202.7 -1979-09-18,215.7 -1979-09-19,218.1 -1979-09-20,213.9 -1979-09-21,218.4 -1979-09-22,216.5 -1979-09-23,224.2 -1979-09-24,230.7 -1979-09-25,235.5 -1979-09-26,229.9 -1979-09-27,228.7 -1979-09-28,233.8 -1979-09-29,225.0 -1979-09-30,231.9 -1979-10-01,212.8 -1979-10-02,211.5 -1979-10-03,204.7 -1979-10-04,197.7 -1979-10-05,192.8 -1979-10-06,195.5 -1979-10-07,197.0 -1979-10-08,200.3 -1979-10-09,209.5 -1979-10-10,208.7 -1979-10-11,211.8 -1979-10-12,216.4 -1979-10-13,239.1 -1979-10-14,236.4 -1979-10-15,230.7 -1979-10-16,232.3 -1979-10-17,226.0 -1979-10-18,236.8 -1979-10-19,237.3 -1979-10-20,236.7 -1979-10-21,230.1 -1979-10-22,221.9 -1979-10-23,214.9 -1979-10-24,225.6 -1979-10-25,215.2 -1979-10-26,202.9 -1979-10-27,211.2 -1979-10-28,210.0 -1979-10-29,214.8 -1979-10-30,213.7 -1979-10-31,214.9 -1979-11-01,211.6 -1979-11-02,209.5 -1979-11-03,207.5 -1979-11-04,214.2 -1979-11-05,235.5 -1979-11-06,273.2 -1979-11-07,286.9 -1979-11-08,310.1 -1979-11-09,314.4 -1979-11-10,367.0 -1979-11-11,325.7 -1979-11-12,294.4 -1979-11-13,272.7 -1979-11-14,256.4 -1979-11-15,239.7 -1979-11-16,230.6 -1979-11-17,231.8 -1979-11-18,231.9 -1979-11-19,214.8 -1979-11-20,205.9 -1979-11-21,189.8 -1979-11-22,182.5 -1979-11-23,183.2 -1979-11-24,175.2 -1979-11-25,165.8 -1979-11-26,161.6 -1979-11-27,155.7 -1979-11-28,150.1 -1979-11-29,154.0 -1979-11-30,152.2 -1979-12-01,161.9 -1979-12-02,172.0 -1979-12-03,195.1 -1979-12-04,221.0 -1979-12-05,223.4 -1979-12-06,223.4 -1979-12-07,222.6 -1979-12-08,228.9 -1979-12-09,232.4 -1979-12-10,230.3 -1979-12-11,230.6 -1979-12-12,232.3 -1979-12-13,231.7 -1979-12-14,238.3 -1979-12-15,231.8 -1979-12-16,216.3 -1979-12-17,202.2 -1979-12-18,187.4 -1979-12-19,183.0 -1979-12-20,180.8 -1979-12-21,176.7 -1979-12-22,175.3 -1979-12-23,168.6 -1979-12-24,160.2 -1979-12-25,162.0 -1979-12-26,159.7 -1979-12-27,153.6 -1979-12-28,163.1 -1979-12-29,174.0 -1979-12-30,185.5 -1979-12-31,188.9 -1980-01-01,189.1 -1980-01-02,199.9 -1980-01-03,211.9 -1980-01-04,212.4 -1980-01-05,207.7 -1980-01-06,222.1 -1980-01-07,228.0 -1980-01-08,228.1 -1980-01-09,240.9 -1980-01-10,253.0 -1980-01-11,255.7 -1980-01-12,245.1 -1980-01-13,221.6 -1980-01-14,203.8 -1980-01-15,200.0 -1980-01-16,188.6 -1980-01-17,186.9 -1980-01-18,177.5 -1980-01-19,164.4 -1980-01-20,156.5 -1980-01-21,153.4 -1980-01-22,158.2 -1980-01-23,166.7 -1980-01-24,171.1 -1980-01-25,171.3 -1980-01-26,178.8 -1980-01-27,190.6 -1980-01-28,194.0 -1980-01-29,197.0 -1980-01-30,197.9 -1980-01-31,213.9 -1980-02-01,212.6 -1980-02-02,217.9 -1980-02-03,225.7 -1980-02-04,231.7 -1980-02-05,218.9 -1980-02-06,221.7 -1980-02-07,223.9 -1980-02-08,218.7 -1980-02-09,208.2 -1980-02-10,204.6 -1980-02-11,213.7 -1980-02-12,213.7 -1980-02-13,217.9 -1980-02-14,201.0 -1980-02-15,201.2 -1980-02-16,200.2 -1980-02-17,182.8 -1980-02-18,180.0 -1980-02-19,177.3 -1980-02-20,174.7 -1980-02-21,169.6 -1980-02-22,167.3 -1980-02-23,160.1 -1980-02-24,157.2 -1980-02-25,165.7 -1980-02-26,169.0 -1980-02-27,173.2 -1980-02-28,171.7 -1980-02-29,176.7 -1980-03-01,175.7 -1980-03-02,172.9 -1980-03-03,170.2 -1980-03-04,172.7 -1980-03-05,171.8 -1980-03-06,169.4 -1980-03-07,166.3 -1980-03-08,164.9 -1980-03-09,161.3 -1980-03-10,153.9 -1980-03-11,147.8 -1980-03-12,138.6 -1980-03-13,144.6 -1980-03-14,141.2 -1980-03-15,139.3 -1980-03-16,137.3 -1980-03-17,142.9 -1980-03-18,147.4 -1980-03-19,162.3 -1980-03-20,162.1 -1980-03-21,162.4 -1980-03-22,162.5 -1980-03-23,172.4 -1980-03-24,172.4 -1980-03-25,182.5 -1980-03-26,185.2 -1980-03-27,195.3 -1980-03-28,203.5 -1980-03-29,199.9 -1980-03-30,194.3 -1980-03-31,187.2 -1980-04-01,181.9 -1980-04-02,181.1 -1980-04-03,176.1 -1980-04-04,184.3 -1980-04-05,209.7 -1980-04-06,238.4 -1980-04-07,236.1 -1980-04-08,241.7 -1980-04-09,244.7 -1980-04-10,249.0 -1980-04-11,249.9 -1980-04-12,245.6 -1980-04-13,232.8 -1980-04-14,226.3 -1980-04-15,206.1 -1980-04-16,192.4 -1980-04-17,191.9 -1980-04-18,201.4 -1980-04-19,214.5 -1980-04-20,215.8 -1980-04-21,207.7 -1980-04-22,199.2 -1980-04-23,186.2 -1980-04-24,186.3 -1980-04-25,185.9 -1980-04-26,186.6 -1980-04-27,200.6 -1980-04-28,203.7 -1980-04-29,203.5 -1980-04-30,200.9 -1980-05-01,218.5 -1980-05-02,223.0 -1980-05-03,221.2 -1980-05-04,223.1 -1980-05-05,221.9 -1980-05-06,203.5 -1980-05-07,203.4 -1980-05-08,200.2 -1980-05-09,193.6 -1980-05-10,191.1 -1980-05-11,191.4 -1980-05-12,189.5 -1980-05-13,192.9 -1980-05-14,202.9 -1980-05-15,199.8 -1980-05-16,202.9 -1980-05-17,207.5 -1980-05-18,214.3 -1980-05-19,234.2 -1980-05-20,244.7 -1980-05-21,252.6 -1980-05-22,276.6 -1980-05-23,289.5 -1980-05-24,290.2 -1980-05-25,292.8 -1980-05-26,284.2 -1980-05-27,281.2 -1980-05-28,280.8 -1980-05-29,252.3 -1980-05-30,222.7 -1980-05-31,200.6 -1980-06-01,191.2 -1980-06-02,184.0 -1980-06-03,178.8 -1980-06-04,181.5 -1980-06-05,178.4 -1980-06-06,172.4 -1980-06-07,165.7 -1980-06-08,172.4 -1980-06-09,174.3 -1980-06-10,176.1 -1980-06-11,182.9 -1980-06-12,189.3 -1980-06-13,186.5 -1980-06-14,188.8 -1980-06-15,186.4 -1980-06-16,193.3 -1980-06-17,197.4 -1980-06-18,207.6 -1980-06-19,219.8 -1980-06-20,227.9 -1980-06-21,228.0 -1980-06-22,250.0 -1980-06-23,251.5 -1980-06-24,245.9 -1980-06-25,238.8 -1980-06-26,226.3 -1980-06-27,212.6 -1980-06-28,199.7 -1980-06-29,188.8 -1980-06-30,183.4 -1980-07-01,160.0 -1980-07-02,154.9 -1980-07-03,147.7 -1980-07-04,146.7 -1980-07-05,152.5 -1980-07-06,150.1 -1980-07-07,152.5 -1980-07-08,152.8 -1980-07-09,155.2 -1980-07-10,162.3 -1980-07-11,173.3 -1980-07-12,178.0 -1980-07-13,196.8 -1980-07-14,209.7 -1980-07-15,218.4 -1980-07-16,235.4 -1980-07-17,250.2 -1980-07-18,249.8 -1980-07-19,255.2 -1980-07-20,258.0 -1980-07-21,254.0 -1980-07-22,248.7 -1980-07-23,235.1 -1980-07-24,222.2 -1980-07-25,206.4 -1980-07-26,197.4 -1980-07-27,188.4 -1980-07-28,169.5 -1980-07-29,155.3 -1980-07-30,143.3 -1980-07-31,136.5 -1980-08-01,131.9 -1980-08-02,131.8 -1980-08-03,133.2 -1980-08-04,130.9 -1980-08-05,132.6 -1980-08-06,143.2 -1980-08-07,142.3 -1980-08-08,146.4 -1980-08-09,156.5 -1980-08-10,173.5 -1980-08-11,184.1 -1980-08-12,189.6 -1980-08-13,193.3 -1980-08-14,191.7 -1980-08-15,191.9 -1980-08-16,195.7 -1980-08-17,197.7 -1980-08-18,204.3 -1980-08-19,201.4 -1980-08-20,193.0 -1980-08-21,194.1 -1980-08-22,178.3 -1980-08-23,174.1 -1980-08-24,164.3 -1980-08-25,153.8 -1980-08-26,154.6 -1980-08-27,159.3 -1980-08-28,168.3 -1980-08-29,178.5 -1980-08-30,191.4 -1980-08-31,198.7 -1980-09-01,213.2 -1980-09-02,224.5 -1980-09-03,232.1 -1980-09-04,225.1 -1980-09-05,215.6 -1980-09-06,210.9 -1980-09-07,213.0 -1980-09-08,200.9 -1980-09-09,189.7 -1980-09-10,188.7 -1980-09-11,188.1 -1980-09-12,178.9 -1980-09-13,171.9 -1980-09-14,163.4 -1980-09-15,153.8 -1980-09-16,159.6 -1980-09-17,158.0 -1980-09-18,154.4 -1980-09-19,160.1 -1980-09-20,167.5 -1980-09-21,159.6 -1980-09-22,178.6 -1980-09-23,188.7 -1980-09-24,191.3 -1980-09-25,183.8 -1980-09-26,184.3 -1980-09-27,183.2 -1980-09-28,185.2 -1980-09-29,178.2 -1980-09-30,174.1 -1980-10-01,171.1 -1980-10-02,167.9 -1980-10-03,174.1 -1980-10-04,175.2 -1980-10-05,182.6 -1980-10-06,185.3 -1980-10-07,198.7 -1980-10-08,212.1 -1980-10-09,223.4 -1980-10-10,232.7 -1980-10-11,240.7 -1980-10-12,247.8 -1980-10-13,253.3 -1980-10-14,251.1 -1980-10-15,237.0 -1980-10-16,214.9 -1980-10-17,201.1 -1980-10-18,200.6 -1980-10-19,203.3 -1980-10-20,200.5 -1980-10-21,204.2 -1980-10-22,205.3 -1980-10-23,196.1 -1980-10-24,192.5 -1980-10-25,182.9 -1980-10-26,180.3 -1980-10-27,177.2 -1980-10-28,178.2 -1980-10-29,186.4 -1980-10-30,201.8 -1980-10-31,211.5 -1980-11-01,226.3 -1980-11-02,234.2 -1980-11-03,241.6 -1980-11-04,249.9 -1980-11-05,263.3 -1980-11-06,273.9 -1980-11-07,272.7 -1980-11-08,266.2 -1980-11-09,255.4 -1980-11-10,257.2 -1980-11-11,256.0 -1980-11-12,233.2 -1980-11-13,226.8 -1980-11-14,218.8 -1980-11-15,205.2 -1980-11-16,191.1 -1980-11-17,181.6 -1980-11-18,174.9 -1980-11-19,172.4 -1980-11-20,161.6 -1980-11-21,161.8 -1980-11-22,171.4 -1980-11-23,167.2 -1980-11-24,174.9 -1980-11-25,176.4 -1980-11-26,189.6 -1980-11-27,185.3 -1980-11-28,191.4 -1980-11-29,206.1 -1980-11-30,216.3 -1980-12-01,223.0 -1980-12-02,213.3 -1980-12-03,197.9 -1980-12-04,199.4 -1980-12-05,186.4 -1980-12-06,171.0 -1980-12-07,176.4 -1980-12-08,169.3 -1980-12-09,175.1 -1980-12-10,180.5 -1980-12-11,203.5 -1980-12-12,240.5 -1980-12-13,244.2 -1980-12-14,253.2 -1980-12-15,266.2 -1980-12-16,273.0 -1980-12-17,254.8 -1980-12-18,255.1 -1980-12-19,238.5 -1980-12-20,235.9 -1980-12-21,224.8 -1980-12-22,231.2 -1980-12-23,226.0 -1980-12-24,223.6 -1980-12-25,220.7 -1980-12-26,220.1 -1980-12-27,220.3 -1980-12-28,231.5 -1980-12-29,217.2 -1980-12-30,209.9 -1980-12-31,199.0 -1981-01-01,189.7 -1981-01-02,181.4 -1981-01-03,173.1 -1981-01-04,166.8 -1981-01-05,161.8 -1981-01-06,157.4 -1981-01-07,168.6 -1981-01-08,169.2 -1981-01-09,167.0 -1981-01-10,164.6 -1981-01-11,160.5 -1981-01-12,156.6 -1981-01-13,158.1 -1981-01-14,153.9 -1981-01-15,149.8 -1981-01-16,152.5 -1981-01-17,155.3 -1981-01-18,161.0 -1981-01-19,165.4 -1981-01-20,159.9 -1981-01-21,156.6 -1981-01-22,156.4 -1981-01-23,156.8 -1981-01-24,157.3 -1981-01-25,169.2 -1981-01-26,174.6 -1981-01-27,175.8 -1981-01-28,197.2 -1981-01-29,204.2 -1981-01-30,209.1 -1981-01-31,209.1 -1981-02-01,207.3 -1981-02-02,210.1 -1981-02-03,205.4 -1981-02-04,197.5 -1981-02-05,187.8 -1981-02-06,185.4 -1981-02-07,180.5 -1981-02-08,179.1 -1981-02-09,176.7 -1981-02-10,185.2 -1981-02-11,186.4 -1981-02-12,190.6 -1981-02-13,197.8 -1981-02-14,200.3 -1981-02-15,193.5 -1981-02-16,186.9 -1981-02-17,188.1 -1981-02-18,190.2 -1981-02-19,178.8 -1981-02-20,188.3 -1981-02-21,189.9 -1981-02-22,199.5 -1981-02-23,217.9 -1981-02-24,231.5 -1981-02-25,233.8 -1981-02-26,238.5 -1981-02-27,235.4 -1981-02-28,224.9 -1981-03-01,224.4 -1981-03-02,230.6 -1981-03-03,238.9 -1981-03-04,245.6 -1981-03-05,227.3 -1981-03-06,212.7 -1981-03-07,201.4 -1981-03-08,200.6 -1981-03-09,202.9 -1981-03-10,203.1 -1981-03-11,199.7 -1981-03-12,188.8 -1981-03-13,202.1 -1981-03-14,208.9 -1981-03-15,206.3 -1981-03-16,194.9 -1981-03-17,181.5 -1981-03-18,180.0 -1981-03-19,175.1 -1981-03-20,182.7 -1981-03-21,189.5 -1981-03-22,189.4 -1981-03-23,188.0 -1981-03-24,191.4 -1981-03-25,199.3 -1981-03-26,198.6 -1981-03-27,197.6 -1981-03-28,203.7 -1981-03-29,212.4 -1981-03-30,208.2 -1981-03-31,214.0 -1981-04-01,210.8 -1981-04-02,211.2 -1981-04-03,221.2 -1981-04-04,219.7 -1981-04-05,226.2 -1981-04-06,235.7 -1981-04-07,242.3 -1981-04-08,268.8 -1981-04-09,287.7 -1981-04-10,268.8 -1981-04-11,272.1 -1981-04-12,251.9 -1981-04-13,254.9 -1981-04-14,256.5 -1981-04-15,254.9 -1981-04-16,247.5 -1981-04-17,242.7 -1981-04-18,229.2 -1981-04-19,214.9 -1981-04-20,200.9 -1981-04-21,196.1 -1981-04-22,191.5 -1981-04-23,204.9 -1981-04-24,203.0 -1981-04-25,203.8 -1981-04-26,198.8 -1981-04-27,194.7 -1981-04-28,178.2 -1981-04-29,176.9 -1981-04-30,175.3 -1981-05-01,188.0 -1981-05-02,193.4 -1981-05-03,206.5 -1981-05-04,221.2 -1981-05-05,237.5 -1981-05-06,231.2 -1981-05-07,234.2 -1981-05-08,222.4 -1981-05-09,218.6 -1981-05-10,217.7 -1981-05-11,228.1 -1981-05-12,223.4 -1981-05-13,221.3 -1981-05-14,232.5 -1981-05-15,223.9 -1981-05-16,218.9 -1981-05-17,207.6 -1981-05-18,194.4 -1981-05-19,186.6 -1981-05-20,180.0 -1981-05-21,180.4 -1981-05-22,169.3 -1981-05-23,159.6 -1981-05-24,169.8 -1981-05-25,177.2 -1981-05-26,173.8 -1981-05-27,177.0 -1981-05-28,181.3 -1981-05-29,170.6 -1981-05-30,164.6 -1981-05-31,156.1 -1981-06-01,149.6 -1981-06-02,144.3 -1981-06-03,134.9 -1981-06-04,133.8 -1981-06-05,136.0 -1981-06-06,140.6 -1981-06-07,146.7 -1981-06-08,146.7 -1981-06-09,152.8 -1981-06-10,157.1 -1981-06-11,154.8 -1981-06-12,152.0 -1981-06-13,152.6 -1981-06-14,159.1 -1981-06-15,164.7 -1981-06-16,169.1 -1981-06-17,171.2 -1981-06-18,170.1 -1981-06-19,165.9 -1981-06-20,159.8 -1981-06-21,153.6 -1981-06-22,166.1 -1981-06-23,171.2 -1981-06-24,174.6 -1981-06-25,183.6 -1981-06-26,193.9 -1981-06-27,193.4 -1981-06-28,191.6 -1981-06-29,187.5 -1981-06-30,179.0 -1981-07-01,175.4 -1981-07-02,168.9 -1981-07-03,163.3 -1981-07-04,165.9 -1981-07-05,152.5 -1981-07-06,148.7 -1981-07-07,149.8 -1981-07-08,152.4 -1981-07-09,150.0 -1981-07-10,156.5 -1981-07-11,167.4 -1981-07-12,167.7 -1981-07-13,174.2 -1981-07-14,184.2 -1981-07-15,194.5 -1981-07-16,205.3 -1981-07-17,200.8 -1981-07-18,204.7 -1981-07-19,220.3 -1981-07-20,234.7 -1981-07-21,228.1 -1981-07-22,235.9 -1981-07-23,254.7 -1981-07-24,261.6 -1981-07-25,259.7 -1981-07-26,273.1 -1981-07-27,255.8 -1981-07-28,223.6 -1981-07-29,213.3 -1981-07-30,204.2 -1981-07-31,197.6 -1981-08-01,183.9 -1981-08-02,182.6 -1981-08-03,192.4 -1981-08-04,190.6 -1981-08-05,178.8 -1981-08-06,179.6 -1981-08-07,173.0 -1981-08-08,178.4 -1981-08-09,180.5 -1981-08-10,182.0 -1981-08-11,206.4 -1981-08-12,209.0 -1981-08-13,208.7 -1981-08-14,208.2 -1981-08-15,225.1 -1981-08-16,221.8 -1981-08-17,228.7 -1981-08-18,244.1 -1981-08-19,254.6 -1981-08-20,269.8 -1981-08-21,267.1 -1981-08-22,262.2 -1981-08-23,254.8 -1981-08-24,258.9 -1981-08-25,254.8 -1981-08-26,272.9 -1981-08-27,281.6 -1981-08-28,275.3 -1981-08-29,259.1 -1981-08-30,265.1 -1981-08-31,256.0 -1981-09-01,248.3 -1981-09-02,242.8 -1981-09-03,229.0 -1981-09-04,233.4 -1981-09-05,248.7 -1981-09-06,263.2 -1981-09-07,262.5 -1981-09-08,266.3 -1981-09-09,256.5 -1981-09-10,247.6 -1981-09-11,240.8 -1981-09-12,234.2 -1981-09-13,230.2 -1981-09-14,228.7 -1981-09-15,230.4 -1981-09-16,227.5 -1981-09-17,218.2 -1981-09-18,216.5 -1981-09-19,210.5 -1981-09-20,200.1 -1981-09-21,191.2 -1981-09-22,183.0 -1981-09-23,183.8 -1981-09-24,182.2 -1981-09-25,182.0 -1981-09-26,188.8 -1981-09-27,202.8 -1981-09-28,200.9 -1981-09-29,204.5 -1981-09-30,203.8 -1981-10-01,210.6 -1981-10-02,204.8 -1981-10-03,196.5 -1981-10-04,191.1 -1981-10-05,193.6 -1981-10-06,200.3 -1981-10-07,204.1 -1981-10-08,200.7 -1981-10-09,205.4 -1981-10-10,213.4 -1981-10-11,220.0 -1981-10-12,236.8 -1981-10-13,256.2 -1981-10-14,275.6 -1981-10-15,287.1 -1981-10-16,302.4 -1981-10-17,302.9 -1981-10-18,296.5 -1981-10-19,278.6 -1981-10-20,257.8 -1981-10-21,238.2 -1981-10-22,218.6 -1981-10-23,208.2 -1981-10-24,201.1 -1981-10-25,186.0 -1981-10-26,172.0 -1981-10-27,171.2 -1981-10-28,182.4 -1981-10-29,187.5 -1981-10-30,201.5 -1981-10-31,207.1 -1981-11-01,222.5 -1981-11-02,241.3 -1981-11-03,255.3 -1981-11-04,263.1 -1981-11-05,254.1 -1981-11-06,244.6 -1981-11-07,241.4 -1981-11-08,234.7 -1981-11-09,232.6 -1981-11-10,231.0 -1981-11-11,217.0 -1981-11-12,223.5 -1981-11-13,215.9 -1981-11-14,207.4 -1981-11-15,191.2 -1981-11-16,181.2 -1981-11-17,172.7 -1981-11-18,160.8 -1981-11-19,157.0 -1981-11-20,152.0 -1981-11-21,153.9 -1981-11-22,152.7 -1981-11-23,151.9 -1981-11-24,150.4 -1981-11-25,159.1 -1981-11-26,178.3 -1981-11-27,190.3 -1981-11-28,206.4 -1981-11-29,226.5 -1981-11-30,231.6 -1981-12-01,230.7 -1981-12-02,230.3 -1981-12-03,238.6 -1981-12-04,241.7 -1981-12-05,260.0 -1981-12-06,262.1 -1981-12-07,275.6 -1981-12-08,287.8 -1981-12-09,292.4 -1981-12-10,278.7 -1981-12-11,266.7 -1981-12-12,254.2 -1981-12-13,218.9 -1981-12-14,193.0 -1981-12-15,172.6 -1981-12-16,157.4 -1981-12-17,144.2 -1981-12-18,136.3 -1981-12-19,129.7 -1981-12-20,133.9 -1981-12-21,142.2 -1981-12-22,145.9 -1981-12-23,153.0 -1981-12-24,156.1 -1981-12-25,162.1 -1981-12-26,166.2 -1981-12-27,176.8 -1981-12-28,183.0 -1981-12-29,183.6 -1981-12-30,185.7 -1981-12-31,182.8 -1982-01-01,179.9 -1982-01-02,177.2 -1982-01-03,176.1 -1982-01-04,170.4 -1982-01-05,165.5 -1982-01-06,166.8 -1982-01-07,166.9 -1982-01-08,156.9 -1982-01-09,164.4 -1982-01-10,145.7 -1982-01-11,136.3 -1982-01-12,132.4 -1982-01-13,127.5 -1982-01-14,130.5 -1982-01-15,136.3 -1982-01-16,146.7 -1982-01-17,152.6 -1982-01-18,167.6 -1982-01-19,169.4 -1982-01-20,167.0 -1982-01-21,163.3 -1982-01-22,152.9 -1982-01-23,148.0 -1982-01-24,149.1 -1982-01-25,169.3 -1982-01-26,182.7 -1982-01-27,197.2 -1982-01-28,234.7 -1982-01-29,267.0 -1982-01-30,284.5 -1982-01-31,289.1 -1982-02-01,284.8 -1982-02-02,279.7 -1982-02-03,272.9 -1982-02-04,252.8 -1982-02-05,245.2 -1982-02-06,245.2 -1982-02-07,239.9 -1982-02-08,245.1 -1982-02-09,231.7 -1982-02-10,213.7 -1982-02-11,211.1 -1982-02-12,204.0 -1982-02-13,194.9 -1982-02-14,185.3 -1982-02-15,180.3 -1982-02-16,170.5 -1982-02-17,162.5 -1982-02-18,165.7 -1982-02-19,170.9 -1982-02-20,171.3 -1982-02-21,165.2 -1982-02-22,163.7 -1982-02-23,173.1 -1982-02-24,185.9 -1982-02-25,184.1 -1982-02-26,204.0 -1982-02-27,222.1 -1982-02-28,224.0 -1982-03-01,231.3 -1982-03-02,228.3 -1982-03-03,230.1 -1982-03-04,238.3 -1982-03-05,245.4 -1982-03-06,230.0 -1982-03-07,228.3 -1982-03-08,207.1 -1982-03-09,192.2 -1982-03-10,178.9 -1982-03-11,178.2 -1982-03-12,181.2 -1982-03-13,185.5 -1982-03-14,201.3 -1982-03-15,207.6 -1982-03-16,227.7 -1982-03-17,230.4 -1982-03-18,226.8 -1982-03-19,219.7 -1982-03-20,217.0 -1982-03-21,212.4 -1982-03-22,213.7 -1982-03-23,202.4 -1982-03-24,189.0 -1982-03-25,189.9 -1982-03-26,192.8 -1982-03-27,195.4 -1982-03-28,200.6 -1982-03-29,198.0 -1982-03-30,194.5 -1982-03-31,184.1 -1982-04-01,172.2 -1982-04-02,172.0 -1982-04-03,169.9 -1982-04-04,158.2 -1982-04-05,159.9 -1982-04-06,165.2 -1982-04-07,164.0 -1982-04-08,162.1 -1982-04-09,167.3 -1982-04-10,177.1 -1982-04-11,178.7 -1982-04-12,177.5 -1982-04-13,170.9 -1982-04-14,157.9 -1982-04-15,152.2 -1982-04-16,148.2 -1982-04-17,145.9 -1982-04-18,147.0 -1982-04-19,145.1 -1982-04-20,144.2 -1982-04-21,145.2 -1982-04-22,156.9 -1982-04-23,175.2 -1982-04-24,181.0 -1982-04-25,182.6 -1982-04-26,178.3 -1982-04-27,167.3 -1982-04-28,161.0 -1982-04-29,155.6 -1982-04-30,149.8 -1982-05-01,151.7 -1982-05-02,147.4 -1982-05-03,147.7 -1982-05-04,144.7 -1982-05-05,148.7 -1982-05-06,153.0 -1982-05-07,151.0 -1982-05-08,150.8 -1982-05-09,139.8 -1982-05-10,130.7 -1982-05-11,132.3 -1982-05-12,132.3 -1982-05-13,129.8 -1982-05-14,132.2 -1982-05-15,132.1 -1982-05-16,139.0 -1982-05-17,142.2 -1982-05-18,146.8 -1982-05-19,155.9 -1982-05-20,155.6 -1982-05-21,165.4 -1982-05-22,158.8 -1982-05-23,155.7 -1982-05-24,144.8 -1982-05-25,145.7 -1982-05-26,158.0 -1982-05-27,171.5 -1982-05-28,171.3 -1982-05-29,170.9 -1982-05-30,142.8 -1982-05-31,136.7 -1982-06-01,134.2 -1982-06-02,135.1 -1982-06-03,141.5 -1982-06-04,158.2 -1982-06-05,156.6 -1982-06-06,149.6 -1982-06-07,158.6 -1982-06-08,167.3 -1982-06-09,177.4 -1982-06-10,196.0 -1982-06-11,224.2 -1982-06-12,238.3 -1982-06-13,240.2 -1982-06-14,240.8 -1982-06-15,235.8 -1982-06-16,210.6 -1982-06-17,206.0 -1982-06-18,200.7 -1982-06-19,207.5 -1982-06-20,207.1 -1982-06-21,210.7 -1982-06-22,197.2 -1982-06-23,187.3 -1982-06-24,168.2 -1982-06-25,159.1 -1982-06-26,142.3 -1982-06-27,127.6 -1982-06-28,123.1 -1982-06-29,111.7 -1982-06-30,108.5 -1982-07-01,106.5 -1982-07-02,106.9 -1982-07-03,109.4 -1982-07-04,111.5 -1982-07-05,114.1 -1982-07-06,121.3 -1982-07-07,128.2 -1982-07-08,150.3 -1982-07-09,176.6 -1982-07-10,203.5 -1982-07-11,226.4 -1982-07-12,239.7 -1982-07-13,252.6 -1982-07-14,269.2 -1982-07-15,274.0 -1982-07-16,269.4 -1982-07-17,273.3 -1982-07-18,247.2 -1982-07-19,234.7 -1982-07-20,196.5 -1982-07-21,173.7 -1982-07-22,149.5 -1982-07-23,128.5 -1982-07-24,117.8 -1982-07-25,108.2 -1982-07-26,102.1 -1982-07-27,97.8 -1982-07-28,96.4 -1982-07-29,97.5 -1982-07-30,112.4 -1982-07-31,114.4 -1982-08-01,123.4 -1982-08-02,138.2 -1982-08-03,153.5 -1982-08-04,167.3 -1982-08-05,180.9 -1982-08-06,201.2 -1982-08-07,219.6 -1982-08-08,217.5 -1982-08-09,212.5 -1982-08-10,209.5 -1982-08-11,205.0 -1982-08-12,195.2 -1982-08-13,182.9 -1982-08-14,176.8 -1982-08-15,173.0 -1982-08-16,161.4 -1982-08-17,165.1 -1982-08-18,166.4 -1982-08-19,159.2 -1982-08-20,144.7 -1982-08-21,138.6 -1982-08-22,138.8 -1982-08-23,141.2 -1982-08-24,142.9 -1982-08-25,158.5 -1982-08-26,166.4 -1982-08-27,180.4 -1982-08-28,181.4 -1982-08-29,183.4 -1982-08-30,174.5 -1982-08-31,175.0 -1982-09-01,184.3 -1982-09-02,168.7 -1982-09-03,171.0 -1982-09-04,188.1 -1982-09-05,179.4 -1982-09-06,172.1 -1982-09-07,176.8 -1982-09-08,178.5 -1982-09-09,179.2 -1982-09-10,165.6 -1982-09-11,158.3 -1982-09-12,152.5 -1982-09-13,151.3 -1982-09-14,147.4 -1982-09-15,149.0 -1982-09-16,147.3 -1982-09-17,147.0 -1982-09-18,143.2 -1982-09-19,142.6 -1982-09-20,146.9 -1982-09-21,145.4 -1982-09-22,146.2 -1982-09-23,152.6 -1982-09-24,165.4 -1982-09-25,170.3 -1982-09-26,187.3 -1982-09-27,191.4 -1982-09-28,196.9 -1982-09-29,204.6 -1982-09-30,202.4 -1982-10-01,205.2 -1982-10-02,209.4 -1982-10-03,197.0 -1982-10-04,182.3 -1982-10-05,163.9 -1982-10-06,151.9 -1982-10-07,140.2 -1982-10-08,136.9 -1982-10-09,137.4 -1982-10-10,134.8 -1982-10-11,137.3 -1982-10-12,136.4 -1982-10-13,143.9 -1982-10-14,140.4 -1982-10-15,134.1 -1982-10-16,129.8 -1982-10-17,130.1 -1982-10-18,132.8 -1982-10-19,136.7 -1982-10-20,146.2 -1982-10-21,161.4 -1982-10-22,168.2 -1982-10-23,177.3 -1982-10-24,190.9 -1982-10-25,196.8 -1982-10-26,193.5 -1982-10-27,187.7 -1982-10-28,181.4 -1982-10-29,170.9 -1982-10-30,166.7 -1982-10-31,165.1 -1982-11-01,159.6 -1982-11-02,154.5 -1982-11-03,147.4 -1982-11-04,143.4 -1982-11-05,136.4 -1982-11-06,142.1 -1982-11-07,142.3 -1982-11-08,144.8 -1982-11-09,147.5 -1982-11-10,152.9 -1982-11-11,154.1 -1982-11-12,164.9 -1982-11-13,161.2 -1982-11-14,159.5 -1982-11-15,157.0 -1982-11-16,163.3 -1982-11-17,158.0 -1982-11-18,170.2 -1982-11-19,182.3 -1982-11-20,189.2 -1982-11-21,200.9 -1982-11-22,231.1 -1982-11-23,196.1 -1982-11-24,172.9 -1982-11-25,164.8 -1982-11-26,168.8 -1982-11-27,158.6 -1982-11-28,160.3 -1982-11-29,161.4 -1982-11-30,164.8 -1982-12-01,167.8 -1982-12-02,166.3 -1982-12-03,181.6 -1982-12-04,194.5 -1982-12-05,195.9 -1982-12-06,210.4 -1982-12-07,244.3 -1982-12-08,241.7 -1982-12-09,258.6 -1982-12-10,273.5 -1982-12-11,259.3 -1982-12-12,251.1 -1982-12-13,239.0 -1982-12-14,235.6 -1982-12-15,221.9 -1982-12-16,213.2 -1982-12-17,200.5 -1982-12-18,186.5 -1982-12-19,176.8 -1982-12-20,159.2 -1982-12-21,149.4 -1982-12-22,150.1 -1982-12-23,157.0 -1982-12-24,166.8 -1982-12-25,170.6 -1982-12-26,168.7 -1982-12-27,166.2 -1982-12-28,157.0 -1982-12-29,147.3 -1982-12-30,142.5 -1982-12-31,134.4 -1983-01-01,131.4 -1983-01-02,131.4 -1983-01-03,136.2 -1983-01-04,138.2 -1983-01-05,154.6 -1983-01-06,161.6 -1983-01-07,163.3 -1983-01-08,155.9 -1983-01-09,150.0 -1983-01-10,144.2 -1983-01-11,139.3 -1983-01-12,135.7 -1983-01-13,135.1 -1983-01-14,137.2 -1983-01-15,141.0 -1983-01-16,140.2 -1983-01-17,138.0 -1983-01-18,134.8 -1983-01-19,127.4 -1983-01-20,120.5 -1983-01-21,116.1 -1983-01-22,113.5 -1983-01-23,115.4 -1983-01-24,114.1 -1983-01-25,122.7 -1983-01-26,132.6 -1983-01-27,133.6 -1983-01-28,140.6 -1983-01-29,148.9 -1983-01-30,154.8 -1983-01-31,161.9 -1983-02-01,162.6 -1983-02-02,156.5 -1983-02-03,145.5 -1983-02-04,156.8 -1983-02-05,154.3 -1983-02-06,152.3 -1983-02-07,142.2 -1983-02-08,133.3 -1983-02-09,121.9 -1983-02-10,113.4 -1983-02-11,106.9 -1983-02-12,99.8 -1983-02-13,95.5 -1983-02-14,91.7 -1983-02-15,88.5 -1983-02-16,89.7 -1983-02-17,91.9 -1983-02-18,97.2 -1983-02-19,94.6 -1983-02-20,97.3 -1983-02-21,101.6 -1983-02-22,106.2 -1983-02-23,112.0 -1983-02-24,114.3 -1983-02-25,120.3 -1983-02-26,126.2 -1983-02-27,138.3 -1983-02-28,137.6 -1983-03-01,145.4 -1983-03-02,138.7 -1983-03-03,141.0 -1983-03-04,143.7 -1983-03-05,146.6 -1983-03-06,139.3 -1983-03-07,132.3 -1983-03-08,128.1 -1983-03-09,122.0 -1983-03-10,115.1 -1983-03-11,103.0 -1983-03-12,99.5 -1983-03-13,95.8 -1983-03-14,95.9 -1983-03-15,100.6 -1983-03-16,107.8 -1983-03-17,114.5 -1983-03-18,117.7 -1983-03-19,118.3 -1983-03-20,120.7 -1983-03-21,118.8 -1983-03-22,117.2 -1983-03-23,116.2 -1983-03-24,117.1 -1983-03-25,114.2 -1983-03-26,114.7 -1983-03-27,109.6 -1983-03-28,104.9 -1983-03-29,98.9 -1983-03-30,100.7 -1983-03-31,98.7 -1983-04-01,100.7 -1983-04-02,101.2 -1983-04-03,101.4 -1983-04-04,100.8 -1983-04-05,98.7 -1983-04-06,99.5 -1983-04-07,102.2 -1983-04-08,104.1 -1983-04-09,106.1 -1983-04-10,103.3 -1983-04-11,104.4 -1983-04-12,107.7 -1983-04-13,109.1 -1983-04-14,111.7 -1983-04-15,103.6 -1983-04-16,105.1 -1983-04-17,113.5 -1983-04-18,120.7 -1983-04-19,125.0 -1983-04-20,127.4 -1983-04-21,133.3 -1983-04-22,139.7 -1983-04-23,140.4 -1983-04-24,142.7 -1983-04-25,145.6 -1983-04-26,146.8 -1983-04-27,149.6 -1983-04-28,156.4 -1983-04-29,148.4 -1983-04-30,147.2 -1983-05-01,142.0 -1983-05-02,145.4 -1983-05-03,139.4 -1983-05-04,132.9 -1983-05-05,130.8 -1983-05-06,125.8 -1983-05-07,117.4 -1983-05-08,127.0 -1983-05-09,132.2 -1983-05-10,143.5 -1983-05-11,159.3 -1983-05-12,160.4 -1983-05-13,154.4 -1983-05-14,153.5 -1983-05-15,145.7 -1983-05-16,134.0 -1983-05-17,131.7 -1983-05-18,137.6 -1983-05-19,146.8 -1983-05-20,151.8 -1983-05-21,149.8 -1983-05-22,152.0 -1983-05-23,143.7 -1983-05-24,140.5 -1983-05-25,138.8 -1983-05-26,132.3 -1983-05-27,130.5 -1983-05-28,133.1 -1983-05-29,139.0 -1983-05-30,135.4 -1983-05-31,138.0 -1983-06-01,131.3 -1983-06-02,139.0 -1983-06-03,139.3 -1983-06-04,149.2 -1983-06-05,167.9 -1983-06-06,191.4 -1983-06-07,179.5 -1983-06-08,173.7 -1983-06-09,159.5 -1983-06-10,150.5 -1983-06-11,139.2 -1983-06-12,134.5 -1983-06-13,128.3 -1983-06-14,126.4 -1983-06-15,128.7 -1983-06-16,128.8 -1983-06-17,130.7 -1983-06-18,130.5 -1983-06-19,133.8 -1983-06-20,136.9 -1983-06-21,144.0 -1983-06-22,148.9 -1983-06-23,149.8 -1983-06-24,141.7 -1983-06-25,141.4 -1983-06-26,144.1 -1983-06-27,137.1 -1983-06-28,129.4 -1983-06-29,128.9 -1983-06-30,126.8 -1983-07-01,124.1 -1983-07-02,125.4 -1983-07-03,131.5 -1983-07-04,137.2 -1983-07-05,132.1 -1983-07-06,132.4 -1983-07-07,132.7 -1983-07-08,127.9 -1983-07-09,123.1 -1983-07-10,123.1 -1983-07-11,125.7 -1983-07-12,124.7 -1983-07-13,123.5 -1983-07-14,124.4 -1983-07-15,124.6 -1983-07-16,121.3 -1983-07-17,120.0 -1983-07-18,116.4 -1983-07-19,119.5 -1983-07-20,125.1 -1983-07-21,128.1 -1983-07-22,138.9 -1983-07-23,132.9 -1983-07-24,136.3 -1983-07-25,136.7 -1983-07-26,128.9 -1983-07-27,123.1 -1983-07-28,127.1 -1983-07-29,138.5 -1983-07-30,144.3 -1983-07-31,153.1 -1983-08-01,151.1 -1983-08-02,145.4 -1983-08-03,139.4 -1983-08-04,136.5 -1983-08-05,136.5 -1983-08-06,142.0 -1983-08-07,141.9 -1983-08-08,141.0 -1983-08-09,142.9 -1983-08-10,151.6 -1983-08-11,151.3 -1983-08-12,156.7 -1983-08-13,147.3 -1983-08-14,141.6 -1983-08-15,135.8 -1983-08-16,132.1 -1983-08-17,126.8 -1983-08-18,122.2 -1983-08-19,117.7 -1983-08-20,118.7 -1983-08-21,114.2 -1983-08-22,110.8 -1983-08-23,110.8 -1983-08-24,108.7 -1983-08-25,104.2 -1983-08-26,105.8 -1983-08-27,103.7 -1983-08-28,102.8 -1983-08-29,105.7 -1983-08-30,104.0 -1983-08-31,104.2 -1983-09-01,110.5 -1983-09-02,110.9 -1983-09-03,106.4 -1983-09-04,110.5 -1983-09-05,117.6 -1983-09-06,120.7 -1983-09-07,118.6 -1983-09-08,118.5 -1983-09-09,115.3 -1983-09-10,109.7 -1983-09-11,110.5 -1983-09-12,104.9 -1983-09-13,104.4 -1983-09-14,105.3 -1983-09-15,106.3 -1983-09-16,106.3 -1983-09-17,105.1 -1983-09-18,102.5 -1983-09-19,101.2 -1983-09-20,100.4 -1983-09-21,103.0 -1983-09-22,106.0 -1983-09-23,112.6 -1983-09-24,111.8 -1983-09-25,110.5 -1983-09-26,114.6 -1983-09-27,119.8 -1983-09-28,114.8 -1983-09-29,114.5 -1983-09-30,113.0 -1983-10-01,117.5 -1983-10-02,120.4 -1983-10-03,123.1 -1983-10-04,125.1 -1983-10-05,126.6 -1983-10-06,132.7 -1983-10-07,133.9 -1983-10-08,131.1 -1983-10-09,130.4 -1983-10-10,133.6 -1983-10-11,138.3 -1983-10-12,133.7 -1983-10-13,133.5 -1983-10-14,131.5 -1983-10-15,127.0 -1983-10-16,117.2 -1983-10-17,110.9 -1983-10-18,103.6 -1983-10-19,105.2 -1983-10-20,99.1 -1983-10-21,89.3 -1983-10-22,87.2 -1983-10-23,87.8 -1983-10-24,88.6 -1983-10-25,89.2 -1983-10-26,89.1 -1983-10-27,88.9 -1983-10-28,90.4 -1983-10-29,90.7 -1983-10-30,92.6 -1983-10-31,96.2 -1983-11-01,98.3 -1983-11-02,97.6 -1983-11-03,96.9 -1983-11-04,103.1 -1983-11-05,105.1 -1983-11-06, -1983-11-07,108.5 -1983-11-08,103.5 -1983-11-09,99.2 -1983-11-10,100.8 -1983-11-11,96.7 -1983-11-12,89.6 -1983-11-13,91.9 -1983-11-14,91.0 -1983-11-15,90.9 -1983-11-16,90.6 -1983-11-17,85.6 -1983-11-18,84.4 -1983-11-19,82.3 -1983-11-20,80.3 -1983-11-21,79.3 -1983-11-22,80.1 -1983-11-23,78.2 -1983-11-24,78.8 -1983-11-25,79.2 -1983-11-26,80.4 -1983-11-27,84.4 -1983-11-28,86.6 -1983-11-29,89.4 -1983-11-30,90.0 -1983-12-01,90.5 -1983-12-02,88.9 -1983-12-03,88.5 -1983-12-04,91.9 -1983-12-05,92.0 -1983-12-06,97.1 -1983-12-07,98.6 -1983-12-08,98.3 -1983-12-09,108.2 -1983-12-10,108.0 -1983-12-11,101.7 -1983-12-12,101.1 -1983-12-13,100.8 -1983-12-14,96.5 -1983-12-15,92.2 -1983-12-16,93.5 -1983-12-17,92.0 -1983-12-18,90.1 -1983-12-19,86.2 -1983-12-20,83.6 -1983-12-21,82.3 -1983-12-22,82.9 -1983-12-23,83.0 -1983-12-24,83.1 -1983-12-25,82.4 -1983-12-26,82.9 -1983-12-27,83.5 -1983-12-28,80.7 -1983-12-29,81.1 -1983-12-30,81.3 -1983-12-31,83.8 -1984-01-01,84.3 -1984-01-02,87.4 -1984-01-03,89.5 -1984-01-04,91.0 -1984-01-05,88.2 -1984-01-06,85.6 -1984-01-07,86.5 -1984-01-08,92.3 -1984-01-09,94.4 -1984-01-10,95.2 -1984-01-11,96.8 -1984-01-12,101.1 -1984-01-13,102.1 -1984-01-14,99.2 -1984-01-15,97.8 -1984-01-16,96.6 -1984-01-17,95.2 -1984-01-18,95.0 -1984-01-19,93.4 -1984-01-20,102.2 -1984-01-21,103.3 -1984-01-22,110.5 -1984-01-23,113.3 -1984-01-24,126.4 -1984-01-25,146.8 -1984-01-26,164.8 -1984-01-27,172.3 -1984-01-28,168.9 -1984-01-29,174.6 -1984-01-30,161.5 -1984-01-31,169.3 -1984-02-01,154.6 -1984-02-02,142.0 -1984-02-03,131.4 -1984-02-04,126.0 -1984-02-05,114.2 -1984-02-06,111.8 -1984-02-07,113.6 -1984-02-08,127.2 -1984-02-09,139.9 -1984-02-10,136.7 -1984-02-11,141.1 -1984-02-12,135.8 -1984-02-13,128.4 -1984-02-14,120.3 -1984-02-15,113.4 -1984-02-16,114.5 -1984-02-17,116.5 -1984-02-18,122.2 -1984-02-19,128.4 -1984-02-20,134.6 -1984-02-21,143.8 -1984-02-22,158.0 -1984-02-23,166.1 -1984-02-24,172.9 -1984-02-25,169.4 -1984-02-26,164.2 -1984-02-27,154.3 -1984-02-28,148.8 -1984-02-29,148.1 -1984-03-01,143.6 -1984-03-02,138.2 -1984-03-03,122.5 -1984-03-04,114.4 -1984-03-05,109.3 -1984-03-06,109.5 -1984-03-07,105.0 -1984-03-08,103.8 -1984-03-09,102.4 -1984-03-10,98.8 -1984-03-11,98.6 -1984-03-12,102.3 -1984-03-13,114.7 -1984-03-14,121.1 -1984-03-15,134.4 -1984-03-16,124.0 -1984-03-17,129.1 -1984-03-18,125.8 -1984-03-19,126.5 -1984-03-20,126.3 -1984-03-21,122.4 -1984-03-22,122.7 -1984-03-23,115.1 -1984-03-24,113.0 -1984-03-25,111.6 -1984-03-26,120.2 -1984-03-27,129.1 -1984-03-28,135.9 -1984-03-29,138.1 -1984-03-30,143.8 -1984-03-31,143.7 -1984-04-01,135.7 -1984-04-02,134.6 -1984-04-03,128.8 -1984-04-04,129.5 -1984-04-05,118.7 -1984-04-06,112.1 -1984-04-07,107.8 -1984-04-08,100.7 -1984-04-09,94.9 -1984-04-10,93.9 -1984-04-11,97.3 -1984-04-12,107.2 -1984-04-13,113.7 -1984-04-14,118.8 -1984-04-15,119.7 -1984-04-16,117.2 -1984-04-17,122.9 -1984-04-18,119.9 -1984-04-19,112.5 -1984-04-20,124.1 -1984-04-21,127.7 -1984-04-22,130.8 -1984-04-23,136.6 -1984-04-24,142.9 -1984-04-25,152.4 -1984-04-26,174.0 -1984-04-27,183.7 -1984-04-28,182.6 -1984-04-29,178.2 -1984-04-30,170.8 -1984-05-01,153.7 -1984-05-02,139.3 -1984-05-03,123.1 -1984-05-04,113.5 -1984-05-05,114.9 -1984-05-06,108.1 -1984-05-07,118.3 -1984-05-08,121.9 -1984-05-09,138.3 -1984-05-10,150.9 -1984-05-11,147.9 -1984-05-12,148.2 -1984-05-13,151.4 -1984-05-14,146.9 -1984-05-15,139.6 -1984-05-16,137.3 -1984-05-17,130.1 -1984-05-18,131.9 -1984-05-19,137.6 -1984-05-20,138.0 -1984-05-21,145.3 -1984-05-22,130.1 -1984-05-23,130.0 -1984-05-24,126.9 -1984-05-25,125.7 -1984-05-26,121.0 -1984-05-27,120.3 -1984-05-28,118.5 -1984-05-29,121.0 -1984-05-30,119.7 -1984-05-31,115.9 -1984-06-01,116.1 -1984-06-02,111.3 -1984-06-03,109.6 -1984-06-04,106.8 -1984-06-05,104.6 -1984-06-06,98.9 -1984-06-07,97.3 -1984-06-08,94.6 -1984-06-09,93.6 -1984-06-10,92.3 -1984-06-11,93.2 -1984-06-12,93.0 -1984-06-13,98.6 -1984-06-14,110.2 -1984-06-15,116.5 -1984-06-16,110.3 -1984-06-17,109.5 -1984-06-18,108.9 -1984-06-19,107.8 -1984-06-20,106.6 -1984-06-21,103.4 -1984-06-22,104.6 -1984-06-23,105.3 -1984-06-24,103.6 -1984-06-25,104.6 -1984-06-26,100.1 -1984-06-27,101.5 -1984-06-28,99.5 -1984-06-29,100.3 -1984-06-30,101.1 -1984-07-01,101.7 -1984-07-02,103.6 -1984-07-03,104.8 -1984-07-04,105.7 -1984-07-05,104.4 -1984-07-06,100.3 -1984-07-07,100.1 -1984-07-08,101.1 -1984-07-09,104.5 -1984-07-10,101.3 -1984-07-11,96.8 -1984-07-12,94.7 -1984-07-13,92.6 -1984-07-14,92.2 -1984-07-15,92.2 -1984-07-16,90.1 -1984-07-17,87.3 -1984-07-18,85.5 -1984-07-19,84.7 -1984-07-20,84.8 -1984-07-21,86.7 -1984-07-22,86.3 -1984-07-23,87.3 -1984-07-24,86.8 -1984-07-25,85.9 -1984-07-26,83.4 -1984-07-27,83.0 -1984-07-28,82.5 -1984-07-29,82.3 -1984-07-30,82.2 -1984-07-31,83.0 -1984-08-01,84.0 -1984-08-02,86.3 -1984-08-03,88.4 -1984-08-04,85.7 -1984-08-05,85.7 -1984-08-06,89.9 -1984-08-07,92.4 -1984-08-08,94.0 -1984-08-09,94.4 -1984-08-10,95.4 -1984-08-11,90.8 -1984-08-12,88.0 -1984-08-13,86.5 -1984-08-14,84.0 -1984-08-15,82.6 -1984-08-16,83.1 -1984-08-17,81.0 -1984-08-18,79.1 -1984-08-19,76.2 -1984-08-20,75.6 -1984-08-21,77.2 -1984-08-22,75.7 -1984-08-23,76.0 -1984-08-24,81.6 -1984-08-25,83.0 -1984-08-26,87.7 -1984-08-27,90.4 -1984-08-28,88.6 -1984-08-29,90.3 -1984-08-30,91.8 -1984-08-31,93.1 -1984-09-01,94.1 -1984-09-02,93.2 -1984-09-03,94.5 -1984-09-04,91.9 -1984-09-05,89.8 -1984-09-06,85.9 -1984-09-07,85.2 -1984-09-08,83.4 -1984-09-09,80.6 -1984-09-10,79.1 -1984-09-11,77.8 -1984-09-12,76.5 -1984-09-13,75.0 -1984-09-14,74.5 -1984-09-15,73.3 -1984-09-16,73.4 -1984-09-17,74.6 -1984-09-18,73.8 -1984-09-19,74.6 -1984-09-20,74.1 -1984-09-21,75.1 -1984-09-22,75.9 -1984-09-23,76.1 -1984-09-24,76.2 -1984-09-25,74.6 -1984-09-26,74.3 -1984-09-27,73.5 -1984-09-28,73.1 -1984-09-29,71.7 -1984-09-30,72.4 -1984-10-01,72.0 -1984-10-02,74.8 -1984-10-03,75.2 -1984-10-04,75.2 -1984-10-05,74.0 -1984-10-06,73.2 -1984-10-07,73.5 -1984-10-08,74.6 -1984-10-09,73.5 -1984-10-10,74.1 -1984-10-11,74.3 -1984-10-12,73.9 -1984-10-13,74.7 -1984-10-14,73.2 -1984-10-15,76.4 -1984-10-16,76.6 -1984-10-17,76.2 -1984-10-18,76.5 -1984-10-19,74.2 -1984-10-20,73.5 -1984-10-21,73.2 -1984-10-22,74.5 -1984-10-23,72.7 -1984-10-24,70.8 -1984-10-25,70.2 -1984-10-26,69.4 -1984-10-27,68.6 -1984-10-28,69.3 -1984-10-29,68.2 -1984-10-30,68.8 -1984-10-31,69.8 -1984-11-01,69.5 -1984-11-02,70.1 -1984-11-03,72.0 -1984-11-04,72.2 -1984-11-05,71.7 -1984-11-06,71.0 -1984-11-07,70.1 -1984-11-08,70.5 -1984-11-09,72.7 -1984-11-10,75.8 -1984-11-11,73.1 -1984-11-12,72.8 -1984-11-13,71.6 -1984-11-14,72.0 -1984-11-15,72.9 -1984-11-16,70.7 -1984-11-17,71.0 -1984-11-18,71.7 -1984-11-19,72.3 -1984-11-20,74.8 -1984-11-21,78.3 -1984-11-22,78.2 -1984-11-23,79.3 -1984-11-24,81.1 -1984-11-25,83.1 -1984-11-26,82.5 -1984-11-27,82.5 -1984-11-28,81.1 -1984-11-29,77.1 -1984-11-30,76.4 -1984-12-01,77.0 -1984-12-02,76.8 -1984-12-03,77.9 -1984-12-04,75.9 -1984-12-05,73.4 -1984-12-06,73.0 -1984-12-07,72.8 -1984-12-08,74.1 -1984-12-09,74.5 -1984-12-10,75.7 -1984-12-11,78.9 -1984-12-12,77.8 -1984-12-13,76.2 -1984-12-14,75.8 -1984-12-15,74.9 -1984-12-16,74.2 -1984-12-17,72.6 -1984-12-18,70.2 -1984-12-19,71.0 -1984-12-20,69.9 -1984-12-21,69.7 -1984-12-22,70.7 -1984-12-23,71.3 -1984-12-24,71.8 -1984-12-25,72.2 -1984-12-26,72.3 -1984-12-27,72.0 -1984-12-28,72.2 -1984-12-29,72.1 -1984-12-30,71.4 -1984-12-31,70.0 -1985-01-01,68.4 -1985-01-02,67.8 -1985-01-03,67.7 -1985-01-04,67.8 -1985-01-05,67.0 -1985-01-06,67.9 -1985-01-07,68.1 -1985-01-08,67.4 -1985-01-09,68.1 -1985-01-10,67.4 -1985-01-11,67.7 -1985-01-12,68.4 -1985-01-13,72.6 -1985-01-14,72.3 -1985-01-15,72.4 -1985-01-16,74.7 -1985-01-17,75.8 -1985-01-18,74.1 -1985-01-19,75.4 -1985-01-20,81.7 -1985-01-21,84.9 -1985-01-22,85.3 -1985-01-23,82.5 -1985-01-24,78.2 -1985-01-25,73.9 -1985-01-26,71.0 -1985-01-27,69.5 -1985-01-28,69.6 -1985-01-29,68.7 -1985-01-30,68.3 -1985-01-31,69.9 -1985-02-01,72.2 -1985-02-02,73.8 -1985-02-03,73.6 -1985-02-04,70.9 -1985-02-05,71.2 -1985-02-06,70.6 -1985-02-07,70.3 -1985-02-08,72.5 -1985-02-09,73.2 -1985-02-10,73.6 -1985-02-11,73.2 -1985-02-12,72.3 -1985-02-13,70.8 -1985-02-14,70.6 -1985-02-15,70.2 -1985-02-16,69.8 -1985-02-17,70.9 -1985-02-18,73.4 -1985-02-19,76.1 -1985-02-20,75.0 -1985-02-21,74.2 -1985-02-22,73.3 -1985-02-23,71.7 -1985-02-24,70.5 -1985-02-25,70.1 -1985-02-26,69.7 -1985-02-27,68.9 -1985-02-28,69.7 -1985-03-01,69.3 -1985-03-02,69.1 -1985-03-03,69.0 -1985-03-04,68.6 -1985-03-05,67.5 -1985-03-06,68.1 -1985-03-07,68.0 -1985-03-08,68.7 -1985-03-09,68.7 -1985-03-10,68.0 -1985-03-11,69.6 -1985-03-12,69.3 -1985-03-13,69.5 -1985-03-14,69.5 -1985-03-15,69.6 -1985-03-16,70.1 -1985-03-17,72.1 -1985-03-18,74.6 -1985-03-19,74.2 -1985-03-20,74.2 -1985-03-21,76.1 -1985-03-22,75.9 -1985-03-23,77.3 -1985-03-24,79.6 -1985-03-25,78.5 -1985-03-26,79.7 -1985-03-27,77.4 -1985-03-28,77.7 -1985-03-29,76.7 -1985-03-30,75.8 -1985-03-31,76.4 -1985-04-01,72.2 -1985-04-02,72.6 -1985-04-03,72.5 -1985-04-04,71.9 -1985-04-05,71.2 -1985-04-06,70.5 -1985-04-07,70.3 -1985-04-08,69.9 -1985-04-09,69.4 -1985-04-10,69.7 -1985-04-11,69.0 -1985-04-12,69.6 -1985-04-13,69.8 -1985-04-14,70.6 -1985-04-15,70.0 -1985-04-16,69.4 -1985-04-17,70.2 -1985-04-18,71.7 -1985-04-19,71.7 -1985-04-20,72.3 -1985-04-21,77.9 -1985-04-22,89.8 -1985-04-23,93.3 -1985-04-24,89.0 -1985-04-25,95.2 -1985-04-26,88.3 -1985-04-27,80.6 -1985-04-28,78.1 -1985-04-29,83.2 -1985-04-30,80.8 -1985-05-01,80.6 -1985-05-02,76.5 -1985-05-03,72.6 -1985-05-04,70.8 -1985-05-05,71.4 -1985-05-06,75.0 -1985-05-07,79.1 -1985-05-08,83.7 -1985-05-09,89.6 -1985-05-10,91.7 -1985-05-11,89.9 -1985-05-12,92.1 -1985-05-13,91.9 -1985-05-14,90.7 -1985-05-15,92.0 -1985-05-16,95.5 -1985-05-17,92.3 -1985-05-18,92.7 -1985-05-19,89.6 -1985-05-20,86.7 -1985-05-21,84.4 -1985-05-22,82.7 -1985-05-23,80.0 -1985-05-24,78.3 -1985-05-25,77.2 -1985-05-26,75.5 -1985-05-27,74.6 -1985-05-28,72.7 -1985-05-29,72.5 -1985-05-30,71.4 -1985-05-31,69.6 -1985-06-01,69.5 -1985-06-02,72.4 -1985-06-03,74.6 -1985-06-04,77.5 -1985-06-05,84.3 -1985-06-06,87.4 -1985-06-07,88.4 -1985-06-08,88.9 -1985-06-09,89.8 -1985-06-10,91.7 -1985-06-11,91.2 -1985-06-12,89.8 -1985-06-13,89.2 -1985-06-14,85.3 -1985-06-15,83.8 -1985-06-16,80.9 -1985-06-17,77.3 -1985-06-18,73.8 -1985-06-19,72.2 -1985-06-20,71.9 -1985-06-21,71.5 -1985-06-22,71.6 -1985-06-23,71.8 -1985-06-24,70.8 -1985-06-25,71.0 -1985-06-26,70.0 -1985-06-27,70.2 -1985-06-28,71.0 -1985-06-29,72.3 -1985-06-30,74.8 -1985-07-01,76.9 -1985-07-02,79.1 -1985-07-03,81.3 -1985-07-04,80.4 -1985-07-05,83.3 -1985-07-06,87.5 -1985-07-07,97.7 -1985-07-08,96.7 -1985-07-09,100.9 -1985-07-10,104.6 -1985-07-11,97.3 -1985-07-12,92.9 -1985-07-13,85.5 -1985-07-14,76.4 -1985-07-15,73.0 -1985-07-16,71.9 -1985-07-17,71.9 -1985-07-18,71.8 -1985-07-19,71.7 -1985-07-20,71.7 -1985-07-21,71.2 -1985-07-22,71.0 -1985-07-23,71.1 -1985-07-24,71.0 -1985-07-25,75.6 -1985-07-26,77.4 -1985-07-27,79.2 -1985-07-28,81.2 -1985-07-29,83.5 -1985-07-30,83.8 -1985-07-31,82.4 -1985-08-01,80.5 -1985-08-02,80.4 -1985-08-03,79.2 -1985-08-04,79.3 -1985-08-05,78.5 -1985-08-06,77.9 -1985-08-07,79.5 -1985-08-08,78.5 -1985-08-09,74.9 -1985-08-10,72.8 -1985-08-11,68.4 -1985-08-12,69.7 -1985-08-13,68.9 -1985-08-14,69.3 -1985-08-15,69.0 -1985-08-16,68.2 -1985-08-17,67.9 -1985-08-18,68.6 -1985-08-19,69.1 -1985-08-20,70.6 -1985-08-21,70.4 -1985-08-22,72.7 -1985-08-23,72.9 -1985-08-24,72.1 -1985-08-25,72.5 -1985-08-26,72.3 -1985-08-27,73.1 -1985-08-28,73.1 -1985-08-29,73.1 -1985-08-30,73.9 -1985-08-31,74.1 -1985-09-01,73.0 -1985-09-02,72.8 -1985-09-03,73.1 -1985-09-04,73.5 -1985-09-05,72.2 -1985-09-06,72.5 -1985-09-07,70.8 -1985-09-08,70.3 -1985-09-09,70.6 -1985-09-10,70.3 -1985-09-11,69.2 -1985-09-12,68.5 -1985-09-13,70.7 -1985-09-14,70.4 -1985-09-15,71.1 -1985-09-16,70.3 -1985-09-17,70.0 -1985-09-18,70.4 -1985-09-19,70.7 -1985-09-20,69.8 -1985-09-21,69.6 -1985-09-22,69.8 -1985-09-23,69.2 -1985-09-24,69.0 -1985-09-25,68.7 -1985-09-26,68.4 -1985-09-27,67.7 -1985-09-28,67.8 -1985-09-29,68.3 -1985-09-30,68.3 -1985-10-01,68.3 -1985-10-02,67.5 -1985-10-03,68.7 -1985-10-04,68.3 -1985-10-05,67.0 -1985-10-06,66.0 -1985-10-07,65.9 -1985-10-08,65.8 -1985-10-09,66.0 -1985-10-10,66.7 -1985-10-11,67.7 -1985-10-12,66.9 -1985-10-13,66.7 -1985-10-14,69.8 -1985-10-15,71.7 -1985-10-16,73.2 -1985-10-17,75.5 -1985-10-18,75.5 -1985-10-19,77.7 -1985-10-20,79.4 -1985-10-21,84.7 -1985-10-22,94.3 -1985-10-23,93.2 -1985-10-24,92.5 -1985-10-25,88.5 -1985-10-26,83.0 -1985-10-27,78.5 -1985-10-28,76.7 -1985-10-29,73.6 -1985-10-30,70.5 -1985-10-31,69.5 -1985-11-01,69.0 -1985-11-02,68.8 -1985-11-03,68.0 -1985-11-04,67.6 -1985-11-05,68.5 -1985-11-06,70.0 -1985-11-07,71.8 -1985-11-08,73.7 -1985-11-09,72.9 -1985-11-10,72.5 -1985-11-11,74.7 -1985-11-12,74.7 -1985-11-13,74.3 -1985-11-14,76.9 -1985-11-15,82.2 -1985-11-16,78.8 -1985-11-17,77.4 -1985-11-18,77.3 -1985-11-19,75.6 -1985-11-20,75.7 -1985-11-21,73.7 -1985-11-22,73.1 -1985-11-23,72.8 -1985-11-24,71.9 -1985-11-25,70.3 -1985-11-26,69.5 -1985-11-27,69.8 -1985-11-28,69.0 -1985-11-29,69.1 -1985-11-30,68.8 -1985-12-01,67.8 -1985-12-02,68.4 -1985-12-03,68.5 -1985-12-04,68.3 -1985-12-05,69.7 -1985-12-06,71.1 -1985-12-07,71.9 -1985-12-08,73.0 -1985-12-09,75.2 -1985-12-10,75.6 -1985-12-11,76.6 -1985-12-12,77.3 -1985-12-13,75.6 -1985-12-14,76.4 -1985-12-15,80.2 -1985-12-16,83.7 -1985-12-17,80.2 -1985-12-18,78.4 -1985-12-19,77.5 -1985-12-20,75.4 -1985-12-21,75.1 -1985-12-22,73.5 -1985-12-23,71.2 -1985-12-24,69.9 -1985-12-25,67.3 -1985-12-26,66.3 -1985-12-27,66.2 -1985-12-28,66.2 -1985-12-29,66.0 -1985-12-30,66.3 -1985-12-31,66.6 -1986-01-01,67.0 -1986-01-02,67.6 -1986-01-03,68.4 -1986-01-04,69.5 -1986-01-05,70.7 -1986-01-06,72.2 -1986-01-07,71.6 -1986-01-08,71.2 -1986-01-09,72.7 -1986-01-10,72.2 -1986-01-11,71.9 -1986-01-12,71.2 -1986-01-13,74.3 -1986-01-14,76.4 -1986-01-15,75.1 -1986-01-16,75.5 -1986-01-17,74.4 -1986-01-18,73.1 -1986-01-19,70.2 -1986-01-20,69.2 -1986-01-21,67.9 -1986-01-22,67.3 -1986-01-23,67.0 -1986-01-24,66.9 -1986-01-25,68.0 -1986-01-26,67.7 -1986-01-27,67.2 -1986-01-28,70.0 -1986-01-29,71.2 -1986-01-30,73.7 -1986-01-31,76.6 -1986-02-01,81.8 -1986-02-02,86.4 -1986-02-03,96.0 -1986-02-04,97.8 -1986-02-05,99.8 -1986-02-06,99.0 -1986-02-07,96.7 -1986-02-08,94.3 -1986-02-09,92.5 -1986-02-10,93.4 -1986-02-11,95.1 -1986-02-12,88.4 -1986-02-13,86.4 -1986-02-14,86.2 -1986-02-15,79.6 -1986-02-16,71.2 -1986-02-17,68.3 -1986-02-18,68.7 -1986-02-19,68.1 -1986-02-20,68.1 -1986-02-21,66.0 -1986-02-22,67.7 -1986-02-23,67.7 -1986-02-24,68.6 -1986-02-25,70.1 -1986-02-26,72.0 -1986-02-27,75.2 -1986-02-28,77.0 -1986-03-01,84.1 -1986-03-02,89.2 -1986-03-03,91.1 -1986-03-04,91.4 -1986-03-05,90.5 -1986-03-06,89.7 -1986-03-07,87.6 -1986-03-08,85.1 -1986-03-09,84.3 -1986-03-10,81.6 -1986-03-11,79.3 -1986-03-12,76.9 -1986-03-13,74.3 -1986-03-14,71.9 -1986-03-15,69.7 -1986-03-16,68.9 -1986-03-17,68.9 -1986-03-18,68.9 -1986-03-19,68.8 -1986-03-20,68.4 -1986-03-21,68.5 -1986-03-22,69.1 -1986-03-23,69.8 -1986-03-24,69.5 -1986-03-25,69.6 -1986-03-26,70.8 -1986-03-27,70.2 -1986-03-28,70.4 -1986-03-29,71.5 -1986-03-30,71.5 -1986-03-31,71.5 -1986-04-01,71.8 -1986-04-02,70.6 -1986-04-03,70.9 -1986-04-04,71.7 -1986-04-05,71.9 -1986-04-06,71.9 -1986-04-07,71.9 -1986-04-08,71.8 -1986-04-09,72.0 -1986-04-10,72.5 -1986-04-11,72.4 -1986-04-12,73.1 -1986-04-13,74.2 -1986-04-14,76.0 -1986-04-15,76.0 -1986-04-16,75.8 -1986-04-17,75.3 -1986-04-18,74.4 -1986-04-19,74.9 -1986-04-20,75.0 -1986-04-21,74.2 -1986-04-22,75.1 -1986-04-23,82.1 -1986-04-24,87.4 -1986-04-25,85.7 -1986-04-26,84.2 -1986-04-27,83.4 -1986-04-28,80.1 -1986-04-29,77.0 -1986-04-30,74.7 -1986-05-01,72.5 -1986-05-02,74.3 -1986-05-03,73.8 -1986-05-04,71.6 -1986-05-05,70.8 -1986-05-06,69.8 -1986-05-07,69.9 -1986-05-08,69.5 -1986-05-09,69.8 -1986-05-10,70.9 -1986-05-11,71.4 -1986-05-12,70.9 -1986-05-13,71.7 -1986-05-14,71.6 -1986-05-15,72.7 -1986-05-16,74.3 -1986-05-17,75.3 -1986-05-18,78.7 -1986-05-19,78.7 -1986-05-20,79.6 -1986-05-21,79.2 -1986-05-22,79.2 -1986-05-23,78.8 -1986-05-24,79.5 -1986-05-25,81.1 -1986-05-26,77.1 -1986-05-27,74.7 -1986-05-28,74.3 -1986-05-29,74.3 -1986-05-30,72.5 -1986-05-31,73.2 -1986-06-01,71.1 -1986-06-02,69.8 -1986-06-03,69.9 -1986-06-04,69.3 -1986-06-05,69.3 -1986-06-06,69.8 -1986-06-07,70.0 -1986-06-08,70.2 -1986-06-09,71.1 -1986-06-10,70.3 -1986-06-11,70.1 -1986-06-12,70.5 -1986-06-13,70.4 -1986-06-14,72.1 -1986-06-15,71.3 -1986-06-16,70.7 -1986-06-17,69.8 -1986-06-18,69.9 -1986-06-19,69.6 -1986-06-20,69.6 -1986-06-21,69.2 -1986-06-22,69.7 -1986-06-23,69.6 -1986-06-24,68.4 -1986-06-25,68.5 -1986-06-26,68.2 -1986-06-27,68.6 -1986-06-28,68.3 -1986-06-29,68.3 -1986-06-30,68.3 -1986-07-01,68.9 -1986-07-02,68.7 -1986-07-03,68.9 -1986-07-04,69.3 -1986-07-05,71.1 -1986-07-06,73.9 -1986-07-07,72.1 -1986-07-08,71.6 -1986-07-09,72.5 -1986-07-10,75.0 -1986-07-11,74.7 -1986-07-12,73.5 -1986-07-13,74.2 -1986-07-14,74.6 -1986-07-15,74.0 -1986-07-16,74.4 -1986-07-17,74.9 -1986-07-18,74.6 -1986-07-19,73.3 -1986-07-20,73.2 -1986-07-21,72.5 -1986-07-22,73.2 -1986-07-23,71.6 -1986-07-24,71.2 -1986-07-25,70.9 -1986-07-26,71.1 -1986-07-27,71.6 -1986-07-28,72.5 -1986-07-29,74.0 -1986-07-30,73.6 -1986-07-31,72.6 -1986-08-01,72.8 -1986-08-02,72.3 -1986-08-03,72.9 -1986-08-04,71.6 -1986-08-05,71.7 -1986-08-06,72.1 -1986-08-07,71.9 -1986-08-08,71.3 -1986-08-09,71.3 -1986-08-10,70.5 -1986-08-11,68.6 -1986-08-12,68.4 -1986-08-13,67.9 -1986-08-14,68.2 -1986-08-15,69.5 -1986-08-16,69.4 -1986-08-17,68.9 -1986-08-18,69.1 -1986-08-19,69.3 -1986-08-20,70.7 -1986-08-21,70.5 -1986-08-22,70.1 -1986-08-23,69.6 -1986-08-24,69.1 -1986-08-25,69.3 -1986-08-26,69.9 -1986-08-27,69.1 -1986-08-28,68.8 -1986-08-29,68.8 -1986-08-30,69.3 -1986-08-31,69.6 -1986-09-01,69.8 -1986-09-02,69.2 -1986-09-03,69.3 -1986-09-04,69.4 -1986-09-05,69.6 -1986-09-06,69.5 -1986-09-07,69.9 -1986-09-08,69.4 -1986-09-09,69.4 -1986-09-10,69.3 -1986-09-11,68.8 -1986-09-12,68.8 -1986-09-13,69.0 -1986-09-14,70.0 -1986-09-15,71.5 -1986-09-16,70.5 -1986-09-17,69.2 -1986-09-18,68.8 -1986-09-19,68.7 -1986-09-20,68.6 -1986-09-21,68.8 -1986-09-22,68.3 -1986-09-23,68.7 -1986-09-24,68.8 -1986-09-25,69.4 -1986-09-26,68.5 -1986-09-27,68.9 -1986-09-28,70.3 -1986-09-29,71.5 -1986-09-30,71.6 -1986-10-01,71.2 -1986-10-02,71.6 -1986-10-03,72.1 -1986-10-04,70.7 -1986-10-05,71.1 -1986-10-06,72.4 -1986-10-07,74.3 -1986-10-08,74.8 -1986-10-09,74.6 -1986-10-10,73.3 -1986-10-11,73.2 -1986-10-12,75.3 -1986-10-13,75.1 -1986-10-14,75.0 -1986-10-15,71.8 -1986-10-16,79.1 -1986-10-17,82.6 -1986-10-18,86.3 -1986-10-19,88.6 -1986-10-20,92.2 -1986-10-21,91.5 -1986-10-22,94.4 -1986-10-23,97.9 -1986-10-24,97.3 -1986-10-25,94.4 -1986-10-26,94.2 -1986-10-27,94.3 -1986-10-28,93.6 -1986-10-29,91.4 -1986-10-30,89.8 -1986-10-31,89.2 -1986-11-01,87.6 -1986-11-02,84.1 -1986-11-03,80.8 -1986-11-04,82.3 -1986-11-05,81.5 -1986-11-06,80.6 -1986-11-07,76.9 -1986-11-08,73.5 -1986-11-09,71.9 -1986-11-10,70.4 -1986-11-11,69.9 -1986-11-12,71.4 -1986-11-13,76.0 -1986-11-14,74.1 -1986-11-15,75.1 -1986-11-16,75.0 -1986-11-17,73.8 -1986-11-18,73.0 -1986-11-19,72.5 -1986-11-20,72.5 -1986-11-21,74.1 -1986-11-22,74.5 -1986-11-23,75.8 -1986-11-24,77.0 -1986-11-25,75.5 -1986-11-26,74.3 -1986-11-27,73.6 -1986-11-28,73.1 -1986-11-29,72.4 -1986-11-30,70.9 -1986-12-01,70.7 -1986-12-02,70.6 -1986-12-03,70.2 -1986-12-04,69.2 -1986-12-05,70.0 -1986-12-06,69.1 -1986-12-07,68.2 -1986-12-08,69.1 -1986-12-09,70.8 -1986-12-10,72.3 -1986-12-11,73.0 -1986-12-12,71.1 -1986-12-13,71.5 -1986-12-14,71.4 -1986-12-15,70.9 -1986-12-16,70.8 -1986-12-17,71.7 -1986-12-18,71.4 -1986-12-19,71.0 -1986-12-20,70.4 -1986-12-21,70.6 -1986-12-22,71.4 -1986-12-23,70.8 -1986-12-24,70.0 -1986-12-25,70.0 -1986-12-26,69.7 -1986-12-27,69.4 -1986-12-28,69.2 -1986-12-29,69.2 -1986-12-30,69.6 -1986-12-31,68.1 -1987-01-01,71.6 -1987-01-02,70.5 -1987-01-03,69.1 -1987-01-04,69.0 -1987-01-05,70.3 -1987-01-06,69.3 -1987-01-07,69.7 -1987-01-08,68.2 -1987-01-09,68.0 -1987-01-10,67.4 -1987-01-11,68.0 -1987-01-12,68.9 -1987-01-13,69.7 -1987-01-14,71.1 -1987-01-15,71.5 -1987-01-16,70.7 -1987-01-17,70.8 -1987-01-18,70.6 -1987-01-19,70.0 -1987-01-20,68.9 -1987-01-21,71.2 -1987-01-22,73.6 -1987-01-23,72.1 -1987-01-24,71.6 -1987-01-25,71.5 -1987-01-26,72.6 -1987-01-27,69.9 -1987-01-28,70.8 -1987-01-29,70.6 -1987-01-30,69.8 -1987-01-31,68.7 -1987-02-01,69.2 -1987-02-02,69.8 -1987-02-03,70.0 -1987-02-04,68.3 -1987-02-05,67.5 -1987-02-06,67.7 -1987-02-07,69.1 -1987-02-08,68.9 -1987-02-09,69.2 -1987-02-10,69.3 -1987-02-11,68.5 -1987-02-12,67.8 -1987-02-13,68.0 -1987-02-14,68.3 -1987-02-15,69.3 -1987-02-16,68.4 -1987-02-17,68.1 -1987-02-18,69.8 -1987-02-19,69.5 -1987-02-20,69.6 -1987-02-21,70.7 -1987-02-22,70.4 -1987-02-23,70.5 -1987-02-24,72.1 -1987-02-25,73.5 -1987-02-26,73.9 -1987-02-27,74.0 -1987-02-28,72.7 -1987-03-01,72.8 -1987-03-02,73.3 -1987-03-03,71.6 -1987-03-04,73.3 -1987-03-05,73.7 -1987-03-06,75.6 -1987-03-07,75.5 -1987-03-08,76.9 -1987-03-09,73.6 -1987-03-10,71.4 -1987-03-11,70.5 -1987-03-12,69.5 -1987-03-13,69.6 -1987-03-14,71.1 -1987-03-15,70.5 -1987-03-16,71.0 -1987-03-17,71.2 -1987-03-18,72.5 -1987-03-19,71.5 -1987-03-20,73.8 -1987-03-21,74.2 -1987-03-22,73.8 -1987-03-23,75.5 -1987-03-24,75.9 -1987-03-25,75.7 -1987-03-26,75.6 -1987-03-27,75.4 -1987-03-28,75.0 -1987-03-29,75.3 -1987-03-30,74.6 -1987-03-31,71.9 -1987-04-01,72.5 -1987-04-02,71.9 -1987-04-03,72.4 -1987-04-04,74.0 -1987-04-05,77.6 -1987-04-06,89.4 -1987-04-07,94.4 -1987-04-08,94.8 -1987-04-09,100.5 -1987-04-10,100.0 -1987-04-11,101.3 -1987-04-12,98.6 -1987-04-13,99.3 -1987-04-14,97.7 -1987-04-15,97.8 -1987-04-16,95.3 -1987-04-17,97.3 -1987-04-18,94.0 -1987-04-19,91.7 -1987-04-20,85.6 -1987-04-21,78.3 -1987-04-22,76.5 -1987-04-23,76.5 -1987-04-24,78.6 -1987-04-25,75.8 -1987-04-26,74.3 -1987-04-27,74.8 -1987-04-28,74.3 -1987-04-29,73.6 -1987-04-30,76.8 -1987-05-01,79.3 -1987-05-02,80.2 -1987-05-03,82.8 -1987-05-04,84.4 -1987-05-05,86.1 -1987-05-06,87.9 -1987-05-07,88.1 -1987-05-08,89.1 -1987-05-09,87.3 -1987-05-10,89.5 -1987-05-11,86.4 -1987-05-12,85.4 -1987-05-13,87.4 -1987-05-14,91.2 -1987-05-15,93.6 -1987-05-16,98.2 -1987-05-17,96.7 -1987-05-18,98.5 -1987-05-19,100.1 -1987-05-20,99.8 -1987-05-21,99.9 -1987-05-22,101.0 -1987-05-23,94.9 -1987-05-24,98.5 -1987-05-25,96.8 -1987-05-26,92.3 -1987-05-27,87.5 -1987-05-28,85.1 -1987-05-29,79.3 -1987-05-30,77.9 -1987-05-31,77.3 -1987-06-01,77.8 -1987-06-02,77.9 -1987-06-03,76.4 -1987-06-04,77.3 -1987-06-05,76.1 -1987-06-06,75.8 -1987-06-07,76.0 -1987-06-08,77.0 -1987-06-09,76.8 -1987-06-10,78.1 -1987-06-11,80.7 -1987-06-12,82.1 -1987-06-13,82.3 -1987-06-14,80.6 -1987-06-15,80.4 -1987-06-16,81.3 -1987-06-17,81.8 -1987-06-18,82.9 -1987-06-19,82.4 -1987-06-20,81.1 -1987-06-21,82.6 -1987-06-22,87.1 -1987-06-23,87.5 -1987-06-24,89.1 -1987-06-25,86.3 -1987-06-26,84.3 -1987-06-27,78.9 -1987-06-28,79.2 -1987-06-29,76.6 -1987-06-30,75.9 -1987-07-01,76.0 -1987-07-02,74.4 -1987-07-03,73.7 -1987-07-04,73.2 -1987-07-05,73.4 -1987-07-06,73.3 -1987-07-07,74.1 -1987-07-08,76.1 -1987-07-09,76.3 -1987-07-10,76.3 -1987-07-11,75.7 -1987-07-12,75.5 -1987-07-13,75.1 -1987-07-14,76.6 -1987-07-15,78.8 -1987-07-16,80.9 -1987-07-17,81.5 -1987-07-18,82.5 -1987-07-19,85.1 -1987-07-20,93.8 -1987-07-21,95.6 -1987-07-22,102.6 -1987-07-23,115.6 -1987-07-24,115.0 -1987-07-25,114.9 -1987-07-26,109.8 -1987-07-27,105.4 -1987-07-28,102.5 -1987-07-29,97.3 -1987-07-30,94.0 -1987-07-31,91.9 -1987-08-01,91.0 -1987-08-02,89.7 -1987-08-03,87.1 -1987-08-04,84.0 -1987-08-05,81.6 -1987-08-06,85.2 -1987-08-07,89.5 -1987-08-08,93.8 -1987-08-09,94.8 -1987-08-10,94.0 -1987-08-11,99.8 -1987-08-12,100.0 -1987-08-13,101.8 -1987-08-14,102.4 -1987-08-15,101.3 -1987-08-16,102.7 -1987-08-17,101.2 -1987-08-18,100.4 -1987-08-19,99.0 -1987-08-20,101.2 -1987-08-21,96.6 -1987-08-22,94.4 -1987-08-23,91.8 -1987-08-24,89.6 -1987-08-25,89.9 -1987-08-26,87.3 -1987-08-27,85.1 -1987-08-28,81.3 -1987-08-29,79.9 -1987-08-30,78.5 -1987-08-31,83.2 -1987-09-01,85.3 -1987-09-02,85.5 -1987-09-03,87.5 -1987-09-04,89.6 -1987-09-05,93.5 -1987-09-06,95.6 -1987-09-07,99.5 -1987-09-08,101.9 -1987-09-09,100.9 -1987-09-10,97.8 -1987-09-11,95.4 -1987-09-12,91.1 -1987-09-13,89.7 -1987-09-14,86.8 -1987-09-15,85.0 -1987-09-16,83.5 -1987-09-17,84.0 -1987-09-18,82.4 -1987-09-19,82.7 -1987-09-20,84.9 -1987-09-21,83.0 -1987-09-22,81.3 -1987-09-23,80.4 -1987-09-24,80.3 -1987-09-25,77.9 -1987-09-26,76.4 -1987-09-27,80.2 -1987-09-28,82.3 -1987-09-29,83.5 -1987-09-30,81.9 -1987-10-01,84.2 -1987-10-02,84.8 -1987-10-03,85.6 -1987-10-04,89.2 -1987-10-05,90.1 -1987-10-06,89.5 -1987-10-07,90.9 -1987-10-08,95.0 -1987-10-09,92.7 -1987-10-10,101.1 -1987-10-11,100.8 -1987-10-12,102.2 -1987-10-13,105.5 -1987-10-14,113.3 -1987-10-15,117.8 -1987-10-16,111.1 -1987-10-17,106.0 -1987-10-18,106.5 -1987-10-19,100.4 -1987-10-20,95.6 -1987-10-21,89.3 -1987-10-22,88.2 -1987-10-23,87.0 -1987-10-24,87.1 -1987-10-25,92.3 -1987-10-26,96.9 -1987-10-27,105.9 -1987-10-28,106.2 -1987-10-29,102.7 -1987-10-30,104.2 -1987-10-31,97.8 -1987-11-01,99.1 -1987-11-02,105.0 -1987-11-03,98.0 -1987-11-04,101.1 -1987-11-05,99.2 -1987-11-06,94.9 -1987-11-07,94.4 -1987-11-08,92.7 -1987-11-09,90.3 -1987-11-10,89.2 -1987-11-11,92.6 -1987-11-12,92.6 -1987-11-13,92.9 -1987-11-14,92.3 -1987-11-15,93.7 -1987-11-16,95.0 -1987-11-17,96.8 -1987-11-18,100.0 -1987-11-19,106.6 -1987-11-20,112.2 -1987-11-21,115.3 -1987-11-22,117.8 -1987-11-23,115.1 -1987-11-24,109.4 -1987-11-25,104.9 -1987-11-26,101.3 -1987-11-27,94.9 -1987-11-28,92.3 -1987-11-29,90.7 -1987-11-30,89.1 -1987-12-01,87.6 -1987-12-02,86.5 -1987-12-03,85.8 -1987-12-04,85.1 -1987-12-05,86.8 -1987-12-06,85.7 -1987-12-07,85.3 -1987-12-08,88.7 -1987-12-09,91.2 -1987-12-10,90.1 -1987-12-11,91.1 -1987-12-12,91.5 -1987-12-13,91.1 -1987-12-14,91.5 -1987-12-15,92.0 -1987-12-16,93.4 -1987-12-17,92.2 -1987-12-18,90.2 -1987-12-19,88.4 -1987-12-20,86.9 -1987-12-21,90.7 -1987-12-22,88.1 -1987-12-23,88.2 -1987-12-24,89.9 -1987-12-25,96.2 -1987-12-26,96.8 -1987-12-27,101.4 -1987-12-28,102.5 -1987-12-29,101.4 -1987-12-30,99.2 -1987-12-31,99.7 -1988-01-01,100.1 -1988-01-02,93.7 -1988-01-03,101.2 -1988-01-04,98.2 -1988-01-05,99.5 -1988-01-06,101.7 -1988-01-07,102.1 -1988-01-08,105.6 -1988-01-09,100.6 -1988-01-10,100.9 -1988-01-11,101.7 -1988-01-12,107.5 -1988-01-13,108.1 -1988-01-14,113.7 -1988-01-15,112.4 -1988-01-16,121.8 -1988-01-17,116.4 -1988-01-18,110.9 -1988-01-19,114.2 -1988-01-20,112.7 -1988-01-21,111.6 -1988-01-22,104.5 -1988-01-23,104.7 -1988-01-24,102.2 -1988-01-25,94.9 -1988-01-26,93.5 -1988-01-27,101.6 -1988-01-28,103.0 -1988-01-29,99.1 -1988-01-30,100.1 -1988-01-31,103.1 -1988-02-01,105.5 -1988-02-02,104.3 -1988-02-03,103.6 -1988-02-04,103.1 -1988-02-05,102.6 -1988-02-06,103.6 -1988-02-07,105.3 -1988-02-08,102.5 -1988-02-09,101.0 -1988-02-10,100.2 -1988-02-11,99.6 -1988-02-12,101.3 -1988-02-13,102.9 -1988-02-14,102.6 -1988-02-15,100.4 -1988-02-16,101.0 -1988-02-17,106.2 -1988-02-18,112.5 -1988-02-19,109.0 -1988-02-20,106.5 -1988-02-21,104.7 -1988-02-22,102.5 -1988-02-23,100.2 -1988-02-24,99.6 -1988-02-25,96.4 -1988-02-26,96.7 -1988-02-27,96.3 -1988-02-28,97.1 -1988-02-29,103.3 -1988-03-01,99.8 -1988-03-02,99.1 -1988-03-03,101.9 -1988-03-04,102.6 -1988-03-05,106.7 -1988-03-06,107.6 -1988-03-07,107.3 -1988-03-08,104.1 -1988-03-09,101.5 -1988-03-10,99.2 -1988-03-11,102.9 -1988-03-12,103.5 -1988-03-13,107.8 -1988-03-14,108.9 -1988-03-15,112.6 -1988-03-16,114.1 -1988-03-17,117.4 -1988-03-18,116.1 -1988-03-19,116.1 -1988-03-20,116.3 -1988-03-21,117.5 -1988-03-22,117.6 -1988-03-23,120.9 -1988-03-24,123.0 -1988-03-25,128.5 -1988-03-26,127.5 -1988-03-27,128.0 -1988-03-28,129.8 -1988-03-29,131.7 -1988-03-30,128.3 -1988-03-31,130.6 -1988-04-01,127.2 -1988-04-02,126.5 -1988-04-03,127.6 -1988-04-04,122.6 -1988-04-05,114.6 -1988-04-06,116.8 -1988-04-07,120.0 -1988-04-08,121.8 -1988-04-09,121.8 -1988-04-10,127.2 -1988-04-11,128.0 -1988-04-12,130.6 -1988-04-13,134.6 -1988-04-14,146.3 -1988-04-15,143.5 -1988-04-16,147.6 -1988-04-17,145.5 -1988-04-18,145.3 -1988-04-19,138.5 -1988-04-20,134.9 -1988-04-21,127.6 -1988-04-22,120.1 -1988-04-23,111.5 -1988-04-24,105.6 -1988-04-25,106.7 -1988-04-26,103.8 -1988-04-27,101.9 -1988-04-28,101.6 -1988-04-29,102.1 -1988-04-30,104.8 -1988-05-01,108.8 -1988-05-02,113.1 -1988-05-03,116.4 -1988-05-04,127.4 -1988-05-05,121.1 -1988-05-06,116.5 -1988-05-07,112.9 -1988-05-08,116.7 -1988-05-09,121.9 -1988-05-10,116.4 -1988-05-11,114.6 -1988-05-12,111.6 -1988-05-13,105.9 -1988-05-14,105.2 -1988-05-15,103.4 -1988-05-16,103.3 -1988-05-17,103.7 -1988-05-18,106.7 -1988-05-19,104.8 -1988-05-20,106.1 -1988-05-21,112.6 -1988-05-22,114.0 -1988-05-23,122.2 -1988-05-24,119.8 -1988-05-25,123.8 -1988-05-26,127.8 -1988-05-27,130.0 -1988-05-28,130.1 -1988-05-29,140.2 -1988-05-30,142.8 -1988-05-31,153.6 -1988-06-01,149.3 -1988-06-02,147.6 -1988-06-03,149.5 -1988-06-04,150.9 -1988-06-05,151.2 -1988-06-06,159.0 -1988-06-07,164.6 -1988-06-08,168.3 -1988-06-09,165.9 -1988-06-10,149.8 -1988-06-11,137.8 -1988-06-12,125.9 -1988-06-13,115.0 -1988-06-14,111.7 -1988-06-15,113.5 -1988-06-16,121.7 -1988-06-17,124.8 -1988-06-18,125.7 -1988-06-19,119.4 -1988-06-20,118.5 -1988-06-21,122.8 -1988-06-22,124.4 -1988-06-23,129.3 -1988-06-24,135.7 -1988-06-25,153.7 -1988-06-26,157.6 -1988-06-27,160.5 -1988-06-28,183.2 -1988-06-29,189.5 -1988-06-30,187.4 -1988-07-01,194.4 -1988-07-02,198.9 -1988-07-03,190.2 -1988-07-04,181.0 -1988-07-05,171.2 -1988-07-06,156.7 -1988-07-07,152.4 -1988-07-08,142.4 -1988-07-09,137.7 -1988-07-10,138.3 -1988-07-11,137.7 -1988-07-12,137.9 -1988-07-13,141.3 -1988-07-14,150.1 -1988-07-15,150.7 -1988-07-16,153.3 -1988-07-17,152.8 -1988-07-18,152.3 -1988-07-19,142.1 -1988-07-20,141.3 -1988-07-21,145.8 -1988-07-22,141.2 -1988-07-23,144.6 -1988-07-24,138.6 -1988-07-25,140.9 -1988-07-26,149.7 -1988-07-27,161.5 -1988-07-28,175.4 -1988-07-29,185.9 -1988-07-30,188.3 -1988-07-31,192.5 -1988-08-01,180.9 -1988-08-02,187.6 -1988-08-03,172.2 -1988-08-04,163.6 -1988-08-05,159.2 -1988-08-06,163.4 -1988-08-07,170.4 -1988-08-08,186.9 -1988-08-09,182.4 -1988-08-10,181.8 -1988-08-11,178.2 -1988-08-12,161.2 -1988-08-13,159.7 -1988-08-14,151.6 -1988-08-15,144.0 -1988-08-16,137.8 -1988-08-17,145.6 -1988-08-18,128.5 -1988-08-19,123.9 -1988-08-20,118.1 -1988-08-21,116.1 -1988-08-22,114.9 -1988-08-23,121.7 -1988-08-24,133.7 -1988-08-25,144.3 -1988-08-26,157.1 -1988-08-27,166.8 -1988-08-28,174.0 -1988-08-29,189.0 -1988-08-30,190.0 -1988-08-31,194.5 -1988-09-01,191.3 -1988-09-02,178.9 -1988-09-03,177.3 -1988-09-04,165.9 -1988-09-05,166.3 -1988-09-06,152.4 -1988-09-07,145.4 -1988-09-08,138.9 -1988-09-09,128.0 -1988-09-10,117.6 -1988-09-11,121.9 -1988-09-12,127.0 -1988-09-13,124.8 -1988-09-14,130.2 -1988-09-15,126.1 -1988-09-16,128.5 -1988-09-17,135.3 -1988-09-18,139.5 -1988-09-19,138.6 -1988-09-20,151.4 -1988-09-21,157.8 -1988-09-22,178.6 -1988-09-23,177.8 -1988-09-24,178.6 -1988-09-25,177.4 -1988-09-26,172.0 -1988-09-27,179.6 -1988-09-28,171.0 -1988-09-29,172.0 -1988-09-30,173.1 -1988-10-01,179.4 -1988-10-02,197.0 -1988-10-03,200.4 -1988-10-04,189.2 -1988-10-05,191.0 -1988-10-06,193.4 -1988-10-07,182.4 -1988-10-08,172.6 -1988-10-09,176.5 -1988-10-10,177.8 -1988-10-11,168.2 -1988-10-12,148.4 -1988-10-13,157.5 -1988-10-14,150.4 -1988-10-15,149.1 -1988-10-16,152.3 -1988-10-17,175.0 -1988-10-18,162.3 -1988-10-19,164.0 -1988-10-20,166.0 -1988-10-21,165.9 -1988-10-22,166.2 -1988-10-23,171.1 -1988-10-24,168.4 -1988-10-25,162.1 -1988-10-26,155.4 -1988-10-27,161.8 -1988-10-28,156.0 -1988-10-29,155.9 -1988-10-30,154.2 -1988-10-31,160.4 -1988-11-01,157.2 -1988-11-02,156.5 -1988-11-03,164.0 -1988-11-04,159.7 -1988-11-05,163.8 -1988-11-06,161.2 -1988-11-07,151.6 -1988-11-08,143.5 -1988-11-09,152.4 -1988-11-10,147.7 -1988-11-11,153.8 -1988-11-12,150.6 -1988-11-13,157.8 -1988-11-14,173.2 -1988-11-15,161.1 -1988-11-16,186.1 -1988-11-17,175.6 -1988-11-18,161.8 -1988-11-19,151.2 -1988-11-20,146.6 -1988-11-21,152.9 -1988-11-22,153.1 -1988-11-23,135.7 -1988-11-24,138.0 -1988-11-25,137.5 -1988-11-26,137.4 -1988-11-27,140.9 -1988-11-28,138.8 -1988-11-29,137.6 -1988-11-30,135.8 -1988-12-01,150.5 -1988-12-02,149.4 -1988-12-03,147.3 -1988-12-04,142.7 -1988-12-05,154.6 -1988-12-06,157.7 -1988-12-07,152.9 -1988-12-08,164.1 -1988-12-09,165.2 -1988-12-10,161.2 -1988-12-11,176.4 -1988-12-12,173.9 -1988-12-13,181.1 -1988-12-14,204.4 -1988-12-15,212.0 -1988-12-16,232.1 -1988-12-17,241.7 -1988-12-18,243.5 -1988-12-19,240.2 -1988-12-20,238.8 -1988-12-21,245.2 -1988-12-22,246.6 -1988-12-23,234.8 -1988-12-24,221.6 -1988-12-25,210.5 -1988-12-26,193.0 -1988-12-27,201.9 -1988-12-28,201.6 -1988-12-29,196.7 -1988-12-30,179.5 -1988-12-31,177.6 -1989-01-01,179.5 -1989-01-02,193.7 -1989-01-03,189.2 -1989-01-04,195.7 -1989-01-05,201.6 -1989-01-06,198.7 -1989-01-07,239.5 -1989-01-08,260.2 -1989-01-09,251.3 -1989-01-10,250.0 -1989-01-11,254.7 -1989-01-12,263.2 -1989-01-13,291.7 -1989-01-14,274.9 -1989-01-15,280.1 -1989-01-16,292.1 -1989-01-17,266.7 -1989-01-18,271.2 -1989-01-19,241.6 -1989-01-20,222.0 -1989-01-21,198.2 -1989-01-22,203.6 -1989-01-23,205.6 -1989-01-24,211.0 -1989-01-25,227.3 -1989-01-26,206.3 -1989-01-27,211.1 -1989-01-28,207.1 -1989-01-29,200.5 -1989-01-30,187.3 -1989-01-31,187.5 -1989-02-01,184.8 -1989-02-02,171.2 -1989-02-03,185.8 -1989-02-04,183.4 -1989-02-05,195.1 -1989-02-06,205.3 -1989-02-07,210.5 -1989-02-08,243.9 -1989-02-09,259.3 -1989-02-10,269.8 -1989-02-11,257.0 -1989-02-12,257.3 -1989-02-13,258.4 -1989-02-14,260.7 -1989-02-15,241.3 -1989-02-16,241.1 -1989-02-17,233.9 -1989-02-18,213.8 -1989-02-19,214.0 -1989-02-20,202.2 -1989-02-21,217.8 -1989-02-22,213.9 -1989-02-23,214.7 -1989-02-24,213.4 -1989-02-25,203.8 -1989-02-26,190.3 -1989-02-27,168.6 -1989-02-28,163.5 -1989-03-01,168.8 -1989-03-02,173.7 -1989-03-03,169.0 -1989-03-04,163.6 -1989-03-05,183.5 -1989-03-06,201.1 -1989-03-07,190.3 -1989-03-08,202.6 -1989-03-09,204.2 -1989-03-10,212.4 -1989-03-11,232.4 -1989-03-12,237.6 -1989-03-13,253.0 -1989-03-14,263.8 -1989-03-15,255.8 -1989-03-16,261.6 -1989-03-17,240.7 -1989-03-18,234.2 -1989-03-19,221.1 -1989-03-20,218.2 -1989-03-21,213.5 -1989-03-22,222.5 -1989-03-23,216.1 -1989-03-24,193.2 -1989-03-25,186.2 -1989-03-26,171.6 -1989-03-27,162.6 -1989-03-28,157.3 -1989-03-29,155.8 -1989-03-30,159.8 -1989-03-31,167.5 -1989-04-01,173.8 -1989-04-02,183.5 -1989-04-03,196.5 -1989-04-04,188.9 -1989-04-05,191.1 -1989-04-06,196.5 -1989-04-07,199.8 -1989-04-08,207.1 -1989-04-09,194.0 -1989-04-10,182.3 -1989-04-11,180.7 -1989-04-12,181.3 -1989-04-13,185.3 -1989-04-14,198.1 -1989-04-15,199.5 -1989-04-16,203.9 -1989-04-17,210.6 -1989-04-18,204.1 -1989-04-19,209.7 -1989-04-20,192.5 -1989-04-21,196.1 -1989-04-22,193.6 -1989-04-23,183.1 -1989-04-24,189.0 -1989-04-25,179.7 -1989-04-26,176.9 -1989-04-27,176.9 -1989-04-28,183.2 -1989-04-29,189.5 -1989-04-30,180.6 -1989-05-01,180.5 -1989-05-02,184.5 -1989-05-03,190.6 -1989-05-04,198.2 -1989-05-05,193.7 -1989-05-06,195.9 -1989-05-07,200.6 -1989-05-08,212.4 -1989-05-09,205.1 -1989-05-10,208.7 -1989-05-11,198.9 -1989-05-12,197.2 -1989-05-13,197.5 -1989-05-14,193.1 -1989-05-15,195.8 -1989-05-16,188.6 -1989-05-17,187.0 -1989-05-18,184.9 -1989-05-19,188.6 -1989-05-20,203.1 -1989-05-21,211.9 -1989-05-22,203.9 -1989-05-23,212.2 -1989-05-24,210.0 -1989-05-25,194.6 -1989-05-26,188.0 -1989-05-27,176.6 -1989-05-28,173.5 -1989-05-29,173.6 -1989-05-30,183.0 -1989-05-31,194.2 -1989-06-01,191.6 -1989-06-02,208.2 -1989-06-03,203.3 -1989-06-04,221.3 -1989-06-05,213.2 -1989-06-06,212.2 -1989-06-07,205.3 -1989-06-08,222.9 -1989-06-09,241.9 -1989-06-10,250.9 -1989-06-11,270.3 -1989-06-12,285.8 -1989-06-13,319.2 -1989-06-14,327.2 -1989-06-15,334.7 -1989-06-16,320.9 -1989-06-17,303.7 -1989-06-18,271.5 -1989-06-19,270.6 -1989-06-20,249.3 -1989-06-21,242.8 -1989-06-22,233.1 -1989-06-23,238.7 -1989-06-24,227.6 -1989-06-25,221.6 -1989-06-26,233.0 -1989-06-27,227.5 -1989-06-28,227.4 -1989-06-29,223.0 -1989-06-30,217.4 -1989-07-01,204.0 -1989-07-02,193.4 -1989-07-03,192.5 -1989-07-04,189.8 -1989-07-05,183.4 -1989-07-06,192.3 -1989-07-07,193.5 -1989-07-08,188.9 -1989-07-09,188.1 -1989-07-10,184.1 -1989-07-11,193.2 -1989-07-12,190.7 -1989-07-13,184.0 -1989-07-14,183.9 -1989-07-15,185.7 -1989-07-16,183.9 -1989-07-17,184.1 -1989-07-18,189.2 -1989-07-19,193.7 -1989-07-20,192.4 -1989-07-21,195.0 -1989-07-22,200.9 -1989-07-23,196.5 -1989-07-24,191.1 -1989-07-25,180.4 -1989-07-26,169.8 -1989-07-27,172.8 -1989-07-28,170.7 -1989-07-29,180.9 -1989-07-30,185.1 -1989-07-31,188.2 -1989-08-01,198.5 -1989-08-02,201.7 -1989-08-03,220.2 -1989-08-04,225.7 -1989-08-05,241.5 -1989-08-06,240.3 -1989-08-07,240.6 -1989-08-08,233.6 -1989-08-09,233.9 -1989-08-10,232.6 -1989-08-11,243.6 -1989-08-12,256.1 -1989-08-13,263.9 -1989-08-14,271.3 -1989-08-15,281.7 -1989-08-16,259.8 -1989-08-17,262.9 -1989-08-18,265.0 -1989-08-19,249.1 -1989-08-20,236.4 -1989-08-21,225.7 -1989-08-22,205.4 -1989-08-23,191.3 -1989-08-24,182.0 -1989-08-25,159.7 -1989-08-26,161.0 -1989-08-27,159.6 -1989-08-28,174.1 -1989-08-29,180.3 -1989-08-30,192.0 -1989-08-31,208.9 -1989-09-01,223.8 -1989-09-02,233.3 -1989-09-03,243.0 -1989-09-04,245.0 -1989-09-05,273.3 -1989-09-06,288.4 -1989-09-07,303.4 -1989-09-08,302.1 -1989-09-09,311.5 -1989-09-10,303.3 -1989-09-11,299.3 -1989-09-12,292.2 -1989-09-13,249.3 -1989-09-14,244.9 -1989-09-15,226.0 -1989-09-16,233.7 -1989-09-17,216.2 -1989-09-18,208.6 -1989-09-19,197.0 -1989-09-20,173.1 -1989-09-21,161.8 -1989-09-22,159.3 -1989-09-23,157.5 -1989-09-24,157.0 -1989-09-25,166.8 -1989-09-26,182.2 -1989-09-27,199.4 -1989-09-28,194.3 -1989-09-29,204.7 -1989-09-30,202.0 -1989-10-01,198.4 -1989-10-02,208.5 -1989-10-03,222.4 -1989-10-04,234.1 -1989-10-05,223.2 -1989-10-06,220.5 -1989-10-07,225.7 -1989-10-08,210.1 -1989-10-09,201.9 -1989-10-10,195.5 -1989-10-11,191.5 -1989-10-12,203.2 -1989-10-13,224.2 -1989-10-14,225.9 -1989-10-15,225.4 -1989-10-16,237.0 -1989-10-17,225.3 -1989-10-18,221.3 -1989-10-19,214.7 -1989-10-20,205.4 -1989-10-21,206.2 -1989-10-22,217.8 -1989-10-23,210.4 -1989-10-24,214.2 -1989-10-25,183.3 -1989-10-26,171.7 -1989-10-27,176.9 -1989-10-28,173.0 -1989-10-29,172.0 -1989-10-30,186.3 -1989-10-31,202.0 -1989-11-01,211.4 -1989-11-02,216.0 -1989-11-03,217.6 -1989-11-04,223.9 -1989-11-05,235.4 -1989-11-06,255.3 -1989-11-07,207.3 -1989-11-08,270.9 -1989-11-09,257.2 -1989-11-10,246.3 -1989-11-11,249.1 -1989-11-12,253.5 -1989-11-13,240.3 -1989-11-14,243.0 -1989-11-15,216.5 -1989-11-16,216.2 -1989-11-17,215.0 -1989-11-18,221.6 -1989-11-19,229.2 -1989-11-20,223.7 -1989-11-21,229.4 -1989-11-22,222.0 -1989-11-23,213.4 -1989-11-24,208.8 -1989-11-25,216.0 -1989-11-26,234.3 -1989-11-27,239.4 -1989-11-28,231.3 -1989-11-29,215.1 -1989-11-30,240.9 -1989-12-01,223.7 -1989-12-02,213.7 -1989-12-03,205.6 -1989-12-04,212.9 -1989-12-05,209.7 -1989-12-06,209.7 -1989-12-07,221.5 -1989-12-08,203.6 -1989-12-09,194.6 -1989-12-10,177.1 -1989-12-11,171.7 -1989-12-12,164.9 -1989-12-13,163.2 -1989-12-14,161.8 -1989-12-15,165.5 -1989-12-16,164.1 -1989-12-17,176.0 -1989-12-18,185.9 -1989-12-19,188.2 -1989-12-20,189.3 -1989-12-21,189.9 -1989-12-22,199.9 -1989-12-23,213.8 -1989-12-24,231.0 -1989-12-25,248.0 -1989-12-26,252.6 -1989-12-27,274.8 -1989-12-28,246.4 -1989-12-29,242.7 -1989-12-30,258.2 -1989-12-31,236.7 -1990-01-01,209.3 -1990-01-02,208.6 -1990-01-03,192.5 -1990-01-04,189.2 -1990-01-05,187.1 -1990-01-06,180.9 -1990-01-07,177.1 -1990-01-08,170.9 -1990-01-09,160.6 -1990-01-10,167.2 -1990-01-11,169.5 -1990-01-12,170.0 -1990-01-13,167.0 -1990-01-14,165.9 -1990-01-15,184.9 -1990-01-16,187.6 -1990-01-17,186.8 -1990-01-18,217.2 -1990-01-19,233.1 -1990-01-20,238.2 -1990-01-21,250.8 -1990-01-22,233.7 -1990-01-23,233.6 -1990-01-24,239.8 -1990-01-25,234.6 -1990-01-26,238.8 -1990-01-27,232.2 -1990-01-28,230.1 -1990-01-29,227.8 -1990-01-30,211.4 -1990-01-31,209.3 -1990-02-01,200.8 -1990-02-02,177.8 -1990-02-03,157.9 -1990-02-04,154.8 -1990-02-05,150.9 -1990-02-06,147.5 -1990-02-07,144.3 -1990-02-08,142.2 -1990-02-09,142.0 -1990-02-10,148.5 -1990-02-11,134.9 -1990-02-12,140.0 -1990-02-13,142.8 -1990-02-14,149.5 -1990-02-15,148.8 -1990-02-16,148.8 -1990-02-17,151.6 -1990-02-18,161.1 -1990-02-19,180.3 -1990-02-20,189.5 -1990-02-21,211.9 -1990-02-22,215.7 -1990-02-23,216.6 -1990-02-24,231.5 -1990-02-25,225.3 -1990-02-26,213.3 -1990-02-27,224.1 -1990-02-28,222.0 -1990-03-01,200.0 -1990-03-02,192.7 -1990-03-03,176.3 -1990-03-04,168.9 -1990-03-05,161.7 -1990-03-06,163.8 -1990-03-07,168.1 -1990-03-08,157.1 -1990-03-09,150.9 -1990-03-10,149.0 -1990-03-11,142.5 -1990-03-12,146.1 -1990-03-13,146.3 -1990-03-14,149.8 -1990-03-15,164.2 -1990-03-16,178.1 -1990-03-17,182.0 -1990-03-18,196.4 -1990-03-19,216.3 -1990-03-20,223.9 -1990-03-21,227.6 -1990-03-22,243.1 -1990-03-23,245.3 -1990-03-24,231.3 -1990-03-25,223.9 -1990-03-26,226.9 -1990-03-27,215.1 -1990-03-28,206.0 -1990-03-29,184.1 -1990-03-30,186.5 -1990-03-31,172.8 -1990-04-01,159.2 -1990-04-02,153.3 -1990-04-03,151.6 -1990-04-04,148.6 -1990-04-05,156.5 -1990-04-06,150.2 -1990-04-07,155.0 -1990-04-08,152.3 -1990-04-09,146.8 -1990-04-10,149.3 -1990-04-11,160.8 -1990-04-12,169.9 -1990-04-13,195.5 -1990-04-14,215.7 -1990-04-15,222.9 -1990-04-16,226.3 -1990-04-17,236.7 -1990-04-18,243.0 -1990-04-19,244.2 -1990-04-20,257.1 -1990-04-21,239.6 -1990-04-22,232.8 -1990-04-23,226.3 -1990-04-24,217.4 -1990-04-25,198.3 -1990-04-26,188.9 -1990-04-27,169.8 -1990-04-28,152.7 -1990-04-29,140.9 -1990-04-30,136.9 -1990-05-01,129.0 -1990-05-02,129.2 -1990-05-03,125.2 -1990-05-04,123.6 -1990-05-05,130.6 -1990-05-06,151.0 -1990-05-07,155.5 -1990-05-08,170.7 -1990-05-09,174.6 -1990-05-10,195.4 -1990-05-11,205.4 -1990-05-12,215.2 -1990-05-13,225.8 -1990-05-14,224.2 -1990-05-15,246.6 -1990-05-16,251.5 -1990-05-17,248.9 -1990-05-18,271.8 -1990-05-19,280.0 -1990-05-20,272.5 -1990-05-21,259.2 -1990-05-22,250.0 -1990-05-23,239.5 -1990-05-24,209.2 -1990-05-25,189.1 -1990-05-26,186.3 -1990-05-27,164.6 -1990-05-28,159.3 -1990-05-29,144.8 -1990-05-30,142.5 -1990-05-31,142.5 -1990-06-01,140.6 -1990-06-02,141.2 -1990-06-03,146.1 -1990-06-04,148.1 -1990-06-05,153.7 -1990-06-06,161.4 -1990-06-07,183.6 -1990-06-08,195.5 -1990-06-09,203.9 -1990-06-10,207.5 -1990-06-11,217.2 -1990-06-12,221.8 -1990-06-13,208.8 -1990-06-14,206.8 -1990-06-15,196.3 -1990-06-16,189.9 -1990-06-17,187.5 -1990-06-18,169.5 -1990-06-19,163.5 -1990-06-20,161.2 -1990-06-21,155.8 -1990-06-22,145.2 -1990-06-23,139.1 -1990-06-24,143.8 -1990-06-25,149.3 -1990-06-26,154.5 -1990-06-27,173.4 -1990-06-28,187.7 -1990-06-29,210.8 -1990-06-30,226.6 -1990-07-01,248.3 -1990-07-02,267.6 -1990-07-03,253.8 -1990-07-04,238.3 -1990-07-05,231.6 -1990-07-06,221.8 -1990-07-07,215.7 -1990-07-08,189.6 -1990-07-09,170.9 -1990-07-10,164.0 -1990-07-11,160.2 -1990-07-12,160.9 -1990-07-13,161.5 -1990-07-14,155.4 -1990-07-15,149.1 -1990-07-16,146.5 -1990-07-17,147.6 -1990-07-18,144.7 -1990-07-19,145.3 -1990-07-20,154.0 -1990-07-21,159.2 -1990-07-22,166.0 -1990-07-23,180.4 -1990-07-24,186.6 -1990-07-25,213.6 -1990-07-26,209.9 -1990-07-27,197.2 -1990-07-28,193.1 -1990-07-29,180.3 -1990-07-30,188.3 -1990-07-31,183.4 -1990-08-01,199.0 -1990-08-02,208.6 -1990-08-03,192.4 -1990-08-04,191.2 -1990-08-05,180.8 -1990-08-06,174.6 -1990-08-07,172.1 -1990-08-08,184.8 -1990-08-09,183.2 -1990-08-10,186.3 -1990-08-11,187.1 -1990-08-12,188.2 -1990-08-13,192.5 -1990-08-14,188.2 -1990-08-15,199.6 -1990-08-16,211.0 -1990-08-17,228.4 -1990-08-18,246.1 -1990-08-19,268.0 -1990-08-20,288.7 -1990-08-21,298.3 -1990-08-22,322.8 -1990-08-23,322.7 -1990-08-24,329.2 -1990-08-25,303.9 -1990-08-26,285.1 -1990-08-27,269.2 -1990-08-28,250.2 -1990-08-29,225.2 -1990-08-30,210.4 -1990-08-31,182.9 -1990-09-01,171.4 -1990-09-02,168.9 -1990-09-03,162.6 -1990-09-04,158.2 -1990-09-05,157.5 -1990-09-06,157.6 -1990-09-07,165.1 -1990-09-08,163.5 -1990-09-09,170.4 -1990-09-10,171.2 -1990-09-11,180.6 -1990-09-12,193.3 -1990-09-13,198.0 -1990-09-14,209.4 -1990-09-15,207.3 -1990-09-16,205.2 -1990-09-17,210.7 -1990-09-18,207.5 -1990-09-19,213.8 -1990-09-20,204.0 -1990-09-21,203.2 -1990-09-22,195.3 -1990-09-23,185.4 -1990-09-24,178.7 -1990-09-25,167.1 -1990-09-26,159.6 -1990-09-27,152.6 -1990-09-28,152.1 -1990-09-29,150.1 -1990-09-30,157.8 -1990-10-01,160.5 -1990-10-02,162.8 -1990-10-03,177.4 -1990-10-04,186.8 -1990-10-05,170.0 -1990-10-06,170.0 -1990-10-07,169.3 -1990-10-08,175.9 -1990-10-09,183.9 -1990-10-10,194.7 -1990-10-11,205.1 -1990-10-12,200.6 -1990-10-13,209.4 -1990-10-14,220.6 -1990-10-15,231.6 -1990-10-16,224.6 -1990-10-17,193.7 -1990-10-18,198.2 -1990-10-19,214.2 -1990-10-20,201.7 -1990-10-21,188.7 -1990-10-22,167.9 -1990-10-23,164.0 -1990-10-24,157.5 -1990-10-25,161.8 -1990-10-26,153.5 -1990-10-27,162.5 -1990-10-28,150.9 -1990-10-29,155.9 -1990-10-30,151.1 -1990-10-31,141.6 -1990-11-01,141.6 -1990-11-02,138.5 -1990-11-03,150.2 -1990-11-04,154.7 -1990-11-05,169.7 -1990-11-06,196.4 -1990-11-07,214.3 -1990-11-08,211.8 -1990-11-09,201.2 -1990-11-10,191.1 -1990-11-11,195.0 -1990-11-12,191.0 -1990-11-13,181.5 -1990-11-14,198.0 -1990-11-15,207.3 -1990-11-16,207.3 -1990-11-17,217.1 -1990-11-18,198.9 -1990-11-19,191.2 -1990-11-20,186.8 -1990-11-21,177.6 -1990-11-22,177.4 -1990-11-23,171.7 -1990-11-24,167.2 -1990-11-25,162.3 -1990-11-26,153.2 -1990-11-27,155.0 -1990-11-28,167.1 -1990-11-29,163.2 -1990-11-30,169.6 -1990-12-01,172.6 -1990-12-02,178.0 -1990-12-03,187.6 -1990-12-04,199.3 -1990-12-05,207.0 -1990-12-06,221.0 -1990-12-07,222.0 -1990-12-08,223.6 -1990-12-09,230.3 -1990-12-10,233.4 -1990-12-11,233.4 -1990-12-12,228.0 -1990-12-13,219.5 -1990-12-14,195.3 -1990-12-15,193.2 -1990-12-16,186.2 -1990-12-17,192.5 -1990-12-18,201.6 -1990-12-19,191.2 -1990-12-20,181.6 -1990-12-21,185.8 -1990-12-22,178.1 -1990-12-23,185.6 -1990-12-24,184.9 -1990-12-25,185.0 -1990-12-26,188.1 -1990-12-27,191.9 -1990-12-28,192.4 -1990-12-29,195.5 -1990-12-30,189.6 -1990-12-31,180.6 -1991-01-01,180.6 -1991-01-02,175.8 -1991-01-03,170.0 -1991-01-04,170.2 -1991-01-05,172.9 -1991-01-06,179.7 -1991-01-07,199.6 -1991-01-08,207.9 -1991-01-09,209.1 -1991-01-10,214.6 -1991-01-11,209.4 -1991-01-12,201.6 -1991-01-13,190.5 -1991-01-14,184.5 -1991-01-15,184.6 -1991-01-16,181.8 -1991-01-17,202.0 -1991-01-18,196.8 -1991-01-19,192.3 -1991-01-20,197.5 -1991-01-21,195.9 -1991-01-22,217.5 -1991-01-23,216.0 -1991-01-24,236.8 -1991-01-25,260.9 -1991-01-26,276.9 -1991-01-27,293.8 -1991-01-28,313.8 -1991-01-29,344.5 -1991-01-30,359.2 -1991-01-31,348.6 -1991-02-01,307.3 -1991-02-02,289.3 -1991-02-03,258.4 -1991-02-04,239.2 -1991-02-05,216.5 -1991-02-06,198.7 -1991-02-07,192.7 -1991-02-08,192.7 -1991-02-09,174.0 -1991-02-10,169.5 -1991-02-11,176.5 -1991-02-12,181.6 -1991-02-13,182.2 -1991-02-14,184.0 -1991-02-15,191.9 -1991-02-16,200.4 -1991-02-17,210.2 -1991-02-18,259.6 -1991-02-19,269.8 -1991-02-20,283.8 -1991-02-21,299.2 -1991-02-22,302.6 -1991-02-23,311.5 -1991-02-24,313.1 -1991-02-25,288.4 -1991-02-26,271.8 -1991-02-27,248.7 -1991-02-28,228.0 -1991-03-01,216.5 -1991-03-02,207.5 -1991-03-03,206.4 -1991-03-04,218.9 -1991-03-05,208.1 -1991-03-06,206.7 -1991-03-07,214.5 -1991-03-08,209.1 -1991-03-09,215.7 -1991-03-10,222.8 -1991-03-11,221.9 -1991-03-12,228.7 -1991-03-13,239.1 -1991-03-14,241.6 -1991-03-15,242.2 -1991-03-16,258.5 -1991-03-17,245.4 -1991-03-18,274.8 -1991-03-19,264.9 -1991-03-20,254.2 -1991-03-21,253.1 -1991-03-22,257.7 -1991-03-23,233.4 -1991-03-24,260.5 -1991-03-25,235.2 -1991-03-26,229.4 -1991-03-27,203.0 -1991-03-28,197.7 -1991-03-29,192.9 -1991-03-30,201.3 -1991-03-31,194.7 -1991-04-01,192.8 -1991-04-02,189.1 -1991-04-03,195.9 -1991-04-04,195.1 -1991-04-05,196.7 -1991-04-06,199.9 -1991-04-07,192.6 -1991-04-08,182.8 -1991-04-09,204.2 -1991-04-10,223.6 -1991-04-11,231.5 -1991-04-12,254.4 -1991-04-13,242.6 -1991-04-14,269.3 -1991-04-15,263.1 -1991-04-16,269.1 -1991-04-17,254.2 -1991-04-18,239.1 -1991-04-19,232.0 -1991-04-20,235.3 -1991-04-21,181.6 -1991-04-22,168.7 -1991-04-23,149.0 -1991-04-24,137.4 -1991-04-25,138.1 -1991-04-26,138.3 -1991-04-27,144.6 -1991-04-28,158.4 -1991-04-29,161.0 -1991-04-30,161.7 -1991-05-01,163.6 -1991-05-02,159.6 -1991-05-03,159.5 -1991-05-04,165.8 -1991-05-05,183.2 -1991-05-06,207.2 -1991-05-07,215.3 -1991-05-08,235.6 -1991-05-09,230.1 -1991-05-10,237.0 -1991-05-11,234.5 -1991-05-12,253.7 -1991-05-13,219.7 -1991-05-14,212.8 -1991-05-15,197.7 -1991-05-16,193.4 -1991-05-17,176.2 -1991-05-18,174.2 -1991-05-19,162.7 -1991-05-20,151.8 -1991-05-21,153.0 -1991-05-22,151.9 -1991-05-23,158.6 -1991-05-24,162.8 -1991-05-25,178.8 -1991-05-26,191.4 -1991-05-27,202.9 -1991-05-28,221.4 -1991-05-29,231.1 -1991-05-30,213.5 -1991-05-31,230.7 -1991-06-01,224.9 -1991-06-02,243.1 -1991-06-03,226.8 -1991-06-04,245.6 -1991-06-05,258.1 -1991-06-06,241.3 -1991-06-07,236.6 -1991-06-08,250.7 -1991-06-09,245.3 -1991-06-10,246.2 -1991-06-11,242.8 -1991-06-12,236.8 -1991-06-13,224.7 -1991-06-14,207.2 -1991-06-15,203.1 -1991-06-16,190.5 -1991-06-17,182.1 -1991-06-18,178.7 -1991-06-19,180.7 -1991-06-20,171.7 -1991-06-21,175.1 -1991-06-22,175.4 -1991-06-23,166.6 -1991-06-24,173.9 -1991-06-25,178.8 -1991-06-26,191.3 -1991-06-27,206.3 -1991-06-28,217.5 -1991-06-29,234.4 -1991-06-30,243.6 -1991-07-01,250.3 -1991-07-02,251.8 -1991-07-03,257.3 -1991-07-04,255.4 -1991-07-05,259.5 -1991-07-06,240.8 -1991-07-07,226.1 -1991-07-08,211.2 -1991-07-09,200.6 -1991-07-10,200.2 -1991-07-11,202.3 -1991-07-12,209.9 -1991-07-13,202.3 -1991-07-14,194.8 -1991-07-15,192.0 -1991-07-16,172.6 -1991-07-17,163.9 -1991-07-18,194.8 -1991-07-19,184.1 -1991-07-20,205.3 -1991-07-21,221.6 -1991-07-22,230.2 -1991-07-23,234.0 -1991-07-24,240.8 -1991-07-25,237.5 -1991-07-26,226.6 -1991-07-27,219.5 -1991-07-28,219.4 -1991-07-29,226.6 -1991-07-30,228.4 -1991-07-31,225.9 -1991-08-01,232.0 -1991-08-02,213.2 -1991-08-03,219.4 -1991-08-04,198.8 -1991-08-05,179.4 -1991-08-06,171.4 -1991-08-07,170.0 -1991-08-08,163.5 -1991-08-09,154.6 -1991-08-10,145.7 -1991-08-11,142.4 -1991-08-12,150.7 -1991-08-13,159.6 -1991-08-14,179.6 -1991-08-15,220.5 -1991-08-16,270.7 -1991-08-17,277.7 -1991-08-18,290.5 -1991-08-19,296.6 -1991-08-20,293.2 -1991-08-21,291.8 -1991-08-22,291.5 -1991-08-23,277.0 -1991-08-24,255.4 -1991-08-25,243.4 -1991-08-26,214.7 -1991-08-27,200.4 -1991-08-28,193.7 -1991-08-29,199.2 -1991-08-30,199.4 -1991-08-31,185.2 -1991-09-01,179.1 -1991-09-02,184.3 -1991-09-03,178.1 -1991-09-04,173.8 -1991-09-05,166.2 -1991-09-06,179.0 -1991-09-07,177.1 -1991-09-08,199.0 -1991-09-09,183.3 -1991-09-10,187.2 -1991-09-11,179.9 -1991-09-12,185.4 -1991-09-13,187.1 -1991-09-14,183.4 -1991-09-15,182.2 -1991-09-16,176.1 -1991-09-17,178.7 -1991-09-18,182.9 -1991-09-19,173.9 -1991-09-20,171.1 -1991-09-21,178.0 -1991-09-22,189.0 -1991-09-23,186.1 -1991-09-24,180.9 -1991-09-25,181.9 -1991-09-26,201.6 -1991-09-27,178.7 -1991-09-28,176.3 -1991-09-29,195.4 -1991-09-30,200.4 -1991-10-01,208.0 -1991-10-02,220.9 -1991-10-03,211.8 -1991-10-04,212.6 -1991-10-05,193.4 -1991-10-06,181.9 -1991-10-07,180.0 -1991-10-08,178.7 -1991-10-09,183.7 -1991-10-10,179.2 -1991-10-11,178.2 -1991-10-12,187.2 -1991-10-13,182.5 -1991-10-14,186.1 -1991-10-15,177.7 -1991-10-16,180.3 -1991-10-17,168.2 -1991-10-18,156.5 -1991-10-19,153.0 -1991-10-20,155.5 -1991-10-21,166.8 -1991-10-22,182.7 -1991-10-23,192.0 -1991-10-24,228.0 -1991-10-25,237.4 -1991-10-26,248.1 -1991-10-27,246.3 -1991-10-28,267.5 -1991-10-29,268.8 -1991-10-30,258.0 -1991-10-31,228.1 -1991-11-01,226.8 -1991-11-02,214.8 -1991-11-03,183.1 -1991-11-04,173.9 -1991-11-05,172.6 -1991-11-06,183.4 -1991-11-07,190.0 -1991-11-08,196.7 -1991-11-09,193.6 -1991-11-10,191.5 -1991-11-11,193.6 -1991-11-12,188.5 -1991-11-13,177.4 -1991-11-14,179.6 -1991-11-15,169.4 -1991-11-16,161.9 -1991-11-17,160.8 -1991-11-18,159.6 -1991-11-19,154.6 -1991-11-20,149.6 -1991-11-21,141.5 -1991-11-22,135.7 -1991-11-23,133.0 -1991-11-24,128.1 -1991-11-25,130.9 -1991-11-26,140.4 -1991-11-27,148.9 -1991-11-28,150.4 -1991-11-29,156.6 -1991-11-30,163.2 -1991-12-01,167.6 -1991-12-02,166.2 -1991-12-03,177.7 -1991-12-04,185.2 -1991-12-05,186.3 -1991-12-06,191.6 -1991-12-07,202.9 -1991-12-08,219.6 -1991-12-09,249.7 -1991-12-10,252.5 -1991-12-11,237.8 -1991-12-12,235.8 -1991-12-13,246.6 -1991-12-14,222.2 -1991-12-15,206.5 -1991-12-16,225.1 -1991-12-17,192.0 -1991-12-18,189.0 -1991-12-19,181.8 -1991-12-20,191.8 -1991-12-21,186.2 -1991-12-22,216.0 -1991-12-23,218.9 -1991-12-24,222.3 -1991-12-25,250.8 -1991-12-26,252.2 -1991-12-27,243.7 -1991-12-28,263.3 -1991-12-29,246.0 -1991-12-30,263.2 -1991-12-31,235.0 -1992-01-01,240.3 -1992-01-02,251.6 -1992-01-03,270.4 -1992-01-04,265.6 -1992-01-05,257.7 -1992-01-06,245.7 -1992-01-07,253.7 -1992-01-08,253.1 -1992-01-09,248.8 -1992-01-10,225.1 -1992-01-11,202.4 -1992-01-12,182.4 -1992-01-13,177.3 -1992-01-14,172.8 -1992-01-15,167.7 -1992-01-16,156.1 -1992-01-17,150.6 -1992-01-18,147.0 -1992-01-19,155.0 -1992-01-20,162.9 -1992-01-21,168.7 -1992-01-22,167.6 -1992-01-23,167.6 -1992-01-24,172.9 -1992-01-25,195.9 -1992-01-26,202.7 -1992-01-27,214.0 -1992-01-28,230.6 -1992-01-29,258.3 -1992-01-30,272.0 -1992-01-31,293.5 -1992-02-01,275.5 -1992-02-02,280.1 -1992-02-03,263.2 -1992-02-04,244.4 -1992-02-05,239.4 -1992-02-06,232.1 -1992-02-07,234.0 -1992-02-08,218.9 -1992-02-09,229.3 -1992-02-10,234.5 -1992-02-11,218.4 -1992-02-12,204.9 -1992-02-13,193.0 -1992-02-14,198.7 -1992-02-15,197.9 -1992-02-16,195.2 -1992-02-17,201.7 -1992-02-18,201.6 -1992-02-19,191.2 -1992-02-20,199.0 -1992-02-21,212.3 -1992-02-22,229.5 -1992-02-23,244.0 -1992-02-24,250.1 -1992-02-25,248.3 -1992-02-26,248.0 -1992-02-27,239.5 -1992-02-28,228.8 -1992-02-29,213.9 -1992-03-01,196.8 -1992-03-02,178.3 -1992-03-03,160.3 -1992-03-04,157.1 -1992-03-05,152.4 -1992-03-06,153.1 -1992-03-07,157.2 -1992-03-08,179.4 -1992-03-09,169.4 -1992-03-10,167.0 -1992-03-11,163.1 -1992-03-12,161.7 -1992-03-13,163.3 -1992-03-14,162.9 -1992-03-15,167.2 -1992-03-16,159.7 -1992-03-17,157.6 -1992-03-18,159.0 -1992-03-19,166.1 -1992-03-20,167.2 -1992-03-21,166.4 -1992-03-22,159.7 -1992-03-23,165.3 -1992-03-24,174.7 -1992-03-25,185.1 -1992-03-26,177.9 -1992-03-27,180.0 -1992-03-28,185.4 -1992-03-29,192.4 -1992-03-30,182.1 -1992-03-31,191.2 -1992-04-01,185.9 -1992-04-02,161.2 -1992-04-03,159.8 -1992-04-04,154.0 -1992-04-05,154.7 -1992-04-06,143.0 -1992-04-07,141.8 -1992-04-08,151.6 -1992-04-09,140.2 -1992-04-10,141.2 -1992-04-11,144.0 -1992-04-12,144.7 -1992-04-13,147.1 -1992-04-14,155.2 -1992-04-15,150.3 -1992-04-16,158.9 -1992-04-17,185.6 -1992-04-18,204.8 -1992-04-19,207.7 -1992-04-20,206.5 -1992-04-21,197.1 -1992-04-22,184.8 -1992-04-23,174.7 -1992-04-24,162.9 -1992-04-25,155.7 -1992-04-26,145.0 -1992-04-27,139.1 -1992-04-28,130.4 -1992-04-29,132.5 -1992-04-30,129.9 -1992-05-01,133.0 -1992-05-02,138.0 -1992-05-03,127.8 -1992-05-04,137.0 -1992-05-05,135.4 -1992-05-06,133.0 -1992-05-07,131.5 -1992-05-08,145.3 -1992-05-09,129.2 -1992-05-10,126.9 -1992-05-11,128.8 -1992-05-12,127.8 -1992-05-13,128.2 -1992-05-14,129.3 -1992-05-15,124.8 -1992-05-16,118.5 -1992-05-17,115.5 -1992-05-18,120.2 -1992-05-19,134.5 -1992-05-20,140.3 -1992-05-21,145.5 -1992-05-22,148.4 -1992-05-23,145.6 -1992-05-24,136.9 -1992-05-25,126.1 -1992-05-26,122.1 -1992-05-27,117.7 -1992-05-28,113.9 -1992-05-29,108.1 -1992-05-30,101.7 -1992-05-31,101.8 -1992-06-01,101.4 -1992-06-02,105.0 -1992-06-03,110.1 -1992-06-04,111.5 -1992-06-05,118.4 -1992-06-06,123.2 -1992-06-07,119.2 -1992-06-08,118.7 -1992-06-09,122.3 -1992-06-10,129.3 -1992-06-11,133.1 -1992-06-12,130.6 -1992-06-13,127.5 -1992-06-14,127.2 -1992-06-15,124.7 -1992-06-16,122.9 -1992-06-17,134.4 -1992-06-18,119.8 -1992-06-19,119.1 -1992-06-20,116.8 -1992-06-21,121.3 -1992-06-22,120.0 -1992-06-23,125.5 -1992-06-24,121.8 -1992-06-25,127.4 -1992-06-26,115.3 -1992-06-27,113.1 -1992-06-28,112.0 -1992-06-29,114.4 -1992-06-30,127.0 -1992-07-01,134.1 -1992-07-02,141.2 -1992-07-03,141.1 -1992-07-04,141.3 -1992-07-05,150.6 -1992-07-06,155.4 -1992-07-07,159.9 -1992-07-08,156.6 -1992-07-09,165.0 -1992-07-10,175.7 -1992-07-11,173.9 -1992-07-12,177.8 -1992-07-13,181.4 -1992-07-14,181.3 -1992-07-15,173.3 -1992-07-16,162.8 -1992-07-17,140.4 -1992-07-18,130.2 -1992-07-19,122.3 -1992-07-20,127.5 -1992-07-21,111.8 -1992-07-22,107.7 -1992-07-23,101.9 -1992-07-24,103.2 -1992-07-25,101.5 -1992-07-26,104.3 -1992-07-27,103.4 -1992-07-28,98.5 -1992-07-29,101.1 -1992-07-30,99.9 -1992-07-31,106.3 -1992-08-01,113.6 -1992-08-02,128.2 -1992-08-03,135.1 -1992-08-04,134.7 -1992-08-05,134.3 -1992-08-06,141.9 -1992-08-07,145.4 -1992-08-08,147.5 -1992-08-09,141.1 -1992-08-10,136.3 -1992-08-11,133.9 -1992-08-12,131.7 -1992-08-13,132.3 -1992-08-14,132.0 -1992-08-15,133.8 -1992-08-16,140.0 -1992-08-17,137.1 -1992-08-18,132.7 -1992-08-19,138.0 -1992-08-20,159.1 -1992-08-21,127.8 -1992-08-22,124.4 -1992-08-23,113.2 -1992-08-24,104.0 -1992-08-25,100.1 -1992-08-26,94.4 -1992-08-27,95.8 -1992-08-28,97.6 -1992-08-29,97.1 -1992-08-30,96.6 -1992-08-31,99.0 -1992-09-01,101.6 -1992-09-02,106.3 -1992-09-03,108.9 -1992-09-04,106.4 -1992-09-05,121.2 -1992-09-06,141.3 -1992-09-07,133.6 -1992-09-08,130.8 -1992-09-09,118.5 -1992-09-10,118.4 -1992-09-11,120.1 -1992-09-12,118.7 -1992-09-13,128.8 -1992-09-14,123.1 -1992-09-15,121.5 -1992-09-16,127.9 -1992-09-17,120.6 -1992-09-18,118.5 -1992-09-19,113.4 -1992-09-20,107.1 -1992-09-21,110.4 -1992-09-22,112.3 -1992-09-23,112.6 -1992-09-24,112.6 -1992-09-25,116.5 -1992-09-26,117.3 -1992-09-27,121.6 -1992-09-28,116.6 -1992-09-29,117.7 -1992-09-30,116.2 -1992-10-01,118.2 -1992-10-02,119.5 -1992-10-03,120.2 -1992-10-04,126.1 -1992-10-05,130.1 -1992-10-06,137.3 -1992-10-07,135.8 -1992-10-08,125.4 -1992-10-09,121.0 -1992-10-10,112.1 -1992-10-11,110.0 -1992-10-12,106.5 -1992-10-13,108.2 -1992-10-14,104.9 -1992-10-15,97.8 -1992-10-16,99.9 -1992-10-17,105.8 -1992-10-18,111.4 -1992-10-19,123.4 -1992-10-20,131.9 -1992-10-21,139.2 -1992-10-22,149.2 -1992-10-23,140.3 -1992-10-24,145.1 -1992-10-25,159.4 -1992-10-26,167.9 -1992-10-27,168.9 -1992-10-28,172.3 -1992-10-29,161.6 -1992-10-30,155.8 -1992-10-31,147.3 -1992-11-01,144.8 -1992-11-02,138.8 -1992-11-03,132.9 -1992-11-04,140.4 -1992-11-05,133.6 -1992-11-06,130.5 -1992-11-07,132.4 -1992-11-08,129.7 -1992-11-09,129.9 -1992-11-10,133.7 -1992-11-11,132.0 -1992-11-12,124.7 -1992-11-13,122.2 -1992-11-14,123.4 -1992-11-15,124.1 -1992-11-16,133.7 -1992-11-17,148.9 -1992-11-18,158.2 -1992-11-19,157.1 -1992-11-20,155.0 -1992-11-21, -1992-11-22,162.0 -1992-11-23,171.7 -1992-11-24,169.4 -1992-11-25,162.4 -1992-11-26,158.2 -1992-11-27,152.6 -1992-11-28,144.7 -1992-11-29,136.0 -1992-11-30,135.9 -1992-12-01,127.8 -1992-12-02,126.7 -1992-12-03,121.9 -1992-12-04,116.4 -1992-12-05,112.9 -1992-12-06,116.3 -1992-12-07,116.5 -1992-12-08,125.2 -1992-12-09,130.0 -1992-12-10,137.9 -1992-12-11,159.4 -1992-12-12,163.5 -1992-12-13,167.9 -1992-12-14,162.0 -1992-12-15,150.6 -1992-12-16,146.0 -1992-12-17,145.6 -1992-12-18,145.0 -1992-12-19,142.3 -1992-12-20,143.2 -1992-12-21,140.7 -1992-12-22,137.5 -1992-12-23,139.2 -1992-12-24,131.8 -1992-12-25,131.8 -1992-12-26,127.0 -1992-12-27,120.9 -1992-12-28,123.1 -1992-12-29,121.0 -1992-12-30,121.5 -1992-12-31,125.4 -1993-01-01,118.3 -1993-01-02,117.4 -1993-01-03,120.6 -1993-01-04,117.1 -1993-01-05,120.8 -1993-01-06,125.8 -1993-01-07,126.3 -1993-01-08,128.6 -1993-01-09,124.5 -1993-01-10,127.7 -1993-01-11,127.4 -1993-01-12,135.6 -1993-01-13,136.6 -1993-01-14,128.8 -1993-01-15,121.9 -1993-01-16,129.1 -1993-01-17,121.9 -1993-01-18,117.7 -1993-01-19,112.7 -1993-01-20,106.5 -1993-01-21,103.3 -1993-01-22,101.0 -1993-01-23,102.7 -1993-01-24,101.6 -1993-01-25,102.6 -1993-01-26,103.3 -1993-01-27,107.6 -1993-01-28,108.6 -1993-01-29,110.7 -1993-01-30,109.6 -1993-01-31,115.6 -1993-02-01,121.5 -1993-02-02,124.7 -1993-02-03,133.0 -1993-02-04,143.2 -1993-02-05,155.6 -1993-02-06,178.8 -1993-02-07,171.2 -1993-02-08,183.4 -1993-02-09,180.3 -1993-02-10,175.0 -1993-02-11,168.8 -1993-02-12,144.9 -1993-02-13,131.7 -1993-02-14,137.9 -1993-02-15,131.6 -1993-02-16,130.5 -1993-02-17,121.4 -1993-02-18,123.2 -1993-02-19,113.4 -1993-02-20,120.6 -1993-02-21,120.3 -1993-02-22,130.3 -1993-02-23,129.6 -1993-02-24,132.7 -1993-02-25,125.5 -1993-02-26,123.8 -1993-02-27,121.6 -1993-02-28,121.4 -1993-03-01,129.6 -1993-03-02,141.0 -1993-03-03,148.6 -1993-03-04,163.8 -1993-03-05,162.5 -1993-03-06,164.0 -1993-03-07,150.9 -1993-03-08,144.3 -1993-03-09,140.6 -1993-03-10,146.7 -1993-03-11,148.0 -1993-03-12,158.7 -1993-03-13,139.9 -1993-03-14,134.2 -1993-03-15,129.7 -1993-03-16,120.5 -1993-03-17,122.4 -1993-03-18,126.2 -1993-03-19,133.4 -1993-03-20,127.0 -1993-03-21,129.7 -1993-03-22,126.6 -1993-03-23,120.1 -1993-03-24,114.4 -1993-03-25,116.0 -1993-03-26,116.4 -1993-03-27,122.4 -1993-03-28,125.8 -1993-03-29,128.3 -1993-03-30,128.7 -1993-03-31,124.9 -1993-04-01,123.5 -1993-04-02,120.7 -1993-04-03,117.0 -1993-04-04,116.4 -1993-04-05,118.9 -1993-04-06,133.1 -1993-04-07,130.0 -1993-04-08,143.5 -1993-04-09,136.0 -1993-04-10,139.2 -1993-04-11,119.4 -1993-04-12,103.7 -1993-04-13,97.7 -1993-04-14,92.8 -1993-04-15,88.8 -1993-04-16,90.9 -1993-04-17,96.5 -1993-04-18,106.6 -1993-04-19,111.9 -1993-04-20,119.9 -1993-04-21,120.5 -1993-04-22,118.4 -1993-04-23,122.9 -1993-04-24,130.3 -1993-04-25,126.2 -1993-04-26,125.0 -1993-04-27,119.6 -1993-04-28,115.2 -1993-04-29,108.1 -1993-04-30,107.4 -1993-05-01,104.2 -1993-05-02,104.7 -1993-05-03,108.9 -1993-05-04,112.4 -1993-05-05,120.0 -1993-05-06,122.2 -1993-05-07,133.0 -1993-05-08,131.2 -1993-05-09,131.5 -1993-05-10,136.8 -1993-05-11,134.7 -1993-05-12,129.0 -1993-05-13,122.4 -1993-05-14,114.6 -1993-05-15,106.7 -1993-05-16,101.1 -1993-05-17,98.4 -1993-05-18,93.5 -1993-05-19,93.1 -1993-05-20,93.4 -1993-05-21,93.3 -1993-05-22,94.1 -1993-05-23,97.3 -1993-05-24,100.9 -1993-05-25,102.4 -1993-05-26,110.4 -1993-05-27,122.7 -1993-05-28,129.2 -1993-05-29,132.5 -1993-05-30,144.1 -1993-05-31,142.1 -1993-06-01,140.4 -1993-06-02,143.4 -1993-06-03,140.4 -1993-06-04,133.7 -1993-06-05,137.7 -1993-06-06,131.3 -1993-06-07,115.7 -1993-06-08,115.2 -1993-06-09,118.9 -1993-06-10,116.0 -1993-06-11,104.9 -1993-06-12,96.2 -1993-06-13,89.4 -1993-06-14,86.4 -1993-06-15,84.6 -1993-06-16,85.0 -1993-06-17,86.1 -1993-06-18,87.4 -1993-06-19,88.8 -1993-06-20,94.1 -1993-06-21,94.0 -1993-06-22,99.8 -1993-06-23,113.1 -1993-06-24,125.4 -1993-06-25,122.6 -1993-06-26,126.0 -1993-06-27,131.7 -1993-06-28,127.8 -1993-06-29,126.7 -1993-06-30,120.3 -1993-07-01,111.8 -1993-07-02,113.6 -1993-07-03,114.2 -1993-07-04,110.1 -1993-07-05,103.9 -1993-07-06,98.4 -1993-07-07,96.5 -1993-07-08,96.4 -1993-07-09,93.2 -1993-07-10,89.0 -1993-07-11,85.8 -1993-07-12,88.7 -1993-07-13,89.5 -1993-07-14,95.7 -1993-07-15,96.3 -1993-07-16,100.3 -1993-07-17,102.6 -1993-07-18,103.7 -1993-07-19,104.1 -1993-07-20,105.6 -1993-07-21,108.9 -1993-07-22,111.2 -1993-07-23,113.3 -1993-07-24,109.8 -1993-07-25,105.1 -1993-07-26,106.8 -1993-07-27,106.4 -1993-07-28,104.6 -1993-07-29,103.5 -1993-07-30,100.8 -1993-07-31,99.1 -1993-08-01,102.8 -1993-08-02,103.7 -1993-08-03,100.8 -1993-08-04,98.9 -1993-08-05,97.0 -1993-08-06,97.1 -1993-08-07,93.8 -1993-08-08,93.4 -1993-08-09,99.1 -1993-08-10,104.5 -1993-08-11,111.2 -1993-08-12,103.2 -1993-08-13,99.2 -1993-08-14,94.6 -1993-08-15,92.8 -1993-08-16,92.4 -1993-08-17,95.1 -1993-08-18,94.3 -1993-08-19,93.9 -1993-08-20,93.8 -1993-08-21,97.0 -1993-08-22,96.2 -1993-08-23,94.8 -1993-08-24,92.5 -1993-08-25,90.6 -1993-08-26,90.2 -1993-08-27,89.4 -1993-08-28,90.2 -1993-08-29,91.7 -1993-08-30,90.7 -1993-08-31,90.6 -1993-09-01,87.1 -1993-09-02,82.6 -1993-09-03,80.9 -1993-09-04,80.5 -1993-09-05,81.0 -1993-09-06,80.2 -1993-09-07,79.6 -1993-09-08,80.2 -1993-09-09,80.1 -1993-09-10,80.1 -1993-09-11,79.8 -1993-09-12,79.5 -1993-09-13,81.1 -1993-09-14,82.6 -1993-09-15,85.6 -1993-09-16,89.0 -1993-09-17,85.9 -1993-09-18,86.0 -1993-09-19,85.0 -1993-09-20,80.3 -1993-09-21,80.6 -1993-09-22,79.8 -1993-09-23,82.0 -1993-09-24,90.0 -1993-09-25,96.5 -1993-09-26,106.8 -1993-09-27,104.9 -1993-09-28,111.7 -1993-09-29,116.8 -1993-09-30,120.9 -1993-10-01,117.1 -1993-10-02,126.9 -1993-10-03,124.8 -1993-10-04,121.5 -1993-10-05,123.7 -1993-10-06,118.0 -1993-10-07,116.6 -1993-10-08,113.1 -1993-10-09,110.1 -1993-10-10,107.1 -1993-10-11,102.3 -1993-10-12,97.3 -1993-10-13,94.5 -1993-10-14,90.8 -1993-10-15,93.5 -1993-10-16,90.3 -1993-10-17,89.4 -1993-10-18,86.7 -1993-10-19,88.1 -1993-10-20,93.5 -1993-10-21,94.2 -1993-10-22,91.3 -1993-10-23,91.4 -1993-10-24,90.6 -1993-10-25,86.0 -1993-10-26,87.4 -1993-10-27,86.0 -1993-10-28,87.3 -1993-10-29,90.5 -1993-10-30,90.0 -1993-10-31,90.1 -1993-11-01,90.0 -1993-11-02,91.8 -1993-11-03,92.4 -1993-11-04,94.1 -1993-11-05,94.8 -1993-11-06,94.9 -1993-11-07,93.5 -1993-11-08,90.2 -1993-11-09,88.7 -1993-11-10,88.2 -1993-11-11,87.0 -1993-11-12,88.9 -1993-11-13,92.2 -1993-11-14,92.3 -1993-11-15,99.9 -1993-11-16,98.2 -1993-11-17,97.7 -1993-11-18,100.2 -1993-11-19,98.7 -1993-11-20,98.0 -1993-11-21,94.8 -1993-11-22,96.8 -1993-11-23,97.9 -1993-11-24,97.5 -1993-11-25,94.7 -1993-11-26,90.8 -1993-11-27,87.3 -1993-11-28,90.7 -1993-11-29,91.2 -1993-11-30,100.8 -1993-12-01,105.6 -1993-12-02,101.3 -1993-12-03,102.6 -1993-12-04,101.6 -1993-12-05,98.3 -1993-12-06,99.9 -1993-12-07,103.8 -1993-12-08,101.9 -1993-12-09,95.4 -1993-12-10,93.2 -1993-12-11,89.7 -1993-12-12,88.1 -1993-12-13,85.1 -1993-12-14,85.1 -1993-12-15,82.8 -1993-12-16,81.9 -1993-12-17,81.1 -1993-12-18,82.4 -1993-12-19,84.2 -1993-12-20,88.1 -1993-12-21,89.9 -1993-12-22,96.6 -1993-12-23,101.6 -1993-12-24,107.5 -1993-12-25,115.2 -1993-12-26,120.5 -1993-12-27,135.8 -1993-12-28,129.2 -1993-12-29,124.4 -1993-12-30,138.0 -1993-12-31,136.2 -1994-01-01,143.4 -1994-01-02,141.4 -1994-01-03,128.7 -1994-01-04,124.6 -1994-01-05,132.4 -1994-01-06,127.7 -1994-01-07,122.1 -1994-01-08,118.9 -1994-01-09,113.1 -1994-01-10,106.5 -1994-01-11,97.8 -1994-01-12,94.6 -1994-01-13,91.9 -1994-01-14,87.3 -1994-01-15,92.6 -1994-01-16,97.0 -1994-01-17,102.0 -1994-01-18,97.5 -1994-01-19,99.5 -1994-01-20,101.6 -1994-01-21,107.3 -1994-01-22,109.5 -1994-01-23,114.6 -1994-01-24,125.1 -1994-01-25,128.1 -1994-01-26,123.9 -1994-01-27,116.8 -1994-01-28,115.7 -1994-01-29,98.9 -1994-01-30,96.1 -1994-01-31,94.7 -1994-02-01,91.7 -1994-02-02,93.5 -1994-02-03,95.1 -1994-02-04,92.7 -1994-02-05,90.6 -1994-02-06,92.2 -1994-02-07,93.3 -1994-02-08,92.6 -1994-02-09,98.3 -1994-02-10,91.8 -1994-02-11,90.7 -1994-02-12,95.1 -1994-02-13,95.4 -1994-02-14,98.9 -1994-02-15,101.3 -1994-02-16,102.3 -1994-02-17,103.9 -1994-02-18,103.9 -1994-02-19,105.6 -1994-02-20,105.2 -1994-02-21,103.1 -1994-02-22,104.4 -1994-02-23,105.1 -1994-02-24,102.9 -1994-02-25,94.8 -1994-02-26,92.6 -1994-02-27,93.0 -1994-02-28,90.8 -1994-03-01,92.4 -1994-03-02,96.3 -1994-03-03,99.2 -1994-03-04,96.3 -1994-03-05,94.2 -1994-03-06,94.1 -1994-03-07,90.0 -1994-03-08,89.9 -1994-03-09,88.7 -1994-03-10,86.8 -1994-03-11,87.0 -1994-03-12,91.7 -1994-03-13,89.1 -1994-03-14,86.2 -1994-03-15,86.5 -1994-03-16,85.3 -1994-03-17,84.3 -1994-03-18,85.9 -1994-03-19,88.3 -1994-03-20,87.9 -1994-03-21,90.0 -1994-03-22,90.5 -1994-03-23,91.2 -1994-03-24,92.1 -1994-03-25,90.4 -1994-03-26,88.1 -1994-03-27,88.0 -1994-03-28,87.3 -1994-03-29,85.8 -1994-03-30,86.1 -1994-03-31,84.9 -1994-04-01,82.4 -1994-04-02,79.3 -1994-04-03,77.4 -1994-04-04,77.2 -1994-04-05,77.2 -1994-04-06,73.3 -1994-04-07,73.0 -1994-04-08,72.9 -1994-04-09,72.9 -1994-04-10,75.7 -1994-04-11,74.6 -1994-04-12,74.2 -1994-04-13,74.3 -1994-04-14,79.9 -1994-04-15,80.6 -1994-04-16,82.3 -1994-04-17,82.5 -1994-04-18,84.9 -1994-04-19,86.2 -1994-04-20,87.0 -1994-04-21,87.6 -1994-04-22,86.3 -1994-04-23,86.1 -1994-04-24,84.3 -1994-04-25,83.8 -1994-04-26,82.0 -1994-04-27,79.0 -1994-04-28,78.4 -1994-04-29,78.9 -1994-04-30,76.0 -1994-05-01,76.3 -1994-05-02,77.1 -1994-05-03,75.6 -1994-05-04,74.4 -1994-05-05,74.4 -1994-05-06,75.3 -1994-05-07,75.2 -1994-05-08,75.8 -1994-05-09,78.8 -1994-05-10,81.4 -1994-05-11,83.6 -1994-05-12,89.2 -1994-05-13,91.4 -1994-05-14,92.1 -1994-05-15,93.4 -1994-05-16,93.3 -1994-05-17,97.2 -1994-05-18,95.8 -1994-05-19,92.7 -1994-05-20,91.9 -1994-05-21,89.8 -1994-05-22,86.7 -1994-05-23,83.6 -1994-05-24,79.9 -1994-05-25,76.1 -1994-05-26,73.4 -1994-05-27,72.1 -1994-05-28,71.4 -1994-05-29,71.4 -1994-05-30,71.3 -1994-05-31,71.1 -1994-06-01,69.6 -1994-06-02,69.9 -1994-06-03,70.3 -1994-06-04,69.5 -1994-06-05,70.3 -1994-06-06,72.7 -1994-06-07,79.4 -1994-06-08,82.9 -1994-06-09,85.5 -1994-06-10,88.0 -1994-06-11,89.1 -1994-06-12,89.0 -1994-06-13,87.7 -1994-06-14,88.0 -1994-06-15,91.0 -1994-06-16,90.8 -1994-06-17,86.6 -1994-06-18,80.9 -1994-06-19,79.8 -1994-06-20,78.9 -1994-06-21,76.8 -1994-06-22,74.6 -1994-06-23,75.5 -1994-06-24,75.2 -1994-06-25,75.5 -1994-06-26,76.3 -1994-06-27,75.4 -1994-06-28,76.4 -1994-06-29,81.4 -1994-06-30,85.4 -1994-07-01,89.7 -1994-07-02,85.6 -1994-07-03,89.3 -1994-07-04,87.4 -1994-07-05,86.2 -1994-07-06,87.1 -1994-07-07,91.1 -1994-07-08,88.7 -1994-07-09,88.8 -1994-07-10,88.9 -1994-07-11,88.5 -1994-07-12,85.7 -1994-07-13,84.1 -1994-07-14,84.6 -1994-07-15,85.7 -1994-07-16,85.1 -1994-07-17,83.0 -1994-07-18,82.7 -1994-07-19,80.1 -1994-07-20,79.4 -1994-07-21,79.8 -1994-07-22,80.1 -1994-07-23,78.2 -1994-07-24,77.7 -1994-07-25,77.8 -1994-07-26,76.3 -1994-07-27,76.6 -1994-07-28,77.1 -1994-07-29,78.0 -1994-07-30,77.6 -1994-07-31,76.8 -1994-08-01,76.2 -1994-08-02,77.2 -1994-08-03,78.7 -1994-08-04,77.4 -1994-08-05,77.8 -1994-08-06,77.5 -1994-08-07,77.9 -1994-08-08,75.9 -1994-08-09,77.4 -1994-08-10,79.7 -1994-08-11,78.7 -1994-08-12,82.9 -1994-08-13,86.7 -1994-08-14,91.2 -1994-08-15,83.5 -1994-08-16,78.8 -1994-08-17,79.5 -1994-08-18,79.3 -1994-08-19,77.1 -1994-08-20,74.0 -1994-08-21,72.7 -1994-08-22,72.2 -1994-08-23,73.5 -1994-08-24,73.5 -1994-08-25,72.5 -1994-08-26,73.7 -1994-08-27,72.5 -1994-08-28,72.5 -1994-08-29,79.1 -1994-08-30,84.7 -1994-08-31,83.8 -1994-09-01,87.3 -1994-09-02,94.9 -1994-09-03,98.2 -1994-09-04,95.8 -1994-09-05,95.1 -1994-09-06,95.0 -1994-09-07,92.1 -1994-09-08,89.6 -1994-09-09,87.3 -1994-09-10,82.8 -1994-09-11,82.0 -1994-09-12,78.2 -1994-09-13,76.5 -1994-09-14,74.8 -1994-09-15,72.3 -1994-09-16,71.6 -1994-09-17,71.0 -1994-09-18,72.5 -1994-09-19,70.8 -1994-09-20,70.3 -1994-09-21,70.4 -1994-09-22,71.2 -1994-09-23,71.8 -1994-09-24,73.3 -1994-09-25,76.6 -1994-09-26,77.4 -1994-09-27,75.0 -1994-09-28,74.2 -1994-09-29,74.7 -1994-09-30,74.7 -1994-10-01,74.7 -1994-10-02,74.6 -1994-10-03,74.3 -1994-10-04,74.7 -1994-10-05,79.4 -1994-10-06,84.2 -1994-10-07,83.7 -1994-10-08,86.0 -1994-10-09,86.9 -1994-10-10,86.6 -1994-10-11,87.2 -1994-10-12,87.7 -1994-10-13,92.7 -1994-10-14,92.1 -1994-10-15,92.2 -1994-10-16,90.9 -1994-10-17,91.0 -1994-10-18,89.8 -1994-10-19,89.9 -1994-10-20,89.3 -1994-10-21,87.0 -1994-10-22,84.7 -1994-10-23,83.3 -1994-10-24,81.3 -1994-10-25,88.5 -1994-10-26,91.5 -1994-10-27,91.9 -1994-10-28,96.1 -1994-10-29,96.9 -1994-10-30,96.4 -1994-10-31,95.2 -1994-11-01,90.9 -1994-11-02,90.0 -1994-11-03,85.9 -1994-11-04,82.6 -1994-11-05,82.0 -1994-11-06,79.7 -1994-11-07,80.4 -1994-11-08,78.6 -1994-11-09,77.4 -1994-11-10,78.5 -1994-11-11,77.5 -1994-11-12,78.5 -1994-11-13,79.5 -1994-11-14,77.0 -1994-11-15,77.2 -1994-11-16,77.2 -1994-11-17,77.3 -1994-11-18,78.1 -1994-11-19,76.6 -1994-11-20,76.9 -1994-11-21,76.0 -1994-11-22,74.5 -1994-11-23,75.6 -1994-11-24,76.6 -1994-11-25,79.4 -1994-11-26,81.0 -1994-11-27,78.3 -1994-11-28,77.6 -1994-11-29,77.4 -1994-11-30,76.1 -1994-12-01,76.9 -1994-12-02,76.8 -1994-12-03,79.5 -1994-12-04,79.5 -1994-12-05,78.4 -1994-12-06,76.2 -1994-12-07,77.7 -1994-12-08,78.8 -1994-12-09,84.0 -1994-12-10,83.8 -1994-12-11,92.3 -1994-12-12,96.4 -1994-12-13,93.8 -1994-12-14,91.7 -1994-12-15,90.3 -1994-12-16,90.1 -1994-12-17,88.9 -1994-12-18,84.6 -1994-12-19,82.3 -1994-12-20,79.8 -1994-12-21,79.6 -1994-12-22,79.5 -1994-12-23,77.2 -1994-12-24,77.0 -1994-12-25,78.0 -1994-12-26,77.2 -1994-12-27,73.4 -1994-12-28,76.3 -1994-12-29,77.0 -1994-12-30,74.0 -1994-12-31,74.8 -1995-01-01,72.9 -1995-01-02,74.8 -1995-01-03,74.3 -1995-01-04,74.4 -1995-01-05,73.8 -1995-01-06,72.0 -1995-01-07,72.2 -1995-01-08,71.3 -1995-01-09,71.4 -1995-01-10,70.9 -1995-01-11,72.8 -1995-01-12,73.7 -1995-01-13,72.5 -1995-01-14,74.7 -1995-01-15,78.0 -1995-01-16,80.1 -1995-01-17,80.8 -1995-01-18,83.9 -1995-01-19,87.3 -1995-01-20,89.6 -1995-01-21,93.4 -1995-01-22,92.5 -1995-01-23,93.0 -1995-01-24,94.1 -1995-01-25,86.8 -1995-01-26,83.1 -1995-01-27,85.8 -1995-01-28,80.2 -1995-01-29,82.1 -1995-01-30,83.9 -1995-01-31,84.2 -1995-02-01,84.6 -1995-02-02,83.5 -1995-02-03,80.4 -1995-02-04,83.6 -1995-02-05,78.8 -1995-02-06,82.0 -1995-02-07,81.5 -1995-02-08,83.2 -1995-02-09,81.5 -1995-02-10,79.3 -1995-02-11,79.0 -1995-02-12,79.1 -1995-02-13,83.5 -1995-02-14,80.4 -1995-02-15,82.9 -1995-02-16,83.5 -1995-02-17,86.9 -1995-02-18,86.7 -1995-02-19,92.4 -1995-02-20,88.8 -1995-02-21,87.1 -1995-02-22,83.4 -1995-02-23,82.9 -1995-02-24,81.7 -1995-02-25,81.6 -1995-02-26,84.5 -1995-02-27,85.9 -1995-02-28,89.1 -1995-03-01,88.3 -1995-03-02,88.7 -1995-03-03,89.4 -1995-03-04,87.6 -1995-03-05,82.9 -1995-03-06,82.2 -1995-03-07,82.7 -1995-03-08,79.6 -1995-03-09,75.8 -1995-03-10,78.1 -1995-03-11,75.1 -1995-03-12,75.3 -1995-03-13,76.6 -1995-03-14,78.1 -1995-03-15,80.2 -1995-03-16,83.3 -1995-03-17,82.5 -1995-03-18,90.9 -1995-03-19,83.4 -1995-03-20,88.3 -1995-03-21,89.3 -1995-03-22,92.9 -1995-03-23,93.6 -1995-03-24,94.4 -1995-03-25,91.8 -1995-03-26,89.9 -1995-03-27,88.6 -1995-03-28,83.4 -1995-03-29,80.7 -1995-03-30,79.5 -1995-03-31,76.7 -1995-04-01,75.3 -1995-04-02,76.2 -1995-04-03,75.2 -1995-04-04,73.1 -1995-04-05,72.2 -1995-04-06,71.9 -1995-04-07,70.7 -1995-04-08,72.0 -1995-04-09,72.9 -1995-04-10,74.8 -1995-04-11,78.0 -1995-04-12,82.3 -1995-04-13,83.3 -1995-04-14,88.9 -1995-04-15,92.0 -1995-04-16,89.7 -1995-04-17,89.6 -1995-04-18,90.7 -1995-04-19,92.6 -1995-04-20,87.2 -1995-04-21,85.5 -1995-04-22,84.8 -1995-04-23,77.6 -1995-04-24,73.4 -1995-04-25,71.3 -1995-04-26,70.2 -1995-04-27,69.1 -1995-04-28,68.6 -1995-04-29,69.0 -1995-04-30,68.2 -1995-05-01,69.7 -1995-05-02,69.9 -1995-05-03,70.2 -1995-05-04,71.8 -1995-05-05,74.2 -1995-05-06,77.8 -1995-05-07,79.0 -1995-05-08,79.4 -1995-05-09,79.2 -1995-05-10,79.3 -1995-05-11,78.4 -1995-05-12,82.4 -1995-05-13,82.2 -1995-05-14,81.6 -1995-05-15,87.8 -1995-05-16,95.9 -1995-05-17,97.3 -1995-05-18,93.4 -1995-05-19,88.3 -1995-05-20,82.8 -1995-05-21,77.0 -1995-05-22,72.6 -1995-05-23,70.4 -1995-05-24,68.8 -1995-05-25,68.9 -1995-05-26,68.1 -1995-05-27,67.5 -1995-05-28,68.4 -1995-05-29,68.7 -1995-05-30,69.4 -1995-05-31,70.9 -1995-06-01,72.5 -1995-06-02,75.4 -1995-06-03,76.8 -1995-06-04,81.4 -1995-06-05,84.2 -1995-06-06,81.8 -1995-06-07,85.0 -1995-06-08,86.8 -1995-06-09,89.0 -1995-06-10,87.0 -1995-06-11,85.1 -1995-06-12,83.3 -1995-06-13,79.2 -1995-06-14,78.1 -1995-06-15,75.6 -1995-06-16,73.1 -1995-06-17,72.1 -1995-06-18,71.8 -1995-06-19,73.7 -1995-06-20,74.2 -1995-06-21,74.7 -1995-06-22,75.5 -1995-06-23,74.3 -1995-06-24,73.4 -1995-06-25,73.2 -1995-06-26,73.2 -1995-06-27,74.7 -1995-06-28,77.0 -1995-06-29,80.1 -1995-06-30,80.8 -1995-07-01,81.5 -1995-07-02,80.3 -1995-07-03,80.7 -1995-07-04,83.5 -1995-07-05,82.9 -1995-07-06,83.6 -1995-07-07,83.3 -1995-07-08,84.2 -1995-07-09,82.9 -1995-07-10,79.9 -1995-07-11,78.6 -1995-07-12,76.7 -1995-07-13,74.9 -1995-07-14,76.8 -1995-07-15,76.8 -1995-07-16,75.9 -1995-07-17,74.7 -1995-07-18,74.4 -1995-07-19,72.8 -1995-07-20,72.0 -1995-07-21,70.8 -1995-07-22,71.1 -1995-07-23,70.7 -1995-07-24,71.5 -1995-07-25,72.0 -1995-07-26,71.6 -1995-07-27,72.7 -1995-07-28,72.6 -1995-07-29,72.0 -1995-07-30,71.9 -1995-07-31,72.9 -1995-08-01,74.8 -1995-08-02,75.7 -1995-08-03,75.5 -1995-08-04,75.1 -1995-08-05,77.2 -1995-08-06,77.3 -1995-08-07,75.8 -1995-08-08,75.6 -1995-08-09,75.5 -1995-08-10,75.0 -1995-08-11,74.9 -1995-08-12,73.8 -1995-08-13,72.7 -1995-08-14,71.9 -1995-08-15,73.2 -1995-08-16,72.3 -1995-08-17,71.5 -1995-08-18,73.6 -1995-08-19,73.4 -1995-08-20,73.0 -1995-08-21,72.7 -1995-08-22,71.9 -1995-08-23,75.9 -1995-08-24,78.8 -1995-08-25,78.8 -1995-08-26,78.9 -1995-08-27,81.6 -1995-08-28,83.2 -1995-08-29,79.7 -1995-08-30,78.9 -1995-08-31,77.0 -1995-09-01,75.0 -1995-09-02,74.6 -1995-09-03,74.9 -1995-09-04,75.6 -1995-09-05,75.9 -1995-09-06,73.0 -1995-09-07,71.2 -1995-09-08,70.1 -1995-09-09,69.7 -1995-09-10,68.9 -1995-09-11,68.9 -1995-09-12,69.5 -1995-09-13,70.1 -1995-09-14,70.3 -1995-09-15,70.9 -1995-09-16,70.4 -1995-09-17,70.5 -1995-09-18,72.3 -1995-09-19,74.3 -1995-09-20,76.2 -1995-09-21,74.5 -1995-09-22,75.1 -1995-09-23,75.5 -1995-09-24,74.2 -1995-09-25,74.5 -1995-09-26,73.9 -1995-09-27,72.6 -1995-09-28,73.0 -1995-09-29,74.0 -1995-09-30,73.0 -1995-10-01,72.8 -1995-10-02,72.7 -1995-10-03,71.1 -1995-10-04,70.8 -1995-10-05,69.8 -1995-10-06,70.9 -1995-10-07,72.8 -1995-10-08,74.1 -1995-10-09,76.0 -1995-10-10,82.1 -1995-10-11,89.1 -1995-10-12,91.8 -1995-10-13,87.5 -1995-10-14,86.7 -1995-10-15,82.5 -1995-10-16,85.0 -1995-10-17,84.1 -1995-10-18,80.9 -1995-10-19,79.8 -1995-10-20,81.8 -1995-10-21,80.3 -1995-10-22,79.7 -1995-10-23,75.9 -1995-10-24,73.5 -1995-10-25,73.1 -1995-10-26,73.0 -1995-10-27,73.1 -1995-10-28,72.9 -1995-10-29,72.8 -1995-10-30,72.3 -1995-10-31,72.2 -1995-11-01,73.3 -1995-11-02,72.1 -1995-11-03,71.4 -1995-11-04,72.0 -1995-11-05,73.9 -1995-11-06,73.5 -1995-11-07,73.2 -1995-11-08,74.8 -1995-11-09,75.7 -1995-11-10,76.5 -1995-11-11,75.9 -1995-11-12,74.6 -1995-11-13,71.5 -1995-11-14,73.4 -1995-11-15,75.0 -1995-11-16,74.2 -1995-11-17,73.4 -1995-11-18,73.4 -1995-11-19,72.2 -1995-11-20,71.5 -1995-11-21,71.1 -1995-11-22,71.0 -1995-11-23,70.9 -1995-11-24,70.4 -1995-11-25,69.9 -1995-11-26,70.8 -1995-11-27,68.9 -1995-11-28,71.5 -1995-11-29,70.4 -1995-11-30,72.3 -1995-12-01,70.7 -1995-12-02,71.2 -1995-12-03,71.2 -1995-12-04,70.7 -1995-12-05,71.4 -1995-12-06,71.8 -1995-12-07,71.9 -1995-12-08,71.8 -1995-12-09,71.6 -1995-12-10,71.3 -1995-12-11,71.1 -1995-12-12,70.0 -1995-12-13,70.4 -1995-12-14,67.6 -1995-12-15,68.0 -1995-12-16,67.7 -1995-12-17,67.1 -1995-12-18,66.4 -1995-12-19,67.0 -1995-12-20,67.3 -1995-12-21,67.8 -1995-12-22,68.9 -1995-12-23,69.9 -1995-12-24,69.9 -1995-12-25,70.1 -1995-12-26,71.7 -1995-12-27,71.5 -1995-12-28,73.4 -1995-12-29,73.9 -1995-12-30,72.8 -1995-12-31,72.7 -1996-01-01,72.6 -1996-01-02,72.3 -1996-01-03,78.2 -1996-01-04,83.1 -1996-01-05,82.1 -1996-01-06,79.9 -1996-01-07,79.8 -1996-01-08,76.7 -1996-01-09,73.4 -1996-01-10,71.4 -1996-01-11,69.1 -1996-01-12,67.2 -1996-01-13,66.7 -1996-01-14,67.4 -1996-01-15,67.9 -1996-01-16,67.6 -1996-01-17,68.2 -1996-01-18,68.7 -1996-01-19,68.5 -1996-01-20,69.1 -1996-01-21,69.5 -1996-01-22,70.0 -1996-01-23,71.0 -1996-01-24,70.7 -1996-01-25,71.7 -1996-01-26,71.5 -1996-01-27,71.6 -1996-01-28,71.4 -1996-01-29,71.8 -1996-01-30,72.5 -1996-01-31,74.5 -1996-02-01,72.9 -1996-02-02,74.2 -1996-02-03,71.9 -1996-02-04,71.4 -1996-02-05,69.4 -1996-02-06,69.2 -1996-02-07,68.2 -1996-02-08,65.7 -1996-02-09,68.1 -1996-02-10,68.0 -1996-02-11,68.2 -1996-02-12,67.3 -1996-02-13,67.0 -1996-02-14,67.2 -1996-02-15,67.4 -1996-02-16,68.5 -1996-02-17,69.0 -1996-02-18,68.6 -1996-02-19,69.0 -1996-02-20,70.6 -1996-02-21,70.4 -1996-02-22,70.1 -1996-02-23,72.3 -1996-02-24,74.1 -1996-02-25,71.8 -1996-02-26,70.9 -1996-02-27,70.7 -1996-02-28,70.8 -1996-02-29,70.9 -1996-03-01,70.6 -1996-03-02,69.8 -1996-03-03,69.0 -1996-03-04,68.1 -1996-03-05,68.0 -1996-03-06,68.4 -1996-03-07,66.8 -1996-03-08,68.8 -1996-03-09,66.6 -1996-03-10,68.2 -1996-03-11,70.9 -1996-03-12,72.4 -1996-03-13,70.5 -1996-03-14,70.0 -1996-03-15,69.6 -1996-03-16,70.3 -1996-03-17,70.0 -1996-03-18,70.0 -1996-03-19,69.4 -1996-03-20,68.8 -1996-03-21,69.9 -1996-03-22,73.4 -1996-03-23,71.6 -1996-03-24,70.9 -1996-03-25,72.1 -1996-03-26,71.6 -1996-03-27,71.6 -1996-03-28,71.7 -1996-03-29,70.3 -1996-03-30,70.1 -1996-03-31,70.0 -1996-04-01,68.1 -1996-04-02,70.6 -1996-04-03,71.1 -1996-04-04,70.2 -1996-04-05,70.0 -1996-04-06,68.8 -1996-04-07,68.6 -1996-04-08,68.6 -1996-04-09,69.3 -1996-04-10,69.1 -1996-04-11,68.8 -1996-04-12,68.7 -1996-04-13,69.3 -1996-04-14,69.1 -1996-04-15,68.5 -1996-04-16,68.8 -1996-04-17,69.9 -1996-04-18,70.8 -1996-04-19,71.2 -1996-04-20,72.3 -1996-04-21,74.8 -1996-04-22,73.2 -1996-04-23,71.9 -1996-04-24,69.5 -1996-04-25,68.7 -1996-04-26,69.1 -1996-04-27,69.2 -1996-04-28,68.6 -1996-04-29,69.5 -1996-04-30,69.6 -1996-05-01,68.9 -1996-05-02,69.0 -1996-05-03,69.5 -1996-05-04,70.6 -1996-05-05,72.0 -1996-05-06,76.0 -1996-05-07,76.3 -1996-05-08,77.5 -1996-05-09,77.7 -1996-05-10,79.1 -1996-05-11,78.0 -1996-05-12,75.1 -1996-05-13,74.3 -1996-05-14,73.4 -1996-05-15,72.5 -1996-05-16,72.6 -1996-05-17,72.9 -1996-05-18,72.0 -1996-05-19,70.4 -1996-05-20,69.6 -1996-05-21,68.5 -1996-05-22,68.1 -1996-05-23,68.9 -1996-05-24,69.0 -1996-05-25,68.7 -1996-05-26,68.7 -1996-05-27,68.4 -1996-05-28,67.8 -1996-05-29,68.3 -1996-05-30,68.4 -1996-05-31,69.9 -1996-06-01,70.8 -1996-06-02,70.7 -1996-06-03,71.2 -1996-06-04,71.2 -1996-06-05,72.8 -1996-06-06,73.8 -1996-06-07,75.4 -1996-06-08,72.4 -1996-06-09,72.0 -1996-06-10,71.1 -1996-06-11,70.2 -1996-06-12,69.5 -1996-06-13,70.3 -1996-06-14,69.8 -1996-06-15,69.5 -1996-06-16,69.0 -1996-06-17,69.6 -1996-06-18,69.9 -1996-06-19,70.7 -1996-06-20,71.9 -1996-06-21,72.6 -1996-06-22,72.0 -1996-06-23,70.9 -1996-06-24,74.7 -1996-06-25,74.3 -1996-06-26,74.2 -1996-06-27,73.8 -1996-06-28,73.8 -1996-06-29,73.3 -1996-06-30,73.1 -1996-07-01,72.4 -1996-07-02,72.8 -1996-07-03,71.3 -1996-07-04,71.5 -1996-07-05,71.0 -1996-07-06,70.5 -1996-07-07,74.3 -1996-07-08,84.3 -1996-07-09,86.5 -1996-07-10,82.5 -1996-07-11,79.6 -1996-07-12,76.2 -1996-07-13,72.5 -1996-07-14,70.0 -1996-07-15,69.3 -1996-07-16,69.1 -1996-07-17,69.0 -1996-07-18,67.0 -1996-07-19,68.3 -1996-07-20,67.5 -1996-07-21,67.2 -1996-07-22,68.2 -1996-07-23,68.9 -1996-07-24,68.3 -1996-07-25,70.4 -1996-07-26,72.4 -1996-07-27,75.6 -1996-07-28,77.8 -1996-07-29,80.3 -1996-07-30,82.3 -1996-07-31,82.7 -1996-08-01,82.8 -1996-08-02,81.9 -1996-08-03,81.6 -1996-08-04,79.9 -1996-08-05,76.2 -1996-08-06,75.1 -1996-08-07,73.7 -1996-08-08,71.7 -1996-08-09,72.1 -1996-08-10,73.6 -1996-08-11,74.8 -1996-08-12,72.0 -1996-08-13,71.4 -1996-08-14,70.5 -1996-08-15,69.3 -1996-08-16,69.3 -1996-08-17,69.5 -1996-08-18,68.4 -1996-08-19,69.3 -1996-08-20,70.1 -1996-08-21,71.3 -1996-08-22,74.5 -1996-08-23,75.8 -1996-08-24,76.2 -1996-08-25,76.3 -1996-08-26,75.8 -1996-08-27,75.9 -1996-08-28,74.7 -1996-08-29,75.0 -1996-08-30,74.7 -1996-08-31,77.6 -1996-09-01,74.8 -1996-09-02,73.6 -1996-09-03,72.4 -1996-09-04,72.0 -1996-09-05,71.4 -1996-09-06,70.8 -1996-09-07,70.5 -1996-09-08,69.2 -1996-09-09,68.8 -1996-09-10,68.9 -1996-09-11,68.5 -1996-09-12,68.6 -1996-09-13,68.1 -1996-09-14,67.9 -1996-09-15,67.1 -1996-09-16,68.7 -1996-09-17,69.6 -1996-09-18,69.6 -1996-09-19,69.8 -1996-09-20,69.7 -1996-09-21,70.3 -1996-09-22,69.1 -1996-09-23,70.4 -1996-09-24,70.4 -1996-09-25,71.2 -1996-09-26,70.4 -1996-09-27,70.1 -1996-09-28,71.2 -1996-09-29,70.3 -1996-09-30,69.7 -1996-10-01,69.6 -1996-10-02,69.8 -1996-10-03,69.6 -1996-10-04,69.4 -1996-10-05,68.5 -1996-10-06,68.8 -1996-10-07,68.2 -1996-10-08,67.7 -1996-10-09,67.7 -1996-10-10,67.4 -1996-10-11,66.4 -1996-10-12,66.9 -1996-10-13,67.3 -1996-10-14,68.2 -1996-10-15,68.6 -1996-10-16,68.1 -1996-10-17,68.0 -1996-10-18,69.0 -1996-10-19,70.4 -1996-10-20,70.6 -1996-10-21,69.0 -1996-10-22,69.1 -1996-10-23, -1996-10-24,69.1 -1996-10-25,69.1 -1996-10-26,70.3 -1996-10-27,71.2 -1996-10-28,67.5 -1996-10-29,69.4 -1996-10-30,69.7 -1996-10-31,68.6 -1996-11-01,68.5 -1996-11-02,67.9 -1996-11-03,68.3 -1996-11-04,67.8 -1996-11-05,67.1 -1996-11-06,68.0 -1996-11-07,67.3 -1996-11-08,67.8 -1996-11-09,68.9 -1996-11-10,69.6 -1996-11-11,70.0 -1996-11-12,70.7 -1996-11-13,71.5 -1996-11-14,72.1 -1996-11-15,71.9 -1996-11-16,72.2 -1996-11-17,70.4 -1996-11-18,72.4 -1996-11-19,72.6 -1996-11-20,72.7 -1996-11-21,72.6 -1996-11-22,80.6 -1996-11-23,88.7 -1996-11-24,97.3 -1996-11-25,101.7 -1996-11-26,100.8 -1996-11-27,100.0 -1996-11-28,95.4 -1996-11-29,88.5 -1996-11-30,85.1 -1996-12-01,80.8 -1996-12-02,75.7 -1996-12-03,70.7 -1996-12-04,68.6 -1996-12-05,67.6 -1996-12-06,67.6 -1996-12-07,67.1 -1996-12-08,66.6 -1996-12-09,71.5 -1996-12-10,70.2 -1996-12-11,75.2 -1996-12-12,78.6 -1996-12-13,79.2 -1996-12-14,80.0 -1996-12-15,82.3 -1996-12-16,83.5 -1996-12-17,83.6 -1996-12-18,85.6 -1996-12-19,84.6 -1996-12-20,80.3 -1996-12-21,80.9 -1996-12-22,78.9 -1996-12-23,76.9 -1996-12-24,76.4 -1996-12-25,74.7 -1996-12-26,73.0 -1996-12-27,72.2 -1996-12-28,71.8 -1996-12-29,71.4 -1996-12-30,70.1 -1996-12-31,69.8 -1997-01-01,70.0 -1997-01-02,69.7 -1997-01-03,70.8 -1997-01-04,71.4 -1997-01-05,71.9 -1997-01-06,70.6 -1997-01-07,70.9 -1997-01-08,71.3 -1997-01-09,71.3 -1997-01-10,72.9 -1997-01-11,71.6 -1997-01-12,72.1 -1997-01-13,72.1 -1997-01-14,72.4 -1997-01-15,73.3 -1997-01-16,72.4 -1997-01-17,71.7 -1997-01-18,72.2 -1997-01-19,72.9 -1997-01-20,74.3 -1997-01-21,71.8 -1997-01-22,70.7 -1997-01-23,71.1 -1997-01-24,71.9 -1997-01-25,70.9 -1997-01-26,71.9 -1997-01-27,71.3 -1997-01-28,70.8 -1997-01-29,72.4 -1997-01-30,71.5 -1997-01-31,70.3 -1997-02-01,69.2 -1997-02-02,76.2 -1997-02-03,77.4 -1997-02-04,78.4 -1997-02-05,73.3 -1997-02-06,72.2 -1997-02-07,73.7 -1997-02-08,73.2 -1997-02-09,71.2 -1997-02-10,70.4 -1997-02-11,69.3 -1997-02-12,69.1 -1997-02-13,69.3 -1997-02-14,69.6 -1997-02-15,70.1 -1997-02-16,70.3 -1997-02-17,71.4 -1997-02-18,71.2 -1997-02-19,70.4 -1997-02-20,71.0 -1997-02-21,71.6 -1997-02-22,71.9 -1997-02-23,73.0 -1997-02-24,73.1 -1997-02-25,72.6 -1997-02-26,72.4 -1997-02-27,72.4 -1997-02-28,71.5 -1997-03-01,70.5 -1997-03-02,71.1 -1997-03-03,72.8 -1997-03-04,72.8 -1997-03-05,73.4 -1997-03-06,74.2 -1997-03-07,73.1 -1997-03-08,73.6 -1997-03-09,74.1 -1997-03-10,73.8 -1997-03-11,73.4 -1997-03-12,73.4 -1997-03-13,73.3 -1997-03-14,74.7 -1997-03-15,75.0 -1997-03-16,75.0 -1997-03-17,74.4 -1997-03-18,73.7 -1997-03-19,73.1 -1997-03-20,71.0 -1997-03-21,70.0 -1997-03-22,70.1 -1997-03-23,70.3 -1997-03-24,70.6 -1997-03-25,70.2 -1997-03-26,69.5 -1997-03-27,71.9 -1997-03-28,72.9 -1997-03-29,75.1 -1997-03-30,73.8 -1997-03-31,74.6 -1997-04-01,76.2 -1997-04-02,80.4 -1997-04-03,78.8 -1997-04-04,78.6 -1997-04-05,80.3 -1997-04-06,78.3 -1997-04-07,77.0 -1997-04-08,76.3 -1997-04-09,78.3 -1997-04-10,78.0 -1997-04-11,77.4 -1997-04-12,76.9 -1997-04-13,79.3 -1997-04-14,77.9 -1997-04-15,79.2 -1997-04-16,75.6 -1997-04-17,72.3 -1997-04-18,70.7 -1997-04-19,70.6 -1997-04-20,70.4 -1997-04-21,70.9 -1997-04-22,71.5 -1997-04-23,69.7 -1997-04-24,70.7 -1997-04-25,69.6 -1997-04-26,71.8 -1997-04-27,74.1 -1997-04-28,73.4 -1997-04-29,72.9 -1997-04-30,73.7 -1997-05-01,73.4 -1997-05-02,73.3 -1997-05-03,72.3 -1997-05-04,72.1 -1997-05-05,73.6 -1997-05-06,73.4 -1997-05-07,73.3 -1997-05-08,73.3 -1997-05-09,73.0 -1997-05-10,74.6 -1997-05-11,73.8 -1997-05-12,73.7 -1997-05-13,75.4 -1997-05-14,75.1 -1997-05-15,74.7 -1997-05-16,73.9 -1997-05-17,74.4 -1997-05-18,75.8 -1997-05-19,76.0 -1997-05-20,81.1 -1997-05-21,86.9 -1997-05-22,83.0 -1997-05-23,78.1 -1997-05-24,78.9 -1997-05-25,80.1 -1997-05-26,82.0 -1997-05-27,80.4 -1997-05-28,79.5 -1997-05-29,77.6 -1997-05-30,77.2 -1997-05-31,74.5 -1997-06-01,79.6 -1997-06-02,79.1 -1997-06-03,77.4 -1997-06-04,76.1 -1997-06-05,76.1 -1997-06-06,76.4 -1997-06-07,76.9 -1997-06-08,75.4 -1997-06-09,75.3 -1997-06-10,74.2 -1997-06-11,73.0 -1997-06-12,71.8 -1997-06-13,72.3 -1997-06-14,72.9 -1997-06-15,73.0 -1997-06-16,74.4 -1997-06-17,71.8 -1997-06-18,73.5 -1997-06-19,72.4 -1997-06-20,72.5 -1997-06-21,69.8 -1997-06-22,71.8 -1997-06-23,71.3 -1997-06-24,72.2 -1997-06-25,74.1 -1997-06-26,74.2 -1997-06-27,74.1 -1997-06-28,73.6 -1997-06-29,72.6 -1997-06-30,72.1 -1997-07-01,72.4 -1997-07-02,72.4 -1997-07-03,71.4 -1997-07-04,72.0 -1997-07-05,72.0 -1997-07-06,70.6 -1997-07-07,72.6 -1997-07-08,72.1 -1997-07-09,72.3 -1997-07-10,70.8 -1997-07-11,70.9 -1997-07-12,69.6 -1997-07-13,69.3 -1997-07-14,70.3 -1997-07-15,71.5 -1997-07-16,71.9 -1997-07-17,72.2 -1997-07-18,72.3 -1997-07-19,72.8 -1997-07-20,73.5 -1997-07-21,73.6 -1997-07-22,74.5 -1997-07-23,78.1 -1997-07-24,81.2 -1997-07-25,83.0 -1997-07-26,79.0 -1997-07-27,76.8 -1997-07-28,76.5 -1997-07-29,75.0 -1997-07-30,73.2 -1997-07-31,72.5 -1997-08-01,73.2 -1997-08-02,72.9 -1997-08-03,74.3 -1997-08-04,74.9 -1997-08-05,76.9 -1997-08-06,79.0 -1997-08-07,80.1 -1997-08-08,79.9 -1997-08-09,80.3 -1997-08-10,80.4 -1997-08-11,81.6 -1997-08-12,83.0 -1997-08-13,84.2 -1997-08-14,81.6 -1997-08-15,79.6 -1997-08-16,79.8 -1997-08-17,77.4 -1997-08-18,77.7 -1997-08-19,76.1 -1997-08-20,76.3 -1997-08-21,76.3 -1997-08-22,77.2 -1997-08-23,78.2 -1997-08-24,79.4 -1997-08-25,83.7 -1997-08-26,85.5 -1997-08-27,83.5 -1997-08-28,92.3 -1997-08-29,93.3 -1997-08-30,93.8 -1997-08-31,98.2 -1997-09-01,95.1 -1997-09-02,93.3 -1997-09-03,94.7 -1997-09-04,94.6 -1997-09-05,97.6 -1997-09-06,99.1 -1997-09-07,103.6 -1997-09-08,121.1 -1997-09-09,117.7 -1997-09-10,116.4 -1997-09-11,110.0 -1997-09-12,110.3 -1997-09-13,108.9 -1997-09-14,103.7 -1997-09-15,99.1 -1997-09-16,96.4 -1997-09-17,94.0 -1997-09-18,89.0 -1997-09-19,89.1 -1997-09-20,88.4 -1997-09-21,85.8 -1997-09-22,89.6 -1997-09-23,92.3 -1997-09-24,93.5 -1997-09-25,88.9 -1997-09-26,89.5 -1997-09-27,88.8 -1997-09-28,87.5 -1997-09-29,90.0 -1997-09-30,87.9 -1997-10-01,87.3 -1997-10-02,86.0 -1997-10-03,85.8 -1997-10-04,83.4 -1997-10-05,84.3 -1997-10-06,83.6 -1997-10-07,83.4 -1997-10-08,82.7 -1997-10-09,83.3 -1997-10-10,84.0 -1997-10-11,85.8 -1997-10-12,88.3 -1997-10-13,87.8 -1997-10-14,84.3 -1997-10-15,86.4 -1997-10-16,86.9 -1997-10-17,87.5 -1997-10-18,85.9 -1997-10-19,84.0 -1997-10-20,82.1 -1997-10-21,84.2 -1997-10-22,79.9 -1997-10-23,78.8 -1997-10-24,77.7 -1997-10-25,80.5 -1997-10-26,81.0 -1997-10-27,83.3 -1997-10-28,84.4 -1997-10-29,86.0 -1997-10-30,86.9 -1997-10-31,89.2 -1997-11-01,91.6 -1997-11-02,96.2 -1997-11-03,108.0 -1997-11-04,115.9 -1997-11-05,111.9 -1997-11-06,103.5 -1997-11-07,92.7 -1997-11-08,87.9 -1997-11-09,84.8 -1997-11-10,87.6 -1997-11-11,89.6 -1997-11-12,85.4 -1997-11-13,88.2 -1997-11-14,91.0 -1997-11-15,94.1 -1997-11-16,94.1 -1997-11-17,92.0 -1997-11-18,89.4 -1997-11-19,96.8 -1997-11-20,86.5 -1997-11-21,93.6 -1997-11-22,97.7 -1997-11-23,97.3 -1997-11-24,100.6 -1997-11-25,99.4 -1997-11-26,105.2 -1997-11-27,108.2 -1997-11-28,113.2 -1997-11-29,109.0 -1997-11-30,109.3 -1997-12-01,113.7 -1997-12-02,109.0 -1997-12-03,109.0 -1997-12-04,104.2 -1997-12-05,100.7 -1997-12-06,105.6 -1997-12-07,96.0 -1997-12-08,95.1 -1997-12-09,93.8 -1997-12-10,92.2 -1997-12-11,93.4 -1997-12-12,89.6 -1997-12-13,86.5 -1997-12-14,87.1 -1997-12-15,86.3 -1997-12-16,82.0 -1997-12-17,82.9 -1997-12-18,83.5 -1997-12-19,86.8 -1997-12-20,86.7 -1997-12-21,89.0 -1997-12-22,93.8 -1997-12-23,100.7 -1997-12-24,104.3 -1997-12-25,101.3 -1997-12-26,101.3 -1997-12-27,92.7 -1997-12-28,98.7 -1997-12-29,101.0 -1997-12-30,98.0 -1997-12-31,101.1 -1998-01-01,98.3 -1998-01-02,97.6 -1998-01-03,97.7 -1998-01-04,87.7 -1998-01-05,86.3 -1998-01-06,84.1 -1998-01-07,82.1 -1998-01-08,79.5 -1998-01-09,78.9 -1998-01-10,78.0 -1998-01-11,82.0 -1998-01-12,92.7 -1998-01-13,87.5 -1998-01-14,90.8 -1998-01-15,94.6 -1998-01-16,94.4 -1998-01-17,92.8 -1998-01-18,92.0 -1998-01-19,90.5 -1998-01-20,88.5 -1998-01-21,88.0 -1998-01-22,90.1 -1998-01-23,93.9 -1998-01-24,94.5 -1998-01-25,105.0 -1998-01-26,96.9 -1998-01-27,97.7 -1998-01-28,93.7 -1998-01-29,90.9 -1998-01-30,88.4 -1998-01-31,86.8 -1998-02-01,88.1 -1998-02-02,86.5 -1998-02-03,86.3 -1998-02-04,86.6 -1998-02-05,83.1 -1998-02-06,81.8 -1998-02-07,80.8 -1998-02-08,81.3 -1998-02-09,81.5 -1998-02-10,81.5 -1998-02-11,84.0 -1998-02-12,88.3 -1998-02-13,92.3 -1998-02-14,102.3 -1998-02-15,104.7 -1998-02-16,104.2 -1998-02-17,102.4 -1998-02-18,100.9 -1998-02-19,96.3 -1998-02-20,93.6 -1998-02-21,92.8 -1998-02-22,93.5 -1998-02-23,97.3 -1998-02-24,96.6 -1998-02-25,92.9 -1998-02-26,90.9 -1998-02-27,88.6 -1998-02-28,92.3 -1998-03-01,96.5 -1998-03-02,89.9 -1998-03-03,95.0 -1998-03-04,100.0 -1998-03-05,95.1 -1998-03-06,90.3 -1998-03-07,90.5 -1998-03-08,89.9 -1998-03-09,88.7 -1998-03-10,95.0 -1998-03-11,99.4 -1998-03-12,100.3 -1998-03-13,103.7 -1998-03-14,118.2 -1998-03-15,131.6 -1998-03-16,122.6 -1998-03-17,124.3 -1998-03-18,125.9 -1998-03-19,123.5 -1998-03-20,125.5 -1998-03-21,124.9 -1998-03-22,126.8 -1998-03-23,121.3 -1998-03-24,119.9 -1998-03-25,114.4 -1998-03-26,109.5 -1998-03-27,107.7 -1998-03-28,103.6 -1998-03-29,100.0 -1998-03-30,107.2 -1998-03-31,107.9 -1998-04-01,105.6 -1998-04-02,103.4 -1998-04-03,103.6 -1998-04-04,110.2 -1998-04-05,126.4 -1998-04-06,133.7 -1998-04-07,135.5 -1998-04-08,141.0 -1998-04-09,140.2 -1998-04-10,130.2 -1998-04-11,128.8 -1998-04-12,117.6 -1998-04-13,115.5 -1998-04-14,112.6 -1998-04-15,113.5 -1998-04-16,107.2 -1998-04-17,102.1 -1998-04-18,99.4 -1998-04-19,96.7 -1998-04-20,98.7 -1998-04-21,92.9 -1998-04-22,88.5 -1998-04-23,91.3 -1998-04-24,91.7 -1998-04-25,93.0 -1998-04-26,91.8 -1998-04-27,92.6 -1998-04-28,99.8 -1998-04-29,102.0 -1998-04-30,104.1 -1998-05-01,115.1 -1998-05-02,118.8 -1998-05-03,119.3 -1998-05-04,123.2 -1998-05-05,135.7 -1998-05-06,132.4 -1998-05-07,125.6 -1998-05-08,120.2 -1998-05-09,112.8 -1998-05-10,109.3 -1998-05-11,110.2 -1998-05-12,114.4 -1998-05-13,119.1 -1998-05-14,119.8 -1998-05-15,118.6 -1998-05-16,120.4 -1998-05-17,113.0 -1998-05-18,104.6 -1998-05-19,101.5 -1998-05-20,94.1 -1998-05-21,91.2 -1998-05-22,89.6 -1998-05-23,92.6 -1998-05-24,98.0 -1998-05-25,94.7 -1998-05-26,94.9 -1998-05-27,96.6 -1998-05-28,101.1 -1998-05-29,97.6 -1998-05-30,98.8 -1998-05-31,96.8 -1998-06-01,103.0 -1998-06-02,107.7 -1998-06-03,116.4 -1998-06-04,115.0 -1998-06-05,118.4 -1998-06-06,118.5 -1998-06-07,116.4 -1998-06-08,120.5 -1998-06-09,115.7 -1998-06-10,115.3 -1998-06-11,115.8 -1998-06-12,115.7 -1998-06-13,113.9 -1998-06-14,105.1 -1998-06-15,103.6 -1998-06-16,107.3 -1998-06-17,103.9 -1998-06-18,103.3 -1998-06-19,101.8 -1998-06-20,104.4 -1998-06-21,105.4 -1998-06-22,103.8 -1998-06-23,98.9 -1998-06-24,108.8 -1998-06-25,109.7 -1998-06-26,112.8 -1998-06-27,119.1 -1998-06-28,126.1 -1998-06-29,123.3 -1998-06-30,125.0 -1998-07-01,131.1 -1998-07-02,124.4 -1998-07-03,131.9 -1998-07-04,133.5 -1998-07-05,127.6 -1998-07-06,125.2 -1998-07-07,118.5 -1998-07-08,116.2 -1998-07-09,118.2 -1998-07-10,112.9 -1998-07-11,111.3 -1998-07-12,102.6 -1998-07-13,109.7 -1998-07-14,106.3 -1998-07-15,108.2 -1998-07-16,109.7 -1998-07-17,103.6 -1998-07-18,102.4 -1998-07-19,105.2 -1998-07-20,115.4 -1998-07-21,113.9 -1998-07-22,117.8 -1998-07-23,119.1 -1998-07-24,129.2 -1998-07-25,125.5 -1998-07-26,122.8 -1998-07-27,123.2 -1998-07-28,125.1 -1998-07-29,123.1 -1998-07-30,118.3 -1998-07-31,117.2 -1998-08-01,115.4 -1998-08-02,112.9 -1998-08-03,111.7 -1998-08-04,119.2 -1998-08-05,130.5 -1998-08-06,142.2 -1998-08-07,149.1 -1998-08-08,150.9 -1998-08-09,158.3 -1998-08-10,153.3 -1998-08-11,154.1 -1998-08-12,150.9 -1998-08-13,140.4 -1998-08-14,140.6 -1998-08-15,136.8 -1998-08-16,143.3 -1998-08-17,139.7 -1998-08-18,135.8 -1998-08-19,137.9 -1998-08-20,141.9 -1998-08-21,135.2 -1998-08-22,135.9 -1998-08-23,129.3 -1998-08-24,123.9 -1998-08-25,124.8 -1998-08-26,129.6 -1998-08-27,137.8 -1998-08-28,142.0 -1998-08-29,149.4 -1998-08-30,166.4 -1998-08-31,181.8 -1998-09-01,180.2 -1998-09-02,166.3 -1998-09-03,165.5 -1998-09-04,157.3 -1998-09-05,156.8 -1998-09-06,167.1 -1998-09-07,153.5 -1998-09-08,155.8 -1998-09-09,147.4 -1998-09-10,143.6 -1998-09-11,140.4 -1998-09-12,136.6 -1998-09-13,132.3 -1998-09-14,123.3 -1998-09-15,118.6 -1998-09-16,119.9 -1998-09-17,118.6 -1998-09-18,123.7 -1998-09-19,128.0 -1998-09-20,133.3 -1998-09-21,139.4 -1998-09-22,142.1 -1998-09-23,144.1 -1998-09-24,136.2 -1998-09-25,139.2 -1998-09-26,136.2 -1998-09-27,128.0 -1998-09-28,123.0 -1998-09-29,116.3 -1998-09-30,121.8 -1998-10-01,119.1 -1998-10-02,112.9 -1998-10-03,112.0 -1998-10-04,114.9 -1998-10-05,117.1 -1998-10-06,116.9 -1998-10-07,124.1 -1998-10-08,123.8 -1998-10-09,123.2 -1998-10-10,120.3 -1998-10-11,118.5 -1998-10-12,113.4 -1998-10-13,117.5 -1998-10-14,118.4 -1998-10-15,130.4 -1998-10-16,130.1 -1998-10-17,134.4 -1998-10-18,125.0 -1998-10-19,116.8 -1998-10-20,120.2 -1998-10-21,117.2 -1998-10-22,113.8 -1998-10-23,111.4 -1998-10-24,109.6 -1998-10-25,106.3 -1998-10-26,102.8 -1998-10-27,101.8 -1998-10-28,106.4 -1998-10-29,108.0 -1998-10-30,109.9 -1998-10-31,117.0 -1998-11-01,119.5 -1998-11-02,124.1 -1998-11-03,149.3 -1998-11-04,139.0 -1998-11-05,150.1 -1998-11-06,138.4 -1998-11-07,145.8 -1998-11-08,149.9 -1998-11-09,159.3 -1998-11-10,150.8 -1998-11-11,144.1 -1998-11-12,138.7 -1998-11-13,132.6 -1998-11-14,123.8 -1998-11-15,123.7 -1998-11-16,121.8 -1998-11-17,118.0 -1998-11-18,112.2 -1998-11-19,113.7 -1998-11-20,118.6 -1998-11-21,118.3 -1998-11-22,123.0 -1998-11-23,126.7 -1998-11-24,136.7 -1998-11-25,145.6 -1998-11-26,152.3 -1998-11-27,154.7 -1998-11-28,160.4 -1998-11-29,163.2 -1998-11-30,158.9 -1998-12-01,158.2 -1998-12-02,147.4 -1998-12-03,148.7 -1998-12-04,144.0 -1998-12-05,138.3 -1998-12-06,138.1 -1998-12-07,148.7 -1998-12-08,157.1 -1998-12-09,149.3 -1998-12-10,129.8 -1998-12-11,138.8 -1998-12-12,138.9 -1998-12-13,139.7 -1998-12-14,139.9 -1998-12-15,137.2 -1998-12-16,136.1 -1998-12-17,141.5 -1998-12-18,149.8 -1998-12-19,133.6 -1998-12-20,130.4 -1998-12-21,130.9 -1998-12-22,124.6 -1998-12-23,135.2 -1998-12-24,134.9 -1998-12-25,139.6 -1998-12-26,140.2 -1998-12-27,161.4 -1998-12-28,178.3 -1998-12-29,176.8 -1998-12-30,173.1 -1998-12-31,168.8 -1999-01-01,161.6 -1999-01-02,154.8 -1999-01-03,149.4 -1999-01-04,142.0 -1999-01-05,132.0 -1999-01-06,121.6 -1999-01-07,111.3 -1999-01-08,111.7 -1999-01-09,111.0 -1999-01-10,106.7 -1999-01-11,108.2 -1999-01-12,109.1 -1999-01-13,114.7 -1999-01-14,132.4 -1999-01-15,138.0 -1999-01-16,153.4 -1999-01-17,156.2 -1999-01-18,165.4 -1999-01-19,170.3 -1999-01-20,231.3 -1999-01-21,169.7 -1999-01-22,172.3 -1999-01-23,160.8 -1999-01-24,156.8 -1999-01-25,133.9 -1999-01-26,129.1 -1999-01-27,121.6 -1999-01-28,115.2 -1999-01-29,114.2 -1999-01-30,114.5 -1999-01-31,111.5 -1999-02-01,114.5 -1999-02-02,107.7 -1999-02-03,105.8 -1999-02-04,104.3 -1999-02-05,100.9 -1999-02-06,96.6 -1999-02-07,106.5 -1999-02-08,121.1 -1999-02-09,125.9 -1999-02-10,148.4 -1999-02-11,159.3 -1999-02-12,183.6 -1999-02-13,193.4 -1999-02-14,199.6 -1999-02-15,185.5 -1999-02-16,187.3 -1999-02-17,185.3 -1999-02-18,164.2 -1999-02-19,160.5 -1999-02-20,153.6 -1999-02-21,144.0 -1999-02-22,127.0 -1999-02-23,124.3 -1999-02-24,117.3 -1999-02-25,117.1 -1999-02-26,113.4 -1999-02-27,112.9 -1999-02-28,120.7 -1999-03-01,118.0 -1999-03-02,127.6 -1999-03-03,134.6 -1999-03-04,141.6 -1999-03-05,125.4 -1999-03-06,112.6 -1999-03-07,108.3 -1999-03-08,125.0 -1999-03-09,125.3 -1999-03-10,133.6 -1999-03-11,135.3 -1999-03-12,138.5 -1999-03-13,142.7 -1999-03-14,148.7 -1999-03-15,148.4 -1999-03-16,154.1 -1999-03-17,152.9 -1999-03-18,146.7 -1999-03-19,138.1 -1999-03-20,131.6 -1999-03-21,123.1 -1999-03-22,115.0 -1999-03-23,112.2 -1999-03-24,107.6 -1999-03-25,106.4 -1999-03-26,103.1 -1999-03-27,104.1 -1999-03-28,102.7 -1999-03-29,103.8 -1999-03-30,104.4 -1999-03-31,101.7 -1999-04-01,102.9 -1999-04-02,99.4 -1999-04-03,102.7 -1999-04-04,116.0 -1999-04-05,132.7 -1999-04-06,137.6 -1999-04-07,141.7 -1999-04-08,139.5 -1999-04-09,136.7 -1999-04-10,136.9 -1999-04-11,131.3 -1999-04-12,130.7 -1999-04-13,130.3 -1999-04-14,121.0 -1999-04-15,122.7 -1999-04-16,123.8 -1999-04-17,116.6 -1999-04-18,113.8 -1999-04-19,110.9 -1999-04-20,105.8 -1999-04-21,104.4 -1999-04-22,101.4 -1999-04-23,99.3 -1999-04-24,102.0 -1999-04-25,103.8 -1999-04-26,105.8 -1999-04-27,110.0 -1999-04-28,111.3 -1999-04-29,123.9 -1999-04-30,125.3 -1999-05-01,134.9 -1999-05-02,137.9 -1999-05-03,129.2 -1999-05-04,141.1 -1999-05-05,143.3 -1999-05-06,149.5 -1999-05-07,166.4 -1999-05-08,175.1 -1999-05-09,181.7 -1999-05-10,172.8 -1999-05-11,162.6 -1999-05-12,156.3 -1999-05-13,150.5 -1999-05-14,147.3 -1999-05-15,146.8 -1999-05-16,155.6 -1999-05-17,148.6 -1999-05-18,143.8 -1999-05-19,145.8 -1999-05-20,145.9 -1999-05-21,143.7 -1999-05-22,143.7 -1999-05-23,144.2 -1999-05-24,140.4 -1999-05-25,146.8 -1999-05-26,156.6 -1999-05-27,159.3 -1999-05-28,156.2 -1999-05-29,152.7 -1999-05-30,161.1 -1999-05-31,170.1 -1999-06-01,181.2 -1999-06-02,178.1 -1999-06-03,178.5 -1999-06-04,175.9 -1999-06-05,168.8 -1999-06-06,172.9 -1999-06-07,162.4 -1999-06-08,161.3 -1999-06-09,170.3 -1999-06-10,166.0 -1999-06-11,169.8 -1999-06-12,173.2 -1999-06-13,173.0 -1999-06-14,173.5 -1999-06-15,163.5 -1999-06-16,157.6 -1999-06-17,151.3 -1999-06-18,151.2 -1999-06-19,143.3 -1999-06-20,156.5 -1999-06-21,150.3 -1999-06-22,166.9 -1999-06-23,173.0 -1999-06-24,191.1 -1999-06-25,207.5 -1999-06-26,206.1 -1999-06-27,214.3 -1999-06-28,203.2 -1999-06-29,197.7 -1999-06-30,216.5 -1999-07-01,202.0 -1999-07-02,193.4 -1999-07-03,203.5 -1999-07-04,191.9 -1999-07-05,180.0 -1999-07-06,173.5 -1999-07-07,163.7 -1999-07-08,154.1 -1999-07-09,155.9 -1999-07-10,161.5 -1999-07-11,157.8 -1999-07-12,159.2 -1999-07-13,148.3 -1999-07-14,133.9 -1999-07-15,133.8 -1999-07-16,136.4 -1999-07-17,141.3 -1999-07-18,142.8 -1999-07-19,145.8 -1999-07-20,144.1 -1999-07-21,152.1 -1999-07-22,157.8 -1999-07-23,199.9 -1999-07-24,190.1 -1999-07-25,188.0 -1999-07-26,177.8 -1999-07-27,179.9 -1999-07-28,203.9 -1999-07-29,208.6 -1999-07-30,212.2 -1999-07-31,206.7 -1999-08-01,222.9 -1999-08-02,218.8 -1999-08-03,216.9 -1999-08-04,206.0 -1999-08-05,182.1 -1999-08-06,175.3 -1999-08-07,157.6 -1999-08-08,141.7 -1999-08-09,141.9 -1999-08-10,130.8 -1999-08-11,131.4 -1999-08-12,126.4 -1999-08-13,129.8 -1999-08-14,131.5 -1999-08-15,134.5 -1999-08-16,134.4 -1999-08-17,144.5 -1999-08-18,133.9 -1999-08-19,138.0 -1999-08-20,155.2 -1999-08-21,165.0 -1999-08-22,176.7 -1999-08-23,191.7 -1999-08-24,206.4 -1999-08-25,212.9 -1999-08-26,226.9 -1999-08-27,227.7 -1999-08-28,253.4 -1999-08-29,222.5 -1999-08-30,201.9 -1999-08-31,186.1 -1999-09-01,165.8 -1999-09-02,159.3 -1999-09-03,141.7 -1999-09-04,133.5 -1999-09-05,123.8 -1999-09-06,120.4 -1999-09-07,114.1 -1999-09-08,108.4 -1999-09-09,108.0 -1999-09-10,123.7 -1999-09-11,124.1 -1999-09-12,142.6 -1999-09-13,156.5 -1999-09-14,158.2 -1999-09-15,156.6 -1999-09-16,159.9 -1999-09-17,159.1 -1999-09-18,153.0 -1999-09-19,150.6 -1999-09-20,146.2 -1999-09-21,147.9 -1999-09-22,141.5 -1999-09-23,137.8 -1999-09-24,132.4 -1999-09-25,126.1 -1999-09-26,123.3 -1999-09-27,124.4 -1999-09-28,126.5 -1999-09-29,125.3 -1999-09-30,125.1 -1999-10-01,121.9 -1999-10-02,126.6 -1999-10-03,134.7 -1999-10-04,144.4 -1999-10-05,146.2 -1999-10-06,133.5 -1999-10-07,129.2 -1999-10-08,150.9 -1999-10-09,152.8 -1999-10-10,160.0 -1999-10-11,166.0 -1999-10-12,182.9 -1999-10-13,190.1 -1999-10-14,198.7 -1999-10-15,197.1 -1999-10-16,187.8 -1999-10-17,176.8 -1999-10-18,171.4 -1999-10-19,168.2 -1999-10-20,157.4 -1999-10-21,157.0 -1999-10-22,158.8 -1999-10-23,162.8 -1999-10-24,157.1 -1999-10-25,177.2 -1999-10-26,187.1 -1999-10-27,194.8 -1999-10-28,181.5 -1999-10-29,177.2 -1999-10-30,167.0 -1999-10-31,158.1 -1999-11-01,148.4 -1999-11-02,140.6 -1999-11-03,140.8 -1999-11-04,145.1 -1999-11-05,157.8 -1999-11-06,147.4 -1999-11-07,170.8 -1999-11-08,188.4 -1999-11-09,225.5 -1999-11-10,243.6 -1999-11-11,235.0 -1999-11-12,227.1 -1999-11-13,219.1 -1999-11-14,214.2 -1999-11-15,201.1 -1999-11-16,228.2 -1999-11-17,216.3 -1999-11-18,212.9 -1999-11-19,205.1 -1999-11-20,199.5 -1999-11-21,205.0 -1999-11-22,187.2 -1999-11-23,180.9 -1999-11-24,181.9 -1999-11-25,179.0 -1999-11-26,167.7 -1999-11-27,164.5 -1999-11-28,170.1 -1999-11-29,159.5 -1999-11-30,158.3 -1999-12-01,160.4 -1999-12-02,160.9 -1999-12-03,147.5 -1999-12-04,143.3 -1999-12-05,138.6 -1999-12-06,138.6 -1999-12-07,148.8 -1999-12-08,145.6 -1999-12-09,151.5 -1999-12-10,159.5 -1999-12-11,154.3 -1999-12-12,154.4 -1999-12-13,161.0 -1999-12-14,163.1 -1999-12-15,173.1 -1999-12-16,187.9 -1999-12-17,194.4 -1999-12-18,198.9 -1999-12-19,200.3 -1999-12-20,202.4 -1999-12-21,210.1 -1999-12-22,195.1 -1999-12-23,191.9 -1999-12-24,176.5 -1999-12-25,172.5 -1999-12-26,171.2 -1999-12-27,156.4 -1999-12-28,145.4 -1999-12-29,139.0 -1999-12-30,131.2 -1999-12-31,125.8 -2000-01-01,125.6 -2000-01-02,128.5 -2000-01-03,128.7 -2000-01-04,130.3 -2000-01-05,132.0 -2000-01-06,140.0 -2000-01-07,144.8 -2000-01-08,149.6 -2000-01-09,155.3 -2000-01-10,157.8 -2000-01-11,171.8 -2000-01-12,189.3 -2000-01-13,195.4 -2000-01-14,194.7 -2000-01-15,203.9 -2000-01-16,201.0 -2000-01-17,190.1 -2000-01-18,188.4 -2000-01-19,172.9 -2000-01-20,165.3 -2000-01-21,154.3 -2000-01-22,145.8 -2000-01-23,136.1 -2000-01-24,136.3 -2000-01-25,133.1 -2000-01-26,136.4 -2000-01-27,128.4 -2000-01-28,122.2 -2000-01-29,123.9 -2000-01-30,128.7 -2000-01-31,134.5 -2000-02-01,134.1 -2000-02-02,140.2 -2000-02-03,149.7 -2000-02-04,162.7 -2000-02-05,163.1 -2000-02-06,172.8 -2000-02-07,177.0 -2000-02-08,169.0 -2000-02-09,193.7 -2000-02-10,171.1 -2000-02-11,165.8 -2000-02-12,159.1 -2000-02-13,155.9 -2000-02-14,154.7 -2000-02-15,152.2 -2000-02-16,156.3 -2000-02-17,164.4 -2000-02-18,137.8 -2000-02-19,141.5 -2000-02-20,149.9 -2000-02-21,148.7 -2000-02-22,168.6 -2000-02-23,181.2 -2000-02-24,188.3 -2000-02-25,206.2 -2000-02-26,210.6 -2000-02-27,222.9 -2000-02-28,214.7 -2000-02-29,215.1 -2000-03-01,228.7 -2000-03-02,209.6 -2000-03-03,200.4 -2000-03-04,197.0 -2000-03-05,216.8 -2000-03-06,219.1 -2000-03-07,218.5 -2000-03-08,211.8 -2000-03-09,203.0 -2000-03-10,200.7 -2000-03-11,200.6 -2000-03-12,200.8 -2000-03-13,186.0 -2000-03-14,180.6 -2000-03-15,175.9 -2000-03-16,182.5 -2000-03-17,190.6 -2000-03-18,193.0 -2000-03-19,206.5 -2000-03-20,208.7 -2000-03-21,228.9 -2000-03-22,232.2 -2000-03-23,222.7 -2000-03-24,217.7 -2000-03-25,204.1 -2000-03-26,210.4 -2000-03-27,204.1 -2000-03-28,200.3 -2000-03-29,208.3 -2000-03-30,205.1 -2000-03-31,225.1 -2000-04-01,222.7 -2000-04-02,219.3 -2000-04-03,215.5 -2000-04-04,206.9 -2000-04-05,194.7 -2000-04-06,178.1 -2000-04-07,175.4 -2000-04-08,182.5 -2000-04-09,176.9 -2000-04-10,178.6 -2000-04-11,182.4 -2000-04-12,173.9 -2000-04-13,165.0 -2000-04-14,166.3 -2000-04-15,164.9 -2000-04-16,160.2 -2000-04-17,159.2 -2000-04-18,161.8 -2000-04-19,169.2 -2000-04-20,182.4 -2000-04-21,189.2 -2000-04-22,204.1 -2000-04-23,208.4 -2000-04-24,208.1 -2000-04-25,205.1 -2000-04-26,192.4 -2000-04-27,186.0 -2000-04-28,186.0 -2000-04-29,177.5 -2000-04-30,172.0 -2000-05-01,160.1 -2000-05-02,155.3 -2000-05-03,139.6 -2000-05-04,136.8 -2000-05-05,132.1 -2000-05-06,129.1 -2000-05-07,133.4 -2000-05-08,139.6 -2000-05-09,152.5 -2000-05-10,182.8 -2000-05-11,181.3 -2000-05-12,194.4 -2000-05-13,222.0 -2000-05-14,237.6 -2000-05-15,249.9 -2000-05-16,264.5 -2000-05-17,268.1 -2000-05-18,258.8 -2000-05-19,260.4 -2000-05-20,251.6 -2000-05-21,238.0 -2000-05-22,220.3 -2000-05-23,209.5 -2000-05-24,194.3 -2000-05-25,177.4 -2000-05-26,172.4 -2000-05-27,166.2 -2000-05-28,160.2 -2000-05-29,153.1 -2000-05-30,150.5 -2000-05-31,158.7 -2000-06-01,152.3 -2000-06-02,192.7 -2000-06-03,170.7 -2000-06-04,174.7 -2000-06-05,176.1 -2000-06-06,192.0 -2000-06-07,185.8 -2000-06-08,179.9 -2000-06-09,174.1 -2000-06-10,185.1 -2000-06-11,192.6 -2000-06-12,198.7 -2000-06-13,205.5 -2000-06-14,206.9 -2000-06-15,208.9 -2000-06-16,203.8 -2000-06-17,199.4 -2000-06-18,193.7 -2000-06-19,184.2 -2000-06-20,189.7 -2000-06-21,194.2 -2000-06-22,185.6 -2000-06-23,181.0 -2000-06-24,173.9 -2000-06-25,180.9 -2000-06-26,183.4 -2000-06-27,184.6 -2000-06-28,181.2 -2000-06-29,168.8 -2000-06-30,165.0 -2000-07-01,169.2 -2000-07-02,167.9 -2000-07-03,161.5 -2000-07-04,163.7 -2000-07-05,174.4 -2000-07-06,180.1 -2000-07-07,193.5 -2000-07-08,217.1 -2000-07-09,218.4 -2000-07-10,252.7 -2000-07-11,249.7 -2000-07-12, -2000-07-13,239.6 -2000-07-14,210.6 -2000-07-15,220.1 -2000-07-16,226.1 -2000-07-17,235.8 -2000-07-18,270.5 -2000-07-19,258.0 -2000-07-20,261.1 -2000-07-21,259.0 -2000-07-22,259.0 -2000-07-23,224.3 -2000-07-24,232.0 -2000-07-25,208.2 -2000-07-26,180.1 -2000-07-27,167.4 -2000-07-28,162.7 -2000-07-29,157.9 -2000-07-30,154.5 -2000-07-31,152.4 -2000-08-01,153.9 -2000-08-02,155.1 -2000-08-03,158.8 -2000-08-04,158.7 -2000-08-05,163.2 -2000-08-06,170.8 -2000-08-07,171.6 -2000-08-08,175.6 -2000-08-09,187.2 -2000-08-10,185.9 -2000-08-11,192.3 -2000-08-12,194.3 -2000-08-13,190.9 -2000-08-14,194.3 -2000-08-15,198.9 -2000-08-16,190.3 -2000-08-17,181.5 -2000-08-18,173.6 -2000-08-19,160.8 -2000-08-20,156.0 -2000-08-21,154.9 -2000-08-22,147.5 -2000-08-23,139.9 -2000-08-24,133.5 -2000-08-25,136.0 -2000-08-26,139.9 -2000-08-27,153.2 -2000-08-28,163.2 -2000-08-29,166.5 -2000-08-30,167.9 -2000-08-31,165.9 -2000-09-01,160.5 -2000-09-02,156.7 -2000-09-03,156.7 -2000-09-04,173.6 -2000-09-05,183.1 -2000-09-06,181.5 -2000-09-07,175.8 -2000-09-08,165.7 -2000-09-09,153.0 -2000-09-10,142.5 -2000-09-11,136.7 -2000-09-12,134.2 -2000-09-13,134.8 -2000-09-14,152.5 -2000-09-15,161.1 -2000-09-16,176.4 -2000-09-17,183.2 -2000-09-18,205.7 -2000-09-19,208.8 -2000-09-20,213.1 -2000-09-21,226.7 -2000-09-22,233.8 -2000-09-23,226.7 -2000-09-24,225.8 -2000-09-25,226.8 -2000-09-26,224.7 -2000-09-27,205.5 -2000-09-28,203.0 -2000-09-29,192.6 -2000-09-30,194.0 -2000-10-01,201.9 -2000-10-02,202.9 -2000-10-03,192.1 -2000-10-04,184.1 -2000-10-05,173.7 -2000-10-06,157.9 -2000-10-07,155.3 -2000-10-08,148.6 -2000-10-09,140.4 -2000-10-10,139.1 -2000-10-11,150.8 -2000-10-12,161.9 -2000-10-13,167.2 -2000-10-14,162.3 -2000-10-15,160.1 -2000-10-16,159.8 -2000-10-17,153.0 -2000-10-18,149.9 -2000-10-19,156.5 -2000-10-20,159.3 -2000-10-21,156.5 -2000-10-22,158.6 -2000-10-23,164.8 -2000-10-24,157.5 -2000-10-25,162.0 -2000-10-26,168.9 -2000-10-27,173.7 -2000-10-28,179.7 -2000-10-29,184.5 -2000-10-30,191.0 -2000-10-31,190.5 -2000-11-01,201.2 -2000-11-02,193.2 -2000-11-03,195.5 -2000-11-04,191.4 -2000-11-05,183.1 -2000-11-06,174.9 -2000-11-07,176.6 -2000-11-08,169.5 -2000-11-09,163.0 -2000-11-10,150.4 -2000-11-11,146.6 -2000-11-12,143.6 -2000-11-13,140.6 -2000-11-14,145.4 -2000-11-15,143.2 -2000-11-16,150.7 -2000-11-17,159.6 -2000-11-18,172.9 -2000-11-19,170.7 -2000-11-20,169.6 -2000-11-21,180.9 -2000-11-22,190.1 -2000-11-23,200.1 -2000-11-24,192.1 -2000-11-25,197.0 -2000-11-26,197.0 -2000-11-27,186.6 -2000-11-28,190.3 -2000-11-29,183.2 -2000-11-30,187.0 -2000-12-01,179.3 -2000-12-02,162.3 -2000-12-03,158.9 -2000-12-04,147.6 -2000-12-05,142.7 -2000-12-06,136.9 -2000-12-07,139.9 -2000-12-08,134.1 -2000-12-09,130.7 -2000-12-10,142.1 -2000-12-11,139.2 -2000-12-12,145.2 -2000-12-13,159.5 -2000-12-14,176.5 -2000-12-15,181.9 -2000-12-16,184.4 -2000-12-17,190.4 -2000-12-18,191.6 -2000-12-19,192.2 -2000-12-20,194.8 -2000-12-21,188.2 -2000-12-22,183.8 -2000-12-23,184.7 -2000-12-24,186.7 -2000-12-25,180.9 -2000-12-26,182.6 -2000-12-27,181.4 -2000-12-28,179.3 -2000-12-29,175.5 -2000-12-30,176.1 -2000-12-31,163.9 -2001-01-01,165.3 -2001-01-02,170.2 -2001-01-03,164.2 -2001-01-04,168.8 -2001-01-05,170.5 -2001-01-06,173.4 -2001-01-07,170.9 -2001-01-08,161.5 -2001-01-09,160.8 -2001-01-10,157.4 -2001-01-11,160.5 -2001-01-12,172.5 -2001-01-13,178.3 -2001-01-14,170.6 -2001-01-15,163.8 -2001-01-16,156.6 -2001-01-17,147.0 -2001-01-18,146.6 -2001-01-19,147.7 -2001-01-20,148.3 -2001-01-21,146.7 -2001-01-22,157.1 -2001-01-23,162.0 -2001-01-24,167.2 -2001-01-25,163.4 -2001-01-26,160.5 -2001-01-27,161.8 -2001-01-28,162.6 -2001-01-29,160.5 -2001-01-30,154.9 -2001-01-31,148.8 -2001-02-01,156.2 -2001-02-02,161.6 -2001-02-03,159.0 -2001-02-04,144.0 -2001-02-05,160.7 -2001-02-06,165.3 -2001-02-07,159.6 -2001-02-08,152.3 -2001-02-09,158.1 -2001-02-10,156.5 -2001-02-11,147.4 -2001-02-12,140.9 -2001-02-13,137.8 -2001-02-14,134.6 -2001-02-15,131.8 -2001-02-16,126.5 -2001-02-17,126.8 -2001-02-18,129.0 -2001-02-19,134.0 -2001-02-20,142.3 -2001-02-21,140.5 -2001-02-22,142.7 -2001-02-23,142.2 -2001-02-24,134.6 -2001-02-25,132.2 -2001-02-26,132.8 -2001-02-27,128.1 -2001-02-28,129.4 -2001-03-01,129.0 -2001-03-02,127.4 -2001-03-03,137.3 -2001-03-04,138.7 -2001-03-05,153.4 -2001-03-06,155.4 -2001-03-07,174.0 -2001-03-08,164.8 -2001-03-09,159.2 -2001-03-10,158.0 -2001-03-11,155.8 -2001-03-12,155.7 -2001-03-13,145.6 -2001-03-14,140.7 -2001-03-15,134.7 -2001-03-16,138.5 -2001-03-17,132.9 -2001-03-18,138.5 -2001-03-19,145.7 -2001-03-20,152.1 -2001-03-21,158.2 -2001-03-22,181.8 -2001-03-23,178.9 -2001-03-24,217.5 -2001-03-25,215.7 -2001-03-26,262.6 -2001-03-27,272.4 -2001-03-28,272.6 -2001-03-29,261.0 -2001-03-30,256.3 -2001-03-31,245.3 -2001-04-01,257.2 -2001-04-02,227.9 -2001-04-03,223.1 -2001-04-04,205.0 -2001-04-05,207.8 -2001-04-06,192.0 -2001-04-07,180.0 -2001-04-08,169.7 -2001-04-09,165.4 -2001-04-10,170.4 -2001-04-11,160.3 -2001-04-12,149.8 -2001-04-13,137.8 -2001-04-14,139.6 -2001-04-15,135.1 -2001-04-16,124.3 -2001-04-17,127.1 -2001-04-18,133.0 -2001-04-19,145.8 -2001-04-20,182.2 -2001-04-21,193.0 -2001-04-22,194.6 -2001-04-23,198.6 -2001-04-24,195.8 -2001-04-25,196.3 -2001-04-26,198.7 -2001-04-27,193.3 -2001-04-28,190.4 -2001-04-29,194.5 -2001-04-30,190.7 -2001-05-01,187.4 -2001-05-02,179.0 -2001-05-03,175.1 -2001-05-04,178.6 -2001-05-05,163.5 -2001-05-06,157.8 -2001-05-07,140.9 -2001-05-08,131.1 -2001-05-09,131.9 -2001-05-10,133.0 -2001-05-11,139.4 -2001-05-12,141.0 -2001-05-13,141.9 -2001-05-14,141.2 -2001-05-15,145.2 -2001-05-16,140.9 -2001-05-17,150.8 -2001-05-18,141.5 -2001-05-19,144.6 -2001-05-20,144.9 -2001-05-21,153.8 -2001-05-22,155.8 -2001-05-23,162.8 -2001-05-24,174.7 -2001-05-25,166.1 -2001-05-26,151.3 -2001-05-27,150.8 -2001-05-28,146.9 -2001-05-29,142.3 -2001-05-30,136.0 -2001-05-31,136.6 -2001-06-01,136.8 -2001-06-02,137.8 -2001-06-03,149.5 -2001-06-04,158.3 -2001-06-05,158.0 -2001-06-06,162.4 -2001-06-07,169.8 -2001-06-08,185.7 -2001-06-09,182.4 -2001-06-10,168.0 -2001-06-11,167.4 -2001-06-12,171.6 -2001-06-13,187.1 -2001-06-14,200.9 -2001-06-15,203.2 -2001-06-16,214.3 -2001-06-17,211.2 -2001-06-18,228.5 -2001-06-19,201.7 -2001-06-20,205.0 -2001-06-21,206.9 -2001-06-22,210.3 -2001-06-23,213.0 -2001-06-24,201.3 -2001-06-25,188.4 -2001-06-26,173.5 -2001-06-27,152.8 -2001-06-28,144.9 -2001-06-29,144.6 -2001-06-30,141.2 -2001-07-01,140.0 -2001-07-02,138.8 -2001-07-03,136.3 -2001-07-04,131.3 -2001-07-05,123.6 -2001-07-06,120.3 -2001-07-07,121.8 -2001-07-08,130.5 -2001-07-09,134.4 -2001-07-10,134.3 -2001-07-11,136.3 -2001-07-12,138.3 -2001-07-13,137.7 -2001-07-14,145.4 -2001-07-15,146.8 -2001-07-16,154.7 -2001-07-17,150.4 -2001-07-18,147.7 -2001-07-19,146.9 -2001-07-20,147.2 -2001-07-21,143.5 -2001-07-22,144.9 -2001-07-23,147.8 -2001-07-24,136.7 -2001-07-25,137.5 -2001-07-26,127.2 -2001-07-27,125.1 -2001-07-28,119.0 -2001-07-29,120.5 -2001-07-30,118.0 -2001-07-31,120.3 -2001-08-01,123.8 -2001-08-02,124.3 -2001-08-03,135.5 -2001-08-04,152.7 -2001-08-05,160.5 -2001-08-06,168.3 -2001-08-07,171.0 -2001-08-08,171.5 -2001-08-09,167.8 -2001-08-10,164.7 -2001-08-11,169.5 -2001-08-12,164.0 -2001-08-13,155.5 -2001-08-14,151.1 -2001-08-15,150.5 -2001-08-16,146.2 -2001-08-17,148.4 -2001-08-18,159.9 -2001-08-19,161.3 -2001-08-20,159.8 -2001-08-21,163.9 -2001-08-22,165.2 -2001-08-23,173.4 -2001-08-24,178.7 -2001-08-25,203.2 -2001-08-26,193.8 -2001-08-27,195.9 -2001-08-28,203.1 -2001-08-29,200.9 -2001-08-30,203.0 -2001-08-31,192.2 -2001-09-01,187.4 -2001-09-02,185.7 -2001-09-03,202.1 -2001-09-04,222.1 -2001-09-05,221.8 -2001-09-06,225.6 -2001-09-07,229.5 -2001-09-08,253.1 -2001-09-09,239.5 -2001-09-10,247.8 -2001-09-11,252.9 -2001-09-12,238.1 -2001-09-13,242.6 -2001-09-14,239.3 -2001-09-15,221.7 -2001-09-16,209.3 -2001-09-17,201.1 -2001-09-18,205.7 -2001-09-19,200.6 -2001-09-20,228.7 -2001-09-21,240.5 -2001-09-22,257.0 -2001-09-23,260.2 -2001-09-24,281.0 -2001-09-25,276.6 -2001-09-26,284.0 -2001-09-27,270.6 -2001-09-28,285.5 -2001-09-29,240.2 -2001-09-30,236.3 -2001-10-01,216.9 -2001-10-02,201.1 -2001-10-03,191.8 -2001-10-04,186.5 -2001-10-05,176.8 -2001-10-06,180.2 -2001-10-07,172.4 -2001-10-08,170.8 -2001-10-09,175.9 -2001-10-10,178.1 -2001-10-11,174.1 -2001-10-12,178.5 -2001-10-13,178.6 -2001-10-14,190.8 -2001-10-15,191.7 -2001-10-16,205.8 -2001-10-17,215.8 -2001-10-18,226.9 -2001-10-19,245.6 -2001-10-20,242.5 -2001-10-21,222.0 -2001-10-22,230.4 -2001-10-23,224.1 -2001-10-24,236.0 -2001-10-25,236.1 -2001-10-26,233.6 -2001-10-27,243.4 -2001-10-28,224.2 -2001-10-29,212.8 -2001-10-30,222.7 -2001-10-31,217.8 -2001-11-01,232.0 -2001-11-02,210.1 -2001-11-03,212.5 -2001-11-04,223.5 -2001-11-05,230.6 -2001-11-06,233.2 -2001-11-07,263.9 -2001-11-08,243.1 -2001-11-09,265.6 -2001-11-10,241.0 -2001-11-11,229.3 -2001-11-12,222.6 -2001-11-13,226.8 -2001-11-14,212.6 -2001-11-15,202.4 -2001-11-16,197.6 -2001-11-17,194.0 -2001-11-18,183.8 -2001-11-19,186.8 -2001-11-20,180.6 -2001-11-21,179.7 -2001-11-22,185.3 -2001-11-23,172.9 -2001-11-24,168.6 -2001-11-25,165.6 -2001-11-26,170.3 -2001-11-27,185.3 -2001-11-28,193.1 -2001-11-29,210.5 -2001-11-30,219.6 -2001-12-01,215.1 -2001-12-02,238.1 -2001-12-03,228.3 -2001-12-04,226.6 -2001-12-05,230.1 -2001-12-06,239.5 -2001-12-07,219.3 -2001-12-08,213.9 -2001-12-09,217.5 -2001-12-10,212.3 -2001-12-11,213.9 -2001-12-12,229.4 -2001-12-13,213.4 -2001-12-14,209.9 -2001-12-15,211.0 -2001-12-16,202.5 -2001-12-17,199.0 -2001-12-18,205.0 -2001-12-19,201.6 -2001-12-20,214.0 -2001-12-21,226.7 -2001-12-22,234.9 -2001-12-23,246.3 -2001-12-24,265.5 -2001-12-25,250.3 -2001-12-26,259.0 -2001-12-27,265.6 -2001-12-28,254.6 -2001-12-29,255.7 -2001-12-30,238.5 -2001-12-31,237.5 -2002-01-01,224.5 -2002-01-02,223.5 -2002-01-03,213.0 -2002-01-04,211.0 -2002-01-05,205.2 -2002-01-06,190.1 -2002-01-07,182.4 -2002-01-08,192.6 -2002-01-09,220.9 -2002-01-10,217.3 -2002-01-11,221.4 -2002-01-12,225.7 -2002-01-13,232.9 -2002-01-14,221.6 -2002-01-15,211.2 -2002-01-16,209.1 -2002-01-17,205.0 -2002-01-18,203.8 -2002-01-19,206.9 -2002-01-20,215.2 -2002-01-21,217.5 -2002-01-22,221.5 -2002-01-23,219.4 -2002-01-24,223.6 -2002-01-25,227.6 -2002-01-26,248.7 -2002-01-27,240.5 -2002-01-28,252.0 -2002-01-29,253.2 -2002-01-30,248.8 -2002-01-31,235.5 -2002-02-01,238.5 -2002-02-02,233.7 -2002-02-03,226.3 -2002-02-04,228.1 -2002-02-05,214.5 -2002-02-06,196.9 -2002-02-07,186.6 -2002-02-08,186.4 -2002-02-09,194.1 -2002-02-10,210.9 -2002-02-11,196.6 -2002-02-12,203.1 -2002-02-13,198.5 -2002-02-14,191.3 -2002-02-15,190.3 -2002-02-16,188.9 -2002-02-17,192.0 -2002-02-18,188.4 -2002-02-19,185.1 -2002-02-20,189.1 -2002-02-21,196.7 -2002-02-22,187.9 -2002-02-23,184.2 -2002-02-24,188.9 -2002-02-25,206.4 -2002-02-26,203.5 -2002-02-27,194.9 -2002-02-28,200.4 -2002-03-01,184.3 -2002-03-02,187.6 -2002-03-03,179.6 -2002-03-04,172.0 -2002-03-05,169.4 -2002-03-06,175.0 -2002-03-07,177.0 -2002-03-08,174.2 -2002-03-09,204.8 -2002-03-10,176.9 -2002-03-11,180.0 -2002-03-12,176.2 -2002-03-13,182.1 -2002-03-14,178.6 -2002-03-15,174.0 -2002-03-16,182.7 -2002-03-17,182.7 -2002-03-18,176.5 -2002-03-19,173.3 -2002-03-20,186.3 -2002-03-21,172.8 -2002-03-22,170.4 -2002-03-23,169.4 -2002-03-24,174.3 -2002-03-25,169.1 -2002-03-26,164.9 -2002-03-27,168.4 -2002-03-28,175.6 -2002-03-29,180.8 -2002-03-30,188.2 -2002-03-31,204.0 -2002-04-01,206.7 -2002-04-02,205.9 -2002-04-03,209.4 -2002-04-04,216.3 -2002-04-05,217.6 -2002-04-06,206.7 -2002-04-07,208.4 -2002-04-08,206.8 -2002-04-09,205.8 -2002-04-10,195.1 -2002-04-11,198.3 -2002-04-12,213.0 -2002-04-13,227.3 -2002-04-14,211.6 -2002-04-15,204.7 -2002-04-16,197.2 -2002-04-17,195.0 -2002-04-18,189.8 -2002-04-19,181.4 -2002-04-20,179.0 -2002-04-21,175.1 -2002-04-22,171.7 -2002-04-23,177.2 -2002-04-24,178.9 -2002-04-25,169.3 -2002-04-26,164.7 -2002-04-27,159.0 -2002-04-28,149.2 -2002-04-29,155.2 -2002-04-30,155.6 -2002-05-01,164.9 -2002-05-02,171.7 -2002-05-03,182.0 -2002-05-04,192.7 -2002-05-05,183.2 -2002-05-06,194.3 -2002-05-07,190.3 -2002-05-08,190.2 -2002-05-09,193.7 -2002-05-10,194.8 -2002-05-11,191.8 -2002-05-12,187.1 -2002-05-13,175.6 -2002-05-14,164.2 -2002-05-15,162.7 -2002-05-16,162.0 -2002-05-17,160.7 -2002-05-18,166.8 -2002-05-19,175.0 -2002-05-20,175.4 -2002-05-21,190.4 -2002-05-22,185.6 -2002-05-23,184.8 -2002-05-24,193.9 -2002-05-25,187.4 -2002-05-26,188.0 -2002-05-27,191.6 -2002-05-28,191.4 -2002-05-29,189.8 -2002-05-30,185.1 -2002-05-31,187.0 -2002-06-01,183.9 -2002-06-02,180.0 -2002-06-03,175.4 -2002-06-04,174.7 -2002-06-05,163.7 -2002-06-06,159.1 -2002-06-07,163.1 -2002-06-08,159.9 -2002-06-09,161.9 -2002-06-10,156.2 -2002-06-11,152.4 -2002-06-12,146.2 -2002-06-13,137.6 -2002-06-14,135.6 -2002-06-15,139.7 -2002-06-16,141.0 -2002-06-17,147.5 -2002-06-18,147.5 -2002-06-19,150.5 -2002-06-20,149.8 -2002-06-21,144.2 -2002-06-22,146.6 -2002-06-23,147.5 -2002-06-24,155.3 -2002-06-25,149.5 -2002-06-26,148.6 -2002-06-27,143.2 -2002-06-28,141.9 -2002-06-29,147.5 -2002-06-30,151.4 -2002-07-01,152.3 -2002-07-02,153.5 -2002-07-03,152.4 -2002-07-04,151.3 -2002-07-05,143.5 -2002-07-06,138.0 -2002-07-07,141.5 -2002-07-08,135.3 -2002-07-09,140.9 -2002-07-10,133.1 -2002-07-11,141.0 -2002-07-12,137.7 -2002-07-13,139.4 -2002-07-14,148.6 -2002-07-15,164.8 -2002-07-16,177.2 -2002-07-17,185.9 -2002-07-18,186.6 -2002-07-19,188.3 -2002-07-20,190.7 -2002-07-21,188.7 -2002-07-22,195.8 -2002-07-23,204.6 -2002-07-24,215.0 -2002-07-25,224.5 -2002-07-26,249.1 -2002-07-27,238.0 -2002-07-28,246.2 -2002-07-29,241.1 -2002-07-30,234.1 -2002-07-31,214.8 -2002-08-01,198.3 -2002-08-02,185.7 -2002-08-03,172.7 -2002-08-04,155.3 -2002-08-05,146.0 -2002-08-06,148.8 -2002-08-07,140.1 -2002-08-08,138.3 -2002-08-09,144.0 -2002-08-10,152.4 -2002-08-11,176.9 -2002-08-12,188.8 -2002-08-13,196.8 -2002-08-14,213.5 -2002-08-15,215.7 -2002-08-16,219.1 -2002-08-17,232.3 -2002-08-18,246.9 -2002-08-19,242.6 -2002-08-20,232.8 -2002-08-21,225.0 -2002-08-22,225.1 -2002-08-23,229.5 -2002-08-24,199.8 -2002-08-25,182.4 -2002-08-26,172.2 -2002-08-27,164.7 -2002-08-28,166.4 -2002-08-29,172.6 -2002-08-30,173.5 -2002-08-31,183.7 -2002-09-01,183.8 -2002-09-02,176.9 -2002-09-03,174.4 -2002-09-04,174.2 -2002-09-05,178.1 -2002-09-06,180.9 -2002-09-07,185.6 -2002-09-08,194.4 -2002-09-09,209.0 -2002-09-10,223.5 -2002-09-11,219.0 -2002-09-12,215.1 -2002-09-13,208.6 -2002-09-14,209.2 -2002-09-15,189.9 -2002-09-16,184.5 -2002-09-17,195.9 -2002-09-18,178.4 -2002-09-19,166.7 -2002-09-20,165.8 -2002-09-21,159.8 -2002-09-22,161.1 -2002-09-23,154.8 -2002-09-24,158.9 -2002-09-25,154.2 -2002-09-26,150.6 -2002-09-27,152.2 -2002-09-28,149.1 -2002-09-29,138.6 -2002-09-30,140.1 -2002-10-01,140.1 -2002-10-02,136.0 -2002-10-03,146.1 -2002-10-04,157.6 -2002-10-05,155.1 -2002-10-06,161.6 -2002-10-07,163.5 -2002-10-08,165.1 -2002-10-09,166.8 -2002-10-10,171.4 -2002-10-11,178.7 -2002-10-12,179.7 -2002-10-13,178.3 -2002-10-14,180.2 -2002-10-15,175.7 -2002-10-16,181.4 -2002-10-17,177.7 -2002-10-18,171.3 -2002-10-19,178.1 -2002-10-20,178.7 -2002-10-21,180.8 -2002-10-22,167.7 -2002-10-23,161.9 -2002-10-24,158.5 -2002-10-25,170.9 -2002-10-26,156.1 -2002-10-27,155.2 -2002-10-28,156.3 -2002-10-29,159.4 -2002-10-30,165.3 -2002-10-31,167.7 -2002-11-01,159.7 -2002-11-02,162.1 -2002-11-03,166.5 -2002-11-04,174.4 -2002-11-05,180.0 -2002-11-06,181.2 -2002-11-07,186.4 -2002-11-08,185.5 -2002-11-09,187.0 -2002-11-10,187.7 -2002-11-11,181.0 -2002-11-12,174.6 -2002-11-13,178.6 -2002-11-14,180.2 -2002-11-15,193.2 -2002-11-16,194.8 -2002-11-17,180.5 -2002-11-18,174.8 -2002-11-19,164.3 -2002-11-20,155.3 -2002-11-21,147.2 -2002-11-22,145.5 -2002-11-23,143.8 -2002-11-24,142.5 -2002-11-25,133.2 -2002-11-26,138.5 -2002-11-27,138.8 -2002-11-28,136.0 -2002-11-29,137.5 -2002-11-30,142.1 -2002-12-01,145.5 -2002-12-02,142.0 -2002-12-03,141.8 -2002-12-04,144.5 -2002-12-05,144.4 -2002-12-06,143.9 -2002-12-07,146.6 -2002-12-08,149.8 -2002-12-09,151.6 -2002-12-10,156.5 -2002-12-11,147.7 -2002-12-12,148.4 -2002-12-13,161.8 -2002-12-14,180.1 -2002-12-15,196.6 -2002-12-16,196.5 -2002-12-17,205.8 -2002-12-18,190.6 -2002-12-19,186.7 -2002-12-20,190.3 -2002-12-21,177.9 -2002-12-22,166.4 -2002-12-23,153.7 -2002-12-24,142.5 -2002-12-25,127.6 -2002-12-26,123.2 -2002-12-27,112.7 -2002-12-28,113.1 -2002-12-29,111.0 -2002-12-30,110.1 -2002-12-31,111.3 -2003-01-01,111.2 -2003-01-02,114.4 -2003-01-03,133.1 -2003-01-04,138.2 -2003-01-05,143.2 -2003-01-06,156.8 -2003-01-07,157.8 -2003-01-08,168.0 -2003-01-09,176.9 -2003-01-10,178.7 -2003-01-11,182.6 -2003-01-12,167.7 -2003-01-13,166.2 -2003-01-14,158.6 -2003-01-15,145.0 -2003-01-16,139.9 -2003-01-17,137.1 -2003-01-18,133.0 -2003-01-19,126.1 -2003-01-20,133.7 -2003-01-21,129.4 -2003-01-22,125.4 -2003-01-23,131.6 -2003-01-24,125.8 -2003-01-25,124.9 -2003-01-26,121.2 -2003-01-27,117.7 -2003-01-28,121.8 -2003-01-29,120.7 -2003-01-30,117.6 -2003-01-31,116.9 -2003-02-01,122.1 -2003-02-02,123.0 -2003-02-03,128.7 -2003-02-04,131.0 -2003-02-05,136.2 -2003-02-06,145.4 -2003-02-07,143.3 -2003-02-08,135.4 -2003-02-09,137.6 -2003-02-10,132.6 -2003-02-11,131.4 -2003-02-12,128.2 -2003-02-13,127.3 -2003-02-14,128.1 -2003-02-15,120.6 -2003-02-16,115.7 -2003-02-17,109.4 -2003-02-18,107.4 -2003-02-19,113.6 -2003-02-20,115.7 -2003-02-21,117.0 -2003-02-22,104.3 -2003-02-23,101.8 -2003-02-24,99.9 -2003-02-25,99.5 -2003-02-26,107.2 -2003-02-27,115.4 -2003-02-28,122.6 -2003-03-01,135.6 -2003-03-02,144.7 -2003-03-03,146.5 -2003-03-04,143.6 -2003-03-05,146.2 -2003-03-06,147.9 -2003-03-07,147.6 -2003-03-08,146.2 -2003-03-09,150.6 -2003-03-10,141.7 -2003-03-11,139.7 -2003-03-12,136.2 -2003-03-13,132.5 -2003-03-14,137.3 -2003-03-15,129.3 -2003-03-16,127.2 -2003-03-17,123.1 -2003-03-18,117.3 -2003-03-19,107.2 -2003-03-20,96.6 -2003-03-21,90.3 -2003-03-22,88.3 -2003-03-23,92.4 -2003-03-24,97.3 -2003-03-25,108.2 -2003-03-26,126.6 -2003-03-27,140.5 -2003-03-28,146.4 -2003-03-29,154.6 -2003-03-30,154.2 -2003-03-31,159.8 -2003-04-01,152.8 -2003-04-02,157.3 -2003-04-03,155.7 -2003-04-04,148.8 -2003-04-05,137.5 -2003-04-06,126.1 -2003-04-07,115.9 -2003-04-08,112.6 -2003-04-09,109.7 -2003-04-10,104.1 -2003-04-11,103.0 -2003-04-12,102.6 -2003-04-13,103.0 -2003-04-14,102.6 -2003-04-15,101.1 -2003-04-16,99.2 -2003-04-17,101.8 -2003-04-18,108.7 -2003-04-19,113.1 -2003-04-20,119.7 -2003-04-21,127.0 -2003-04-22,133.8 -2003-04-23,134.3 -2003-04-24,129.8 -2003-04-25,145.3 -2003-04-26,145.5 -2003-04-27,156.1 -2003-04-28,154.3 -2003-04-29,157.4 -2003-04-30,155.8 -2003-05-01,151.0 -2003-05-02,145.3 -2003-05-03,150.1 -2003-05-04,144.4 -2003-05-05,131.1 -2003-05-06,124.1 -2003-05-07,112.2 -2003-05-08,102.8 -2003-05-09,98.9 -2003-05-10,94.5 -2003-05-11,93.4 -2003-05-12,95.8 -2003-05-13,98.1 -2003-05-14,98.3 -2003-05-15,101.4 -2003-05-16,104.9 -2003-05-17,104.7 -2003-05-18,111.5 -2003-05-19,117.4 -2003-05-20,120.0 -2003-05-21,122.2 -2003-05-22,121.3 -2003-05-23,120.9 -2003-05-24,119.8 -2003-05-25,124.3 -2003-05-26,128.4 -2003-05-27,132.3 -2003-05-28,133.7 -2003-05-29,141.6 -2003-05-30,120.4 -2003-05-31,116.3 -2003-06-01,115.5 -2003-06-02,124.8 -2003-06-03,117.8 -2003-06-04,108.7 -2003-06-05,117.0 -2003-06-06,129.4 -2003-06-07,137.2 -2003-06-08,158.0 -2003-06-09,163.1 -2003-06-10,182.0 -2003-06-11,198.9 -2003-06-12,168.6 -2003-06-13,155.8 -2003-06-14,137.7 -2003-06-15,132.8 -2003-06-16,126.5 -2003-06-17,125.8 -2003-06-18,124.3 -2003-06-19,126.8 -2003-06-20,120.8 -2003-06-21,118.8 -2003-06-22,113.9 -2003-06-23,117.2 -2003-06-24,118.3 -2003-06-25,120.2 -2003-06-26,122.9 -2003-06-27,128.1 -2003-06-28,128.1 -2003-06-29,131.6 -2003-06-30,132.5 -2003-07-01,135.6 -2003-07-02,139.3 -2003-07-03,136.7 -2003-07-04,144.8 -2003-07-05,146.7 -2003-07-06,134.0 -2003-07-07,137.8 -2003-07-08,135.7 -2003-07-09,130.2 -2003-07-10,126.9 -2003-07-11,126.1 -2003-07-12,125.5 -2003-07-13,130.7 -2003-07-14,131.4 -2003-07-15,129.9 -2003-07-16,137.5 -2003-07-17,143.2 -2003-07-18,144.3 -2003-07-19,150.8 -2003-07-20,162.4 -2003-07-21,160.7 -2003-07-22,157.4 -2003-07-23,148.7 -2003-07-24,129.2 -2003-07-25,115.1 -2003-07-26,105.9 -2003-07-27,104.9 -2003-07-28,106.6 -2003-07-29,103.0 -2003-07-30,101.7 -2003-07-31,105.2 -2003-08-01,110.6 -2003-08-02,114.7 -2003-08-03,123.6 -2003-08-04,126.0 -2003-08-05,134.4 -2003-08-06,132.4 -2003-08-07,140.9 -2003-08-08,136.6 -2003-08-09,133.6 -2003-08-10,134.7 -2003-08-11,132.7 -2003-08-12,126.6 -2003-08-13,134.3 -2003-08-14,133.1 -2003-08-15,134.7 -2003-08-16,130.1 -2003-08-17,122.3 -2003-08-18,118.7 -2003-08-19,119.5 -2003-08-20,114.5 -2003-08-21,122.0 -2003-08-22,123.7 -2003-08-23,122.9 -2003-08-24,119.0 -2003-08-25,119.0 -2003-08-26,123.4 -2003-08-27,128.3 -2003-08-28,121.1 -2003-08-29,118.7 -2003-08-30,116.2 -2003-08-31,111.8 -2003-09-01,110.1 -2003-09-02,107.6 -2003-09-03,112.4 -2003-09-04,114.1 -2003-09-05,109.8 -2003-09-06,106.6 -2003-09-07,109.4 -2003-09-08,100.3 -2003-09-09,97.3 -2003-09-10,100.6 -2003-09-11,98.0 -2003-09-12,95.6 -2003-09-13,97.3 -2003-09-14,95.8 -2003-09-15,98.4 -2003-09-16,100.4 -2003-09-17,107.0 -2003-09-18,110.2 -2003-09-19,112.1 -2003-09-20,112.9 -2003-09-21,120.9 -2003-09-22,123.5 -2003-09-23,125.7 -2003-09-24,134.3 -2003-09-25,133.4 -2003-09-26,131.8 -2003-09-27,130.3 -2003-09-28,137.6 -2003-09-29,135.6 -2003-09-30,133.3 -2003-10-01,137.1 -2003-10-02,125.0 -2003-10-03,120.3 -2003-10-04,119.0 -2003-10-05,109.6 -2003-10-06,112.0 -2003-10-07,111.8 -2003-10-08,113.1 -2003-10-09,110.5 -2003-10-10,111.4 -2003-10-11,105.4 -2003-10-12,97.4 -2003-10-13,94.0 -2003-10-14,91.9 -2003-10-15,95.3 -2003-10-16,94.6 -2003-10-17,98.1 -2003-10-18,107.8 -2003-10-19,119.4 -2003-10-20,133.9 -2003-10-21,150.2 -2003-10-22,152.0 -2003-10-23,181.3 -2003-10-24,188.5 -2003-10-25,219.0 -2003-10-26,240.6 -2003-10-27,254.0 -2003-10-28,270.9 -2003-10-29,275.4 -2003-10-30,267.6 -2003-10-31,245.2 -2003-11-01,207.2 -2003-11-02,187.4 -2003-11-03,164.2 -2003-11-04,165.6 -2003-11-05,112.1 -2003-11-06,96.1 -2003-11-07,89.4 -2003-11-08,91.0 -2003-11-09,91.2 -2003-11-10,92.8 -2003-11-11,93.7 -2003-11-12,96.7 -2003-11-13,100.0 -2003-11-14,96.8 -2003-11-15,95.6 -2003-11-16,102.0 -2003-11-17,118.2 -2003-11-18,141.0 -2003-11-19,151.5 -2003-11-20,171.0 -2003-11-21,172.8 -2003-11-22,171.9 -2003-11-23,173.8 -2003-11-24,172.8 -2003-11-25,166.3 -2003-11-26,166.5 -2003-11-27,170.1 -2003-11-28,163.2 -2003-11-29,161.4 -2003-11-30,148.6 -2003-12-01,139.3 -2003-12-02,135.4 -2003-12-03,120.3 -2003-12-04,112.5 -2003-12-05,108.5 -2003-12-06,105.7 -2003-12-07,89.3 -2003-12-08,90.9 -2003-12-09,89.4 -2003-12-10,86.5 -2003-12-11,83.4 -2003-12-12,84.5 -2003-12-13,85.0 -2003-12-14,89.5 -2003-12-15,97.7 -2003-12-16,103.0 -2003-12-17,113.8 -2003-12-18,119.1 -2003-12-19,118.6 -2003-12-20,125.9 -2003-12-21,129.1 -2003-12-22,133.2 -2003-12-23,137.4 -2003-12-24,134.4 -2003-12-25,134.6 -2003-12-26,132.7 -2003-12-27,122.4 -2003-12-28,115.1 -2003-12-29,110.7 -2003-12-30,104.2 -2003-12-31,102.1 -2004-01-01,112.2 -2004-01-02,112.6 -2004-01-03,112.3 -2004-01-04,115.5 -2004-01-05,119.0 -2004-01-06,113.4 -2004-01-07,114.9 -2004-01-08,116.1 -2004-01-09,114.4 -2004-01-10,115.3 -2004-01-11,114.6 -2004-01-12,114.4 -2004-01-13,114.1 -2004-01-14,117.1 -2004-01-15,115.2 -2004-01-16,116.4 -2004-01-17,118.6 -2004-01-18,115.6 -2004-01-19,130.3 -2004-01-20,124.8 -2004-01-21,126.0 -2004-01-22,117.9 -2004-01-23,111.6 -2004-01-24,104.1 -2004-01-25,99.1 -2004-01-26,95.0 -2004-01-27,90.8 -2004-01-28,85.9 -2004-01-29,84.8 -2004-01-30,89.9 -2004-01-31,91.6 -2004-02-01,94.5 -2004-02-02,98.5 -2004-02-03,96.6 -2004-02-04,98.6 -2004-02-05,102.5 -2004-02-06,103.7 -2004-02-07,108.1 -2004-02-08,113.1 -2004-02-09,114.7 -2004-02-10,113.5 -2004-02-11,111.2 -2004-02-12,109.3 -2004-02-13,105.1 -2004-02-14,101.1 -2004-02-15,99.6 -2004-02-16,96.3 -2004-02-17,99.5 -2004-02-18,95.4 -2004-02-19,94.2 -2004-02-20,93.2 -2004-02-21,96.0 -2004-02-22,101.7 -2004-02-23,102.1 -2004-02-24,103.4 -2004-02-25,116.1 -2004-02-26,118.4 -2004-02-27,119.8 -2004-02-28,113.6 -2004-02-29,108.0 -2004-03-01,100.0 -2004-03-02,97.1 -2004-03-03,88.9 -2004-03-04,95.9 -2004-03-05,105.0 -2004-03-06,102.9 -2004-03-07,104.6 -2004-03-08,106.3 -2004-03-09,107.2 -2004-03-10,111.1 -2004-03-11,111.7 -2004-03-12,106.2 -2004-03-13,102.6 -2004-03-14,101.3 -2004-03-15,100.3 -2004-03-16,108.5 -2004-03-17,108.8 -2004-03-18,114.4 -2004-03-19,111.3 -2004-03-20,112.7 -2004-03-21,110.4 -2004-03-22,115.6 -2004-03-23,117.6 -2004-03-24,119.0 -2004-03-25,126.4 -2004-03-26,123.2 -2004-03-27,127.2 -2004-03-28,128.6 -2004-03-29,128.3 -2004-03-30,126.4 -2004-03-31,121.0 -2004-04-01,112.6 -2004-04-02,108.1 -2004-04-03,107.4 -2004-04-04,109.0 -2004-04-05,108.9 -2004-04-06,101.6 -2004-04-07,98.4 -2004-04-08,93.8 -2004-04-09,90.3 -2004-04-10,88.1 -2004-04-11,90.0 -2004-04-12,91.8 -2004-04-13,93.6 -2004-04-14,95.8 -2004-04-15,97.4 -2004-04-16,97.6 -2004-04-17,99.0 -2004-04-18,110.0 -2004-04-19,114.5 -2004-04-20,111.8 -2004-04-21,113.9 -2004-04-22,118.4 -2004-04-23,116.6 -2004-04-24,112.9 -2004-04-25,108.4 -2004-04-26,100.9 -2004-04-27,96.4 -2004-04-28,90.7 -2004-04-29,89.8 -2004-04-30,90.8 -2004-05-01,95.7 -2004-05-02,99.1 -2004-05-03,92.8 -2004-05-04,88.9 -2004-05-05,90.1 -2004-05-06,88.0 -2004-05-07,86.8 -2004-05-08,88.9 -2004-05-09,95.0 -2004-05-10,94.8 -2004-05-11,92.0 -2004-05-12,100.9 -2004-05-13,103.0 -2004-05-14,112.1 -2004-05-15,117.9 -2004-05-16,121.0 -2004-05-17,113.7 -2004-05-18,110.4 -2004-05-19,111.4 -2004-05-20,107.2 -2004-05-21,109.6 -2004-05-22,105.0 -2004-05-23,106.6 -2004-05-24,107.9 -2004-05-25,105.1 -2004-05-26,106.1 -2004-05-27,104.6 -2004-05-28,105.2 -2004-05-29,104.0 -2004-05-30,102.4 -2004-05-31,98.1 -2004-06-01,92.5 -2004-06-02,93.0 -2004-06-03,92.6 -2004-06-04,92.0 -2004-06-05,87.0 -2004-06-06,91.0 -2004-06-07,91.2 -2004-06-08,88.6 -2004-06-09,87.9 -2004-06-10,85.0 -2004-06-11,86.5 -2004-06-12,90.7 -2004-06-13,98.2 -2004-06-14,103.1 -2004-06-15,112.9 -2004-06-16,115.1 -2004-06-17,114.9 -2004-06-18,111.3 -2004-06-19,116.4 -2004-06-20,123.0 -2004-06-21,119.6 -2004-06-22,120.5 -2004-06-23,116.2 -2004-06-24,111.9 -2004-06-25,106.3 -2004-06-26,102.2 -2004-06-27,100.4 -2004-06-28,92.4 -2004-06-29,87.9 -2004-06-30,84.5 -2004-07-01,84.0 -2004-07-02,83.4 -2004-07-03,82.2 -2004-07-04,82.1 -2004-07-05,80.9 -2004-07-06,81.6 -2004-07-07,81.9 -2004-07-08,84.6 -2004-07-09,89.6 -2004-07-10,96.4 -2004-07-11,107.9 -2004-07-12,129.2 -2004-07-13,131.6 -2004-07-14,142.6 -2004-07-15,150.5 -2004-07-16,151.3 -2004-07-17,154.1 -2004-07-18,160.2 -2004-07-19,175.8 -2004-07-20,180.8 -2004-07-21,177.7 -2004-07-22,178.4 -2004-07-23,170.4 -2004-07-24,151.8 -2004-07-25,143.9 -2004-07-26,132.0 -2004-07-27,121.8 -2004-07-28,103.8 -2004-07-29,102.8 -2004-07-30,91.4 -2004-07-31,89.0 -2004-08-01,85.8 -2004-08-02,87.0 -2004-08-03,90.1 -2004-08-04,87.9 -2004-08-05,91.5 -2004-08-06,93.6 -2004-08-07,97.3 -2004-08-08,107.7 -2004-08-09,117.0 -2004-08-10,124.7 -2004-08-11,134.3 -2004-08-12,151.1 -2004-08-13,152.5 -2004-08-14,153.1 -2004-08-15,142.4 -2004-08-16,137.0 -2004-08-17,138.3 -2004-08-18,143.3 -2004-08-19,123.5 -2004-08-20,124.2 -2004-08-21,122.8 -2004-08-22,117.8 -2004-08-23,111.9 -2004-08-24,107.2 -2004-08-25,102.5 -2004-08-26,99.5 -2004-08-27,92.3 -2004-08-28,88.9 -2004-08-29,87.7 -2004-08-30,91.6 -2004-08-31,89.7 -2004-09-01,91.5 -2004-09-02,95.6 -2004-09-03,98.3 -2004-09-04,100.9 -2004-09-05,104.8 -2004-09-06,108.2 -2004-09-07,120.7 -2004-09-08,126.3 -2004-09-09,132.8 -2004-09-10,131.8 -2004-09-11,117.9 -2004-09-12,116.0 -2004-09-13,119.1 -2004-09-14,116.0 -2004-09-15,110.8 -2004-09-16,109.4 -2004-09-17,105.5 -2004-09-18,103.6 -2004-09-19,106.1 -2004-09-20,101.3 -2004-09-21,95.6 -2004-09-22,92.0 -2004-09-23,90.8 -2004-09-24,89.9 -2004-09-25,89.9 -2004-09-26,89.9 -2004-09-27,90.2 -2004-09-28,90.2 -2004-09-29,90.0 -2004-09-30,88.4 -2004-10-01,88.1 -2004-10-02,88.1 -2004-10-03,89.1 -2004-10-04,90.7 -2004-10-05,90.8 -2004-10-06,92.0 -2004-10-07,93.7 -2004-10-08,90.4 -2004-10-09,87.7 -2004-10-10,88.7 -2004-10-11,86.6 -2004-10-12,87.2 -2004-10-13,86.7 -2004-10-14,90.2 -2004-10-15,88.6 -2004-10-16,91.1 -2004-10-17,91.2 -2004-10-18,95.5 -2004-10-19,98.2 -2004-10-20,110.3 -2004-10-21,111.0 -2004-10-22,121.2 -2004-10-23,130.2 -2004-10-24,138.7 -2004-10-25,137.9 -2004-10-26,135.0 -2004-10-27,127.8 -2004-10-28,131.6 -2004-10-29,127.0 -2004-10-30,134.4 -2004-10-31,137.1 -2004-11-01,133.4 -2004-11-02,131.0 -2004-11-03,133.7 -2004-11-04,133.7 -2004-11-05,138.8 -2004-11-06,126.5 -2004-11-07,127.2 -2004-11-08,121.7 -2004-11-09,138.1 -2004-11-10,102.6 -2004-11-11,93.0 -2004-11-12,95.4 -2004-11-13,94.4 -2004-11-14,98.1 -2004-11-15,103.3 -2004-11-16,106.0 -2004-11-17,102.5 -2004-11-18,101.6 -2004-11-19,99.8 -2004-11-20,96.9 -2004-11-21,98.5 -2004-11-22,103.7 -2004-11-23,104.2 -2004-11-24,104.5 -2004-11-25,106.6 -2004-11-26,108.2 -2004-11-27,107.4 -2004-11-28,109.8 -2004-11-29,108.4 -2004-11-30,107.5 -2004-12-01,107.8 -2004-12-02,102.6 -2004-12-03,97.9 -2004-12-04,94.6 -2004-12-05,93.1 -2004-12-06,90.4 -2004-12-07,87.1 -2004-12-08,93.6 -2004-12-09,84.7 -2004-12-10,82.3 -2004-12-11,87.1 -2004-12-12,87.7 -2004-12-13,87.0 -2004-12-14,86.5 -2004-12-15,86.5 -2004-12-16,87.2 -2004-12-17,87.1 -2004-12-18,87.7 -2004-12-19,90.9 -2004-12-20,90.9 -2004-12-21,97.7 -2004-12-22,95.6 -2004-12-23,93.2 -2004-12-24,94.0 -2004-12-25,90.0 -2004-12-26,88.7 -2004-12-27,93.7 -2004-12-28,101.7 -2004-12-29,95.3 -2004-12-30,96.7 -2004-12-31,95.2 -2005-01-01,95.6 -2005-01-02,96.7 -2005-01-03,91.0 -2005-01-04,85.1 -2005-01-05,85.3 -2005-01-06,80.4 -2005-01-07,80.7 -2005-01-08,85.6 -2005-01-09,84.6 -2005-01-10,87.1 -2005-01-11,91.1 -2005-01-12,98.8 -2005-01-13,111.9 -2005-01-14,125.6 -2005-01-15,140.2 -2005-01-16,139.8 -2005-01-17,133.1 -2005-01-18,120.3 -2005-01-19,128.3 -2005-01-20,118.8 -2005-01-21,109.9 -2005-01-22,99.1 -2005-01-23,92.8 -2005-01-24,91.7 -2005-01-25,91.2 -2005-01-26,86.6 -2005-01-27,84.3 -2005-01-28,82.4 -2005-01-29,83.9 -2005-01-30,82.9 -2005-01-31,83.6 -2005-02-01,81.3 -2005-02-02,79.4 -2005-02-03,80.7 -2005-02-04,79.8 -2005-02-05,92.0 -2005-02-06,94.3 -2005-02-07,100.3 -2005-02-08,105.4 -2005-02-09,105.8 -2005-02-10,111.1 -2005-02-11,111.2 -2005-02-12,113.5 -2005-02-13,112.7 -2005-02-14,115.2 -2005-02-15,118.7 -2005-02-16,110.2 -2005-02-17,108.8 -2005-02-18,101.8 -2005-02-19,96.3 -2005-02-20,93.6 -2005-02-21,92.5 -2005-02-22,90.4 -2005-02-23,82.8 -2005-02-24,78.6 -2005-02-25,76.7 -2005-02-26,75.1 -2005-02-27,74.4 -2005-02-28,73.6 -2005-03-01,72.4 -2005-03-02,73.4 -2005-03-03,75.7 -2005-03-04,77.7 -2005-03-05,79.9 -2005-03-06,82.3 -2005-03-07,85.7 -2005-03-08,92.2 -2005-03-09,98.5 -2005-03-10,100.3 -2005-03-11,103.6 -2005-03-12,108.8 -2005-03-13,112.5 -2005-03-14,110.3 -2005-03-15,107.0 -2005-03-16,103.6 -2005-03-17,100.4 -2005-03-18,95.7 -2005-03-19,92.2 -2005-03-20,88.3 -2005-03-21,89.1 -2005-03-22,86.7 -2005-03-23,87.1 -2005-03-24,86.6 -2005-03-25,81.7 -2005-03-26,77.4 -2005-03-27,78.1 -2005-03-28,79.4 -2005-03-29,78.6 -2005-03-30,77.5 -2005-03-31,76.5 -2005-04-01,78.2 -2005-04-02,80.2 -2005-04-03,81.1 -2005-04-04,84.9 -2005-04-05,88.5 -2005-04-06,88.2 -2005-04-07,88.0 -2005-04-08,87.9 -2005-04-09,88.8 -2005-04-10,88.6 -2005-04-11,87.9 -2005-04-12,85.3 -2005-04-13,84.0 -2005-04-14,86.0 -2005-04-15,85.5 -2005-04-16,83.6 -2005-04-17,84.2 -2005-04-18,82.0 -2005-04-19,78.9 -2005-04-20,77.8 -2005-04-21,77.9 -2005-04-22,78.1 -2005-04-23,80.2 -2005-04-24,83.2 -2005-04-25,87.1 -2005-04-26,92.1 -2005-04-27,96.6 -2005-04-28,99.4 -2005-04-29,106.5 -2005-04-30,108.0 -2005-05-01,113.4 -2005-05-02,114.0 -2005-05-03,114.2 -2005-05-04,110.6 -2005-05-05,111.0 -2005-05-06,112.4 -2005-05-07,101.8 -2005-05-08,103.2 -2005-05-09,112.2 -2005-05-10,121.6 -2005-05-11,127.9 -2005-05-12,119.9 -2005-05-13,128.6 -2005-05-14,101.7 -2005-05-15,105.2 -2005-05-16,101.4 -2005-05-17,92.0 -2005-05-18,85.8 -2005-05-19,86.7 -2005-05-20,85.6 -2005-05-21,83.9 -2005-05-22,84.2 -2005-05-23,85.5 -2005-05-24,87.4 -2005-05-25,86.0 -2005-05-26,92.8 -2005-05-27,98.1 -2005-05-28,95.1 -2005-05-29,95.3 -2005-05-30,97.5 -2005-05-31,99.0 -2005-06-01,96.9 -2005-06-02,96.0 -2005-06-03,98.0 -2005-06-04,99.8 -2005-06-05,108.6 -2005-06-06,109.2 -2005-06-07,112.4 -2005-06-08,119.3 -2005-06-09,119.7 -2005-06-10,117.9 -2005-06-11,111.4 -2005-06-12,106.3 -2005-06-13,94.7 -2005-06-14,96.8 -2005-06-15,97.5 -2005-06-16,101.3 -2005-06-17,93.7 -2005-06-18,92.9 -2005-06-19,89.8 -2005-06-20,88.9 -2005-06-21,85.5 -2005-06-22,82.1 -2005-06-23,80.1 -2005-06-24,79.2 -2005-06-25,79.3 -2005-06-26,81.3 -2005-06-27,80.0 -2005-06-28,82.6 -2005-06-29,91.9 -2005-06-30,105.9 -2005-07-01,118.5 -2005-07-02,128.0 -2005-07-03,134.1 -2005-07-04,127.8 -2005-07-05,131.0 -2005-07-06,127.2 -2005-07-07,129.1 -2005-07-08,114.2 -2005-07-09,110.2 -2005-07-10,105.2 -2005-07-11,96.4 -2005-07-12,98.5 -2005-07-13,94.8 -2005-07-14,92.9 -2005-07-15,90.1 -2005-07-16,78.8 -2005-07-17,76.5 -2005-07-18,74.4 -2005-07-19,73.5 -2005-07-20,74.4 -2005-07-21,75.2 -2005-07-22,75.9 -2005-07-23,82.7 -2005-07-24,82.8 -2005-07-25,86.5 -2005-07-26,89.2 -2005-07-27,93.4 -2005-07-28,98.7 -2005-07-29,106.9 -2005-07-30,108.2 -2005-07-31,113.1 -2005-08-01,114.6 -2005-08-02,113.5 -2005-08-03,112.2 -2005-08-04,109.2 -2005-08-05,101.7 -2005-08-06,96.1 -2005-08-07,94.9 -2005-08-08,88.9 -2005-08-09,84.7 -2005-08-10,78.3 -2005-08-11,77.9 -2005-08-12,78.3 -2005-08-13,77.4 -2005-08-14,76.7 -2005-08-15,77.7 -2005-08-16,77.7 -2005-08-17,78.9 -2005-08-18,84.7 -2005-08-19,95.3 -2005-08-20,100.4 -2005-08-21,100.8 -2005-08-22,107.2 -2005-08-23,109.3 -2005-08-24,100.7 -2005-08-25,94.4 -2005-08-26,95.2 -2005-08-27,94.0 -2005-08-28,91.6 -2005-08-29,90.9 -2005-08-30,87.6 -2005-08-31,85.6 -2005-09-01,80.6 -2005-09-02,78.5 -2005-09-03,75.4 -2005-09-04,75.8 -2005-09-05,76.2 -2005-09-06,84.7 -2005-09-07,93.6 -2005-09-08,95.5 -2005-09-09,100.6 -2005-09-10,117.6 -2005-09-11,111.1 -2005-09-12,119.5 -2005-09-13,115.0 -2005-09-14,117.9 -2005-09-15,120.6 -2005-09-16,112.9 -2005-09-17,104.9 -2005-09-18,103.2 -2005-09-19,91.9 -2005-09-20,88.5 -2005-09-21,86.7 -2005-09-22,84.3 -2005-09-23,83.3 -2005-09-24,81.9 -2005-09-25,81.4 -2005-09-26,81.7 -2005-09-27,77.2 -2005-09-28,74.9 -2005-09-29,74.0 -2005-09-30,72.4 -2005-10-01,72.3 -2005-10-02,75.0 -2005-10-03,74.4 -2005-10-04,82.7 -2005-10-05,81.3 -2005-10-06,79.4 -2005-10-07,78.7 -2005-10-08,78.0 -2005-10-09,78.7 -2005-10-10,78.8 -2005-10-11,77.3 -2005-10-12,76.5 -2005-10-13,77.6 -2005-10-14,78.0 -2005-10-15,79.1 -2005-10-16,78.7 -2005-10-17,77.5 -2005-10-18,77.7 -2005-10-19,77.2 -2005-10-20,76.0 -2005-10-21,74.6 -2005-10-22,74.0 -2005-10-23,73.4 -2005-10-24,72.5 -2005-10-25,72.1 -2005-10-26,71.2 -2005-10-27,70.7 -2005-10-28,72.1 -2005-10-29,73.1 -2005-10-30,74.5 -2005-10-31,76.7 -2005-11-01,76.1 -2005-11-02,76.8 -2005-11-03,75.5 -2005-11-04,76.1 -2005-11-05,77.9 -2005-11-06,80.3 -2005-11-07,78.0 -2005-11-08,77.9 -2005-11-09,76.6 -2005-11-10,76.4 -2005-11-11,77.0 -2005-11-12,81.4 -2005-11-13,86.0 -2005-11-14,90.4 -2005-11-15,97.8 -2005-11-16,91.8 -2005-11-17,98.2 -2005-11-18,98.8 -2005-11-19,99.6 -2005-11-20,94.1 -2005-11-21,92.4 -2005-11-22,90.3 -2005-11-23,87.5 -2005-11-24,84.4 -2005-11-25,77.9 -2005-11-26,78.7 -2005-11-27,78.6 -2005-11-28,79.7 -2005-11-29,82.4 -2005-11-30,92.0 -2005-12-01,95.5 -2005-12-02,103.3 -2005-12-03,98.4 -2005-12-04,92.5 -2005-12-05,89.0 -2005-12-06,86.5 -2005-12-07,86.3 -2005-12-08,86.9 -2005-12-09,86.4 -2005-12-10,88.7 -2005-12-11,90.2 -2005-12-12,85.6 -2005-12-13,85.2 -2005-12-14,86.8 -2005-12-15,84.2 -2005-12-16,83.1 -2005-12-17,82.5 -2005-12-18,82.8 -2005-12-19,86.6 -2005-12-20,84.9 -2005-12-21,83.7 -2005-12-22,84.8 -2005-12-23,90.1 -2005-12-24,88.9 -2005-12-25,88.8 -2005-12-26,89.5 -2005-12-27,89.2 -2005-12-28,86.1 -2005-12-29,87.4 -2005-12-30,86.9 -2005-12-31,84.5 -2006-01-01,84.5 -2006-01-02,81.7 -2006-01-03,82.1 -2006-01-04,81.2 -2006-01-05,80.6 -2006-01-06,79.3 -2006-01-07,76.6 -2006-01-08,75.6 -2006-01-09,75.0 -2006-01-10,75.2 -2006-01-11,74.7 -2006-01-12,74.0 -2006-01-13,74.0 -2006-01-14,74.9 -2006-01-15,78.3 -2006-01-16,81.1 -2006-01-17,79.8 -2006-01-18,82.9 -2006-01-19,85.8 -2006-01-20,87.9 -2006-01-21,90.9 -2006-01-22,89.9 -2006-01-23,89.6 -2006-01-24,89.8 -2006-01-25,86.3 -2006-01-26,84.2 -2006-01-27,81.0 -2006-01-28,77.6 -2006-01-29,77.2 -2006-01-30,76.5 -2006-01-31,75.3 -2006-02-01,75.3 -2006-02-02,75.1 -2006-02-03,76.4 -2006-02-04,74.9 -2006-02-05,74.2 -2006-02-06,72.9 -2006-02-07,72.0 -2006-02-08,72.0 -2006-02-09,72.8 -2006-02-10,73.2 -2006-02-11,74.1 -2006-02-12,74.1 -2006-02-13,74.4 -2006-02-14,75.4 -2006-02-15,76.6 -2006-02-16,77.3 -2006-02-17,77.3 -2006-02-18,76.7 -2006-02-19,74.8 -2006-02-20,74.5 -2006-02-21,74.2 -2006-02-22,74.4 -2006-02-23,73.6 -2006-02-24,74.4 -2006-02-25,74.5 -2006-02-26,75.0 -2006-02-27,75.5 -2006-02-28,75.7 -2006-03-01,75.6 -2006-03-02,74.7 -2006-03-03,74.2 -2006-03-04,73.8 -2006-03-05,73.0 -2006-03-06,72.5 -2006-03-07,73.3 -2006-03-08,71.3 -2006-03-09,71.8 -2006-03-10,71.2 -2006-03-11,73.1 -2006-03-12,72.3 -2006-03-13,71.7 -2006-03-14,72.8 -2006-03-15,73.4 -2006-03-16,71.7 -2006-03-17,71.3 -2006-03-18,71.7 -2006-03-19,74.6 -2006-03-20,76.2 -2006-03-21,76.1 -2006-03-22,75.4 -2006-03-23,76.1 -2006-03-24,75.4 -2006-03-25,75.2 -2006-03-26,73.3 -2006-03-27,74.0 -2006-03-28,79.0 -2006-03-29,81.5 -2006-03-30,83.7 -2006-03-31,86.1 -2006-04-01,86.9 -2006-04-02,91.1 -2006-04-03,100.4 -2006-04-04,99.6 -2006-04-05,99.1 -2006-04-06,99.1 -2006-04-07,94.7 -2006-04-08,91.3 -2006-04-09,89.5 -2006-04-10,89.1 -2006-04-11,90.1 -2006-04-12,81.6 -2006-04-13,80.5 -2006-04-14,79.4 -2006-04-15,78.9 -2006-04-16,77.0 -2006-04-17,78.5 -2006-04-18,76.5 -2006-04-19,76.5 -2006-04-20,79.3 -2006-04-21,80.0 -2006-04-22,83.2 -2006-04-23,87.7 -2006-04-24,93.9 -2006-04-25,96.3 -2006-04-26,101.3 -2006-04-27,102.0 -2006-04-28,101.5 -2006-04-29,102.7 -2006-04-30,101.4 -2006-05-01,94.8 -2006-05-02,90.9 -2006-05-03,90.4 -2006-05-04,93.4 -2006-05-05,88.2 -2006-05-06,88.6 -2006-05-07,87.8 -2006-05-08,86.3 -2006-05-09,84.2 -2006-05-10,79.8 -2006-05-11,77.9 -2006-05-12,77.3 -2006-05-13,75.0 -2006-05-14,73.6 -2006-05-15,73.2 -2006-05-16,73.1 -2006-05-17,73.6 -2006-05-18,75.0 -2006-05-19,77.1 -2006-05-20,78.0 -2006-05-21,79.4 -2006-05-22,85.1 -2006-05-23,86.3 -2006-05-24,85.9 -2006-05-25,85.9 -2006-05-26,83.8 -2006-05-27,85.2 -2006-05-28,87.0 -2006-05-29,83.3 -2006-05-30,82.3 -2006-05-31,80.6 -2006-06-01,79.4 -2006-06-02,77.5 -2006-06-03,78.1 -2006-06-04,77.8 -2006-06-05,80.2 -2006-06-06,80.3 -2006-06-07,85.2 -2006-06-08,82.5 -2006-06-09,80.0 -2006-06-10,78.5 -2006-06-11,76.7 -2006-06-12,76.5 -2006-06-13,79.5 -2006-06-14,77.7 -2006-06-15,78.8 -2006-06-16,77.7 -2006-06-17,75.6 -2006-06-18,75.7 -2006-06-19,75.7 -2006-06-20,75.3 -2006-06-21,75.1 -2006-06-22,74.4 -2006-06-23,74.1 -2006-06-24,76.1 -2006-06-25,76.5 -2006-06-26,79.0 -2006-06-27,81.2 -2006-06-28,86.3 -2006-06-29,88.4 -2006-06-30,89.0 -2006-07-01,88.4 -2006-07-02,90.0 -2006-07-03,88.8 -2006-07-04,95.1 -2006-07-05,87.5 -2006-07-06,87.9 -2006-07-07,82.6 -2006-07-08,80.0 -2006-07-09,77.1 -2006-07-10,75.2 -2006-07-11,73.6 -2006-07-12,72.9 -2006-07-13,72.2 -2006-07-14,73.3 -2006-07-15,72.6 -2006-07-16,73.2 -2006-07-17,73.3 -2006-07-18,73.6 -2006-07-19,73.4 -2006-07-20,74.5 -2006-07-21,75.0 -2006-07-22,75.9 -2006-07-23,78.9 -2006-07-24,79.5 -2006-07-25,77.9 -2006-07-26,77.0 -2006-07-27,76.7 -2006-07-28,74.9 -2006-07-29,75.2 -2006-07-30,76.2 -2006-07-31,74.6 -2006-08-01,74.9 -2006-08-02,74.3 -2006-08-03,73.4 -2006-08-04,71.6 -2006-08-05,71.5 -2006-08-06,71.5 -2006-08-07,71.8 -2006-08-08,73.4 -2006-08-09,76.1 -2006-08-10,82.5 -2006-08-11,86.2 -2006-08-12,87.0 -2006-08-13,88.1 -2006-08-14,88.6 -2006-08-15,87.8 -2006-08-16,103.2 -2006-08-17,88.0 -2006-08-18,90.6 -2006-08-19,90.9 -2006-08-20,90.2 -2006-08-21,89.8 -2006-08-22,82.7 -2006-08-23,80.1 -2006-08-24,79.9 -2006-08-25,78.9 -2006-08-26,77.3 -2006-08-27,80.2 -2006-08-28,78.0 -2006-08-29,74.4 -2006-08-30,75.7 -2006-08-31,84.7 -2006-09-01,78.3 -2006-09-02,76.9 -2006-09-03,77.8 -2006-09-04,80.3 -2006-09-05,81.7 -2006-09-06,85.3 -2006-09-07,88.1 -2006-09-08,88.5 -2006-09-09,86.7 -2006-09-10,88.5 -2006-09-11,85.7 -2006-09-12,85.1 -2006-09-13,83.9 -2006-09-14,83.8 -2006-09-15,81.0 -2006-09-16,80.1 -2006-09-17,78.8 -2006-09-18,75.1 -2006-09-19,74.0 -2006-09-20,71.5 -2006-09-21,72.0 -2006-09-22,72.9 -2006-09-23,70.9 -2006-09-24,70.3 -2006-09-25,70.6 -2006-09-26,71.0 -2006-09-27,72.4 -2006-09-28,73.3 -2006-09-29,76.8 -2006-09-30,77.9 -2006-10-01,78.6 -2006-10-02,78.0 -2006-10-03,76.7 -2006-10-04,76.7 -2006-10-05,77.3 -2006-10-06,76.3 -2006-10-07,76.4 -2006-10-08,75.1 -2006-10-09,74.8 -2006-10-10,75.0 -2006-10-11,73.3 -2006-10-12,73.3 -2006-10-13,72.9 -2006-10-14,72.0 -2006-10-15,70.7 -2006-10-16,69.1 -2006-10-17,69.1 -2006-10-18,69.0 -2006-10-19,69.0 -2006-10-20,70.4 -2006-10-21,74.0 -2006-10-22,75.1 -2006-10-23,75.7 -2006-10-24,74.0 -2006-10-25,73.9 -2006-10-26,71.0 -2006-10-27,71.1 -2006-10-28,73.7 -2006-10-29,72.3 -2006-10-30,74.6 -2006-10-31,78.9 -2006-11-01,85.3 -2006-11-02,86.8 -2006-11-03,86.0 -2006-11-04,84.0 -2006-11-05,83.2 -2006-11-06,82.1 -2006-11-07,85.6 -2006-11-08,84.8 -2006-11-09,87.7 -2006-11-10,89.3 -2006-11-11,95.0 -2006-11-12,94.7 -2006-11-13,93.2 -2006-11-14,92.5 -2006-11-15,94.0 -2006-11-16,92.0 -2006-11-17,87.4 -2006-11-18,86.8 -2006-11-19,82.9 -2006-11-20,78.6 -2006-11-21,75.6 -2006-11-22,74.6 -2006-11-23,74.9 -2006-11-24,75.5 -2006-11-25,76.5 -2006-11-26,76.2 -2006-11-27,80.2 -2006-11-28,83.2 -2006-11-29,82.7 -2006-11-30,81.8 -2006-12-01,81.8 -2006-12-02,84.8 -2006-12-03,84.6 -2006-12-04,93.6 -2006-12-05,99.4 -2006-12-06,99.7 -2006-12-07,92.9 -2006-12-08,93.1 -2006-12-09,89.6 -2006-12-10,87.3 -2006-12-11,89.4 -2006-12-12,98.9 -2006-12-13,90.7 -2006-12-14,90.5 -2006-12-15,84.4 -2006-12-16,79.7 -2006-12-17,78.7 -2006-12-18,72.3 -2006-12-19,70.6 -2006-12-20,69.2 -2006-12-21,70.0 -2006-12-22,70.8 -2006-12-23,70.3 -2006-12-24,71.1 -2006-12-25,73.9 -2006-12-26,72.5 -2006-12-27,70.9 -2006-12-28,73.8 -2006-12-29,75.8 -2006-12-30,77.4 -2006-12-31,80.5 -2007-01-01,84.1 -2007-01-02,87.0 -2007-01-03,84.8 -2007-01-04,86.4 -2007-01-05,86.5 -2007-01-06,84.4 -2007-01-07,83.9 -2007-01-08,85.1 -2007-01-09,89.1 -2007-01-10,83.3 -2007-01-11,81.2 -2007-01-12,81.0 -2007-01-13,78.7 -2007-01-14,79.4 -2007-01-15,79.3 -2007-01-16,76.1 -2007-01-17,75.6 -2007-01-18,74.4 -2007-01-19,73.9 -2007-01-20,76.3 -2007-01-21,76.1 -2007-01-22,76.0 -2007-01-23,76.8 -2007-01-24,77.9 -2007-01-25,77.5 -2007-01-26,77.3 -2007-01-27,78.0 -2007-01-28,79.3 -2007-01-29,84.1 -2007-01-30,84.9 -2007-01-31,86.6 -2007-02-01,87.3 -2007-02-02,87.7 -2007-02-03,84.8 -2007-02-04,81.3 -2007-02-05,80.7 -2007-02-06,79.6 -2007-02-07,79.8 -2007-02-08,76.3 -2007-02-09,74.6 -2007-02-10,73.9 -2007-02-11,72.8 -2007-02-12,71.8 -2007-02-13,70.9 -2007-02-14,70.9 -2007-02-15,71.8 -2007-02-16,72.9 -2007-02-17,73.5 -2007-02-18,74.1 -2007-02-19,73.2 -2007-02-20,73.1 -2007-02-21,73.2 -2007-02-22,73.9 -2007-02-23,73.6 -2007-02-24,73.9 -2007-02-25,75.1 -2007-02-26,73.9 -2007-02-27,73.4 -2007-02-28,74.4 -2007-03-01,73.4 -2007-03-02,74.2 -2007-03-03,72.0 -2007-03-04,71.3 -2007-03-05,70.8 -2007-03-06,70.8 -2007-03-07,71.8 -2007-03-08,71.4 -2007-03-09,70.6 -2007-03-10,70.2 -2007-03-11,70.1 -2007-03-12,70.3 -2007-03-13,70.6 -2007-03-14,69.2 -2007-03-15,68.5 -2007-03-16,68.0 -2007-03-17,68.6 -2007-03-18,69.8 -2007-03-19,69.5 -2007-03-20,72.0 -2007-03-21,72.3 -2007-03-22,72.0 -2007-03-23,72.0 -2007-03-24,72.4 -2007-03-25,73.3 -2007-03-26,73.5 -2007-03-27,73.0 -2007-03-28,74.3 -2007-03-29,73.6 -2007-03-30,73.9 -2007-03-31,73.1 -2007-04-01,71.6 -2007-04-02,71.1 -2007-04-03,70.8 -2007-04-04,70.8 -2007-04-05,71.0 -2007-04-06,71.1 -2007-04-07,71.4 -2007-04-08,71.3 -2007-04-09,70.2 -2007-04-10,69.7 -2007-04-11,69.5 -2007-04-12,68.6 -2007-04-13,68.6 -2007-04-14,68.6 -2007-04-15,69.8 -2007-04-16,69.8 -2007-04-17,69.8 -2007-04-18,69.3 -2007-04-19,68.9 -2007-04-20,69.1 -2007-04-21,69.4 -2007-04-22,69.7 -2007-04-23,69.8 -2007-04-24,74.0 -2007-04-25,77.4 -2007-04-26,81.5 -2007-04-27,83.8 -2007-04-28,86.1 -2007-04-29,86.0 -2007-04-30,88.2 -2007-05-01,87.6 -2007-05-02,88.8 -2007-05-03,84.4 -2007-05-04,83.9 -2007-05-05,82.4 -2007-05-06,79.4 -2007-05-07,77.1 -2007-05-08,74.7 -2007-05-09,73.5 -2007-05-10,72.6 -2007-05-11,72.9 -2007-05-12,72.9 -2007-05-13,75.0 -2007-05-14,74.4 -2007-05-15,78.5 -2007-05-16,78.9 -2007-05-17,78.3 -2007-05-18,77.6 -2007-05-19,76.6 -2007-05-20,75.9 -2007-05-21,75.0 -2007-05-22,73.7 -2007-05-23,71.9 -2007-05-24,71.7 -2007-05-25,69.9 -2007-05-26,69.5 -2007-05-27,68.8 -2007-05-28,70.5 -2007-05-29,71.5 -2007-05-30,72.6 -2007-05-31,76.7 -2007-06-01,81.6 -2007-06-02,85.6 -2007-06-03,89.5 -2007-06-04,88.2 -2007-06-05,83.6 -2007-06-06,87.1 -2007-06-07,88.1 -2007-06-08,86.8 -2007-06-09,81.0 -2007-06-10,78.2 -2007-06-11,75.6 -2007-06-12,72.6 -2007-06-13,73.1 -2007-06-14,70.6 -2007-06-15,71.3 -2007-06-16,70.2 -2007-06-17,68.9 -2007-06-18,68.8 -2007-06-19,68.5 -2007-06-20,67.8 -2007-06-21,67.6 -2007-06-22,67.5 -2007-06-23,68.1 -2007-06-24,69.1 -2007-06-25,69.8 -2007-06-26,72.8 -2007-06-27,75.7 -2007-06-28,77.4 -2007-06-29,77.8 -2007-06-30,76.4 -2007-07-01,76.8 -2007-07-02,75.1 -2007-07-03,74.2 -2007-07-04,74.9 -2007-07-05,73.9 -2007-07-06,73.5 -2007-07-07,75.5 -2007-07-08,77.6 -2007-07-09,79.7 -2007-07-10,80.8 -2007-07-11,81.1 -2007-07-12,79.5 -2007-07-13,80.6 -2007-07-14,78.2 -2007-07-15,77.1 -2007-07-16,75.3 -2007-07-17,74.7 -2007-07-18,71.8 -2007-07-19,70.5 -2007-07-20,69.5 -2007-07-21,68.6 -2007-07-22,68.3 -2007-07-23,69.3 -2007-07-24,70.2 -2007-07-25,70.8 -2007-07-26,70.6 -2007-07-27,70.9 -2007-07-28,72.1 -2007-07-29,71.1 -2007-07-30,71.0 -2007-07-31,70.1 -2007-08-01,70.4 -2007-08-02,71.5 -2007-08-03,72.4 -2007-08-04,71.4 -2007-08-05,70.9 -2007-08-06,72.0 -2007-08-07,71.0 -2007-08-08,71.0 -2007-08-09,69.3 -2007-08-10,69.3 -2007-08-11,69.5 -2007-08-12,70.0 -2007-08-13,69.5 -2007-08-14,70.3 -2007-08-15,69.3 -2007-08-16,69.0 -2007-08-17,69.3 -2007-08-18,69.6 -2007-08-19,69.4 -2007-08-20,70.7 -2007-08-21,70.9 -2007-08-22,71.6 -2007-08-23,72.4 -2007-08-24,73.2 -2007-08-25,73.1 -2007-08-26,71.6 -2007-08-27,70.7 -2007-08-28,71.6 -2007-08-29,71.0 -2007-08-30,73.0 -2007-08-31,72.2 -2007-09-01,72.1 -2007-09-02,70.6 -2007-09-03,69.1 -2007-09-04,69.4 -2007-09-05,68.8 -2007-09-06,67.8 -2007-09-07,68.2 -2007-09-08,67.6 -2007-09-09,67.7 -2007-09-10,67.9 -2007-09-11,67.0 -2007-09-12,66.7 -2007-09-13,67.2 -2007-09-14,67.6 -2007-09-15,68.5 -2007-09-16,67.8 -2007-09-17,67.6 -2007-09-18,67.1 -2007-09-19,67.4 -2007-09-20,67.4 -2007-09-21,67.4 -2007-09-22,67.2 -2007-09-23,66.8 -2007-09-24,66.5 -2007-09-25,66.6 -2007-09-26,66.8 -2007-09-27,67.4 -2007-09-28,67.4 -2007-09-29,67.8 -2007-09-30,65.1 -2007-10-01,67.8 -2007-10-02,66.5 -2007-10-03,67.3 -2007-10-04,67.4 -2007-10-05,67.8 -2007-10-06,68.9 -2007-10-07,68.1 -2007-10-08,67.9 -2007-10-09,68.6 -2007-10-10,67.9 -2007-10-11,68.6 -2007-10-12,68.3 -2007-10-13,67.3 -2007-10-14,66.7 -2007-10-15,66.8 -2007-10-16,66.7 -2007-10-17,67.0 -2007-10-18,67.7 -2007-10-19,66.8 -2007-10-20,66.3 -2007-10-21,66.6 -2007-10-22,66.0 -2007-10-23,66.4 -2007-10-24,66.8 -2007-10-25,66.3 -2007-10-26,66.7 -2007-10-27,66.2 -2007-10-28,66.6 -2007-10-29,66.2 -2007-10-30,66.3 -2007-10-31,66.1 -2007-11-01,66.3 -2007-11-02,66.8 -2007-11-03,66.5 -2007-11-04,66.5 -2007-11-05,66.2 -2007-11-06,67.3 -2007-11-07,66.9 -2007-11-08,68.4 -2007-11-09,68.2 -2007-11-10,68.4 -2007-11-11,67.7 -2007-11-12,68.3 -2007-11-13,68.4 -2007-11-14,68.9 -2007-11-15,67.7 -2007-11-16,69.1 -2007-11-17,68.2 -2007-11-18,67.2 -2007-11-19,67.9 -2007-11-20,68.0 -2007-11-21,67.4 -2007-11-22,68.0 -2007-11-23,68.3 -2007-11-24,69.5 -2007-11-25,68.8 -2007-11-26,69.6 -2007-11-27,69.6 -2007-11-28,69.3 -2007-11-29,69.3 -2007-11-30,69.2 -2007-12-01,69.9 -2007-12-02,71.0 -2007-12-03,70.5 -2007-12-04,71.5 -2007-12-05,73.1 -2007-12-06,75.9 -2007-12-07,79.8 -2007-12-08,84.4 -2007-12-09,86.2 -2007-12-10,84.3 -2007-12-11,90.5 -2007-12-12,91.1 -2007-12-13,90.9 -2007-12-14,89.0 -2007-12-15,86.1 -2007-12-16,79.1 -2007-12-17,76.9 -2007-12-18,74.4 -2007-12-19,72.1 -2007-12-20,70.2 -2007-12-21,68.7 -2007-12-22,69.1 -2007-12-23,69.1 -2007-12-24,69.1 -2007-12-25,69.7 -2007-12-26,70.2 -2007-12-27,69.7 -2007-12-28,69.5 -2007-12-29,70.3 -2007-12-30,72.5 -2007-12-31,74.2 -2008-01-01,76.7 -2008-01-02,77.0 -2008-01-03,76.7 -2008-01-04,76.4 -2008-01-05,77.1 -2008-01-06,76.6 -2008-01-07,75.2 -2008-01-08,73.0 -2008-01-09,74.0 -2008-01-10,73.2 -2008-01-11,73.5 -2008-01-12,73.2 -2008-01-13,72.9 -2008-01-14,73.1 -2008-01-15,71.3 -2008-01-16,70.6 -2008-01-17,71.3 -2008-01-18,68.8 -2008-01-19,68.6 -2008-01-20,68.0 -2008-01-21,69.3 -2008-01-22,68.1 -2008-01-23,68.4 -2008-01-24,69.1 -2008-01-25,68.9 -2008-01-26,70.3 -2008-01-27,69.8 -2008-01-28,69.2 -2008-01-29,69.5 -2008-01-30,70.6 -2008-01-31,69.9 -2008-02-01,69.0 -2008-02-02,69.8 -2008-02-03, -2008-02-04,69.3 -2008-02-05,68.5 -2008-02-06,69.6 -2008-02-07,68.9 -2008-02-08,69.0 -2008-02-09,70.3 -2008-02-10,70.7 -2008-02-11,70.2 -2008-02-12,70.3 -2008-02-13,68.7 -2008-02-14,68.8 -2008-02-15,68.0 -2008-02-16,68.6 -2008-02-17,69.4 -2008-02-18,69.5 -2008-02-19,70.0 -2008-02-20,69.3 -2008-02-21,70.3 -2008-02-22,70.8 -2008-02-23,70.1 -2008-02-24,69.3 -2008-02-25,69.9 -2008-02-26,69.3 -2008-02-27,69.4 -2008-02-28,68.7 -2008-02-29,68.5 -2008-03-01,67.4 -2008-03-02,68.0 -2008-03-03,67.3 -2008-03-04,67.2 -2008-03-05,68.2 -2008-03-06,69.3 -2008-03-07,69.5 -2008-03-08,68.8 -2008-03-09,68.5 -2008-03-10,69.4 -2008-03-11,69.3 -2008-03-12,68.5 -2008-03-13,68.7 -2008-03-14,69.1 -2008-03-15,68.8 -2008-03-16,69.6 -2008-03-17,69.1 -2008-03-18,69.0 -2008-03-19,68.4 -2008-03-20,67.9 -2008-03-21,67.7 -2008-03-22,69.1 -2008-03-23,71.5 -2008-03-24,79.0 -2008-03-25,88.2 -2008-03-26,81.2 -2008-03-27,84.5 -2008-03-28,82.6 -2008-03-29,82.4 -2008-03-30,80.4 -2008-03-31,79.1 -2008-04-01,77.7 -2008-04-02,75.9 -2008-04-03,76.4 -2008-04-04,73.1 -2008-04-05,71.1 -2008-04-06,69.5 -2008-04-07,69.3 -2008-04-08,70.0 -2008-04-09,68.2 -2008-04-10,68.1 -2008-04-11,67.4 -2008-04-12,68.5 -2008-04-13,69.7 -2008-04-14,69.0 -2008-04-15,69.7 -2008-04-16,70.0 -2008-04-17,69.8 -2008-04-18,70.8 -2008-04-19,71.7 -2008-04-20,71.5 -2008-04-21,71.6 -2008-04-22,72.1 -2008-04-23,71.5 -2008-04-24,71.2 -2008-04-25,70.7 -2008-04-26,69.9 -2008-04-27,69.0 -2008-04-28,69.4 -2008-04-29,69.6 -2008-04-30,68.0 -2008-05-01,69.6 -2008-05-02,69.2 -2008-05-03,68.5 -2008-05-04,69.5 -2008-05-05,68.8 -2008-05-06,68.4 -2008-05-07,67.8 -2008-05-08,67.7 -2008-05-09,68.6 -2008-05-10,68.7 -2008-05-11,69.4 -2008-05-12,69.5 -2008-05-13,69.7 -2008-05-14,70.5 -2008-05-15,72.7 -2008-05-16,73.2 -2008-05-17,72.8 -2008-05-18,73.3 -2008-05-19,70.5 -2008-05-20,70.2 -2008-05-21,70.8 -2008-05-22,71.0 -2008-05-23,69.6 -2008-05-24,70.3 -2008-05-25,70.1 -2008-05-26,69.8 -2008-05-27,69.7 -2008-05-28,69.6 -2008-05-29,69.9 -2008-05-30,69.0 -2008-05-31,68.8 -2008-06-01,68.5 -2008-06-02,69.0 -2008-06-03,68.2 -2008-06-04,67.1 -2008-06-05,68.4 -2008-06-06,67.9 -2008-06-07,67.6 -2008-06-08,66.9 -2008-06-09,68.0 -2008-06-10,68.2 -2008-06-11,67.8 -2008-06-12,69.2 -2008-06-13,68.6 -2008-06-14,69.2 -2008-06-15,68.6 -2008-06-16,67.4 -2008-06-17,68.1 -2008-06-18,67.5 -2008-06-19,67.0 -2008-06-20,67.3 -2008-06-21,67.0 -2008-06-22,67.5 -2008-06-23,67.5 -2008-06-24,68.0 -2008-06-25,68.1 -2008-06-26,67.5 -2008-06-27,68.3 -2008-06-28,68.1 -2008-06-29,68.8 -2008-06-30,68.9 -2008-07-01,67.8 -2008-07-02,68.2 -2008-07-03,67.7 -2008-07-04,67.6 -2008-07-05,67.3 -2008-07-06,68.3 -2008-07-07,67.7 -2008-07-08,67.8 -2008-07-09,68.3 -2008-07-10,67.6 -2008-07-11,67.9 -2008-07-12,67.1 -2008-07-13,67.4 -2008-07-14,67.8 -2008-07-15,67.9 -2008-07-16,66.7 -2008-07-17,67.1 -2008-07-18,67.4 -2008-07-19,68.5 -2008-07-20,68.0 -2008-07-21,68.4 -2008-07-22,68.0 -2008-07-23,67.6 -2008-07-24,67.5 -2008-07-25,67.9 -2008-07-26,68.1 -2008-07-27,68.4 -2008-07-28,68.3 -2008-07-29,68.1 -2008-07-30,68.5 -2008-07-31,67.5 -2008-08-01,68.1 -2008-08-02,68.2 -2008-08-03,67.4 -2008-08-04,68.2 -2008-08-05,68.4 -2008-08-06,68.9 -2008-08-07,68.0 -2008-08-08,67.3 -2008-08-09,67.3 -2008-08-10,67.4 -2008-08-11,67.5 -2008-08-12,66.9 -2008-08-13,67.0 -2008-08-14,67.6 -2008-08-15,67.0 -2008-08-16,67.8 -2008-08-17,68.2 -2008-08-18,67.8 -2008-08-19,68.9 -2008-08-20,67.4 -2008-08-21,68.7 -2008-08-22,69.1 -2008-08-23,69.4 -2008-08-24,68.6 -2008-08-25,68.0 -2008-08-26,68.3 -2008-08-27,68.0 -2008-08-28,67.4 -2008-08-29,68.1 -2008-08-30,68.4 -2008-08-31,67.9 -2008-09-01,67.0 -2008-09-02,67.2 -2008-09-03,67.3 -2008-09-04,67.0 -2008-09-05,66.3 -2008-09-06,66.8 -2008-09-07,67.6 -2008-09-08,68.0 -2008-09-09,68.0 -2008-09-10,68.1 -2008-09-11,67.8 -2008-09-12,67.1 -2008-09-13,67.2 -2008-09-14,67.6 -2008-09-15,68.2 -2008-09-16,70.1 -2008-09-17,67.7 -2008-09-18,67.8 -2008-09-19,68.4 -2008-09-20,68.4 -2008-09-21,68.4 -2008-09-22,69.6 -2008-09-23,69.8 -2008-09-24,68.8 -2008-09-25,68.6 -2008-09-26,68.0 -2008-09-27,67.6 -2008-09-28,67.3 -2008-09-29,67.0 -2008-09-30,66.4 -2008-10-01,65.9 -2008-10-02,66.4 -2008-10-03,67.2 -2008-10-04,66.6 -2008-10-05,67.4 -2008-10-06,67.2 -2008-10-07,66.6 -2008-10-08,67.5 -2008-10-09,68.5 -2008-10-10,68.7 -2008-10-11,70.5 -2008-10-12,69.7 -2008-10-13,70.5 -2008-10-14,70.0 -2008-10-15,70.5 -2008-10-16,71.4 -2008-10-17,69.5 -2008-10-18,68.6 -2008-10-19,69.0 -2008-10-20,68.6 -2008-10-21,68.2 -2008-10-22,67.0 -2008-10-23,66.5 -2008-10-24,66.7 -2008-10-25,66.7 -2008-10-26,66.0 -2008-10-27,66.1 -2008-10-28,66.2 -2008-10-29,65.8 -2008-10-30,65.9 -2008-10-31,67.1 -2008-11-01,65.6 -2008-11-02,68.0 -2008-11-03,68.3 -2008-11-04,66.8 -2008-11-05,66.5 -2008-11-06,67.3 -2008-11-07,66.5 -2008-11-08,67.0 -2008-11-09,67.1 -2008-11-10,67.9 -2008-11-11,70.0 -2008-11-12,69.5 -2008-11-13,67.6 -2008-11-14,66.8 -2008-11-15,66.7 -2008-11-16,66.2 -2008-11-17,66.2 -2008-11-18,68.2 -2008-11-19,67.7 -2008-11-20,67.9 -2008-11-21,66.8 -2008-11-22,67.3 -2008-11-23,67.2 -2008-11-24,66.1 -2008-11-25,66.0 -2008-11-26,66.5 -2008-11-27,66.4 -2008-11-28,65.2 -2008-11-29,66.4 -2008-11-30,66.5 -2008-12-01,66.2 -2008-12-02,67.0 -2008-12-03,67.2 -2008-12-04,67.6 -2008-12-05,66.8 -2008-12-06,67.1 -2008-12-07,67.0 -2008-12-08,66.4 -2008-12-09,66.7 -2008-12-10,68.7 -2008-12-11,68.0 -2008-12-12,68.8 -2008-12-13,67.5 -2008-12-14,66.6 -2008-12-15,66.7 -2008-12-16,67.2 -2008-12-17,66.6 -2008-12-18,66.2 -2008-12-19,67.0 -2008-12-20,66.9 -2008-12-21, -2008-12-22,65.5 -2008-12-23,66.3 -2008-12-24,67.1 -2008-12-25,67.0 -2008-12-26,67.0 -2008-12-27,67.1 -2008-12-28,67.5 -2008-12-29,67.5 -2008-12-30,66.3 -2008-12-31,67.0 -2009-01-01,66.6 -2009-01-02,67.6 -2009-01-03,67.2 -2009-01-04,66.6 -2009-01-05,66.9 -2009-01-06,66.5 -2009-01-07,66.7 -2009-01-08,66.5 -2009-01-09,67.4 -2009-01-10,68.5 -2009-01-11,67.7 -2009-01-12,67.0 -2009-01-13,68.2 -2009-01-14,68.9 -2009-01-15,68.8 -2009-01-16,68.5 -2009-01-17,69.6 -2009-01-18,68.8 -2009-01-19,68.6 -2009-01-20,68.1 -2009-01-21,67.2 -2009-01-22,66.9 -2009-01-23,67.8 -2009-01-24,66.6 -2009-01-25,67.7 -2009-01-26,67.8 -2009-01-27,67.6 -2009-01-28,67.4 -2009-01-29,67.3 -2009-01-30,67.1 -2009-01-31,67.4 -2009-02-01,67.5 -2009-02-02,67.1 -2009-02-03,67.3 -2009-02-04,67.5 -2009-02-05,68.1 -2009-02-06,68.2 -2009-02-07,69.2 -2009-02-08,69.3 -2009-02-09,68.8 -2009-02-10,65.8 -2009-02-11,68.5 -2009-02-12,68.0 -2009-02-13,68.3 -2009-02-14,68.4 -2009-02-15,67.9 -2009-02-16,67.9 -2009-02-17,69.0 -2009-02-18,68.2 -2009-02-19,67.4 -2009-02-20,67.6 -2009-02-21,69.1 -2009-02-22,68.8 -2009-02-23,69.3 -2009-02-24,69.5 -2009-02-25,69.3 -2009-02-26,68.6 -2009-02-27,67.6 -2009-02-28,69.3 -2009-03-01,68.1 -2009-03-02,68.0 -2009-03-03,68.0 -2009-03-04,68.6 -2009-03-05,68.1 -2009-03-06,68.0 -2009-03-07,68.0 -2009-03-08,67.9 -2009-03-09,67.2 -2009-03-10,67.8 -2009-03-11,68.0 -2009-03-12,67.8 -2009-03-13,67.4 -2009-03-14,67.7 -2009-03-15,67.7 -2009-03-16,68.7 -2009-03-17,68.2 -2009-03-18,67.8 -2009-03-19,68.5 -2009-03-20,68.2 -2009-03-21,69.6 -2009-03-22,68.2 -2009-03-23,67.6 -2009-03-24,68.7 -2009-03-25,68.2 -2009-03-26,68.8 -2009-03-27,71.4 -2009-03-28,70.4 -2009-03-29,70.7 -2009-03-30,70.8 -2009-03-31,71.1 -2009-04-01,70.7 -2009-04-02,70.6 -2009-04-03,70.4 -2009-04-04,70.1 -2009-04-05,70.5 -2009-04-06,68.9 -2009-04-07,70.4 -2009-04-08,70.2 -2009-04-09,70.3 -2009-04-10,69.7 -2009-04-11,69.7 -2009-04-12,69.7 -2009-04-13,68.8 -2009-04-14,69.9 -2009-04-15,69.9 -2009-04-16,70.5 -2009-04-17,70.4 -2009-04-18,70.5 -2009-04-19,70.8 -2009-04-20,70.4 -2009-04-21,71.8 -2009-04-22,71.9 -2009-04-23,71.4 -2009-04-24,70.5 -2009-04-25,70.3 -2009-04-26,70.1 -2009-04-27,68.6 -2009-04-28,69.8 -2009-04-29,70.5 -2009-04-30,70.5 -2009-05-01,69.6 -2009-05-02,69.4 -2009-05-03,69.7 -2009-05-04,69.2 -2009-05-05,69.2 -2009-05-06,70.0 -2009-05-07,70.8 -2009-05-08,72.2 -2009-05-09,73.7 -2009-05-10,73.2 -2009-05-11,73.3 -2009-05-12,75.5 -2009-05-13,75.3 -2009-05-14,75.5 -2009-05-15,75.4 -2009-05-16,75.8 -2009-05-17,75.7 -2009-05-18,74.6 -2009-05-19,74.0 -2009-05-20,73.2 -2009-05-21,73.5 -2009-05-22,73.9 -2009-05-23,72.2 -2009-05-24,71.0 -2009-05-25,70.7 -2009-05-26,69.9 -2009-05-27,68.5 -2009-05-28,69.6 -2009-05-29,70.1 -2009-05-30,70.4 -2009-05-31,70.4 -2009-06-01,74.6 -2009-06-02,74.0 -2009-06-03,74.6 -2009-06-04,73.1 -2009-06-05,72.2 -2009-06-06,71.1 -2009-06-07,71.0 -2009-06-08,71.1 -2009-06-09,71.2 -2009-06-10,71.3 -2009-06-11,71.4 -2009-06-12,71.2 -2009-06-13,70.4 -2009-06-14,70.3 -2009-06-15,69.5 -2009-06-16,70.5 -2009-06-17,70.0 -2009-06-18,69.9 -2009-06-19,69.2 -2009-06-20,68.8 -2009-06-21,69.2 -2009-06-22,70.2 -2009-06-23,70.2 -2009-06-24,69.1 -2009-06-25,70.3 -2009-06-26,69.0 -2009-06-27,69.3 -2009-06-28,69.2 -2009-06-29,70.8 -2009-06-30,70.5 -2009-07-01,69.8 -2009-07-02,68.7 -2009-07-03,69.5 -2009-07-04,73.4 -2009-07-05,74.0 -2009-07-06,71.2 -2009-07-07,73.7 -2009-07-08,73.1 -2009-07-09,71.4 -2009-07-10,70.1 -2009-07-11,70.5 -2009-07-12,70.3 -2009-07-13,69.5 -2009-07-14,68.8 -2009-07-15,68.7 -2009-07-16,68.9 -2009-07-17,68.4 -2009-07-18,69.2 -2009-07-19,69.9 -2009-07-20,70.4 -2009-07-21,69.9 -2009-07-22,70.0 -2009-07-23,69.9 -2009-07-24,70.5 -2009-07-25,71.2 -2009-07-26,69.8 -2009-07-27,70.5 -2009-07-28,70.9 -2009-07-29,70.4 -2009-07-30,70.1 -2009-07-31,70.8 -2009-08-01,70.2 -2009-08-02,70.1 -2009-08-03,69.3 -2009-08-04,67.8 -2009-08-05,68.1 -2009-08-06,68.7 -2009-08-07,69.7 -2009-08-08,68.8 -2009-08-09,69.1 -2009-08-10,69.0 -2009-08-11,68.4 -2009-08-12,68.2 -2009-08-13,68.9 -2009-08-14,69.4 -2009-08-15,69.8 -2009-08-16,70.6 -2009-08-17,69.8 -2009-08-18,69.1 -2009-08-19,68.7 -2009-08-20,69.2 -2009-08-21,67.9 -2009-08-22,68.1 -2009-08-23,68.8 -2009-08-24,69.1 -2009-08-25,68.5 -2009-08-26,68.7 -2009-08-27,69.1 -2009-08-28,69.3 -2009-08-29,69.3 -2009-08-30,68.5 -2009-08-31,69.6 -2009-09-01,70.4 -2009-09-02,69.4 -2009-09-03,69.8 -2009-09-04,69.5 -2009-09-05,69.6 -2009-09-06,70.3 -2009-09-07,69.8 -2009-09-08,70.0 -2009-09-09,70.2 -2009-09-10,70.2 -2009-09-11,70.2 -2009-09-12,69.8 -2009-09-13,69.9 -2009-09-14,69.8 -2009-09-15,69.9 -2009-09-16,69.5 -2009-09-17,69.8 -2009-09-18,69.6 -2009-09-19,71.1 -2009-09-20,71.9 -2009-09-21,72.5 -2009-09-22,75.3 -2009-09-23,76.6 -2009-09-24,75.0 -2009-09-25,72.8 -2009-09-26,72.2 -2009-09-27,72.6 -2009-09-28,73.5 -2009-09-29,72.5 -2009-09-30,72.1 -2009-10-01,72.2 -2009-10-02,71.7 -2009-10-03,71.7 -2009-10-04,71.1 -2009-10-05,69.9 -2009-10-06,68.8 -2009-10-07,68.4 -2009-10-08,68.6 -2009-10-09,69.0 -2009-10-10,69.8 -2009-10-11,70.1 -2009-10-12,69.8 -2009-10-13,69.4 -2009-10-14,70.5 -2009-10-15,70.0 -2009-10-16,69.2 -2009-10-17,70.2 -2009-10-18,69.5 -2009-10-19,70.3 -2009-10-20,70.3 -2009-10-21,70.6 -2009-10-22,70.9 -2009-10-23,72.1 -2009-10-24,74.7 -2009-10-25,74.7 -2009-10-26,80.3 -2009-10-27,80.4 -2009-10-28,78.9 -2009-10-29,75.6 -2009-10-30,74.2 -2009-10-31,74.0 -2009-11-01,71.2 -2009-11-02,70.3 -2009-11-03,70.3 -2009-11-04,70.2 -2009-11-05,69.3 -2009-11-06,69.6 -2009-11-07,69.3 -2009-11-08,69.6 -2009-11-09,70.7 -2009-11-10,71.3 -2009-11-11,71.0 -2009-11-12,71.7 -2009-11-13,72.6 -2009-11-14,73.2 -2009-11-15,73.5 -2009-11-16,74.5 -2009-11-17,75.4 -2009-11-18,74.4 -2009-11-19,74.9 -2009-11-20,74.4 -2009-11-21,74.0 -2009-11-22,74.4 -2009-11-23,73.8 -2009-11-24,72.8 -2009-11-25,72.3 -2009-11-26,72.7 -2009-11-27,71.7 -2009-11-28,70.9 -2009-11-29,70.1 -2009-11-30,70.4 -2009-12-01,70.2 -2009-12-02,69.4 -2009-12-03,69.6 -2009-12-04,69.4 -2009-12-05,69.6 -2009-12-06,69.8 -2009-12-07,69.0 -2009-12-08,70.0 -2009-12-09,70.8 -2009-12-10,71.6 -2009-12-11,69.9 -2009-12-12,72.2 -2009-12-13,73.1 -2009-12-14,76.2 -2009-12-15,79.0 -2009-12-16,80.6 -2009-12-17,84.2 -2009-12-18,81.6 -2009-12-19,79.1 -2009-12-20,81.0 -2009-12-21,80.0 -2009-12-22,79.5 -2009-12-23,75.9 -2009-12-24,74.6 -2009-12-25,73.5 -2009-12-26,73.4 -2009-12-27,74.3 -2009-12-28,73.3 -2009-12-29,72.7 -2009-12-30,74.3 -2009-12-31,77.2 -2010-01-01,72.7 -2010-01-02,75.4 -2010-01-03,73.8 -2010-01-04,70.6 -2010-01-05,74.3 -2010-01-06,74.7 -2010-01-07,75.5 -2010-01-08,74.9 -2010-01-09,79.0 -2010-01-10,81.6 -2010-01-11,86.3 -2010-01-12,90.2 -2010-01-13,87.5 -2010-01-14,87.0 -2010-01-15,82.6 -2010-01-16,81.4 -2010-01-17,79.9 -2010-01-18,78.9 -2010-01-19,81.6 -2010-01-20,79.1 -2010-01-21,80.0 -2010-01-22,79.8 -2010-01-23,82.0 -2010-01-24,81.9 -2010-01-25,78.7 -2010-01-26,77.3 -2010-01-27,75.4 -2010-01-28,74.0 -2010-01-29,71.1 -2010-01-30,72.8 -2010-01-31,73.0 -2010-02-01,73.1 -2010-02-02,73.0 -2010-02-03,72.3 -2010-02-04,71.8 -2010-02-05,75.6 -2010-02-06,85.1 -2010-02-07,87.8 -2010-02-08,91.2 -2010-02-09,89.0 -2010-02-10,88.9 -2010-02-11,91.8 -2010-02-12,93.1 -2010-02-13,91.8 -2010-02-14,87.2 -2010-02-15,85.5 -2010-02-16,84.7 -2010-02-17,84.8 -2010-02-18,83.1 -2010-02-19,81.8 -2010-02-20,82.0 -2010-02-21,81.7 -2010-02-22,81.9 -2010-02-23,82.4 -2010-02-24,80.9 -2010-02-25,81.1 -2010-02-26,78.9 -2010-02-27,77.1 -2010-02-28,76.6 -2010-03-01,76.5 -2010-03-02,78.0 -2010-03-03,79.0 -2010-03-04,80.0 -2010-03-05,78.2 -2010-03-06,77.1 -2010-03-07,75.4 -2010-03-08,75.1 -2010-03-09,76.8 -2010-03-10,79.3 -2010-03-11,83.1 -2010-03-12,88.5 -2010-03-13,90.7 -2010-03-14,88.3 -2010-03-15,85.5 -2010-03-16,84.3 -2010-03-17,85.9 -2010-03-18,85.0 -2010-03-19,83.7 -2010-03-20,82.8 -2010-03-21,84.1 -2010-03-22,81.9 -2010-03-23,83.3 -2010-03-24,83.9 -2010-03-25,87.1 -2010-03-26,85.5 -2010-03-27,87.8 -2010-03-28,85.7 -2010-03-29,82.9 -2010-03-30,82.6 -2010-03-31,80.9 -2010-04-01,79.1 -2010-04-02,76.1 -2010-04-03,77.4 -2010-04-04,78.7 -2010-04-05,79.3 -2010-04-06,77.7 -2010-04-07,76.5 -2010-04-08,75.9 -2010-04-09,76.3 -2010-04-10,75.3 -2010-04-11,74.9 -2010-04-12,74.9 -2010-04-13,75.3 -2010-04-14,75.6 -2010-04-15,75.0 -2010-04-16,75.4 -2010-04-17,74.5 -2010-04-18,75.3 -2010-04-19,76.1 -2010-04-20,76.4 -2010-04-21,76.9 -2010-04-22,76.9 -2010-04-23,75.8 -2010-04-24,75.0 -2010-04-25,76.4 -2010-04-26,77.0 -2010-04-27,75.7 -2010-04-28,77.2 -2010-04-29,77.3 -2010-04-30,79.8 -2010-05-01,79.0 -2010-05-02,80.8 -2010-05-03,81.6 -2010-05-04,83.1 -2010-05-05,84.7 -2010-05-06,80.5 -2010-05-07,80.5 -2010-05-08,80.3 -2010-05-09,76.9 -2010-05-10,75.1 -2010-05-11,75.0 -2010-05-12,72.7 -2010-05-13,70.9 -2010-05-14,71.2 -2010-05-15,71.8 -2010-05-16,70.0 -2010-05-17,70.8 -2010-05-18,70.3 -2010-05-19,70.2 -2010-05-20,70.4 -2010-05-21,72.6 -2010-05-22,74.3 -2010-05-23,76.4 -2010-05-24,74.4 -2010-05-25,75.1 -2010-05-26,74.3 -2010-05-27,74.6 -2010-05-28,75.2 -2010-05-29,75.7 -2010-05-30,75.0 -2010-05-31,74.1 -2010-06-01,74.8 -2010-06-02,76.1 -2010-06-03,76.8 -2010-06-04,74.0 -2010-06-05,72.4 -2010-06-06,70.0 -2010-06-07,70.6 -2010-06-08,74.0 -2010-06-09,73.7 -2010-06-10,75.2 -2010-06-11,76.9 -2010-06-12,78.6 -2010-06-13,78.7 -2010-06-14,75.1 -2010-06-15,72.3 -2010-06-16,73.9 -2010-06-17,72.7 -2010-06-18,72.8 -2010-06-19,71.2 -2010-06-20,72.3 -2010-06-21,74.3 -2010-06-22,75.7 -2010-06-23,76.5 -2010-06-24,76.9 -2010-06-25,76.9 -2010-06-26,76.9 -2010-06-27,75.3 -2010-06-28,76.4 -2010-06-29,76.0 -2010-06-30,76.3 -2010-07-01,75.5 -2010-07-02,75.9 -2010-07-03,74.8 -2010-07-04,74.0 -2010-07-05,75.2 -2010-07-06,75.2 -2010-07-07,76.6 -2010-07-08,78.2 -2010-07-09,82.7 -2010-07-10,82.6 -2010-07-11,85.4 -2010-07-12,82.6 -2010-07-13,81.1 -2010-07-14,80.3 -2010-07-15,78.4 -2010-07-16,79.1 -2010-07-17,81.3 -2010-07-18,79.4 -2010-07-19,82.5 -2010-07-20,89.9 -2010-07-21,92.0 -2010-07-22,90.5 -2010-07-23,89.2 -2010-07-24,87.9 -2010-07-25,87.9 -2010-07-26,87.1 -2010-07-27,85.2 -2010-07-28,88.0 -2010-07-29,87.2 -2010-07-30,85.7 -2010-07-31,83.9 -2010-08-01,82.1 -2010-08-02,81.5 -2010-08-03,83.0 -2010-08-04,83.2 -2010-08-05,85.1 -2010-08-06,84.4 -2010-08-07,93.1 -2010-08-08,84.9 -2010-08-09,86.5 -2010-08-10,85.8 -2010-08-11,88.1 -2010-08-12,86.0 -2010-08-13,86.0 -2010-08-14,87.4 -2010-08-15,87.8 -2010-08-16,86.9 -2010-08-17,83.1 -2010-08-18,81.8 -2010-08-19,79.8 -2010-08-20,78.9 -2010-08-21,77.3 -2010-08-22,76.3 -2010-08-23,76.5 -2010-08-24,75.2 -2010-08-25,75.1 -2010-08-26,75.0 -2010-08-27,74.8 -2010-08-28,73.3 -2010-08-29,75.4 -2010-08-30,76.4 -2010-08-31,76.0 -2010-09-01,77.7 -2010-09-02,78.4 -2010-09-03,78.5 -2010-09-04,83.6 -2010-09-05,83.5 -2010-09-06,81.0 -2010-09-07,77.3 -2010-09-08,75.6 -2010-09-09,74.7 -2010-09-10,76.4 -2010-09-11,79.1 -2010-09-12,79.3 -2010-09-13,80.4 -2010-09-14,81.6 -2010-09-15,82.1 -2010-09-16,83.3 -2010-09-17,83.0 -2010-09-18,82.9 -2010-09-19,81.9 -2010-09-20,83.3 -2010-09-21,85.2 -2010-09-22,85.4 -2010-09-23,84.9 -2010-09-24,83.1 -2010-09-25,83.4 -2010-09-26,84.3 -2010-09-27,83.4 -2010-09-28,83.5 -2010-09-29,91.0 -2010-09-30,90.2 -2010-10-01,86.9 -2010-10-02,85.1 -2010-10-03,80.1 -2010-10-04,76.1 -2010-10-05,75.4 -2010-10-06,74.2 -2010-10-07,75.0 -2010-10-08,74.7 -2010-10-09,76.2 -2010-10-10,75.7 -2010-10-11,75.0 -2010-10-12,74.9 -2010-10-13,77.7 -2010-10-14,79.9 -2010-10-15,81.7 -2010-10-16,86.3 -2010-10-17,83.0 -2010-10-18,89.9 -2010-10-19,85.9 -2010-10-20,83.2 -2010-10-21,82.7 -2010-10-22,81.4 -2010-10-23,83.4 -2010-10-24,81.2 -2010-10-25,85.2 -2010-10-26,85.1 -2010-10-27,86.5 -2010-10-28,85.3 -2010-10-29,84.5 -2010-10-30,83.6 -2010-10-31,80.0 -2010-11-01,77.9 -2010-11-02,77.7 -2010-11-03,77.2 -2010-11-04,77.8 -2010-11-05,81.6 -2010-11-06,87.1 -2010-11-07,83.5 -2010-11-08,82.2 -2010-11-09,82.5 -2010-11-10,83.9 -2010-11-11,82.8 -2010-11-12,83.7 -2010-11-13,83.6 -2010-11-14,84.6 -2010-11-15,88.8 -2010-11-16,89.8 -2010-11-17,89.1 -2010-11-18,84.5 -2010-11-19,82.0 -2010-11-20,77.9 -2010-11-21,75.8 -2010-11-22,72.9 -2010-11-23,73.4 -2010-11-24,73.9 -2010-11-25,75.9 -2010-11-26,74.2 -2010-11-27,74.5 -2010-11-28,77.9 -2010-11-29,80.2 -2010-11-30,84.0 -2010-12-01,84.1 -2010-12-02,84.1 -2010-12-03,84.4 -2010-12-04,84.9 -2010-12-05,85.4 -2010-12-06,85.9 -2010-12-07,84.5 -2010-12-08,84.6 -2010-12-09,84.2 -2010-12-10,85.8 -2010-12-11,84.3 -2010-12-12,86.7 -2010-12-13,85.0 -2010-12-14,87.5 -2010-12-15,84.2 -2010-12-16,81.4 -2010-12-17,79.1 -2010-12-18,78.0 -2010-12-19,78.3 -2010-12-20,75.4 -2010-12-21,75.3 -2010-12-22,75.2 -2010-12-23,77.5 -2010-12-24,76.1 -2010-12-25,76.8 -2010-12-26,77.9 -2010-12-27,77.4 -2010-12-28,78.0 -2010-12-29,79.9 -2010-12-30,80.2 -2010-12-31,87.9 -2011-01-01, -2011-01-02,88.1 -2011-01-03,89.1 -2011-01-04,87.6 -2011-01-05,84.8 -2011-01-06,83.9 -2011-01-07,83.5 -2011-01-08,82.0 -2011-01-09,80.0 -2011-01-10,80.6 -2011-01-11,79.9 -2011-01-12,77.4 -2011-01-13,76.9 -2011-01-14,76.7 -2011-01-15,77.6 -2011-01-16,77.8 -2011-01-17,79.1 -2011-01-18,78.4 -2011-01-19,78.2 -2011-01-20,79.7 -2011-01-21,84.8 -2011-01-22,84.9 -2011-01-23,81.7 -2011-01-24,79.9 -2011-01-25,78.0 -2011-01-26,77.6 -2011-01-27,78.1 -2011-01-28,78.1 -2011-01-29,79.0 -2011-01-30,80.2 -2011-01-31,78.9 -2011-02-01,77.6 -2011-02-02,77.0 -2011-02-03,78.1 -2011-02-04,79.8 -2011-02-05,78.7 -2011-02-06,78.0 -2011-02-07,80.1 -2011-02-08,87.3 -2011-02-09,86.4 -2011-02-10,89.0 -2011-02-11,88.9 -2011-02-12,93.1 -2011-02-13,104.1 -2011-02-14,109.8 -2011-02-15,110.0 -2011-02-16,111.4 -2011-02-17,108.3 -2011-02-18,121.9 -2011-02-19,106.9 -2011-02-20,102.2 -2011-02-21,94.6 -2011-02-22,89.0 -2011-02-23,87.4 -2011-02-24,87.0 -2011-02-25,86.4 -2011-02-26,88.4 -2011-02-27,88.7 -2011-02-28,94.0 -2011-03-01,108.5 -2011-03-02,111.4 -2011-03-03,118.8 -2011-03-04,124.7 -2011-03-05,132.5 -2011-03-06,140.3 -2011-03-07,149.6 -2011-03-08,164.3 -2011-03-09,141.1 -2011-03-10,129.5 -2011-03-11,121.5 -2011-03-12,119.2 -2011-03-13,111.5 -2011-03-14,106.1 -2011-03-15,100.3 -2011-03-16,103.8 -2011-03-17,89.2 -2011-03-18,86.8 -2011-03-19,88.0 -2011-03-20,91.2 -2011-03-21,100.2 -2011-03-22,99.1 -2011-03-23,104.0 -2011-03-24,106.9 -2011-03-25,112.0 -2011-03-26,113.9 -2011-03-27,115.1 -2011-03-28,118.1 -2011-03-29,115.9 -2011-03-30,117.3 -2011-03-31,113.1 -2011-04-01,108.7 -2011-04-02,107.4 -2011-04-03,114.0 -2011-04-04,112.7 -2011-04-05,109.3 -2011-04-06,117.2 -2011-04-07,112.5 -2011-04-08,109.0 -2011-04-09,105.3 -2011-04-10,105.2 -2011-04-11,106.3 -2011-04-12,110.8 -2011-04-13,118.4 -2011-04-14,119.4 -2011-04-15,130.2 -2011-04-16,120.0 -2011-04-17,115.3 -2011-04-18,111.9 -2011-04-19,111.9 -2011-04-20,118.1 -2011-04-21,114.1 -2011-04-22,116.0 -2011-04-23,120.4 -2011-04-24,118.5 -2011-04-25,113.5 -2011-04-26,110.8 -2011-04-27,109.3 -2011-04-28,111.9 -2011-04-29,111.2 -2011-04-30,111.1 -2011-05-01,107.7 -2011-05-02,111.5 -2011-05-03,108.8 -2011-05-04,108.7 -2011-05-05,106.7 -2011-05-06,103.7 -2011-05-07,104.1 -2011-05-08,104.1 -2011-05-09,105.7 -2011-05-10,99.4 -2011-05-11,96.0 -2011-05-12,94.7 -2011-05-13,93.5 -2011-05-14,93.4 -2011-05-15,96.6 -2011-05-16,94.3 -2011-05-17,93.6 -2011-05-18,92.7 -2011-05-19,86.4 -2011-05-20,85.7 -2011-05-21,85.7 -2011-05-22,86.6 -2011-05-23,86.3 -2011-05-24,83.8 -2011-05-25,82.4 -2011-05-26,84.9 -2011-05-27,92.3 -2011-05-28,103.2 -2011-05-29,113.8 -2011-05-30,115.0 -2011-05-31,115.2 -2011-06-01,116.8 -2011-06-02,114.8 -2011-06-03,110.2 -2011-06-04,105.8 -2011-06-05,105.9 -2011-06-06,103.2 -2011-06-07,99.3 -2011-06-08,92.9 -2011-06-09,90.2 -2011-06-10,89.4 -2011-06-11,87.2 -2011-06-12,87.3 -2011-06-13,89.4 -2011-06-14,102.5 -2011-06-15,104.8 -2011-06-16,106.6 -2011-06-17,107.6 -2011-06-18,102.4 -2011-06-19,102.4 -2011-06-20,99.6 -2011-06-21,98.2 -2011-06-22,96.0 -2011-06-23,99.5 -2011-06-24,99.4 -2011-06-25,96.7 -2011-06-26,93.1 -2011-06-27,92.2 -2011-06-28,89.8 -2011-06-29,90.3 -2011-06-30,92.2 -2011-07-01,90.5 -2011-07-02,88.5 -2011-07-03,89.2 -2011-07-04,87.9 -2011-07-05,87.7 -2011-07-06,87.5 -2011-07-07,88.4 -2011-07-08,88.7 -2011-07-09,88.5 -2011-07-10,93.7 -2011-07-11,93.1 -2011-07-12,94.7 -2011-07-13,97.7 -2011-07-14,97.2 -2011-07-15,96.9 -2011-07-16,96.9 -2011-07-17,107.0 -2011-07-18,105.3 -2011-07-19,103.6 -2011-07-20,103.4 -2011-07-21,99.1 -2011-07-22,95.4 -2011-07-23,91.1 -2011-07-24,88.9 -2011-07-25,89.8 -2011-07-26,96.4 -2011-07-27,102.5 -2011-07-28,110.7 -2011-07-29,115.2 -2011-07-30,116.2 -2011-07-31,122.2 -2011-08-01,128.7 -2011-08-02,125.2 -2011-08-03,123.5 -2011-08-04,119.7 -2011-08-05,112.5 -2011-08-06,113.2 -2011-08-07,108.4 -2011-08-08,104.3 -2011-08-09,100.2 -2011-08-10,92.7 -2011-08-11,86.5 -2011-08-12,85.7 -2011-08-13,85.3 -2011-08-14,90.4 -2011-08-15,92.7 -2011-08-16,95.4 -2011-08-17,100.0 -2011-08-18,100.2 -2011-08-19,100.6 -2011-08-20,102.9 -2011-08-21,103.3 -2011-08-22,110.7 -2011-08-23,106.1 -2011-08-24,106.4 -2011-08-25,106.4 -2011-08-26,106.8 -2011-08-27,106.0 -2011-08-28,103.1 -2011-08-29,103.2 -2011-08-30,103.2 -2011-08-31,111.0 -2011-09-01,113.8 -2011-09-02,117.5 -2011-09-03,120.8 -2011-09-04,121.5 -2011-09-05,120.7 -2011-09-06,113.2 -2011-09-07,114.5 -2011-09-08,111.7 -2011-09-09,113.4 -2011-09-10,117.8 -2011-09-11,122.9 -2011-09-12,125.5 -2011-09-13,131.0 -2011-09-14,144.3 -2011-09-15,142.3 -2011-09-16,144.6 -2011-09-17,146.2 -2011-09-18,151.6 -2011-09-19,142.2 -2011-09-20,145.5 -2011-09-21,145.3 -2011-09-22,151.9 -2011-09-23,159.3 -2011-09-24,191.6 -2011-09-25,169.8 -2011-09-26,149.0 -2011-09-27,139.6 -2011-09-28,134.0 -2011-09-29,137.0 -2011-09-30,138.5 -2011-10-01,137.2 -2011-10-02,131.1 -2011-10-03,129.1 -2011-10-04,130.4 -2011-10-05,126.7 -2011-10-06,123.9 -2011-10-07,121.9 -2011-10-08,118.2 -2011-10-09,120.7 -2011-10-10,126.0 -2011-10-11,129.7 -2011-10-12,133.5 -2011-10-13,137.0 -2011-10-14,135.4 -2011-10-15,136.9 -2011-10-16,150.0 -2011-10-17,151.6 -2011-10-18,145.7 -2011-10-19,146.1 -2011-10-20,157.8 -2011-10-21,166.3 -2011-10-22,162.5 -2011-10-23,153.9 -2011-10-24,143.8 -2011-10-25,137.3 -2011-10-26,130.6 -2011-10-27,129.9 -2011-10-28,132.2 -2011-10-29,121.4 -2011-10-30,124.9 -2011-10-31,136.1 -2011-11-01,136.5 -2011-11-02,151.2 -2011-11-03,157.8 -2011-11-04,161.1 -2011-11-05,169.0 -2011-11-06,173.6 -2011-11-07,178.9 -2011-11-08,177.7 -2011-11-09,176.7 -2011-11-10,175.2 -2011-11-11,170.4 -2011-11-12,165.3 -2011-11-13,152.1 -2011-11-14,157.7 -2011-11-15,145.1 -2011-11-16,139.2 -2011-11-17,144.4 -2011-11-18,141.1 -2011-11-19,136.3 -2011-11-20,136.6 -2011-11-21,137.7 -2011-11-22,138.9 -2011-11-23,136.5 -2011-11-24,133.8 -2011-11-25,131.7 -2011-11-26,129.3 -2011-11-27,131.7 -2011-11-28,134.0 -2011-11-29,136.8 -2011-11-30,140.1 -2011-12-01,148.0 -2011-12-02,152.9 -2011-12-03,159.4 -2011-12-04,159.0 -2011-12-05,153.6 -2011-12-06,146.6 -2011-12-07,144.5 -2011-12-08,140.4 -2011-12-09,139.2 -2011-12-10,135.8 -2011-12-11,130.2 -2011-12-12,127.5 -2011-12-13,129.0 -2011-12-14,127.9 -2011-12-15,120.3 -2011-12-16,117.2 -2011-12-17,115.8 -2011-12-18,123.3 -2011-12-19,124.1 -2011-12-20,133.0 -2011-12-21,139.9 -2011-12-22,141.1 -2011-12-23,133.7 -2011-12-24,138.1 -2011-12-25,139.6 -2011-12-26,140.8 -2011-12-27,135.7 -2011-12-28,140.0 -2011-12-29,142.3 -2011-12-30,136.4 -2011-12-31,128.5 -2012-01-01, -2012-01-02,130.3 -2012-01-03,130.2 -2012-01-04,131.6 -2012-01-05,136.6 -2012-01-06,131.0 -2012-01-07,135.9 -2012-01-08,131.4 -2012-01-09,137.6 -2012-01-10,124.6 -2012-01-11,116.1 -2012-01-12,113.0 -2012-01-13,120.0 -2012-01-14,128.0 -2012-01-15,129.2 -2012-01-16,135.1 -2012-01-17,134.5 -2012-01-18,143.4 -2012-01-19,152.0 -2012-01-20,136.7 -2012-01-21,137.2 -2012-01-22,136.6 -2012-01-23,139.8 -2012-01-24,131.5 -2012-01-25,122.5 -2012-01-26,124.3 -2012-01-27,137.4 -2012-01-28,111.0 -2012-01-29,106.6 -2012-01-30,111.0 -2012-01-31,113.1 -2012-02-01,114.1 -2012-02-02,114.6 -2012-02-03,107.9 -2012-02-04,104.0 -2012-02-05,99.8 -2012-02-06,108.9 -2012-02-07,104.3 -2012-02-08,94.6 -2012-02-09,96.6 -2012-02-10,107.9 -2012-02-11,109.4 -2012-02-12,107.6 -2012-02-13,105.7 -2012-02-14,104.8 -2012-02-15,102.0 -2012-02-16,100.8 -2012-02-17,101.3 -2012-02-18,101.7 -2012-02-19,102.9 -2012-02-20,108.7 -2012-02-21,101.0 -2012-02-22,102.0 -2012-02-23,101.2 -2012-02-24,106.7 -2012-02-25,105.9 -2012-02-26,104.9 -2012-02-27,103.5 -2012-02-28,101.3 -2012-02-29,100.2 -2012-03-01,101.6 -2012-03-02,106.3 -2012-03-03,114.5 -2012-03-04,118.2 -2012-03-05,129.5 -2012-03-06,136.0 -2012-03-07,133.7 -2012-03-08,137.5 -2012-03-09,143.5 -2012-03-10,146.9 -2012-03-11,129.5 -2012-03-12,113.5 -2012-03-13,139.0 -2012-03-14,117.5 -2012-03-15,109.4 -2012-03-16,97.6 -2012-03-17,101.4 -2012-03-18,101.1 -2012-03-19,100.9 -2012-03-20,98.8 -2012-03-21,99.2 -2012-03-22,101.7 -2012-03-23,104.2 -2012-03-24,102.1 -2012-03-25,100.8 -2012-03-26,101.9 -2012-03-27,105.2 -2012-03-28,106.6 -2012-03-29,111.2 -2012-03-30,110.4 -2012-03-31,109.9 -2012-04-01,107.2 -2012-04-02,105.9 -2012-04-03,103.6 -2012-04-04,102.1 -2012-04-05,101.0 -2012-04-06,97.6 -2012-04-07,98.7 -2012-04-08,93.5 -2012-04-09,94.9 -2012-04-10,93.7 -2012-04-11,93.8 -2012-04-12,95.8 -2012-04-13,98.3 -2012-04-14,98.8 -2012-04-15,102.4 -2012-04-16,108.8 -2012-04-17,114.7 -2012-04-18,122.6 -2012-04-19,139.1 -2012-04-20,143.1 -2012-04-21,150.6 -2012-04-22,149.5 -2012-04-23,143.4 -2012-04-24,135.2 -2012-04-25,128.8 -2012-04-26,120.7 -2012-04-27,119.5 -2012-04-28,122.8 -2012-04-29,117.7 -2012-04-30,115.9 -2012-05-01,111.6 -2012-05-02,117.4 -2012-05-03,115.9 -2012-05-04,115.9 -2012-05-05,118.1 -2012-05-06,119.4 -2012-05-07,123.9 -2012-05-08,125.1 -2012-05-09,129.8 -2012-05-10,133.3 -2012-05-11,139.2 -2012-05-12,132.2 -2012-05-13,133.3 -2012-05-14,132.9 -2012-05-15,131.9 -2012-05-16,133.9 -2012-05-17,139.5 -2012-05-18,135.3 -2012-05-19,134.1 -2012-05-20,134.0 -2012-05-21,128.2 -2012-05-22,124.3 -2012-05-23,120.2 -2012-05-24,118.5 -2012-05-25,120.3 -2012-05-26,112.9 -2012-05-27,113.7 -2012-05-28,113.3 -2012-05-29,109.3 -2012-05-30,114.1 -2012-05-31,120.6 -2012-06-01,132.2 -2012-06-02,132.9 -2012-06-03,133.2 -2012-06-04,131.9 -2012-06-05,142.8 -2012-06-06,156.4 -2012-06-07,132.1 -2012-06-08,127.9 -2012-06-09,132.3 -2012-06-10,132.3 -2012-06-11,138.1 -2012-06-12,145.8 -2012-06-13,147.3 -2012-06-14,153.3 -2012-06-15,149.6 -2012-06-16,138.8 -2012-06-17,128.0 -2012-06-18,121.9 -2012-06-19,113.5 -2012-06-20,107.1 -2012-06-21,100.9 -2012-06-22,91.4 -2012-06-23,86.8 -2012-06-24,88.1 -2012-06-25,91.5 -2012-06-26,102.5 -2012-06-27,109.9 -2012-06-28,123.7 -2012-06-29,121.3 -2012-06-30,128.2 -2012-07-01,137.9 -2012-07-02,171.4 -2012-07-03,150.7 -2012-07-04,168.6 -2012-07-05,170.1 -2012-07-06,163.0 -2012-07-07,163.7 -2012-07-08,183.7 -2012-07-09,179.6 -2012-07-10,179.2 -2012-07-11,167.1 -2012-07-12,170.9 -2012-07-13,152.1 -2012-07-14,152.8 -2012-07-15,145.1 -2012-07-16,159.5 -2012-07-17,131.7 -2012-07-18,113.1 -2012-07-19,103.2 -2012-07-20,95.3 -2012-07-21,92.8 -2012-07-22,96.7 -2012-07-23,99.8 -2012-07-24,105.7 -2012-07-25,108.7 -2012-07-26,118.3 -2012-07-27,127.1 -2012-07-28,130.5 -2012-07-29,135.4 -2012-07-30,140.1 -2012-07-31,144.0 -2012-08-01,154.6 -2012-08-02,138.6 -2012-08-03,143.8 -2012-08-04,142.7 -2012-08-05,137.9 -2012-08-06,137.9 -2012-08-07,132.1 -2012-08-08,137.0 -2012-08-09,134.8 -2012-08-10,128.8 -2012-08-11,123.0 -2012-08-12,115.3 -2012-08-13,110.9 -2012-08-14,108.5 -2012-08-15,103.2 -2012-08-16,100.8 -2012-08-17,97.5 -2012-08-18,99.4 -2012-08-19,98.5 -2012-08-20,98.5 -2012-08-21,96.4 -2012-08-22,96.9 -2012-08-23,98.8 -2012-08-24,106.4 -2012-08-25,108.1 -2012-08-26,115.6 -2012-08-27,113.7 -2012-08-28,113.4 -2012-08-29,120.6 -2012-08-30,130.2 -2012-08-31,132.9 -2012-09-01,148.2 -2012-09-02,144.7 -2012-09-03,144.0 -2012-09-04,139.9 -2012-09-05,134.9 -2012-09-06,130.0 -2012-09-07,135.4 -2012-09-08,130.5 -2012-09-09,124.8 -2012-09-10,112.8 -2012-09-11,106.4 -2012-09-12,103.8 -2012-09-13,100.3 -2012-09-14,101.7 -2012-09-15,98.6 -2012-09-16,98.3 -2012-09-17,102.5 -2012-09-18,105.3 -2012-09-19,110.8 -2012-09-20,118.4 -2012-09-21,117.8 -2012-09-22,125.3 -2012-09-23,134.4 -2012-09-24,137.4 -2012-09-25,140.6 -2012-09-26,139.9 -2012-09-27,133.8 -2012-09-28,138.3 -2012-09-29,136.4 -2012-09-30,135.9 -2012-10-01,128.3 -2012-10-02,118.3 -2012-10-03,111.8 -2012-10-04,109.5 -2012-10-05,106.1 -2012-10-06,98.7 -2012-10-07,97.9 -2012-10-08,103.2 -2012-10-09,105.9 -2012-10-10,111.6 -2012-10-11,116.2 -2012-10-12,121.3 -2012-10-13,124.3 -2012-10-14,131.3 -2012-10-15,135.9 -2012-10-16,136.1 -2012-10-17,134.1 -2012-10-18,136.5 -2012-10-19,140.3 -2012-10-20,150.1 -2012-10-21,142.8 -2012-10-22,153.9 -2012-10-23,140.1 -2012-10-24,134.1 -2012-10-25,128.5 -2012-10-26,129.1 -2012-10-27,120.2 -2012-10-28,115.4 -2012-10-29,106.9 -2012-10-30,104.8 -2012-10-31,102.7 -2012-11-01,96.8 -2012-11-02,94.9 -2012-11-03,91.8 -2012-11-04,93.4 -2012-11-05,94.9 -2012-11-06,96.9 -2012-11-07,99.8 -2012-11-08,102.2 -2012-11-09,112.9 -2012-11-10,119.8 -2012-11-11,130.6 -2012-11-12,140.8 -2012-11-13,143.1 -2012-11-14,139.1 -2012-11-15,138.6 -2012-11-16,135.2 -2012-11-17,132.4 -2012-11-18,137.7 -2012-11-19,130.7 -2012-11-20,137.8 -2012-11-21,137.0 -2012-11-22,124.5 -2012-11-23,123.5 -2012-11-24,115.0 -2012-11-25,118.4 -2012-11-26,118.6 -2012-11-27,114.0 -2012-11-28,111.2 -2012-11-29,110.0 -2012-11-30,107.5 -2012-12-01,98.8 -2012-12-02,94.9 -2012-12-03,93.9 -2012-12-04,93.4 -2012-12-05,92.7 -2012-12-06,94.6 -2012-12-07,94.2 -2012-12-08,98.1 -2012-12-09,100.6 -2012-12-10,100.9 -2012-12-11,100.5 -2012-12-12,108.4 -2012-12-13,113.0 -2012-12-14,115.5 -2012-12-15,118.5 -2012-12-16,115.8 -2012-12-17,111.3 -2012-12-18,112.5 -2012-12-19,109.8 -2012-12-20,110.4 -2012-12-21,110.9 -2012-12-22,111.6 -2012-12-23,110.4 -2012-12-24,109.4 -2012-12-25,109.3 -2012-12-26,106.2 -2012-12-27,103.2 -2012-12-28,102.3 -2012-12-29,100.9 -2012-12-30,103.2 -2012-12-31,109.8 -2013-01-01,113.9 -2013-01-02,115.0 -2013-01-03,124.6 -2013-01-04,138.4 -2013-01-05,140.3 -2013-01-06,137.5 -2013-01-07,144.8 -2013-01-08,150.5 -2013-01-09,163.8 -2013-01-10,168.2 -2013-01-11,166.7 -2013-01-12,163.0 -2013-01-13,151.4 -2013-01-14,149.1 -2013-01-15,135.2 -2013-01-16,132.6 -2013-01-17,118.8 -2013-01-18,111.5 -2013-01-19,103.3 -2013-01-20,103.2 -2013-01-21,104.9 -2013-01-22,106.9 -2013-01-23,101.6 -2013-01-24,100.2 -2013-01-25,97.5 -2013-01-26,96.3 -2013-01-27,94.7 -2013-01-28,94.7 -2013-01-29,92.6 -2013-01-30,93.8 -2013-01-31,99.7 -2013-02-01,100.7 -2013-02-02,108.6 -2013-02-03,107.9 -2013-02-04,103.7 -2013-02-05,102.2 -2013-02-06,100.7 -2013-02-07,100.0 -2013-02-08,101.4 -2013-02-09,104.8 -2013-02-10,103.2 -2013-02-11,102.5 -2013-02-12,99.2 -2013-02-13,97.8 -2013-02-14,97.0 -2013-02-15,97.7 -2013-02-16,100.8 -2013-02-17,103.1 -2013-02-18,102.3 -2013-02-19,109.9 -2013-02-20,111.0 -2013-02-21,106.2 -2013-02-22,104.7 -2013-02-23,97.5 -2013-02-24,93.0 -2013-02-25,93.5 -2013-02-26,96.8 -2013-02-27,100.0 -2013-02-28,103.6 -2013-03-01,110.6 -2013-03-02,109.1 -2013-03-03,110.1 -2013-03-04,112.4 -2013-03-05,116.6 -2013-03-06,112.6 -2013-03-07,112.1 -2013-03-08,113.3 -2013-03-09,114.6 -2013-03-10,117.7 -2013-03-11,118.2 -2013-03-12,121.5 -2013-03-13,121.5 -2013-03-14,121.5 -2013-03-15,121.8 -2013-03-16,124.8 -2013-03-17,124.5 -2013-03-18,116.6 -2013-03-19,109.5 -2013-03-20,106.7 -2013-03-21,105.3 -2013-03-22,100.2 -2013-03-23,97.6 -2013-03-24,95.4 -2013-03-25,92.2 -2013-03-26,92.0 -2013-03-27,92.6 -2013-03-28,98.3 -2013-03-29,104.8 -2013-03-30,108.2 -2013-03-31,113.1 -2013-04-01,119.0 -2013-04-02,122.1 -2013-04-03,127.0 -2013-04-04,128.6 -2013-04-05,134.5 -2013-04-06,137.3 -2013-04-07,138.2 -2013-04-08,139.6 -2013-04-09,147.0 -2013-04-10,148.6 -2013-04-11,137.8 -2013-04-12,138.6 -2013-04-13,125.8 -2013-04-14,117.5 -2013-04-15,114.1 -2013-04-16,114.1 -2013-04-17,107.1 -2013-04-18,99.2 -2013-04-19,101.2 -2013-04-20,108.9 -2013-04-21,106.3 -2013-04-22,118.0 -2013-04-23,116.8 -2013-04-24,117.8 -2013-04-25,121.3 -2013-04-26,130.4 -2013-04-27,129.3 -2013-04-28,133.9 -2013-04-29,145.8 -2013-04-30,155.7 -2013-05-01,161.7 -2013-05-02,151.8 -2013-05-03,150.4 -2013-05-04,144.1 -2013-05-05,139.5 -2013-05-06,133.0 -2013-05-07,131.1 -2013-05-08,129.3 -2013-05-09,130.9 -2013-05-10,127.3 -2013-05-11,139.4 -2013-05-12,150.4 -2013-05-13,153.5 -2013-05-14,151.1 -2013-05-15,148.8 -2013-05-16,148.0 -2013-05-17,139.6 -2013-05-18,135.2 -2013-05-19,138.5 -2013-05-20,135.2 -2013-05-21,128.4 -2013-05-22,136.7 -2013-05-23,137.9 -2013-05-24,130.6 -2013-05-25,124.5 -2013-05-26,123.2 -2013-05-27,113.1 -2013-05-28,107.6 -2013-05-29,109.8 -2013-05-30,106.9 -2013-05-31,104.7 -2013-06-01,108.8 -2013-06-02,114.1 -2013-06-03,115.0 -2013-06-04,113.1 -2013-06-05,112.1 -2013-06-06,112.3 -2013-06-07,113.1 -2013-06-08,106.3 -2013-06-09,99.0 -2013-06-10,96.2 -2013-06-11,92.3 -2013-06-12,96.2 -2013-06-13,102.0 -2013-06-14,112.6 -2013-06-15,114.5 -2013-06-16,119.7 -2013-06-17,127.8 -2013-06-18,128.8 -2013-06-19,127.4 -2013-06-20,130.5 -2013-06-21,137.6 -2013-06-22,134.2 -2013-06-23,132.4 -2013-06-24,124.6 -2013-06-25,112.9 -2013-06-26,110.1 -2013-06-27,102.9 -2013-06-28,104.3 -2013-06-29,103.6 -2013-06-30,106.3 -2013-07-01,111.4 -2013-07-02,118.1 -2013-07-03,128.7 -2013-07-04,142.3 -2013-07-05,145.6 -2013-07-06,138.7 -2013-07-07,129.8 -2013-07-08,123.3 -2013-07-09,124.0 -2013-07-10,121.9 -2013-07-11,117.1 -2013-07-12,121.6 -2013-07-13,117.8 -2013-07-14,116.7 -2013-07-15,117.9 -2013-07-16,117.6 -2013-07-17,114.9 -2013-07-18,118.6 -2013-07-19,117.3 -2013-07-20,116.1 -2013-07-21,112.9 -2013-07-22,113.4 -2013-07-23,110.1 -2013-07-24,111.0 -2013-07-25,110.3 -2013-07-26,112.9 -2013-07-27,111.3 -2013-07-28,112.7 -2013-07-29,115.6 -2013-07-30,116.5 -2013-07-31,112.0 -2013-08-01,115.4 -2013-08-02,116.2 -2013-08-03,110.5 -2013-08-04,107.9 -2013-08-05,107.3 -2013-08-06,106.8 -2013-08-07,108.5 -2013-08-08,107.3 -2013-08-09,106.5 -2013-08-10,105.3 -2013-08-11,113.4 -2013-08-12,117.2 -2013-08-13,125.1 -2013-08-14,128.5 -2013-08-15,125.8 -2013-08-16,122.9 -2013-08-17,153.4 -2013-08-18,129.2 -2013-08-19,131.4 -2013-08-20,134.6 -2013-08-21,133.4 -2013-08-22,134.5 -2013-08-23,126.8 -2013-08-24,119.9 -2013-08-25,115.0 -2013-08-26,113.5 -2013-08-27,111.9 -2013-08-28,110.3 -2013-08-29,111.0 -2013-08-30,109.5 -2013-08-31,109.5 -2013-09-01,105.6 -2013-09-02,107.5 -2013-09-03,107.9 -2013-09-04,111.1 -2013-09-05,111.9 -2013-09-06,102.9 -2013-09-07,100.0 -2013-09-08,97.1 -2013-09-09,95.6 -2013-09-10,96.2 -2013-09-11,94.1 -2013-09-12,94.1 -2013-09-13,92.7 -2013-09-14,93.6 -2013-09-15,93.8 -2013-09-16,95.5 -2013-09-17,99.7 -2013-09-18,105.1 -2013-09-19,108.9 -2013-09-20,110.0 -2013-09-21,111.2 -2013-09-22,111.9 -2013-09-23,108.5 -2013-09-24,110.9 -2013-09-25,111.7 -2013-09-26,110.5 -2013-09-27,108.3 -2013-09-28,106.0 -2013-09-29,103.4 -2013-09-30,105.2 -2013-10-01,107.0 -2013-10-02,108.3 -2013-10-03,113.9 -2013-10-04,109.2 -2013-10-05,105.9 -2013-10-06,106.5 -2013-10-07,111.8 -2013-10-08,111.7 -2013-10-09,113.1 -2013-10-10,120.3 -2013-10-11,128.5 -2013-10-12,127.3 -2013-10-13,128.6 -2013-10-14,124.3 -2013-10-15,124.5 -2013-10-16,127.2 -2013-10-17,135.1 -2013-10-18,138.8 -2013-10-19,131.6 -2013-10-20,132.2 -2013-10-21,134.5 -2013-10-22,144.8 -2013-10-23,151.1 -2013-10-24,158.8 -2013-10-25,159.6 -2013-10-26,169.7 -2013-10-27,164.8 -2013-10-28,157.8 -2013-10-29,150.6 -2013-10-30,139.9 -2013-10-31,140.5 -2013-11-01,144.2 -2013-11-02,139.4 -2013-11-03,141.1 -2013-11-04,144.9 -2013-11-05,145.9 -2013-11-06,150.8 -2013-11-07,145.3 -2013-11-08,143.3 -2013-11-09,145.2 -2013-11-10,151.1 -2013-11-11,160.4 -2013-11-12,164.0 -2013-11-13,167.4 -2013-11-14,172.0 -2013-11-15,174.0 -2013-11-16,170.6 -2013-11-17,172.9 -2013-11-18,159.5 -2013-11-19,149.3 -2013-11-20,143.5 -2013-11-21,137.8 -2013-11-22,139.2 -2013-11-23,132.2 -2013-11-24,123.9 -2013-11-25,116.0 -2013-11-26,112.4 -2013-11-27,125.6 -2013-11-28,129.3 -2013-11-29,125.0 -2013-11-30,127.6 -2013-12-01,126.9 -2013-12-02,130.0 -2013-12-03,131.9 -2013-12-04,134.0 -2013-12-05,145.3 -2013-12-06,146.1 -2013-12-07,152.3 -2013-12-08,160.6 -2013-12-09,163.1 -2013-12-10,169.9 -2013-12-11,165.6 -2013-12-12,159.8 -2013-12-13,158.1 -2013-12-14,159.0 -2013-12-15,151.3 -2013-12-16,149.4 -2013-12-17,153.9 -2013-12-18,151.1 -2013-12-19,148.5 -2013-12-20,144.4 -2013-12-21,139.5 -2013-12-22,133.4 -2013-12-23,131.6 -2013-12-24,124.1 -2013-12-25,118.7 -2013-12-26,120.6 -2013-12-27,126.3 -2013-12-28,130.1 -2013-12-29,132.5 -2013-12-30,138.2 -2013-12-31,140.5 -2014-01-01,154.3 -2014-01-02,155.2 -2014-01-03,176.3 -2014-01-04,206.2 -2014-01-05,210.3 -2014-01-06,197.2 -2014-01-07,229.3 -2014-01-08,188.2 -2014-01-09,178.1 -2014-01-10,169.4 -2014-01-11,160.7 -2014-01-12,150.2 -2014-01-13,138.7 -2014-01-14,132.6 -2014-01-15,122.1 -2014-01-16,117.1 -2014-01-17,124.7 -2014-01-18,125.5 -2014-01-19,123.4 -2014-01-20,133.0 -2014-01-21,141.4 -2014-01-22,138.9 -2014-01-23,132.1 -2014-01-24,131.3 -2014-01-25,129.1 -2014-01-26,133.7 -2014-01-27,139.6 -2014-01-28,152.5 -2014-01-29,151.8 -2014-01-30,155.8 -2014-01-31,160.9 -2014-02-01,171.6 -2014-02-02,184.4 -2014-02-03,183.0 -2014-02-04,182.9 -2014-02-05,188.1 -2014-02-06,186.1 -2014-02-07,173.2 -2014-02-08,167.2 -2014-02-09,164.6 -2014-02-10,156.8 -2014-02-11,167.8 -2014-02-12,156.1 -2014-02-13,162.5 -2014-02-14,162.5 -2014-02-15,158.1 -2014-02-16,150.2 -2014-02-17,148.9 -2014-02-18,147.9 -2014-02-19,154.2 -2014-02-20,153.0 -2014-02-21,153.4 -2014-02-22,159.7 -2014-02-23,168.2 -2014-02-24,167.2 -2014-02-25,170.4 -2014-02-26,174.7 -2014-02-27,172.4 -2014-02-28,167.5 -2014-03-01,161.6 -2014-03-02,158.5 -2014-03-03,158.3 -2014-03-04,155.4 -2014-03-05,146.7 -2014-03-06,146.5 -2014-03-07,146.0 -2014-03-08,139.5 -2014-03-09,143.8 -2014-03-10,149.5 -2014-03-11,162.5 -2014-03-12,145.8 -2014-03-13,145.9 -2014-03-14,142.1 -2014-03-15,137.5 -2014-03-16,134.2 -2014-03-17,135.1 -2014-03-18,137.0 -2014-03-19,147.9 -2014-03-20,150.1 -2014-03-21,151.4 -2014-03-22,153.8 -2014-03-23,156.0 -2014-03-24,157.7 -2014-03-25,152.0 -2014-03-26,152.5 -2014-03-27,144.2 -2014-03-28,145.9 -2014-03-29,142.3 -2014-03-30,148.1 -2014-03-31,152.1 -2014-04-01,153.1 -2014-04-02,154.6 -2014-04-03,153.0 -2014-04-04,157.0 -2014-04-05,142.3 -2014-04-06,141.2 -2014-04-07,140.2 -2014-04-08,132.4 -2014-04-09,131.0 -2014-04-10,137.3 -2014-04-11,138.2 -2014-04-12,136.5 -2014-04-13,137.9 -2014-04-14,151.2 -2014-04-15,163.0 -2014-04-16,185.2 -2014-04-17,180.3 -2014-04-18,173.7 -2014-04-19,170.8 -2014-04-20,164.1 -2014-04-21,160.4 -2014-04-22,146.3 -2014-04-23,137.6 -2014-04-24,131.6 -2014-04-25,126.2 -2014-04-26,122.3 -2014-04-27,119.6 -2014-04-28,122.5 -2014-04-29,121.8 -2014-04-30,125.5 -2014-05-01,127.7 -2014-05-02,137.6 -2014-05-03,134.8 -2014-05-04,133.7 -2014-05-05,141.5 -2014-05-06,141.3 -2014-05-07,148.6 -2014-05-08,150.8 -2014-05-09,155.2 -2014-05-10,155.1 -2014-05-11,167.7 -2014-05-12,166.3 -2014-05-13,162.7 -2014-05-14,166.7 -2014-05-15,155.5 -2014-05-16,141.8 -2014-05-17,136.6 -2014-05-18,130.4 -2014-05-19,119.7 -2014-05-20,120.1 -2014-05-21,116.7 -2014-05-22,114.1 -2014-05-23,119.2 -2014-05-24,127.7 -2014-05-25,116.0 -2014-05-26,111.1 -2014-05-27,108.7 -2014-05-28,102.1 -2014-05-29,105.5 -2014-05-30,104.4 -2014-05-31,106.6 -2014-06-01,106.2 -2014-06-02,108.3 -2014-06-03,110.1 -2014-06-04,108.5 -2014-06-05,113.8 -2014-06-06,136.9 -2014-06-07,140.8 -2014-06-08,153.1 -2014-06-09,166.1 -2014-06-10,171.3 -2014-06-11,173.6 -2014-06-12,179.9 -2014-06-13,157.5 -2014-06-14,148.0 -2014-06-15,134.3 -2014-06-16,120.5 -2014-06-17,118.0 -2014-06-18,114.4 -2014-06-19,114.7 -2014-06-20,105.5 -2014-06-21,104.5 -2014-06-22,97.3 -2014-06-23,95.6 -2014-06-24,96.6 -2014-06-25,100.2 -2014-06-26,103.3 -2014-06-27,107.6 -2014-06-28,118.4 -2014-06-29,129.9 -2014-06-30,145.2 -2014-07-01,156.9 -2014-07-02,175.1 -2014-07-03,184.1 -2014-07-04,193.9 -2014-07-05,199.4 -2014-07-06,207.7 -2014-07-07,204.5 -2014-07-08,208.1 -2014-07-09,205.0 -2014-07-10,183.3 -2014-07-11,171.8 -2014-07-12,149.9 -2014-07-13,131.0 -2014-07-14,113.0 -2014-07-15,103.9 -2014-07-16,95.1 -2014-07-17,91.5 -2014-07-18,91.4 -2014-07-19,88.9 -2014-07-20,89.9 -2014-07-21,93.0 -2014-07-22,95.5 -2014-07-23,102.2 -2014-07-24,107.4 -2014-07-25,109.9 -2014-07-26,120.1 -2014-07-27,125.2 -2014-07-28,136.3 -2014-07-29,146.0 -2014-07-30,156.6 -2014-07-31,161.1 -2014-08-01,173.5 -2014-08-02,160.2 -2014-08-03,156.2 -2014-08-04,143.3 -2014-08-05,143.3 -2014-08-06,140.5 -2014-08-07,140.0 -2014-08-08,126.4 -2014-08-09,116.3 -2014-08-10,111.3 -2014-08-11,107.3 -2014-08-12,106.8 -2014-08-13,105.6 -2014-08-14,105.4 -2014-08-15,116.0 -2014-08-16,114.8 -2014-08-17,117.9 -2014-08-18,113.3 -2014-08-19,113.3 -2014-08-20,121.1 -2014-08-21,131.3 -2014-08-22,129.3 -2014-08-23,134.9 -2014-08-24,144.0 -2014-08-25,154.8 -2014-08-26,130.8 -2014-08-27,125.3 -2014-08-28,121.0 -2014-08-29,122.5 -2014-08-30,125.5 -2014-08-31,127.1 -2014-09-01,128.9 -2014-09-02,138.7 -2014-09-03,140.1 -2014-09-04,148.4 -2014-09-05,146.3 -2014-09-06,159.8 -2014-09-07,162.6 -2014-09-08,166.3 -2014-09-09,161.6 -2014-09-10,177.0 -2014-09-11,153.4 -2014-09-12,154.0 -2014-09-13,146.9 -2014-09-14,141.0 -2014-09-15,134.4 -2014-09-16,134.1 -2014-09-17,134.2 -2014-09-18,121.3 -2014-09-19,122.8 -2014-09-20,120.1 -2014-09-21,124.9 -2014-09-22,136.8 -2014-09-23,139.1 -2014-09-24,145.6 -2014-09-25,167.8 -2014-09-26,171.0 -2014-09-27,182.2 -2014-09-28,181.8 -2014-09-29,175.6 -2014-09-30,162.6 -2014-10-01,155.4 -2014-10-02,149.3 -2014-10-03,136.9 -2014-10-04,127.6 -2014-10-05,128.4 -2014-10-06,129.9 -2014-10-07,125.2 -2014-10-08,126.2 -2014-10-09,118.6 -2014-10-10,120.4 -2014-10-11,111.6 -2014-10-12,110.0 -2014-10-13,112.6 -2014-10-14,131.9 -2014-10-15,125.0 -2014-10-16,138.0 -2014-10-17,144.8 -2014-10-18,171.1 -2014-10-19,171.7 -2014-10-20,202.2 -2014-10-21,197.1 -2014-10-22,214.2 -2014-10-23,224.8 -2014-10-24,215.4 -2014-10-25,216.8 -2014-10-26,214.0 -2014-10-27,185.4 -2014-10-28,165.1 -2014-10-29,148.4 -2014-10-30,138.4 -2014-10-31,119.5 -2014-11-01,118.1 -2014-11-02,122.4 -2014-11-03,123.2 -2014-11-04,127.3 -2014-11-05,142.7 -2014-11-06,133.1 -2014-11-07,142.9 -2014-11-08,129.6 -2014-11-09,129.2 -2014-11-10,133.4 -2014-11-11,139.5 -2014-11-12,149.8 -2014-11-13,150.3 -2014-11-14,157.6 -2014-11-15,157.1 -2014-11-16,167.7 -2014-11-17,163.8 -2014-11-18,163.6 -2014-11-19,165.7 -2014-11-20,164.1 -2014-11-21,158.6 -2014-11-22,162.6 -2014-11-23,168.8 -2014-11-24,140.7 -2014-11-25,165.0 -2014-11-26,166.5 -2014-11-27,174.1 -2014-11-28,176.6 -2014-11-29,172.5 -2014-11-30,172.4 -2014-12-01,163.4 -2014-12-02,163.0 -2014-12-03,149.8 -2014-12-04,153.0 -2014-12-05,132.8 -2014-12-06,125.0 -2014-12-07,127.9 -2014-12-08,128.7 -2014-12-09,135.5 -2014-12-10,145.3 -2014-12-11,143.0 -2014-12-12,149.4 -2014-12-13,154.9 -2014-12-14,161.2 -2014-12-15,164.0 -2014-12-16,178.8 -2014-12-17,192.3 -2014-12-18,206.4 -2014-12-19,208.9 -2014-12-20,196.7 -2014-12-21,199.2 -2014-12-22,173.4 -2014-12-23,160.5 -2014-12-24,146.5 -2014-12-25,140.6 -2014-12-26,132.5 -2014-12-27,129.7 -2014-12-28,128.2 -2014-12-29,127.1 -2014-12-30,126.0 -2014-12-31,129.2 -2015-01-01,132.9 -2015-01-02,141.0 -2015-01-03,143.8 -2015-01-04,144.8 -2015-01-05,137.2 -2015-01-06,137.2 -2015-01-07,142.4 -2015-01-08,152.0 -2015-01-09,146.2 -2015-01-10,146.9 -2015-01-11,148.6 -2015-01-12,153.4 -2015-01-14,135.3 -2015-01-15,127.0 -2015-01-16,121.3 -2015-01-17,118.1 -2015-01-18,122.3 -2015-01-19,123.4 -2015-01-20,121.7 -2015-01-21,120.5 -2015-01-22,116.1 -2015-01-23,116.8 -2015-01-24,122.1 -2015-01-25,122.8 -2015-01-26,142.2 -2015-01-27,151.1 -2015-01-28,156.2 -2015-01-29,165.4 -2015-01-30,152.5 -2015-01-31,150.6 -2015-02-01,137.6 -2015-02-02,139.6 -2015-02-03,144.6 -2015-02-04,144.8 -2015-02-05,137.9 -2015-02-06,140.2 -2015-02-07,146.9 -2015-02-08,152.8 -2015-02-09,139.0 -2015-02-10,135.4 -2015-02-11,126.8 -2015-02-12,124.3 -2015-02-13,120.8 -2015-02-14,116.6 -2015-02-15,116.5 -2015-02-16,115.3 -2015-02-17,115.9 -2015-02-18,119.6 -2015-02-19,116.2 -2015-02-20,115.6 -2015-02-21,111.2 -2015-02-22,116.5 -2015-02-23,114.1 -2015-02-24,111.6 -2015-02-25,109.1 -2015-02-26,110.1 -2015-02-27,117.8 -2015-02-28,124.2 -2015-03-01,125.3 -2015-03-02,128.1 -2015-03-03,122.9 -2015-03-04,122.1 -2015-03-05,137.9 -2015-03-06,125.4 -2015-03-07,135.7 -2015-03-08,122.3 -2015-03-09,121.2 -2015-03-10,119.2 -2015-03-11,129.9 -2015-03-12,125.1 -2015-03-13,117.9 -2015-03-14,114.3 -2015-03-15,113.1 -2015-03-16,116.0 -2015-03-17,113.2 -2015-03-18,113.7 -2015-03-19,108.3 -2015-03-20,111.8 -2015-03-21,112.7 -2015-03-22,121.5 -2015-03-23,127.2 -2015-03-24,132.2 -2015-03-25,137.0 -2015-03-26,135.5 -2015-03-27,137.2 -2015-03-28,145.1 -2015-03-29,144.0 -2015-03-30,133.3 -2015-03-31,127.8 -2015-04-01,123.9 -2015-04-02,121.2 -2015-04-03,119.8 -2015-04-04,122.4 -2015-04-05,122.3 -2015-04-06,125.8 -2015-04-07,111.4 -2015-04-08,106.3 -2015-04-09,111.6 -2015-04-10,115.5 -2015-04-11,123.5 -2015-04-12,134.6 -2015-04-13,142.1 -2015-04-14,147.7 -2015-04-15,155.7 -2015-04-16,151.3 -2015-04-17,150.8 -2015-04-18,148.9 -2015-04-19,153.0 -2015-04-20,151.0 -2015-04-21,155.3 -2015-04-22,151.8 -2015-04-23,142.0 -2015-04-24,136.0 -2015-04-25,127.4 -2015-04-26,120.0 -2015-04-27,108.9 -2015-04-28,109.2 -2015-04-29,105.5 -2015-04-30,103.3 -2015-05-01,101.4 -2015-05-02,107.3 -2015-05-03,112.9 -2015-05-04,125.4 -2015-05-05,130.0 -2015-05-06,138.6 -2015-05-07,149.2 -2015-05-08,152.6 -2015-05-09,157.5 -2015-05-10,163.1 -2015-05-11,166.2 -2015-05-12,166.5 -2015-05-13,160.3 -2015-05-14,148.2 -2015-05-15,139.5 -2015-05-16,134.0 -2015-05-17,122.3 -2015-05-18,117.6 -2015-05-19,112.9 -2015-05-20,108.2 -2015-05-21,104.3 -2015-05-22,101.6 -2015-05-23,100.2 -2015-05-24,101.2 -2015-05-25,99.0 -2015-05-26,97.0 -2015-05-27,97.8 -2015-05-28,95.5 -2015-05-29,94.8 -2015-05-30,97.7 -2015-05-31,97.0 -2015-06-01,103.2 -2015-06-02,103.9 -2015-06-03,111.6 -2015-06-04,121.4 -2015-06-05,129.7 -2015-06-06,136.6 -2015-06-07,141.4 -2015-06-08,138.2 -2015-06-09,140.6 -2015-06-10,139.5 -2015-06-11,144.2 -2015-06-12,141.0 -2015-06-13,140.3 -2015-06-14,135.8 -2015-06-15,139.1 -2015-06-16,140.5 -2015-06-17,140.2 -2015-06-18,155.7 -2015-06-19,141.8 -2015-06-20,139.8 -2015-06-21,136.0 -2015-06-22,255.0 -2015-06-23,119.9 -2015-06-24,113.1 -2015-06-25,105.2 -2015-06-26,104.6 -2015-06-27,100.5 -2015-06-28,100.5 -2015-06-29,100.4 -2015-06-30,104.2 -2015-07-01,113.3 -2015-07-02,117.6 -2015-07-03,116.1 -2015-07-04,120.7 -2015-07-05,129.0 -2015-07-06,137.9 -2015-07-07,137.1 -2015-07-08,133.2 -2015-07-09,126.0 -2015-07-10,133.3 -2015-07-11,124.3 -2015-07-12,119.9 -2015-07-13,113.8 -2015-07-14,108.7 -2015-07-15,104.4 -2015-07-16,102.9 -2015-07-17,100.6 -2015-07-18,99.1 -2015-07-19,102.6 -2015-07-20,96.3 -2015-07-21,94.0 -2015-07-22,91.9 -2015-07-23,92.2 -2015-07-24,95.2 -2015-07-25,96.9 -2015-07-26,100.1 -2015-07-27,103.2 -2015-07-28,104.2 -2015-07-29,103.8 -2015-07-30,105.1 -2015-07-31,103.8 -2015-08-01,106.0 -2015-08-02,104.5 -2015-08-03,108.7 -2015-08-04,109.9 -2015-08-05,115.5 -2015-08-06,125.1 -2015-08-07,125.5 -2015-08-08,124.4 -2015-08-09,117.6 -2015-08-10,109.1 -2015-08-11,105.6 -2015-08-12,101.9 -2015-08-13,97.3 -2015-08-14,95.7 -2015-08-15,91.7 -2015-08-16,87.8 -2015-08-17,89.2 -2015-08-18,90.9 -2015-08-19,100.6 -2015-08-20,105.3 -2015-08-21,121.4 -2015-08-22,119.6 -2015-08-23,136.1 -2015-08-24,130.6 -2015-08-25,123.9 -2015-08-26,128.9 -2015-08-27,112.5 -2015-08-28,111.3 -2015-08-29,102.1 -2015-08-30,93.4 -2015-08-31,92.7 -2015-09-01,90.7 -2015-09-02,89.8 -2015-09-03,88.0 -2015-09-04,91.5 -2015-09-05,86.8 -2015-09-06,86.9 -2015-09-07,85.0 -2015-09-08,84.7 -2015-09-09,83.5 -2015-09-10,84.6 -2015-09-11,94.1 -2015-09-12,100.4 -2015-09-13,100.0 -2015-09-14,97.7 -2015-09-15,102.2 -2015-09-16,110.6 -2015-09-17,107.9 -2015-09-18,103.8 -2015-09-19,106.7 -2015-09-20,111.3 -2015-09-21,104.2 -2015-09-22,107.8 -2015-09-23,111.4 -2015-09-24,107.4 -2015-09-25,120.5 -2015-09-26,120.8 -2015-09-27,128.1 -2015-09-28,124.5 -2015-09-29,129.6 -2015-09-30,131.5 -2015-10-01,120.0 -2015-10-02,107.6 -2015-10-03,97.0 -2015-10-04,88.3 -2015-10-05,82.6 -2015-10-06,81.3 -2015-10-07,80.4 -2015-10-08,79.5 -2015-10-09,81.0 -2015-10-10,81.2 -2015-10-11,84.3 -2015-10-12,88.7 -2015-10-13,95.2 -2015-10-14,100.2 -2015-10-15,106.1 -2015-10-16,108.4 -2015-10-17,115.8 -2015-10-18,118.6 -2015-10-19,122.7 -2015-10-20,121.7 -2015-10-21,127.8 -2015-10-22,119.3 -2015-10-23,113.7 -2015-10-24,105.2 -2015-10-25,105.2 -2015-10-26,104.9 -2015-10-27,108.7 -2015-10-28,110.7 -2015-10-29,111.4 -2015-10-30,119.5 -2015-10-31,116.7 -2015-11-01,122.4 -2015-11-02,120.1 -2015-11-03,122.2 -2015-11-04,112.0 -2015-11-05,108.1 -2015-11-06,113.2 -2015-11-07,112.9 -2015-11-08,105.7 -2015-11-09,105.6 -2015-11-10,103.3 -2015-11-11,102.9 -2015-11-12,101.4 -2015-11-13,100.8 -2015-11-14,104.1 -2015-11-15,103.5 -2015-11-16,103.2 -2015-11-17,104.6 -2015-11-18,105.1 -2015-11-19,105.6 -2015-11-20,108.4 -2015-11-21,119.2 -2015-11-22,119.9 -2015-11-23,116.7 -2015-11-24,110.3 -2015-11-25,106.2 -2015-11-26,101.2 -2015-11-27,96.3 -2015-11-28,94.0 -2015-11-29,92.9 -2015-11-30,93.1 -2015-12-01,91.9 -2015-12-02,92.6 -2015-12-03,91.8 -2015-12-04,94.8 -2015-12-05,97.6 -2015-12-06,99.3 -2015-12-07,97.8 -2015-12-08,107.9 -2015-12-09,105.5 -2015-12-10,105.2 -2015-12-11,110.3 -2015-12-12,113.1 -2015-12-13,118.7 -2015-12-14,120.2 -2015-12-15,115.2 -2015-12-16,122.2 -2015-12-17,114.0 -2015-12-18,113.3 -2015-12-19,115.2 -2015-12-20,112.8 -2015-12-21,117.8 -2015-12-22,125.8 -2015-12-23,129.5 -2015-12-24,128.4 -2015-12-25,122.3 -2015-12-26,113.5 -2015-12-27,106.7 -2015-12-28,108.4 -2015-12-29,101.9 -2015-12-30,98.1 -2015-12-31,93.0 -2016-01-01,95.1 -2016-01-02,96.6 -2016-01-03,98.5 -2016-01-04,92.2 -2016-01-05,92.1 -2016-01-06,96.9 -2016-01-07,99.9 -2016-01-08,104.9 -2016-01-09,103.5 -2016-01-10,105.4 -2016-01-11,104.5 -2016-01-12,102.0 -2016-01-13,100.7 -2016-01-14,99.9 -2016-01-15,100.1 -2016-01-16,96.7 -2016-01-17,97.4 -2016-01-18,96.7 -2016-01-19,94.4 -2016-01-20,97.2 -2016-01-21,100.7 -2016-01-22,97.3 -2016-01-23,95.8 -2016-01-24,100.6 -2016-01-25,104.3 -2016-01-26,111.3 -2016-01-27,109.3 -2016-01-28,106.6 -2016-01-29,103.7 -2016-01-30,102.0 -2016-01-31,98.3 -2016-02-01,97.3 -2016-02-02,99.1 -2016-02-03,108.9 -2016-02-04,119.8 -2016-02-05,116.3 -2016-02-06,113.9 -2016-02-07,113.9 -2016-02-08,112.1 -2016-02-09,114.1 -2016-02-10,109.2 -2016-02-11,109.8 -2016-02-12,109.3 -2016-02-13,107.5 -2016-02-14,105.4 -2016-02-15,104.7 -2016-02-16,101.5 -2016-02-17,97.5 -2016-02-18,92.7 -2016-02-19,91.9 -2016-02-20,97.8 -2016-02-21,93.5 -2016-02-22,91.7 -2016-02-23,89.1 -2016-02-24,86.1 -2016-02-25,89.9 -2016-02-26,87.2 -2016-02-27,88.6 -2016-02-28,91.5 -2016-02-29,89.3 -2016-03-01,95.1 -2016-03-02,96.5 -2016-03-03,97.1 -2016-03-04,98.9 -2016-03-05,94.7 -2016-03-06,94.1 -2016-03-07,92.8 -2016-03-08,94.2 -2016-03-09,96.0 -2016-03-10,93.7 -2016-03-11,93.0 -2016-03-12,93.9 -2016-03-13,91.5 -2016-03-14,92.4 -2016-03-15,93.1 -2016-03-16,90.1 -2016-03-17,90.7 -2016-03-18,89.5 -2016-03-19,88.6 -2016-03-20,86.9 -2016-03-21,88.2 -2016-03-22,86.7 -2016-03-23,86.2 -2016-03-24,86.0 -2016-03-25,85.1 -2016-03-26,85.1 -2016-03-27,87.9 -2016-03-28,87.4 -2016-03-29,87.5 -2016-03-30,83.6 -2016-03-31,81.6 -2016-04-01,82.0 -2016-04-02,81.5 -2016-04-03,82.3 -2016-04-04,83.5 -2016-04-05,83.5 -2016-04-06,87.2 -2016-04-07,92.5 -2016-04-08,98.6 -2016-04-09,105.9 -2016-04-10,111.1 -2016-04-11,117.2 -2016-04-12,111.9 -2016-04-13,108.8 -2016-04-14,111.8 -2016-04-15,113.2 -2016-04-16,114.0 -2016-04-17,102.9 -2016-04-18,95.4 -2016-04-19,89.9 -2016-04-20,84.0 -2016-04-21,77.5 -2016-04-22,77.5 -2016-04-23,79.6 -2016-04-24,82.8 -2016-04-25,82.9 -2016-04-26,86.3 -2016-04-27,93.8 -2016-04-28,96.3 -2016-04-29,93.8 -2016-04-30,95.4 -2016-05-01,93.6 -2016-05-02,91.3 -2016-05-03,91.5 -2016-05-04,91.6 -2016-05-05,88.7 -2016-05-06,91.2 -2016-05-07,89.7 -2016-05-08,85.6 -2016-05-09,90.2 -2016-05-10,90.5 -2016-05-11,95.8 -2016-05-12,93.9 -2016-05-13,95.4 -2016-05-14,103.4 -2016-05-15,110.8 -2016-05-16,104.3 -2016-05-17,105.6 -2016-05-18,104.7 -2016-05-19,101.2 -2016-05-20,102.0 -2016-05-21,100.2 -2016-05-22,99.8 -2016-05-23,99.8 -2016-05-24,96.7 -2016-05-25,96.1 -2016-05-26,94.2 -2016-05-27,92.8 -2016-05-28,90.1 -2016-05-29,85.3 -2016-05-30,88.7 -2016-05-31,89.0 -2016-06-01,88.4 -2016-06-02,87.7 -2016-06-03,85.7 -2016-06-04,82.4 -2016-06-05,81.5 -2016-06-06,80.8 -2016-06-07,80.8 -2016-06-08,82.6 -2016-06-09,87.8 -2016-06-10,87.5 -2016-06-11,90.9 -2016-06-12,97.1 -2016-06-13,93.9 -2016-06-14,90.4 -2016-06-15,90.1 -2016-06-16,91.0 -2016-06-17,89.4 -2016-06-18,86.3 -2016-06-19,87.9 -2016-06-20,87.1 -2016-06-21,82.9 -2016-06-22,80.9 -2016-06-23,80.0 -2016-06-24,78.2 -2016-06-25,79.6 -2016-06-26,79.2 -2016-06-27,78.0 -2016-06-28,75.5 -2016-06-29,76.0 -2016-06-30,75.4 -2016-07-01,74.4 -2016-07-02,73.3 -2016-07-03,74.8 -2016-07-04,76.3 -2016-07-05,74.9 -2016-07-06,79.7 -2016-07-07,86.1 -2016-07-08,90.0 -2016-07-09,95.3 -2016-07-10,97.6 -2016-07-11,97.8 -2016-07-12,95.5 -2016-07-13,100.0 -2016-07-14,98.2 -2016-07-15,105.4 -2016-07-16,110.1 -2016-07-17,108.6 -2016-07-18,110.6 -2016-07-19,104.1 -2016-07-20,111.5 -2016-07-21,103.3 -2016-07-22,93.3 -2016-07-23,88.9 -2016-07-24,84.8 -2016-07-25,75.9 -2016-07-26,75.9 -2016-07-27,73.8 -2016-07-28,72.5 -2016-07-29,72.6 -2016-07-30,73.1 -2016-07-31,73.7 -2016-08-01,74.1 -2016-08-02,77.1 -2016-08-03,77.0 -2016-08-04,78.5 -2016-08-05,82.1 -2016-08-06,85.5 -2016-08-07,95.3 -2016-08-08,99.0 -2016-08-09,94.9 -2016-08-10,97.6 -2016-08-11,97.2 -2016-08-12,97.3 -2016-08-13,92.9 -2016-08-14,89.4 -2016-08-15,89.8 -2016-08-16,88.7 -2016-08-17,84.9 -2016-08-18,84.4 -2016-08-19,82.7 -2016-08-20,80.0 -2016-08-21,78.4 -2016-08-22,81.8 -2016-08-23,83.1 -2016-08-24,79.7 -2016-08-25,80.3 -2016-08-26,83.6 -2016-08-27,85.6 -2016-08-28,87.1 -2016-08-29,89.5 -2016-08-30,102.3 -2016-08-31,99.3 -2016-09-01,96.9 -2016-09-02,96.3 -2016-09-03,100.7 -2016-09-04,99.0 -2016-09-05,95.3 -2016-09-06,93.9 -2016-09-07,94.4 -2016-09-08,95.9 -2016-09-09,92.3 -2016-09-10,94.3 -2016-09-11,87.5 -2016-09-12,87.5 -2016-09-13,87.0 -2016-09-14,86.2 -2016-09-15,85.3 -2016-09-16,84.5 -2016-09-17,81.0 -2016-09-18,83.8 -2016-09-19,83.3 -2016-09-20,85.2 -2016-09-21,86.1 -2016-09-22,85.7 -2016-09-23,86.1 -2016-09-24,85.4 -2016-09-25,85.1 -2016-09-26,87.2 -2016-09-27,85.9 -2016-09-28,84.8 -2016-09-29,83.0 -2016-09-30,80.8 -2016-10-01,81.2 -2016-10-02,82.4 -2016-10-03,87.9 -2016-10-04,93.1 -2016-10-05,99.3 -2016-10-06,101.4 -2016-10-07,104.0 -2016-10-08,104.1 -2016-10-09,104.2 -2016-10-10,101.6 -2016-10-11,98.8 -2016-10-12,97.2 -2016-10-13,94.8 -2016-10-14,92.3 -2016-10-15,84.4 -2016-10-16,80.4 -2016-10-17,75.6 -2016-10-18,76.8 -2016-10-19,75.8 -2016-10-20,74.0 -2016-10-21,77.1 -2016-10-22,76.7 -2016-10-23,76.0 -2016-10-24,74.5 -2016-10-25,76.9 -2016-10-26,77.1 -2016-10-27,77.8 -2016-10-28,78.2 -2016-10-29,78.0 -2016-10-30,75.1 -2016-10-31,75.5 -2016-11-01,75.4 -2016-11-02,74.8 -2016-11-03,74.4 -2016-11-04,75.4 -2016-11-05,75.3 -2016-11-06,74.9 -2016-11-07,75.1 -2016-11-08,75.4 -2016-11-09,78.3 -2016-11-10,78.6 -2016-11-11,76.8 -2016-11-12,76.8 -2016-11-13,76.2 -2016-11-14,75.6 -2016-11-15,74.9 -2016-11-16,79.1 -2016-11-17,76.8 -2016-11-18,75.8 -2016-11-19,74.9 -2016-11-20,74.6 -2016-11-21,73.1 -2016-11-22,75.4 -2016-11-23,75.7 -2016-11-24,77.0 -2016-11-25,78.8 -2016-11-26,79.1 -2016-11-27,80.4 -2016-11-28,82.9 -2016-11-29,83.1 -2016-11-30,81.3 -2016-12-01,82.1 -2016-12-02,82.0 -2016-12-03,82.2 -2016-12-04,80.0 -2016-12-05,80.3 -2016-12-06,77.4 -2016-12-07,74.9 -2016-12-08,72.6 -2016-12-09,70.7 -2016-12-10,70.0 -2016-12-11,69.2 -2016-12-12,68.6 -2016-12-13,69.0 -2016-12-14,70.1 -2016-12-15,70.2 -2016-12-16,70.3 -2016-12-17,69.8 -2016-12-18,70.0 -2016-12-19,70.5 -2016-12-20,72.5 -2016-12-21,72.6 -2016-12-22,72.4 -2016-12-23,71.3 -2016-12-24,70.7 -2016-12-25,70.1 -2016-12-26,71.4 -2016-12-27,71.3 -2016-12-28,70.9 -2016-12-29,70.9 -2016-12-30,71.2 -2016-12-31,71.1 -2017-01-01,70.1 -2017-01-02,70.6 -2017-01-03,71.0 -2017-01-04,70.0 -2017-01-05,70.9 -2017-01-06,69.6 -2017-01-07,69.7 -2017-01-08,69.2 -2017-01-09,68.9 -2017-01-10,70.3 -2017-01-11,72.0 -2017-01-12,73.0 -2017-01-13,72.4 -2017-01-14,74.1 -2017-01-15,75.0 -2017-01-16,75.8 -2017-01-17,76.1 -2017-01-18,76.1 -2017-01-19,77.0 -2017-01-20,80.6 -2017-01-21,83.4 -2017-01-22,84.0 -2017-01-23,81.5 -2017-01-24,79.7 -2017-01-25,82.5 -2017-01-26,80.6 -2017-01-27,77.9 -2017-01-28,76.1 -2017-01-29,74.4 -2017-01-30,74.7 -2017-01-31,73.8 -2017-02-01,73.9 -2017-02-02,73.1 -2017-02-03,73.0 -2017-02-04,71.9 -2017-02-05,70.6 -2017-02-06,70.5 -2017-02-07,70.1 -2017-02-08,71.1 -2017-02-09,71.5 -2017-02-10,72.1 -2017-02-11,73.8 -2017-02-12,74.3 -2017-02-13,73.0 -2017-02-14,72.7 -2017-02-15,73.0 -2017-02-16,72.2 -2017-02-17,72.8 -2017-02-18,74.9 -2017-02-19,76.4 -2017-02-20,78.9 -2017-02-21,80.7 -2017-02-22,81.4 -2017-02-23,81.6 -2017-02-24,80.5 -2017-02-25,78.5 -2017-02-26,77.5 -2017-02-27,80.6 -2017-02-28,80.1 -2017-03-01,79.3 -2017-03-02,77.8 -2017-03-03,76.7 -2017-03-04,73.9 -2017-03-05,71.6 -2017-03-06,71.3 -2017-03-07,70.6 -2017-03-08,69.6 -2017-03-09,70.3 -2017-03-10,70.0 -2017-03-11,69.1 -2017-03-12,69.2 -2017-03-13,69.5 -2017-03-14,68.8 -2017-03-15,69.1 -2017-03-16,69.7 -2017-03-17,69.9 -2017-03-18,69.6 -2017-03-19,70.5 -2017-03-20,72.1 -2017-03-21,70.5 -2017-03-22,72.0 -2017-03-23,71.5 -2017-03-24,71.9 -2017-03-25,73.7 -2017-03-26,76.8 -2017-03-27,82.5 -2017-03-28,83.4 -2017-03-29,83.1 -2017-03-30,85.7 -2017-03-31,90.4 -2017-04-01,100.9 -2017-04-02,111.9 -2017-04-03,107.9 -2017-04-04,93.9 -2017-04-05,84.7 -2017-04-06,75.8 -2017-04-07,74.1 -2017-04-08,73.3 -2017-04-09,74.7 -2017-04-10,73.9 -2017-04-11,74.9 -2017-04-12,71.8 -2017-04-13,73.9 -2017-04-14,73.3 -2017-04-15,73.5 -2017-04-16,75.0 -2017-04-17,75.8 -2017-04-18,86.4 -2017-04-19,81.6 -2017-04-20,81.4 -2017-04-21,83.1 -2017-04-22,84.5 -2017-04-23,83.4 -2017-04-24,81.1 -2017-04-25,82.3 -2017-04-26,80.6 -2017-04-27,79.3 -2017-04-28,79.1 -2017-04-29,78.2 -2017-04-30,78.6 -2017-05-01,76.4 -2017-05-02,78.4 -2017-05-03,76.2 -2017-05-04,75.4 -2017-05-05,74.8 -2017-05-06,74.1 -2017-05-07,73.0 -2017-05-08,71.8 -2017-05-09,70.2 -2017-05-10,69.9 -2017-05-11,70.5 -2017-05-12,70.4 -2017-05-13,71.9 -2017-05-14,72.7 -2017-05-15,72.2 -2017-05-16,73.5 -2017-05-17,73.1 -2017-05-18,73.9 -2017-05-19,74.0 -2017-05-20,74.2 -2017-05-21,75.3 -2017-05-22,76.3 -2017-05-23,77.9 -2017-05-24,79.9 -2017-05-25,78.1 -2017-05-26,82.4 -2017-05-27,84.1 -2017-05-28,81.0 -2017-05-29,77.9 -2017-05-30,75.7 -2017-05-31,76.2 -2017-06-01,77.9 -2017-06-02,80.4 -2017-06-03,80.2 -2017-06-04,79.9 -2017-06-05,81.8 -2017-06-06,77.6 -2017-06-07,77.8 -2017-06-08,76.2 -2017-06-09,76.0 -2017-06-10,77.0 -2017-06-11,76.6 -2017-06-12,77.5 -2017-06-13,77.2 -2017-06-14,76.4 -2017-06-15,79.9 -2017-06-16,75.8 -2017-06-17,77.2 -2017-06-18,77.3 -2017-06-19,76.0 -2017-06-20,76.9 -2017-06-21,76.2 -2017-06-22,76.1 -2017-06-23,76.1 -2017-06-24,76.6 -2017-06-25,76.2 -2017-06-26,76.2 -2017-06-27,76.6 -2017-06-28,74.5 -2017-06-29,74.2 -2017-06-30,73.9 -2017-07-01,73.1 -2017-07-02,73.6 -2017-07-03,74.1 -2017-07-04,74.2 -2017-07-05,75.5 -2017-07-06,78.5 -2017-07-07,82.2 -2017-07-08,89.5 -2017-07-09,94.0 -2017-07-10,98.2 -2017-07-11,94.1 -2017-07-12,93.2 -2017-07-13,95.3 -2017-07-14,97.0 -2017-07-15,94.6 -2017-07-16,89.3 -2017-07-17,88.4 -2017-07-18,80.8 -2017-07-19,75.5 -2017-07-20,72.5 -2017-07-21,71.6 -2017-07-22,71.8 -2017-07-23,72.8 -2017-07-24,72.3 -2017-07-25,72.0 -2017-07-26,70.7 -2017-07-27,70.5 -2017-07-28,71.6 -2017-07-29,72.1 -2017-07-30,71.7 -2017-07-31,74.4 -2017-08-01,75.7 -2017-08-02,76.6 -2017-08-03,77.3 -2017-08-04,76.3 -2017-08-05,76.3 -2017-08-06,75.6 -2017-08-07,74.8 -2017-08-08,73.0 -2017-08-09,73.4 -2017-08-10,73.0 -2017-08-11,71.7 -2017-08-12,72.2 -2017-08-13,70.0 -2017-08-14,74.9 -2017-08-15,76.1 -2017-08-16,79.2 -2017-08-17,78.5 -2017-08-18,82.0 -2017-08-19,88.9 -2017-08-20,88.0 -2017-08-21,89.1 -2017-08-22,92.3 -2017-08-23,87.0 -2017-08-24,80.5 -2017-08-25,82.5 -2017-08-26,79.2 -2017-08-27,79.8 -2017-08-28,83.2 -2017-08-29,85.9 -2017-08-30,88.6 -2017-08-31,93.6 -2017-09-01,95.1 -2017-09-02,101.7 -2017-09-03,122.2 -2017-09-04,185.5 -2017-09-05,122.5 -2017-09-06,134.9 -2017-09-07,130.4 -2017-09-08,118.5 -2017-09-09,108.7 -2017-09-10,101.6 -2017-09-11,80.9 -2017-09-12,76.4 -2017-09-13,76.0 -2017-09-14,75.1 -2017-09-15,73.6 -2017-09-16,72.9 -2017-09-17,72.9 -2017-09-18,72.9 -2017-09-19,71.3 -2017-09-20,74.5 -2017-09-21,73.6 -2017-09-22,78.1 -2017-09-23,81.7 -2017-09-24,87.4 -2017-09-25,90.4 -2017-09-26,91.1 -2017-09-27,91.3 -2017-09-28,91.2 -2017-09-29,90.0 -2017-09-30,89.6 -2017-10-01,85.9 -2017-10-02,86.1 -2017-10-03,86.5 -2017-10-04,86.8 -2017-10-05,84.7 -2017-10-06,84.0 -2017-10-07,79.5 -2017-10-08,76.5 -2017-10-09,72.1 -2017-10-10,70.7 -2017-10-11,69.3 -2017-10-12,69.9 -2017-10-13,69.4 -2017-10-14,68.6 -2017-10-15,69.9 -2017-10-16,70.4 -2017-10-17,69.8 -2017-10-18,72.7 -2017-10-19,72.8 -2017-10-20,75.1 -2017-10-21,75.7 -2017-10-22,76.5 -2017-10-23,77.2 -2017-10-24,76.7 -2017-10-25,77.9 -2017-10-26,76.4 -2017-10-27,75.0 -2017-10-28,74.4 -2017-10-29,74.3 -2017-10-30,74.5 -2017-10-31,74.2 -2017-11-01,71.5 -2017-11-02,72.4 -2017-11-03,72.0 -2017-11-04,70.9 -2017-11-05,69.9 -2017-11-06,68.1 -2017-11-07,67.0 -2017-11-08,66.4 -2017-11-09,64.6 -2017-11-10,67.2 -2017-11-11,65.9 -2017-11-12,68.0 -2017-11-13,70.6 -2017-11-14,72.8 -2017-11-15,72.6 -2017-11-16,71.6 -2017-11-17,74.7 -2017-11-18,74.3 -2017-11-19,72.7 -2017-11-20,71.8 -2017-11-21,71.4 -2017-11-22,71.6 -2017-11-23,70.6 -2017-11-24,72.2 -2017-11-25,72.4 -2017-11-26,73.5 -2017-11-27,71.7 -2017-11-28,70.0 -2017-11-29,70.6 -2017-11-30,69.8 -2017-12-01,68.3 -2017-12-02,69.5 -2017-12-03,67.0 -2017-12-04,66.4 -2017-12-05,66.0 -2017-12-06,66.3 -2017-12-07,65.9 -2017-12-08,67.8 -2017-12-09,69.0 -2017-12-10,69.8 -2017-12-11,70.1 -2017-12-12,69.2 -2017-12-13,69.9 -2017-12-14,69.8 -2017-12-15,69.5 -2017-12-16,69.0 -2017-12-17,68.8 -2017-12-18,69.4 -2017-12-19,66.6 -2017-12-20,71.8 -2017-12-21,73.6 -2017-12-22,72.9 -2017-12-23,73.7 -2017-12-24,73.6 -2017-12-25,73.2 -2017-12-26,69.5 -2017-12-27,68.6 -2017-12-28,68.8 -2017-12-29,69.1 -2017-12-30,68.1 -2017-12-31,68.3 -2018-01-01,66.8 -2018-01-02,67.2 -2018-01-03,68.3 -2018-01-04,67.2 -2018-01-05,67.0 -2018-01-06,67.1 -2018-01-07,67.6 -2018-01-08,68.0 -2018-01-09,68.5 -2018-01-10,68.1 -2018-01-11,68.5 -2018-01-12,68.6 -2018-01-13,68.5 -2018-01-14,68.2 -2018-01-15,67.9 -2018-01-16,68.8 -2018-01-17,68.6 -2018-01-18,68.8 -2018-01-19,68.5 -2018-01-20,67.4 -2018-01-21,66.1 -2018-01-22,67.9 -2018-01-23,68.3 -2018-01-24,67.7 -2018-01-25,68.2 -2018-01-26,67.7 -2018-01-27,67.1 -2018-01-28,65.8 -2018-01-29,66.0 -2018-01-30,67.6 -2018-01-31,66.9 -2018-02-01,67.0 -2018-02-02,66.6 -2018-02-03,68.3 -2018-02-04,69.0 -2018-02-05,72.2 -2018-02-06,73.0 -2018-02-07,75.3 -2018-02-08,76.3 -2018-02-09,75.3 -2018-02-10,76.9 -2018-02-11,75.3 -2018-02-12,76.4 -2018-02-13,73.4 -2018-02-14,73.3 -2018-02-15,71.0 -2018-02-16,70.3 -2018-02-17,70.5 -2018-02-18,68.3 -2018-02-19,68.2 -2018-02-20,66.9 -2018-02-21,66.4 -2018-02-22,66.7 -2018-02-23,66.6 -2018-02-24,66.1 -2018-02-25,66.0 -2018-02-26,67.9 -2018-02-27,66.5 -2018-02-28,67.2 -2018-03-01,66.0 -2018-03-02,66.6 -2018-03-03,66.7 -2018-03-04,66.4 -2018-03-05,66.5 -2018-03-06,66.5 -2018-03-07,66.8 -2018-03-08,65.6 -2018-03-09,66.6 -2018-03-10,66.8 -2018-03-11,66.9 -2018-03-12,67.3 -2018-03-13,67.7 -2018-03-14,66.9 -2018-03-15,68.3 -2018-03-16,67.9 -2018-03-17,69.0 -2018-03-18,68.5 -2018-03-19,69.7 -2018-03-20,68.2 -2018-03-21,68.8 -2018-03-22,68.0 -2018-03-23,67.7 -2018-03-24,67.2 -2018-03-25,68.0 -2018-03-26,67.5 -2018-03-27,68.0 -2018-03-28,68.3 -2018-03-29,68.8 -2018-03-30,68.6 -2018-03-31,68.9 -2018-04-01,68.9 -2018-04-02,68.4 -2018-04-03,67.8 -2018-04-04,68.6 -2018-04-05,66.4 -2018-04-06,67.4 -2018-04-07,67.0 -2018-04-08,68.1 -2018-04-09,68.9 -2018-04-10,68.8 -2018-04-11,68.6 -2018-04-12,70.4 -2018-04-13,70.1 -2018-04-14,69.9 -2018-04-15,71.0 -2018-04-16,69.7 -2018-04-17,69.8 -2018-04-18,71.4 -2018-04-19,71.4 -2018-04-20,73.7 -2018-04-21,77.5 -2018-04-22,76.5 -2018-04-23,74.7 -2018-04-24,73.7 -2018-04-25,71.6 -2018-04-26,70.3 -2018-04-27,69.6 -2018-04-28,71.1 -2018-04-29,72.2 -2018-04-30,71.3 -2019-01-01,72.0 -2019-01-02,75.0 -2019-01-03,73.0 -2019-01-04,72.0 -2019-01-05,71.0 -2019-01-06,72.0 -2019-01-07,72.0 -2019-01-08,71.0 -2019-01-09,72.0 -2019-01-10,70.0 -2019-01-11,68.0 -2019-01-12,70.0 -2019-01-13,69.0 -2019-01-14,70.0 -2019-01-15,70.0 -2019-01-16,70.0 -2019-01-17,69.0 -2019-01-18,69.0 -2019-01-19,70.0 -2019-01-20,69.0 -2019-01-21,70.0 -2019-01-22,71.0 -2019-01-23,72.0 -2019-01-24,72.0 -2019-01-25,75.0 -2019-01-26,77.0 -2019-01-27,74.0 -2019-01-28,76.0 -2019-01-29,73.0 -2019-01-30,74.0 -2019-01-31,72.0 -2019-02-01,72.0 -2019-02-02,71.0 -2019-02-03,71.0 -2019-02-04,71.0 -2019-02-05,71.0 -2019-02-06,70.0 -2019-02-07,70.0 -2019-02-08,71.0 -2019-02-09,70.0 -2019-02-10,70.0 -2019-02-11,70.0 -2019-02-12,70.0 -2019-02-13,70.0 -2019-02-14,71.0 -2019-02-15,71.0 -2019-02-16,71.0 -2019-02-17,70.0 -2019-02-18,70.0 -2019-02-19,70.0 -2019-02-20,71.0 -2019-02-21,71.0 -2019-02-22,71.0 -2019-02-23,71.0 -2019-02-24,71.0 -2019-02-25,70.0 -2019-02-26,71.0 -2019-02-27,71.0 -2019-02-28,70.0 -2019-03-01,70.0 -2019-03-02,69.0 -2019-03-03,70.0 -2019-03-04,71.0 -2019-03-05,72.0 -2019-03-06,73.0 -2019-03-07,71.0 -2019-03-08,72.0 -2019-03-09,71.0 -2019-03-10,71.0 -2019-03-11,70.0 -2019-03-12,71.0 -2019-03-13,71.0 -2019-03-14,70.0 diff --git a/GeospaceDataManagement/tests/test_data/sw/f107/historic/f107_monthly_1947-02.txt b/GeospaceDataManagement/tests/test_data/sw/f107/historic/f107_monthly_1947-02.txt new file mode 100644 index 0000000..ab3f6e3 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/sw/f107/historic/f107_monthly_1947-02.txt @@ -0,0 +1,9 @@ +,f107 +1947-02-14,253.9 +1947-02-17,228.5 +1947-02-19,178.8 +1947-02-20,163.7 +1947-02-24,164.1 +1947-02-25,192.7 +1947-02-26,171.1 +1947-02-28,233.3 diff --git a/GeospaceDataManagement/tests/test_data/sw/kp/def/Kp_def2019.txt b/GeospaceDataManagement/tests/test_data/sw/kp/def/Kp_def2019.txt new file mode 100644 index 0000000..55f2b96 --- /dev/null +++ b/GeospaceDataManagement/tests/test_data/sw/kp/def/Kp_def2019.txt @@ -0,0 +1,473 @@ +,Bartels_solar_rotation_num,day_within_Bartels_rotation,Kp,daily_Kp_sum +2019-01-01 00:00:00,2529,8,1.0,9.666666666666666 +2019-01-01 03:00:00,2529,8,1.3333333333333333,9.666666666666666 +2019-01-01 06:00:00,2529,8,2.6666666666666665,9.666666666666666 +2019-01-01 09:00:00,2529,8,1.6666666666666665,9.666666666666666 +2019-01-01 12:00:00,2529,8,2.0,9.666666666666666 +2019-01-01 15:00:00,2529,8,0.3333333333333333,9.666666666666666 +2019-01-01 18:00:00,2529,8,0.0,9.666666666666666 +2019-01-01 21:00:00,2529,8,0.6666666666666666,9.666666666666666 +2019-01-02 00:00:00,2529,9,0.0,0.6666666666666666 +2019-01-02 03:00:00,2529,9,0.0,0.6666666666666666 +2019-01-02 06:00:00,2529,9,0.0,0.6666666666666666 +2019-01-02 09:00:00,2529,9,0.0,0.6666666666666666 +2019-01-02 12:00:00,2529,9,0.3333333333333333,0.6666666666666666 +2019-01-02 15:00:00,2529,9,0.3333333333333333,0.6666666666666666 +2019-01-02 18:00:00,2529,9,0.0,0.6666666666666666 +2019-01-02 21:00:00,2529,9,0.0,0.6666666666666666 +2019-01-03 00:00:00,2529,10,1.0,2.0 +2019-01-03 03:00:00,2529,10,0.0,2.0 +2019-01-03 06:00:00,2529,10,0.0,2.0 +2019-01-03 09:00:00,2529,10,0.3333333333333333,2.0 +2019-01-03 12:00:00,2529,10,0.3333333333333333,2.0 +2019-01-03 15:00:00,2529,10,0.0,2.0 +2019-01-03 18:00:00,2529,10,0.0,2.0 +2019-01-03 21:00:00,2529,10,0.3333333333333333,2.0 +2019-01-04 00:00:00,2529,11,1.3333333333333333,15.333333333333334 +2019-01-04 03:00:00,2529,11,0.3333333333333333,15.333333333333334 +2019-01-04 06:00:00,2529,11,1.0,15.333333333333334 +2019-01-04 09:00:00,2529,11,1.6666666666666665,15.333333333333334 +2019-01-04 12:00:00,2529,11,2.0,15.333333333333334 +2019-01-04 15:00:00,2529,11,3.0,15.333333333333334 +2019-01-04 18:00:00,2529,11,2.6666666666666665,15.333333333333334 +2019-01-04 21:00:00,2529,11,3.3333333333333335,15.333333333333334 +2019-01-05 00:00:00,2529,12,5.0,22.666666666666668 +2019-01-05 03:00:00,2529,12,4.0,22.666666666666668 +2019-01-05 06:00:00,2529,12,2.3333333333333335,22.666666666666668 +2019-01-05 09:00:00,2529,12,2.3333333333333335,22.666666666666668 +2019-01-05 12:00:00,2529,12,1.6666666666666665,22.666666666666668 +2019-01-05 15:00:00,2529,12,2.3333333333333335,22.666666666666668 +2019-01-05 18:00:00,2529,12,2.0,22.666666666666668 +2019-01-05 21:00:00,2529,12,3.0,22.666666666666668 +2019-01-06 00:00:00,2529,13,1.6666666666666665,18.0 +2019-01-06 03:00:00,2529,13,2.6666666666666665,18.0 +2019-01-06 06:00:00,2529,13,2.3333333333333335,18.0 +2019-01-06 09:00:00,2529,13,1.6666666666666665,18.0 +2019-01-06 12:00:00,2529,13,2.0,18.0 +2019-01-06 15:00:00,2529,13,2.6666666666666665,18.0 +2019-01-06 18:00:00,2529,13,3.0,18.0 +2019-01-06 21:00:00,2529,13,2.0,18.0 +2019-01-07 00:00:00,2529,14,1.6666666666666665,12.0 +2019-01-07 03:00:00,2529,14,2.3333333333333335,12.0 +2019-01-07 06:00:00,2529,14,1.6666666666666665,12.0 +2019-01-07 09:00:00,2529,14,2.0,12.0 +2019-01-07 12:00:00,2529,14,1.6666666666666665,12.0 +2019-01-07 15:00:00,2529,14,0.3333333333333333,12.0 +2019-01-07 18:00:00,2529,14,0.3333333333333333,12.0 +2019-01-07 21:00:00,2529,14,2.0,12.0 +2019-01-08 00:00:00,2529,15,2.3333333333333335,11.333333333333334 +2019-01-08 03:00:00,2529,15,1.6666666666666665,11.333333333333334 +2019-01-08 06:00:00,2529,15,1.3333333333333333,11.333333333333334 +2019-01-08 09:00:00,2529,15,2.3333333333333335,11.333333333333334 +2019-01-08 12:00:00,2529,15,1.3333333333333333,11.333333333333334 +2019-01-08 15:00:00,2529,15,0.6666666666666666,11.333333333333334 +2019-01-08 18:00:00,2529,15,1.3333333333333333,11.333333333333334 +2019-01-08 21:00:00,2529,15,0.3333333333333333,11.333333333333334 +2019-01-09 00:00:00,2529,16,1.6666666666666665,7.666666666666667 +2019-01-09 03:00:00,2529,16,0.6666666666666666,7.666666666666667 +2019-01-09 06:00:00,2529,16,1.0,7.666666666666667 +2019-01-09 09:00:00,2529,16,1.3333333333333333,7.666666666666667 +2019-01-09 12:00:00,2529,16,0.6666666666666666,7.666666666666667 +2019-01-09 15:00:00,2529,16,0.3333333333333333,7.666666666666667 +2019-01-09 18:00:00,2529,16,1.0,7.666666666666667 +2019-01-09 21:00:00,2529,16,1.0,7.666666666666667 +2019-01-10 00:00:00,2529,17,1.0,6.0 +2019-01-10 03:00:00,2529,17,0.6666666666666666,6.0 +2019-01-10 06:00:00,2529,17,1.0,6.0 +2019-01-10 09:00:00,2529,17,1.0,6.0 +2019-01-10 12:00:00,2529,17,1.3333333333333333,6.0 +2019-01-10 15:00:00,2529,17,0.3333333333333333,6.0 +2019-01-10 18:00:00,2529,17,0.0,6.0 +2019-01-10 21:00:00,2529,17,0.6666666666666666,6.0 +2019-01-11 00:00:00,2529,18,1.3333333333333333,11.0 +2019-01-11 03:00:00,2529,18,1.6666666666666665,11.0 +2019-01-11 06:00:00,2529,18,3.3333333333333335,11.0 +2019-01-11 09:00:00,2529,18,1.3333333333333333,11.0 +2019-01-11 12:00:00,2529,18,1.3333333333333333,11.0 +2019-01-11 15:00:00,2529,18,0.3333333333333333,11.0 +2019-01-11 18:00:00,2529,18,1.3333333333333333,11.0 +2019-01-11 21:00:00,2529,18,0.3333333333333333,11.0 +2019-01-12 00:00:00,2529,19,0.6666666666666666,3.3333333333333335 +2019-01-12 03:00:00,2529,19,0.3333333333333333,3.3333333333333335 +2019-01-12 06:00:00,2529,19,0.0,3.3333333333333335 +2019-01-12 09:00:00,2529,19,0.0,3.3333333333333335 +2019-01-12 12:00:00,2529,19,1.0,3.3333333333333335 +2019-01-12 15:00:00,2529,19,0.6666666666666666,3.3333333333333335 +2019-01-12 18:00:00,2529,19,0.3333333333333333,3.3333333333333335 +2019-01-12 21:00:00,2529,19,0.3333333333333333,3.3333333333333335 +2019-01-13 00:00:00,2529,20,0.3333333333333333,4.333333333333333 +2019-01-13 03:00:00,2529,20,1.0,4.333333333333333 +2019-01-13 06:00:00,2529,20,0.6666666666666666,4.333333333333333 +2019-01-13 09:00:00,2529,20,0.6666666666666666,4.333333333333333 +2019-01-13 12:00:00,2529,20,0.0,4.333333333333333 +2019-01-13 15:00:00,2529,20,0.0,4.333333333333333 +2019-01-13 18:00:00,2529,20,0.6666666666666666,4.333333333333333 +2019-01-13 21:00:00,2529,20,1.0,4.333333333333333 +2019-01-14 00:00:00,2529,21,2.0,13.666666666666666 +2019-01-14 03:00:00,2529,21,1.6666666666666665,13.666666666666666 +2019-01-14 06:00:00,2529,21,2.0,13.666666666666666 +2019-01-14 09:00:00,2529,21,2.0,13.666666666666666 +2019-01-14 12:00:00,2529,21,0.6666666666666666,13.666666666666666 +2019-01-14 15:00:00,2529,21,1.6666666666666665,13.666666666666666 +2019-01-14 18:00:00,2529,21,1.0,13.666666666666666 +2019-01-14 21:00:00,2529,21,2.6666666666666665,13.666666666666666 +2019-01-15 00:00:00,2529,22,2.6666666666666665,9.333333333333334 +2019-01-15 03:00:00,2529,22,0.6666666666666666,9.333333333333334 +2019-01-15 06:00:00,2529,22,1.3333333333333333,9.333333333333334 +2019-01-15 09:00:00,2529,22,0.6666666666666666,9.333333333333334 +2019-01-15 12:00:00,2529,22,0.6666666666666666,9.333333333333334 +2019-01-15 15:00:00,2529,22,1.0,9.333333333333334 +2019-01-15 18:00:00,2529,22,1.3333333333333333,9.333333333333334 +2019-01-15 21:00:00,2529,22,1.0,9.333333333333334 +2019-01-16 00:00:00,2529,23,0.3333333333333333,10.0 +2019-01-16 03:00:00,2529,23,1.6666666666666665,10.0 +2019-01-16 06:00:00,2529,23,1.6666666666666665,10.0 +2019-01-16 09:00:00,2529,23,0.3333333333333333,10.0 +2019-01-16 12:00:00,2529,23,0.3333333333333333,10.0 +2019-01-16 15:00:00,2529,23,1.0,10.0 +2019-01-16 18:00:00,2529,23,2.0,10.0 +2019-01-16 21:00:00,2529,23,2.6666666666666665,10.0 +2019-01-17 00:00:00,2529,24,2.6666666666666665,13.333333333333334 +2019-01-17 03:00:00,2529,24,2.0,13.333333333333334 +2019-01-17 06:00:00,2529,24,0.6666666666666666,13.333333333333334 +2019-01-17 09:00:00,2529,24,1.3333333333333333,13.333333333333334 +2019-01-17 12:00:00,2529,24,1.0,13.333333333333334 +2019-01-17 15:00:00,2529,24,2.0,13.333333333333334 +2019-01-17 18:00:00,2529,24,2.0,13.333333333333334 +2019-01-17 21:00:00,2529,24,1.6666666666666665,13.333333333333334 +2019-01-18 00:00:00,2529,25,1.6666666666666665,10.333333333333334 +2019-01-18 03:00:00,2529,25,1.3333333333333333,10.333333333333334 +2019-01-18 06:00:00,2529,25,0.6666666666666666,10.333333333333334 +2019-01-18 09:00:00,2529,25,2.0,10.333333333333334 +2019-01-18 12:00:00,2529,25,1.3333333333333333,10.333333333333334 +2019-01-18 15:00:00,2529,25,1.6666666666666665,10.333333333333334 +2019-01-18 18:00:00,2529,25,1.0,10.333333333333334 +2019-01-18 21:00:00,2529,25,0.6666666666666666,10.333333333333334 +2019-01-19 00:00:00,2529,26,0.3333333333333333,7.333333333333333 +2019-01-19 03:00:00,2529,26,0.0,7.333333333333333 +2019-01-19 06:00:00,2529,26,0.6666666666666666,7.333333333333333 +2019-01-19 09:00:00,2529,26,1.6666666666666665,7.333333333333333 +2019-01-19 12:00:00,2529,26,0.0,7.333333333333333 +2019-01-19 15:00:00,2529,26,1.0,7.333333333333333 +2019-01-19 18:00:00,2529,26,1.0,7.333333333333333 +2019-01-19 21:00:00,2529,26,2.6666666666666665,7.333333333333333 +2019-01-20 00:00:00,2529,27,1.6666666666666665,6.333333333333333 +2019-01-20 03:00:00,2529,27,1.0,6.333333333333333 +2019-01-20 06:00:00,2529,27,0.6666666666666666,6.333333333333333 +2019-01-20 09:00:00,2529,27,0.3333333333333333,6.333333333333333 +2019-01-20 12:00:00,2529,27,0.6666666666666666,6.333333333333333 +2019-01-20 15:00:00,2529,27,0.6666666666666666,6.333333333333333 +2019-01-20 18:00:00,2529,27,0.6666666666666666,6.333333333333333 +2019-01-20 21:00:00,2529,27,0.6666666666666666,6.333333333333333 +2019-01-21 00:00:00,2530,1,1.0,5.666666666666667 +2019-01-21 03:00:00,2530,1,0.3333333333333333,5.666666666666667 +2019-01-21 06:00:00,2530,1,0.0,5.666666666666667 +2019-01-21 09:00:00,2530,1,0.3333333333333333,5.666666666666667 +2019-01-21 12:00:00,2530,1,0.3333333333333333,5.666666666666667 +2019-01-21 15:00:00,2530,1,0.6666666666666666,5.666666666666667 +2019-01-21 18:00:00,2530,1,1.3333333333333333,5.666666666666667 +2019-01-21 21:00:00,2530,1,1.6666666666666665,5.666666666666667 +2019-01-22 00:00:00,2530,2,0.0,5.333333333333333 +2019-01-22 03:00:00,2530,2,0.3333333333333333,5.333333333333333 +2019-01-22 06:00:00,2530,2,0.0,5.333333333333333 +2019-01-22 09:00:00,2530,2,0.0,5.333333333333333 +2019-01-22 12:00:00,2530,2,0.3333333333333333,5.333333333333333 +2019-01-22 15:00:00,2530,2,1.0,5.333333333333333 +2019-01-22 18:00:00,2530,2,1.6666666666666665,5.333333333333333 +2019-01-22 21:00:00,2530,2,2.0,5.333333333333333 +2019-01-23 00:00:00,2530,3,2.6666666666666665,21.333333333333332 +2019-01-23 03:00:00,2530,3,2.3333333333333335,21.333333333333332 +2019-01-23 06:00:00,2530,3,2.0,21.333333333333332 +2019-01-23 09:00:00,2530,3,2.6666666666666665,21.333333333333332 +2019-01-23 12:00:00,2530,3,3.0,21.333333333333332 +2019-01-23 15:00:00,2530,3,2.3333333333333335,21.333333333333332 +2019-01-23 18:00:00,2530,3,2.3333333333333335,21.333333333333332 +2019-01-23 21:00:00,2530,3,4.0,21.333333333333332 +2019-01-24 00:00:00,2530,4,3.6666666666666665,24.0 +2019-01-24 03:00:00,2530,4,3.3333333333333335,24.0 +2019-01-24 06:00:00,2530,4,3.6666666666666665,24.0 +2019-01-24 09:00:00,2530,4,1.3333333333333333,24.0 +2019-01-24 12:00:00,2530,4,1.3333333333333333,24.0 +2019-01-24 15:00:00,2530,4,2.6666666666666665,24.0 +2019-01-24 18:00:00,2530,4,3.6666666666666665,24.0 +2019-01-24 21:00:00,2530,4,4.333333333333333,24.0 +2019-01-25 00:00:00,2530,5,2.0,21.0 +2019-01-25 03:00:00,2530,5,2.6666666666666665,21.0 +2019-01-25 06:00:00,2530,5,3.3333333333333335,21.0 +2019-01-25 09:00:00,2530,5,2.6666666666666665,21.0 +2019-01-25 12:00:00,2530,5,3.3333333333333335,21.0 +2019-01-25 15:00:00,2530,5,3.0,21.0 +2019-01-25 18:00:00,2530,5,2.3333333333333335,21.0 +2019-01-25 21:00:00,2530,5,1.6666666666666665,21.0 +2019-01-26 00:00:00,2530,6,1.6666666666666665,12.666666666666666 +2019-01-26 03:00:00,2530,6,1.6666666666666665,12.666666666666666 +2019-01-26 06:00:00,2530,6,1.3333333333333333,12.666666666666666 +2019-01-26 09:00:00,2530,6,1.0,12.666666666666666 +2019-01-26 12:00:00,2530,6,3.0,12.666666666666666 +2019-01-26 15:00:00,2530,6,2.6666666666666665,12.666666666666666 +2019-01-26 18:00:00,2530,6,0.6666666666666666,12.666666666666666 +2019-01-26 21:00:00,2530,6,0.6666666666666666,12.666666666666666 +2019-01-27 00:00:00,2530,7,2.0,8.0 +2019-01-27 03:00:00,2530,7,1.3333333333333333,8.0 +2019-01-27 06:00:00,2530,7,1.3333333333333333,8.0 +2019-01-27 09:00:00,2530,7,1.0,8.0 +2019-01-27 12:00:00,2530,7,0.3333333333333333,8.0 +2019-01-27 15:00:00,2530,7,0.3333333333333333,8.0 +2019-01-27 18:00:00,2530,7,1.0,8.0 +2019-01-27 21:00:00,2530,7,0.6666666666666666,8.0 +2019-01-28 00:00:00,2530,8,0.6666666666666666,1.6666666666666665 +2019-01-28 03:00:00,2530,8,0.0,1.6666666666666665 +2019-01-28 06:00:00,2530,8,0.3333333333333333,1.6666666666666665 +2019-01-28 09:00:00,2530,8,0.0,1.6666666666666665 +2019-01-28 12:00:00,2530,8,0.0,1.6666666666666665 +2019-01-28 15:00:00,2530,8,0.3333333333333333,1.6666666666666665 +2019-01-28 18:00:00,2530,8,0.3333333333333333,1.6666666666666665 +2019-01-28 21:00:00,2530,8,0.0,1.6666666666666665 +2019-01-29 00:00:00,2530,9,1.6666666666666665,3.0 +2019-01-29 03:00:00,2530,9,0.0,3.0 +2019-01-29 06:00:00,2530,9,0.0,3.0 +2019-01-29 09:00:00,2530,9,0.3333333333333333,3.0 +2019-01-29 12:00:00,2530,9,0.6666666666666666,3.0 +2019-01-29 15:00:00,2530,9,0.3333333333333333,3.0 +2019-01-29 18:00:00,2530,9,0.0,3.0 +2019-01-29 21:00:00,2530,9,0.0,3.0 +2019-01-30 00:00:00,2530,10,0.0,2.0 +2019-01-30 03:00:00,2530,10,0.0,2.0 +2019-01-30 06:00:00,2530,10,0.0,2.0 +2019-01-30 09:00:00,2530,10,0.0,2.0 +2019-01-30 12:00:00,2530,10,0.0,2.0 +2019-01-30 15:00:00,2530,10,0.0,2.0 +2019-01-30 18:00:00,2530,10,1.0,2.0 +2019-01-30 21:00:00,2530,10,1.0,2.0 +2019-01-31 00:00:00,2530,11,1.0,17.666666666666668 +2019-01-31 03:00:00,2530,11,0.3333333333333333,17.666666666666668 +2019-01-31 06:00:00,2530,11,1.0,17.666666666666668 +2019-01-31 09:00:00,2530,11,1.0,17.666666666666668 +2019-01-31 12:00:00,2530,11,2.6666666666666665,17.666666666666668 +2019-01-31 15:00:00,2530,11,3.3333333333333335,17.666666666666668 +2019-01-31 18:00:00,2530,11,3.0,17.666666666666668 +2019-01-31 21:00:00,2530,11,5.333333333333333,17.666666666666668 +2019-02-01 00:00:00,2530,12,2.3333333333333335,24.0 +2019-02-01 03:00:00,2530,12,3.3333333333333335,24.0 +2019-02-01 06:00:00,2530,12,3.3333333333333335,24.0 +2019-02-01 09:00:00,2530,12,2.3333333333333335,24.0 +2019-02-01 12:00:00,2530,12,2.3333333333333335,24.0 +2019-02-01 15:00:00,2530,12,3.6666666666666665,24.0 +2019-02-01 18:00:00,2530,12,3.0,24.0 +2019-02-01 21:00:00,2530,12,3.6666666666666665,24.0 +2019-02-02 00:00:00,2530,13,3.6666666666666665,24.333333333333332 +2019-02-02 03:00:00,2530,13,4.0,24.333333333333332 +2019-02-02 06:00:00,2530,13,3.0,24.333333333333332 +2019-02-02 09:00:00,2530,13,2.3333333333333335,24.333333333333332 +2019-02-02 12:00:00,2530,13,2.0,24.333333333333332 +2019-02-02 15:00:00,2530,13,3.3333333333333335,24.333333333333332 +2019-02-02 18:00:00,2530,13,3.0,24.333333333333332 +2019-02-02 21:00:00,2530,13,3.0,24.333333333333332 +2019-02-03 00:00:00,2530,14,3.3333333333333335,18.0 +2019-02-03 03:00:00,2530,14,3.0,18.0 +2019-02-03 06:00:00,2530,14,2.6666666666666665,18.0 +2019-02-03 09:00:00,2530,14,1.0,18.0 +2019-02-03 12:00:00,2530,14,1.3333333333333333,18.0 +2019-02-03 15:00:00,2530,14,2.3333333333333335,18.0 +2019-02-03 18:00:00,2530,14,2.0,18.0 +2019-02-03 21:00:00,2530,14,2.3333333333333335,18.0 +2019-02-04 00:00:00,2530,15,0.6666666666666666,10.0 +2019-02-04 03:00:00,2530,15,0.0,10.0 +2019-02-04 06:00:00,2530,15,0.6666666666666666,10.0 +2019-02-04 09:00:00,2530,15,0.3333333333333333,10.0 +2019-02-04 12:00:00,2530,15,1.3333333333333333,10.0 +2019-02-04 15:00:00,2530,15,1.6666666666666665,10.0 +2019-02-04 18:00:00,2530,15,3.0,10.0 +2019-02-04 21:00:00,2530,15,2.3333333333333335,10.0 +2019-02-05 00:00:00,2530,16,3.0,8.0 +2019-02-05 03:00:00,2530,16,1.3333333333333333,8.0 +2019-02-05 06:00:00,2530,16,0.6666666666666666,8.0 +2019-02-05 09:00:00,2530,16,0.3333333333333333,8.0 +2019-02-05 12:00:00,2530,16,0.3333333333333333,8.0 +2019-02-05 15:00:00,2530,16,1.0,8.0 +2019-02-05 18:00:00,2530,16,1.0,8.0 +2019-02-05 21:00:00,2530,16,0.3333333333333333,8.0 +2019-02-06 00:00:00,2530,17,1.0,16.333333333333332 +2019-02-06 03:00:00,2530,17,2.0,16.333333333333332 +2019-02-06 06:00:00,2530,17,2.0,16.333333333333332 +2019-02-06 09:00:00,2530,17,2.6666666666666665,16.333333333333332 +2019-02-06 12:00:00,2530,17,2.6666666666666665,16.333333333333332 +2019-02-06 15:00:00,2530,17,1.3333333333333333,16.333333333333332 +2019-02-06 18:00:00,2530,17,2.3333333333333335,16.333333333333332 +2019-02-06 21:00:00,2530,17,2.3333333333333335,16.333333333333332 +2019-02-07 00:00:00,2530,18,1.6666666666666665,8.0 +2019-02-07 03:00:00,2530,18,1.3333333333333333,8.0 +2019-02-07 06:00:00,2530,18,1.0,8.0 +2019-02-07 09:00:00,2530,18,0.0,8.0 +2019-02-07 12:00:00,2530,18,0.3333333333333333,8.0 +2019-02-07 15:00:00,2530,18,0.6666666666666666,8.0 +2019-02-07 18:00:00,2530,18,1.0,8.0 +2019-02-07 21:00:00,2530,18,2.0,8.0 +2019-02-08 00:00:00,2530,19,2.0,14.666666666666666 +2019-02-08 03:00:00,2530,19,1.6666666666666665,14.666666666666666 +2019-02-08 06:00:00,2530,19,1.6666666666666665,14.666666666666666 +2019-02-08 09:00:00,2530,19,1.3333333333333333,14.666666666666666 +2019-02-08 12:00:00,2530,19,0.6666666666666666,14.666666666666666 +2019-02-08 15:00:00,2530,19,1.3333333333333333,14.666666666666666 +2019-02-08 18:00:00,2530,19,2.3333333333333335,14.666666666666666 +2019-02-08 21:00:00,2530,19,3.6666666666666665,14.666666666666666 +2019-02-09 00:00:00,2530,20,2.6666666666666665,17.0 +2019-02-09 03:00:00,2530,20,2.0,17.0 +2019-02-09 06:00:00,2530,20,2.0,17.0 +2019-02-09 09:00:00,2530,20,2.3333333333333335,17.0 +2019-02-09 12:00:00,2530,20,1.6666666666666665,17.0 +2019-02-09 15:00:00,2530,20,2.3333333333333335,17.0 +2019-02-09 18:00:00,2530,20,3.0,17.0 +2019-02-09 21:00:00,2530,20,1.0,17.0 +2019-02-10 00:00:00,2530,21,2.3333333333333335,9.666666666666666 +2019-02-10 03:00:00,2530,21,2.6666666666666665,9.666666666666666 +2019-02-10 06:00:00,2530,21,0.6666666666666666,9.666666666666666 +2019-02-10 09:00:00,2530,21,1.3333333333333333,9.666666666666666 +2019-02-10 12:00:00,2530,21,0.3333333333333333,9.666666666666666 +2019-02-10 15:00:00,2530,21,0.3333333333333333,9.666666666666666 +2019-02-10 18:00:00,2530,21,1.0,9.666666666666666 +2019-02-10 21:00:00,2530,21,1.0,9.666666666666666 +2019-02-11 00:00:00,2530,22,1.0,15.0 +2019-02-11 03:00:00,2530,22,1.3333333333333333,15.0 +2019-02-11 06:00:00,2530,22,1.6666666666666665,15.0 +2019-02-11 09:00:00,2530,22,0.6666666666666666,15.0 +2019-02-11 12:00:00,2530,22,3.0,15.0 +2019-02-11 15:00:00,2530,22,3.0,15.0 +2019-02-11 18:00:00,2530,22,2.0,15.0 +2019-02-11 21:00:00,2530,22,2.3333333333333335,15.0 +2019-02-12 00:00:00,2530,23,2.0,9.0 +2019-02-12 03:00:00,2530,23,2.3333333333333335,9.0 +2019-02-12 06:00:00,2530,23,0.3333333333333333,9.0 +2019-02-12 09:00:00,2530,23,0.3333333333333333,9.0 +2019-02-12 12:00:00,2530,23,1.0,9.0 +2019-02-12 15:00:00,2530,23,0.6666666666666666,9.0 +2019-02-12 18:00:00,2530,23,0.0,9.0 +2019-02-12 21:00:00,2530,23,2.3333333333333335,9.0 +2019-02-13 00:00:00,2530,24,1.6666666666666665,20.666666666666668 +2019-02-13 03:00:00,2530,24,2.6666666666666665,20.666666666666668 +2019-02-13 06:00:00,2530,24,2.6666666666666665,20.666666666666668 +2019-02-13 09:00:00,2530,24,3.6666666666666665,20.666666666666668 +2019-02-13 12:00:00,2530,24,3.6666666666666665,20.666666666666668 +2019-02-13 15:00:00,2530,24,3.0,20.666666666666668 +2019-02-13 18:00:00,2530,24,1.3333333333333333,20.666666666666668 +2019-02-13 21:00:00,2530,24,2.0,20.666666666666668 +2019-02-14 00:00:00,2530,25,2.6666666666666665,16.333333333333332 +2019-02-14 03:00:00,2530,25,3.3333333333333335,16.333333333333332 +2019-02-14 06:00:00,2530,25,2.3333333333333335,16.333333333333332 +2019-02-14 09:00:00,2530,25,3.0,16.333333333333332 +2019-02-14 12:00:00,2530,25,0.3333333333333333,16.333333333333332 +2019-02-14 15:00:00,2530,25,0.6666666666666666,16.333333333333332 +2019-02-14 18:00:00,2530,25,2.3333333333333335,16.333333333333332 +2019-02-14 21:00:00,2530,25,1.6666666666666665,16.333333333333332 +2019-02-15 00:00:00,2530,26,2.3333333333333335,6.0 +2019-02-15 03:00:00,2530,26,1.0,6.0 +2019-02-15 06:00:00,2530,26,0.6666666666666666,6.0 +2019-02-15 09:00:00,2530,26,0.3333333333333333,6.0 +2019-02-15 12:00:00,2530,26,0.6666666666666666,6.0 +2019-02-15 15:00:00,2530,26,0.3333333333333333,6.0 +2019-02-15 18:00:00,2530,26,0.6666666666666666,6.0 +2019-02-15 21:00:00,2530,26,0.0,6.0 +2019-02-16 00:00:00,2530,27,0.0,6.0 +2019-02-16 03:00:00,2530,27,0.0,6.0 +2019-02-16 06:00:00,2530,27,1.0,6.0 +2019-02-16 09:00:00,2530,27,0.0,6.0 +2019-02-16 12:00:00,2530,27,1.0,6.0 +2019-02-16 15:00:00,2530,27,2.0,6.0 +2019-02-16 18:00:00,2530,27,1.3333333333333333,6.0 +2019-02-16 21:00:00,2530,27,0.6666666666666666,6.0 +2019-02-17 00:00:00,2531,1,0.0,5.666666666666667 +2019-02-17 03:00:00,2531,1,0.0,5.666666666666667 +2019-02-17 06:00:00,2531,1,0.6666666666666666,5.666666666666667 +2019-02-17 09:00:00,2531,1,0.3333333333333333,5.666666666666667 +2019-02-17 12:00:00,2531,1,0.0,5.666666666666667 +2019-02-17 15:00:00,2531,1,0.3333333333333333,5.666666666666667 +2019-02-17 18:00:00,2531,1,2.0,5.666666666666667 +2019-02-17 21:00:00,2531,1,2.3333333333333335,5.666666666666667 +2019-02-18 00:00:00,2531,2,3.0,10.666666666666666 +2019-02-18 03:00:00,2531,2,3.0,10.666666666666666 +2019-02-18 06:00:00,2531,2,0.3333333333333333,10.666666666666666 +2019-02-18 09:00:00,2531,2,1.3333333333333333,10.666666666666666 +2019-02-18 12:00:00,2531,2,1.3333333333333333,10.666666666666666 +2019-02-18 15:00:00,2531,2,1.0,10.666666666666666 +2019-02-18 18:00:00,2531,2,0.3333333333333333,10.666666666666666 +2019-02-18 21:00:00,2531,2,0.3333333333333333,10.666666666666666 +2019-02-19 00:00:00,2531,3,0.3333333333333333,4.0 +2019-02-19 03:00:00,2531,3,1.0,4.0 +2019-02-19 06:00:00,2531,3,1.0,4.0 +2019-02-19 09:00:00,2531,3,0.3333333333333333,4.0 +2019-02-19 12:00:00,2531,3,0.0,4.0 +2019-02-19 15:00:00,2531,3,0.3333333333333333,4.0 +2019-02-19 18:00:00,2531,3,0.6666666666666666,4.0 +2019-02-19 21:00:00,2531,3,0.3333333333333333,4.0 +2019-02-20 00:00:00,2531,4,0.3333333333333333,5.0 +2019-02-20 03:00:00,2531,4,0.0,5.0 +2019-02-20 06:00:00,2531,4,0.3333333333333333,5.0 +2019-02-20 09:00:00,2531,4,0.0,5.0 +2019-02-20 12:00:00,2531,4,0.3333333333333333,5.0 +2019-02-20 15:00:00,2531,4,1.0,5.0 +2019-02-20 18:00:00,2531,4,1.3333333333333333,5.0 +2019-02-20 21:00:00,2531,4,1.6666666666666665,5.0 +2019-02-21 00:00:00,2531,5,2.6666666666666665,18.333333333333332 +2019-02-21 03:00:00,2531,5,2.0,18.333333333333332 +2019-02-21 06:00:00,2531,5,3.6666666666666665,18.333333333333332 +2019-02-21 09:00:00,2531,5,1.6666666666666665,18.333333333333332 +2019-02-21 12:00:00,2531,5,2.6666666666666665,18.333333333333332 +2019-02-21 15:00:00,2531,5,1.6666666666666665,18.333333333333332 +2019-02-21 18:00:00,2531,5,1.0,18.333333333333332 +2019-02-21 21:00:00,2531,5,3.0,18.333333333333332 +2019-02-22 00:00:00,2531,6,2.0,6.333333333333333 +2019-02-22 03:00:00,2531,6,0.3333333333333333,6.333333333333333 +2019-02-22 06:00:00,2531,6,1.0,6.333333333333333 +2019-02-22 09:00:00,2531,6,0.6666666666666666,6.333333333333333 +2019-02-22 12:00:00,2531,6,0.3333333333333333,6.333333333333333 +2019-02-22 15:00:00,2531,6,0.0,6.333333333333333 +2019-02-22 18:00:00,2531,6,0.6666666666666666,6.333333333333333 +2019-02-22 21:00:00,2531,6,1.3333333333333333,6.333333333333333 +2019-02-23 00:00:00,2531,7,0.3333333333333333,2.6666666666666665 +2019-02-23 03:00:00,2531,7,0.0,2.6666666666666665 +2019-02-23 06:00:00,2531,7,0.3333333333333333,2.6666666666666665 +2019-02-23 09:00:00,2531,7,0.0,2.6666666666666665 +2019-02-23 12:00:00,2531,7,0.0,2.6666666666666665 +2019-02-23 15:00:00,2531,7,1.0,2.6666666666666665 +2019-02-23 18:00:00,2531,7,1.0,2.6666666666666665 +2019-02-23 21:00:00,2531,7,0.0,2.6666666666666665 +2019-02-24 00:00:00,2531,8,0.0,2.3333333333333335 +2019-02-24 03:00:00,2531,8,0.0,2.3333333333333335 +2019-02-24 06:00:00,2531,8,0.6666666666666666,2.3333333333333335 +2019-02-24 09:00:00,2531,8,0.6666666666666666,2.3333333333333335 +2019-02-24 12:00:00,2531,8,1.0,2.3333333333333335 +2019-02-24 15:00:00,2531,8,0.0,2.3333333333333335 +2019-02-24 18:00:00,2531,8,0.0,2.3333333333333335 +2019-02-24 21:00:00,2531,8,0.0,2.3333333333333335 +2019-02-25 00:00:00,2531,9,0.0,2.0 +2019-02-25 03:00:00,2531,9,0.0,2.0 +2019-02-25 06:00:00,2531,9,0.6666666666666666,2.0 +2019-02-25 09:00:00,2531,9,0.3333333333333333,2.0 +2019-02-25 12:00:00,2531,9,0.0,2.0 +2019-02-25 15:00:00,2531,9,0.3333333333333333,2.0 +2019-02-25 18:00:00,2531,9,0.0,2.0 +2019-02-25 21:00:00,2531,9,0.6666666666666666,2.0 +2019-02-26 00:00:00,2531,10,0.6666666666666666,3.3333333333333335 +2019-02-26 03:00:00,2531,10,0.0,3.3333333333333335 +2019-02-26 06:00:00,2531,10,0.0,3.3333333333333335 +2019-02-26 09:00:00,2531,10,0.6666666666666666,3.3333333333333335 +2019-02-26 12:00:00,2531,10,0.3333333333333333,3.3333333333333335 +2019-02-26 15:00:00,2531,10,1.0,3.3333333333333335 +2019-02-26 18:00:00,2531,10,0.0,3.3333333333333335 +2019-02-26 21:00:00,2531,10,0.6666666666666666,3.3333333333333335 +2019-02-27 00:00:00,2531,11,1.0,16.0 +2019-02-27 03:00:00,2531,11,0.0,16.0 +2019-02-27 06:00:00,2531,11,0.6666666666666666,16.0 +2019-02-27 09:00:00,2531,11,1.0,16.0 +2019-02-27 12:00:00,2531,11,3.0,16.0 +2019-02-27 15:00:00,2531,11,3.3333333333333335,16.0 +2019-02-27 18:00:00,2531,11,3.0,16.0 +2019-02-27 21:00:00,2531,11,4.0,16.0 +2019-02-28 00:00:00,2531,12,4.333333333333333,28.666666666666668 +2019-02-28 03:00:00,2531,12,3.3333333333333335,28.666666666666668 +2019-02-28 06:00:00,2531,12,2.0,28.666666666666668 +2019-02-28 09:00:00,2531,12,3.3333333333333335,28.666666666666668 +2019-02-28 12:00:00,2531,12,4.333333333333333,28.666666666666668 +2019-02-28 15:00:00,2531,12,3.6666666666666665,28.666666666666668 +2019-02-28 18:00:00,2531,12,4.666666666666667,28.666666666666668 +2019-02-28 21:00:00,2531,12,3.0,28.666666666666668 diff --git a/GeospaceDataManagement/tests/test_data/sw/kp/kp1902.tab b/GeospaceDataManagement/tests/test_data/sw/kp/kp1902.tab deleted file mode 100644 index dd2c4ed..0000000 --- a/GeospaceDataManagement/tests/test_data/sw/kp/kp1902.tab +++ /dev/null @@ -1,32 +0,0 @@ -190201 2+ 3+ 3+ 2+ 2+ 4- 3o 4- 24o D3* 15 0.9 -190202 4- 4o 3o 2+ 2o 3+ 3o 3o 24+ D2* 16 0.9 -190203 3+ 3o 3- 1o 1+ 2+ 2o 2+ 18o 10 0.6 -190204 1- 0o 1- 0+ 1+ 2- 3o 2+ 10o 5 0.2 -190205 3o 1+ 1- 0+ 0+ 1o 1o 0+ 8o 5 0.2 -190206 1o 2o 2o 3- 3- 1+ 2+ 2+ 16+ 8 0.4 -190207 2- 1+ 1o 0o 0+ 1- 1o 2o 8o 4 0.1 -190208 2o 2- 2- 1+ 1- 1+ 2+ 4- 15- 8 0.4 -190209 3- 2o 2o 2+ 2- 2+ 3o 1o 17o 9 0.5 -190210 2+ 3- 1- 1+ 0+ 0+ 1o 1o 10- 5 0.2 -190211 1o 1+ 2- 1- 3o 3o 2o 2+ 15o 8 0.4 -190212 2o 2+ 0+ 0+ 1o 1- 0o 2+ 9o 4 0.2 -190213 2- 3- 3- 4- 4- 3o 1+ 2o 21- D4* 13 0.7 -190214 3- 3+ 2+ 3o 0+ 1- 2+ 2- 16+ 9 0.5 -190215 2+ 1o 1- 0+ 1- 0+ 1- 0o 6o Q9 3 0.1 -190216 0o 0o 1o 0o 1o 2o 1+ 1- 6o Q8 3 0.1 -190217 0o 0o 1- 0+ 0o 0+ 2o 2+ 6- Q0 3 0.1 -190218 3o 3o 0+ 1+ 1+ 1o 0+ 0+ 11- 6 0.3 -190219 0+ 1o 1o 0+ 0o 0+ 1- 0+ 4o Q5 2 0.0 -190220 0+ 0o 0+ 0o 0+ 1o 1+ 2- 5o Q6 3 0.0 -190221 3- 2o 4- 2- 3- 2- 1o 3o 18+ D5* 10 0.6 -190222 2o 0+ 1o 1- 0+ 0o 1- 1+ 6+ Q7 3 0.1 -190223 0+ 0o 0+ 0o 0o 1o 1o 0o 3- Q3 2 0.0 -190224 0o 0o 1- 1- 1o 0o 0o 0o 2+ Q2 1 0.0 -190225 0o 0o 1- 0+ 0o 0+ 0o 1- 2o Q1 1 0.0 -190226 1- 0o 0o 1- 0+ 1o 0o 1- 3+ Q4 2 0.0 -190227 1o 0o 1- 1o 3o 3+ 3o 4o 16o 11 0.6 -190228 4+ 3+ 2o 3+ 4+ 4- 5- 3o 29- D1 23 1.1 -1902 Mean 7 0.33 - -1902 Q 25 24 23 26 19 20 22 16 15 17 -1902 D 28 2* 1* 13* 21* diff --git a/GeospaceDataManagement/tests/test_instruments.py b/GeospaceDataManagement/tests/test_instruments.py index 8ced466..3254d70 100644 --- a/GeospaceDataManagement/tests/test_instruments.py +++ b/GeospaceDataManagement/tests/test_instruments.py @@ -15,7 +15,9 @@ Notes ----- -Imports test methods from gdm.tests.instrument_test_class +Imports test methods from gdm.tests.classes.cls_instrument_library, all +Instruments must undergo this testing in a single class as the pytest markers +cannot be updated for that test class mid-test. """ @@ -26,8 +28,8 @@ import pytest import GeospaceDataManagement as gdm -import GeospaceDataManagement.tests.classes.cls_instrument_library as \ - cls_inst_lib +from GeospaceDataManagement.utils import generate_instrument_list +import GeospaceDataManagement.tests.classes.cls_instrument_library as clslib from GeospaceDataManagement.tests.classes.cls_instrument_library import \ InstLibTests @@ -36,11 +38,16 @@ user_info = {'gdm_testing': {'user': 'gdm_testing', 'password': 'angeline.g.burrell.civ@us.navy.mil'}} -# Initialize tests for sources in gdm.instruments in the same way data sources -# outside of GeospaceDataManagement would be tested -instruments = InstLibTests.initialize_test_package(InstLibTests, - inst_loc=gdm.instruments, - user_info=user_info) +# Initialize tests for sources in gdm.instruments. Keep seperate lists for +# different optional installation structures to allow testing only the +# available instruments +test_instruments = generate_instrument_list(inst_loc=gdm.instruments, + user_info=user_info, subset='test') +sw_instruments = generate_instrument_list(inst_loc=gdm.instruments, subset='sw') +instruments = clslib.InstLibTests.initialize_test_package( + clslib.InstLibTests, inst_loc=gdm.instruments, user_info=user_info, + inst_subset='all') +no_sw = False if len(sw_instruments['names']) > 0 else True class TestInstruments(InstLibTests): @@ -49,14 +56,12 @@ class TestInstruments(InstLibTests): Notes ----- All standard tests, setup, and teardown inherited from the core - instrument test class. + instrument test class. As the markers are custom and can only be set + once, all groups of instruments must be tested in this class """ - - # Custom package unit tests can be added here - - # Custom Integration Tests added to all test instruments in core package - @pytest.mark.parametrize("inst_dict", instruments['download']) + # Tests specifically for the GeospaceDataMangement test instruments + @pytest.mark.parametrize("inst_dict", test_instruments['download']) @pytest.mark.parametrize("kwarg,output", [(None, 0.0), (dt.timedelta(hours=1), 3600.0)]) def test_inst_start_time(self, inst_dict, kwarg, output): @@ -74,7 +79,7 @@ def test_inst_start_time(self, inst_dict, kwarg, output): """ - _, date = cls_inst_lib.initialize_test_inst_and_date(inst_dict) + _, date = clslib.initialize_test_inst_and_date(inst_dict) if kwarg: self.test_inst = gdm.Instrument( inst_module=inst_dict['inst_module'], start_time=kwarg) @@ -87,7 +92,7 @@ def test_inst_start_time(self, inst_dict, kwarg, output): assert self.test_inst[0, 'uts'] == output return - @pytest.mark.parametrize("inst_dict", instruments['download']) + @pytest.mark.parametrize("inst_dict", test_instruments['download']) def test_inst_num_samples(self, inst_dict): """Test operation of num_samples keyword. @@ -102,7 +107,7 @@ def test_inst_num_samples(self, inst_dict): # Number of samples needs to be <96 because freq is not settable. # Different test instruments have different default number of points. num = 10 - _, date = cls_inst_lib.initialize_test_inst_and_date(inst_dict) + _, date = clslib.initialize_test_inst_and_date(inst_dict) self.test_inst = gdm.Instrument(inst_module=inst_dict['inst_module'], num_samples=num) self.test_inst.load(date=date) @@ -110,7 +115,7 @@ def test_inst_num_samples(self, inst_dict): assert len(self.test_inst['uts']) == num return - @pytest.mark.parametrize("inst_dict", instruments['download']) + @pytest.mark.parametrize("inst_dict", test_instruments['download']) def test_inst_file_date_range(self, inst_dict): """Test operation of file_date_range keyword. @@ -124,7 +129,7 @@ def test_inst_file_date_range(self, inst_dict): file_date_range = pds.date_range(dt.datetime(2021, 1, 1), dt.datetime(2021, 12, 31)) - _, date = cls_inst_lib.initialize_test_inst_and_date(inst_dict) + _, date = clslib.initialize_test_inst_and_date(inst_dict) self.test_inst = gdm.Instrument(inst_module=inst_dict['inst_module'], file_date_range=file_date_range, update_files=True) @@ -133,7 +138,7 @@ def test_inst_file_date_range(self, inst_dict): assert all(file_date_range == file_list.index) return - @pytest.mark.parametrize("inst_dict", instruments['download']) + @pytest.mark.parametrize("inst_dict", test_instruments['download']) def test_inst_max_latitude(self, inst_dict): """Test operation of max_latitude keyword. @@ -145,7 +150,7 @@ def test_inst_max_latitude(self, inst_dict): """ - _, date = cls_inst_lib.initialize_test_inst_and_date(inst_dict) + _, date = clslib.initialize_test_inst_and_date(inst_dict) self.test_inst = gdm.Instrument(inst_module=inst_dict['inst_module']) if self.test_inst.name != 'testmodel': self.test_inst.load(date=date, max_latitude=10.) @@ -161,7 +166,7 @@ def test_inst_max_latitude(self, inst_dict): @pytest.mark.parametrize("change", [True, False]) @pytest.mark.parametrize('warn_type', ['logger', 'warning', 'error', 'mult']) - @pytest.mark.parametrize("inst_dict", instruments['download']) + @pytest.mark.parametrize("inst_dict", test_instruments['download']) def test_clean_with_warnings(self, clean_level, change, warn_type, inst_dict, caplog): """Run `test_clean_warn` with different warning behaviours. @@ -219,3 +224,20 @@ def test_clean_with_warnings(self, clean_level, change, warn_type, self.test_clean_warn(clean_level, inst_dict, caplog) return + + # Tests specifically for the Space Weather instruments + @pytest.mark.skipif(no_sw, reason="Space Weather test only") + def test_45day_forecast_data_length(self): + """Test that the downloaded 45-day forecasts load 45 days of data.""" + # Initalize the desired instrument parameters + inst_dict = {'inst_module': gdm.instruments.sw_f107, + 'tag': '45day', 'inst_id': ''} + _, date = clslib.initialize_test_inst_and_date(inst_dict) + + # Load the downloaded data + self.test_inst = gdm.Instrument(**inst_dict) + self.test_inst.load(date=date) + + # Test that 45 days of F10.7 data are available + assert len(self.test_inst['f107']) == 45 + return diff --git a/GeospaceDataManagement/tests/test_methods_general.py b/GeospaceDataManagement/tests/test_methods_general.py index d8faa04..e4b9938 100644 --- a/GeospaceDataManagement/tests/test_methods_general.py +++ b/GeospaceDataManagement/tests/test_methods_general.py @@ -4,6 +4,7 @@ # # ---------------------------------------------------------------------------- # Original Authors: pysat development team (c) 2016, Russell Stoneback +# Original Authors: pysat development team, (c) 2020 pysat # # Modified 2026+ # This is a U.S. government work and not under copyright protection in the U.S. @@ -15,6 +16,7 @@ import datetime as dt from os import path +import numpy as np import pandas as pds import pytest @@ -325,3 +327,38 @@ def test_load_empty_filelist(self): # Evaluate the empty output assert self.data.empty return + + +class TestGeneralFill(object): + """Test class for `is_fill_val` method .""" + + def setup_method(self): + """Create a clean testing setup.""" + self.var = 'check' + return + + def teardown_method(self): + """Clean up previous testing setup.""" + del self.var + return + + @pytest.mark.parametrize("fill_val", [-1.0, -1, np.nan, np.inf, '']) + def test_is_fill(self, fill_val): + """Test the successful evaluation of fill values. + + Parameters + ---------- + fill_val : float, int, or str + Fill value to use as a comparison + + """ + # Set the data value to not be a fill value + if fill_val != '': + self.var = -47 + + # Evaluate the variable is False + assert not gen.is_fill_val(self.var, fill_val) + + # Evaluate the fill value is a fill value + assert gen.is_fill_val(fill_val, fill_val) + return diff --git a/GeospaceDataManagement/tests/test_registry.py b/GeospaceDataManagement/tests/test_registry.py index ae2a1cb..af39062 100644 --- a/GeospaceDataManagement/tests/test_registry.py +++ b/GeospaceDataManagement/tests/test_registry.py @@ -36,7 +36,7 @@ def ensure_updated_stored_modules(modules): gdm.params['user_modules'] """ - # make sure filesystem was updated + # Make sure filesystem was updated saved_modules = registry.load_saved_modules() for module_name, platform, name in modules: assert platform in saved_modules @@ -56,9 +56,8 @@ def ensure_live_registry_updated(modules): gdm.params['user_modules'] """ - + # Check that the global registry was updated for module_name, platform, name in modules: - # check that global registry was updated assert platform in gdm.params['user_modules'] assert name in gdm.params['user_modules'][platform] assert module_name in gdm.params['user_modules'][platform][name] @@ -312,23 +311,21 @@ class TestModuleRegistration(object): def setup_method(self): """Set up the unit test environment for each method.""" - + # Define the instrument location and package name self.inst_module = gdm.instruments - # package name pkg_name = self.inst_module.__name__ - # construct inputs similar to TestRegistration - # to enable use of existing methods - # almost fully general + # Construct inputs similar to TestRegistration to enable use of + # existing methods module_names = self.inst_module.__all__ - self.names = [snip.split('gdm')[-1][1:] for snip in module_names] - self.platforms = ['gdm'] * len(self.names) + self.names = [mname.split("_")[1] for mname in module_names] + self.platforms = [mname.split("_")[0] for mname in module_names] module_strings = ['.'.join((pkg_name, name)) for name in module_names] self.modules = [(mod, plat, nam) for mod, plat, nam in zip(module_strings, self.platforms, self.names)] - # remove any existing support which may be let over + # Remove any existing support which may be let over registry.remove(self.platforms, [None] * len(self.platforms)) return @@ -342,12 +339,13 @@ def teardown_method(self): def test_module_registration_multiple(self): """Test registering a module containing multiple instruments.""" - - # register package by module + # Register package by module registry.register_by_module(self.inst_module) - # check that global registry was updated + + # Check that that global registry was updated ensure_live_registry_updated(self.modules) - # verify update on disk + + # Verify the update on disk ensure_updated_stored_modules(self.modules) return diff --git a/GeospaceDataManagement/tests/test_sw_instruments.py b/GeospaceDataManagement/tests/test_sw_instruments.py new file mode 100644 index 0000000..2e5dbd5 --- /dev/null +++ b/GeospaceDataManagement/tests/test_sw_instruments.py @@ -0,0 +1,311 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Unit and Integration Tests for Space Weather instrument modules. + +Note +---- +Standard test methods from gdm.tests.instrument_test_class are performed in +`test_instruments.py` along with any tests that require downloaded data. + +""" + +import datetime as dt +import logging +import os +import pytest +import sys +import tempfile + +# Import the instrument package and test classes +import GeospaceDataManagement as gdm +from GeospaceDataManagement.utils import generate_instrument_list +import GeospaceDataManagement.tests.classes.cls_instrument_library as clslib +from GeospaceDataManagement.utils import testing + + +# Tell the standard tests which instruments to run each test on. +# Need to return instrument list for custom tests. +sw_instruments = generate_instrument_list(inst_loc=gdm.instruments, subset='sw') +no_sw = False if len(sw_instruments['names']) > 0 else True + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestSWInstrumentLogging(object): + """Test logging messages raised under instrument-specific conditions.""" + + def setup_method(self): + """Create a clean the testing setup.""" + # Prepare for testing downloads + self.saved_path = gdm.params['data_dirs'] + gdm.params._set_data_dirs(path=gdm.test_data_path, store=False) + self.saved_files = list() + + # Assign the Instrument kwargs + self.inst_kwargs = [ + {'inst_module': gdm.instruments.sw_f107, 'tag': 'historic'}, + {'inst_module': gdm.instruments.sw_kp}, + {'inst_module': gdm.instruments.ace_epam}, + {'inst_module': gdm.instruments.sw_f107, 'tag': 'prelim'}] + + def teardown_method(self): + """Clean up previous testing setup.""" + # Clean up the GeospaceDataManager parameter space + gdm.params._set_data_dirs(path=self.saved_path, store=False) + + for saved_file in self.saved_files: + attempts = 0 + # Remove file with multiple attempts for Windows + while os.path.isfile(saved_file) and attempts < 100: + os.remove(saved_file) + attempts += 1 + + # Remove empty directories + try: + os.removedirs(os.path.split(saved_file)[0]) + except OSError: + pass # The directory isn't empty and that's ok + + del self.inst_kwargs, self.saved_path, self.saved_files + return + + def test_historic_download_past_limit(self, caplog): + """Test message raised if loading times not in the database.""" + + with caplog.at_level(logging.INFO, logger='GeospaceDataManagement'): + inst = gdm.Instrument(**self.inst_kwargs[0]) + inst.download(start=inst.today()) + + # Test the warning + captured = caplog.text + assert captured.find('date may be out of range for the database') >= 0 + + # Test the file was not downloaded + assert inst.today() not in inst.files.files.index + + @pytest.mark.parametrize("tag", ["def", "now"]) + def test_missing_kp_file(self, tag, caplog): + """Test message raised if loading times not in the database. + + Parameters + ---------- + tag: str + Kp Instrument tag + + """ + # Initalize the Instrument and time + inst = gdm.Instrument(tag=tag, **self.inst_kwargs[1]) + future_time = inst.today() + dt.timedelta(weeks=500) + cap_text = 'Unable to download' + + # Get the logging message + with caplog.at_level(logging.INFO, logger='GeospaceDataManagement'): + inst.download(start=future_time) + + # Test the warning + captured = caplog.text + assert captured.find(cap_text) >= 0, "Unexpected text: {:}".format( + captured) + + # Test the file was not downloaded + assert future_time not in inst.files.files.index + self.saved_files = [inst.files.data_path, + inst.files.data_path.replace('kp', 'ap'), + inst.files.data_path.replace('kp', 'cp')] + + return + + def test_realtime_ace_bad_day(self, caplog): + """Test message raised when downloading old ACE realtime data.""" + inst = gdm.Instrument(tag='realtime', **self.inst_kwargs[2]) + past_time = inst.today() - dt.timedelta(weeks=500) + + # Get the logging message + with caplog.at_level(logging.WARNING, logger='GeospaceDataManagement'): + inst.download(start=past_time) + + # Test the warning + captured = caplog.text + assert captured.find( + 'real-time data only') >= 0, "Unexpected text: {:}".format(captured) + + # Test the file was downloaded + assert past_time in inst.files.files.index + self.saved_files = [os.path.join(inst.files.data_path, + inst.files.files[past_time]), + os.path.join(inst.files.data_path, + inst.files.files[ + past_time + dt.timedelta(days=1)])] + + return + + def test_historic_ace_no_data(self, caplog): + """Test message raised when no historic ACE data found on server.""" + inst = gdm.Instrument(tag='historic', **self.inst_kwargs[2]) + past_time = dt.datetime(1800, 1, 1) # Pre-space age date + + # Get the logging message + with caplog.at_level(logging.WARNING, logger='GeospaceDataManagement'): + inst.download(start=past_time) + + # Test the warning + captured = caplog.text + assert captured.find( + 'not found:') >= 0, "Unexpected text: {:}".format(captured) + + # Test the file was not downloaded + assert past_time not in inst.files.files.index + self.saved_files = [inst.files.data_path] + + return + + def test_missing_prelim_file(self, caplog): + """Test message raised if loading times not in the DSD database.""" + # Initalize the Instrument, time, and expected log output + inst = gdm.Instrument(**self.inst_kwargs[3]) + future_time = inst.today() + dt.timedelta(weeks=500) + cap_text = 'File not available for' + + # Get the logging message + with caplog.at_level(logging.INFO, logger='GeospaceDataManagement'): + inst.download(start=future_time) + + # Test the warning + captured = caplog.text + assert captured.find(cap_text) >= 0, "Unexpected text: {:}".format( + captured) + + # Test the file was not downloaded + assert future_time not in inst.files.files.index + self.saved_files = [inst.files.data_path, + inst.files.data_path.replace('f107', 'sbfield'), + inst.files.data_path.replace('f107', 'ssn'), + inst.files.data_path.replace('f107', 'flare')] + + return + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestMockDownloads(object): + """Test mock download option for Instruments.""" + + def setup_method(self): + """Create a clean testing environment.""" + + # Use a temporary directory so that the user's setup is not altered. + # TODO(#974): Remove if/else when support for Python 3.9 is dropped. + if sys.version_info.minor >= 10: + self.tempdir = tempfile.TemporaryDirectory( + ignore_cleanup_errors=True) + else: + self.tempdir = tempfile.TemporaryDirectory() + + self.saved_path = gdm.params['data_dirs'] + gdm.params._set_data_dirs(path=self.tempdir.name, store=False) + self.dkwargs = {"mock_download_dir": self.tempdir.name} + return + + def teardown_method(self): + """Clean up downloaded files and parameters from tests.""" + + gdm.params._set_data_dirs(self.saved_path, store=False) + # Remove the temporary directory. In Windows, this occasionally fails + # by raising a wide variety of different error messages. Python 3.10+ + # can handle this, but lower Python versions cannot. + # TODO(#974): Remove try/except when support for Python 3.9 is dropped. + try: + self.tempdir.cleanup() + except Exception: + pass + + del self.dkwargs, self.tempdir, self.saved_path + return + + # TODO(#4): update 'download' key when possible + @pytest.mark.parametrize("inst_dict", sw_instruments['download']) + def test_error_bad_dir(self, inst_dict): + """Test IOError is raised for a bad mock-download directory. + + Parameters + ---------- + inst_dict : dict + Dictionary containing info to instantiate a specific instrument. + Set automatically from instruments['download'] when + `initialize_test_package` is run. + + """ + # Initalize the test instrument + test_inst, date = clslib.initialize_test_inst_and_date(inst_dict) + + # Evaluate the error message for a bad directory name + self.dkwargs['mock_download_dir'] = "not/a\\directory.path" + testing.eval_bad_input(test_inst.download, IOError, + 'file location is not a directory', + input_args=[date], input_kwargs=self.dkwargs) + return + + # TODO(#4): update 'download' key when possible + @pytest.mark.parametrize("inst_dict", sw_instruments['download']) + def test_loginfo_missing_file(self, inst_dict, caplog): + """Test log for info about a missing file when using mock downloads. + + Parameters + ---------- + inst_dict : dict + Dictionary containing info to instantiate a specific instrument. + Set automatically from instruments['download'] when + `initialize_test_package` is run. + + """ + # Initalize the test instrument + test_inst, date = clslib.initialize_test_inst_and_date(inst_dict) + + # Get the logging message + with caplog.at_level(logging.INFO, logger='GeospaceDataManagement'): + test_inst.download(start=date, **self.dkwargs) + + # Test the warning + captured = caplog.text + cap_text = "data may have been saved to an unexpected filename" + assert captured.find(cap_text) > 0, "Unexpected text: {:}".format( + captured) + return + + # TODO(#4): update 'download' key when possible + @pytest.mark.parametrize("inst_dict", sw_instruments['download']) + def test_mock_download(self, inst_dict): + """Test gdm's ability to process files downloaded by a user. + + Parameters + ---------- + inst_dict : dict + Dictionary containing info to instantiate a specific instrument. + Set automatically from instruments['download'] when + `initialize_test_package` is run. + + """ + # Initalize the test instrument + test_inst, date = clslib.initialize_test_inst_and_date(inst_dict) + + # Update the mock data directory + self.dkwargs['mock_download_dir'] = gdm.test_data_path + + # Test the download + assert len(test_inst.files.files) == 0 + test_inst.download(start=date, **self.dkwargs) + assert len(test_inst.files.files) > 0, "".join([ + repr(test_inst.platform), " ", repr(test_inst.name), " ", + repr(test_inst.tag), " ", repr(test_inst.inst_id), " failed to ", + "download using date=", repr(date), ", mock_download_dir=", + self.dkwargs['mock_download_dir']]) + return diff --git a/GeospaceDataManagement/tests/test_sw_methods_ace.py b/GeospaceDataManagement/tests/test_sw_methods_ace.py new file mode 100644 index 0000000..a425f06 --- /dev/null +++ b/GeospaceDataManagement/tests/test_sw_methods_ace.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Integration and unit test suite for ACE methods.""" + +import pytest + +import GeospaceDataManagement as gdm +try: + from GeospaceDataManagement.instruments.sw_methods import ace as mm_ace + no_sw = False +except ImportError: + no_sw = True + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestACEMethods(object): + """Test class for ACE methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + self.out = None + return + + def teardown_method(self): + """Clean up previous testing setup.""" + del self.out + return + + def test_acknowledgements(self): + """Test the ACE acknowledgements.""" + self.out = mm_ace.acknowledgements() + assert self.out.find('ACE') >= 0 + return + + @pytest.mark.parametrize('name', ['mag', 'epam', 'swepam', 'sis']) + def test_references(self, name): + """Test the references for an ACE instrument.""" + self.out = mm_ace.references(name) + assert self.out.find('Space Sci. Rev.') > 0 + return + + def test_references_bad_name(self): + """Test the references raise an informative error for bad instrument.""" + with pytest.raises(KeyError) as kerr: + mm_ace.references('ace') + + assert str(kerr.value).find('unknown ACE instrument') >= 0 + return + + def test_clean_bad_inst(self): + """Test AttributeError is raised with a non-ACE instrument.""" + inst = gdm.Instrument('gdm', 'testing') + + with pytest.raises(AttributeError) as aerr: + mm_ace.clean(inst) + + assert str(aerr.value).find("Can't apply ACE cleaning to platform") >= 0 + return + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestACESWEPAMMethods(object): + """Test class for ACE SWEPAM methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + self.testInst = gdm.Instrument('gdm', 'testing') + self.testInst.load(date=self.testInst.inst_module._test_dates['']['']) + + self.omni_keys = ['sw_proton_dens_norm', 'sw_ion_temp_norm'] + return + + def teardown_method(self): + """Clean up previous testing setup.""" + del self.testInst + return + + def test_ace_swepam_hourly_omni_norm(self): + """Test ACE SWEPAM conversion to OMNI hourly normalized standards.""" + + self.testInst['slt'] *= 400.0 + mm_ace.ace_swepam_hourly_omni_norm(self.testInst, speed_key='slt', + dens_key='mlt', temp_key='dummy3') + + # Test that normalized data and metadata are present and realistic + for okey in self.omni_keys: + assert okey in self.testInst.variables # Data variable exists + assert len(self.testInst[okey].attrs) > 0 # Meta data exists + assert (self.testInst[okey].values >= 0.0).all() # Values are pos + + return + + def test_ace_swepam_hourly_omni_norm_bad_keys(self): + """Test ACE SWEPAM conversion to OMNI hourly normalized standards.""" + + with pytest.raises(ValueError) as verr: + mm_ace.ace_swepam_hourly_omni_norm(self.testInst) + + # Test the error message for missing data variables + assert str(verr).find("instrument missing variable") >= 0 + + return diff --git a/GeospaceDataManagement/tests/test_sw_methods_ae.py b/GeospaceDataManagement/tests/test_sw_methods_ae.py new file mode 100644 index 0000000..1a17669 --- /dev/null +++ b/GeospaceDataManagement/tests/test_sw_methods_ae.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Integration and unit test suite for AE methods.""" + +import pytest + +try: + from GeospaceDataManagement.instruments.sw_methods import auroral_electrojet + no_sw = False +except ImportError: + no_sw = True + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestAEMethods(object): + """Test class for the auroral electrojet methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + self.out = None + return + + def teardown_method(self): + """Clean up previous testing setup.""" + del self.out + return + + @pytest.mark.parametrize('name', ['ae', 'al', 'au']) + def test_acknowledgements(self, name): + """Test the auroral electrojet acknowledgements. + + Parameters + ---------- + name : str + Instrument name + + """ + self.out = auroral_electrojet.acknowledgements(name, 'lasp') + assert self.out.find(name.upper()) >= 0 + return + + @pytest.mark.parametrize('name', ['ae', 'al', 'au']) + def test_references(self, name): + """Test the references for an AE instrument. + + Parameters + ---------- + name : str + Instrument name + + """ + self.out = auroral_electrojet.references(name, 'lasp') + assert self.out.find('Davis, T. N.') >= 0 + return diff --git a/GeospaceDataManagement/tests/test_sw_methods_f107.py b/GeospaceDataManagement/tests/test_sw_methods_f107.py new file mode 100644 index 0000000..2f39c4f --- /dev/null +++ b/GeospaceDataManagement/tests/test_sw_methods_f107.py @@ -0,0 +1,262 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Test suite for F10.7 methods.""" + +import datetime as dt +import numpy as np +import pytest +import pandas as pds +import xarray as xr + +import GeospaceDataManagement as gdm + +try: + from GeospaceDataManagement.instruments.sw_methods import f107 as mm_f107 + from GeospaceDataManagement.instruments import sw_f107 + no_sw = False +except ImportError: + no_sw = True + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestSWF107(object): + """Test class for F10.7 methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + # Load a test instrument + self.testInst = gdm.Instrument() + self.testInst.data = xr.Dataset({ + 'f107': (('time'), np.linspace(70, 200, 160)), + 'time': (('time'), [dt.datetime(2009, 1, 1) + dt.timedelta(days=i) + for i in range(160)])}) + return + + def teardown_method(self): + """Clean up previous testing setup.""" + del self.testInst + return + + def eval_f107a(self, nan_check=False): + """Evaluate the test instrument for F10.7a data. + + Parameters + ---------- + nan_check : bool + Check min and max values are NaN insensitive if True (default=False) + + """ + # Assert that new data and metadata exist + assert 'f107a' in self.testInst.variables + assert len(self.testInst['f107a'].attrs) > 0 + + # Assert the values are finite and realistic means + if nan_check: + assert (np.nanmin(self.testInst['f107a']) + > np.nanmin(self.testInst['f107'])) + assert (np.nanmax(self.testInst['f107a']) + < np.nanmax(self.testInst['f107'])) + else: + assert np.all(np.isfinite(self.testInst['f107a'])) + assert self.testInst['f107a'].min() > self.testInst['f107'].min() + assert self.testInst['f107a'].max() < self.testInst['f107'].max() + return + + @pytest.mark.parametrize("inargs,vmsg", [ + (["bad"], "unknown input data variable"), + (['f107', 'f107'], "output data variable already exists")]) + def test_calc_f107a_bad_inputs(self, inargs, vmsg): + """Test the calc_f107a with a bad inputs. + + Parameters + ---------- + inargs : list + List of input arguements that should raise a ValueError + vmsg : str + Expected ValueError message + + """ + + with pytest.raises(ValueError) as verr: + mm_f107.calc_f107a(self.testInst, *inargs) + + assert str(verr).find(vmsg) >= 0 + return + + def test_calc_f107a_daily(self): + """Test the calc_f107a routine with daily data.""" + + mm_f107.calc_f107a(self.testInst, f107_name='f107', f107a_name='f107a') + self.eval_f107a() + return + + def test_calc_f107a_high_rate(self): + """Test the calc_f107a routine with sub-daily data.""" + self.testInst.data = xr.Dataset( + {'f107': (('time'), np.linspace(70, 200, 3840)), + 'time': (('time'), [dt.datetime(2009, 1, 1) + dt.timedelta(hours=i) + for i in range(3840)])}) + mm_f107.calc_f107a(self.testInst, f107_name='f107', f107a_name='f107a') + self.eval_f107a() + + # Assert the same mean value is used for a day + assert len(np.unique(self.testInst['f107a'][:24])) == 1 + return + + def test_calc_f107a_daily_missing(self): + """Test the calc_f107a routine with some daily data missing.""" + + self.testInst.data = xr.Dataset( + {'f107': (('time'), np.linspace(70, 200, 160)), + 'time': (('time'), [dt.datetime(2009, 1, 1) + dt.timedelta( + days=(2 * i + 1)) for i in range(160)])}) + mm_f107.calc_f107a(self.testInst, f107_name='f107', f107a_name='f107a') + + # Assert that new data and metadata exist + self.eval_f107a(nan_check=True) + + # Assert the expected number of fill values + assert (len(self.testInst['f107a'][np.isnan(self.testInst['f107a'])]) + == 40) + return + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestSWF107Combine(object): + """Test class for the `combine_f107` method.""" + + def setup_method(self): + """Create a clean testing setup.""" + # Switch to test_data directory + self.saved_path = gdm.params['data_dirs'] + gdm.params.data['data_dirs'] = [gdm.test_data_path] + + # Set combination testing input + self.test_day = dt.datetime(2019, 3, 16) + inst_id = {tag: '' for tag in sw_f107.tags.keys()} + inst_id['now'] = 'obs' + self.combine_inst = {tag: gdm.Instrument(inst_module=sw_f107, tag=tag, + inst_id=inst_id[tag], + update_files=True) + for tag in sw_f107.tags.keys()} + self.combine_times = {"start": self.test_day - dt.timedelta(days=30), + "stop": self.test_day + dt.timedelta(days=3)} + + return + + def teardown_method(self): + """Clean up previous testing setup.""" + gdm.params.data['data_dirs'] = self.saved_path + del self.combine_inst, self.test_day, self.combine_times + return + + def test_combine_f107_none(self): + """Test `combine_f107` failure when no input is provided.""" + + with pytest.raises(TypeError) as terr: + mm_f107.combine_f107() + + assert str(terr).find("missing 2 required positional arguments") >= 0 + return + + def test_combine_f107_no_time(self): + """Test `combine_f107` failure when no times are provided.""" + + with pytest.raises(ValueError) as verr: + mm_f107.combine_f107(self.combine_inst['historic'], + self.combine_inst['forecast']) + + assert str(verr).find("must either load in Instrument objects") >= 0 + return + + def test_combine_f107_bad_time(self): + """Test `combine_f107` failure when bad times are provided.""" + + with pytest.raises(ValueError) as verr: + mm_f107.combine_f107(self.combine_inst['historic'], + self.combine_inst['forecast'], + start=self.combine_times['stop'], + stop=self.combine_times['start']) + + assert str(verr).find("date range is zero or negative") >= 0 + return + + def test_combine_f107_no_data(self): + """Test `combine_f107` when no data is present for specified times.""" + + combo_in = {kk: self.combine_inst['forecast'] for kk in + ['standard_inst', 'forecast_inst']} + combo_in['start'] = dt.datetime(2014, 2, 19) + combo_in['stop'] = dt.datetime(2014, 2, 24) + f107_inst = mm_f107.combine_f107(**combo_in) + + assert f107_inst.data.isnull().all()["f107"] + + del combo_in, f107_inst + return + + def test_combine_f107_no_data_no_files(self): + """Test `combine_f107` without data or files for the specified times.""" + + # Unset the file list for the instrument + self.combine_inst['forecast'].files.files = pds.Series([]) + + # Set the function inputs + combo_in = {kk: self.combine_inst['forecast'] for kk in + ['standard_inst', 'forecast_inst']} + combo_in['start'] = dt.datetime(2014, 2, 19) + combo_in['stop'] = dt.datetime(2014, 2, 24) + + # Run the method + f107_inst = mm_f107.combine_f107(**combo_in) + + # Test the output + assert np.isnan(f107_inst.data["f107"]).all() + + del combo_in, f107_inst + return + + def test_combine_f107_inst_time(self): + """Test `combine_f107` with times provided through datasets.""" + + self.combine_inst['historic'].load( + date=self.combine_inst['historic'].lasp_stime, + end_date=self.combine_times['start']) + self.combine_inst['forecast'].load(date=self.test_day) + + f107_inst = mm_f107.combine_f107(self.combine_inst['historic'], + self.combine_inst['forecast']) + + assert f107_inst.index[0] == self.combine_inst['historic'].lasp_stime + assert f107_inst.index[-1] <= self.combine_times['stop'] + assert len(f107_inst.vars_no_time) == 1 + assert 'f107' in f107_inst.variables + + del f107_inst + return + + def test_combine_f107_all(self): + """Test `combine_f107` with 'historic' and '45day' input.""" + + f107_inst = mm_f107.combine_f107(self.combine_inst['historic'], + self.combine_inst['45day'], + **self.combine_times) + + assert f107_inst.index[0] >= self.combine_times['start'] + assert f107_inst.index[-1] < self.combine_times['stop'] + assert len(f107_inst.vars_no_time) == 1 + assert 'f107' in f107_inst.variables + + del f107_inst + return diff --git a/GeospaceDataManagement/tests/test_sw_methods_general.py b/GeospaceDataManagement/tests/test_sw_methods_general.py new file mode 100644 index 0000000..006e8cd --- /dev/null +++ b/GeospaceDataManagement/tests/test_sw_methods_general.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Integration and unit test suite for ACE methods.""" + +import numpy as np +import pytest + +import GeospaceDataManagement as gdm +try: + from GeospaceDataManagement.instruments.sw_methods import general + no_sw = False +except ImportError: + no_sw = True + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestGeneralMethods(object): + """Test class for general methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + self.inst = gdm.Instrument('gdm', 'testing') + self.inst.load(date=self.inst.inst_module._test_dates['']['']) + self.var = self.inst.variables[0] + self.fill_label = 'fill_val' + return + + def teardown_method(self): + """Clean up previous testing setup.""" + del self.inst, self.var, self.fill_label + return + + def test_preprocess(self): + """Test the preprocessing routine updates all fill values to be NaN.""" + + # Make sure at least one fill value is not already NaN + self.inst[self.var].attrs['fill_val'] = 0.0 + + # Update the meta data using the general preprocess routine + general.preprocess_fill(self.inst, fill_label=self.fill_label) + + # Test the output + assert np.isnan(self.inst[self.var].attrs[self.fill_label]) + return diff --git a/GeospaceDataManagement/tests/test_sw_methods_gfz.py b/GeospaceDataManagement/tests/test_sw_methods_gfz.py new file mode 100644 index 0000000..25e2b84 --- /dev/null +++ b/GeospaceDataManagement/tests/test_sw_methods_gfz.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Integration and unit test suite for GFZ methods.""" + +import datetime as dt +import pytest +import tempfile + +import GeospaceDataManagement as gdm +try: + from GeospaceDataManagement.instruments.sw_methods import gfz + no_sw = False +except ImportError: + no_sw = True + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestGFZMethods(object): + """Test class for GFZ methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + # Prepare for testing downloads + self.tempdir = tempfile.TemporaryDirectory() + self.saved_path = gdm.params['data_dirs'] + gdm.params._set_data_dirs(path=self.tempdir.name, store=False) + return + + def teardown_method(self): + """Clean up previous testing setup.""" + # Clean up the GeospaceDataManagement parameter space + gdm.params._set_data_dirs(self.saved_path, store=False) + + del self.tempdir, self.saved_path + return + + def test_kp_ap_cp_download_bad_inst(self): + """Test the download doesn't work for an incorrect Instrument.""" + with pytest.raises(ValueError) as verr: + gfz.kp_ap_cp_download('platform', 'name', 'tag', 'inst_id', + [dt.datetime.now(tz=dt.timezone.utc)], + 'data/path') + + assert str(verr).find('Unknown Instrument module') >= 0 + return diff --git a/GeospaceDataManagement/tests/test_sw_methods_kp.py b/GeospaceDataManagement/tests/test_sw_methods_kp.py new file mode 100644 index 0000000..6923f11 --- /dev/null +++ b/GeospaceDataManagement/tests/test_sw_methods_kp.py @@ -0,0 +1,684 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Test suite for Kp and Ap methods.""" + +import datetime as dt +import numpy as np +import pandas as pds +import pytest + +import GeospaceDataManagement as gdm +try: + from GeospaceDataManagement.instruments.sw_methods import kp_ap + from GeospaceDataManagement.instruments import sw_kp + no_sw = False +except ImportError: + no_sw = True + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestKpInitMetadata(object): + """Test class for Kp metadata initialization methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + self.test_function = kp_ap.get_kp_metadata + + # Set the default values + self.units = '' + self.desc = 'Planetary K-index' + self.min_val = 0 + self.max_val = 9 + self.fill_val = -1 + self.out_dict = {} + + return + + def teardown_method(self): + """Clean up previous testing setup.""" + del self.test_function, self.units, self.desc + del self.min_val, self.max_val, self.fill_val, self.out_dict + return + + def eval_defaults(self): + """Evaluate the outputs of the metadata.""" + + assert self.out_dict['units'] == self.units + assert self.out_dict['desc'] == self.desc + assert self.out_dict['min_val'] == self.min_val + assert self.out_dict['max_val'] == self.max_val + assert self.out_dict['fill_val'] == self.fill_val + return + + def test_get_metadata_defaults(self): + """Test default metadata initialization.""" + + self.out_dict = self.test_function() + self.eval_defaults() + + return + + def test_fill_metadata(self): + """Test metadata initialization with user-specified fill value.""" + self.out_dict = self.test_function(fill_val=666) + + self.fill_val = 666 + self.eval_defaults() + return + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestApInitMetadata(TestKpInitMetadata): + """Test class for Ap metadata initialization methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + self.test_function = kp_ap.get_ap_metadata + + # Set the default values + self.units = '' + self.desc = 'ap (equivalent range) index' + self.min_val = 0 + self.max_val = 400 + self.fill_val = -1 + self.out_dict = {} + return + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestBartelInitMetadata(object): + """Test class for Bartel metadata initialization methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + self.test_function = kp_ap.get_bartel_metadata + + # Set the default values + self.units = '' + self.desc = ''.join(['A sequence of 27-day intervals counted from ', + 'February 8, 1832']) + self.min_val = 1 + self.max_val = np.inf + self.fill_val = -1 + self.out_dict = {} + return + + def eval_defaults(self, data_key): + """Evaluate the outputs of the metadata. + + Parameters + ---------- + data_key : str + Name of the desired variable + + """ + if data_key.find('day_within') >= 0: + self.units = 'day' + name = 'Days within Bartels solar rotation' + self.desc = 'Number of days within the Bartels solar rotation' + self.max_val = 27 + else: + name = 'Bartels solar rotation number' + + assert self.out_dict['units'] == self.units + assert self.out_dict['name'] == name + assert self.out_dict['desc'] == self.desc + assert self.out_dict['max_val'] == self.max_val + assert self.out_dict['min_val'] == self.min_val + assert self.out_dict['fill_val'] == self.fill_val + + return + + @pytest.mark.parametrize("data_key", ["solar_rotation_num", + "day_within_solar_rotation"]) + def test_get_metadata_defaults(self, data_key): + """Test default metadata initialization. + + Parameters + ---------- + data_key : str + String denoting the data key + + """ + self.out_dict = self.test_function(data_key) + self.eval_defaults(data_key) + + return + + @pytest.mark.parametrize("data_key", ["solar_rotation_num", + "day_within_solar_rotation"]) + def test_fill_metadata(self, data_key): + """Test metadata initialization with user-specified fill value. + + Parameters + ---------- + data_key : str + String denoting the data key + + """ + self.out_dict = self.test_function(data_key, fill_val=666) + + self.fill_val = 666 + self.eval_defaults(data_key) + return + + def test_bad_data_variable(self): + """Test metadata initialization doesn't work with the wrong variable.""" + data_key = 'Kp' + + with pytest.raises(ValueError) as verr: + self.test_function(data_key) + + assert str(verr).find('unknown data key') >= 0 + return + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestSWKp(object): + """Test class for Kp methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + + # Load a test instrument + inst_dict = {'num_samples': 12} + self.inst = gdm.Instrument('gdm', 'testing', **inst_dict) + test_time = gdm.instruments.gdm_testing._test_dates[''][''] + + load_kwargs = {'date': test_time} + self.inst.load(**load_kwargs) + + # Create Kp data + self.inst.data[self.inst.index.name] = pds.DatetimeIndex(data=[ + test_time + dt.timedelta(hours=3 * i) for i in range(12)]) + self.inst['Kp'] = np.arange(0, 4, 1.0 / 3.0) + self.inst['ap_nan'] = np.full(shape=12, fill_value=np.nan) + self.inst['ap_inf'] = np.full(shape=12, fill_value=np.inf) + self.inst['Kp'].attrs.update({'fill_val': np.nan}) + self.inst['ap_nan'].attrs.update({'fill_val': np.nan}) + self.inst['ap_inf'].attrs.update({'fill_val': np.inf}) + return + + def teardown_method(self): + """Clean up previous testing setup.""" + del self.inst + return + + def test_convert_kp_to_ap(self): + """Test conversion of Kp to ap.""" + + kp_ap.convert_3hr_kp_to_ap(self.inst) + + assert '3hr_ap' in self.inst.variables + assert len(self.inst['3hr_ap'].attrs) > 0 + assert self.inst['3hr_ap'].min() >= self.inst['3hr_ap'].attrs['min_val'] + assert self.inst['3hr_ap'].max() <= self.inst['3hr_ap'].attrs['max_val'] + return + + def test_convert_kp_to_ap_fill_val(self): + """Test conversion of Kp to ap with fill values.""" + + # Set the first value to a fill value, then calculate ap + fill_label = 'fill_val' + fill_value = self.inst['Kp'].attrs[fill_label] + self.inst[self.inst.index[0], 'Kp'] = fill_value + kp_ap.convert_3hr_kp_to_ap(self.inst) + + # Test non-fill ap values + assert '3hr_ap' in self.inst.variables + assert len(self.inst['3hr_ap'].attrs.keys()) > 0 + assert self.inst['3hr_ap'][1:].min() >= self.inst[ + '3hr_ap'].attrs['min_val'] + assert self.inst['3hr_ap'][1:].max() <= self.inst[ + '3hr_ap'].attrs['max_val'] + + # Test the fill value in the data and metadata + assert np.isnan(self.inst['3hr_ap'][0]) + assert np.isnan(self.inst['3hr_ap'].attrs[fill_label]) + + return + + def test_convert_kp_to_ap_bad_input(self): + """Test conversion of Kp to ap with bad input.""" + # Rename the desired data variable to something that won't work + self.inst.rename({"Kp": "bad"}) + + with pytest.raises(ValueError) as verr: + kp_ap.convert_3hr_kp_to_ap(self.inst) + + assert str(verr).find("Variable name for Kp data is missing") >= 0 + return + + def test_convert_ap_to_kp(self): + """Test conversion of ap to Kp.""" + + kp_ap.convert_3hr_kp_to_ap(self.inst) + kp_out, kp_meta = kp_ap.convert_ap_to_kp(self.inst['3hr_ap']) + + # Assert original and coverted there and back Kp are equal + assert all(abs(kp_out - self.inst['Kp']) < 1.0e-4) + + # Assert the converted Kp meta data exists and is reasonable + assert kp_meta['fill_val'] == -1 + + del kp_out, kp_meta + return + + def test_convert_ap_to_kp_middle(self): + """Test conversion of ap to Kp where ap is not an exact Kp value.""" + + kp_ap.convert_3hr_kp_to_ap(self.inst) + new_val = self.inst[self.inst.index[8], '3hr_ap'] + 1 + self.inst[self.inst.index[8], '3hr_ap'] = new_val + kp_out, kp_meta = kp_ap.convert_ap_to_kp(self.inst['3hr_ap']) + + # Assert original and coverted there and back Kp are equal + assert all(abs(kp_out - self.inst.data['Kp']) < 1.0e-4) + + # Assert the converted Kp meta data exists and is reasonable + assert kp_meta['fill_val'] == -1 + + return + + def test_convert_ap_to_kp_nan_input(self): + """Test conversion of ap to Kp where ap is NaN.""" + + kp_out, kp_meta = kp_ap.convert_ap_to_kp(self.inst['ap_nan']) + + # Assert original and coverted there and back Kp are equal + assert all(kp_out == -1) + + # Assert the converted Kp meta data exists and is reasonable + assert kp_meta['fill_val'] == -1 + + del kp_out, kp_meta + return + + def test_convert_ap_to_kp_inf_input(self): + """Test conversion of ap to Kp where ap is Inf.""" + + kp_out, kp_meta = kp_ap.convert_ap_to_kp(self.inst['ap_inf']) + + # Assert original and coverted there and back Kp are equal + assert all(kp_out[1:] == -1) + + # Assert the converted Kp meta data exists and is reasonable + assert kp_meta['fill_val'] == -1 + + del kp_out, kp_meta + return + + def test_convert_ap_to_kp_fill_val(self): + """Test conversion of ap to Kp with fill values.""" + + # Set the first Kp value to a fill value + fill_label = 'fill_val' + fill_value = self.inst['Kp'].attrs[fill_label] + self.inst[self.inst.index[0], 'Kp'] = fill_value + + # Calculate ap + kp_ap.convert_3hr_kp_to_ap(self.inst) + + # Recalculate Kp from ap + kp_out, kp_meta = kp_ap.convert_ap_to_kp(self.inst['3hr_ap'], + fill_val=fill_value) + + # Test non-fill ap values + assert all(abs(kp_out[1:] - self.inst['Kp'][1:]) < 1.0e-4) + + # Test the fill value in the data and metadata + assert np.isnan(kp_out[0]) + assert np.isnan(kp_meta[fill_label]) + + return + + @pytest.mark.parametrize("filter_kwargs,ngood", [ + ({"min_kp": 2, 'filter_time': 0}, 6), + ({"max_kp": 2, 'filter_time': 0}, 7), + ({"min_kp": 2, "filter_time": 12}, 2), + ({"min_kp": 2, "max_kp": 3, 'filter_time': 0}, 4)]) + def test_filter_geomag(self, filter_kwargs, ngood): + """Test geomag_filter success for different limits. + + Parameters + ---------- + filter_kwargs : dict + Dict with kwarg input for `filter_geomag` + ngood : int + Expected number of good samples + + """ + + kp_ap.filter_geomag(self.inst, kp_inst=self.inst, + **filter_kwargs) + assert len(self.inst.index) == ngood, \ + 'Incorrect filtering using {:} of {:}'.format(filter_kwargs, + self.inst['Kp']) + return + + def test_filter_geomag_load_kp(self): + """Test geomag_filter loading the Kp instrument.""" + try: + kp_ap.filter_geomag(self.inst) + assert len(self.inst.index) == 12 # No filtering with defaults + except IOError as ierr: + assert str(ierr).find('unable to load') >= 0 # No data to load + return + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestSWKpCombine(object): + """Tests for the `combine_kp` method.""" + + def setup_method(self): + """Create a clean testing setup.""" + # Switch to test_data directory + self.saved_path = gdm.params['data_dirs'] + gdm.params.data['data_dirs'] = [gdm.test_data_path] + + # Set combination testing input + test_day = dt.datetime(2019, 3, 18) + idict = {'inst_module': sw_kp, 'update_files': True} + + self.combine = {"standard_inst": gdm.Instrument(tag="def", **idict), + "recent_inst": gdm.Instrument(tag="recent", **idict), + "forecast_inst": gdm.Instrument(tag="forecast", + **idict), + "start": test_day - dt.timedelta(days=30), + "stop": test_day + dt.timedelta(days=3), + "fill_val": -1} + self.load_kwargs = {"date": test_day} + + return + + def teardown_method(self): + """Clean up previous testing.""" + gdm.params.data['data_dirs'] = self.saved_path + del self.combine, self.saved_path, self.load_kwargs + return + + def test_combine_kp_none(self): + """Test combine_kp failure when no input is provided.""" + + with pytest.raises(ValueError) as verr: + kp_ap.combine_kp() + + assert str(verr).find("need at two Kp Instrument objects to") >= 0 + return + + def test_combine_kp_one(self): + """Test combine_kp raises ValueError with only one instrument.""" + + # Load a test instrument + test_inst = gdm.Instrument() + test_inst.data = pds.DataFrame({'Kp': np.arange(0, 4, 1.0 / 3.0)}, + index=[dt.datetime(2009, 1, 1) + + pds.DateOffset(hours=3 * i) + for i in range(12)]) + test_inst['Kp'].attrs.update({'fill_val': np.nan}) + + with pytest.raises(ValueError) as verr: + kp_ap.combine_kp(standard_inst=test_inst) + + assert str(verr).find("need at two Kp Instrument objects to") >= 0 + + return + + def test_combine_kp_no_time(self): + """Test combine_kp raises ValueError when no times are provided.""" + + # Remove the start times from the input dict + del self.combine['start'], self.combine['stop'] + + # Raise a value error + with pytest.raises(ValueError) as verr: + kp_ap.combine_kp(**self.combine) + + # Test the error message + assert str(verr).find("must either load in Instrument objects or") >= 0 + + return + + def test_combine_kp_no_data(self): + """Test combine_kp when no data is present for specified times.""" + + combo_in = {kk: self.combine['forecast_inst'] for kk in + ['standard_inst', 'recent_inst', 'forecast_inst']} + combo_in['start'] = dt.datetime(2014, 2, 19) + combo_in['stop'] = dt.datetime(2014, 2, 24) + kp_inst = kp_ap.combine_kp(**combo_in) + + assert kp_inst.data.isnull().all()["Kp"] + + del combo_in, kp_inst + return + + def test_combine_kp_no_data_no_files(self): + """Test combine_kp without data or files for the specified times.""" + + # Unset the file list for the instrument + self.combine['forecast_inst'].files.files = pds.Series([]) + + # Set the function inputs + combo_in = {kk: self.combine['forecast_inst'] for kk in + ['standard_inst', 'recent_inst', 'forecast_inst']} + combo_in['start'] = dt.datetime(2014, 2, 19) + combo_in['stop'] = dt.datetime(2014, 2, 24) + + # Run the method + kp_inst = kp_ap.combine_kp(**combo_in) + + # Test the output + assert kp_inst.data.isnull().all()["Kp"] + + del combo_in, kp_inst + return + + def test_combine_kp_inst_time(self): + """Test combine_kp when times are provided through the instruments.""" + + combo_in = {kk: self.combine[kk] for kk in + ['standard_inst', 'recent_inst', 'forecast_inst']} + + for ikey in combo_in.keys(): + combo_in[ikey].load(**self.load_kwargs) + + kp_inst = kp_ap.combine_kp(**combo_in) + + assert kp_inst.index[0] >= self.combine['start'] + + # kp_inst contains times up to 21:00:00, coombine['stop'] is midnight + assert kp_inst.index[-1].date() <= self.combine['stop'].date() + assert len(kp_inst.vars_no_time) == 1 + assert 'Kp' in kp_inst.variables + + assert np.isnan(kp_inst['Kp'].attrs['fill_val']) + assert len(kp_inst['Kp'][np.isnan(kp_inst['Kp'])]) == 0 + + del combo_in, kp_inst + return + + def test_combine_kp_all(self): + """Test combine_kp when all input is provided.""" + + kp_inst = kp_ap.combine_kp(**self.combine) + + assert kp_inst.index[0] >= self.combine['start'] + assert kp_inst.index[-1] < self.combine['stop'] + assert len(kp_inst.vars_no_time) == 1 + assert kp_inst.variables[0] == 'Kp' + + # Fill value is defined by combine + assert (kp_inst['Kp'].attrs['fill_val'] == self.combine['fill_val']) + assert (kp_inst['Kp'] != self.combine['fill_val']).all() + + del kp_inst + return + + def test_combine_kp_no_forecast(self): + """Test combine_kp when forecasted data is not provided.""" + + combo_in = {kk: self.combine[kk] for kk in self.combine.keys() + if kk != 'forecast_inst'} + kp_inst = kp_ap.combine_kp(**combo_in) + + assert kp_inst.index[0] >= self.combine['start'] + assert kp_inst.index[-1] < self.combine['stop'] + assert len(kp_inst.vars_no_time) == 1 + assert 'Kp' in kp_inst.variables + assert (kp_inst['Kp'].attrs['fill_val'] == self.combine['fill_val']) + assert (kp_inst['Kp'] == self.combine['fill_val']).any() + + del kp_inst, combo_in + return + + def test_combine_kp_no_recent(self): + """Test combine_kp when recent data is not provided.""" + + combo_in = {kk: self.combine[kk] for kk in self.combine.keys() + if kk != 'recent_inst'} + kp_inst = kp_ap.combine_kp(**combo_in) + + assert kp_inst.index[0] >= self.combine['start'] + assert kp_inst.index[-1] < self.combine['stop'] + assert len(kp_inst.vars_no_time) == 1 + assert 'Kp' in kp_inst.variables + assert kp_inst['Kp'].attrs['fill_val'] == self.combine['fill_val'] + assert (kp_inst['Kp'] == self.combine['fill_val']).any() + + del kp_inst, combo_in + return + + def test_combine_kp_no_standard(self): + """Test combine_kp when standard data is not provided.""" + + combo_in = {kk: self.combine[kk] for kk in self.combine.keys() + if kk != 'standard_inst'} + kp_inst = kp_ap.combine_kp(**combo_in) + + assert kp_inst.index[0] >= self.combine['start'] + assert kp_inst.index[-1] < self.combine['stop'] + assert len(kp_inst.vars_no_time) == 1 + assert 'Kp' in kp_inst.variables + assert kp_inst['Kp'].attrs['fill_val'] == self.combine['fill_val'] + assert self.combine['fill_val'] in kp_inst['Kp'].values + + del kp_inst, combo_in + return + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestSWAp(object): + """Test class for Ap methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + inst_dict = {'num_samples': 10} + self.test_inst = gdm.Instrument('gdm', 'testing', **inst_dict) + test_time = gdm.instruments.gdm_testing._test_dates[''][''] + + load_kwargs = {'date': test_time} + self.test_inst.load(**load_kwargs) + + # Create 3 hr Ap data + self.test_inst[self.test_inst.index.name] = pds.DatetimeIndex(data=[ + test_time + pds.DateOffset(hours=3 * i) for i in range(10)]) + self.test_inst['3hr_ap'] = np.array([0, 2, 3, 4, 5, 6, 7, 9, 12, 15]) + self.test_inst['3hr_ap'].attrs.update({ + 'units': '', 'name': 'ap', + 'desc': "3-hour ap (equivalent range) index", 'min_val': 0, + 'max_val': 400, 'fill_val': np.nan, 'notes': 'test ap'}) + return + + def teardown_method(self): + """Clean up previous testing.""" + del self.test_inst + return + + def test_calc_daily_Ap(self): + """Test daily Ap calculation.""" + + kp_ap.calc_daily_Ap(self.test_inst) + + assert 'Ap' in self.test_inst.variables + assert len(self.test_inst['Ap'].attrs.keys()) > 0 + + # Test unfilled values (full days) + assert np.all(self.test_inst['Ap'][:8].min() == 4.5) + + # Test fill values (partial days) + assert np.all(np.isnan(self.test_inst['Ap'][8:])) + return + + def test_calc_daily_Ap_w_running(self): + """Test daily Ap calculation with running mean.""" + + kp_ap.calc_daily_Ap(self.test_inst, running_name="running_ap") + + assert 'Ap' in self.test_inst.variables + assert len(self.test_inst['Ap'].attrs.keys()) > 0 + assert 'running_ap' in self.test_inst.variables + assert len(self.test_inst['running_ap'].attrs.keys()) > 0 + + # Test unfilled values (full days) + assert np.all(self.test_inst['Ap'][:8].min() == 4.5) + assert np.all(self.test_inst['running_ap'][6:].min() == 4.5) + + # Test fill values (partial days) + assert np.all(np.isnan(self.test_inst['Ap'][8:])) + assert np.all(np.isnan(self.test_inst['running_ap'][:6])) + return + + @pytest.mark.parametrize("inargs,vmsg", [ + (["no"], "bad 3-hourly ap variable name"), + (["3hr_ap", "3hr_ap"], "daily Ap variable name already exists")]) + def test_calc_daily_Ap_bad_3hr(self, inargs, vmsg): + """Test bad inputs raise ValueError for daily Ap calculation. + + Parameters + ---------- + inargs : list + Input arguements that should raise a ValueError + vmsg : str + Expected ValueError message + + """ + + with pytest.raises(ValueError) as verr: + kp_ap.calc_daily_Ap(self.test_inst, *inargs) + + assert str(verr).find(vmsg) >= 0 + return + + @pytest.mark.parametrize("ap,out", [(0, 0), (1, 0), (153, 7), (-1, None), + (460, None), (np.nan, None), + (np.inf, None), (-np.inf, None)]) + def test_round_ap(self, ap, out): + """Test `round_ap` returns expected value for successes and failures. + + Parameters + ---------- + ap : float + Input ap + out : float or NoneType + Expected output kp or None to use fill_value + + """ + + fill_value = -47.0 + if out is None: + out = fill_value + + assert out == kp_ap.round_ap(ap, fill_val=fill_value) + return diff --git a/GeospaceDataManagement/tests/test_sw_methods_lisird.py b/GeospaceDataManagement/tests/test_sw_methods_lisird.py new file mode 100644 index 0000000..a999705 --- /dev/null +++ b/GeospaceDataManagement/tests/test_sw_methods_lisird.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- +"""Tests for the LISIRD functions.""" + +import datetime as dt +import logging +import pytest + +try: + from GeospaceDataManagement.instruments.sw_methods import lisird + from GeospaceDataManagement import test_data_path + no_sw = False +except ImportError: + no_sw = True + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestLISIRDFunctions(object): + """Unit tests for LISIRD functions.""" + + def setup_method(self): + """Create the test environment.""" + self.in_args = [[dt.datetime(2001, 1, 1)], test_data_path, 'test_', + '%Y-%m-%d', 'sorce_mg_index', + dt.timedelta(seconds=86399)] + return + + def teardown_method(self): + """Clean up the test environment.""" + + del self.in_args + return + + def test_download_empty_file(self, caplog): + """Test a logger warning is raised when no data is found.""" + + with caplog.at_level(logging.WARNING, logger='GeospaceDataManagement'): + lisird.download(*self.in_args) + + # Test the warning + captured = caplog.text + assert captured.find('no data for') >= 0 + return + + def test_download_bad_fill_columns(self): + """Test raises KeyError with unexpected column names from fill_vals.""" + + self.in_args[0][0] += dt.timedelta(weeks=160) + + with pytest.raises(KeyError) as kerr: + lisird.download(*self.in_args, fill_vals={"NOPE": -999.0}) + + assert str(kerr).find('unknown fill value variable name supplied') >= 0 + return diff --git a/GeospaceDataManagement/tests/test_sw_methods_norp.py b/GeospaceDataManagement/tests/test_sw_methods_norp.py new file mode 100644 index 0000000..d747185 --- /dev/null +++ b/GeospaceDataManagement/tests/test_sw_methods_norp.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# Full license can be found in License.md +# Full author list can be found in CITATION.cff +# +# ---------------------------------------------------------------------------- +# Original Authors: pysat development team, (c) 2020 pysat +# +# Modified 2026+ +# This is a U.S. government work and not under copyright protection in the U.S. +# ---------------------------------------------------------------------------- +"""Integration and unit test suite for NoRP methods.""" + +import pytest + +try: + from GeospaceDataManagement.instruments.sw_methods import norp as mm_norp + no_sw = False +except ImportError: + no_sw = True + + +@pytest.mark.skipif(no_sw, reason="Space Weather test only") +class TestNoRPMethods(object): + """Test class for NoRP methods.""" + + def setup_method(self): + """Create a clean testing setup.""" + self.out = None + return + + def teardown_method(self): + """Clean up previous testing setup.""" + del self.out + return + + def test_acknowledgements(self): + """Test the NoRP acknowledgements.""" + self.out = mm_norp.acknowledgements() + assert self.out.find('NoRP') >= 0 + return + + @pytest.mark.parametrize('name,tag', [('rf', 'daily')]) + def test_references(self, name, tag): + """Test the references for a NoRP instrument. + + Parameters + ---------- + name : str + Instrument name + tag : str + Instrument tag + + """ + self.out = mm_norp.references(name, tag) + assert self.out.find('Toyokawa Observatory') > 0 + return + + def test_references_bad_name(self): + """Test the references raise an informative error for bad instrument.""" + with pytest.raises(KeyError) as kerr: + mm_norp.references('ace', 'sis') + + assert str(kerr.value).find('ace') >= 0, \ + "Unknown KeyError message: {:}".format(kerr.value) + return diff --git a/GeospaceDataManagement/utils/_core.py b/GeospaceDataManagement/utils/_core.py index 8589cc6..db51dfa 100644 --- a/GeospaceDataManagement/utils/_core.py +++ b/GeospaceDataManagement/utils/_core.py @@ -291,7 +291,7 @@ def fmt_output_in_cols(out_strs, ncols=3, max_num=6, lpad=None): return output -def generate_instrument_list(inst_loc, user_info=None): +def generate_instrument_list(inst_loc, user_info=None, subset="all"): """Iterate through and classify instruments in a given subpackage. Parameters @@ -303,6 +303,8 @@ def generate_instrument_list(inst_loc, user_info=None): Nested dictionary with user and password info for instrument module name. If None, no user or password is assumed. (default=None) EX: user_info = {'jro_isr': {'user': 'myname', 'password': 'email'}} + subset : str + Specify a subset of the instruments include (default='all') Returns ------- @@ -324,7 +326,13 @@ def generate_instrument_list(inst_loc, user_info=None): """ - instrument_names = inst_loc.__all__ + subset_attr = "__{:s}__".format(subset) + if not hasattr(inst_loc, subset_attr): + gdm.logger.critical('unknown subset of Instruments: {:}'.format(subset)) + instrument_names = [] + else: + instrument_names = getattr(inst_loc, subset_attr) + instrument_download = [] instrument_optional_load = [] instrument_no_download = [] From f1a0d9d597e0683ed40ecc90eb8deb93c6ea4dd9 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 16:37:06 -0400 Subject: [PATCH 18/54] BUG: fixed instrument meta data assignment Fixed the meta data assignment attempt to only go forward if the data variable exists. --- GeospaceDataManagement/_instrument.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/GeospaceDataManagement/_instrument.py b/GeospaceDataManagement/_instrument.py index c109415..364ec55 100644 --- a/GeospaceDataManagement/_instrument.py +++ b/GeospaceDataManagement/_instrument.py @@ -965,8 +965,9 @@ def __setitem__(self, key, new_data): for keyname in key: self.data[keyname] = in_data[keyname] - # Attach meta data - self.data[key].attrs.update(new) + # Attach meta data, if it exists + if len(new) > 0: + self.data[key].attrs.update(new) return From 4aa2348da088a17bb9f1c7a3f30cded388dfdcea Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 16:37:20 -0400 Subject: [PATCH 19/54] DOC: updated docstring Added missing section to docstring. --- GeospaceDataManagement/utils/time.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/GeospaceDataManagement/utils/time.py b/GeospaceDataManagement/utils/time.py index 6bbb5e3..c261777 100644 --- a/GeospaceDataManagement/utils/time.py +++ b/GeospaceDataManagement/utils/time.py @@ -295,7 +295,13 @@ def create_datetime_index(year=None, month=None, day=None, uts=None): Returns ------- - Pandas timeseries index. + index : pds.DatetimeIndex + Pandas timeseries index + + Raises + ------ + ValueError + If provided inputs are incorrectly formatted Notes ----- From 304df028a81d7c259934b68bd0ee17b82e7a25a4 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 16:37:38 -0400 Subject: [PATCH 20/54] DOC: updated changelog Added as summary of the changes to the change log. --- CHANGELOG.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e882017..dafc5d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ Change Log All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). -[0.0.1] - 2026-10-XX +[0.0.2] - 2026-10-XX +-------------------- +* ENH: + - Added Space Weather instruments as an optional installation + - Allow `generate_instrument_list` to include only a subset of the instruments +* BUG: + - Fixed assignment issue in Instrument, where meta data could not be added if + a variable did not exist +* DOC: + - Added missing sections to docstrings + +[0.0.1] - 2026-09-25 -------------------- Initial Release From 1735f05fa6ad9f8481de80179c0c60ab444ae538 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 16:49:55 -0400 Subject: [PATCH 21/54] STY: updated import order Updated import order and added a missing docstring. --- GeospaceDataManagement/instruments/sw_methods/__init__.py | 2 ++ GeospaceDataManagement/tests/test_instruments.py | 7 +++---- GeospaceDataManagement/tests/test_methods_general.py | 2 +- GeospaceDataManagement/tests/test_sw_instruments.py | 2 +- GeospaceDataManagement/tests/test_sw_methods_f107.py | 2 +- GeospaceDataManagement/tests/test_sw_methods_kp.py | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/GeospaceDataManagement/instruments/sw_methods/__init__.py b/GeospaceDataManagement/instruments/sw_methods/__init__.py index 733b7ad..9f68190 100644 --- a/GeospaceDataManagement/instruments/sw_methods/__init__.py +++ b/GeospaceDataManagement/instruments/sw_methods/__init__.py @@ -1,3 +1,5 @@ +"""Imports for the Space Weather instrument methods.""" + try: from GeospaceDataManagement.instruments.sw_methods import ace # noqa F401 from GeospaceDataManagement.instruments.sw_methods import auroral_electrojet # noqa F401 diff --git a/GeospaceDataManagement/tests/test_instruments.py b/GeospaceDataManagement/tests/test_instruments.py index 3254d70..3e4b955 100644 --- a/GeospaceDataManagement/tests/test_instruments.py +++ b/GeospaceDataManagement/tests/test_instruments.py @@ -28,10 +28,8 @@ import pytest import GeospaceDataManagement as gdm -from GeospaceDataManagement.utils import generate_instrument_list import GeospaceDataManagement.tests.classes.cls_instrument_library as clslib -from GeospaceDataManagement.tests.classes.cls_instrument_library import \ - InstLibTests +from GeospaceDataManagement.utils import generate_instrument_list # Optional code to pass through user and password info to test instruments # dict, keyed by the Instrument, with a list of usernames and passwords @@ -50,7 +48,7 @@ no_sw = False if len(sw_instruments['names']) > 0 else True -class TestInstruments(InstLibTests): +class TestInstruments(clslib.InstLibTests): """Main class for instrument tests. Notes @@ -60,6 +58,7 @@ class TestInstruments(InstLibTests): once, all groups of instruments must be tested in this class """ + # Tests specifically for the GeospaceDataMangement test instruments @pytest.mark.parametrize("inst_dict", test_instruments['download']) @pytest.mark.parametrize("kwarg,output", [(None, 0.0), diff --git a/GeospaceDataManagement/tests/test_methods_general.py b/GeospaceDataManagement/tests/test_methods_general.py index e4b9938..4daeaa2 100644 --- a/GeospaceDataManagement/tests/test_methods_general.py +++ b/GeospaceDataManagement/tests/test_methods_general.py @@ -15,8 +15,8 @@ """Unit tests for the general instrument methods.""" import datetime as dt -from os import path import numpy as np +from os import path import pandas as pds import pytest diff --git a/GeospaceDataManagement/tests/test_sw_instruments.py b/GeospaceDataManagement/tests/test_sw_instruments.py index 2e5dbd5..a051a57 100644 --- a/GeospaceDataManagement/tests/test_sw_instruments.py +++ b/GeospaceDataManagement/tests/test_sw_instruments.py @@ -29,8 +29,8 @@ # Import the instrument package and test classes import GeospaceDataManagement as gdm -from GeospaceDataManagement.utils import generate_instrument_list import GeospaceDataManagement.tests.classes.cls_instrument_library as clslib +from GeospaceDataManagement.utils import generate_instrument_list from GeospaceDataManagement.utils import testing diff --git a/GeospaceDataManagement/tests/test_sw_methods_f107.py b/GeospaceDataManagement/tests/test_sw_methods_f107.py index 2f39c4f..3f9743a 100644 --- a/GeospaceDataManagement/tests/test_sw_methods_f107.py +++ b/GeospaceDataManagement/tests/test_sw_methods_f107.py @@ -15,8 +15,8 @@ import datetime as dt import numpy as np -import pytest import pandas as pds +import pytest import xarray as xr import GeospaceDataManagement as gdm diff --git a/GeospaceDataManagement/tests/test_sw_methods_kp.py b/GeospaceDataManagement/tests/test_sw_methods_kp.py index 6923f11..681d76c 100644 --- a/GeospaceDataManagement/tests/test_sw_methods_kp.py +++ b/GeospaceDataManagement/tests/test_sw_methods_kp.py @@ -20,8 +20,8 @@ import GeospaceDataManagement as gdm try: - from GeospaceDataManagement.instruments.sw_methods import kp_ap from GeospaceDataManagement.instruments import sw_kp + from GeospaceDataManagement.instruments.sw_methods import kp_ap no_sw = False except ImportError: no_sw = True From 61436281db84870f58996a244cf2f6b0b3972cbf Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 16:52:21 -0400 Subject: [PATCH 22/54] STY: changed import order Changed more import ordering. --- GeospaceDataManagement/tests/test_sw_methods_f107.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeospaceDataManagement/tests/test_sw_methods_f107.py b/GeospaceDataManagement/tests/test_sw_methods_f107.py index 3f9743a..0122341 100644 --- a/GeospaceDataManagement/tests/test_sw_methods_f107.py +++ b/GeospaceDataManagement/tests/test_sw_methods_f107.py @@ -22,8 +22,8 @@ import GeospaceDataManagement as gdm try: - from GeospaceDataManagement.instruments.sw_methods import f107 as mm_f107 from GeospaceDataManagement.instruments import sw_f107 + from GeospaceDataManagement.instruments.sw_methods import f107 as mm_f107 no_sw = False except ImportError: no_sw = True From 7bfb9e3bf093321addff526647140ae37ea32e47 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 17:53:15 -0400 Subject: [PATCH 23/54] TST: added tests for space weather Added tests for GDM with and without the space weather modules. --- .github/workflows/main.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5dbad33..6dd756b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,6 +16,7 @@ jobs: matrix: os: ["ubuntu-latest", "windows-latest", "macos-latest"] python-version: ["3.10", "3.11", "3.13", "3.14"] + options: ["standard", "space_weather"] numpy_ver: ["latest"] test_config: ["latest"] include: @@ -45,7 +46,7 @@ jobs: xarray_ver: "2022.12.0" os: "ubuntu-22.04" test_config: "Min" - name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }} + name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }} for ${{ matrix.options }} runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v6 @@ -87,6 +88,10 @@ jobs: if: ${{ matrix.test_config == 'latest'}} run: pip install .[test] + - name: Install extra dependencies + if: ${{ !startsWith(matrix.options, 'standard') }} + run: pip install .[${{ matrix.options }}] + - name: Set up the data directory run: | mkdir gdmData From 7e6788b53c7fb3358e3712fc3aeb315f67a81f08 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 17:53:49 -0400 Subject: [PATCH 24/54] BUG: fixed instrument assignment for Python 3.14 Xarray and numpy changed the way data assignment works, updated in Instrument. --- GeospaceDataManagement/_instrument.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/GeospaceDataManagement/_instrument.py b/GeospaceDataManagement/_instrument.py index 364ec55..72149cd 100644 --- a/GeospaceDataManagement/_instrument.py +++ b/GeospaceDataManagement/_instrument.py @@ -890,9 +890,9 @@ def __setitem__(self, key, new_data): self.data[var_key].loc[indict] = in_data except (TypeError, KeyError, IndexError): # Input is probably an integer, get the desired data - sel_dat = self.data.isel(indict) - self.data[var_key].loc[{ikey: sel_dat[ikey].values - for ikey in indict.keys()}] = in_data + sel_dat = self.data[var_key].values.copy() + sel_dat[ind_keys] = in_data + self.data[var_key].values = sel_dat # Finish updating by adding meta data self.data[var_key].attrs.update(new) From 80a283948dcec2ac59735ae12a1c9bb6142f9fe1 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 17:54:26 -0400 Subject: [PATCH 25/54] TST: removed pysatSpaceWeather Removed pysatSpaceWeather for a CI test, using the optional space weather install instead. --- .../tests/test_utils_files.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/GeospaceDataManagement/tests/test_utils_files.py b/GeospaceDataManagement/tests/test_utils_files.py index b2860b1..86309d3 100644 --- a/GeospaceDataManagement/tests/test_utils_files.py +++ b/GeospaceDataManagement/tests/test_utils_files.py @@ -29,6 +29,13 @@ from GeospaceDataManagement.utils import files as futils from GeospaceDataManagement.utils import testing +try: + from GeospaceDataManagement.instruments import ace_sis + from GeospaceDataManagement.instruments import sw_f107 + no_sw = False +except ImportError: + no_sw = True + class TestConstructSearchstring(object): """Unit tests for the `construct_searchstring_from_format` function.""" @@ -550,15 +557,13 @@ def test_cycle_selection(self): return +@pytest.mark.skipif(no_sw, reason="Space Weather test only") class TestFileDirectoryTranslations(CICleanSetup): """Unit tests for file directory setup.""" def setup_method(self): """Set up the unit test environment for each method.""" - # Module is only required for testing installations on CI servers - import pysatSpaceWeather - # Create clean environment on the CI server CICleanSetup.setup_method(self) reload(gdm) @@ -570,7 +575,7 @@ def setup_method(self): # Create several gdm.SpaceWeather instruments and download data. # We want to start with a setup that covers general cases a user may # have. - gdm.utils.registry.register_by_module(pysatSpaceWeather.instruments) + gdm.utils.registry.register_by_module(gdm.instruments) self.insts = [] self.insts_dates = [] @@ -578,13 +583,13 @@ def setup_method(self): # Data by day, ACE SIS data self.insts.append(gdm.Instrument('ace', 'sis', tag='historic')) - test_dates = pysatSpaceWeather.instruments.ace_sis._test_dates + test_dates = ace_sis._test_dates self.insts_dates.append([test_dates['']['historic']] * 2) self.insts_kwargs.append({}) # Data with date mangling, regular F10.7 data, stored monthly self.insts.append(gdm.Instrument('sw', 'f107', tag='historic')) - test_dates = pysatSpaceWeather.instruments.sw_f107._test_dates + test_dates = sw_f107._test_dates self.insts_dates.append([test_dates['']['historic'], test_dates['']['historic'] + dt.timedelta(weeks=52)]) From 2f055a211e74bb429dc1e90faf7d17812cef56e7 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 17:55:01 -0400 Subject: [PATCH 26/54] BUG: attempt to fix an I/O bug An attempt to fix bad integer coersion in the CI tests. --- GeospaceDataManagement/utils/io.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeospaceDataManagement/utils/io.py b/GeospaceDataManagement/utils/io.py index 777e849..3681b4f 100644 --- a/GeospaceDataManagement/utils/io.py +++ b/GeospaceDataManagement/utils/io.py @@ -288,7 +288,7 @@ def inst_to_netcdf(inst, fname, base_instrument=None, unit_label='units', xr_data = inst.data.copy() # Convert datetime values into integers and then add meta data - xr_data[inst.index.name] = unix_time.astype(np.int64) + xr_data[inst.index.name] = ((inst.index.name), unix_time.astype(np.int64)) xr_data[inst.index.name] = xr_data[inst.index.name].assign_attrs(epoch_meta) # Set the standard encoding values From 35317f0fee8521a6716efc777606565f6306cc38 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 17:55:49 -0400 Subject: [PATCH 27/54] BUG: removed tab from yaml Removed a tab from the yaml. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6dd756b..4289b21 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: matrix: os: ["ubuntu-latest", "windows-latest", "macos-latest"] python-version: ["3.10", "3.11", "3.13", "3.14"] - options: ["standard", "space_weather"] + options: ["standard", "space_weather"] numpy_ver: ["latest"] test_config: ["latest"] include: From e78d186f043e6a89ad2e1f92e74256544867e94a Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 30 Sep 2026 17:59:37 -0400 Subject: [PATCH 28/54] BUG: add options to special cases Added the matrix 'options' value for the various specific test cases. --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4289b21..ae12274 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,11 +28,13 @@ jobs: xarray_ver: "2024.5.0" os: ubuntu-latest test_config: "SPEC0000" + options: "standard" # Operational compliance settings - python-version: "3.12" numpy_ver: "2.0.0" os: "ubuntu-22.04" test_config: "Ops" + options: "space_weather" # Minimum version settings - python-version: "3.10" dask_ver: "2022.12.1" @@ -46,6 +48,7 @@ jobs: xarray_ver: "2022.12.0" os: "ubuntu-22.04" test_config: "Min" + options: "standard" name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }} for ${{ matrix.options }} runs-on: ${{ matrix.os }} steps: From 5fa379b20a98456f20975044d1402fffe39ebb99 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Thu, 1 Oct 2026 13:37:23 -0400 Subject: [PATCH 29/54] BUG: fixed test to assign a different value Changed the unit test to assign a value not in the data set already, to ensure the tests do not pass on accident. --- .../tests/test_instrument.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/GeospaceDataManagement/tests/test_instrument.py b/GeospaceDataManagement/tests/test_instrument.py index 5aa78ae..26fb93c 100644 --- a/GeospaceDataManagement/tests/test_instrument.py +++ b/GeospaceDataManagement/tests/test_instrument.py @@ -325,13 +325,21 @@ def test_setting_partial_data_by_2d_indices_and_name(self, changed, fixed): """ + # Create a new 2D data variable self.testInst.load(self.ref_time.year, self.ref_doy) self.testInst['doubleProfile'] = 2. * self.testInst['profiles'] - self.testInst[changed, changed, 'doubleProfile'] = 0 - assert np.all(np.all(self.testInst[fixed, fixed, 'doubleProfile'] - == 2. * self.testInst[fixed, 'profiles'])) - assert np.all(np.all(self.testInst[changed, changed, 'doubleProfile'] - == 0)) + + # Ensure all the values are positive, so that we don't accidentally pass + assert np.all(np.sign(self.testInst['doubleProfile'].values) >= 0), \ + 'Re-asses assigment value in this test to ensure robustness' + + # Re-assign some values to negative and evaluate the assignment + fill_val = -47 + self.testInst[changed, changed, 'doubleProfile'] = fill_val + assert np.all(self.testInst[fixed, 'doubleProfile'].values + == 2. * self.testInst[fixed, 'profiles'].values).all() + assert np.all(self.testInst[changed, changed, 'doubleProfile'].values + == fill_val).all() return @pytest.mark.parametrize("data,target", From 1906947550438263b5701238b1f692fe93b07568 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Thu, 1 Oct 2026 13:37:55 -0400 Subject: [PATCH 30/54] BUG: updated data assignment Fixed the new data assignment method so that the index method mirrors the location method. --- GeospaceDataManagement/_instrument.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/GeospaceDataManagement/_instrument.py b/GeospaceDataManagement/_instrument.py index 72149cd..ea4f5a2 100644 --- a/GeospaceDataManagement/_instrument.py +++ b/GeospaceDataManagement/_instrument.py @@ -889,10 +889,24 @@ def __setitem__(self, key, new_data): # Try loading as values self.data[var_key].loc[indict] = in_data except (TypeError, KeyError, IndexError): - # Input is probably an integer, get the desired data - sel_dat = self.data[var_key].values.copy() - sel_dat[ind_keys] = in_data - self.data[var_key].values = sel_dat + # Attempt to use loc, which will currently fail for Python 3.14 + sel_dict = { + self.data[var_key].dims[i]: self.data[var_key][ + self.data[var_key].dims[i]].values[kind] + for i, kind in enumerate(ind_keys)} + + try: + self.data[var_key].loc[sel_dict] = in_data + except (KeyError, IndexError, TypeError): + # Input is probably an integer, get the desired data + # through array assignment. Because the original behaviour + # used indices for each dimension instead of paired indices, + # we invoke meshgrid to get the full range of index + # combinations + sel_dat = self.data[var_key].values.copy() + sel_ind = np.meshgrid(ind_keys) + sel_dat[sel_ind] = in_data + self.data[var_key].values = sel_dat # Finish updating by adding meta data self.data[var_key].attrs.update(new) From 65ef1292d9973240a12b0f4db0dfa64fa4be6d81 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Thu, 1 Oct 2026 13:39:54 -0400 Subject: [PATCH 31/54] BUG: removed tabs from yaml Removed tabs from the yaml. --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ae12274..70c5089 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,13 +28,13 @@ jobs: xarray_ver: "2024.5.0" os: ubuntu-latest test_config: "SPEC0000" - options: "standard" + options: "standard" # Operational compliance settings - python-version: "3.12" numpy_ver: "2.0.0" os: "ubuntu-22.04" test_config: "Ops" - options: "space_weather" + options: "space_weather" # Minimum version settings - python-version: "3.10" dask_ver: "2022.12.1" @@ -48,7 +48,7 @@ jobs: xarray_ver: "2022.12.0" os: "ubuntu-22.04" test_config: "Min" - options: "standard" + options: "standard" name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }} for ${{ matrix.options }} runs-on: ${{ matrix.os }} steps: From 88329875c5d2809c50f92035f48caa35c6632fea Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 11:14:47 -0400 Subject: [PATCH 32/54] BUG: xarray needs netcdf4 It turns out that xarray needs netcdf4 to do netcdf4 things and doesn't install it by default. --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 71551a4..687c6e2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,6 +41,7 @@ keywords = [ ] dependencies = [ "dask >= 2022.12.1", + "netCDF4 >= 1.5.6", "numpy >= 1.21.6", "pandas >= 1.4.2", "portalocker >= 2.0", From b35b2224304516922f3354604ce900ad983cff6f Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 11:18:30 -0400 Subject: [PATCH 33/54] BUG: fixed test Fixed test that looks for a specific output string. --- GeospaceDataManagement/tests/test_params.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeospaceDataManagement/tests/test_params.py b/GeospaceDataManagement/tests/test_params.py index bb89fa0..b0f978e 100644 --- a/GeospaceDataManagement/tests/test_params.py +++ b/GeospaceDataManagement/tests/test_params.py @@ -228,7 +228,7 @@ def test_settings_file_must_be_present(self, capsys): # Ensure we can't create a parameters file without valid .json testing.eval_bad_input( Parameters, OSError, - 'GeospaceDataParameters is unable to locate a user settings') + 'GeospaceDataManagement is unable to locate a user settings') shutil.move(os.path.join(self.root, 'gdm_settings_moved.json'), os.path.join(self.root, 'gdm_settings.json')) From 13226108b3556ba23476bc25e91a1f8b469969f0 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 11:44:41 -0400 Subject: [PATCH 34/54] BUG: added error type to except Added another potential way to trigger the alternate setting method. --- GeospaceDataManagement/_instrument.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeospaceDataManagement/_instrument.py b/GeospaceDataManagement/_instrument.py index ea4f5a2..d1a3351 100644 --- a/GeospaceDataManagement/_instrument.py +++ b/GeospaceDataManagement/_instrument.py @@ -897,7 +897,7 @@ def __setitem__(self, key, new_data): try: self.data[var_key].loc[sel_dict] = in_data - except (KeyError, IndexError, TypeError): + except (ValueError, KeyError, IndexError, TypeError): # Input is probably an integer, get the desired data # through array assignment. Because the original behaviour # used indices for each dimension instead of paired indices, From df737582bbe717fed057104de7010344bc54c610 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 11:44:59 -0400 Subject: [PATCH 35/54] BUG: added test mark Ensure test is run after data is downloaded. --- GeospaceDataManagement/tests/test_instruments.py | 1 + 1 file changed, 1 insertion(+) diff --git a/GeospaceDataManagement/tests/test_instruments.py b/GeospaceDataManagement/tests/test_instruments.py index 3e4b955..97f392f 100644 --- a/GeospaceDataManagement/tests/test_instruments.py +++ b/GeospaceDataManagement/tests/test_instruments.py @@ -226,6 +226,7 @@ def test_clean_with_warnings(self, clean_level, change, warn_type, # Tests specifically for the Space Weather instruments @pytest.mark.skipif(no_sw, reason="Space Weather test only") + @pytest.mark.second def test_45day_forecast_data_length(self): """Test that the downloaded 45-day forecasts load 45 days of data.""" # Initalize the desired instrument parameters From 694071d832f671bf15a05e427e6e28d323f061cf Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 12:04:15 -0400 Subject: [PATCH 36/54] MAINT: removed unused lines Removed support for older versions of Python, where `importlib` didn't have `resources`. --- GeospaceDataManagement/__init__.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/GeospaceDataManagement/__init__.py b/GeospaceDataManagement/__init__.py index d36dff5..aef616d 100644 --- a/GeospaceDataManagement/__init__.py +++ b/GeospaceDataManagement/__init__.py @@ -43,15 +43,9 @@ gdm_dir = os.path.join(home_dir, '.gdm') # Set directory for test data -if resources is None: - test_data_path = os.path.join(os.path.realpath(os.path.dirname(__file__)), - 'tests', 'test_data') - citation = os.path.join(os.path.realpath(os.path.dirname(__file__)), - 'citation.txt') -else: - test_data_path = str(resources.files(__package__).joinpath('tests', - 'test_data')) - citation = str(resources.files(__package__).joinpath('citation.txt')) +test_data_path = str(resources.files(__package__).joinpath('tests', + 'test_data')) +citation = str(resources.files(__package__).joinpath('citation.txt')) # Create a .gdm directory or parameters file if one doesn't exist. settings_file = os.path.join(gdm_dir, 'gdm_settings.json') From ab37b69ed3b407456c3ac646f4db29763ebe6015 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 12:04:42 -0400 Subject: [PATCH 37/54] BUG: added debug statements Added some debug statements to the docs installation. --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a0e4f6d..981a5b0 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,7 +29,7 @@ jobs: - name: Set up the data directory run: | mkdir gdmData - python -c "import GeospaceDataManagement as gdm; gdm.params['data_dirs'] = './gdmData'; print(gdm.params)" + python -c "import GeospaceDataManagement as gdm; gdm.params['data_dirs'] = './gdmData'; print(gdm.params); print(gdm.citation); import os; os.path.isfile(gdm.citation)" ls ~/.gdm - name: Check documentation build From 7593c0a0f0632af7ab3fd5f40387a5a6619ea39f Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 12:17:07 -0400 Subject: [PATCH 38/54] BUG: use explicit multiplication Eschew the use of in-place operations. --- GeospaceDataManagement/tests/test_sw_methods_ace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeospaceDataManagement/tests/test_sw_methods_ace.py b/GeospaceDataManagement/tests/test_sw_methods_ace.py index a425f06..96514db 100644 --- a/GeospaceDataManagement/tests/test_sw_methods_ace.py +++ b/GeospaceDataManagement/tests/test_sw_methods_ace.py @@ -89,7 +89,7 @@ def teardown_method(self): def test_ace_swepam_hourly_omni_norm(self): """Test ACE SWEPAM conversion to OMNI hourly normalized standards.""" - self.testInst['slt'] *= 400.0 + self.testInst['slt'] = 400.0 * self.testInst['slt'] mm_ace.ace_swepam_hourly_omni_norm(self.testInst, speed_key='slt', dens_key='mlt', temp_key='dummy3') From 7ce533ccf0454ffe061da31708c12a89c7d1583f Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 12:17:31 -0400 Subject: [PATCH 39/54] BUG: remove untestable test Temporarily skip an untestable unit test. --- GeospaceDataManagement/tests/test_utils_files.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/GeospaceDataManagement/tests/test_utils_files.py b/GeospaceDataManagement/tests/test_utils_files.py index 86309d3..1a2ac34 100644 --- a/GeospaceDataManagement/tests/test_utils_files.py +++ b/GeospaceDataManagement/tests/test_utils_files.py @@ -29,12 +29,8 @@ from GeospaceDataManagement.utils import files as futils from GeospaceDataManagement.utils import testing -try: - from GeospaceDataManagement.instruments import ace_sis - from GeospaceDataManagement.instruments import sw_f107 - no_sw = False -except ImportError: - no_sw = True +# TODO(#6): update to use alternate package instruments when one exists. +no_alt_package = True class TestConstructSearchstring(object): @@ -557,13 +553,15 @@ def test_cycle_selection(self): return -@pytest.mark.skipif(no_sw, reason="Space Weather test only") +@pytest.mark.skipif(no_alt_package, reason="Test for alterate dir structure") class TestFileDirectoryTranslations(CICleanSetup): """Unit tests for file directory setup.""" def setup_method(self): """Set up the unit test environment for each method.""" + # TODO(#6): update to use alternate package instruments when one + # exists. # Create clean environment on the CI server CICleanSetup.setup_method(self) reload(gdm) @@ -581,12 +579,16 @@ def setup_method(self): self.insts_dates = [] self.insts_kwargs = [] + # TODO(#6): update to use alternate package instruments when one + # exists. # Data by day, ACE SIS data self.insts.append(gdm.Instrument('ace', 'sis', tag='historic')) test_dates = ace_sis._test_dates self.insts_dates.append([test_dates['']['historic']] * 2) self.insts_kwargs.append({}) + # TODO(#6): update to use alternate package instruments when one + # exists. # Data with date mangling, regular F10.7 data, stored monthly self.insts.append(gdm.Instrument('sw', 'f107', tag='historic')) test_dates = sw_f107._test_dates From 6f8bf2b539ebdadc2624cb1f53cebea61f0cbadb Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 12:23:51 -0400 Subject: [PATCH 40/54] STY: remove bad lines Remove lines that require imports in other areas to work. --- GeospaceDataManagement/tests/test_utils_files.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/GeospaceDataManagement/tests/test_utils_files.py b/GeospaceDataManagement/tests/test_utils_files.py index 1a2ac34..5b8400b 100644 --- a/GeospaceDataManagement/tests/test_utils_files.py +++ b/GeospaceDataManagement/tests/test_utils_files.py @@ -583,18 +583,18 @@ def setup_method(self): # exists. # Data by day, ACE SIS data self.insts.append(gdm.Instrument('ace', 'sis', tag='historic')) - test_dates = ace_sis._test_dates - self.insts_dates.append([test_dates['']['historic']] * 2) + # test_dates = ace_sis._test_dates + # self.insts_dates.append([test_dates['']['historic']] * 2) self.insts_kwargs.append({}) # TODO(#6): update to use alternate package instruments when one # exists. # Data with date mangling, regular F10.7 data, stored monthly self.insts.append(gdm.Instrument('sw', 'f107', tag='historic')) - test_dates = sw_f107._test_dates - self.insts_dates.append([test_dates['']['historic'], - test_dates['']['historic'] - + dt.timedelta(weeks=52)]) + # test_dates = sw_f107._test_dates + # self.insts_dates.append([test_dates['']['historic'], + # test_dates['']['historic'] + # + dt.timedelta(weeks=52)]) self.insts_kwargs.append({'freq': 'MS'}) # Download data for all instruments From 0097db43cbc157cd0ae1da1c4407d8447973793e Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 12:30:50 -0400 Subject: [PATCH 41/54] BUG: fixed manifest Fixed the package name in Manifest --- MANIFEST.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MANIFEST.in b/MANIFEST.in index bc30cb3..96ccb22 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,7 +1,7 @@ -recursive-include GeospaceDataManager *.py +recursive-include GeospaceDataManagement *.py include *.md -recursive-include GeospaceDataManager *.txt -recursive-include GeospaceDataManager *.tab +recursive-include GeospaceDataManagement *.txt +recursive-include GeospaceDataManagement *.tab include LICENSE prune docs global-exclude *.pdf From 5b648025f7ee1a527e68590a54828bb2b20ce56e Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 12:35:07 -0400 Subject: [PATCH 42/54] BUG: fixed links Fixed links to correctly locate the GitHub repository. --- CONTRIBUTING.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 664339a..2374374 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,12 +1,12 @@ # Contributing Bug reports, feature suggestions, and other contributions are greatly -appreciated! GeospaceDataManager welcomes both feedback and contributions. +appreciated! GeospaceDataManagement welcomes both feedback and contributions. ## Short version * Submit bug reports, feature requests, and questions at - [GitHub](https://github.com/USNavalResearchLaboratory/GeospaceDataManager/issues) + [GitHub](https://github.com/USNavalResearchLaboratory/GeospaceDataManagement/issues) * Make all pull requests to the ``develop`` branch @@ -23,7 +23,7 @@ easier the question will be to answer. ### Bug reports -When [reporting a bug](https://github.com/GeospaceDataManager/GeospaceDataManager/issues) please include: +When [reporting a bug](https://github.com/GeospaceDataManagement/GeospaceDataManagement/issues) please include: * Your operating system name and version @@ -34,7 +34,7 @@ When [reporting a bug](https://github.com/GeospaceDataManager/GeospaceDataManage ### Feature requests and feedback The best way to send feedback is to file an -[issue](https://github.com/GeospaceDataManager/GeospaceDataManager/issues). +[issue](https://github.com/GeospaceDataManagement/GeospaceDataManagement/issues). If you are proposing a new feature or a change in something that already exists: @@ -45,14 +45,14 @@ If you are proposing a new feature or a change in something that already exists: ## Development -To set up `GeospaceDataManager` for local development: +To set up `GeospaceDataManagement` for local development: -1. [Fork GeospaceDataManager on GitHub](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo). +1. [Fork GeospaceDataManagement on GitHub](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo). 2. Clone your fork locally: ``` - git clone git@github.com:your_name_here/GeospaceDataManager.git + git clone git@github.com:your_name_here/GeospaceDataManagement.git ``` 3. Create a branch for local development: @@ -68,8 +68,8 @@ To set up `GeospaceDataManager` for local development: standard tests. Tests for custom functions should be added to the appropriately named file - in ``GeospaceDataManager/tests``. For example, custom functions for the time - utilities are tested in ``GeospaceDataManager/tests/test_utils_time.py``. If + in ``GeospaceDataManagement/tests``. For example, custom functions for the time + utilities are tested in ``GeospaceDataManagement/tests/test_utils_time.py``. If no test file exists, then you should create one. This testing uses pytest, which will run tests on any Python file in the test directory that starts with ``test``. Classes must begin with ``Test``, and methods must begin with @@ -88,7 +88,7 @@ To set up `GeospaceDataManager` for local development: flake8 . --count --select=D,E,F,H,W --show-source --statistics ``` - Note that GeospaceDataManager uses the `flake-docstrings` and `hacking` + Note that GeospaceDataManagement uses the `flake-docstrings` and `hacking` packages to ensure standards in docstring formatting. 6. Update/add documentation (in ``docs``). Even if you don't think it's @@ -102,7 +102,7 @@ To set up `GeospaceDataManager` for local development: git commit -m "AAA: Brief description of your changes" ``` Where AAA is a standard shorthand for the type of change (e.g., BUG or DOC). - `GeospaceDataManager` follows the [numpy development workflow](https://numpy.org/doc/stable/dev/development_workflow.html), + `GeospaceDataManagement` follows the [numpy development workflow](https://numpy.org/doc/stable/dev/development_workflow.html), see the discussion there for a full list of this shorthand notation. 9. Once you are happy with the local changes, push to GitHub: @@ -114,7 +114,7 @@ To set up `GeospaceDataManager` for local development: 10. Submit a pull request through the GitHub website. Pull requests should be made to the ``develop`` branch. Note that automated tests will be run on GitHub Actions, but these must be initialized by a member of the - GeospaceDataManager team for outside contributors. + GeospaceDataManagement team for outside contributors. ## Pull Request Guidelines @@ -139,7 +139,7 @@ tests on your local system first. ## Project Style Guidelines -In general, GeospaceDataManager follows PEP8 and numpydoc guidelines. Pytest +In general, GeospaceDataManagement follows PEP8 and numpydoc guidelines. Pytest runs the unit and integration tests, flake8 checks for style, and sphinx-build performs documentation tests. However, there are certain additional style elements that have been adopted to ensure the project maintains a consistent @@ -151,8 +151,8 @@ coding style. These include: * Use no more than 80 characters per line * Avoid using Instrument class key attribute names as unrelated variable names: `platform`, `name`, `tag`, and `inst_id` -* The GeospaceDataManager logger is imported into each sub-module and provides - status updates at the info and warning levels (as appropriate) +* The GeospaceDataManagement logger is imported into each sub-module and + provides status updates at the info and warning levels (as appropriate) * Several dependent packages have common nicknames, including: * `import datetime as dt` * `import numpy as np` @@ -166,7 +166,7 @@ coding style. These include: * Use setup_method (or setup_class) and teardown_method (or teardown_class) in test classes * Use pytest parametrize in test classes when appropriate -* Use GeospaceDataManager testing utilities when appropriate +* Use GeospaceDataManagement testing utilities when appropriate * Provide testing class methods with informative failure statements and descriptive, one-line docstrings * Block and inline comments should use proper English grammar and punctuation From f6b6f0b68175590ef6622194124d94a78f9840e8 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 13:13:09 -0400 Subject: [PATCH 43/54] BUG: fixed links Fixed links to use the right organization. --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2374374..ef831f2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,7 +23,7 @@ easier the question will be to answer. ### Bug reports -When [reporting a bug](https://github.com/GeospaceDataManagement/GeospaceDataManagement/issues) please include: +When [reporting a bug](https://github.com/USNavalResearchLaboratory/GeospaceDataManagement/issues) please include: * Your operating system name and version @@ -34,7 +34,7 @@ When [reporting a bug](https://github.com/GeospaceDataManagement/GeospaceDataMan ### Feature requests and feedback The best way to send feedback is to file an -[issue](https://github.com/GeospaceDataManagement/GeospaceDataManagement/issues). +[issue](https://github.com/USNavalResearchLaboratory/GeospaceDataManagement/issues). If you are proposing a new feature or a change in something that already exists: From 37a303a416f41366a79c63b45472a71d7b35c966 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 15:58:31 -0400 Subject: [PATCH 44/54] DOC: add examples Add specific examples using space weather instruments. --- docs/examples.rst | 12 ++++ docs/examples/ex_ace.rst | 86 +++++++++++++++++++++++ docs/examples/ex_f107.rst | 88 +++++++++++++++++++++++ docs/examples/ex_kp.rst | 97 ++++++++++++++++++++++++++ docs/examples/ex_mock_downloads.rst | 104 ++++++++++++++++++++++++++++ docs/examples/ex_mult_downloads.rst | 91 ++++++++++++++++++++++++ docs/examples/ex_sw_init.rst | 47 +++++++++++++ docs/images/ex_ace_omni.png | Bin 0 -> 76939 bytes docs/images/ex_f107_all.png | Bin 0 -> 88244 bytes docs/images/ex_kp_all.png | Bin 0 -> 16015 bytes 10 files changed, 525 insertions(+) create mode 100644 docs/examples.rst create mode 100644 docs/examples/ex_ace.rst create mode 100644 docs/examples/ex_f107.rst create mode 100644 docs/examples/ex_kp.rst create mode 100644 docs/examples/ex_mock_downloads.rst create mode 100644 docs/examples/ex_mult_downloads.rst create mode 100644 docs/examples/ex_sw_init.rst create mode 100644 docs/images/ex_ace_omni.png create mode 100644 docs/images/ex_f107_all.png create mode 100644 docs/images/ex_kp_all.png diff --git a/docs/examples.rst b/docs/examples.rst new file mode 100644 index 0000000..ff6645e --- /dev/null +++ b/docs/examples.rst @@ -0,0 +1,12 @@ +Examples +======== + +Here are some examples that demonstrate how to use various tools and features. + +.. toctree:: + examples/ex_sw_init.rst + examples/ex_f107.rst + examples/ex_kp.rst + examples/ex_ace.rst + examples/ex_mult_downloads.rst + examples/ex_mock_downloads.rst diff --git a/docs/examples/ex_ace.rst b/docs/examples/ex_ace.rst new file mode 100644 index 0000000..bd7c3d0 --- /dev/null +++ b/docs/examples/ex_ace.rst @@ -0,0 +1,86 @@ +.. _exace: + +Make ACE SWEPAM behave like OMNI Data +===================================== + +NASA OMNI data is *the* place to go for solar wind (SW) parameters. However, +this data set is not available in real time. Fortunately, we can use the +`OMNI processing `_ to +normalize the ACE SWEPAM SW proton density and ion temperature. This is +performed using the :py:func:`GeospaceDataManagement.instruments.methods.ace.ace_swepam_hourly_omni_norm` +function. The example below uses historic ACE SWEPAM data so that we can +compare the results to OMNI. + +:: + + + import datetime as dt + import matplotlib as mpl + import matplotlib.pyplot as plt + + import GeospaceDataManagement as gdm + + ace = gdm.Instrument(inst_module=gdm.instruments.ace_swepam, + tag='historic', update_files=True) + + # Add the OMNI conversion routine to the ACE instrument + ace.custom_attach(gdn.instruments.methods.ace.ace_swepam_hourly_omni_norm) + + # Pick a day with a geomagnetic storm + stime = dt.datetime(2014, 3, 26) + + # If needed, download the data + if stime not in ace.files.files.index: + ace.download(start=stime) + + # Load the data + ace.load(date=stime) + + print(ace.variables) + + +This should yield ``Index(['jd', 'sec', 'status', 'sw_proton_dens', +'sw_bulk_speed', 'sw_ion_temp', 'sw_proton_dens_norm', 'sw_ion_temp_norm'], +dtype='object')``. The variables with the ``'norm'`` suffix were added by the +conversion function. Also get the OMNI Data. Now, let's plot the two data sets +together. + +:: + + + fig = plt.figure() + fig.suptitle("L1 ACE and L2 OMNI HRO data for {:}".format(stime.date())) + ax_dens = fig.add_subplot(211) + ax_temp = fig.add_subplot(212) + + ax_dens.plot(ace.index, ace['sw_proton_dens_norm'], 'k-', label='ACE') + ax_dens.plot(omni.index, omni['proton_density'], 'b-', label='OMNI') + ax_temp.plot(ace.index, ace['sw_ion_temp_norm'], 'k-', label='ACE') + ax_temp.plot(omni.index, omni['T'], 'b-', label='OMNI') + ax_temp.set_yscale('log') + ax_dens.xaxis.set_major_formatter(mpl.dates.DateFormatter('')) + ax_temp.xaxis.set_major_formatter(mpl.dates.DateFormatter('%H:%M')) + ax_dens.set_xlim(stime, stime + dt.timedelta(days=1)) + ax_temp.set_xlim(stime, stime + dt.timedelta(days=1)) + ax_temp.set_xlabel('Universal Time (HH:MM)') + ax_dens.set_ylabel(r'SW N$_p$ ({:s})'.format(omni.meta['proton_density', + 'units'])) + ax_temp.set_ylabel(r'SW T$_i$ ({:s})'.format(omni.meta['T', 'units'])) + ax_dens.legend(loc=1, fontsize='medium', ncol=2) + + # If not running in interactive mode + plt.show() + + +This figure shows that the temperature adjustment agrees relatively well, but +that the proton density has a large offset. This descrepency can be attributed +to the data source. The :py:mod:`GeospaceDataManagement.instruments.ace_swepam` +module uses L1 data, while OMNI uses L2 data that has undergone additional +processing. For this time period most of the temperature data is of high +quality in the L2 data, but all the proton density data is flagged for removal. +The ACE L2 data is accessible through CDAWeb or the `ACE database +`_. + +.. image:: ../images/ex_ace_omni.png + :align: center + diff --git a/docs/examples/ex_f107.rst b/docs/examples/ex_f107.rst new file mode 100644 index 0000000..c37b473 --- /dev/null +++ b/docs/examples/ex_f107.rst @@ -0,0 +1,88 @@ +.. _exf107: + +Load F\ :sub:`10.7`\ from Multiple Sources +========================================== + +As shown in :ref:`exswinit`, there are several sources that provide +F\ :sub:`10.7`\ over different time periods. It can be useful to combine these +data sets into a single :py:class:`GeospaceDataManagement.Instrument` object. +This may be done using the +:py:func:`~GeospaceDataManagement.instruments.methods.f107.combine_f107` +function. + +:: + + + import datetime as dt + import matplotlib as mpl + import matplotlib.pyplot as plt + + import GeospaceDataManagement as gdm + + f107_hist = gdm.Instrument(inst_module=gdm.instruments.sw_f107, + tag='historic', update_files=True) + f107_prel = gdm.Instrument(inst_module=gdm.instruments.sw_f107, + tag='prelim', update_files=True) + f107_fore = gdm.Instrument(inst_module=gdm.instruments.sw_f107, + tag='45day', update_files=True) + + # If needed, download the data + f107_hist.download(start=f107_hist.lasp_stime, stop=dt.datetime(2018, 4, 1)) + f107_prel.download(start=f107_hist.files.files.index[-1], + stop=f107_prel.today()) + f107_fore.download(start=f107_fore.today()) + + # Check the downloaded file range for the historic source + print(f107_hist.files.files.index.min(), f107_hist.files.files.index.max()) + + +This should yield ``1947-02-01 00:00:00 2018-04-30 00:00:00``. Now, combine the +data in these :py:class:`GeospaceDataManagement.Instruments` using the +:py:func:`~GeospaceDataManagement.instruments.methods.f107.combine_f107` +function twice, after loading the available data + +:: + + # Load all the data + f107_hist.load(date=f107_hist.lasp_stime, + end_date=f107_hist.files.files.index.max() + + dt.timedelta(days=1)) + f107_prel.load(fname=f107_prel.files.files[0], + stop_fname=f107_prel.files.files[-1]) + f107_fore.load(date=f107_fore.today()) + + # Combine the historic sources for all available times + f107 = gdm.instruments.methods.f107.combine_f107(f107_hist, f107_prel) + + # Combine the 45 day measurements and forecast + f107 = gdm.instruments.methods.f107.combine_f107(f107, f107_fore) + + # Check the combined Instrument index + print(f107.index[0], f107.index[-1]) + + +This print statement yields ``1947-02-14 00:00:00 2022-10-07 00:00:00``, where +the end date is roughly 45 days in the future to account for the forecasted +data. The combined :py:class:`GeospaceDataManagement.Instrument` varialbe, +``f107`` can be used to plot the F\ :sub:`10.7`\ over time. + +:: + + + fig = plt.figure() + ax = fig.add_subplot(111) + + ax.plot(f107.index, f107['f107'], 'k.', ms=1) + ax.xaxis.set_major_formatter(mpl.dates.DateFormatter('%Y')) + ax.xaxis.set_major_locator(mpl.dates.YearLocator(11)) + ax.set_xlim(f107.index[0], f107.index[-1]) + ax.set_xlabel('Universal Time (Year C.E.)') + ax.set_ylabel(r'F$_{10.7}$ (sfu)') + + # If not running in interactive mode + plt.show() + + +.. image:: ../images/ex_f107_all.png + :align: center + diff --git a/docs/examples/ex_kp.rst b/docs/examples/ex_kp.rst new file mode 100644 index 0000000..12b81e8 --- /dev/null +++ b/docs/examples/ex_kp.rst @@ -0,0 +1,97 @@ +.. _exkp: + +Load Kp from Multiple Sources +============================= + +Following from the previous F\ :sub:`10.7`\ example, :ref:`exf107`, the space +weather methods also have a routine to combine several sources of Kp over +different time periods. This may be done using +:py:func:`~GeospaceDataManagement.instruments.methods.kp_ap.combine_kp`. + +:: + + + import datetime as dt + import matplotlib as mpl + import matplotlib.pyplot as plt + + import GeospaceDataManagement as gdm + + kp_his = gdm.Instrument(inst_module=gdm.instruments.sw_kp, + tag='def', update_files=True) + kp_rec = gdm.Instrument(inst_module=gdm.instruments.sw_kp, + tag='recent', update_files=True) + kp_for = gdm.Instrument(inst_module=gdm.instruments.sw_kp, + tag='forecast', update_files=True) + + # Set the time range + stime = dt.datetime(1999, 1, 1) + etime = kp_for.today() + + # If needed, download the data + kp_his.download(start=stime, stop=etime) + kp_rec.download(start=stime, stop=etime) + kp_for.download(start=etime) + + # Combine the Kp sources for all available times + kp = gdm.instruments.methods.kp_ap.combine_kp(kp_his, kp_rec, kp_for, + stime, etime) + + # Check the combined Instrument index + print(kp.index[0], kp.index[-1]) + + +This yields ``1999-01-01 00:00:00 2022-08-23 21:00:00``, where the last date is +your current date (not the date that I created this example). Now, we can take +the combined :py:class:`GeospaceDataManagement.Instrument` can be used to plot +the Kp over time. + +:: + + + fig = plt.figure() + ax = fig.add_subplot(111) + + # Color code data by activity level + ax.bar(kp.data.loc[kp['Kp'] < 4, 'Kp'].index, + kp.data.loc[kp['Kp'] < 4, 'Kp'], color='green', label='Quiet') + ax.bar(kp.data.loc[(kp['Kp'] >= 4) & (kp['Kp'] < 7), 'Kp'].index, + kp.data.loc[(kp['Kp'] >= 4) & (kp['Kp'] < 7), 'Kp'], color='orange', + label='Active') + ax.bar(kp.data.loc[kp['Kp'] >= 7, 'Kp'].index, + kp.data.loc[kp['Kp'] >= 7, 'Kp'], color='firebrick', label='Storm') + + # Format the figure + ax.set_xlim(stime, etime) + ax.set_ylim(0, 9) + ax.xaxis.set_major_formatter(mpl.dates.DateFormatter('%Y')) + ax.set_xlabel('Universal Time (Year C.E.)') + ax.set_ylabel(r'Kp') + ax.legend(loc=1, fontsize='medium') + + # If not running in interactive mode + plt.show() + + +.. image:: ../images/ex_kp_all.png + :align: center + + + +Convert Kp to ap +================ + +The Kp and ap have a well established relationship, which takes the logarithmic +Kp index and converts it to a linear scale that is easier to handle numerically. +The :py:func:`~GeospaceDataManagement.instruments.methods.kp_ap.convert_3hr_kp_to_ap` +converts Kp to ap, as shown below. + +:: + + + gdm.instruments.methods.kp_ap.convert_3hr_kp_to_ap(kp) + + print("Max: {:.1f} -> {:.1f}, Min: {:.1f} -> {:.1f}".format( + kp['Kp'].max(), kp['3hr_ap'].max(), kp['Kp'].min(), kp['3hr_ap'].min())) + +This yields ``Max: 9.0 -> 400.0, Min: 0.0 -> 0.0``. diff --git a/docs/examples/ex_mock_downloads.rst b/docs/examples/ex_mock_downloads.rst new file mode 100644 index 0000000..598ca98 --- /dev/null +++ b/docs/examples/ex_mock_downloads.rst @@ -0,0 +1,104 @@ +.. _exmockdown: + +Mock downloads +============== + +The space weather instruments all allow +:py:class:`~GeospaceDataManagemennt._instrument.Instrument` downloads to +"download" data from a local directory. This allows the user to have full +control over the remote access, while still allowing +:py:mod:`GeospaceDataManagemennt` to handle the data extraction and file +handling. + +When using the mock-download option, :py:mod:`GeospaceDataManagemennt` requires +that you specify the local directory where you have stored the desired data +files. If you don't employ this option, downloads will be attempted from the +remote source. If you do employ this option and the directory is wrong, and +IOError will be raised. If instead the expected file is missing, a logging +Information message will be returned. + +:: + + import GeospaceDataManagement as gdm + + f107 = gdm.Instrument(inst_module=gdm.instruments.sw_f107, tag='45day') + + # 'Download' the data from a local directory + f107.download(start=f107.tomorrow(), mock_download_dir='my/data/directory') + + +These data files must have the same name as the remote file. In instances where +there is no remote filename (e.g., when "downloading" data from LISIRD), the +filename should reflect the internal name used by +:py:mod:`GeospaceDataManagement`. The locations and expected filenames for each +of the Instruments are provided in the table below. In this table, YYYY stands +for the 4-digit year, MM stands for the 2-digit month, and DD stands for the +2-digit day-of-month. QUERY is a placeholder for a index and date dependent +query needed to return the desired data. See the GFZ and LISIRD methods to see +how the queries are constructed. + ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| Remote Location | Filename | Instrument(s) | ++========================================================================+====================================+============================================================================================================================+ +| https://services.swpc.noaa.gov/text/ | 3-day-geomag-forecast.txt | sw-ap-forecast, sw-kp-forecast, sw-stormprob-forecast | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | 3-day-solar-geomag-predictions.txt | sw-ap-preciction, sw-f107-forecast, sw-flare-prediction, sw-kp-preciction, sw-polarcap-prediction, sw-stormprob-prediction | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | 45-day-ap-forecast.txt | sw-f107-45day, sw-ap-45day | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | ace-epam.txt | ace-epam-realtime | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | ace-magnetometer.txt | ace-mag-realtime | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | ace-sis.txt | ace-sis-realtime | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | ace-swepam.txt | ace-swepam-realtime | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | daily-geomagnetic-indices.txt | sw-ap-recent, sw-kp-recent | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | daily-solar-indices.txt | sw-ssn-daily, sw-f107-daily, sw-flare-daily, sw-sbfield-daily | ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| https://sohoftp.nascom.nasa.gov/sdb/ace/daily/ | YYYYMMDD_ace_epam_5m.txt | ace-epam-historic | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | YYYYMMDD_ace_mag_1m.txt | ace-mag-historic | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | YYYYMMDD_ace_sis_5m.txt | ace-sis-historic | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | YYYYMMDD_ace_swepam_1m.txt | ace-swepam-historic | ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| ftp://ftp.swpc.noaa.gov/pub/indices/old_indices | YYYY_DSD.txt | sw-ssn-prelim, sw-f107-prelim, sw-flare-prelim, sw-sbfield-prelim | ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| \https://kp.gfz-potsdam.de/app/json/?QUERY | Fadj_YYYY-MM.txt | sw-f107-now-adj | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | Fobs_YYYY-MM.txt | sw-f107-now-obs | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | Hp30_YYYY-MM.txt | sw-hpo-now-30min | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | Hp60_YYYY-MM.txt | sw-hpo-now-60min | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | SN_YYYY-MM.txt | sw-ssn-now | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | ap30_YYYY-MM.txt | sw-apo-now-30min | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | ap60_YYYY-MM.txt | sw-apo-now-60min | ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| https://datapub.gfz-potsdam.de/download/10.5880.Kp.0001/Kp_nowcast/ | Kp_nowYYYY.wdc | sw-ap-now, sw-cp-now, sw-kp-now | ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| https://datapub.gfz-potsdam.de/download/10.5880.Kp.0001/Kp_definitive/ | kp_defYYYY.wdc | sw-ap-def, sw-cp-def, sw-kp-def | ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| ftp://ftp.ngdc.noaa.gov/STP/GEOMAGNETIC_DATA/INDICES/DST | dstYYYY.txt | sw-dst-noaa | ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| \https://lasp.colorado.edu/lisird/latis/dap/QUERY | f107_monthly_YYYY-MM.txt | sw-f107-historic | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | mgii_composite_YYYY-MM.txt | sw-mgii-composite | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | mgii_sorce_YYYY-MM-DD.txt | sw-mgii-sorce | ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| \https://lasp.colorado.edu/space_weather/dsttemerin/ | ae_last_96_hrs.txt | sw-ae-lasp | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | al_last_96_hrs.txt | sw-al-lasp | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | au_last_96_hrs.txt | sw-au-lasp | ++ +------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ +| | dst_last_96_hrs.txt | sw-dst-lasp | ++------------------------------------------------------------------------+------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/examples/ex_mult_downloads.rst b/docs/examples/ex_mult_downloads.rst new file mode 100644 index 0000000..be4daf3 --- /dev/null +++ b/docs/examples/ex_mult_downloads.rst @@ -0,0 +1,91 @@ +.. _exmultdown: + +Downloading data from multiple Instruments +========================================== + +Unlike most data sets, space weather index data sets often contain a combination +of related indices. This means that data from multiple +:py:class:`GeospaceDataManagement.Instrument` sub-modules may be available in a +single file. This data is saved for all +:py:class:`GeospaceDataManagement.Instrument` sub-modules when downloading any +one of them. In this way, downloads are minimized and no data sets are hidden +or thrown away. The following example returns both F\ :sub:`10.7`\ and Ap +forecasts from SWPC. + +:: + + import GeospaceDataManagement as gdm + + f107 = gdm.Instrument(inst_module=gdm.instruments.sw_f107, tag='45day') + ap = gdm.Instrument(inst_module=gdm.instruments.sw_ap, tag='45day') + + # Test to see this data hasn't already been downloaded + assert (ap.today() not in f107.files.files) and (ap.today() + not in ap.files.files) + + # Download both data sets using only one Instrument + f107.download(start=f107.tomorrow()) + ap.download(start=ap.tomorrow()) + + # Show that both files have been downloaded + print(f107.files.files[f107.today()], ap.files.files[ap.today()]) + + +This will yield ``f107_45day_YYYY-MM-DD.txt ap_45day_YYYY-MM-DD.txt``, where +YYYY-MM-DD is the day you run this example. The table below shows a list of +the :py:class:`GeospaceDataManagement.Instrument` sub-modules and tags that +download multiple data sets. When possible, the same tag has been used across +:py:class:`GeospaceDataManagement.Instrument` sub-modules. + + ++----------------------+----------+-----------+------------+------------+ +| Remote Data Set | Platform | Name | Tag(s) | Inst ID(s) | ++======================+==========+===========+============+============+ +| GFZ Kp | SW | Kp | def, now | | ++----------------------+----------+-----------+------------+------------+ +| | | Ap | | | ++----------------------+----------+-----------+------------+------------+ +| | | Cp | | | ++----------------------+----------+-----------+------------+------------+ +| SWPC Daily DSD | SW | F107 | daily | | ++----------------------+----------+-----------+------------+------------+ +| | | Flare | | | ++----------------------+----------+-----------+------------+------------+ +| | | SSN | | | ++----------------------+----------+-----------+------------+------------+ +| | | SBField | | | ++----------------------+----------+-----------+------------+------------+ +| SWPC Prelim DSD | SW | F107 | prelim | | ++----------------------+----------+-----------+------------+------------+ +| | | Flare | | | ++----------------------+----------+-----------+------------+------------+ +| | | SSN | | | ++----------------------+----------+-----------+------------+------------+ +| | | SBField | | | ++----------------------+----------+-----------+------------+------------+ +| SWPC 3-day Solar-Geo | SW | F107 | forecast | | ++----------------------+----------+-----------+------------+------------+ +| Predictions | | Kp | prediction | | ++----------------------+----------+-----------+------------+------------+ +| | | Ap | | | ++----------------------+----------+-----------+------------+------------+ +| | | StormProb | | | ++----------------------+----------+-----------+------------+------------+ +| | | Flare | | | ++----------------------+----------+-----------+------------+------------+ +| | | PolarCap | | | ++----------------------+----------+-----------+------------+------------+ +| SWPC 3-day Geomag | SW | Kp | forecast | | ++----------------------+----------+-----------+------------+------------+ +| Forecast | | Ap | | | ++----------------------+----------+-----------+------------+------------+ +| | | StormProb | | | ++----------------------+----------+-----------+------------+------------+ +| SWPC Daily Geomag | SW | Kp | recent | | ++----------------------+----------+-----------+------------+------------+ +| | | Ap | | | ++----------------------+----------+-----------+------------+------------+ +| SWPC 45-day Forecast | SW | F107 | 45day | | ++----------------------+----------+-----------+------------+------------+ +| | | Ap | | | ++----------------------+----------+-----------+------------+------------+ diff --git a/docs/examples/ex_sw_init.rst b/docs/examples/ex_sw_init.rst new file mode 100644 index 0000000..efa165b --- /dev/null +++ b/docs/examples/ex_sw_init.rst @@ -0,0 +1,47 @@ +.. _exswinit: + +Loading F\ :sub:`10.7`\ +======================== + +The Space Weather Instruments included as an optional installation option +provide different historical, real-time, and forecasted solar, geomagnetic, and +other space weather indices. As specified in :ref:`tutorial_basics`, data may +be loaded using the following commands. Historic F\ :sub:`10.7`\ is used as +an example. + +:: + + + import GeospaceDataManagement as gdm + + f107 = gdm.Instrument(inst_module=gdm.instruments.sw_f107, + tag='historic', update_files=True) + f107.download(start=f107.lasp_stime, stop=f107.today()) + f107.load() + print(f107.data) + + +The output includes all available historic data (as implied by the tag name), +including the specified date. This data set starts on 14 February 1947, as +indicated by the special instrument attribute `f107.lasp_stime`, and will +not reach up to the present day. At the time of publication this produces the +output shown below (the index header has been added here for clarity). + +:: + + + f107 f107_adjusted f107_observed + 1947-02-14 253.9 253.9 NaN + 1947-02-17 228.5 228.5 NaN + 1947-02-19 178.8 178.8 NaN + 1947-02-20 163.7 163.7 NaN + 1947-02-24 164.1 164.1 NaN + ... ... ... ... + 2018-04-27 69.6 69.6 68.7 + 2018-04-28 71.1 71.1 70.2 + 2018-04-29 72.2 72.2 71.1 + 2018-04-30 71.3 71.3 70.2 + + [25367 rows x 3 columns] + + diff --git a/docs/images/ex_ace_omni.png b/docs/images/ex_ace_omni.png new file mode 100644 index 0000000000000000000000000000000000000000..777211525af943b96ba113262b54e9415341eead GIT binary patch literal 76939 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

r4yijuSDz~-wkAc{uDR;S*1U{^$^L6 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 literal 0 HcmV?d00001 diff --git a/docs/images/ex_kp_all.png b/docs/images/ex_kp_all.png new file mode 100644 index 0000000000000000000000000000000000000000..4f068104be51b828f064b0c4c5a4905669fb5417 GIT binary patch literal 16015 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 literal 0 HcmV?d00001 From b8212fbb1b02453d071d0678ace6769668d5704c Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 15:58:49 -0400 Subject: [PATCH 45/54] DOC: add examples to index Add the examples to the index. --- docs/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.rst b/docs/index.rst index 20d0295..5cc19e8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -12,6 +12,7 @@ Welcome to the GeospaceDataManagement documentation installation.rst quickstart.rst tutorial.rst + examples.rst instruments.rst new_instrument.rst dependency.rst From e827f28f129a9373fed80c84506e5fcf5ad9e757 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 15:59:15 -0400 Subject: [PATCH 46/54] DOC: add the space weather instruments Add the space weather instruments to the instruments section. --- docs/instruments.rst | 1 + docs/instruments/sw_instruments.rst | 446 ++++++++++++++++++++++++++++ 2 files changed, 447 insertions(+) create mode 100644 docs/instruments/sw_instruments.rst diff --git a/docs/instruments.rst b/docs/instruments.rst index c876c2a..a15e655 100644 --- a/docs/instruments.rst +++ b/docs/instruments.rst @@ -8,3 +8,4 @@ Instruments instruments/general_instruments.rst instruments/testing_instruments.rst + instruments/sw_instruments.rst diff --git a/docs/instruments/sw_instruments.rst b/docs/instruments/sw_instruments.rst new file mode 100644 index 0000000..6abb7b7 --- /dev/null +++ b/docs/instruments/sw_instruments.rst @@ -0,0 +1,446 @@ +.. _sw_inst: + +Space Weather Instruments +========================= + +These :py:class:`~GeospaceDataManager._instruments.Instrument` modules are +made available with the 'space_weather' installation option. + +.. _ace-inst: + +ACE +--- + +The Space Weather Prediction Center (SWPC) provides several Advanced +Composition Explorer (ACE) instrument data sets for use as real-time and +historic measurements of the solar wind. This differs from the ACE scientific +data, which is available at a greater latency from +`CDAWeb `_. Information about these +data sets can be found at the `SWPC ACE Solar-Wind page +`_. + + +.. _ace-epam-inst: + +ACE EPAM +^^^^^^^^ + +EPAM is the Electron, Proton, and Alpha Monitor onboard ACE. + + +.. automodule:: GeospaceDataManagement.instruments.ace_epam + :members: + + +.. _ace-mag-inst: + +ACE MAG +^^^^^^^ + +Supports ACE Magnetometer data. + + +.. automodule:: GeospaceDataManagement.instruments.ace_mag + :members: + + +.. _ace-sis-inst: + +ACE SIS +^^^^^^^ + +Supports ACE Solar Isotope Spectrometer data. + + +.. automodule:: GeospaceDataManagement.instruments.ace_sis + :members: + + +.. _ace-swepam-inst: + +ACE SWEPAM +^^^^^^^^^^ + +Supports ACE Solar Wind Electron Proton Alpha Monitor data. + + +.. automodule:: GeospaceDataManagement.instruments.ace_swepam + :members: + + +.. _norp-inst: + +NoRP +---- + +The Nobeyama Radio Polarameters (NoRP) platform encompasses solar flux +measurements provided by the Japanese Solar Science Observatory. +`NoRP `_ provides +additional information and processing tools on their website. + +.. _norp-rf-inst: + +RF +^^^ + +RF is the radio flux measured from the sun at different wavelengths. This +provides a different measure of solar activity and has been corrected to be +in solar flux units at 1 AU. The daily data set currently starts in Nov 1951 +and is updated to extend to the current period, but not in real-time. + + +.. automodule:: GeospaceDataManagement.instruments.norp_rf + :members: + + +.. _sw-inst: + +SW +--- + +The Space Weather (SW) platform encompasses space weather indices that may be +found across a variety of platforms. Many of the remote centers that provide +these data sets include multiple types of data in each file. From +:py:mod:`GeospaceDataManagement` version 0.1.0, the remote information is separated +by :py:class:`pysat.Instrument` and saved into appropriate files. For example, +the definitive Kp data from the German Research Centre for Geosciences at +Potsdam (GFZ) will also download Ap and Cp data files. + +.. _sw-ae-inst: + +AE +^^^ + +AE is an auroral electrojet index that reflects the level of magnetic deflection +in the auroral zone due to the difference between the eastward and westward +electroject currents at Earth. Real-time predictions (last 96 hours) are +provided by +`LASP `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_ae + :members: + + +.. _sw-al-inst: + + +AL +^^^ + +AL is an auroral electrojet index that reflects the lower envelope, the negative +peak of the electroject currents at Earth. Real-time predictions (last 96 +hours) are provided by the +`LASP repository `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_al + :members: + + +.. _sw-au-inst: + + +AU +^^^ + +AU is an auroral electrojet index that reflects the upper envelope, the positive +peak of the electroject currents at Earth. Real-time predictions (last 96 +hours) are provided at the +`LASP page `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_au + :members: + + +.. _sw-ap-inst: + +Ap +^^^ + +Ap is a geomagnetic index that reflects the magnitude of geomagnetic +disturbances at Earth but unlike Kp uses a linear scale. Historic, recent +(last 30 days), and forecasted values are available from the +`GFZ Kp `_ and the +`SWPC Forecasts page `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_ap + :members: + + +.. _sw-apo-inst: + +apo +^^^ + +apo is a linear (half)-hourly, planetary, open-ended, geomagnetic index that +reflects the magnitude of geomagnetic disturbances at Earth. It is like Ap but +does not have an upper limit. Values from 1995 onwards are available from the +`GFZ Hpo page `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_apo + :members: + + +.. _sw-cp-inst: + +Cp +^^^ + +Cp is a derivative geomagnetic index that provides a qualitative estimate of the +overall level of magnetic activity for the day. The C9 index provides the same +information on a scale from 0-9 instead of 0.0-2.5. Historic values are +available from the `GFZ Kp page `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_cp + :members: + + +.. _sw-dst-inst: + +Dst +^^^ + +The Disturbance Storm Time (Dst) Index is a measure of magnetic activity +associated with the ring current. The National Centers for Environmental +Information (NCEI), formerly the National Geophysical Data Center (NGDC), +maintains the current database from which the historic Dst is downloaded. +`LASP `_ +performs the calculations and provides the predicted Dst for the last 96 hours. +You can learn more about the Dst Index at the +`WDC Kyoto Observatory page `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_dst + :members: + + +.. _sw-f107-inst: + +F \ :sub:`10.7`\ +^^^^^^^^^^^^^^^^ + +F \ :sub:`10.7`\ is the 10.7 cm radio solar flux (measured in solar flux units, +sfu) `[Cortie 1912] `_. +Historic indices, real-time indices, and forecasted indices are available from +the +`LASP F107 `_ and the +`SWPC F107 page `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_f107 + :members: + + +.. _sw-flare-inst: + +Solar Flares +^^^^^^^^^^^^ + +Solar flares have been monitored for decades and the data has been compiled +into standard measurements from different data sets. Historic indices, +real-time indices, and forecasted indices are available from +`SWPC `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_flare + :members: + + +.. _sw-hpo-inst: + +Hpo +^^^ + +Hpo is a (half)-Hourly, planetary, open-ended, geomagnetic index that +reflects the magnitude of geomagnetic disturbances at Earth. It is like Kp but +does not have an upper limit. Values from 1995 onwards are available from the +`GFZ Hp30 and Hp60 page `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_hpo + :members: + + + +.. _sw-kp-inst: + +Kp +^^^ + +Kp is a geomagnetic index that reflects the magnitude of geomagnetic +disturbances at Earth. Historic, recent (last 30 days), and forecasted values +are available from the +`GFZ Kp repository `_, and the +`SWPC Kp page `_. + + +.. automodule:: GeospaceDataManagement.instruments.sw_kp + :members: + + +.. _mgii-inst: + +MgII Core-to-Wing Ratio +^^^^^^^^^^^^^^^^^^^^^^^ + +The core-to-wing ratio of the solar MgII line is a proxy for solar chromospheric +variability. It has been used to extract a precise measurement of solar +activity at Earth. The two data sets provided by LASP together provide index +values from 1978 through 2020. + + +.. automodule:: GeospaceDataManagement.instruments.sw_mgii + :members: + +.. _sw-pc-inst: + +Polar Cap +^^^^^^^^^ + +Polar cap indices have been developed to provide information about high-latitude +conditions and inform ionospheric space weather models. Currently, this +:py:class:`~pysat._instrument.Instrument` provides absorption predictions from SWPC. + +.. automodule:: GeospaceDataManagement.instruments.sw_polarcap + :members: + + +.. _sw-sbfield-inst: + +Solar Magnetic Field +^^^^^^^^^^^^^^^^^^^^ + +The solar mean field provides a measure of of mean solar magnetic field using +full-disk optical observations of the iron line. The first observations were +made at Stanford by +`Scherrer et al. `_. + +.. automodule:: GeospaceDataManagement.instruments.sw_sbfield + :members: + + +.. _sw-ssn-inst: + +Sunspot Number +^^^^^^^^^^^^^^ + +The Sunspot Number (SSN) is one of the oldest continuously measured solar +indices. Currently, this Instrument provides preliminary and daily values from +SWPC (for example, here is the +`forecast page `_). + +.. automodule:: GeospaceDataManagement.instruments.sw_ssn + :members: + + +.. _sw-stormprob-inst: + +Storm Probability +^^^^^^^^^^^^^^^^^ + +Geomagnetic storm predictions are provided by SWPC for global, high-latitude, +and mid-latitude regions. SWPC uses the +`NOAA SW scales `_, which +are explained here. + +.. automodule:: GeospaceDataManagement.instruments.sw_stormprob + :members: + + +.. _sw-methods: + +Methods +------- + +Several methods exist to help combine multiple data sets and convert between +equivalent indices. Most of these directly support the Instrument sub-modules, +but others contain useful tools for manipulating specific data sets. + +ACE Methods +^^^^^^^^^^^ + +Supports the ACE instrument by providing reference and acknowledgement +information. + + +.. automodule:: GeospaceDataManagement.instruments.sw_methods.ace + :members: + +Dst Methods +^^^^^^^^^^^ + +Supports the Dst ring current index by providing reference and acknowledgement +information. + + +.. automodule:: GeospaceDataManagement.instruments.sw_methods.dst + :members: + +F \ :sub:`10.7`\ Methods +^^^^^^^^^^^^^^^^^^^^^^^^ + +Supports the F \ :sub:`10.7`\ radio flux by providing reference and +acknowledgement information as well as a routine to combine +F \ :sub:`10.7`\ data obtained from multiple sources. + + +.. automodule:: GeospaceDataManagement.instruments.sw_methods.f107 + :members: + + +Space Weather General Methods +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +General functions that are useful across the Space Weather Instruments. + + +.. automodule:: GeospaceDataManagement.instruments.sw_methods.general + :members: + + +GFZ Methods +^^^^^^^^^^^ + +Supports the German Research Centre for Geosciences at Potsdam (GFZ) data +products. + + +.. automodule:: GeospaceDataManagement.instruments.sw_methods.gfz + :members: + + +Kp and Ap Methods +^^^^^^^^^^^^^^^^^ + +Supports the Kp instrument by providing reference and acknowledgement +information, a routine to combine Kp from multiple sources, routines to convert +between Kp and Ap, and a routine that uses Kp data as a geomagnetic activity +filter for other data sets. + + +.. automodule:: GeospaceDataManagement.instruments.sw_methods.kp_ap + :members: + +LISIRD Methods +^^^^^^^^^^^^^^ + +Contains functions to support LASP Interactive Solar IRradiance Datacenter +(LISIRD) data sets and downloads. + + +.. automodule:: GeospaceDataManagement.instruments.sw_methods.lisird + :members: + +SWPC Methods +^^^^^^^^^^^^ + +Supports the Space Weather Prediction Center (SWPC) data products. + + +.. automodule:: GeospaceDataManagement.instruments.sw_methods.swpc + :members: From 746a3e407ee38b9bf51a0d27db6c46bfcbd1cbee Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 16:04:56 -0400 Subject: [PATCH 47/54] DOC: added test badges Added badges for the main CI tests and coveralls. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index be6c514..51f46d8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Pytest with Flake8](https://github.com/USNavalResearchLaboratory/GeospaceDataManagement/actions/workflows/main.yml/badge.svg)](https://github.com/USNavalResearchLaboratory/GeospaceDataManagement/actions/workflows/main.yml) [![Coverage Status](https://coveralls.io/repos/github/USNavalResearchLaboratory/GeospaceDataManagement/badge.svg)](https://coveralls.io/github/USNavalResearchLaboratory/GeospaceDataManagement) + GeospaceDataManagement provides a simple and flexible interface for robust data analysis from beginning to end - with a focus on downloading, loading, cleaning and managing scientific data. The project's plug-in design allows analysis From 7b896affaac888f8f36f7cfe67380a1b6a34a05b Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 16:06:25 -0400 Subject: [PATCH 48/54] TST: remove debug statements Remove debug statements from the doc yaml. --- .github/workflows/docs.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 981a5b0..cddf466 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,8 +29,7 @@ jobs: - name: Set up the data directory run: | mkdir gdmData - python -c "import GeospaceDataManagement as gdm; gdm.params['data_dirs'] = './gdmData'; print(gdm.params); print(gdm.citation); import os; os.path.isfile(gdm.citation)" - ls ~/.gdm + python -c "import GeospaceDataManagement as gdm; gdm.params['data_dirs'] = './gdmData'" - name: Check documentation build run: sphinx-build -E -b html docs dist/docs From 0fe55385b4cfbe3bf3cbd145e85902b4fefc7632 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 16:17:03 -0400 Subject: [PATCH 49/54] DOC: fixed references and directory name Fixed a wrong directory name and a bad label. --- docs/instruments/sw_instruments.rst | 2 +- docs/new_instrument.rst | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/instruments/sw_instruments.rst b/docs/instruments/sw_instruments.rst index 6abb7b7..5ac094b 100644 --- a/docs/instruments/sw_instruments.rst +++ b/docs/instruments/sw_instruments.rst @@ -1,4 +1,4 @@ -.. _sw_inst: +.. _instruments-sw: Space Weather Instruments ========================= diff --git a/docs/new_instrument.rst b/docs/new_instrument.rst index 2ef408b..8c116f4 100644 --- a/docs/new_instrument.rst +++ b/docs/new_instrument.rst @@ -36,9 +36,9 @@ syntax: import my_package registry.register_from_module(my_package.instruments) -After registry the instrument module name is stored in the user's home -directory in a hidden directory named :code:`~.GeospaceDataManagement`. The -instrument may then be instantiated with the instrument's platform and name: +After registry the instrument module name is stored in the user's home directory +in a hidden directory named :code:`~/.gdm`. The instrument may then be +instantiated with the instrument's platform and name: .. code-block:: python From 33784d65100bc6b43a8d44bd302b4cf0dac78393 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 16:18:26 -0400 Subject: [PATCH 50/54] DOC: updated changelog Added a summary of changes to the changelog. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dafc5d2..2456651 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). a variable did not exist * DOC: - Added missing sections to docstrings + - Added information about space weather instruments and methods [0.0.1] - 2026-09-25 -------------------- From 7edfd4a9b89122b6e0ddd4800c24aac094e5f8e5 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Fri, 2 Oct 2026 16:24:03 -0400 Subject: [PATCH 51/54] DOC: fixed typos Fixed typos in the docs. Co-authored-by: Angeline Burrell --- docs/examples/ex_ace.rst | 2 +- docs/examples/ex_mock_downloads.rst | 6 +++--- docs/instruments/sw_instruments.rst | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/examples/ex_ace.rst b/docs/examples/ex_ace.rst index bd7c3d0..9d55779 100644 --- a/docs/examples/ex_ace.rst +++ b/docs/examples/ex_ace.rst @@ -24,7 +24,7 @@ compare the results to OMNI. tag='historic', update_files=True) # Add the OMNI conversion routine to the ACE instrument - ace.custom_attach(gdn.instruments.methods.ace.ace_swepam_hourly_omni_norm) + ace.custom_attach(gdm.instruments.methods.ace.ace_swepam_hourly_omni_norm) # Pick a day with a geomagnetic storm stime = dt.datetime(2014, 3, 26) diff --git a/docs/examples/ex_mock_downloads.rst b/docs/examples/ex_mock_downloads.rst index 598ca98..eb81db3 100644 --- a/docs/examples/ex_mock_downloads.rst +++ b/docs/examples/ex_mock_downloads.rst @@ -4,13 +4,13 @@ Mock downloads ============== The space weather instruments all allow -:py:class:`~GeospaceDataManagemennt._instrument.Instrument` downloads to +:py:class:`~GeospaceDataManagement._instrument.Instrument` downloads to "download" data from a local directory. This allows the user to have full control over the remote access, while still allowing -:py:mod:`GeospaceDataManagemennt` to handle the data extraction and file +:py:mod:`GeospaceDataManagement` to handle the data extraction and file handling. -When using the mock-download option, :py:mod:`GeospaceDataManagemennt` requires +When using the mock-download option, :py:mod:`GeospaceDataManagement` requires that you specify the local directory where you have stored the desired data files. If you don't employ this option, downloads will be attempted from the remote source. If you do employ this option and the directory is wrong, and diff --git a/docs/instruments/sw_instruments.rst b/docs/instruments/sw_instruments.rst index 5ac094b..35306e0 100644 --- a/docs/instruments/sw_instruments.rst +++ b/docs/instruments/sw_instruments.rst @@ -3,7 +3,7 @@ Space Weather Instruments ========================= -These :py:class:`~GeospaceDataManager._instruments.Instrument` modules are +These :py:class:`~GeospaceDataManagement._instruments.Instrument` modules are made available with the 'space_weather' installation option. .. _ace-inst: From 8c24d0b4acaac192f6f2f0935baa8aed0ed352ad Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 18:47:22 -0400 Subject: [PATCH 52/54] REL: updated version number Updated the version number for a new alpha release. --- CITATION.cff | 2 +- GeospaceDataManagement/citation.txt | 2 +- pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 01fe937..a217a64 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -21,4 +21,4 @@ keywords: - "Observations" - "Models" license: MIT -version: 0.0.1 +version: 0.0.2 diff --git a/GeospaceDataManagement/citation.txt b/GeospaceDataManagement/citation.txt index e91003e..ed9f5f4 100644 --- a/GeospaceDataManagement/citation.txt +++ b/GeospaceDataManagement/citation.txt @@ -1 +1 @@ -Burrell, A. G. (2026). USNavalResearchLaboratory/GeospaceDataManagement v0.0.1 (Version v0.0.1). https://github.com/USNavalResearchLaboratory/GeospaceDataManagement +Burrell, A. G. (2026). USNavalResearchLaboratory/GeospaceDataManagement v0.0.2 (Version v0.0.2). https://github.com/USNavalResearchLaboratory/GeospaceDataManagement diff --git a/pyproject.toml b/pyproject.toml index 687c6e2..48e24cf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "GeospaceDataManagement" -version = "0.0.1" +version = "0.0.2" description = "Supports scientific data management for geospace products" readme = "README.md" requires-python = ">=3.10" From 8663d230639c38f28acb5bfd7bdb071098ebf643 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Fri, 2 Oct 2026 18:47:40 -0400 Subject: [PATCH 53/54] DOC: updated changelog Added missing changes and a release date. --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2456651..b797b52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ Change Log All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). -[0.0.2] - 2026-10-XX +[0.0.2] - 2026-10-02 -------------------- * ENH: - Added Space Weather instruments as an optional installation @@ -11,6 +11,8 @@ This project adheres to [Semantic Versioning](https://semver.org/). * BUG: - Fixed assignment issue in Instrument, where meta data could not be added if a variable did not exist + - Fixed assignment issue in Instrument, where xarray behaviour changed in + more recent versions of Python * DOC: - Added missing sections to docstrings - Added information about space weather instruments and methods From 43e433d6cc6c54bdc01e733554acd6182a76095e Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Fri, 2 Oct 2026 18:58:15 -0400 Subject: [PATCH 54/54] MAINT: Update requirements.txt We still need netcdf4 --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 2f42970..889d14b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ dask +netCDF4 numpy>=1.21.6 pandas portalocker