ó
)Uc           @   s  d  Z  d GHd d l Z d e j d <e j d d d e j d	 d
 e d d l Td d l Td d l Td d l m	 Z	 d d l
 Z
 d d l m Z d d l Z d d l m Z d d l m Z d GHd   Z d   Z d   Z d   Z e d k r’ e   n  d S(   s.    CREATED: 7/2012
    AUTHOR: MICHAL ODSTRÄIL
s   importing modules i’’’’Nt   Aggt   backendt   fontt   sizet   10t   textt   usetex(   t   *(   t   Shot(   t
   mquantiles(   t   embed(   t   Processs   importing modules done c         C   sO  t    } | j } t d d` d |   } | d } | rN | d } | d } n d } d	 } t j   } d } d
 }	 | j d  rĮ | d \ }
 } | |	 9} t | |
 | k |
 | k  @d  } n  d } xa d d d g D]P } y@ | | \ } } t | t | | | k | | k  @d   } Wq× q× Xq× Wd t | d | d  g } d t |  } | j d  r| d \ } } t | | | d d d d } n  t	 d d d d d d  g t	 d d d d d d  g d t | rųt	 d d d  d! d" d t n t	 d# d$ d% d! d" d t t	 d d& d' d | t	 d d( d' d | g t	 d d) d' d | g | j d  r| d* d+ k rt	 d d, d' d | d! |	 d t n d  g | rö| j d  rö| d- d. k rö| d/ d0 k  röt	 | | g d1 d2 d! d3 n d  g g } d4 |  GHt | | d5 |  d6 GHd7 d8 l m } m } | d9 |    GHt	 d d d  t	 d d d d t t	 d# d: d% d! d" d t t	 d d& d'  t	 d d; d'  g g } t | | d< |  t	 d d d d= d d  g t	 d d d d= d d  g d t t	 d d d> d= d d  g d! d" d t t	 d? d$ d> d= d d  g d! d" d t t	 d# d: d> d= d d  g d! d" d t g t	 d d& d' d= d d  g t	 d d; d' d= d d  g g g } t | | d@ dA |  t	 d d d d= d d  g t	 d d d d= d d  g d t | rct	 d# d: dB d= d d  g d! d" d t t	 d d d  d= d d  g d! d" d t g n' t	 d# d: d% d= d d  g d! d" d t t	 dC d& dD d= d d  g t	 dE d; dD d= d d  g g g } t | | dF dG |  t	 dH d dD d= d d  g t	 dI dJ dK d= d d  g t	 dL dM dN d= d d  g t	 dO dP dQ d= d d  g g t	 dC d& dD d= d d  g t	 dE d; dD d= d d  g g g } t | | dR dS |  t	 d dT dT dU dT | rōt	 d# dT dT dU dT g t	 d dT dT dU dT g n t	 d# dT dT dU dT g g } t | dT dV da dY  t	 d dT d d= d d  g d d d  g dU dT | rÓt	 d# dT dB d= d d  g d d d  g dU dT d! d" d t t	 d dT d  d= d d  g d d d  g dU dT d! d" d t g n9 t	 d# dT d% d= d d  g d d d  g dU dT d! d" d t g } t | dT dZ db d\ d]  d^ t j   | GHt d_ d  d  S(c   Nt   figsizei	   i   t	   file_typet   plasmat   plasma_startt
   plasma_endi    g{®Gįz¤?g?t
   hxr_smoothg®Gįz®ļ?g333333Ó?t
   photodiodet   photodiode_alphat   photodiode_otherg333333ó?s   Golem shot No:t   electron_densityt   leftt   rightt   loop_voltages   Loop voltages   U [V]t   ylimt   toroidal_fields   Toroidal mag. fields	   B$_t$ [T]t	   reductiont   plasma_currents   Plasma currents   I$_{p}$ [kA]t   data_rescalegü©ńŅMbP?t   rogowski_currents   Chamber currents   I$_{ch}$ [kA]t   Visibles   Intensity [a.u.]s
   H$_\alpha$t   Othert   hxr_meang{®Gįz?t   HXRt   electron_density_meang ą7yĆACs   electron_density:reliabilityg      Š?s   Electron density ($n_e$)s    n$_{e}$ [10$^{19}\cdot$m$^{-3}$]g¬Ņ¶OÉż;s   start plotting - filetype: %st	   graphpress   end basic graphs plottingi’’’’(   t   gmtimet   strftimes   %Y-%m-%d %H:%M:%Ss   Total currents	   H$_\alphat
   graphprintt   xlims   I [kA]t   chamber_currents    - final data t   graphpresfulls   I$_p$+I$_{ch}$ [kA]t   photos   [DAS V]t   haphotos    - integrated datat
   graphpresit   uloopt   btors   Derivative  of mag. fields   dB$_t$/dt [DAS V]t   irogs   Raw Rogowski signals   dI$_{p+ch}$/dt [DAS V]t   PlasmaDetects   Derivative of I$_{p}$s   dI$_{p}$/dt [a.u.]s    - raw datat
   graphpresbt    t   xlabelt   iconi   i   i(   t   graphicg      ų?id   t
   horizontals    Time plotting all : %.2gst   status(   i	   i   (   i   i   (   i	   g      ų?(   R   t   shot_numt   dictt   timet   existR	   t   maxt   strt   interpt   get_datat   Nonet   Truet	   multiplotR%   R&   t   paralel_multiplott	   saveconst(   R   t   St   shott   plot_paramsR   t   startt   endt   t0t   max_HXRt	   HXR_constt   tvec_HXRR"   t	   max_photot   sigt   tvecR   t   ph_ranget
   shot_titlet   tvec_electron_densityR   t   dataR%   R&   (    (    sL   /golem/database/velin//includes/analysis/Basics/0411ShotHomepage.ONN/main.pyt	   plot_data!   s    		


&0!!$FJ_	!''*$!Z'$$:-½c       	   B   sŽ  d d l  Te j   }  e d  } e   e   e   \ } } } } e   \ } } } }	 e |	  \ }
 } } } e | |
 |  \ } } e	 | | |  \ } } } } | rĻ e | |
 | | |  \ } } n  x e
 d d g d d g  D]b \ } } y) e d e d	 | | | | f  j   Wqė e k
 rL} d
 | d Ge |  GHqė Xqė We | | |  } e | | |  } e | | |  } e | |  e | | |  e | | | | | | | |  | rMe | |  } e |  } e | | | |  e | | | |  e | |  e | | | | |  e |  e | | | |  n  e |  e | | |  e  |  e! | | |  e" | |
 | | |  y e#   Wn" e k
 rĘ} d Ge |  GHn Xd Ge j   |  GHd  S(   Ni’’’’(   R   t   Aktual_PfeifferMerkaVakuaR,   R+   t   PhotodHalphat   Photodt   targett   argss   Photodiode s    failed s   BreakdownProba faileds   time of basic diagn generation($   t   basic_diagnR;   t	   loadconstt   getDatet   save_configt   getBtoroidalt   getUloopt   getIrogowskit
   getIplasmaR1   t   zipR   t	   getPhotodRI   t	   ExceptionR>   t	   getMeanBtt   getMeanUloopt   getMeanCurrentt   getOhmicHeatingPowert   getTotalCharget   Failurest   getMeanElectronTemperaturet   getStateEqElectronDensityt%   getElectronConfinementTimeFirstApproxt   getElectronTemperaturet   getQedget   getBreakDownVoltaget   getGreenwaldDensityt   getQedgeTimet   getChamberResistancet   getOhmicHeatingPowerTimet   getMagneticFluxt   getTransformatorSaturationt   EnergyBalancet   BreakdownProba(   t   tRW   t   Btort   dBtort   BtMaxt   BtMeant   Uloopt   UloopMaxt	   UloopMeant
   ReversedCDt   Irogt   dIdt_rogMaxt   IrogMaxt   I_startt   Iplat   Icht   Plasmat   PlasmaStartt	   PlasmaEndt   PlasmaTimeLengtht   namet   fnamet   et   MeanBtt	   MeanUloopt   MeanIplat   ElectronTemperaturet   StateEqElectronDensity(    (    sL   /golem/database/velin//includes/analysis/Basics/0411ShotHomepage.ONN/main.pyt   prepare_data²   sT    
!()


c   
      C   s³   d d l  m } t |  } t |  } xT t |  D]F } | |  | | | | |  \ }	 | | <d | | |	 | | f GHq5 Wt | t |  <| |  | | | | t |   d  S(   Ni’’’’(   t   getBreakDownRates   win %g rate %g err %g(   R\   R   t   lent   zerost   ranget   inft   isnant   argmin(
   R   R   R   R   t   trangesR   t   ntt   errt   it   rate(    (    sL   /golem/database/velin//includes/analysis/Basics/0411ShotHomepage.ONN/main.pyt   find_breakdown_rate÷   s    &c          C   s¤   t  j d d k r< t j   }  t   d t j   |  GHnd t  j d d k ri t d  t d d  n7 t  j d d k r  t d  t d	  t d d  n  d  S(
   Ni   t   acquisitions   Time prepare_data %g st   plotst   pngR8   i    t   postanalysist   svgz(   t   syst   argvR;   R   RV   RE   (   R{   (    (    sL   /golem/database/velin//includes/analysis/Basics/0411ShotHomepage.ONN/main.pyt   main  s    


t   __main__(   t   __doc__t
   matplotlibt   rcParamst   rcRB   t   numpyt   pygolem_lite.configt   pygolem_lite.modulest   pygolem_liteR   R©   t   scipy.stats.mstatsR	   R;   t   IPythonR
   t   keyboardt   multiprocessingR   RV   R   R£   R«   t   __name__(    (    (    sL   /golem/database/velin//includes/analysis/Basics/0411ShotHomepage.ONN/main.pyt   <module>   s*   


		E	
	