【高斯函数】
import numpy as np
import matplotlib.pyplot as pltdef gaussian(x, mu, sigma):"""高斯函数"""return np.exp(-((x - mu) ** 2) / (2 * sigma ** 2)) / (sigma * np.sqrt(2 * np.pi))# 参数设置
start_wavenumber = 635 # 起始波数 (cm^-1)
end_wavenumber = 1135 # 结束波数 (cm^-1)
step = 0.625 # 步长 (cm^-1)
sigma = np.sqrt(2.5) # 标准差 (sigma^2 = 方差 = 2.5)# 生成高斯函数的中心波数
centers = np.arange(start_wavenumber, end_wavenumber + step, step)
num_gaussians = len(centers)
print(f"Number of Gaussian functions: {num_gaussians}") # 应该输出777# 生成x轴数据
x = np.linspace(600, 1200, 5000) # 适当扩大范围以便观察# 初始化叠加后的信号
total_signal = np.zeros_like(x)# 叠加所有高斯函数
for center in centers:total_signal += gaussian(x, center, sigma)# 绘制图像
plt.figure(figsize=(10, 6))
plt.plot(x, total_signal, 'b-', linewidth=1.5)
plt.title('Superposition of 777 Gaussian Functions')
plt.xlabel('Wavenumber (cm$^{-1}$)')
plt.ylabel('Intensity')
plt.grid(True)
plt.show()
import numpy as np
import matplotlib.pyplot as pltdef gaussian(x, mu, sigma):"""高斯函数"""return np.exp(-((x - mu) ** 2) / (2 * sigma ** 2)) / (sigma * np.sqrt(2 * np.pi))# 参数设置(保持不变)
start_wavenumber = 635 # 起始波数 (cm^-1)
end_wavenumber = 1135 # 结束波数 (cm^-1)
step = 0.625 # 步长 (cm^-1)
sigma = np.sqrt(0.05) # 标准差 (sigma^2 = 方差 = 2.5)# 生成高斯函数的中心波数(保持不变)
centers = np.arange(start_wavenumber, end_wavenumber + step, step)
num_gaussians = len(centers)
print(f"Number of Gaussian functions: {num_gaussians}") # 应该输出777# 生成x轴数据(仅调整显示范围)
x = np.linspace(735, 785, 2000) # 聚焦到735-785 cm^-1范围# 初始化叠加后的信号
total_signal = np.zeros_like(x)# 叠加所有高斯函数(保持不变)
for center in centers:total_signal += gaussian(x, center, sigma)# 绘制图像(仅调整x轴范围)
plt.figure(figsize=(10, 6))
plt.plot(x, total_signal, 'b-', linewidth=1.5)
plt.title('Superposition of Gaussian Functions (735-785 cm$^{-1}$)')
plt.xlabel('Wavenumber (cm$^{-1}$)')
plt.ylabel('Intensity')
plt.xlim(735, 785) # 确保x轴范围锁定
plt.grid(True)
plt.show()
import numpy as np
import matplotlib.pyplot as pltdef gaussian(x, mu, sigma):"""高斯函数"""return np.exp(-((x - mu) ** 2) / (2 * sigma ** 2)) / (sigma * np.sqrt(2 * np.pi))# 更新后的参数设置
start_wavenumber = 648.75 # 新的起始波数 (cm^-1)
end_wavenumber = 1136.25 # 新的结束波数 (cm^-1)
step = 0.625 # 步长保持不变 (cm^-1)
sigma = np.sqrt(0.05) # 标准差 (sigma^2 = 方差 = 2.5)# 生成高斯函数的中心波数
centers = np.arange(start_wavenumber, end_wavenumber + step/2, step) # 加step/2避免浮点误差
num_gaussians = len(centers)
print(f"Number of Gaussian functions: {num_gaussians}") # 应该输出781# 生成x轴数据(显示范围735-785 cm^-1)
x = np.linspace(735, 785, 2000) # 聚焦到735-785 cm^-1范围# 初始化叠加后的信号
total_signal = np.zeros_like(x)# 叠加所有高斯函数
for center in centers:total_signal += gaussian(x, center, sigma)# 绘制图像
plt.figure(figsize=(10, 6))
plt.plot(x, total_signal, 'b-', linewidth=1.5)
plt.title('Superposition of 781 Gaussian Functions (735-785 cm$^{-1}$)')
plt.xlabel('Wavenumber (cm$^{-1}$)')
plt.ylabel('Intensity')
plt.xlim(735, 785) # 确保x轴范围锁定
plt.grid(True)
plt.show()
要获取 **CrIS(Cross-track Infrared Sounder)**的光谱响应函数(Spectral Response Function, SRF),可以从以下几个官方或权威数据源获取:
1. NOAA CLASS(Comprehensive Large Array-data Stewardship System)
- 网址:https://www.avl.class.noaa.gov
- 说明:
- NOAA CLASS 是 NOAA 官方数据存档系统,存储包括 CrIS 在内的卫星仪器数据。
- 搜索 CrIS SRF(Spectral Response Function) 或 CrIS Instrument Characteristics 相关文件。
- 通常以 HDF5 或 NetCDF 格式提供。
2. NOAA STAR(Center for Satellite Applications and Research)
- 网址:https://www.star.nesdis.noaa.gov
- 说明:
- NOAA STAR 提供 CrIS 的仪器特性文档,包括 SRF 数据。
- 在 JPSS (Joint Polar Satellite System) 相关页面查找 CrIS 的 Calibration/Validation 或 Instrument Performance 数据。
3. University of Wisconsin-Madison SSEC(Space Science and Engineering Center)
- 网址:https://www.ssec.wisc.edu
- 说明:
- SSEC 提供 CrIS 的 SRF 数据,通常用于科学研究和交叉验证。
- 可在 CrIS Data Access 或 Instrument Characterization 部分查找。
4. NASA Earthdata(Earth Science Data Systems)
- 网址:https://earthdata.nasa.gov
- 说明:
- NASA Earthdata 提供 Suomi NPP 和 NOAA-20 的 CrIS 数据,包括 SRF。
- 在 Earthdata Search 中搜索 “CrIS Spectral Response Function”。
5. CrIS官方文档(User Guides & ATBDs)
- CrIS SDR User Guide(可在 NOAA 或 NASA 官网获取)
- Algorithm Theoretical Basis Document (ATBD)(描述 SRF 的计算方法)
- JPSS CrIS Instrument Data Record (IDR) Documentation
6. GitHub 或科学论文
- 一些研究机构或科学家可能会公开 CrIS SRF 数据,例如:
- GitHub 上的大气遥感数据处理项目(如
PyCris
或CrIS-SRFs
)。 - 发表在 IEEE TGRS、AMT 或 JGR 上的论文可能包含 SRF 数据。
- GitHub 上的大气遥感数据处理项目(如
数据格式
CrIS SRF 通常以 HDF5/NetCDF 或 ASCII 格式存储,包含:
- 波长/波数(cm⁻¹)
- 归一化响应值(0~1)
- 通道信息(LWIR, MWIR, SWIR)
总结
建议优先从 NOAA CLASS 或 NASA Earthdata 下载官方 SRF 数据,以确保准确性。如果需要更详细的计算方法,可查阅 CrIS ATBD 或相关论文。
要下载 CrIS(Cross-track Infrared Sounder) 的数据,可以通过以下官方和科学数据平台获取:
1. NOAA CLASS(官方数据存档)
网址:https://www.avl.class.noaa.gov
打不开
适用数据:
- Suomi NPP、NOAA-20、NOAA-21 的 CrIS SDR(Sensor Data Record) 和 EDR(Environmental Data Record)
- 数据格式:HDF5(
.h5
)或 NetCDF(.nc
)
下载步骤:
- 注册账号(需提供机构邮箱)。
- 在搜索栏输入
CrIS SDR
或CrIS EDR
。 - 选择时间范围、卫星(如
JPSS-1
对应 NOAA-20)。 - 下载数据。
2. NASA Earthdata(NASA 官方数据门户)
网址:https://earthdata.nasa.gov
适用数据:
- Suomi NPP、NOAA-20 的 CrIS 数据(包括 L1B 辐射率数据)
- 可通过 Earthdata Search 直接筛选:
https://search.earthdata.nasa.gov
下载步骤:
- 搜索
CrIS
,选择Level 1B
或Level 2
。 - 使用 时间/区域筛选(支持 KML 文件绘制范围)。
- 直接下载或通过
wget
批量获取。
可能可以找到
3. NOAA STAR(卫星应用与研究数据中心)
网址:https://www.star.nesdis.noaa.gov
适用数据:
- 近实时(NRT)CrIS 数据
- 科研级再处理数据(如 CrIS FSR 全光谱分辨率数据)
下载入口: - CrIS SDR/EDR 数据:https://www.star.nesdis.noaa.gov/socd/cris/
4. University of Wisconsin-Madison SSEC(威斯康星大学数据服务)
网址:https://www.ssec.wisc.edu
适用数据:
- CrIS 亮温数据(Brightness Temperature)
- 可视化工具(如 CIMSS CrIS Viewer)
下载方式: - 访问 https://cimss.ssec.wisc.edu/cris/ ,选择 FTP 下载。
5. Copernicus Open Access Hub(欧洲哥白尼计划)
网址:https://scihub.copernicus.eu
适用数据:
- MetOp 系列卫星的 IASI 数据(与 CrIS 类似的高光谱红外数据)
- 需注册后下载。
6. 其他科研机构(如 UCAR/NCAR)
网址:https://rda.ucar.edu
适用数据:
- 再分析的 CrIS 数据(需申请权限)。
数据格式说明
数据类型 | 文件格式 | 典型变量 |
---|---|---|
CrIS SDR(L1B) | HDF5(.h5 ) | Radiance (辐射率)、Latitude/Longitude |
CrIS EDR(L2) | NetCDF(.nc ) | Temperature (温度廓线)、H2O (水汽) |
批量下载方法(Python/wget)
1. 使用 wget
下载 NOAA CLASS 数据
wget --user=你的账号 --password=你的密码 -r -np -nH --cut-dirs=5 -A ".h5" https://www.avl.class.noaa.gov/JPSS/CRIS-SDR/
2. 使用 Python 下载(Earthdata)
import requests
from earthaccess import auth, storeauth.login() # 登录 Earthdata
results = store.search(short_name="CRIS_SDR", temporal=("2024-01-01", "2024-01-02"))
files = store.download(results, "./criss_data/")
总结
数据需求 | 推荐平台 | 备注 |
---|---|---|
官方原始数据(SDR/EDR) | NOAA CLASS | 需注册,数据最全 |
科研分析(L1B/L2) | NASA Earthdata | 支持区域筛选 |
近实时(NRT)数据 | NOAA STAR | 适合气象业务应用 |
可视化工具 | SSEC CIMSS | 在线浏览亮温图 |
如果需要特定日期/区域的 CrIS 数据,可以提供详细信息,我可以推荐更精确的下载方式! 🛰️