1.简介
关于LibRadtran的介绍以及安装可以参考另一篇博文:Windows系统LibRadtran安装。这里将针对LibRadtran的基础使用,以及基本语法进行介绍。
2.基本语法规则
uvspec < input_file.inp > output_file.out
其语法使用了重定向技术,<
表示将 input_file.inp 文件的内容作为输入重定向到 uvspec 程序,而 >
则是将程序的输出重定向到 output_file.out 文件。
uvspec
是 LibRadtran 软件包中的主要可执行程序,用于进行辐射传输模拟。它通过读取用户提供的详细输入文件,来模拟大气中的光辐射行为。用户可以通过修改输入文件,来设定大气组成、云层特性、地表反射性质等多种环境参数。uvspec
能够处理多种辐射传输模式,包括但不限于单次散射、多次散射以及光化学效应的模拟。
input_file.inp
是 LibRadtran 软件中 uvspec
程序使用的输入文件,这个文件是一个文本格式的文件,其中包含了执行辐射传输模拟所需的所有参数设定。这些参数可以包括大气条件、波长设置、气溶胶特性、云和地表属性等。用户根据具体的模拟需求编辑这个文件,然后通过 uvspec
程序读取并执行计算。
output_file.out
是由 LibRadtran 中的 uvspec
程序生成的输出文件,这个文件记录了辐射传输模拟的结果。输出内容可以包括从大气顶部到地面的辐射强度、光谱数据、以及其他根据用户在输入文件中指定的输出选项生成的数据。这使得用户能够详细分析模拟的大气辐射特性和其他相关效果。
3.例子
3.1 例子1
我们首先来学习基本语法教程中给出的一个例子。
../bin/uvspec < UVSPEC_CLEAR.INP > test.out
UVSPEC_CLEAR.INP是在路径D:\ICESat-2\20231226\libRadtran-2.0.5\examples(根据自己的安装包路径找)下已经给出,文件内容如下:
# Location of atmospheric profile file.
atmosphere_file ../data/atmmod/afglus.dat
# Location of the extraterrestrial spectrum
source solar ../data/solar_flux/atlas_plus_modtran
mol_modify O3 300. DU # Set ozone column
day_of_year 170 # Correct for Earth-Sun distance
albedo 0.2 # Surface albedo
sza 32.0 # Solar zenith angle
rte_solver disort # Radiative transfer equation solver
number_of_streams 6 # Number of streams
wavelength 299.0 341.0 # Wavelength range [nm]
slit_function_file ../examples/TRI_SLIT.DAT
# Location of slit function
spline 300 340 1 # Interpolate from first to last in step
quiet
这些设置详细定义了大气模型、光谱数据源、地表和大气条件,以及求解器的配置,从而精确控制模拟的条件和输出。这些命令每一行命令都指定了模型的一个特定方面。以下是每条命令的作用解释:
-
atmosphere_file:
atmosphere_file ../data/atmmod/afglus.dat
- 这个命令指定大气廓线文件的位置,该文件包含了大气的状态信息,如温度、压力、气体组成等。
afglus.dat
是一种常用的大气廓线文件,包含了美国标准大气的数据。
-
source solar:
source solar ../data/solar_flux/atlas_plus_modtran
- 这个命令指定外太空光谱的位置,即地球大气外的太阳光谱。这个光谱对于模拟太阳光在穿越大气层时的行为至关重要。
-
mol_modify:
mol_modify O3 300. DU
- 这个命令用于修改大气中特定气体的含量,这里是设置臭氧柱浓度为300多布森单位(Dobson Units)。
-
day_of_year:
day_of_year 170
- 这个命令用于根据一年中的具体日子(第170天)来调整地球与太阳之间的距离。这对于精确计算太阳辐射是必要的,因为地球与太阳的距离会影响到达地球的太阳辐射量。
-
albedo:
albedo 0.2
- 这个命令设置地表的反照率,即地表反射太阳辐射的能力。0.2表示地表吸收80%的辐射能量,反射20%。
-
sza:
sza 32.0
- 这个命令设置太阳天顶角,即太阳光与地面垂直时的角度。32.0度意味着太阳光与地面的角度。
-
rte_solver:
rte_solver disort
- 这个命令选择了用于计算辐射传输的求解器。DISORT是一种广泛使用的多流辐射传输方程求解器。
-
number_of_streams:
number_of_streams 6
- 这个命令设置DISORT求解器中使用的流的数量。流数越多,计算越精确,但计算时间也越长。
-
wavelength:
wavelength 299.0 341.0
- 这个命令设置计算的波长范围,从299.0 nm到341.0 nm。
-
slit_function_file:
slit_function_file ../examples/TRI_SLIT.DAT
- 这个命令指定了狭缝函数的位置,狭缝函数用于模拟光谱仪的光谱响应。
-
spline:
spline 300 340 1
- 这个命令设置在300 nm到340 nm范围内,以1 nm为步长进行插值,用于平滑光谱数据。
-
quiet:
quiet
- 这个命令减少了程序运行时输出的信息量,使输出更加简洁。注释掉后可以输出中间提示信息。
这些命令共同定义了一个完整的辐射传输模型配置,用于模拟和分析太阳辐射在穿过大气层时的行为和影响。
将当前路径指定到D:\ICESat-2\20231226\libRadtran-2.0.5\examples
cd D:\ICESat-2\20231226\libRadtran-2.0.5\examples
如果懒得指定当前路径,用绝对路径也行。
运行后输出结果为:
3.2 例子2
参考:
[1] LibRadtran基础用法(英文版)
[2] LibRadtran基础用法(中文版)