File size: 71,546 Bytes
f587001 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 |
{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Interactive Example"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import requests\n",
"import json\n",
"import pandas as pd\n",
"import os\n",
"import warnings\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"ADLOC_API_URL = \"http://127.0.0.1:8000\"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Prepare test data\n",
"\n",
"- Download test data: PhaseNet picks of the 2019 Ridgecrest earthquake sequence\n",
"1. picks file: picks.json\n",
"2. station information: stations.csv\n",
"3. events in SCSN catalog: events.csv\n",
"4. config file: config.pkl\n",
"\n",
"```bash\n",
"wget https://github.com/wayneweiqiang/GMMA/releases/download/test_data/test_data.zip\n",
"unzip test_data.zip\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# !wget https://github.com/wayneweiqiang/GMMA/releases/download/test_data/test_data.zip\n",
"# !unzip test_data.zip"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"data_dir = lambda x: os.path.join(\"test_data\", x)\n",
"station_csv = data_dir(\"stations.csv\")\n",
"pick_json = data_dir(\"picks.json\")\n",
"catalog_csv = data_dir(\"catalog_gamma.csv\")\n",
"picks_csv = data_dir(\"picks_gamma.csv\")\n",
"if not os.path.exists(\"figures\"):\n",
" os.makedirs(\"figures\")\n",
"figure_dir = lambda x: os.path.join(\"figures\", x)\n",
"\n",
"## set config\n",
"config = {'xlim_degree': [-118.004, -117.004], \n",
" 'ylim_degree': [35.205, 36.205],\n",
" 'z(km)': [0, 41]}\n",
"\n",
"## read stations\n",
"stations = pd.read_csv(station_csv, delimiter=\"\\t\")\n",
"stations = stations.rename(columns={\"station\":\"id\"})\n",
"stations_json = json.loads(stations.to_json(orient=\"records\"))\n",
"\n",
"## read picks\n",
"picks = pd.read_json(pick_json).sort_values(\"timestamp\").iloc[:200]\n",
"picks[\"timestamp\"] = picks[\"timestamp\"].apply(lambda x: x.isoformat(timespec='milliseconds'))\n",
"picks_json = json.loads(picks.to_json(orient=\"records\"))\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" id timestamp prob amp type\n",
"51368 CI.WCS2..HH 2019-07-04T17:00:00.004 0.371902 1.576248e-06 p\n",
"50738 CI.WBM..BH 2019-07-04T17:00:00.004 0.429425 4.883445e-07 p\n",
"51254 CI.WCS2..BH 2019-07-04T17:00:00.004 0.570932 1.388111e-06 p\n",
"51643 CI.WMF..BH 2019-07-04T17:00:00.004 0.325480 1.930339e-07 p\n",
"51727 CI.WMF..HH 2019-07-04T17:00:00.004 0.499070 1.795238e-07 p\n",
"... ... ... ... ... ...\n",
"52664 CI.WRV2..EH 2019-07-04T17:05:13.634 0.565324 6.402773e-07 p\n",
"53676 PB.B918..EH 2019-07-04T17:05:13.754 0.621534 6.146262e-07 s\n",
"53083 CI.WVP2..HN 2019-07-04T17:05:13.894 0.891210 4.123632e-06 p\n",
"46727 CI.CCC..HN 2019-07-04T17:05:14.004 0.791852 5.821601e-06 s\n",
"46543 CI.CCC..HH 2019-07-04T17:05:14.004 0.827445 5.868008e-06 s\n",
"\n",
"[200 rows x 5 columns]\n"
]
}
],
"source": [
"print(picks)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"picks.rename(columns={\"id\": \"station_id\", \"timestamp\": \"phase_time\", \"prob\": \"phase_score\", \"amp\": \"phase_amplitude\", \"type\": \"phase_type\"}, inplace=True)\n",
"stations.rename(columns={\"id\": \"station_id\"}, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"picks[\"phase_time\"] = pd.to_datetime(picks[\"phase_time\"])\n",
"picks[\"timestamp\"] = picks[\"phase_time\"]\n",
"picks[\"phase_type\"] = picks[\"phase_type\"].str.upper()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"picks = picks.merge(stations, on=\"station_id\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# picks = picks[(picks[\"timestamp\"] > \"2019-07-04T17:02:00.000Z\") & (picks[\"timestamp\"] < \"2019-07-04T17:04:00.000Z\")]\n",
"picks = picks[(picks[\"timestamp\"] > pd.to_datetime(\"2019-07-04T17:02:00.000\")) & (picks[\"timestamp\"] < pd.to_datetime(\"2019-07-04T17:04:00.000\"))]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"# plt.scatter(picks[\"longitude\"], picks[\"latitude\"], c=picks[\"timestamp\"], cmap=\"viridis\")\n",
"color = {\"P\": \"red\", \"S\": \"blue\"}\n",
"plt.scatter(picks[\"timestamp\"], picks[\"latitude\"], c=picks[\"phase_type\"].apply(lambda x: color[x]), s=10)\n",
"plt.scatter([], [], c=\"red\", label=\"P\")\n",
"plt.scatter([], [], c=\"blue\", label=\"S\")\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>station_id</th>\n",
" <th>phase_time</th>\n",
" <th>phase_score</th>\n",
" <th>phase_amplitude</th>\n",
" <th>phase_type</th>\n",
" <th>timestamp</th>\n",
" <th>longitude</th>\n",
" <th>latitude</th>\n",
" <th>elevation(m)</th>\n",
" <th>unit</th>\n",
" <th>component</th>\n",
" <th>response</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>CI.WCS2..HH</td>\n",
" <td>2019-07-04 17:03:02.664</td>\n",
" <td>0.948111</td>\n",
" <td>0.001982</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:02.664</td>\n",
" <td>-117.765</td>\n",
" <td>36.025</td>\n",
" <td>1143.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>626910000.00,626910000.00,626838000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>CI.WCS2..HH</td>\n",
" <td>2019-07-04 17:03:08.144</td>\n",
" <td>0.753875</td>\n",
" <td>0.001982</td>\n",
" <td>S</td>\n",
" <td>2019-07-04 17:03:08.144</td>\n",
" <td>-117.765</td>\n",
" <td>36.025</td>\n",
" <td>1143.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>626910000.00,626910000.00,626838000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>CI.WBM..BH</td>\n",
" <td>2019-07-04 17:03:02.174</td>\n",
" <td>0.954165</td>\n",
" <td>0.002353</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:02.174</td>\n",
" <td>-117.890</td>\n",
" <td>35.608</td>\n",
" <td>892.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>314573000.00,314573000.00,314573000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>CI.WBM..BH</td>\n",
" <td>2019-07-04 17:03:07.254</td>\n",
" <td>0.931752</td>\n",
" <td>0.002353</td>\n",
" <td>S</td>\n",
" <td>2019-07-04 17:03:07.254</td>\n",
" <td>-117.890</td>\n",
" <td>35.608</td>\n",
" <td>892.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>314573000.00,314573000.00,314573000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>CI.WBM..BH</td>\n",
" <td>2019-07-04 17:03:21.834</td>\n",
" <td>0.511648</td>\n",
" <td>0.000096</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:21.834</td>\n",
" <td>-117.890</td>\n",
" <td>35.608</td>\n",
" <td>892.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>314573000.00,314573000.00,314573000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>194</th>\n",
" <td>CI.DTP..BH</td>\n",
" <td>2019-07-04 17:03:04.984</td>\n",
" <td>0.948384</td>\n",
" <td>0.000483</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:04.984</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>627368000.00,627368000.00,627368000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>195</th>\n",
" <td>CI.DTP..BH</td>\n",
" <td>2019-07-04 17:03:12.134</td>\n",
" <td>0.616461</td>\n",
" <td>0.000483</td>\n",
" <td>S</td>\n",
" <td>2019-07-04 17:03:12.134</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>627368000.00,627368000.00,627368000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>196</th>\n",
" <td>CI.DTP..HN</td>\n",
" <td>2019-07-04 17:03:04.984</td>\n",
" <td>0.967691</td>\n",
" <td>0.000484</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:04.984</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s**2</td>\n",
" <td>E,N,Z</td>\n",
" <td>214399.00,213971.00,214484.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>197</th>\n",
" <td>CI.DTP..HN</td>\n",
" <td>2019-07-04 17:03:12.154</td>\n",
" <td>0.672017</td>\n",
" <td>0.000484</td>\n",
" <td>S</td>\n",
" <td>2019-07-04 17:03:12.154</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s**2</td>\n",
" <td>E,N,Z</td>\n",
" <td>214399.00,213971.00,214484.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>198</th>\n",
" <td>CI.DTP..HN</td>\n",
" <td>2019-07-04 17:03:43.354</td>\n",
" <td>0.401861</td>\n",
" <td>0.000014</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:43.354</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s**2</td>\n",
" <td>E,N,Z</td>\n",
" <td>214399.00,213971.00,214484.00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>108 rows × 12 columns</p>\n",
"</div>"
],
"text/plain": [
" station_id phase_time phase_score phase_amplitude \\\n",
"1 CI.WCS2..HH 2019-07-04 17:03:02.664 0.948111 0.001982 \n",
"2 CI.WCS2..HH 2019-07-04 17:03:08.144 0.753875 0.001982 \n",
"4 CI.WBM..BH 2019-07-04 17:03:02.174 0.954165 0.002353 \n",
"5 CI.WBM..BH 2019-07-04 17:03:07.254 0.931752 0.002353 \n",
"6 CI.WBM..BH 2019-07-04 17:03:21.834 0.511648 0.000096 \n",
".. ... ... ... ... \n",
"194 CI.DTP..BH 2019-07-04 17:03:04.984 0.948384 0.000483 \n",
"195 CI.DTP..BH 2019-07-04 17:03:12.134 0.616461 0.000483 \n",
"196 CI.DTP..HN 2019-07-04 17:03:04.984 0.967691 0.000484 \n",
"197 CI.DTP..HN 2019-07-04 17:03:12.154 0.672017 0.000484 \n",
"198 CI.DTP..HN 2019-07-04 17:03:43.354 0.401861 0.000014 \n",
"\n",
" phase_type timestamp longitude latitude elevation(m) \\\n",
"1 P 2019-07-04 17:03:02.664 -117.765 36.025 1143.0 \n",
"2 S 2019-07-04 17:03:08.144 -117.765 36.025 1143.0 \n",
"4 P 2019-07-04 17:03:02.174 -117.890 35.608 892.0 \n",
"5 S 2019-07-04 17:03:07.254 -117.890 35.608 892.0 \n",
"6 P 2019-07-04 17:03:21.834 -117.890 35.608 892.0 \n",
".. ... ... ... ... ... \n",
"194 P 2019-07-04 17:03:04.984 -117.846 35.267 908.0 \n",
"195 S 2019-07-04 17:03:12.134 -117.846 35.267 908.0 \n",
"196 P 2019-07-04 17:03:04.984 -117.846 35.267 908.0 \n",
"197 S 2019-07-04 17:03:12.154 -117.846 35.267 908.0 \n",
"198 P 2019-07-04 17:03:43.354 -117.846 35.267 908.0 \n",
"\n",
" unit component response \n",
"1 m/s E,N,Z 626910000.00,626910000.00,626838000.00 \n",
"2 m/s E,N,Z 626910000.00,626910000.00,626838000.00 \n",
"4 m/s E,N,Z 314573000.00,314573000.00,314573000.00 \n",
"5 m/s E,N,Z 314573000.00,314573000.00,314573000.00 \n",
"6 m/s E,N,Z 314573000.00,314573000.00,314573000.00 \n",
".. ... ... ... \n",
"194 m/s E,N,Z 627368000.00,627368000.00,627368000.00 \n",
"195 m/s E,N,Z 627368000.00,627368000.00,627368000.00 \n",
"196 m/s**2 E,N,Z 214399.00,213971.00,214484.00 \n",
"197 m/s**2 E,N,Z 214399.00,213971.00,214484.00 \n",
"198 m/s**2 E,N,Z 214399.00,213971.00,214484.00 \n",
"\n",
"[108 rows x 12 columns]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"picks"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# stations.rename(columns={\"elevation(m)\", \"elevation_m\"}, inplace=True)\n",
"stations.rename(columns={\"elevation(m)\": \"elevation_m\"}, inplace=True)\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>station_id</th>\n",
" <th>phase_time</th>\n",
" <th>phase_score</th>\n",
" <th>phase_amplitude</th>\n",
" <th>phase_type</th>\n",
" <th>timestamp</th>\n",
" <th>longitude</th>\n",
" <th>latitude</th>\n",
" <th>elevation(m)</th>\n",
" <th>unit</th>\n",
" <th>component</th>\n",
" <th>response</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>CI.WCS2..HH</td>\n",
" <td>2019-07-04 17:03:02.664</td>\n",
" <td>0.948111</td>\n",
" <td>0.001982</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:02.664</td>\n",
" <td>-117.765</td>\n",
" <td>36.025</td>\n",
" <td>1143.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>626910000.00,626910000.00,626838000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>CI.WCS2..HH</td>\n",
" <td>2019-07-04 17:03:08.144</td>\n",
" <td>0.753875</td>\n",
" <td>0.001982</td>\n",
" <td>S</td>\n",
" <td>2019-07-04 17:03:08.144</td>\n",
" <td>-117.765</td>\n",
" <td>36.025</td>\n",
" <td>1143.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>626910000.00,626910000.00,626838000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>CI.WBM..BH</td>\n",
" <td>2019-07-04 17:03:02.174</td>\n",
" <td>0.954165</td>\n",
" <td>0.002353</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:02.174</td>\n",
" <td>-117.890</td>\n",
" <td>35.608</td>\n",
" <td>892.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>314573000.00,314573000.00,314573000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>CI.WBM..BH</td>\n",
" <td>2019-07-04 17:03:07.254</td>\n",
" <td>0.931752</td>\n",
" <td>0.002353</td>\n",
" <td>S</td>\n",
" <td>2019-07-04 17:03:07.254</td>\n",
" <td>-117.890</td>\n",
" <td>35.608</td>\n",
" <td>892.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>314573000.00,314573000.00,314573000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>CI.WBM..BH</td>\n",
" <td>2019-07-04 17:03:21.834</td>\n",
" <td>0.511648</td>\n",
" <td>0.000096</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:21.834</td>\n",
" <td>-117.890</td>\n",
" <td>35.608</td>\n",
" <td>892.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>314573000.00,314573000.00,314573000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>194</th>\n",
" <td>CI.DTP..BH</td>\n",
" <td>2019-07-04 17:03:04.984</td>\n",
" <td>0.948384</td>\n",
" <td>0.000483</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:04.984</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>627368000.00,627368000.00,627368000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>195</th>\n",
" <td>CI.DTP..BH</td>\n",
" <td>2019-07-04 17:03:12.134</td>\n",
" <td>0.616461</td>\n",
" <td>0.000483</td>\n",
" <td>S</td>\n",
" <td>2019-07-04 17:03:12.134</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s</td>\n",
" <td>E,N,Z</td>\n",
" <td>627368000.00,627368000.00,627368000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>196</th>\n",
" <td>CI.DTP..HN</td>\n",
" <td>2019-07-04 17:03:04.984</td>\n",
" <td>0.967691</td>\n",
" <td>0.000484</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:04.984</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s**2</td>\n",
" <td>E,N,Z</td>\n",
" <td>214399.00,213971.00,214484.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>197</th>\n",
" <td>CI.DTP..HN</td>\n",
" <td>2019-07-04 17:03:12.154</td>\n",
" <td>0.672017</td>\n",
" <td>0.000484</td>\n",
" <td>S</td>\n",
" <td>2019-07-04 17:03:12.154</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s**2</td>\n",
" <td>E,N,Z</td>\n",
" <td>214399.00,213971.00,214484.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>198</th>\n",
" <td>CI.DTP..HN</td>\n",
" <td>2019-07-04 17:03:43.354</td>\n",
" <td>0.401861</td>\n",
" <td>0.000014</td>\n",
" <td>P</td>\n",
" <td>2019-07-04 17:03:43.354</td>\n",
" <td>-117.846</td>\n",
" <td>35.267</td>\n",
" <td>908.0</td>\n",
" <td>m/s**2</td>\n",
" <td>E,N,Z</td>\n",
" <td>214399.00,213971.00,214484.00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>108 rows × 12 columns</p>\n",
"</div>"
],
"text/plain": [
" station_id phase_time phase_score phase_amplitude \\\n",
"1 CI.WCS2..HH 2019-07-04 17:03:02.664 0.948111 0.001982 \n",
"2 CI.WCS2..HH 2019-07-04 17:03:08.144 0.753875 0.001982 \n",
"4 CI.WBM..BH 2019-07-04 17:03:02.174 0.954165 0.002353 \n",
"5 CI.WBM..BH 2019-07-04 17:03:07.254 0.931752 0.002353 \n",
"6 CI.WBM..BH 2019-07-04 17:03:21.834 0.511648 0.000096 \n",
".. ... ... ... ... \n",
"194 CI.DTP..BH 2019-07-04 17:03:04.984 0.948384 0.000483 \n",
"195 CI.DTP..BH 2019-07-04 17:03:12.134 0.616461 0.000483 \n",
"196 CI.DTP..HN 2019-07-04 17:03:04.984 0.967691 0.000484 \n",
"197 CI.DTP..HN 2019-07-04 17:03:12.154 0.672017 0.000484 \n",
"198 CI.DTP..HN 2019-07-04 17:03:43.354 0.401861 0.000014 \n",
"\n",
" phase_type timestamp longitude latitude elevation(m) \\\n",
"1 P 2019-07-04 17:03:02.664 -117.765 36.025 1143.0 \n",
"2 S 2019-07-04 17:03:08.144 -117.765 36.025 1143.0 \n",
"4 P 2019-07-04 17:03:02.174 -117.890 35.608 892.0 \n",
"5 S 2019-07-04 17:03:07.254 -117.890 35.608 892.0 \n",
"6 P 2019-07-04 17:03:21.834 -117.890 35.608 892.0 \n",
".. ... ... ... ... ... \n",
"194 P 2019-07-04 17:03:04.984 -117.846 35.267 908.0 \n",
"195 S 2019-07-04 17:03:12.134 -117.846 35.267 908.0 \n",
"196 P 2019-07-04 17:03:04.984 -117.846 35.267 908.0 \n",
"197 S 2019-07-04 17:03:12.154 -117.846 35.267 908.0 \n",
"198 P 2019-07-04 17:03:43.354 -117.846 35.267 908.0 \n",
"\n",
" unit component response \n",
"1 m/s E,N,Z 626910000.00,626910000.00,626838000.00 \n",
"2 m/s E,N,Z 626910000.00,626910000.00,626838000.00 \n",
"4 m/s E,N,Z 314573000.00,314573000.00,314573000.00 \n",
"5 m/s E,N,Z 314573000.00,314573000.00,314573000.00 \n",
"6 m/s E,N,Z 314573000.00,314573000.00,314573000.00 \n",
".. ... ... ... \n",
"194 m/s E,N,Z 627368000.00,627368000.00,627368000.00 \n",
"195 m/s E,N,Z 627368000.00,627368000.00,627368000.00 \n",
"196 m/s**2 E,N,Z 214399.00,213971.00,214484.00 \n",
"197 m/s**2 E,N,Z 214399.00,213971.00,214484.00 \n",
"198 m/s**2 E,N,Z 214399.00,213971.00,214484.00 \n",
"\n",
"[108 rows x 12 columns]"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"picks"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Eikonal Solver: \n",
"Iter 0, error = 999.937\n",
"Iter 1, error = 0.000\n",
"Time: 1.424\n",
"Eikonal Solver: \n",
"Iter 0, error = 999.879\n",
"Iter 1, error = 0.000\n",
"Time: 0.093\n"
]
}
],
"source": [
"from app import run_adloc"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"# call loalhost:8000/predict\n",
"picks_ = picks.copy()\n",
"picks_.drop(columns=[\"timestamp\", \"latitude\", \"longitude\", \"elevation(m)\", \"unit\", \"component\", \"response\"], inplace=True, errors=\"ignore\")\n",
"picks_[\"phase_time\"] = picks_[\"phase_time\"].apply(lambda x: x.isoformat())\n",
"stations_ = stations.copy()\n",
"stations_.drop(columns=[\"component\", \"unit\", \"response\"], inplace=True, errors=\"ignore\")\n",
"picks_ = picks_.to_dict(orient=\"records\")\n",
"stations_ = stations.to_dict(orient=\"records\")\n",
"\n",
"response = requests.post(f\"{ADLOC_API_URL}/predict/\", json={\"stations\": {\"data\": stations_}, \"picks\": {\"data\":picks_}, \"config\": config})\n",
"\n",
"if response.status_code == 200:\n",
" result = response.json()\n",
" # Process the result as needed\n",
"else:\n",
" print(f\"Request failed with status code: {response.status_code}\")\n",
" print(f\"Error message: {response.text}\")"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[{'time': '2019-07-04T17:02:55.148967757', 'adloc_score': 0.9949418137109317, 'adloc_residual_time': 0.195455895248725, 'num_picks': 98, 'event_index': 0, 'longitude': -117.49587484976774, 'latitude': 35.7090950366934, 'depth_km': 0.0}]\n"
]
}
],
"source": [
"print(result[\"events\"])"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Iter 0: 100%|██████████| 1/1 [00:00<00:00, 1.19it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"ADLoc using 98 picks outof 108 picks\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"config[\"region\"] = \"Ridgecrest\"\n",
"config[\"event_index\"] = 1\n",
"\n",
"picks_, events_ = run_adloc(picks, stations, config)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"picks_ = pd.DataFrame(picks_)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x326714670>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGdCAYAAAAxCSikAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAyX0lEQVR4nO3de3gU5d3/8c/mQDgkuxIQSEIMcj5IEEVJOKhEEbACgla0GKRF1D5q0dZWRCho1YBYfSg+IhWhaquhvyJWC0RFDQcJIBQ0WgVUMCgBFE02nBKSzO+PKUuWbEIWws6d5P26rr1g7pmd/W4y2fnszD33uCzLsgQAAGCwMKcLAAAAOBUCCwAAMB6BBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeBFOF1BbysvLtWfPHsXExMjlcjldDgAAqAHLslRUVKT4+HiFhVV9HKXeBJY9e/YoMTHR6TIAAMBp2L17t9q2bVvl/HoTWGJiYiTZb9jtdjtcDQAAqAmv16vExETffrwq9SawHD8N5Ha7CSwAANQxp+rOQadbAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxggos8+bNU3Jysm+sk9TUVK1YscJvmc8++0wjRoyQx+NRTEyMUlJSlJeXV+U6n3/+eQ0cOFDNmzdX8+bNddVVV2njxo2n924AAEC9FFRgadu2rWbOnKlNmzZp06ZNSktL08iRI/Xpp59Kkr788ksNGDBAXbt2VXZ2tj766CNNmzZNjRs3rnKd2dnZuvnmm/X+++8rJydH5513nq6++mp9++23Z/bOAABAveGyLMs6kxXExsZq9uzZmjBhgm666SZFRkbq5ZdfPu31lZWVqXnz5nrmmWc0bty4Gj/P6/XK4/GosLCQkW4BAKgjarr/Pu0+LGVlZcrMzNShQ4eUmpqq8vJyLVu2TJ07d9aQIUPUqlUr9e3bV6+//npQ6z18+LCOHTum2NjYapcrLi6W1+v1ewAwSGmp9K9/SYsWSZ984nQ1AP7LsqT335deeEHKyXG6mpoLOrDk5uYqOjpaUVFRuvPOO7V06VJ1795d+/fv18GDBzVz5kwNHTpUb7/9tkaNGqXRo0dr1apVNV7/5MmTlZCQoKuuuqra5TIyMuTxeHwP7tQMGKSkRLr6amn4cOkXv5B69ZL+8henqwIaPMuS7rhDSkuTbrtN6tdPmjbN6apqJuhTQiUlJcrLy1NBQYGWLFmiBQsWaNWqVTrnnHOUkJCgm2++Wa+88opv+REjRqhZs2Z69dVXT7nuJ554QjNnzlR2draSk5OrXba4uFjFxcW+6eN3e+SUEGCA//s/6Z577E/H4yIjpe++kzwe5+oCGriVK6XBgyu3b91qf69wQk1PCQV9t+ZGjRqpY8eOkqQ+ffroww8/1Jw5czR37lxFRESoe/fufst369ZNa9euPeV6n3zyST3++ONauXLlKcOKJEVFRSkqKirY8gGEwhdfSBER0rFjJ9qOHZO++YbAAjhox47A7V9+6VxgqamgA8vJLMtScXGxGjVqpEsuuUTbtm3zm799+3YlJSVVu47Zs2fr0Ucf1VtvvaU+ffqcaUkAnNa1q92HpaKoKOm885ypB4AkqVu3wO1duoS2jtMRVGCZMmWKhg0bpsTERBUVFSkzM1PZ2dnKysqSJP32t7/VmDFjdNlll2nQoEHKysrSm2++qezsbN86xo0bp4SEBGVkZEiyTwNNmzZNr7zyitq1a6e9e/dKkqKjoxUdHV1LbxNASE2YYHe4/de/7OmICOnFF6WYGGfrAhq4K66Q7rtPevrpE20ZGVKPHo6VVGNB9WGZMGGC3n33XeXn58vj8Sg5OVkPPPCABlc4IbZw4UJlZGTom2++UZcuXfTwww9r5MiRvvlXXHGF2rVrp7/8twNeu3bt9PXXX1d6renTp2vGjBk1fiNc1gwYprxcWr1a2r9fuvhiqUMHpysC8F8ffmifBureXapBL4yzqqb77zMeh8UUBBYAAOqesz4OCwAAQKgQWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4BBYAofXll9LcudL69U5XAkCSZUn//rc0b570ySdOV1O1CKcLANCApKdLf/3rien27aXPP5ciI52rCWjAvF6pTx9px44TbZdcYn+fCDPskIZh5QCot955xz+sSNJXX0kTJjhTDwDdc49/WJGkDz+UJk92pp7qEFgAhMbSpYHbV60KbR0AfFauDNz+3nuhraMmCCwAQqN9+8DtLVqEtg4APvHxgdtbtQptHTVBYAEQGvfeK8XE+Le5XNLf/uZIOQDs/u8ul39beLjdAdc0BBYAoRERIe3fL115pf317YIL7A633bo5XRnQYKWkSB9/bP/bpo3Uv799IV9SktOVVeayLMtyuoja4PV65fF4VFhYKLfb7XQ5AACgBmq6/+YICwAAMB6BBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCyAJM2aJfXtK91wg3TwoNPVANXasEEaN04aMsTedLdvd7oi4OxzWZZlOV1EbfB6vfJ4PCosLJTb7Xa6HNQlfftKGzeemI6IkPbtk2JjnasJqMKf/yzdcYd/W0SEtGSJNGKEMzUBZ6Km+2+OsKBh27jRP6xIUmmp/dUVMNA991RuKy2V0tOl8vLQ1wOECoEFDVt2duD23btDWgZQUyUlgdu9XqmgIKSlACFFYEHDNnRo4PZOnUJbB1BDjRsHbj/3XKl589DWAoQSgQUNW3Jy5dDSuLH09tvO1AOcwosvVm5r0kRavFhyuUJfDxAqEU4XADhuxQr70/7VV6WOHe3LLsLDna4KCOjGG6XevaWFC+2+4Wlp9iM+3unKgLOLq4QAAIBjuEoIAADUGwQWAABgPAILAAAwHoEFAAAYj6uEgNq2f780fbq0d6+UmCh17WpfxtG1q9OVAUGZN096912pfXvp0UelXbuklSulZs2k666TPB6nK0RDQmABatPXX0udO1cejjQyUlq6VPrJT5ypCwjSkCH+wxHNny8dPSodOyZZlpSUJK1fL7Vp41yNaFg4JQTUpptvDjx2emmpNH68/UkPGO6DDyqPnej12pv28U3422+lGTNCXhoaMAILUJv27AncblnS999LxcWhrQc4DVu2nHqZ0lJp586zXwtwHIEFqE2dOwduDwuzj6FXdSMYwCCXXRa4veLQ/+HhUs+eoakHkAgsQO36+98D34HO7baH/wfqgORk6Y47/NvOP18655wT0xdfbPctB0KFTrdAbTrnHPvqoBdekPLz7XsTnXuudMklUsuWZ//1y8qkf/3LPlZ/9dVS9+5n/zVRLz33nHTLLXZflm7d7O5ZP/wgbdxo32yxXz+7L3l9YFnSRx9JBQX2UaNdu6RDh6QLL7S/a8AM3EsIqC8OHbI/bSt2LJg6VfrDH5yrCTDcsWPST38q/fOf9nREhN0/R7K/a7zzjtSrl3P1NQRn5V5C8+bNU3Jystxut9xut1JTU7VixQq/ZT777DONGDFCHo9HMTExSklJUV5eXrXrXbJkibp3766oqCh1795dS5cuDaYsAJL0y19W7gX56KPS5587Uw9QB/zpT9Ibb5yYPh5WJPuI0pgxoa8JgQUVWNq2bauZM2dq06ZN2rRpk9LS0jRy5Eh9+umnkqQvv/xSAwYMUNeuXZWdna2PPvpI06ZNU+NqOhrm5ORozJgxSk9P10cffaT09HTdeOON2rBhw5m9M6Ch2bQpcPvHH4e2DqAO2brV7hMfSFmZtG1b4JEKEHpnfEooNjZWs2fP1oQJE3TTTTcpMjJSL7/8co2fP2bMGHm9Xr8jNUOHDlXz5s316quv1ng9nBJCgzd0qPTWW5Xbc3KklJTQ1wPUAVOmSE88YYeTk7lcUmysPSIBzp6zckqoorKyMmVmZurQoUNKTU1VeXm5li1bps6dO2vIkCFq1aqV+vbtq9dff73a9eTk5Ojqq6/2axsyZIjWrVt3uqUBDdPzz1e+bPrqq6W+fZ2pB6gD7r/fvgLK5fI/0hIebj8WLHCuNvgL+iqh3Nxcpaam6ujRo4qOjtbSpUvVvXt37d27VwcPHtTMmTP16KOPatasWcrKytLo0aP1/vvv6/LLLw+4vr1796p169Z+ba1bt9bevXurraO4uFjFFQbh8nq9wb4VoH5JTLRvDTBlin2F0pAh0j33+A+eAcBPbKy0ebM96kBBgdS7t7Rjh92HffBgOtyaJOjA0qVLF23dulUFBQVasmSJbr31Vq1atUrn/PcC/ZEjR+q+++6TJF144YVat26dnnvuuSoDiyS5TvpAtSyrUtvJMjIy9PDDDwdbPlC/tWrFV0IgSG63NHHiiemrrnKuFlQt6FNCjRo1UseOHdWnTx9lZGSoV69emjNnjlq2bKmIiAh1P2nch27dulV7lVCbNm0qHU3Zv39/paMuJ3vwwQdVWFjoe+zevTvYtwIAAOqIMx7p1rIsFRcXq1GjRrrkkku0bds2v/nbt29XUlJSlc9PTU3VO++849f29ttvq1+/ftW+blRUlO/y6uMPAABQPwV1SmjKlCkaNmyYEhMTVVRUpMzMTGVnZysrK0uS9Nvf/lZjxozRZZddpkGDBikrK0tvvvmmsrOzfesYN26cEhISlJGRIUmaNGmSLrvsMs2aNUsjR47UP//5T61cuVJr166tvXcJhMKRI/aY5l9+aU+npUkrVzpbExCE/v3ti8oke5Dkjz6yO54CJgjqCMu+ffuUnp6uLl266Morr9SGDRuUlZWlwYMHS5JGjRql5557Tk888YR69uypBQsWaMmSJRowYIBvHXl5ecrPz/dN9+vXT5mZmVq0aJGSk5P1l7/8RYsXL1ZfrmxAXdOli/TFF/Y435YlvfuuNGyY01UBNTJggLRu3YnN99NP7SH5AVMwND9QWwJ1FA8P9x86EzBUWJgdVE5WP/YQMNlZH4cFAAAgVAgsQG2Jja3cdumloa8DOA09elRuS0gIfR1AVQgsQG3ZscO+vetxPXtKa9Y4Vw8QhK1bpc6dT0wnJHDfTJgl6IHjAFQhNlbav9/pKoDTEh5u3+gPMBVHWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AgrNn6lT7OsmLLpLWr3e6muAsXy7Fx0uRkVKLFtKCBU5XVK95vdIvfmFvKmlp9o/7yBGnqzLHunX2fX7at5fGjZN+/LHqZZ9/3r6ivmtX6dFHpbKy0NUJnE0MzY+z47LLKo9B8sYb0vDhztQTjON7h5MtXizdeGPo66nnDh60s2FRkX97797S2rVS06bO1GWK//zHDnLHjknl5fblx5dcIn3wgT2cfkWLFtnB7ziXS3roIekPfwhtzUAwGJofztm5M/CAabfcEvpaTsfLLwduf+650NbRQNxzT+WwItkDmXFgy87JZWV2WJHs/69fb49TeLLnn/eftixp/vyzXyMQCgQW1L7PPgvcfvhwaOs4XVUddDy+x0CtyssL3B4WJn37bWhrMVFVm2NNb1RYP46hAwQWVFRebu89vv/+zNaTkhK4PS7uzNYbKmPHBm6fODG0ddQyy5L27JHy883aiQ0cGLi9rMw+FdLQ/fSn9qmd46d/wsOlPn38h9E/7uc/9592uaQJE85+jUAoEFhg+/pru6deUpJ9P5xf/OL0e+vFxkrTp/u3NWpUd+6rM3CgtGSJ/XMID5fcbmnu3KqDTB1QUCANGmTfHyY+Xho61O47YoIZM6S+fSu333UXXYYk+8/ynXfsPj0JCdL110srVlTuvyLZmfqZZ6ROnaR27ez+K48+GvKSgbOCTrewpaRImzadCCkulzRrlvTb357+OnfssDshxMVJ//M/dmiBI265RcrMPPHrDQ+3v3mb1L8hO1vasMHeKffta+90AdR/Nd1/E1hgX34QFVX5PME110jLljlTE2pVQoJ9Oqiijh0Dd9wEgFDiKiHUXESEFB3t3xYebp8SQb3QsqV90Oy4sDB+vQDqFgIL7D3Z7Nn2/yMi7EeTJtLkyc7WhVozc6b9az7+6w0Lkx57zOmqAKDmIpwuAIa44w7pvPPsU0DNmkm33y516OB0Vaglw4bZA41lZtrBJT2dK3AA1C30YQEAAI6hDwsAAKg3CCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEILDgz77wjXXGFlJwsXXyx5PHYQ/tfeaW0d6/T1cEBf/+71KKFff/Mxo3tzeOjj5yuCkBdx9D8OH1r10qXXy5Zlv04WWKitG2bfSNFNAirV9ubxMmio6WPP5bOPz/0NQEwG0Pz4+x7/nn7TnpVZd7du6U1a0JbExxV1R2gDx+WXn01tLUAqF8ILDh9paW1swzqjep+3WwKAM4EgQWn76abpLKyquc3by717x+6euC4//mfwO1hYdKoUaGtBUD9QmDB6Rs+XFq0SEpKssNJXJzd09Llkjp2lHJy7E64aDCuv16aNUuKjLSnXS6pXTtp+XKpZ09HSwNQx9HpFgAAOIZOtwAAoN4gsAAAAOMRWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYgKocOyYdPux0FUDQSkqkQDddOXas+vuVAiYjsAAn83qlQYOkRo2kZs2kpk2lN990uirglPLypL59pagoKSZGeuYZu/3gQemGG6TGjaUmTaRf/YrggrqHmx8CJxs9Wlq61L8tLEz6z3+kLl2cqQk4hfJyqVcv6fPPpdLSE+1vvCH9/e/Sq6+eCCkul/SHP0gPPeRMrUBF3PwQOF0rVlRuKy+X3n039LUANZSfL33yiX9YiYiQli+3DxBWPKJiWdLrr4e8ROCMEFiAkzVpErg9Ojq0dQBBaNo0cHt0tH1msyKXS+JANOoaAgtwst//vnJbXJx03XUhLwWoqebNpYkT7TDicknh4XaflTvukKZOtZdxueyzm5L0u985VytwOiKcLgAwzr332l8/Z82SioqklBRp/ny+ksJ48+ZJXbtK778vtWwpPfCA1LGj/YiNtfuyREbaIWbQIKerBYJDp1sAAOAYOt0CAIB6g8ACAACMR2A5HUeO2CeAY2Ol9u2ldeucrqhO+stfpB49pNatpbQ06a23nK4IAGAqOt0Gq7jYvmKksNCe/vFHqX9/ae1a+1/UyMMPSzNmnJjev9/uKDh/vnT77Y6VBQAwFEdYgrV48YmwUtHPfx76WkxRWir98IP0/fc1WtyypMceCzzvd78LfA8UNAzl5dLevfa/kr0tFBWxTQAgsARv167A7YFCTH1nWfaYJZGRUosW0rnn2jcw+fjjap9WWmrfhC2QoiLucdJQPfaYPTJrXJz974QJ0nnn2VeTN28uLVnidIUAnERgCdaIEYHbBwwIbR0mePFF+4YkFR08KA0cWO3TIiOlxMTA8y691N5ZoWF5/317cLPjR1IsS1q4UNqzx54uLJRuuknKzXWuRgDOCiqwzJs3T8nJyXK73XK73UpNTdWKCvddGT9+vFwul98jJSXllOv93//9X3Xp0kVNmjRRYmKi7rvvPh09ejT4dxMKF14o/eY3/m3t20v/7/85Uo6jsrICt3u99qMa2dmSx+Pf1qmTfcYNDc/f/x64/fipoeP/f++90NQDwDxBfZdt27atZs6cqY4dO0qSXnzxRY0cOVJbtmxRjx49JElDhw7VokWLfM9p1KhRtev829/+psmTJ2vhwoXq16+ftm/frvHjx0uSnn766WDKC50nn7Rvc/rWW1LPnvalLg1RTEzV86q6scl/tW9vd3v56CO733K7dvYjjGN+DVJs7KmXKS+vfpMDUL+d8Ui3sbGxmj17tiZMmKDx48eroKBArwdxG9C7775bn332md6tcCfc3/zmN9q4caPWrFlT4/Uw0q0DPv1U6t27coeUtDTubIygfPed3V+l4oHV4/fEsSw7yCYlSVu2cIcEoL456yPdlpWVKTMzU4cOHVJqaqqvPTs7W61atVLnzp01ceJE7d+/v9r1DBgwQJs3b9bGjRslSV999ZWWL1+un/zkJ9U+r7i4WF6v1++BEOvRQ9q82R6TJjra7hk5YYL0zjtOV4Y65txzpc8/l/r1kxIS7Ns3ffqp3ad71CjpV7+SNmwgrAANWdBHWHJzc5WamqqjR48qOjpar7zyiq655hpJ0uLFixUdHa2kpCTt3LlT06ZNU2lpqTZv3qyoqKgq1zl37lz95je/kWVZKi0t1S9/+Us9++yz1dYxY8YMPfzww5XaOcICAEDdUdMjLEEHlpKSEuXl5amgoEBLlizRggULtGrVKnXv3r3Ssvn5+UpKSlJmZqZGjx4dcH3Z2dm66aab9Oijj6pv37764osvNGnSJE2cOFHTpk2rso7i4mIVFxf7pr1erxITEwksAADUIWctsJzsqquuUocOHTR//vyA8zt16qTbbrtNDzzwQMD5AwcOVEpKimbPnu1r++tf/6rbb79dBw8eVFgNe2HShwUAgLonZHdrtizL70hHRQcOHNDu3bsVFxdX5fMPHz5cKZSEh4fLsiydYZYCAAD1RFCXNU+ZMkXDhg1TYmKiioqKlJmZqezsbGVlZengwYOaMWOGrr/+esXFxWnXrl2aMmWKWrZsqVGjRvnWMW7cOCUkJCgjI0OSNHz4cD311FPq3bu375TQtGnTNGLECIWHh9fuuwUAAHVSUIFl3759Sk9PV35+vjwej5KTk5WVlaXBgwfryJEjys3N1UsvvaSCggLFxcVp0KBBWrx4sWIqDJ6Ql5fnd0Rl6tSpcrlcmjp1qr799lude+65Gj58uB6r6mYzAACgwTnjPiymoA8LAAB1T8j6sAAAAJxtBBYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIxHYGlo9u2TeveWmjeXunSRvvjC6YoQYpMmSS1bSq1bS3/8o9PVAEDNRDhdAELoxx+ltm2l0lJ7uqBA6txZ2rlTSkpytDSExvDh0r/+dWL6/vul/fulWbOcqwkAaoIjLA3J1KknwspxliVNnOhMPQi5imHluKefDn0dABAsAktDsnt34Pb9+0NbB4xycoYFABMRWBqSn/0scPuoUaGtA46Jiqrc1qpV6OsAgGARWBqSm26Srr/ev61/f2n6dGfqQci9+64UVuGvPipK2rzZuXoAoKbodNvQ/OMf9pVC2dlSSgqdbRuY/v2lkhLprbekpk2lK65wuiIAqBmXZVmW00XUBq/XK4/Ho8LCQrndbqfLAQAANVDT/TenhAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEC2b5deuMN6cgRpysBJElHj0rvvitt2SKVlTldDRB6BBagorIy6bzzpC5dpJEjpaZNpblzna4KDdyCBVKTJtJVV0kXXSRFR0tbtzpdFRBaQQWWefPmKTk5WW63W263W6mpqVqxYoVv/vjx4+VyufweKSkpp1xvQUGB7rrrLsXFxalx48bq1q2bli9fHvy7Ac7UNddIu3f7t/3qVxxpgWP27pUmTvRvO3pUuuwyqaTEmZoAJ0QEs3Dbtm01c+ZMdezYUZL04osvauTIkdqyZYt69OghSRo6dKgWLVrke06jRo2qXWdJSYkGDx6sVq1a6R//+Ifatm2r3bt3KyYmJtj3Apy5jRsDt2dlSaNGhbYWQNJbbwVuLyqSvvpK6to1tPUATgkqsAwfPtxv+rHHHtO8efO0fv16X2CJiopSmzZtarzOhQsX6ocfftC6desUGRkpSUpKSgqmLKD2NGsmFRRUbmevAIckJlY9r3nz0NUBOO20+7CUlZUpMzNThw4dUmpqqq89OztbrVq1UufOnTVx4kTt37+/2vW88cYbSk1N1V133aXWrVvrggsu0OOPP64yepXBCS+8ULktIUHq1i30tQCS0tKk88+v3P7zn0utW4e+HsApQR1hkaTc3Fylpqbq6NGjio6O1tKlS9W9e3dJ0rBhw/TTn/5USUlJ2rlzp6ZNm6a0tDRt3rxZUVFRAdf31Vdf6b333tPYsWO1fPly7dixQ3fddZdKS0v1+9//vso6iouLVVxc7Jv2er3BvhWgsiFDpGXL7E4Dhw5JffpUfUweCJHt26UxY6TsbKlRI+nee6Xf/c7pqoDQclmWZQXzhJKSEuXl5amgoEBLlizRggULtGrVKl9oqSg/P19JSUnKzMzU6NGjA66vc+fOOnr0qHbu3Knw8HBJ0lNPPaXZs2crPz+/yjpmzJihhx9+uFJ7YWGh3G53MG8JAAA4xOv1yuPxnHL/HfQRlkaNGvk63fbp00cffvih5syZo/nz51daNi4uTklJSdqxY0eV64uLi1NkZKQvrEhSt27dtHfvXpWUlFTZaffBBx/Ur3/9a9+01+tVYnUne0+H1yu9/LJ04IDdJf+KK2p3/Q3IsmXSpk322ZX0dKmKA24AAAQUdGA5mWVZfqdmKjpw4IB2796tuLi4Kp/fv39/vfLKKyovL1dYmN2lZvv27YqLi6v2CqOoqKgqTzPVioICqW9faccOKTxcKi2V5syxL3FFUB58UJo5U4qIsIc5WbDAPrTduLHTlQEA6oqgOt1OmTJFa9as0a5du5Sbm6uHHnpI2dnZGjt2rA4ePKj7779fOTk52rVrl7KzszV8+HC1bNlSoypcDjpu3Dg9+OCDvulf/vKXOnDggCZNmqTt27dr2bJlevzxx3XXXXfV3rs8HXPnSl9+KVmWHVYk6de/lg4edLauOmbXLjusSPaP0bLsK4dfftnRsgAAdUxQR1j27dun9PR05efny+PxKDk5WVlZWRo8eLCOHDmi3NxcvfTSSyooKFBcXJwGDRqkxYsX+42pkpeX5zuSIkmJiYl6++23dd999yk5OVkJCQmaNGmSHnjggdp7l6fj22+lsDD/MbDLyqTvvrOHmUSN7NlTuS08PHA7AABVCbrTralq2mmnxhYs8B9eMizMHvRgzx67mz5q5MABexyJkweKffNN6dprnakJAGCOmu6/uZdQVX7xC3ugg+Pcbun11wkrQWrRQlq82L4PynGTJxNWAADB4QjLqezYIX3/vdSjhx1acFoOHJC2bZPi46V27ZyuBgBgirN2WXOD06mT/cAZadFC6tfP6SoAAHUVp4QAAIDxCCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjEdgQWVlZVJ5uXTsmNOVwCFHjjhdAQD4I7DghAMHpKFDpYgIKTxcatRIio6WsrOdrgwhcuutksslNW1q/ztrltMVAYCNwIITbrpJeust/7ZDh6Srr5a+/96ZmhAy8+dLL73k3zZ5svTxx87UAwAVEVhgO3pUWrky8Lxjx6ScnNDWg5CbNy9w+9y5oa0DAAIhsMAWESFFRlY9v1mz0NUCR1T1K/Z4QlsHAARCYIEtIkL69a8Dz4uPlwYMCG09CLn/+7/KbWFh0owZIS8FACohsOCExx+X5syReve2e1263dKVV0qffmp3wEW9duGFUlaWfUQlIkJq3Vravt3udw0ATnNZlmU5XURt8Hq98ng8KiwslNvtdrocAABQAzXdf3OEBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8CC2vfBB1KrVlKTJlL79tJ33zldEQwwaZKUmGgP+X/ppdKECdLWrU5XBaCuYGh+1K5PPpF69vRvi4iQDh3ifkQN2PXXS6+95t8WFmZvGjk50kUXOVMXAOcxND+cMXFi5bbSUmnWrNDXAmMsXVq5rbxcKiuTnn469PUAqHsILKhdhYWB2/PzQ1sHjFLVcdzycsnrDW0tAOomAgtq1623Bm6/887Q1gGjtGoVuN2ypKFDQ1sLgLqJwILa9cAD0jXX+Lf9/vdScrIz9cAI69ZJsbH+beHh9uZClgVQExFOF4B6aNkyqaRE2rVL6tDB3jOhQevQQTpwQPr+e6lpU/vISlSU3ekWAGqCjwucHY0aSZ07O10FDNOypdMVAKirOCUEAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjEdgAQAAxiOwAAAA40U4XQBgNMuS3nxT+vxzqVMn6brrJJfL6aqASv79b+n99yWPRxozRoqJcboioHYFdYRl3rx5Sk5OltvtltvtVmpqqlasWOGbP378eLlcLr9HSkpKjdefmZkpl8ul6667LpiygLPDsqSJE6WRI6UpU6TRo6WxY+12wCCvvCJdcon0u99Jt98uXXSRdOCA01UBtSuowNK2bVvNnDlTmzZt0qZNm5SWlqaRI0fq008/9S0zdOhQ5efn+x7Lly+v0bq//vpr3X///Ro4cGBw7wA4W9atk154wf5/WZn976uvSu+951xNwElKS+1cXV5uPyxL2rlTeuIJpysDaldQp4SGDx/uN/3YY49p3rx5Wr9+vXr06CFJioqKUps2bYIqoqysTGPHjtXDDz+sNWvWqKCgIKjnA2dFXl5w7YADCgqkw4crt+/eHfJSgLPqtDvdlpWVKTMzU4cOHVJqaqqvPTs7W61atVLnzp01ceJE7d+//5TreuSRR3TuuedqwoQJNX794uJieb1evwdQq5KTA/dXSU4OfS1AFVq0kNq0kcIqfJqXl0u9ejlXE3A2BB1YcnNzFR0draioKN15551aunSpunfvLkkaNmyY/va3v+m9997TH//4R3344YdKS0tTcXFxlev74IMP9MILL+j5558Pqo6MjAx5PB7fIzExMdi3AlSvRw9pzpwTocXlkmbPli6+2Nm6gApcLum11yS3+0TbNddI993nXE3A2eCyrOB6EJaUlCgvL08FBQVasmSJFixYoFWrVvlCS0X5+flKSkpSZmamRo8eXWl+UVGRkpOT9eyzz2rYsGGS7I67BQUFev3116uto7i42C8Ieb1eJSYmqrCwUO6Kf7nAmdq1S9qxQ+rQQWrf3ulqgIB+/FHaskU65xzpwgv9j7gAJvN6vfJ4PKfcfwcdWE521VVXqUOHDpo/f37A+Z06ddJtt92mBx54oNK8rVu3qnfv3goPD/e1lZeXS5LCwsK0bds2dejQoUZ11PQNAwAAc9R0/33G47BYllXlKZ8DBw5o9+7diouLCzi/a9euys3N9WubOnWqioqKNGfOHE7zAAAASUEGlilTpmjYsGFKTExUUVGRMjMzlZ2draysLB08eFAzZszQ9ddfr7i4OO3atUtTpkxRy5YtNWrUKN86xo0bp4SEBGVkZKhx48a64IIL/F7jnHPOkaRK7QAAoOEKKrDs27dP6enpys/Pl8fjUXJysrKysjR48GAdOXJEubm5eumll1RQUKC4uDgNGjRIixcvVkyFIRfz8vIUxslVAAAQhDPuw2IK+rAAAFD31HT/zaEOAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAA4a/58aeBA6YYbpB9+cLoaABWsXy/df780cqQ0ebL01VfO1eKyLMty7uVrj9frlcfjUWFhodxut9PlAKiJa6+Vli07MR0WJuXlSQkJztUEQJL0+99Lf/iDf1t4uP0nO2RI7b1OTfffBBYAzti7V4qLq9zeqZO0fXvo6wHgk5srJScHnnfOOfbBUJerdl6rpvtvTgkBcEZOTuD2fftCWweASr74oup5BQXS4cMhK8WHwALAGQMGBG6Pjw9tHQAq6dKl6nktWkhNm4auluMILACcce650o03+rdFREirVztTDwCf7t2lmTMrt0dGSq+9Vnung4JBHxYAzlqyRFq40O5oO2eO1KSJ0xUB+K+PP5beeEP68kupa1cpPb32D4LS6RYAABiPTrcAAKDeILAAAADjEVgAAIDxCCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEinC6gthy/JZLX63W4EgAAUFPH99unurVhvQksRUVFkqTExESHKwEAAMEqKiqSx+Opcn69uVtzeXm59uzZo5iYGLlcLqfLqRO8Xq8SExO1e/du7nANR7EtwhRsi6FnWZaKiooUHx+vsLCqe6rUmyMsYWFhatu2rdNl1Elut5s/TBiBbRGmYFsMreqOrBxHp1sAAGA8AgsAADAegaUBi4qK0vTp0xUVFeV0KWjg2BZhCrZFc9WbTrcAAKD+4ggLAAAwHoEFAAAYj8ACAACMR2ABAADGI7AYZPXq1Ro+fLji4+Plcrn0+uuv+813uVwBH7Nnz652vbm5ubr88svVpEkTJSQk6JFHHvG7Z8PatWvVv39/tWjRQk2aNFHXrl319NNPn7Le4uJi3XPPPWrZsqWaNWumESNG6JtvvvFb5scff1R6ero8Ho88Ho/S09NVUFBQ458JnFEft8V27dpVqnfy5Mk1/6Eg5OradvjnP/9ZV1xxhdxut1wuV8DPOj4TTx+BxSCHDh1Sr1699MwzzwScn5+f7/dYuHChXC6Xrr/++irX6fV6NXjwYMXHx+vDDz/U3Llz9eSTT+qpp57yLdOsWTPdfffdWr16tT777DNNnTpVU6dO1Z///Odq67333nu1dOlSZWZmau3atTp48KCuvfZalZWV+Zb52c9+pq1btyorK0tZWVnaunWr0tPTg/zJINTq47YoSY888ohf3VOnTg3ip4JQq2vb4eHDhzV06FBNmTKlymX4TDwDFowkyVq6dGm1y4wcOdJKS0urdplnn33W8ng81tGjR31tGRkZVnx8vFVeXl7l80aNGmXdcsstVc4vKCiwIiMjrczMTF/bt99+a4WFhVlZWVmWZVnWf/7zH0uStX79et8yOTk5liTr888/r7ZumKM+bIuWZVlJSUnW008/XW2NMJfp22FF77//viXJ+vHHH/3a+Uw8MxxhqaP27dunZcuWacKECX7t48eP1xVXXOGbzsnJ0eWXX+43CNKQIUO0Z88e7dq1K+C6t2zZonXr1unyyy/3tWVnZ8vlcvmes3nzZh07dkxXX321b5n4+HhdcMEFWrdune+1PR6P+vbt61smJSVFHo/HtwzqvrqwLR43a9YstWjRQhdeeKEee+wxlZSUnOa7hmmc3g5rgs/EM1Nvbn7Y0Lz44ouKiYnR6NGj/drj4uJUXl7um967d6/atWvnt0zr1q19884//3xfe9u2bfXdd9+ptLRUM2bM0G233eab17RpU3Xp0kWRkZG+5zZq1EjNmzevtO69e/f6lmnVqlWl2lu1auVbBnVfXdgWJWnSpEm66KKL1Lx5c23cuFEPPvigdu7cqQULFpzZDwBGcHo7rAk+E88MgaWOWrhwocaOHavGjRv7tWdkZFRa1uVy+U1b/+1cdnL7mjVrdPDgQa1fv16TJ09Wx44ddfPNN0uSLr30Un3++eenrMuyLL/1nvwagZZB3VZXtsX77rvP9//k5GQ1b95cN9xwg++oC+o2U7fDU7328dfnM/HUCCx10Jo1a7Rt2zYtXrz4lMu2adOmUnLfv3+/pBPfKo47/s2iZ8+e2rdvn2bMmOH74wy03pKSEv34449+32z379+vfv36+ZbZt29fped+9913lV4bdVNd2RYDSUlJkSR98cUXBJY6zoTtsCb4TDwz9GGpg1544QVdfPHF6tWr1ymXTU1N1erVq/3O1b/99tuKj4+vdFi0IsuyVFxcXOX8iy++WJGRkXrnnXd8bfn5+frkk098O4nU1FQVFhZq48aNvmU2bNigwsLCanckqDvqyrYYyJYtWyTZpwxQt5mwHdYEn4lnyKnevqisqKjI2rJli7VlyxZLkvXUU09ZW7Zssb7++mvfMoWFhVbTpk2tefPmBVzH5MmTrfT0dN90QUGB1bp1a+vmm2+2cnNzrddee81yu93Wk08+6VvmmWeesd544w1r+/bt1vbt262FCxdabrfbeuihh3zLbNiwwerSpYv1zTff+NruvPNOq23bttbKlSutf//731ZaWprVq1cvq7S01LfM0KFDreTkZCsnJ8fKycmxevbsaV177bW18vPC2VPftsV169b53sNXX31lLV682IqPj7dGjBhRaz8z1L66th3m5+dbW7ZssZ5//nlLkrV69Wpry5Yt1oEDB3zL8Jl4+ggsBjl+KdzJj1tvvdW3zPz5860mTZpYBQUFAddx6623Wpdffrlf28cff2wNHDjQioqKstq0aWPNmDHD7/K9P/3pT1aPHj2spk2bWm632+rdu7f17LPPWmVlZZVq27lzp6/tyJEj1t13323FxsZaTZo0sa699lorLy/P77UPHDhgjR071oqJibFiYmKssWPHVrrUD+apb9vi5s2brb59+1oej8dq3Lix1aVLF2v69OnWoUOHzuwHhbOqrm2H06dPD1jvokWLfMvwmXj6XJZVYXg/AAAAA9GHBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADj/X92hNcrMFko+AAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"idx = picks_[\"adloc_mask\"] == 1\n",
"plt.scatter(picks_[idx][\"timestamp\"], picks_[idx][\"latitude\"], c=picks_[idx][\"phase_type\"].apply(lambda x: color[x]), s=10)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>time</th>\n",
" <th>adloc_score</th>\n",
" <th>adloc_residual_time</th>\n",
" <th>num_picks</th>\n",
" <th>event_index</th>\n",
" <th>longitude</th>\n",
" <th>latitude</th>\n",
" <th>depth_km</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2019-07-04 17:02:55.148967757</td>\n",
" <td>0.994942</td>\n",
" <td>0.195456</td>\n",
" <td>98</td>\n",
" <td>1</td>\n",
" <td>-117.495875</td>\n",
" <td>35.709095</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" time adloc_score adloc_residual_time num_picks \\\n",
"0 2019-07-04 17:02:55.148967757 0.994942 0.195456 98 \n",
"\n",
" event_index longitude latitude depth_km \n",
"0 1 -117.495875 35.709095 0.0 "
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"events_"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "base",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.12"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "cd49b9d623d06aa0c5f872a997e70207e179b28bd8e4cd8fec363e5d29096c9c"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
|