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 [ ]: