Как я могу отладить свой код NCO/Meteocean-API для получения данных об атмосфере?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу отладить свой код NCO/Meteocean-API для получения данных об атмосфере?

Сообщение Anonymous »

В настоящее время я пытаюсь использовать meteoocean-api в Python для загрузки и использования данных NORA3. При этом для работы с файлами в фоновом режиме используется пакет nco. Я скачал его и все его зависимости (включая nco), просто используя:

Код: Выделить всё

conda install -c conda-forge metocean-api
Это вызвало у моего компьютера много головной боли, включая необходимость повторно включить библиотеку sqlite3 DLL обратно в правильное место, но в конечном итоге все снова начало работать. Сейчас я пытаюсь получить простой блок данных для начала анализа, но постоянно сталкиваюсь с ошибкой:

Код: Выделить всё

*** nco.nco.NCOException: (returncode:3221225781) b''
Насколько я понимаю из большого количества поисков в Google, этот точный код возврата может означать, что мне не хватает DLL? Но опять же, я действительно не знаю, как выяснить, чего не хватает, и является ли это вообще реальной проблемой.
Ниже вы можете увидеть воспроизведение моего кода (глубоко упрощенное и с измененными цифрами):

Код: Выделить всё

from metocean_api import ts

latitude = 50
longitude = 6
start_string = "2023-01-01 00:00:00+0000"
end_string = "2023-01-02 00:00:00+0000"
type = "wind_sub"

df_ts = ts.TimeSeries(lon=longitude, lat=latitude,
start_time=start_string, end_time=end_string,
product= f'NORA3_{type}')

df_ts.import_data(save_csv=True)
Обратите внимание, что я использую компьютер с Windows 11 и Python 3. Я знаю, что ни один из этих пакетов не был создан для использования в Windows, но я хочу попытаться заставить это работать.
Я глубоко углубился в проблему, и она исходит от самой nco. Ошибка возникает здесь:

Код: Выделить всё

nco.ncks(input=infile , output=tempfile, options=opt)
где infile = https://thredds.met.no/thredds/dodsC/no ... _202301.nc

Код: Выделить всё

tempfile = cache\NORA3_wind_sub_lon6.00000lat50.00000_20230501.nc

and opt = ['-O -v wind_speed, wind_direction, longitude, latitude -d x,3082360.8 -d y,-367476.97']
В конце концов код попадает сюда, в функцию вызова nco:

Код: Выделить всё

proc = subprocess.Popen(
cmd,
stdin=subprocess.DEVNULL,
stderr=subprocess.PIPE,
stdout=subprocess.PIPE,
env=environment,
)
Где находится cmd:

['C:\Users\my_file_path_to_the_python_3_environment\ Library\bin\ncks',
'-O', '-v', 'wind_speed,wind_direction,longitude,latitude', '-d',
'x,3082360.8', '-d' , 'y,-367476.97',
'--output=cache\NORA3_wind_sub_lon6.00000lat50.00000_20230501.nc',
'https://thredds.met.no/thredds/dodsC/no ... ind_hourly /arome3kmwind_1hr_202301.nc']

Опять же, я очень новичок во ВСЕХ этих вопросах (сам не ученый-компьютерщик и не обученный программист), и просто хочу посмотрим, смогу ли я это сделать, чтобы мы могли включить данные NORA3. Кто-нибудь знает, как исправить эту ошибку? И как я могу самостоятельно устранять подобные неоднозначные ошибки в будущем?

Подробнее здесь: https://stackoverflow.com/questions/787 ... heric-data
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»