背景
- 因CAMS長期儲存設備更新工程,自20220908起慢速下載項目暫不提供,因此下載項目需調查更換。
- 程式之(自動)執行與安排,詳見CAMS預報結果之下載
- 原程式請參考get_All.py
新舊對照
項目 | 原程式 | 新程式 | 說明 |
---|---|---|---|
銨鹽 | ammonium | ammonium_aerosol_mass_mixing_ratio | aermr18 |
硝酸鹽 | nitrate | nitrate_fine_mode_aerosol_mass_mixing_ratio, nitrate_fine_mode_aerosol_mass_mixing_ratio | aermr16~17 |
石蠟系 | paraffins | (無替代) | 無法取得 |
烯烴 | olefins | (無替代) | 無法取得 |
有機硝酸鹽 | organic_nitrates | (無替代) | 無法取得 |
- 減少5項,增加3項,因此原來27項,變成25項。
影響範圍及程度
- 直接影響到
- 如不修正,CWBWRF_45k的邊界檔與初始檔會取到舊值。
- merge.cs的執行會被中止
- grb2bcon.py / grb2icon.py的對照json檔需新增
- VOCs的邊界與初始值可能會隨之降低。
- 其他氨鹽及硝酸鹽影響應不會很大
json檔新增
名稱
- GrbNam2Chem.json, dic.json
"MASSMR_P48_L105_GLL0_A62003":"ammonium_aerosol_mass_mixing_ratio",
"MASSMR_P48_L105_GLL0_A65533":"nitrate_coarse_mode_aerosol_mass_mixing_ratio",
"MASSMR_P48_L105_GLL0_A65534":"nitrate_fine_mode_aerosol_mass_mixing_ratio",
粒狀物名稱(nms_part.json)
"MASSMR_P48_L105_GLL0_A62003":["ANH4I", "ANH4J", "ANH4K"],
"MASSMR_P48_L105_GLL0_A65533":["ANO3K"],
"MASSMR_P48_L105_GLL0_A65534":["ANO3I", "ANO3J"]
分子量(mws.json)
"nitrate_coarse_mode_aerosol_mass_mixing_ratio":0.0245,
"nitrate_fine_mode_aerosol_mass_mixing_ratio":0.0245,
"ammonium_aerosol_mass_mixing_ratio":0.0245
get_All.py
SPECs
為氣狀物,第二行原有5項,刪去ammonium/nitrate/paraffins/olefins等4項成為1項。PARTs
為粒狀物,刪去organic nitrates,增加前述3項
#kuang@node03 /nas1/ecmwf/CAMS/CAMS_global_atmospheric_composition_forecasts/2022
$ cat get_All.py
#!/opt/miniconda3/envs/gribby/bin/python
import cdsapi
import sys
dt=sys.argv[1]
hr=sys.argv[2]
nm=sys.argv[3]
c = cdsapi.Client()
kk= ['137', '135', '133', '129', '125', '122', '120', '117', '114', '112', '110', '107', '105',
'101', '96', '92', '87', '83', '78', '73', '67', '61', '56', '51']
SPECs =['carbon_monoxide','ethane', 'formaldehyde', 'isoprene', 'nitrogen_dioxide', 'nitrogen_monoxide', 'propane', 'sulphur_dioxide' ]
SPECs+=['ozone',]
PARTs =[
'ammonium_aerosol_mass_mixing_ratio',
'nitrate_coarse_mode_aerosol_mass_mixing_ratio', 'nitrate_fine_mode_aerosol_mass_mixing_ratio',
'dust_aerosol_0.03-0.55um_mixing_ratio', 'dust_aerosol_0.55-0.9um_mixing_ratio', 'dust_aerosol_0.9-20um_mixing_ratio',
'hydrophilic_black_carbon_aerosol_mixing_ratio', 'hydrophilic_organic_matter_aerosol_mixing_ratio',
'hydrophobic_black_carbon_aerosol_mixing_ratio', 'hydrophobic_organic_matter_aerosol_mixing_ratio',
'nitric_acid', 'peroxyacetyl_nitrate',
'sea_salt_aerosol_0.03-0.5um_mixing_ratio', 'sea_salt_aerosol_0.5-5um_mixing_ratio', 'sea_salt_aerosol_5-20um_mixing_ratio',
'sulphate_aerosol_mixing_ratio',
]
All=SPECs+PARTs
i=int(nm)
i1,i2=9*(i-1),min(i*9,len(All))
All=All[i1:i2] #i=1,2,3
c.retrieve(
'cams-global-atmospheric-composition-forecasts',
{
'date': dt+'/'+dt,
'type': 'forecast',
'format': 'grib',
'time': hr,
'model_level': kk,
'variable':All,
'leadtime_hour': [str(i) for i in range(0,121,3)],
'area': [ 55, 40, -15, 180, ],
},
'allEA_'+nm+'.grib')