目录
- Mod5介绍
- 安装Mod5
- Mod5文件位置
- 注意事项
- 运行Mod5
- 创建实例
- 设置MODTRAN参数
- 运行MODTRAN
- 子实例
- 结果绘制
- 示例图
Mod5介绍
MODTRAN 是一个计算地球大气中电磁辐射传输的软件代码。MODTRAN是通过使用具有严格格式的输入文本文件来控制的。这个文件被称为“tape5”,扩展名为.tp5或.ltn。手工创建或编辑这个文件是不方便的。Mod5提供了一组函数来简化MODTRAN用例的处理。这些方法包括将tape5文件格式读取到Mod5类“实例”或“对象”中,更改文件中描述的案例实例,将tape5格式写回文件,在案例上运行MODTRAN并将MODTRAN输出文件中的各种结果读取回Matlab。还有许多绘图方法可用。
安装Mod5
Mod5下载链接: Matlab Function Wrapper for MODTRAN 5
Mod5文件位置
为了让Mod5和MODTRAN配合运行,Mod5.m必须位于Modtran5\Bin目录下(MODTRAN可执行文件所在目录)。
所有与Mod5实例相关联的MODTRAN输出文件将被写到MODTRAN可执行文件所在的同一个目录中。随着时间的推移,这可能导致该目录中累积大量文件。若要将输入(.tp5)和所有输出数据保存到特定目录,请使用以下命令:
>> MyCase.Save(SaveDirectory);
建议新建文件夹:放入Mod5.m(必须)和其他Mod5Examples.m等工程文件用于案例计算。
注意事项
运行封装器必须使用对应MODTRAN版本的可执行文件,Mod5目前仅支持MODTRAN 5.2.0.版本。
如果使用其他版本的MODTRAN5,也可以忽视警告信息或者修改对应的函数,或者修改Mod5.m函数:
%ExpectedMODTRAN = 'Mod5.2.0.0_cons.exe';
ExpectedMODTRAN = 'Mod5.2.1.0.exe';
运行Mod5
创建实例
有两种方法可以创建Mod5实例。
1.从 tape5或 .tp5等文件读取实例。
>> MyCase = Mod5(‘AnExistingCase.tp5’);
2.从头创建一个案例,例如在example 2中,首先需要获得一个空的Mod5对象。
>> MyEmptyCase = Mod5;
设置MODTRAN参数
MODTRAN输入参数都可以作为Mod5属性使用。例如:
>> MyCase(Sol1).MODTRN = ‘M’; % Set the MODTRAN Spectral Band Model
要在单个函数调用中为子case设置多个MODTRAN变量,请使用set函数。例如:
Sol1 = Sol1.Set('MODTRN', 'M','SPEED','S');
具体参数含义请参照Modtran5.2.1用户手册。
运行MODTRAN
构造Mod5实例后,运行MODTRAN就很简单了:
>> MyCase = MyCase.Run;
第一次执行Run方法时,Mod5将显示一个文件选择对话框,您必须选择要使用的MODTRAN可执行文件。如果您将MODTRAN移动或重新安装到另一个位置,则必须再次执行此操作。可以通过调用函数将Mod5指向MODTRAN可执行文件:
>> Mod5.SetMODTRANExe;
子实例
当需要不同数据的实例同时运行出结果时,可以使用replicate方法复制Mod5实例来创建子实例。这样可以适当加快计算速度。
例如创建5个相同子实例的行向量,使用以下命令:
>> MyReplicatedCase = MyCase.Replicate([1 5]);
创建子实例后,就可以使用标准的Matlab索引为5个子实例中的每一个实例改变选定的MODTRAN输入。
for j=1:5MyCase(1,j)=MyCase(1,j).Set('ANGLE', j);
end
结果绘制
有几种方法可以绘制各种数据项,包括MODTRAN输出。
MyCase.PlotTp7 %plots selectable MODTRAN tape7 outputs
MyCase.PlotSc7 %plots selectable convolved MODTRAN tape7 outputs
MyCase.PlotChn %plots channel (.chn) MODTRAN outputs
MyCase.PlotAtm %plots user-defined atmospheric data