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()
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()