Skip to content

f2re/isd_parser

Repository files navigation

isd_parser

ISD parse python script NOAA weather database to MongoDB

Скрипт для парсинга данных со станций NOAA ftp://ftp.ncdc.noaa.gov/pub/data/noaa/

Сохранение производится в коллекцию MongoDB - но можно настроить свой драйвер для сохранения в любую базу и влюбом формате.

Как распарсить файлы NOAA к себе в базу:

  • Скачиваем с ftp://ftp.ncdc.noaa.gov/pub/data/noaa/ архив с годом, который нам необходим
  • Разорхивируем его в папку
  • В файле isd_parser.py указываем путь к *.csv файлам базы в переменной path:
path = "/home/ivan/WEATHERSRC/2018"
  • Настраиваем параметры подключения к MongoDB:
mongo_db         = 'srcdata'
mongo_collection = 'meteoisd'
mongo_host       = 'localhost'
mongo_port       = 27017
  • скрипт парсит в потоках, поэтому надо указать количество потоков (на пару больше, чем ядер у процессора):
pool = Pool(processes=12)
  • запускаем скрипт командой:
python isd_parser.py
  • дожидаемся выполнения скрипта - в базе у нас лежит распарсеный год - пользуемся!

stantionclass.py

Здесь описан класс работы с метеоинформацией по конкретной станции за конкретный срок. Можно добавлять, удалять методы, чтобы, например, подготовить метеоинформацию к сохранению в другую базу, в другом виде

isd.py

Сам класс преобразования csv строки в понятные человеку штуки раскодируются не все поля, только нужные мне - можно добавить по желанию остальные (принцип заложен) Описательный документ (как парсить поля) - https://www.ncei.noaa.gov/data/global-hourly/doc/isd-format-document.pdf

About

ISD parse python script

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages