#!/usr/bin/env python # coding: utf-8 import sys import os import argparse import numpy as np import dnstool program_description = '''\ concatenate all results (1~nx) from binning. ''' # Commandline argument parser parser = argparse.ArgumentParser(description=program_description) parser.add_argument("-c", "--case", help="target case name", required=True) parser.add_argument("-v", "--variable", help="conditional mean variable name", required=True) args = parser.parse_args() params = vars(args) # Parameters cases = dnstool.case_library() casename = params["case"] case = cases[casename] nx, ny, nz = case.shape vname = params["variable"] output_name = "cmean_{}_given_c".format(vname) batch_cmean = [np.load('./cmean_{}_given_c_{:03d}.npz'.format(vname, i)) for i in range(nx)] cstar = np.asarray([d['cstar'] for d in batch_cmean]) cmean = np.asarray([d['cmean'] for d in batch_cmean]) bin_edges = np.asarray([d["bins"] for d in batch_cmean]) bin_counts = np.asarray([d["count"] for d in batch_cmean]) # Save result arr_dict = {} arr_dict["cstar"] = cstar arr_dict["cmean"] = cmean arr_dict["bins"] = bin_edges arr_dict["count"] = bin_counts np.savez(output_name, **arr_dict)