# enforce a minimum individual density of 2 indices = mete.which([site_data[i][2] > 2 for i in range(0, len(site_data))]) site_data = [site_data[i] for i in indices] site_data = np.array(site_data) Amin = min(site_data[:, 0]) Amax = max(site_data[:, 0]) S0 = int(max(site_data[:, 1])) N0 = int(max(site_data[:, 2])) sar_down_iterative = [] for i in range(0, nperm): p = mete.exp(-mete.get_beta(S0, N0)) n0_rvs = mete.trunc_logser_rvs(p, N0, S0) sar_down_iterative.append(mete.downscale_sar_fixed_abu(Amax, n0_rvs, Amin)) Avals = sar_down_iterative[0][0][:] len_A = len(Avals) out = np.empty((nperm * len_A, 2)) for j in range(0, nperm): for i in range(0, 2): start = j * len_A stop = start + len_A out[start:stop, i] = sar_down_iterative[j][i] filename = "./sar/" + shrt_name + "_mete_sar_middle_ground.txt" writer = open(filename, "wb")
site_data = np.array(site_data) # read in SAD information sad_file = open('../data/' + shrt_name + '_sad.csv', 'r') sadreader = csv.reader(sad_file) sad = [] for row in sadreader: sad.append(row) # get parameters needed for computing the mete sar Amin = min(site_data[ : , 0]) Amax = max(site_data[ : , 0]) n0vals = [int(n0) for n0 in sad[0]] sar_down_iterative = mete.downscale_sar_fixed_abu(Amax, n0vals, Amin) Avals = sar_down_iterative[0][ : ] sar_down_noniterative = mete.sar_noniterative_fixed_abu(Avals, Amax, n0vals) # Make an array so that the data is easier to output out = np.empty((len(sar_down_iterative[0]), 3)) for i in range(0, 2): out[ : , i] = sar_down_iterative[i] out[ : , 2] = sar_down_noniterative[1] filename = '../sar/' + shrt_name + '_empirSAD_mete_sar.txt' writer = open(filename, 'wb') datawriter = csv.writer(writer) datawriter.writerow(['area', 'sr_iter', 'sr_noniter'])
os.mkdir('../demo') beta = mete.get_beta(S0, N0) n0 = mete.trunc_logser_rvs(exp(-beta), N0, S0) n0 = list(n0) n0 = [int(x) for x in n0] n0.sort(reverse=True) rad = mete.get_mete_rad(S0, N0)[0] Amax = 4 Amin = 1 recur = mete.downscale_sar(Amax, S0, N0, Amin) recur_obsSAD = mete.downscale_sar_fixed_abu(Amax, n0, Amin) Avals = recur_obsSAD[0][ : ] nonrecur = mete.sar_noniterative(Avals, Amax, S0, N0, 'precise') nonrecur_obsSAD = mete.sar_noniterative_fixed_abu(Avals, Amax, n0) sad_out = np.empty((S0, 2)) sad_out[ : , 0] = n0 sad_out[ : , 1] = rad filename = '../demo/' + 'abu_sar_demo.txt' writer = open(filename, 'wb') datawriter = csv.writer(writer)