遇见数据集

Longwave cloud radiative kernel with scattering enabled

收藏
Zenodo2026-02-24 更新2026-05-26 收录
官方服务:

资源简介:

Overview This dataset contains longwave (LW) cloud radiative kernels that include cloud LW scattering physics, a feature not typically represented in radiative transfer models that produce traditional radiative kernels. Cloud radiative kernels are used to quantify the impact of cloud property changes on the Earth’s radiation budget, making them essential tools for understanding cloud feedbacks in climate models. This was developed and reported in Fan, C. X., Y.-H. Chen, X. H. Chen, W. Y. Lin, P. Yang, and X. L. Huang, A Refined Understanding of the Ice Cloud Longwave Scattering Effects in Climate Model, Journal of Advances in Modeling Earth Systems, 15(10), e2023MS003810, https://doi.org/10.1029/2023MS003810, 2023. Key Features Longwave Scattering Physics: Unlike traditional kernels that neglect cloud scattering in the longwave spectrum, this dataset includes scattering effects, providing more accurate estimates of cloud radiative impacts Comparison Capability: Includes both scattering and non-scattering kernels for direct comparison ISCCP-Simulator Compatible: Uses COSP (CFMIP Observation Simulator Package) cloud bins for pressure and optical depth Dataset Description File: cld_LW_Scat_Kernel.nc Dimensions Dimension Size Description month 12 Monthly climatology lat 90 Latitude bins (2° resolution) cosp_prs 7 Cloud top pressure bins (hPa) cosp_tau 7 Cloud optical depth bins Variables Variable Units Description LWKernel_noScat W/m²/% Traditional longwave cloud kernel without scattering: TOA LW flux change for every percent increase in cloud fraction LWKernel_Scat W/m²/% Longwave cloud kernel with scattering physics LWKernel_Diff W/m²/% Difference between scattering and non-scattering kernels (Scat - noScat) Usage Example Python Example with xarray import xarray as xrimport numpy as npimport matplotlib.pyplot as plt # Load the kernel dataset from the NetCDF fileds = xr.open_dataset('cld_LW_Scat_Kernel.nc') # Examine the structure of the dataset (prints metadata and variables)print(ds) # Define the edges for cloud top pressure (CTP) bins in hPa and cloud optical depth (TAU) binsCTP_EDGES = np.array([1000, 800, 680, 560, 440, 310, 180, 50]) * 1e2TAU_EDGES = np.array([0, 0.3, 1.3, 3.6, 9.4, 23, 60, 380]) # Calculate latitude weights based on the cosine of latitude (for area weighting) and month weights based on days of monthlat_weights = np.cos(np.deg2rad(ds.lat))month_weights = xr.DataArray( np.array([31,28,31,30,31,30,31,31,30,31,30,31]), coords={'month': np.arange(1,13).astype(int)}, dims=['month']) # X axis (optical depth) and Y axis (pressure)x = TAU_EDGESy = CTP_EDGES # Weighted means for the kernels over months and latitudez = [ ds['LWKernel_noScat'].weighted(lat_weights).mean('lat').weighted(month_weights).mean('month').values, ds['LWKernel_Diff'].weighted(lat_weights).mean('lat').weighted(month_weights).mean('month').values] # Relative difference (percentage) between scattering and no scatteringz.append(z[1] / np.where(z[0]>1e-5, z[0], np.nan) * 100.0) # Create a figure with 3 subplots to visualize the datafig, axs = plt.subplots(1, 3, figsize=(15, 6), sharex=True, sharey=True) # Plot the kernel without scatteringp = axs[0].pcolormesh(range(len(x)), range(len(y)), z[0])plt.colorbar(p, ax=axs[0], orientation="horizontal", label='Flux Sensitivity ($W/m^2/\%$)') # Plot the kernel difference (scattering - no scattering)p = axs[1].pcolormesh(range(len(x)), range(len(y)), z[1], vmin=-0.15, vmax=0.15, cmap='bwr')plt.colorbar(p, ax=axs[1], orientation="horizontal", label='Flux Sensitivity ($W/m^2/\%$)') # Plot the relative difference as a percentagep = axs[2].pcolormesh(range(len(x)), range(len(y)), z[2], vmin=-30.0, vmax=30.0, cmap='bwr')plt.colorbar(p, ax=axs[2], orientation="horizontal", label='%') # Decorate the figurefor ax in axs: ax.set_xticks(range(len(x)), [f"{v:.1f}" for v in x]) ax.set_yticks(range(len(y)), [f"{v/1e2:.1f}" for v in y]) ax.set_xlabel('COSP $\\tau$')axs[0].set_title('Kernel (noScat)')axs[1].set_title('Kernel Diff. (Scat - noScat)')axs[2].set_title('Kernel Rel. Diff. ((Scat - noScat) / noScat)')axs[0].set_ylabel('COSP Pressure (hPa)') # Save the figure as a PNG filefig.savefig('cld_LW_Scat_Kernel_comparison.png', dpi=300) # Display the plotsplt.show()``` Contact Dr. Chongxing Fan (cxfan@umich.edu) and Dr. Xianglei Huang (xianglei@umich.edu)

提供机构:
Zenodo
创建时间:
2026-02-23
二维码
社区交流群
二维码
科研交流群
商业服务