VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
modtran3d.h
Go to the documentation of this file.
1 /* © 1998 JRM Technologies, Inc.*/
2 
3 #ifndef _MODTRAN3D_H_
4 #define _MODTRAN3D_H_
5 
6 #include "ModRadDLLstub.h"
7 #include "modrad_common.h"
8 
9 
10 #ifdef __cplusplus
11 extern "C"
12 {
13 #endif
14 
15 
16 
17  /* ------------------ MODTRAN API --------------------------- */
18 
19  /*
20  typedef struct
21  {
22  float lam; // wavelength in microns
23  float alt; // altitude in meters
24  float prd; // path radiance coefficient in W/m3/sr/um
25  float ext; // extinction coefficient in m-1
26  float psc; // phase function [sr-1] psc="rho"=dsigma dx / domega /dvol (cross section per unit solid angle per unit volume, times the differential path length).
27  float agd; // angle at which phase function calculated [rad]
28  } MODCOEF;
29 
30  typedef struct{
31  double rho,beta;
32  double h1,angle;
33  double h2,phi;
34  double range,minh;
35  double path_i,path_j,path_k;
36  }MODPATH;
37  */
38 
39  /*
40  #define LAYDIM 100 // [unitless int] max # Modtran atmospheric layers (should be read in from Param.lst)
41  #define MANGLS 50 // [unitless int] max # Modtran Scattering Function angles
42  #define MWLF 15 // [unitless int] max # Modtran Scattering Function wavelengths
43  #define MAERF 4 // [unitless int] max # Modtran Scattering Function aerosols
44  #define MXWVLN 788 // [unitless int] max # Modtran Cloud spectral data points
45 
46  typedef struct
47  {
48 
49  // SCENV (required) : Set SigSim Modtran Data and Output Directory Paths ---------
50  char IDIR[255],ODIR[255]; // Full path of Modtran input and output directories
51 
52  //SC1 (required) : General operation ---------------------------------------------
53  char c1Modtrn[4]; // T,M,blank for Modtran band model, C or K for correlated-k option, F or L for Lowtran
54  int c1Model; // 0=horiz path user-specified single-alt, 1=tropical,2=midlat summer,3=midlat winter,4=subarctic summer,5=subarctic winter,6=US standard,7=full user-specified
55  int c1Iemsct; // 0=Transmittance, 1=thermal radiance, 2=thermal radiance + source irrad, 3=direct source irrad
56  int c1Imult; // Multiple scattering : off(0) or on(-1 or 1)
57  int c1Itype; // Path type : horizontal(1), slant(2), slant to space or ground(3)
58  int c1M1; // Default temp & pressure to model atm 1-6
59  int c1M2; // Default H2O to model atm 1-6
60  int c1M3; // Default O3 to model atm 1-6
61  int c1M4; // Default CH4 to model atm 1-6
62  int c1M5; // Default N2O to model atm 1-6
63  int c1M6; // Default CO to model atm 1-6
64  int c1Mdef; // 1=Default heavy species profiles, 2=user-input heavy species
65  int c1IM; // 0=normal operation or use previous model atm, 1=read user model atm
66  int c1Noprnt; // 0=normal operation of tape6 output, 1=minimize Xmit/Rad tables in tape6, -1=control tape8 out, -2=generate cooling rate data to clrates file
67  float c1Tbound; // Ground Temp [degK] for IEMSCT=1,2. If =0, use lowest atm level temp.
68  float c1Salb; // >=0 gives earth albedo [unitless 0-1], <0 access albedo Salb from refbkg file
69 
70  //SC1A (required) : Multiple Scattering & solar irrad operation --------------------
71  int c1aDis; // If IMULT=+-1 : 0=false=Issacs 2-stream, 1=true=activates DISORT multiple scattering
72  int c1aNstr; // Number of streams to use with DISORT : [2,4,8,16]
73  int c1aLsun; // 0=false=use default 5 cm-1 solar irrad (sunbd.f), 1=true=use 1cm-1 data from filespec SUNFL2
74  int c1aIsun; // FWHM in wavenumbers of triangular solar irrad scanning function
75  float c1aCo2max ; // CO2 mixing ratio [ppmv]. 0=default=330ppmv.
76  char c1aH2ostr[12]; // Vertical H2O vapor column scaling factor for default, or "g xxx" with xxx[gm/cm2], or "a xxx" with xxx[atm-cm]
77  char c1aO3str[12]; // Vertical Ozone column scaling factor for default, or "g xxx" with xxx[g/cm2], or "a xxx" with xxx[atm-cm]
78  char c1aSunfl[4]; // T=true=read solar rad file from C1A1. F=false=use default
79  float c1aSolcon; // <0 gives negative of scaling factor over default solar irrad, >0=solar constant[W/m2], 0=use default
80 
81  //SC1A1 (if C1ALSUNFL=T) : Select TOA solar irrad data -----------------------------
82  char c1a1Sunfl2[84]; // [Blank or 1]=Kurucz, 2=Chance, 3=Cebula+Chance, 4=Thullier+corrected Kurucz, filename=user-defined.
83 
84  //SC1A2 (unused in Mod3.7)
85  char c1a2Bmname[80]; // Band model file name
86 
87  //SC1A3 (unused in Mod3.7)
88  char c1a3Fltnam[80]; // Filter file name
89 
90  //SC2 (required) : Aerosols ---------------------------------------------------------
91  char c2Aplus[4]; // Blank=default, "A+" reads card 2A+ for user-defined optical properties
92  int c2Ihaze; // c2Ihaze : -1=no aerosol attenuation, but possibly cloud (if ICLD>0). 0=no cloud or aerosol atten,1=rural vis=23km,2=rural vis=5km,3=navy maritime,4=maritime,5=urban,6=tropospheric,7=user-def(cards2Dx),8=fog1(0.2km),9=fog2(0.5km),10=desert
93  char c2Cnovam[4]; // Blank = default; "N" = use Navy Oceanic Vertical Aerosol Model output (see appendix B)
94  int c2Iseasn; // c2Iseasn : 0=use summer for models 0,1,2,4,6,7. 1=use summer, 2=use winter
95  char c2Aruss[4]; // Blank=default, "USS"= use user-defined optical properties
96  int c2Ivulcn; // [0,1]=background, [2-8]=volcanic : 2=moderate&aged,3=high&fresh,4=high&aged,5=moderate&fresh,6=moderate&background,7=high&background,8=extreme&fresh
97  int c2Icstl; // NOVAM air mass character: [1=open ocean...10=strong continental]
98  int c2Icld; // Cloud Model : 0=none,1=cumulus,2=altostratus,3=stratus,4=stratocumulus,5=nimbostratus,6=stratus_drizzle,7=nimbostratus_light,8=nimbostratus_moderate,9=cumulus_heavy,10=cumulus_extreme,11=user-defined(cards2D),18=standard_cirrus,19=subvisual_cirrus
99  int c2Ivsa; // Vertical Structure Algorithm (VSA model): off(0) or on(1)
100  float c2Vis; // Visibility [km] , or 0=default set by Ihaze
101  float c2Wss; // Current wind speed [m/s] (Navy Maritime or desert models only -- IHAZE=3 or 10)
102  float c2Whh; // 24hr ave wind speed [m/s] (Navy Maritime or desert models only -- IHAZE=3 or 10)
103  float c2Rainrt; // Rain rate [mm/hr], or [<=0] if using user-defined rain rate in card2E1.
104  float c2GndAlt; // Ground altitude w.r.t. sea level [km]
105 
106  //SC2A (required for all cloud models except ICLD=11) : Cloud model parameters. ---------
107  int c2aNcrspc; // [>=2]=number of cloud spectral data wavelengths (triggers card 2E2), [<2]=use default
108  int c2aNcralt; // [>=3]=number of cloud boundary layers (triggers card2E1), [<3]=use default
109  int c2aIseed; // Unused???
110  float c2aCwavln; // [0.2-200.0 um] vertical extinction reference wavelength [microns]. Values outside this range give default=0.55um
111  float c2aCthik; // Cloud vertical thickness [km], or <0=default
112  float c2aColip; // Ice Particle vertical column density [km g/m3], or if [<], do not scale.
113  float c2aChumid; // Relative Humidity [0-105%] at cloud boundaries, or taken=100% if outside [0-105%] bounds
114  float c2aCext; // [<=0] = do not scale extinction coeffs, [>0]=cloud H2O vert extinction [km-1]
115  float c2aCcolwd; // Water droplet vertical column density [km g/m3], or if [<], do not scale.
116  float c2aCalt; // Cloud base altitude [km], or <0=default
117  float c2aAsymwd; // [<1] Water Henyey-Greenstein scattering asymmetry parameter at all wavelengths, or [>=1] uses user-defined or model
118  float c2aAsymip; // [<1] Ice Henyey-Greenstein scattering asymmetry parameter at all wavelengths, or [>=1] uses user-defined or model
119 
120  //SC2AP (used if c2Aplus = "A+") : Modtran 3.7 flexible aerosol model ---------------
121  float C2AP_Z11; // Base altitude of aerosol #1 [km]
122  float C2AP_Z12; // Top altitude of aerosol #1 [km] if >0. If <0, translate original profile to new base, if =0, set values to default & ignore scaling
123  float C2AP_S1; // Scaling factor for aerosol #1, if >0. Else no scaling. [unitless]
124  float C2AP_Z21; // Base altitude of aerosol #2 [km]
125  float C2AP_Z22; // Top altitude of aerosol #2 [km] if >0. If <0, translate original profile to new base, if =0, set values to default & ignore scaling
126  float C2AP_S2; // Scaling factor for aerosol #2, if >0. Else no scaling. [unitless]
127  float C2AP_Z31; // Base altitude of aerosol #3 [km]
128  float C2AP_Z32; // Top altitude of aerosol #3 [km] if >0. If <0, translate original profile to new base, if =0, set values to default & ignore scaling
129  float C2AP_S3; // Scaling factor for aerosol #3, if >0. Else no scaling. [unitless]
130  float C2AP_Z41; // Base altitude of aerosol #4 [km]
131  float C2AP_Z42; // Top altitude of aerosol #4 [km] if >0. If <0, translate original profile to new base, if =0, set values to default & ignore scaling
132  float C2AP_S4; // Scaling factor for aerosol #4, if >0. Else no scaling. [unitless]
133 
134  //SC2B (used if C2IVSA=1) Army VSA subroutine -----------------------
135  float C2BZCV; // ZCVSA : Cloud Ceiling Height [km] if positive, no ceiling if negative, unknown if =0.
136  float C2BZTV; // ZTVSA : Cloud/Fog Thickness [km] if positive, unknown (default=2km) if =0.
137  float C2BZINV; // ZINVSA: Inversion/boundary layer height [km] if positive, no layer if negative, unknown (default=2km or 0.2 for fog) if =0.
138 
139  //SC2C (used when MODEL=IM=0 or MODEL=7, IM=1 on card1) : User-defined atmospheric profile controls.
140  int C2CML; // Number of layers (max=LAYDIM)
141  int C2CRD1; // Species densities: 0=Don't read card2C2, 1=read card2C2
142  int C2CRD2; // Aerosol/Cloud/Rain: 0=Don't read card2C3, 1=read old version of card2C3, 2=read new version of card2C3
143  char C2CMDL[20]; // Model atmosphere title
144 
145  //SC2C1 (used when MODEL=IM=0 or MODEL=7, IM=1 on card1) : User-defined atmospheric profile
146  char C2C1JCHAR[LAYDIM*17]; // [char1=pressure units]: A=mb, B=atm, C=torr, 1-6=MODEL; [char2=tempunits]: A=degK, B=degC, 1-6=MODEL, [char3=H2O units (see below)]
147  // [chars4-16 = species units]: A=ppmv,B=#/cm3,C=g/kg,D=g/m3,E=mb,F=dewpt[degK],G=dewpt[degC],H=%relhum,1-6=MODEL
148  float C2C1ZM[LAYDIM]; // Layer altitude [km]
149  float C2C1P[LAYDIM]; // Layer pressure [char1 units]
150  float C2C1T[LAYDIM]; // Layer Temperature [char2 units]
151  float C2C1WMOL1[LAYDIM]; // H2O density [char3 units]
152  float C2C1WMOL2[LAYDIM]; // CO2 density [char4 units]
153  float C2C1WMOL3[LAYDIM]; // O3 density [char5 units]
154 
155  //SC2C2 (used when MODEL=IM=0 or MODEL=7, IM=1 and MDEF=2 on card1) : User-defined atmospheric profile
156  float WMOL4[LAYDIM]; // N2O density [char6 units]
157  float WMOL5[LAYDIM]; // CO density [char7 units]
158  float WMOL6[LAYDIM]; // CH4 density [char8 units]
159  float WMOL7[LAYDIM]; // O2 density [char9 units]
160  float WMOL8[LAYDIM]; // NO density [char10 units]
161  float WMOL9[LAYDIM]; // SO2 density [char11 units]
162  float WMOL10[LAYDIM]; // NO2 density [char12 units]
163  float WMOL11[LAYDIM]; // NH3 density [char13 units]
164  float WMOL12[LAYDIM]; // HNO3 density [char14 units]
165 
166  //SC2C2X (used when MODEL=IM=0 or MODEL=7, IM=1 on card1) : User-defined atmospheric profile
167  float WMOLX1[LAYDIM]; // CCl3F density [char15 units]
168  float WMOLX2[LAYDIM]; // CCl2F2 density [char15 units]
169  float WMOLX3[LAYDIM]; // CClF3 density [char15 units]
170  float WMOLX4[LAYDIM]; // CF4 density [char15 units]
171  float WMOLX5[LAYDIM]; // CHClF2 density [char15 units]
172  float WMOLX6[LAYDIM]; // C2CL3F3 density [char15 units]
173  float WMOLX7[LAYDIM]; // C2Cl2F4 density [char15 units]
174  float WMOLX8[LAYDIM]; // C2ClF5 density [char15 units]
175  float WMOLX9[LAYDIM]; // ClONO2 density [char15 units]
176  float WMOLX10[LAYDIM]; // HNO4 density [char15 units]
177  float WMOLX11[LAYDIM]; // CHCl2F density [char15 units]
178  float WMOLX12[LAYDIM]; // CCl density [char15 units]
179  float WMOLX13[LAYDIM]; // N2O5 density [char15 units]
180 
181  //SC2C3 (used when card2C IRD2=1) : User-specified Cloud/Rain model -------------------
182  int IHA1[LAYDIM]; // Haze/Range control for alt[i]. See IHAZE for options
183  int ICLD1[LAYDIM]; // Cloud extinction control for alt[i]. See ICLD for options
184  int IVUL1[LAYDIM]; // Stratospheric extinction control for alt[i]. See IVULCN for options
185  int ISEA1[LAYDIM]; // Aerosol season control at alt[i]. See ISEASN for options
186  int ICHR[LAYDIM]; // 0=no boundary change, 1=boundary change (IHAZE=7 or ICLD=11 only)
187  float AHAZE1[LAYDIM]; // 0.55um extinction coeff at alt[i] [km-1]
188  float AHAZE2[LAYDIM]; // 0.55um extinction coeff at alt[i] [km-1]
189  float AHAZE3[LAYDIM]; // 0.55um extinction coeff at alt[i] [km-1]
190  float AHAZE4[LAYDIM]; // 0.55um extinction coeff at alt[i] [km-1]
191  float EQLWCZ[LAYDIM]; // Liquid water content [g/m3] at alt[i]
192  float RRATZ[LAYDIM]; // Rain rate [mm/hr] at alt[i]
193 
194  //SC2D (used if C2IHAZE=7 or C2ICLD=11) : User-input Aerosol and Cloud Parameters -------
195  int C2DIREG[4]; // [=0] Use default value for region i (i=1,2,3,4); [=1] Read extinction, absorption, and asymmetry param for the region from Cards 2D1 and 2D2.
196 
197  //SC2D1 (used if C2IHAZE=7 or C2ICLD=11) : User-input Aerosol and Cloud Parameters -------
198  float C2D1AWCCON[4]; // Conversion factor from equiv liquid water content [g/m3] to extinction coef [km-1]. Units are [km g/m3].
199  char C2D1TITLE[4][72]; // Title for aerosol region i=1,2,3,4
200 
201  //SC2D2 (used if C2IHAZE=7 or C2ICLD=11) : User-input Aerosol and Cloud Parameters -------
202  float C2D2VARSPC[4][47]; // Wavelengths [microns] for aerosol/cloud coefs if USS not used. Must increase.
203  float C2D2EXTC[4][47]; // Extinction coeff, normalized to 1.0km-1 at 0.55um.
204  float C2D2ABSC[4][47]; // Absorption coeff, normalized to 1.0km-1 at 0.55um.
205  float C2D2ASYM[4][47]; // Asymmetry parameter.
206 
207  //SC2E1 (used when Ncralt>=3) : User-defined Cloud and Rain profile ------------
208  float c2e1ZCLD[LAYDIM]; // User-defined cloud altitude [km] above ground
209  float c2e1CLD[LAYDIM]; // User-defined cloud liquid water density [g/m3] at c2e1ZCLD alt.
210  float c2e1CLDICE[LAYDIM]; // User-defined cloud ice particle density [g/m3] at c2e1ZCLD alt.
211  float c2e1RR[LAYDIM]; // User-defined Rain rate [mm/hr] at c2e1ZCLD alt.
212 
213  //SC2E2 (used when C2NCRSPC>=2) : User-defined cloud spectral data arrays ---------------
214  float C2E2WAVLEN[MXWVLN]; // Wavelength [microns] in spectral grid
215  float C2E2EXTC6[MXWVLN]; // Liquid water droplet extinction coeff [km-1 m3/g]
216  float C2E2ABSC6[MXWVLN]; // [>0] liquid water droplet absorption coeff [km-1 m3/g]; [<0] liquid water droplet scattering albedo minus 1
217  float C2E2ASYM6[MXWVLN]; // Henyey-Greenstein scattering phase function asymmetry factor
218  float C2E2EXTC7[MXWVLN]; // Ice particle extinction coeff [km-1 m3/g]
219  float C2E2ABSC7[MXWVLN]; // [>0] Ice particle absorption coeff [km-1 m3/g]; [<0] ice particle scattering albedo minus 1
220  float C2E2ASYM7[MXWVLN]; // Henyey-Greenstein scattering phase function asymmetry factor
221 
222  //SC3 (required) : Path geometry -----------------------------------------------------
223  float c3Ro; // Local radius of Earth [km], unless set =0, when default is MODEL dependent.
224  float c3Range; // Path length [km]
225  float c3Phi; // Zenith angle at H2 [deg]
226  int c3Lenn; // 0=default=short path, 1=long path for those cases where H1, H2, and one angle are specified.
227  int c3Isource; // Source: 0=sun, 1=moon
228  int c3Iday; // Day of year (used if ITYPE=3)
229  float c3H2; // Spherical geodetic altitude of source [km]
230  float c3H1; // Spherical geodetic altitude of observer [km]
231  float c3Beta; // Earth center angle subtended by H1 & H2 [deg]
232  float c3AngleM; // Moon phase (used if Isource=1) [deg] : 0=Full, 180=New
233  float c3Angle; // Zenith Angle at H1 [deg]
234 
235  //SC3A1 (used if IEMSCT=2) : Source scattering geometry method setting ------------------
236  int c3a1Iprm; // Specification method. 0=source & observer lat/long, 1=observer lat/long & time, 2=solar angle and path angle, [10-12]=same as [0-2] but w.r.t. H2, not H1.
237  int c3a1Iph; // Phase function : 0=spectrally-independent Henyey-Greenstein (see 3A2), 1=user-supplied (3B), 2=Mie internal database for MODEL.
238  int c3a1Iday; // Day of year [1-365]
239  int c3a1Isrc; // Source: 0=sun, 1=moon
240 
241  //SC3A2 (used if IEMSCT=2) : Source scattering geometry parameters ----------------------
242  float c3a2Prm1; // [Iprm=0,1] H1 latitude [deg], [Iprm=2] azimuth between LOS and source direction [deg], [Iprm=10,11] H2 latitude [deg], [Iprm=12] relative solar azimuth at H2 [deg]
243  float c3a2Prm2; // [Iprm=0,1] H1 longitude[deg], [Iprm=2] solar zenith angle at H1 [deg], [Iprm=10,11] H2 longitude [deg], [Iprm=12] solar zenith at H2 [deg]
244  float c3a2Prm3; // [Iprm=0,10] Source latitude [deg], [Iprm=1,2,11,12] unused
245  float c3a2Prm4; // [Iprm=0,10] Source longitude [deg], [Iprm=1,2,11,12] unused
246  float c3a2Tme; // Greenwich time [hrs in 23.99 format] (used if Iprm=1,11)
247  float c3a2Psi; // Path azimuth [deg East of North] (used if Iprm=0,1,10,11)
248  float c3a2Angl; // Moon phase (used if Isource=1) [deg] : 0=Full, 180=New
249  float c3a2G; // Henyey-Greenstein asymmetry factor [unitless -1 to 1] (used if IPH=0)
250 
251 
252  //SC3B1 (used if C3A1IPH=1) : User-defined Scattering Phase Functions ------------------
253  int C3B1NANGLS; // Number of angles (max 50)
254  int C3B1NWLF; // [=0] no wavelength dependence; [>0] function will be specified on a wavelength grid of this many points.
255 
256  //SC3B2 (used if C3A1IPH=1, NWLF=0 or blank) : User-defined Scattering Phase Functions ------------------
257  float C3B2ANGF[MANGLS]; // Scattering angle j [degrees, 0-180]
258  float C3B2F1[MANGLS]; // Phase function at angle j for bounary layer (0-2km)
259  float C3B2F2[MANGLS]; // Phase function at angle j for troposphere (2-10km)
260  float C3B2F3[MANGLS]; // Phase function at angle j for stratosphere (10-30km)
261  float C3B2F4[MANGLS]; // Phase function at angle j for mesosphere (30-100km)
262 
263  //SC3C (used if C3A1IPH=1, NWLF>0) : User-defined Scattering Phase Functions ------------------
264  float C3C1ANGF[MANGLS]; // Scattering angle j [degrees, 0-180]
265  float C3C2WLF[MWLF]; // Wavelength [microns]
266  float C3C36F[MAERF][MANGLS][MWLF]; // Phase function for aerosol i, angle j, wavelength k.
267 
268  //SC4 (required) : Spectral range and degradation --------------------------------------
269  float c4V1; // Beginning frequency or wavelength of band (units depend on c4flags[0])
270  float c4V2; // Ending frequency or wavelength of band (units depend on c4flags[0])
271  float c4Dv; // Frequency or wavelength increment (units depend on c4flags[0])
272  float c4Fwhm; // Slit function full width at half-maximum (units depend on c4flags[0])
273  jrmbool c4Relative; // [TRUE=R]: FWHM = 100 dlam/lam, [FALSE=A=blank]: FWHM is absolute
274  jrmbool c4Degrade ; // [FALSE=blank]: Degrade only total, [TRUE=A]: Degrade all
275  char c4Xflag[4]; // Output units : W=freq in wavenumber, radiance in [W/cm2/sr/cm-1]; M=wavelength in um, radiance in [W/cm2/sr/um]; N=wavelength in nm, radiance in [uW/cm2/sr/nm]
276  char c4Yflag[4]; // T=output transmittances to pltout files, R=output radiances to pltout files.
277  char c4Flags[8]; // Flags[0]: Input band units : CM-1, MICRON, or NM
278  // Flags[1]: Slit function : 0,1=triangle, 2=rectangle, 3=Gaussian, 4=Sinc, 5=Sinc^2, 6=Hamming, 7=User-defined
279  // Flags[2]: [true=R]: FWHM = 100 dlam/lam, [false=A=blank]: FWHM is absolute
280  // Flags[3]: [false=blank]: Degrade only total, [true=A]: Degrade all
281  // Flags[4]: S=save current undegraded results for degrading in next run, [blank]=do not save
282  // Flags[5]: R=Use saved results for degrading, [blank]=do not use
283  int c4Units; // Input band units : CM-1, MICRON, or NM
284  int c4Func; // Slit function : 0,1=triangle, 2=rectangle, 3=Gaussian, 4=Sinc, 5=Sinc^2, 6=Hamming, 7=User-defined
285  char c4Dlimit[12]; // Title for sequential Modtran runs
286 
287  //SC5 (required) : Run repeat control -------------------------------------------------
288  int c5Irpt; // 0=stop, 1=reread all, 3=reread C3, 4=reread C4
289 
290  //scIrradAngles (CFADD : used when Irpt>0) : Do solar, then repeat with lunar --------
291  float cIsolar_angle; // Solar zenith angle at H1 [deg]
292  float cIlunar_angle; // Lunar zenith angle at H1 [deg]
293 
294  } MODCARD;
295  */
296 
297 
298 
299 
300  MODRAD_API void ModSetUserATM(char *sigsim_atm_dir, ATM_COLUMN col, MODCARD* mc, BAND band, EPHEMERIS fm);
301 
302  //int AllocateMODCOEF(MODCOEF **mte, int nat);
303  //int FillMODCOEF(int* nat, MODCOEF* mte);
304  MODRAD_API int MOD2ATM(char *sigsim_atm_dir, SPECTRAL_DOMAIN spectrum, ATM_COLUMN* col, BAND band, EPHEMERIS fm, MODCARD *mc);
305 
306  // Modtran Cloud Defs : 0=none,1=cumulus,2=altostratus,3=stratus,4=stratocumulus,5=nimbostratus,6=stratus_drizzle,7=nimbostratus_light,8=nimbostratus_moderate,9=cumulus_heavy,10=cumulus_extreme,11=user-defined(cards2D),18=standard_cirrus,19=subvisual_cirrus
307  // OASES Cloud Defs: 1=Cirrus, 2=Cirrocumulus, 3=Cirrostratus, 4=Altocumulus, 5=Altostratus, 6=Nimbostratus, 7=Stratocumulus, 8=Stratus, 9=Cumulus, 10=Cumulonimbus, 11=Not_Visible
308  // Some defs:
309  // Cumulonimbus = Thunderheads Near ground to above 50,000 feet
310  // Cirrostratus = Thin, wispy, above thunderheads Above 18,000 feet
311  // Cirrus = Thin, often with "mare's tail" Above 18,000 feet
312  // Cirrocumulus = Small puffy clouds Above 18,000 feet
313  // Altostratus = Thin, uniform, sometimes with "wide wale corduroy" appearance 6,000 - 20,000 feet
314  // Altocumulus = Medium-sized puffy clouds 6,000 - 20,000 feet
315  // Stratocumulus = Broad and flat on the bottom, puffy on top Below 6,000 feet
316  // Cumulus = Puffy clouds Below 6,000 feet
317  // Stratus = Uniform, thick to thin layered clouds Below 6,000 feet
318  // Suggested Mapping: OASES MODTRAN
319  // 0 0
320  // 1 18
321  // 2 18
322  // 3 18
323  // 4 1
324  // 5 2
325  // 6 5
326  // 7 4
327  // 8 3
328  // 9 1
329  // 10 9
330  // 11 0
331  int ModCloudType(int OasesCloudType);
332 
333 
334 
335  /* --------------- END OF MODTRAN API ----------------------- */
336 
337 
338 
339 #ifdef __cplusplus
340 }
341 #endif
342 
343 
344 #endif // _MODTRAN3D_H_
345 
346 


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)