Exemple #1
0
def main():
    p = ArgumentParser(description='Lowtran 7 interface')
    p.add_argument('-z',
                   '--obsalt',
                   help='altitude of observer [km]',
                   type=float,
                   default=0.)
    p.add_argument('-a',
                   '--zenang',
                   help='Observer zenith angle [deg] ',
                   nargs='+',
                   type=float,
                   default=[0., 60, 80])
    p.add_argument('-s',
                   '--short',
                   help='shortest wavelength nm ',
                   type=float,
                   default=400)
    p.add_argument('-l',
                   '--long',
                   help='longest wavelength nm ',
                   type=float,
                   default=700)
    p.add_argument('-step',
                   help='wavelength step size cm^-1',
                   type=float,
                   default=20)
    p.add_argument('-o', '--outfn', help='NetCDF4 file to write')
    p.add_argument('--model',
                   help='0-6, see Card1 "model" reference. 5=subarctic winter',
                   type=int,
                   default=5)

    P = p.parse_args()

    c1 = {
        'model': P.model,
        'h1': P.obsalt,  # of observer
        'angle': P.zenang,  # of observer
        'wlshort': P.short,
        'wllong': P.long,
        'wlstep': P.step,
    }
    # %%
    TR = lowtran.scatter(c1)
    # %%
    if P.outfn:
        outfn = Path(P.outfn).expanduser()
        print('writing', outfn)
        TR.to_netcdf(outfn)


# %%
    plotscatter(TR, c1)

    show()
Exemple #2
0
c1 = {
    'model': P.model,
    'h1': P.obsalt,  # of observer
    'angle': P.zenang,  # of observer
    'wlshort': P.short,
    'wllong': P.long,
    'wlstep': P.step,
}

TR = lowtran.scatter(c1)
if P.outfn:
    outfn = Path(P.outfn).expanduser()
    print('writing', outfn)
    TR.to_netcdf(outfn)

plotscatter(TR, c1)
show()

#%%
"""
For Irradiance, the zenith angle is locked to the zenith angle of the sun.
Implicitly, your sensor is looking at the sun and that's the only choice per
Lowtran manual p. 36 s3.2.3.1
"""
from matplotlib.pyplot import show
from argparse import ArgumentParser
import lowtran
from lowtran.plots import plotirrad


def main():
                   default=[0., 60, 80])
    p.add_argument('-w',
                   '--wavelen',
                   help='wavelength range nm (start,stop)',
                   type=float,
                   nargs=2,
                   default=(300, 1000))
    p.add_argument('-o', '--outfn', help='HDF5 file to write')
    p.add_argument('--model',
                   help='0-6, see Card1 "model" reference. 5=subarctic winter',
                   type=int,
                   default=5)

    p = p.parse_args()

    #%% low-level Lowtran configuration for this scenario, don't change
    c1 = {
        'model': p.model,
        'itype': 3,  # 3: observer to space
        'iemsct': 2,  #  2: radiance model
        'h1': p.obsalt,  # of observer
        'angle': p.zenang,  # of observer
        'wlnmlim': p.wavelen,
    }

    TR = scatter(c1, p.outfn)

    plotscatter(TR, c1, False)

    show()