1 XTide: Harmonic tide clock and tide predictor 2 3 San Francisco graph 4 5Preface 6 7 Welcome to the verbose documentation for XTide 2. If you are reading 8 this as a text file, please be aware that the text was extracted from 9 the illustrated HTML version of the documentation that resides at 10 [1]https://flaterco.com/xtide/. The web version may also be more 11 up-to-date than what you are reading. 12 __________________________________________________________________ 13 14 THE XTIDE SOFTWARE DISTRIBUTION IS AVAILABLE FROM: 15 [2]https://flaterco.com/xtide/files.html 16 __________________________________________________________________ 17 18 [3]Buoy in the mist 19 20Contents 21 22 * [4]License and disclaimer ("NOT FOR NAVIGATION," "ABSOLUTELY NO 23 WARRANTY") 24 * Verbose documentation 25 + [5]Introduction 26 + [6]System requirements 27 + [7]Installation instructions for Unix-like platforms 28 + [8]Available ports for other platforms 29 + [9]Modes and formats 30 + [10]Using the interactive interface 31 + [11]Advanced usage 32 + [12]Using the command line interface 33 + [13]Running the web server 34 + [14]Customizing XTide 35 + [15]What to do if your location isn't listed 36 + [16]Quirks, limitations, and bugs 37 + [17]FAQ 38 + [18]Design notes 39 + [19]Credits 40 + [20]Bibliography 41 + [21]Appendix A -- Historical predictions and Y2038 compliance 42 + [22]Appendix B -- Application of offsets for Min Flood and Min 43 Ebb events 44 + [23]Appendix C -- Making calendars fit onto a single page 45 * Short attention span documentation for experienced XTide users 46 + [24]Differences from XTide 1 47 + [25]Quick install instructions 48 + [26]Change log 49 + [27]News (current XTide developments) 50 51 The XTide software distribution resides at 52 [28]https://flaterco.com/xtide/files.html. 53 54 Hint: If you have no idea what all this is about, try reading the 55 [29]FAQ first. 56 57 -- David Flater (dave@flaterco.com) 58 59References 60 61 1. https://flaterco.com/xtide/ 62 2. https://flaterco.com/xtide/files.html 63 3. https://flaterco.com/ 64 4. https://flaterco.com/xtide/disclaimer.html 65 5. https://flaterco.com/xtide/introduction.html 66 6. https://flaterco.com/xtide/sysreq.html 67 7. https://flaterco.com/xtide/installation.html 68 8. https://flaterco.com/xtide/ports.html 69 9. https://flaterco.com/xtide/modes.html 70 10. https://flaterco.com/xtide/interactive.html 71 11. https://flaterco.com/xtide/advanced.html 72 12. https://flaterco.com/xtide/tty.html 73 13. https://flaterco.com/xtide/xttpd.html 74 14. https://flaterco.com/xtide/settings.html 75 15. https://flaterco.com/xtide/harmonics.html 76 16. https://flaterco.com/xtide/bugs.html 77 17. https://flaterco.com/xtide/faq.html 78 18. https://flaterco.com/xtide/design.html 79 19. https://flaterco.com/xtide/credits.html 80 20. https://flaterco.com/xtide/bibliography.html 81 21. https://flaterco.com/xtide/time_t.html 82 22. https://flaterco.com/xtide/mincurrents.html 83 23. https://flaterco.com/xtide/pound_to_fit.html 84 24. https://flaterco.com/xtide/xtide1diff.html 85 25. https://flaterco.com/xtide/quickinst.html 86 26. https://flaterco.com/xtide/changelog.html 87 27. https://flaterco.com/xtide/news.html 88 28. https://flaterco.com/xtide/files.html 89 29. https://flaterco.com/xtide/faq.html 90 91################################################################ 92 93 [1]-> Next [2]Contents 94 95Icon License and disclaimer 96 97 NOTE. The license and disclaimer appearing below applies to the XTide 98 program itself. For information about permissions on the harmonic 99 constants, see [3]https://flaterco.com/xtide/harmonics_boilerplate.txt. 100 101 XTide 2 Copyright � 1998 David Flater 102 103 This software is provided under the terms of the GNU General Public 104 License, either version 3 of the License, or (at your option) any later 105 version. 106 107 Although the package as a whole is GPL, some individual source files 108 are public domain. Consult their header comments for details. 109 110 NOT FOR NAVIGATION 111 112 This program is distributed in the hope that it will be useful, but 113 WITHOUT ANY WARRANTY; without even the implied warranty of 114 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The author 115 assumes no liability for damages arising from use of this program OR of 116 any 'harmonics data' that might be distributed with it. For details, 117 see the appended GNU General Public License. 118 119 (Accurate tide predictions can only be made if the 'harmonics data' for 120 the relevant location are good. Unfortunately, the only way the 121 maintainer of those data has of knowing when they are bad is when 122 someone with access to authoritative tide predictions or observations 123 reports a problem. You should not use this program or any data files 124 that might be distributed with it if anyone or anything could come to 125 harm as a result of an incorrect tide prediction. NOAA and similar 126 agencies in other countries can provide you with certified tide 127 predictions if that is what you need.) 128 129 XTide's predictions do not incorporate the effects of tropical storms, 130 El Ni�o, seismic events, subsidence, uplift, or changes in global sea 131 level. 132 __________________________________________________________________ 133 134 The tide prediction algorithm used in this program was developed with 135 United States Government funding, so no proprietary rights can be 136 attached to it. For more information, refer to the following 137 publications: 138 139 Manual of Harmonic Analysis and Prediction of Tides. Special 140 Publication No. 98, Revised (1940) Edition (reprinted 1958 with 141 corrections; reprinted again 1994). United States Government 142 Printing Office, 1994. 143 144 Computer Applications to Tides in the National Ocean Survey. 145 Supplement to Manual of Harmonic Analysis and Prediction of Tides 146 (Special Publication No. 98). National Ocean Service, National 147 Oceanic and Atmospheric Administration, U.S. Department of Commerce, 148 January 1982. 149 __________________________________________________________________ 150 151 GNU GENERAL PUBLIC LICENSE 152 153 Version 3, 29 June 2007 154 155 Copyright (C) 2007 Free Software Foundation, Inc. <[4]http://fsf.org/> 156 157 Everyone is permitted to copy and distribute verbatim copies of this 158 license document, but changing it is not allowed. 159 160 Preamble 161 162 The GNU General Public License is a free, copyleft license for software 163 and other kinds of works. 164 165 The licenses for most software and other practical works are designed 166 to take away your freedom to share and change the works. By contrast, 167 the GNU General Public License is intended to guarantee your freedom to 168 share and change all versions of a program--to make sure it remains 169 free software for all its users. We, the Free Software Foundation, use 170 the GNU General Public License for most of our software; it applies 171 also to any other work released this way by its authors. You can apply 172 it to your programs, too. 173 174 When we speak of free software, we are referring to freedom, not 175 price. Our General Public Licenses are designed to make sure that you 176 have the freedom to distribute copies of free software (and charge for 177 them if you wish), that you receive source code or can get it if you 178 want it, that you can change the software or use pieces of it in new 179 free programs, and that you know you can do these things. 180 181 To protect your rights, we need to prevent others from denying you 182 these rights or asking you to surrender the rights. Therefore, you 183 have certain responsibilities if you distribute copies of the software, 184 or if you modify it: responsibilities to respect the freedom of 185 others. 186 187 For example, if you distribute copies of such a program, whether gratis 188 or for a fee, you must pass on to the recipients the same freedoms that 189 you received. You must make sure that they, too, receive or can get 190 the source code. And you must show them these terms so they know their 191 rights. 192 193 Developers that use the GNU GPL protect your rights with two steps: 194 (1) assert copyright on the software, and (2) offer you this License 195 giving you legal permission to copy, distribute and/or modify it. 196 197 For the developers' and authors' protection, the GPL clearly explains 198 that there is no warranty for this free software. For both users' and 199 authors' sake, the GPL requires that modified versions be marked as 200 changed, so that their problems will not be attributed erroneously to 201 authors of previous versions. 202 203 Some devices are designed to deny users access to install or run 204 modified versions of the software inside them, although the 205 manufacturer can do so. This is fundamentally incompatible with the 206 aim of protecting users' freedom to change the software. The 207 systematic pattern of such abuse occurs in the area of products for 208 individuals to use, which is precisely where it is most unacceptable. 209 Therefore, we have designed this version of the GPL to prohibit the 210 practice for those products. If such problems arise substantially in 211 other domains, we stand ready to extend this provision to those domains 212 in future versions of the GPL, as needed to protect the freedom of 213 users. 214 215 Finally, every program is threatened constantly by software patents. 216 States should not allow patents to restrict development and use of 217 software on general-purpose computers, but in those that do, we wish to 218 avoid the special danger that patents applied to a free program could 219 make it effectively proprietary. To prevent this, the GPL assures that 220 patents cannot be used to render the program non-free. 221 222 The precise terms and conditions for copying, distribution and 223 modification follow. 224 225 TERMS AND CONDITIONS 226 227 0. Definitions. 228 229 "This License" refers to version 3 of the GNU General Public License. 230 231 "Copyright" also means copyright-like laws that apply to other kinds of 232 works, such as semiconductor masks. 233 234 "The Program" refers to any copyrightable work licensed under this 235 License. Each licensee is addressed as "you". "Licensees" and 236 "recipients" may be individuals or organizations. 237 238 To "modify" a work means to copy from or adapt all or part of the work 239 in a fashion requiring copyright permission, other than the making of 240 an exact copy. The resulting work is called a "modified version" of 241 the earlier work or a work "based on" the earlier work. 242 243 A "covered work" means either the unmodified Program or a work based on 244 the Program. 245 246 To "propagate" a work means to do anything with it that, without 247 permission, would make you directly or secondarily liable for 248 infringement under applicable copyright law, except executing it on a 249 computer or modifying a private copy. Propagation includes copying, 250 distribution (with or without modification), making available to the 251 public, and in some countries other activities as well. 252 253 To "convey" a work means any kind of propagation that enables other 254 parties to make or receive copies. Mere interaction with a user 255 through a computer network, with no transfer of a copy, is not 256 conveying. 257 258 An interactive user interface displays "Appropriate Legal Notices" to 259 the extent that it includes a convenient and prominently visible 260 feature that (1) displays an appropriate copyright notice, and (2) 261 tells the user that there is no warranty for the work (except to the 262 extent that warranties are provided), that licensees may convey the 263 work under this License, and how to view a copy of this License. If 264 the interface presents a list of user commands or options, such as a 265 menu, a prominent item in the list meets this criterion. 266 267 1. Source Code. 268 269 The "source code" for a work means the preferred form of the work for 270 making modifications to it. "Object code" means any non-source form of 271 a work. 272 273 A "Standard Interface" means an interface that either is an official 274 standard defined by a recognized standards body, or, in the case of 275 interfaces specified for a particular programming language, one that is 276 widely used among developers working in that language. 277 278 The "System Libraries" of an executable work include anything, other 279 than the work as a whole, that (a) is included in the normal form of 280 packaging a Major Component, but which is not part of that Major 281 Component, and (b) serves only to enable use of the work with that 282 Major Component, or to implement a Standard Interface for which an 283 implementation is available to the public in source code form. A 284 "Major Component", in this context, means a major essential component 285 (kernel, window system, and so on) of the specific operating system (if 286 any) on which the executable work runs, or a compiler used to produce 287 the work, or an object code interpreter used to run it. 288 289 The "Corresponding Source" for a work in object code form means all the 290 source code needed to generate, install, and (for an executable work) 291 run the object code and to modify the work, including scripts to 292 control those activities. However, it does not include the work's 293 System Libraries, or general-purpose tools or generally available free 294 programs which are used unmodified in performing those activities but 295 which are not part of the work. For example, Corresponding Source 296 includes interface definition files associated with source files for 297 the work, and the source code for shared libraries and dynamically 298 linked subprograms that the work is specifically designed to require, 299 such as by intimate data communication or control flow between those 300 subprograms and other parts of the work. 301 302 The Corresponding Source need not include anything that users can 303 regenerate automatically from other parts of the Corresponding Source. 304 305 The Corresponding Source for a work in source code form is that same 306 work. 307 308 2. Basic Permissions. 309 310 All rights granted under this License are granted for the term of 311 copyright on the Program, and are irrevocable provided the stated 312 conditions are met. This License explicitly affirms your unlimited 313 permission to run the unmodified Program. The output from running a 314 covered work is covered by this License only if the output, given its 315 content, constitutes a covered work. This License acknowledges your 316 rights of fair use or other equivalent, as provided by copyright law. 317 318 You may make, run and propagate covered works that you do not convey, 319 without conditions so long as your license otherwise remains in force. 320 You may convey covered works to others for the sole purpose of having 321 them make modifications exclusively for you, or provide you with 322 facilities for running those works, provided that you comply with the 323 terms of this License in conveying all material for which you do not 324 control copyright. Those thus making or running the covered works for 325 you must do so exclusively on your behalf, under your direction and 326 control, on terms that prohibit them from making any copies of your 327 copyrighted material outside their relationship with you. 328 329 Conveying under any other circumstances is permitted solely under the 330 conditions stated below. Sublicensing is not allowed; section 10 makes 331 it unnecessary. 332 333 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 334 335 No covered work shall be deemed part of an effective technological 336 measure under any applicable law fulfilling obligations under article 337 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar 338 laws prohibiting or restricting circumvention of such measures. 339 340 When you convey a covered work, you waive any legal power to forbid 341 circumvention of technological measures to the extent such 342 circumvention is effected by exercising rights under this License with 343 respect to the covered work, and you disclaim any intention to limit 344 operation or modification of the work as a means of enforcing, against 345 the work's users, your or third parties' legal rights to forbid 346 circumvention of technological measures. 347 348 4. Conveying Verbatim Copies. 349 350 You may convey verbatim copies of the Program's source code as you 351 receive it, in any medium, provided that you conspicuously and 352 appropriately publish on each copy an appropriate copyright notice; 353 keep intact all notices stating that this License and any 354 non-permissive terms added in accord with section 7 apply to the code; 355 keep intact all notices of the absence of any warranty; and give all 356 recipients a copy of this License along with the Program. 357 358 You may charge any price or no price for each copy that you convey, and 359 you may offer support or warranty protection for a fee. 360 361 5. Conveying Modified Source Versions. 362 363 You may convey a work based on the Program, or the modifications to 364 produce it from the Program, in the form of source code under the terms 365 of section 4, provided that you also meet all of these conditions: 366 * a) The work must carry prominent notices stating that you modified 367 it, and giving a relevant date. 368 * b) The work must carry prominent notices stating that it is 369 released under this License and any conditions added under section 370 7. This requirement modifies the requirement in section 4 to "keep 371 intact all notices". 372 * c) You must license the entire work, as a whole, under this 373 License to anyone who comes into possession of a copy. This 374 License will therefore apply, along with any applicable section 7 375 additional terms, to the whole of the work, and all its parts, 376 regardless of how they are packaged. This License gives no 377 permission to license the work in any other way, but it does not 378 invalidate such permission if you have separately received it. 379 * d) If the work has interactive user interfaces, each must display 380 Appropriate Legal Notices; however, if the Program has interactive 381 interfaces that do not display Appropriate Legal Notices, your work 382 need not make them do so. 383 384 A compilation of a covered work with other separate and independent 385 works, which are not by their nature extensions of the covered work, 386 and which are not combined with it such as to form a larger program, in 387 or on a volume of a storage or distribution medium, is called an 388 "aggregate" if the compilation and its resulting copyright are not used 389 to limit the access or legal rights of the compilation's users beyond 390 what the individual works permit. Inclusion of a covered work in an 391 aggregate does not cause this License to apply to the other parts of 392 the aggregate. 393 394 6. Conveying Non-Source Forms. 395 396 You may convey a covered work in object code form under the terms of 397 sections 4 and 5, provided that you also convey the machine-readable 398 Corresponding Source under the terms of this License, in one of these 399 ways: 400 * a) Convey the object code in, or embodied in, a physical product 401 (including a physical distribution medium), accompanied by the 402 Corresponding Source fixed on a durable physical medium customarily 403 used for software interchange. 404 * b) Convey the object code in, or embodied in, a physical product 405 (including a physical distribution medium), accompanied by a 406 written offer, valid for at least three years and valid for as long 407 as you offer spare parts or customer support for that product 408 model, to give anyone who possesses the object code either (1) a 409 copy of the Corresponding Source for all the software in the 410 product that is covered by this License, on a durable physical 411 medium customarily used for software interchange, for a price no 412 more than your reasonable cost of physically performing this 413 conveying of source, or (2) access to copy the Corresponding Source 414 from a network server at no charge. 415 * c) Convey individual copies of the object code with a copy of the 416 written offer to provide the Corresponding Source. This 417 alternative is allowed only occasionally and noncommercially, and 418 only if you received the object code with such an offer, in accord 419 with subsection 6b. 420 * d) Convey the object code by offering access from a designated 421 place (gratis or for a charge), and offer equivalent access to the 422 Corresponding Source in the same way through the same place at no 423 further charge. You need not require recipients to copy the 424 Corresponding Source along with the object code. If the place to 425 copy the object code is a network server, the Corresponding Source 426 may be on a different server (operated by you or a third party) 427 that supports equivalent copying facilities, provided you maintain 428 clear directions next to the object code saying where to find the 429 Corresponding Source. Regardless of what server hosts the 430 Corresponding Source, you remain obligated to ensure that it is 431 available for as long as needed to satisfy these requirements. 432 * e) Convey the object code using peer-to-peer transmission, 433 provided you inform other peers where the object code and 434 Corresponding Source of the work are being offered to the general 435 public at no charge under subsection 6d. 436 437 A separable portion of the object code, whose source code is excluded 438 from the Corresponding Source as a System Library, need not be included 439 in conveying the object code work. 440 441 A "User Product" is either (1) a "consumer product", which means any 442 tangible personal property which is normally used for personal, family, 443 or household purposes, or (2) anything designed or sold for 444 incorporation into a dwelling. In determining whether a product is a 445 consumer product, doubtful cases shall be resolved in favor of 446 coverage. For a particular product received by a particular user, 447 "normally used" refers to a typical or common use of that class of 448 product, regardless of the status of the particular user or of the way 449 in which the particular user actually uses, or expects or is expected 450 to use, the product. A product is a consumer product regardless of 451 whether the product has substantial commercial, industrial or 452 non-consumer uses, unless such uses represent the only significant mode 453 of use of the product. 454 455 "Installation Information" for a User Product means any methods, 456 procedures, authorization keys, or other information required to 457 install and execute modified versions of a covered work in that User 458 Product from a modified version of its Corresponding Source. The 459 information must suffice to ensure that the continued functioning of 460 the modified object code is in no case prevented or interfered with 461 solely because modification has been made. 462 463 If you convey an object code work under this section in, or with, or 464 specifically for use in, a User Product, and the conveying occurs as 465 part of a transaction in which the right of possession and use of the 466 User Product is transferred to the recipient in perpetuity or for a 467 fixed term (regardless of how the transaction is characterized), the 468 Corresponding Source conveyed under this section must be accompanied by 469 the Installation Information. But this requirement does not apply if 470 neither you nor any third party retains the ability to install modified 471 object code on the User Product (for example, the work has been 472 installed in ROM). 473 474 The requirement to provide Installation Information does not include a 475 requirement to continue to provide support service, warranty, or 476 updates for a work that has been modified or installed by the 477 recipient, or for the User Product in which it has been modified or 478 installed. Access to a network may be denied when the modification 479 itself materially and adversely affects the operation of the network or 480 violates the rules and protocols for communication across the network. 481 482 Corresponding Source conveyed, and Installation Information provided, 483 in accord with this section must be in a format that is publicly 484 documented (and with an implementation available to the public in 485 source code form), and must require no special password or key for 486 unpacking, reading or copying. 487 488 7. Additional Terms. 489 490 "Additional permissions" are terms that supplement the terms of this 491 License by making exceptions from one or more of its conditions. 492 Additional permissions that are applicable to the entire Program shall 493 be treated as though they were included in this License, to the extent 494 that they are valid under applicable law. If additional permissions 495 apply only to part of the Program, that part may be used separately 496 under those permissions, but the entire Program remains governed by 497 this License without regard to the additional permissions. 498 499 When you convey a copy of a covered work, you may at your option remove 500 any additional permissions from that copy, or from any part of it. 501 (Additional permissions may be written to require their own removal in 502 certain cases when you modify the work.) You may place additional 503 permissions on material, added by you to a covered work, for which you 504 have or can give appropriate copyright permission. 505 506 Notwithstanding any other provision of this License, for material you 507 add to a covered work, you may (if authorized by the copyright holders 508 of that material) supplement the terms of this License with terms: 509 * a) Disclaiming warranty or limiting liability differently from the 510 terms of sections 15 and 16 of this License; or 511 * b) Requiring preservation of specified reasonable legal notices or 512 author attributions in that material or in the Appropriate Legal 513 Notices displayed by works containing it; or 514 * c) Prohibiting misrepresentation of the origin of that material, 515 or requiring that modified versions of such material be marked in 516 reasonable ways as different from the original version; or 517 * d) Limiting the use for publicity purposes of names of licensors 518 or authors of the material; or 519 * e) Declining to grant rights under trademark law for use of some 520 trade names, trademarks, or service marks; or 521 * f) Requiring indemnification of licensors and authors of that 522 material by anyone who conveys the material (or modified versions 523 of it) with contractual assumptions of liability to the recipient, 524 for any liability that these contractual assumptions directly 525 impose on those licensors and authors. 526 527 All other non-permissive additional terms are considered "further 528 restrictions" within the meaning of section 10. If the Program as you 529 received it, or any part of it, contains a notice stating that it is 530 governed by this License along with a term that is a further 531 restriction, you may remove that term. If a license document contains 532 a further restriction but permits relicensing or conveying under this 533 License, you may add to a covered work material governed by the terms 534 of that license document, provided that the further restriction does 535 not survive such relicensing or conveying. 536 537 If you add terms to a covered work in accord with this section, you 538 must place, in the relevant source files, a statement of the additional 539 terms that apply to those files, or a notice indicating where to find 540 the applicable terms. 541 542 Additional terms, permissive or non-permissive, may be stated in the 543 form of a separately written license, or stated as exceptions; the 544 above requirements apply either way. 545 546 8. Termination. 547 548 You may not propagate or modify a covered work except as expressly 549 provided under this License. Any attempt otherwise to propagate or 550 modify it is void, and will automatically terminate your rights under 551 this License (including any patent licenses granted under the third 552 paragraph of section 11). 553 554 However, if you cease all violation of this License, then your license 555 from a particular copyright holder is reinstated (a) provisionally, 556 unless and until the copyright holder explicitly and finally terminates 557 your license, and (b) permanently, if the copyright holder fails to 558 notify you of the violation by some reasonable means prior to 60 days 559 after the cessation. 560 561 Moreover, your license from a particular copyright holder is reinstated 562 permanently if the copyright holder notifies you of the violation by 563 some reasonable means, this is the first time you have received notice 564 of violation of this License (for any work) from that copyright holder, 565 and you cure the violation prior to 30 days after your receipt of the 566 notice. 567 568 Termination of your rights under this section does not terminate the 569 licenses of parties who have received copies or rights from you under 570 this License. If your rights have been terminated and not permanently 571 reinstated, you do not qualify to receive new licenses for the same 572 material under section 10. 573 574 9. Acceptance Not Required for Having Copies. 575 576 You are not required to accept this License in order to receive or run 577 a copy of the Program. Ancillary propagation of a covered work 578 occurring solely as a consequence of using peer-to-peer transmission to 579 receive a copy likewise does not require acceptance. However, nothing 580 other than this License grants you permission to propagate or modify 581 any covered work. These actions infringe copyright if you do not 582 accept this License. Therefore, by modifying or propagating a covered 583 work, you indicate your acceptance of this License to do so. 584 585 10. Automatic Licensing of Downstream Recipients. 586 587 Each time you convey a covered work, the recipient automatically 588 receives a license from the original licensors, to run, modify and 589 propagate that work, subject to this License. You are not responsible 590 for enforcing compliance by third parties with this License. 591 592 An "entity transaction" is a transaction transferring control of an 593 organization, or substantially all assets of one, or subdividing an 594 organization, or merging organizations. If propagation of a covered 595 work results from an entity transaction, each party to that transaction 596 who receives a copy of the work also receives whatever licenses to the 597 work the party's predecessor in interest had or could give under the 598 previous paragraph, plus a right to possession of the Corresponding 599 Source of the work from the predecessor in interest, if the predecessor 600 has it or can get it with reasonable efforts. 601 602 You may not impose any further restrictions on the exercise of the 603 rights granted or affirmed under this License. For example, you may 604 not impose a license fee, royalty, or other charge for exercise of 605 rights granted under this License, and you may not initiate litigation 606 (including a cross-claim or counterclaim in a lawsuit) alleging that 607 any patent claim is infringed by making, using, selling, offering for 608 sale, or importing the Program or any portion of it. 609 610 11. Patents. 611 612 A "contributor" is a copyright holder who authorizes use under this 613 License of the Program or a work on which the Program is based. The 614 work thus licensed is called the contributor's "contributor version". 615 616 A contributor's "essential patent claims" are all patent claims owned 617 or controlled by the contributor, whether already acquired or hereafter 618 acquired, that would be infringed by some manner, permitted by this 619 License, of making, using, or selling its contributor version, but do 620 not include claims that would be infringed only as a consequence of 621 further modification of the contributor version. For purposes of this 622 definition, "control" includes the right to grant patent sublicenses in 623 a manner consistent with the requirements of this License. 624 625 Each contributor grants you a non-exclusive, worldwide, royalty-free 626 patent license under the contributor's essential patent claims, to 627 make, use, sell, offer for sale, import and otherwise run, modify and 628 propagate the contents of its contributor version. 629 630 In the following three paragraphs, a "patent license" is any express 631 agreement or commitment, however denominated, not to enforce a patent 632 (such as an express permission to practice a patent or covenant not to 633 sue for patent infringement). To "grant" such a patent license to a 634 party means to make such an agreement or commitment not to enforce a 635 patent against the party. 636 637 If you convey a covered work, knowingly relying on a patent license, 638 and the Corresponding Source of the work is not available for anyone to 639 copy, free of charge and under the terms of this License, through a 640 publicly available network server or other readily accessible means, 641 then you must either (1) cause the Corresponding Source to be so 642 available, or (2) arrange to deprive yourself of the benefit of the 643 patent license for this particular work, or (3) arrange, in a manner 644 consistent with the requirements of this License, to extend the patent 645 license to downstream recipients. "Knowingly relying" means you have 646 actual knowledge that, but for the patent license, your conveying the 647 covered work in a country, or your recipient's use of the covered work 648 in a country, would infringe one or more identifiable patents in that 649 country that you have reason to believe are valid. 650 651 If, pursuant to or in connection with a single transaction or 652 arrangement, you convey, or propagate by procuring conveyance of, a 653 covered work, and grant a patent license to some of the parties 654 receiving the covered work authorizing them to use, propagate, modify 655 or convey a specific copy of the covered work, then the patent license 656 you grant is automatically extended to all recipients of the covered 657 work and works based on it. 658 659 A patent license is "discriminatory" if it does not include within the 660 scope of its coverage, prohibits the exercise of, or is conditioned on 661 the non-exercise of one or more of the rights that are specifically 662 granted under this License. You may not convey a covered work if you 663 are a party to an arrangement with a third party that is in the 664 business of distributing software, under which you make payment to the 665 third party based on the extent of your activity of conveying the work, 666 and under which the third party grants, to any of the parties who would 667 receive the covered work from you, a discriminatory patent license (a) 668 in connection with copies of the covered work conveyed by you (or 669 copies made from those copies), or (b) primarily for and in connection 670 with specific products or compilations that contain the covered work, 671 unless you entered into that arrangement, or that patent license was 672 granted, prior to 28 March 2007. 673 674 Nothing in this License shall be construed as excluding or limiting any 675 implied license or other defenses to infringement that may otherwise be 676 available to you under applicable patent law. 677 678 12. No Surrender of Others' Freedom. 679 680 If conditions are imposed on you (whether by court order, agreement or 681 otherwise) that contradict the conditions of this License, they do not 682 excuse you from the conditions of this License. If you cannot convey a 683 covered work so as to satisfy simultaneously your obligations under 684 this License and any other pertinent obligations, then as a consequence 685 you may not convey it at all. For example, if you agree to terms that 686 obligate you to collect a royalty for further conveying from those to 687 whom you convey the Program, the only way you could satisfy both those 688 terms and this License would be to refrain entirely from conveying the 689 Program. 690 691 13. Use with the GNU Affero General Public License. 692 693 Notwithstanding any other provision of this License, you have 694 permission to link or combine any covered work with a work licensed 695 under version 3 of the GNU Affero General Public License into a single 696 combined work, and to convey the resulting work. The terms of this 697 License will continue to apply to the part which is the covered work, 698 but the special requirements of the GNU Affero General Public License, 699 section 13, concerning interaction through a network will apply to the 700 combination as such. 701 702 14. Revised Versions of this License. 703 704 The Free Software Foundation may publish revised and/or new versions of 705 the GNU General Public License from time to time. Such new versions 706 will be similar in spirit to the present version, but may differ in 707 detail to address new problems or concerns. 708 709 Each version is given a distinguishing version number. If the Program 710 specifies that a certain numbered version of the GNU General Public 711 License "or any later version" applies to it, you have the option of 712 following the terms and conditions either of that numbered version or 713 of any later version published by the Free Software Foundation. If the 714 Program does not specify a version number of the GNU General Public 715 License, you may choose any version ever published by the Free Software 716 Foundation. 717 718 If the Program specifies that a proxy can decide which future versions 719 of the GNU General Public License can be used, that proxy's public 720 statement of acceptance of a version permanently authorizes you to 721 choose that version for the Program. 722 723 Later license versions may give you additional or different 724 permissions. However, no additional obligations are imposed on any 725 author or copyright holder as a result of your choosing to follow a 726 later version. 727 728 15. Disclaimer of Warranty. 729 730 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 731 APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 732 HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT 733 WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT 734 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 735 PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE 736 OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU 737 ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 738 739 16. Limitation of Liability. 740 741 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 742 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR 743 CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 744 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES 745 ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT 746 NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES 747 SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO 748 OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY 749 HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 750 751 17. Interpretation of Sections 15 and 16. 752 753 If the disclaimer of warranty and limitation of liability provided 754 above cannot be given local legal effect according to their terms, 755 reviewing courts shall apply local law that most closely approximates 756 an absolute waiver of all civil liability in connection with the 757 Program, unless a warranty or assumption of liability accompanies a 758 copy of the Program in return for a fee. 759 760 END OF TERMS AND CONDITIONS 761 762 How to Apply These Terms to Your New Programs 763 764 If you develop a new program, and you want it to be of the greatest 765 possible use to the public, the best way to achieve this is to make it 766 free software which everyone can redistribute and change under these 767 terms. 768 769 To do so, attach the following notices to the program. It is safest to 770 attach them to the start of each source file to most effectively state 771 the exclusion of warranty; and each file should have at least the 772 "copyright" line and a pointer to where the full notice is found. 773 <one line to give the program's name and a brief idea of what it does.> 774 Copyright (C) <year> <name of author> 775 776 This program is free software: you can redistribute it and/or modify 777 it under the terms of the GNU General Public License as published by 778 the Free Software Foundation, either version 3 of the License, or 779 (at your option) any later version. 780 781 This program is distributed in the hope that it will be useful, 782 but WITHOUT ANY WARRANTY; without even the implied warranty of 783 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 784 GNU General Public License for more details. 785 786 You should have received a copy of the GNU General Public License 787 along with this program. If not, see <http://www.gnu.org/licenses/>. 788 789 Also add information on how to contact you by electronic and paper 790 mail. 791 792 If the program does terminal interaction, make it output a short notice 793 like this when it starts in an interactive mode: 794 <program> Copyright (C) <year> <name of author> 795 This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 796 This is free software, and you are welcome to redistribute it 797 under certain conditions; type `show c' for details. 798 799 The hypothetical commands `show w' and `show c' should show the 800 appropriate parts of the General Public License. Of course, your 801 program's commands might be different; for a GUI interface, you would 802 use an "about box". 803 804 You should also get your employer (if you work as a programmer) or 805 school, if any, to sign a "copyright disclaimer" for the program, if 806 necessary. For more information on this, and how to apply and follow 807 the GNU GPL, see <[5]http://www.gnu.org/licenses/>. 808 809 The GNU General Public License does not permit incorporating your 810 program into proprietary programs. If your program is a subroutine 811 library, you may consider it more useful to permit linking proprietary 812 applications with the library. If this is what you want to do, use the 813 GNU Lesser General Public License instead of this License. But first, 814 please read <[6]http://www.gnu.org/philosophy/why-not-lgpl.html>. 815 __________________________________________________________________ 816 817 [7]-> Next [8]Contents 818 819References 820 821 1. https://flaterco.com/xtide/introduction.html 822 2. https://flaterco.com/xtide/xtide.html#contents 823 3. https://flaterco.com/xtide/harmonics_boilerplate.txt 824 4. http://fsf.org/ 825 5. http://www.gnu.org/licenses/ 826 6. http://www.gnu.org/philosophy/why-not-lgpl.html 827 7. https://flaterco.com/xtide/introduction.html 828 8. https://flaterco.com/xtide/xtide.html#contents 829 830################################################################ 831 832 [1]<- Previous [2]-> Next [3]Contents 833 834 [4]Bald Head Cliff, Ogunquit, Maine, 1998-06-15 835 836Introduction 837 838 XTide is a package that provides tide and current predictions in a wide 839 variety of formats. Graphs, text listings, and calendars can be 840 generated, or a tide clock can be provided on your desktop. 841 842 XTide can work with X-windows, plain text terminals, or the web. This 843 is accomplished with three separate programs: the interactive 844 interface (xtide), the non-interactive or command-line interface 845 (tide), and the web interface (xttpd). 846 847 The algorithm that XTide uses to predict tides is the one used by the 848 [5]National Ocean Service in the U.S. It is significantly more 849 accurate than the simple tide clocks that can be bought in novelty 850 stores. However, it takes more to predict tides accurately than just a 851 spiffy algorithm--you also need some special data for each and every 852 location for which you want to predict tides. XTide reads these data 853 from harmonics files. 854 855 Ultimately, XTide's predictions can only be as good as the available 856 harmonics data. It is up to you to verify that the predictions for 857 your locale match up acceptably well with the officially sanctioned 858 ones. 859 * Deviations of 1 minute from official predictions are typical for 860 locations having the latest data. 861 * Deviations of 20 minutes are typical for locations that are using 862 obsolete data. 863 * Much longer deviations indicate a problem. 864 865 The XTide software distribution resides at 866 [6]https://flaterco.com/xtide/files.html. 867 868 XTide and its documentation are maintained by David Flater 869 (dave@flaterco.com). 870 __________________________________________________________________ 871 872 [7]<- Previous [8]-> Next [9]Contents 873 874References 875 876 1. https://flaterco.com/xtide/disclaimer.html 877 2. https://flaterco.com/xtide/sysreq.html 878 3. https://flaterco.com/xtide/xtide.html#contents 879 4. https://flaterco.com/ 880 5. http://oceanservice.noaa.gov/ 881 6. https://flaterco.com/xtide/files.html 882 7. https://flaterco.com/xtide/disclaimer.html 883 8. https://flaterco.com/xtide/sysreq.html 884 9. https://flaterco.com/xtide/xtide.html#contents 885 886################################################################ 887 888 [1]<- Previous [2]-> Next [3]Contents 889 890 [4]Cutler in the fog 891 892System requirements 893 894 Hardware 895 896 XTide uses less than 15 MB of memory for a typical interactive 897 session. The base configuration for which XTide 2 was written was a 898 166 MHz Pentium PC with 32 MiB of RAM (circa 1997). XTide continues to 899 be runnable on such a PC and on comparable non-PC hardware such as a 900 Sun Sparcstation. Unfortunately, to build XTide comfortably with GCC 901 now requires a minimum of 128 MB of memory. 902 903 Operating system 904 905 XTide is Unix software. It is intended to compile and run correctly on 906 any reasonably modern version of Unix. However, I no longer have 907 direct access to any flavor of Unix other than Linux, so I can only 908 make portability fixes if and when issues are reported. 909 910 In order for tide predictions to have the correct Daylight Savings Time 911 (Summer Time) adjustments, your platform must provide a sufficiently 912 up-to-date version of the tz database. If your time zone database is 913 obsolete, you may be able to upgrade it using the latest version from 914 [5]https://www.iana.org/time-zones or by installing an operating system 915 patch. 916 917 Some non-Unix platforms have limited support as detailed in the 918 [6]ports section. The command-line client tide and the backend library 919 libxtide are easily built in most any command-line environment with a 920 good C++ compiler. 921 922 Software 923 924 XTide is written in C++. GCC version 4.4 or newer should work. 925 926 A list of libraries on which XTide is dependent is provided in the 927 [7]next section. 928 929 The interactive client requires that the Schumacher fonts be installed 930 with X11. These fonts are always included with the X11 distribution, 931 but their installation is frequently optional. 932 933 You might need an archive utility like [8]xz or [9]7-Zip to uncompress 934 files. 935 __________________________________________________________________ 936 937 [10]<- Previous [11]-> Next [12]Contents 938 939References 940 941 1. https://flaterco.com/xtide/introduction.html 942 2. https://flaterco.com/xtide/installation.html 943 3. https://flaterco.com/xtide/xtide.html#contents 944 4. https://flaterco.com/ 945 5. https://www.iana.org/time-zones 946 6. https://flaterco.com/xtide/ports.html 947 7. https://flaterco.com/xtide/installation.html 948 8. https://tukaani.org/xz/ 949 9. https://www.7-zip.org/ 950 10. https://flaterco.com/xtide/introduction.html 951 11. https://flaterco.com/xtide/installation.html 952 12. https://flaterco.com/xtide/xtide.html#contents 953 954################################################################ 955 956 [1]<- Previous [2]-> Next [3]Contents 957 958 [4]Prospect Harbor Pt. Light, Prospect Harbor, Maine, 1998-06-14 959 960Installation instructions for Unix-like platforms 961 962 Assumptions 963 964 These installation instructions assume basic familiarity with the Unix 965 command line and that you are building from sources obtained from 966 [5]https://flaterco.com/xtide/files.html. If this is a big ask, there 967 are other options: 968 * Binary packages for some platforms are available under [6]contrib 969 files, but you need to be careful about out-of-date packages. 970 * Kelly Bellis wrote detailed, step-by-step instructions from the 971 perspective of a Windows user running Ubuntu in a virtual machine. 972 The merged documentation (this online documentation plus Mr. 973 Bellis' value added) is provided in a [7].chm file (Microsoft 974 Compiled HTML Help). Last rev 20190309 for XTide 2.15.2. 975 976 Mandatory library dependencies 977 978 In addition to the minimal set of X11 libraries that pretty much 979 everyone has, you need the following libraries: 980 981 * [8]libXpm 982 * [9]zlib (a.k.a. libz), prerequisite of libpng 983 * [10]libpng 984 * [11]libtcd 985 986 Debian/Ubuntu users can install the dependencies by doing this: 987 sudo apt-get install xorg-dev libxaw3dxft8-dev libpng-dev 988 libsystemd-dev 989 and then building libtcd from source (configure; make; sudo make 990 install). 991 992 The interactive client requires that the Schumacher fonts be installed 993 with X11. These fonts are always included with the X11 distribution, 994 but their installation is frequently optional. 995 996 tide and xttpd can be compiled in the absence of X11 libraries and 997 libXpm, but you still need the other stuff. 998 999 Optional libraries 1000 1001 The configure script will look for Xaw3dXft, Xaw3d, or Xaw, in that 1002 order. 1003 1004 [Xaw-sample.png] Plain Athena Widgets (Xaw) (tested ver. 1.0.12 / 1005 X11R7.7) can be forced using --disable-3d. 1006 [Xaw3d-sample.png] Xaw3d (tested ver. 1.6.2) is a fork from an old 1007 version of Athena Widgets that offers improved scrollbars and a 1008 different look for buttons. Versions 1.6 through 1.6.2 appeared in Q1 1009 2012; prior to that, version 1.5E had been frozen since 2003. Some 1010 issues that were subsequently fixed in Athena Widgets, such as long 1011 menus running off the screen, were fixed differently in Xaw3d. (This 1012 affects the Set Time dialog, where the list of years to choose from can 1013 be quite long.) 1014 [Xaw3dXft-sample.png] 1015 1016 Xaw3dXft is a fork from Xaw3d 1.5E that uses FreeType fonts. The 1017 primary site is 1018 [12]http://sourceforge.net/projects/sf-xpaint/files/libxaw3dxft/. If 1019 font quality is important, Xaw3dXft is the best choice. It also fixes 1020 the problem with long menus in the Set Time dialog. 1021 1022 Xaw3dXft ver. 1.6.2d made breaking changes to the API. XTide 2.15 will 1023 work with 1.6.2d but no earlier version. XTide 2.14 works with several 1024 earlier versions but fails to build with 1.6.2d. 1025 1026 I recommend configuring Xaw3dXft with the following options: 1027 --enable-internationalization --enable-multiplane-bitmaps 1028 --enable-gray-stipples --enable-arrow-scrollbars 1029 1030 XTide will link with [13]libgps if a compatible version is found on the 1031 system (tested ver. 3.16). If a GPS is present and working, XTide will 1032 zoom in on your current location automatically. 1033 1034 XTide will link with [14]libdstr if a compatible version is found on 1035 the system (tested ver. 1.0). If no compatible libdstr is present, a 1036 local copy of Dstr 1.0 will be rolled into libxtide. 1037 1038 Downloading 1039 1040 Mandatory: You need the XTide source code distribution, available in 1041 compressed tar format at 1042 [15]https://flaterco.com/xtide/files.html#xtide. 1043 1044 Mandatory: You need at least one harmonics file. Harmonics files 1045 contain the data that are required for XTide to predict tides for 1046 different locations. Harmonics files are available at 1047 [16]https://flaterco.com/xtide/files.html#harmonicsfiles. 1048 1049 Optional: If you want to enable XTide to draw coastlines on the map, 1050 you will also have to download the World Vector Shoreline (WVS) files, 1051 which are available in compressed tar format at 1052 [17]https://flaterco.com/xtide/files.html#WVS. 1053 1054 Installing a harmonics file 1055 1056 You will download a file with a name similar to 1057 harmonics-dwf-YYYYMMDD-free.tar.xz. With GNU tar, you can unpack it as 1058 follows: 1059 1060tar xvf harmonics-dwf-YYYYMMDD-free.tar.xz 1061 1062 With another tar that does not include builtin support for xz, you need 1063 to do this instead: 1064 1065xzcat harmonics-dwf-YYYYMMDD-free.tar.xz | tar xvf - 1066 1067 Unpack the archive in a temporary directory, then move the TCD file to 1068 a permanent location, e.g., /usr/local/share/xtide, and make it world 1069 readable: 1070 1071mkdir /usr/local/share/xtide 1072chmod 755 /usr/local/share/xtide 1073chmod 644 harmonics-dwf-YYYYMMDD-free.tcd 1074mv harmonics-dwf-YYYYMMDD-free.tcd /usr/local/share/xtide 1075 1076 The tar file also includes a change log and the disclaimers and terms 1077 applying to the data. 1078 1079 Installing the World Vector Shoreline files (optional) 1080 1081 1. Create a directory to contain the WVS files. 1082 2. Change your current working directory to that directory. 1083 3. Unpack the tar file in that directory. 1084 1085 Under Linux and any other system with GNU tar: 1086 1087tar xvf wvs.tar.xz 1088 1089 Elsewhere: 1090 1091xzcat wvs.tar.xz | tar xvf - 1092 1093 Unpacking the sources 1094 1095 Under Linux and any other system with GNU tar: 1096 1097tar xvf xtide-2.xyz.tar.xz 1098 1099 Elsewhere: 1100 1101xzcat xtide-2.xyz.tar.xz | tar xvf - 1102 1103 Configuring 1104 1105 I. Specify the location of the harmonics file(s) 1106 1107 There are two ways to do this. 1108 1109 1. The first way is by setting the environment variable HFILE_PATH. 1110 1111export HFILE_PATH=/usr/local/share/xtide/harmonics.tcd 1112 1113 In the event that you have more than one harmonics file that you 1114 wish to use simultaneously, list them separated by colons. 1115 1116export HFILE_PATH=/usr/local/share/xtide/harmonics-free.tcd:/usr/local/share/xti 1117de/harmonics-nonfree.tcd 1118 1119 Alternately, make sure that they are by themselves in a special 1120 directory and specify that directory as the value of HFILE_PATH. 1121 If an element of HFILE_PATH is a directory, XTide will attempt to 1122 load every file in that directory (so be sure that they are all 1123 harmonics files!) 1124 If you are installing as root, then it is recommended that you add 1125 this definition to a system-wide script such as /etc/profile if you 1126 have one. In Debian/Ubuntu, system-wide environment variables can 1127 be added to /etc/environment. 1128 2. The other way is by creating the file /etc/xtide.conf. The 1129 environment variable, if set, takes precedence over the config 1130 file. 1131 If a configuration file is used, the first line should consist of 1132 the value that would be assigned to HFILE_PATH: 1133/usr/local/share/xtide/harmonics-free.tcd:/usr/local/share/xtide/harmonics-nonfr 1134ee.tcd 1135 1136 II. Specify the location of the World Vector Shoreline files (optional) 1137 1138 Either set the environment variable WVS_DIR to the name of that 1139 directory or supply the directory name as the second line of the 1140 configuration file /etc/xtide.conf. 1141 1142 III. Run the configure script 1143 1144bash-3.1$ ./configure 1145 1146 XTide is packaged with the popular and portable [18]GNU automake, so 1147 all usual GNU tricks should work. Help on configuration options can be 1148 found in the CONFIGURE-HELP file or obtained by entering ./configure 1149 --help. 1150 1151 The web server xttpd is not necessary to use tide or xtide, so most 1152 users needn't worry about it. But if you plan to run it, there is 1153 additional configuration at this point. 1154 1155 (New in XTide 2.15) If your system uses [19]systemd instead of init, 1156 you must configure with --enable-systemd to be able to run xttpd as a 1157 systemd service. 1158 1159 To change the user and/or group under which xttpd tries to run (the 1160 defaults are nobody/nobody), provide the options --with-xttpd-user=user 1161 and/or --with-xttpd-group=group to configure. If you want to run xttpd 1162 but you don't have root, you will have to set these to your own 1163 username and the name of some group to which you belong. 1164 1165bash-3.1$ ./configure --with-xttpd-user=xttpd --with-xttpd-group==xttpd 1166 1167 You can also set the webmaster address for xttpd this way. 1168 1169bash-3.1$ ./configure --with-webmaster="somebody@somewhere.else" 1170 1171 IV. Other optional and alternative configurables 1172 1173 --enable-time-workaround Work around Y2038 problem; disable time 1174 zones. See [20]Appendix A -- Historical predictions and Y2038 1175 compliance. 1176 --enable-gnu-attributes Use with g++ -Wall -Wextra to make warnings 1177 smarter. 1178 --enable-semicolon-pathsep Use ; instead of : to separate names in 1179 HFILE_PATH (good idea if they begin with C:\). 1180 --enable-local-files Locate xtide.conf, .xtide.xml, and 1181 .disableXTidedisclaimer files in current working directory. 1182 --disable-3d Use only genuine Athena Widgets. 1183 --enable-lm_hard Link with libm_hard instead of libm (for ARM Android). 1184 --enable-moon-age (Experimental) Replace calendar mode moon phase 1185 column with moon age. 1186 1187 You can change the compile-time defaults (colors, etc.) set in 1188 libxtide/config.hh if you so choose, but the easiest way to set all of 1189 those things is with the [21]control panel in the interactive XTide 1190 program. 1191 1192 The e-mail address for feedback in xttpd can also be changed by setting 1193 the environment variable XTTPD_FEEDBACK, in lieu of the configure 1194 option mentioned above. 1195 1196 Compiling and installing binaries 1197 1198 On Slackware: 1199$ make 1200$ su 1201# make install 1202 1203 On Debian/Ubuntu: 1204$ make 1205$ sudo make install 1206 1207 (With GNU make you can say make -j 8 to run 8 compiles in parallel if 1208 you want to speed it up.) 1209 1210Systemd integration (XTide 2.15) 1211 1212 If xttpd was built with --enable-systemd, additional steps are needed 1213 to complete the installation. 1214 * make install-systemd will install xttpd.socket and xttpd.service 1215 into /lib/systemd/system. 1216 * If a port or address other than the default port 80 is to be used, 1217 edit /lib/systemd/system/xttpd.socket per [22]systemd 1218 documentation. 1219 * If you want to provide the environment variables HFILE_PATH or 1220 XTTPD_FEEDBACK to xttpd, create the environment file 1221 /etc/sysconfig/xttpd per [23]systemd documentation. If necessary, 1222 the path /etc/sysconfig/xttpd can be changed by editing 1223 xttpd.service, or the environment variables can be specified 1224 directly therein using Environment= instead of EnvironmentFile=. 1225 * make enable-systemd does the following final steps: 1226 + systemctl enable xttpd.socket xttpd.service 1227 + systemctl start xttpd.socket xttpd.service 1228 * If something goes wrong, make barf-systemd will dump the log for 1229 inspection (journalctl -b -p debug --no-pager). 1230 1231Special cases 1232 1233 Fast and dangerous Linux/GCC build of all related packages 1234 1235 Bash scripts to build and install all XTide-related packages in one 1236 shot will be placed in the separate FunkyBuilds package available from 1237 [24]https://flaterco.com/xtide/files.html#FunkyBuilds. The details of 1238 this process depend on the Linux distribution and change frequently as 1239 the distributions are updated, so these scripts are not for the Linux 1240 novice. 1241 1242 Don't have X11 1243 1244 If you don't have any version of X11 installed and just want to compile 1245 xttpd or tide, generate a Makefile using ./configure --without-x. 1246 1247 CPU-constrained platforms 1248 1249 There are some CPU bottlenecks that are observable only on very old 1250 hardware. Real time estimates in the following are from a 166 MHz 1251 Pentium PC: 1252 * Updating the map in the location chooser takes between 0 and 20 1253 seconds depending on how much of the world has to be redrawn. To 1254 avoid the lag when zoomed out, don't install the optional [25]World 1255 Vector Shoreline database. 1256 * On the first run, libXaw3dXft bogs down for minutes trying to 1257 process exposure events on the long text of the disclaimer window. 1258 Since the disclaimer is normally read once and then disabled for 1259 future runs, one can either put up with it that one time or avoid 1260 the problem by building with libXaw3d or libXaw instead of 1261 libXaw3dXft. 1262 * Redrawing a default-sized tide graph takes about 1 second, which 1263 seems slow when one is scrolling forward or backward. Graph 1264 drawing is faster if an 8-bit display mode (PseudoColor visual) is 1265 used, but anti-aliasing and transparency are available only in true 1266 color modes. 1267 1268 The -aa setting that formerly could be used to speed up drawing on true 1269 color displays by disabling anti-aliasing was retired in XTide version 1270 2.12. 1271 1272Troubleshooting 1273 1274Q: XTide compiles, but when I try to run it I get an error like the following 1275about libtcd, libdstr, or libxtide: 1276 1277error while loading shared libraries: libtcd.so.0: cannot open shared object fil 1278e: No such file or directory 1279 1280 A: This happens when g++ found the shared library but your dynamic 1281 linker didn't. There are several possible fixes. 1282 1283 First, try running ldconfig as root (sudo ldconfig on Debian-like 1284 distros). This will fix the problem if the dynamic linker has a stale 1285 cache of the directory to which the libraries were installed. But if 1286 the libraries were installed to a directory that is not in the dynamic 1287 linker's search path, it won't make any difference. 1288 1289 If the libraries were installed to a nonstandard directory, the least 1290 invasive fix is to add that directory to the environment variable 1291 LD_LIBRARY_PATH. For example, if you find the library in 1292 /usr/local/lib, you would add this to your .bashrc (if using bash): 1293export LD_LIBRARY_PATH=/usr/local/lib 1294 1295 Or you would add this to your .cshrc (if using csh or tcsh): 1296setenv LD_LIBRARY_PATH /usr/local/lib 1297 1298 An alternative is to hard-code the directory into the executable using 1299 magic GNU linker switches: configure with 1300 LDFLAGS="-Wl,-rpath,/usr/local/lib,--disable-new-dtags" and rebuild 1301 XTide. 1302 1303 Another alternative is to edit the system configuration to add the 1304 nonstandard directory to the dynamic linker's search path. On 1305 Slackware, you just add the directory to /etc/ld.so.conf. 1306 Debian/Ubuntu prefer to add files in the subdirectory 1307 /etc/ld.so.conf.d. After making the change, run ldconfig again to 1308 update the cache. 1309 1310 Finally, if all else fails, you could link statically with the missing 1311 libraries. 1312 1313 Q: When compiling XTide, I get thousands of warnings of the form 1314 "warning: 'auto_ptr' is deprecated". 1315 1316 A: To suppress these nuisance warnings in GCC, use 1317 CPPFLAGS="-Wno-deprecated-declarations" or upgrade to GCC 4.6 or newer. 1318 1319 Q: When compiling XTide, I get an error involving xml-something or 1320 lex.xml.c. 1321 1322 A: Do make xmlclean and then try again. 1323 __________________________________________________________________ 1324 1325 [26]<- Previous [27]-> Next [28]Contents 1326 1327References 1328 1329 1. https://flaterco.com/xtide/sysreq.html 1330 2. https://flaterco.com/xtide/ports.html 1331 3. https://flaterco.com/xtide/xtide.html#contents 1332 4. https://flaterco.com/ 1333 5. https://flaterco.com/xtide/files.html 1334 6. https://flaterco.com/xtide/files.html#contrib 1335 7. https://flaterco.com/files/xtide/XTide%20v2.15.2%20Help%20b20190309.chm 1336 8. http://www.x.org/ 1337 9. http://www.zlib.net/ 1338 10. http://www.libpng.org/pub/png/libpng.html 1339 11. https://flaterco.com/xtide/files.html#libtcd 1340 12. http://sourceforge.net/projects/sf-xpaint/files/libxaw3dxft/ 1341 13. http://www.catb.org/gpsd/ 1342 14. https://flaterco.com/util/index.html 1343 15. https://flaterco.com/xtide/files.html#xtide 1344 16. https://flaterco.com/xtide/files.html#harmonicsfiles 1345 17. https://flaterco.com/xtide/files.html#WVS 1346 18. http://www.gnu.org/software/automake/automake.html 1347 19. http://www.freedesktop.org/wiki/Software/systemd/ 1348 20. https://flaterco.com/xtide/time_t.html 1349 21. https://flaterco.com/xtide/advanced.html#cp 1350 22. http://www.freedesktop.org/software/systemd/man/systemd.socket.html#ListenStream= 1351 23. http://www.freedesktop.org/software/systemd/man/systemd.exec.html#EnvironmentFile= 1352 24. https://flaterco.com/xtide/files.html#FunkyBuilds 1353 25. https://flaterco.com/xtide/installation.html#WVS 1354 26. https://flaterco.com/xtide/sysreq.html 1355 27. https://flaterco.com/xtide/ports.html 1356 28. https://flaterco.com/xtide/xtide.html#contents 1357 1358################################################################ 1359 1360 [1]<- Previous [2]-> Next [3]Contents 1361 1362 [4]Bridge Street 1363 1364Available ports (and non-ports) for other platforms 1365 1366 Increasingly, the first option on non-Unix platforms is to build XTide 1367 in a Linux virtual machine (VM) or a Linux environment that runs as an 1368 emulation layer, but native apps are often preferred. 1369 1370 If a program is derived from XTide source code, I call it a port, even 1371 if there are significant changes, code added and code deleted. If a 1372 program contains no XTide source code but can use the same harmonics 1373 files that some version of XTide did, I call it a non-port. These are 1374 only listed if there is no good port to a given platform. This is not 1375 an attempt to track all tide-predicting software, only that with some 1376 commonality with XTide. Better software having nothing to do with 1377 XTide may be available, but is not listed here. 1378 1379 These programs are all maintained by different people. They may be 1380 significantly different from XTide 2 as documented here. If you have 1381 problems with a port or non-port, please contact the correct 1382 maintainer. I cannot help with anything but the canonical Unix 1383 distribution. 1384 1385 Android 1386 1387 [5]Android screenshot 1388 1389 2015-01: Will Kamp produced a GPL port of XTide 2.14 to Android. The 1390 [6]libxtide bit is separate from the [7]user interface, and although it 1391 is close to stock it was rearranged somehow to work with the Android 1392 NDK build system. Source code is available at the preceding links; the 1393 MX Tides app is available from [8]Google Play. 1394 1395 Linux environments for Android now include [9]Termux, [10]UserLAnd and 1396 [11]GNURoot. In 2018-10, Paul Poffenberger reported that XTide built 1397 "almost" out of the box using the tools available from [12]Termux. 1398 (Linux software is expected to need patching when it is built for 1399 Termux.) 1400 1401 An example script for cross-compiling tide and xttpd for Android on x86 1402 or x86_64 Linux is in the separate FunkyBuilds package available from 1403 [13]https://flaterco.com/xtide/files.html#FunkyBuilds. 1404 1405 iOS / watchOS 1406 1407 [14]iPhone screenshot 1408 1409 2017-01: Lee Ann Rucker did a nativized port to iOS, watchOS, and OS X 1410 using Cocoa and Objective-C++. The free app for iPhone, iPad, and 1411 Apple Watch is available at 1412 [15]https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id= 1413 1191127595 with sources at [16]https://github.com/lrucker1/XTideMac. 1414 1415 [17]Apple Watch screenshot 1416 1417 Older iOS ports: 1418 * Will Kamp, iOS version of MX Tides, port of XTide 2.?? in 2013 1419 ([18]free app, [19]free sources). 1420 * Selene Associates LLC, port of XTide 2.12.1 to iOS (phone or 1421 tablet), called [DEL: EyeTide :DEL] [20]Tide Watch ([21]$ app, 1422 [22]free sources). 1423 * Michael Parlee, port of XTide 2.10 to the iPhone, called 1424 ShralpTide2 ([23]$ app, [24]free sources). There was an older 1425 ShralpTide port based on XTide 1.6.2. 1426 1427 Mac 1428 1429 [25]Mac screenshot 1430 1431 2017-01: The free Mac app for Lee Ann Rucker's nativized port is 1432 available at 1433 [26]https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id= 1434 1170393977 with sources at [27]https://github.com/lrucker1/XTideMac. 1435 1436 2016-01: Scripts to build XTide from source on a Mac are available 1437 from [28]MacPorts. 1438 1439 Windows 1440 1441 The Linux subsystem for Windows that is known as the Windows Subsystem 1442 for Linux (WSL) is a supported Linux VM that may be easier to set up 1443 and use than a general-purpose VM. 1444 1445 For a compromise between a VM and a native port, there's [29]Cygwin, an 1446 emulated Unix environment that is free for typical non-commercial 1447 users. Notes for building under Cygwin are included in the separate 1448 FunkyBuilds package available from 1449 [30]https://flaterco.com/xtide/files.html#FunkyBuilds. 1450 1451 A native Windows binary for the command-line client tide is available 1452 under [31]contrib files and the build scripts are included in 1453 [32]FunkyBuilds. 1454 1455 The following native ports of the graphical client were done: 1456 * [33]WTides by Phil Thornton was forked from XTide 2 in the GPLv2 1457 days and abandoned 2020-04-24. Source code is now obtainable via a 1458 form. 1459 * "WXTide32" by Mike Hopper, was based on XTide 1.6.2 but includes 1460 its own location chooser. It works under Windows 95 or Windows 1461 NT. It has a web page at [34]http://www.wxtide32.com/. 1462 * "WTide16" and "WTide32" by Paul C. Roberts, was based on XTide 1463 1.3. It works under Windows 3.1 or Windows 95. It used to be at 1464 ftp://ftp.demon.co.uk/pub/ibmpc/win3/apps/wtide (link broken as of 1465 2011-08-28). 1466 1467 DOS 1468 1469 A 32-bit DJGPP binary for the command-line client tide is available 1470 under [35]contrib files and the build scripts are included in 1471 [36]FunkyBuilds. 1472 1473 R 1474 1475 rtide 1476 1477 2016-07: R is not an OS platform but a [37]software environment for 1478 statistical computing and graphics. Joe Thorley and Luke Miller have 1479 produced rtide based on XTide's sources and harmonics data and made it 1480 available under GPL3. It is hosted at 1481 [38]https://github.com/poissonconsulting/rtide. 1482 1483 Maemo (GTK) 1484 1485 From [39]http://maemo.org/intro/: "Maemo is a software platform that 1486 is mostly based on open source code and powers mobile devices such as 1487 the Nokia N810 Internet Tablet. Maemo platform has been developed by 1488 Nokia in collaboration with many open source projects such as the Linux 1489 kernel, Debian, GNOME, and many more." 1490 1491 GTKTide by Mike Morrison is a fork of XTide 2.10 and libtcd with a 1492 GTK-based user interface, intended for use with Maemo. As of 1493 2009-03-04, the last revision was in 2008-11 (source revision 1494 trunk-r7). GTKTide is available from 1495 [40]http://maemo.org/downloads/product/OS2008/gtktide/. 1496 1497 GTKTide can be compiled and run under desktop Linux, though not 1498 necessarily with ease. Under Slackware 12.2, the build scripts did not 1499 configure dependencies correctly, and it took a long line of CPPFLAGS 1500 and LDFLAGS to make it go. 1501 1502 The GTK interface performs well for the common use case of viewing the 1503 tide graph for a specified location, but the controls needed to engage 1504 other modes of operation and to tweak XTide settings are absent. 1505 1506 Palm 1507 1508 Palm 1509 1510 [41]Walt Bilofsky implemented [42]Tide Tool for the Palm Pilot or any 1511 other compatible device running PalmOS. Bilofsky wrote: "Tide Tool 1512 used to qualify as a port, and still has a modest amount of code from 1513 XTide 1.5. But since Jeff Dairiki redid the algorithm to use integer 1514 math, I'm not sure how much of it is XTide any more. I guess I'd call 1515 it the descendant of a port." 1516 1517 Pocket PC / Windows CE 1518 1519 PocketPC 1520 1521 Dave Buchholz implemented [43]cTide for the PocketPC 2000 or PocketPC 1522 2002. It's a port of a port ([44]WXTide32), but the screenshots still 1523 look a lot like XTide. You can find it at 1524 [45]http://airtaxi.net/ctide/. 1525 1526 J2ME (cell phone) 1527 1528 Nokia phone with muTide 1529 1530 J�rn Eichler implemented an XTide-derivative called �Tide for the J2ME 1531 platform. It is designed for modern smart phones like the Nokia N 1532 series, which have decent performance at floating-point math. It used 1533 to be at http://www.tj-eichler.de/muTide/; as of 2016-01 this URL has 1534 been redirected to advertising. 1535 1536 Timex Datalink USB 1537 1538 Timex Datalink with DTide 1539 1540 Paulo Marques implemented DTide for the Timex Datalink USB wristwatch. 1541 It uses a patched version of WXTide32 on the PC to allow the user to 1542 select locations and prepare simplified harmonics data to feed the 1543 application on the watch. It can store more than 200 (simplified) 1544 locations in the watch's memory. The application on the watch is an 1545 assembly language non-port using only integer math. 1546 1547 To get the application, download TreeBrowser_vX.zip and Tree Browser 1548 Feeders/DTide.zip from the Files > WristApps archive of Yahoo Group 1549 [46]timexdatalinkusb. 1550 1551 To get the source (TreeBrowser asm and patch against WXTide32), 1552 download TreeBrowser_src.zip and DTide_src.zip from the Files > 1553 WristApps archive of Yahoo Group [47]timexdatalinkusbdevelop. 1554 1555 HP Calculator 1556 1557 HP Calculator 1558 1559 David MacCuish and Dennis Straley did a similar-in-spirit non-port for 1560 HP48G and HP49G series calculators. As of 2011-08-28, the original 1561 HpTide site at http://heygus.2y.net/hptide is gone, but version 0.3.2 1562 (2001-11-11) is archived at 1563 [48]http://www.hpcalc.org/details.php?id=3943. 1564 __________________________________________________________________ 1565 1566 [49]<- Previous [50]-> Next [51]Contents 1567 1568References 1569 1570 1. https://flaterco.com/xtide/installation.html 1571 2. https://flaterco.com/xtide/modes.html 1572 3. https://flaterco.com/xtide/xtide.html#contents 1573 4. https://flaterco.com/ 1574 5. https://flaterco.com/xtide/Android-screenshot.png 1575 6. https://github.com/manimaul/AndXtideLib 1576 7. https://github.com/manimaul/MX-Tides 1577 8. https://play.google.com/store/apps/details?id=com.mxmariner.tides 1578 9. https://termux.com/ 1579 10. https://userland.tech/ 1580 11. https://play.google.com/store/apps/details?id=champion.gnuroot&hl=en_US 1581 12. https://termux.com/ 1582 13. https://flaterco.com/xtide/files.html#FunkyBuilds 1583 14. https://flaterco.com/xtide/LAR_iPhone.jpg 1584 15. https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=1191127595 1585 16. https://github.com/lrucker1/XTideMac 1586 17. https://flaterco.com/xtide/LAR_watch.jpg 1587 18. https://itunes.apple.com/us/app/mx-tides/id721359984 1588 19. https://github.com/manimaul/MX-Tides-iOS 1589 20. http://www.selene-associates.com/open-source-projects/ 1590 21. https://itunes.apple.com/us/app/eye-tide/id581717599 1591 22. http://www.selene-associates.com/downloads/eye-tide/ 1592 23. http://itunes.apple.com/us/app/shralp-tide-2/id504080766 1593 24. http://github.com/shralpmeister/shralptide2 1594 25. https://flaterco.com/xtide/LAR_Mac.jpg 1595 26. https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=1170393977 1596 27. https://github.com/lrucker1/XTideMac 1597 28. http://www.macports.org/ports.php?by=name&substr=xtide 1598 29. https://cygwin.com/ 1599 30. https://flaterco.com/xtide/files.html#FunkyBuilds 1600 31. https://flaterco.com/xtide/files.html#contrib 1601 32. https://flaterco.com/xtide/files.html#FunkyBuilds 1602 33. http://www.wtides.com/ 1603 34. http://www.wxtide32.com/ 1604 35. https://flaterco.com/xtide/files.html#contrib 1605 36. https://flaterco.com/xtide/files.html#FunkyBuilds 1606 37. https://www.r-project.org/ 1607 38. https://github.com/poissonconsulting/rtide 1608 39. http://maemo.org/intro/ 1609 40. http://maemo.org/downloads/product/OS2008/gtktide/ 1610 41. http://www.toolworks.com/bilofsky/ 1611 42. http://www.toolworks.com/bilofsky/tidetool/ 1612 43. http://airtaxi.net/ctide/ 1613 44. http://www.wxtide32.com/ 1614 45. http://airtaxi.net/ctide/ 1615 46. http://tech.groups.yahoo.com/group/timexdatalinkusb/ 1616 47. http://tech.groups.yahoo.com/group/timexdatalinkusbdevelop/ 1617 48. http://www.hpcalc.org/details.php?id=3943 1618 49. https://flaterco.com/xtide/installation.html 1619 50. https://flaterco.com/xtide/modes.html 1620 51. https://flaterco.com/xtide/xtide.html#contents 1621 1622################################################################ 1623 1624 [1]<- Previous [2]-> Next [3]Contents 1625 1626 [4]Morning in OC 1627 1628Modes 1629 1630 This page provides an overview of the kinds of things that XTide can 1631 do. How to do them will be explained in the [5]next section. 1632 1633 Graph mode 1634 1635 San Francisco graph 1636 1637 Graph mode gives you a plot of the water level (or water velocity, in 1638 the case of currents) versus time. The times of high and low tide (or 1639 max flood and max ebb) are printed across the top. Sunrise and sunset 1640 are denoted with different background colors; moonrise, moonset, and 1641 moon phases are shown along the bottom. A + mark on the graph 1642 indicates the conditions at the time that the graph was generated. 1643 1644 For currents, the times of [6]slack water are also shown along the 1645 bottom. If necessary, crowding of the bottom caption line can be 1646 relieved in several ways (see [7]Advanced usage). 1647 1648 Default current graph 1649 1650 Clock mode 1651 1652 Clock mode 1653 1654 Clock mode is similar to graph mode, but the captions are different and 1655 the window is automatically updated once a minute to show the latest 1656 conditions. From top to bottom, the window shows the current time, the 1657 next high tide (or maximum flood), the predicted height or velocity for 1658 the current time (shown with a +), and the next low tide (or maximum 1659 ebb). Other events like slack water and moon phases do not appear. 1660 1661 Classic analog tide clock If a tide clock is iconified using an ancient 1662 window manager like twm, the icon will appear as a classic round tide 1663 clock that gives a vague idea of where you are in the tide cycle. 1664 Unfortunately, this feature is not accessible at all from newer windows 1665 environments that disregard the old icon protocol. Even some of the 1666 old window managers had trouble with it; they would crash, or the icon 1667 would fail to update. 1668 1669 Plain mode 1670 1671 Plain text listing of events, no foo-foo. 1672San Francisco, California 167337.8067� N, 122.4650� W 1674 16752003-02-13 2:17 PM PST Moonrise 16762003-02-13 3:25 PM PST -0.32 feet Low Tide 16772003-02-13 5:46 PM PST Sunset 16782003-02-13 10:49 PM PST 4.64 feet High Tide 16792003-02-14 3:05 AM PST 3.16 feet Low Tide 16802003-02-14 5:44 AM PST Moonset 16812003-02-14 7:01 AM PST Sunrise 16822003-02-14 9:02 AM PST 6.27 feet High Tide 1683 1684 Calendar mode 1685 1686 Calendar mode arranges most of the information available in text mode 1687 into a commonly used tabular layout. 1688 1689 January 2007 1690 1691 Day High 1692 Low High 1693 Low High 1694 Phase Sunrise Sunset Moonrise Moonset 1695 Mon 01 3:48 AM EST 0.17 m 9:58 AM EST -0.14 m 5:07 PM EST 0.43 m 7:26 1696 AM EST 4:53 PM EST 2:49 PM EST 5:49 AM EST 1697 Tue 02 12:25 AM EST -0.01 m 4:46 AM EST 0.16 m 10:52 AM EST -0.14 m 1698 6:00 PM EST 0.42 m 7:26 AM EST 4:54 PM EST 3:48 PM EST 6:54 AM EST 1699 Wed 03 1:15 AM EST -0.01 m 5:40 AM EST 0.17 m 11:45 AM EST -0.14 m 6:50 1700 PM EST 0.41 m Full Moon 7:26 AM EST 4:55 PM EST 4:54 PM EST 7:49 AM EST 1701 Thu 04 2:00 AM EST -0.01 m 6:32 AM EST 0.18 m 12:37 PM EST -0.13 m 7:37 1702 PM EST 0.39 m 7:26 AM EST 4:56 PM EST 6:03 PM EST 8:34 AM EST 1703 Fri 05 2:42 AM EST -0.00 m 7:20 AM EST 0.19 m 1:28 PM EST -0.12 m 8:21 1704 PM EST 0.37 m 7:26 AM EST 4:57 PM EST 7:10 PM EST 9:09 AM EST 1705 Sat 06 3:20 AM EST -0.00 m 8:08 AM EST 0.20 m 2:16 PM EST -0.10 m 9:02 1706 PM EST 0.35 m 7:26 AM EST 4:58 PM EST 8:15 PM EST 9:37 AM EST 1707 Sun 07 3:56 AM EST -0.00 m 8:56 AM EST 0.21 m 3:04 PM EST -0.08 m 9:40 1708 PM EST 0.32 m 7:26 AM EST 4:59 PM EST 9:17 PM EST 10:02 AM EST 1709 1710 "Alt" calendar mode arranges the information into a traditional weekly 1711 calendar layout. 1712 1713 Sun 07 Mon 08 Tue 09 Wed 10 Thu 11 Fri 12 Sat 13 1714 Low Tide -0.00 m 1715 3:56 AM EST 1716 Sunrise 1717 7:26 AM EST 1718 High Tide 0.21 m 1719 8:56 AM EST 1720 Moonset 1721 10:02 AM EST 1722 Low Tide -0.08 m 1723 3:04 PM EST 1724 Sunset 1725 4:59 PM EST 1726 Moonrise 1727 9:17 PM EST 1728 High Tide 0.32 m 1729 9:40 PM EST Low Tide -0.01 m 1730 4:28 AM EST 1731 Sunrise 1732 7:26 AM EST 1733 High Tide 0.22 m 1734 9:46 AM EST 1735 Moonset 1736 10:23 AM EST 1737 Low Tide -0.05 m 1738 3:53 PM EST 1739 Sunset 1740 5:00 PM EST 1741 High Tide 0.30 m 1742 10:16 PM EST 1743 Moonrise 1744 10:17 PM EST Low Tide -0.02 m 1745 4:58 AM EST 1746 Sunrise 1747 7:26 AM EST 1748 High Tide 0.22 m 1749 10:39 AM EST 1750 Moonset 1751 10:43 AM EST 1752 Low Tide -0.01 m 1753 4:46 PM EST 1754 Sunset 1755 5:00 PM EST 1756 High Tide 0.27 m 1757 10:51 PM EST 1758 Moonrise 1759 11:16 PM EST Low Tide -0.04 m 1760 5:28 AM EST 1761 Sunrise 1762 7:25 AM EST 1763 Moonset 1764 11:03 AM EST 1765 High Tide 0.24 m 1766 11:35 AM EST 1767 Sunset 1768 5:01 PM EST 1769 Low Tide 0.03 m 1770 5:49 PM EST 1771 High Tide 0.24 m 1772 11:27 PM EST Moonrise 1773 12:14 AM EST 1774 Low Tide -0.06 m 1775 6:00 AM EST 1776 Sunrise 1777 7:25 AM EST 1778 Last Quarter 1779 7:45 AM EST 1780 Moonset 1781 11:23 AM EST 1782 High Tide 0.25 m 1783 12:32 PM EST 1784 Sunset 1785 5:02 PM EST 1786 Low Tide 0.05 m 1787 7:01 PM EST High Tide 0.21 m 1788 12:07 AM EST 1789 Moonrise 1790 1:15 AM EST 1791 Low Tide -0.08 m 1792 6:35 AM EST 1793 Sunrise 1794 7:25 AM EST 1795 Moonset 1796 11:46 AM EST 1797 High Tide 0.28 m 1798 1:29 PM EST 1799 Sunset 1800 5:04 PM EST 1801 Low Tide 0.06 m 1802 8:18 PM EST High Tide 0.18 m 1803 12:52 AM EST 1804 Moonrise 1805 2:17 AM EST 1806 Low Tide -0.09 m 1807 7:15 AM EST 1808 Sunrise 1809 7:25 AM EST 1810 Moonset 1811 12:14 PM EST 1812 High Tide 0.30 m 1813 2:22 PM EST 1814 Sunset 1815 5:05 PM EST 1816 Low Tide 0.06 m 1817 9:30 PM EST 1818 1819 Calendar mode is not available from the interactive client. 1820 1821 Banner mode 1822 1823 Banner mode is a specialization of graph mode for output on old tractor 1824 feed dot matrix or line printers that use continuous reams of paper. 1825 Also useful as a workaround if your printing application does stupid 1826 things with color graphs. The graph is turned sideways and the aspect 1827 ratio is adjusted for Pica type. This mode is only available in the 1828 command line client. 1829San Francisco, San Francisco Bay, California 183037.8067� N, 122.4650� W 1831 1832********-*****-*******************��������������������������������������������� 1833********2*****1*****0*****1*****2�����3�����4�����5�����6�����7�����82012-02-20 1834-4****** ***** ***** ***** ***** ����� ����� ����� ����� ����� �����4:00 AM PST 1835********f*****f*****f*****f*****f�����f�����f�����f�����f�����f�����f���������� 1836********t*****t*****t*****t*****t*����t�����t�����t�����t�����t�����t���������� 1837-5********************************��������������������������������������������� 1838****Moonrise***********************+��|�����|�����|�����|�����|�����|���������� 1839-***5:53 AM PST**********************�|�����|�����|�����|�����|�����|���������� 1840-6************************************|�����|�����|�����|�����|�����|���������� 1841****************************************����|�����|�����|�����|�����|���������� 1842****************************************** | | | | | 1843-7******************************************| | | | | 1844********************************************** | | | | 1845************************************************ | | | | 1846-8************************************************| | | | 1847**************************************************** | | | 1848****************************************************** | | | 1849-9***************************************************** | | | 1850********************************************************* | | 1851********************************************************* | |2012-02-20 1852-10******************************************************* | 10:08 AM PST 1853********************************************************** | | 1854********************************************************** | | 1855-11****************************************************** | | 1856********************************************************| | | 1857****************************************************** | | | 1858-12************************************************* | | | 1859************************************************* | | | | 1860********************************************** | | | | 1861-1***************************************** | | | | | 1862**************************************** | | | | | 1863************************************ | | | | | | 1864-2******************************* | | | | | | 1865****************************** | | | | | | | 1866*************************** | | | | | | | 1867-3*********************** | | | | | | | | 1868*********************** | | | | | | | | 1869 1870 Stats mode 1871 1872 Stats mode is mainly for finding the highest high tide and lowest low 1873 tide within some period of time. However, it also provides an 1874 estimation of the Mean Lower Low Water datum based on the generated 1875 predictions. In cases where an authoritative benchmark for a station 1876 is not available, this can be used to derive a reasonable 1877 approximation. If the datum for the station has already been set to 1878 MLLW (as it should have been, for all U.S. stations) then the estimated 1879 value should be close to zero. 1880 1881 Stats mode is only available in the command line client. 1882Bar Harbor, Frenchman Bay, Maine 188344.3917� N, 68.2050� W 1884 1885Estimated upper bound: 14.05 feet 1886Estimated lower bound: -2.71 feet 1887Mean, assuming symmetry: 5.67 feet 1888 1889Searched interval from 2007-01-01 12:00 AM EST to 2008-01-01 12:00 AM EST 1890Maximum was 13.44 feet at 2007-11-25 10:31 AM EST 1891Minimum was -2.05 feet at 2007-04-18 5:53 AM EDT 1892Mean of maxima and minima was 5.67 feet 1893Estimated MLLW: 0.15 feet 1894 1895CPU time used: 0.280000 s 1896 1897 Raw mode 1898 1899 Raw mode is for getting machine-readable output that can be fed into 1900 other Unix programs. The first column is a Unix time_t timestamp 1901 (seconds since 1970-01-01 00:00Z); the second column is tide heights in 1902 whatever units were selected for the location. 1903896624777 0.180580 1904896628377 1.271889 1905896631977 3.463100 1906896635577 6.084148 1907896639177 8.402840 1908896642777 9.943272 1909896646377 10.421064 1910896649977 9.672793 1911896653577 7.856022 1912896657177 5.543402 1913896660777 3.413487 1914896664377 1.926805 1915896667977 1.371479 1916 1917 Medium rare mode 1918 1919 Medium rare mode is just like raw mode except that the timestamps are 1920 "cooked" according to the date and time format settings that are in 1921 effect. 19222002-02-06 4:56 PM EST 2.054437 19232002-02-06 5:56 PM EST 1.573781 19242002-02-06 6:56 PM EST 1.086896 19252002-02-06 7:56 PM EST 0.656111 19262002-02-06 8:56 PM EST 0.224729 19272002-02-06 9:56 PM EST -0.161049 19282002-02-06 10:56 PM EST -0.265521 19292002-02-06 11:56 PM EST 0.077530 1930 1931 List mode 1932 1933 List mode does not provide tide predictions at all. It is simply a way 1934 to get the list of supported locations from the command line client. 1935 1936 The 'Type' column shows Ref for reference stations and Sub for 1937 subordinate stations. [8]You should care about the difference. 1938 1939 Location Type Coordinates 1940 0.8 n.mi. above entrance, Alloway Creek, New Jersey Sub 39.4967� N, 1941 75.5167� W 1942 130th Street, Hudson River, New York Sub 40.8167� N, 73.9667� W 1943 2.5 miles above mouth, Little Satilla River, Georgia Sub 31.0583� N, 1944 81.4933� W 1945 2.5 n.mi. above entrance, Alloway Creek, New Jersey Sub 39.5050� N, 1946 75.4833� W 1947 3 miles above A1A highway bridge, Loxahatchee River, Florida Sub 1948 26.9700� N, 80.1267� W 1949 37th Avenue, Long Island City, East River, New York, New York Sub 1950 40.7617� N, 73.9467� W 1951 1952 About mode 1953 1954 About mode does not provide tide predictions either. Instead, it shows 1955 the metadata for a station ("About this station"). 1956 1957 Name Bar Harbor, Frenchman Bay, Maine 1958 In file 1959 /home/dave/svnrepo/software/xtide/harmonics-dwf-20111230-free.tcd 1960 Station ID context NOS 1961 Station ID 8413320 1962 Date imported 2011-12-25 1963 Coordinates 44.3917� N, 68.2050� W 1964 Country U.S.A. 1965 Time zone :America/New_York 1966 Native units feet 1967 Source http://tidesandcurrents.noaa.gov/ 1968 Restriction Public domain 1969 Comments Harmonic constants from web snapshot taken 2011-12-11 1970 Datum from benchmark sheet, publication date 2011-09-29 1971 Credit Processed by David Flater for XTide 1972 https://flaterco.com/xtide/ 1973 Original name Bar Harbor, ME 1974 State ME 1975 Type Reference station, tide 1976 Meridian 0:00 1977 Datum Mean Lower Low Water 1978 Confidence 10 1979 1980Formats 1981 1982 XTide can render output in eight different formats: X-windows, HTML, 1983 LaTeX, iCalendar, PNG, CSV, SVG, or text. The X-windows format is 1984 implicit in the interactive client and can't be selected explicitly. 1985 The others can be selected in the non-interactive client and are 1986 invoked automatically by the interactive and web clients (e.g., when 1987 you save output to a file). 1988 1989 The currently supported combinations of mode and format are as follows: 1990 1991 Mode Legal forms 1992 about text, HTML, X-windows 1993 banner text 1994 calendar text, HTML, LaTeX, iCalendar, CSV 1995 alt. calendar text, HTML, LaTeX 1996 clock text, PNG, SVG, X-windows 1997 graph text, PNG, SVG, X-windows 1998 list text, HTML 1999 plain text, X-windows, CSV 2000 raw text, X-windows, CSV 2001 medium rare text, X-windows, CSV 2002 stats text 2003 2004 The HTML and PNG formats are adequately demonstrated by the examples 2005 above in the Modes section. 2006 2007 Text format 2008 2009 Several of the preceding examples, like plain mode, were in text 2010 format. Here is an example of graph mode using the text format: 2011�����������������San Francisco, San Francisco Bay, California ������ 2012-12�����2003-02-13�������������2003-02-13 2003-02-13 ������ 2013 PST����2:18 AM PST������������8:12 AM PST 3:25 PM PST ������ 2014�������������������������������� ������ 2015�������������������������������� ������ 2016�������������������������������� ������ 2017�������������������������������� ������ 20182 m�--------------------------------------------------------------------------- 2019�����������������������������************* ������ 2020��������������������������****************** ������ 2021***�������������������************************ ������ 2022**********�������******************************* ������ 20231 m***********************************************----------------------------- 2024**************************************************** �����* 2025****************************************************** ���*** 2026******************************************************** ****** 2027********************************************************** ********* 20280 m**************************************************************************** 2029******************************************************************************* 2030******************************************************************************* 2031********************Moonset****************************Moonrise**************** 2032******************4:51 AM PST*************************2:17 PM PST************** 20331**12***1***2***3**4***5***6***7***8***9*10**11**12***1***2***3***4**5***6***7* 2034|**|||**|***|***|**|***|***|***|***|***|**|***|***|***|***||**|***|**|***|***|* 2035 2036 Calendar mode is kind of cramped in text format if you use all default 2037 settings, but it can be made to work by using a compact time format, 2038 setting a wider TTY width, and/or turning off sun and moon 2039 information. These are [9]settings that you can change with the 2040 [10]control panel or [11]command-line switches. See [12]Appendix C for 2041 related discussion. 2042Bar Harbor, Frenchman Bay, Maine 204344.3917� N, 68.2050� W 2044 2045 May 2006 2046 2047Day High Low High Low High Phase Sunris Sunset Moonri Moonse 2048Mon 01 01:42 08:10 14:23 20:23 05:23 19:36 07:38 2049Tue 02 02:32 09:02 15:16 21:16 05:22 19:37 08:38 00:32 2050Wed 03 03:25 09:56 16:10 22:12 05:20 19:39 09:44 01:17 2051Thu 04 04:21 10:52 17:07 23:12 05:19 19:40 10:51 01:52 2052Fri 05 05:20 11:49 18:05 First 05:18 19:41 11:58 02:19 2053Sat 06 00:13 06:20 12:45 19:01 05:16 19:42 13:03 02:40 2054Sun 07 01:11 07:18 13:38 19:52 05:15 19:44 14:07 02:59 2055Mon 08 02:06 08:12 14:26 20:39 05:14 19:45 15:10 03:15 2056Tue 09 02:55 09:01 15:10 21:21 05:12 19:46 16:14 03:31 2057Wed 10 03:39 09:46 15:51 21:59 05:11 19:47 17:19 03:47 2058Thu 11 04:21 10:27 16:28 22:36 05:10 19:48 18:27 04:05 2059Fri 12 04:59 11:06 17:05 23:11 05:09 19:49 19:38 04:26 2060Sat 13 05:36 11:45 17:41 23:48 Full M 05:07 19:51 20:51 04:52 2061Sun 14 06:15 12:24 18:19 05:06 19:52 22:02 05:26 2062Mon 15 00:26 06:55 13:05 18:59 05:05 19:53 23:07 06:11 2063Tue 16 01:08 07:38 13:49 19:44 05:04 19:54 07:08 2064Wed 17 01:55 08:25 14:38 20:35 05:03 19:55 00:02 08:17 2065Thu 18 02:46 09:18 15:32 21:32 05:02 19:56 00:45 09:34 2066Fri 19 03:43 10:14 16:30 22:34 05:01 19:57 01:19 10:53 2067Sat 20 04:45 11:13 17:30 23:40 Last Q 05:00 19:58 01:46 12:12 2068Sun 21 05:50 12:14 18:31 04:59 19:59 02:08 13:30 2069Mon 22 00:46 06:56 13:14 19:31 04:58 20:00 02:29 14:47 2070Tue 23 01:50 07:59 14:12 20:27 04:57 20:01 02:49 16:05 2071Wed 24 02:49 08:59 15:07 21:21 04:56 20:02 03:10 17:23 2072Thu 25 03:45 09:56 15:59 22:12 04:56 20:03 03:34 18:43 2073Fri 26 04:38 10:49 16:49 23:00 04:55 20:04 04:03 20:01 2074Sat 27 05:28 11:39 17:38 23:48 New Mo 04:54 20:05 04:40 21:15 2075Sun 28 06:16 12:27 18:25 04:53 20:06 05:26 22:18 2076Mon 29 00:34 07:03 13:15 19:13 04:53 20:07 06:23 23:09 2077Tue 30 01:21 07:51 14:03 20:01 04:52 20:08 07:27 23:49 2078Wed 31 02:09 08:38 14:51 20:50 04:52 20:09 08:35 2079 2080 SVG format 2081 2082 XTide can produce output in the Scalable Vector Graphics (SVG) format 2083 for graph and clock modes. Graphs in SVG format ought to look better 2084 in a web browser than graphs in PNG format, but unfortunately, fonts. 2085 Moreover, font metrics. 2086 2087 If your browser supports SVG, an SVG-formatted graph might appear here: 2088 2089 SVG graph 2090 2091 LaTeX format 2092 2093 Running LaTeX formatted output through pdflatex yields a PDF that looks 2094 approximately [13]like this. See [14]Appendix C for hints on obtaining 2095 the best results. 2096 2097 iCalendar format 2098 2099 The iCalendar format yields an .ics file that can be imported by 2100 standards-compliant calendar tools to put tide events on your 2101 schedule. It is only useful in calendar mode. 2102 2103 CSV format 2104 2105 CSV stands for Comma-Separated Values, a.k.a. comma-delimited. This 2106 rigid format is useful for importing XTide output into database and 2107 spreadsheet applications with fixed columns. Commas that are part of 2108 field values are replaced by the pipe character (|). 2109Washington| D.C.,2004-03-04,3:40 PM EST,,Moonrise 2110Washington| D.C.,2004-03-04,6:04 PM EST,,Sunset 2111Washington| D.C.,2004-03-04,6:23 PM EST,2.75 ft,High Tide 2112Washington| D.C.,2004-03-05,1:30 AM EST,0.21 ft,Low Tide 2113 2114 In calendar mode, the columns in CSV format are: location name, date, 2115 five reps of (max time, max value), five reps of (min time, min value), 2116 ten reps of slack time, sunrise, sunset, moonrise, moonset. The number 2117 of columns allocated is controlled by the compile-time constants 2118 numMaxMin and numRiseSet in CalendarFormC.cc. Events exceeding the 2119 number of columns available are discarded with a warning. Moon phases 2120 and mark level crossings are just discarded. 2121 2122 The use of compile-time constants instead of dynamically adjusted 2123 values is intentional, since whatever application is reading the CSV 2124 output needs the interpretation of columns to be predictable. However, 2125 the default configuration allowing one column for rise and set events 2126 is not always adequate. Yes! You can have two sunsets in one day, and 2127 you don't even need Daylight Savings Time to do it: 2128Isla Neny, Antarctica 212968.2000� S, 67.0000� W 2130 21312001-01-24 12:03 AM ARST Sunset 21322001-01-24 3:17 AM ARST Sunrise 21332001-01-24 11:57 PM ARST Sunset 2134 __________________________________________________________________ 2135 2136 [15]<- Previous [16]-> Next [17]Contents 2137 2138References 2139 2140 1. https://flaterco.com/xtide/ports.html 2141 2. https://flaterco.com/xtide/interactive.html 2142 3. https://flaterco.com/xtide/xtide.html#contents 2143 4. https://flaterco.com/ 2144 5. https://flaterco.com/xtide/interactive.html 2145 6. https://flaterco.com/xtide/faq.html#240 2146 7. https://flaterco.com/xtide/advanced.html#crowding 2147 8. https://flaterco.com/xtide/faq.html#refsub 2148 9. https://flaterco.com/xtide/settings.html 2149 10. https://flaterco.com/xtide/advanced.html#cp 2150 11. https://flaterco.com/xtide/settings.html 2151 12. https://flaterco.com/xtide/pound_to_fit.html 2152 13. https://flaterco.com/xtide/BarHarbor.pdf 2153 14. https://flaterco.com/xtide/pound_to_fit.html#latex 2154 15. https://flaterco.com/xtide/ports.html 2155 16. https://flaterco.com/xtide/interactive.html 2156 17. https://flaterco.com/xtide/xtide.html#contents 2157 2158################################################################ 2159 2160 [1]<- Previous [2]-> Next [3]Contents 2161 2162 [4]Pemaquid bell 2163 2164Using the interactive interface 2165 2166 The first time you run xtide, you will get a license and disclaimer 2167 window. Read it, then click "Don't show this again" and dismiss it. 2168 2169 When XTide is finished indexing the harmonics files, you get a location 2170 chooser consisting of a map window and a location list window. If 2171 XTide was built with [5]GPS support and your GPS is present and 2172 working, the map zooms in on your current location automatically. 2173 Otherwise, the map initially shows an entire hemisphere of the globe. 2174 2175 The location list enumerates every tide station that is plotted on the 2176 map. Buttons with labels such as "A-S" and "S-Z" appear on the 2177 location list window if the list is too long to display all at once; 2178 use these buttons to switch between the different pieces of the list. 2179 2180 (If you do not get outlines of coastlines, please refer to the 2181 [6]installation section regarding World Vector Shoreline files.) 2182 2183 Globe window Location list window 2184 2185 You can change to a flat map projection that shows the entire world at 2186 once by clicking on Flat. You can make this your default location 2187 chooser if desired using the [7]control panel described in the [8]next 2188 section. 2189 2190 You can zoom in on an area by clicking on the map with the left mouse 2191 button; zooming out is accomplished with the button at the bottom of 2192 the map window. Your view can be shifted left, right, up, or down 2193 using the arrow keys on the keyboard. The location list updates to 2194 contain only those tide stations that are visible. You can cause the 2195 location list to include all available locations at once by clicking on 2196 List All. This will also bring up any locations whose coordinates are 2197 unknown. 2198 2199 Instead of zooming, you can narrow the list to a small area by clicking 2200 on that area with the right mouse button. A circle will be drawn on 2201 the map indicating the area selected: 2202 2203 Location chooser window with circle 2204 2205 When you are ready to choose a location, you can either click on it in 2206 the location list or zoom down to it on the map and click on the 2207 appropriate red or green dot with the middle mouse button. (Red dots 2208 indicate tide stations; green dots indicate currents.) A tide or 2209 current graph for the selected location will then pop up. 2210 2211 Graph window 2212 2213 The Backward and Forward buttons allow you to move forward or backward 2214 in time by a small amount. Pull down the Options menu to gain access 2215 to the Set Time option, which allows arbitrarily large adjustments. 2216 The Options menu also provides these other options: 2217 2218 Option Function 2219 Save Export the contents of the window to a PNG, SVG, or text file, as 2220 appropriate. (In raw and medium rare modes, you are given the 2221 opportunity to adjust the start and end times for the output.) 2222 Set Mark See [9]next section. 2223 Convert ft<->m Convert units to the preferred system. 2224 Set Aspect See [10]next section. 2225 Set Step See [11]next section. 2226 New Graph Window Pop up a graph mode window for the location. 2227 New Plain Mode Window Pop up a plain mode window for the location. 2228 New Raw Mode Window Pop up a raw mode window for the location. 2229 New Medium Rare Mode Window Pop up a medium rare mode window for the 2230 location. 2231 New Clock Window Pop up a clock mode window for the location. 2232 About This Station Show station metadata. 2233 About XTide Show XTide version and GPL. 2234 New Location Chooser Pop up a new location chooser. 2235 Control Panel See [12]next section. 2236 2237 Without getting into the complicated options, you can navigate from the 2238 location chooser to a graph window to other modes for the same location 2239 as you see fit. Use the Dismiss buttons to get rid of windows that you 2240 are through with. 2241 2242 Text window 2243 2244 In text windows, you can use the Forward and Backward buttons to scroll 2245 forward and backward in time, or you can use the mouse wheel. Text 2246 windows provide the same Options menu that is available on graph 2247 windows. 2248 2249 Clock window Clock window with buttons 2250 2251 By default, clock windows first appear with no buttons whatsoever, 2252 which is how you want them if you are going to leave them running on 2253 your desktop. However, you can make the buttons appear and disappear 2254 by clicking anywhere on the graph inside of the clock window. 2255 2256 The Options menu is again the same. Forward and Backward buttons are 2257 not provided for the obvious reason. 2258 __________________________________________________________________ 2259 2260 [13]<- Previous [14]-> Next [15]Contents 2261 2262References 2263 2264 1. https://flaterco.com/xtide/modes.html 2265 2. https://flaterco.com/xtide/advanced.html 2266 3. https://flaterco.com/xtide/xtide.html#contents 2267 4. https://flaterco.com/ 2268 5. https://flaterco.com/xtide/installation.html#GPS 2269 6. https://flaterco.com/xtide/installation.html#WVS 2270 7. https://flaterco.com/xtide/advanced.html#cp 2271 8. https://flaterco.com/xtide/advanced.html 2272 9. https://flaterco.com/xtide/advanced.html 2273 10. https://flaterco.com/xtide/advanced.html 2274 11. https://flaterco.com/xtide/advanced.html 2275 12. https://flaterco.com/xtide/advanced.html 2276 13. https://flaterco.com/xtide/modes.html 2277 14. https://flaterco.com/xtide/advanced.html 2278 15. https://flaterco.com/xtide/xtide.html#contents 2279 2280################################################################ 2281 2282 [1]<- Previous [2]-> Next [3]Contents 2283 2284 [4]The tide cometh, Provincetown, MA 2285 2286Advanced usage 2287 2288 Mark level 2289 2290 The "mark level" is a specific tidal height or current velocity of your 2291 choosing. When you set a mark level for a location, the times at which 2292 the tide level crosses the mark level will be displayed at the bottom 2293 of graphs and included in plain listings and calendars. This option is 2294 useful to determine the times when the tide will be low enough to 2295 expose something that is submerged at high tide or high enough to 2296 provide a desired depth. You can set a mark level by selecting the Set 2297 Mark option on the Options menu. In the following example, a mark 2298 level of 1 m has been applied to Bar Harbor predictions to find the 2299 approximate times at which one can walk to Bar Island without getting 2300 one's feet wet. 2301 2302 Bar Harbor with mark level 2303 2304 Mark level crossings are not displayed in clock mode windows due to 2305 lack of space. 2306 2307 Aspect 2308 2309 The "aspect" is a number that controls how stretched out or scrunched 2310 up a graph is. If timestamps are overlapping one another on a tide 2311 graph and becoming unreadable, you can increase the aspect to make them 2312 farther apart. An aspect of 1.0 is "normal;" an aspect of 2.0 2313 stretches the graph by a factor of 2; an aspect of 0.5 does the 2314 opposite, compressing the graph. You can change the aspect by 2315 selecting the Set Aspect option on the Options menu. 2316 2317 Step 2318 2319 In raw and medium rare modes, tide levels are normally listed with an 2320 increment of one hour for successive lines of output. You can adjust 2321 this increment using the Set Step option. 2322 2323 The control panel 2324 2325 The control panel is the easiest way to customize the many user-serviceable 2326 [5]settings of XTide. It is available from the [6]options menu of prediction 2327 windows. 2328 2329 It's not pretty, but it gets the job done. The many individual settings have 2330 their many individual dialogs, and all are simply thrown together into a 2331 resizable window in no particular order. Resize and scroll as needed. 2332 2333 XTide control panel 2334 2335 Colors can be changed to any of the "standard" X-windows color names or to 2336 24-bit RGB specifications of the form rgb:hh/hh/hh by typing the new colors in 2337 the dialog boxes. Fonts must be specified in fontconfig format (e.g., 2338 "Helvetica-10") if XTide was built with Xaw3dXft, or in traditional XLFD 2339 (e.g., "-*-helvetica-*-r-*-*-10-*-*-*-*-*-*-*") if not. Other settings have 2340 pull-down choice menus or counting buttons to help you along. Least 2341 user-friendly, but most powerful, are the timestamp formats. In return for 2342 reading the Unix man page for the strftime library function, you are empowered 2343 to change the timestamp formats to practically anything you could ever need. 2344 2345 You can choose Apply to see how the settings look in the current session only, 2346 or Save to make the settings permanent. They will be saved in the file 2347 ~/.xtide.xml. N.B., font changes require a restart to become effective. 2348 Example 1: Alternate graph styles 2349 2350 Graphstyle l (line): 2351 2352 Graphstyle l example 2353 2354 Graphstyle s (semitransparent) with line width set to 1.5: 2355 2356 Graphstyle s example 2357 2358 Note that semitransparent style makes no sense in formats that don't support 2359 opacity (text and PseudoColor X-windows). 2360 Example 2: Four ways to fix crowding of the bottom caption line 2361 2362 Original graph with crowded caption line: 2363 2364 Default current graph 2365 2366 With aspect 1.5 (to stretch out the graph): 2367 2368 Current graph with wider aspect 2369 2370 With time format "%H:%M" (to eliminate AM/PM and time zone verbiage): 2371 2372 Current graph with more concise time format 2373 2374 With event mask "Mm" (to filter out moonrise and moonset events): 2375 2376 Current graph with event mask 2377 2378 With graph font changed to LiberationSansNarrow-10: 2379 2380 Current graph with narrow font 2381 Example 3: Two ways to fix missing depth axis 2382 2383 This station has such a small tidal range that the only label on the depth 2384 axis is zero meters, which is kind of useless: 2385 2386 Missing depth example 2387 2388 With option to label tenths of units enabled: 2389 2390 Missing depth example 2391 2392 With preferred units set to feet: 2393 2394 Missing depth example 2395 Command line options 2396 2397 The interactive client supports all of the command line switches related to 2398 [7]settings which are described in a later section. In addition, it supports 2399 the following. 2400 2401 -b "YYYY-MM-DD HH:MM" 2402 With -l, specify the begin (start) time for predictions using 2403 the ISO 8601 compliant format YYYY-MM-DD HH:MM, where hours 2404 range from 00 to 23. The timestamp is in the local time zone 2405 for the location, or in UTC if the [8]-z setting is engaged. If 2406 clock mode is selected or if no -b is supplied, the current time 2407 will be used. (Note [9]Quirk #1) 2408 2409 -display "X display" 2410 Specify the X display, e.g. "quake:0.0". This overrides the 2411 DISPLAY environment variable. 2412 2413 -geometry "�XOFF�YOFF" 2414 Specify a position for the window corresponding to the first use 2415 of -l. (Width and height are controlled by different 2416 [10]settings.) 2417 2418 -l "Location Name" 2419 Specify a location for tide predictions. When given to the 2420 interactive client, this causes it to start a tide clock for the 2421 specified location instead of launching a location chooser on 2422 startup. This is useful for starting a tide clock automatically 2423 when you log on. Multiple uses of -l will result in multiple 2424 tide clocks. 2425 2426 -m a|g|k|m|p|r 2427 With -l, specify mode to be about, graph, clock, medium rare, 2428 plain, or raw. 2429 2430 -ml [-]N.NN(ft|m|kt) 2431 Specify an initial mark level to be used in prediction windows 2432 launched from the command line. The predictions will include 2433 the times when the tide level crosses the mark. The mark level 2434 also can be specified or changed using the Options menu. Not 2435 supported in clock mode. Does not affect windows that are 2436 launched from the location chooser. Example usage: -ml -0.25ft 2437 2438 -v 2439 Print version string and exit. Please note that versions marked 2440 as DEVELOPMENT versions are not really versioned; they are work 2441 in progress and will change without warning. 2442 2443 If you use the same location a lot, you can set the environment variable 2444 XTIDE_DEFAULT_LOCATION to its name instead of using -l every time. 2445 2446 Other switches that are supported by the [11]non-interactive interface are not 2447 supported by the interactive interface and will be ignored. 2448 2449 The arguments to -display, -fn, and -geometry cannot be concatenated with the 2450 switches (see [12]Quirk #5). 2451 _________________________________________________________________________ 2452 2453 [13]<- Previous [14]-> Next [15]Contents 2454 2455References 2456 2457 1. https://flaterco.com/xtide/interactive.html 2458 2. https://flaterco.com/xtide/tty.html 2459 3. https://flaterco.com/xtide/xtide.html#contents 2460 4. https://flaterco.com/ 2461 5. https://flaterco.com/xtide/settings.html 2462 6. https://flaterco.com/xtide/interactive.html#optionsmenu 2463 7. https://flaterco.com/xtide/settings.html 2464 8. https://flaterco.com/xtide/settings.html#zulu 2465 9. https://flaterco.com/xtide/bugs.html 2466 10. https://flaterco.com/xtide/settings.html 2467 11. https://flaterco.com/xtide/tty.html 2468 12. https://flaterco.com/xtide/bugs.html 2469 13. https://flaterco.com/xtide/interactive.html 2470 14. https://flaterco.com/xtide/tty.html 2471 15. https://flaterco.com/xtide/xtide.html#contents 2472 2473################################################################ 2474 2475 [1]<- Previous [2]-> Next [3]Contents 2476 2477 [4]Tide closes in 2478 2479Using the command line interface 2480 2481 The command line interface, tide, supports a number of [5]modes that 2482 cannot be accessed with the interactive client. It can run without 2483 X-windows, and unlike the interactive client, it can easily be invoked 2484 from shell scripts. 2485 2486 The minimal usage is simply to specify a location with -l. The default 2487 mode is plain, and the default format is text: 2488 2489$ tide -l "anchorage, al" 2490Anchorage, Alaska 249161.2383� N, 149.8883� W 2492 24932003-02-12 7:27 AM AKST Moonset 24942003-02-12 8:50 AM AKST Sunrise 24952003-02-12 10:19 AM AKST 10.72 feet Low Tide 24962003-02-12 11:34 AM AKST Moonrise 24972003-02-12 3:42 PM AKST 24.41 feet High Tide 24982003-02-12 5:37 PM AKST Sunset 24992003-02-12 11:00 PM AKST 1.95 feet Low Tide 25002003-02-13 5:31 AM AKST 25.51 feet High Tide 25012003-02-13 8:29 AM AKST Moonset 2502 2503 If you use the same location a lot, you can set the environment 2504 variable XTIDE_DEFAULT_LOCATION to its name instead of using -l every 2505 time. 2506 2507 The non-interactive client supports most of the command line switches 2508 related to [6]settings which are described in a later section. (As a 2509 notable exception, the graph font cannot be changed.) In addition, it 2510 supports the following. 2511 2512 -b "YYYY-MM-DD HH:MM" 2513 Specify the begin (start) time for predictions using the ISO 2514 8601 compliant format YYYY-MM-DD HH:MM, where hours range from 2515 00 to 23. The timestamp is in the local time zone for the 2516 location, or in UTC if the [7]-z setting is engaged. If clock 2517 mode is selected or if no -b is supplied, the current time will 2518 be used. (Note [8]Quirk #1) 2519 2520 -e "YYYY-MM-DD HH:MM" 2521 Specify the end (stop) time for predictions in banner, calendar, 2522 alt. calendar, medium rare, plain, raw, or stats mode. Does not 2523 apply in graph and clock modes: the effective end time for 2524 graph and clock modes is entirely determined by the start time 2525 (-b), the width ([9]-cw, [10]-gw or [11]-tw), and the aspect 2526 ([12]-ga). The format and time zone are the same as for -b. If 2527 no -e is supplied, the end time will be set to four days after 2528 the begin time. (Note [13]Quirk #2) 2529 2530 When it matters, -b and -e ranges mean specifically "all t such that b 2531 <= t < e." 2532 2533 -f c|h|i|l|p|t|v 2534 Specify the output format as CSV, HTML, iCalendar, LaTeX, PNG, 2535 text, or SVG. See the [14]modes page for legal modes and 2536 formats. The default is text. 2537 2538 -l "Location Name" 2539 Specify a location for tide predictions. You get the first 2540 station where the name supplied with -l is a case-insensitive 2541 match with the beginning (or the entirety) of the station's 2542 name. You can use the -l switch more than once if you want to 2543 specify multiple locations. 2544 2545 -m a|b|c|C|g|k|l|m|p|r|s 2546 Specify mode to be about, banner, calendar, alt. calendar, 2547 graph, clock, list, medium rare, plain, raw, or stats. See the 2548 [15]modes page for legal modes and formats. The default is 2549 plain. 2550 2551 -ml [-]N.NN(ft|m|kt) 2552 Specify the mark level to be used in predictions. The 2553 predictions will include the times when the tide level crosses 2554 the mark. Not supported in clock mode. Example usage: -ml 2555 -0.25ft 2556 2557 -o "filename" 2558 Redirect output to the specified file (appends). 2559 2560 -s "HH:MM" 2561 Specify the step interval, in hours and minutes, for raw or 2562 medium rare mode predictions. The default is one hour. 2563 2564 -v 2565 Print version string and exit. Please note that versions marked 2566 as DEVELOPMENT versions are not really versioned; they are work 2567 in progress and will change without warning. 2568 2569 The interactive interface does not support all of these switches and 2570 options. Refer to the [16]previous page for a list of the options 2571 supported by the interactive interface. 2572 2573 XTide understands the following syntactic shortcuts: 2574 * Arguments can be concatenated with their switches. 2575 * A yes/no switch that omits its argument implies "y". 2576 * Using +xx instead of -xx for a yes/no switch inverts the argument 2577 (so if the argument is omitted, "n" is implied). 2578 2579 Some shorthand forms are ambiguous. For example, -lw5 could mean "set 2580 the line width to 5" (-lw 5) or it could mean "load the location named 2581 w5" (-l w5). If this happens, you will get an error and will need to 2582 spell out what you meant. 2583 __________________________________________________________________ 2584 2585 [17]<- Previous [18]-> Next [19]Contents 2586 2587References 2588 2589 1. https://flaterco.com/xtide/advanced.html 2590 2. https://flaterco.com/xtide/xttpd.html 2591 3. https://flaterco.com/xtide/xtide.html#contents 2592 4. https://flaterco.com/ 2593 5. https://flaterco.com/xtide/modes.html 2594 6. https://flaterco.com/xtide/settings.html 2595 7. https://flaterco.com/xtide/settings.html#zulu 2596 8. https://flaterco.com/xtide/bugs.html 2597 9. https://flaterco.com/xtide/settings.html#cwidth 2598 10. https://flaterco.com/xtide/settings.html#gwidth 2599 11. https://flaterco.com/xtide/settings.html#ttywidth 2600 12. https://flaterco.com/xtide/settings.html#gaspect 2601 13. https://flaterco.com/xtide/bugs.html 2602 14. https://flaterco.com/xtide/modes.html 2603 15. https://flaterco.com/xtide/modes.html 2604 16. https://flaterco.com/xtide/advanced.html#intopts 2605 17. https://flaterco.com/xtide/advanced.html 2606 18. https://flaterco.com/xtide/xttpd.html 2607 19. https://flaterco.com/xtide/xtide.html#contents 2608 2609################################################################ 2610 2611 [1]<- Previous [2]-> Next [3]Contents 2612 2613 [4]Nobska Light, Cape Cod, MA, 1998-06-17 2614 2615Running the web server 2616 2617 xttpd is an XTide web server. It provides web-based access to XTide's 2618 tide predictions by allowing a web browser to speak directly to the 2619 XTide program in HTTP. xttpd can replace httpd or it can co-exist with 2620 one. 2621 2622 Once the port is established, xttpd will try to set its UID and GID to 2623 values that were specified at compile time. If it is unable to do 2624 this, it will log failure messages to syslog and then exit. 2625 Consequently, if it is to be started by someone other than root, that 2626 user's UID and GID must be configured at compile time. Instructions 2627 for doing this are available at 2628 [5]https://flaterco.com/xtide/installation.html#xttpd. 2629 2630 You can set the address for feedback either at compile time as 2631 described in the installation instructions or with the environment 2632 variable XTTPD_FEEDBACK. 2633 2634 xttpd will accept [6]settings either from command line switches (as 2635 used with xtide or tide) or from an .xtide.xml file that is saved in 2636 the home directory of the account that is used to execute it. Settings 2637 that are customized using the xtide [7]control panel and then saved can 2638 be applied to xttpd by copying in the .xtide.xml file. 2639 2640 xttpd will produce a small number of zombie processes during normal 2641 operation. They are cleaned up after each new connection, so there is 2642 no cause for concern. 2643 2644 Since a web site is supposed to be self-explanatory, the process of 2645 using xttpd will not be documented here. If there are problems with 2646 people not being able to figure out how to use it, these should be 2647 reported to me as bugs, and the explanatory text in the web server will 2648 be updated accordingly. 2649 2650 Conventional operation 2651 2652 Usage: xttpd [port] [...other xtide [8]settings switches...]. 2653 2654 xttpd forks itself into the background and uses the syslog facility for 2655 all logging. Hosts connecting to xttpd are logged with priority INFO. 2656 2657 If you run xttpd with no command line arguments, it will assume that it 2658 is replacing httpd and try to bind port 80. If you want it to co-exist 2659 with an existing server, or if you do not have privilege to get port 2660 80, give it the port number as the first command line argument: 2661 2662% xttpd 8080 2663 2664 You will then need to link it up as http://www.wherever.org:8080/ 2665 instead of just http://www.wherever.org/, but otherwise, no damage 2666 done. Similarly, if you wish to bind a specific address, you can 2667 specify that as the first argument: 2668 2669% xttpd 127.0.0.2 2670 2671 If you need to specify both address and port number, separate the two 2672 with a slash, like this: 2673 2674% xttpd 127.0.0.2/8080 2675 2676 (New in XTide 2.15) IPv6 addresses and hostnames are now accepted for 2677 the address. 2678 2679Systemd operation (XTide 2.15) 2680 2681 If xttpd was built with --enable-systemd, it cannot be run from the 2682 command line or from init scripts. The port, address, and command line 2683 options can only be changed by editing systemd config files as 2684 described in the [9]installation section. 2685 2686 Command line switches for [10]settings can be specified in 2687 xttpd.service on line ExecStart=. 2688 2689 Troubleshooting 2690 2691 Q: When I run xttpd, it exits immediately with no errors to tell me what went 2692 wrong. 2693 2694 A: When executed, xttpd immediately disassociates itself from your terminal 2695 and starts logging all diagnostics to syslog. So look in your system logs. 2696 On an init system, you will find these someplace like /var/log or 2697 /var/adm/log. On a systemd system, you have to say (as root) journalctl -b -p 2698 debug --no-pager to dump the log. 2699 2700 If all else fails, xttpd can be built with the debugging option 2701 -DXTTPD_NO_DAEMON to make it stay attached to the terminal and print errors to 2702 stderr. (Requires XTide 2.15) 2703 _________________________________________________________________________ 2704 2705 [11]<- Previous [12]-> Next [13]Contents 2706 2707References 2708 2709 1. https://flaterco.com/xtide/tty.html 2710 2. https://flaterco.com/xtide/settings.html 2711 3. https://flaterco.com/xtide/xtide.html#contents 2712 4. https://flaterco.com/ 2713 5. https://flaterco.com/xtide/installation.html#xttpd 2714 6. https://flaterco.com/xtide/settings.html 2715 7. https://flaterco.com/xtide/advanced.html#cp 2716 8. https://flaterco.com/xtide/settings.html 2717 9. https://flaterco.com/xtide/installation.html#systemd 2718 10. https://flaterco.com/xtide/settings.html 2719 11. https://flaterco.com/xtide/tty.html 2720 12. https://flaterco.com/xtide/settings.html 2721 13. https://flaterco.com/xtide/xtide.html#contents 2722 2723################################################################ 2724 2725 [1]<- Previous [2]-> Next [3]Contents 2726 2727 [4]Girl feeding gulls 2728 2729Customizing XTide 2730 2731 XTide is customized by changing its settings. The most convenient way 2732 to do this is generally through the control panel that is documented in 2733 a [5]previous section. However, you can also change these settings in 2734 config.hh, in your X resources database, or on the command line. The 2735 order of precedence, from least significant to most significant, is: 2736 1. config.hh 2737 2. Xdefaults (X resources) 2738 3. ~/.xtide.xml (control panel) 2739 4. command line 2740 2741 Note that only xtide (not xttpd or tide) reads Xdefaults. 2742 2743 Canonically, all command line settings take the form -xx value, with a 2744 space between the switch and the supplied value. The yes-or-no 2745 settings get a value of "y" or "n". However, XTide understands the 2746 following syntactic shortcuts: 2747 * Arguments can be concatenated with their switches. 2748 * A yes/no switch that omits its argument implies "y". 2749 * Using +xx instead of -xx for a yes/no switch inverts the argument 2750 (so if the argument is omitted, "n" is implied). 2751 2752 Some shorthand forms are ambiguous. For example, -lw5 could mean "set 2753 the line width to 5" (-lw 5) or it could mean "load the location named 2754 w5" (-l w5). If this happens, you will get an error and will need to 2755 spell out what you meant. 2756 2757 Be aware that older versions of XTide will not support all of the 2758 documented settings. 2759 2760 XTide*background 2761 Background color for text windows and location chooser. 2762 Default: white 2763 Command line: -bg 2764 config.hh: bgdefcolor 2765 .xtide.xml: <xtideoptions bg="white"/> 2766 2767 XTide*buttoncolor 2768 Background color of buttons. 2769 Default: gray80 2770 Command line: -bc 2771 config.hh: buttondefcolor 2772 .xtide.xml: <xtideoptions bc="gray80"/> 2773 2774 XTide*caldayfmt 2775 (New in XTide 2.14) Strftime style format string for printing 2776 days in calendars. 2777 Default: %a %d 2778 Command line: -cf 2779 config.hh: caldayfmt 2780 .xtide.xml: <xtideoptions cf="%a %d"/> 2781 2782 XTide*cbuttons 2783 Create tide clocks with buttons? (y/n) 2784 Default: n 2785 Command line: -cb 2786 config.hh: cbuttons 2787 .xtide.xml: <xtideoptions cb="n"/> 2788 2789 XTide*cheight 2790 Initial height for tide clocks. 2791 Default: 312 2792 Command line: -ch 2793 config.hh: defcheight 2794 .xtide.xml: <xtideoptions ch="312"/> 2795 2796 XTide*currentdotcolor 2797 Color of dots indicating current stations in the location 2798 chooser. 2799 Default: rgb:00/A0/00 2800 Command line: -cc 2801 config.hh: currentdotdefcolor 2802 .xtide.xml: <xtideoptions cc="rgb:00/A0/00"/> 2803 2804 XTide*cwidth 2805 Initial width for tide clocks. 2806 Default: 84 2807 Command line: -cw 2808 config.hh: defcwidth 2809 .xtide.xml: <xtideoptions cw="84"/> 2810 2811 XTide*datefmt 2812 Strftime style format string for printing dates. For calendars 2813 see caldayfmt. 2814 Default: %Y-%m-%d 2815 Command line: -df 2816 config.hh: datefmt 2817 .xtide.xml: <xtideoptions df="%Y-%m-%d"/> 2818 2819 XTide*datumcolor 2820 Color of datum line in tide graphs. [[6]*] 2821 Default: white 2822 Command line: -Dc 2823 config.hh: datumdefcolor 2824 .xtide.xml: <xtideoptions Dc="white"/> 2825 2826 XTide*daycolor 2827 Daytime background color in tide graphs. 2828 Default: SkyBlue 2829 Command line: -dc 2830 config.hh: daydefcolor 2831 .xtide.xml: <xtideoptions dc="SkyBlue"/> 2832 2833 XTide*ebbcolor 2834 Foreground in tide graphs during outgoing tide. 2835 Default: SeaGreen 2836 Command line: -ec 2837 config.hh: ebbdefcolor 2838 .xtide.xml: <xtideoptions ec="SeaGreen"/> 2839 2840 XTide*eventmask 2841 Events to suppress (p = phase of moon, S = sunrise, s = sunset, 2842 M = moonrise, m = moonset), or x to suppress none. E.g, to 2843 suppress all sun and moon events, set eventmask to the value 2844 pSsMm. 2845 Default: x 2846 Command line: -em 2847 config.hh: eventmask 2848 .xtide.xml: <xtideoptions em="x"/> 2849 2850 XTide*extralines 2851 Draw datum and middle-level lines in tide graphs? (y/n) [[7]*] 2852 Default: n 2853 Command line: -el 2854 config.hh: extralines 2855 .xtide.xml: <xtideoptions el="n"/> 2856 2857 XTide*flatearth 2858 Prefer flat map to round globe location chooser? (y/n) 2859 Default: n 2860 Command line: -fe 2861 config.hh: flatearth 2862 .xtide.xml: <xtideoptions fe="n"/> 2863 2864 XTide*floodcolor 2865 Foreground in tide graphs during incoming tide. 2866 Default: Blue 2867 Command line: -fc 2868 config.hh: flooddefcolor 2869 .xtide.xml: <xtideoptions fc="Blue"/> 2870 2871 XTide*font 2872 Font used for button labels and verbiage in text windows. 2873 [[8]**] 2874 Default: as incoming from X11 or libXaw3dXft 2875 Command line: -fn 2876 config.hh: N/A 2877 .xtide.xml: N/A 2878 2879 XTide*foreground 2880 Color of text and other notations. 2881 Default: black 2882 Command line: -fg 2883 config.hh: fgdefcolor 2884 .xtide.xml: <xtideoptions fg="black"/> 2885 2886 XTide*gaspect 2887 Initial aspect for tide graphs and clocks. 2888 Default: 1.0 2889 Command line: -ga 2890 config.hh: defgaspect 2891 .xtide.xml: <xtideoptions ga="1.0"/> 2892 2893 XTide*gheight 2894 Initial height for tide graphs. 2895 Default: 312 2896 Command line: -gh 2897 config.hh: defgheight 2898 .xtide.xml: <xtideoptions gh="312"/> 2899 2900 XTide*globelongitude 2901 Initial center longitude for location chooser. If [9]GPS 2902 support is present and working, this setting is redundant. 2903 Valid values: -180 -150 -120 -90 -60 -30 0 30 60 90 120 150 360 2904 360 will pick the longitude with the most tide stations. 2905 Default: 360 2906 Command line: -gl 2907 config.hh: defgl 2908 .xtide.xml: <xtideoptions gl="360"/> 2909 2910 XTide*graphfont 2911 Font used in graphs and clocks in interactive client. Does not 2912 affect tide, xttpd, or SVG-format output. [[10]**] 2913 Default: "embedded" 2914 Command line: -gf 2915 config.hh: defgraphfont 2916 .xtide.xml: <xtideoptions gf="embedded"/> 2917 2918 XTide*graphstyle 2919 Style of graphs and clocks. 2920 Valid values: d (default), l (line), s (semitransparent). 2921 Default: d 2922 Command line: -gs 2923 config.hh: defgraphstyle 2924 .xtide.xml: <xtideoptions gs="d"/> 2925 2926 XTide*graphtenths 2927 Label tenths of units in tide graphs? (y/n) 2928 Default: n 2929 Command line: -gt 2930 config.hh: graphtenths 2931 .xtide.xml: <xtideoptions gt="n"/> 2932 2933 XTide*gwidth 2934 Initial width for tide graphs. 2935 Default: 960 2936 Command line: -gw 2937 config.hh: defgwidth 2938 .xtide.xml: <xtideoptions gw="960"/> 2939 2940 XTide*hourfmt 2941 Strftime style format string for printing hour labels on time 2942 axis. 2943 Default: %l 2944 Command line: -hf 2945 config.hh: hourfmt 2946 .xtide.xml: <xtideoptions hf="%l"/> 2947 2948 XTide*infer 2949 Use inferred values for some constituents. For expert use only. 2950 Default: n 2951 Command line: -in 2952 config.hh: infer 2953 .xtide.xml: <xtideoptions in="n"/> 2954 2955 XTide*linebreak 2956 (New in XTide 2.14) Linebreak before prediction value in 2957 calendars? (y/n) 2958 Default: n 2959 Command line: -lb 2960 config.hh: linebreak 2961 .xtide.xml: <xtideoptions lb="n"/> 2962 2963 XTide*lwidth 2964 Width of line in graph styles l and s (pixels, positive real 2965 number). 2966 Default: 2.5 2967 Command line: -lw 2968 config.hh: deflwidth 2969 .xtide.xml: <xtideoptions lw="2.5"/> 2970 2971 XTide*markcolor 2972 Color of mark line in graphs. 2973 Default: red 2974 Command line: -mc 2975 config.hh: markdefcolor 2976 .xtide.xml: <xtideoptions mc="red"/> 2977 2978 XTide*monofont 2979 Monospace font used for location list, text predictions, help 2980 windows and about mode text. [[11]**] 2981 Default: 2982 "-misc-fixed-medium-r-normal--13-100-100-100-c-70-iso8859-1" 2983 (without libXaw3dXft) or "LiberationMono-12" (with libXaw3dXft) 2984 Command line: -mf 2985 config.hh: defmonofont 2986 .xtide.xml: <xtideoptions mf="LiberationMono-12"/> 2987 2988 XTide*mslcolor 2989 Color of middle-level line in tide graphs. [[12]*] 2990 Default: yellow 2991 Command line: -Mc 2992 config.hh: msldefcolor 2993 .xtide.xml: <xtideoptions Mc="yellow"/> 2994 2995 XTide*nightcolor 2996 Nighttime background color in tide graphs. 2997 Default: DeepSkyBlue 2998 Command line: -nc 2999 config.hh: nightdefcolor 3000 .xtide.xml: <xtideoptions nc="DeepSkyBlue"/> 3001 3002 XTide*nofill 3003 Deprecated. Use graphstyle instead. 3004 Default: n 3005 Command line: -nf 3006 config.hh: N/A (use graphstyle) 3007 .xtide.xml: <xtideoptions nf="n"/> 3008 3009 XTide*nosunmoon 3010 Deprecated. Use eventmask instead. 3011 Default: n 3012 Command line: -ns 3013 config.hh: N/A (use eventmask) 3014 .xtide.xml: <xtideoptions ns="n"/> 3015 3016 XTide*omitunits 3017 (New in XTide 2.14) Print numbers with no ft/m/kt? (y/n) Where 3018 possible, adds a header line stating the units and datum. 3019 Default: n 3020 Command line: -ou 3021 config.hh: omitunits 3022 .xtide.xml: <xtideoptions ou="n"/> 3023 3024 XTide*pagebreak 3025 (New in XTide 2.14) Pagebreak and header before every month of 3026 a calendar? (y/n) 3027 Default: y 3028 Command line: -pb 3029 config.hh: pagebreak 3030 .xtide.xml: <xtideoptions pb="y"/> 3031 3032 XTide*pageheight 3033 Nominal length of paper in LaTeX output (mm). This need not 3034 match your actual paper; use "Shrink oversized pages" in print 3035 options. 3036 Default: 420 3037 Command line: -ph 3038 config.hh: defpageheight 3039 .xtide.xml: <xtideoptions ph="420"/> 3040 3041 XTide*pagemargin 3042 Nominal width of top, bottom, left and right margins in LaTeX 3043 output (mm). Actual width will depend on print scaling. 3044 Default: 10 3045 Command line: -pm 3046 config.hh: defpagemargin 3047 .xtide.xml: <xtideoptions pm="10"/> 3048 3049 XTide*pagewidth 3050 Nominal width of paper in LaTeX output (mm). This need not match 3051 your actual paper; use "Shrink oversized pages" in print 3052 options. 3053 Default: 297 3054 Command line: -pw 3055 config.hh: defpagewidth 3056 .xtide.xml: <xtideoptions pw="297"/> 3057 3058 XTide*predictinterval 3059 Number of days of predictions to generate when no end time is 3060 specified. 3061 Default: 4 3062 Command line: -pi 3063 config.hh: defpredictinterval 3064 .xtide.xml: <xtideoptions pi="4"/> 3065 3066 XTide*tidedotcolor 3067 Color of dots indicating tide stations in the location chooser. 3068 Default: red 3069 Command line: -tc 3070 config.hh: tidedotdefcolor 3071 .xtide.xml: <xtideoptions tc="red"/> 3072 3073 XTide*tideopacity 3074 Opacity of the fill in graph style s (semitransparent). 3075 Default: 0.65 3076 Command line: -to 3077 config.hh: deftideopacity 3078 .xtide.xml: <xtideoptions to="0.65"/> 3079 3080 XTide*timefmt 3081 Strftime style format string for printing times. 3082 Default: %l:%M %p %Z 3083 Command line: -tf 3084 config.hh: timefmt 3085 .xtide.xml: <xtideoptions tf="%l:%M %p %Z"/> 3086 3087 XTide*toplines 3088 Draw depth lines on top of tide graph? (y/n) 3089 Default: n 3090 Command line: -tl 3091 config.hh: toplines 3092 .xtide.xml: <xtideoptions tl="n"/> 3093 3094 XTide*ttyheight 3095 Height of ASCII graphs and clocks (characters). 3096 Default: 24 3097 Command line: -th 3098 config.hh: defttyheight 3099 .xtide.xml: <xtideoptions th="24"/> 3100 3101 XTide*ttywidth 3102 Width of text format (characters). 3103 Default: 79 3104 Command line: -tw 3105 config.hh: defttywidth 3106 .xtide.xml: <xtideoptions tw="79"/> 3107 3108 XTide*units 3109 Preferred units of length: ft, m, or x (no preference). 3110 Default: x 3111 Command line: -u 3112 config.hh: prefunits 3113 .xtide.xml: <xtideoptions u="x"/> 3114 3115 XTide*zulu 3116 Coerce all time zones to UTC? (y/n) 3117 Default: n 3118 Command line: -z 3119 config.hh: forceZuluTime 3120 .xtide.xml: <xtideoptions z="n"/> 3121 3122 [*] The National Ocean Service (NOS) defines both Mean Sea Level (MSL) 3123 and Mean Tide Level (MTL) in terms of averages taken over 3124 observations. The middle-level line is drawn at the midpoint of the 3125 theoretical tidal range, which usually corresponds to the mathematical 3126 mean level of the predictions. This approximates both MSL and MTL, 3127 but, strictly speaking, is equivalent to neither. Moreover, 3128 subordinate station offsets may shift the actual mean so that it no 3129 longer falls at the midpoint of the tidal range. The datum line is 3130 drawn at the zero level of the predictions, which usually corresponds 3131 to the station's benchmark, but this too can be rendered inaccurate by 3132 subordinate station offsets. 3133 3134 [**] Important usage note: If XTide is built with Xaw3dXft, font names 3135 given to XTide must be in fontconfig format (e.g., "Helvetica-10"), 3136 rather than the traditional XLFD (e.g., 3137 "-*-helvetica-*-r-*-*-10-*-*-*-*-*-*-*"). Also, Xaw3dXft does not 3138 return errors if there are problems with a font name; it just loads a 3139 default font instead. 3140 3141Format of ~/.xtide.xml 3142 3143 If you have compiled the interactive client (xtide), then you do not 3144 need to worry about ~/.xtide.xml at all, because the control panel will 3145 configure it for you automatically. 3146 3147 In the event that you cannot use xtide but still need to make some 3148 settings for the command line client, use the example below as the 3149 starting point for your ~/.xtide.xml file. This example just sets the 3150 TTY geometry. You can add more settings by adding more attributes 3151 (like the tw and th attributes shown here) to the xtideoptions entity. 3152 The attributes that are recognized for each setting are documented 3153 above. 3154 3155<?xml version="1.0"?> 3156<xtideoptions tw="79" th="24"/> 3157 3158Locale and terminal settings 3159 3160 Internally, XTide uses the Latin-1 (a.k.a. ISO-8859-1) character set 3161 exclusively. When generating output in text or HTML formats, XTide 3162 will convert Latin-1 characters to UTF-8 if that is what the POSIX 3163 locale asks for. This can be controlled with the LANG environment 3164 variable; e.g., LANG=en_US.UTF-8. Any other setting of the codeset 3165 portion of LANG (which has the format lang[_terr[.codeset]]) will 3166 result in Latin-1 characters being passed through unchanged. (CP437 is 3167 supported for DOS compatibility, but is rejected by Linux setlocale.) 3168 3169 If the environment variable TERM is set to vt100 or vt102, XTide will 3170 take it seriously and invoke the DEC Special Graphics character set in 3171 text format output. Below is a comparison of how graph mode, text 3172 format looks in an xterm normally (left) and with TERM set to vt100 3173 (right). A VT100 provides five different horizontal line characters, 3174 which allow depth lines to be drawn more accurately. On the downside, 3175 it does not provide any of the accented characters from Latin-1, so 3176 non-ASCII characters in location names and other data received from the 3177 harmonics file will do something weird. 3178 3179 [xtermregular.png] [xtermvt100.png] 3180 __________________________________________________________________ 3181 3182 [13]<- Previous [14]-> Next [15]Contents 3183 3184References 3185 3186 1. https://flaterco.com/xtide/xttpd.html 3187 2. https://flaterco.com/xtide/harmonics.html 3188 3. https://flaterco.com/xtide/xtide.html#contents 3189 4. https://flaterco.com/ 3190 5. https://flaterco.com/xtide/advanced.html#cp 3191 6. https://flaterco.com/xtide/settings.html#splat 3192 7. https://flaterco.com/xtide/settings.html#splat 3193 8. https://flaterco.com/xtide/settings.html#splat2 3194 9. https://flaterco.com/xtide/installation.html#GPS 3195 10. https://flaterco.com/xtide/settings.html#splat2 3196 11. https://flaterco.com/xtide/settings.html#splat2 3197 12. https://flaterco.com/xtide/settings.html#splat 3198 13. https://flaterco.com/xtide/xttpd.html 3199 14. https://flaterco.com/xtide/harmonics.html 3200 15. https://flaterco.com/xtide/xtide.html#contents 3201 3202################################################################ 3203 3204 [1]<- Previous [2]-> Next [3]Contents 3205 3206 [4]Portland Head Light 3207 3208About harmonic constants and sub station corrections 3209(What to do if your location isn't listed) 3210 3211 As was explained in the [5]introduction, tide predictions for a given 3212 location cannot be conjured out of the void--you need to get some 3213 special data for each and every location for which you want to predict 3214 tides. XTide reads these data from harmonics files. 3215 3216 The harmonics file available at 3217 [6]https://flaterco.com/xtide/files.html#harmonicsfiles contains all 3218 data for U.S. stations that were available from the NOS web site as of 3219 the last update. I update it once a year. 3220 3221 For [7]various reasons, I no longer maintain data for stations outside 3222 the U.S. Methods by which non-U.S. stations or unsupported U.S. 3223 stations can be added are described below; but first, some important 3224 definitions. 3225 [8]National Ocean Service tide station at Bar Harbor, Maine 3226 3227 Harmonic constants (reference stations) 3228 3229 Harmonic constants are created by analysis of regular water level 3230 readings taken by automated tide stations like the one pictured here. 3231 A tide station whose predictions trace directly to harmonic constants 3232 that were derived from water level readings for that same station is 3233 called a reference station. 3234 3235 A set of harmonic constants provides an amplitude and a phase (or 3236 "epoch") for various harmonic constituents with names like M2 and K1. 3237 The number of constituents used for a given station can vary from a few 3238 to over 100. However, if you get six or fewer constituents then you 3239 are probably dealing with "simplified" harmonic constants. Simplified 3240 harmonic constants limit the accuracy that can be achieved for 3241 predictions because the less significant constituents have been thrown 3242 away. If simplified harmonic constants must be used, it is a good idea 3243 to [9]enable constituent inference in XTide. 3244 3245 Some Admiralty data include nonharmonic adjustments that are not 3246 supported by XTide. A [10]spreadsheet has been contributed to convert 3247 Admiralty seasonal corrections to approximate long-term constituents 3248 that XTide can use. However, for "S.W. CORRECTIONS" (shallow water 3249 corrections) called f4 and f6 there really is no support yet. 3250 3251 Offsets (subordinate stations) 3252 3253 A subordinate station is a tide station whose predictions are obtained 3254 by applying corrections to the predictions generated for a reference 3255 station, i.e., a station for which we have good harmonic constants. 3256 The words 'corrections,' 'differences,' and 'offsets' are used 3257 interchangeably when referring to subordinate station data. 3258 3259 While harmonic constants can be hard to get, you should be able to get 3260 offsets with relative ease from a local boating magazine, chartbook, 3261 yacht club, or marine authority. 3262 3263 There are many different flavors of offsets for subordinate stations. 3264 At this time, XTide supports all commonly appearing flavors except for 3265 the Admiralty one that has different height differences depending on 3266 the time of month. The following rare and freakish sorts are not 3267 supported: those that use different offsets depending on whether the 3268 flood at the reference station crossed some threshold; those that rely 3269 on more than one reference station; those that use different offsets 3270 for higher high or low water versus lower high or low water; currents 3271 that use a regular tide station as reference, or vice-versa. 3272 3273 Some putative sets of harmonic constants for subordinate stations were 3274 created by mangling the constants of a reference station to approximate 3275 the results of applying corrections. Such mangled data only junk up 3276 the database and should be avoided. 3277 3278 Adding subordinate stations using tideEditor 3279 3280 If you find suitable offsets, you can add them to harmonics.tcd using 3281 the tideEditor program available from 3282 [11]https://flaterco.com/xtide/files.html#extras. There are two other 3283 ways to do it, as described below under "[12]Importing batches of 3284 harmonic constants and offsets," but tideEditor is most expedient for 3285 the non-expert. 3286 3287 First, always make a backup copy of whatever you are about to modify. 3288 3289 TideEditor version 1.4 takes the name of the file to modify as the 3290 command-line argument. 3291 3292bash-3.1$ tideEditor whatever.tcd 3293 3294 When you start tideEditor, you get a map of the world. Point at the 3295 location where you want to add a subordinate station and right click. 3296 3297 You will get a prompt asking "Will the new station be a reference 3298 station or a subordinate station?" Choose Subordinate. 3299 3300 You will get a prompt saying "Please select the new reference 3301 station." Use the pull-down list to select the reference station and 3302 click OK. 3303 3304 You will then get a window with the tabs General, Verbiage and Offsets, 3305 initially showing General. On the General tab, the Reference Station, 3306 Latitude and Longitude fields will be pre-filled based on your previous 3307 actions. If you don't know the correct latitude and longitude, just 3308 estimate the coordinates as best you can. 3309 3310 The other fields that you MUST fill in are as follows: 3311 * Station Name: Enter the name of the new subordinate station. 3312 * Time Zone: Use the pull-down to set the time zone (select the 3313 major city for the applicable region). The timezone attribute is 3314 only used to choose the time zone in which to render output for the 3315 location. In the majority of cases this will be the same as for 3316 the reference station. 3317 * Level Units: Select feet or meters for tides, knots for currents. 3318 3319 All other fields on the General and Verbiage tabs are optional. 3320 Descriptions of the other fields are obtainable using the question mark 3321 tool thingy ( [whatsthis.png] ). 3322 3323 The Offsets tab has the following fields. 3324 * Minimum Time Add. The time adjustment for low tide / max ebb. It 3325 is expressed as an integer that is hours times 100 plus minutes, so 3326 for -0:20 (negative 0 hours, 20 minutes) you would write -20, and 3327 for 1:40 (positive 1 hour, 40 minutes) you would write 140. If you 3328 don't have this, leave it blank. 3329 * Minimum Level Add. A value, in the units identified by Level 3330 Units, that is added to the tide level or current velocity 3331 predicted at low tide or max ebb. If you don't have this, leave it 3332 blank. 3333 * Minimum Level Multiply. A multiplier for the tide level or current 3334 velocity predicted at low tide or max ebb. If you don't have this, 3335 leave it blank. 3336 * Maximum Time Add, Level Add, and Level Multiply are analogous, but 3337 correspond to high tide / max flood. 3338 * Flood Begins. Another kind of "Time Add" used only by currents to 3339 adjust the time of the slack preceding a flood. If you don't have 3340 this, leave it blank. If it got initialized to zero, make it 3341 blank. 3342 * Ebb Begins. Analogous to Flood Begins. 3343 3344 Notations used to describe corrections will vary: 3345 3346 Notation Translation 3347 -0:20 Time Add -20 3348 1 23 Time Add 123 3349 *1.07 Level Multiply 1.07 3350 +0.4 Level Add 0.4 3351 (*0.65+0.3) Level Multiply 0.65, Level Add 0.3 3352 3353 If you were not given separate corrections for max and min, set both 3354 the max and min values to whatever you got. For example, if you get 3355 3356Head Harbor, Isle au Haut -0:20 (Portland) 3357 3358 then you should set both Minimum Tide Add and Maximum Time Add to -20. 3359 3360 Special cases: 3361 * If you don't get slack offsets (floodbegins, ebbbegins) for a 3362 current station, OMIT those fields! When slack offsets are 3363 omitted, XTide will interpolate a reasonable value. But if you 3364 specify zero, you get zero--even if that's unreasonable with 3365 respect to the specified max and min. 3366 * If your reference station is in a different time zone, you may need 3367 to alter the time offsets to REMOVE compensation for the time zone 3368 difference. NOAA had a practice of including the time zone 3369 differential in the offsets, but in XTide, the offsets are 3370 independent of the time zone. 3371 3372 When finished, click OK. When you quit tideEditor, your new station 3373 will be saved in the updated TCD file. 3374 3375 Adding reference stations using tideEditor 3376 3377 To add a reference station with tideEditor, the general process is 3378 similar to adding a subordinate station, but the data to enter are more 3379 obscure and there are more opportunities for the non-expert to get 3380 stuck. 3381 3382 When you get the prompt asking "Will the new station be a reference 3383 station or a subordinate station?" choose Reference. 3384 3385 Instead of "Offsets," the third tab in the dialog is now 3386 "Constituents." 3387 * Datum Description. Choose Mean Lower Low Water or whatever is the 3388 description of the datum that you have received. If you don't 3389 know, you can proceed without setting it. 3390 * Datum Value. Enter the datum (sometimes known as Z0) in the level 3391 units that were specified on the first tab. 3392 * Meridian. This is a fixed offset from UTC to which the amplitudes 3393 of the harmonic constants were calibrated. Opportunity for 3394 trouble: You have to know the right answer for the data that you 3395 received. Sometimes it will be local standard time for the 3396 location; sometimes it will be zero. The format is hours times 100 3397 plus minutes, with positive values being east of Greenwich and 3398 negative values west. 3399 * Amplitude and Epoch for many constituents. Scroll down to see all 3400 of the constituents that are supported by the harmonics file. 3401 Opportunity for trouble: Different countries sometimes use 3402 different names for the same constituents, or worse yet, use the 3403 same names for different constituents. XTide's naming scheme is 3404 just yet another one that had to deal with these ambiguities and 3405 conflicts. For the technical definitions of the constituents used 3406 in XTide's default harmonics files, refer to the [13]Congen 3407 package. 3408 3409 Importing batches of harmonic constants and offsets 3410 3411 All pretense of user-friendliness stops here. If you want to do large 3412 numbers of stations without lots of manual data entry, you have two 3413 options, both of which require a higher level of computer literacy than 3414 is demanded by tideEditor. 3415 1. The good way is to install [14]Harmbase 2 and either write an 3416 import procedure for your data format or convert your data into one 3417 of the formats that it can already import. Harmbase 2 uses 3418 [15]PostgreSQL to manage the data and merely exports to the TCD 3419 format. 3420 2. The evil way is to convert your data into the legacy .txt and .xml 3421 file formats that XTide used in the bad old days and then use 3422 [16]tcd-utils to convert that to TCD. 3423 3424 Deriving harmonic constants from water level data 3425 3426 Anyone with a Linux PC, enough determination to install [17]Octave, 3427 enough skill to convert data from one format to another, and enough 3428 data--at least a year's worth of hourly water level 3429 measurements--should be able to derive harmonic constants using the 3430 [18]Harmgen package. Harmgen produces results in the form of an SQL 3431 insert statement that loads the new station into [19]Harmbase 2 using 3432 XTide's constituent naming scheme. Those with sufficient background 3433 and a reason to do it can change the constituent set, but the new 3434 constituent definitions must be harmonized between Harmbase and 3435 Harmgen. 3436 3437 There is no added complication from multi-year time serieses. Harmgen 3438 accounts for the equilibrium arguments and node factors for each year 3439 and minimizes the error across the entire span of the time series. 3440 3441 Under the best of circumstances, predictions from harmonic constants 3442 derived this way can be expected to differ from authoritative 3443 predictions by 20 minutes or so. But if the authorities are using a 3444 nonharmonic method of tide prediction--or if you messed up--the 3445 discrepancies could be worse. It is up to you to do quality assurance. 3446 3447 Details on the operation of Harmgen can be found in that package's 3448 [20]README file. 3449 3450 List of web sites with traceable data 3451 3452 This list is probably neither complete nor current. These are just the 3453 data sources that have been brought to my attention. 3454 3455 Harmonic constants: 3456 * Italy: I had [21]this link, but I can't find anything there now. 3457 Maybe [22]here? 3458 * [23]National Ocean Service: Some locations outside of U.S. 3459 jurisdiction have historically been included along with the U.S. 3460 data. 3461 * [24]Norway (simplified harmonic constants only) 3462 * [25]Spain 3463 3464 Water level data: 3465 * [26]Canada 3466 * [27]Spain 3467 * [28]France 3468 * [29]U.K. 3469 * [30]University of Hawai`i Sea Level Center (see also [31]here or 3470 [32]here) 3471 __________________________________________________________________ 3472 3473 [33]<- Previous [34]-> Next [35]Contents 3474 3475References 3476 3477 1. https://flaterco.com/xtide/settings.html 3478 2. https://flaterco.com/xtide/bugs.html 3479 3. https://flaterco.com/xtide/xtide.html#contents 3480 4. https://flaterco.com/ 3481 5. https://flaterco.com/xtide/introduction.html 3482 6. https://flaterco.com/xtide/files.html#harmonicsfiles 3483 7. https://flaterco.com/xtide/faq.html#60 3484 8. https://flaterco.com/ 3485 9. https://flaterco.com/xtide/settings.html#infer 3486 10. https://flaterco.com/xtide/files.html#experts 3487 11. https://flaterco.com/xtide/files.html#extras 3488 12. https://flaterco.com/xtide/harmonics.html#batch 3489 13. https://flaterco.com/xtide/files.html#congen 3490 14. https://flaterco.com/xtide/files.html#harmbase 3491 15. http://www.postgresql.org/ 3492 16. https://flaterco.com/xtide/files.html#tcdutils 3493 17. https://flaterco.com/kb/Octave.html 3494 18. https://flaterco.com/xtide/files.html#harmgen 3495 19. https://flaterco.com/xtide/files.html#harmbase 3496 20. https://flaterco.com/xtide/harmgen-README.html 3497 21. http://www.apat.gov.it/site/it-IT/Servizi_del_sito/Guida/ 3498 22. http://www.minambiente.it/ 3499 23. http://tidesandcurrents.noaa.gov/ 3500 24. http://vannstand.statkart.no/Engelsk/harm.php 3501 25. http://www.puertos.es/en/oceanografia_y_meteorologia/redes_de_medida/index.html 3502 26. http://www.meds-sdmm.dfo-mpo.gc.ca/isdm-gdsi/twl-mne/index-eng.htm 3503 27. http://www.puertos.es/en/oceanografia_y_meteorologia/redes_de_medida/index.html 3504 28. http://data.shom.fr/donnees/refmar 3505 29. http://www.pol.ac.uk/ntslf/data.html 3506 30. http://uhslc.soest.hawaii.edu/ 3507 31. http://ilikai.soest.hawaii.edu/uhslc/rqds.html 3508 32. ftp://ilikai.soest.hawaii.edu/rqds/ 3509 33. https://flaterco.com/xtide/settings.html 3510 34. https://flaterco.com/xtide/bugs.html 3511 35. https://flaterco.com/xtide/xtide.html#contents 3512 3513################################################################ 3514 3515 [1]<- Previous [2]-> Next [3]Contents 3516 3517 [4]Lobster boat and the big ocean, Ogunquit, Maine, 1998-06-08. 3518 3519Quirks to be aware of 3520 3521 1. Graphs actually begin a little bit earlier than the nominal start 3522 time so that the specified start will appear immediately to the 3523 right of the labels for the depth axis instead of being obscured by 3524 them. 3525 2. The effective end time for graph and clock modes is entirely 3526 determined by the start time, the width, and the aspect. If an end 3527 time is also specified by the user, it is ignored. 3528 3. XTide uses shorter descriptions for the tide events listed across 3529 the bottom caption line in tide graphs whenever the descriptions 3530 get to be longer than the timestamps. Consequently, changing the 3531 time format setting to something more concise causes the 3532 descriptions to get shorter too, which is what you want. However, 3533 this behavior can result in cosmetic inconsistencies; e.g., with 3534 default settings, "Mark Rising" is matched by "Mark" instead of 3535 "Mark Falling," because the one additional letter puts it over. 3536 4. The -o command line switch causes output to be appended to the 3537 specified file instead of overwriting it as is the generally 3538 accepted custom. 3539 5. While XTide-specific command-line arguments can be concatenated 3540 with their switches or not, the arguments to standard X11 switches 3541 sometimes must be separate to work. Affected switches include 3542 -display, -fn, and -geometry. 3543 6. What XTide does about minimum current events at subordinate 3544 stations might not be what you expect. See [5]Appendix B for 3545 details. 3546 3547Known limitations 3548 3549 1. RGB color specs (rgb:N/N/N) in sizes other than 24 bits 3550 (rgb:hh/hh/hh) generally will not work. 3551 2. All timestamps have a precision of plus or minus one minute. 3552 3. XTide locates tide events to an accuracy of plus or minus one 3553 minute. This refers only to the prediction model, not to how well 3554 the model agrees with reality. 3555 4. URLs assigned to specific locations by the xttpd web server are 3556 rather transient and will change whenever the harmonics files are 3557 updated. The xttpd web space will remain internally consistent, 3558 but hyperlinks from outside pages will be screwed. 3559 5. The time scale for stations claiming to be in UTC is not strictly 3560 speaking UTC since it does not implement leap seconds. 3561 6. If a subordinate station has absurd offsets that cause low tides to 3562 become higher than high tides, the upper and lower bounds reported 3563 by stats mode may be incorrect. 3564 7. When specifying location names on the command line, multiple data 3565 sets having the same name cannot be distinguished, and it is not 3566 deterministic which one you will get. 3567 8. XTide is untested and probably dysfunctional on any platform where 3568 time_t is a non-integral type. It would probably still work with 3569 --enable-time-workaround. 3570 9. XTide assumes that the first 256 characters of every font agree 3571 with ISO-8859-1 (except under DOS). 3572 10. Semitransparent style makes no sense in formats that don't support 3573 opacity (text and PseudoColor X-windows). 3574 3575Known bugs 3576 3577 1. If the control panel is resized, dismissed, and then shown again, 3578 its buttons are missing. Cause of bug: Don't know. Workaround: 3579 Close the control panel using the window manager (e.g., hit the � 3580 in the upper right corner) and then show it again. The control 3581 panel retains its new size but the buttons reappear. 3582 2. Some of the dialog windows cause harmless but annoying toolkit 3583 warnings when you dismiss them. Cause of bug: Don't understand 3584 what the toolkit grabs are doing. Workaround: Ignore warnings. 3585 3. Line width in line graphs isn't maintained when the slope of the 3586 graph becomes drastic. Cause of bug: Need better algorithm for 3587 drawing line graphs. Workaround: Set the aspect higher. 3588 4. Buttons will sometimes shift out from under the mouse pointer and 3589 get "stuck on." Cause of bug: (1) button moves due to changing 3590 geometry of other things in the box, leading to (2) button shifts 3591 out from under the pointer, which triggers (3) bug in Athena 3592 Widgets where the button release event gets lost. Workaround: As 3593 needed, click on the stuck button to un-stick it. This problem can 3594 be prevented in the control panel by specifying a monospace font 3595 with the -fn switch, which avoids (1). The bug is less likely in 3596 other windows. 3597 5. The analog tide clock icon flashes when it updates, and doesn't 3598 update at all under some window managers. Alternate symptom: Tide 3599 clocks crash the window manager at random. Cause of bug: Window 3600 managers don't expect icons to keep changing and aren't designed to 3601 handle it properly. Workaround: Use a window manager that doesn't 3602 suck. 3603 6. Dialog boxes don't behave like you would expect when you hit the 3604 Enter key. Cause of bug: Athena widgets use multi-line buffers 3605 even for one-line fields. Workaround: Don't hit Enter. 3606 7. Syslog messages generated by xttpd have timestamps in UTC or random 3607 time zones instead of local time, which is highly confusing in a 3608 log that is otherwise in local time. Cause of bug: Design defect 3609 of syslog(): Every program logs in whatever time zone it happens 3610 to be using at the time instead of a standard zone. XTide needs to 3611 adopt the time zone of each station to generate predictions for 3612 it. Workaround: none. 3613 8. The location chooser depends on a station naming convention to 3614 determine which stations are currents. If that convention is not 3615 followed, dots may be drawn in the wrong color. Cause of bug: 3616 Design defect of libtcd: libtcd doesn't let you know whether you 3617 are looking at a tide station or a current station until after you 3618 load it. Workaround: Ensure that "Current" appears in the station 3619 name if it's a current, and not otherwise. 3620 9. When XTide is linked with Xaw3d or Xaw3dXft, text dialog boxes 3621 reachable from the Options menu (save filename, mark level, aspect) 3622 and control panel may have 2-color bitmap borders instead of 3623 gray-shaded borders. Cause of bug: For reasons unknown, the 3624 "threeD" widget owned by asciiTextWidget is inaccessible from the 3625 application level, preventing XTide from setting its 3626 beNiceToColormap resource to False. Workaround: Add 3627 XTide*beNiceToColormap: False to ~/.Xresources. 3628 10. When XTide is linked with Xaw3dXft and the X server's DPI is set to 3629 a value much greater than 96, lines of text in the location list 3630 window overlap each other. Cause of bug: Faulty implementation of 3631 list widget in Xaw3dXft. Workaround: Don't link with Xaw3dXft or 3632 don't use high values for DPI. 3633 __________________________________________________________________ 3634 3635 [6]<- Previous [7]-> Next [8]Contents 3636 3637References 3638 3639 1. https://flaterco.com/xtide/harmonics.html 3640 2. https://flaterco.com/xtide/faq.html 3641 3. https://flaterco.com/xtide/xtide.html#contents 3642 4. https://flaterco.com/ 3643 5. https://flaterco.com/xtide/mincurrents.html 3644 6. https://flaterco.com/xtide/harmonics.html 3645 7. https://flaterco.com/xtide/faq.html 3646 8. https://flaterco.com/xtide/xtide.html#contents 3647 3648################################################################ 3649 3650 [1]<- Previous [2]-> Next [3]Contents 3651 3652 [4]Perkins Cove, Maine, 1998-06-09 3653 3654Frequently Asked Questions 3655 3656 Note: "Mumble Foo Bar" is a made-up place that is meant to represent 3657 whatever place you are looking for. Whatever is said in this FAQ about 3658 Mumble Foo Bar applies to your location as well. 3659 3660 Ultra-high frequency questions 3661 3662 * [5]Your tide predictor web site blah blah blah... 3663 * [6]Can you send me predictions for Mumble Foo Bar? 3664 * [7]URGENT - DROP EVERYTHING AND READ THIS! The race starts in 5 3665 hours so I need a tide chart for Mumble Foo Bar NOW! 3666 * [8]The ads on your web site are driving me nuts! Is there any way 3667 to turn them off? 3668 * [9]Can you tell me where I can find a web page with predictions for 3669 Mumble Foo Bar? 3670 * [10]Can you please add predictions for Mumble Foo Bar? 3671 * [11]How do I make the calendar print all on one page? 3672 * [12]Can you tell me the offsets for Mumble Foo Bar? 3673 * [13]There are multiple listings for the same place, and they give 3674 different results. What's going on? 3675 * [14]Can you predict the tide and/or current if I give you the 3676 latitude and longitude? 3677 * [15]The coordinates you provide for Mumble Foo Bar are off by 3678 miles, or you misspelled Mumble Foo Bar. 3679 * [16]Why are there few currents in the latest database? 3680 3681 XTide operational questions 3682 3683 * [17]I want to change the graph in lots of ways, e.g., omit the 3684 location name, draw different depth lines, bunch of other stuff; 3685 how can I do this or will you add settings for it? 3686 * [18]Can I still install XTide if I do not have root? 3687 * [19]I am trying to compile XTide with an unknown version of GCC, 3688 and I had the following problems.... 3689 * [20]I am trying to install XTide on a server that my web hosting 3690 company, contractor, or employee has configured in a nonstandard 3691 way and/or not updated in years. Their support is unhelpful. 3692 Please help me to get XTide to work on this server. 3693 * [21]When compiling XTide with a modern version of GCC on a 3694 well-maintained computer, I get errors like.... 3695 * [22]What is the significance of the estimated bounds printed by 3696 stats mode? 3697 * [23]Are these predictions compliant with the new Daylight Savings 3698 Time rules for ...? 3699 * [24]I am doing some historical research and need to project what 3700 the tides would have been a long long time ago. 3701 * [25]I live outside of the U.S. and my location is no longer 3702 supported. What happened? 3703 * [26]I want to change the end time of a tide graph but the settings 3704 that I make have no effect. 3705 * [27]The text in XTide windows uses uglyfont. 3706 * [28]I applied a changed setting in the control panel, but it had no 3707 effect. 3708 * [29]When I run xttpd, it exits immediately with no errors to tell 3709 me what went wrong. 3710 * [30]I always get a warning about "using obsolete time zone 3711 database." 3712 * [31]How do I switch from tide to current predictions or vice-versa 3713 for a given location? 3714 * [32]What are bogo-knots? 3715 * [33]First it says high tide is at 3:15 PM but then when I run it 3716 again it says 3:14 PM. 3717 * [34]Has this been ported to Windows / Android / anything but Unix? 3718 * [35]Xttpd sucks! Can't XTide work with PHP? 3719 * [36]The tides for my location are totally wrong! 3720 * [37]The tides for Mumble Foo Bar are obviously bogus because they 3721 have too many high tides on this day / only one high tide on this 3722 day / tides that are just a few minutes apart. 3723 * [38]I have five constituents and some seasonal corrections for my 3724 location. Can you get this to work? 3725 3726 General tide related questions 3727 3728 * [39]I have a tide watch that only goes through the year 1999. What 3729 year could I set it to that would be the same as this year? 3730 * [40]Is there a set time advancement each day for the next high and 3731 low tide? Does it always repeat 12� hours later? 3732 * [41]Somebody gave me a tide clock, but the instructions say it only 3733 works on the east coast. How can this be? 3734 * [42]Why do the high and low tides have such different levels to 3735 them on any given day? 3736 * [43]If it's high tide here, is it low tide in [faraway place]? 3737 * [44]What does the zero (0) on a tide chart represent? 3738 * [45]Why is it that the tides two miles from here are an hour 3739 different than the tides here? 3740 * [46]Why are there two high tides per day, anyway? How is this 3741 possible? 3742 * [47]What does "slack water" mean? 3743 * [48]I have a theory that [random phenomenon] is related to tidal 3744 forces, but I am landlocked. Can you, like, predict the "tides" 3745 for [landlocked location]? 3746 * [49]I want to write my own tide predicting program. Can you 3747 provide a SIMPLE explanation of the tide-predicting function? 3748 3749 Business questions 3750 3751 * [50]I want to license XTide so I can build a commercial product 3752 around it. 3753 * [51]I have a lot of specific questions about the GNU General Public 3754 License and/or want a ruling that my specific plan is OK. 3755 * [52]I would like to talk to you concerning the use of your stuff in 3756 our upcoming product. Please call me at your convenience. 3757 [#include email legal disclaimer] 3758 * [53]I really don't understand the whole purpose of the GNU 3759 license. Why should I have to reinvent the wheel just because I 3760 won't publish my sources? 3761 * [54]We are a non-profit and we want to sell calendars with 3762 predictions from your web site. Is that OK? 3763 * [55]I have a great idea to make money selling tide predictions, but 3764 I'm not good with technical stuff, so would you just do this for 3765 me... 3766 * [56]I already make money selling tide prediction products, but your 3767 stuff is better, so would you just do this for me... 3768 * [57]I just put up a fabulous website that serves up XTide output 3769 surrounded by banner ads that make me tons of free money. Would 3770 you please link to it? 3771 * [58]Hey, that previous guy had a great idea. Would you please 3772 install XTide on my web server for me? 3773 * [59]I'm a consultant being paid to install XTide. I'm having a 3774 million problems with it, but I can't describe them accurately 3775 because I have never used Linux before. I think XTide must be 3776 really broken. Please fix all of my problems. 3777 * [60]I need to do [poorly researched brainstorm having something to 3778 do with tide prediction]--how much would you charge in consulting 3779 fees to help me do it? 3780 * [61]Congratulations! XTide has been added to some online directory 3781 of software packages. Please verify that the information on XTide 3782 is correct and keep it updated. 3783 3784 Academic questions 3785 3786 * [62]How should I cite XTide within publications? 3787 3788 Questions that you should have asked, but didn't 3789 3790 * [63]What is the difference between a reference station and a 3791 subordinate station? 3792 * [64]These predictions are nonsense--what is going on here? 3793 * [65]Where can I find tons of information about tides that is both 3794 more authoritative and better written than this FAQ? 3795 __________________________________________________________________ 3796 3797 Ultra-high frequency questions 3798 3799 Q: Your tide predictor web site blah blah blah... 3800 3801 A: I am not the maintainer of the web site you have found. I am the 3802 maintainer of [66]XTide. Although many tide-predicting web sites use 3803 some version of XTide behind the scenes, I have no control over the 3804 behavior of those web sites or their maintenance, nor do I receive any 3805 commissions from any advertising that may appear on them. The XTide 3806 software and required data are available free of charge from 3807 [67]flaterco.com/xtide/files.html, with documentation at 3808 [68]flaterco.com/xtide. 3809 3810 Q: Can you send me predictions for Mumble Foo Bar? 3811 3812 A: I cannot possibly provide this level of service to everyone who 3813 wants it. Please use a commercial service and/or a web site. 3814 3815 Q: URGENT - DROP EVERYTHING AND READ THIS! The race starts in 5 hours 3816 so I need a tide chart for Mumble Foo Bar NOW! 3817 3818 A: You might not believe it, but sometimes I go two weeks without 3819 reading my e-mail. Really! And when I do get back to it, there are 3820 always lots of messages just like this one, so far past their use-by 3821 dates that green fuzz has started to grow on them. The answer is the 3822 same: I cannot possibly provide this level of service to everyone who 3823 wants it. Please use a commercial service and/or a web site. 3824 3825 Q: The ads on your web site are driving me nuts! Is there any way to 3826 turn them off? 3827 3828 A: I am not the maintainer of the web site with which you are having a 3829 problem. I am the maintainer of the XTide software that you can get 3830 free with no ads from [69]flaterco.com/xtide. Others have profited by 3831 selling advertisements on other web sites built using my software, but 3832 I give away the software freely to anyone who will make the effort to 3833 install it, so nobody really needs to be using those web sites. 3834 3835 Q: Can you tell me where I can find a web page with predictions for 3836 Mumble Foo Bar? 3837 3838 A: 3839 * Canada: [70]Fisheries and Oceans Canada 3840 * Germany: [71]Bundesamt f�r Seeschifffahrt und Hydrographie (BSH) 3841 * Netherlands: Ministerie van Verkeer en Waterstaat--oops, there's 3842 been a reorg 3843 * New Zealand: [72]Land Information New Zealand (LINZ) 3844 * Norway: [73]Norwegian Hydrographic Service 3845 * U.K.: [74]National Tidal and Sea Level Facility (NTSLF) 3846 * U.K.: [75]U.K. Hydrographic Office 3847 * U.S.A.: [76]National Ocean Service (NOS), Center for Operational 3848 Products and Services (CO-OPS) 3849 3850 Q: Can you please add predictions for Mumble Foo Bar? 3851 3852 A: Probably not. Please read the section entitled [77]What to do if 3853 your location isn't listed. 3854 3855 Q: How do I make the calendar print all on one page? 3856 3857 A: If you are looking at a calendar in a web browser, try different 3858 scaling, fit, portrait, and landscape options in print preview until 3859 the calendar fits nicely on a page. For a more complete answer and/or 3860 instructions tailored for Linux, see [78]Appendix C. 3861 3862 Q: Can you tell me the offsets for Mumble Foo Bar? 3863 3864 A: You can get them easier than I can by checking the sources described 3865 in the section entitled [79]What to do if your location isn't listed. 3866 3867 Q: There are multiple listings for the same place, and they give 3868 different results. What's going on? 3869 3870 A: There are two different approaches to predicting the tides at a 3871 given place. One approach is to calculate them directly from a data 3872 set; when this is done it is called a "reference station." The other 3873 approach is to estimate them using adjustments to the tides at a nearby 3874 reference station; when this is done it is called a "subordinate 3875 station." 3876 3877 Data gathered from the NOAA web site sometimes include both a reference 3878 station and a subordinate station for the same place. For example, the 3879 subordinate station may be used for published tide tables while the 3880 reference station is still relatively new and untested. The results 3881 will differ, but they should be close (assuming that there are no 3882 problems with the data). If you are concerned about matching 3883 predictions up with those from some particular source, you should try 3884 each data set and see which one matches the best. 3885 3886 In rare cases, data gathered from the NOAA web site include two 3887 reference stations or two subordinate stations with exactly the same 3888 name and nearly the same location. When this happens, one of them has 3889 (2) suffixed to its name. Again, if you are trying to match official 3890 predictions, you should try both to determine which is better. 3891 3892 If you are using old legacy data or a web site that does, you may see 3893 additional listings for the same place. These may be expired and/or 3894 have dubious traceability to authoritative sources. They cannot be 3895 expected to agree with up-to-date predictions. 3896 3897 Q: Can you predict the tide and/or current if I give you the latitude 3898 and longitude? 3899 3900 A: The short answer is no. XTide cannot predict tides unless you 3901 provide harmonic constants (see [80]What to do if your location isn't 3902 listed). 3903 3904 From what I'm told, the tide models that were built from TOPEX/Poseidon 3905 data work on a global scale, but they are inaccurate on continental 3906 shelves. Some organizations have constructed models that function in 3907 coastal waters in localized regions. For example, NIWA has a [81]model 3908 for New Zealand's coastal waters, and NOAA has a model of currents in 3909 San Francisco Bay. Although XTide could make use of harmonic constants 3910 generated from these models, XTide does not implement any such models. 3911 3912 Q: The coordinates you provide for Mumble Foo Bar are off by miles, or 3913 you misspelled Mumble Foo Bar. 3914 3915 A: XTide reports coordinates in degrees only. Some sources report 3916 coordinates in degrees and minutes and run these together in a 3917 confusing way. For example, a coordinate shown as 2846.330 may 3918 actually mean 28 degrees, 46.330 minutes, which XTide would report as 3919 28.7722 degrees. 3920 3921 If that is not sufficient to explain the discrepancy, or if there is 3922 some other cosmetic problem like the location name being spelled wrong, 3923 check [82]NOAA's web site to see if the problem exists there. If it 3924 does, please report the problem to NOAA as well as me, and I will 3925 attempt to ensure that the correction is included in the next annual 3926 update. 3927 3928 Q: Why are there few currents in the latest database? 3929 3930 A: The [83]Center for Operational Oceanographic Products and Services 3931 (CO-OPS) of [84]NOAA's [85]National Ocean Service (NOS) does not 3932 presently supply harmonic constants for currents on its public web 3933 site. This text from [86]http://tidesandcurrents.noaa.gov/ncop.html 3934 may partially explain why not: 3935 3936 Approximately 70 percent of the stations in the 2001 Tidal Current 3937 Tables are over 30 years old. Many of these stations are based on 3938 analyses of less than 7 days of data (the data duration is known for 3939 24% of all stations). Channel dredging and changes in the 3940 configuration of ports and harbors over the years have significantly 3941 altered the physical oceanography of many of the nation's 3942 estuaries. Reports from local users indicate that many of NOS's 3943 tidal current predictions may be inaccurate. NOS intends to address 3944 these deficiencies by rebuilding the program and resampling the 3945 currents at every major port and estuary within the next 20 years. 3946 3947 XTide operational questions 3948 3949 Q: I want to change the graph in lots of ways, e.g., omit the station 3950 name, draw different depth lines, add more event types; how can I do 3951 this or will you add settings for it? 3952 3953 A: XTide supports a [87]fair number of options to customize the graph. 3954 However, graphing is not the core function of XTide. If complete 3955 control over graphing is important to you, you should use XTide's 3956 [88]raw and plain modes to export the raw level data and min/max 3957 predictions respectively to text files, import these into [89]R, 3958 [90]Gnuplot, or whatever is the "flavor of the month" for graphing and 3959 plotting, and then draw what you like using these more powerful tools. 3960 3961 Q: Can I still install XTide if I do not have root? 3962 3963 A: Yes. Follow the [91]installation instructions, and just use paths 3964 in your home directory instead of system-wide directories. Following 3965 is one example of how it would work if you have installed dependencies 3966 (libraries) under /home/myacct/local and wish to install xtide in the 3967 same directory tree. 3968bash$ # install harmonics file 3969bash$ tar xvf harmonics-dwf-YYYYMMDD-free.tar.xz 3970bash$ mkdir /home/myacct/local/share/xtide 3971bash$ mv harmonics-dwf-YYYYMMDD/*.tcd /home/myacct/local/share/xtide 3972bash$ # The following should go in ~/.bash_profile to make it permanent 3973bash$ export HFILE_PATH=/home/myacct/local/share/xtide 3974bash$ # compile and install XTide 3975bash$ ./configure --prefix=/home/myacct/local CPPFLAGS="-I/home/myacct/local/inc 3976lude" LDFLAGS="-L/home/myacct/local/lib -Wl,-rpath,/home/myacct/local/lib,--disa 3977ble-new-dtags" 3978bash$ make 3979bash$ make install 3980 3981 In the unlikely event that you wish to run the web interface xttpd, you 3982 will need to run it on an unprivileged port as described in [92]Running 3983 the web server. 3984 3985 Q: I am trying to compile XTide with an unknown version of GCC, and I 3986 had the following problems.... 3987 3988 A: XTide requires GCC version 4.4 or newer. Type gcc -v to find out 3989 what version you have. 3990 3991 Q: I am trying to install XTide on a server that my web hosting 3992 company, contractor, or employee has configured in a nonstandard way 3993 and/or not updated in years. Their support is unhelpful. Please help 3994 me to get XTide to work on this server. 3995 3996 A: Sorry, but no. This is a problem with the service that your web 3997 hosting company, contractor, or employee is providing; it is not an 3998 XTide problem. In my experience, working around problems on a 3999 mismanaged or merely unmaintained server is an unending game of 4000 Whac-A-Mole. Your time would be better spent searching for a more 4001 competent web hosting company, contractor, or employee. 4002 4003 Q: When compiling XTide with a modern version of GCC on a 4004 well-maintained computer, I get errors like.... 4005 4006 A: Please refer to the [93]troubleshooting section of the installation 4007 instructions. If your error is not discussed there, please email 4008 [94]dave@flaterco.com for assistance. 4009 4010 Q: What is the significance of the estimated bounds printed by stats 4011 mode? 4012 4013 A: The stats mode of XTide prints estimated upper and lower bounds that 4014 are calculated based on the 6 most significant tidal constituents 4015 simultaneously taking on their maximum and minimum possible values in 4016 the prediction model. These are not true bounds in the mathematical 4017 sense, since any station having more than 6 constituents could 4018 potentially generate predictions that exceed them. However, in 4019 practice, these estimated bounds are seldom exceeded by generated 4020 predictions. 4021 4022 Stats mode also determines and outputs the maximum and minimum 4023 predicted by the model within the span of time specified by the user. 4024 This generally provides a narrower interval, and one that is equally 4025 valid for the span of time specified. However, these bounds will vary 4026 depending on the span of time searched, while the estimated bounds are 4027 nearly constant. 4028 4029 Actual observed heights may exceed any and all bounds of the prediction 4030 model (e.g., in case of tidal surge from a hurricane). The highest and 4031 lowest water levels actually observed and recorded at a reference 4032 station during the official tidal epoch (presently 1983-2001) can be 4033 found in the Benchmark Data Sheet provided by NOS. 4034 4035 Q: Are these predictions compliant with the new Daylight Savings Time 4036 rules for ...? 4037 4038 A: XTide relies on [95]the de facto standard time zone database to 4039 handle Daylight Savings Time. XTide's results will obey the new 4040 Daylight Savings Time rules if and only if the version of zoneinfo 4041 installed is sufficiently new. See [96]System Requirements. 4042 4043 Q: I am doing some historical research and need to project what the 4044 tides at Mumble Foo Bar would have been a long long time ago. 4045 4046 A: This is generally ill-advised. 4047 4048 For years 1700 and later, you can install XTide on 64-bit Linux and run 4049 the predictions with no special effort, but without some form of 4050 validation there is no telling how large the error could be. 4051 4052 The perishability of tide data for a given location varies depending on 4053 how quickly the local topography changes. Some places go rotten in 4054 less than a decade. All locations are impacted by global sea level 4055 change, which becomes significant in less than a century. 4056 4057 Over even longer spans, the physics start to go wrong. Some of the 4058 astronomical "constants" used in the U.S. method of tide prediction 4059 really aren't constant; they change very slowly. For example, the 4060 speeds of harmonic constituents change. We are still using constant 4061 speeds that were calibrated for the year 1900. When you change the 4062 speeds of the harmonic constituents, it changes everything. As we get 4063 too far away from 1900 in either direction, eventually the model 4064 collapses and the results are garbage. As far as I know, nobody has 4065 done an analysis to determine exactly when this occurs. 4066 4067 When this happens in the future, we can just update the speeds and 4068 generate fresh harmonic constants that work within the new model. But 4069 we can't do that for historical predictions because we don't have the 4070 water level observations from that period in history to derive the 4071 harmonic constants. We have no choice but to use the physics of 1900, 4072 with data derived from observations in 2000, to extrapolate back to 4073 whenever, and hope that we haven't pushed the model too far. 4074 4075 It is technically possible to get XTide to make projections back to 1 4076 AD (see [97]Appendix A for details). However, the credibility of 4077 projections for anywhere reaches zero well before you get back to 1 4078 AD. So please don't ask for BC support. 4079 4080 Q: I live outside of the U.S. and my location is no longer supported. 4081 What happened? 4082 4083 A: Many data were purged after a legal threat from the U.K. 4084 Hydrographic Office (UKHO) in January 2001. I ended maintenance of the 4085 non-U.S. data that replaced them for different reasons in early 2012. 4086 4087 Legacy data 4088 4089 Back in the old days, the collection of hydrographic data was done 4090 almost exclusively using public funds. The resulting harmonic 4091 constants were treated as scientific results, published, and 4092 distributed on request from an international data bank. Data were 4093 shared openly, and it was not a big deal. But in the late 20th 4094 century, a wave of privatizations occurred, and harmonic constants 4095 became the intellectual property of the collecting agencies. 4096 4097 You wouldn't think it possible to "un-publish" data that were 4098 distributed with considerable freedom at one time. Nevertheless, the 4099 international data bank was abolished, the Table des Mar�es des Grands 4100 Ports du Monde was withdrawn from publication, and I was coerced into 4101 removing the associated data from the harmonics files. [And then, ten 4102 years later, the Supreme Court of the U.S. ruled 6-2 that works can be 4103 [98]removed from the public domain after the fact.] 4104 4105 Under the circumstances of privatization, it would have been reasonable 4106 to keep newly generated data secret; but to lay claim to the old data 4107 that were once shared in the spirit of scientific openness was, in my 4108 opinion, wrong. It was a disservice and dishonor to all of us who had 4109 accepted those data on good faith, maintained them, and added value to 4110 them, to end up accused of copyright infringement. I regret having 4111 spent days with my world atlas assigning coordinates and time zones to 4112 interesting faraway places, and I grieve for the knowledge that has 4113 vanished into the black hole of trade secrecy. 4114 4115 Although only the UKHO made an issue of it, the fact that they did 4116 sufficed to "poison" all of the International Hydrographic Office (IHO) 4117 and Table des Mar�es des Grands Ports du Monde (TMGPM) data for every 4118 country. We could no longer assume that we had permission to use any 4119 of them. So in January 2001, all of the data that arrived via the IHO 4120 or the TMGPM were removed from the harmonics files. 4121 4122 Renaissance and decline 4123 4124 In the years immediately following, I received cooperation from 4125 organizations in several countries to supply data or to clarify terms 4126 of use for data they had already published. Those terms allowed for 4127 free non-commercial use. That did not satisfy the [99]Debian 4128 definition of "free," so for packaging purposes, the non-U.S. data had 4129 to be segregated from the public domain U.S. data. Thus, the 4130 "non-free" harmonics file came about. 4131 4132 Contributions of otherwise unpublished data then ceased. In 2009, the 4133 harmonic constants for Germany--which, being derived from time serieses 4134 that only minimally met the requirement, were never that hot--disagreed 4135 significantly with authoritative predictions and were neither reparable 4136 nor replaceable. By that time it had become clear that maintaining the 4137 data for one country once a year was quite enough work, and I had no 4138 time left to spend on non-free data anyway. 4139 4140 In 2010, I received a message from Department of Justice, Canada that I 4141 interpreted as a polite request to beef up the warnings against 4142 commercial use of the harmonic constants I had generated. (Ironic, 4143 since I had done only a fraction of Canadian stations to begin with.) 4144 After that, however, I was frequently contacted by iPhone and Android 4145 app developers wanting someone to explain, interpret, justify, and even 4146 enforce (against their competition) the terms of use on the non-free 4147 data, or who had already appropriated the data and now wanted training 4148 in how to exploit it. I spent a lot of time telling people things that 4149 they didn't want to hear, and the number of free or open-source apps 4150 that resulted was approximately zero. 4151 4152 As a result of the combination of lack of time, commercialism, and 4153 abuses, I decided in early 2012 to officially end maintenance of the 4154 non-free data set. Anyone interested in generating new harmonic 4155 constants from published data can find information and a list of data 4156 sources [100]here. In an ideal world, the data collecting 4157 organizations themselves would publish harmonic constants directly in 4158 TCD format using the tools available from 4159 [101]https://flaterco.com/xtide/files.html. The irrational legal 4160 technicalities of how to propagate "non-free" license terms through 4161 derivative works, Linux distributions and app stores, and across 4162 national boundaries, would then become a non-issue. 4163 4164 Q: I want to change the end time of a tide graph but the settings that 4165 I make have no effect. 4166 4167 A: This is [102]Quirk #2. In graph mode, the end time is determined by 4168 the applicable width and aspect, not the other way around. Thus, 4169 neither the -e switch nor the compiled-in defpredictinterval constant 4170 have any effect in this case. In the interactive client, you can 4171 resize the window as you would any window and change the aspect from 4172 the Options menu. The applicable command-line switches are -gw for 4173 X-windows or PNG formats, -tw for text format, and -ga. For more 4174 details, refer to "[103]Customizing XTide." 4175 4176 Q: The text in XTide windows uses uglyfont. 4177 4178 A: You can change the fonts using [104]-fn, [105]-gf, and [106]-mf or 4179 the corresponding resources. However, to use FreeType fonts, XTide 4180 must be [107]built with Xaw3dXft. 4181 4182 If XTide is built with Xaw3dXft, font names given to XTide must be in 4183 fontconfig format (e.g., "Helvetica-10"); otherwise, they must be in 4184 the traditional XLFD (e.g., "-*-helvetica-*-r-*-*-10-*-*-*-*-*-*-*"). 4185 4186 Q: I applied a changed setting in the control panel, but it had no 4187 effect. 4188 4189 A: Settings made using command line switches override settings made in 4190 the control panel. In order to see an effect from changes applied in 4191 the control panel, XTide must be run without conflicting command line 4192 switches. In addition, font changes require a restart to become 4193 effective. 4194 4195 Q: When I run xttpd, it exits immediately with no errors to tell me 4196 what went wrong. 4197 4198 A: When executed, xttpd immediately disassociates itself from your 4199 terminal and starts logging all diagnostics to syslog. So look in your 4200 system logs. On an init system, you will find these someplace like 4201 /var/log or /var/adm/log. On a systemd system, you have to say (as 4202 root) journalctl -b -p debug --no-pager to dump the log. 4203 4204 Q: I always get a warning about "using obsolete time zone database." 4205 4206 A: Please see the [108]System requirements section for details of what 4207 this means and what you can do to fix it. 4208 4209 Q: How do I switch from tide to current predictions or vice-versa for a 4210 given location? 4211 4212 A: Alas, although the two are clearly connected in the physical world, 4213 they are unrelated from the perspective of XTide. Even for the same 4214 location, tide predictions and current predictions require two 4215 completely separate data sets, and rarely will you get both. If 4216 current predictions are available for a location, they will appear in 4217 the location list with the word "Current" at the end of the name. 4218 4219 Q: What are bogo-knots? 4220 4221 A: If you are still seeing bogo-knots, then you are definitely using 4222 obsolete data and an obsolete version of XTide, or accessing a web site 4223 that is using obsolete data and an obsolete version of XTide. I am not 4224 the maintainer of any such web sites, and I recommend upgrading to 4225 XTide 2, which will barf all over any harmonics files that still 4226 contain "bogo-knots." 4227 4228 Q: First it says high tide is at 3:15 PM but then when I run it again 4229 it says 3:14 PM. 4230 4231 A: XTide's precision is plus or minus one minute. The behavior that 4232 you witnessed is normal. 4233 4234 Q: Has this been ported to Windows / Android / anything but Unix? 4235 4236 A: Yes, to varying degrees. Please see the [109]ports page. 4237 4238 Q: Xttpd sucks! Can't XTide work with PHP? 4239 4240 A: A number of people have expressed interest in getting XTide to work 4241 through PHP. Thus far I have just been introducing them to each other 4242 through e-mail and waiting for cool things to happen. There is now a 4243 [110]WordPress plugin by Mir Rodr�guez. 4244 4245 Q: The tides for my location are totally wrong! 4246 4247 A: Unfortunately, there have been some problems recently with data sets 4248 being assigned the wrong meridians upstream. The symptom is that all 4249 predictions are shifted earlier or later by the same number of hours. 4250 If you can verify that this has happened by comparison with published 4251 tide tables (available at [111]http://tidesandcurrents.noaa.gov/), 4252 please report the problem for corrective action. 4253 4254 Q: The tides for Mumble Foo Bar are obviously bogus because they have 4255 too many high tides on this day / only one high tide on this day / 4256 tides that are just a few minutes apart. 4257 4258 A: That is not necessarily a problem. Some places really do have only 4259 one tide cycle per day. Others generate "extra" tides when the tidal 4260 forces align in such a way as to produce a "double" high or low tide or 4261 a temporary reversal near mid-tide. These extra tides can be 4262 arbitrarily close together. Official predictions might omit them, but 4263 XTide faithfully reports all maxima and minima that it finds. 4264 4265 Legacy data contain some data sets in which harmonic constants were 4266 generated for subordinate stations by munging the constants of a 4267 reference station. This operation was fragile and sometimes it led to 4268 spurious maxima and minima. The fix is to upgrade to the latest data, 4269 which contains no "munged" data sets. 4270 4271 Q: I have five constituents and some seasonal corrections for my 4272 location. Can you get this to work? 4273 4274 A: XTide is not presently enabled to handle seasonal corrections 4275 directly. To my knowledge, seasonal corrections are only used in 4276 publications by the British Admiralty that do not allow redistribution 4277 of data, so the value of providing better support for them in XTide 4278 would be marginal at best. However, if you have legal access to such 4279 data and are determined to use it with XTide, it may be possible to 4280 synthesize values for long-term constituents to "approximate the 4281 approximation." A spreadsheet for doing this is available from 4282 [112]https://flaterco.com/xtide/files.html#experts. 4283 4284 It might also help to enable constituent inference in XTide. This can 4285 be done from the [113]control panel or using the [114]infer setting. 4286 4287 General tide related questions 4288 4289 Q: I have a tide watch that only goes through the year 1999. What year 4290 could I set it to that would be the same as this year? 4291 4292 A: Sorry. It just doesn't work like that. 4293 4294 Q: Is there a set time advancement each day for the next high and low 4295 tide? Does it always repeat 12� hours later? 4296 4297 A: No. The 12 hour 25 minute cycle is literally only a first-order 4298 approximation. Most tide predictions involve twenty to thirty terms, 4299 and some require over a hundred. The 12:25 cycle is just the most 4300 dominant term. 4301 4302 Q: Somebody gave me a tide clock, but the instructions say it only 4303 works on the east coast. How can this be? 4304 4305 A: "Dumb" tide clocks assume that the 12 hour 25 minute cycle mentioned 4306 in the [115]previous question is a good enough approximation. For the 4307 west coast, it isn't. The following tide graphs illustrate the 4308 differences between east and west coast tides. The high and low tide 4309 times that would be indicated by a "dumb" tide clock are shown with 4310 vertical yellow lines. San Francisco shows a 2-hour discrepancy on the 4311 lower high tide. 4312 4313 Emulation of dumb tide clock for Bangor, Maine 4314 4315 Emulation of dumb tide clock for San Francisco, California 4316 4317 Q: Why do the high and low tides have such different levels to them on 4318 any given day? Does it actually coincide with the amount of pull 4319 exerted by the phase or closeness of the moon? 4320 4321 A: The tides do not coincide too closely with the moon. While the moon 4322 produces most of the force that drives them, the exact tide levels 4323 result from the sloshing around of huge amounts of water, the effects 4324 of the shape of the coastline, and things like that. 4325 4326 Q: If it's high tide here, is it low tide in [faraway place]? 4327 4328 A: It's hard to infer anything over large distances since localized 4329 effects can have a huge influence on tides. 4330 4331 Q: What does the zero (0) on a tide chart represent? 4332 4333 A: Tide heights are given relative to the "datum" which in most cases 4334 is one of several benchmarks corresponding to low tides of varying 4335 extremeness. The preferred benchmark in the U.S. is Mean Lower Low 4336 Water (MLLW). The odds of the predicted tide getting below MLLW on any 4337 given day are about half. The preferred benchmark in the Netherlands 4338 is Mean Low Water Springs (MLWS). MLWS is lower than MLLW. The 4339 predicted tide will get below MLWS on average only about twice a 4340 month. The preferred benchmark in Germany is Lowest Astronomical Tide 4341 (LAT). LAT is the lowest tide predicted over a 19 year period. The 4342 predicted tide will not get below LAT in that 19 year period, and is 4343 unlikely to get below it by any significant amount ever. 4344 4345 In harmonics-dwf, some U.S. locations for which a MLLW benchmark was 4346 unavailable use an estimated value of MLLW that is derived from the 4347 predictions. These estimates tend to yield predictions that differ 4348 from National Ocean Service published tables by (0.1 to 0.2) ft. Older 4349 versions of harmonics-dwf used LAT for these stations, which of course 4350 yielded much larger discrepancies. 4351 4352 For more information on datums, read the National Ocean Service 4353 publication [116]Tidal Datums and their Applications. 4354 4355 Q: Why is it that the tides two miles from here are an hour different 4356 than the tides here? If the tidal bulge follows the moon at 1,000 4357 miles per hour, how can the difference be so great? 4358 4359 A: When the water tries to follow the moon, it runs up against a lot of 4360 obstacles, including its own inertia, the shape of the coastline, and 4361 the resonances that are set up by the continual tidal motion. In some 4362 cases the tides are fighting a permanent current, e.g., going up a 4363 river, and this slows down the tidal crest. The result is that the 4364 tides at any one place at any given time don't have a whole lot to do 4365 with the moon any more. 4366 4367 Q: Why are there two high tides per day, anyway? How is this possible? 4368 4369 A: The standard simple answer to this question is that the water on the 4370 side of the earth opposite the moon bulges out due to decreased lunar 4371 gravity in the same way that the water on the side of the earth nearest 4372 the moon bulges out due to increased lunar gravity. This is 4373 counter-intuitive in that one might expect all of the water to just 4374 rush over to the side where the moon is. To explain this, I quote from 4375 "Our Restless Tides," a NOAA tutorial at 4376 [117]http://tidesandcurrents.noaa.gov/restles1.html: 4377 4378 To all outward appearances, the moon revolves around the earth, but 4379 in actuality, the moon and earth revolve together around their 4380 common center of mass, or gravity. The two astronomical bodies are 4381 held together by gravitational attraction, but are simultaneously 4382 kept apart by an equal and opposite centrifugal force produced by 4383 their individual revolutions around the center-of-mass of the 4384 earth-moon system. This balance of forces in orbital revolution 4385 applies to the center-of-mass of the individual bodies only. At the 4386 earth's surface, an imbalance between these two forces results in 4387 the fact that there exists, on the hemisphere of the earth turned 4388 toward the moon, a net (or differential) tide-producing force which 4389 acts in the direction of the moon's gravitational attraction, or 4390 toward the center of the moon. On the side of the earth directly 4391 opposite the moon, the net tide-producing force is in the direction 4392 of the greater centrifugal force, or away from the moon. 4393 4394 Q: What does "slack water" mean? 4395 4396 A: This and many other terms are defined in the [118]NOAA tide 4397 glossary. 4398 4399 Q: I have a theory that [random phenomenon] is related to tidal forces, 4400 but I am landlocked. Can you, like, predict the "tides" for 4401 [landlocked location]? 4402 4403 A: There is no support for this in XTide (ocean tides have only the 4404 vaguest connection to latitude, longitude, and the position of the 4405 moon), but you can find relevant information by searching the web for 4406 "land tide." 4407 4408 Q: I want to write my own tide predicting program. Can you provide a 4409 SIMPLE explanation of the tide-predicting function? 4410 4411 A: The tide prediction function is fairly simple, requiring only a 4412 cosine function. The piles of code surrounding it in XTide are to 4413 optimize the process of finding maxima and minima. This can be done 4414 less optimally with significantly less code and effort (as early 4415 versions of XTide did). 4416 4417 Here is the BASIC pseudocode to generate the tide height or current 4418 velocity for a specified time point: 4419 4420 Height = Datum 4421 for a = 1 to numconst 4422 Height = Height + amplitude[a] * nodefactor[a] * cos (speed[a] * 4423 time + eqarg[a] - phase[a]) 4424 next a 4425 4426 The different quantities referenced are: 4427 * From the data set for a station: 4428 + The Datum--also called Z0--is a constant that is provided with 4429 each data set to calibrate the heights of tides relative to 4430 [119]whatever is considered to be "zero," or to calibrate the 4431 velocities of currents against an actual velocity of zero. 4432 Without this constant term, the results of the equation would 4433 have a range centered on zero. It is provided in units of 4434 length for tides or units of velocity for currents. 4435 + amplitude[a] is the first of two values given for each 4436 constituent in a data set. It is provided in units of length 4437 for tides or units of velocity for currents. 4438 + phase[a]--also called the epoch--is the second of two values 4439 given for each constituent in a data set, and is expressed in 4440 angular units (degrees, radians, or cycles). 4441 * Global values not contained in the data set for a station: 4442 + speed[a] is the frequency of the constituent, often expressed 4443 in degrees per solar hour, but possibly in cycles per hour or 4444 even (gasp!) hertz. 4445 + nodefactor[a], the node factor, is an amplitude multiplier 4446 given for each constituent to adjust for long-term effects on 4447 the amplitudes. In the U.S. system, these are tabulated on a 4448 yearly basis, so you could write it as nodefactor[a][year]. 4449 Elsewhere, they are usually generated at a finer granularity 4450 or on demand for the middle of the prediction interval chosen. 4451 + eqarg[a], the equilibrium argument, is a phase adjustment 4452 given in angular units for each constituent to adjust for 4453 long-term effects on the phases. They are tabulated on a 4454 yearly basis. 4455 * Time, of course, is relative. If speed is in degrees or radians 4456 per X, then time is in X since the beginning of the year. What 4457 constitutes the beginning of the year depends on the meridian of 4458 the data set. The phases are calibrated such that time is measured 4459 from January 1 00:00 in the time zone specified by the meridian. 4460 Traditionally, the meridian is chosen to be the local standard time 4461 of the location in question to make life easier on simple tide 4462 prediction programs that don't mess with time zones or summer time 4463 adjustments. However, these days it is simpler to calibrate 4464 everything to UTC so that all the meridians are zero, and let the 4465 tide prediction program apply time zones after the fact. 4466 4467 The speeds, equilibrium arguments, and node factors for arbitrary 4468 constituents and time periods can be generated using [120]Congen. 4469 4470 Business questions 4471 4472 Q: I want to license XTide so I can build a commercial product around 4473 it. 4474 4475 A: XTide is released under the terms of the GNU General Public 4476 License. [121]This FAQ about the GPL may be applicable to you. 4477 4478 XTide has been used by commercial packages "at arm's length," to use 4479 the wording of the FAQ cited above, but I have never licensed it by any 4480 terms other than the GPL, nor have I ever offered any kind of warranty 4481 or service that one might expect if it were licensed commercially. 4482 4483 PLEASE NOTE: The question whether you can use XTide is completely 4484 separate from the question of whether you can use the tide data 4485 (harmonics files). In general, data for U.S. ports are public domain, 4486 while others are for non-commercial use only or subject to restrictive 4487 copyright. [122]Read the boilerplate for details. 4488 4489 Q: I have a lot of specific questions about the GNU General Public 4490 License and/or want a ruling that my specific plan is OK. 4491 4492 A: Please read the GPL FAQ, available [123]here. If that does not 4493 answer your question, the people to ask are at [124]licensing@fsf.org. 4494 4495 Q: I would like to talk to you concerning the use of your stuff in our 4496 upcoming product. Please call me at your convenience. [#include email 4497 legal disclaimer] 4498 4499 A: Your questions have already been answered [125]here and maybe 4500 [126]here. There is nothing else to talk about. 4501 4502 Q: I really don't understand the whole purpose of the GNU license. Why 4503 should I have to reinvent the wheel just because I won't publish my 4504 sources? 4505 4506 A: XTide is free software. The GPL gives you the choice between 4507 respecting that freedom and passing it on, or reinventing the wheel. 4508 Some additional background on the rationale behind the GPL is available 4509 from the [127]Free Software Foundation. 4510 4511 Q: We are a not-for-profit organization and we want to sell calendars 4512 with predictions from your web site. Is that OK? 4513 4514 A: Firstly, it's not my web site. See [128]Question 1. Secondly, all 4515 predictions for places outside the U.S. are for non-commercial use only 4516 (i.e. you can't sell them no matter what your tax status is). Lastly, 4517 if you do want to sell calendars containing predictions for the U.S., 4518 you must include all of the "NOT FOR NAVIGATION" disclaimers and agree 4519 to accept full liability in case someone has a problem. 4520 4521 Legalities aside, my opinion has always been that people who are 4522 selling tide predictions have no business selling anything that is not 4523 directly certified by the [129]National Ocean Service. Beggars can't 4524 be choosers, but when people are paying for something, they have a 4525 right to hold you to a higher standard. 4526 4527 Q: I have a great idea to make money selling tide predictions, but I'm 4528 not good with technical stuff, so would you just do this for me... 4529 4530 A: No. 4531 4532 Q: I already make money selling tide prediction products, but your 4533 stuff is better, so would you just do this for me... 4534 4535 A: No. 4536 4537 Q: I just put up a fabulous website that serves up XTide output 4538 surrounded by banner ads that make me tons of free money. Would you 4539 please link to it? 4540 4541 A: No. 4542 4543 Q: Hey, that previous guy had a great idea. Would you please install 4544 XTide on my web server for me? 4545 4546 A: No. 4547 4548 Q: I'm a consultant being paid to install XTide. I'm having a million 4549 problems with it, but I can't describe them accurately because I have 4550 never used Linux before. I think XTide must be really broken. Please 4551 fix all of my problems. 4552 4553 A: Sorry, I can't do that by email. 4554 4555 Q: I need to do [poorly researched brainstorm having something to do 4556 with tide prediction]--how much would you charge in consulting fees to 4557 help me do it? 4558 4559 A: It's moot. Your plan won't work for one or more of the following 4560 reasons: 4561 * You think that it's possible to predict tides for arbitrary 4562 locations based on just the latitude and longitude. It's not. 4563 * The harmonic constants that you plan to use are either unobtainable 4564 or encumbered in ways that make what you want to do with them 4565 illegal. 4566 * You think that harmonic constants can be burned into the firmware 4567 of an embedded device and never need maintenance. They can't be; 4568 they need to be updated regularly. 4569 * You think that you can cut corners with a simple tide clock and 4570 still get tide predictions that match those published by NOAA. You 4571 can't. 4572 4573 Q: Congratulations! XTide has been added to some online directory of 4574 software packages. Please verify that the information on XTide is 4575 correct and keep it updated. 4576 4577 A: Congratulations! No. You do it. 4578 4579 Academic questions 4580 4581 Q: How should I cite XTide within publications? 4582 4583 A: The web site is the best thing you can cite. For a general 4584 reference to XTide, I suggest the following, with the current date. 4585 4586 [1] David Flater. XTide. https://flaterco.com/xtide/. 4587 2005-07-04. 4588 4589 If you are using specific predictions from XTide rather than just XTide 4590 in general, then you should cite the specific version of XTide and the 4591 specific data file that you used. In this case, it would be 4592 appropriate to use the date indicated in the changelog for that version 4593 of XTide and the revision date of the data file. 4594 4595 [2] David Flater. XTide version 2.8.2. 4596 https://flaterco.com/xtide/. 2005-01-06. 4597 4598 [3] harmonics-dwf-2005-06-05-v2. Available from 4599 https://flaterco.com/xtide/files.html, 2005-06-05. 4600 4601 Questions that you should have asked, but didn't 4602 4603 Q: What is the difference between a reference station and a subordinate 4604 station? 4605 4606 A: The following information was copied from [130]NOAA's web site on 4607 2007-02-17. 4608 4609 The publication of full daily tide predictions is necessarily 4610 limited to a comparatively small number of stations. These stations 4611 are referred to as "reference stations". Tide predictions for more 4612 than 3000 other locations, referred to as "subordinate stations", 4613 can be obtained by applying specific differences to the daily tide 4614 predictions for one of the reference stations. [...] 4615 4616 Caution: The time differences and height ratios used to calculate 4617 predictions at subordinate stations are derived from a comparison of 4618 simultaneous tide observations at the subordinate station and its 4619 reference station. Because these adjustments are constant, they may 4620 not always provide for the daily variations in the actual tides, 4621 especially if the subordinate station is some distance from the 4622 reference station. Therefore, although the application of time 4623 differences and height ratios will generally provide reasonably 4624 accurate approximations, they cannot result in predictions as 4625 accurate as those listed for the reference stations, which are based 4626 on much larger periods of analysis. 4627 4628 In plain language, what you need to know is this: All subordinate 4629 station predictions are approximate. Tide predictions are always at 4630 best approximations of reality, but for subordinate stations that goes 4631 double. 4632 4633 Q: These predictions are nonsense--what is going on here? 4634 4635 Tide graph with a weird zigzag 46362007-02-14 12:57 PM AKST 3.46 feet High Tide 46372007-02-14 3:00 PM AKST Moonset 46382007-02-14 7:08 PM AKST Sunset 46392007-02-14 9:06 PM AKST -0.38 feet Low Tide 46402007-02-15 6:46 AM AKST 3.08 feet Low Tide 46412007-02-15 7:00 AM AKST 2.62 feet High Tide 46422007-02-15 9:07 AM AKST Moonrise 46432007-02-15 9:22 AM AKST Sunrise 46442007-02-15 1:46 PM AKST 3.46 feet High Tide 4645 4646 Current graph with weird double-flood 46472004-03-31 5:01 AM PST -0.64 knots Max Ebb 46482004-03-31 5:49 AM PST Sunrise 46492004-03-31 10:06 AM PST 0.02 knots Max Flood 46502004-03-31 10:18 AM PST 0.00 knots Slack, Flood Begins 46512004-03-31 11:21 AM PST -0.00 knots Slack, Ebb Begins 46522004-03-31 1:01 PM PST Moonrise 46532004-03-31 4:13 PM PST -0.90 knots Max Ebb 4654 4655 These are extreme examples of what can happen when the time differences 4656 and height ratios for subordinate stations don't "provide for the daily 4657 variations in the actual tides." Although in the average case the 4658 offsets might yield good results, in extreme cases they can yield 4659 nonsense results like tide events happening in an impossible order or a 4660 "low" tide actually being higher than the "high" tide right next to 4661 it. There is nothing XTide can do to rationalize these paradoxes, and 4662 the tide levels that are interpolated between paradoxical events are 4663 essentially garbage. 4664 4665 Q: Where can I find tons of information about tides that is both more 4666 authoritative and better written than this FAQ? 4667 4668 A: [131]https://tidesandcurrents.noaa.gov/education.html 4669 __________________________________________________________________ 4670 4671 [132]<- Previous [133]-> Next [134]Contents 4672 4673References 4674 4675 1. https://flaterco.com/xtide/bugs.html 4676 2. https://flaterco.com/xtide/design.html 4677 3. https://flaterco.com/xtide/xtide.html#contents 4678 4. https://flaterco.com/ 4679 5. https://flaterco.com/xtide/faq.html#5 4680 6. https://flaterco.com/xtide/faq.html#40 4681 7. https://flaterco.com/xtide/faq.html#45 4682 8. https://flaterco.com/xtide/faq.html#OaV 4683 9. https://flaterco.com/xtide/faq.html#20 4684 10. https://flaterco.com/xtide/faq.html#10 4685 11. https://flaterco.com/xtide/faq.html#onepage 4686 12. https://flaterco.com/xtide/faq.html#50 4687 13. https://flaterco.com/xtide/faq.html#duplicates 4688 14. https://flaterco.com/xtide/faq.html#51 4689 15. https://flaterco.com/xtide/faq.html#100 4690 16. https://flaterco.com/xtide/faq.html#nocurrents 4691 17. https://flaterco.com/xtide/faq.html#exgraph 4692 18. https://flaterco.com/xtide/faq.html#noroot 4693 19. https://flaterco.com/xtide/faq.html#ancient 4694 20. https://flaterco.com/xtide/faq.html#VPS 4695 21. https://flaterco.com/xtide/faq.html#90 4696 22. https://flaterco.com/xtide/faq.html#maxmin 4697 23. https://flaterco.com/xtide/faq.html#DST 4698 24. https://flaterco.com/xtide/faq.html#HistoricalPredictions 4699 25. https://flaterco.com/xtide/faq.html#60 4700 26. https://flaterco.com/xtide/faq.html#92 4701 27. https://flaterco.com/xtide/faq.html#93 4702 28. https://flaterco.com/xtide/faq.html#ctrlpan 4703 29. https://flaterco.com/xtide/faq.html#95 4704 30. https://flaterco.com/xtide/faq.html#100 4705 31. https://flaterco.com/xtide/faq.html#110 4706 32. https://flaterco.com/xtide/faq.html#130 4707 33. https://flaterco.com/xtide/faq.html#140 4708 34. https://flaterco.com/xtide/faq.html#150 4709 35. https://flaterco.com/xtide/faq.html#php 4710 36. https://flaterco.com/xtide/faq.html#210 4711 37. https://flaterco.com/xtide/faq.html#220 4712 38. https://flaterco.com/xtide/faq.html#250 4713 39. https://flaterco.com/xtide/faq.html#52 4714 40. https://flaterco.com/xtide/faq.html#170 4715 41. https://flaterco.com/xtide/faq.html#DumbTideClock 4716 42. https://flaterco.com/xtide/faq.html#160 4717 43. https://flaterco.com/xtide/faq.html#180 4718 44. https://flaterco.com/xtide/faq.html#190 4719 45. https://flaterco.com/xtide/faq.html#200 4720 46. https://flaterco.com/xtide/faq.html#230 4721 47. https://flaterco.com/xtide/faq.html#240 4722 48. https://flaterco.com/xtide/faq.html#255 4723 49. https://flaterco.com/xtide/faq.html#260 4724 50. https://flaterco.com/xtide/faq.html#55 4725 51. https://flaterco.com/xtide/faq.html#56 4726 52. https://flaterco.com/xtide/faq.html#RTFL 4727 53. https://flaterco.com/xtide/faq.html#DNU 4728 54. https://flaterco.com/xtide/faq.html#calendar 4729 55. https://flaterco.com/xtide/faq.html#54 4730 56. https://flaterco.com/xtide/faq.html#300 4731 57. https://flaterco.com/xtide/faq.html#OaV2 4732 58. https://flaterco.com/xtide/faq.html#OaV3 4733 59. https://flaterco.com/xtide/faq.html#notQualified 4734 60. https://flaterco.com/xtide/faq.html#667 4735 61. https://flaterco.com/xtide/faq.html#directory 4736 62. https://flaterco.com/xtide/faq.html#cite 4737 63. https://flaterco.com/xtide/faq.html#refsub 4738 64. https://flaterco.com/xtide/faq.html#timewarp 4739 65. https://flaterco.com/xtide/faq.html#NOAA_education 4740 66. https://flaterco.com/xtide/index.html 4741 67. https://flaterco.com/xtide/files.html 4742 68. https://flaterco.com/xtide/index.html 4743 69. https://flaterco.com/xtide/index.html 4744 70. http://www.waterlevels.gc.ca/eng/data 4745 71. http://www.bsh.de/en/Marine_data/Forecasts/Tides/index.jsp 4746 72. http://www.linz.govt.nz/hydro/tidal-info/tide-tables 4747 73. http://kartverket.no/en/sehavniva/ 4748 74. http://www.ntslf.org/ 4749 75. http://easytide.ukho.gov.uk/EasyTide/EasyTide/index.aspx 4750 76. http://tidesandcurrents.noaa.gov/tide_predictions.html 4751 77. https://flaterco.com/xtide/harmonics.html 4752 78. https://flaterco.com/xtide/pound_to_fit.html 4753 79. https://flaterco.com/xtide/harmonics.html 4754 80. https://flaterco.com/xtide/harmonics.html 4755 81. http://www.niwa.co.nz/services/online-services/tide-forecaster 4756 82. http://tidesandcurrents.noaa.gov/ 4757 83. http://tidesandcurrents.noaa.gov/ 4758 84. http://www.noaa.gov/ 4759 85. http://oceanservice.noaa.gov/ 4760 86. http://tidesandcurrents.noaa.gov/ncop.html 4761 87. https://flaterco.com/xtide/settings.html 4762 88. https://flaterco.com/xtide/modes.html 4763 89. https://www.r-project.org/ 4764 90. http://www.gnuplot.info/ 4765 91. https://flaterco.com/xtide/installation.html 4766 92. https://flaterco.com/xtide/xttpd.html 4767 93. https://flaterco.com/xtide/installation.html#trouble 4768 94. mailto:dave@flaterco.com 4769 95. http://www.iana.org/time-zones 4770 96. https://flaterco.com/xtide/sysreq.html#TZsysreq 4771 97. https://flaterco.com/xtide/time_t.html 4772 98. http://en.wikipedia.org/wiki/Golan_v._Holder 4773 99. http://www.debian.org/doc/debian-policy/ch-archive.html#s-dfsg 4774 100. https://flaterco.com/xtide/harmonics.html#harmgen 4775 101. https://flaterco.com/xtide/files.html 4776 102. https://flaterco.com/xtide/bugs.html 4777 103. https://flaterco.com/xtide/settings.html 4778 104. https://flaterco.com/xtide/settings.html#fn 4779 105. https://flaterco.com/xtide/settings.html#gf 4780 106. https://flaterco.com/xtide/settings.html#mf 4781 107. https://flaterco.com/xtide/installation.html#Xaw3dXft 4782 108. https://flaterco.com/xtide/sysreq.html 4783 109. https://flaterco.com/xtide/ports.html 4784 110. http://www.almanaqueazul.org/?p=132 4785 111. http://tidesandcurrents.noaa.gov/ 4786 112. https://flaterco.com/xtide/files.html#experts 4787 113. https://flaterco.com/xtide/advanced.html#cp 4788 114. https://flaterco.com/xtide/settings.html#infer 4789 115. https://flaterco.com/xtide/faq.html#170 4790 116. https://flaterco.com/files/xtide/tidal_datums_and_their_applications.pdf 4791 117. http://tidesandcurrents.noaa.gov/restles1.html 4792 118. https://flaterco.com/files/xtide/glossary2.pdf 4793 119. https://flaterco.com/xtide/faq.html#190 4794 120. https://flaterco.com/xtide/files.html#congen 4795 121. http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem 4796 122. https://flaterco.com/xtide/harmonics_boilerplate.txt 4797 123. http://www.gnu.org/licenses/gpl-faq.html 4798 124. mailto:licensing@fsf.org 4799 125. https://flaterco.com/xtide/disclaimer.html 4800 126. http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem 4801 127. http://www.fsf.org/about/what-is-free-software 4802 128. https://flaterco.com/xtide/faq.html#5 4803 129. http://oceanservice.noaa.gov/ 4804 130. http://tidesandcurrents.noaa.gov/t2help.html 4805 131. https://tidesandcurrents.noaa.gov/education.html 4806 132. https://flaterco.com/xtide/bugs.html 4807 133. https://flaterco.com/xtide/design.html 4808 134. https://flaterco.com/xtide/xtide.html#contents 4809 4810################################################################ 4811 4812 [1]<- Previous [2]-> Next [3]Contents 4813 4814 [4]Sunset over the bar, Bar Harbor, Maine, 1997-06-24 4815 4816Design notes 4817 4818 Principles 4819 4820 As originally codified: 4821 * Portability 4822 + The scope is all "reasonably modern" flavors of Unix, X11, and 4823 C++. 4824 + Limit language features to those that reliably compile. 4825 + Respect the holy mantra "./configure; make; make install". 4826 + Allow trivial workarounds for platform- and 4827 distribution-specific bugs or special requirements. 4828 + Disallow nontrivial workarounds and those that conflict with 4829 correct operation on non-broken platforms. 4830 * Availability 4831 + Limit hard dependencies on external tools and libraries to 4832 those that are typically pre-installed. 4833 * Usability 4834 + Maximize orthogonality of settings and switches. 4835 + Support both interactive and non-interactive use. 4836 + Command-line switches should be no more than two characters 4837 long. 4838 * Maintainability 4839 + Accept no bogus patches. 4840 + Maximize orthogonality of modules. 4841 * Stability 4842 + Accept no bogus patches. 4843 + Use no unstable tools or libraries. 4844 + If it ain't broke, don't fix it. 4845 + If it damages usability or maintainability, it's considered 4846 broke. 4847 + Do not merely deprecate that which deserves to be deleted. 4848 4849 As it happened: 4850 * Portability 4851 + Within the original scope, no Unix but Linux and no compiler 4852 but GCC gets much testing anymore. 4853 + Scope creep: the workarounds that are included to allow 4854 building the command-line client with Visual Studio are 4855 ridiculous. 4856 + Building libxtide for Android required few source code changes 4857 but plenty of autoconf tricks. 4858 * Usability 4859 + The font settings are context-sensitive. 4860 * Maintainability 4861 + I have accepted some bogus patches and made them work, but no 4862 more. 4863 + Font and character set handling has become totally 4864 non-orthogonal because every context is different. 4865 * Stability 4866 + libXaw3dXft has been unstable (every update breaks the XTide 4867 build, but there are no version defines to check). 4868 + The -ns and -nf switches are deprecated but deserve to be 4869 deleted. 4870 4871 Harmonics files 4872 4873 XTide has a long history of harmonics file woes and has been through 4874 four different file formats trying to solve them. 4875 4876 Readable Extensible Efficient Available 4877 TXT X X 4878 XML X X 4879 SQL X X 4880 TCD1 X X 4881 TCD2 X X X 4882 4883 XTide 1 used a nice, human-readable text format (harmonics.txt) but it 4884 was neither efficient nor extensible. New fields that were really, 4885 really necessary got wedged in as "hot comments," initiating a long 4886 downhill slide into architectural chaos. 4887 4888 Unwisely, XTide 2 perpetuated the harmonics.txt format but added a new, 4889 extensible XML format for subordinate stations only (offsets.xml). It 4890 was anticipated that one of two things would eventually happen: either 4891 a reasonably functional and stable SQL database would become standard 4892 issue with the average Unix, obviating the need to avoid that external 4893 dependency, or harmonics.txt would go away and all stations would be 4894 done in extensible XML. Neither one happened. Migration to XML was 4895 put off repeatedly because it would exacerbate the performance 4896 bottleneck. 4897 4898 Everybody suffered with the lousy performance until Jan Depner proposed 4899 to implement a binary format (TCD). TCD1 fixed the performance problem 4900 but the extensibility problem persisted. New fields could be added 4901 with just minor changes to libtcd, but then you needed to recompile the 4902 world. Old versions of XTide couldn't read new harmonics files after 4903 fields were added. This had a major chilling effect on all development 4904 that would have required new fields. 4905 4906 TCD2 (a major, incompatible revision) emptied the queue of incompatible 4907 changes but also added a field whose content is extension fields 4908 encoded as text. Adding fields this way is not as efficient as adding 4909 new binary fields, but it avoids the need to make an incompatible 4910 revision over small stuff. The option to add new binary fields and 4911 bump the major rev remains open should that become necessary. 4912 4913 Unfortunately, as I forget who once observed, "The worst enemy of the 4914 great is the barely good enough." Among the downstream user community, 4915 the obsolete and hopeless .txt and .xml formats refuse to die. 4916 4917 Known problems 4918 4919 Consensus is that the XTide source code does a miserable job of 4920 separating the user interfaces from the reusable tide-prediction 4921 logic. As of XTide 2.14 the common files have at least been bundled 4922 into a library that can be built upon without making too much of a 4923 mess. However, the XML parser still protrudes into the global 4924 namespace, conflicting with any other lex/yacc type parser that the app 4925 might want to link with. 4926 4927 Lots of serious design problems were fixed in refactorings beginning 4928 with version 2.7 (early 2004) and continuing through version 2.9. 4929 Remaining minor problems: 4930 1. The interface with X11 is still weird, especially bootstrapping. 4931 2. The analog tide clock icon caused more problems (with buggy window 4932 managers) than it was worth. 4933 3. URLs assigned to prediction pages by the web server should probably 4934 be based on the harmonics file name and the location name rather 4935 than a transient "row ID." 4936 4. Constituent inference was patched in via libtcd and maybe could 4937 have been integrated better. In theory, you might want to control 4938 it on a station-by-station basis like preferred units, and it 4939 probably should not require a station reload to turn it on or off. 4940 5. Graph and calendar modes are implemented by transient classes. 4941 These are not proper objects, but they are too complicated to be 4942 implemented with methods alone. 4943 6. libtcd doesn't let you know whether you are looking at a tide 4944 station or a current station until after you load it. 4945 7. The mechanism that XTide 2.13 and later use to get client side 4946 fonts for use in tide graphs is an abomination. 4947 8. Calendar mode needs an "extended subset" of the settings that every 4948 other mode uses. 4949 9. Application-specific error messages don't belong in libxtide. 4950 10. Graph mode is a bottomless source of requests for more settings to 4951 customize it. 4952 4953 C++ feature footprint 4954 4955 At the time XTide 2 was developed, the fancier features of C++ such as 4956 the Standard Template Library (STL) and exceptions did not work in a 4957 portable fashion among the commonly available compilers, so their use 4958 was avoided. Similarly, [5]Qt and other free alternatives to Motif 4959 were not widely available, so Athena Widgets were used. The resulting 4960 interface may seem [6]primitive by today's standards, but it still 4961 works. 4962 4963 By the time of the 2.7 refactorings, the STL appeared to be stable and 4964 widely available, so standard templates were introduced where 4965 appropriate to simplify new code. Old code was not STLified until the 4966 Great Cleanup of 2006 (XTide 2.9). 4967 4968 The long long int data type was introduced in XTide 2.6 as part of the 4969 changes to handle dates before 1970 and after 2037. Nobody complained. 4970 4971 Streams were expunged from XTide 2.6 after compilers started 4972 deprecating XTide's use of them. In XTide, C++ streams did not add 4973 value versus plain old C I/O, but this is not the case for every 4974 application. 4975 4976 The bool data type was introduced in XTide 2.9. C++11 extended 4977 initializer lists were used in new code in XTide 2.13, but made 4978 optional in XTide 2.13.1 because of continued non-support in Visual 4979 Studio 2012. 4980 4981 Exceptions are still not used, but should be. The bounds-checking 4982 operation[] of SafeArray should be replaced with the now-standard at() 4983 function. 4984 4985 Coding conventions 4986 4987 A uniform coding convention was imposed in XTide 2.9 (year 2006). See 4988 the file CodingConventions.txt included in the distribution tarball. 4989 As of 2012, particularly with the issuance of C++11, it has become 4990 problematically obsolete in some areas. 4991 4992 Paths not taken 4993 4994 * There ought to be a way to specify relative dates and times in the 4995 -b and -e fields. Need an applicable standard; ISO 8601 doesn't 4996 support it. 4997 * Generate maps for xttpd navigation and general illustration, 4998 include in LaTeX form. 4999 * Several people have asked for a line in text listings for the 5000 current time, like "2001-03-19 11:50 AM PST 0.10 feet Falling," but 5001 it's not clear what the settings and behaviors should be to handle 5002 the "now" event consistently across all modes. Graphs and clocks 5003 have their own ways of showing the "now," and it would be 5004 inappropriate to include "now" in a calendar. 5005 * Most tide prediction software generates node factors and 5006 equilibrium arguments monthly or at least does it for the middle of 5007 your prediction interval, but the legacy of SP98 is to do it 5008 yearly. 5009 * Doodson style tide prediction as used by Godin/Foreman's IOS 5010 package: 5011 1. No new Doodson data appear to be forthcoming. 5012 2. Most Doodson constituents are approximated fairly well by 5013 Congen. The ones that aren't approximated well are those that 5014 are drastically affected by latitude. To support 5015 latitude-dependent constituents, node factors and equilibrium 5016 arguments would have to be generated internally to XTide, 5017 which would be a significant architectural change. [Casement 5018 opined that the latitude-dependent method is bogus anyway 5019 because tides are generated someplace in mid-ocean with a 5020 different latitude.] 5021 3. If you want IOS, then use IOS. 5022 __________________________________________________________________ 5023 5024 [7]<- Previous [8]-> Next [9]Contents 5025 5026References 5027 5028 1. https://flaterco.com/xtide/faq.html 5029 2. https://flaterco.com/xtide/credits.html 5030 3. https://flaterco.com/xtide/xtide.html#contents 5031 4. https://flaterco.com/ 5032 5. https://www.qt.io/ 5033 6. http://www.catb.org/~esr/jargon/html/S/stone-knives-and-bearskins.html 5034 7. https://flaterco.com/xtide/faq.html 5035 8. https://flaterco.com/xtide/credits.html 5036 9. https://flaterco.com/xtide/xtide.html#contents 5037 5038################################################################ 5039 5040 [1]<- Previous [2]-> Next [3]Contents 5041 5042 [4]Moonrise over Marginal Way 5043 5044Bibliography 5045 5046 Canonical sources on the NOS tide prediction methodology (including a 5047 mathematical explanation from first principles in SP98): 5048 5049 [5]Manual of Harmonic Analysis and Prediction of Tides. Special 5050 Publication No. 98, Revised (1940) Edition (reprinted 1958 with 5051 corrections; reprinted again 1994). United States Government 5052 Printing Office, 1994. Downloaded from [6]NOAA Central Library via 5053 [7]NOAA's Historical Map & Chart Collection, 2015-04-27. 5054 5055 [8]Computer Applications to Tides in the National Ocean Survey. 5056 Supplement to Manual of Harmonic Analysis and Prediction of Tides 5057 (Special Publication No. 98). National Ocean Service, National 5058 Oceanic and Atmospheric Administration, U.S. Department of Commerce, 5059 January 1982. Downloaded from [9]NOS, 2016-12-18. 5060 5061 Miscellaneous publications available from 5062 [10]https://flaterco.com/xtide/files.html#pubs: 5063 5064 [11]Tide and Current Glossary. National Ocean Service, January 5065 2000. Downloaded from [12]NOS, 2003-12-19. 5066 5067 [13]Tidal Datums and their Applications. NOAA Special Publication 5068 NOS CO-OPS 1, June 2000. Downloaded from [14]NOS, 2004-08-27. 5069 5070 [15]Nathaniel Bowditch, LL.D. The American Practical Navigator: An 5071 Epitome of Navigation. NIMA Pub. No. 9, Bicentennial Edition, 5072 2002. Downloaded from [16]NGA, 2004-09-28. 42 MB. Chapter 9 is a 5073 tutorial on tides and currents. 5074 5075 My sources for X-windows programming reference: 5076 5077 Kimball, Paul E. The X Toolkit Cookbook. Prentice Hall P T R, New 5078 Jersey, 1995. 5079 5080 Nye, Adrian. Xlib Programming Manual. O'Reilly & Associates, Inc., 5081 Volume 1, Third Edition, July 1993. 5082 5083 A catalog of information on the ISO 8601 standard date and time 5084 notation can be found at 5085 [17]http://dmoz.org/Science/Reference/Standards/Individual_Standards/IS 5086 O_8601/. 5087 5088 iCalendar format and usage is according to [18]RFC 2445 and [19]RFC 5089 2446, with some hints taken from [20]RFC 2447 (November 1998). 5090 5091 Harmgen uses ordinary least squares for harmonic analysis of tides. An 5092 improved method that is more robust to outliers in the data is 5093 described in 5094 5095 Keith E. Leffler and David A. Jay, "Enhancing tidal harmonic 5096 analysis: Robust (hybrid L^1/L^2) solutions," Continental Shelf 5097 Research, 2008. Available at 5098 [21]http://web.cecs.pdx.edu/~jaylab/group/leffler/publications/Leffl 5099 er_Jay_2009.pdf. 5100 5101 An article about a model-based approach to tide prediction, which is 5102 completely different from what XTide does, is 5103 5104 Derek Goring, "Computer Models Define Tide Variability," The 5105 Industrial Physicist, v. 7, n. 5, October/November 2001, pp. 14-17. 5106 5107 Michael Foreman's publications are a good read if you are interested in 5108 the Doodson approach to tide prediction. 5109 5110 Foreman, M.G.G., 1977. Manual for Tidal Heights Analysis and 5111 Prediction. Pacific Marine Science Report 77-10, Institute of Ocean 5112 Sciences, Patricia Bay, Sidney, B.C., 58 pp. (2004 revision). 5113 5114 Foreman, M.G.G., 1978. Manual for Tidal Currents Analysis and 5115 Predition. Pacific Marine Science Report 78-6, Institute of Ocean 5116 Sciences, Patricia Bay, Sidney, B.C., 57 pp. (2004 revision). 5117 5118 Foreman, M.G.G., and R.F. Henry, 1979. Tidal Analysis Based on High 5119 and Low Water Observations. Pacific Marine Science Report 79-15, 5120 Institute of Ocean Sciences, Patricia Bay, Sidney, B.C., 36 pp. 5121 (2004 revision). 5122 5123 Miscellaneous publications mentioned by Hugh Casement that I haven't 5124 read: 5125 5126 On the response method of tide prediction, which is completely 5127 different and allegedly better than what XTide does: Munk, Walter 5128 H.; Cartwright, David E.: Tidal spectroscopy and prediction. 5129 Philosophical Transactions of the Royal Society, A 259 (1966). 5130 5131 An interesting-sounding publication that Hugh Casement hasn't read 5132 either: Horn, Walter: Some recent approaches to tidal problems 5133 (Centre Belge d'Oc�ans, Brussels, year unknown). 5134 5135 Horn, Walter: Tafeln der Astronomischen Argumente V0 und der 5136 Korrektionen j, v (Deutsches Hydrographisches Institut, Hamburg, 5137 1967). 5138 5139 Doodson, in Proceedings of the Royal Society A.100 (London, 1921). 5140 5141 Cartwright and Tayler, in Geophysical Journal of the Royal 5142 Astronomical Society 23 (1971). 5143 5144 Jean Meeus, Astronomical Algorithms, Willmann-Bell. 5145 __________________________________________________________________ 5146 5147 [22]<- Previous [23]-> Next [24]Contents 5148 5149References 5150 5151 1. https://flaterco.com/xtide/credits.html 5152 2. https://flaterco.com/xtide/time_t.html 5153 3. https://flaterco.com/xtide/xtide.html#contents 5154 4. https://flaterco.com/ 5155 5. https://flaterco.com/files/xtide/SP98-1958.pdf 5156 6. http://www.lib.noaa.gov/collections/imgdocmaps/cgs_specpub.html 5157 7. http://historicalcharts.noaa.gov/ 5158 8. https://flaterco.com/files/xtide/SpecialPubNo98Suppl.pdf 5159 9. http://www.tidesandcurrents.noaa.gov/pub.html 5160 10. https://flaterco.com/xtide/files.html#pubs 5161 11. https://flaterco.com/files/xtide/glossary2.pdf 5162 12. http://www.tidesandcurrents.noaa.gov/pub.html 5163 13. https://flaterco.com/files/xtide/tidal_datums_and_their_applications.pdf 5164 14. http://www.tidesandcurrents.noaa.gov/pub.html 5165 15. https://flaterco.com/files/xtide/Bowditch.pdf 5166 16. http://pollux.nss.nga.mil/pubs/pubs_j_apn_sections.html?rid=187 5167 17. http://dmoz.org/Science/Reference/Standards/Individual_Standards/ISO_8601/ 5168 18. https://flaterco.com/xtide/rfc2445.txt 5169 19. https://flaterco.com/xtide/rfc2446.txt 5170 20. https://flaterco.com/xtide/rfc2447.txt 5171 21. http://web.cecs.pdx.edu/~jaylab/group/leffler/publications/Leffler_Jay_2009.pdf 5172 22. https://flaterco.com/xtide/credits.html 5173 23. https://flaterco.com/xtide/time_t.html 5174 24. https://flaterco.com/xtide/xtide.html#contents 5175 5176################################################################ 5177 5178 [1]<- Previous [2]-> Next [3]Contents 5179 5180Appendix A -- Historical predictions and Y2038 compliance 5181 5182 As of 2002, the average Unix used a signed 32-bit integer to represent 5183 time as a count of seconds since 1970-01-01 00:00:00Z. The limits of 5184 that representation are 1901-12-13 20:45:52Z and 2038-01-19 03:14:07Z. 5185 Some platforms instead used an unsigned 32-bit integer (time starts in 5186 1970) while others already used 64-bit integers. 5187 5188 XTide originally limited itself to the range 1970 to 2037. This 5189 provided portability and reliable results regardless of the time_t 5190 representation and allowed Interval (the difference between two 5191 timestamps) to be represented using a signed 32-bit integer. However, 5192 an increasing number of requests for historical "past predictions" 5193 combined with slow progress in migrating the average Unix platform to a 5194 time representation capable of surviving year 2038 finally motivated 5195 the incorporation of a workaround. 5196 5197 As of 2013, signed 64-bit time_t is provided by 64-bit Linux and 5198 unsigned time_t has fallen by the wayside. The workaround remains 5199 useful on 32-bit Linux, DOS, and Windows. Windows actually uses a 5200 signed 64-bit time_t, but the Run-Time Library [4]barfs on dates before 5201 1970 anyway. Go figure. 5202 5203 If XTide is compiled with the workaround, time_t is unconditionally 5204 defined as a signed 64-bit integer and the platform's time functions 5205 are bypassed. Years from 1 to 4000 are allowed. However, time zones 5206 and daylight savings time are sacrificed. Everything becomes UTC. [5]* 5207 5208 The workaround can be enabled at configure time using 5209 configure --enable-time-workaround. The range of years that is 5210 selectable in timestamp dialogs is automatically expanded to 1700 to 5211 2100 when the time workaround is enabled. If a different range is 5212 required, the definitions of Global::dialogFirstYear and 5213 Global::dialogLastYear in Global.cc must be changed manually. 5214 5215 In order to obtain predictions for past and future years, it is also 5216 necessary to use a harmonics file that supports those years. The new 5217 harmonics file harmonics-dwf, rev. 2004-10-05 or later, supports the 5218 years 1700 to 2100. If you need to extend the range of years further, 5219 use the following procedure. 5220 1. Obtain and build the most recent versions of Congen, Tcd-utils and 5221 Harmbase2, available at [6]https://flaterco.com/xtide/files.html. 5222 You will also need to install the version of Postgres indicated by 5223 the Harmbase2 instructions. 5224 2. Obtain the most recent Postgres database dump of harmonics-dwf from 5225 the same place and load it: createdb harmbase2; psql harmbase2 < 5226 harmonics-dwf-*.sql. 5227 3. Export the database to a new TCD file using the export program of 5228 Harmbase2, specifying whatever years you wanted: export -b 1700 -e 5229 2300 harmonics-me. 5230 5231 If you are using .txt and .xml files, you can extend the range of years 5232 as follows. 5233 1. Obtain and build the most recent versions of Congen and Tcd-utils, 5234 available at [7]https://flaterco.com/xtide/files.html. 5235 2. Generate the needed years as explained in the README in the Congen 5236 distribution. E.g., congen -a1 -b 1700 -e 2300 < congen_input.txt 5237 > out.txt. 5238 3. Using a text editor, edit harmonics.txt and replace the segment 5239 between "Begin congen output" and "End congen output" with the 5240 congen output that you just generated. 5241 4. Convert the data to TCD format using build_tide_db as explained in 5242 the README of the Tcd-utils distribution. 5243 5244 Please be aware that extrapolating predictions over large spans of time 5245 may give extremely inaccurate results. Don't even go there until you 5246 [8]read this FAQ about it. 5247 5248 * The time scale used by the time workaround is not strictly speaking 5249 UTC since it does not implement leap seconds, but neither does the 5250 standard library. See [9]Limitation #5. 5251 __________________________________________________________________ 5252 5253 [10]<- Previous [11]-> Next [12]Contents 5254 5255References 5256 5257 1. https://flaterco.com/xtide/bibliography.html 5258 2. https://flaterco.com/xtide/mincurrents.html 5259 3. https://flaterco.com/xtide/xtide.html#contents 5260 4. http://msdn.microsoft.com/en-us/library/bf12f0hc.aspx 5261 5. https://flaterco.com/xtide/time_t.html#leap 5262 6. https://flaterco.com/xtide/files.html 5263 7. https://flaterco.com/xtide/files.html 5264 8. https://flaterco.com/xtide/faq.html#HistoricalPredictions 5265 9. https://flaterco.com/xtide/bugs.html 5266 10. https://flaterco.com/xtide/bibliography.html 5267 11. https://flaterco.com/xtide/mincurrents.html 5268 12. https://flaterco.com/xtide/xtide.html#contents 5269 5270################################################################ 5271 5272 [1]<- Previous [2]-> Next [3]Contents 5273 [4]About harmonic constants and sub station corrections 5274 [5]Change log 5275 5276Appendix B -- Application of offsets for Min Flood and Min Ebb events 5277 5278 [6]B.1 Background 5279 [7]B.2 Secondary Station Adjustments Instructions (NOS) 5280 [8]B.3 Comparison of old and new results 5281 [9]B.4 Comparison with published tables 5282 5283 Background 5284 5285 XTide distinguishes the following common events for current stations: 5286 5287 Max Flood Maximum current in the flood (+) direction. 5288 Max Ebb Maximum current in the ebb (-) direction. 5289 Slack, Flood Begins Zero current preceding flood. 5290 Slack, Ebb Begins Zero current preceding ebb. 5291 5292 Additionally, it distinguishes two events that are not seen as 5293 frequently: 5294 5295 Min Flood Minimum current in the flood (+) direction between two Max 5296 Floods when the current never crosses zero. 5297 Min Ebb Minimum current in the ebb (-) direction between two Max Ebbs 5298 when the current never crosses zero. 5299 5300 In XTide 2.8, a change was made to the application of offsets for Min 5301 Flood and Min Ebb events. 5302 5303 Event XTide 2.7 time adjust XTide 2.7 current adjust XTide 2.8 time 5304 adjust XTide 2.8 current adjust 5305 Min Flood Same as Max Ebb Same as Max Ebb Same as Slack, Flood Begins; 5306 if null, use Max Flood Same as Max Flood 5307 Min Ebb Same as Max Flood Same as Max Flood Same as Slack, Ebb Begins; 5308 if null, use Max Ebb Same as Max Ebb 5309 5310 This change was made based on a reading of the highlighted sections of 5311 the National Ocean Service web page quoted below, which was downloaded 5312 from [10]http://co-ops.nos.noaa.gov/currents04/t2chelp.html on 5313 2004-09-15. 5314 5315 The second highlighted passage states that no attempt is made to 5316 predict the speed of the minimum currents. It would not make sense for 5317 XTide to leave these values unadjusted because a very small ratio could 5318 cause the supposed maxima to have lower amplitude than the minimum. 5319 Applying the ratio used for the surrounding maxima will give reasonable 5320 looking results as long as the adjustment is only a ratio. (Additive 5321 adjustments would not produce reasonable results.) 5322 __________________________________________________________________ 5323 5324 BEGIN NATIONAL OCEAN SERVICE TEXT (highlighting added) 5325 __________________________________________________________________ 5326 5327 Secondary Station Adjustments Instructions 5328 5329 The publication of full daily predictions is necessarily limited to a 5330 comparatively small number of stations. These stations are referred to 5331 as "reference stations". Tidal current predictions for more than 2500 5332 other locations can be obtained by applying certain differences to the 5333 daily predictions for the reference stations. 5334 5335 These pages provide a listing of the more than 2500 "subordinate 5336 stations" for which such predictions can be made, the differences and 5337 ratios to be used, and a link to the appropriate reference station. The 5338 stations in the listing are arranged geographically to make it possible 5339 to find stations which are available for an area you are interested in. 5340 5341 Since all tidal current stations are located offshore, many of them are 5342 named for the channels, rivers, and inlets they are located in, or for 5343 cities, towns, or navigational points they are located near. Some 5344 personal knowledge of the area you are interested in may be necessary 5345 to determine which station(s) are most appropriate for your use. 5346 5347 Depths: Although current measurements may have been recorded at various 5348 depths in the past, the data listed here for most subordinate stations 5349 are mean values determined to have been representative of the current 5350 at each location. For that reason, no specific current meter depth for 5351 those stations are given. Beginning with the Boston Harbor tidal 5352 current survey in 1971, data for individual meter depths were published 5353 and subsequent new data may be presented in a similar manner. 5354 5355 Since most of the current data in these pages came from meters 5356 suspended from survey vessels or anchored buoys, the listed depths are 5357 those measured downward from the surface. Some later data have come 5358 from meters anchored at fixed depths from the bottom. These meter 5359 positions were defined as depth below chart datum. Such defined depths 5360 in these pages will be accompanied by the small letter "d". 5361 5362 Minimum Currents: The user may note that at many locations the current 5363 may not diminish to a true slack water or zero speed stage. For that 5364 reason, the phrases, "minimum before flood" and "minimum before ebb" 5365 are used in these pages rather than "slack water" although either or 5366 both minimums may actually reach a zero speed value at some locations. 5367 5368 Maximum Currents: Near the coast and in inland waters, the current 5369 increases from a minimum current (slack water) for a period of about 3 5370 hours until the maximum speed or strength of the current is reached. 5371 The speed then decreases for another period of about 3 hours when 5372 minimum current is again reached and the current begins a similar cycle 5373 in the opposite direction. The current that flows towards the coast or 5374 up a stream is known as the flood current; the opposite flow is known 5375 as the ebb current. Speeds of the current at reference stations are 5376 listed as positive values for floods and negative values for ebbs. 5377 These pages list the average directions of the maximum floods and 5378 maximum ebb currents. The directions listed are given in degrees, true, 5379 reading from 000 at north to 359 and are the directions toward which 5380 the current flow. 5381 5382 Differences and Speed Ratios: These pages contain time differences by 5383 which the user can compile approximate times for the minimum and 5384 maximum current phases at the subordinate stations. Time differences 5385 for those phases should be applied to the corresponding phases at the 5386 reference station. It will be seen upon inspection that some 5387 subordinate stations exhibit either a double flood or a double ebb 5388 stage, or both. In those cases, a separate time difference is listed 5389 for each of the three flood (or ebb) phases and should be applied only 5390 to the maximum flood (or ebb) phase at the reference station. The 5391 results obtained by the application of time differences will be based 5392 upon the local time meridian. Differences of time meridians between a 5393 subordinate stations and its reference station have been accounted for. 5394 5395 The speed ratios are used to compile approximations of the daily 5396 current speeds at the subordinate stations and refer only to the 5397 maximum floods and ebbs. No attempt is made to predict the speed of the 5398 minimum currents. These ratios are multiplied to the corresponding 5399 maximum current phases at the reference station. As mentioned before, 5400 however, some stations may exhibit either a double flood or a double 5401 ebb, or both. As with time differences, separate ratios are listed for 5402 each of the three flood (or ebb) phases and should be applied only to 5403 the daily maximum flood (or ebb) speed at the reference station. It 5404 should be noted that although the speed of a given current phase at a 5405 subordinate station is obtained by reference to the corresponding phase 5406 at a reference station, the directions of the current at the two places 5407 may differ considerably. These pages list the average directions of the 5408 maximum current phases at the subordinate stations. 5409 5410 Example Tidal Current Calculations 5411 5412 For Cape May Channel, the time and speed adjustments listed in the 5413 tables are: 5414Minimum Minimum Speed 5415Before Flood Before Ebb Ratio 5416Flood Ebb Flood Ebb 5417-1 14 -1 30 -1 11 -0 45 1.1 1.8 5418 5419 and the reference station is Delaware Bay Entrance. If the times and 5420 speeds listed in column 1 are the minimum and maximum tidal currents 5421 for a day at Delaware Bay Entrance, column 2 are the time corrections, 5422 and column 3 are the speed corrections; column 4 will be the predicted 5423 currents at Cape May Channel. These values are computed by adding or 5424 subtracting the times in column 1 to the adjustments in column 2; and 5425 by multiplying the speeds in column 1 by the ratios in column 3. 5426 (1) (2) (3) (4) 5427 Times Speed Times Speed 54280114 0425 1.3 -1 14 -1 30 *1.1 0000 0255 1.4 54290736 1055 -1.3 -1 11 -0 45 *1.8 0625 1010 -2.3 54301351 1650 1.2 -1 14 -1 30 *1.1 1237 1520 1.3 54311958 2316 -1.3 -1 11 -0 45 *1.8 1847 2231 -2.3 5432 __________________________________________________________________ 5433 5434 END NATIONAL OCEAN SERVICE TEXT 5435 __________________________________________________________________ 5436 5437 Comparison of old and new results 5438 5439 From [11]http://co-ops.nos.noaa.gov/currents04/tab2pc2.html 5440 (2004-09-15): 5441 Minimum Mini 5442mum Speed Direction 5443 Before Flood Befo 5444re Ebb Ratio At Maximum 5445Station Depth Flood Ebb 5446 Flood Ebb Flood Ebb Reference Station 5447Admiralty Head, 0.5 mile west of -0 31 -0 03 +0 0 54481 -0 07 1.3 1.2 145 025 Admiralty Inlet 5449 5450 Resulting XTide data set: 5451 5452 Name Admiralty Head, 0.5 mile west of, Washington Current 5453 Reference Admiralty Inlet, Washington Current 5454 Max time add -00:03 5455 Max level add NULL 5456 Max level mult 1.300 5457 Min time add -00:07 5458 Min level add NULL 5459 Min level mult 1.200 5460 Flood begins -00:31 5461 Ebb begins +00:01 5462 5463 NOS predictions for 2004-09-08 and 2004-09-09 at reference station, 5464 from [12]http://co-ops.nos.noaa.gov/currents04/ADMIRALI.shtml 5465 (2004-09-15): 5466 Slack Maximum Slack Maximum Slack Maximum Slack Maximum 5467Slack Maximum 5468 Water Current Water Current Water Current Water Current 5469Water Current 5470Day Time Time Veloc Time Time Veloc Time Time Veloc Time Time Veloc 5471 Time Time Veloc 5472 h.m. h.m. knots h.m. h.m. knots h.m. h.m. knots h.m. h.m. knots 5473 h.m. h.m. knots 5474 5475 8 402 -2.3 814 1122 1.5 1449 1801 -1.2 2257 -0.1 5476 9 508 -2.4 909 1219 1.7 1543 1856 -1.5 5477 5478 Corresponding XTide results: 5479 5480 Reference station Sub station (XTide 2.7) Sub station (XTide 2.8) 54812004-09-08 4:02 AM PDT -2.33 knots Max Ebb 54822004-09-08 8:13 AM PDT 0.00 knots Slack, Flood Begins 54832004-09-08 11:22 AM PDT 1.51 knots Max Flood 54842004-09-08 2:48 PM PDT -0.00 knots Slack, Ebb Begins 54852004-09-08 6:01 PM PDT -1.22 knots Max Ebb 54862004-09-08 10:57 PM PDT -0.07 knots Min Ebb 54872004-09-09 5:08 AM PDT -2.36 knots Max Ebb 54882004-09-09 9:08 AM PDT 0.00 knots Slack, Flood Begins 54892004-09-09 12:19 PM PDT 1.71 knots Max Flood 54902004-09-09 3:42 PM PDT -0.00 knots Slack, Ebb Begins 54912004-09-09 6:56 PM PDT -1.47 knots Max Ebb 54922004-09-09 11:22 PM PDT 0.00 knots Slack, Flood Begins 5493 54942004-09-08 3:55 AM PDT -2.80 knots Max Ebb 54952004-09-08 7:42 AM PDT 0.00 knots Slack, Flood Begins 54962004-09-08 11:19 AM PDT 1.96 knots Max Flood 54972004-09-08 2:49 PM PDT -0.00 knots Slack, Ebb Begins 54982004-09-08 5:54 PM PDT -1.47 knots Max Ebb 54992004-09-08 10:54 PM PDT -0.09 knots Min Ebb 55002004-09-09 5:01 AM PDT -2.84 knots Max Ebb 55012004-09-09 8:37 AM PDT 0.00 knots Slack, Flood Begins 55022004-09-09 12:16 PM PDT 2.22 knots Max Flood 55032004-09-09 3:43 PM PDT -0.00 knots Slack, Ebb Begins 55042004-09-09 6:49 PM PDT -1.77 knots Max Ebb 55052004-09-09 10:51 PM PDT 0.00 knots Slack, Flood Begins 5506 55072004-09-08 3:55 AM PDT -2.80 knots Max Ebb 55082004-09-08 7:42 AM PDT 0.00 knots Slack, Flood Begins 55092004-09-08 11:19 AM PDT 1.96 knots Max Flood 55102004-09-08 2:49 PM PDT -0.00 knots Slack, Ebb Begins 55112004-09-08 5:54 PM PDT -1.47 knots Max Ebb 55122004-09-08 10:58 PM PDT -0.08 knots Min Ebb 55132004-09-09 5:01 AM PDT -2.84 knots Max Ebb 55142004-09-09 8:37 AM PDT 0.00 knots Slack, Flood Begins 55152004-09-09 12:16 PM PDT 2.22 knots Max Flood 55162004-09-09 3:43 PM PDT -0.00 knots Slack, Ebb Begins 55172004-09-09 6:49 PM PDT -1.77 knots Max Ebb 55182004-09-09 10:51 PM PDT 0.00 knots Slack, Flood Begins 5519 __________________________________________________________________ 5520 5521 Comparison with published tables 5522 5523 When the change in XTide's behavior was made in 2004, the NOS web site 5524 did not provide calculated predictions at the subordinate stations for 5525 comparison. Upon reviewing the issue in 2007 (at which time those 5526 predictions were available), it was found that the published tables did 5527 neither of the behaviors that were implemented in XTide. 5528 5529 CAPTION: Time offsets applied to Min Ebb event 5530 5531 XTide 2.7 XTide 2.8 NOS 2007 5532 Flood Minimum Before Ebb Ebb 5533 5534 Whereas the behavior of the published tables seemed to be in conflict 5535 with the [13]Secondary Station Adjustments Instructions, it was 5536 resolved not to change the behavior of XTide at that time. 5537 5538 Reference station 5539 5540 NOS table copied from 5541 [14]http://tidesandcurrents.noaa.gov/get_predc.shtml?year=2007&stn=6030 5542 +Admiralty+Inlet&fldavgd=179&ebbavgd=003&footnote= 2007-02-24 5543 5544 Admiralty Inlet 5545 Predicted Tidal Current March, 2007 5546 Flood Direction, 179 True. Ebb (-)Direction, 003 True. 5547 NOAA, National Ocean Service 5548 5549 Slack 5550 Water Maximum 5551 Current Slack 5552 Water Maximum 5553 Current Slack 5554 Water Maximum 5555 Current Slack 5556 Water Maximum 5557 Current Slack 5558 Water Maximum 5559 Current 5560 Day Time 5561 h.m. Time 5562 h.m. Veloc 5563 knots Time 5564 h.m. Time 5565 h.m. Veloc 5566 knots Time 5567 h.m. Time 5568 h.m. Veloc 5569 knots Time 5570 h.m. Time 5571 h.m. Veloc 5572 knots Time 5573 h.m. Time 5574 h.m. Veloc 5575 knots 5576 12 0049 0347 -0.9 0825 -0.1 1458 -2.4 1917 2229 +1.5 5577 13 0207 0512 -1.0 0948 -0.2 1610 -2.4 2019 2335 +1.8 5578 5579 Comparable XTide output, using harmonics-rmk-20040615.tcd 5580 tide -l"admiralty inlet" -b"2007-03-12 00:00" -e"2007-03-14 00:00" -mc 5581 -empSsMm -tf"%H%M" -fh 5582 5583 Day Slack Flood 5584 Slack 5585 Ebb Slack Flood 5586 Slack 5587 Mon 12 0048 0347 -0.93 kt 5588 0824 -0.08 kt 5589 1457 -2.41 kt 1916 2229 1.52 kt 5590 Tue 13 0206 0512 -1.04 kt 5591 0948 -0.18 kt 5592 1610 -2.45 kt 2018 2335 1.75 kt 5593 5594 Subordinate station 5595 5596Name Agate Pass, North End of, Washington Current 5597Reference Admiralty Inlet, Washington Current 5598Min time add -0:59 5599Min level add NULL 5600Min level mult 0.700 5601Max time add -1:00 5602Max level add NULL 5603Max level mult 0.800 5604Flood begins -1:28 5605Ebb begins -0:18 5606 5607 NOS table copied from 5608 [15]http://tidesandcurrents.noaa.gov/get_predc.shtml?year=2007&stn=6030 5609 +Admiralty+Inlet&secstn=Agate+Passage,+north+end&sbfh=%2D1&sbfm=28&fldh 5610 =%2D1&fldm=00&sbeh=%2D0&sbem=18&ebbh=%2D0&ebbm=59&fldr=0.8&ebbr=0.7&fld 5611 avgd=230&ebbavgd=032&footnote= 2007-02-24 5612 5613 Agate Passage, north end 5614 Predicted Tidal Current March, 2007 5615 Flood Direction, 230 True. Ebb (-)Direction, 032 True. 5616 NOAA, National Ocean Service 5617 5618 Slack 5619 Water Maximum 5620 Current Slack 5621 Water Maximum 5622 Current Slack 5623 Water Maximum 5624 Current Slack 5625 Water Maximum 5626 Current Slack 5627 Water Maximum 5628 Current 5629 Day Time 5630 h.m. Time 5631 h.m. Veloc 5632 knots Time 5633 h.m. Time 5634 h.m. Veloc 5635 knots Time 5636 h.m. Time 5637 h.m. Veloc 5638 knots Time 5639 h.m. Time 5640 h.m. Veloc 5641 knots Time 5642 h.m. Time 5643 h.m. Veloc 5644 knots 5645 12 0031 0248 -0.6 0726 -0.1 1359 -1.7 1749 2129 +1.2 5646 13 0149 0413 -0.7 0849 -0.1 1511 -1.7 1851 2235 +1.4 5647 5648 Comparable XTide output, using harmonics-rmk-20040615.tcd 5649 tide -l"Agate Pass, North End of, Washington Current" -b"2007-03-12 5650 00:00" -e"2007-03-14 00:00" -mc -empSsMm -tf"%H%M" -fh 5651 5652 Day Slack Flood 5653 Slack 5654 Ebb Slack Flood 5655 Slack 5656 Mon 12 0030 0248 -0.65 kt 5657 0806 -0.06 kt 5658 1358 -1.69 kt 1748 2129 1.21 kt 5659 Tue 13 0148 0413 -0.73 kt 5660 0930 -0.13 kt 5661 1511 -1.71 kt 1850 2235 1.40 kt 5662 __________________________________________________________________ 5663 5664 [16]<- Previous [17]-> Next [18]Contents 5665 [19]About harmonic constants and sub station corrections 5666 [20]Change log 5667 5668References 5669 5670 1. https://flaterco.com/xtide/time_t.html 5671 2. https://flaterco.com/xtide/pound_to_fit.html 5672 3. https://flaterco.com/xtide/xtide.html#contents 5673 4. https://flaterco.com/xtide/harmonics.html 5674 5. https://flaterco.com/xtide/changelog.html#2.8 5675 6. https://flaterco.com/xtide/mincurrents.html#background 5676 7. https://flaterco.com/xtide/mincurrents.html#instructions 5677 8. https://flaterco.com/xtide/mincurrents.html#oldnew 5678 9. https://flaterco.com/xtide/mincurrents.html#tables 5679 10. http://co-ops.nos.noaa.gov/currents04/t2chelp.html 5680 11. http://co-ops.nos.noaa.gov/currents04/tab2pc2.html 5681 12. http://co-ops.nos.noaa.gov/currents04/ADMIRALI.shtml 5682 13. https://flaterco.com/xtide/mincurrents.html#instructions 5683 14. http://tidesandcurrents.noaa.gov/get_predc.shtml?year=2007&stn=6030+Admiralty+Inlet&fldavgd=179&ebbavgd=003&footnote= 5684 15. http://tidesandcurrents.noaa.gov/get_predc.shtml?year=2007&stn=6030+Admiralty+Inlet&secstn=Agate+Passage,+north+end&sbfh=%2D1&sbfm=28&fldh=%2D1&fldm=00&sbeh=%2D0&sbem=18&ebbh=%2D0&ebbm=59&fldr=0.8&ebbr=0.7&fldavgd=230&ebbavgd=032&footnote= 5685 16. https://flaterco.com/xtide/time_t.html 5686 17. https://flaterco.com/xtide/pound_to_fit.html 5687 18. https://flaterco.com/xtide/xtide.html#contents 5688 19. https://flaterco.com/xtide/harmonics.html 5689 20. https://flaterco.com/xtide/changelog.html#2.8 5690 5691################################################################ 5692 5693 [1]<- Previous [2]-> Next [3]Contents 5694 [4]Modes and formats 5695 [5]FAQ 5696 5697Appendix C -- Making calendars fit onto a single page 5698 5699 Get rid of unwanted information 5700 5701 Regardless of which format you are using, having extra stuff in the 5702 calendar that you don't want isn't going to help. If you are using a 5703 web page somewhere, look for options that allow you to suppress sun and 5704 moon events or control the formatting of timestamps. If you are using 5705 XTide directly, you do this using various settings. The following 5706 examples assume command line usage, but you can change settings in 5707 several other ways. See [6]settings for details. 5708 5709 To get rid of unwanted columns for sun and moon events, use the -em 5710 command line switch to set an event mask. E.g, to suppress all sun and 5711 moon events, set the event mask to the value pSsMm. p = phase of moon, 5712 S = sunrise, s = sunset, M = moonrise, m = moonset. 5713 5714 To get rid of unwanted verbosity in timestamps (AM/PM and/or time 5715 zone), use the -tf command line switch to set the time format string. 5716 E.g., to reduce it to four digits of 24-hour notation, set the time 5717 format string to %H%M. To keep AM/PM but lose the time zone, set the 5718 time format string to %l:%M %p. 5719 5720 Other settings added in XTide 2.14 can be used to condense or tweak 5721 calendar text: 5722 * The omitunits setting (-ou) prints numbers with no ft/m/kt and adds 5723 a header line stating the units and datum (where possible). Say 5724 -ou y to omit the units. 5725 * The caldayfmt setting (-cf) controls the format string used to 5726 print days in calendars. To omit the day of week and just keep the 5727 number, specify %d. 5728 * The linebreak setting (-lb) controls whether or not calendar mode 5729 inserts a line break before prediction values. This reduces 5730 truncation in text format and tweaks line wrapping in HTML and 5731 LaTeX formats. 5732 * The pagebreak setting (-pb) controls whether or not calendar mode 5733 inserts a page break and repeats the station header for each month 5734 in text, HTML, and LaTeX formats. Text uses form feeds and HTML 5735 uses a page-break-before style. 5736 5737 Scale down HTML 5738 5739 If the calendar that you want to print is on a web page or otherwise in 5740 HTML format, the next step is to set up your print scaling to make it 5741 fit on the page without a lot of ugly text wrapping. The process for 5742 doing this is slightly different depending on your browser and tends to 5743 change along with browser versions, so overly specific instructions 5744 would be futile. Just try different scaling, fit, portrait, and 5745 landscape options in print preview until the calendar fits nicely on a 5746 page. 5747 5748 Get serious--use LaTeX 5749 5750 The problem with printing calendars from HTML is that HTML was designed 5751 for viewing on a monitor. Whether the result ends up on one page or 5752 three when you print it was never supposed to be a concern. The 5753 concept of pagination eventually appeared in style options, but it was 5754 never a priority. 5755 5756 The right language to use in this case is LaTeX. Like HTML, LaTeX is a 5757 markup language, but it is designed for typesetting printed documents. 5758 5759 XTide can generate calendars in LaTeX format. These can be converted 5760 to PDFs using pdflatex, and those PDFs can then be printed on any size 5761 paper using Adobe Reader. 5762 5763 If you are using XTide through a web page, you just have to hunt for an 5764 option to generate a PDF and hope that there is one. 5765 5766 The process to generate and view a PDF from the command line is as 5767 follows: 5768bash-3.00$ tide -l"Location Name" -mc -fl -b"Start Time" -e"End Time" > cal.tex 5769bash-3.00$ pdflatex cal.tex 5770bash-3.00$ acroread cal.pdf 5771 5772 The default page geometry in LaTeX mode is probably not optimal for 5773 making your calendar look nice. Experiment with different values for 5774 pageheight (-ph 420) and pagewidth (-pw 297) until the calendar looks 5775 nice in PDF. Do not worry that the shape of the pages in the PDF is 5776 not what you have in your printer. 5777 5778 [7]Example of nicely formatted calendar 5779 5780 When you are happy with the look of the PDF, do the following to print 5781 it. 5782 5783 Adobe Reader 5784 5785 Different versions of Adobe Reader present the same options in 5786 different ways. On the File -> Print menu, do whichever applies: 5787 1. Under Size Options, check Fit, and check Auto portrait/landscape. 5788 2. Change Page Scaling to Fit to Printable Area, and check Auto-Rotate 5789 and Center. 5790 __________________________________________________________________ 5791 5792 [8]<- Previous [9]-> Next [10]Contents 5793 [11]Modes and formats 5794 [12]FAQ 5795 5796References 5797 5798 1. https://flaterco.com/xtide/mincurrents.html 5799 2. https://flaterco.com/xtide/xtide1diff.html 5800 3. https://flaterco.com/xtide/xtide.html#contents 5801 4. https://flaterco.com/xtide/modes.html 5802 5. https://flaterco.com/xtide/faq.html#onepage 5803 6. https://flaterco.com/xtide/settings.html 5804 7. https://flaterco.com/xtide/BarHarbor.pdf 5805 8. https://flaterco.com/xtide/mincurrents.html 5806 9. https://flaterco.com/xtide/xtide1diff.html 5807 10. https://flaterco.com/xtide/xtide.html#contents 5808 11. https://flaterco.com/xtide/modes.html 5809 12. https://flaterco.com/xtide/faq.html#onepage 5810 5811################################################################ 5812 5813 [1]<- Previous [2]-> Next [3]Contents 5814 5815Icon Differences from XTide 1 5816 5817 [As if anybody remembers XTide 1. This section is now obsolete.] 5818 5819 XTide 2 is a complete redesign of XTide 1. There are too many subtle 5820 improvements to list them all, but here are the not so subtle ones: 5821 * New interactive user interface for X windows client 5822 * Integrated web server now provided in distribution 5823 * Simpler, better command line interface 5824 * Handles multiple harmonics files transparently 5825 * Subordinate stations are now stored in an external database and are 5826 expanded to handle all known styles of offsets 5827 * Hydraulic currents are fixed 5828 * Removed useless options and modes 5829 * Added sun and moon information (by popular demand...) 5830 * Fast, efficient binary format for harmonics data 5831 5832 These are the non-obvious things you must know in order to migrate: 5833 1. The environment variable HFILE is no longer used to specify the 5834 harmonics file; instead, HFILE_PATH is used: 5835 5836export HFILE_PATH=/usr/local/share/xtide/harmonics.tcd 5837 5838 If HFILE_PATH is not set, XTide looks for the file "harmonics.tcd" 5839 in the default directory. 5840 2. XTide now has its own built-in icon. Remove any icon settings that 5841 you made in your window manager init files. [Since the icon 5842 protocol that XTide 2 uses is no longer supported by newer window 5843 managers, that advice can be disregarded.] 5844 3. You may no longer use anonymous units in harmonics files. The 5845 units must be one of the recognized alternatives. These are: 5846 feet, meters, knots, knots^2 (for hydraulic currents). If you are 5847 still using an ancient harmonics file that contains no units or 5848 "bogo-knots," then shame on you. It's high time that you upgraded. 5849 __________________________________________________________________ 5850 5851 [4]<- Previous [5]-> Next [6]Contents 5852 5853References 5854 5855 1. https://flaterco.com/xtide/pound_to_fit.html 5856 2. https://flaterco.com/xtide/quickinst.html 5857 3. https://flaterco.com/xtide/xtide.html#contents 5858 4. https://flaterco.com/xtide/pound_to_fit.html 5859 5. https://flaterco.com/xtide/quickinst.html 5860 6. https://flaterco.com/xtide/xtide.html#contents 5861 5862