INPUTS
xrash : xarray data-array
date1 : datetime.datetime object
level : list of level names
RETURNS
c1 : data array with concentration from multiple levels combined.
Source code in monetio/models/cdump2netcdf.py
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301 | def makeconc(xrash, date1, level, mult=1, tr=True, verbose=False):
"""
INPUTS
xrash : xarray data-array
date1 : datetime.datetime object
level : list of level names
RETURNS
c1 : data array with concentration from multiple levels combined.
"""
if not level:
c1 = mult * xrash.sel(time=date1)
else:
dhash = thickness_hash(xrash)
tlist = []
total_thickness = 0
for lev in level:
tlist.append(dhash[lev])
total_thickness += dhash[lev]
c1 = mult * xrash.sel(time=date1, z=level)
if verbose:
print("MAX BEFORE ", np.max(c1))
print("length", len(level), tlist, dhash)
c1 = mass_loading(c1, tlist)
c1 = c1 / total_thickness
if verbose:
print("Max AFTER", np.max(c1))
c1 = c1.expand_dims("time")
# this line is for netcdf awips output
if tr:
c1 = c1.transpose("time", "ensemble", "y", "x")
if verbose:
print("C1", c1)
if verbose:
print(c1.shape)
return c1
|