Exemplo n.º 1
0
zi = np.empty((runCnt)) * np.nan
Ti = np.empty((runCnt)) * np.nan
Gamma = np.empty((runCnt)) * np.nan  #inversion strength
zCL = np.empty((runCnt)) * np.nan
wStar = np.empty((runCnt)) * np.nan
zCLend = np.empty((runCnt)) * np.nan
Omega = np.empty((runCnt)) * np.nan  #cumulative BL temperature based on zCLend
Phi = np.empty((runCnt)) * np.nan  #cumulative fire heat

for nCase, Case in enumerate(RunList):
    if Case in plume.exclude_runs:
        continue
    print('Examining case: %s ' % Case)

    #----------get preignition temperature profile-----------------
    csdict = plume.load_CS_prep_Profiles(Case)
    T0 = np.load(plume.wrfdir + 'interp/profT0' + Case + '.npy')
    U0 = np.load(plume.wrfdir + 'interp/profU0' + Case + '.npy')

    #----------check for interpolated data----------------------------
    avepath = plume.wrfdir + 'interp/wrfave_' + Case + '.npy'

    if os.path.isfile(avepath):
        print('Averaged data found at: %s' % avepath)
        avedict = np.load(
            avepath, allow_pickle=True).item()  # load here the above pickle
    else:
        sys.exit(
            'ERROR: no averaged data found - run prep_plumes.py via submit_interp.sh first on Cedar!'
        )
Exemplo n.º 2
0
    (runCnt)
) * np.nan  #cumulative vertical temperature (Km) - the questionable denominator term
thetaS = np.empty((runCnt)) * np.nan
thetaCL = np.empty((runCnt)) * np.nan
profile = np.empty((runCnt, len(interpZ))) * np.nan
quartiles = np.empty((runCnt, len(interpZ), 2)) * np.nan

sounding = np.empty(
    (runCnt, len(interpZ))) * np.nan  #storage for interpolated soundings
gradT0interp = np.empty(
    (runCnt, len(interpZ) - 1)) * np.nan  #storage for temperature gradient

#======================repeat main analysis for all runs first===================
#loop through all LES cases
for nCase, Case in enumerate(RunList):
    csdict = plume.load_CS_prep_Profiles(
        Case)  #load data cross-wind integrated smoke and all other data
    T0 = np.load(plume.wrfdir + 'interp/profT0' + Case +
                 '.npy')  #load initial temperature profile
    U0 = np.load(plume.wrfdir + 'interp/profU0' + Case +
                 '.npy')  #load intial wind profile

    #create an interpolated profile of temperature
    if Case[-1:] == 'T' or Case[-1:] == 'E':
        levels = plume.lvltall
        if Case[-1:] == 'E':
            pmlvl = np.arange(
                0, 4001, 40)  #extra tall domain for the concentrations only
        else:
            pmlvl = levels
    else:
        levels = plume.lvl