Skip to content

pyoadfe/hw1-o3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Домашнее задание № 1

Чтение и запись файл, первичная обработка

Задание посвящено работе с данными содержания озона в атмосфере Земли за несколько десятилетий. Вам нужно проанализировать данные в формате NetCDF, нарисовать график и вывести статистическую информацию в файл формата CSV. Программа должна быть представлена в файле ozon.py, график в файле ozon.png и выходные результаты в файле ozon.csv. Файл с исходными данными в репозиторий класть ненужно.

Дедлайн 29 января 2026 в 23:55

Вы должны сделать следующее:

  • Загрузить файл с данными: https://yadi.sk/d/mTqYv4rF34drlQ (464 МБ). Не кладите файл в репозиторий, он очень большой. Информацию о данных смотрите на сайте http://www.temis.nl/protocols/O3global.php (возможно, потребуется VPN). По временной шкале данные начинаются с января 1960 года.

  • В файле ozon.py находится заготовка программы, принимающая в качестве аргумента командной строки имя файла в формате CSV, содержащего долготы и широты в градусах. По умолчанию используется файл coords.csv:

    > python3 ozon.py my_coords.csv

    Для задания аргументов командной строки в Spyder используйте меню "Запуск" -> "Настройки для файла..." (Ctrl+F6) -> "Опции командной строки"

    Для каждой пары координат из входного файла код в ozon.py должен рассчитать так называемые описательные статистики для содержания озона. Зависимость содержания озона от координат и времени нужно извлечь из файла MSR-2.nc. Выходной файл ozon.csv должен содержать следующие колонки:

    • longitude — долгота в градусах,
    • latitude — широта в градусах,
    • min — минимальное содержание озона для этих координат,
    • mean — среднее содержание озона,
    • max — максимальное содержание озона,
    • q25 — 25% квартиль содержания озона,
    • q50 — медиану содержания озона,
    • q75 — 75% квартиль содержания озона,
    • jan_min — минимальное содержание озона для этих координат (только для всех январей),
    • jan_mean — среднее содержание озона (только для всех январей),
    • jan_max — максимальное содержание озона (только для всех январей),
    • jan_q25 — 25% квартиль содержания озона (только для всех январей),
    • jan_q50 — медиану содержания озона (только для всех январей),
    • jan_q75 — 75% квартиль содержания озона (только для всех январей),
    • jul_min — минимальное содержание озона для этих координат (только для всех июлей),
    • jul_mean — среднее содержание озона (только для всех июлей),
    • jul_max — максимальное содержание озона (только для всех июлей),
    • jul_q25 — 25% квартиль содержания озона (только для всех июлей),
    • jul_q50 — медиану содержания озона (только для всех июлей),
    • jul_q75 — 75% квартиль содержания озона (только для всех июлей).

    Одновременно с этим, программа должна сохранять файл ozon.png с одним графиком, представляющим собой диаграмму типа «ящик с усами» для содержания озона во всех заданных местах. Цвета и оформление графика остаются на ваше усмотрение, но график должен быть понятным (не забудьте подписать оси).

    Программа ozon.py должна корректно работать для любых входных файлов в требуемом формате, а не только для файла coords.csv, приведённого в качестве примера.

  • Задание со звёздочкой (на бонусные баллы). Напишите вспомогательную программу geocode.py. Программа принимает на вход CSV файл, содержащий одну колонку с географическими названиями, на выходе сохраняет файл coords.csv содержащий две колонки: долготу и широту. Используйте пакет geopy чтобы преобразовать строки с географическими названиями в соответствующие им координаты.

About

Первое домашнее задание

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages