In [ ]:
from datetime import datetime
import numpy as np
import os
import matplotlib
matplotlib.rcParams['savefig.dpi'] = 150
import matplotlib.pyplot as plt

In [ ]:
def print_logfile_summary(fname):
    results = []
    seps = []
    with open(fname, 'r') as f:
        tot_blks = 0
        for line in f.readlines():
            if '[GRID amr_refine_derefine] min blks' in line:
                tot_blks = int(line.split()[-1])
                max_blks = int(line.split()[-4])
            if '[Particles_getGlobalNum]' in line:
                nPart = line.split()[-1]
            if 'step: n=' in line:
                #print line
                dummy, date, time, dummy, dummy, step, t, dt = line.split()
                dtime = datetime.strptime(date+' '+time, '%m-%d-%Y %H:%M:%S.%f')
                step = int(step.lstrip('n='))
                t = float(t.lstrip('t='))
                dt = float(dt.lstrip('dt='))
                results.append([dtime, step, t, dt, max_blks, tot_blks, nPart])
                #result = dict((name,eval(name)) for name in ['dtime','step','t','dt'] )
            if 'FLASH log file' in line:
                seps.append(len(results))
            
    dtimes, steps, ts, dts, max_blkss, tot_blkss, nParts = zip(*results)
    dtimes = list(dtimes)
    dt_steps = [(dtimes[i+1]-dtimes[i]).total_seconds() for i in range(len(dtimes)-1)]
    
    for sep in seps:
        if sep>0:
            print dtimes[sep-1], steps[sep-1], ts[sep-1], max_blkss[sep-1], tot_blkss[sep-1]
        print ''
        print dtimes[sep], steps[sep], ts[sep], max_blkss[sep], tot_blkss[sep]
    print dtimes[-1], steps[-1], ts[-1], max_blkss[-1], tot_blkss[-1]

In [ ]:
#fnames = ['/home/ychen/data/0529_L45_M10_b1_h1/MHD_Jet.log']
#fname = '/home/ychen/d9/FLASH4/MHD_Jet_3D/0522_nozzle_restart/MHD_Jet.log'
fnames = ['/home/ychen/data/0529_L45_M10_b1_h1/MHD_Jet.log',\
          '/home/ychen/data/0605_L45_M10_b1_h0/MHD_Jet.log',\
          '/home/ychen/data/0605_L45_M10_b1_hinf/MHD_Jet.log',\
          '/home/ychen/data/0602_L45_M10_hydro/MHD_Jet.log']
#fnames = ['/home/ychen/d9/FLASH4/stampede/0916_L45_M10_b1_hinf_10Myr/MHD_Jet_10Myr.log']

for fname in fnames:
    print fname
    print_logfile_summary(fname)

In [ ]: