예제 #1
0
    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)"\
예제 #2
0
__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