Предел устанавливается в терминах количества полей, которые можно рассматривать как количество «записей» в смысле «grib». Обычно предлагаемый подход состоит в том, чтобы оставить список переменных и более короткие временные шкалы в команде поиска, а затем l oop в течение нескольких лет (более длительное время). Это вопрос выбора, хотя для ERA5, поскольку все данные находятся в кэше, а не на ленточном накопителе, при запросах на основе ленточного накопителя важно извлекать данные на той же ленте с помощью одного запроса (т. Е. Если вы используете CDS для извлечения сезонные прогнозы или другие наборы данных, которые не относятся к ERA5).
это простой зацикленный пример:
import cdsapi
c = cdsapi.Client()
yearlist=[str(s) for s in range(1979,2019)]
for year in yearlist:
c.retrieve(
'reanalysis-era5-single-levels',
{
'product_type': 'reanalysis',
'format': 'netcdf',
'variable': [
'10m_u_component_of_wind', '10m_v_component_of_wind', '2m_dewpoint_temperature',
'2m_temperature',
],
'year': year,
'month': [
'01', '02', '03',
'04', '05', '06',
'07', '08', '09',
'10', '11', '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',
],
},
'data'+year+'.nc')
Полагаю, вы можете распараллелить это с foreach, хотя я никогда не пробовал, я ' Я полагаю, что это не очень поможет, так как для каждого пользователя установлен лимит заданий, который достаточно низок, так что вы просто получите большое количество заданий в очереди ...