In [32]:
import numpy as np
from netCDF4 import Dataset as NetCDFFile
from PyQt4 import QtGui
import arrow
import os
import sys

import matplotlib.pyplot as plt

% matplotlib inline

Purpose

October 7, 2014 SeanPaul La Selle

To write a python script that can load a Delft3d FLOW history file (in netcdf format). I assume the file has been converted from a NEFIS history file using vs_trih2nc() in matlab. Hopefully someone finishes python wrappers for interacting directly with NEFIS files in the near future..


In [2]:
class ncFileDialog(QtGui.QMainWindow):
    '''A file dialog for opening Delft3d FLOW history files in netcdf format.
    Assumes that the netcdf file was converted in matlab from a NEFIS file using
    vs_trih2nc, which is why the file dialog prompts for .nc files with 'his' in 
    the filename.  This class is called in __init__ in the 'obs' class.'''
    def __init__(self):
        super(ncFileDialog, self).__init__()
        fname = []
        self.initUI()
    def initUI(self):
        self.setGeometry(300,300,350,300)
        self.setWindowTitle('Open netcdf history file')
        self.openfileDialog()
    def openfileDialog(self):
        fname = QtGui.QFileDialog.getOpenFileName(self, 
                                                  'Open netcdf history file',
                                                  os.getcwd(),
                                                  "netcdf (*his*.nc);; all (*)")
        self.fname = fname

In [79]:
class his():
    '''Loads data from a netcdf file that was converted from a NEFIS history file.'''
    def __init__(self, fname=None):
        self.read_his_nc(fname)
    def read_his_nc(self, fname=None):
        # Set filename via GUI if it's not specified.
        if not fname:
            app = QtGui.QApplication(sys.argv)
            filedialog = ncFileDialog()
            fname = os.path.abspath(filedialog.fname)
        else:
            fname = os.path.abspath(fname)
        ncFile = NetCDFFile(fname)
        #get times in unix epoch format (seconds since 01/01/1970)
        self.times = (np.array(ncFile.variables['time'])-np.array(ncFile.variables['time'])[0])*24*60*60
        # get name of each obs station
        self.obs = [''.join(i.astype(str)).strip()
                    for i in np.array(ncFile.variables['platform_name'])]
        for idx, obs in enumerate(self.obs):
            if obs[0].isdigit():
                obs_str = "_" + obs
            elif '-' in obs:
                obs_str = obs.replace("-","_")
            else:
                obs_str = obs
            d = {}
            for i in ncFile.variables:
                if i == 'platform_name':
                    d['name'] = obs
                elif i == 'platform_m_index':
                    d['m'] = int(np.array(ncFile.variables[i])[idx])
                elif i == 'platform_n_index':
                    d['n'] = int(np.array(ncFile.variables[i])[idx])
                else:
                    array = np.array(ncFile.variables[i])
                    shape = np.shape(array.shape)[0]
                    if shape == 1:
                        try:
                            d[i] = array[idx]
                        except IndexError:
                            d[i] = array
                    elif shape == 2:
                        d[i] = array[:,idx]
                    elif shape == 3:
                        d[i] = array[:,idx,:]
                    else:
                        print("Error: variable '%s' shape not defined" %i)
            # calculate depth averaged velocity if needed
            if d['u_x'].ndim > 1: # test if velocity array has more than one layer
                Ux = [self.calc_da_vel(d['u_x'][t], d['waterlevel'][t] - (-d['depth'])) for t in range(0, self.times.size)]
                Uy = [self.calc_da_vel(d['u_y'][t], d['waterlevel'][t] - (-d['depth'])) for t in range(0, self.times.size)]
                d['U_x'] = np.array(Ux)
                d['U_y'] = np.array(Uy)
            else:
                d['U_x'] = d['u_x']
                d['U-y'] = d['u_y']
            
            # calculate Froude number
            frx = [self.calc_froude(d['U_x'][t], d['waterlevel'][t] - (-d['depth'])) for t in range(0, self.times.size)]
            fry = [self.calc_froude(d['U_y'][t], d['waterlevel'][t] - (-d['depth'])) for t in range(0, self.times.size)]
            d['fr_x'] = frx
            d['fr_y'] = fry
             
            setattr(self,obs_str,d)
            
    def calc_da_vel(self, velocities, depth, layers=[100,80,60,45,33,23,15,9,5,2]):
        '''Calculate the depth averaged velocity if using a layered model
        layers: the percentage of depth in the water column at which velocity points are measured [enter in %]
        '''
        layers = np.array(layers)*0.01*depth
        dav = np.trapz(velocities, layers, dx = 0.001, axis = -1)/depth
        return dav
        
    def calc_froude(self, dav, depth):
        '''Calculate the froude number using depth averaged velocity and depth'''
        fr  = np.abs(dav)/np.sqrt(9.81*np.abs(depth))
        return fr

In [80]:
fname = r'z:\Japan\Modeling\Tunami_Delft_Comparison\natori_profile\T3_profileModel\runs\run3\run3_his.nc'
run1 = his(fname=fname)

In [78]:
run1.Magic_pit['fr_x']


Out[78]:
[nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 nan,
 2.5134010351219369,
 2.2307528085697754,
 2.1266879472306082,
 2.0829471118856344,
 2.0632248641257744,
 2.0525890651733159,
 2.0459295120778527,
 2.0425318125741079,
 2.044026596634513,
 2.0485069501937199,
 2.0555878388025115,
 2.0614199817129779,
 2.0641007124025665,
 2.0649773675177272,
 2.0654821788986957,
 2.0670640848290192,
 2.0699419240404935,
 2.073566405490638,
 2.0775795801505428,
 2.0817899088283407,
 2.0865247864167782,
 2.0917979836520866,
 2.097448362183302,
 2.1032588529683238,
 2.1086375189555051,
 2.1134692649783977,
 2.1178010814192438,
 2.1216562399444845,
 2.1249804833918584,
 2.1280596836255663,
 2.1310706516341793,
 2.1340686210372737,
 2.1370566005324849,
 2.1400027593761597,
 2.1428245927157734,
 2.1454348668866281,
 2.1477074013036797,
 2.1494239540988591,
 2.1505007217180476,
 2.1507155131838576,
 2.1498040182833487,
 2.1474892190950716,
 2.1436304606722976,
 2.1379457013927317,
 2.1300617898917178,
 2.1197013158021223,
 2.1065686781277488,
 2.0903442764856539,
 2.070693043173605,
 2.0472557749972724,
 2.0196267708488951,
 1.9873746984935983,
 1.9500141568295939,
 1.9070924079333003,
 1.8584872282655875,
 1.80426072457968,
 1.7454444031783498,
 1.6694452598152958,
 1.5323730754717277,
 1.2382222135677463,
 0.75723406261032711,
 0.38894924503411293,
 0.2380220963769121,
 0.18318130854885772,
 0.15359504085039163,
 0.11573124604243314,
 0.10739310112421531,
 0.073917871866354443,
 0.049683383548272793,
 0.00099050482835681426,
 0.0010284388413543636,
 0.0092954464600057182,
 0.012632741603234611,
 0.015424228833345642,
 0.017897614632058016,
 0.020077564494655264,
 0.022458344913052077,
 0.024857719935826399,
 0.026489292505325706,
 0.02745267105563259,
 0.027876869422735595,
 0.028109764691854597,
 0.02849940296519448,
 0.029010933131328867,
 0.029599599445498601,
 0.030306273911225552,
 0.031141361484657522,
 0.03212815645826668,
 0.033324932001313139,
 0.034803876731025328,
 0.036616874649283003,
 0.038818238250538893,
 0.041409796392414544,
 0.044333977920654917,
 0.047510330745570539,
 0.050871485428418003,
 0.054329772086994028,
 0.057811289777479243,
 0.061253970529673393,
 0.064608718601420784,
 0.067830508516713392,
 0.07082272630194128,
 0.073490246250885613,
 0.075714186585327234,
 0.077398818711489736,
 0.075552123773310109,
 0.068039662332151155,
 0.066675611284863795,
 0.068774747555311599,
 0.069724978643362509,
 0.069912297081713898,
 0.069501546941008796,
 0.06856508057438658,
 0.067385705391326559,
 0.066281875144190872,
 0.065630954244693548,
 0.065794755522391293,
 0.066931328242601076,
 0.068972112298541541,
 0.068345183473951493,
 0.063238891112387396,
 0.06154002259453073,
 0.06424188343762624,
 0.068525691900986632,
 0.070715674330644837,
 0.059004251951047353,
 0.053370322974424823,
 0.056142874564976436,
 0.060665548849359284,
 0.065110782761843899,
 0.070071466578996461,
 0.075780431766453188,
 0.082167131018009973,
 0.089137724148954628,
 0.051459552184376825,
 0.040633106182013302,
 0.036178553104413896,
 0.03843271339971522,
 0.042498751694903691,
 0.047155322758352484,
 0.052447590286583003,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 1.8781686317595812,
 1.8682006411206957,
 1.8906935978994961,
 1.8992712430472043,
 1.8999642737218381,
 1.8977832470004417,
 1.8869877270757078,
 1.8601728643600872,
 1.8797443693878444,
 2.0052243408395278,
 2.0820697887584556,
 2.0949550626742144,
 2.089005907147599,
 2.0758009394334058,
 2.0588796537962484,
 2.0400865281723464,
 2.0220999490985654,
 2.0078926527333367,
 1.9977105909786996,
 1.9898568293774899,
 1.9843887998635483,
 1.9802682708546662,
 1.9759516299439157,
 1.9730067113969105,
 1.9717504842094,
 1.9674107188404957,
 1.9588147526644573,
 1.9464238609881441,
 1.9316756742705046,
 1.9168790455596652,
 1.9061533416709788,
 1.9033977859410396,
 1.9049455184092736,
 1.9008160418839539,
 1.8864196902601156,
 1.862013449037565,
 1.828965178318595,
 1.7894967679914089,
 1.7462634485932809,
 1.7019625871495589,
 1.6594456822956352,
 1.6211519618478651,
 1.5888333394313545,
 1.5637571036803772,
 1.5487578361906607,
 1.5497212434063423,
 1.5763191384701467,
 1.6513851889501254,
 1.7980525591592524,
 1.9053814808838934,
 1.9317888987962206,
 1.9288458989600039,
 1.9178546029362369,
 1.9024826906893069,
 1.8815393077785214,
 1.85459918803206,
 1.823383808501585,
 1.7888990493445436,
 1.7509112558449542,
 1.7090552153679666,
 1.6639885411181408,
 1.6182133506620993,
 1.5755160318152093,
 1.5420361517168113,
 1.5330542296501508,
 1.6047689742427624,
 1.9290636612253775,
 2.0204174166147246,
 2.0157184629648235,
 1.9970365343801619,
 1.9751635311178368,
 1.9489787859354246,
 1.91651644685528,
 1.8785031900028522,
 1.8379846052099127,
 1.7957692406061159,
 1.7527973303011999,
 1.7107151077691851,
 1.6706785729386153,
 1.6315639338685688,
 1.5910135811600175,
 1.5483601098700341,
 1.504124437988662,
 1.4583503004907052,
 1.4094441017521318,
 1.3550277511926785,
 1.2921511544829878,
 1.2157053325503133,
 1.1247969062060259,
 1.0197289822033715,
 0.90166390108277894,
 0.77318346889430312,
 0.64865612645333992,
 0.53714705472900615,
 0.44007384538133776,
 0.35554976557504053,
 0.25804926704122161,
 0.11277954141691762,
 0.017543256510779794,
 0.030527701281757309,
 0.047552343104327488,
 0.046316987407209631,
 0.03452340462698654,
 0.016060950015062171,
 0.0035805314975260218,
 0.020547255390686438,
 0.034852920541003141,
 0.047390147836517772,
 0.058396826684314347,
 0.067624441947671587,
 0.074812253041168036,
 0.079824515435157228,
 0.082789933483308514,
 0.084174995454357124,
 0.08391889193141519,
 0.076387283373672871,
 0.067137561239482973,
 0.06343577828075242,
 0.063439340959234383,
 0.061362609051942608,
 0.048400679348860325,
 0.043131815990358716,
 0.045502968303613771,
 0.049125756618951147,
 0.052620937927254925,
 0.056459436440646667,
 0.060761149925602956,
 0.06546957035510638,
 0.070523166723477582,
 0.075850147283802627,
 0.081419116115940743,
 0.041176191194176773,
 0.03169956946622398,
 0.030208682079046249,
 0.032710094414730224,
 0.036054316925934346,
 0.04007500775377304,
 0.044869792771850152,
 0.050284029019347976,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 2.5072994309017318,
 2.4086044517006151,
 2.2009063683037606,
 2.1300237563610835,
 2.1073741640522079,
 2.1015313400176314,
 2.1011747525650235,
 2.1039840732685571,
 2.1075238776021425,
 2.1103066344663191,
 2.1158732476474831,
 2.1240132860674579,
 2.1309815877573954,
 2.1364934008113021,
 2.1403313315368662,
 2.1413583616173022,
 2.1386511604046774,
 2.1314111853104971,
 2.1186951554242937,
 2.1003768711353947,
 2.0759635563990155,
 2.0463038556109114,
 2.0113664639644977,
 1.978150666277477,
 1.9499907492830282,
 1.9339347276837255,
 1.9261266735355205,
 1.9219699566102504,
 1.9230410085324148,
 1.9289088550062703,
 1.9329746745204834,
 1.9375118071923447,
 1.9507349637123532,
 1.9684634469845437,
 1.9796380859439979,
 1.9840884814572748,
 1.9858495637370253,
 1.9863795844587329,
 1.9853933243833812,
 1.9845813842741375,
 1.9885542698690175,
 2.0000182935960389,
 2.0107446294079967,
 2.0120016440381283,
 2.005550398110636,
 1.9952771157990448,
 1.9828508308164856,
 1.9693331657859505,
 1.9573893121692398,
 1.9524209321794026,
 1.9556380320575444,
 1.9506559322939396,
 1.9211791080199849,
 1.8685618413147043,
 1.7976505177327933,
 1.7109619655914057,
 1.6091722592567124,
 1.4806025721528153,
 1.3013524709143307,
 0.99527873211039952,
 0.5081212981874268,
 0.14761374074020955,
 0.044669856849278315,
 0.035372217386147896,
 0.12259296908134827,
 0.13473909278348051,
 0.086670779155001251,
 0.0021236092168655948,
 0.0055621594404145092,
 0.0097412433137017782,
 0.014312884228816507,
 0.017972611980908073,
 0.021315166316732463,
 0.024042857578739373,
 0.025718475005122827,
 0.025229411736024322,
 0.024526580682386792,
 0.024568754029871881,
 0.025743090058532536,
 0.028123891934144229,
 0.030813797379785533,
 0.032954909294778865,
 0.034308840226337615,
 0.034708506843169784,
 0.034146657754016062,
 0.032774846228485068,
 0.030770009911105269,
 0.028382112887701056,
 0.025866838705875035,
 0.023435520682038261,
 0.021299710340219137,
 0.019725011393357743,
 0.018870039434785924,
 0.018688569323811181,
 0.018944496864686487,
 0.019505124664026145,
 0.020288440797212731,
 0.021166189203427745,
 0.021993219348650828,
 0.02271818236832376,
 0.023421774917887248,
 0.024191529894329218,
 0.02505851225946177,
 0.02600469445197302,
 0.027040689366188638,
 0.028178645616780962,
 0.029461659149249923,
 0.030799095386046062,
 0.03195316739709507,
 0.032797754826527276,
 0.032201565580662367,
 0.027617640350666526,
 0.025872169531504396,
 0.026492148961963218,
 0.026637711701573002,
 0.026708644568583819,
 0.026648118410517146,
 0.026575910948152547,
 0.026510501435818422,
 0.026426052245318646,
 0.026337482314509924,
 0.026249206097769959,
 0.026114687022148659,
 0.025967460884462858,
 0.025868410182775647,
 0.025817642193320219,
 0.025771430032313091,
 0.025637205677485609,
 0.025284516616264345,
 0.024616714105585483,
 0.023641434955950981,
 0.022449861245479558,
 0.02118879872053147,
 0.02005405496098121,
 0.019232916779451176,
 0.018799673122414172,
 0.018718315017459873,
 0.018922473346020402,
 0.01933614033681923,
 0.019869933807850744,
 0.020448744972950923,
 0.021031084391613622,
 0.021627698576681318,
 0.022265855231294616,
 0.022918301323354866,
 0.023527686869207209,
 0.024063428182548325,
 0.024519857196108965,
 0.024899929431371863,
 0.025218339855921267,
 0.025466040836510228,
 0.023825823968250521,
 0.019952716909903748,
 0.017846529586465588,
 0.017991129485207497,
 0.019042126410283348,
 0.020410069380251458,
 0.021886179440824792,
 0.023324216090323133,
 0.024544444047543395,
 0.025299869786770238,
 0.025277669317826809,
 0.024131770622940391,
 0.021591552620292272,
 0.017637638802509677,
 0.012638388566847824,
 0.0072603557513354492,
 0.0022261008932527638,
 0.0018347361615970897,
 0.0046966943169702074,
 0.0062803640583427934,
 0.0067166673301944559,
 0.006343985957661928,
 0.0055489825908898215,
 0.0046372437675502084,
 0.0037786506148055395,
 0.0030409283107794838,
 0.0024644597224536061,
 0.0020773918210211296,
 0.0018657357423972191,
 0.0017930513434194183,
 0.0018432157639650388,
 0.0020124616240949945,
 0.0022781279561970929,
 0.0025976778827069814,
 0.0029361643613443444,
 0.0033015255233686518,
 0.0037610358690396326,
 0.0044032370488620472,
 0.0052705801930194671,
 0.0063489560625751328,
 0.007621118289653098,
 0.0090877158170161194,
 0.010709714961923689,
 0.012368775009758701,
 0.01392226340850679,
 0.01527221037850179,
 0.016372477785191825,
 0.017219863310467719,
 0.01786223177105464,
 0.018371124436768908,
 0.018775730942543829,
 0.019053160285601257,
 0.019183033230073764,
 0.01918876443013464,
 0.019123885496685041,
 0.019036796899498255,
 0.018955780676697592,
 0.018865279028668927,
 0.018688403303923448,
 0.018352084485219602,
 0.017865787505855702,
 0.017292120299797133,
 0.016687526477215924,
 0.016097562202051798,
 0.015544684530029856,
 0.015020549497571404,
 0.014523918518246793,
 0.014086121445433388]

In [83]:
plt.figure(figsize = (12,8))
plt.plot(run1.times, run1.Magic_pit['fr_x'], label = 'Magic Pit')
plt.plot(run1.times, run1.T3_6['fr_x'], label = 'T3-6')
plt.plot(run1.times, run1.T3_10['fr_x'], label = 'T3-10')
plt.plot(run1.times,run1.T3_16['fr_x'], label = 'T3-16')
plt.plot(run1.times, run1.T3_27['fr_x'], label = 'T3-27')

plt.plot(run1.times,run1.depth5['fr_x'], 'b--',label = 'depth5')
plt.plot(run1.times, run1.depth80['fr_x'], 'g--',label = 'depth80')

plt.hlines(1, 0, 10799)
plt.xlim(0,10800)

plt.legend()


Out[83]:
<matplotlib.legend.Legend at 0xa39b780>

In [55]:
plt.plot(run1.times, run1.depth5['fr_x'])
plt.plot(run1.times, run1.depth25['fr_x'])
plt.plot(run1.times, run1.depth80['fr_x'])


Out[55]:
[<matplotlib.lines.Line2D at 0x228c72b0>]

In [56]:
plt.plot(run1.times, run1.T3_6['u_x'], 'k--')
plt.plot(run1.times, -run1.T3_6['U_x'], 'g-')
plt.ylim(-10,10)


Out[56]:
(-10, 10)

In [71]:
1/0


---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-71-05c9758a9c21> in <module>()
----> 1 1/0

ZeroDivisionError: division by zero

In [ ]: