日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小曾WRF自学日记(3)渐入佳境 ——WRF实例-数据下载与WPS前处理

發(fā)布時(shí)間:2024/3/13 编程问答 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小曾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.nc

ungrib

首先創(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

./ungrib.exe

成功后出現(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。