├── .github
├── test_conda_env.yml
└── workflows
│ ├── pypi.yml
│ └── tests.yml
├── .gitignore
├── CHANGELOG
├── LICENSE
├── MANIFEST.in
├── PREDICT DOC.txt
├── PyGTide_user-guide.pdf
├── README.docx
├── README.md
├── earth_tide_example.png
├── module_test.py
├── pygtide
├── __init__.py
├── commdat
│ ├── [raw]_Leap_Second_History.dat
│ ├── [raw]_eopc04_IAU2000.dat
│ ├── [raw]_finals2000A.dat
│ ├── buellehw.dat
│ ├── cted73hw.dat
│ ├── doodsehw.dat
│ ├── etddt.dat
│ ├── etddt_tmpl.dat
│ ├── etpolut1.dat
│ ├── hw95s.dat
│ ├── ksm03.dat
│ ├── ratgp95.dat
│ ├── tamurahw.dat
│ └── xi1989hw.dat
├── core.py
├── tests.py
└── update_etpred_data.py
├── setup.cfg
├── setup.py
├── src
└── etpred.f90
└── windows
├── pygtide-0.8-cp310-cp310-win_amd64.whl
├── pygtide-0.8-cp311-cp311-win_amd64.whl
├── pygtide-0.8-cp38-cp38-win_amd64.whl
└── pygtide-0.8-cp39-cp39-win_amd64.whl
/.github/test_conda_env.yml:
--------------------------------------------------------------------------------
1 | name: test
2 | channels:
3 | - conda-forge
4 | dependencies:
5 | - numpy
6 | - pandas
7 | - fortran-compiler
8 |
--------------------------------------------------------------------------------
/.github/workflows/pypi.yml:
--------------------------------------------------------------------------------
1 | name: pypi
2 | on:
3 | release:
4 | types: [published]
5 |
6 | jobs:
7 | build_sdist:
8 | name: build sdist
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/checkout@v3
12 | - name: Set up Python
13 | uses: actions/setup-python@v1
14 | - name: Install numpy
15 | shell: bash -l {0}
16 | run: >-
17 | python -m
18 | pip install numpy --user
19 | - name: Build a source tarball
20 | shell: bash -l {0}
21 | run: >-
22 | python setup.py sdist
23 | - uses: actions/upload-artifact@v3
24 | with:
25 | path: dist/*.tar.gz
26 |
27 | publish:
28 | name: publish release
29 | needs: [build_sdist]
30 | runs-on: ubuntu-latest
31 | steps:
32 | - uses: actions/download-artifact@v3
33 | with:
34 | name: artifact
35 | path: dist
36 | - uses: pypa/gh-action-pypi-publish@release/v1
37 | with:
38 | user: __token__
39 | password: ${{ secrets.PYPI }}
40 |
--------------------------------------------------------------------------------
/.github/workflows/tests.yml:
--------------------------------------------------------------------------------
1 | name: tests
2 | on:
3 | push:
4 | pull_request:
5 |
6 | jobs:
7 | run_tests:
8 | strategy:
9 | fail-fast: false
10 | matrix:
11 | os: [ubuntu-latest, macos-latest]
12 | include:
13 | - python: "3.10"
14 | runs-on: ${{ matrix.os }}
15 | defaults:
16 | run:
17 | shell: bash -l {0}
18 | steps:
19 | - uses: actions/checkout@v3
20 | - name: setup conda
21 | uses: conda-incubator/setup-miniconda@v2
22 | with:
23 | python-version: ${{ matrix.python }}
24 | environment-file: .github/test_conda_env.yml
25 | - name: print conda environment info
26 | run: |
27 | conda info -a
28 | conda list
29 | - name: install package
30 | run: |
31 | pip install -v --no-deps .
32 | - name: run test
33 | run: |
34 | mkdir empty; cd empty
35 | python -c 'import pygtide; pygtide.test()'
36 | python -c 'import pygtide; pygtide.update()'
37 | python -c 'import pygtide; pygtide.test()'
38 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 | *.pyd
9 | *.bin
10 |
11 | # Distribution / packaging
12 | .Python
13 | build/
14 | develop-eggs/
15 | dist/
16 | downloads/
17 | eggs/
18 | .eggs/
19 | lib/
20 | lib64/
21 | parts/
22 | sdist/
23 | var/
24 | wheels/
25 | pip-wheel-metadata/
26 | share/python-wheels/
27 | *.egg-info/
28 | .installed.cfg
29 | *.egg
30 | MANIFEST
31 |
32 | # PyInstaller
33 | # Usually these files are written by a python script from a template
34 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
35 | *.manifest
36 | *.spec
37 |
38 | # Installer logs
39 | pip-log.txt
40 | pip-delete-this-directory.txt
41 |
42 | # Unit test / coverage reports
43 | htmlcov/
44 | .tox/
45 | .nox/
46 | .coverage
47 | .coverage.*
48 | .cache
49 | nosetests.xml
50 | coverage.xml
51 | *.cover
52 | .hypothesis/
53 | .pytest_cache/
54 |
55 | # Translations
56 | *.mo
57 | *.pot
58 |
59 | # Django stuff:
60 | *.log
61 | local_settings.py
62 | db.sqlite3
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | target/
76 |
77 | # Jupyter Notebook
78 | .ipynb_checkpoints
79 |
80 | # IPython
81 | profile_default/
82 | ipython_config.py
83 |
84 | # pyenv
85 | .python-version
86 |
87 | # celery beat schedule file
88 | celerybeat-schedule
89 |
90 | # SageMath parsed files
91 | *.sage.py
92 |
93 | # Environments
94 | .env
95 | .venv
96 | env/
97 | venv/
98 | ENV/
99 | env.bak/
100 | venv.bak/
101 |
102 | # Spyder project settings
103 | .spyderproject
104 | .spyproject
105 |
106 | # Rope project settings
107 | .ropeproject
108 |
109 | # mkdocs documentation
110 | /site
111 |
112 | # mypy
113 | .mypy_cache/
114 | .dmypy.json
115 | dmypy.json
116 |
117 | # Pyre type checker
118 | .pyre/
119 |
120 | # local developments
121 | dev_*
122 |
--------------------------------------------------------------------------------
/CHANGELOG:
--------------------------------------------------------------------------------
1 | v0.7.1:
2 | * record length was corrected
3 | * length of day (LOD) tide is now properly interpolated
4 | * the Fortran based execution timer was removed
5 |
6 | v0.7:
7 | * pygtide now working for years before 1962 back until 1600
8 |
9 | v0.6:
10 | * Fortran code is now platform independent and specific variables are now set from Python (Fortran and Python)
11 | * updated Python to comply with proper package structure
12 | * update routine of the database files (etddt.dat and etpolut1.dat) has been redesigned with proper terminal output (Python code)
13 |
14 | v0.5:
15 | * this version was not released!
16 | * control of waves previously done using *.ini file has been handed over to the Python class
17 | * fixed bug that was not reading the lowest waves from the input
18 | * restricted leap second interpolation for years <1972 only (Fortran code), absolute value thereafter
19 | * vertical strain calculation magnitude was fixed (Fortran code)
20 |
21 | v0.4.0+trichters.fork:
22 | * add download routines so data files can easily be kept up to date
23 |
24 | v0.3.0+trichters.fork:
25 | * build extionsion from sources within setup.py
26 | * add convenient functions predict_series, predict_spectrum, predict_table
27 | * add convenient functions plot_series, plot_spectrum
28 | * add test function
29 |
30 | v0.2:
31 | * initial Python version
32 |
33 | v0.1:
34 | * Modifications to the original Fortran code aimed at a successful compile using f2py:
35 | *- Paths to external files were made relative (now uses subdirectory ‘commdat’ where executable resides)
36 | *- The code was changed from fixed format (file extension .f) to free format (file extension .f90)
37 | *- COMMON blocks were changed to modules
38 | *- Continuous lines were adapted to the F90 standard
39 | *- The main program was put into a subroutine called ‘PREDICT(ARGS)’ where ‘ARGS’ is an array of size 17 containing the control parameters handed over from Python
40 | *- The calculated data is stored in an internal array called ‘ETPDATA’ in the module ‘OUT’
41 | *- Headers are also constructed in the array ‘HEADER’ in the module ‘OUT’
42 | *- Screen and file (.prd and .prn) output is muted by default, but can be enabled using flags in ‘ARGS’
43 | * Code enhancements:
44 | *- Moved all constants into module ‘CONSTANTS’ for easy modification. These included numeric as well as file names, output headers, etc.
45 | *- Created a parameter for original ‘commdat’ directory, including a path separator variable for different systems
46 | *- The data output format for the .prd and .prn files were changed to 6 digits to reflect the improved accuracy of the KSM03 tidal catalogue
47 | *- Output times in .prn and .prd files were zero padded for easier handling (if required)
48 | *- Changed the record length for the binary file ‘etpolut1.bin’ to 32 bytes (reflecting 4 double reals at 8 bytes each)
49 | * Bug fix:
50 | *- A time bug produced wrong HH:MM:SS format in output due to a rounding error when sampling rate was smaller than 60 seconds. This bug was fixed and the code now works properly with any time resolution
51 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Mozilla Public License Version 2.0
2 | ==================================
3 |
4 | 1. Definitions
5 | --------------
6 |
7 | 1.1. "Contributor"
8 | means each individual or legal entity that creates, contributes to
9 | the creation of, or owns Covered Software.
10 |
11 | 1.2. "Contributor Version"
12 | means the combination of the Contributions of others (if any) used
13 | by a Contributor and that particular Contributor's Contribution.
14 |
15 | 1.3. "Contribution"
16 | means Covered Software of a particular Contributor.
17 |
18 | 1.4. "Covered Software"
19 | means Source Code Form to which the initial Contributor has attached
20 | the notice in Exhibit A, the Executable Form of such Source Code
21 | Form, and Modifications of such Source Code Form, in each case
22 | including portions thereof.
23 |
24 | 1.5. "Incompatible With Secondary Licenses"
25 | means
26 |
27 | (a) that the initial Contributor has attached the notice described
28 | in Exhibit B to the Covered Software; or
29 |
30 | (b) that the Covered Software was made available under the terms of
31 | version 1.1 or earlier of the License, but not also under the
32 | terms of a Secondary License.
33 |
34 | 1.6. "Executable Form"
35 | means any form of the work other than Source Code Form.
36 |
37 | 1.7. "Larger Work"
38 | means a work that combines Covered Software with other material, in
39 | a separate file or files, that is not Covered Software.
40 |
41 | 1.8. "License"
42 | means this document.
43 |
44 | 1.9. "Licensable"
45 | means having the right to grant, to the maximum extent possible,
46 | whether at the time of the initial grant or subsequently, any and
47 | all of the rights conveyed by this License.
48 |
49 | 1.10. "Modifications"
50 | means any of the following:
51 |
52 | (a) any file in Source Code Form that results from an addition to,
53 | deletion from, or modification of the contents of Covered
54 | Software; or
55 |
56 | (b) any new file in Source Code Form that contains any Covered
57 | Software.
58 |
59 | 1.11. "Patent Claims" of a Contributor
60 | means any patent claim(s), including without limitation, method,
61 | process, and apparatus claims, in any patent Licensable by such
62 | Contributor that would be infringed, but for the grant of the
63 | License, by the making, using, selling, offering for sale, having
64 | made, import, or transfer of either its Contributions or its
65 | Contributor Version.
66 |
67 | 1.12. "Secondary License"
68 | means either the GNU General Public License, Version 2.0, the GNU
69 | Lesser General Public License, Version 2.1, the GNU Affero General
70 | Public License, Version 3.0, or any later versions of those
71 | licenses.
72 |
73 | 1.13. "Source Code Form"
74 | means the form of the work preferred for making modifications.
75 |
76 | 1.14. "You" (or "Your")
77 | means an individual or a legal entity exercising rights under this
78 | License. For legal entities, "You" includes any entity that
79 | controls, is controlled by, or is under common control with You. For
80 | purposes of this definition, "control" means (a) the power, direct
81 | or indirect, to cause the direction or management of such entity,
82 | whether by contract or otherwise, or (b) ownership of more than
83 | fifty percent (50%) of the outstanding shares or beneficial
84 | ownership of such entity.
85 |
86 | 2. License Grants and Conditions
87 | --------------------------------
88 |
89 | 2.1. Grants
90 |
91 | Each Contributor hereby grants You a world-wide, royalty-free,
92 | non-exclusive license:
93 |
94 | (a) under intellectual property rights (other than patent or trademark)
95 | Licensable by such Contributor to use, reproduce, make available,
96 | modify, display, perform, distribute, and otherwise exploit its
97 | Contributions, either on an unmodified basis, with Modifications, or
98 | as part of a Larger Work; and
99 |
100 | (b) under Patent Claims of such Contributor to make, use, sell, offer
101 | for sale, have made, import, and otherwise transfer either its
102 | Contributions or its Contributor Version.
103 |
104 | 2.2. Effective Date
105 |
106 | The licenses granted in Section 2.1 with respect to any Contribution
107 | become effective for each Contribution on the date the Contributor first
108 | distributes such Contribution.
109 |
110 | 2.3. Limitations on Grant Scope
111 |
112 | The licenses granted in this Section 2 are the only rights granted under
113 | this License. No additional rights or licenses will be implied from the
114 | distribution or licensing of Covered Software under this License.
115 | Notwithstanding Section 2.1(b) above, no patent license is granted by a
116 | Contributor:
117 |
118 | (a) for any code that a Contributor has removed from Covered Software;
119 | or
120 |
121 | (b) for infringements caused by: (i) Your and any other third party's
122 | modifications of Covered Software, or (ii) the combination of its
123 | Contributions with other software (except as part of its Contributor
124 | Version); or
125 |
126 | (c) under Patent Claims infringed by Covered Software in the absence of
127 | its Contributions.
128 |
129 | This License does not grant any rights in the trademarks, service marks,
130 | or logos of any Contributor (except as may be necessary to comply with
131 | the notice requirements in Section 3.4).
132 |
133 | 2.4. Subsequent Licenses
134 |
135 | No Contributor makes additional grants as a result of Your choice to
136 | distribute the Covered Software under a subsequent version of this
137 | License (see Section 10.2) or under the terms of a Secondary License (if
138 | permitted under the terms of Section 3.3).
139 |
140 | 2.5. Representation
141 |
142 | Each Contributor represents that the Contributor believes its
143 | Contributions are its original creation(s) or it has sufficient rights
144 | to grant the rights to its Contributions conveyed by this License.
145 |
146 | 2.6. Fair Use
147 |
148 | This License is not intended to limit any rights You have under
149 | applicable copyright doctrines of fair use, fair dealing, or other
150 | equivalents.
151 |
152 | 2.7. Conditions
153 |
154 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
155 | in Section 2.1.
156 |
157 | 3. Responsibilities
158 | -------------------
159 |
160 | 3.1. Distribution of Source Form
161 |
162 | All distribution of Covered Software in Source Code Form, including any
163 | Modifications that You create or to which You contribute, must be under
164 | the terms of this License. You must inform recipients that the Source
165 | Code Form of the Covered Software is governed by the terms of this
166 | License, and how they can obtain a copy of this License. You may not
167 | attempt to alter or restrict the recipients' rights in the Source Code
168 | Form.
169 |
170 | 3.2. Distribution of Executable Form
171 |
172 | If You distribute Covered Software in Executable Form then:
173 |
174 | (a) such Covered Software must also be made available in Source Code
175 | Form, as described in Section 3.1, and You must inform recipients of
176 | the Executable Form how they can obtain a copy of such Source Code
177 | Form by reasonable means in a timely manner, at a charge no more
178 | than the cost of distribution to the recipient; and
179 |
180 | (b) You may distribute such Executable Form under the terms of this
181 | License, or sublicense it under different terms, provided that the
182 | license for the Executable Form does not attempt to limit or alter
183 | the recipients' rights in the Source Code Form under this License.
184 |
185 | 3.3. Distribution of a Larger Work
186 |
187 | You may create and distribute a Larger Work under terms of Your choice,
188 | provided that You also comply with the requirements of this License for
189 | the Covered Software. If the Larger Work is a combination of Covered
190 | Software with a work governed by one or more Secondary Licenses, and the
191 | Covered Software is not Incompatible With Secondary Licenses, this
192 | License permits You to additionally distribute such Covered Software
193 | under the terms of such Secondary License(s), so that the recipient of
194 | the Larger Work may, at their option, further distribute the Covered
195 | Software under the terms of either this License or such Secondary
196 | License(s).
197 |
198 | 3.4. Notices
199 |
200 | You may not remove or alter the substance of any license notices
201 | (including copyright notices, patent notices, disclaimers of warranty,
202 | or limitations of liability) contained within the Source Code Form of
203 | the Covered Software, except that You may alter any license notices to
204 | the extent required to remedy known factual inaccuracies.
205 |
206 | 3.5. Application of Additional Terms
207 |
208 | You may choose to offer, and to charge a fee for, warranty, support,
209 | indemnity or liability obligations to one or more recipients of Covered
210 | Software. However, You may do so only on Your own behalf, and not on
211 | behalf of any Contributor. You must make it absolutely clear that any
212 | such warranty, support, indemnity, or liability obligation is offered by
213 | You alone, and You hereby agree to indemnify every Contributor for any
214 | liability incurred by such Contributor as a result of warranty, support,
215 | indemnity or liability terms You offer. You may include additional
216 | disclaimers of warranty and limitations of liability specific to any
217 | jurisdiction.
218 |
219 | 4. Inability to Comply Due to Statute or Regulation
220 | ---------------------------------------------------
221 |
222 | If it is impossible for You to comply with any of the terms of this
223 | License with respect to some or all of the Covered Software due to
224 | statute, judicial order, or regulation then You must: (a) comply with
225 | the terms of this License to the maximum extent possible; and (b)
226 | describe the limitations and the code they affect. Such description must
227 | be placed in a text file included with all distributions of the Covered
228 | Software under this License. Except to the extent prohibited by statute
229 | or regulation, such description must be sufficiently detailed for a
230 | recipient of ordinary skill to be able to understand it.
231 |
232 | 5. Termination
233 | --------------
234 |
235 | 5.1. The rights granted under this License will terminate automatically
236 | if You fail to comply with any of its terms. However, if You become
237 | compliant, then the rights granted under this License from a particular
238 | Contributor are reinstated (a) provisionally, unless and until such
239 | Contributor explicitly and finally terminates Your grants, and (b) on an
240 | ongoing basis, if such Contributor fails to notify You of the
241 | non-compliance by some reasonable means prior to 60 days after You have
242 | come back into compliance. Moreover, Your grants from a particular
243 | Contributor are reinstated on an ongoing basis if such Contributor
244 | notifies You of the non-compliance by some reasonable means, this is the
245 | first time You have received notice of non-compliance with this License
246 | from such Contributor, and You become compliant prior to 30 days after
247 | Your receipt of the notice.
248 |
249 | 5.2. If You initiate litigation against any entity by asserting a patent
250 | infringement claim (excluding declaratory judgment actions,
251 | counter-claims, and cross-claims) alleging that a Contributor Version
252 | directly or indirectly infringes any patent, then the rights granted to
253 | You by any and all Contributors for the Covered Software under Section
254 | 2.1 of this License shall terminate.
255 |
256 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
257 | end user license agreements (excluding distributors and resellers) which
258 | have been validly granted by You or Your distributors under this License
259 | prior to termination shall survive termination.
260 |
261 | ************************************************************************
262 | * *
263 | * 6. Disclaimer of Warranty *
264 | * ------------------------- *
265 | * *
266 | * Covered Software is provided under this License on an "as is" *
267 | * basis, without warranty of any kind, either expressed, implied, or *
268 | * statutory, including, without limitation, warranties that the *
269 | * Covered Software is free of defects, merchantable, fit for a *
270 | * particular purpose or non-infringing. The entire risk as to the *
271 | * quality and performance of the Covered Software is with You. *
272 | * Should any Covered Software prove defective in any respect, You *
273 | * (not any Contributor) assume the cost of any necessary servicing, *
274 | * repair, or correction. This disclaimer of warranty constitutes an *
275 | * essential part of this License. No use of any Covered Software is *
276 | * authorized under this License except under this disclaimer. *
277 | * *
278 | ************************************************************************
279 |
280 | ************************************************************************
281 | * *
282 | * 7. Limitation of Liability *
283 | * -------------------------- *
284 | * *
285 | * Under no circumstances and under no legal theory, whether tort *
286 | * (including negligence), contract, or otherwise, shall any *
287 | * Contributor, or anyone who distributes Covered Software as *
288 | * permitted above, be liable to You for any direct, indirect, *
289 | * special, incidental, or consequential damages of any character *
290 | * including, without limitation, damages for lost profits, loss of *
291 | * goodwill, work stoppage, computer failure or malfunction, or any *
292 | * and all other commercial damages or losses, even if such party *
293 | * shall have been informed of the possibility of such damages. This *
294 | * limitation of liability shall not apply to liability for death or *
295 | * personal injury resulting from such party's negligence to the *
296 | * extent applicable law prohibits such limitation. Some *
297 | * jurisdictions do not allow the exclusion or limitation of *
298 | * incidental or consequential damages, so this exclusion and *
299 | * limitation may not apply to You. *
300 | * *
301 | ************************************************************************
302 |
303 | 8. Litigation
304 | -------------
305 |
306 | Any litigation relating to this License may be brought only in the
307 | courts of a jurisdiction where the defendant maintains its principal
308 | place of business and such litigation shall be governed by laws of that
309 | jurisdiction, without reference to its conflict-of-law provisions.
310 | Nothing in this Section shall prevent a party's ability to bring
311 | cross-claims or counter-claims.
312 |
313 | 9. Miscellaneous
314 | ----------------
315 |
316 | This License represents the complete agreement concerning the subject
317 | matter hereof. If any provision of this License is held to be
318 | unenforceable, such provision shall be reformed only to the extent
319 | necessary to make it enforceable. Any law or regulation which provides
320 | that the language of a contract shall be construed against the drafter
321 | shall not be used to construe this License against a Contributor.
322 |
323 | 10. Versions of the License
324 | ---------------------------
325 |
326 | 10.1. New Versions
327 |
328 | Mozilla Foundation is the license steward. Except as provided in Section
329 | 10.3, no one other than the license steward has the right to modify or
330 | publish new versions of this License. Each version will be given a
331 | distinguishing version number.
332 |
333 | 10.2. Effect of New Versions
334 |
335 | You may distribute the Covered Software under the terms of the version
336 | of the License under which You originally received the Covered Software,
337 | or under the terms of any subsequent version published by the license
338 | steward.
339 |
340 | 10.3. Modified Versions
341 |
342 | If you create software not governed by this License, and you want to
343 | create a new license for such software, you may create and use a
344 | modified version of this License if you rename the license and remove
345 | any references to the name of the license steward (except to note that
346 | such modified license differs from this License).
347 |
348 | 10.4. Distributing Source Code Form that is Incompatible With Secondary
349 | Licenses
350 |
351 | If You choose to distribute Source Code Form that is Incompatible With
352 | Secondary Licenses under the terms of this version of the License, the
353 | notice described in Exhibit B of this License must be attached.
354 |
355 | Exhibit A - Source Code Form License Notice
356 | -------------------------------------------
357 |
358 | This Source Code Form is subject to the terms of the Mozilla Public
359 | License, v. 2.0. If a copy of the MPL was not distributed with this
360 | file, You can obtain one at http://mozilla.org/MPL/2.0/.
361 |
362 | If it is not possible or desirable to put the notice in a particular
363 | file, then You may include the notice in a location (such as a LICENSE
364 | file in a relevant directory) where a recipient would be likely to look
365 | for such a notice.
366 |
367 | You may add additional accurate notices of copyright ownership.
368 |
369 | Exhibit B - "Incompatible With Secondary Licenses" Notice
370 | ---------------------------------------------------------
371 |
372 | This Source Code Form is "Incompatible With Secondary Licenses", as
373 | defined by the Mozilla Public License, v. 2.0.
374 |
--------------------------------------------------------------------------------
/MANIFEST.in:
--------------------------------------------------------------------------------
1 | include README.md
2 |
--------------------------------------------------------------------------------
/PREDICT DOC.txt:
--------------------------------------------------------------------------------
1 | Section 11: Description of program PREDICT
2 | ------------------------------------------
3 |
4 | The Fortran 90 program PREDICT can be used for the computation of
5 | earth tide signals with constant time interval for one station in
6 | order to generate a table of synthetic model tides (tidal potential,
7 | gravity tides, tilt tides, vertical or horizontal displacement,
8 | vertical strain, horizontal strain, areal strain, shear strain, volume
9 | strain, and oceanic tides). There can be used seven different tidal
10 | potential catalogs (Doodson 1921, Cartwright-Tayler-Edden 1973,
11 | Buellesfeld 1985, Tamura 1987, Xi 1989, Roosbeek 1996, Hartmann and
12 | Wenzel 1995) together with observed tidal parameters. Additionally,
13 | gravity pole tides (gravity variation due to polar motion, see encl.
14 | 007) and gravity LOD tides (gravity variation due to variation of
15 | length of day, see encl. 008) can be computed for those periods, where
16 | the necessary data are given in file "etpolc.dat".
17 |
18 | Section 11.1: Description of the project file "project"
19 | ------------------------------------------------------
20 |
21 | The ASCII project name file "project" for program PREDICT contains
22 | one single variable only, the project name which is abbreviated as
23 | "pn" in this manual. The project name is an alphanumerical string
24 | consisting of 8 characters at maximum. The project name is read from
25 | the first 8 characters of the first record of project name file
26 | "project". The project name is used to define the control parameter
27 | file name "pn".ini for program PREDICT.
28 |
29 | Section 11.2: Description of control parameter file "pn".ini
30 | -----------------------------------------------------------
31 |
32 | The control parameter file "pn".ini (where "pn" stands for the project
33 | name defined in file "project") defines several control parameters
34 | necessary for the operation of program PREDICT. This control parameter
35 | file has an identical structure to the control parameter files used by
36 | programs RECTIDE, DETIDE, DESPIKE, DECIMATE, PREGRED and ANALYZE. Some
37 | of the variables are identical to those used by programs RECTIDE,
38 | DETIDE, DESPIKE, DECIMATE, PREGRED and ANALYZE. Thus it may be
39 | possible to use the same control parameter file for data recording,
40 | data preprocessing and data analysis.
41 |
42 | All control parameter statements must begin with the control parameter
43 | name (column 1...10) which ends with an equal sign. The control parame-
44 | ter names must be spelled exactly with uppercase letters as defined
45 | below. Control parameters with unknown names will be ignored by
46 | program RECTIDE. The control parameter variables must be input after
47 | the equal sign following the control parameter name, with appropriate
48 | format. The control parameter statements must not have a specific
49 | sequence. A record starting with # in column 1 will be ignored and may
50 | be used to comment the control parameters. All characters following
51 | # in a record will be ignored and may be used to comment the control
52 | parameters.
53 |
54 | STATIONAME= station name, 10 characters (col. 12...21) following the
55 | equal sign. The station name will be displayed on the
56 | graphics screen during data recording.
57 | STATLATITU= ellipsoidal latitude of the station in degree referring to
58 | WGS84 reference system (col.12...26).
59 | STATLONITU= ellipsoidal longitude of the station in degree referring
60 | to WGS84 reference system (col.12...26).
61 | STATELEVAT= ellipsoidal height of the station in meter referring to
62 | WGS84 reference system (col.12...26).
63 | STATGRAVIT= gravity of the station in m/s**2, necessary for tidal tilt
64 | only (col. 12...26, real with decimal point). If the
65 | gravity is unknown, use a value of less than 1.0 and the
66 | program will compute and subsequently use the normal
67 | gravity value referring to GRS80 reference system.
68 | STATAZIMUT= azimuth of the instrument in degree decimal, reckoned
69 | clockwise from north (col. 12 ... 26, real with decimal
70 | point). This parameter is used for tidal tilt, horizontal
71 | displacement and horizontal strain only.
72 | TIDALPOTEN= parameter for the tidal potential catalog to be used.
73 | 1 = Doodson (1921) tidal potential catalog,
74 | 2 = Cartwright-Tayler-Edden (1973) tidal potential catalog
75 | 3 = Buellesfeld (1985) tidal potential catalog,
76 | 4 = Tamura (1987) tidal potential catalog,
77 | 5 = Xi (1989) tidal potential catalog,
78 | 6 = Roosbeek (1996) tidal potential catalog,
79 | 7 = Hartmann and Wenzel (1995) tidal potential catalog.
80 | As default, TIDALPOTEN= 7 is used.
81 | SAMPLERATE= Data sample interval in s (col. 12 ... 26, integer).
82 | INITIALEPO= Initial epoch, used to compute the Fourier development of
83 | the specific earth tide component. The initial epoch con-
84 | sists of the integer year (col. 12 ... 16, e.g. 1992),
85 | integer month (col. 17 ... 21), and integer day (col.
86 | 22 ... 26).
87 | PREDICSPAN= Time span for the prediction in hours (col. 12 ... 26,
88 | integer). The model tide series will start at the initial
89 | epoch INITIALEPO and the time span will be PREDICSPAN
90 | hours.
91 | TIDALCOMPO= Earth tide component (col. 12 ... 26, integer).
92 | = -1 for tidal potential in m**2/s**2.
93 | = 0 for tidal gravity in nm/s**2.
94 | = 1 for tidal tilt in mas, at azimuth STATAZIMUT.
95 | = 2 for tidal vertical displacement in mm.
96 | = 3 for tidal horizontal displacement in mm at
97 | azimuth STATAZIMUT.
98 | = 4 for tidal vertical strain in 10**-9 = nstr.
99 | = 5 for tidal horizontal strain in 10**-9 = nstr,
100 | at azimuth STATAZIMUT.
101 | = 6 for tidal areal strain in 10**-9 = nstr.
102 | = 7 for tidal shear strain in 10**-9 = nstr.
103 | = 8 for tidal volume strain in 10**-9 = nstr.
104 | = 9 for ocean tides in mm.
105 | The computed model tides will be given in the units
106 | defined above.
107 | AMTRUNCATE= Amplitude threshold for the tidal potential catalogue in
108 | m**2/s**2. Only tidal waves with amplitudes exceeding the
109 | amplitude threshold are used for the computation. This
110 | reduces the execution time, but also the accuracy of the
111 | computed tidal signales. For mean latitudes, the relation
112 | between amplitude threshold and gravity tide accuracy is
113 | for the Hartmann and Wenzel (1995) tidal potential catalog
114 |
115 | threshold rms error
116 | [nm/s**2]
117 |
118 | 1.D-01 88.40
119 | 1.D-02 14.40
120 | 1.D-03 2.25
121 | 1.D-04 0.44
122 | 1.D-05 0.068
123 | 1.D-06 0.011
124 | 1.D-07 0.002
125 | 1.D-08 0.001
126 | 1.D-09 0.001
127 | 1.D-10 0.001
128 |
129 | POLTIDECOR= Amplitude factor for gravity pole tide. If the amplitude
130 | factor is greater zero, gravity pole tides will be compu-
131 | ted using the IERS daily pole coordinates and stored as
132 | additional channel of the ouput file "pn".prd.
133 | LODTIDECOR= Amplitude factor for gravity LOD tide. If the amplitude
134 | factor is greater zero, gravity LOD tides will be computed
135 | using the IERS daily pole coordinates and stored as
136 | additional channeld of the output file "pn".prd.
137 | TIDALPARAM= wave group selection for a priori model tide computation.
138 | The number of wavegroups is restricted to 85. The tidal
139 | parameters may be taken from an earth tide analysis of
140 | another data set in the same station, or from a neigh-
141 | bouring station, or from synthetic gravity tide parameters
142 | (Timmen and Wenzel 1994, 1995), or from a guess only.
143 | Col.12..21: DFRA#= start frequency of the wave group in
144 | cpd (real).
145 | Col.22..31: DFRE#= end frequency of the wave group in
146 | cpd (real).
147 | Col.32..41: DGAM0#= amplitude factor of the wave group
148 | (real).
149 | Col.42..51: DPHI0#= phase lead of the wave group in deg
150 | (real).
151 |
152 | The wave group selection for model tide computation should be made
153 | according to the wave group selection for the analysis of Earth tide
154 | data; the list given below is a proposal only. The frequencies are
155 | given in cycles per day (cpd).
156 |
157 | group > 1 month > 6 months > 1 year
158 | from to from to from to
159 | [cpd] [cpd] [cpd] [cpd] [cpd] [cpd]
160 |
161 | SA - - - - 0.001379 0.004107
162 | SSA - - 0.004108 0.020884 0.004108 0.020884
163 | MM 0.020885 0.054747 0.020885 0.054747 0.020885 0.054747
164 | MF 0.054748 0.091348 0.054748 0.091348 0.054748 0.091348
165 | MTM 0.091349 0.501369 0.091349 0.501369 0.091349 0.501369
166 | Q1 0.501370 0.911390 0.501370 0.911390 0.501370 0.911390
167 | O1 0.911391 0.947991 0.911391 0.947991 0.911391 0.947991
168 | M1 0.947992 0.981854 0.947992 0.981854 0.947992 0.981854
169 | P1 - - 0.981855 0.998631 0.981855 0.998631
170 | S1 - - - - 0.998632 1.001369
171 | K1 0.981855 1.023622 0.998632 1.023622 1.001370 1.004107
172 | PSI1 - - - - 1.004108 1.006845
173 | PHI1 - - - - 1.006846 1.023622
174 | J1 1.023623 1.057485 1.023623 1.057485 1.023623 1.057485
175 | OO1 1.057486 1.470243 1.057486 1.470243 1.057486 1.470243
176 | 2N2 1.470244 1.880264 1.470244 1.880264 1.470244 1.880264
177 | N2 1.880265 1.914128 1.880265 1.914128 1.880265 1.914128
178 | M2 1.914129 1.950419 1.914129 1.950419 1.914129 1.950419
179 | L2 1.950420 1.984282 1.950420 1.984282 1.950420 1.984282
180 | S2 1.984283 2.451943 1.984283 2.002736 1.984283 2.002736
181 | K2 - - 2.002737 2.451943 2.002737 2.451943
182 | M3M6 2.451944 7.000000 2.451944 7.000000 2.451944 7.000000
183 |
184 |
185 | As an example for the control parameter file for program PREDICT, we
186 | list below file "bfhw9501.ini", which is provided on the CD-rom:
187 |
188 | # This file BFHW9501.INI status 1996.08.15 containing control parameters
189 | # for program package ETERNA 3.40
190 |
191 | # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
192 | # ! NOTE: The datalines have to start with their names. !
193 | # ! An additional comment may follow after the values, !
194 | # ! delimited by a whitespace !
195 | # ! Values of 0 or less causes PREGRED to calculate the !
196 | # ! range(s) automatically resp. to use default values !
197 | # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
198 |
199 | # a commentline starts with an '#', it may appear at any position
200 | # in this file. Empty lines may appear too
201 |
202 | TEXTHEADER= 1.15000 0.0000 long 1.14673 -0.2474 Q1
203 | TEXTHEADER= 1.14882 0.0804 O1 1.13070 0.2132 M1
204 | TEXTHEADER= 1.13899 0.2062 P1 1.13000 0.0000 S1
205 | TEXTHEADER= 1.13600 0.2070 K1 1.25000 0.5000 PSI1
206 | TEXTHEADER= 1.18000 0.3000 PHI1 1.15354 0.0801 J1
207 | TEXTHEADER= 1.14851 -0.0251 OO1 1.15205 2.4463 2N2
208 | TEXTHEADER= 1.17054 2.5425 N2 1.18705 2.0327 M2
209 | TEXTHEADER= 1.22450 4.1630 L2 1.18963 0.6271 S2
210 | TEXTHEADER= 1.18947 0.8226 K2 1.06234 0.3783 M3
211 | TEXTHEADER= 1.02000 0.0000 M4 1.01500 0.0000 M5M6
212 |
213 | SENSORNAME=PREDICT # earth tide sensor name
214 | SAMPLERATE= 3600 # sampling interval in seconds
215 | STATLATITU= 48.3306 # stations latitude in degree
216 | STATLONITU= 8.3300 # stations longitude in degree
217 | STATELEVAT= 589.000 # stations elevation in meter
218 | STATGRAVIT= 0. # stations gravity in m/s**2
219 | STATAZIMUT= 0. # stations azimuth in degree from north
220 | INITIALEPO= 1987 1 1 # start epoch for PREDICT
221 | PREDICSPAN= 65544 # time span in hours for PREDICT
222 | TIDALCOMPO= 0 # tidal component, see manual
223 | TIDALPOTEN= 7 # HW95 tidal potential development
224 | AMTRUNCATE= 1.D-10 # amplitude threshold
225 | POLTIDECOR= 1.16 # poletide amplitude factor
226 | LODTIDECOR= 1.17 # LOD tide amplitude factor
227 | POLTIDEREG= 1 # ANALYZE pole tide regression adjustment
228 |
229 | TIDALPARAM= 0.000000 0.501369 1.15000 0.0000 long #tidal param.
230 | TIDALPARAM= 0.501370 0.911390 1.14673 -0.2474 Q1 #tidal param.
231 | TIDALPARAM= 0.911391 0.947991 1.14882 0.0804 O1 #tidal param.
232 | TIDALPARAM= 0.947992 0.981854 1.13070 0.2132 M1 #tidal param.
233 | TIDALPARAM= 0.981855 0.998631 1.13899 0.2062 P1 #tidal param.
234 | TIDALPARAM= 0.998632 1.001369 1.13000 0.0000 S1 #tidal param.
235 | TIDALPARAM= 1.001370 1.004107 1.13600 0.2070 K1 #tidal param.
236 | TIDALPARAM= 1.004108 1.006845 1.25000 0.5000 PSI1 #tidal param.
237 | TIDALPARAM= 1.006846 1.023622 1.18000 0.3000 PHI1 #tidal param.
238 | TIDALPARAM= 1.023623 1.057485 1.15354 0.0801 J1 #tidal param.
239 | TIDALPARAM= 1.057486 1.470243 1.14851 -0.0251 OO1 #tidal param.
240 | TIDALPARAM= 1.470244 1.880264 1.15205 2.4463 2N2 #tidal param.
241 | TIDALPARAM= 1.880265 1.914128 1.17054 2.5425 N2 #tidal param.
242 | TIDALPARAM= 1.914129 1.950419 1.18705 2.0327 M2 #tidal param.
243 | TIDALPARAM= 1.950420 1.984282 1.22450 4.1630 L2 #tidal param.
244 | TIDALPARAM= 1.984283 2.002736 1.18963 0.6271 S2 #tidal param.
245 | TIDALPARAM= 2.002737 2.451943 1.18947 0.8226 K2 #tidal param.
246 | TIDALPARAM= 2.451944 3.381478 1.06234 0.3783 M3 #tidal param.
247 | TIDALPARAM= 3.381379 4.347615 1.02000 0.0000 M4 #tidal param.
248 | TIDALPARAM= 4.347616 7.000000 1.01500 0.0000 M5M6 #tidal param.
249 |
250 | # End of file BFHW9501.INI
251 |
252 | Section 11.3: Description of output file "pn".prd
253 | -------------------------------------------------
254 |
255 | The data output file of program PREDICT uses the ETERNA standard
256 | format for exchange of high resolution and high rate tidal data
257 | (Wenzel 1995). The output file is divided into a file header giving
258 | an alphanumeric description of the file (provided with control
259 | parameters TEXTHEADER of the "pn".ini file) and the file body
260 | containing the computed tidal signal. The format of the file body is
261 |
262 | Col.01...08: date in year, month, day; e.g. 19900328 means year 1990,
263 | month 03 = March, day 28th.
264 | Col.10...15: time in hour, minute, second, given in Universal Time
265 | Coordinated (UTC); e.g. 231200 means 23 hours 12 minutes
266 | 00 seconds. The seconds are assumed to be exact, e.g. 00
267 | seconds means 0.000 seconds.
268 | Col.16...25: Channel 1 in units of the tidal component. This channel
269 | contains the sum of the tidal signal and the gravity
270 | pole tide and LOD tide signals.
271 | Col.26...35: Channel 2 in units of the tidal component. This channel
272 | usually conatins the gravity tide.
273 | Col.36...45: Channel 3 in units of the tidal component. This channel
274 | contains the gravity pole tide, if computed.
275 | Col.46...55: Channel 4 in units of the tidal component. This channel
276 | contains the gravity LOD tide, if computed.
277 |
278 | The file ends with 99999999 as date.
279 |
280 | As an example, a part of the output file "bfhw9501.prd" computed with
281 | program PREDICT using the control parameter file "bfhw9501.ini" is
282 | given below. This files contains gravity tides, gravity pole tides and
283 | gravity LOD tides.
284 |
285 | 77777777 0.000 0.000 0.000 0.000
286 | 19870101 0 -1630.338 -1649.708 18.906 0.464
287 | 19870101 10000 -1544.612 -1563.988 18.909 0.467
288 | 19870101 20000 -1253.944 -1273.327 18.913 0.469
289 | 19870101 30000 -811.681 -831.070 18.917 0.472
290 | 19870101 40000 -295.698 -315.093 18.921 0.474
291 | 19870101 50000 208.593 189.191 18.925 0.477
292 | 19870101 60000 626.498 607.090 18.929 0.479
293 | 19870101 70000 909.354 889.939 18.933 0.482
294 | 19870101 80000 1043.335 1023.914 18.937 0.485
295 | 19870101 90000 1049.655 1030.227 18.941 0.487
296 | 19870101 100000 976.094 956.660 18.944 0.490
297 | 19870101 110000 881.969 862.529 18.948 0.492
298 | 19870101 120000 820.439 800.992 18.952 0.495
299 |
300 | The data stored in the output file of program PREDICT can be plotted
301 | using program PLOTDATA (see encl. 006...008).
302 |
303 | Section 11.4: Execution time of program PREDICT
304 | -----------------------------------------------
305 |
306 | The execution time of program PREDICT depends mainly on the number of
307 | waves of the chosen tidal potential catalogue, on the amplitude
308 | threshold of the tidal potential, and on the number of samples to be
309 | computed. The execution time given below has been measured on a 100
310 | MHz PENTIUM pc with operating system MS-DOS 6.22 for 8760 hourly
311 | gravity signals including pole tide and LOD tide. The rms error has
312 | been determined by comparison with gravity tide benchmark series
313 | BFDE403F.DAT.
314 |
315 | catalogue threshold nwave rms error exec.time
316 | [nm/s**2] [s]
317 |
318 | Tamura (1987) 1.D-06 1200 0.070 11.86
319 | Hartmann+Wenzel (1995) 1.D-01 9 88.40 3.90
320 | Hartmann+Wenzel (1995) 1.D-02 42 14.40 4.06
321 | Hartmann+Wenzel (1995) 1.D-03 155 2.25 4.94
322 | Hartmann+Wenzel (1995) 1.D-04 434 0.44 7.20
323 | Hartmann+Wenzel (1995) 1.D-05 1248 0.068 13.51
324 | Hartmann+Wenzel (1995) 1.D-06 3268 0.011 33.01
325 | Hartmann+Wenzel (1995) 1.D-07 7761 0.002 83.82
326 | Hartmann+Wenzel (1995) 1.D-08 11462 0.001 132.86
327 | Hartmann+Wenzel (1995) 1.D-09 12000 0.001 139.95
328 | Hartmann+Wenzel (1995) 1.D-10 12011 0.001 140.11
329 |
--------------------------------------------------------------------------------
/PyGTide_user-guide.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hydrogeoscience/pygtide/cb510836a712526f740fb361d1a6135b016e6df9/PyGTide_user-guide.pdf
--------------------------------------------------------------------------------
/README.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hydrogeoscience/pygtide/cb510836a712526f740fb361d1a6135b016e6df9/README.docx
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PyGTide
2 | [](https://doi.org/10.5281/zenodo.1346260)
3 |
4 | ## A Python module and wrapper for ETERNA PREDICT to compute gravitational tides on Earth
5 |
6 | PyGTide is a Python module that wraps around ETERNA PREDICT 3.4 which is compiled from Fortran into an executable using [f2py](https://docs.scipy.org/doc/numpy/f2py/). The original ETERNA PREDICT 3.3 was written by the late Prof. H.-G. Wenzel (Wenzel, 1996) in a mix of Fortran 77 and 90. This was updated by Kudryavtsev (2004) to include the latest tidal catalogue. Note that the original Fortran code was comprehensively revised in order to facilitate integration into Python. The original Fortran code for ETERNA PREDICT can be downloaded from the [International Geodynamics and Earth Tide Service (IGETS)](http://igets.u-strasbg.fr/soft_and_tool.php).
7 |
8 | ## How to use
9 |
10 | There are two options:
11 | * Download and install on your system (see below instructions)
12 | * Via our online calculator: groundwater.app
13 |
14 |
15 | ## How to install and run
16 |
17 | Instructions:
18 | * Download and install [*Anaconda*](https://www.anaconda.com/products/distribution) or [*Miniconda*](https://docs.conda.io/en/latest/miniconda.html)
19 |
20 | * Make sure the following packages are installed:
21 | `conda install numpy pandas requests git`
22 |
23 | * Download and install pygtide:
24 | * *Linux* or *MacOS*:
25 | **NOTE**: Make sure suitable C++ and Fortran compilers are available.
26 | ```
27 | pip install pygtide
28 | ```
29 |
30 | * *Windows*:
31 | Download the correct wheel for your Python version (available for 3.8 to 3.11) from the subfolder "windows" onto your system.
32 | Then navigate your Anaconda explorer to the download location and execute:
33 | ```
34 | pip install [wheel_name_depending_on_python_version]
35 | ```
36 |
37 | * Run tests:
38 | ```
39 | python -c "import pygtide; pygtide.test(msg=True)"
40 | ```
41 | * The internal database files can be updated as follows:
42 | ```
43 | python -c "import pygtide; pygtide.update()"
44 | ```
45 | * See `pygtide/tests.py` for example usage:
46 |
47 | ```
48 | from pygtide import predict_series
49 | args = (-20.82071, -70.15288, 830.0, '2020-01-01', 6, 600)
50 | series = predict_series(*args, statazimut=90, tidalcompo=8)
51 | ```
52 |
53 | * Development version: This can be installed by downloading the Github repository and running:
54 | `pip install download_path`.
55 | Alternatively, in one step as:
56 | ```
57 | pip install git+https://github.com/hydrogeoscience/pygtide.git
58 | ```
59 |
60 | ## How to use
61 |
62 | An updated user guide is currently in progress ...
63 |
64 |
65 | ## How to cite
66 | If you use PyGTide, please cite the work as:
67 |
68 | *Rau, Gabriel C. (2018) hydrogeoscience/pygtide: PyGTid. Zenodo. [https://doi.org/10.5281/zenodo.1346260](https://doi.org/10.5281/zenodo.1346260)*
69 |
70 | ## Example
71 |
72 | This image shows Earth tides calculated for the city Karlsruhe (Germany) in the year 2018.
73 |
74 | ## References
75 | * Hartmann, T., and H.-G. Wenzel (1995), The HW95 tidal potential catalogue, Geophysical Research Letters, 22(24), 3553–3556, https://doi.org/10.1029/95GL03324.
76 | * Kudryavtsev, S. M. (2004), Improved harmonic development of the Earth tide-generating potential, Journal of Geodesy, 17(12), 829-838, https://doi.org/10.1007/s00190-003-0361-2.
77 | * Wenzel, H.-G. (1996), The nanogal software: Earth tide data processing package ETERNA 3.30, Bulletin d’Informations des Marées Terrestres, 124, 9425–9439.
78 | * McMillan, T. C., and Rau, G. C., and Timms, W. A., and Andersen, M. S. (2019), Utilizing the impact of Earth and atmospheric tides on groundwater systems: A review reveals the future potential, Reviews of Geophysics, https://dx.doi.org/10.1029/2018RG000630.
79 |
80 | ## License
81 | PyGTide is released by [Gabriel C. Rau](https://hydrogeo.science) and [Tom Eulenfeld](https://scholar.google.com/citations?user=SJXF3mwAAAAJ&hl=en) under the [Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0/)
82 |
--------------------------------------------------------------------------------
/earth_tide_example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hydrogeoscience/pygtide/cb510836a712526f740fb361d1a6135b016e6df9/earth_tide_example.png
--------------------------------------------------------------------------------
/module_test.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from pygtide import predict_series
3 |
4 | args = (-20.82071, -70.15288, 830.0, '2017-01-01', 10, 600)
5 | series = predict_series(*args, statazimut=90, tidalcompo=0)
6 | print(repr(series))
--------------------------------------------------------------------------------
/pygtide/__init__.py:
--------------------------------------------------------------------------------
1 | from pygtide.core import pygtide
2 | from pygtide.core import predict_series, predict_spectrum, predict_table
3 | from pygtide.core import plot_series, plot_spectrum
4 | from pygtide.tests import test
5 | # from pygtide.update_etpred_data import update
6 | __version__ = '0.8'
7 |
--------------------------------------------------------------------------------
/pygtide/commdat/[raw]_Leap_Second_History.dat:
--------------------------------------------------------------------------------
1 | # Value of TAI-UTC in second valid beetween the initial value until
2 | # the epoch given on the next line. The last line reads that NO
3 | # leap second was introduced since the corresponding date
4 | # Updated through IERS Bulletin 63 issued in January 2022
5 | #
6 | #
7 | # File expires on 28 December 2022
8 | #
9 | #
10 | # MJD Date TAI-UTC (s)
11 | # day month year
12 | # --- -------------- ------
13 | #
14 | 41317.0 1 1 1972 10
15 | 41499.0 1 7 1972 11
16 | 41683.0 1 1 1973 12
17 | 42048.0 1 1 1974 13
18 | 42413.0 1 1 1975 14
19 | 42778.0 1 1 1976 15
20 | 43144.0 1 1 1977 16
21 | 43509.0 1 1 1978 17
22 | 43874.0 1 1 1979 18
23 | 44239.0 1 1 1980 19
24 | 44786.0 1 7 1981 20
25 | 45151.0 1 7 1982 21
26 | 45516.0 1 7 1983 22
27 | 46247.0 1 7 1985 23
28 | 47161.0 1 1 1988 24
29 | 47892.0 1 1 1990 25
30 | 48257.0 1 1 1991 26
31 | 48804.0 1 7 1992 27
32 | 49169.0 1 7 1993 28
33 | 49534.0 1 7 1994 29
34 | 50083.0 1 1 1996 30
35 | 50630.0 1 7 1997 31
36 | 51179.0 1 1 1999 32
37 | 53736.0 1 1 2006 33
38 | 54832.0 1 1 2009 34
39 | 56109.0 1 7 2012 35
40 | 57204.0 1 7 2015 36
41 | 57754.0 1 1 2017 37
42 |
--------------------------------------------------------------------------------
/pygtide/commdat/cted73hw.dat:
--------------------------------------------------------------------------------
1 | File: CTED73HW.DAT
2 | Status: 19950628
3 | Contents: Tidal potential catalogue of Cartwright and Tayler (1971) and
4 | Cartwright and Edden (1973) transformed into HW95 normalization
5 | and format by Hans-Georg Wenzel, May 1995.
6 | Darwin names added in June 1995.
7 |
8 | References: Cartwright, D.E. and R.J. Tayler (1971): New computations of
9 | tide generating potential. The Geophysical Journal of the Royal
10 | Astronomical Scociety, vol. 23 no. 1, Oxford 1971.
11 |
12 | Cartwright, D.E. and A.C. Edden (1973): Corrected tables of tidal
13 | harmonics. The Geophysical Journal of the Royal Astronomical
14 | Society, vol. 33, no. 3, Oxford 1973.
15 |
16 | Wenzel, H.-G. (1976): Zur Genauigkeit von gravimetrischen
17 | Erdgezeitenbeobachtungen. Wissenschaftliche Arbeiten der
18 | Lehrstuehle fuer Geodaesie, Photogrammetrie und Kartographie
19 | an der Technischen Universitaet Hannover Nr. 67, Hannover 1976.
20 |
21 | Doodson, A.T. (1921): The harmonic development of the tide
22 | generating potential. Proceedings of the Royal Society, series
23 | A100, 306-328, London 1921. Reprint in International Hydrographic
24 | Revue vol.31 no.1, Monaco 1954.
25 |
26 | Chojnicki, T. (1973): Ein Verfahren zur Erdgezeitenanalyse in
27 | Anlehnung an das Prinzip der kleinsten Quadrate. Mitteilungen
28 | aus dem Institut fuer Theoretische Geodaesie der Universitaet
29 | Bonn Nr. 15, Bonn 1973.
30 |
31 |
32 | Format of the file:
33 |
34 | Col. 1... 6: sequence number (1...505). The end of this file is
35 | marked with sequence number 999999.
36 | Col. 7... 9: body generating the potential. MO = Moon, SU = Sun,
37 | ME = Mercury, VE= Venus, MA = Mars, JU= Jupiter,
38 | SA = Saturn, FM = quadrupole moment of the Earth on Moon,
39 | FS = quadrupole moment of the Earth on Sun.
40 | Col. 10... 11: l = degree of the spherical harmonic development.
41 | Col. 12... 14: m = order of the spherical harmonic development,
42 | equal
43 | k1 = integer argument number for the mean local Moontime,
44 | period 24 hours 50 min.
45 | Col. 15... 17: k2 = integer argument number for the mean longitude of the
46 | Moon, period 27.3 days.
47 | Col. 18... 20: k3 = integer argument number for the mean longitude of the
48 | Sun, period 365.25 days.
49 | Col. 21... 23: k4 = integer argument number for the mean longitude of the
50 | lunar perigee, period 8.8 years.
51 | Col. 24... 26: k5 = integer argument number for the negative mean longitude
52 | of the lunar ascending node, period 18.6 years.
53 | Col. 27... 29: k6 = integer argument number for the mean longitude of the
54 | solar perigee, period 20942 years.
55 | Col. 30... 32: k7 = integer argument number for the mean longitude of Mercury,
56 | period 88 days.
57 | Col. 33... 35: k8 = integer argument number for the mean longitude of Venus,
58 | period 225 days.
59 | Col. 36... 38: k9 = integer argument number for the mean longitude of Mars,
60 | period 1.88 years.
61 | Col. 39... 41: k10= integer argument number for the mean longitude of Jupiter,
62 | period 11.86 years.
63 | Col. 42... 44: k11= integer argument number for the mean longitude of Saturn,
64 | period 29.4 years.
65 | Col. 45... 56: fr= frequency of the tidal wave at J2000 in degree per hour.
66 | Col. 57... 68: C0 = COS-coefficient of the tidal potential in
67 | 10**-10 m**2/s**2. The C0 coefficient has to be multiplied
68 | with the COS of the argument.
69 | Col. 69... 80: S0 = SIN-coefficient of the tidal potential in
70 | 10**-10 m**2/s**2. The S0 coefficient has to be multiplied
71 | with the SIN of the argument.
72 | Col. 81... 90: C1 = t*COS-coefficent of the tidal potential in 10**-10
73 | m**2/s**2 per Julian century. The C1 coefficient has to
74 | be multiplied with the time difference between the epoch
75 | and J2000 (in Julian centuries) and with the COS of
76 | the argument.
77 | Col. 91...100: S1 = t*SIN-coefficent of the tidal potential in 10**-10
78 | m**2/s**2 per Julian century. The S1 coefficient has to
79 | be multiplied with the time difference between the epoch
80 | and J2000 (in Julian centuries) and with the SIN of
81 | the argument.
82 | Col.102...105: nam= Darwin name of the tidal wave (for very few main tidal
83 | waves available only).
84 |
85 | number l m k k k k k k k k k k frequency C0 S0 C1 S1 nam
86 | 2 3 4 5 6 7 8 9 10 11 (deg/hour)
87 | C********************************************************************************************************
88 | 1 2 0 0 0 0 0 0 0 0 0 0 0 0.00000000-8695390537. 0. -2791490. 0. M0S0
89 | 2 2 0 0 0 0 1 0 0 0 0 0 0 0.00220641 771991448. 0. -241554. 0.
90 | 3 2 0 0 0 0 2 0 0 0 0 0 0 0.00441281 -7993422. 0. -414576. 0.
91 | 4 3 0 0 0 1 0 0 0 0 0 0 0 0.00464181 0. -5825280. 0. -228983.
92 | 5 2 0 0 0 2 1 0 0 0 0 0 0 0.01149003 1059998. 0. 1. 0.
93 | 6 2 0 0 1 0 -1 -1 0 0 0 0 0 0.03886027 -1059998. 0. -1. 0.
94 | 7 2 0 0 1 0 0 -1 0 0 0 0 0 0.04106668 -135992619. 0. 242190. 0. SA
95 | 8 2 0 0 1 0 0 1 0 0 0 0 0 0.04107060 7037696. 0. -276372. 0.
96 | 9 2 0 0 1 0 1 -1 0 0 0 0 0 0.04327309 1413331. 0. 1. 0.
97 | 10 2 0 0 2 -2 -1 0 0 0 0 0 0 0.07064725 588888. 0. 1. 0.
98 | 11 2 0 0 2 -2 0 0 0 0 0 0 0 0.07285365 -8873781. 0. -242335. 0.
99 | 12 3 0 0 2 -1 0 0 0 0 0 0 0 0.07749547 0. -1112893. 0. -1.
100 | 13 2 0 0 2 0 0 -2 0 0 0 0 0 0.08213336 -3257308. 0. 242323. 0.
101 | 14 2 0 0 2 0 0 0 0 0 0 0 0 0.08213728 -856437125. 0. 1157717. 0. SSA
102 | 15 2 0 0 2 0 1 0 0 0 0 0 0 0.08434369 21317739. 0. 21. 0.
103 | 16 2 0 0 2 0 2 0 0 0 0 0 0 0.08655009 4711102. 0. 5. 0.
104 | 17 2 0 0 3 0 0 -1 0 0 0 0 0 0.12320396 -49908728. 0. 276329. 0. STA
105 | 18 2 0 0 3 0 1 -1 0 0 0 0 0 0.12541037 824443. 0. 1. 0.
106 | 19 2 0 0 4 0 0 -2 0 0 0 0 0 0.16427064 -1884441. 0. -2. 0.
107 | 20 2 0 1 -3 1 -1 1 0 0 0 0 0 0.42824797 588888. 0. 1. 0.
108 | 21 2 0 1 -3 1 0 1 0 0 0 0 0 0.43045437 -8008874. 0. -8. 0.
109 | 22 2 0 1 -2 -1 -2 0 0 0 0 0 0 0.45782461 588888. 0. 1. 0.
110 | 23 2 0 1 -2 -1 -1 0 0 0 0 0 0 0.46003102 2031176. 0. 276381. 0.
111 | 24 3 0 1 -2 0 0 0 0 0 0 0 0 0.46687924 0. 1112893. 0. 1.
112 | 25 2 0 1 -2 1 -1 0 0 0 0 0 0 0.46931465 13308864. 0. 13. 0.
113 | 26 2 0 1 -2 1 0 0 0 0 0 0 0 0.47152105 -185970769. 0. -186. 0. MSM
114 | 27 2 0 1 -2 1 1 0 0 0 0 0 0 0.47372746 12131089. 0. 12. 0.
115 | 28 2 0 1 -1 -1 0 1 0 0 0 0 0 0.50330803 -6124433. 0. -6. 0.
116 | 29 2 0 1 -1 0 0 0 0 0 0 0 0 0.50794788 5535545. 0. 6. 0.
117 | 30 2 0 1 -1 1 0 -1 0 0 0 0 0 0.51258773 1413331. 0. 1. 0.
118 | 31 2 0 1 0 -1 -2 0 0 0 0 0 0 0.53996189 -824443. 0. -1. 0.
119 | 32 2 0 1 0 -1 -1 0 0 0 0 0 0 0.54216830 63835438. 0. 64. 0.
120 | 33 2 0 1 0 -1 0 0 0 0 0 0 0 0.54437471 -972518278. 0. -277351. 0. MM
121 | 34 2 0 1 0 -1 1 0 0 0 0 0 0 0.54658111 63287014. 0. 242390. 0.
122 | 35 3 0 1 0 0 -1 0 0 0 0 0 0 0.54681011 0. 5442306. 0. 32182.
123 | 36 3 0 1 0 0 0 0 0 0 0 0 0 0.54901652 0. -103721660. 0. -104.
124 | 37 3 0 1 0 0 1 0 0 0 0 0 0 0.55122293 0. -16248243. 0. -16.
125 | 38 3 0 1 0 0 2 0 0 0 0 0 0 0.55342933 0. 1335472. 0. 1.
126 | 39 2 0 1 0 1 0 0 0 0 0 0 0 0.55365833 51939904. 0. 52. 0.
127 | 40 2 0 1 0 1 1 0 0 0 0 0 0 0.55586474 21317739. 0. 21. 0.
128 | 41 2 0 1 0 1 2 0 0 0 0 0 0 0.55807115 5771100. 0. 6. 0.
129 | 42 2 0 1 1 -1 0 -1 0 0 0 0 0 0.58544138 4946658. 0. 5. 0.
130 | 43 2 0 1 2 -1 0 0 0 0 0 0 0 0.62651199 13544420. 0. 14. 0.
131 | 44 2 0 1 2 -1 1 0 0 0 0 0 0 0.62871839 6534848. 0. -363483. 0.
132 | 45 2 0 1 2 -1 2 0 0 0 0 0 0 0.63092480 839895. 0. -414568. 0.
133 | 46 2 0 1 3 -1 0 -1 0 0 0 0 0 0.66757866 588888. 0. 1. 0.
134 | 47 2 0 2 -4 2 0 0 0 0 0 0 0 0.94304211 -3062217. 0. -3. 0.
135 | 48 2 0 2 -3 0 0 1 0 0 0 0 0 0.97482908 -10421508. 0. 363479. 0.
136 | 49 2 0 2 -3 0 1 1 0 0 0 0 0 0.97703549 588888. 0. 1. 0.
137 | 50 2 0 2 -2 0 -1 0 0 0 0 0 0 1.01368935 -11659979. 0. -12. 0.
138 | 51 2 0 2 -2 0 0 0 0 0 0 0 0 1.01589576 -161119703. 0. -161. 0. MSF
139 | 52 2 0 2 -2 0 1 0 0 0 0 0 0 1.01810217 10522666. 0. 242337. 0.
140 | 53 3 0 2 -2 1 0 0 0 0 0 0 0 1.02053757 0. -3338680. 0. -3.
141 | 54 2 0 2 -2 2 0 0 0 0 0 0 0 1.02517939 1059998. 0. 1. 0.
142 | 55 2 0 2 -1 -2 0 1 0 0 0 0 0 1.04768273 -1059998. 0. -1. 0.
143 | 56 2 0 2 -1 -1 0 0 0 0 0 0 0 1.05232259 824443. 0. 1. 0.
144 | 57 2 0 2 -1 0 0 -1 0 0 0 0 0 1.05696244 1648886. 0. 2. 0.
145 | 58 2 0 2 -1 0 0 1 0 0 0 0 0 1.05696636 -5535545. 0. -6. 0.
146 | 59 2 0 2 -1 0 1 1 0 0 0 0 0 1.05917277 -1059998. 0. -1. 0.
147 | 60 2 0 2 0 -2 -1 0 0 0 0 0 0 1.08654301 4122215. 0. 4. 0.
148 | 61 2 0 2 0 -2 0 0 0 0 0 0 0 1.08874941 -79617631. 0. -80. 0.
149 | 62 2 0 2 0 -2 1 0 0 0 0 0 0 1.09095582 5299990. 0. 5. 0.
150 | 63 3 0 2 0 -1 0 0 0 0 0 0 0 1.09339123 0. -16915979. 0. -17.
151 | 64 3 0 2 0 -1 1 0 0 0 0 0 0 1.09559763 0. -2670944. 0. -3.
152 | 65 2 0 2 0 0 0 0 0 0 0 0 0 1.09803304-1840873115. 0. 1864707. 0. MF
153 | 66 2 0 2 0 0 1 0 0 0 0 0 0 1.10023945 -763287414. 0. 275616. 0.
154 | 67 2 0 2 0 0 2 0 0 0 0 0 0 1.10244585 -71255424. 0. -71. 0.
155 | 68 2 0 2 0 0 3 0 0 0 0 0 0 1.10465226 1795621. 0. 276381. 0.
156 | 69 2 0 2 1 -2 0 -1 0 0 0 0 0 1.12981609 824443. 0. 1. 0.
157 | 70 2 0 2 1 0 0 -1 0 0 0 0 0 1.13909972 6359988. 0. 6. 0.
158 | 71 2 0 2 1 0 1 -1 0 0 0 0 0 1.14130612 1648886. 0. 2. 0.
159 | 72 2 0 2 2 -2 0 0 0 0 0 0 0 1.17088669 5535545. 0. 6. 0.
160 | 73 2 0 2 2 -2 1 0 0 0 0 0 0 1.17309310 2237774. 0. 2. 0.
161 | 74 2 0 2 2 0 2 0 0 0 0 0 0 1.18458313 824443. 0. 1. 0.
162 | 75 2 0 3 -5 1 0 1 0 0 0 0 0 1.44635013 -588888. 0. -1. 0.
163 | 76 2 0 3 -4 1 0 0 0 0 0 0 0 1.48741681 -4711102. 0. -5. 0.
164 | 77 2 0 3 -3 -1 0 1 0 0 0 0 0 1.51920379 -1884441. 0. -2. 0.
165 | 78 2 0 3 -3 1 0 1 0 0 0 0 0 1.52848741 -2915481. 0. 276376. 0.
166 | 79 2 0 3 -3 1 1 1 0 0 0 0 0 1.53069382 -839895. 0. 414568. 0.
167 | 80 2 0 3 -2 -1 -1 0 0 0 0 0 0 1.55806406 -2473329. 0. -2. 0.
168 | 81 2 0 3 -2 -1 0 0 0 0 0 0 0 1.56027047 -25439953. 0. -25. 0.
169 | 82 2 0 3 -2 -1 1 0 0 0 0 0 0 1.56247687 1648886. 0. 2. 0.
170 | 83 3 0 3 -2 0 0 0 0 0 0 0 0 1.56491228 0. -2670944. 0. -3.
171 | 84 2 0 3 -2 1 0 0 0 0 0 0 0 1.56955409 -66897655. 0. -67. 0. MSTM
172 | 85 2 0 3 -2 1 1 0 0 0 0 0 0 1.57176050 -27677727. 0. -28. 0.
173 | 86 2 0 3 -2 1 2 0 0 0 0 0 0 1.57396691 -2473329. 0. -2. 0.
174 | 87 2 0 3 -1 -1 0 1 0 0 0 0 0 1.60134107 -3533327. 0. -4. 0.
175 | 88 2 0 3 -1 -1 1 1 0 0 0 0 0 1.60354747 -1059998. 0. -1. 0.
176 | 89 2 0 3 -1 0 0 0 0 0 0 0 0 1.60598092 1884441. 0. 2. 0.
177 | 90 2 0 3 -1 0 1 0 0 0 0 0 0 1.60818733 824443. 0. 1. 0.
178 | 91 2 0 3 -1 1 0 -1 0 0 0 0 0 1.61062077 864907. 0. 242327. 0.
179 | 92 2 0 3 0 -3 0 0 0 0 0 0 0 1.63312412 -6359988. 0. -6. 0.
180 | 93 2 0 3 0 -3 1 -1 0 0 0 0 0 1.63532856 1059998. 0. 1. 0.
181 | 94 2 0 3 0 -3 1 1 0 0 0 0 0 1.63533249 1059998. 0. 1. 0.
182 | 95 3 0 3 0 -2 0 0 0 0 0 0 0 1.63776593 0. -2003208. 0. -2.
183 | 96 2 0 3 0 -1 0 0 0 0 0 0 0 1.64240775 -352597059. 0. 276026. 0. MTM
184 | 97 2 0 3 0 -1 1 0 0 0 0 0 0 1.64461415 -146161953. 0. -146. 0.
185 | 98 2 0 3 0 -1 2 0 0 0 0 0 0 1.64682056 -14340738. 0. -639883. 0.
186 | 99 3 0 3 0 0 0 0 0 0 0 0 0 1.64704956 0. -8096759. 0. 261145.
187 | 100 3 0 3 0 0 1 0 0 0 0 0 0 1.64925597 0. -5341888. 0. -5.
188 | 101 3 0 3 0 0 2 0 0 0 0 0 0 1.65146237 0. -1112893. 0. -1.
189 | 102 2 0 3 0 1 2 0 0 0 0 0 0 1.65610419 1413331. 0. 1. 0.
190 | 103 2 0 3 0 1 3 0 0 0 0 0 0 1.65831059 588888. 0. 1. 0.
191 | 104 2 0 3 1 -1 0 -1 0 0 0 0 0 1.68347442 3062217. 0. 3. 0.
192 | 105 2 0 3 1 -1 1 -1 0 0 0 0 0 1.68568083 1059998. 0. 1. 0.
193 | 106 2 0 4 -4 0 0 0 0 0 0 0 0 2.03179152 -2237774. 0. -2. 0.
194 | 107 2 0 4 -4 2 0 0 0 0 0 0 0 2.04107515 -1648886. 0. -2. 0.
195 | 108 2 0 4 -4 2 1 0 0 0 0 0 0 2.04328155 -824443. 0. -1. 0.
196 | 109 2 0 4 -3 0 0 1 0 0 0 0 0 2.07286212 -3886660. 0. -4. 0.
197 | 110 2 0 4 -3 0 1 1 0 0 0 0 0 2.07506853 -1648886. 0. -2. 0.
198 | 111 2 0 4 -2 -2 0 0 0 0 0 0 0 2.10464517 -3062217. 0. -3. 0.
199 | 112 2 0 4 -2 0 0 0 0 0 0 0 0 2.11392880 -56415452. 0. -56. 0. MSQM
200 | 113 2 0 4 -2 0 1 0 0 0 0 0 0 2.11613521 -23202179. 0. -23. 0.
201 | 114 2 0 4 -2 0 2 0 0 0 0 0 0 2.11834161 -2237774. 0. -2. 0.
202 | 115 2 0 4 -1 -2 0 1 0 0 0 0 0 2.14571577 -824443. 0. -1. 0.
203 | 116 2 0 4 -1 0 0 -1 0 0 0 0 0 2.15499548 824443. 0. 1. 0.
204 | 117 2 0 4 0 -2 0 0 0 0 0 0 0 2.18678245 -46757692. 0. -47. 0.
205 | 118 2 0 4 0 -2 1 0 0 0 0 0 0 2.18898886 -19315520. 0. -19. 0.
206 | 119 2 0 4 0 -2 2 0 0 0 0 0 0 2.19119527 -1924905. 0. -242328. 0.
207 | 120 3 0 4 0 -1 0 0 0 0 0 0 0 2.19142427 0. -2225787. 0. -2.
208 | 121 3 0 4 0 -1 1 0 0 0 0 0 0 2.19363067 0. -1335472. 0. -1.
209 | 122 2 0 5 -4 1 0 0 0 0 0 0 0 2.58544985 -2708884. 0. -3. 0.
210 | 123 2 0 5 -2 -1 0 0 0 0 0 0 0 2.65830351 -13662197. 0. -14. 0.
211 | 124 2 0 5 -2 -1 1 0 0 0 0 0 0 2.66050991 -5653323. 0. -6. 0.
212 | 125 2 0 5 0 -3 0 0 0 0 0 0 0 2.73115716 -5299990. 0. -5. 0.
213 | 126 2 0 5 0 -3 1 0 0 0 0 0 0 2.73336357 -2237774. 0. -2. 0.
214 | 127 2 0 6 -4 0 0 0 0 0 0 0 0 3.12982456 -1413331. 0. -1. 0.
215 | 128 2 0 6 -2 -2 0 0 0 0 0 0 0 3.20267821 -2237774. 0. -2. 0.
216 | 129 2 1 -5 0 4 0 0 0 0 0 0 0 11.76553677 0. 1495976. 0. 1.
217 | 130 2 1 -5 2 2 0 0 0 0 0 0 0 11.83839043 0. 6255899. 0. 6.
218 | 131 2 1 -5 4 0 0 0 0 0 0 0 0 11.91124408 0. 3807939. 0. 4.
219 | 132 3 1 -4 0 2 0 0 0 0 0 0 0 12.30526967 1180402. 0. 1. 0.
220 | 133 2 1 -4 0 3 -1 0 0 0 0 0 0 12.30770507 0. 2719956. 0. 3.
221 | 134 2 1 -4 0 3 0 0 0 0 0 0 0 12.30991148 0. 14687764. 0. 15.
222 | 135 2 1 -4 1 1 0 1 0 0 0 0 0 12.34169846 0. -815987. 0. -1.
223 | 136 3 1 -4 2 0 0 0 0 0 0 0 0 12.37812332 1180402. 0. 1. 0.
224 | 137 2 1 -4 2 1 -1 0 0 0 0 0 0 12.38055873 0. 7207884. 0. 7.
225 | 138 2 1 -4 2 1 0 0 0 0 0 0 0 12.38276513 0. 37943390. 0. 38.
226 | 139 2 1 -4 3 1 0 -1 0 0 0 0 0 12.42383181 0. 2991952. 0. 3.
227 | 140 2 1 -4 4 -1 -1 0 0 0 0 0 0 12.45341238 0. 1359978. 0. 1.
228 | 141 2 1 -4 4 -1 0 0 0 0 0 0 0 12.45561879 0. 7207884. 0. 7.
229 | 142 2 1 -4 5 -1 0 -1 0 0 0 0 0 12.49668547 0. 815987. 0. 1.
230 | 143 2 1 -3 -1 2 0 1 0 0 0 0 0 12.81321951 0. -1767972. 0. -2.
231 | 144 2 1 -3 0 0 -2 0 0 0 0 0 0 12.84058975 0. -815987. 0. -1.
232 | 145 3 1 -3 0 1 -1 0 0 0 0 0 0 12.84743797 2714924. 0. 3. 0.
233 | 146 3 1 -3 0 1 0 0 0 0 0 0 0 12.84964437 6846330. 0. 7. 0.
234 | 147 2 1 -3 0 2 -2 0 0 0 0 0 0 12.84987337 0. -412550. 0. 439381.
235 | 148 2 1 -3 0 2 -1 0 0 0 0 0 0 12.85207978 0. 24479606. 0. 24.
236 | 149 2 1 -3 0 2 0 0 0 0 0 0 0 12.85428619 0. 129572478. 0. -319005. 2Q1
237 | 150 2 1 -3 1 0 0 1 0 0 0 0 0 12.88607316 0. -2175965. 0. -2.
238 | 151 2 1 -3 1 1 0 0 0 0 0 0 0 12.89071301 0. -1359978. 0. -1.
239 | 152 2 1 -3 1 2 0 -1 0 0 0 0 0 12.89535287 0. 1903969. 0. 2.
240 | 153 3 1 -3 2 -1 0 0 0 0 0 0 0 12.92249803 1416482. 0. 1. 0.
241 | 154 2 1 -3 2 0 -2 0 0 0 0 0 0 12.92272703 0. -792625. 0. 139906.
242 | 155 2 1 -3 2 0 -1 0 0 0 0 0 0 12.92493343 0. 29511525. 0. 30.
243 | 156 2 1 -3 2 0 0 0 0 0 0 0 0 12.92713984 0. 156805478. 0. 157. SIG1
244 | 157 2 1 -3 2 2 0 0 0 0 0 0 0 12.93642347 0. -1359978. 0. -1.
245 | 158 2 1 -3 3 0 -1 -1 0 0 0 0 0 12.96600011 0. 1903969. 0. 2.
246 | 159 2 1 -3 3 0 0 -1 0 0 0 0 0 12.96820652 0. 10607829. 0. 11.
247 | 160 2 1 -3 4 -2 -1 0 0 0 0 0 0 12.99778709 0. 951985. 0. 1.
248 | 161 2 1 -3 4 -2 0 0 0 0 0 0 0 12.99999349 0. 4623926. 0. 5.
249 | 162 2 1 -3 4 0 0 0 0 0 0 0 0 13.00927712 0. -1495976. 0. -1.
250 | 163 2 1 -3 4 0 1 0 0 0 0 0 0 13.01148353 0. 543991. 0. 1.
251 | 164 2 1 -2 -2 1 -2 0 0 0 0 0 0 13.31211080 0. -815987. 0. -1.
252 | 165 2 1 -2 -2 3 0 0 0 0 0 0 0 13.32580724 0. -3127950. 0. -3.
253 | 166 2 1 -2 -1 1 -1 1 0 0 0 0 0 13.35538781 0. -1359978. 0. -1.
254 | 167 2 1 -2 -1 1 0 1 0 0 0 0 0 13.35759422 0. -8159869. 0. -8.
255 | 168 2 1 -2 0 -1 -3 0 0 0 0 0 0 13.38275805 0. -815987. 0. -1.
256 | 169 2 1 -2 0 -1 -2 0 0 0 0 0 0 13.38496445 0. -3671941. 0. -4.
257 | 170 3 1 -2 0 0 -2 0 0 0 0 0 0 13.38960627 826281. 0. 1. 0.
258 | 171 3 1 -2 0 0 -1 0 0 0 0 0 0 13.39181267 9723802. 0. -138488. 0.
259 | 172 3 1 -2 0 0 0 0 0 0 0 0 0 13.39401908 25024515. 0. 25. 0.
260 | 173 2 1 -2 0 0 0 1 0 0 0 0 0 13.39402104 0. 815987. 0. 1.
261 | 174 2 1 -2 0 1 -2 0 0 0 0 0 0 13.39424808 0. -5881344. 0. -319141.
262 | 175 2 1 -2 0 1 -1 0 0 0 0 0 0 13.39645449 0. 185177741. 0. 159753.
263 | 176 2 1 -2 0 1 0 0 0 0 0 0 0 13.39866089 0. 980956782. 0. -438401. Q1
264 | 177 3 1 -2 0 2 0 0 0 0 0 0 0 13.40330271 1534522. 0. 2. 0.
265 | 178 2 1 -2 0 3 0 0 0 0 0 0 0 13.40794452 0. -2719956. 0. -3.
266 | 179 2 1 -2 1 -1 0 1 0 0 0 0 0 13.43044787 0. -1683254. 0. 159566.
267 | 180 2 1 -2 1 0 -1 0 0 0 0 0 0 13.43288131 0. -951985. 0. -1.
268 | 181 2 1 -2 1 0 0 0 0 0 0 0 0 13.43508772 0. -5303915. 0. -5.
269 | 182 2 1 -2 1 1 -1 -1 0 0 0 0 0 13.43752117 0. 1495976. 0. 1.
270 | 183 2 1 -2 1 1 0 -1 0 0 0 0 0 13.43972757 0. 8975856. 0. 9.
271 | 184 2 1 -2 2 -1 -2 0 0 0 0 0 0 13.46710173 0. -951985. 0. -1.
272 | 185 2 1 -2 2 -1 -1 0 0 0 0 0 0 13.46930814 0. 35223434. 0. 35.
273 | 186 2 1 -2 2 -1 0 0 0 0 0 0 0 13.47151455 0. 186453002. 0. 186. RO1
274 | 187 3 1 -2 2 0 0 0 0 0 0 0 0 13.47615636 2124723. 0. 2. 0.
275 | 188 2 1 -2 2 1 0 0 0 0 0 0 0 13.48079817 0. -10743827. 0. -11.
276 | 189 2 1 -2 2 1 1 0 0 0 0 0 0 13.48300458 0. 3263948. 0. 3.
277 | 190 2 1 -2 3 -1 -1 -1 0 0 0 0 0 13.51037482 0. 1495976. 0. 1.
278 | 191 2 1 -2 3 -1 0 -1 0 0 0 0 0 13.51258123 0. 8567862. 0. 9.
279 | 192 2 1 -2 3 1 0 -1 0 0 0 0 0 13.52186485 0. -815987. 0. -1.
280 | 193 2 1 -2 4 -1 0 0 0 0 0 0 0 13.55365183 0. -2311963. 0. -2.
281 | 194 2 1 -1 -2 0 -2 0 0 0 0 0 0 13.85648551 0. -2175965. 0. -2.
282 | 195 2 1 -1 -2 2 -1 0 0 0 0 0 0 13.86797554 0. -2719956. 0. -3.
283 | 196 2 1 -1 -2 2 0 0 0 0 0 0 0 13.87018195 0. -15503751. 0. -16.
284 | 197 2 1 -1 -1 0 -1 1 0 0 0 0 0 13.89976252 0. -2175965. 0. -2.
285 | 198 2 1 -1 -1 0 0 1 0 0 0 0 0 13.90196892 0. -17543718. 0. -18.
286 | 199 2 1 -1 -1 1 0 0 0 0 0 0 0 13.90660877 0. 815987. 0. 1.
287 | 200 3 1 -1 0 -1 0 0 0 0 0 0 0 13.93839379 -1416482. 0. -1. 0.
288 | 201 2 1 -1 0 0 -2 0 0 0 0 0 0 13.93862279 0. -29647523. 0. -30.
289 | 202 2 1 -1 0 0 -1 0 0 0 0 0 0 13.94082919 0. 966705892. 0. 320102.
290 | 203 2 1 -1 0 0 0 0 0 0 0 0 0 13.94303560 0. 5123794876. 0. -2569901. O1
291 | 204 3 1 -1 0 1 -1 0 0 0 0 0 0 13.94547101 -2006683. 0. -2. 0.
292 | 205 3 1 -1 0 1 0 0 0 0 0 0 0 13.94767741 12748338. 0. 13. 0.
293 | 206 3 1 -1 0 1 1 0 0 0 0 0 0 13.94988382 -1664094. 0. 34127. 0.
294 | 207 2 1 -1 0 2 -1 0 0 0 0 0 0 13.95011282 0. 951985. 0. 1.
295 | 208 2 1 -1 0 2 0 0 0 0 0 0 0 13.95231923 0. -33268184. 0. -159601.
296 | 209 2 1 -1 0 2 1 0 0 0 0 0 0 13.95452563 0. -5524630. 0. -159573.
297 | 210 2 1 -1 1 0 -1 -1 0 0 0 0 0 13.98189587 0. 1326540. 0. -319134.
298 | 211 2 1 -1 1 0 0 -1 0 0 0 0 0 13.98410228 0. 14823762. 0. 15.
299 | 212 2 1 -1 2 -2 0 0 0 0 0 0 0 14.01588925 0. -2991952. 0. -3.
300 | 213 3 1 -1 2 -1 0 0 0 0 0 0 0 14.02053107 2596884. 0. 3. 0.
301 | 214 2 1 -1 2 0 -1 0 0 0 0 0 0 14.02296647 0. 1903969. 0. 2.
302 | 215 2 1 -1 2 0 0 0 0 0 0 0 0 14.02517288 0. -67046922. 0. -67. TAU1
303 | 216 2 1 -1 2 0 1 0 0 0 0 0 0 14.02737929 0. 14687764. 0. 15.
304 | 217 2 1 -1 2 0 2 0 0 0 0 0 0 14.02958569 0. 951985. 0. 1.
305 | 218 2 1 -1 3 0 0 -1 0 0 0 0 0 14.06623956 0. -4487928. 0. -4.
306 | 219 2 1 -1 4 -2 0 0 0 0 0 0 0 14.09802653 0. -1223980. 0. -1.
307 | 220 2 1 0 -3 1 0 1 0 0 0 0 0 14.37348998 0. -1767972. 0. -2.
308 | 221 2 1 0 -2 1 -1 0 0 0 0 0 0 14.41235025 0. -8567862. 0. -9.
309 | 222 2 1 0 -2 1 0 0 0 0 0 0 0 14.41455665 0. -38112825. 0. -319173.
310 | 223 2 1 0 -1 0 0 0 0 0 0 0 0 14.45098348 0. 815987. 0. 1.
311 | 224 2 1 0 -1 1 0 1 0 0 0 0 0 14.45562726 0. 1903969. 0. 2.
312 | 225 2 1 0 0 -1 -2 0 0 0 0 0 0 14.48299749 0. 2311963. 0. 2.
313 | 226 2 1 0 0 -1 -1 0 0 0 0 0 0 14.48520390 0. -26791569. 0. -27.
314 | 227 2 1 0 0 -1 0 0 0 0 0 0 0 14.48741031 0. -144814309. 0. 139762.
315 | 228 3 1 0 0 0 -1 0 0 0 0 0 0 14.48984571 -11567936. 0. -12. 0.
316 | 229 3 1 0 0 0 0 0 0 0 0 0 0 14.49205212 78024549. 0. 78. 0.
317 | 230 3 1 0 0 0 1 0 0 0 0 0 0 14.49425853 -10151454. 0. -10. 0.
318 | 231 2 1 0 0 1 -1 0 0 0 0 0 0 14.49448753 0. 11536452. 0. -139896.
319 | 232 2 1 0 0 1 0 0 0 0 0 0 0 14.49669393 0. -402914796. 0. 279411. M1
320 | 233 2 1 0 0 1 1 0 0 0 0 0 0 14.49890034 0. -80918699. 0. -81.
321 | 234 2 1 0 0 1 2 0 0 0 0 0 0 14.50110675 0. 2237321. 0. 19663.
322 | 235 2 1 0 1 0 0 0 0 0 0 0 0 14.53312076 0. 2396681. 0. 159570.
323 | 236 2 1 0 1 1 0 -1 0 0 0 0 0 14.53776061 0. -2583958. 0. -3.
324 | 237 2 1 0 2 -1 -1 0 0 0 0 0 0 14.56734118 0. 2175965. 0. 2.
325 | 238 2 1 0 2 -1 0 0 0 0 0 0 0 14.56954759 0. -77097474. 0. -39398. CHI1
326 | 239 2 1 0 2 -1 1 0 0 0 0 0 0 14.57175399 0. -17084444. 0. -159585.
327 | 240 2 1 0 3 -1 0 -1 0 0 0 0 0 14.61061427 0. -3263948. 0. -3.
328 | 241 2 1 0 3 -1 1 -1 0 0 0 0 0 14.61282067 0. -815987. 0. -1.
329 | 242 2 1 1 -4 0 0 2 0 0 0 0 0 14.87679800 0. 5711908. 0. 6.
330 | 243 2 1 1 -3 0 -1 1 0 0 0 0 0 14.91565828 0. -1223980. 0. -1.
331 | 244 2 1 1 -3 0 0 1 0 0 0 0 0 14.91786468 0. 139402315. 0. -439242. PI1
332 | 245 2 1 1 -2 0 -2 0 0 0 0 0 0 14.95451855 0. 1903969. 0. 2.
333 | 246 2 1 1 -2 0 -1 0 0 0 0 0 0 14.95672495 0. -26791569. 0. -27.
334 | 247 2 1 1 -2 0 0 0 0 0 0 0 0 14.95893136 0. 2384415254. 0. -1374742. P1
335 | 248 2 1 1 -2 0 0 2 0 0 0 0 0 14.95893528 0. -951985. 0. -1.
336 | 249 3 1 1 -2 1 0 0 0 0 0 0 0 14.96357317 826281. 0. 1. 0.
337 | 250 2 1 1 -2 2 0 0 0 0 0 0 0 14.96821499 0. -3597299. 0. -19664.
338 | 251 2 1 1 -2 2 1 0 0 0 0 0 0 14.97042139 0. -815987. 0. -1.
339 | 252 2 1 1 -1 0 0 -1 0 0 0 0 0 14.99999804 0. -20053035. 0. -19680.
340 | 253 2 1 1 -1 0 0 1 0 0 0 0 0 15.00000196 0. -56269657. 0. 319079. S1
341 | 254 2 1 1 -1 0 1 1 0 0 0 0 0 15.00220837 0. 1495976. 0. 1.
342 | 255 2 1 1 0 -2 -1 0 0 0 0 0 0 15.02957861 0. -1359978. 0. -1.
343 | 256 3 1 1 0 -1 -1 0 0 0 0 0 0 15.03422042 -590201. 0. -1. 0.
344 | 257 3 1 1 0 -1 0 0 0 0 0 0 0 15.03642683 4249446. 0. 4. 0.
345 | 258 2 1 1 0 0 -2 0 0 0 0 0 0 15.03665583 0. -975346. 0. -139908.
346 | 259 3 1 1 0 -1 1 0 0 0 0 0 0 15.03863323 -590201. 0. -1. 0.
347 | 260 2 1 1 0 0 -1 0 0 0 0 0 0 15.03886223 0. 142614982. 0. -279672.
348 | 261 2 1 1 0 0 0 0 0 0 0 0 0 15.04106864 0.-7206347228. 0. 3046521. K1
349 | 262 2 1 1 0 0 1 0 0 0 0 0 0 15.04327505 0. -977500999. 0. -160545.
350 | 263 2 1 1 0 0 2 0 0 0 0 0 0 15.04548145 0. 21079661. 0. 21.
351 | 264 3 1 1 0 1 0 0 0 0 0 0 0 15.04571045 1534522. 0. 2. 0.
352 | 265 3 1 1 0 1 1 0 0 0 0 0 0 15.04791686 590201. 0. 1. 0.
353 | 266 2 1 1 1 0 0 -1 0 0 0 0 0 15.08213532 0. -57085644. 0. 319078. PSI1
354 | 267 2 1 1 1 0 1 -1 0 0 0 0 0 15.08434173 0. -951985. 0. -1.
355 | 268 2 1 1 2 -2 0 0 0 0 0 0 0 15.11392229 0. -3535943. 0. -4.
356 | 269 2 1 1 2 -2 1 0 0 0 0 0 0 15.11612870 0. -951985. 0. -1.
357 | 270 2 1 1 2 0 0 -2 0 0 0 0 0 15.12320200 0. -1359978. 0. -1.
358 | 271 2 1 1 2 0 0 0 0 0 0 0 0 15.12320592 0. -102372915. 0. 319033. FI1
359 | 272 2 1 1 2 0 1 0 0 0 0 0 0 15.12541233 0. 3943937. 0. 4.
360 | 273 2 1 1 2 0 2 0 0 0 0 0 0 15.12761873 0. 1903969. 0. 2.
361 | 274 2 1 1 3 0 0 -1 0 0 0 0 0 15.16427260 0. -6119902. 0. -6.
362 | 275 2 1 2 -3 1 0 1 0 0 0 0 0 15.47152302 0. -3263948. 0. -3.
363 | 276 2 1 2 -2 -1 -1 0 0 0 0 0 0 15.50109966 0. -2311963. 0. -2.
364 | 277 3 1 2 -2 0 0 0 0 0 0 0 0 15.50794788 944321. 0. 1. 0.
365 | 278 2 1 2 -2 1 -1 0 0 0 0 0 0 15.51038329 0. 2265240. 0. -279812.
366 | 279 2 1 2 -2 1 0 0 0 0 0 0 0 15.51258969 0. -77124046. 0. 39243. THE1
367 | 280 2 1 2 -2 1 1 0 0 0 0 0 0 15.51479610 0. -15231755. 0. -15.
368 | 281 2 1 2 -1 -1 0 1 0 0 0 0 0 15.54437667 0. -2142527. 0. 319133.
369 | 282 2 1 2 -1 0 0 0 0 0 0 0 0 15.54901652 0. 2335324. 0. 139910.
370 | 283 2 1 2 0 -1 -1 0 0 0 0 0 0 15.58323694 0. 11649089. 0. -279803.
371 | 284 2 1 2 0 -1 0 0 0 0 0 0 0 15.58544335 0. -402792084. 0. 318732. J1
372 | 285 2 1 2 0 -1 1 0 0 0 0 0 0 15.58764975 0. -79966714. 0. -80.
373 | 286 3 1 2 0 0 -1 0 0 0 0 0 0 15.58787875 -944321. 0. -1. 0.
374 | 287 2 1 2 0 -1 2 0 0 0 0 0 0 15.58985616 0. 1205175. 0. -579288.
375 | 288 3 1 2 0 0 0 0 0 0 0 0 0 15.59008516 28565720. 0. 29. 0.
376 | 289 3 1 2 0 0 1 0 0 0 0 0 0 15.59229157 11567936. 0. 12. 0.
377 | 290 3 1 2 0 0 2 0 0 0 0 0 0 15.59449797 944321. 0. 1. 0.
378 | 291 2 1 2 0 1 0 0 0 0 0 0 0 15.59472697 0. 6255899. 0. 6.
379 | 292 2 1 2 0 1 1 0 0 0 0 0 0 15.59693338 0. 3943937. 0. 4.
380 | 293 2 1 2 0 1 2 0 0 0 0 0 0 15.59913979 0. 2311963. 0. 2.
381 | 294 2 1 2 1 -1 0 -1 0 0 0 0 0 15.62651003 0. 2053253. 0. -39319.
382 | 295 2 1 2 2 -1 0 0 0 0 0 0 0 15.66758063 0. 1495976. 0. 1.
383 | 296 2 1 2 2 -1 1 0 0 0 0 0 0 15.66978703 0. 1223980. 0. 1.
384 | 297 2 1 3 -4 2 0 0 0 0 0 0 0 15.98411075 0. -1223980. 0. -1.
385 | 298 2 1 3 -3 0 0 1 0 0 0 0 0 16.01589772 0. -4487928. 0. -4.
386 | 299 2 1 3 -3 0 1 1 0 0 0 0 0 16.01810413 0. -815987. 0. -1.
387 | 300 2 1 3 -2 0 -1 0 0 0 0 0 0 16.05475799 0. -2175965. 0. -2.
388 | 301 2 1 3 -2 0 0 0 0 0 0 0 0 16.05696440 0. -66774926. 0. -67. SO1
389 | 302 2 1 3 -2 0 1 0 0 0 0 0 0 16.05917081 0. -13055790. 0. -13.
390 | 303 3 1 3 -2 1 0 0 0 0 0 0 0 16.06160621 944321. 0. 1. 0.
391 | 304 2 1 3 -1 0 0 -1 0 0 0 0 0 16.09803108 0. 1359978. 0. 1.
392 | 305 2 1 3 0 -2 -1 0 0 0 0 0 0 16.12761165 0. 815987. 0. 1.
393 | 306 2 1 3 0 -2 0 0 0 0 0 0 0 16.12981805 0. -33047469. 0. -33.
394 | 307 2 1 3 0 -2 1 0 0 0 0 0 0 16.13202446 0. -6833328. 0. -319142.
395 | 308 3 1 3 0 -1 0 0 0 0 0 0 0 16.13445987 4721607. 0. 5. 0.
396 | 309 3 1 3 0 -1 1 0 0 0 0 0 0 16.13666627 2006683. 0. 2. 0.
397 | 310 2 1 3 0 0 0 0 0 0 0 0 0 16.13910168 0. -220639733. 0. 159347. OO1
398 | 311 2 1 3 0 0 1 0 0 0 0 0 0 16.14130809 0. -141301728. 0. -141.
399 | 312 2 1 3 0 0 2 0 0 0 0 0 0 16.14351449 0. -29511525. 0. -30.
400 | 313 2 1 3 0 0 3 0 0 0 0 0 0 16.14572090 0. -1903969. 0. -2.
401 | 314 2 1 3 1 0 0 -1 0 0 0 0 0 16.18016836 0. 815987. 0. 1.
402 | 315 2 1 4 -4 1 0 0 0 0 0 0 0 16.52848545 0. -1903969. 0. -2.
403 | 316 2 1 4 -3 -1 0 1 0 0 0 0 0 16.56027243 0. -815987. 0. -1.
404 | 317 2 1 4 -2 -1 0 0 0 0 0 0 0 16.60133911 0. -10607829. 0. -11.
405 | 318 2 1 4 -2 -1 1 0 0 0 0 0 0 16.60354551 0. -2175965. 0. -2.
406 | 319 3 1 4 -2 0 0 0 0 0 0 0 0 16.60598092 826281. 0. 1. 0.
407 | 320 2 1 4 -2 1 0 0 0 0 0 0 0 16.61062273 0. -8023871. 0. -8.
408 | 321 2 1 4 -2 1 1 0 0 0 0 0 0 16.61282914 0. -5031919. 0. -5.
409 | 322 2 1 4 -2 1 2 0 0 0 0 0 0 16.61503555 0. -951985. 0. -1.
410 | 323 2 1 4 0 -3 0 0 0 0 0 0 0 16.67419276 0. -2583958. 0. -3.
411 | 324 2 1 4 0 -1 0 0 0 0 0 0 0 16.68347639 0. -41989886. 0. 319093. V1
412 | 325 2 1 4 0 -1 1 0 0 0 0 0 0 16.68568279 0. -26758131. 0. 319108.
413 | 326 2 1 4 0 -1 2 0 0 0 0 0 0 16.68788920 0. -5711908. 0. -6.
414 | 327 3 1 4 0 0 0 0 0 0 0 0 0 16.68811820 797259. 0. -276994. 0.
415 | 328 3 1 4 0 0 1 0 0 0 0 0 0 16.69032461 944321. 0. 1. 0.
416 | 329 2 1 5 -2 0 0 0 0 0 0 0 0 17.15499744 0. -6799891. 0. -7.
417 | 330 2 1 5 -2 0 1 0 0 0 0 0 0 17.15720385 0. -4351930. 0. -4.
418 | 331 2 1 5 0 -2 0 0 0 0 0 0 0 17.22785109 0. -5575910. 0. -6.
419 | 332 2 1 5 0 -2 1 0 0 0 0 0 0 17.23005750 0. -3671941. 0. -4.
420 | 333 2 1 6 -2 -1 0 0 0 0 0 0 0 17.69937215 0. -1631974. 0. -2.
421 | 334 2 2 -5 2 3 0 0 0 0 0 0 0 26.33508436 2039967. 0. 2. 0.
422 | 335 2 2 -5 4 1 0 0 0 0 0 0 0 26.40793801 2447961. 0. 2. 0.
423 | 336 2 2 -4 0 4 0 0 0 0 0 0 0 26.80660542 3671941. 0. 4. 0.
424 | 337 3 2 -4 2 1 0 0 0 0 0 0 0 26.87481725 0. -1201925. 0. -1.
425 | 338 2 2 -4 2 2 0 0 0 0 0 0 0 26.87945907 15316473. 0. 159583. 0.
426 | 339 2 2 -4 3 2 0 -1 0 0 0 0 0 26.92052575 1223980. 0. 1. 0.
427 | 340 2 2 -4 4 0 0 0 0 0 0 0 0 26.95231272 9383849. 0. 9. 0.
428 | 341 2 2 -4 5 0 0 -1 0 0 0 0 0 26.99337940 1223980. 0. 1. 0.
429 | 342 3 2 -3 0 2 0 0 0 0 0 0 0 27.34633831 0. -3472227. 0. -3.
430 | 343 2 2 -3 0 3 -1 0 0 0 0 0 0 27.34877371 -1359978. 0. -1. 0.
431 | 344 2 2 -3 0 3 0 0 0 0 0 0 0 27.35098012 35223434. 0. 35. 0. 3N2
432 | 345 2 2 -3 1 1 0 1 0 0 0 0 0 27.38276710 -1767972. 0. -2. 0.
433 | 346 2 2 -3 1 3 0 -1 0 0 0 0 0 27.39204680 815987. 0. 1. 0.
434 | 347 3 2 -3 2 0 -1 0 0 0 0 0 0 27.41698555 0. -534189. 0. -1.
435 | 348 3 2 -3 2 0 0 0 0 0 0 0 0 27.41919196 0. -3305845. 0. 313381.
436 | 349 2 2 -3 2 1 -1 0 0 0 0 0 0 27.42162737 -3263948. 0. -3. 0.
437 | 350 2 2 -3 2 1 0 0 0 0 0 0 0 27.42383377 91254532. 0. 91. 0. EPS2
438 | 351 2 2 -3 3 1 0 -1 0 0 0 0 0 27.46490045 7071886. 0. 7. 0.
439 | 352 2 2 -3 4 -1 -1 0 0 0 0 0 0 27.49448102 -543991. 0. -1. 0.
440 | 353 2 2 -3 4 -1 0 0 0 0 0 0 0 27.49668743 17543718. 0. 18. 0.
441 | 354 2 2 -3 5 -1 0 -1 0 0 0 0 0 27.53775411 1903969. 0. 2. 0.
442 | 355 2 2 -2 -2 4 0 0 0 0 0 0 0 27.82250117 -1223980. 0. -1. 0.
443 | 356 2 2 -2 -1 2 0 1 0 0 0 0 0 27.85428815 -4351930. 0. -4. 0.
444 | 357 2 2 -2 0 0 -2 0 0 0 0 0 0 27.88165839 -1903969. 0. -2. 0.
445 | 358 3 2 -2 0 1 -1 0 0 0 0 0 0 27.88850661 0. -3472227. 0. -3.
446 | 359 3 2 -2 0 1 0 0 0 0 0 0 0 27.89071301 0. -20966911. 0. -21.
447 | 360 2 2 -2 0 2 -1 0 0 0 0 0 0 27.89314842 -11695812. 0. -12. 0.
448 | 361 2 2 -2 0 2 0 0 0 0 0 0 0 27.89535483 312930968. 0. 313. 0. 2N2
449 | 362 2 2 -2 1 0 0 1 0 0 0 0 0 27.92714180 -5303915. 0. -5. 0.
450 | 363 2 2 -2 1 1 0 0 0 0 0 0 0 27.93178165 -3263948. 0. -3. 0.
451 | 364 2 2 -2 1 2 0 -1 0 0 0 0 0 27.93642151 4895921. 0. 5. 0.
452 | 365 3 2 -2 2 -1 -1 0 0 0 0 0 0 27.96136026 0. -534189. 0. -1.
453 | 366 3 2 -2 2 -1 0 0 0 0 0 0 0 27.96356667 0. -3872869. 0. -4.
454 | 367 2 2 -2 2 0 -1 0 0 0 0 0 0 27.96600207 -14007775. 0. -14. 0.
455 | 368 2 2 -2 2 0 0 0 0 0 0 0 0 27.96820848 377529929. 0. 378. 0. MI2
456 | 369 2 2 -2 3 -1 0 0 0 0 0 0 0 28.00463531 -792625. 0. 139906. 0.
457 | 370 2 2 -2 3 0 -1 -1 0 0 0 0 0 28.00706875 -951985. 0. -1. 0.
458 | 371 2 2 -2 3 0 0 -1 0 0 0 0 0 28.00927516 25408229. 0. -139882. 0.
459 | 372 2 2 -2 4 -2 0 0 0 0 0 0 0 28.04106213 11559814. 0. 12. 0.
460 | 373 2 2 -2 4 0 0 -2 0 0 0 0 0 28.05034184 951985. 0. 1. 0.
461 | 374 2 2 -2 5 -2 0 -1 0 0 0 0 0 28.08212881 951985. 0. 1. 0.
462 | 375 2 2 -1 -2 1 -2 0 0 0 0 0 0 28.35317944 -1903969. 0. -2. 0.
463 | 376 2 2 -1 -2 3 0 0 0 0 0 0 0 28.36687588 -7615878. 0. -8. 0.
464 | 377 2 2 -1 -1 1 -1 1 0 0 0 0 0 28.39645645 543991. 0. 1. 0.
465 | 378 2 2 -1 -1 1 0 1 0 0 0 0 0 28.39866286 -19991679. 0. -20. 0.
466 | 379 2 2 -1 0 -1 -2 0 0 0 0 0 0 28.42603309 -9247851. 0. -9. 0.
467 | 380 3 2 -1 0 0 -2 0 0 0 0 0 0 28.43067491 0. 654690. 0. 38613.
468 | 381 3 2 -1 0 0 -1 0 0 0 0 0 0 28.43288131 0. -12954079. 0. -13.
469 | 382 3 2 -1 0 0 0 0 0 0 0 0 0 28.43508772 0. -75988357. 0. -76.
470 | 383 2 2 -1 0 0 0 1 0 0 0 0 0 28.43508968 1842613. 0. -19658. 0.
471 | 384 2 2 -1 0 1 -2 0 0 0 0 0 0 28.43531672 1383340. 0. 139909. 0.
472 | 385 2 2 -1 0 1 -1 0 0 0 0 0 0 28.43752313 -87957147. 0. 319047. 0.
473 | 386 2 2 -1 0 1 0 0 0 0 0 0 0 28.43972953 2364776695. 0. 282179. 0. N2
474 | 387 3 2 -1 0 2 0 0 0 0 0 0 0 28.44437135 0. 1335472. 0. 1.
475 | 388 2 2 -1 1 -1 0 1 0 0 0 0 0 28.47151651 -4267212. 0. 159563. 0.
476 | 389 2 2 -1 1 0 0 0 0 0 0 0 0 28.47615636 -12647797. 0. -13. 0.
477 | 390 2 2 -1 1 1 -1 -1 0 0 0 0 0 28.47858981 -815987. 0. -1. 0.
478 | 391 2 2 -1 1 1 0 -1 0 0 0 0 0 28.48079621 22031646. 0. 22. 0.
479 | 392 2 2 -1 2 -1 -1 0 0 0 0 0 0 28.51037678 -16863729. 0. -17. 0.
480 | 393 2 2 -1 2 -1 0 0 0 0 0 0 0 28.51258319 449200776. 0. 449. 0. NI2
481 | 394 3 2 -1 2 0 0 0 0 0 0 0 0 28.51722500 0. 2003208. 0. 2.
482 | 395 2 2 -1 2 1 0 0 0 0 0 0 0 28.52186681 1903969. 0. 2. 0.
483 | 396 2 2 -1 2 1 1 0 0 0 0 0 0 28.52407322 -1495976. 0. -1. 0.
484 | 397 2 2 -1 3 -1 -1 -1 0 0 0 0 0 28.55144346 -815987. 0. -1. 0.
485 | 398 2 2 -1 3 -1 0 -1 0 0 0 0 0 28.55364987 20671668. 0. 21. 0.
486 | 399 2 2 0 -3 2 0 1 0 0 0 0 0 28.87018391 -1495976. 0. -1. 0.
487 | 400 2 2 0 -2 0 -2 0 0 0 0 0 0 28.89755415 -5463274. 0. -139913. 0.
488 | 401 3 2 0 -2 1 0 0 0 0 0 0 0 28.90660877 0. 934830. 0. 1.
489 | 402 2 2 0 -2 2 -1 0 0 0 0 0 0 28.90904418 1359978. 0. 1. 0.
490 | 403 2 2 0 -2 2 0 0 0 0 0 0 0 28.91125059 -37127403. 0. -37. 0. GAM2
491 | 404 2 2 0 -1 0 -1 1 0 0 0 0 0 28.94083116 951985. 0. 1. 0.
492 | 405 2 2 0 -1 0 0 1 0 0 0 0 0 28.94303756 -42567315. 0. -43. 0. ALF2
493 | 406 2 2 0 -1 1 0 0 0 0 0 0 0 28.94767741 1683254. 0. -159566. 0.
494 | 407 3 2 0 0 -1 -1 0 0 0 0 0 0 28.97725602 0. 801283. 0. 1.
495 | 408 3 2 0 0 -1 0 0 0 0 0 0 0 28.97946243 0. 4273510. 0. 4.
496 | 409 2 2 0 0 0 -2 0 0 0 0 0 0 28.97969143 6391897. 0. 6. 0.
497 | 410 2 2 0 0 0 -1 0 0 0 0 0 0 28.98189783 -460873226. 0. 139446. 0.
498 | 411 2 2 0 0 0 0 0 0 0 0 0 0 28.9841042412350975697. 0. 1090003. 0. M2
499 | 412 3 2 0 0 1 -1 0 0 0 0 0 0 28.98653965 0. -534189. 0. -1.
500 | 413 3 2 0 0 1 0 0 0 0 0 0 0 28.98874605 0. 11485059. 0. 11.
501 | 414 3 2 0 0 1 1 0 0 0 0 0 0 28.99095246 0. 2136755. 0. 2.
502 | 415 2 2 0 0 2 0 0 0 0 0 0 0 28.99338787 7207884. 0. 7. 0.
503 | 416 2 2 0 0 2 1 0 0 0 0 0 0 28.99559427 2583958. 0. 3. 0.
504 | 417 2 2 0 1 0 -1 -1 0 0 0 0 0 29.02296451 -815987. 0. -1. 0.
505 | 418 2 2 0 1 0 0 -1 0 0 0 0 0 29.02517092 37450679. 0. -159530. 0. BET2
506 | 419 2 2 0 2 -2 0 0 0 0 0 0 0 29.05695789 -7071886. 0. -7. 0.
507 | 420 3 2 0 2 -1 0 0 0 0 0 0 0 29.06159971 0. 2136755. 0. 2.
508 | 421 2 2 0 2 0 0 0 0 0 0 0 0 29.06624152 14007775. 0. 14. 0. DLT2
509 | 422 2 2 0 2 0 1 0 0 0 0 0 0 29.06844793 -7071886. 0. -7. 0.
510 | 423 2 2 0 2 0 2 0 0 0 0 0 0 29.07065433 2311963. 0. 2. 0.
511 | 424 2 2 0 3 0 0 -1 0 0 0 0 0 29.10730820 951985. 0. 1. 0.
512 | 425 2 2 1 -3 1 0 1 0 0 0 0 0 29.41455862 -4351930. 0. -4. 0.
513 | 426 2 2 1 -2 1 -1 0 0 0 0 0 0 29.45341889 4079934. 0. 4. 0.
514 | 427 2 2 1 -2 1 0 0 0 0 0 0 0 29.45562529 -91118535. 0. -91. 0. LMB2
515 | 428 2 2 1 -1 -1 0 1 0 0 0 0 0 29.48741227 -1359978. 0. -1. 0.
516 | 429 2 2 1 -1 0 0 0 0 0 0 0 0 29.49205212 2175965. 0. 2. 0.
517 | 430 2 2 1 0 -1 -1 0 0 0 0 0 0 29.52627254 12966516. 0. 279827. 0.
518 | 431 2 2 1 0 -1 0 0 0 0 0 0 0 29.52847895 -349106386. 0. -349. 0. L2
519 | 432 3 2 1 0 0 -1 0 0 0 0 0 0 29.53091435 0. -4139963. 0. -4.
520 | 433 3 2 1 0 0 0 0 0 0 0 0 0 29.53312076 0. 70112281. 0. 70.
521 | 434 3 2 1 0 0 1 0 0 0 0 0 0 29.53532717 0. 13354720. 0. 13.
522 | 435 2 2 1 0 1 -1 0 0 0 0 0 0 29.53555617 -1326540. 0. 319134. 0.
523 | 436 2 2 1 0 1 0 0 0 0 0 0 0 29.53776257 87310596. 0. 87. 0.
524 | 437 2 2 1 0 1 1 0 0 0 0 0 0 29.53996898 38487381. 0. 38. 0.
525 | 438 2 2 1 0 1 2 0 0 0 0 0 0 29.54217539 5439913. 0. 5. 0.
526 | 439 2 2 1 2 -1 0 0 0 0 0 0 0 29.61061623 16741017. 0. -39304. 0.
527 | 440 2 2 1 2 -1 1 0 0 0 0 0 0 29.61282263 8023871. 0. 8. 0.
528 | 441 2 2 1 2 -1 2 0 0 0 0 0 0 29.61502904 951985. 0. 1. 0.
529 | 442 2 2 2 -4 0 0 2 0 0 0 0 0 29.91786664 13735779. 0. 14. 0. 2T2
530 | 443 2 2 2 -3 0 0 1 0 0 0 0 0 29.95893332 335862355. 0. -898088. 0. T2
531 | 444 2 2 2 -2 0 -1 0 0 0 0 0 0 29.99779359 12919792. 0. 13. 0.
532 | 445 2 2 2 -2 0 0 0 0 0 0 0 0 30.00000000 5746198398. 0. 585035. 0. S2
533 | 446 3 2 2 -2 1 0 0 0 0 0 0 0 30.00464181 0. 801283. 0. 1.
534 | 447 2 2 2 -2 2 0 0 0 0 0 0 0 30.00928363 815987. 0. 1. 0.
535 | 448 2 2 2 -1 0 0 -1 0 0 0 0 0 30.04106668 -48058508. 0. 159519. 0. R2
536 | 449 2 2 2 -1 0 0 1 0 0 0 0 0 30.04107060 11934370. 0. -319123. 0.
537 | 450 2 2 2 -1 0 1 1 0 0 0 0 0 30.04327701 -815987. 0. -1. 0.
538 | 451 3 2 2 0 -1 0 0 0 0 0 0 0 30.07749547 0. 3739322. 0. 4.
539 | 452 3 2 2 0 -1 1 0 0 0 0 0 0 30.07970187 0. 801283. 0. 1.
540 | 453 2 2 2 0 0 -1 0 0 0 0 0 0 30.07993087 -19906961. 0. 159548. 0.
541 | 454 2 2 2 0 0 0 0 0 0 0 0 0 30.08213728 1562210472. 0. -1495811. 0. K2
542 | 455 2 2 2 0 0 1 0 0 0 0 0 0 30.08434369 465707792. 0. -159102. 0.
543 | 456 2 2 2 0 0 2 0 0 0 0 0 0 30.08655009 50591186. 0. 51. 0.
544 | 457 2 2 2 1 0 0 -1 0 0 0 0 0 30.12320396 12375801. 0. 12. 0.
545 | 458 2 2 2 2 -2 0 0 0 0 0 0 0 30.15499093 815987. 0. 1. 0.
546 | 459 2 2 2 2 0 0 0 0 0 0 0 0 30.16427456 10335834. 0. 10. 0.
547 | 460 2 2 3 -3 1 0 1 0 0 0 0 0 30.51259166 815987. 0. 1. 0.
548 | 461 2 2 3 -2 -1 -1 0 0 0 0 0 0 30.54216830 1223980. 0. 1. 0.
549 | 462 2 2 3 -2 -1 0 0 0 0 0 0 0 30.54437471 815987. 0. 1. 0.
550 | 463 3 2 3 -2 0 0 0 0 0 0 0 0 30.54901652 0. 801283. 0. 1.
551 | 464 2 2 3 -2 1 0 0 0 0 0 0 0 30.55365833 16863729. 0. 17. 0. KSI2
552 | 465 2 2 3 -2 1 1 0 0 0 0 0 0 30.55586474 7207884. 0. 7. 0.
553 | 466 2 2 3 -2 1 2 0 0 0 0 0 0 30.55807115 815987. 0. 1. 0.
554 | 467 2 2 3 0 -1 -1 0 0 0 0 0 0 30.62430558 -1937407. 0. -319137. 0.
555 | 468 2 2 3 0 -1 0 0 0 0 0 0 0 30.62651199 87310596. 0. 87. 0. ETA2
556 | 469 2 2 3 0 -1 1 0 0 0 0 0 0 30.62871839 38079388. 0. 38. 0.
557 | 470 2 2 3 0 -1 2 0 0 0 0 0 0 30.63092480 4398653. 0. 279819. 0.
558 | 471 3 2 3 0 0 0 0 0 0 0 0 0 30.63115380 0. 6410266. 0. 6.
559 | 472 3 2 3 0 0 1 0 0 0 0 0 0 30.63336021 0. 4139963. 0. 4.
560 | 473 3 2 3 0 0 2 0 0 0 0 0 0 30.63556661 0. 801283. 0. 1.
561 | 474 2 2 3 0 1 0 0 0 0 0 0 0 30.63579561 -543991. 0. -1. 0.
562 | 475 2 2 4 -3 0 0 1 0 0 0 0 0 31.05696636 951985. 0. 1. 0.
563 | 476 2 2 4 -2 0 0 0 0 0 0 0 0 31.09803304 14415768. 0. 14. 0.
564 | 477 2 2 4 -2 0 1 0 0 0 0 0 0 31.10023945 6255899. 0. 6. 0.
565 | 478 2 2 4 -2 0 2 0 0 0 0 0 0 31.10244585 543991. 0. 1. 0.
566 | 479 2 2 4 0 -2 0 0 0 0 0 0 0 31.17088669 7207884. 0. 7. 0.
567 | 480 2 2 4 0 -2 1 0 0 0 0 0 0 31.17309310 3127950. 0. 3. 0.
568 | 481 3 2 4 0 -1 0 0 0 0 0 0 0 31.17552851 0. 934830. 0. 1.
569 | 482 2 2 4 0 0 0 0 0 0 0 0 0 31.18017032 22847633. 0. 23. 0.
570 | 483 2 2 4 0 0 1 0 0 0 0 0 0 31.18237673 19672960. 0. -279795. 0.
571 | 484 2 2 4 0 0 2 0 0 0 0 0 0 31.18458313 6391897. 0. 6. 0.
572 | 485 2 2 4 0 0 3 0 0 0 0 0 0 31.18678954 951985. 0. 1. 0.
573 | 486 2 2 5 -2 -1 0 0 0 0 0 0 0 31.64240775 2311963. 0. 2. 0.
574 | 487 2 2 5 0 -1 0 0 0 0 0 0 0 31.72454503 4351930. 0. 4. 0.
575 | 488 2 2 5 0 -1 1 0 0 0 0 0 0 31.72675143 3807939. 0. 4. 0.
576 | 489 3 3 -3 2 1 0 0 0 0 0 0 0 41.91588589 -2140462. 0. -2. 0.
577 | 490 3 3 -2 0 2 0 0 0 0 0 0 0 42.38740695 -7255275. 0. -147738. 0.
578 | 491 3 3 -2 2 0 0 0 0 0 0 0 0 42.46026060 -7176842. 0. -7. 0.
579 | 492 3 3 -1 0 1 -1 0 0 0 0 0 0 42.92957525 2392281. 0. 2. 0.
580 | 493 3 3 -1 0 1 0 0 0 0 0 0 0 42.93178165 -41046500. 0. -41. 0.
581 | 494 3 3 -1 2 -1 0 0 0 0 0 0 0 43.00463531 -7554571. 0. -8. 0.
582 | 495 3 3 0 -2 2 0 0 0 0 0 0 0 43.40330271 1007276. 0. 1. 0.
583 | 496 3 3 0 0 0 -1 0 0 0 0 0 0 43.47394995 8435937. 0. 8. 0.
584 | 497 3 3 0 0 0 0 0 0 0 0 0 0 43.47615636 -149454587. 0. -149. 0. M3
585 | 498 3 3 1 -2 1 0 0 0 0 0 0 0 43.94767741 2140462. 0. 2. 0.
586 | 499 3 3 1 0 -1 0 0 0 0 0 0 0 44.02053107 8435937. 0. 8. 0.
587 | 500 3 3 1 0 1 0 0 0 0 0 0 0 44.02981469 -3147738. 0. -3. 0.
588 | 501 3 3 1 0 1 1 0 0 0 0 0 0 44.03202110 -1385005. 0. -1. 0.
589 | 502 3 3 2 0 0 -1 0 0 0 0 0 0 44.57198299 755457. 0. 1. 0.
590 | 503 3 3 2 0 0 0 0 0 0 0 0 0 44.57418940 -19515974. 0. -20. 0.
591 | 504 3 3 2 0 0 1 0 0 0 0 0 0 44.57639581 -8414308. 0. 129520. 0.
592 | 505 3 3 2 0 0 2 0 0 0 0 0 0 44.57860221 -1007276. 0. -1. 0.
593 | 999999
594 |
--------------------------------------------------------------------------------
/pygtide/commdat/doodsehw.dat:
--------------------------------------------------------------------------------
1 | File: DOODSEHW.DAT
2 | Status: 19950628
3 | Contents: Tidal potential catalogue of Doodson (1921) transformed into
4 | HW95 normalization and format by Hans-Georg Wenzel, May 1995.
5 | Darwin names added in June 1995.
6 |
7 | Reference: Doodson, A.T. (1921): The harmonic development of the
8 | tide generating potential. Prpceedings of the Royal
9 | Society, series A100, 306-328, London 1921. Reprint in
10 | International Hydrographic Revue vol.31 no.1, Monaco 1954.
11 |
12 |
13 | Format of the file:
14 |
15 | Col. 1... 6: sequence number (1...378). The end of this files is
16 | marked by a sequence number of 999999.
17 | Col. 7... 9: body generating the potential. MO = Moon, SU = Sun,
18 | ME = Mercury, VE= Venus, MA = Mars, JU= Jupiter,
19 | SA = Saturn, FM = quadrupole moment of the Earth on Moon,
20 | FS = quadrupole moment of the Earth on Sun.
21 | Col. 10... 11: l = degree of the spherical harmonic development.
22 | Col. 12... 14: m = order of the spherical harmonic development,
23 | equal
24 | k1 = integer argument number for the mean local Moontime,
25 | period 24 hours 50 min.
26 | Col. 15... 17: k2 = integer argument number for the mean longitude of the
27 | Moon, period 27.3 days.
28 | Col. 18... 20: k3 = integer argument number for the mean longitude of the
29 | Sun, period 365.25 days.
30 | Col. 21... 23: k4 = integer argument number for the mean longitude of the
31 | lunar perigee, period 8.8 years.
32 | Col. 24... 26: k5 = integer argument number for the negative mean longitude
33 | of the lunar ascending node, period 18.6 years.
34 | Col. 27... 29: k6 = integer argument number for the mean longitude of the
35 | solar perigee, period 20942 years.
36 | Col. 30... 32: k7 = integer argument number for the mean longitude of Mercury,
37 | period 88 days.
38 | Col. 33... 35: k8 = integer argument number for the mean longitude of Venus,
39 | period 225 days.
40 | Col. 36... 38: k9 = integer argument number for the mean longitude of Mars,
41 | period 1.88 years.
42 | Col. 39... 41: k10= integer argument number for the mean longitude of Jupiter,
43 | period 11.86 years.
44 | Col. 42... 44: k11= integer argument number for the mean longitude of Saturn,
45 | period 29.4 years.
46 | Col. 45... 56: fr= frequency of the tidal wave at J2000 in degree per hour.
47 | Col. 57... 68: C0 = COS-coefficient of the tidal potential in
48 | 10**-10 m**2/s**2. The C0 coefficient has to be multiplied
49 | with the COS of the argument.
50 | Col. 69... 80: S0 = SIN-coefficient of the tidal potential in
51 | 10**-10 m**2/s**2. The S0 coefficient has to be multiplied
52 | with the SIN of the argument.
53 | Col. 81... 90: C1 = t*COS-coefficent of the tidal potential in 10**-10
54 | m**2/s**2 per Julian century. The C1 coefficient has to
55 | be multiplied with the time difference between the epoch
56 | and J2000 (in Julian centuries) and with the COS of
57 | the argument.
58 | Col. 91...100: S1 = t*SIN-coefficent of the tidal potential in 10**-10
59 | m**2/s**2 per Julian century. The S1 coefficient has to
60 | be multiplied with the time difference between the epoch
61 | and J2000 (in Julian centuries) and with the SIN of
62 | the argument.
63 | Col.102...105: nam= Darwin name of the tidal wave (for very few main tidal
64 | waves available only).
65 |
66 | number l m k k k k k k k k k k frequency C0 S0 C1 S1 nam
67 | 2 3 4 5 6 7 8 9 10 11 (deg/hour)
68 | C********************************************************************************************************
69 | 1 2 0 0 0 0 0 0 0 0 0 0 0 0.00000000-8700093244. 0. 0. 0. M0S0
70 | 2 2 0 0 0 0 1 0 0 0 0 0 0 0.00220641 771677035. 0. 0. 0.
71 | 3 2 0 0 0 0 2 0 0 0 0 0 0 0.00441281 -7537749. 0. 0. 0.
72 | 4 3 0 0 0 1 0 0 0 0 0 0 0 0.00464181 0. -5787034. 0. 0.
73 | 5 2 0 0 1 0 0 -1 0 0 0 0 0 0.04106668 -136621697. 0. 0. 0. SA
74 | 6 2 0 0 1 0 0 1 0 0 0 0 0 0.04107060 7184417. 0. 0. 0.
75 | 7 2 0 0 2 -2 0 0 0 0 0 0 0 0.07285365 -8597745. 0. 0. 0.
76 | 8 2 0 0 2 0 0 -2 0 0 0 0 0 0.08213336 -3533320. 0. 0. 0.
77 | 9 2 0 0 2 0 0 0 0 0 0 0 0 0.08213728 -859656698. 0. 0. 0. SSA
78 | 10 2 0 0 2 0 1 0 0 0 0 0 0 0.08434369 21317696. 0. 0. 0.
79 | 11 2 0 0 2 0 2 0 0 0 0 0 0 0.08655009 4711093. 0. 0. 0.
80 | 12 2 0 0 3 0 0 -1 0 0 0 0 0 0.12320396 -50290918. 0. 0. 0. STA
81 | 13 2 0 0 4 0 0 -2 0 0 0 0 0 0.16427064 -2002215. 0. 0. 0.
82 | 14 2 0 1 -3 1 0 1 0 0 0 0 0 0.43045437 -8008858. 0. 0. 0.
83 | 15 2 0 1 -2 -1 -1 0 0 0 0 0 0 0.46003102 1884437. 0. 0. 0.
84 | 16 2 0 1 -2 1 -1 0 0 0 0 0 0 0.46931465 13308838. 0. 0. 0.
85 | 17 2 0 1 -2 1 0 0 0 0 0 0 0 0.47152105 -185852619. 0. 0. 0. MSM
86 | 18 2 0 1 -2 1 1 0 0 0 0 0 0 0.47372746 12131065. 0. 0. 0.
87 | 19 2 0 1 -1 -1 0 1 0 0 0 0 0 0.50330803 -6006644. 0. 0. 0.
88 | 20 2 0 1 -1 0 0 0 0 0 0 0 0 0.50794788 5182202. 0. 0. 0.
89 | 21 2 0 1 -1 1 0 -1 0 0 0 0 0 0.51258773 1177773. 0. 0. 0.
90 | 22 2 0 1 0 -1 -1 0 0 0 0 0 0 0.54216830 63835310. 0. 0. 0.
91 | 23 2 0 1 0 -1 0 0 0 0 0 0 0 0.54437471 -972134043. 0. 0. 0. MM
92 | 24 2 0 1 0 -1 1 0 0 0 0 0 0 0.54658111 63010869. 0. 0. 0.
93 | 25 3 0 1 0 0 -1 0 0 0 0 0 0 0.54681011 0. 5341877. 0. 0.
94 | 26 3 0 1 0 0 0 0 0 0 0 0 0 0.54901652 0. -103721452. 0. 0.
95 | 27 3 0 1 0 0 1 0 0 0 0 0 0 0.55122293 0. -16248210. 0. 0.
96 | 28 2 0 1 0 1 0 0 0 0 0 0 0 0.55365833 52057578. 0. 0. 0.
97 | 29 2 0 1 0 1 1 0 0 0 0 0 0 0.55586474 21082141. 0. 0. 0.
98 | 30 2 0 1 0 1 2 0 0 0 0 0 0 0.55807115 5535534. 0. 0. 0.
99 | 31 2 0 1 1 -1 0 -1 0 0 0 0 0 0.58544138 5064425. 0. 0. 0.
100 | 32 2 0 1 2 -1 0 0 0 0 0 0 0 0.62651199 13662170. 0. 0. 0.
101 | 33 2 0 1 2 -1 1 0 0 0 0 0 0 0.62871839 6831085. 0. 0. 0.
102 | 34 2 0 2 -4 2 0 0 0 0 0 0 0 0.94304211 -3062210. 0. 0. 0.
103 | 35 2 0 2 -3 0 0 1 0 0 0 0 0 0.97482908 -10717737. 0. 0. 0.
104 | 36 2 0 2 -2 0 -1 0 0 0 0 0 0 1.01368935 -11542178. 0. 0. 0.
105 | 37 2 0 2 -2 0 0 0 0 0 0 0 0 1.01589576 -161354936. 0. 0. 0. MSF
106 | 38 2 0 2 -2 0 1 0 0 0 0 0 0 1.01810217 10364405. 0. 0. 0.
107 | 39 3 0 2 -2 1 0 0 0 0 0 0 0 1.02053757 0. -3338673. 0. 0.
108 | 40 2 0 2 -1 0 0 -1 0 0 0 0 0 1.05696244 2002215. 0. 0. 0.
109 | 41 2 0 2 -1 0 0 1 0 0 0 0 0 1.05696636 -5653312. 0. 0. 0.
110 | 42 2 0 2 -1 0 1 1 0 0 0 0 0 1.05917277 -1413328. 0. 0. 0.
111 | 43 2 0 2 0 -2 -1 0 0 0 0 0 0 1.08654301 4239984. 0. 0. 0.
112 | 44 2 0 2 0 -2 0 0 0 0 0 0 0 1.08874941 -79735249. 0. 0. 0.
113 | 45 2 0 2 0 -2 1 0 0 0 0 0 0 1.09095582 5182202. 0. 0. 0.
114 | 46 3 0 2 0 -1 0 0 0 0 0 0 0 1.09339123 0. -16915945. 0. 0.
115 | 47 3 0 2 0 -1 1 0 0 0 0 0 0 1.09559763 0. -2670939. 0. 0.
116 | 48 2 0 2 0 0 0 0 0 0 0 0 0 1.09803304-1842272923. 0. 0. 0. MF
117 | 49 2 0 2 0 0 1 0 0 0 0 0 0 1.10023945 -763314845. 0. 0. 0.
118 | 50 2 0 2 0 0 2 0 0 0 0 0 0 1.10244585 -71490836. 0. 0. 0.
119 | 51 2 0 2 0 0 3 0 0 0 0 0 0 1.10465226 1531105. 0. 0. 0.
120 | 52 2 0 2 1 0 0 -1 0 0 0 0 0 1.13909972 6359976. 0. 0. 0.
121 | 53 2 0 2 1 0 1 -1 0 0 0 0 0 1.14130612 1648883. 0. 0. 0.
122 | 54 2 0 2 2 -2 0 0 0 0 0 0 0 1.17088669 5535534. 0. 0. 0.
123 | 55 2 0 2 2 -2 1 0 0 0 0 0 0 1.17309310 2237769. 0. 0. 0.
124 | 56 2 0 3 -4 1 0 0 0 0 0 0 0 1.48741681 -4946648. 0. 0. 0.
125 | 57 2 0 3 -3 -1 0 1 0 0 0 0 0 1.51920379 -1884437. 0. 0. 0.
126 | 58 2 0 3 -3 1 0 1 0 0 0 0 0 1.52848741 -3062210. 0. 0. 0.
127 | 59 2 0 3 -3 1 1 1 0 0 0 0 0 1.53069382 -1295551. 0. 0. 0.
128 | 60 2 0 3 -2 -1 -1 0 0 0 0 0 0 1.55806406 -2591101. 0. 0. 0.
129 | 61 2 0 3 -2 -1 0 0 0 0 0 0 0 1.56027047 -25557680. 0. 0. 0.
130 | 62 2 0 3 -2 -1 1 0 0 0 0 0 0 1.56247687 1648883. 0. 0. 0.
131 | 63 3 0 3 -2 0 0 0 0 0 0 0 0 1.56491228 0. -2893517. 0. 0.
132 | 64 2 0 3 -2 1 0 0 0 0 0 0 0 1.56955409 -67015298. 0. 0. 0. MSTM
133 | 65 2 0 3 -2 1 1 0 0 0 0 0 0 1.57176050 -27795449. 0. 0. 0.
134 | 66 2 0 3 -2 1 2 0 0 0 0 0 0 1.57396691 -2473324. 0. 0. 0.
135 | 67 2 0 3 -1 -1 0 1 0 0 0 0 0 1.60134107 -3297765. 0. 0. 0.
136 | 68 2 0 3 -1 -1 1 1 0 0 0 0 0 1.60354747 -1177773. 0. 0. 0.
137 | 69 2 0 3 -1 0 0 0 0 0 0 0 0 1.60598092 1884437. 0. 0. 0.
138 | 70 2 0 3 0 -3 0 0 0 0 0 0 0 1.63312412 -6359976. 0. 0. 0.
139 | 71 2 0 3 0 -1 0 0 0 0 0 0 0 1.64240775 -352743089. 0. 0. 0. MTM
140 | 72 2 0 3 0 -1 1 0 0 0 0 0 0 1.64461415 -146161661. 0. 0. 0.
141 | 73 2 0 3 0 -1 2 0 0 0 0 0 0 1.64682056 -13779947. 0. 0. 0.
142 | 74 3 0 3 0 0 0 0 0 0 0 0 0 1.64704956 0. -8457972. 0. 0.
143 | 75 3 0 3 0 0 1 0 0 0 0 0 0 1.64925597 0. -5341877. 0. 0.
144 | 76 2 0 3 0 1 2 0 0 0 0 0 0 1.65610419 1413328. 0. 0. 0.
145 | 77 2 0 3 1 -1 0 -1 0 0 0 0 0 1.68347442 3062210. 0. 0. 0.
146 | 78 2 0 4 -4 0 0 0 0 0 0 0 0 2.03179152 -2355547. 0. 0. 0.
147 | 79 2 0 4 -4 2 0 0 0 0 0 0 0 2.04107515 -1648883. 0. 0. 0.
148 | 80 2 0 4 -3 0 0 1 0 0 0 0 0 2.07286212 -3768874. 0. 0. 0.
149 | 81 2 0 4 -3 0 1 1 0 0 0 0 0 2.07506853 -1531105. 0. 0. 0.
150 | 82 2 0 4 -2 -2 0 0 0 0 0 0 0 2.10464517 -2944433. 0. 0. 0.
151 | 83 2 0 4 -2 0 0 0 0 0 0 0 0 2.11392880 -56297562. 0. 0. 0. MSQM
152 | 84 2 0 4 -2 0 1 0 0 0 0 0 0 2.11613521 -23555465. 0. 0. 0.
153 | 85 2 0 4 -2 0 2 0 0 0 0 0 0 2.11834161 -2237769. 0. 0. 0.
154 | 86 2 0 4 0 -2 0 0 0 0 0 0 0 2.18678245 -46639821. 0. 0. 0.
155 | 87 2 0 4 0 -2 1 0 0 0 0 0 0 2.18898886 -19433259. 0. 0. 0.
156 | 88 2 0 4 0 -2 2 0 0 0 0 0 0 2.19119527 -1884437. 0. 0. 0.
157 | 89 3 0 4 0 -1 0 0 0 0 0 0 0 2.19142427 0. -2448360. 0. 0.
158 | 90 2 0 5 -4 1 0 0 0 0 0 0 0 2.58544985 -2708878. 0. 0. 0.
159 | 91 2 0 5 -2 -1 0 0 0 0 0 0 0 2.65830351 -13662170. 0. 0. 0.
160 | 92 2 0 5 -2 -1 1 0 0 0 0 0 0 2.66050991 -5653312. 0. 0. 0.
161 | 93 2 0 5 0 -3 0 0 0 0 0 0 0 2.73115716 -5299980. 0. 0. 0.
162 | 94 2 0 5 0 -3 1 0 0 0 0 0 0 2.73336357 -2237769. 0. 0. 0.
163 | 95 2 0 6 -4 0 0 0 0 0 0 0 0 3.12982456 -1413328. 0. 0. 0.
164 | 96 2 0 6 -2 -2 0 0 0 0 0 0 0 3.20267821 -2237769. 0. 0. 0.
165 | 97 2 1 -5 0 4 0 0 0 0 0 0 0 11.76553677 0. 1495973. 0. 0.
166 | 98 2 1 -5 2 2 0 0 0 0 0 0 0 11.83839043 0. 6255887. 0. 0.
167 | 99 2 1 -5 4 0 0 0 0 0 0 0 0 11.91124408 0. 3807931. 0. 0.
168 | 100 3 1 -4 0 2 0 0 0 0 0 0 0 12.30526967 1180399. 0. 0. 0.
169 | 101 2 1 -4 0 3 -1 0 0 0 0 0 0 12.30770507 0. 2855948. 0. 0.
170 | 102 2 1 -4 0 3 0 0 0 0 0 0 0 12.30991148 0. 14687734. 0. 0.
171 | 103 3 1 -4 2 0 0 0 0 0 0 0 0 12.37812332 1180399. 0. 0. 0.
172 | 104 2 1 -4 2 1 -1 0 0 0 0 0 0 12.38055873 0. 7207870. 0. 0.
173 | 105 2 1 -4 2 1 0 0 0 0 0 0 0 12.38276513 0. 37807316. 0. 0.
174 | 106 2 1 -4 3 1 0 -1 0 0 0 0 0 12.42383181 0. 2855948. 0. 0.
175 | 107 2 1 -4 4 -1 -1 0 0 0 0 0 0 12.45341238 0. 1359975. 0. 0.
176 | 108 2 1 -4 4 -1 0 0 0 0 0 0 0 12.45561879 0. 7343867. 0. 0.
177 | 109 2 1 -3 -1 2 0 1 0 0 0 0 0 12.81321951 0. -1767968. 0. 0.
178 | 110 3 1 -3 0 1 -1 0 0 0 0 0 0 12.84743797 2714918. 0. 0. 0.
179 | 111 3 1 -3 0 1 0 0 0 0 0 0 0 12.84964437 6846316. 0. 0. 0.
180 | 112 2 1 -3 0 2 -1 0 0 0 0 0 0 12.85207978 0. 24479557. 0. 0.
181 | 113 2 1 -3 0 2 0 0 0 0 0 0 0 12.85428619 0. 129877652. 0. 0. 2Q1
182 | 114 2 1 -3 1 0 0 1 0 0 0 0 0 12.88607316 0. -2175961. 0. 0.
183 | 115 2 1 -3 1 1 0 0 0 0 0 0 0 12.89071301 0. -1495973. 0. 0.
184 | 116 2 1 -3 1 2 0 -1 0 0 0 0 0 12.89535287 0. 2039963. 0. 0.
185 | 117 3 1 -3 2 -1 0 0 0 0 0 0 0 12.92249803 1298439. 0. 0. 0.
186 | 118 2 1 -3 2 0 -1 0 0 0 0 0 0 12.92493343 0. 29647464. 0. 0.
187 | 119 2 1 -3 2 0 0 0 0 0 0 0 0 12.92713984 0. 156805165. 0. 0. SIG1
188 | 120 2 1 -3 3 0 -1 -1 0 0 0 0 0 12.96600011 0. 1903966. 0. 0.
189 | 121 2 1 -3 3 0 0 -1 0 0 0 0 0 12.96820652 0. 10743806. 0. 0.
190 | 122 2 1 -3 4 -2 0 0 0 0 0 0 0 12.99999349 0. 4759914. 0. 0.
191 | 123 2 1 -2 -2 3 0 0 0 0 0 0 0 13.32580724 0. -3127943. 0. 0.
192 | 124 2 1 -2 -1 1 0 1 0 0 0 0 0 13.35759422 0. -8295850. 0. 0.
193 | 125 2 1 -2 0 -1 -2 0 0 0 0 0 0 13.38496445 0. -3807931. 0. 0.
194 | 126 3 1 -2 0 0 -1 0 0 0 0 0 0 13.39181267 9915354. 0. 0. 0.
195 | 127 3 1 -2 0 0 0 0 0 0 0 0 0 13.39401908 24906425. 0. 0. 0.
196 | 128 2 1 -2 0 1 -2 0 0 0 0 0 0 13.39424808 0. -5711897. 0. 0.
197 | 129 2 1 -2 0 1 -1 0 0 0 0 0 0 13.39645449 0. 184956656. 0. 0.
198 | 130 2 1 -2 0 1 0 0 0 0 0 0 0 13.39866089 0. 981358256. 0. 0. Q1
199 | 131 3 1 -2 0 2 0 0 0 0 0 0 0 13.40330271 1534519. 0. 0. 0.
200 | 132 2 1 -2 0 3 0 0 0 0 0 0 0 13.40794452 0. -2583953. 0. 0.
201 | 133 2 1 -2 1 -1 0 1 0 0 0 0 0 13.43044787 0. -1767968. 0. 0.
202 | 134 2 1 -2 1 0 0 0 0 0 0 0 0 13.43508772 0. -5303904. 0. 0.
203 | 135 2 1 -2 1 1 -1 -1 0 0 0 0 0 13.43752117 0. 1495973. 0. 0.
204 | 136 2 1 -2 1 1 0 -1 0 0 0 0 0 13.43972757 0. 9247833. 0. 0.
205 | 137 2 1 -2 2 -1 -1 0 0 0 0 0 0 13.46930814 0. 35087366. 0. 0.
206 | 138 2 1 -2 2 -1 0 0 0 0 0 0 0 13.47151455 0. 186452629. 0. 0. RO1
207 | 139 3 1 -2 2 0 0 0 0 0 0 0 0 13.47615636 2124719. 0. 0. 0.
208 | 140 2 1 -2 2 1 0 0 0 0 0 0 0 13.48079817 0. -10607808. 0. 0.
209 | 141 2 1 -2 2 1 1 0 0 0 0 0 0 13.48300458 0. 3263941. 0. 0.
210 | 142 2 1 -2 3 -1 -1 -1 0 0 0 0 0 13.51037482 0. 1495973. 0. 0.
211 | 143 2 1 -2 3 -1 0 -1 0 0 0 0 0 13.51258123 0. 8703843. 0. 0.
212 | 144 2 1 -2 4 -1 0 0 0 0 0 0 0 13.55365183 0. -1903966. 0. 0.
213 | 145 2 1 -1 -2 0 -2 0 0 0 0 0 0 13.85648551 0. -2311958. 0. 0.
214 | 146 2 1 -1 -2 2 -1 0 0 0 0 0 0 13.86797554 0. -2719951. 0. 0.
215 | 147 2 1 -1 -2 2 0 0 0 0 0 0 0 13.87018195 0. -15367722. 0. 0.
216 | 148 2 1 -1 -1 0 -1 1 0 0 0 0 0 13.89976252 0. -2039963. 0. 0.
217 | 149 2 1 -1 -1 0 0 1 0 0 0 0 0 13.90196892 0. -17679680. 0. 0.
218 | 150 3 1 -1 0 -1 0 0 0 0 0 0 0 13.93839379 -1416479. 0. 0. 0.
219 | 151 2 1 -1 0 0 -2 0 0 0 0 0 0 13.93862279 0. -29647464. 0. 0.
220 | 152 2 1 -1 0 0 -1 0 0 0 0 0 0 13.94082919 0. 966262528. 0. 0.
221 | 153 2 1 -1 0 0 0 0 0 0 0 0 0 13.94303560 0. 5125611321. 0. 0. O1
222 | 154 3 1 -1 0 1 -1 0 0 0 0 0 0 13.94547101 -1888639. 0. 0. 0.
223 | 155 3 1 -1 0 1 0 0 0 0 0 0 0 13.94767741 12748312. 0. 0. 0.
224 | 156 3 1 -1 0 1 1 0 0 0 0 0 0 13.94988382 -1652559. 0. 0. 0.
225 | 157 2 1 -1 0 2 0 0 0 0 0 0 0 13.95231923 0. -33047402. 0. 0.
226 | 158 2 1 -1 0 2 1 0 0 0 0 0 0 13.95452563 0. -5439902. 0. 0.
227 | 159 2 1 -1 1 0 -1 -1 0 0 0 0 0 13.98189587 0. 1631970. 0. 0.
228 | 160 2 1 -1 1 0 0 -1 0 0 0 0 0 13.98410228 0. 15639717. 0. 0.
229 | 161 2 1 -1 2 -2 0 0 0 0 0 0 0 14.01588925 0. -2855948. 0. 0.
230 | 162 3 1 -1 2 -1 0 0 0 0 0 0 0 14.02053107 2478838. 0. 0. 0.
231 | 163 2 1 -1 2 0 -1 0 0 0 0 0 0 14.02296647 0. 1903966. 0. 0.
232 | 164 2 1 -1 2 0 0 0 0 0 0 0 0 14.02517288 0. -66774793. 0. 0. TAU1
233 | 165 2 1 -1 2 0 1 0 0 0 0 0 0 14.02737929 0. 14551737. 0. 0.
234 | 166 2 1 -1 3 0 0 -1 0 0 0 0 0 14.06623956 0. -4487919. 0. 0.
235 | 167 2 1 0 -3 1 0 1 0 0 0 0 0 14.37348998 0. -1903966. 0. 0.
236 | 168 2 1 0 -2 1 -1 0 0 0 0 0 0 14.41235025 0. -8567845. 0. 0.
237 | 169 2 1 0 -2 1 0 0 0 0 0 0 0 14.41455665 0. -37807316. 0. 0.
238 | 170 2 1 0 -1 1 0 1 0 0 0 0 0 14.45562726 0. 2039963. 0. 0.
239 | 171 2 1 0 0 -1 -2 0 0 0 0 0 0 14.48299749 0. 2311958. 0. 0.
240 | 172 2 1 0 0 -1 -1 0 0 0 0 0 0 14.48520390 0. -26791516. 0. 0.
241 | 173 2 1 0 0 -1 0 0 0 0 0 0 0 14.48741031 0. -144837381. 0. 0.
242 | 174 3 1 0 0 0 -1 0 0 0 0 0 0 14.48984571 -11567913. 0. 0. 0.
243 | 175 3 1 0 0 0 0 0 0 0 0 0 0 14.49205212 78024393. 0. 0. 0.
244 | 176 3 1 0 0 0 1 0 0 0 0 0 0 14.49425853 -10151434. 0. 0. 0.
245 | 177 2 1 0 0 1 -1 0 0 0 0 0 0 14.49448753 0. 11559791. 0. 0.
246 | 178 2 1 0 0 1 0 0 0 0 0 0 0 14.49669393 0. -403096711. 0. 0. M1
247 | 179 2 1 0 0 1 1 0 0 0 0 0 0 14.49890034 0. -80782539. 0. 0.
248 | 180 2 1 0 0 1 2 0 0 0 0 0 0 14.50110675 0. 2311958. 0. 0.
249 | 181 2 1 0 1 0 0 0 0 0 0 0 0 14.53312076 0. 2175961. 0. 0.
250 | 182 2 1 0 1 1 0 -1 0 0 0 0 0 14.53776061 0. -2447956. 0. 0.
251 | 183 2 1 0 2 -1 -1 0 0 0 0 0 0 14.56734118 0. 2175961. 0. 0.
252 | 184 2 1 0 2 -1 0 0 0 0 0 0 0 14.56954759 0. -76974608. 0. 0. CHI1
253 | 185 2 1 0 2 -1 1 0 0 0 0 0 0 14.57175399 0. -16863695. 0. 0.
254 | 186 2 1 0 3 -1 0 -1 0 0 0 0 0 14.61061427 0. -3263941. 0. 0.
255 | 187 2 1 1 -4 0 0 2 0 0 0 0 0 14.87679800 0. 5711897. 0. 0.
256 | 188 2 1 1 -3 0 0 1 0 0 0 0 0 14.91786468 0. 139941470. 0. 0. PI1
257 | 189 2 1 1 -2 0 -2 0 0 0 0 0 0 14.95451855 0. 1903966. 0. 0.
258 | 190 2 1 1 -2 0 -1 0 0 0 0 0 0 14.95672495 0. -27063511. 0. 0.
259 | 191 2 1 1 -2 0 0 0 0 0 0 0 0 14.95893136 0. 2391380760. 0. 0. P1
260 | 192 2 1 1 -2 0 0 2 0 0 0 0 0 14.95893528 0. -1495973. 0. 0.
261 | 193 2 1 1 -2 2 0 0 0 0 0 0 0 14.96821499 0. -3535936. 0. 0.
262 | 194 2 1 1 -1 0 0 -1 0 0 0 0 0 14.99999804 0. -19991639. 0. 0.
263 | 195 2 1 1 -1 0 0 1 0 0 0 0 0 15.00000196 0. -57526960. 0. 0. S1
264 | 196 3 1 1 0 -1 0 0 0 0 0 0 0 15.03642683 4249437. 0. 0. 0.
265 | 197 2 1 1 0 0 -1 0 0 0 0 0 0 15.03886223 0. 142797418. 0. 0.
266 | 198 2 1 1 0 0 0 0 0 0 0 0 0 15.04106864 0.-7208821653. 0. 0. K1
267 | 199 2 1 1 0 0 1 0 0 0 0 0 0 15.04327505 0. -976734339. 0. 0.
268 | 200 2 1 1 0 0 2 0 0 0 0 0 0 15.04548145 0. 20943621. 0. 0.
269 | 201 3 1 1 0 1 0 0 0 0 0 0 0 15.04571045 1534519. 0. 0. 0.
270 | 202 2 1 1 1 0 0 -1 0 0 0 0 0 15.08213532 0. -57526960. 0. 0. PSI1
271 | 203 2 1 1 2 -2 0 0 0 0 0 0 0 15.11392229 0. -3535936. 0. 0.
272 | 204 2 1 1 2 0 0 -2 0 0 0 0 0 15.12320200 0. -1495973. 0. 0.
273 | 205 2 1 1 2 0 0 0 0 0 0 0 0 15.12320592 0. -102814141. 0. 0. FI1
274 | 206 2 1 1 2 0 1 0 0 0 0 0 0 15.12541233 0. 3943929. 0. 0.
275 | 207 2 1 1 2 0 2 0 0 0 0 0 0 15.12761873 0. 1903966. 0. 0.
276 | 208 2 1 1 3 0 0 -1 0 0 0 0 0 15.16427260 0. -5983892. 0. 0.
277 | 209 2 1 2 -3 1 0 1 0 0 0 0 0 15.47152302 0. -3263941. 0. 0.
278 | 210 2 1 2 -2 -1 -1 0 0 0 0 0 0 15.50109966 0. -2311958. 0. 0.
279 | 211 2 1 2 -2 1 -1 0 0 0 0 0 0 15.51038329 0. 2447956. 0. 0.
280 | 212 2 1 2 -2 1 0 0 0 0 0 0 0 15.51258969 0. -76974608. 0. 0. THE1
281 | 213 2 1 2 -2 1 1 0 0 0 0 0 0 15.51479610 0. -15231725. 0. 0.
282 | 214 2 1 2 -1 -1 0 1 0 0 0 0 0 15.54437667 0. -2447956. 0. 0.
283 | 215 2 1 2 -1 0 0 0 0 0 0 0 0 15.54901652 0. 2175961. 0. 0.
284 | 216 2 1 2 0 -1 -1 0 0 0 0 0 0 15.58323694 0. 11831786. 0. 0.
285 | 217 2 1 2 0 -1 0 0 0 0 0 0 0 15.58544335 0. -403096711. 0. 0. J1
286 | 218 2 1 2 0 -1 1 0 0 0 0 0 0 15.58764975 0. -79830557. 0. 0.
287 | 219 2 1 2 0 -1 2 0 0 0 0 0 0 15.58985616 0. 1767968. 0. 0.
288 | 220 3 1 2 0 0 0 0 0 0 0 0 0 15.59008516 28447623. 0. 0. 0.
289 | 221 2 1 2 0 1 0 0 0 0 0 0 0 15.59472697 0. 6255887. 0. 0.
290 | 222 2 1 2 0 1 1 0 0 0 0 0 0 15.59693338 0. 3943929. 0. 0.
291 | 223 2 1 2 0 1 2 0 0 0 0 0 0 15.59913979 0. 2311958. 0. 0.
292 | 224 2 1 2 1 -1 0 -1 0 0 0 0 0 15.62651003 0. 2039963. 0. 0.
293 | 225 2 1 2 2 -1 0 0 0 0 0 0 0 15.66758063 0. 1631970. 0. 0.
294 | 226 2 1 3 -3 0 0 1 0 0 0 0 0 16.01589772 0. -4351921. 0. 0.
295 | 227 2 1 3 -2 0 -1 0 0 0 0 0 0 16.05475799 0. -2175961. 0. 0.
296 | 228 2 1 3 -2 0 0 0 0 0 0 0 0 16.05696440 0. -66910790. 0. 0. SO1
297 | 229 2 1 3 -2 0 1 0 0 0 0 0 0 16.05917081 0. -13055764. 0. 0.
298 | 230 2 1 3 0 -2 0 0 0 0 0 0 0 16.12981805 0. -32639410. 0. 0.
299 | 231 2 1 3 0 -2 1 0 0 0 0 0 0 16.13202446 0. -6527882. 0. 0.
300 | 232 3 1 3 0 -1 0 0 0 0 0 0 0 16.13445987 4721597. 0. 0. 0.
301 | 233 3 1 3 0 -1 1 0 0 0 0 0 0 16.13666627 1888639. 0. 0. 0.
302 | 234 2 1 3 0 0 0 0 0 0 0 0 0 16.13910168 0. -220724009. 0. 0. OO1
303 | 235 2 1 3 0 0 1 0 0 0 0 0 0 16.14130809 0. -141301445. 0. 0.
304 | 236 2 1 3 0 0 2 0 0 0 0 0 0 16.14351449 0. -29647464. 0. 0.
305 | 237 2 1 3 0 0 3 0 0 0 0 0 0 16.14572090 0. -1903966. 0. 0.
306 | 238 2 1 4 -4 1 0 0 0 0 0 0 0 16.52848545 0. -2039963. 0. 0.
307 | 239 2 1 4 -2 -1 0 0 0 0 0 0 0 16.60133911 0. -10607808. 0. 0.
308 | 240 2 1 4 -2 -1 1 0 0 0 0 0 0 16.60354551 0. -2039963. 0. 0.
309 | 241 2 1 4 -2 1 0 0 0 0 0 0 0 16.61062273 0. -8023855. 0. 0.
310 | 242 2 1 4 -2 1 1 0 0 0 0 0 0 16.61282914 0. -5167907. 0. 0.
311 | 243 2 1 4 0 -3 0 0 0 0 0 0 0 16.67419276 0. -2583953. 0. 0.
312 | 244 2 1 4 0 -1 0 0 0 0 0 0 0 16.68347639 0. -42295235. 0. 0. V1
313 | 245 2 1 4 0 -1 1 0 0 0 0 0 0 16.68568279 0. -27063511. 0. 0.
314 | 246 2 1 4 0 -1 2 0 0 0 0 0 0 16.68788920 0. -5711897. 0. 0.
315 | 247 2 1 5 -2 0 0 0 0 0 0 0 0 17.15499744 0. -6799877. 0. 0.
316 | 248 2 1 5 -2 0 1 0 0 0 0 0 0 17.15720385 0. -4351921. 0. 0.
317 | 249 2 1 5 0 -2 0 0 0 0 0 0 0 17.22785109 0. -5575899. 0. 0.
318 | 250 2 1 5 0 -2 1 0 0 0 0 0 0 17.23005750 0. -3671934. 0. 0.
319 | 251 2 1 6 -2 -1 0 0 0 0 0 0 0 17.69937215 0. -1631970. 0. 0.
320 | 252 2 2 -5 2 3 0 0 0 0 0 0 0 26.33508436 2039963. 0. 0. 0.
321 | 253 2 2 -5 4 1 0 0 0 0 0 0 0 26.40793801 2447956. 0. 0. 0.
322 | 254 2 2 -4 0 4 0 0 0 0 0 0 0 26.80660542 3671934. 0. 0. 0.
323 | 255 2 2 -4 2 2 0 0 0 0 0 0 0 26.87945907 15095727. 0. 0. 0.
324 | 256 2 2 -4 4 0 0 0 0 0 0 0 0 26.95231272 9383830. 0. 0. 0.
325 | 257 3 2 -3 0 2 0 0 0 0 0 0 0 27.34633831 0. -3605767. 0. 0.
326 | 258 2 2 -3 0 3 0 0 0 0 0 0 0 27.35098012 35223363. 0. 0. 0. 3N2
327 | 259 2 2 -3 1 1 0 1 0 0 0 0 0 27.38276710 -1631970. 0. 0. 0.
328 | 260 3 2 -3 2 0 0 0 0 0 0 0 0 27.41919196 0. -3605767. 0. 0.
329 | 261 2 2 -3 2 1 -1 0 0 0 0 0 0 27.42162737 -3399939. 0. 0. 0.
330 | 262 2 2 -3 2 1 0 0 0 0 0 0 0 27.42383377 91254350. 0. 0. 0. EPS2
331 | 263 2 2 -3 3 1 0 -1 0 0 0 0 0 27.46490045 7343867. 0. 0. 0.
332 | 264 2 2 -3 4 -1 0 0 0 0 0 0 0 27.49668743 17679680. 0. 0. 0.
333 | 265 2 2 -3 5 -1 0 -1 0 0 0 0 0 27.53775411 2039963. 0. 0. 0.
334 | 266 2 2 -2 -1 2 0 1 0 0 0 0 0 27.85428815 -4215924. 0. 0. 0.
335 | 267 2 2 -2 0 0 -2 0 0 0 0 0 0 27.88165839 -1903966. 0. 0. 0.
336 | 268 3 2 -2 0 1 -1 0 0 0 0 0 0 27.88850661 0. -3605767. 0. 0.
337 | 269 3 2 -2 0 1 0 0 0 0 0 0 0 27.89071301 0. -20833322. 0. 0.
338 | 270 2 2 -2 0 2 -1 0 0 0 0 0 0 27.89314842 -11695789. 0. 0. 0.
339 | 271 2 2 -2 0 2 0 0 0 0 0 0 0 27.89535483 312930342. 0. 0. 0. 2N2
340 | 272 2 2 -2 1 0 0 1 0 0 0 0 0 27.92714180 -5439902. 0. 0. 0.
341 | 273 2 2 -2 1 1 0 0 0 0 0 0 0 27.93178165 -3399939. 0. 0. 0.
342 | 274 2 2 -2 1 2 0 -1 0 0 0 0 0 27.93642151 4895911. 0. 0. 0.
343 | 275 3 2 -2 2 -1 0 0 0 0 0 0 0 27.96356667 0. -3872861. 0. 0.
344 | 276 2 2 -2 2 0 -1 0 0 0 0 0 0 27.96600207 -14143744. 0. 0. 0.
345 | 277 2 2 -2 2 0 0 0 0 0 0 0 0 27.96820848 377665171. 0. 0. 0. MI2
346 | 278 2 2 -2 3 0 0 -1 0 0 0 0 0 28.00927516 25703535. 0. 0. 0.
347 | 279 2 2 -2 4 -2 0 0 0 0 0 0 0 28.04106213 11559791. 0. 0. 0.
348 | 280 2 2 -1 -2 1 -2 0 0 0 0 0 0 28.35317944 -2039963. 0. 0. 0.
349 | 281 2 2 -1 -2 3 0 0 0 0 0 0 0 28.36687588 -7615862. 0. 0. 0.
350 | 282 2 2 -1 -1 1 0 1 0 0 0 0 0 28.39866286 -19991639. 0. 0. 0.
351 | 283 2 2 -1 0 -1 -2 0 0 0 0 0 0 28.42603309 -8567845. 0. 0. 0.
352 | 284 3 2 -1 0 0 -1 0 0 0 0 0 0 28.43288131 0. -12954053. 0. 0.
353 | 285 3 2 -1 0 0 0 0 0 0 0 0 0 28.43508772 0. -75988205. 0. 0.
354 | 286 2 2 -1 0 0 0 1 0 0 0 0 0 28.43508968 1903966. 0. 0. 0.
355 | 287 2 2 -1 0 1 -1 0 0 0 0 0 0 28.43752313 -88126407. 0. 0. 0.
356 | 288 2 2 -1 0 1 0 0 0 0 0 0 0 28.43972953 2364589245. 0. 0. 0. N2
357 | 289 3 2 -1 0 2 0 0 0 0 0 0 0 28.44437135 0. 1469016. 0. 0.
358 | 290 2 2 -1 1 -1 0 1 0 0 0 0 0 28.47151651 -4487919. 0. 0. 0.
359 | 291 2 2 -1 1 0 0 0 0 0 0 0 0 28.47615636 -12783769. 0. 0. 0.
360 | 292 2 2 -1 1 1 0 -1 0 0 0 0 0 28.48079621 22167599. 0. 0. 0.
361 | 293 2 2 -1 2 -1 -1 0 0 0 0 0 0 28.51037678 -16727698. 0. 0. 0.
362 | 294 2 2 -1 2 -1 0 0 0 0 0 0 0 28.51258319 449199878. 0. 0. 0. NI2
363 | 295 3 2 -1 2 0 0 0 0 0 0 0 0 28.51722500 0. 2003204. 0. 0.
364 | 296 2 2 -1 2 1 0 0 0 0 0 0 0 28.52186681 2311958. 0. 0. 0.
365 | 297 2 2 -1 2 1 1 0 0 0 0 0 0 28.52407322 -1631970. 0. 0. 0.
366 | 298 2 2 -1 3 -1 0 -1 0 0 0 0 0 28.55364987 20807624. 0. 0. 0.
367 | 299 2 2 0 -3 2 0 1 0 0 0 0 0 28.87018391 -1495973. 0. 0. 0.
368 | 300 2 2 0 -2 0 -2 0 0 0 0 0 0 28.89755415 -5439902. 0. 0. 0.
369 | 301 2 2 0 -2 2 0 0 0 0 0 0 0 28.91125059 -37127329. 0. 0. 0. GAM2
370 | 302 2 2 0 -1 0 0 1 0 0 0 0 0 28.94303756 -42703228. 0. 0. 0. ALF2
371 | 303 2 2 0 -1 1 0 0 0 0 0 0 0 28.94767741 1903966. 0. 0. 0.
372 | 304 3 2 0 0 -1 0 0 0 0 0 0 0 28.97946243 0. 4273502. 0. 0.
373 | 305 2 2 0 0 0 -2 0 0 0 0 0 0 28.97969143 6391884. 0. 0. 0.
374 | 306 2 2 0 0 0 -1 0 0 0 0 0 0 28.98189783 -460487674. 0. 0. 0.
375 | 307 2 2 0 0 0 0 0 0 0 0 0 0 28.9841042412350208689. 0. 0. 0. M2
376 | 308 3 2 0 0 1 0 0 0 0 0 0 0 28.98874605 0. 11485036. 0. 0.
377 | 309 3 2 0 0 1 1 0 0 0 0 0 0 28.99095246 0. 2136751. 0. 0.
378 | 310 2 2 0 0 2 0 0 0 0 0 0 0 28.99338787 7207870. 0. 0. 0.
379 | 311 2 2 0 0 2 1 0 0 0 0 0 0 28.99559427 2583953. 0. 0. 0.
380 | 312 2 2 0 1 0 0 -1 0 0 0 0 0 29.02517092 37535321. 0. 0. 0. BET2
381 | 313 2 2 0 2 -2 0 0 0 0 0 0 0 29.05695789 -7071872. 0. 0. 0.
382 | 314 3 2 0 2 -1 0 0 0 0 0 0 0 29.06159971 0. 2270298. 0. 0.
383 | 315 2 2 0 2 0 0 0 0 0 0 0 0 29.06624152 14551737. 0. 0. 0. DLT2
384 | 316 2 2 0 2 0 1 0 0 0 0 0 0 29.06844793 -6935875. 0. 0. 0.
385 | 317 2 2 0 2 0 2 0 0 0 0 0 0 29.07065433 2447956. 0. 0. 0.
386 | 318 2 2 1 -3 1 0 1 0 0 0 0 0 29.41455862 -4487919. 0. 0. 0.
387 | 319 2 2 1 -2 1 -1 0 0 0 0 0 0 29.45341889 3263941. 0. 0. 0.
388 | 320 2 2 1 -2 1 0 0 0 0 0 0 0 29.45562529 -91118352. 0. 0. 0. LMB2
389 | 321 2 2 1 -1 -1 0 1 0 0 0 0 0 29.48741227 -1359975. 0. 0. 0.
390 | 322 2 2 1 -1 0 0 0 0 0 0 0 0 29.49205212 2311958. 0. 0. 0.
391 | 323 2 2 1 0 -1 -1 0 0 0 0 0 0 29.52627254 12919766. 0. 0. 0.
392 | 324 2 2 1 0 -1 0 0 0 0 0 0 0 29.52847895 -349105688. 0. 0. 0. L2
393 | 325 3 2 1 0 0 -1 0 0 0 0 0 0 29.53091435 0. -4139955. 0. 0.
394 | 326 3 2 1 0 0 0 0 0 0 0 0 0 29.53312076 0. 70112140. 0. 0.
395 | 327 3 2 1 0 0 1 0 0 0 0 0 0 29.53532717 0. 13221146. 0. 0.
396 | 328 2 2 1 0 1 -1 0 0 0 0 0 0 29.53555617 -1631970. 0. 0. 0.
397 | 329 2 2 1 0 1 0 0 0 0 0 0 0 29.53776257 87446419. 0. 0. 0.
398 | 330 2 2 1 0 1 1 0 0 0 0 0 0 29.53996898 38487304. 0. 0. 0.
399 | 331 2 2 1 0 1 2 0 0 0 0 0 0 29.54217539 5439902. 0. 0. 0.
400 | 332 2 2 1 2 -1 0 0 0 0 0 0 0 29.61061623 16727698. 0. 0. 0.
401 | 333 2 2 1 2 -1 1 0 0 0 0 0 0 29.61282263 8023855. 0. 0. 0.
402 | 334 2 2 2 -4 0 0 2 0 0 0 0 0 29.91786664 13735752. 0. 0. 0. 2T2
403 | 335 2 2 2 -3 0 0 1 0 0 0 0 0 29.95893332 337137904. 0. 0. 0. T2
404 | 336 2 2 2 -2 0 -1 0 0 0 0 0 0 29.99779359 12783769. 0. 0. 0.
405 | 337 2 2 2 -2 0 0 0 0 0 0 0 0 30.00000000 5760583840. 0. 0. 0. S2
406 | 338 2 2 2 -1 0 0 -1 0 0 0 0 0 30.04106668 -48143129. 0. 0. 0. R2
407 | 339 2 2 2 -1 0 0 1 0 0 0 0 0 30.04107060 12511774. 0. 0. 0.
408 | 340 3 2 2 0 -1 0 0 0 0 0 0 0 30.07749547 0. 3872861. 0. 0.
409 | 341 2 2 2 0 0 -1 0 0 0 0 0 0 30.07993087 -19991639. 0. 0. 0.
410 | 342 2 2 2 0 0 0 0 0 0 0 0 0 30.08213728 1564787706. 0. 0. 0. K2
411 | 343 2 2 2 0 0 1 0 0 0 0 0 0 30.08434369 465519583. 0. 0. 0.
412 | 344 2 2 2 0 0 2 0 0 0 0 0 0 30.08655009 50591085. 0. 0. 0.
413 | 345 2 2 2 1 0 0 -1 0 0 0 0 0 30.12320396 12511774. 0. 0. 0.
414 | 346 2 2 2 2 0 0 0 0 0 0 0 0 30.16427456 10607808. 0. 0. 0.
415 | 347 2 2 3 -2 1 0 0 0 0 0 0 0 30.55365833 16727698. 0. 0. 0. KSI2
416 | 348 2 2 3 -2 1 1 0 0 0 0 0 0 30.55586474 7343867. 0. 0. 0.
417 | 349 2 2 3 0 -1 -1 0 0 0 0 0 0 30.62430558 -1631970. 0. 0. 0.
418 | 350 2 2 3 0 -1 0 0 0 0 0 0 0 30.62651199 87446419. 0. 0. 0. ETA2
419 | 351 2 2 3 0 -1 1 0 0 0 0 0 0 30.62871839 38079311. 0. 0. 0.
420 | 352 2 2 3 0 -1 2 0 0 0 0 0 0 30.63092480 4079926. 0. 0. 0.
421 | 353 3 2 3 0 0 0 0 0 0 0 0 0 30.63115380 0. 6410253. 0. 0.
422 | 354 3 2 3 0 0 1 0 0 0 0 0 0 30.63336021 0. 4139955. 0. 0.
423 | 355 2 2 4 -2 0 0 0 0 0 0 0 0 31.09803304 14551737. 0. 0. 0.
424 | 356 2 2 4 -2 0 1 0 0 0 0 0 0 31.10023945 6255887. 0. 0. 0.
425 | 357 2 2 4 0 -2 0 0 0 0 0 0 0 31.17088669 7207870. 0. 0. 0.
426 | 358 2 2 4 0 -2 1 0 0 0 0 0 0 31.17309310 3127943. 0. 0. 0.
427 | 359 2 2 4 0 0 0 0 0 0 0 0 0 31.18017032 22847587. 0. 0. 0.
428 | 360 2 2 4 0 0 1 0 0 0 0 0 0 31.18237673 19855641. 0. 0. 0.
429 | 361 2 2 4 0 0 2 0 0 0 0 0 0 31.18458313 6391884. 0. 0. 0.
430 | 362 2 2 5 -2 -1 0 0 0 0 0 0 0 31.64240775 2311958. 0. 0. 0.
431 | 363 2 2 5 0 -1 0 0 0 0 0 0 0 31.72454503 4351921. 0. 0. 0.
432 | 364 2 2 5 0 -1 1 0 0 0 0 0 0 31.72675143 3807931. 0. 0. 0.
433 | 365 3 3 -3 2 1 0 0 0 0 0 0 0 41.91588589 -2140457. 0. 0. 0.
434 | 366 3 3 -2 0 2 0 0 0 0 0 0 0 42.38740695 -7050918. 0. 0. 0.
435 | 367 3 3 -2 2 0 0 0 0 0 0 0 0 42.46026060 -7176828. 0. 0. 0.
436 | 368 3 3 -1 0 1 -1 0 0 0 0 0 0 42.92957525 2266367. 0. 0. 0.
437 | 369 3 3 -1 0 1 0 0 0 0 0 0 0 42.93178165 -41046418. 0. 0. 0.
438 | 370 3 3 -1 2 -1 0 0 0 0 0 0 0 43.00463531 -7680465. 0. 0. 0.
439 | 371 3 3 0 0 0 -1 0 0 0 0 0 0 43.47394995 8310011. 0. 0. 0.
440 | 372 3 3 0 0 0 0 0 0 0 0 0 0 43.47615636 -149580197. 0. 0. 0. M3
441 | 373 3 3 1 -2 1 0 0 0 0 0 0 0 43.94767741 2140457. 0. 0. 0.
442 | 374 3 3 1 0 -1 0 0 0 0 0 0 0 44.02053107 8435920. 0. 0. 0.
443 | 375 3 3 1 0 1 0 0 0 0 0 0 0 44.02981469 -3147731. 0. 0. 0.
444 | 376 3 3 1 0 1 1 0 0 0 0 0 0 44.03202110 -1385002. 0. 0. 0.
445 | 377 3 3 2 0 0 0 0 0 0 0 0 0 44.57418940 -19515935. 0. 0. 0.
446 | 378 3 3 2 0 0 1 0 0 0 0 0 0 44.57639581 -8561829. 0. 0. 0.
447 | 999999
448 |
--------------------------------------------------------------------------------
/pygtide/commdat/etddt.dat:
--------------------------------------------------------------------------------
1 | File : etddt.dat
2 | Updated : 20/11/2023
3 | Contents : Table to interpolate DDT=TT-UTC. For epochs less
4 | than 1820, DDT is not defined within this table.
5 | Source : ftp://hpiers.obspm.fr/iers/bul/bulc/Leap_Second.dat
6 | Note : File must have an empty line at the end!
7 | Explanation:
8 | =============================================================
9 | https://www.ucolick.org/~sla/leapsecs/timescales.html
10 | =============================================================
11 | ET 1960-1983
12 | TDT 1984-2000
13 | UTC 1972- GPS 1980- TAI 1958- TT 2001-
14 | ----+---------+-------------+-------------------------+-----
15 | | | | |
16 | |<-- TAI-UTC (leaps) -->|<----- TT-TAI ----->|
17 | | | | 32.184s fixed |
18 | ||<- TAI-GPS ->| |
19 | | | 19s fixed | |
20 | | |
21 | |<----- DDT = TT-UTC = delta-T + delta-UT ------->|
22 | | |
23 | <->| delta-UT = UT1-UTC (max +/-0.9 sec) |
24 | -------+----------------------------------------------+-----
25 | |<------------ delta-T = TT-UT1 -------------->|
26 | UT1 (UT) TT/TDT/ET
27 | =============================================================
28 |
29 | Year Julian date DDT (TT-UTC) [s]
30 | C*************************************************************
31 | 1820.00000 2385800.50000 12.000
32 | 1821.00000 2386166.50000 11.700
33 | 1822.00000 2386531.50000 11.400
34 | 1823.00000 2386896.50000 11.100
35 | 1824.00000 2387261.50000 10.600
36 | 1825.00000 2387627.50000 10.200
37 | 1826.00000 2387992.50000 9.600
38 | 1827.00000 2388357.50000 9.100
39 | 1828.00000 2388722.50000 8.600
40 | 1829.00000 2389088.50000 8.000
41 | 1830.00000 2389453.50000 7.500
42 | 1831.00000 2389818.50000 7.000
43 | 1832.00000 2390183.50000 6.600
44 | 1833.00000 2390549.50000 6.300
45 | 1834.00000 2390914.50000 6.000
46 | 1835.00000 2391279.50000 5.800
47 | 1836.00000 2391644.50000 5.700
48 | 1837.00000 2392010.50000 5.600
49 | 1838.00000 2392375.50000 5.600
50 | 1839.00000 2392740.50000 5.600
51 | 1840.00000 2393105.50000 5.700
52 | 1841.00000 2393471.50000 5.800
53 | 1842.00000 2393836.50000 5.900
54 | 1843.00000 2394201.50000 6.100
55 | 1844.00000 2394566.50000 6.200
56 | 1845.00000 2394932.50000 6.300
57 | 1846.00000 2395297.50000 6.500
58 | 1847.00000 2395662.50000 6.600
59 | 1848.00000 2396027.50000 6.800
60 | 1849.00000 2396393.50000 6.900
61 | 1850.00000 2396758.50000 7.100
62 | 1851.00000 2397123.50000 7.200
63 | 1852.00000 2397488.50000 7.300
64 | 1853.00000 2397854.50000 7.400
65 | 1854.00000 2398219.50000 7.500
66 | 1855.00000 2398584.50000 7.600
67 | 1856.00000 2398949.50000 7.700
68 | 1857.00000 2399315.50000 7.700
69 | 1858.00000 2399680.50000 7.800
70 | 1859.00000 2400045.50000 7.800
71 | 1860.00000 2400410.50000 7.880
72 | 1861.00000 2400776.50000 7.820
73 | 1862.00000 2401141.50000 7.540
74 | 1863.00000 2401506.50000 6.970
75 | 1864.00000 2401871.50000 6.400
76 | 1865.00000 2402237.50000 6.020
77 | 1866.00000 2402602.50000 5.410
78 | 1867.00000 2402967.50000 4.100
79 | 1868.00000 2403332.50000 2.920
80 | 1869.00000 2403698.50000 1.820
81 | 1870.00000 2404063.50000 1.610
82 | 1871.00000 2404428.50000 0.100
83 | 1872.00000 2404793.50000 -1.020
84 | 1873.00000 2405159.50000 -1.280
85 | 1874.00000 2405524.50000 -2.690
86 | 1875.00000 2405889.50000 -3.240
87 | 1876.00000 2406254.50000 -3.640
88 | 1877.00000 2406620.50000 -4.540
89 | 1878.00000 2406985.50000 -4.710
90 | 1879.00000 2407350.50000 -5.110
91 | 1880.00000 2407715.50000 -5.400
92 | 1881.00000 2408081.50000 -5.420
93 | 1882.00000 2408446.50000 -5.200
94 | 1883.00000 2408811.50000 -5.460
95 | 1884.00000 2409176.50000 -5.460
96 | 1885.00000 2409542.50000 -5.790
97 | 1886.00000 2409907.50000 -5.630
98 | 1887.00000 2410272.50000 -5.640
99 | 1888.00000 2410637.50000 -5.800
100 | 1889.00000 2411003.50000 -5.660
101 | 1890.00000 2411368.50000 -5.870
102 | 1891.00000 2411733.50000 -6.010
103 | 1892.00000 2412098.50000 -6.190
104 | 1893.00000 2412464.50000 -6.640
105 | 1894.00000 2412829.50000 -6.440
106 | 1895.00000 2413194.50000 -6.470
107 | 1896.00000 2413559.50000 -6.090
108 | 1897.00000 2413925.50000 -5.760
109 | 1898.00000 2414290.50000 -4.660
110 | 1899.00000 2414655.50000 -3.740
111 | 1900.00000 2415020.50000 -2.720
112 | 1901.00000 2415385.50000 -1.540
113 | 1902.00000 2415750.50000 -0.020
114 | 1903.00000 2416115.50000 1.240
115 | 1904.00000 2416480.50000 2.640
116 | 1905.00000 2416846.50000 3.860
117 | 1906.00000 2417211.50000 5.370
118 | 1907.00000 2417576.50000 6.140
119 | 1908.00000 2417941.50000 7.750
120 | 1909.00000 2418307.50000 9.130
121 | 1910.00000 2418672.50000 10.460
122 | 1911.00000 2419037.50000 11.530
123 | 1912.00000 2419402.50000 13.360
124 | 1913.00000 2419768.50000 14.650
125 | 1914.00000 2420133.50000 16.010
126 | 1915.00000 2420498.50000 17.200
127 | 1916.00000 2420863.50000 18.240
128 | 1917.00000 2421229.50000 19.060
129 | 1918.00000 2421594.50000 20.250
130 | 1919.00000 2421959.50000 20.950
131 | 1920.00000 2422324.50000 21.160
132 | 1921.00000 2422690.50000 22.250
133 | 1922.00000 2423055.50000 22.410
134 | 1923.00000 2423420.50000 23.030
135 | 1924.00000 2423785.50000 23.490
136 | 1925.00000 2424151.50000 23.620
137 | 1926.00000 2424516.50000 23.860
138 | 1927.00000 2424881.50000 24.490
139 | 1928.00000 2425246.50000 24.340
140 | 1929.00000 2425612.50000 24.080
141 | 1930.00000 2425977.50000 24.020
142 | 1931.00000 2426342.50000 24.000
143 | 1932.00000 2426707.50000 23.870
144 | 1933.00000 2427073.50000 23.950
145 | 1934.00000 2427438.50000 23.860
146 | 1935.00000 2427803.50000 23.930
147 | 1936.00000 2428168.50000 23.730
148 | 1937.00000 2428534.50000 23.920
149 | 1938.00000 2428899.50000 23.960
150 | 1939.00000 2429264.50000 24.020
151 | 1940.00000 2429629.50000 24.330
152 | 1941.00000 2429995.50000 24.830
153 | 1942.00000 2430360.50000 25.300
154 | 1943.00000 2430725.50000 25.700
155 | 1944.00000 2431090.50000 26.240
156 | 1945.00000 2431456.50000 26.770
157 | 1946.00000 2431821.50000 27.280
158 | 1947.00000 2432186.50000 27.780
159 | 1948.00000 2432551.50000 28.250
160 | 1949.00000 2432917.50000 28.710
161 | 1950.00000 2433282.50000 29.150
162 | 1951.00000 2433647.50000 29.570
163 | 1952.00000 2434012.50000 29.970
164 | 1953.00000 2434378.50000 30.360
165 | 1954.00000 2434743.50000 30.720
166 | 1955.00000 2435108.50000 31.070
167 | 1956.00000 2435473.50000 31.350
168 | 1957.00000 2435839.50000 31.680
169 | 1958.00000 2436204.50000 32.180
170 | 1959.00000 2436569.50000 32.680
171 | 1960.00000 2436934.50000 33.150
172 | 1961.00000 2437300.50000 33.590
173 | 1962.00000 2437665.50000 34.032
174 | 1962.50000 2437846.50000 34.235
175 | 1963.00000 2438030.50000 34.441
176 | 1963.50000 2438211.50000 34.644
177 | 1964.00000 2438395.50000 34.950
178 | 1964.50000 2438577.50000 35.286
179 | 1965.00000 2438761.50000 35.725
180 | 1965.50000 2438942.50000 36.160
181 | 1966.00000 2439126.50000 36.498
182 | 1966.50000 2439307.50000 36.968
183 | 1967.00000 2439491.50000 37.444
184 | 1967.50000 2439672.50000 37.913
185 | 1968.00000 2439856.50000 38.390
186 | 1968.25000 2439947.50000 38.526
187 | 1968.50000 2440038.50000 38.760
188 | 1968.75000 2440130.50000 39.000
189 | 1969.00000 2440222.50000 39.238
190 | 1969.25000 2440312.50000 39.472
191 | 1969.50000 2440403.50000 39.707
192 | 1969.75000 2440495.50000 39.946
193 | 1970.00000 2440587.50000 40.185
194 | 1970.25000 2440677.50000 40.420
195 | 1970.50000 2440768.50000 40.654
196 | 1970.75000 2440860.50000 40.892
197 | 1971.00000 2440952.50000 41.131
198 | 1971.08500 2440983.50000 41.211
199 | 1971.16200 2441011.50000 41.284
200 | 1971.24700 2441042.50000 41.364
201 | 1971.32900 2441072.50000 41.442
202 | 1971.41400 2441103.50000 41.522
203 | 1971.49600 2441133.50000 41.600
204 | 1971.58100 2441164.50000 41.680
205 | 1971.66600 2441195.50000 41.761
206 | 1971.74800 2441225.50000 41.838
207 | 1971.83300 2441256.50000 41.919
208 | 1971.91500 2441286.50000 41.996
209 | 1972.00000 2441317.50000 42.184
210 | 1972.49727 2441499.50000 43.184
211 | 1973.00000 2441683.50000 44.184
212 | 1974.00000 2442048.50000 45.184
213 | 1975.00000 2442413.50000 46.184
214 | 1976.00000 2442778.50000 47.184
215 | 1977.00000 2443144.50000 48.184
216 | 1978.00000 2443509.50000 49.184
217 | 1979.00000 2443874.50000 50.184
218 | 1980.00000 2444239.50000 51.184
219 | 1981.49589 2444786.50000 52.184
220 | 1982.49589 2445151.50000 53.184
221 | 1983.49589 2445516.50000 54.184
222 | 1985.49589 2446247.50000 55.184
223 | 1988.00000 2447161.50000 56.184
224 | 1990.00000 2447892.50000 57.184
225 | 1991.00000 2448257.50000 58.184
226 | 1992.49727 2448804.50000 59.184
227 | 1993.49589 2449169.50000 60.184
228 | 1994.49589 2449534.50000 61.184
229 | 1996.00000 2450083.50000 62.184
230 | 1997.49589 2450630.50000 63.184
231 | 1999.00000 2451179.50000 64.184
232 | 2006.00000 2453736.50000 65.184
233 | 2009.00000 2454832.50000 66.184
234 | 2012.49727 2456109.50000 67.184
235 | 2015.49589 2457204.50000 68.184
236 | 2017.00000 2457754.50000 69.184
237 |
--------------------------------------------------------------------------------
/pygtide/commdat/etddt_tmpl.dat:
--------------------------------------------------------------------------------
1 | File : etddt.dat
2 | Updated : 27/11/2020
3 | Contents : Table to interpolate DDT=TT-UTC. For epochs less
4 | than 1820, DDT is not defined within this table.
5 | Source : ftp://hpiers.obspm.fr/iers/bul/bulc/Leap_Second.dat
6 | Note : File must have an empty line at the end!
7 | Explanation:
8 | =============================================================
9 | https://www.ucolick.org/~sla/leapsecs/timescales.html
10 | =============================================================
11 | ET 1960-1983
12 | TDT 1984-2000
13 | UTC 1972- GPS 1980- TAI 1958- TT 2001-
14 | ----+---------+-------------+-------------------------+-----
15 | | | | |
16 | |<-- TAI-UTC (leaps) -->|<----- TT-TAI ----->|
17 | | | | 32.184s fixed |
18 | ||<- TAI-GPS ->| |
19 | | | 19s fixed | |
20 | | |
21 | |<----- DDT = TT-UTC = delta-T + delta-UT ------->|
22 | | |
23 | <->| delta-UT = UT1-UTC (max +/-0.9 sec) |
24 | -------+----------------------------------------------+-----
25 | |<------------ delta-T = TT-UT1 -------------->|
26 | UT1 (UT) TT/TDT/ET
27 | =============================================================
28 |
29 | Year Julian date DDT (TT-UTC) [s]
30 | C*************************************************************
31 | 1820.00000 2385800.500000 12.000
32 | 1821.00000 2386166.500000 11.700
33 | 1822.00000 2386531.500000 11.400
34 | 1823.00000 2386896.500000 11.100
35 | 1824.00000 2387261.500000 10.600
36 | 1825.00000 2387627.500000 10.200
37 | 1826.00000 2387992.500000 9.600
38 | 1827.00000 2388357.500000 9.100
39 | 1828.00000 2388722.500000 8.600
40 | 1829.00000 2389088.500000 8.000
41 | 1830.00000 2389453.500000 7.500
42 | 1831.00000 2389818.500000 7.000
43 | 1832.00000 2390183.500000 6.600
44 | 1833.00000 2390549.500000 6.300
45 | 1834.00000 2390914.500000 6.000
46 | 1835.00000 2391279.500000 5.800
47 | 1836.00000 2391644.500000 5.700
48 | 1837.00000 2392010.500000 5.600
49 | 1838.00000 2392375.500000 5.600
50 | 1839.00000 2392740.500000 5.600
51 | 1840.00000 2393105.500000 5.700
52 | 1841.00000 2393471.500000 5.800
53 | 1842.00000 2393836.500000 5.900
54 | 1843.00000 2394201.500000 6.100
55 | 1844.00000 2394566.500000 6.200
56 | 1845.00000 2394932.500000 6.300
57 | 1846.00000 2395297.500000 6.500
58 | 1847.00000 2395662.500000 6.600
59 | 1848.00000 2396027.500000 6.800
60 | 1849.00000 2396393.500000 6.900
61 | 1850.00000 2396758.500000 7.100
62 | 1851.00000 2397123.500000 7.200
63 | 1852.00000 2397488.500000 7.300
64 | 1853.00000 2397854.500000 7.400
65 | 1854.00000 2398219.500000 7.500
66 | 1855.00000 2398584.500000 7.600
67 | 1856.00000 2398949.500000 7.700
68 | 1857.00000 2399315.500000 7.700
69 | 1858.00000 2399680.500000 7.800
70 | 1859.00000 2400045.500000 7.800
71 | 1860.00000 2400410.500000 7.880
72 | 1861.00000 2400776.500000 7.820
73 | 1862.00000 2401141.500000 7.540
74 | 1863.00000 2401506.500000 6.970
75 | 1864.00000 2401871.500000 6.400
76 | 1865.00000 2402237.500000 6.020
77 | 1866.00000 2402602.500000 5.410
78 | 1867.00000 2402967.500000 4.100
79 | 1868.00000 2403332.500000 2.920
80 | 1869.00000 2403698.500000 1.820
81 | 1870.00000 2404063.500000 1.610
82 | 1871.00000 2404428.500000 0.100
83 | 1872.00000 2404793.500000 -1.020
84 | 1873.00000 2405159.500000 -1.280
85 | 1874.00000 2405524.500000 -2.690
86 | 1875.00000 2405889.500000 -3.240
87 | 1876.00000 2406254.500000 -3.640
88 | 1877.00000 2406620.500000 -4.540
89 | 1878.00000 2406985.500000 -4.710
90 | 1879.00000 2407350.500000 -5.110
91 | 1880.00000 2407715.500000 -5.400
92 | 1881.00000 2408081.500000 -5.420
93 | 1882.00000 2408446.500000 -5.200
94 | 1883.00000 2408811.500000 -5.460
95 | 1884.00000 2409176.500000 -5.460
96 | 1885.00000 2409542.500000 -5.790
97 | 1886.00000 2409907.500000 -5.630
98 | 1887.00000 2410272.500000 -5.640
99 | 1888.00000 2410637.500000 -5.800
100 | 1889.00000 2411003.500000 -5.660
101 | 1890.00000 2411368.500000 -5.870
102 | 1891.00000 2411733.500000 -6.010
103 | 1892.00000 2412098.500000 -6.190
104 | 1893.00000 2412464.500000 -6.640
105 | 1894.00000 2412829.500000 -6.440
106 | 1895.00000 2413194.500000 -6.470
107 | 1896.00000 2413559.500000 -6.090
108 | 1897.00000 2413925.500000 -5.760
109 | 1898.00000 2414290.500000 -4.660
110 | 1899.00000 2414655.500000 -3.740
111 | 1900.00000 2415020.500000 -2.720
112 | 1901.00000 2415385.500000 -1.540
113 | 1902.00000 2415750.500000 -0.020
114 | 1903.00000 2416115.500000 1.240
115 | 1904.00000 2416480.500000 2.640
116 | 1905.00000 2416846.500000 3.860
117 | 1906.00000 2417211.500000 5.370
118 | 1907.00000 2417576.500000 6.140
119 | 1908.00000 2417941.500000 7.750
120 | 1909.00000 2418307.500000 9.130
121 | 1910.00000 2418672.500000 10.460
122 | 1911.00000 2419037.500000 11.530
123 | 1912.00000 2419402.500000 13.360
124 | 1913.00000 2419768.500000 14.650
125 | 1914.00000 2420133.500000 16.010
126 | 1915.00000 2420498.500000 17.200
127 | 1916.00000 2420863.500000 18.240
128 | 1917.00000 2421229.500000 19.060
129 | 1918.00000 2421594.500000 20.250
130 | 1919.00000 2421959.500000 20.950
131 | 1920.00000 2422324.500000 21.160
132 | 1921.00000 2422690.500000 22.250
133 | 1922.00000 2423055.500000 22.410
134 | 1923.00000 2423420.500000 23.030
135 | 1924.00000 2423785.500000 23.490
136 | 1925.00000 2424151.500000 23.620
137 | 1926.00000 2424516.500000 23.860
138 | 1927.00000 2424881.500000 24.490
139 | 1928.00000 2425246.500000 24.340
140 | 1929.00000 2425612.500000 24.080
141 | 1930.00000 2425977.500000 24.020
142 | 1931.00000 2426342.500000 24.000
143 | 1932.00000 2426707.500000 23.870
144 | 1933.00000 2427073.500000 23.950
145 | 1934.00000 2427438.500000 23.860
146 | 1935.00000 2427803.500000 23.930
147 | 1936.00000 2428168.500000 23.730
148 | 1937.00000 2428534.500000 23.920
149 | 1938.00000 2428899.500000 23.960
150 | 1939.00000 2429264.500000 24.020
151 | 1940.00000 2429629.500000 24.330
152 | 1941.00000 2429995.500000 24.830
153 | 1942.00000 2430360.500000 25.300
154 | 1943.00000 2430725.500000 25.700
155 | 1944.00000 2431090.500000 26.240
156 | 1945.00000 2431456.500000 26.770
157 | 1946.00000 2431821.500000 27.280
158 | 1947.00000 2432186.500000 27.780
159 | 1948.00000 2432551.500000 28.250
160 | 1949.00000 2432917.500000 28.710
161 | 1950.00000 2433282.500000 29.150
162 | 1951.00000 2433647.500000 29.570
163 | 1952.00000 2434012.500000 29.970
164 | 1953.00000 2434378.500000 30.360
165 | 1954.00000 2434743.500000 30.720
166 | 1955.00000 2435108.500000 31.070
167 | 1956.00000 2435473.500000 31.350
168 | 1957.00000 2435839.500000 31.680
169 | 1958.00000 2436204.500000 32.180
170 | 1959.00000 2436569.500000 32.680
171 | 1960.00000 2436934.500000 33.150
172 | 1961.00000 2437300.500000 33.590
173 | 1962.00000 2437665.500000 34.032
174 | 1962.50000 2437846.500000 34.235
175 | 1963.00000 2438030.500000 34.441
176 | 1963.50000 2438211.500000 34.644
177 | 1964.00000 2438395.500000 34.950
178 | 1964.50000 2438577.500000 35.286
179 | 1965.00000 2438761.500000 35.725
180 | 1965.50000 2438942.500000 36.160
181 | 1966.00000 2439126.500000 36.498
182 | 1966.50000 2439307.500000 36.968
183 | 1967.00000 2439491.500000 37.444
184 | 1967.50000 2439672.500000 37.913
185 | 1968.00000 2439856.500000 38.390
186 | 1968.25000 2439947.500000 38.526
187 | 1968.50000 2440038.500000 38.760
188 | 1968.75000 2440130.500000 39.000
189 | 1969.00000 2440222.500000 39.238
190 | 1969.25000 2440312.500000 39.472
191 | 1969.50000 2440403.500000 39.707
192 | 1969.75000 2440495.500000 39.946
193 | 1970.00000 2440587.500000 40.185
194 | 1970.25000 2440677.500000 40.420
195 | 1970.50000 2440768.500000 40.654
196 | 1970.75000 2440860.500000 40.892
197 | 1971.00000 2440952.500000 41.131
198 | 1971.08500 2440983.500000 41.211
199 | 1971.16200 2441011.500000 41.284
200 | 1971.24700 2441042.500000 41.364
201 | 1971.32900 2441072.500000 41.442
202 | 1971.41400 2441103.500000 41.522
203 | 1971.49600 2441133.500000 41.600
204 | 1971.58100 2441164.500000 41.680
205 | 1971.66600 2441195.500000 41.761
206 | 1971.74800 2441225.500000 41.838
207 | 1971.83300 2441256.500000 41.919
208 | 1971.91500 2441286.500000 41.996
209 |
--------------------------------------------------------------------------------
/pygtide/core.py:
--------------------------------------------------------------------------------
1 | """
2 | PyGTide - A python class to calculate time series of the gravitational tides on Earth
3 | -------------------------------------------------------------------------------
4 | Author: Gabriel C. Rau (gabriel@hydrogeo.science)
5 | Website: https://hydrogeo.science
6 | Based on:
7 | ETERNA 3.4 PREDICT (by Prof. Wenzel, 1996)
8 | Updated updated by Kudryevtsev (2004)
9 |
10 | Publications:
11 | Wenzel, H.-G. The nanogal software: Earth tide data processing package ETERNA 3.30,
12 | Bull. Inf. Marées Terrestres (1996) 124, 9425–9439.
13 | Kudryavtsev, S. Journal of Geodesy (2004) 77: 829. https://doi.org/10.1007/s00190-003-0361-2
14 | -------------------------------------------------------------------------------
15 | How to run:
16 | import pygtide
17 | pt = pygtide.pygtide()
18 | pt.predict(latitude, longitude, height, startdate, duration, samprate, **control):
19 | data = pt.results()
20 |
21 | pt.results() returns:
22 | either False, or a Pandas dataframe with the respective data.
23 |
24 | Python status messages can be suppressed by setting: self.msg = False.
25 | The routine relies on files in the subdirectory 'commdat'. This includes the tidal
26 | catalogues, corrections of the pole rotation as well as leap seconds.
27 | Wave group parameters are being read from the "self.waves.ini" file.
28 | -------------------------------------------------------------------------------
29 | The original code was written in Fortran 77/90 and is available for download from:
30 | http://igets.u-strasbg.fr/soft_and_tool.php
31 | -------------------------------------------------------------------------------
32 | Subroutines used in the Fortran program:
33 | --- new ---
34 | PREDICT: New Python interface subroutine to hand over arguments and calculate
35 | INIT: New subroutine which sets the variables in module out for access in Python.
36 | --- existing ---
37 | ETASTN: computes astronomical elements.
38 | PREDIN: reads control parameters.
39 | ETDDTA: reads tabel of DDT = TDT - UTC.
40 | ETDDTB: interpolates DDT = TDT - UTC from table.
41 | ETGCON: computes geodetic coefficients.
42 | ETGREN: computes date from Julian date.
43 | ETJULN: computes JULIAN date.
44 | ETLEGN: computes fully normalized Legendre spherical harmonics.
45 | ETLOVE: computes elastic parameters from Wahr-Dehant model.
46 | ETPOLC: computes DUT1.
47 | ETPHAS: computes the phases and frequencies of the tidal waves.
48 | ETPOTS: computes amplitudes, frequencies and phases of tidal waves.
49 | GEOEXT: computes JOBTIME.
50 | ===============================================================================
51 | Note: While Prof. Wenzel passed away, his legacy continues to live as PyGTide
52 | -------------------------------------------------------------------------------
53 | ####### ######## ####### ####### ## ## ####
54 | ## ## ## ## ## ### ## ## ##
55 | ## ## ## ## ## #### ## ## ##
56 | ###### ## ###### ####### ## ## ## ## ##
57 | ## ## ## ## ## ## #### ########
58 | ## ## ## ## ## ## ### ## ##
59 | ####### ## ####### ## ## ## ## ## ##
60 |
61 | Prof. Dr.-Ing. Hans-Georg Wenzel
62 | Black Forest Observatory
63 | Universitaet Karlsruhe
64 | Englerstr. 7
65 | D-76128 KARLSRUHE
66 | Germany
67 | Phone : ++49-0721-6082307
68 | Telefax : ++49-0721-694552
69 | e-mail : wenzel@gik.bau-verm.uni-karlsruhe.de
70 | ===============================================================================
71 | This Python module was created based on the Fortran code PREDICT as part of
72 | ETERNA 3.4, originally written by Prof. Hans George Wenzel in 1996. PREDICT is used to
73 | calculate Earth tide gravity time series. The original PREDICT Fortran code was
74 | updated to implement the new tidal catalogue by Kudryatvtsev (2004). The code
75 | was then modernised (Fortran 90) for compilation as Python 3 module. This interface
76 | provides a convenient way to utilise ETERNA PREDICT within Python.
77 |
78 | The module relies on external files in the directory "commdat". The folowing files require
79 | regular updating:
80 |
81 | - etddt.dat - contains the difference between ephemeris time and UTC (include any leap seconds)
82 | - etpolut.dat - contains the earth's pole rotation
83 |
84 | The original Fortran code was also modified for use with f2py:
85 | - COMMON blocks were transformed into modules
86 | - continuous lines were updated for F90 compatibility
87 | - the main program was changed into a subroutine (for f2py compliance)
88 | - various other modernisations and enhancements
89 | - BUG FIX: the original date and time data contained a rounding bug when the
90 | sampling rate was lower than 60 seconds. This was successfully fixed.
91 | ===============================================================================
92 | """
93 | import pygtide.etpred as etpred
94 | from datetime import datetime, timedelta, date
95 | from warnings import warn
96 | import numpy as np
97 | import pandas as pd
98 | from pkg_resources import resource_filename
99 | import os
100 |
101 | class pygtide(object):
102 | """
103 | The PyGTide class will initialise internal variables
104 | """
105 | def __init__(self, msg=True):
106 | """
107 | pygtide.init() initialises the etpred (Fortran) module and sets global variables
108 | """
109 | self.msg = msg
110 | self.fortran_version = etpred.inout.vers.astype(str)
111 | self.data_dir = resource_filename('pygtide', 'commdat/')
112 | etpred.params.comdir = self.data_dir + ' ' * (256 - len(self.data_dir))
113 | # set OS dependent module output
114 | etpred.params.nullfile = os.devnull + ' ' * (10 - len(os.devnull))
115 | self.args = []
116 | # set some common variables for external access
117 | etpred.init()
118 | # capture end date of file "etddt.dat" from module
119 | year = int(etpred.inout.etd_start)
120 | self.etddt_start = datetime(year, 1, 1)
121 | year = etpred.inout.etd_end
122 | self.etddt_end = (datetime(int(year), 1, 1) + timedelta(days=(year - int(year)) * 365))
123 | # capture end date of file "etpolut1.dat" from module
124 | self.etpolut1_start = datetime.strptime(str(etpred.inout.etpol_start), "%Y%m%d")
125 | self.etpolut1_end = datetime.strptime(str(etpred.inout.etpol_end), "%Y%m%d")
126 |
127 | self.headers = np.char.strip(etpred.inout.header.astype('str'))
128 | # self.units = ['(m/s)**2','nm/s**2','mas','mm','mm','nstr','nstr','nstr','nstr','nstr','mm']
129 | self.exec = False
130 |
131 | self.wavegroup_def = np.asarray([[0, 10, 1., 0.]])
132 | self.set_wavegroup(self.wavegroup_def)
133 |
134 | #%% sync the Python object
135 | def update(self):
136 | """
137 | self.update() refreshes the variables of PyGTide based on the Fortran module etpred
138 | """
139 | self.headers = np.char.strip(etpred.inout.header.astype('str'))
140 | self.args = etpred.inout.argsin
141 | self.unit = etpred.inout.etpunit.astype('str')
142 |
143 | #%% set wave group parameters
144 | def set_wavegroup(self, wavedata=None):
145 | if (wavedata is None):
146 | wavedata = self.wavegroup_def
147 | # require at least 4 columns
148 | if (wavedata.shape[1] != 4):
149 | raise ValueError("The wave group input must have 4 columns!")
150 | return False
151 | # require frequency ranges to increase and not overlap
152 | freq_diffs = np.diff(wavedata[:, 0:1].flatten())
153 | if ((freq_diffs < 0).any()):
154 | raise ValueError("Wave group frequency ranges must be increasing and not overlapping!")
155 | return False
156 | if ((wavedata[:, 2] < 0).any()):
157 | raise ValueError("Amplitude factors must be positive!")
158 | return False
159 | # set the wave group parameters
160 | etpred.waves(wavedata[:, 0], wavedata[:, 1], wavedata[:, 2], wavedata[:, 3], int(wavedata.shape[0]))
161 | return True
162 |
163 | #%% reset the wave group
164 | def reset_wavegroup(self):
165 | self.set_wavegroup(self.wavegroup_def)
166 | return True
167 |
168 | # run module etpred and return numbers
169 | def predict(self, latitude, longitude, height, startdate, duration, samprate, **control):
170 | """
171 | self.predict(latitude, longitude, height, startdate, duration, samprate, **control):
172 | -------------------------------------------------------------------------------
173 | Explanation of parameters used as numeric array "argsin". Parameters which are set
174 | will overwrite default control parameters (ETERNA ini file input is disabled).
175 | -------------------------------------------------------------------------------
176 | Required parameters:
177 | ---
178 | Latitude Ellipsoidal latitude of the station in degree referring to
179 | WGS84 reference system (ETERNA: STATLATITU).
180 | Longitude Ellipsoidal longitude of the station in degree referring
181 | to WGS84 reference system (ETERNA: STATLONITU).
182 | Height Ellipsoidal height of the station in meters referring to
183 | WGS84 reference system (ETERNA: STATELEVAT).
184 | Startdate Initial epoch, used to compute the Fourier development of
185 | the specific earth tide component. Format is either string
186 | 'YYYY-MM-DD' or a datime object (ETERNA: INITIALEPO).
187 | Duration Time span for the prediction in hours. The model tide series
188 | will start at the initial epoch INITIALEPO and the time span
189 | will be PREDICSPAN hours (ETERNA: PREDICSPAN).
190 | Samprate Data sample interval in seconds (ETERNA: SAMPLERATE).
191 | -------------------------------------------------------------------------------
192 | Optional keyword (**control) parameters:
193 | ---
194 | statgravit= Gravity of the station in m/s^2, necessary for tidal tilt
195 | only. If the gravity is unknown, use a value of less than 1.0
196 | and the program will compute and subsequently use the
197 | normal gravity value referring to GRS80 reference system.
198 | statazimut= azimuth of the instrument in degree decimal, reckoned
199 | clockwise from north. This parameter is used for tidal tilt,
200 | horizontal displacement and horizontal strain only.
201 | tidalpoten= Parameter for the tidal potential catalog to be used:
202 | 1 = Doodson (1921) tidal potential catalog,
203 | 2 = Cartwright-Tayler-Edden (1973) tidal potential catalog
204 | 3 = Buellesfeld (1985) tidal potential catalog,
205 | 4 = Tamura (1987) tidal potential catalog,
206 | 5 = Xi (1989) tidal potential catalog,
207 | 6 = Roosbeek (1996) tidal potential catalog,
208 | 7 = Hartmann and Wenzel (1995) tidal potential catalog.
209 | 8 = (default) Kudryavtsev (2004) tidal potential catalog.
210 | tidalcompo= Earth tide component:
211 | = -1 for tidal potential (m**2/s**2)
212 | = 0 (default) for tidal gravity in (nm/s**2)
213 | = 1 for tidal tilt (mas), at azimuth STATAZIMUT.
214 | = 2 for tidal vertical displacement (mm)
215 | = 3 for tidal horizontal displacement (mm) azimuth STATAZIMUT.
216 | = 4 for tidal vertical strain (10**-9 = nstr)
217 | = 5 for tidal horizontal strain (10**-9 = nstr) azimuth STATAZIMUT.
218 | = 6 for tidal areal strain (10**-9 = nstr)
219 | = 7 for tidal shear strain (10**-9 = nstr)
220 | = 8 for tidal volume strain (10**-9 = nstr)
221 | The computed model tides will be given in the units defined above.
222 | amtruncate= Amplitude threshold (default 0) for the tidal potential catalogue (m^2/s^2).
223 | Only tidal waves with amplitudes exceeding the
224 | amplitude threshold are used for the computation. This
225 | reduces the execution time, but also the accuracy of the
226 | computed tidal signales. For mean latitudes, the relation
227 | between amplitude threshold and gravity tide accuracy is
228 | for the Hartmann and Wenzel (1995) tidal potential catalog
229 | threshold rms error [nm/s^2]
230 | 1.D-01 88.40
231 | 1.D-02 14.40
232 | 1.D-03 2.250
233 | 1.D-04 0.440
234 | 1.D-05 0.068
235 | 1.D-06 0.011
236 | 1.D-07 0.002
237 | 1.D-08 0.001
238 | 1.D-09 0.001
239 | 1.D-10 0.001
240 | poltidecor= Amplitude factor for gravity pole tide. If the amplitude
241 | factor is greater zero, gravity pole tides will be computed using
242 | the IERS daily pole coordinates. Default value is 1.16.
243 | lodtidecor= Amplitude factor for gravity LOD tide. If the amplitude
244 | factor is greater zero, gravity LOD tides will be computed
245 | using the IERS daily pole coordinates. Default value is 1.16.
246 | fileout= Defaults value is 0 (output is suppressed). If set to 1, the routine
247 | writes two text files called "self.inout.prd" and "self.inout.prn"
248 | in the original format into the directory of the module.
249 | screenout= Defaults value is 0 (output is silenced). If set to 1, the routine
250 | writes output to the screen (but not the Python terminal).
251 | -------------------------------------------------------------------------------
252 | """
253 | # prepare full input argument array
254 | argsin = np.zeros(18)
255 | # define default values as given by the Fortran code
256 | # tidal catalog
257 | argsin[10] = 8
258 | # amplitude truncation
259 | argsin[12] = 1.0E-10
260 | # values from: https://dx.doi.org/10.1016/j.jog.2005.08.035
261 | argsin[13] = 1.16
262 | argsin[14] = 1.16
263 |
264 | # iterate through optional arguments passed
265 | if 'statgravit' in control:
266 | if not (0 <= control['statgravit'] <= 20):
267 | raise ValueError('Station gravity exceeds permissible range!')
268 | else:
269 | argsin[8] = control['statgravit']
270 | if 'statazimut' in control:
271 | if not (0 <= control['statazimut'] <= 180):
272 | raise ValueError('Statazimut exceeds permissible range!')
273 | else:
274 | argsin[9] = control['statazimut']
275 | if 'tidalpoten' in control:
276 | if control['tidalpoten'] not in range(1,9):
277 | raise ValueError('Tidalpoten must be an integer between 1 and 8!')
278 | else:
279 | argsin[10] = control['tidalpoten']
280 | if 'tidalcompo' in control:
281 | if control['tidalcompo'] not in range(-1,10):
282 | raise ValueError('Tidalcompo must be an integer between -1 and 9!')
283 | else:
284 | argsin[11] = control['tidalcompo']
285 | if 'amtruncate' in control:
286 | if not (0 <= control['amtruncate']):
287 | raise ValueError('Amtruncate must be greater than 0!')
288 | else:
289 | argsin[12] = control['amtruncate']
290 | if 'poltidecor' in control:
291 | if not (control['poltidecor'] >= 0):
292 | raise ValueError('Poltidecor must be >= 0!')
293 | else:
294 | argsin[13] = control['poltidecor']
295 | if 'lodtidecor' in control:
296 | if not (control['lodtidecor'] >= 0):
297 | raise ValueError('Lodtidecor must be >= 0!')
298 | else:
299 | argsin[14] = control['lodtidecor']
300 | # additional control parameters
301 | if 'fileprd' in control:
302 | if control['fileprd'] not in range(0,2):
303 | raise ValueError('Fileprd flag must be 0 or 1!')
304 | else:
305 | argsin[15] = control['fileprd']
306 | if 'fileprn' in control:
307 | if control['fileprn'] not in range(0,2):
308 | raise ValueError('Fileprn flag must be 0 or 1!')
309 | else:
310 | argsin[16] = control['fileprn']
311 | if 'screenout' in control:
312 | if control['screenout'] not in range(0,2):
313 | raise ValueError('Screenout flag must be 0 or 1!')
314 | else:
315 | argsin[17] = control['screenout']
316 | # process required parameters here
317 | if not (-90 <= latitude <= 90):
318 | raise ValueError('Latitude exceeds permissible range!')
319 | else:
320 | argsin[0] = latitude
321 | if not (-180 <= longitude <= 180):
322 | raise ValueError('Longitude exceeds permissible range!')
323 | else:
324 | argsin[1] = longitude
325 | if not (-500 <= height <= 5000):
326 | raise ValueError('Height exceeds permissible range!')
327 | else:
328 | argsin[2] = height
329 | if not (0 < duration <= 10*24*365):
330 | raise ValueError("Duration exceeds permissible range!")
331 | else:
332 | argsin[6] = int(duration)
333 |
334 | # test startdate format and validity
335 | if not (isinstance(startdate, date)):
336 | try:
337 | startdate = datetime.strptime(startdate, "%Y-%m-%d")
338 | except ValueError:
339 | raise ValueError("Startdate has incorrect format (YYYY-MM-DD)!" )
340 | enddate = startdate + timedelta(hours=duration)
341 | # check if requested prediction series exceeds permissible time
342 | if (startdate < self.etddt_start):
343 | fname = str(etpred.params.etddtdat)
344 | warn("Prediction timeframe is earlier than the available time database (%s). "
345 | "For details refer to the file '%s'." % (self.etddt_start, fname))
346 | if (enddate > (self.etddt_end + timedelta(days=365))):
347 | fname = str(etpred.params.etddtdat)
348 | warn("Please consider updating the leap second database '%s' (last value is from %s)." % (fname, self.etddt_end))
349 | # if not (-50*365 < (startdate - dt.datetime.now()).days < 365):
350 | if ( ((argsin[13] > 0) or (argsin[14] > 0)) and ((startdate < self.etpolut1_start) or (enddate > self.etpolut1_end)) ):
351 | fname = str(etpred.params.etddtdat)
352 | warn("Dates exceed permissible range for pole/LOD tide correction (interval %s to %s). Consider update file '%s'." % (self.etpolut1_start, self.etpolut1_end, fname))
353 | if ( ((argsin[13] > 0) or (argsin[14] > 0)) and (startdate < datetime.strptime('1600-01-01', "%Y-%m-%d")) ):
354 | raise ValueError("PyGTide should not be used for dates before the year 1600.")
355 | # set the start date and time
356 | argsin[3:6] = [startdate.year,startdate.month,startdate.day]
357 | # test sammprate validity
358 | if not (0 < samprate <= 24*3600):
359 | raise ValueError("samprate exceeds permissible range!")
360 | else:
361 | argsin[7] = int(samprate)
362 | # test that samprate is not larger than duration
363 | if (samprate/3600 > duration):
364 | raise ValueError("samprate exceeds duration!")
365 | # print(argsin)
366 | self.args = argsin
367 | if self.msg:
368 | print('%s is calculating, please wait ...' % (self.fortran_version))
369 |
370 | # hand over variables
371 | etpred.predict(argsin)
372 |
373 | self.exec = True
374 | self.update()
375 | return True
376 |
377 | # easy access to the raw data calculated by the Fortran module
378 | def results(self, digits=6):
379 | """
380 | self.results(digits=6)
381 | Returns:
382 | - If predict() was executed, returns a dataframe with the results
383 | - False
384 | keyword 'digits' sets the number of digits returned.
385 | """
386 | if self.exec:
387 | # get the headers from Fortran
388 | cols = np.char.strip(etpred.inout.header.astype('str'))
389 | allcols = np.insert(cols[2:], 0, 'UTC')
390 | etdata = pd.DataFrame(columns=allcols)
391 | # format date and time into padded number strings
392 | etpred_data = np.array(etpred.inout.etpdata)
393 | # print(etpred.inout.etpdata[:, 0])
394 | # catch non-complete container fills from odd duration/sampling pairs
395 | etpred_data = etpred_data[etpred_data[:,0] > 0, :]
396 | # convert
397 | date = np.char.mod("%08.0f ", etpred_data[:,0])
398 | time = np.char.mod("%06.0f", etpred_data[:,1])
399 | # merge date and time arrays
400 | datetime = np.core.defchararray.add(date, time)
401 | etdata['UTC'] = pd.to_datetime(datetime, format="%Y%m%d %H%M%S", utc=True)
402 | # obtain header strings from routine and convert
403 | etdata[cols[2:]] = np.around(etpred_data[:, 2:], digits)
404 | return etdata
405 | else:
406 | return None
407 |
408 | # easy access to the raw data calculated by Fortran
409 | def raw(self):
410 | """
411 | self.raw()
412 | Returns:
413 | - If predict() was executed, returns the raw data from the etpred module
414 | - False
415 | """
416 | if self.exec:
417 | return etpred.inout.etpdata
418 | else:
419 | return None
420 |
421 | # easy access to the formatted data calculated by Fortran
422 | def data(self, digits=6):
423 | """
424 | self.data(digits=6):
425 | Returns:
426 | - If predict() was executed, returns a numpy array with the results
427 | - False
428 | keyword 'digits' sets the number of digits returned.
429 | """
430 | if self.exec:
431 | return np.around(etpred.inout.etpdata[:, 2:], digits)
432 | else:
433 | return None
434 |
435 | # easy access to the raw datetime calculated by Fortran
436 | def datetime(self):
437 | """
438 | self.datetime():
439 | Returns:
440 | - If predict() was executed, returns a numpy string array with the
441 | calculated dates and times in seperate columns
442 | - False
443 | """
444 | if self.exec:
445 | # reformat the date and time values obtained from ETERNA
446 | date = np.char.mod("%08.0f", etpred.inout.etpdata[:,0])
447 | time = np.char.mod("%06.0f", etpred.inout.etpdata[:,1])
448 | return np.stack((date, time), axis=1)
449 | else:
450 | return None
451 |
452 |
453 | def predict_table(*args, msg=False, **kwargs):
454 | kwargs.setdefault('screenout', int(msg))
455 | pt = pygtide(msg=msg)
456 | pt.predict(*args, **kwargs)
457 | return pt.results()
458 |
459 |
460 | def predict_series(*args, msg=False, index=0, **kwargs):
461 | kwargs.setdefault('screenout', int(msg))
462 | pt = pygtide(msg=msg)
463 | pt.predict(*args, **kwargs)
464 | return pt.data()[:, index]
465 |
466 |
467 | def predict_spectrum(*args, nfft=None, **kwargs):
468 | from numpy.fft import rfft, rfftfreq
469 | sr = args[-1]
470 | data = predict_series(*args, **kwargs)
471 | if nfft is None:
472 | nfft = len(data)
473 | freq = rfftfreq(nfft, sr)
474 | spec = rfft(data, nfft) * 2 / len(data)
475 | return freq, spec
476 |
477 |
478 | def plot_series(*args, indices=(0, 1), show=True, **kwargs):
479 | table = predict_table(*args, **kwargs)
480 | table.plot(*indices)
481 | if show:
482 | import matplotlib.pyplot as plt
483 | plt.show()
484 |
485 | def plot_spectrum(*args, ax=None, show=True, **kwargs):
486 | import matplotlib.pyplot as plt
487 | freq, spec = predict_spectrum(*args, **kwargs)
488 | if ax is None:
489 | ax = plt.subplot(111)
490 | ax.plot(freq * 24 * 3600, np.abs(spec))
491 | ax.set_xlabel('freq (cycles per day)')
492 | ax.set_ylabel('amplitude')
493 | if show:
494 | plt.show()
495 |
--------------------------------------------------------------------------------
/pygtide/tests.py:
--------------------------------------------------------------------------------
1 | # PyGTide tests
2 | import numpy as np
3 | from pygtide import predict_series, predict_spectrum, predict_table
4 | from pygtide import plot_series, plot_spectrum
5 | from pygtide import pygtide
6 |
7 | def test(msg=False):
8 | pt = pygtide(msg)
9 | args = (-20.82071, -70.15288, 830.0, '2017-01-01', 6, 600)
10 | pt.predict(*args, statazimut=90, tidalcompo=8)
11 | pt.results()
12 |
13 | # test against a proven array
14 | args = (49.00937, 8.40444, 120, '2018-01-01', 50, 3600)
15 | series = predict_series(*args, tidalcompo=5)
16 | expected = np.array([ 20.120256, 11.371802, 0.303512, -10.684455, -19.316747,
17 | -23.986328, -24.121086, -20.285591, -13.997906, -7.31219 ,
18 | -2.274406, -0.387909, -2.221906, -7.260202, -14.028836,
19 | -20.472805, -24.490089, -24.490442, -19.837274, -11.056935,
20 | 0.244288, 11.741719, 20.946235, 25.812105, 25.243209,
21 | 19.366281, 9.499723, -2.173853, -13.145977, -21.192355,
22 | -24.899299, -23.975888, -19.27862 , -12.549307, -5.938311,
23 | -1.436475, -0.358888, -3.008326, -8.60056 , -15.468955,
24 | -21.497314, -24.673643, -23.626746, -18.009927, -8.631809,
25 | 2.704171, 13.61692 , 21.720306, 25.207537, 23.297815,
26 | 16.429417])
27 | np.testing.assert_almost_equal(series, expected, 5)
28 |
29 | args = (-20.82071, -70.15288, 830.0, '2020-01-01', 29.5 * 24, 600)
30 | predict_table(*args, statazimut=90, tidalcompo=8, msg=msg)
31 | freq, spec = predict_spectrum(*args, statazimut=90, tidalcompo=8)
32 | index = np.argmax(np.abs(spec))
33 | freqM2 = freq[index] * 3600
34 | freqM2expected = 1 / 12.421
35 | assert abs(freqM2 - freqM2expected) / freqM2expected < 2e-3
36 |
37 | try:
38 | import matplotlib.pyplot as plt
39 | except ImportError:
40 | pass
41 | else:
42 | plot_spectrum(*args, statazimut=90, tidalcompo=8, show=False)
43 | plot_series(*args, statazimut=90, tidalcompo=8, show=False)
44 | if msg:
45 | plt.show()
46 |
47 | print('------------------------------------')
48 | print('Successfully finished PyGTide tests!')
49 |
50 |
51 | def plot_pole_and_lod_tide():
52 | try:
53 | import matplotlib.pyplot as plt
54 | except ImportError:
55 | return False
56 | ploty = ['Signal [nm/s**2]', 'Pole tide [nm/s**2]', 'LOD tide [nm/s**2]']
57 | dates = ['1961-12-24', '2016-12-24', '2023-06-01']
58 | for date in dates:
59 | args = (20, 0, 0, date, 24*30, 600)
60 | tab = predict_table(*args)
61 | tab.plot(x='UTC', y=ploty, sharex=True, subplots=True)
62 | plt.savefig(f'tides_{date}.png')
63 | args = (-20.82071, -70.15288, 830.0, '2017-01-01', 10, 600)
64 | tab = predict_table(*args, statazimut=90)
65 | tab.plot(x='UTC', y=ploty, sharex=True, subplots=True)
66 | plt.savefig('tides_2017-01-01_10h.png')
67 | plt.show()
68 |
69 | # test()
70 | #_plot_tides()
71 |
--------------------------------------------------------------------------------
/pygtide/update_etpred_data.py:
--------------------------------------------------------------------------------
1 | """
2 | PyGTide Update - A python class to update the files upon which PyGTide depends
3 | -------------------------------------------------------------------------------
4 | Author: Gabriel C. Rau (gabriel@hydrogeo.science)
5 | Website: https://hydrogeo.science
6 | """
7 | import pygtide.etpred as etpred
8 | from pkg_resources import resource_filename
9 | from pathlib import Path
10 | import numpy as np
11 | import time as tt
12 | import pandas as pd
13 | import datetime as dt
14 | import urllib, urllib.request, re, os
15 |
16 | def timestampToDecyear(ts):
17 | year=ts.year
18 | jan1=pd.Timestamp(year,1,1)
19 | jan1next=pd.Timestamp(year+1,1,1)
20 | yrlen=(jan1next-jan1).total_seconds()
21 | return year+(ts-jan1).total_seconds()/yrlen
22 |
23 | class update_etpred_db(object):
24 | """
25 | The pygtide_update class will initialise internal variables
26 | """
27 | def __init__(self, msg=True):
28 | self.msg = msg
29 | self.data_dir = resource_filename('pygtide', 'commdat/')
30 | etpred.params.comdir = self.data_dir + ' ' * (256 - len(self.data_dir))
31 | # set OS dependent module output
32 | etpred.params.nullfile = os.devnull + ' ' * (10 - len(os.devnull))
33 | self.etddt_file = str(etpred.params.etddtdat, 'UTF-8').strip()
34 | self.etpolut1_dat_file = str(etpred.params.etpolutdat, 'UTF-8').strip()
35 | self.etpolut1_bin_file = str(etpred.params.etpolutbin, 'UTF-8').strip()
36 |
37 | #%% remote data files
38 | # IERS leap seconds history file
39 | self.etddt_tmpl = 'etddt_tmpl.dat'
40 | self.leapsec_rfile = 'https://hpiers.obspm.fr/iers/bul/bulc/Leap_Second_History.dat'
41 | # IERS pole coordinate observations
42 | # self.iauhist_rfile = 'http://hpiers.obspm.fr/iers/eop/eopc04/eopc04_IAU2000.62-now'
43 | self.iauhist_rfile = 'ftp://hpiers.obspm.fr/iers/eop/eopc04/eopc04_IAU2000.62-now'
44 | # US navy pole coordinate predictions
45 | self.iaucurr_rfile = 'https://datacenter.iers.org/data/9/finals2000A.all'
46 | # self.iaucurr_rfile = 'ftp://cddis.gsfc.nasa.gov/pub/products/iers/finals2000A.all'
47 |
48 |
49 | #%% update the pole coordinates and UT1 to TAI times
50 | def update_etpolut1(self):
51 | global etpolut
52 | status = True
53 | etpolut1_file = Path(self.data_dir + '/' + self.etpolut1_dat_file)
54 | leapsec_file = Path(self.data_dir + '/' + '[raw]_Leap_Second_History.dat')
55 | iauhist_file = Path(self.data_dir + '/' + '[raw]_eopc04_IAU2000.dat')
56 | iaucurr_file = Path(self.data_dir + '/' + '[raw]_finals2000A.dat')
57 |
58 | print("--------------------------------------")
59 | print("-->> Updating the Earth orientation database '{:s}':".format(etpolut1_file.as_posix()))
60 | start = tt.time()
61 | if status:
62 | try:
63 | urllib.request.urlopen(self.leapsec_rfile)
64 | except OSError as error:
65 | print("ERROR: Could not connect to remote server: {:s}".format(self.leapsec_rfile))
66 | print("MESSAGE: {0}.".format(error))
67 | status=False
68 | pass
69 | else:
70 | print('Start downloading: {:s} ...'.format(self.leapsec_rfile))
71 | urllib.request.urlretrieve(self.leapsec_rfile, leapsec_file)
72 | end = tt.time()
73 | print('Finished downloading ({:.1f} s).'.format((end - start)))
74 |
75 | if status:
76 | try:
77 | urllib.request.urlopen(self.iauhist_rfile)
78 | except OSError as error:
79 | print("ERROR: Could not connect to remote server: {:s}".format(self.iauhist_rfile))
80 | print("MESSAGE: {0}.".format(error))
81 | status=False
82 | pass
83 | else:
84 | print('Start downloading: {:s} ...'.format(self.iauhist_rfile))
85 | urllib.request.urlretrieve(self.iauhist_rfile, iauhist_file)
86 | end = tt.time()
87 | print('Finished downloading ({:.1f} s).'.format((end - start)))
88 |
89 | if status:
90 | try:
91 | urllib.request.urlopen(self.iaucurr_rfile)
92 | except OSError as error:
93 | print("ERROR: Could not connect to remote server: {:s}".format(self.iaucurr_rfile))
94 | print("MESSAGE: {0}.".format(error))
95 | status=False
96 | pass
97 | else:
98 | print('Start downloading: {:s} ...'.format(self.iaucurr_rfile))
99 | urllib.request.urlretrieve(self.iaucurr_rfile, iaucurr_file)
100 | end = tt.time()
101 | print('Finished downloading ({:.1f} s).'.format((end - start)))
102 |
103 | #%%
104 | if status:
105 | try:
106 | open(leapsec_file, "r")
107 | except OSError as error:
108 | print("ERROR: Could not open file: {:s}".format(leapsec_file.as_posix()))
109 | print("MESSAGE: {0}.".format(error))
110 | status = False
111 | pass
112 |
113 | if status:
114 | try:
115 | open(iauhist_file, "r")
116 | except OSError as error:
117 | print("ERROR: Could not open file: {:s}".format(iauhist_file.as_posix()))
118 | print("MESSAGE: {0}.".format(error))
119 | status = False
120 | pass
121 |
122 | if status:
123 | try:
124 | open(iaucurr_file, "r")
125 | except OSError as error:
126 | print("ERROR: Could not open file: {:s}".format(iaucurr_file.as_posix()))
127 | print("MESSAGE: {0}.".format(error))
128 | status = False
129 | pass
130 |
131 | if status:
132 | #%% read leap second history
133 | leapsdf = pd.read_csv(leapsec_file, comment='#', header=None, parse_dates= {'date':[1,2,3]}, \
134 | date_format='%d %m %Y', delimiter=r"\s+")
135 | leapsdf.columns = ['date', 'MJD', 'leaps']
136 | leapsdf.drop(['MJD'], axis=1, inplace=True)
137 | leapsdf.index += 1
138 | # insert row at the beginning
139 | leapsdf.loc[0] = [dt.datetime(1962,1,1), 10]
140 | leapsdf.sort_index(inplace=True)
141 |
142 | #%% read historic pole coordinates
143 | # convert = {3: lambda x: np.around(np.float64(x), 3)}
144 | iauhist = pd.read_csv(iauhist_file, skiprows=13, header=None, parse_dates= {'date':[0,1,2]}, \
145 | date_format='%Y %m %d', delimiter=r"\s+", usecols=[0,1,2,3,4,5,6])
146 | iauhist.columns = ['date', 'MJD', 'x', 'y', 'UT1-UTC']
147 | #iauhist = iauhist.set_index('date')
148 |
149 | #%% read current pole coordinates
150 | # dateparse = lambda x,y,z: pd.to_datetime(x.zfill(2)+y.zfill(2)+z.zfill(2), format='%y%m%d')
151 | # convert = {'date': lambda x,y,z: pd.to_datetime(x.zfill(2)+y.zfill(2)+z.zfill(2), format='%y%m%d')}
152 | fw = [2,2,2,9,3,9,9,10,9,3,10,10]
153 | iaucurr = pd.read_fwf(iaucurr_file, header=None, widths=fw, usecols=[0,1,2,3,5,7,10])
154 | iaucurr.iloc[:, 0] = pd.to_datetime(iaucurr.iloc[:, 0].astype(str).str.zfill(2) + '-' + iaucurr.iloc[:, 1].astype(str).str.zfill(2) + '-' + iaucurr.iloc[:, 2].astype(str).str.zfill(2), format='%y-%m-%d')
155 | iaucurr.drop(iaucurr.columns[[1, 2]], axis=1, inplace=True)
156 | iaucurr.columns = ['date', 'MJD', 'x', 'y', 'UT1-UTC']
157 | #iaucurr = iaucurr.set_index('date')
158 | mask = (iaucurr['date'] > iauhist['date'].values[-1])
159 | # etpolut = iauhist.append(iaucurr[mask])
160 | etpolut = pd.concat([iauhist, iaucurr[mask]])
161 | etpolut = etpolut[np.isfinite(etpolut['x'])]
162 | #iauhist.combine_first(iaucurr)
163 |
164 | #%%
165 | etpolut['Date'] = etpolut['date'].dt.strftime('%Y%m%d')
166 | etpolut['Time'] = etpolut['date'].dt.strftime('%H%M%S')
167 | etpolut['MJD'] = etpolut['MJD'].map('{:8.3f}'.format)
168 | etpolut['x'] = etpolut['x'].map('{:9.5f}'.format)
169 | etpolut['y'] = etpolut['y'].map('{:9.5f}'.format)
170 | etpolut['TAI-UT1'] = etpolut['UT1-UTC']
171 | etpolut['UT1-UTC'] = etpolut['UT1-UTC'].map('{:9.6f}'.format)
172 |
173 | #%%
174 | # prepare the last column
175 | for idx, val in leapsdf.iterrows():
176 | # print(idx, val[1])
177 | # find mask for leap seconds
178 | if idx+1 in leapsdf.index:
179 | mask = ((etpolut['date'] >= leapsdf['date'].loc[idx]) & (etpolut['date'] < leapsdf['date'].loc[idx+1]))
180 | #print(mask)
181 | # subtract leap seconds from UTC
182 | etpolut.loc[mask, 'TAI-UT1'] = leapsdf['leaps'].loc[idx] - etpolut.loc[mask, 'TAI-UT1']
183 | else:
184 | mask = (etpolut['date'] >= leapsdf['date'].loc[idx])
185 | etpolut.loc[mask, 'TAI-UT1'] = leapsdf['leaps'].loc[idx] - etpolut.loc[mask, 'TAI-UT1']
186 |
187 | etpolut['TAI-UT1'] = etpolut['TAI-UT1'].map('{:9.6f}'.format)
188 |
189 | #%%
190 | #etpolut[0] = etpolut[0].map('${:,.2f}'.format)
191 | header = \
192 | """File : etpolut1.dat
193 | Updated : $1$
194 | Contents : Pole coordinates and earth rotation one day sampling interval,
195 | given at 0 hours UTC. Historic data is combined with predictions.
196 | Data are from IERS and USNO.
197 | Period : $2$
198 | Historic : $3$
199 | Current : $4$
200 | Leap sec.: $5$
201 |
202 | Date Time MJD x y UT1-UTC TAI-UT1
203 | ["] ["] [sec] [sec]
204 | C****************************************************************\n"""
205 | header = header.replace("$1$", dt.datetime.utcnow().strftime('%d/%m/%Y'))
206 | header = header.replace("$2$", etpolut['date'].iloc[0].strftime('%d/%m/%Y') \
207 | + ' to ' + etpolut['date'].iloc[-1].strftime('%d/%m/%Y'))
208 | header = header.replace("$3$", self.iauhist_rfile)
209 | header = header.replace("$4$", self.iaucurr_rfile)
210 | header = header.replace("$5$", self.leapsec_rfile)
211 |
212 | pd.options.display.max_colwidth = 200
213 |
214 | # IMPORTANT: newline needs to comply with windows platform!
215 | # https://pythonconquerstheuniverse.wordpress.com/2011/05/08/newline-conversion-in-python-3/
216 | with open(etpolut1_file, "w", newline='') as myfile:
217 | myfile.write(header)
218 | # myfile.write(etpolut['combined'].to_string(index=False, header=False).replace('\n ', '\n'))
219 | # etpolut['combined'].to_string(myfile, index=False, header=False)
220 | # WEIRD PANDAS BUG: to_string() puts white space at beginning of each line
221 | for index, row in etpolut.iterrows():
222 | string = "{:s} {:s} {:s} {:s} {:s} {:s} {:s}".format(row['Date'], row['Time'], row['MJD'],\
223 | row['x'], row['y'], row['UT1-UTC'], row['TAI-UT1'])
224 | myfile.write(string + '\r\n')
225 | myfile.write("99999999")
226 | myfile.close()
227 | end = tt.time()
228 | # update also bin file
229 | self.etpolut1_dat2bin()
230 | print('Finished updating {:s} ({:.1f} s).'.format(etpolut1_file.as_posix(), (end - start)))
231 | else:
232 | print('Update failed!')
233 | pass
234 |
235 | #%% remove temporary files
236 | os.remove(leapsec_file)
237 | os.remove(iauhist_file)
238 | os.remove(iaucurr_file)
239 | return
240 |
241 | #%% update the etpolut1 binary file from the text file
242 | def etpolut1_dat2bin(self):
243 | etpolut1_dat = Path(self.data_dir + '/' + self.etpolut1_dat_file)
244 | etpolut1_bin = Path(self.data_dir + '/' + self.etpolut1_bin_file)
245 | header = []
246 | # find the end of the header
247 | with open(etpolut1_dat, "r") as f:
248 | for num, line in enumerate(f, 1):
249 | header.append(line)
250 | if "C*******" in header[-1]: break
251 |
252 | # read into dataframe
253 | cols = ['Date', 'Time', 'MJD', 'x', 'y', 'UT1-UTC', 'TAI-UT1']
254 | etpolut = pd.read_csv(etpolut1_dat, names=cols, skiprows=num, header=None, delimiter=r"\s+")
255 | # drop the last row with EOL ('99999999')
256 | etpolut = etpolut[:-1]
257 | print("File '{:s}' has {:d} rows.".format(etpolut1_dat.as_posix(), etpolut.shape[0]))
258 | #%%
259 | # write as binary for use in fortran: each record has 4*8 bytes = 32 bytes
260 | # header contains start date in MJD and number of rows + 1
261 | head = np.array([np.int32(etpolut.iloc[0, 2]), np.int32(etpolut.shape[0]+1)])
262 | data = np.float64(etpolut.values[:, 3:])
263 | #print(data)
264 | with open(etpolut1_bin,'wb+') as f:
265 | # write header integers
266 | f.write(head.tobytes())
267 | # advance to next record (32 bytes)
268 | f.seek(32)
269 | # write the flattened matrix (this may have 64 bytes)
270 | f.write(data.flatten().tobytes())
271 | f.close()
272 | print("File '{:s}' has been updated (Header: {:.0f}, {:d}).".format(etpolut1_bin.as_posix(), etpolut.iloc[0, 2], etpolut.shape[0]+1))
273 |
274 |
275 | #%% update the time conversion database (leap seconds)
276 | def update_etddt(self):
277 | global etddt, leapsdf, tmp
278 | leapsec_file = Path(self.data_dir + '/' + '[raw]_Leap_Second_History.dat')
279 | old_etddt_file = Path(self.data_dir + '/' + self.etddt_tmpl)
280 | etddt_file = Path(self.data_dir + '/' + self.etddt_file)
281 |
282 | #%%
283 | print("--------------------------------------")
284 | print("-->> Updating time conversion database '{:s}':".format(leapsec_file.as_posix()))
285 | #%% download leap second history
286 | start = tt.time()
287 | try:
288 | urllib.request.urlopen(self.leapsec_rfile)
289 | except OSError as error:
290 | print("ERROR: Could not connect to remote server!")
291 | print("MESSAGE: {0}.".format(error))
292 | pass
293 | else:
294 | print('Start downloading: {:s} ...'.format(leapsec_file.as_posix()))
295 | urllib.request.urlretrieve(self.leapsec_rfile, leapsec_file)
296 | end = tt.time()
297 | print('Finished downloading ({:.1f} s).'.format((end - start)))
298 |
299 | #%% READ THE EXISTING FILE
300 | # print(etddt_file)
301 | # find the end of the header
302 | with open(old_etddt_file, "r") as f:
303 | print("Processing file '{:s}' ...".format(etddt_file.as_posix()))
304 | header = []
305 | regex = re.compile(r"^\s*updated\s*\:.*$", re.IGNORECASE)
306 | for num, line in enumerate(f, 1):
307 | line = regex.sub("Updated : %s" % dt.datetime.utcnow().strftime('%d/%m/%Y'), line)
308 | header.append(line)
309 | if "C*******" in header[-1]: break
310 |
311 | cols = ['year','JD','DDT']
312 | etddt = pd.read_csv(old_etddt_file, names=cols, skiprows=num, header=None, delimiter=r"\s+")
313 |
314 | #%% read leap second history
315 | leapsdf = pd.read_csv(leapsec_file, comment='#', header=None, parse_dates= {'date':[1,2,3]}, date_format='%d %m %Y', delimiter=r"\s+")
316 | leapsdf.columns = ['date', 'MJD', 'leaps']
317 | # leapsdf = leapsdf.set_index('date')
318 | # DDT = delta-T + delta-UT = leaps + 32.184 s offset
319 | leapsdf['DDT'] = leapsdf['leaps'] + 32.184
320 |
321 | #%%
322 | leapsdf['JD'] = [dt.to_julian_date() for dt in leapsdf['date']]
323 | leapsdf['year'] = [timestampToDecyear(dt) for dt in leapsdf['date']]
324 |
325 | #%%
326 | mask = (leapsdf['year'] > etddt['year'].values[-1])
327 | indices = leapsdf.index[mask]
328 | # print(indices)
329 | # tmp = []
330 | for i, val in enumerate(indices):
331 | # for each record create a new row
332 | etddt.loc[len(etddt) + 1] = {'year': leapsdf.loc[val, 'year'], 'JD': leapsdf.loc[val, 'JD'], 'DDT': leapsdf.loc[val, 'DDT']}
333 |
334 | # number of new records
335 | records = sum(mask)
336 | if (records > 0):
337 | # write header
338 | with open(self.data_dir + '/' + self.etddt_file, "w+", newline='\r\n') as f:
339 | f.write("".join(header))
340 | #etddt['combined'].to_string(f, index=False, header=False)
341 | #f.write("\n")
342 | # WEIRD PANDAS BUG: to_string() puts white space at beginning of each line
343 | for index, row in etddt.iterrows():
344 | string = "{:.5f} {:.5f} {:8.3f}".format(row['year'], row['JD'], row['DDT'])
345 | # print(string)
346 | f.write(string + '\n')
347 | f.close()
348 | end = tt.time()
349 | print('{:d} records were added to the template ({:.1f} s).'.format(records, end - start))
350 | print("The leap second File ('{:s}') is now up to date ({:.1f} s).".format(self.etddt_file, end - start))
351 |
352 | #%% run the update
353 | def update(msg=True):
354 | pt = update_etpred_db(msg)
355 | pt.update_etddt()
356 | print(etddt.iloc[-10:, :])
357 | pt.update_etpolut1()
358 | print("---------------------")
359 |
360 | update()
--------------------------------------------------------------------------------
/setup.cfg:
--------------------------------------------------------------------------------
1 | [metadata]
2 | long_description = file: README.md
3 | long_description_content_type = text/markdown
4 | license_files=LICENSE
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | import os.path
2 | import re
3 |
4 | from numpy.distutils.core import setup, Extension
5 |
6 | def find_version(*paths):
7 | fname = os.path.join(os.path.dirname(__file__), *paths)
8 | with open(fname) as fp:
9 | code = fp.read()
10 | match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", code, re.M)
11 | if match:
12 | return match.group(1)
13 | raise RuntimeError("Unable to find version string.")
14 |
15 |
16 | VERSION = find_version('pygtide', '__init__.py')
17 |
18 | ext = [Extension(name='pygtide.etpred',
19 | sources=['src/etpred.f90'])]
20 |
21 | setup(
22 | name='pygtide',
23 | version=VERSION,
24 | packages=['pygtide'],
25 | package_data={'pygtide': ['commdat/*']},
26 | ext_modules=ext,
27 | install_requires=['numpy', 'pandas','requests'],
28 | author='Gabriel C. Rau, Tom Eulenfeld',
29 | author_email='gabriel@hydrogeo.science',
30 | url='https://github.com/hydrogeoscience/pygtide',
31 | description=('A Python module and wrapper for ETERNA PREDICT to compute '
32 | 'gravitational tides on Earth'),
33 | )
34 |
--------------------------------------------------------------------------------
/windows/pygtide-0.8-cp310-cp310-win_amd64.whl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hydrogeoscience/pygtide/cb510836a712526f740fb361d1a6135b016e6df9/windows/pygtide-0.8-cp310-cp310-win_amd64.whl
--------------------------------------------------------------------------------
/windows/pygtide-0.8-cp311-cp311-win_amd64.whl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hydrogeoscience/pygtide/cb510836a712526f740fb361d1a6135b016e6df9/windows/pygtide-0.8-cp311-cp311-win_amd64.whl
--------------------------------------------------------------------------------
/windows/pygtide-0.8-cp38-cp38-win_amd64.whl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hydrogeoscience/pygtide/cb510836a712526f740fb361d1a6135b016e6df9/windows/pygtide-0.8-cp38-cp38-win_amd64.whl
--------------------------------------------------------------------------------
/windows/pygtide-0.8-cp39-cp39-win_amd64.whl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hydrogeoscience/pygtide/cb510836a712526f740fb361d1a6135b016e6df9/windows/pygtide-0.8-cp39-cp39-win_amd64.whl
--------------------------------------------------------------------------------