从官网上下载ERA5主要分为三步:
- 官网注册账号,获取CDS API key。安装python相关的库。复制粘贴代码,下载数据。
点击网址:ERA5注册网址,右上角点击注册账户,一般使用教育邮箱
注册完成后登录,然后还是在这个网址:获取key密钥,点击下面图中的红色框,
然后,下图红框内就是你的密钥,将其全部复制下来:
如果你是Linux系统,就在你的系统用户目录下创建一个.cdsapirc的文件,将刚刚复制的内容粘贴到该文件下:
如果你是windows系统,就在c盘/用户/用户名 这个目录下创建一个 创建一个.cdsapirc文件。可以先建立一个txt文件,将内容粘贴进去后再改文件名为.cdsapirc。
安装python的cdsapi库
我这里是在Linux系统下, 直接在你的python环境下使用命令:conda install cdsapi
即可。window下应该同理。
下载地址在官网上搜索你要下载的数据类型:
点击进入后勾选你需要的参数、时间、变量等。
然后到最后,选择红框内显示下载代码
将代码复制到你的python脚本中,运行脚本即可下载。
基于上述方式,我们可以通过下载ERA5数据制作WRF模式的初始场,运行wrf模式。其中,需要下载的ERA5的数据如下所示:
3D数据:ERA5 monthly averaged data on pressure levels from 1979 to present**:Monthly averaged reanalysis by hour of day**
变量:GeopotentialRelative humidityU-component of windV-component of windTemperature 压力层
所有
year2022
month02
day17-18
Pressure level data (download.py)import cdsapi
c = cdsapi.Client()
c.retrieve(
'reanalysis-era5-pressure-levels',
{
'product_type': 'reanalysis',
'format': 'grib',
'variable': [
'geopotential', 'relative_humidity', 'temperature','specific_humidity',
'u_component_of_wind', 'v_component_of_wind',
],
'pressure_level': [
'1', '2', '3',
'5', '7', '10',
'20', '30', '50',
'70', '100', '125',
'150', '175', '200',
'225', '250', '300',
'350', '400', '450',
'500', '550', '600',
'650', '700', '750',
'775', '800', '825',
'850', '875', '900',
'925', '950', '975',
'1000',
],
'year': '2022',
'month': '02',
'day': ['17','18',],
'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',
],
},
'/ERA5_data/ERA5-2022-02_17-18_pl.grib')
2D数据:
Product type
Monthly averaged reanalysis by hour of day
Variable
10m u-component of wind
10m v-component of wind
Mean sea level pressure
Sea surface temperature
Surface pressure
2m temperature
Soil data (temperature and moisture) and soil height
year2021
month02
day17-18
Single level data (down.py)import cdsapi
c = cdsapi.Client()
c.retrieve(
'reanalysis-era5-single-levels',
{
'product_type': 'reanalysis',
'format': 'grib',
'variable': [
'10m_u_component_of_wind','10m_v_component_of_wind','2m_dewpoint_temperature',
'2m_temperature','land_sea_mask','mean_sea_level_pressure',
'sea_ice_cover','sea_surface_temperature','skin_temperature',
'snow_depth','soil_temperature_level_1','soil_temperature_level_2',
'soil_temperature_level_3','soil_temperature_level_4','surface_pressure',
'volumetric_soil_water_layer_1','volumetric_soil_water_layer_2','volumetric_soil_water_layer_3',
'volumetric_soil_water_layer_4'
],
'year': '2022',
'month': '02',
'day': ['17','18',],
'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',
],
},
'/ERA5_data/ERA5-2022-02_17-18-sl.grib')
具体细节的运行可以看这篇博客:
https://blog.csdn.net/weixin_44237337/article/details/123152177?spm=1001.2014.3001.5501
下面只介绍不同的地方
链接Vtable这里需要进行修改,如下:
cd /Users/WRF/ERA_practice/ ln -sf ungrib/Variable_Tables/Vtable.ECMWF Vtable
然后同样是链接你下载的ERA5数据:
./link_grib.csh ../ERA5_data/ERA5-2022-02_17-18*
ungrid
因为我这个里是三层嵌套,需要修改namelist.wps后,再运行ungrid程序
&share wrf_core = 'ARW', start_date = '2022-02_17_00:00:00','2022-02_17_00:00:00','2022-02_17_00:00:00', end_date = '2022-02_17_06:00:00','2022-02_17_06:00:00','2022-02_17_06:00:00', interval_seconds = 10800, max_dom = 3, io_form_geogrid = 2, opt_output_from_geogrid_path = '/WRF/ERA5_pactice/', / ./ &geogrid parent_id = 1, 1, 2, parent_grid_ratio = 1, 3, 3, i_parent_start = 1, 21, 27, j_parent_start = 1, 21, 26, e_we = 247, 574, 1471, e_sn = 158, 370, 889, geog_data_res = 'default','default','default', dx = 36000, dy = 36000, map_proj = 'mercator', ref_lat = 15.00, ref_lon = 0.00, truelat1 = 10.0, truelat2 = 20.0, stand_lon =0.00, geog_data_path = '/Software/Models/WRF/WPS_GEOG', ! !!!!!!!!!!!!!!!!!!!!!!!!!!!! importANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The default datasets used to produce the MAXSNOALB and ALBEDO12M ! fields have changed in WPS v4.0. These fields are now interpolated ! from MODIS-based datasets. ! ! To match the output given by the default namelist.wps in WPS v3.9.1, ! the following setting for geog_data_res may be used: ! ! geog_data_res = 'maxsnowalb_ncep+albedo_ncep+default', 'maxsnowalb_ncep+albedo_ncep+default', ! !!!!!!!!!!!!!!!!!!!!!!!!!!!! importANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!! ! / &ungrib out_format = 'WPS', prefix = '/WRF/ERA5_pactice/FILE', / &metgrid fg_name = 'FILE', io_form_metgrid = 2, opt_output_from_metgrid_path = '/WRF/ERA5_pactice/', /
下面正常运行./geogrid.exe、./metgrid.exe
WRF后处理修改一下namelist.input,与wps中的一致:
&time_control run_days = 0, run_hours = 06, run_minutes = 0, run_seconds = 0, start_year = 2022, 2022, 2022, start_month = 02, 02, 02, start_day = 17, 17, 17, start_hour = 00, 00, 00, end_year = 2022, 2022, 2022, end_month = 02, 02, 02, end_day = 17, 17, 17, end_hour = 06, 06, 06, interval_seconds = 10800, input_from_file = .true.,.true.,.true., history_interval = 60, 60, 60, frames_per_outfile = 1000, 1000, 1000, restart = .false., restart_interval = 1440, io_form_history = 2 io_form_restart = 2 io_form_input = 2 io_form_boundary = 2 / &domains time_step = 60, time_step_fract_num = 0, time_step_fract_den = 1, max_dom = 3, i_parent_start = 1, 21, 27, j_parent_start = 1, 21, 26, e_we = 247, 574, 1471, e_sn = 158, 370, 889, e_vert = 50, 50, 50, p_top_requested = 5000, num_metgrid_levels = 38, num_metgrid_soil_levels = 4, dx = 36000, 12000,4000, dy = 36000, 12000,4000, grid_id = 1, 2, 3, parent_id = 1, 1, 2, parent_grid_ratio = 1, 3, 3, parent_time_step_ratio = 1, 3, 3, feedback = 1, smooth_option = 0, / &physics physics_suite = 'CONUS' mp_physics = -1, -1, -1, cu_physics = -1, -1, 0, ra_lw_physics = -1, -1, -1, ra_sw_physics = -1, -1, -1, bl_pbl_physics = -1, -1, -1, sf_sfclay_physics = -1, -1, -1, sf_surface_physics = -1, -1, -1, radt = 30, 30, 30, bldt = 0, 0, 0, cudt = 5, 5, 5, icloud = 1, num_land_cat = 21, sf_urban_physics = 0, 0, 0, / &fdda / &dynamics hybrid_opt = 2, w_damping = 0, diff_opt = 1, 1, 1, km_opt = 4, 4, 4, diff_6th_opt = 0, 0, 0, diff_6th_factor = 0.12, 0.12, 0.12, base_temp = 290. damp_opt = 3, zdamp = 5000., 5000., 5000., dampcoef = 0.2, 0.2, 0.2 khdif = 0, 0, 0, kvdif = 0, 0, 0, non_hydrostatic = .true., .true., .true., moist_adv_opt = 1, 1, 1, scalar_adv_opt = 1, 1, 1, gwd_opt = 1, / &bdy_control spec_bdy_width = 5, specified = .true. / &grib2 / &namelist_quilt nio_tasks_per_group = 0, nio_groups = 1, /
之后正常运行./real.exe、./wrf.exe即可、、、
一个努力学习python的海洋人 水平有限,欢迎指正!!! 欢迎评论、收藏、点赞、转发、关注。 关注我不后悔,记录学习进步的过程~~



