@@ -35,18 +35,19 @@ def __init__(self, r, s, v, ext, sca, ssa, asy, rau, wavenum=None, band_limit=No
3535 self .ssa = ssa # single-scattering albedo unitless
3636 self .asy = asy # asymmetry factor unitless
3737
38- def load (self ,file_in ):
39- with nc .Dataset (file_in , mode = 'r' , format = 'NETCDF4_CLASSIC' ) as ncfile :
40- self .wavenum = ncfile .wavenum
41- self .r = ncfile .r
42- self .v = ncfile .v
43- self .v = ncfile .v
44- self .s = ncfile .s
45- self .rau = ncfile .rau
46- self .ext = ncfile .ext
47- self .ssa = ncfile .ssa
48- self .asy = ncfile .asy
49- self .sca = self .ssa * self .ext
38+ def load_from_nc (file_in ):
39+ ncfile = nc .Dataset (file_in ,'r' )
40+ wavenum = ncfile .variables ['wavenum' ][:]
41+ r = ncfile .variables ['re' ][:]
42+ v = ncfile .variables ['v' ][:]
43+ s = ncfile .variables ['s' ][:]
44+ rau = ncfile .variables ['rau' ][:]
45+ ext = ncfile .variables ['ext' ][:,:]
46+ ssa = ncfile .variables ['ssa' ][:,:]
47+ asy = ncfile .variables ['asy' ][:,:]
48+ sca = ssa * ext
49+ result = optics_var (r , s , v , ext , sca , ssa , asy , rau , wavenum = wavenum )
50+ return result
5051
5152 def write_lut_spectralpoints (self ,file_out ):
5253 """generate piecewise-linear fit coefficients and write to a given path
@@ -78,7 +79,6 @@ def write_lut_spectralpoints(self,file_out):
7879 asy .units = 'unitless'
7980 rau = ncfile .createVariable ('rau' , np .float32 , ('Constant' ))
8081 rau .units = 'g/m**3'
81-
8282 wavenum [:] = self .wavenum
8383 freq [:] = cm_to_um / wavenum [:]
8484 re [:] = self .r
@@ -389,4 +389,4 @@ def pade(x, p1, p2, p3, q1, q2, q3):
389389
390390def lognormpdf (x ,mu ,sigma ):
391391 y = 1.0 / x / sigma / math .sqrt (2 * math .pi ) * np .exp (- 1.0 / 2.0 * (np .log (x / mu )/ sigma )** 2 )
392- return y
392+ return y
0 commit comments