savetape7data('4ucdavis.txt',tape7) tape7= loadtape7("data/tape7-01", ['FREQ_CM-1', 'COMBIN_TRANS', 'MOLEC_SCAT', 'AER+CLD_TRANS', 'AER+CLD_abTRNS'] ) savetape7data('tape7-01a.txt',tape7) tape7= loadtape7("data/tape7-01", ['FREQ_CM-1', 'COMBIN_TRANS', 'H2O_TRANS', 'UMIX_TRANS', 'O3_TRANS', 'TRACE_TRANS', 'N2_CONT', 'H2O_CONT', 'MOLEC_SCAT', 'AER+CLD_TRANS', 'HNO3_TRANS', 'AER+CLD_abTRNS', '-LOG_COMBIN', 'CO2_TRANS', 'CO_TRANS', 'CH4_TRANS', 'N2O_TRANS', 'O2_TRANS', 'NH3_TRANS', 'NO_TRANS', 'NO2_TRANS', 'SO2_TRANS', 'CLOUD_TRANS', 'CFC11_TRANS', 'CFC12_TRANS', 'CFC13_TRANS', 'CFC14_TRANS', 'CFC22_TRANS', 'CFC113_TRANS', 'CFC114_TRANS', 'CFC115_TRANS', 'CLONO2_TRANS', 'HNO4_TRANS', 'CHCL2F_TRANS', 'CCL4_TRANS', 'N2O5_TRANS'] ) savetape7data('tape7-01.txt',tape7) tape7= loadtape7("data/tape7-02", ['FREQ', 'TOT_TRANS', 'PTH_THRML', 'THRML_SCT', 'SURF_EMIS', 'GRND_RFLT', 'TOTAL_RAD', 'DEPTH', 'DIR_EM', 'BBODY_T[K]'] ) savetape7data('tape7-02.txt',tape7) tape7= loadtape7("data/tape7-03", ['FREQ', 'TOT_TRANS', 'PTH_THRML', 'THRML_SCT', 'SURF_EMIS', 'SOL_SCAT', 'SING_SCAT', 'GRND_RFLT', 'DRCT_RFLT', 'TOTAL_RAD', 'REF_SOL', 'SOL@OBS', 'DEPTH', 'DIR_EM', 'TOA_SUN', 'BBODY_T[K]'] ) savetape7data('tape7-03.txt',tape7) tape7= loadtape7("data/tape7-04", ['FREQ', 'TRANS', 'SOL_TR', 'SOLAR', 'DEPTH'] ) savetape7data('tape7-04.txt',tape7) colSelect = ['FREQ_CM-1', 'COMBIN_TRANS', 'H2O_TRANS', 'UMIX_TRANS', \ 'O3_TRANS', 'H2O_CONT', 'MOLEC_SCAT', 'AER+CLD_TRANS'] tape7= loadtape7("data/tape7VISNIR5kmTrop23Vis", colSelect ) wavelen = ryutils.convertSpectralDomain(tape7[:,0], type='nl') mT = ryplot.Plotter(1, 1, 1,"Modtran Tropical, 23 km Visibility (Rural)"\ + ", 5 km Path Length",figsize=(12,6)) mT.plot(1, wavelen, tape7[:,1:], "","Wavelength [$\mu$m]", "Transmittance", label=colSelect[1:],legendAlpha=0.5, pltaxis=[0.4,1, 0, 1], maxNX=10, maxNY=4, powerLimits = [-4, 4, -5, 5]) mT.saveFig('ModtranPlot.png') #mT.saveFig('ModtranPlot.eps') # this example plots the individual trnansmittance components wavelength=np.linspace(0.2, 15, 500).reshape(-1, 1) colSelect = ['FREQ_CM-1', 'COMBIN_TRANS', 'MOLEC_SCAT', 'CO2_TRANS', 'H2O_TRANS', 'H2O_CONT', 'CH4_TRANS',\ 'O3_TRANS', 'O2_TRANS', 'N2O_TRANS', 'AER+CLD_TRANS', 'SO2_TRANS'] tape7= loadtape7("data/horizon5kmtropical.fl7", colSelect ) wavelen = ryutils.convertSpectralDomain(tape7[:,0], type='nl') mT = ryplot.Plotter(1, 9, 1,"Modtran Tropical, 23 km Visibility (Rural)"\
__version__ = "$Revision: 94 $" __author__ = "CJ Willers" import numpy import ryfiles import ryplot import ryplanck import ryutils # this example is somewhat contrived, but serves to show toolkit use # load atmospheric transmittance from file created in Modtran in wavenumbers # the transmittance is specified in the wavenumber domain with # 5 cm-1 intervals, but we want to work in wavelength with 2.5 cm-1 waven = numpy.arange(2000.0, 3300.0, 2.5).reshape(-1, 1) wavel = ryutils.convertSpectralDomain(waven, type="nl") # remove comment lines, and scale path radiance from W/cm2.sr.cm-1 to W/m2.sr.cm-1 tauA = ryfiles.loadColumnTextFile("data/path1kmflamesensor.txt", [1], abscissaOut=waven, comment="%") lpathwn = ryfiles.loadColumnTextFile( "data/pathspaceflamesensor.txt", [9], abscissaOut=waven, ordinateScale=1.0e4, comment="%" ) # convert path radiance spectral density from 1/cm^-1 to 1/um, at the sample # wavenumber points (dum, lpathwl) = ryutils.convertSpectralDensity(waven, lpathwn, type="nl") # load the detector file in wavelengths, and interpolate on required values detR = ryfiles.loadColumnTextFile("data/detectorflamesensor.txt", [1], abscissaOut=wavel, comment="%") # construct the flame emissivity from parameters