Можно ли вызвать xarray open_mfdataset на FTP-сервере?

Я пытаюсь загрузить продукт ежедневного реанализа температуры океана (

ftp = FTP("my.cmems-du.eu", username, password)
sample_directory = '/Core/GLOBAL_REANALYSIS_PHY_001_031/global-reanalysis-phy-001-031-grepv2-daily/2000/01'
ftp.cwd (sample_directory)

ftp_path = 'ftp://my.cmems-du.eu/Core/GLOBAL_REANALYSIS_PHY_001_031/global-reanalysis-phy-001-031-grepv2-daily/2000/01/grepv2_daily_20000101.nc'
ds = xr.open_dataset (ftp_path)

Это дает FileNotFoundError: [Errno 2] No such file or directory: b'U:\\Documents\\conda_dir\\ftp:\\my.cmems-du.eu\\Core\\GLOBAL_REANALYSIS_PHY_001_031\\global-reanalysis-phy-001-031-grepv2-daily\\2000\\01\\grepv2_daily_20000101.nc', где 'U: \ Documents \ conda_dir' - мой рабочий каталог.


person jmason    schedule 31.08.2020    source источник


Ответы (2)


Как правило, нет. Я не знаю этот конкретный формат файла. Даже если вы найдете библиотеку, которая может работать с этим конкретным форматом файла и может работать с удаленным FTP-хранилищем, она вряд ли сможет фильтровать содержимое без загрузки всего файла.

Единственное исключение может быть, если формат имеет какой-то индекс, который библиотека может загрузить, найти, какие части файла ей нужны, а затем загрузить только эти части. Например, таким образом вы можете загрузить только некоторые файлы из удаленного ZIP-архива. Но с большинством форматов файлов это невозможно.

person Martin Prikryl    schedule 04.09.2020

Вы не сможете получить доступ к данным CMEMS через ftp с помощью xarray. Если вы хотите извлечь только пространственное подмножество данных, лучше всего использовать службу Wekeo, доступ к которой можно получить через Python. Прочтите об этом здесь: https://wekeo.eu/web/guest/home.

Вы также можете использовать motuclient: https://marine.copernicus.eu/faq/what-are-the-motu-and-python-requirements/.

person Robert Wilson    schedule 09.12.2020