编程语言
首页 > 编程语言> > 【IDL代码库】IDL调用6S.exe生成查找表源码 (气溶胶系统)

【IDL代码库】IDL调用6S.exe生成查找表源码 (气溶胶系统)

作者:互联网

最新下载地址,包涵了源码和6s.exe程序:http://pan.baidu.com/s/1ppk1C

;+

;:Description:

;    Describe the procedure.

;

;:Author: tiands@esrichina.com.cn

;

;:Date: 2013-9-5 11:10:27

;-

;;===============================================================================================  ;;;  该程序是通过6s辐射校正模型生成查找表,以便进行气溶胶反演  ;    该程序参数设置较为简单,如果要详细的参数,请自行设置  ;    改进方法:1、读取每一个影像的角度信息建立查找表,这样精度更高  ;             2、利用IDL直接调用Fortran语言的6S源程序,并行生成查找表,速度提高20倍左右  ;             3、将所有参数都设置好,缩小步长,构建一个庞大的查找表,构建神经网络,一劳永逸  ;;;==============================================================================================  PRO MODIS_LUT;,month,day,iwave,idatm,iaer,lutpath,lutname    igeom=0;自定义几何条件    phi0=0;卫星方位角++++    month=5;;月份    day=17;;日期    idatm=2;:大气模式中纬度夏季    iaer=1;:气溶胶模式大陆型    v=0;;能见度    xps=0;;目标物高度    xpp=-1000;;星测    iwave=42;:自定义1输入波段范围和反射相函数42为modis的red    inhomo=0;;地表反射率均一地表    idirect=0;;无方向效应    igroun=1;:绿色植被    rapp=-2;:无大气校正    tao=[0.0001,0.25,0.5,1.0,1.5,1.95];;550nm气溶胶光学厚度    asol=[0,12,24,36,48,60];;太阳天顶角    avis=[0,12,24,36,48,60];;卫星天顶角    phiv=[0,24,48,72,96,120,144,168,180];;太阳方位角(卫星方位角为0,即相对方位角为O.180)    ; CD,lutpath    cd,'C:\Users\Administrator\Desktop\6s_lut';自己更改6s.exe所在的文件夹路径    lutname='modis_lut.txt'    OPENW,lutlun,lutname,/get_lun    ;设置循环过程    ;for a=0,2 do begin;蓝红两个通道    FOR b=0,5 DO BEGIN;550nm气溶胶光学厚度      FOR c=0,5 DO BEGIN;太阳天顶角        FOR d=0,5 DO BEGIN;;卫星天顶角          FOR e=0,8 DO BEGIN;;太阳方位角(卫星方位角为0,即相对方位角为O.180)            txtname='in.txt'            OPENW,lun,txtname,/get_lun            PRINTF,lun,igeom            PRINTF,lun,asol[c],phiv[e],avis[d],phi0,month,day            PRINTF,lun,idatm            PRINTF,lun,iaer            PRINTF,lun,v            PRINTF,lun,tao[b]            PRINTF,lun,xps            PRINTF,lun,xpp            PRINTF,lun,iwave            PRINTF,lun,inhomo            PRINTF,lun,idirect            PRINTF,lun,igroun            PRINTF,lun,rapp            FREE_LUN,lun            SPAWN,'6s.exeout.txt',/hide ;调用6s <>符号为dos系统下的重定向符号     <从文件读取命令输入>将输出结果写入文件            txtname='out.txt'            OPENR,lun,txtname,/get_lun            temp=STRARR(1,120)            READF,lun,temp            tt=STRMID(temp[0,105],61,8)            sA=STRMID(temp[0,111],61,8)            rou=STRMID(temp[0,114],61,8)            FREE_LUN,lun            ;依次为辐射方程中的P T S参数、太阳天顶角,卫星天顶角,相对方位角、气溶胶光学厚度            PRINTF,lutlun,sA,tt,rou,asol[c],avis[d],phiv[e],tao[b]          ENDFOR        ENDFOR      ENDFOR    ENDFOR    ;  endfor    FREE_LUN,lutlun  END

标签:方位角,6s,气溶胶,顶角,IDL,6S,PRINTF,源码,lun
来源: https://www.cnblogs.com/enviidl/p/16317107.html