Pecan: met2model.ED2 пропускает високосные годы

Созданный на 24 июл. 2017  ·  9Комментарии  ·  Источник: PecanProject/pecan

Подтвердил эту ошибку только для GFDL, но может произойти для других. met2model.ED2 отмечает все високосные годы как неполные, предупреждает " ____ is not a complete year and will not be included " и пропускает их. Это приводит к отказу ED2 для прогонов, охватывающих високосные годы.

Пример ошибки здесь.

Bug 03 - High Stale

Самый полезный комментарий

Многие смоделированные метапродукты (и даже некоторые обследования) пропускают високосные годы, в некоторых более старых климатических моделях даже использовался год в 360 дней. Таким образом, нам нужно либо решить, что все продукты met должны заполнить високосные дни (например, дважды реплицируя 28 февраля), если они не указаны, либо все met2model должны выполнить этот шаг, если этого требует модель. Поскольку это кажется конкретной моделью (некоторые модели не заботятся), похоже, что это met2model.

Все 9 Комментарий

Обходной путь
В 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.

https://github.com/PecanProject/pecan/blob/9ed21c954f64d24055d91cd8682cb7b2ddf97863/models/ed/R/met2model.ED2.R#L26 -L28

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

serbinsh picture serbinsh  ·  39Комментарии

para2x picture para2x  ·  5Комментарии

infotroph picture infotroph  ·  9Комментарии

istfer picture istfer  ·  8Комментарии

tonygardella picture tonygardella  ·  11Комментарии