一、GUI软件的使用
打开bin目录下的PcModwin.exe
1.1 全部使用1976大气模式
要模拟卫星观测的地面反射太阳的辐射,所以选择slant
180度的观测角表示朝下观测
点Run model 既可
1.2 单独改变甲烷的浓度,其他全部使用76大气
值得注意的是:这里需要自己设置分层数(以3层为例),并且Supply Molecular Density by Layer 必须选中,否则下一个选项卡的甲烷浓度无法设置。
注意第一层的高度必须要小于等于之后要设置的Final Height (即反射点位置的高度),剩下的除了甲烷,全部设置为76大气。第二、第三层类似。
注意这里最高层的高度必须要大于后面要设置的Observer Height。
绘图,选择MODOUT2
绘制总辐射
二、直接调用代码来运行MODTRAN
前面的GUI软件的作用很明显,就是为了生成一个标准化的输入文件,然后调用主程序。
经过了解,tape5是输入文件,但进一步打开Modtran.bat发现,tape5是由modin复制而来,所以当我们要分30层或者更多层数的时候,只要修改modin即可。
打开modin看看
现在还是3层,之前GUI定义的。我们可以直接在此上面修改为4层
直接双击Modtran.bat,输出在tape6
clc;clear;
filename = 'E:\MODTRAN\Bin\MODOUT2';
fid = fopen(filename,'r');
all = {'FREQ','TOT TRANS','PTH THRML','THRML SCT','SURF EMIS','SOL SCAT','SING SCAT','GRND RFLT','DRCT RFLT','TOTAL RAD','REF SOL','SOL@OBS','DEPTH'};
data = [];
if fid<0
warndlg('打开文件失败!');
return;
else
FormatString=['%s ' repmat('%f ',1,12)]; %共13列,第一列是字符,后面12列是数字
temp = textscan(fid,FormatString,6260-3990 +1,'HeaderLines',11); %跳过前11行,读取
a = cell2mat(temp(:,2:13));
data = [data;a];
end
msgbox('文件读取成功!');
fclose(fid);
data = [(3990:1:6260)' data];
plot(data(:,1),data(:,10)) % 第10列是 TOTAL RADIANCE
参考: