From d133629207018cec1940e6fedadf9c9b4ed33d5c Mon Sep 17 00:00:00 2001 From: XANTRONIX Industrial Date: Tue, 11 Feb 2025 21:11:43 -0500 Subject: [PATCH] Initial commit of lib/nexrad/archive.py --- doc/radars.tsv | 158 ++++++++++++++++++++++++++++++++++++++++++ lib/nexrad/archive.py | 23 ++++++ 2 files changed, 181 insertions(+) create mode 100644 doc/radars.tsv create mode 100644 lib/nexrad/archive.py diff --git a/doc/radars.tsv b/doc/radars.tsv new file mode 100644 index 0000000..60754b0 --- /dev/null +++ b/doc/radars.tsv @@ -0,0 +1,158 @@ +14929 KABR Aberdeen, SD 452721 / 0982447 1302 20 +54766 KENX Albany, NY 423511 / 0740350 1826 20 +03019 KABX Albuquerque, NM 350859 / 1064926 5870 20 +03981 KFDR Altus AFB, OK 342144 / 0985835 1267 10 +23047 KAMA Amarillo, TX 351400 / 1014233 3587 20 +26548 PAHG Anchorage, AK 604333 / 1512105 242 30 +41417 PGUA Anderson AFB, GU 132709 / 1444841E 264 30 +53819 KFFC Atlanta, GA 332149 / 0843357 858 30 +12971 KEWX Austin/San Antonio, TX 294214 / 0980142 633 20 +93240 KBBX Beale AFB, CA 392946 / 1213754 167 10 +PENDING PABC Bethel, AK 604731 / 1615235 162 5 +94096 KBLX Billings, MT 455114 / 1083624 3598 10 +04725 KBGM Binghamton, NY 421159 / 0755905 1606 20 +53823 KBMX Birmingham, AL 331020 / 0864611 645 30 +24011 KBIS Bismarck, ND 464615 / 1004538 1658 20 +04101 KCBX Boise, ID 432926 / 1161408 3061 20 +54765 KBOX Boston, MA 415721 / 0710813 118 30 +12919 KBRO Brownsville, TX 255458 / 0972508 23 10 +14733 KBUF Buffalo, NY 425656 / 0784412 693 20 +54774 KCXX Burlington, VT 443040 / 0731001 317 30 +43216 RKSG Camp Humphreys, Korea 365721 / 1270116E 52 20 +03022 KFDX Cannon AFB, NM 343807 / 1033748 4650 10 +PENDING KICX Cedar City, UT 373527 / 1125144 10600 30 +53845 KCLX Charleston, SC 323920 / 0810232 97 30 +53834 KRLX Charleston, WV 381840 / 0814323 1080 30 +24018 KCYS Cheyenne, WY 410907 / 1044822 6128 10 +04831 KLOT Chicago, IL 413617 / 0880505 663 20 +13841 KILN Cincinnati, OH 392513 / 0834918 1056 30 +14820 KCLE Cleveland, OH 412447 / 0815135 763 20 +13883 KCAE Columbia, SC 335655 / 0810706 231 30 +53837 KGWX Columbus AFB, MS 335348 / 0881944 476 20 +12924 KCRP Corpus Christi, TX 274703 / 0973040 45 20 +03985 KFWS Dallas/Ft. Worth, TX 323423 / 0971811 683 20 +94982 KDVN Davenport, IA 413642 / 0903451 754 20 +03018 KFTG Denver, CO 394712 / 1043245 5497 30 +94984 KDMX Des Moines, IA 414352 / 0934322 981 30 +04830 KDTX Detroit, MI 424159 / 0832818 1072 30 +13985 KDDC Dodge City, KS 374539 / 0995808 2590 20 +93770 KDOX Dover AFB, DE 384932 / 0752623 50 30 +14913 KDLH Duluth, MN 465013 / 0921235 1428 30 +03987 KDYX Dyess AFB, TX 323218 / 0991516 1517 10 +53114 KEYX Edwards AFB, CA 350552 / 1173339 2757 20 +53825 KEVX Eglin AFB, FL 303352 / 0855517 140 20 +03020 KEPZ El Paso, TX 315223 / 1064153 4104 30 +04108 KLRX Elko, NV 404423 / 1164810 6744 30 +94289 KBHX Eureka, CA 402954 / 1241731 2402 30 +24690 PAPD Fairbanks, AK 650206 / 1473006 2593 30 +53113 KFSX Flagstaff, AZ 343428 / 1111152 7417 20 +53839 KHPX Fort Campbell, KY 364412 / 0871706 576 10 +03992 KGRK Fort Hood, TX 304319 / 0972259 538 10 +03993 KPOE Fort Polk, LA 310920 / 0925833 408 10 +53851 KEOX Fort Rucker, AL 312738 / 0852734 434 10 +PENDING KSRX Fort Smith, AR 351726 / 0942142 640 20 +PENDING KIWX Fort Wayne, IN 412132 / 0854200 960 25 +04837 KAPX Gaylord, MI 445426 / 0844311 1464 20 +94008 KGGW Glasgow, MT 481223 / 1063730 2276 20 +23065 KGLD Goodland, KS 392201 / 1014201 3651 10 +94986 KMVX Grand Forks, ND 473140 / 0971932 986 20 +03025 KGJX Grand Junction, Co 390344 / 1081250 9991 10 +94860 KGRR Grand Rapids, MI 425338 / 0853241 778 20 +04102 KTFX Great Falls, MT 472735 / 1112307 3714 10 +14898 KGRB Green Bay, WI 442954 / 0880641 682 30 +03870 KGSP Greer, SC 345300 / 0821312 940 30 +54763 KRMX Griffiss AFB, NY 432804 / 0752728 1516 30 +94981 KUEX Hastings, NE 401915 / 0982631 1976 20 +03023 KHDX Holloman AFB, NM 330435 / 1060722 4222 10 +94625 KCBW Houlton, ME 460221 / 0674823 746 30 +03980 KHGX Houston/Galveston, TX 292819 / 0950445 18 20 +PENDING KHTX Huntsville, AL 345550 / 0860500 1760 15 +93819 KIND Indianapolis, IN 394227 / 0861649 790 20 +03889 KJKL Jackson, KY 373527 / 0831847 1364 25 +03940 KJAN Jackson, MS 321904 / 0900448 297 20 +13889 KJAX Jacksonville, FL 302905 / 0814207 33 20 +42219 RODN Kadena, Okinawa 261807 / 1275435E 218 30 +PENDING PHKN Kamuela, HI 200732 / 1554640 3812 30 +03983 KEAX Kansas City, MO 384837 / 0941552 995 20 +92804 KBYX Key West, FL 243551 / 0814211 8 20 +PENDING PAKC King Salmon, AK 584046 / 1563746 63 20 +53832 KMRX Knoxville/Tri-Cities, TN 361007 / 0832406 1337 20 +PENDING RKJK Kunsan AB, Korea 355527 / 1263720E 78 30 +94987 KARX La Crosse, WI 434922 / 0911128 1276 20 +PENDING LPLA Lajes AB, Azores 384349 / 0271918 3334 20 +03937 KLCH Lake Charles, LA 300731 / 0931257 13 20 +53110 KESX Las Vegas, NV 354204 / 1145329 4867 20 +22015 KDFX Laughlin AFB, TX 291622 / 1001650 1131 10 +04833 KILX Lincoln, IL 400902 / 0892013 582 30 +03952 KLZK Little Rock, AR 345011 / 0921544 568 20 +53101 KVTX Los Angeles, CA 342442 / 1191046 2726 20 +53827 KLVX Louisville, KY 375831 / 0855638 719 30 +23042 KLBB Lubbock, TX 333915 / 1014851 3259 20 +94850 KMQT Marquette, MI 463152 / 0873254 1411 30 +53826 KMXX Maxwell AFB, AL 323212 / 0854723 400 30 +94296 KMAX Medford, OR 420452 / 1224302 7513 10 +12838 KMLB Melbourne, FL 280648 / 0803915 35 20 +93839 KNQA Memphis, TN 352041 / 0895224 282 20 +12899 KAMX Miami, FL 253640 / 0802446 14 20 +PENDING PAIH Middleton Island, AK 592741 / 1461811 67 10 +23023 KMAF Midland/Odessa, TX 315636 / 1021121 2868 10 +04834 KMKX Milwaukee, WI 425804 / 0883302 958 10 +94983 KMPX Minneapolis/St. Paul, MN 445056 / 0933356 946 30 +94048 KMBX Minot AFB, ND 482333 / 1005154 1493 20 +04103 KMSX Missoula, MT 470228 / 1135910 7855 10 +13894 KMOB Mobile, AL 304046 / 0881423 208 20 +22547 PHMO Molokai, HI 210758 / 1571048 1363 20 +53856 KVAX Moody AFB, GA 302325 / 0830006 173 30 +93768 KMHX Morehead City, NC 344634 / 0765234 31 30 +53833 KOHX Nashville, TN 361450 / 0863345 579 20 +53813 KLIX New Orleans, LA 302012 / 0894932 24 30 +94703 KOKX New York City, NY 405156 / 0725150 85 30 +PENDING PAEC Nome, AK 643041 / 1651742 54 5 +93773 KAKQ Norfolk/Richmond, VA 365902 / 0770026 112 20 +94049 KLNX North Platte, NE 415728 / 1003435 2970 20 +03979 KTLX Oklahoma City, OK 351959 / 0971640 1213 15 +94980 KOAX Omaha, NE 411913 / 0962200 1148 30 +03816 KPAH Paducah, KY 370406 / 0884619 392 30 +24155 KPDT Pendleton, OR 454126 / 1185110 1515 10 +93771 KDIX Philadelphia, PA 395649 / 0742439 149 20 +23104 KIWA Phoenix, AZ 331721 / 1114012 1353 10 +04832 KPBZ Pittsburgh, PA 403154 / 0801305 1185 20 +04107 KSFX Pocatello/Idaho Falls, ID 430621 / 1124110 4474 10 +54762 KGYX Portland, ME 435329 / 0701523 409 10 +94288 KRTX Portland, OR 454253 / 1225755 1572 30 +03021 KPUX Pueblo, CO 382734 / 1041053 5249 10 +93772 KRAX Raleigh/Durham, NC 353956 / 0782923 348 30 +94047 KUDX Rapid City, SD 440730 / 1024947 3016 30 +53104 KRGX Reno, NV 394515 / 1192744 8299 20 +24061 KRIW Riverton, WY 430358 / 1082838 5568 10 +53831 KFCX Roanoke, VA 370128 / 0801626 2868 20 +53824 KJGX Robins AFB, GA 324031 / 0832104 521 20 +93235 KDAX Sacramento, CA 383004 / 1214040 30 30 +03982 KLSX Saint Louis, MO 384156 / 0904058 608 30 +04104 KMTX Salt Lake City, UT 411546 / 1122652 6460 30 +23034 KSJT San Angelo, TX 312217 / 1002933 1890 30 +53115 KNKX San Diego, CA 325508 / 1170231 955 20 +93236 KMUX San Francisco, CA 370919 / 1215354 3469 20 +53111 KHNX San Joaquin Valley, CA 361851 / 1193756 243 20 +PENDING TJUA San Juan, PR 180656 / 0660441 2794 30 +53117 KSOX Santa Ana Mountains, CA 334904 / 1173809 3027 15 +94287 KATX Seattle/Tacoma, WA 481140 / 1222945 494 30 +13957 KSHV Shreveport, LA 322703 / 0935029 273 30 +14944 KFSD Sioux Falls, SD 433516 / 0964346 1430 10 +PENDING PACG Sitka, AK 565110 / 1353145 209 10 +22548 PHKI South Kauai, HI 215339 / 1593308 179 30 +PENDING PHWA South Shore, HI 190542 / 1553408 1380 20 +04106 KOTX Spokane, WA 474049 / 1173736 2384 10 +13995 KSGF Springfield, MO 371407 / 0932402 1278 20 +54764 KCCX State College, PA 405523 / 0780013 2405 20 +93767 KLWX Sterling, VA 385831 / 0772840 272 25 +93805 KTLH Tallahassee, FL 302351 / 0841944 63 30 +92801 KTBW Tampa, FL 274220 / 0822406 41 20 +03986 KTWX Topeka, KS 385949 / 0961357 1367 10 +53112 KEMX Tucson, AZ 315337 / 1103749 5205 30 +03984 KINX Tulsa, OK 361030 / 0953353 668 20 +03995 KVNX Vance AFB, OK 364427 / 0980740 1210 10 +93234 KVBX Vandenberg AFB, CA 345017 / 1202349 1223 20 +03928 KICT Wichita, KS 373917 / 0972634 1335 10 +93774 KLTX Wilmington, NC 335922 / 0782544 64 20 +53116 KYUX Yuma, AZ 322943 / 1143924 174 10 diff --git a/lib/nexrad/archive.py b/lib/nexrad/archive.py new file mode 100644 index 0000000..53883c6 --- /dev/null +++ b/lib/nexrad/archive.py @@ -0,0 +1,23 @@ +import os + +from nexrad.s3 import S3Bucket + +class Archive(): + path: str + bucket: S3Bucket + + def __init__(self, path: str, bucket: S3Bucket): + self.path = path + self.bucket = bucket + + def is_archived(self, key: str): + return os.path.exists(self.path + '/' + key) + + def archive(self, key: str): + path = self.path + '/' + key + parent = os.path.dirname(path) + + os.makedirs(parent, exist_ok=True) + + with open(path, 'wb') as fh: + self.bucket.s3.download_fileobj(self.bucket.name, key, fh)