小曾WRF自学日记(3)渐入佳境 ——WRF实例-数据下载与WPS前处理
生活随笔
收集整理的這篇文章主要介紹了
小曾WRF自学日记(3)渐入佳境 ——WRF实例-数据下载与WPS前处理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 數(shù)據(jù)下載(ERA5)
參考:批量下載ERA5數(shù)據(jù)(Python+IDM)
新技能 get!
main idea 是從Climate Data Store https://cds.climate.copernicus.eu/cdsapp#!/home 獲取url后通過IDM批量下載
import cdsapi import calendar from subprocess import calldef idmDownloader(task_url, folder_path, file_name):"""IDM下載器:param task_url: 下載任務(wù)地址:param folder_path: 存放文件夾:param file_name: 文件名:return:"""# IDM安裝目錄idm_engine = "C:\\Program Files (x86)\\Internet Download Manager\\IDMan.exe"# 將任務(wù)添加至隊(duì)列call([idm_engine, '/d', task_url, '/p', folder_path, '/f', file_name, '/a'])# 開始任務(wù)隊(duì)列call([idm_engine, '/s'])if __name__ == '__main__':c = cdsapi.Client() # 創(chuàng)建用戶# 數(shù)據(jù)信息字典dic = {'product_type': 'reanalysis', # 產(chǎn)品類型'format': 'grib', # 數(shù)據(jù)格式'variable': ['geopotential','relative_humidity','specific_humidity','temperature','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': '2018', # 年,設(shè)為空'month': '05', # 月,設(shè)為空'day': [ '01', '02','03','04','05','06','07',], # 日,設(shè)為空'time': [ # 小時(shí)'00:00', '06:00', '12:00','18:00'],'area': [90, -180, 45, 180],}# 通過循環(huán)批量下載1979年到2020年所有月份數(shù)據(jù)'''for y in range(1979, 2021): # 遍歷年for m in range(1, 13): # 遍歷月day_num = calendar.monthrange(y, m)[1] # 根據(jù)年月,獲取當(dāng)月日數(shù) # 將年、月、日更新至字典中dic['year'] = str(y)dic['month'] = str(m).zfill(2)dic['day'] = [str(d).zfill(2) for d in range(1, day_num + 1)] ''' r = c.retrieve('reanalysis-era5-pressure-levels', dic, ) # 文件 url = r.location # 獲取文件下載地址 path = 'E:\\ERA5\\' # 存放文件夾 filename = 'pressure'+str(2018) + str(5).zfill(2) + '.grib' # 文件名 idmDownloader(url, path, filename) # 添加進(jìn)IDM中下載以上是三維數(shù)據(jù)的下載,單層數(shù)據(jù)的下載同理:
import cdsapi import calendar from subprocess import callif __name__ == '__main__':c = cdsapi.Client() # 創(chuàng)建用戶# 數(shù)據(jù)信息字典dic = {'product_type': 'reanalysis', # 產(chǎn)品類型'format': 'grib', # 數(shù)據(jù)格式'variable': ['10m_u_component_of_wind', '10m_v_component_of_wind', '2m_temperature','mean_sea_level_pressure', 'sea_surface_temperature', 'skin_temperature','snow_albedo', 'snow_depth', 'snowfall','soil_temperature_level_1', 'soil_type', 'surface_pressure','total_precipitation','soil_temperature_level_2','soil_temperature_level_3','soil_temperature_level_4','volumetric_soil_water_layer_1','volumetric_soil_water_layer_2','volumetric_soil_water_layer_3', 'volumetric_soil_water_layer_4',],'year': '2018', # 年,設(shè)為空'month': '05', # 月,設(shè)為空'day': [ '01', '02','03','04','05','06','07',], # 日,設(shè)為空'time': [ # 小時(shí)'00:00', '06:00', '12:00','18:00'],'area': [90, -180, 45, 180],}# 通過循環(huán)批量下載1979年到2020年所有月份數(shù)據(jù)'''for y in range(1979, 2021): # 遍歷年for m in range(1, 13): # 遍歷月day_num = calendar.monthrange(y, m)[1] # 根據(jù)年月,獲取當(dāng)月日數(shù)# 將年、月、日更新至字典中dic['year'] = str(y)dic['month'] = str(m).zfill(2)dic['day'] = [str(d).zfill(2) for d in range(1, day_num + 1)] ''' r = c.retrieve('reanalysis-era5-single-levels', dic, ) # 文件 url = r.location # 獲取文件下載地址 path = 'E:\\ERA5\\' # 存放文件夾 filename = 'single'+str(2018) + str(5).zfill(2) + '.grib' # 文件名 idmDownloader(url, path, filename) # 添加進(jìn)IDM中下載2. WPS 前處理
2.1 修改namelist.wps
&sharewrf_core = 'ARW',max_dom =1,start_date = '2018-05-01_12:00:00','2019-09-04_12:00:00', # 模擬開始&結(jié)束日期end_date = '2018-05-07_00:00:00','2019-09-04_12:00:00',interval_seconds = 21600 # 模擬間隔 /&geogridparent_id = 1,parent_grid_ratio = 1,i_parent_start = 1,j_parent_start = 1,e_we = 150,e_sn = 150,geog_data_res = '10m',dx = 45000,dy = 45000,map_proj = 'polar',ref_lat = 90.00,ref_lon = 0.0,truelat1 = 60.0,truelat2 = 60.0,stand_lon = 0.0,geog_data_path = '/public/home/zyh/WRF/Build_WRF/WPS_GEOG/' /&ungribout_format = 'WPS',prefix = 'FILE', /&metgridfg_name = 'FILE' / ~geogrid
修改完后在WPS文件夾下執(zhí)行g(shù)eogrid.exe
./geogrid.exe執(zhí)行成功后會(huì)產(chǎn)生geo_em.d01.nc文件
ls -lah geo_em.d01.ncungrib
首先創(chuàng)建鏈接
ln -sf ungrib/Variable_Tables/Vtable.ECMWF Vtable隨后連接數(shù)據(jù)
./link_grib.csh ../ERA5/*.grib成功后出現(xiàn)GRIBFILE.AAA, GRIBFILE.AAB 等文件
之后運(yùn)行ungrib
成功后出現(xiàn)FILE:2018-05-06_00等文件
metgrid
直接運(yùn)行metgrid.exe
./metgrid.exe成功后出現(xiàn)met_em.d01.xxxx-xx-xx_xx:xx:xx.nc 格式的文件
總結(jié)
以上是生活随笔為你收集整理的小曾WRF自学日记(3)渐入佳境 ——WRF实例-数据下载与WPS前处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蒲公英 · JELLY技术周刊 Vol.
- 下一篇: 后端开发规范(持续更新中...)