0

我想下载特定位置的 ERA5 数据(例如:北:34.15,西:-52.28)。我没有所有方向的坐标;北、东、西、南,只有北和西。我正在尝试通过 python 上的 api 下载数据。当我更改area两个值(仅北和西)时,出现以下错误:AREA 必须有 4 个值 - 处理隐藏参数时出错 - 报告了一些错误

如何直接下载北:34.15,西:-52.28 地理位置的数据?

 import cdsapi
    
    c = cdsapi.Client()
    
    c.retrieve(
        'reanalysis-era5-single-levels',
        {
            'product_type': 'reanalysis',
            'variable': 'maximum_individual_wave_height',
            'year': '2019',
            'month': '12',
            'day': [
                '01', '02', '03',
                '04', '05', '06',
                '07', '08', '09',
                '10', '11', '12',
                '13', '14', '15',
                '16', '17', '18',
                '19', '20', '21',
                '22', '23', '24',
                '25', '26', '27',
                '28', '29', '30',
                '31',
            ],
            'time': [
                '00:00', '01:00', '02:00',
                '03:00', '04:00', '05:00',
                '06:00', '07:00', '08:00',
                '09:00', '10:00', '11:00',
                '12:00', '13:00', '14:00',
                '15:00', '16:00', '17:00',
                '18:00', '19:00', '20:00',
                '21:00', '22:00', '23:00',
            ],
            'area': [
                34.15, -52.28, 34.14,
                -52.27,
            ],
            'format': 'netcdf',
        },
        'download.nc')
4

2 回答 2

0

我似乎记得有一个技巧可以直接允许这样做,但是我找不到它并且可能一直在考虑CDS工具箱中的get_point函数。同时,您可以通过在您的位置周围检索一个小的 N、W、S、E 框来解决此问题,确保两侧至少是 ERA5 分辨率的两倍,然后使用本地提取包含您所在位置的网格单元

cdo remapnn,lon/lat download.nc my_location.nc 

如果我同时设法找到“技巧”,我会更新这个答案。

于 2020-12-08T17:01:49.497 回答
0

只需提供一个带有 lat lon 值的变量并照此复制它(例如使用您的代码 + 一个用于从多个位置下载数据的循环):

import cdsapi
    
COORDS = {
        "Location_1":[-35.696,  -63.758], # randomly chosen lat lon 
        "Location_2":[-34.822, -58.536]   # randomly chosen lat lon
        }


c = cdsapi.Client()
    
for station in COORDS:
  station_point_coord = COORDS[station]*2 # duplicate it
  c.retrieve(
      'reanalysis-era5-single-levels',
      {
          'product_type': 'reanalysis',
          'variable': 'maximum_individual_wave_height',
          'year': '2019',
          'month': '12',
          'day': [
              '01', '02', '03',
              '04', '05', '06',
              '07', '08', '09',
              '10', '11', '12',
              '13', '14', '15',
              '16', '17', '18',
              '19', '20', '21',
              '22', '23', '24',
              '25', '26', '27',
              '28', '29', '30',
              '31',
          ],
          'time': [
              '00:00', '01:00', '02:00',
              '03:00', '04:00', '05:00',
              '06:00', '07:00', '08:00',
              '09:00', '10:00', '11:00',
              '12:00', '13:00', '14:00',
              '15:00', '16:00', '17:00',
              '18:00', '19:00', '20:00',
              '21:00', '22:00', '23:00',
          ],
          'area': station_point_coord,
          'format': 'netcdf',
      },
      f'download_{station}.nc')

查看此网站以获取有关 cdsapi 的更多信息: https ://confluence.ecmwf.int/display/COPSRV/CDS+API

于 2021-08-29T00:34:07.933 回答