Подтвердил эту ошибку только для GFDL, но может произойти для других. met2model.ED2
отмечает все високосные годы как неполные, предупреждает " ____ is not a complete year and will not be included
" и пропускает их. Это приводит к отказу ED2 для прогонов, охватывающих високосные годы.
Пример ошибки здесь.
Обходной путь
В GFDL нет високосных лет. Мой личный обходной путь - проверить, соответствует ли данный показатель GFDL, и если это так, относиться ко всем високосным годам как к невисокосным. Здесь можно было бы использовать более общую проверку метропродукции, у которой нет високосных лет.
@mccabe , этот
Я согласен. Мое решение полностью хакерское, и я намерен на время изолировать его в личной ветке. ED кажется, что сейчас это нормально, так что я думаю, что вернусь к этой проблеме после ESA и реализую реальное решение.
Я думаю, что это не ошибка met2model.ED2, но это связано с тем, что GFDL не обрабатывается должным образом (при условии, что GFDL _has_ високосные годы), в коде download.GFDL нет проверки на високосные годы, это всегда 2920 значений в год
Также met2model.ED обрабатывает високосные годы для AmerifluxLBL.
Я думаю, что мы ранее договорились, что проблема была в GFDL, вопрос в том, должно ли решение входить в загрузку GFDL, в met2model или быть чем-то общим между ними. В любом случае, этот дополнительный високосный день нужно добавить для моделей, которым он нужен.
понял, я не был уверен, есть ли у GFDL високосные годы или нет (надо было читать ветку внимательнее, а не только заголовок :))
Многие смоделированные метапродукты (и даже некоторые обследования) пропускают високосные годы, в некоторых более старых климатических моделях даже использовался год в 360 дней. Таким образом, нам нужно либо решить, что все продукты met должны заполнить високосные дни (например, дважды реплицируя 28 февраля), если они не указаны, либо все met2model должны выполнить этот шаг, если этого требует модель. Поскольку это кажется конкретной моделью (некоторые модели не заботятся), похоже, что это met2model.
Эта проблема устарела, потому что она открыта 365 дней без активности.
Я думаю, что это было решено. Эта функция принимает аргумент leap_year
который управляет этим поведением. Однако я не уверен, как это работает с GFDL.
Самый полезный комментарий
Многие смоделированные метапродукты (и даже некоторые обследования) пропускают високосные годы, в некоторых более старых климатических моделях даже использовался год в 360 дней. Таким образом, нам нужно либо решить, что все продукты met должны заполнить високосные дни (например, дважды реплицируя 28 февраля), если они не указаны, либо все met2model должны выполнить этот шаг, если этого требует модель. Поскольку это кажется конкретной моделью (некоторые модели не заботятся), похоже, что это met2model.