Source code :: data

[Return]
[Download]##!/usr/bin/python2 ## -*- coding: utf-8 -*- <%page args="shot, page"/> <% base = 'http://golem.fjfi.cvut.cz/operation/shots/' from pygolem import Shot, set_backend, change_data_root from pygolem.config import TororoidalMagneticFieldTrigger, TororoidalMagneticFieldCapacitorValue, CurrentDriveElectricFieldCapacitorValue, StabilizationCapacitorValue, BreakDownElectricFieldCapacitorValue from pygolem.modules import loadconst, get , emph, cat, Data import datetime, cStringIO from pygolem.modules import cat, emph, get_page_paths page_path, base_path, page = get_page_paths(shot, page) %> <h3>Basic parameters (Shot: ${shot}):</h3><ul> <li>Chamber pressure before gas filling (vacuum pressure): p<sub>ch<sub>init</sub></sub> = ${emph(get('pressure_initial', '%.2f mPa'))} <br/> <a href="${base}${shot}/Initial_PfeifferMerkaVakua">${base}${shot}/Initial_PfeifferMerkaVakua </a> <li>Chamber pressure just before the triggering: p<sub>ch<sub>trig</sub></sub>=${emph(get('pressure', '%.2f mPa'))}<br/> <a href="${base}${shot}/Aktual_PfeifferMerkaVakua">${base}${shot}/Aktual_PfeifferMerkaVakua </a> <li>Working gas pressure request: p<sub>H2<sub>req</sub></sub>=${get('pressure_request', '%.2f')} mPa<br/> <a href="${base}${shot}/pressure_setting_mPa">${base}${shot}/pressure_setting_mPa</a> <li>Chamber temperature: T<sub>ch</sub>=\ ${get('chamber_temperature', '%.2f')} \ &deg;C over the room temperature (thermocouple)</li> <a href="${base}${shot}/Aktual_TermoclanekNaKomore">${base}${shot}/Aktual_TermoclanekNaKomore</a> <li>C<sub>B<sub>t</sub></sub> capacitors ( ${TororoidalMagneticFieldCapacitorValue} mF) charged to: ${emph('%i V'%get('Ub'))}, \ triggered ${emph('%.1f ms'% (TororoidalMagneticFieldTrigger*1e3))}</li> <a href="${base}${shot}/nabijeni/Ub_limit">${base}${shot}/nabijeni/Ub_limit</a> <li>C<sub>BD</sub> capacitors (${BreakDownElectricFieldCapacitorValue} mF) charged to: ${emph(get('Ubd', '%i V'))}, triggered \ ${emph('%.1f ms'% ((get('Tbd'))/1e3+TororoidalMagneticFieldTrigger*1e3))}\ </li> <a href="${base}${shot}/nabijeni/Ubd_limit">${base}${shot}/nabijeni/Ubd_limit</a><br/> <a href="${base}${shot}/Tbd_aktual">${base}${shot}/Tbd_aktual</a> ![&mu;s] <li>C<sub>CD</sub> capacitors (${CurrentDriveElectricFieldCapacitorValue} mF) charged to: ${emph(get('Ucd', '%i V'))}, triggered \ ${emph('%.1f ms'% ((get('Tcd'))/1e3+TororoidalMagneticFieldTrigger*1e3))}\ </li> <a href="${base}${shot}/nabijeni/Ucd_limit">${base}${shot}/nabijeni/Ucd_limit</a><br/> <a href="${base}${shot}/Tcd_aktual">${base}${shot}/Tcd_aktual</a> ![&mu;s] <li>C<sub>ST</sub> capacitors (${StabilizationCapacitorValue} mF) charged to: ${emph(get('Ust', '%i V'))}, triggered \ ${ emph('%.1f ms'% ((get('Tst'))/1e3+TororoidalMagneticFieldTrigger*1e3))}\ </li> <a href="${base}${shot}/nabijeni/Ust_limit">${base}${shot}/nabijeni/Ust_limit</a><br/> <a href="${base}${shot}/Tst_aktual">${base}${shot}/Tst_aktual</a> ![&mu;s] <li>charging log: t, U<sub>B</sub>, U<sub>BD</sub>, U<sub>CD</sub>, U<sub>DS</sub>, p<sub>chamber</sub></a></li> <a href="${base}${shot}nabijeni/Time_AD4ETHb">${base}${shot}nabijeni/Time_AD4ETHb</a> <li>Time since <a href="${cat(base_path + '/SessionName')}">session</a> beginning: ${str(datetime.timedelta(seconds=int(get('time'))))} h</li> </ul> <h3>Diagnostics:</h3><ul> <li>Raw data (U<sub>loop</sub>,B<sub>t</sub>,I<sub>p+ch</sub>,U<sub>PhotoC</sub>)<br/> <a href="${base}${shot}/basicdiagn/usbscopes">${base}${shot}/basicdiagn/usbscopes</a> (tabs &amp; decimal point format)<br/> <a href="${base}${shot}/basicdiagn/usbscopes_dc">${base}${shot}/basicdiagn/usbscopes_dc</a> (tabs &amp; decimal comma format ... available from No:3553)</li> <li>Figures:<br/> raw data: <a href='${base}${shot}/basicdiagn/graphpresb.png'>${base}${shot}/basicdiagn/graphpresb.png</a><br/> integrated data (I<sub>ch+p</sub>): <a href='${base}${shot}/basicdiagn/graphpresi.png'>${base}${shot}/basicdiagn/graphpresi.png</a><br/> integrated data (I<sub>p</sub>): <a href='${base}${shot}/basicdiagn/graphpresfull.png'>${base}${shot}/basicdiagn/graphpresb.png</a><br/> zoomed data: <a href='${base}${shot}/basicdiagn/graphpres.png'>${base}${shot}/basicdiagn/graphpresb.png</a></li> <li>Extracts (decimal point/comma point format): <br/> Loop voltage: &lt;t,U<sub>loop</sub>&gt;:${base}${shot}/basicdiagn/(<a href='${base}${shot}/basicdiagn/Uloop_dp.csv'>Uloop_dp.csv</a>/<a href='${base}${shot}/basicdiagn/Uloop_cp.csv'>Uloop_cp.csv</a>) <br/> B coil: &lt;t,B<sub>t</sub>&gt;:${base}${shot}/basicdiagn/(<a href='${base}${shot}/basicdiagn/Btoroidal_dp.csv'>Btoroidal_dp.csv</a>/<a href='${base}${shot}/basicdiagn/Btoroidal_cp.csv'>Btoroidal_cp.csv</a>) <br/> Rogowski coil: &lt;t,I<sub>ch+p</sub>&gt;:${base}${shot}/basicdiagn/(<a href='${base}${shot}/basicdiagn/Irogowski_dp.csv'>Irogowski_dp.csv</a>/<a href='${base}${shot}/basicdiagn/Irogowski_cp.csv'>Irogowski_cp.csv</a>) <br/> Rogowski coil: &lt;t,I<sub>p</sub>&gt;:${base}${shot}/basicdiagn/(<a href='${base}${shot}/basicdiagn/Iplasma_dp.csv'>Iplasma_dp.csv</a>/<a href='${base}${shot}/basicdiagn/Iplasma_cp.csv'>Iplasma_cp.csv</a>) <br/> Photocell: &lt;t,I<sub>rad</sub>&gt;:${base}${shot}/basicdiagn/(<a href='${base}${shot}/basicdiagn/Photod_dp.csv'>Photod_dp.csv</a>/<a href='${base}${shot}/basicdiagn/Photod_cp.csv'>Photod_cp.csv</a>) </li></ul> % if get('plasma', '%.2f'): <h3>Plasma created!</h3><ul> <li>Plasma start &tau;<sub>pl_start</sub>=${get('plasma_start', '%.2f')} ms <br/> <a href="${base}${shot}/basicdiagn/PlasmaStart">${base}${shot}/basicdiagn/PlasmaStart</a> <li>Plasma end &tau;<sub>pl_start</sub>=${get('plasma_end', '%.2f')} ms <br/> <a href="${base}${shot}/basicdiagn/PlasmaEnd">${base}${shot}/basicdiagn/PlasmaEnd</a> <li>to be continued ..</li> % endif </ul> <h4> Comments </h4> <ul><li>How to access such data? Try e.g. <a href="http://en.wikipedia.org/wiki/Wget">Wget</a> or <a href="http://sourceforge.net/p/pygolem/home/Home/"> ${emph('pygolem')} </a> </li> <li>Any comments, suggestions? Do you miss something? <a href="mailto:svoboda@fjfi.cvut.cz">Send an e-mail</a></li></ul> <% from pygolem.modules import cat, Data def get_max_width(table, index): """Get the maximum width of the given column index""" return max([len(str(row[index])) for row in table]) def pprint_table(out, table): """Prints out a table of data, padded for alignment @param out: Output stream (file-like object) @param table: The table to print. A list of lists. Each row must have the same number of columns. """ col_paddings = [] for i in range(len(table[0])): col_paddings.append(get_max_width(table, i)) for row in table: # left col print >> out, "<td>", row[0].ljust(col_paddings[0] + 1),"</td>" # rest of the cols for i in range(1, len(row)): col = str(row[i]).ljust(col_paddings[i] + 2) print >> out,"<td>", col,"</td>" print >> out,'</tr><tr>' def get_pygolem_list(): Data.data_types table = [] for i in Data.data_types: try: table.append( [Data.data_types[i]['identifier'], Data.data_types[i]['name']]) except: pass #out = sys.stdout out = cStringIO.StringIO() pprint_table(out, (table)) return out.getvalue() %> <h2> List of available data in <a href="http://sourceforge.net/p/pygolem/home/Home/">${emph('Pygolem')}</a> <a href="${base_path}/data_configuration.cfg">[data_configuration.cfg]</a> </h2> <table> <tr><td><h4>Identifier</h4></td><td><h4>Description</h4></td></tr> <tr> ${get_pygolem_list()} </tr> </table>[Return]

Navigation