From 2625ca8faac35d65699e83e37bb42cdc24163490 Mon Sep 17 00:00:00 2001
From: Anne Philipp <anne.philipp@univie.ac.at>
Date: Tue, 15 Jan 2019 02:03:37 +0100
Subject: [PATCH] new build of sphinx for updated api

---
 .../Sphinx/build/doctrees/api.doctree         |  Bin 332947 -> 613904 bytes
 .../Sphinx/build/doctrees/downloads.doctree   |  Bin 3407 -> 3392 bytes
 .../build/doctrees/downloads/git_repo.doctree |  Bin 2778 -> 2763 bytes
 .../downloads/history_changes.doctree         |  Bin 2801 -> 2786 bytes
 .../doctrees/downloads/tar_balls.doctree      |  Bin 2795 -> 2780 bytes
 .../Sphinx/build/doctrees/environment.pickle  |  Bin 225566 -> 288702 bytes
 .../Sphinx/build/doctrees/index.doctree       |  Bin 12705 -> 14034 bytes
 .../build/doctrees/installation.doctree       |  Bin 3238 -> 3225 bytes
 .../doctrees/installation/oper_modes.doctree  |  Bin 2789 -> 2774 bytes
 .../installation/requirements.doctree         |  Bin 2779 -> 2762 bytes
 .../installation/test_install.doctree         |  Bin 2799 -> 2784 bytes
 .../build/doctrees/program_structure.doctree  |  Bin 3470 -> 3457 bytes
 .../program_structure/prog_components.doctree |  Bin 2809 -> 2794 bytes
 .../program_structure/prog_flow.doctree       |  Bin 2781 -> 2764 bytes
 .../program_structure/prog_overview.doctree   |  Bin 2799 -> 2786 bytes
 .../Sphinx/build/doctrees/support.doctree     |  Bin 3225 -> 3212 bytes
 .../Sphinx/build/doctrees/support/faq.doctree |  Bin 2841 -> 2826 bytes
 .../support/known_bugs_issues.doctree         |  Bin 2813 -> 2800 bytes
 .../doctrees/support/mailing_list.doctree     |  Bin 2776 -> 2763 bytes
 .../doctrees/support/ticket_system.doctree    |  Bin 2777 -> 2764 bytes
 .../Sphinx/build/doctrees/user_guide.doctree  |  Bin 3185 -> 3172 bytes
 .../user_guide/control_templates.doctree      |  Bin 2822 -> 2807 bytes
 .../build/doctrees/user_guide/how_to.doctree  |  Bin 2815 -> 2798 bytes
 documentation/Sphinx/build/html/.buildinfo    |    2 +-
 .../build/html/_modules/ControlFile.html      |  614 ++--
 .../build/html/_modules/EcFlexpart.html       | 1270 +++++---
 .../Sphinx/build/html/_modules/GribUtil.html  |  529 ++++
 .../build/html/_modules/MarsRetrieval.html    |  230 +-
 .../Sphinx/build/html/_modules/UioFiles.html  |   92 +-
 .../build/html/_modules/disaggregation.html   |  168 +-
 .../build/html/_modules/get_mars_data.html    |  275 +-
 .../Sphinx/build/html/_modules/index.html     |   26 +-
 .../Sphinx/build/html/_modules/install.html   |  446 ++-
 .../build/html/_modules/prepare_flexpart.html |   95 +-
 .../Sphinx/build/html/_modules/submit.html    |  215 +-
 .../Sphinx/build/html/_modules/tools.html     |  553 ++--
 .../Sphinx/build/html/_sources/api.rst.txt    |    4 +-
 .../Sphinx/build/html/_sources/index.rst.txt  |    9 +-
 .../Sphinx/build/html/_static/basic.css       |   11 +
 .../Sphinx/build/html/_static/cc-by-40.png    |  Bin 0 -> 12588 bytes
 .../Sphinx/build/html/_static/css/theme.css   |    6 +-
 .../Sphinx/build/html/_static/doctools.js     |    6 +-
 .../html/_static/documentation_options.js     |  291 +-
 .../Sphinx/build/html/_static/js/theme.js     |    6 +-
 .../Sphinx/build/html/_static/searchtools.js  |  351 +--
 documentation/Sphinx/build/html/api.html      | 2788 ++++++++++++++---
 .../Sphinx/build/html/downloads.html          |   24 +-
 .../Sphinx/build/html/downloads/git_repo.html |   24 +-
 .../build/html/downloads/history_changes.html |   24 +-
 .../build/html/downloads/tar_balls.html       |   24 +-
 documentation/Sphinx/build/html/genindex.html |  416 ++-
 documentation/Sphinx/build/html/index.html    |   34 +-
 .../Sphinx/build/html/installation.html       |   28 +-
 .../build/html/installation/oper_modes.html   |   24 +-
 .../build/html/installation/requirements.html |   24 +-
 .../build/html/installation/test_install.html |   24 +-
 documentation/Sphinx/build/html/objects.inv   |  Bin 1798 -> 2481 bytes
 .../Sphinx/build/html/program_structure.html  |   24 +-
 .../program_structure/prog_components.html    |   24 +-
 .../html/program_structure/prog_flow.html     |   24 +-
 .../html/program_structure/prog_overview.html |   24 +-
 .../Sphinx/build/html/py-modindex.html        |   26 +-
 documentation/Sphinx/build/html/search.html   |   26 +-
 .../Sphinx/build/html/searchindex.js          |    2 +-
 documentation/Sphinx/build/html/support.html  |   24 +-
 .../Sphinx/build/html/support/faq.html        |   24 +-
 .../build/html/support/known_bugs_issues.html |   24 +-
 .../build/html/support/mailing_list.html      |   24 +-
 .../build/html/support/ticket_system.html     |   24 +-
 .../Sphinx/build/html/user_guide.html         |   24 +-
 .../html/user_guide/control_templates.html    |   24 +-
 .../Sphinx/build/html/user_guide/how_to.html  |   24 +-
 documentation/Sphinx/source/api.rst           |    4 +-
 73 files changed, 6358 insertions(+), 2621 deletions(-)
 create mode 100644 documentation/Sphinx/build/html/_modules/GribUtil.html
 create mode 100644 documentation/Sphinx/build/html/_static/cc-by-40.png

diff --git a/documentation/Sphinx/build/doctrees/api.doctree b/documentation/Sphinx/build/doctrees/api.doctree
index a6ab819e8a5c26d631bec3d23eefc1fdeaa46291..a76a585de5dd27fad5a77acc11e45d0887e42e12 100644
GIT binary patch
literal 613904
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
F^Z?`&<x&6u

literal 332947
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
FJpjC8I{yFw

diff --git a/documentation/Sphinx/build/doctrees/downloads.doctree b/documentation/Sphinx/build/doctrees/downloads.doctree
index c2534819559b924ae3ec4efcaf885e5a4e219c3f..61e0fdde0e823e6da7ffedf4114e54f28364e136 100644
GIT binary patch
delta 299
zcmX>vbwFx^G9!N$0|SG8QDSC_nSp*@V)15OMjtLm&h*s0)S|?a{G!6$exZCRrMU(1
znRz9tMR|!i#f5wPLV1dF6N^gX3rq7$Qi}`sc7*a2q!z>{B^IZ~mlov|?wfp$TUmC0
zs6cULUP)p_d`4z^MowmWMoHm;P?nthy!66@llge$bq{6C4dqKLEy<71Oo=ZjN=?hG
zC_Eg>l$la^B$O{DKe;5cBque#A}zltxA5rXC?0v?V}7B$@yYplX_@KqX_+~x#f8Tw
z_wY!moahMUE=nwqPt8kA%1KQrJn79C$_sXPacW6PW?p)6;i<`|c%(T_doyGx))t<b
u{FX<G_iSz9xeTccwG5fs!t;|wc-2KN#1>u*Wdpe+rMU1?ZQ<q8Bs~DE1a$fU

delta 314
zcmX>gbzW+NG9y<i0|SG8UShGK*=8d~AFfdT^wg4))QXb$<ow)%#N?8~-5sHv>8W|C
zMTsT(MTL9(Litika|_}#^GZ^S@)C233-|hk@)YML7L~*omgbkF78ma82<0hAEr?G_
zEKZFtEy^j}KY2g5vh0CSf#S-%lEjMmjLh_moXqr$lEQ<bEIIjk>4k?T|L2z1J)AK&
zlrOQgBtJegCBC32H7&EE@JJ|AW=i4FP`;G><dV#ioYeS=wEUvn!ef)YdE|wU`-Sqx
zC+Fv-Wv0icW#*(77oM10%Oj<7vLlqcD6u>~H7_wKCpD$;ls982FWBA1sU;<udFjQ4
zrzh{`k>)t#&5)s3TX=TzJsv6EbG3!%Go&)qGGuBCFHC0TRTsG!TX-py4djxP;=;?d
Jg;z?G^Z?;!d`$oV

diff --git a/documentation/Sphinx/build/doctrees/downloads/git_repo.doctree b/documentation/Sphinx/build/doctrees/downloads/git_repo.doctree
index 8e00af1dd48b3b23f56750f121c979834be3e3ad..b9eed9aea8245f14381bfffb754ef5b6b987e6ad 100644
GIT binary patch
delta 364
zcmca5dRlaYE+c<20|SG8QDSC_nSp*@V)15k#<T2>oaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIW{{Q(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZlV@_u>(0(73*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{YI%r=0Tj^Zi13<CF9A(lXQI(=u~XiwhUT
zhKhk$@tJwWsYNB3`FZiFd5K9msVRjEJ3_gO63gNIMc#~|ykO51r<Rmt=A{=GF7_);
z3KcD`%uUMAiBHSVFUiX<NsTWqNh~TUT;k1;p;%kEG(#Xmq&QTlxHPF)rX;hZ6l_Oc
uVs2`2;j-Go<rz{LY8f)Mg)1h{=TaA08C$q2lnvySl;XnGwS{X+lk@-++>OWp

delta 383
zcmX>tdP{VJE+bbS0|SG8UShGK*=8HYv+SY#>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bW3m^gvf|88f#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mdHWis<7pJS8O
zos&@(%9mJLk{_R$5?@f1nwD8nI5(6jGo^4|C|^o`a!F=MPHKEbT7FS(;rz+hIOXdX
z_=WPuC+Fv-Wv0icW#*(77cPtq6$7#2GxLg5i%K%{^WszU5|eULQwkS#gmM=pmc#jr
zy%|G!!5%73Eh)*&OD`^5;#Zm!Dq38bo0OjupO&9rl9ykS8ed$JSX5HD)SDqgv9@qo
zhCqf$ai~ynX;QIFNoGkY*p9r!+|=U2<+X(?GNdxpGGuBCS5BV5r7p56ws3VQ8^|ju
O#f58X3)hw==>Y(AIhCsb

diff --git a/documentation/Sphinx/build/doctrees/downloads/history_changes.doctree b/documentation/Sphinx/build/doctrees/downloads/history_changes.doctree
index 77728270b650974255ba2fab15d7cf018a20c703..85af8e30df2c21e0daa890b74e9173a10d891b16 100644
GIT binary patch
delta 299
zcmew;`bczxDI<Rs0|SG8QDSC_nSp*@V)15s#yjkeoaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIbgLQ(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZlQ(e6>(0(73*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{YI%Kb-Qy^Zi13<CF9A(lXQI(=u~XiwhS_
z*5i^=S=bTEU6fcJpPHALl#`lLxX7C^lo#yo;?$Co%)IpC!o`zwxTHCjcr#=u))p?E
u+|MP&yR5cwd4^PmT82z*;fl%IxYR{f#uly$Wdpe+rMPf)ZQ+{IBs~B$wsKqm

delta 300
zcmaDP`cZU)DI-@Y0|SG8UShGK*=85UJM5wS>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bV{#&=vh2)If#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mc=FXWVGoHO|#
zr?BMQP^Qe3!g-;5Df!7InI$=?@fB(LMY)CZC%@&C7hd2O${U}YpO==I9-o$(lUiK3
zaI!p?l**!xQ0}6{^7z!e#H5_ml)}Z{jG??>mlmg%lw{_m7Z)y>9LpumvDBL(L$S7S
x+2jT;Dc<F^g)1_oGSo6;Y719RUe2X1vMRQ4btqd=YFcJWap9WU!nLJIdH}<wa$*1g

diff --git a/documentation/Sphinx/build/doctrees/downloads/tar_balls.doctree b/documentation/Sphinx/build/doctrees/downloads/tar_balls.doctree
index 75305e3b557580e9b68f29d63fcab7dce0c3758a..c0c0cce40e77676b49bbc800de64213e22f28cd6 100644
GIT binary patch
delta 364
zcmaDYdPj7FDI<Rg0|SG8QDSC_nSp*@V)15s#%t`3oaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIW{=Q(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZlUH%d>(0(73*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{YI%Z=CY=^Zi13<CF9A(lXQI(=u~XiwhUT
zhKhk$@tJwWsYNB3`FZiFd5K9msVRjEJ3_gO63gNIMc#~|ykO51r<Rmt=A{=GF7_);
z3KcD`%uUMAiBHSVFUiX<NsTWqNh~TUT;k1;p;%kEG(#Xmq&QTlxHPF)rX;hZ6l_Oc
uVs2`2;j-Go<rz{LY8f)Mg)1g+;8GV^8C$q2lnvySl;XnGwS{X+lk@<ViH=AB

delta 372
zcmca3`dV~@DI-@t0|SG8UShGK*=85UYwV%?>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bV{$a7vf|88f#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mdHWis<7-)EE7
zos&@(%9mJLk{_R$5?@f1nwD8nI5(6jGo^4|C|^o`a!F=MPHKEbT7FS(;rz+ZIpymY
z_=WPuC+Fv-Wv0icW#*(77cPtq6$7#2GxLg5i%K%{^WszU5|eULQwkS#gmM=pmc#jr
zy%|G!!5%73Eh)*&OD`^5;#Zm!Dq38bo0OjupO&9rl9ykS8ed$JSX5HD)SDqgv9@qo
zhCqf$ai~ynX;SgzRxW<t<+X(?GNdxpGGuBCS598Yr7p56ws3VQ8_4}B#f58X3)hw=
G=>Y(O;E?G6

diff --git a/documentation/Sphinx/build/doctrees/environment.pickle b/documentation/Sphinx/build/doctrees/environment.pickle
index f456d33c4d67382e3942142c60e15c9e1b82e56c..ea3657fc3b0cd668ed0cd3a5f1cbc249f0329669 100644
GIT binary patch
literal 288702
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

delta 59372
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

diff --git a/documentation/Sphinx/build/doctrees/index.doctree b/documentation/Sphinx/build/doctrees/index.doctree
index faccda361bf97b7aea3b5a409fa6963d97d87212..8a1eb251dc241949de28cefbd05b7b76e870b228 100644
GIT binary patch
delta 5081
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

delta 3619
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
E0BGF0VE_OC

diff --git a/documentation/Sphinx/build/doctrees/installation.doctree b/documentation/Sphinx/build/doctrees/installation.doctree
index d9af92cca10d1efd2ddf5237c26877518f9699a4..0d6cb2b9a03ea79485b197d7adecdec77a1bff26 100644
GIT binary patch
delta 209
zcmZ1`Ia6|jCL@0?0|SG8QDSC_nSp*@V)15U#<`r1oaw1~sYQt;`9+1B{X+RtN^=Y1
zGxJJPi}Dh4iVL^+h4K{VCKi>%7nbIiq!t%$?Fi*5NG*s@N-R!|FD=R`+%{R2TUmB{
zs6cULUP)p_d`4z^MowmWMoHn0P?nthy!67IlT*3nb$4Y<4dqKLEy<71Oo=ZjN=?hG
zDBK;&l$lbvCzLNGKe;5cBque#A}zltw{Y*|jok8L`}{(A<CF9A(lXQI(=u~XiwpP1
L79N=Vg!>QxyF^il

delta 252
zcmbO!xlD3{CL>n{0|SG8UShGK*=7sIxtyW=>8T|psTC#h$@#ejiOD5}n>#`|(^K<O
zixNxniwd{+h4Q78<`%?f=9Q!t<t6467jE?n<tffhEGmgFEX^-TEiT;F5z14LS`eR<
zSezPPT9i|`eX<z0vf_?Vf#S-%lEjMmjLh_moXqr$lER&#EIIjk>4m#OWis<7&*G3y
z*qt#olrOQgBtJegCBC32H7&EEa8D>xW=i4SP`;G><dV#ioYeS=wEUvn!hM~g(#0i3
znFaBwIjOm+c_qd1<(VZJ@yR)f#l@+`h5P+NdE=Aw^U^ZY<I^&8Qi}@@#7@4>eFy+l
CLu1VV

diff --git a/documentation/Sphinx/build/doctrees/installation/oper_modes.doctree b/documentation/Sphinx/build/doctrees/installation/oper_modes.doctree
index 1b60bb5105375b4fd4f14858370319dac8b82b8c..4d354fab57efba8cc84570deb7a4ebf05ef7342e 100644
GIT binary patch
delta 350
zcmaDVdQEhLJ|lkx0|SG8QDSC_nSp*@V)156#w+ZOoaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIW{;Q(0w3
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66Zp)#3y1*IjE8`&guXJ?d!@+Fp*<i}^G
z#1|B$re#(X&Ix78Oevfj%9oO#T#{LmlNw)<mS2=xIB)VhPWj;Zexbba$@zI{nd$Lq
znK`M&g$rT}7lw*~*zuWp#i>OlnfZC~sd<S>IjJdyi#kHNixSJ>{Kejkp}b&U6{nVz
zWagz87cQBcz$LA})SDqgv9@qohCqf$ai~ynX;N`XW=Sd7u)M_F)Z)VBwS_A(q%zbp
hWNHgnPF}^OF0v}NaCImf$ki#ug==aH*On&f0RUT<hrR#+

delta 384
zcmca6`c!m-J|kB#0|SG8UShGK*=9S&E9{~C>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bV{$O3a^}oXf#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mdHWis;$N=xEX
z^OEyZGV{{oQ;Ul7i{dj9^HOqBiwfstl!fvomX_qlXQsp#6s4wRRus++Wy(w`oEOTM
zlAm0XS(1|)Uy+tylv_A|@_kPE;01o6yz$BTd1;yH@oAYksl|m0V+$9Bih<binR&&j
zMJ1W}dGV=viAg!BDTRwWLb;0)%i;Vb-i)EVV2>83mXu`Xr56`2ogBy|t-s8hAw#jY
zaCwG6hDdR!P;qHeaY<%LDcG>Q#N5>4!WFfJD>I}r)G}mh3s+5^&804~I<|04C>zMt
PDaD0rYYW$vCg}kH9+sBe

diff --git a/documentation/Sphinx/build/doctrees/installation/requirements.doctree b/documentation/Sphinx/build/doctrees/installation/requirements.doctree
index ea7c8222f7136d787cb06d37a52e9072a40cb346..264a3baf9015584eec9ed0bf7b79b99ae493adfc 100644
GIT binary patch
delta 390
zcmcaDdP;PICL@0p0|SG8QDSC_nSp*@V)15U#tZC@oaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIW{%Q(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZlV@<s*U!!<3*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{Tu(sC02jQD#AWYEEiyYF<fke0gR`MtpKk
zVsUY5ap8QwP~Q0D{JgZx^!T*QoYdmN1+k%GAXa>4UU6zsNoIatd}>}|Qch}0;lhqk
z?xMtua=5@EZ^lqwus@4aOG+~H(u)fh`;{hziWXPqCgtbEr{(9D<mH#7#ut|)7L^n(
z@n*<StSwxcA&?<b94b^?np9kpSyBqNBQG&GwYYFuZQ=3^sSLFYncBh?lNWHQi>!<-
UTouX&@?=VJ;p*DLHKj><0HU&)2mk;8

delta 385
zcmX>ldRugZCL>oV0|SG8UShGK*=7sI3+$o%>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bW3nfwvf|88f#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mdHWis<7pJkKQ
zos&@(%9mJLk{_R$5?@f1nwD8nI5(6jGo^4|C|^o`a!F=MPHKEbT7FS(;rz*0IpymY
z_=WPuC+Fv-Wv0icW#*(77cPt~Toft>V#jCZ6{i-JWaj6^r{*Ol<)o$*F762BE=nwi
z^OtxthVp{FRGeB;l9`uYT)5P)G$~ZHxH2~>KPNsdKffd|za%xjxFoTtq;Q!xLxy5)
z;qnZD43Xkcq2f}xq~emyl2Wi8d5O8H#f2+s3s+`HWvFGy)E2Iq+|Q*hvO2bKO(+}4
QGbzP|YikSFl_u!{0MP4}$^ZZW

diff --git a/documentation/Sphinx/build/doctrees/installation/test_install.doctree b/documentation/Sphinx/build/doctrees/installation/test_install.doctree
index 658f4ccf63cdb189e6f48494f7770880b70451ac..a98264b3288b3a734d25af61be42006e1f051d4d 100644
GIT binary patch
delta 302
zcmaDa`apDpF(ZE!0|SG8QDSC_nSp*@V)15M##`);oaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIW{+Q(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66Zlh<&{>(0(73*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{YI%ADr@H^Zi13<CF9A(lXQI(=u~XiwhUT
z7A~Bu%O$C@s3VlSD6u>~H7_wKCpD#Tu{UEVFWBkDsU;<udFjQ4OD1P=NpmdqX2?*i
xEnGIamrIIwd2Qi}45<vY44K-(m6Nw{sf(<NEnFSS269YFap9WU!nLJIdH|XsbG!fm

delta 307
zcmaDL`d)N{F(X$g0|SG8UShGK*=8rkTkN6y>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bV{$B~GULq2jhw=~vqD*N^7GOQXNSsU=1qRcCapUsqb!s!v9u&VJ~Ji0
zpeQvhv!ZZrC{t!i;k;13l>Fq9%#xhc_=>drqTIsylV5Vmi!JaA<&96y&r8cpk59|Y
zNi8m17+bh#vK*JB%Hobt?xMu<_|&|_q@2{0!X@5}p}b%R7pIn#Wagz87cQL~%_YsT
z%$p%Yv9@se<T@@X-W9clD>I}r)G}mh3s+5E%B3!{I<|04C>zKzDaD0rYYW$vCg}kH
Ds&I7t

diff --git a/documentation/Sphinx/build/doctrees/program_structure.doctree b/documentation/Sphinx/build/doctrees/program_structure.doctree
index 9206c2d1b97a05cb7d134f5f2c1242cbe8867eee..6407be0a23fbea2286c33c899a9185f3ec765b23 100644
GIT binary patch
delta 195
zcmeB^Zj|0&%*bEFz`&qil$e=fW}u&!SiISmv6{<~Gd(pgwJ5P9zo>AxUnpNnX>LJ$
zW?o5ZQC?zBap4}nP@dx4#G;b;!qWVb)Z)Uu9ico0sRi*#iN&e$rA0Y~`zG`9C^PP#
zY{(<bc_5S}CqFN}@Ze-$9(mnE8FNGV5=%?+<1<s@3yM<HGAjxXhcacR6dnoXOUX|z
x$t=l9jju?{FUl=EI(a6Kyx1|nP~Q0D{JgZx^!T*QoYdmN<FSP&CZFLs1OWZgN~{0?

delta 222
zcmZpa?vvhN%*d6?z`&rNmso6Qw%LiXnk$q)J+-7HwW1_GIX|}`F}b90cSk5^dTL&3
zQDRAcQQ;oHP`;GX+=BSbypq(Syu_U1!o7Z>JjJ<*MJ4ftrTHbP#fAGiLU{^O3*wU!
zi&NuEi*gG0PyWZPEPEhSptv%xB(WksBQrfCCo?^xr0`%UOHO`Xdf}nTc0BUBhco7e
z@+Fp*<i}^G#1|B$re#(X9tma2Oes7X%9oO#T#{LmlNw)<mS2=xcx-YPkG#lnzfj)z
Y<ovv}%=GxQ%$(HX!V|HR_wyVA0Io$>s{jB1

diff --git a/documentation/Sphinx/build/doctrees/program_structure/prog_components.doctree b/documentation/Sphinx/build/doctrees/program_structure/prog_components.doctree
index d28766d2a5877e43018c0a079526bf81ea2ccc8d..a02d96d19f3fe813ac06d412c53a8ccc463ead17 100644
GIT binary patch
delta 390
zcmew<`bu<zDI<Rq0|SG8QDSC_nSp*@V)15s#wYBKoaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIbgNQ(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZlXq~+*U!!<3*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{Tu(sC02jQD#AWYEEiyYF<fke0gR`MtpKk
zVsUY5ap8QwP~Q0D{JgZx^!T*QoYdmN1+k%GAXa>4UU6zsNoIatd}>}|Qch}0;lhqk
z?xMtua=5@EZ^lqwus@4aOG+~H(u)fh`;{hziWXPqCgtbEr{(9D<mH#7#ut|)7L^n(
z@n*<StSwxcA&?<b94b^?np9kpSyBqNBQG&GwYYFuZQ=3^sSLFYncBh?llO6{i>!<-
UTouX&@?=VJ;p*DLHKj><0F>F8*Z=?k

delta 383
zcmaDQ`crg+DI-@c0|SG8UShGK*=85UC+wm8>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bV{#^^vf|88f#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mdHWis<7zh#rw
zos&@(%9mJLk{_R$5?@f1nwD8nI5(6jGo^4|C|^o`a!F=MPHKEbT7FS(;rz*8IpymY
z_=WPuC+Fv-Wv0icW#*(77cPtq6$7#2GxLg5i%K%{^WszU5|eULQwkS#gmM=pmc#jr
zy%|G!!5%73Eh)*&OD`^5;#Zm!Dq38bo0OjupO&9rl9ykS8ed$JSX5HD)SDqgv9@qo
zhCqf$ai~ynX;QIFNoGkY*p9r!+|=U2<+X(?GNdxpGGuBCS598fr7p56ws3VQ8^|ju
O#f58X3)hw==>Y(BPL`Vh

diff --git a/documentation/Sphinx/build/doctrees/program_structure/prog_flow.doctree b/documentation/Sphinx/build/doctrees/program_structure/prog_flow.doctree
index 3b2f49c3efa2ccb34e50fcc51d5a41b250e1ea02..6740c4288bbcc6bb1c586dca39063def100f063b 100644
GIT binary patch
delta 322
zcmcaBdPa1ECL@0h0|SG8QDSC_nSp*@V)15U#!Kvuoaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIW{<Q(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZlV@?t>(0(73*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{YI%XPojP^Zi13<CF9A(lXQI(=u~XiwhUT
zPL}49bYIvJ%3YLL9-o?*n3R*6Qn<*QF_ahV@Z!{xlFYpH;=;v#rAeWp#g(~9`8n}v
z`S~Sz`6a3G#U+VFC521888Q@W3ztr==91!FR$I6{Ln=cpL#DQH#pFd?>LM#+3s;4*
RfgG4pT)4Wna7}5F9ssAOd)WX0

delta 372
zcmX>jdRKIVCL>ol0|SG8UShGK*=7sIOYEWi>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bW3o4=vf|88f#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mdHWis<7pJ$WS
zos&@(%9mJLk{_R$5?@f1nwD8nI5(6jGo^4|C|^o`a!F=MPHKEbT7FS(;rz+hIpymY
z_=WPuC+Fv-Wv0icW#*(77cPt~Toft>V#jCZ6{i-JWaj6^r{*Ol<)o$*F762BE=nwi
z^OtxthVp{FRGeB;l9`uYT)5P)G$~ZHxH2~>KPNsdKffd|za%xjxFoTtq;Q!xLxy5)
z;qnZD43Xkcq2kiX#ax2CD{2c@W=LhIWysVPu9`fNOI>7jY~h+vHjw*MiVN4)7OpEz
G(gOfG43Mz^

diff --git a/documentation/Sphinx/build/doctrees/program_structure/prog_overview.doctree b/documentation/Sphinx/build/doctrees/program_structure/prog_overview.doctree
index dd8eba5101bd28bac02e23431d101ba955f890ac..9530fba73664ad181fac6682132c082fcc0114a5 100644
GIT binary patch
delta 209
zcmaDa`bczxAtQeS0|SG8QDSC_nSp*@V)15c#(V6Joaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIW{^Q(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66Zlh<*|>(0(73*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{YI%U!3w{^Zi13<CF9A(lXQI(=u~XiwhUT
L7A~Bu%XJ6<ArVl(

delta 222
zcmaDP`d)N{AtP5c0|SG8UShGK*=7gEd+ee7>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bV{$yFvh2)If#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mc=&*zlaos&@(
z%9mJLk{_R$5?@f1nwD8nI5(6jGo^4|C|^o`a!F=MPHKEbT7FS(;rz+3Ipswb_=WPu
YC+Fv-Wv0icW#*(77cPvQtiW{$0JH{G`~Uy|

diff --git a/documentation/Sphinx/build/doctrees/support.doctree b/documentation/Sphinx/build/doctrees/support.doctree
index ac592db9a73ffca813ae6fb12a9c8b28e493111a..30cc5457faf4301655d0e1c17ffc417e00d50253 100644
GIT binary patch
delta 235
zcmbO!*(13@o{>L;fq_B4C^0j|%s@Xcv3Rp4<19``&h*s0)S|?a{G!6GexZCRrMU(1
znRz9tMR|!i#f97aLV1dF6N^gX3rq7$Qi}_>cZBj3q!z>{B^IZ~mlov|?wBmWtt`7U
zRG_#ruOzV|J|i<dBPTOGqoi<GC`(R$UV7o~$r0T0NqaJ;hw>$smgL80ro<N%rKV+8
z6z&aW%1kNT7s{8CpInkzl9L)=k(OVSTe!b7RJypND6=3wH77MUHLs*NzC5!eBR)AN
lvA8(3xbT2qC~tgneqLH;dVE@DPHJ)C!Pvq>ldp3h0swZfT)F@N

delta 226
zcmeB?oGH0Mo{=k=fq_9kFR|FrY_lHYEY48=^wg4))QXb$<ow)%#N?8~tsSA9>8W|C
zMTsT(MTOh^Litika|_}#^GZ^S@)C233%C1)@)YML7L~*omgbkF78ma52<0hAEr?G_
zEKZFtEy^j}Ihm7NS#ejWKyhVWNn%BOMrL|OPG)*WN#X8LmYn>&^uj%%GMRakdpV?a
z_hw8F<x4Cr$&b%Wi7zNhP0Oq(+!xA}nNqkvlrJSexg@hBCpEqzEx#zY@WAA$-0~s^
c{X%);lk@Y^GSlPJGILUk3lGIkKE-_q0DRe40RR91

diff --git a/documentation/Sphinx/build/doctrees/support/faq.doctree b/documentation/Sphinx/build/doctrees/support/faq.doctree
index 20aab8e428ec2eba9759338d7fbfeaee359ca462..86ae5f2a75dca675096d8d9abcb124eac5c7d658 100644
GIT binary patch
delta 390
zcmbO!)+M&VpOHU@fq_B4C^0j|%s@Xcv3PSN<12PY&h*s0)S|?a{G!4sexZCRrMU(1
znRz9tMR|!i#f4M-LV1dF6N^gX3rq7$Qi}_xb%gR1q!z>{B^IZ~mlov|PM<u3Q(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZlW%a!*U!!<3*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{Tu(sC02jQD#AWYEEiyYF<fke0gR`MtpKk
zVsUY5ap8QwP~Q0D{JgZx^!T*QoYdmN1+k%GAXa>4UU6zsNoIatd}>}|Qch}0;lhqk
z?xMtua=5@EZ^lqwus@4aOG+~H(u)fh`;{hziWXPqCgtbEr{(9D<mH#7#ut|)7L^n(
z@n*<StSwxcA&?<b94b^?np9kpSyBqNBQG&GwYYFuZQ=3^sSLFYncBh?lkah<i>!<-
UTouX&@?=VJ;p*DLHKj><0Pu{No&W#<

delta 383
zcmeAYn<=)zpOGt_fq_9kFR|FrY;zprEA~+S^wg4))QXb$<ow)%#N?8~DIKAl>8W|C
zMTsT(MTJxSLitika|_}#^GZ^S@)C233#a*o@)YML7L~*omgbkF78g$M2<0hAEr?G_
zEKZFtEy^jJF}agdS#f5lKyhVWNn%BOMrL|OPG)*WN#U$emYn>&^upPpGMRakdD*3P
z=VX+H@+Fp*<i}^G#1|B$re#(X&JAVCOevff%9oO#T#{LmlNw)<mS2=xIDfJzmwf#K
zzfj)z<ovv}%=GxQ%$(HX!iBM+Vjxz0W?pe>QAuWgUVLg^Vp2|OO5vi8Q0}6{ayWmn
zH)AL-*h9ssB_)}8>BWUh{7RETMT;wQlk#)o)AI96^72bk<BLlYi%JTYdNX7w))p?y
z5XcZI4izdcO)8ct$t)=a+mV-;n_67BytZ&fhE#@HhD>eY%E{-s)J0as7OoCu19>H-
NxNuEv;o8z9Jpe?Cl!E{O

diff --git a/documentation/Sphinx/build/doctrees/support/known_bugs_issues.doctree b/documentation/Sphinx/build/doctrees/support/known_bugs_issues.doctree
index aa1c40730eb0ec829ebe48c7aedd0c866f18bde4..be6c5e3cf333959c9d4b54939255e60f1616f346 100644
GIT binary patch
delta 209
zcmew>`ayJqH6wo&0|SG8QDSC_nSp*@V)15I#z*Xqoaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIbgRQ(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZllO4S>(0(73*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{YHM4la4I`F^3i@yYplX_@KqX_+~x#f1xE
L3l~nd<~jrbGq6x6

delta 212
zcmew$`d4&=H6vFk0|SG8UShGK*=8@sN9>{e>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bV{$I1GULq26FG%>XN9ul<maUq&JLBy%$xj?O<H$OMp-CdVrfZ!d}c~~
zK~ZX2W<}xLP^Qe3!g-;5Df!7InI$=?@fB(LMY)CZC;#M>7g^vJ${U}YpO==I9-o$(
OlUiK3Fm|#Y*C7B$&QXK_

diff --git a/documentation/Sphinx/build/doctrees/support/mailing_list.doctree b/documentation/Sphinx/build/doctrees/support/mailing_list.doctree
index 8ebbb3dc87f42a0131c0fc401a07ca2f5f2a1501..fad8e9af58a446e31e26d332d11300204cdad0dd 100644
GIT binary patch
delta 235
zcmca1dRlaYHY0y20|SG8QDSC_nSp*@V)15E#<T2>oaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIW|6Q(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66Zlc#gaC(X_%3*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{Tu(sC02jQD#AWYEEiyYF<fke0gR`MtpKk
lVsUY5ap8QwP~Q0D{JgZx^!T*QoYdmN1+j$-CyQ|%0sx~nTTcK0

delta 252
zcmX>tdP8)BHX~O70|SG8UShGK*=8%ov+SY#>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bW3mUQvf|88f#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mdHWis<7pJ9_u
zn3GW!%9mJLk{_R$5?@f1nwD8nI5(6jGo^4|C|^o`a!F=MPHKEbT7FS(;rz}}>Ee>2
z%!2sToYdUZyprPh^30Nq_~e|#;^Nfe!UcYzyz$BTd1;yH@oAYksl|m0V<&TR9RdJB
C+F~OB

diff --git a/documentation/Sphinx/build/doctrees/support/ticket_system.doctree b/documentation/Sphinx/build/doctrees/support/ticket_system.doctree
index 01cb562d058181904b0511115955ce85481d89e3..d6b0c6e5969fd9ac71d307faffb1de5ca0075732 100644
GIT binary patch
delta 235
zcmca9dPa1EHY0x-0|SG8QDSC_nSp*@V)15E#&hhBoaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIW{%Q(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZlV@<sC(X_%3*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{Tu(sC02jQD#AWYEEiyYF<fke0gR`MtpKk
lVsUY5ap8QwP~Q0D{JgZx^!T*QoYdmN1+j$-CyR3(0syDCTUG!7

delta 226
zcmX>jdQ)_RHX~Od0|SG8UShGK*=8%obL^q~>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bW3nfwvf|88f#S-%lEjMmjLh_moXqr$lEPV`EIIjk>4mdHWis<7pJkKQ
zos&@(%9mJLk{_R$5?@f1nwD8nI5(6jGo^4|C|^o`a!F=MPHKEbT7FS(;rz*0Ipswb
c_=WPuC+Fv-Wv0icW#*(77cPvQ%*AyG0J8j6+W-In

diff --git a/documentation/Sphinx/build/doctrees/user_guide.doctree b/documentation/Sphinx/build/doctrees/user_guide.doctree
index a065e8ff0ef271aece7527c3edb6aed35e745547..0766fd303dd49d534aededf68d5a0c165fbc293b 100644
GIT binary patch
delta 209
zcmew;@kC;SDkFb30|SG8QDSC_nSp*@V)15u#vD#Z&h*s0)S|?a{G!5*exZCRrMU(1
znRz9tMR|!i#f6*vLV1dF6N^gX3rq7$Qi}^WcZBj3q!z>{B^IZ~mlov|ZkhanOIdbn
zs6cULUP)p_d`4z^MowmWMoHneP?nthy!68DlMT4#b$4V;4&_TMEy<71Oo=ZjN=?hG
zDBKy!l$lbvE0ixKKe;5cBque#A}zltw{Z958g6;9J$|9Q@yYplX_@KqX_+~x#f5ug
L3-?W4&wU60LPk;U

delta 208
zcmaDN@lj%fDkE1K0|SG8UShGK*=7^Q9L`Yw^wg4))QXb$<ow)%#N?8~jUAz!>8W|C
zMTsT(MTMLELitika|_}#^GZ^S@)C233pe|P@)YML7L~*omgbkF78h>m2<0hAEr?G_
zEKZFtEy^j}I{6`&vh21{f#S-%lEjMmjLh_moXqr$lEUqwEIIjk>4iHcD{{*-?wst%
zEiAb!lqoZ%aCazQN`7)lW=T$Jd_`J*QEuU$$+_I}B76NpdE=Aw^U^ZY<I^&8Qi}`s
K#ZF$teFy*o@la?0

diff --git a/documentation/Sphinx/build/doctrees/user_guide/control_templates.doctree b/documentation/Sphinx/build/doctrees/user_guide/control_templates.doctree
index 6ea301c6c9ce484f5f85f2d08f5ec83e2b0fcf6c..0f92b2adc6adcd41149dcfe3df23118394f75d14 100644
GIT binary patch
delta 369
zcmZn@`!2e{mXW`ffq_B4C^0j|%s@Xcv3RpP<8yXL&h*s0)S|?a{G!4sexZCRrMU(1
znRz9tMR|!i#f4M-LV1dF6N^gX3rq7$Qi}_xb%gR1q!z>{B^IZ~mlov|PM_S&shl|@
zRG_#ruOzV|J|i<dBPTOGqoi<VC`(R$UV7oIP?^lUg3^-s)V$>Ul+3*J_|&4J{G#}b
z#JrT8)S|-K8D*h-iKQj^@tG;{1x2Z8nH7a|LYXpC3g?FMrQ|1<WR~Ql##f}}7v&bt
zo6OH8A3WbLls7&(KQApaJw7cnC$+e6L2Ti|P%#iYJ~OX4wWuUBKQBHtFEJ@6HKlM-
zM<{nuVmX|@*qbqw7wpmE)RL0Sy!7J2C6gPur1h72Gh`^%7B0&W$Pg(G6)G-GDlW+^
zDFqvrmzbMcT)4cpa7BhxhFXS9ZQ;tvr@7QcR>c;s4rK$mI;FU9O>N=Y(j+|qY6*}1

delta 406
zcmew^+9tNamXWK1fq_9kFR|FrY_kvJbM{dF^wg4))QXb$<ow)%#N?8~DIKAl>8W|C
zMTsT(MTJxSLitika|_}#^GZ^S@)C233#a*o@)YML7L~*omgbkF78g$M2<0hAEr?G_
zEKZFtEy^jJF}Z|OIdf*HKyhVWNn%BOMrL|OPG)*WN#U$emYn>&^upPpGMRY=r6uvH
zdCB=HnR)5)sYONkMe!Mlc_}%mMTK)R%0l@POH1<OGgIOVic-@uD+=d^GG(R|&I{#B
z$xklHEXhfYuSm-;$}OBfiA%nIfnO+Zd~$wXT4s8DT4qjaapA()!bPECAa;CaUU6zs
zNoIatd}>}|Qch}0;o^=^?xMtUIDd&ZV<<1!pT(&qC7F5Y#f3}#N|QoGiz{=J@^j+T
z^7Bjb@=H?Vi%SxVN(z^GGh`^%7B0^a$Pg(G6)G;3ODZnOEGY%sk(Zd8T3ooIws2*J
kREAoHOl{$+$$PleMOMcat_fuW`6Z>eaBXejy3!;)0H6|}H~;_u

diff --git a/documentation/Sphinx/build/doctrees/user_guide/how_to.doctree b/documentation/Sphinx/build/doctrees/user_guide/how_to.doctree
index 259f520d0734b31e191834616b02e461e0c044d1..bdbef2730358b7a2ba8c2ecd9125dd40affa7a95 100644
GIT binary patch
delta 300
zcmew_`c8C%JtKb+0|SG8QDSC_nSp*@V)15A#(V6Joaw1~sYQt;`9+0O{6hIsN^=Y1
zGxJJPi}Dh4iVLUuh4K{VCKi>%7nbIiq!t%W>j>p3NG*s@N-R!|FD=R`oIbgRQ(1OK
zs6cULUP)p_d`4z^MowmWMoHn!P?nthy!66ZllO4S>(0(73*}2JEy<71Oo=ZjN=?hG
zD4Y|@l$laEH<T|WKe;5cBque#A}zltw{YHM4la3-`F^3i@yYplX_@KqX_+~x#f1xE
zC);vKsx0gX<t|Drk5A1@Ov*`3DO}{u7|IKFcyVe;NoHPpapB_0Rb0{>OS~B}6l)8Y
vPM*sp#k;JwaCwGQhFXS9ZQ+W^N4V5QR>l^t3S|R1C8fA<b#39A(j+|qe&%vN

delta 307
zcmaDS`d@T|JtJ2x0|SG8UShGK*=9e+d+ee7>8T|psTC#h$@#ejiOD5}Q#wL9(^K<O
zixNxniwdXuh4Q78<`%?f=9Q!t<t6467f$mF<tffhEGmgFEX^-TEiRni5z14LS`eR<
zSezPPT9i{bV{$I1GULq26FG%>XN9ul<maUq&JLBy%$xj?O<H$OMp-CdVrfZ!d}c~~
zK~ZX2W<}xLP^Qe3!g-;5Df!7InI$=?@fB(LMY)CZC;#M>7hB*L${U}YpO==I9-o$(
zlUiK3Ft%{fWF0O^mBk&Q+(n7y@u_)<Nja%0g-g5{LwUgtE>0~e$;?YHE?hb}lS`Uo
znKwg*Vr}8_$vs?Byen!8S7u0MsAb617OtASnM++{b!_39P&SZbQi==L))uZSP0|AZ
D8^3j?

diff --git a/documentation/Sphinx/build/html/.buildinfo b/documentation/Sphinx/build/html/.buildinfo
index 71c4dc1..8528278 100644
--- a/documentation/Sphinx/build/html/.buildinfo
+++ b/documentation/Sphinx/build/html/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 02e87e48403e699e19326e64e41ebe7d
+config: 329a9aafadcc8557df76a3756510535e
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/documentation/Sphinx/build/html/_modules/ControlFile.html b/documentation/Sphinx/build/html/_modules/ControlFile.html
index e5d5029..e31a7b1 100644
--- a/documentation/Sphinx/build/html/_modules/ControlFile.html
+++ b/documentation/Sphinx/build/html/_modules/ControlFile.html
@@ -173,32 +173,23 @@
 <span class="c1">#        - outsourced the commandline argument assignments to control attributes</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2015-2018.</span>
-<span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Description:</span>
-<span class="c1">#    The CONTROL file is the steering part of the FLEXPART extraction</span>
-<span class="c1">#    software. All necessary parameters needed to retrieve the data fields</span>
-<span class="c1">#    from the MARS archive for driving FLEXPART are set in a CONTROL file.</span>
-<span class="c1">#    Some specific parameters like the start and end dates can be overwritten</span>
-<span class="c1">#    by the command line parameters, but in generel all parameters needed</span>
-<span class="c1">#    for a complete set of fields for FLEXPART can be set in the CONTROL file.</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Content:</span>
-<span class="c1">#    - __init__</span>
-<span class="c1">#    - __read_controlfile__</span>
-<span class="c1">#    - __str__</span>
-<span class="c1">#    - assign_args_to_control</span>
-<span class="c1">#    - assign_envs_to_control</span>
-<span class="c1">#    - check_conditions</span>
-<span class="c1">#    - check_install_conditions</span>
-<span class="c1">#    - to_list</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Attributes:</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#</span>
+<span class="c1"># @Class Methods:</span>
+<span class="c1">#    __init__</span>
+<span class="c1">#    _read_controlfile</span>
+<span class="c1">#    __str__</span>
+<span class="c1">#    assign_args_to_control</span>
+<span class="c1">#    assign_envs_to_control</span>
+<span class="c1">#    check_conditions</span>
+<span class="c1">#    check_install_conditions</span>
+<span class="c1">#    to_list</span>
 <span class="c1">#*******************************************************************************</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
@@ -208,11 +199,19 @@
 <span class="kn">import</span> <span class="nn">re</span>
 <span class="kn">import</span> <span class="nn">sys</span>
 <span class="kn">import</span> <span class="nn">inspect</span>
+<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
 
 <span class="c1"># software specific classes and modules from flex_extract</span>
 <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../&#39;</span><span class="p">)</span>
 <span class="kn">import</span> <span class="nn">_config</span>
 <span class="kn">from</span> <span class="nn">mods.tools</span> <span class="k">import</span> <span class="n">my_error</span><span class="p">,</span> <span class="n">silent_remove</span>
+<span class="kn">from</span> <span class="nn">mods.checks</span> <span class="k">import</span> <span class="p">(</span><span class="n">check_grid</span><span class="p">,</span> <span class="n">check_area</span><span class="p">,</span> <span class="n">check_levels</span><span class="p">,</span> <span class="n">check_purefc</span><span class="p">,</span>
+                         <span class="n">check_step</span><span class="p">,</span> <span class="n">check_mail</span><span class="p">,</span> <span class="n">check_queue</span><span class="p">,</span> <span class="n">check_pathes</span><span class="p">,</span>
+                         <span class="n">check_dates</span><span class="p">,</span> <span class="n">check_maxstep</span><span class="p">,</span> <span class="n">check_type</span><span class="p">,</span> <span class="n">check_request</span><span class="p">,</span>
+                         <span class="n">check_basetime</span><span class="p">,</span> <span class="n">check_public</span><span class="p">,</span> <span class="n">check_acctype</span><span class="p">,</span>
+                         <span class="n">check_acctime</span><span class="p">,</span> <span class="n">check_accmaxstep</span><span class="p">,</span> <span class="n">check_time</span><span class="p">,</span>
+                         <span class="n">check_logicals_type</span><span class="p">,</span> <span class="n">check_len_type_time_step</span><span class="p">,</span>
+                         <span class="n">check_addpar</span><span class="p">,</span> <span class="n">check_job_chunk</span><span class="p">)</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <span class="c1"># CLASS</span>
@@ -220,6 +219,269 @@
 <div class="viewcode-block" id="ControlFile"><a class="viewcode-back" href="../api.html#ControlFile.ControlFile">[docs]</a><span class="k">class</span> <span class="nc">ControlFile</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;</span>
 <span class="sd">    Contains the information which are stored in the CONTROL files.</span>
+
+<span class="sd">    The CONTROL file is the steering part of the FLEXPART extraction</span>
+<span class="sd">    software. All necessary parameters needed to retrieve the data fields</span>
+<span class="sd">    from the MARS archive for driving FLEXPART are set in a CONTROL file.</span>
+<span class="sd">    Some specific parameters like the start and end dates can be overwritten</span>
+<span class="sd">    by the command line parameters, but in generel all parameters needed</span>
+<span class="sd">    for a complete set of fields for FLEXPART can be set in the CONTROL file.</span>
+
+<span class="sd">    Attributes</span>
+<span class="sd">    ----------</span>
+<span class="sd">    controlfile : str</span>
+<span class="sd">        The name of the control file to be processed. Default value is the</span>
+<span class="sd">        filename passed to the init function when initialised.</span>
+
+<span class="sd">    start_date : str</span>
+<span class="sd">        The first day of the retrieval period. Default value is None.</span>
+
+<span class="sd">    end_date :str</span>
+<span class="sd">        The last day of the retrieval period. Default value is None.</span>
+
+<span class="sd">    date_chunk : int</span>
+<span class="sd">        Length of period for a single mars retrieval. Default value is 3.</span>
+
+<span class="sd">    dtime :str</span>
+<span class="sd">        The time step in hours. Default value is None.</span>
+
+<span class="sd">    basetime : str</span>
+<span class="sd">        The time for a half day retrieval. The 12 hours upfront are to be</span>
+<span class="sd">        retrieved. Default value is None.</span>
+
+<span class="sd">    maxstep : int</span>
+<span class="sd">        The maximum forecast step for non flux data. Default value is None.</span>
+
+<span class="sd">    type : list of str</span>
+<span class="sd">        List of field type per retrieving hour. Default value is None.</span>
+
+<span class="sd">    time : list of str</span>
+<span class="sd">        List of retrieving times in hours. Default valuer is None.</span>
+
+<span class="sd">    step : list of str or str</span>
+<span class="sd">        List of forecast time steps in hours for non flux data.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    acctype : str</span>
+<span class="sd">        The field type for the accumulated forecast fields.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    acctime : str</span>
+<span class="sd">        The starting time of the accumulated forecasts. Default value is None.</span>
+
+<span class="sd">    accmaxstep : int</span>
+<span class="sd">        The maximum forecast step for the accumulated forecast fields</span>
+<span class="sd">        (flux data). Default value is None.</span>
+
+<span class="sd">    marsclass : str</span>
+<span class="sd">        Characterisation of dataset. Default value is None.</span>
+
+<span class="sd">    dataset : str</span>
+<span class="sd">        For public datasets there is the specific naming and parameter</span>
+<span class="sd">        dataset which has to be used to characterize the type of</span>
+<span class="sd">        data. Default value is None.</span>
+
+<span class="sd">    stream : str</span>
+<span class="sd">        Identifies the forecasting system used to generate the data.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    number : str</span>
+<span class="sd">        Selects the member in ensemble forecast run. Default value is &#39;OFF&#39;.</span>
+
+<span class="sd">    expver : str</span>
+<span class="sd">        The version number of the dataset. Default value is &#39;1&#39;.</span>
+
+<span class="sd">    gaussian : str</span>
+<span class="sd">        This parameter is deprecated and should no longer be used.</span>
+<span class="sd">        Specifies the desired type of Gaussian grid for the output.</span>
+<span class="sd">        Default value is an empty string &#39;&#39;.</span>
+
+<span class="sd">    grid : str</span>
+<span class="sd">        Specifies the output grid which can be either a Gaussian grid</span>
+<span class="sd">        or a Latitude/Longitude grid. Default value is None.</span>
+
+<span class="sd">    area : str</span>
+<span class="sd">        Specifies the desired sub-area of data to be extracted.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    left : str</span>
+<span class="sd">        The western most longitude of the area to be extracted.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    lower : str</span>
+<span class="sd">        The southern most latitude of the area to be extracted.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    upper : str</span>
+<span class="sd">        The northern most latitued of the area to be extracted.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    right : str</span>
+<span class="sd">        The eastern most longitude of the area to be extracted.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    level : str</span>
+<span class="sd">        Specifies the maximum level. Default value is None.</span>
+
+<span class="sd">    levelist : str</span>
+<span class="sd">        Specifies the required level list. Default value is None.</span>
+
+<span class="sd">    resol : str</span>
+<span class="sd">        Specifies the desired triangular truncation of retrieved data,</span>
+<span class="sd">        before carrying out any other selected post-processing.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    gauss : int</span>
+<span class="sd">        Switch to select gaussian fields (1) or regular lat/lon (0).</span>
+<span class="sd">        Default value is 0.</span>
+
+<span class="sd">    accuracy : int</span>
+<span class="sd">        Specifies the number of bits per value to be used in the</span>
+<span class="sd">        generated GRIB coded fields. Default value is 24.</span>
+
+<span class="sd">    omega : int</span>
+<span class="sd">       Switch to select omega retrieval (1) or not (0). Default value is 0.</span>
+
+<span class="sd">    omegadiff : int</span>
+<span class="sd">        Switch to decide to calculate Omega and Dps/Dt from continuity</span>
+<span class="sd">        equation for diagnostic purposes (1) or not (0). Default value is 0.</span>
+
+<span class="sd">    eta : int</span>
+<span class="sd">        Switch to select direct retrieval of etadot from MARS (1) or</span>
+<span class="sd">        wether it has to be calculated (0). Then Default value is 0.</span>
+
+<span class="sd">    etadiff : int</span>
+<span class="sd">        Switch to select calculation of etadot and Dps/Dt from continuity</span>
+<span class="sd">        equation for diagnostic purposes (1) or not (0). Default value is 0.</span>
+
+<span class="sd">    etapar : int</span>
+<span class="sd">        GRIB parameter Id for etadot fields. Default value is 77.</span>
+
+<span class="sd">    dpdeta : int</span>
+<span class="sd">        Switch to select multiplication of etadot with dpdeta.</span>
+<span class="sd">        Default value is 1.</span>
+
+<span class="sd">    smooth : int</span>
+<span class="sd">        Spectral truncation of ETADOT after calculation on Gaussian grid.</span>
+<span class="sd">        Default value is 0.</span>
+
+<span class="sd">    format : str</span>
+<span class="sd">        The format of the GRIB data. Default value is &#39;GRIB1&#39;.</span>
+
+<span class="sd">    addpar : str</span>
+<span class="sd">        List of additional surface level ECMWF parameter to be retrieved.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    prefix : str</span>
+<span class="sd">        Prefix string for the final FLEXPART/FLEXTRA ready input files.</span>
+<span class="sd">        Default value is &#39;EN&#39;.</span>
+
+<span class="sd">    cwc : int</span>
+<span class="sd">        Switch to select wether the sum of cloud liquid water content and</span>
+<span class="sd">        cloud ice water content should be retrieved. Default value is 0.</span>
+
+<span class="sd">    wrf : int</span>
+<span class="sd">        Switch to select further parameters for retrievment to support</span>
+<span class="sd">        WRF simulations. Default value is 0.</span>
+
+<span class="sd">    ecfsdir : str</span>
+<span class="sd">        Path to the ECMWF storage  &#39;ectmp:/${USER}/econdemand/&#39;</span>
+
+<span class="sd">    mailfail : list of str</span>
+<span class="sd">        Email list for sending error log files from ECMWF servers.</span>
+<span class="sd">        The email addresses should be seperated by a comma.</span>
+<span class="sd">        Default value is [&#39;${USER}&#39;].</span>
+
+<span class="sd">    mailops : list of str</span>
+<span class="sd">        Email list for sending operational log files from ECMWF servers.</span>
+<span class="sd">        The email addresses should be seperated by a comma.</span>
+<span class="sd">        Default value is [&#39;${USER}&#39;].</span>
+
+<span class="sd">    grib2flexpart : int 0</span>
+<span class="sd">        Switch to select generation of preprocessed FLEXPART files &quot;.fp&quot;.</span>
+<span class="sd">        If it is selected, the program grib2flexpart will try</span>
+<span class="sd">        to convert the flex_extract output files into &quot;.fp&quot; format.</span>
+
+<span class="sd">    ecstorage : int</span>
+<span class="sd">        Switch to select storage of FLEXPART ready output files</span>
+<span class="sd">        in the ECFS file system. Default value is 0.</span>
+
+<span class="sd">    ectrans : int</span>
+<span class="sd">        Switch to select the transfer of FLEXPART ready output files</span>
+<span class="sd">        to the gateway server. Default value is 0.</span>
+
+<span class="sd">    inputdir : str</span>
+<span class="sd">        Path to the temporary directory for the retrieval grib files and</span>
+<span class="sd">        other processing files. Default value is _config.PATH_INPUT_DIR.</span>
+
+<span class="sd">    outputdir : str</span>
+<span class="sd">        Path to the final directory where the final FLEXPART ready input</span>
+<span class="sd">        files are stored. Default value is None.</span>
+
+<span class="sd">    flexextractdir : str</span>
+<span class="sd">        Path to the flex_extract root directory. Default value is</span>
+<span class="sd">        _config.PATH_FLEXEXTRACT_DIR.</span>
+
+<span class="sd">    exedir : str</span>
+<span class="sd">        Path to the FORTRAN executable file. Default value is</span>
+<span class="sd">        _config.PATH_FORTRAN_SRC.</span>
+
+<span class="sd">    flexpartdir : str</span>
+<span class="sd">        Path to a FLEXPART root directory. Default value is None.</span>
+
+<span class="sd">    makefile : str</span>
+<span class="sd">        Name of the makefile to be used for the Fortran program.</span>
+<span class="sd">        Default value is &#39;Makefile.gfortran&#39;.</span>
+
+<span class="sd">    destination : str</span>
+<span class="sd">        The remote destination which is used to transfer files</span>
+<span class="sd">        from ECMWF server to local gateway server. Default value is None.</span>
+
+<span class="sd">    gateway : str</span>
+<span class="sd">        The gateway server the user is using. Default value is None.</span>
+
+<span class="sd">    ecuid : str</span>
+<span class="sd">        The user id on ECMWF server. Default value is None.</span>
+
+<span class="sd">    ecgid : str</span>
+<span class="sd">        The group id on ECMWF server. Default value is None.</span>
+
+<span class="sd">    install_target : str</span>
+<span class="sd">        Defines the location where the installation is to be done.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    debug : int</span>
+<span class="sd">        Switch to keep temporary files at the end of postprocessing (1) or</span>
+<span class="sd">        to delete all temporary files except the final output files (0).</span>
+<span class="sd">        Default value is 0.</span>
+
+<span class="sd">    request : int</span>
+<span class="sd">        Switch to select between just retrieving the data (0), writing the mars</span>
+<span class="sd">        parameter values to a csv file (1) or doing both (2).</span>
+<span class="sd">        Default value is 0.</span>
+
+<span class="sd">    public : int</span>
+<span class="sd">        Switch to select kind of ECMWF Web Api access and the</span>
+<span class="sd">        possible data sets. Public data sets (1) and Memberstate data sets (0).</span>
+<span class="sd">        Default value is 0.</span>
+
+<span class="sd">    ecapi : boolean</span>
+<span class="sd">        Tells wether the ECMWF Web APi was able to load or not.</span>
+<span class="sd">        Default value is None.</span>
+
+<span class="sd">    purefc : int</span>
+<span class="sd">        Switch to decide wether the job is a pure forecast retrieval or</span>
+<span class="sd">        coupled with analysis data. Default value is 0.</span>
+
+<span class="sd">    rrint: int</span>
+<span class="sd">        Switch to select between old precipitation disaggregation method (0)</span>
+<span class="sd">        or the new IA3 disaggegration method (1). Default value is 0.</span>
+
+<span class="sd">    logicals : list of str</span>
+<span class="sd">        List of the names of logical switches which controls the flow</span>
+<span class="sd">        of the program. Default list is [&#39;gauss&#39;, &#39;omega&#39;, &#39;omegadiff&#39;, &#39;eta&#39;,</span>
+<span class="sd">        &#39;etadiff&#39;, &#39;dpdeta&#39;, &#39;cwc&#39;, &#39;wrf&#39;, &#39;grib2flexpart&#39;, &#39;ecstorage&#39;,</span>
+<span class="sd">        &#39;ectrans&#39;, &#39;debug&#39;, &#39;request&#39;, &#39;public&#39;, &#39;purefc&#39;, &#39;rrint&#39;]</span>
 <span class="sd">    &#39;&#39;&#39;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filename</span><span class="p">):</span>
@@ -229,7 +491,7 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        filename : :obj:`string`</span>
+<span class="sd">        filename : str</span>
 <span class="sd">            Name of CONTROL file.</span>
 
 <span class="sd">        Return</span>
@@ -242,6 +504,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">date_chunk</span> <span class="o">=</span> <span class="mi">3</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_chunk</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dtime</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">basetime</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">=</span> <span class="kc">None</span>
@@ -288,9 +551,9 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">ectrans</span> <span class="o">=</span> <span class="mi">0</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_INPUT_DIR</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">outputdir</span> <span class="o">=</span> <span class="kc">None</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">ecmwfdatadir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">flexextractdir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">exedir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">flexpart_root_scripts</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">flexpartdir</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">makefile</span> <span class="o">=</span> <span class="s1">&#39;Makefile.gfortran&#39;</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">destination</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">gateway</span> <span class="o">=</span> <span class="kc">None</span>
@@ -300,16 +563,20 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">debug</span> <span class="o">=</span> <span class="mi">0</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">request</span> <span class="o">=</span> <span class="mi">0</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">public</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ecapi</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">purefc</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">rrint</span> <span class="o">=</span> <span class="mi">0</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">logicals</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;gauss&#39;</span><span class="p">,</span> <span class="s1">&#39;omega&#39;</span><span class="p">,</span> <span class="s1">&#39;omegadiff&#39;</span><span class="p">,</span> <span class="s1">&#39;eta&#39;</span><span class="p">,</span> <span class="s1">&#39;etadiff&#39;</span><span class="p">,</span>
                          <span class="s1">&#39;dpdeta&#39;</span><span class="p">,</span> <span class="s1">&#39;cwc&#39;</span><span class="p">,</span> <span class="s1">&#39;wrf&#39;</span><span class="p">,</span> <span class="s1">&#39;grib2flexpart&#39;</span><span class="p">,</span> <span class="s1">&#39;ecstorage&#39;</span><span class="p">,</span>
-                         <span class="s1">&#39;ectrans&#39;</span><span class="p">,</span> <span class="s1">&#39;debug&#39;</span><span class="p">,</span> <span class="s1">&#39;request&#39;</span><span class="p">,</span> <span class="s1">&#39;public&#39;</span><span class="p">]</span>
+                         <span class="s1">&#39;ectrans&#39;</span><span class="p">,</span> <span class="s1">&#39;debug&#39;</span><span class="p">,</span> <span class="s1">&#39;request&#39;</span><span class="p">,</span> <span class="s1">&#39;public&#39;</span><span class="p">,</span> <span class="s1">&#39;purefc&#39;</span><span class="p">,</span>
+                         <span class="s1">&#39;rrint&#39;</span><span class="p">]</span>
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">__read_controlfile__</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_read_controlfile</span><span class="p">()</span>
 
         <span class="k">return</span>
 
-    <span class="k">def</span> <span class="nf">__read_controlfile__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">_read_controlfile</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&#39;&#39;&#39;Read CONTROL file and assign all CONTROL file variables.</span>
 
 <span class="sd">        Parameters</span>
@@ -333,6 +600,12 @@
 
         <span class="c1"># go through every line and store parameter</span>
         <span class="k">for</span> <span class="n">ldata</span> <span class="ow">in</span> <span class="n">fdata</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ldata</span> <span class="ow">and</span> <span class="n">ldata</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;#&#39;</span><span class="p">:</span>
+                <span class="c1"># ignore comment line in control file</span>
+                <span class="k">continue</span>
+            <span class="k">if</span> <span class="s1">&#39;#&#39;</span> <span class="ow">in</span> <span class="n">ldata</span><span class="p">:</span>
+                <span class="c1"># cut off comment</span>
+                <span class="n">ldata</span> <span class="o">=</span> <span class="n">ldata</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;#&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
             <span class="n">data</span> <span class="o">=</span> <span class="n">ldata</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
             <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
                 <span class="k">if</span> <span class="s1">&#39;m_&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">():</span>
@@ -343,15 +616,6 @@
                     <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;start_date&#39;</span>
                 <span class="k">if</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;day2&#39;</span><span class="p">:</span>
                     <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;end_date&#39;</span>
-                <span class="k">if</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;addpar&#39;</span><span class="p">:</span>
-                    <span class="k">if</span> <span class="s1">&#39;/&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
-                        <span class="c1"># remove leading &#39;/&#39; sign from addpar content</span>
-                        <span class="k">if</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;/&#39;</span><span class="p">:</span>
-                            <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span>
-                        <span class="n">dd</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
-                        <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span>
-                        <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">dd</span><span class="p">:</span>
-                            <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
                 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
                     <span class="k">if</span> <span class="s1">&#39;$&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
                         <span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">(),</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
@@ -416,7 +680,7 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        args : :obj:`Namespace`</span>
+<span class="sd">        args : Namespace</span>
 <span class="sd">            Contains the commandline arguments from script/program call.</span>
 
 <span class="sd">        Return</span>
@@ -441,7 +705,7 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        envs : :obj:`dictionary` of :obj:`strings`</span>
+<span class="sd">        envs : dict of str</span>
 <span class="sd">            Contains the ECMWF environment parameternames &quot;ECUID&quot;, &quot;ECGID&quot;,</span>
 <span class="sd">            &quot;DESTINATION&quot; and &quot;GATEWAY&quot; with its corresponding values.</span>
 <span class="sd">            They were read from the file &quot;ECMWF_ENV&quot;.</span>
@@ -463,7 +727,7 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        queue : :obj:`string`</span>
+<span class="sd">        queue : str</span>
 <span class="sd">            Name of the queue if submitted to the ECMWF servers.</span>
 <span class="sd">            Used to check if ecuid, ecgid, gateway and destination</span>
 <span class="sd">            are set correctly and are not empty.</span>
@@ -472,234 +736,78 @@
 <span class="sd">        ------</span>
 
 <span class="sd">        &#39;&#39;&#39;</span>
-        <span class="kn">from</span> <span class="nn">mods.tools</span> <span class="k">import</span> <span class="n">my_error</span>
-        <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
-
-        <span class="c1"># check for having at least a starting date</span>
-        <span class="c1"># otherwise program is not allowed to run</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;start_date specified neither in command line nor </span><span class="se">\</span>
-<span class="s1">                   in CONTROL file &#39;</span> <span class="o">+</span>  <span class="bp">self</span><span class="o">.</span><span class="n">controlfile</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Try &quot;&#39;</span> <span class="o">+</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span>
-                  <span class="s1">&#39; -h&quot; to print usage information&#39;</span><span class="p">)</span>
-            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+        <span class="n">check_logicals_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">logicals</span><span class="p">)</span>
 
-        <span class="c1"># retrieve just one day if end_date isn&#39;t set</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span>
-
-        <span class="c1"># basetime has only two possible values</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">basetime</span><span class="p">:</span>
-            <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">basetime</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">basetime</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">12</span><span class="p">:</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Basetime has an invalid value!&#39;</span><span class="p">)</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Basetime = &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">basetime</span><span class="p">))</span>
-                <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
-
-        <span class="c1"># assure consistency of levelist and level</span>
-        <span class="c1"># up-to-date available maximum level numbers at ECMWF, 05.10.2018</span>
-        <span class="n">max_level_list</span> <span class="o">=</span> <span class="p">[</span><span class="mi">16</span><span class="p">,</span> <span class="mi">19</span><span class="p">,</span> <span class="mi">31</span><span class="p">,</span> <span class="mi">40</span><span class="p">,</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">60</span><span class="p">,</span> <span class="mi">62</span><span class="p">,</span> <span class="mi">91</span><span class="p">,</span> <span class="mi">137</span><span class="p">]</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Warning: neither levelist nor level </span><span class="se">\</span>
-<span class="s1">                               specified in CONTROL file&#39;</span><span class="p">)</span>
-            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
-        <span class="k">elif</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span> <span class="o">=</span> <span class="s1">&#39;1/to/&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">level</span>
-        <span class="k">elif</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">levelist</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">)</span> <span class="ow">or</span> \
-             <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">levelist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">level</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="k">pass</span>
-
-        <span class="c1"># check if max level is a valid level</span>
-        <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">)</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">max_level_list</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: &#39;</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;LEVEL must be the maximum level of a specified &#39;</span>
-                  <span class="s1">&#39;level list from ECMWF, e.g.&#39;</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;[16, 19, 31, 40, 50, 60, 62, 91 or 137]&#39;</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Check parameter &quot;LEVEL&quot; or the max level of &quot;LEVELIST&quot;!&#39;</span><span class="p">)</span>
-            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span> <span class="o">=</span> <span class="n">check_mail</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span><span class="p">)</span>
 
-        <span class="c1"># if area was provided (only from commandline)</span>
-        <span class="c1"># decompose area into its 4 components</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">area</span><span class="p">:</span>
-            <span class="n">components</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">area</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
-            <span class="c1"># convert float to integer coordinates</span>
-            <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">area</span><span class="p">:</span>
-                <span class="n">components</span> <span class="o">=</span> <span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">*</span> <span class="mi">1000</span><span class="p">))</span>
-                              <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">components</span><span class="p">)]</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">upper</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">left</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">lower</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">right</span> <span class="o">=</span> <span class="n">components</span>
-
-        <span class="c1"># prepare step list if &quot;/&quot; signs are found</span>
-        <span class="k">if</span> <span class="s1">&#39;/&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="p">:</span>
-            <span class="n">steps</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
-            <span class="k">if</span> <span class="s1">&#39;to&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="ow">and</span> <span class="s1">&#39;by&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="o">.</span><span class="n">lower</span><span class="p">():</span>
-                <span class="n">ilist</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">steps</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span>
-                                  <span class="nb">int</span><span class="p">(</span><span class="n">steps</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span>
-                                  <span class="nb">int</span><span class="p">(</span><span class="n">steps</span><span class="p">[</span><span class="mi">4</span><span class="p">]))</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">step</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">ilist</span><span class="p">]</span>
-            <span class="k">elif</span> <span class="s1">&#39;to&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="ow">and</span> <span class="s1">&#39;by&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="o">.</span><span class="n">lower</span><span class="p">():</span>
-                <span class="n">my_error</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span> <span class="o">+</span> <span class="s1">&#39;:</span><span class="se">\n</span><span class="s1">&#39;</span> <span class="o">+</span>
-                         <span class="s1">&#39;if &quot;to&quot; is used in steps parameter, </span><span class="se">\</span>
-<span class="s1">                         please use &quot;by&quot; as well&#39;</span><span class="p">)</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">step</span> <span class="o">=</span> <span class="n">steps</span>
-
-        <span class="c1"># if maxstep wasn&#39;t provided</span>
-        <span class="c1"># search for it in the &quot;step&quot; parameter</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">=</span> <span class="mi">0</span>
-            <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="p">:</span>
-                <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span><span class="p">)</span>
-
-        <span class="c1"># set root scripts since it is needed later on</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">flexpart_root_scripts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ecmwfdatadir</span>
-
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">outputdir</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">outputdir</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span>
-
-        <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
-            <span class="k">if</span> <span class="s1">&#39;,&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="s1">&#39; &#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mailops</span> <span class="o">=</span> <span class="n">check_mail</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mailops</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mailops</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
-            <span class="k">if</span> <span class="s1">&#39;,&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">mailops</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">mailops</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">mailops</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="s1">&#39; &#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">mailops</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">mailops</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">mailops</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">mailops</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">mailops</span><span class="p">]</span>
-
-        <span class="k">if</span> <span class="n">queue</span> <span class="ow">in</span> <span class="n">_config</span><span class="o">.</span><span class="n">QUEUES_LIST</span> <span class="ow">and</span> \
-           <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">gateway</span> <span class="ow">or</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination</span> <span class="ow">or</span> \
-           <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ecuid</span> <span class="ow">or</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ecgid</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Environment variables GATEWAY, DESTINATION, ECUID and </span><span class="se">\</span>
-<span class="s1">                   ECGID were not set properly!&#39;</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Please check for existence of file &quot;ECMWF_ENV&quot; in the </span><span class="se">\</span>
-<span class="s1">                   python directory!&#39;</span><span class="p">)</span>
-            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+        <span class="n">check_queue</span><span class="p">(</span><span class="n">queue</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">gateway</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">ecuid</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ecgid</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">request</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
-            <span class="n">marsfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span>
-                                    <span class="n">_config</span><span class="o">.</span><span class="n">FILE_MARS_REQUESTS</span><span class="p">)</span>
-            <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">marsfile</span><span class="p">):</span>
-                <span class="n">silent_remove</span><span class="p">(</span><span class="n">marsfile</span><span class="p">)</span>
-
-        <span class="c1"># check all logical variables for data type</span>
-        <span class="c1"># if its a string change to integer</span>
-        <span class="k">for</span> <span class="n">var</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">logicals</span><span class="p">:</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">var</span><span class="p">),</span> <span class="nb">int</span><span class="p">):</span>
-                <span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">var</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">var</span><span class="p">)))</span>
-
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">public</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataset</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: &#39;</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;If public mars data wants to be retrieved, &#39;</span>
-                  <span class="s1">&#39;the &quot;dataset&quot;-parameter has to be set in the control file!&#39;</span><span class="p">)</span>
-            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">outputdir</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">flexpartdir</span> <span class="o">=</span> <span class="n">check_pathes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span>
+             <span class="bp">self</span><span class="o">.</span><span class="n">outputdir</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">flexextractdir</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">check_dates</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="p">,</span>
+                                                     <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span><span class="p">)</span>
 
-        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">val</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">):</span>
-            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;AN&#39;</span> <span class="ow">and</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Analysis retrievals must have STEP = 0 (is set to 0)&#39;</span><span class="p">)</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="n">check_basetime</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">basetime</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">time</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">time</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">time</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">level</span> <span class="o">=</span> <span class="n">check_levels</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">levelist</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">step</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">step</span> <span class="o">=</span> <span class="n">check_step</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">mailfail</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">acctype</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... Control paramter ACCTYPE was not defined.&#39;</span><span class="p">)</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;AN&#39;</span><span class="p">:</span>
-                    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Use old setting by using TYPE[1] for flux forecast!&#39;</span><span class="p">)</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">acctype</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
-            <span class="k">except</span><span class="p">:</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Use default value &quot;FC&quot; for flux forecast!&#39;</span><span class="p">)</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">acctype</span><span class="o">=</span><span class="s1">&#39;FC&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">=</span> <span class="n">check_maxstep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">acctime</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... Control paramter ACCTIME was not defined.&#39;</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Use default value &quot;00/12&quot; for flux forecast!&#39;</span><span class="p">)</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">acctime</span><span class="o">=</span><span class="s1">&#39;00/12&#39;</span>
+        <span class="n">check_request</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">request</span><span class="p">,</span>
+                      <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">_config</span><span class="o">.</span><span class="n">FILE_MARS_REQUESTS</span><span class="p">))</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">accmaxstep</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... Control paramter ACCMAXSTEP was not defined.&#39;</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Use default value &quot;12&quot; for flux forecast!&#39;</span><span class="p">)</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">accmaxstep</span><span class="o">=</span><span class="s1">&#39;12&#39;</span>
+        <span class="n">check_public</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">public</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataset</span><span class="p">)</span>
 
-        <span class="k">return</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="n">check_type</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="p">)</span>
 
-<div class="viewcode-block" id="ControlFile.check_install_conditions"><a class="viewcode-back" href="../api.html#ControlFile.ControlFile.check_install_conditions">[docs]</a>    <span class="k">def</span> <span class="nf">check_install_conditions</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;Checks a couple of necessary attributes and conditions</span>
-<span class="sd">        for the installation such as if they exist and contain values.</span>
-<span class="sd">        Otherwise set default values.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">time</span> <span class="o">=</span> <span class="n">check_time</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">time</span><span class="p">)</span>
 
-<span class="sd">        Parameters</span>
-<span class="sd">        ----------</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">time</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">step</span> <span class="o">=</span> <span class="n">check_len_type_time_step</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">,</span>
+                                                                   <span class="bp">self</span><span class="o">.</span><span class="n">time</span><span class="p">,</span>
+                                                                   <span class="bp">self</span><span class="o">.</span><span class="n">step</span><span class="p">,</span>
+                                                                   <span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span><span class="p">,</span>
+                                                                   <span class="bp">self</span><span class="o">.</span><span class="n">purefc</span><span class="p">)</span>
 
-<span class="sd">        Return</span>
-<span class="sd">        ------</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">acctype</span> <span class="o">=</span> <span class="n">check_acctype</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">acctype</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">)</span>
 
-<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">acctime</span> <span class="o">=</span> <span class="n">check_acctime</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">acctime</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">acctype</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">purefc</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">and</span> \
-           <span class="bp">self</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;local&#39;</span><span class="p">,</span> <span class="s1">&#39;ecgate&#39;</span><span class="p">,</span> <span class="s1">&#39;cca&#39;</span><span class="p">]:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: unknown or missing installation target &#39;</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;target: &#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">install_target</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;please specify correct installation target &#39;</span> <span class="o">+</span>
-                  <span class="s1">&#39;(local | ecgate | cca)&#39;</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;use -h or --help for help&#39;</span><span class="p">)</span>
-            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">accmaxstep</span> <span class="o">=</span> <span class="n">check_accmaxstep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">accmaxstep</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">acctype</span><span class="p">,</span>
+                                           <span class="bp">self</span><span class="o">.</span><span class="n">purefc</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">maxstep</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">install_target</span> <span class="o">!=</span> <span class="s1">&#39;local&#39;</span><span class="p">:</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ecgid</span> <span class="ow">or</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ecuid</span> <span class="ow">or</span> \
-               <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">gateway</span> <span class="ow">or</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination</span><span class="p">:</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Please enter your ECMWF user id and group id as well &#39;</span> <span class="o">+</span>
-                      <span class="s1">&#39;as the </span><span class="se">\n</span><span class="s1">name of the local gateway and the ectrans &#39;</span> <span class="o">+</span>
-                      <span class="s1">&#39;destination &#39;</span><span class="p">)</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;with command line options --ecuid --ecgid </span><span class="se">\</span>
-<span class="s1">                       --gateway --destination&#39;</span><span class="p">)</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Try &quot;&#39;</span> <span class="o">+</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> \
-                      <span class="s1">&#39; -h&quot; to print usage information&#39;</span><span class="p">)</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Please consult ecaccess documentation or ECMWF user </span><span class="se">\</span>
-<span class="s1">                       support for further details&#39;</span><span class="p">)</span>
-                <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">purefc</span> <span class="o">=</span> <span class="n">check_purefc</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">)</span>
 
-            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">flexpart_root_scripts</span> <span class="o">=</span> <span class="s1">&#39;$</span><span class="si">{HOME}</span><span class="s1">&#39;</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">flexpart_root_scripts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">flexpart_root_scripts</span>
-        <span class="k">else</span><span class="p">:</span> <span class="c1"># local</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">flexpart_root_scripts</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">grid</span> <span class="o">=</span> <span class="n">check_grid</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">area</span> <span class="o">=</span> <span class="n">check_area</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">area</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">upper</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">lower</span><span class="p">,</span>
+                               <span class="bp">self</span><span class="o">.</span><span class="n">left</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">right</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">addpar</span> <span class="o">=</span> <span class="n">check_addpar</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addpar</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_chunk</span> <span class="o">=</span> <span class="n">check_job_chunk</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_chunk</span><span class="p">)</span>
 
         <span class="k">return</span></div>
 
 <div class="viewcode-block" id="ControlFile.to_list"><a class="viewcode-back" href="../api.html#ControlFile.ControlFile.to_list">[docs]</a>    <span class="k">def</span> <span class="nf">to_list</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&#39;&#39;&#39;Just generates a list of strings containing the attributes and</span>
 <span class="sd">        assigned values except the attributes &quot;_expanded&quot;, &quot;exedir&quot;,</span>
-<span class="sd">        &quot;ecmwfdatadir&quot; and &quot;flexpart_root_scripts&quot;.</span>
+<span class="sd">        &quot;flexextractdir&quot; and &quot;flexpartdir&quot;.</span>
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
 
 <span class="sd">        Return</span>
 <span class="sd">        ------</span>
-<span class="sd">        l : :obj:`list`</span>
+<span class="sd">        l : list of *</span>
 <span class="sd">            A sorted list of the all ControlFile class attributes with</span>
 <span class="sd">            their values except the attributes &quot;_expanded&quot;, &quot;exedir&quot;,</span>
-<span class="sd">            &quot;ecmwfdatadir&quot; and &quot;flexpart_root_scripts&quot;.</span>
+<span class="sd">            &quot;flexextractdir&quot; and &quot;flexpartdir&quot;.</span>
 <span class="sd">        &#39;&#39;&#39;</span>
 
         <span class="kn">import</span> <span class="nn">collections</span>
@@ -713,9 +821,9 @@
                 <span class="k">pass</span>
             <span class="k">elif</span> <span class="s1">&#39;exedir&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
                 <span class="k">pass</span>
-            <span class="k">elif</span> <span class="s1">&#39;flexpart_root_scripts&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
+            <span class="k">elif</span> <span class="s1">&#39;flexpartdir&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
                 <span class="k">pass</span>
-            <span class="k">elif</span> <span class="s1">&#39;ecmwfdatadir&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
+            <span class="k">elif</span> <span class="s1">&#39;flexextractdir&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
                 <span class="k">pass</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="nb">list</span><span class="p">):</span>
@@ -723,9 +831,9 @@
                     <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">item</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
                         <span class="n">stot</span> <span class="o">+=</span> <span class="n">s</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
 
-                    <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2"> </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">stot</span><span class="p">))</span>
+                    <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2"> </span><span class="si">%s</span><span class="se">\n</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">stot</span><span class="p">))</span>
                 <span class="k">else</span><span class="p">:</span>
-                    <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2"> </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">item</span><span class="p">)</span>
+                    <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2"> </span><span class="si">%s</span><span class="se">\n</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">item</span><span class="p">)</span>
 
         <span class="k">return</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">l</span><span class="p">)</span></div></div>
 
@@ -741,7 +849,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -760,21 +868,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/EcFlexpart.html b/documentation/Sphinx/build/html/_modules/EcFlexpart.html
index 3468886..03e112b 100644
--- a/documentation/Sphinx/build/html/_modules/EcFlexpart.html
+++ b/documentation/Sphinx/build/html/_modules/EcFlexpart.html
@@ -193,31 +193,13 @@
 <span class="c1">#          duplication, easier testing)</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2014-2018.</span>
-<span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Description:</span>
-<span class="c1">#    FLEXPART needs grib files in a specifc format. All necessary data fields</span>
-<span class="c1">#    for one time step are stored in a single file. The class represents an</span>
-<span class="c1">#    instance with all the parameter and settings necessary for retrieving</span>
-<span class="c1">#    MARS data and modifing them so they are fitting FLEXPART need. The class</span>
-<span class="c1">#    is able to disaggregate the fluxes and convert grid types to the one needed</span>
-<span class="c1">#    by FLEXPART, therefore using the FORTRAN program.</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Content:</span>
-<span class="c1">#    - __init__</span>
-<span class="c1">#    - write_namelist</span>
-<span class="c1">#    - retrieve</span>
-<span class="c1">#    - process_output</span>
-<span class="c1">#    - create</span>
-<span class="c1">#    - deacc_fluxes</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Attributes:</span>
-<span class="c1">#</span>
-<span class="c1">#  TODO</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#*******************************************************************************</span>
 <span class="c1">#pylint: disable=unsupported-assignment-operation</span>
 <span class="c1"># this is disabled because for this specific case its an error in pylint</span>
@@ -234,21 +216,18 @@
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
 
-<span class="kn">from</span> <span class="nn">gribapi</span> <span class="k">import</span> <span class="p">(</span><span class="n">grib_set</span><span class="p">,</span> <span class="n">grib_index_select</span><span class="p">,</span> <span class="n">grib_new_from_index</span><span class="p">,</span> <span class="n">grib_get</span><span class="p">,</span>
-                     <span class="n">grib_write</span><span class="p">,</span> <span class="n">grib_get_values</span><span class="p">,</span> <span class="n">grib_set_values</span><span class="p">,</span> <span class="n">grib_release</span><span class="p">,</span>
-                     <span class="n">grib_index_release</span><span class="p">,</span> <span class="n">grib_index_get</span><span class="p">)</span>
-
-<span class="c1"># from eccodes import (codes_index_select, codes_new_from_index, codes_get,</span>
-                     <span class="c1"># codes_get_values, codes_set_values, codes_set,</span>
-                     <span class="c1"># codes_write, codes_release, codes_new_from_index,</span>
-                     <span class="c1"># codes_index_release, codes_index_get)</span>
+<span class="kn">from</span> <span class="nn">eccodes</span> <span class="k">import</span> <span class="p">(</span><span class="n">codes_index_select</span><span class="p">,</span> <span class="n">codes_new_from_index</span><span class="p">,</span> <span class="n">codes_get</span><span class="p">,</span>
+                     <span class="n">codes_get_values</span><span class="p">,</span> <span class="n">codes_set_values</span><span class="p">,</span> <span class="n">codes_set</span><span class="p">,</span>
+                     <span class="n">codes_write</span><span class="p">,</span> <span class="n">codes_release</span><span class="p">,</span> <span class="n">codes_new_from_index</span><span class="p">,</span>
+                     <span class="n">codes_index_release</span><span class="p">,</span> <span class="n">codes_index_get</span><span class="p">)</span>
 
 <span class="c1"># software specific classes and modules from flex_extract</span>
 <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../&#39;</span><span class="p">)</span>
 <span class="kn">import</span> <span class="nn">_config</span>
-<span class="kn">from</span> <span class="nn">GribTools</span> <span class="k">import</span> <span class="n">GribTools</span>
+<span class="kn">from</span> <span class="nn">GribUtil</span> <span class="k">import</span> <span class="n">GribUtil</span>
 <span class="kn">from</span> <span class="nn">mods.tools</span> <span class="k">import</span> <span class="p">(</span><span class="n">init128</span><span class="p">,</span> <span class="n">to_param_id</span><span class="p">,</span> <span class="n">silent_remove</span><span class="p">,</span> <span class="n">product</span><span class="p">,</span>
-                        <span class="n">my_error</span><span class="p">,</span> <span class="n">make_dir</span><span class="p">)</span>
+                        <span class="n">my_error</span><span class="p">,</span> <span class="n">make_dir</span><span class="p">,</span> <span class="n">get_informations</span><span class="p">,</span> <span class="n">get_dimensions</span><span class="p">,</span>
+                        <span class="n">execute_subprocess</span><span class="p">)</span>
 <span class="kn">from</span> <span class="nn">MarsRetrieval</span> <span class="k">import</span> <span class="n">MarsRetrieval</span>
 <span class="kn">import</span> <span class="nn">mods.disaggregation</span> <span class="k">as</span> <span class="nn">disaggregation</span>
 
@@ -257,8 +236,112 @@
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <div class="viewcode-block" id="EcFlexpart"><a class="viewcode-back" href="../api.html#EcFlexpart.EcFlexpart">[docs]</a><span class="k">class</span> <span class="nc">EcFlexpart</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    Class to retrieve FLEXPART specific ECMWF data.</span>
+<span class="sd">    Class to represent FLEXPART specific ECMWF data.</span>
+
+<span class="sd">    FLEXPART needs grib files in a specifc format. All necessary data fields</span>
+<span class="sd">    for one time step are stored in a single file. The class represents an</span>
+<span class="sd">    instance with all the parameter and settings necessary for retrieving</span>
+<span class="sd">    MARS data and modifing them so they are fitting FLEXPART needs. The class</span>
+<span class="sd">    is able to disaggregate the fluxes and convert grid types to the one needed</span>
+<span class="sd">    by FLEXPART, therefore using the FORTRAN program.</span>
+
+<span class="sd">    Attributes</span>
+<span class="sd">    ----------</span>
+<span class="sd">    mreq_count : int</span>
+<span class="sd">        Counter for the number of generated mars requests.</span>
+
+<span class="sd">    inputdir : str</span>
+<span class="sd">        Path to the directory where the retrieved data is stored.</span>
+
+<span class="sd">    dataset : str</span>
+<span class="sd">        For public datasets there is the specific naming and parameter</span>
+<span class="sd">        dataset which has to be used to characterize the type of</span>
+<span class="sd">        data.</span>
+
+<span class="sd">    basetime : str</span>
+<span class="sd">        The time for a half day retrieval. The 12 hours upfront are to be</span>
+<span class="sd">        retrieved.</span>
+
+<span class="sd">    dtime : str</span>
+<span class="sd">        Time step in hours.</span>
+
+<span class="sd">    acctype : str</span>
+<span class="sd">        The field type for the accumulated forecast fields.</span>
+
+<span class="sd">    acctime : str</span>
+<span class="sd">        The starting time from the accumulated forecasts.</span>
+
+<span class="sd">    accmaxstep : str</span>
+<span class="sd">        The maximum forecast step for the accumulated forecast fields.</span>
+
+<span class="sd">    marsclass : str</span>
+<span class="sd">        Characterisation of dataset.</span>
+
+<span class="sd">    stream : str</span>
+<span class="sd">        Identifies the forecasting system used to generate the data.</span>
+
+<span class="sd">    number : str</span>
+<span class="sd">        Selects the member in ensemble forecast run.</span>
+
+<span class="sd">    resol : str</span>
+<span class="sd">        Specifies the desired triangular truncation of retrieved data,</span>
+<span class="sd">        before carrying out any other selected post-processing.</span>
+
+<span class="sd">    accuracy : str</span>
+<span class="sd">        Specifies the number of bits per value to be used in the</span>
+<span class="sd">        generated GRIB coded fields.</span>
+
+<span class="sd">    addpar : str</span>
+<span class="sd">        List of additional parameters to be retrieved.</span>
+
+<span class="sd">    level : str</span>
+<span class="sd">        Specifies the maximum level.</span>
+
+<span class="sd">    expver : str</span>
+<span class="sd">        The version of the dataset.</span>
+
+<span class="sd">    levelist : str</span>
+<span class="sd">        Specifies the required levels.</span>
+
+<span class="sd">    glevelist : str</span>
+<span class="sd">        Specifies the required levels for gaussian grids.</span>
+
+<span class="sd">    gaussian : str</span>
+<span class="sd">        This parameter is deprecated and should no longer be used.</span>
+<span class="sd">        Specifies the desired type of Gaussian grid for the output.</span>
+
+<span class="sd">    grid : str</span>
+<span class="sd">        Specifies the output grid which can be either a Gaussian grid</span>
+<span class="sd">        or a Latitude/Longitude grid.</span>
+
+<span class="sd">    area : str</span>
+<span class="sd">        Specifies the desired sub-area of data to be extracted.</span>
+
+<span class="sd">    purefc : int</span>
+<span class="sd">        Switch for definition of pure forecast mode or not.</span>
+
+<span class="sd">    outputfilelist : list of str</span>
+<span class="sd">        The final list of FLEXPART ready input files.</span>
+
+<span class="sd">    types : dictionary</span>
+<span class="sd">        Determines the combination of type of fields, time and forecast step</span>
+<span class="sd">        to be retrieved.</span>
+
+<span class="sd">    params : dictionary</span>
+<span class="sd">        Collection of grid types and their corresponding parameters,</span>
+<span class="sd">        levels, level types and the grid definition.</span>
+
+<span class="sd">    server : ECMWFService or ECMWFDataServer</span>
+<span class="sd">        This is the connection to the ECMWF data servers.</span>
+
+<span class="sd">    public : int</span>
+<span class="sd">        Decides which Web API Server version is used.</span>
+
+<span class="sd">    dates : str</span>
+<span class="sd">        Contains start and end date of the retrieval in the format</span>
+<span class="sd">        &quot;YYYYMMDD/to/YYYYMMDD&quot;</span>
 <span class="sd">    &#39;&#39;&#39;</span>
+
     <span class="c1"># --------------------------------------------------------------------------</span>
     <span class="c1"># CLASS FUNCTIONS</span>
     <span class="c1"># --------------------------------------------------------------------------</span>
@@ -268,11 +351,11 @@
 
 <span class="sd">        Parameters:</span>
 <span class="sd">        -----------</span>
-<span class="sd">        c : :obj:`ControlFile`</span>
+<span class="sd">        c : ControlFile</span>
 <span class="sd">            Contains all the parameters of CONTROL file and</span>
 <span class="sd">            command line.</span>
 
-<span class="sd">        fluxes : :obj:`boolean`, optional</span>
+<span class="sd">        fluxes : boolean, optional</span>
 <span class="sd">            Decides if the flux parameter settings are stored or</span>
 <span class="sd">            the rest of the parameter list.</span>
 <span class="sd">            Default value is False.</span>
@@ -281,49 +364,85 @@
 <span class="sd">        ------</span>
 
 <span class="sd">        &#39;&#39;&#39;</span>
-        <span class="c1"># set a counter for the number of mars requests generated</span>
+        <span class="c1"># set a counter for the number of generated mars requests</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">mreq_count</span> <span class="o">=</span> <span class="mi">0</span>
 
-        <span class="c1"># different mars types for retrieving data for flexpart</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">types</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
-
-        <span class="c1"># Pure forecast mode</span>
-        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="nb">len</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">type</span><span class="p">)</span> <span class="ow">and</span> <span class="s1">&#39;AN&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">c</span><span class="o">.</span><span class="n">type</span><span class="p">:</span>
-            <span class="n">c</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="p">[</span><span class="n">c</span><span class="o">.</span><span class="n">type</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span>
-            <span class="n">c</span><span class="o">.</span><span class="n">step</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">step</span><span class="p">[</span><span class="mi">0</span><span class="p">]))]</span>
-            <span class="n">c</span><span class="o">.</span><span class="n">time</span> <span class="o">=</span> <span class="p">[</span><span class="n">c</span><span class="o">.</span><span class="n">time</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span>
-            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span>
-                <span class="n">c</span><span class="o">.</span><span class="n">type</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">type</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
-                <span class="n">c</span><span class="o">.</span><span class="n">step</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="p">))</span>
-                <span class="n">c</span><span class="o">.</span><span class="n">time</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">time</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
-
         <span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">inputdir</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dataset</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">dataset</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">basetime</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dtime</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">dtime</span>
-        <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="k">if</span> <span class="n">fluxes</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&lt;=</span> <span class="mi">24</span><span class="p">:</span>
-            <span class="c1"># no forecast beyond one day is needed!</span>
-            <span class="c1"># Thus, prepare flux data manually as usual</span>
-            <span class="c1"># with only forecast fields with start times at 00/12</span>
-            <span class="c1"># (but without 00/12 fields since these are</span>
-            <span class="c1"># the initialisation times of the flux fields</span>
-            <span class="c1"># and therefore are zero all the time)</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">acctype</span><span class="p">)]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;times&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">acctime</span><span class="p">),</span>
-                                          <span class="s1">&#39;steps&#39;</span><span class="p">:</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">/to/</span><span class="si">{}</span><span class="s1">/by/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                                              <span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">accmaxstep</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">)}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">acctype</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">acctype</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">acctime</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">acctime</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">accmaxstep</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">accmaxstep</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">marsclass</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">marsclass</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">stream</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">stream</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">number</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">number</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">resol</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">resol</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">accuracy</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">accuracy</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">addpar</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">addpar</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">level</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">level</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">expver</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">expver</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">levelist</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">glevelist</span> <span class="o">=</span> <span class="s1">&#39;1/to/&#39;</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">level</span> <span class="c1"># in case of gaussian grid</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gaussian</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">gaussian</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">grid</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">grid</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">area</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">area</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">purefc</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="c1"># Define the different types of field combinations (type, time, step)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">types</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="c1"># Define the parameters and their level types, level list and</span>
+        <span class="c1"># grid resolution for the retrieval job</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
+
+        <span class="k">if</span> <span class="n">fluxes</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_create_params_fluxes</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_create_params</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">gauss</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">eta</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">omega</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">cwc</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">fluxes</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_create_field_types_fluxes</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="k">for</span> <span class="n">ty</span><span class="p">,</span> <span class="n">st</span><span class="p">,</span> <span class="n">ti</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">type</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">step</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">time</span><span class="p">):</span>
-                <span class="n">btlist</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="mi">24</span><span class="p">)</span>
-                <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span> <span class="o">==</span> <span class="s1">&#39;12&#39;</span><span class="p">:</span>
-                    <span class="n">btlist</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]</span>
-                <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span> <span class="o">==</span> <span class="s1">&#39;00&#39;</span><span class="p">:</span>
-                    <span class="n">btlist</span> <span class="o">=</span> <span class="p">[</span><span class="mi">13</span><span class="p">,</span> <span class="mi">14</span><span class="p">,</span> <span class="mi">15</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="mi">19</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">21</span><span class="p">,</span> <span class="mi">22</span><span class="p">,</span> <span class="mi">23</span><span class="p">,</span> <span class="mi">0</span><span class="p">]</span>
-
-                <span class="k">if</span> <span class="p">((</span><span class="n">ty</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;AN&#39;</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">time</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">%</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="ow">or</span>
-                    <span class="p">(</span><span class="n">ty</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">!=</span> <span class="s1">&#39;AN&#39;</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">step</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">%</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span>
-                     <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">step</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">%</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">))</span> <span class="p">)</span> <span class="ow">and</span> \
-                    <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">time</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="ow">in</span> <span class="n">btlist</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="mi">24</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_create_field_types</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">type</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">time</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">step</span><span class="p">)</span>
+        <span class="k">return</span>
+
+    <span class="k">def</span> <span class="nf">_create_field_types</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ftype</span><span class="p">,</span> <span class="n">ftime</span><span class="p">,</span> <span class="n">fstep</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Create the combination of field type, time and forecast step.</span>
+
+<span class="sd">        Parameters:</span>
+<span class="sd">        -----------</span>
+<span class="sd">        ftype : list of str</span>
+<span class="sd">            List of field types.</span>
+
+<span class="sd">        ftime : list of str</span>
+<span class="sd">            The time in hours of the field.</span>
+
+<span class="sd">        fstep : str</span>
+<span class="sd">            Specifies the forecast time step from forecast base time.</span>
+<span class="sd">            Valid values are hours (HH) from forecast base time.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="k">for</span> <span class="n">ty</span><span class="p">,</span> <span class="n">st</span><span class="p">,</span> <span class="n">ti</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">ftype</span><span class="p">,</span> <span class="n">fstep</span><span class="p">,</span> <span class="n">ftime</span><span class="p">):</span>
+            <span class="n">btlist</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="mi">24</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">basetime</span> <span class="o">==</span> <span class="s1">&#39;12&#39;</span><span class="p">:</span>
+                <span class="n">btlist</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">basetime</span> <span class="o">==</span> <span class="s1">&#39;00&#39;</span><span class="p">:</span>
+                <span class="n">btlist</span> <span class="o">=</span> <span class="p">[</span><span class="mi">13</span><span class="p">,</span> <span class="mi">14</span><span class="p">,</span> <span class="mi">15</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span> <span class="mi">17</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="mi">19</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">21</span><span class="p">,</span> <span class="mi">22</span><span class="p">,</span> <span class="mi">23</span><span class="p">,</span> <span class="mi">0</span><span class="p">]</span>
+
+            <span class="c1"># if ((ty.upper() == &#39;AN&#39; and (int(c.time[i]) % int(c.dtime)) == 0) or</span>
+                <span class="c1"># (ty.upper() != &#39;AN&#39; and (int(c.step[i]) % int(c.dtime)) == 0 and</span>
+                 <span class="c1"># (int(c.step[i]) % int(c.dtime) == 0)) ) and \</span>
+                 <span class="c1"># (int(c.time[i]) in btlist or c.purefc):</span>
+
+            <span class="k">if</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span> <span class="ow">in</span> <span class="n">btlist</span><span class="p">)</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
+
+                <span class="k">if</span> <span class="p">((</span><span class="n">ty</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;AN&#39;</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span> <span class="o">%</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="ow">or</span>
+                    <span class="p">(</span><span class="n">ty</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">!=</span> <span class="s1">&#39;AN&#39;</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">st</span><span class="p">)</span> <span class="o">%</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)):</span>
 
                     <span class="k">if</span> <span class="n">ty</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
                         <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="p">[</span><span class="n">ty</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;times&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="s1">&#39;steps&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">}</span>
@@ -337,118 +456,153 @@
                         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="p">[</span><span class="n">ty</span><span class="p">][</span><span class="s1">&#39;steps&#39;</span><span class="p">]:</span>
                             <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="p">[</span><span class="n">ty</span><span class="p">][</span><span class="s1">&#39;steps&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/&#39;</span>
                         <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="p">[</span><span class="n">ty</span><span class="p">][</span><span class="s1">&#39;steps&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="n">st</span>
-                <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
+        <span class="k">return</span>
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">marsclass</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">marsclass</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">stream</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">stream</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">number</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">number</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">resol</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">resol</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">accuracy</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">accuracy</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">level</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">level</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">expver</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">expver</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">levelist</span>
-        <span class="c1"># for gaussian grid retrieval</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">glevelist</span> <span class="o">=</span> <span class="s1">&#39;1/to/&#39;</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">level</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">gaussian</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">gaussian</span>
+    <span class="k">def</span> <span class="nf">_create_field_types_fluxes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Create the combination of field type, time and forecast step</span>
+<span class="sd">        for the flux data.</span>
 
-        <span class="k">if</span> <span class="s1">&#39;N&#39;</span> <span class="ow">in</span> <span class="n">c</span><span class="o">.</span><span class="n">grid</span><span class="p">:</span>  <span class="c1"># Gaussian output grid</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">grid</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">grid</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">area</span> <span class="o">=</span> <span class="s1">&#39;G&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">grid</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">grid</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1000.</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">grid</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1000.</span><span class="p">)</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">area</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">/</span><span class="si">{}</span><span class="s1">/</span><span class="si">{}</span><span class="s1">/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">upper</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1000.</span><span class="p">,</span>
-                                             <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">left</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1000.</span><span class="p">,</span>
-                                             <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">lower</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1000.</span><span class="p">,</span>
-                                             <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">right</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1000.</span><span class="p">)</span>
+<span class="sd">        Parameters:</span>
+<span class="sd">        -----------</span>
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span> <span class="o">=</span> <span class="p">[]</span>
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
 
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">acctype</span><span class="p">)]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;times&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">acctime</span><span class="p">),</span>
+                                         <span class="s1">&#39;steps&#39;</span><span class="p">:</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">/to/</span><span class="si">{}</span><span class="s1">/by/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                                             <span class="bp">self</span><span class="o">.</span><span class="n">dtime</span><span class="p">,</span>
+                                             <span class="bp">self</span><span class="o">.</span><span class="n">accmaxstep</span><span class="p">,</span>
+                                             <span class="bp">self</span><span class="o">.</span><span class="n">dtime</span><span class="p">)}</span>
+        <span class="k">return</span>
 
-        <span class="c1"># Now comes the nasty part that deals with the different</span>
-        <span class="c1"># scenarios we have:</span>
-        <span class="c1"># 1) Calculation of etadot on</span>
-        <span class="c1">#    a) Gaussian grid</span>
-        <span class="c1">#    b) Output grid</span>
-        <span class="c1">#    c) Output grid using parameter 77 retrieved from MARS</span>
-        <span class="c1"># 3) Calculation/Retrieval of omega</span>
-        <span class="c1"># 4) Download also data for WRF</span>
-
-        <span class="c1"># Different grids need different retrievals</span>
-        <span class="c1"># SH = Spherical Harmonics, GG = Gaussian Grid,</span>
-        <span class="c1"># OG = Output Grid, ML = MultiLevel, SL = SingleLevel</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">params</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;SH__ML&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="s1">&#39;SH__SL&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;GG__ML&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="s1">&#39;GG__SL&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;OG__ML&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="s1">&#39;OG__SL&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;OG_OROLSM_SL&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="s1">&#39;OG_acc_SL&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">}</span>
-        <span class="c1"># the self.params dictionary stores a list of</span>
-        <span class="c1"># [param, levtype, levelist, grid] per key</span>
-
-        <span class="k">if</span> <span class="n">fluxes</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;SH__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;LNSP&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="s1">&#39;OFF&#39;</span><span class="p">]</span>
-            <span class="c1">#                        &quot;SD/MSL/TCC/10U/10V/2T/2D/129/172&quot;</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;141/151/164/165/166/167/168/129/172&quot;</span><span class="p">,</span> \
-                                     <span class="s1">&#39;SFC&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
-            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">addpar</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">addpar</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;/&#39;</span><span class="p">:</span>
-                    <span class="n">c</span><span class="o">.</span><span class="n">addpar</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">addpar</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">addpar</span><span class="p">)</span>
-
-            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">marsclass</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;EA&#39;</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">marsclass</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;EP&#39;</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG_OROLSM__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;160/27/28/244&quot;</span><span class="p">,</span>
-                                                <span class="s1">&#39;SFC&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG_OROLSM__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;160/27/28/173&quot;</span><span class="p">,</span> \
-                                                <span class="s1">&#39;SFC&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
-
-            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;T/Q&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
-
-            <span class="c1">#if c.gauss == &#39;0&#39; and c.eta == &#39;1&#39;:</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">gauss</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">eta</span><span class="p">:</span>
-                <span class="c1"># the simplest case</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/U/V/77&#39;</span>
-            <span class="c1">#elif c.gauss == &#39;0&#39; and c.eta == &#39;0&#39;:</span>
-            <span class="k">elif</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">gauss</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">eta</span><span class="p">:</span>
-            <span class="c1"># this is not recommended (inaccurate)</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/U/V&#39;</span>
-            <span class="c1">#elif c.gauss == &#39;1&#39; and c.eta == &#39;0&#39;:</span>
-            <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">gauss</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">eta</span><span class="p">:</span>
-                <span class="c1"># this is needed for data before 2008, or for reanalysis data</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;GG__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Q&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> \
-                                         <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">resol</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)]</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;SH__ML&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;U/V/D&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">glevelist</span><span class="p">,</span> <span class="s1">&#39;OFF&#39;</span><span class="p">]</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Warning: This is a very costly parameter combination, </span><span class="se">\</span>
-<span class="s1">                      use only for debugging!&#39;</span><span class="p">)</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;GG__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Q&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> \
-                                         <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">resol</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)]</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;GG__ML&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;U/V/D/77&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">glevelist</span><span class="p">,</span> \
-                                         <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">resol</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)]</span>
+    <span class="k">def</span> <span class="nf">_create_params</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">gauss</span><span class="p">,</span> <span class="n">eta</span><span class="p">,</span> <span class="n">omega</span><span class="p">,</span> <span class="n">cwc</span><span class="p">,</span> <span class="n">wrf</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Define the specific parameter settings for retrievment.</span>
+
+<span class="sd">        The different parameters need specific grid types and level types</span>
+<span class="sd">        for retrievement. We might get following combination of types</span>
+<span class="sd">        (depending on selection and availability):</span>
+<span class="sd">        (These are short cuts for the grib file names (leading sequence)</span>
+<span class="sd">        SH__ML, OG__ML, GG__ML, SH__SL, OG__SL, GG__SL, OG_OROLSM_SL</span>
+<span class="sd">        where:</span>
+<span class="sd">            SH = Spherical Harmonics, GG = Gaussian Grid, OG = Output Grid,</span>
+<span class="sd">            ML = Model Level, SL = Surface Level</span>
+
+<span class="sd">        For each of this combination there is a list of parameter names,</span>
+<span class="sd">        the level type, the level list and the grid resolution.</span>
+
+<span class="sd">        There are different scenarios for data extraction from MARS:</span>
+<span class="sd">        1) Retrieval of etadot</span>
+<span class="sd">           eta=1, gauss=0, omega=0</span>
+<span class="sd">        2) Calculation of etadot from divergence</span>
+<span class="sd">           eta=0, gauss=1, omega=0</span>
+<span class="sd">        3) Calculation of etadot from omega (for makes sense for debugging)</span>
+<span class="sd">           eta=0, gauss=0, omega=1</span>
+<span class="sd">        4) Retrieval and Calculation of etadot (only for debugging)</span>
+<span class="sd">           eta=1, gauss=1, omega=0</span>
+<span class="sd">        5) Download also specific model and surface level data for FLEXPART-WRF</span>
 
-            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">omega</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/W&#39;</span>
+<span class="sd">        Parameters:</span>
+<span class="sd">        -----------</span>
+<span class="sd">        gauss : int</span>
+<span class="sd">            Gaussian grid is retrieved.</span>
 
-            <span class="c1"># add cloud water content if necessary</span>
-            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">cwc</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/CLWC/CIWC&#39;</span>
+<span class="sd">        eta : int</span>
+<span class="sd">            Etadot parameter will be directly retrieved.</span>
 
-            <span class="c1"># add vorticity and geopotential height for WRF if necessary</span>
-            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/Z/VO&#39;</span>
-                <span class="k">if</span> <span class="s1">&#39;/D&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/D&#39;</span>
-                <span class="c1">#wrf_sfc = &#39;sp/msl/skt/2t/10u/10v/2d/z/lsm/sst/ci/sd/stl1/ /</span>
-                <span class="c1">#           stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4&#39;.upper()</span>
-                <span class="n">wrf_sfc</span> <span class="o">=</span> <span class="s1">&#39;134/235/167/165/166/168/129/172/34/31/141/ </span><span class="se">\</span>
-<span class="s1">                           139/170/183/236/39/40/41/42&#39;</span>
-                <span class="n">lwrt_sfc</span> <span class="o">=</span> <span class="n">wrf_sfc</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
-                <span class="k">for</span> <span class="n">par</span> <span class="ow">in</span> <span class="n">lwrt_sfc</span><span class="p">:</span>
-                    <span class="k">if</span> <span class="n">par</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">par</span>
+<span class="sd">        omega : int</span>
+<span class="sd">            The omega paramterwill be retrieved.</span>
+
+<span class="sd">        cwc : int</span>
+<span class="sd">            The cloud liquid and ice water content will be retrieved.</span>
+
+<span class="sd">        wrf : int</span>
+<span class="sd">            Additional model level and surface level data will be retrieved for</span>
+<span class="sd">            WRF/FLEXPART-WRF simulations.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
 
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="c1"># SURFACE FIELDS</span>
+        <span class="c1">#-----------------------------------------------------------------------</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;SH__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;LNSP&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="s1">&#39;OFF&#39;</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;SD/MSL/TCC/10U/10V/2T/2D/Z/LSM&#39;</span><span class="p">,</span> \
+                                 <span class="s1">&#39;SFC&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">addpar</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">addpar</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">marsclass</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;EA&#39;</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">marsclass</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;EP&#39;</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG_OROLSM__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SDOR/CVL/CVH/FSR&quot;</span><span class="p">,</span>
+                                            <span class="s1">&#39;SFC&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG_OROLSM__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;SDOR/CVL/CVH/SR&quot;</span><span class="p">,</span> \
+                                            <span class="s1">&#39;SFC&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
+
+        <span class="c1"># MODEL LEVEL FIELDS</span>
+        <span class="c1">#-----------------------------------------------------------------------</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;T/Q&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">gauss</span> <span class="ow">and</span> <span class="n">eta</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/U/V/ETADOT&#39;</span>
+        <span class="k">elif</span> <span class="n">gauss</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">eta</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;GG__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Q&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> \
+                                     <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">resol</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)]</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;SH__ML&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;U/V/D&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">glevelist</span><span class="p">,</span> <span class="s1">&#39;OFF&#39;</span><span class="p">]</span>
+        <span class="k">elif</span> <span class="ow">not</span> <span class="n">gauss</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">eta</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/U/V&#39;</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG_acc_SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LSP/CP/SSHF/EWSS/NSSS/SSR&quot;</span><span class="p">,</span> \
-                                        <span class="s1">&#39;SFC&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Warning: Collecting etadot and parameters for gaussian grid </span><span class="se">\</span>
+<span class="s1">                            is a very costly parameter combination, </span><span class="se">\</span>
+<span class="s1">                            use this combination only for debugging!&#39;</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;GG__SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Q&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> \
+                                     <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">resol</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)]</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;GG__ML&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;U/V/D/77&#39;</span><span class="p">,</span> <span class="s1">&#39;ML&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">glevelist</span><span class="p">,</span> \
+                                     <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">resol</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)]</span>
+
+        <span class="k">if</span> <span class="n">omega</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/W&#39;</span>
+
+        <span class="k">if</span> <span class="n">cwc</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/CLWC/CIWC&#39;</span>
+
+        <span class="c1"># ADDITIONAL FIELDS FOR FLEXPART-WRF MODEL (IF QUESTIONED)</span>
+        <span class="c1">#-----------------------------------------------------------------------</span>
+        <span class="k">if</span> <span class="n">wrf</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/Z/VO&#39;</span>
+            <span class="k">if</span> <span class="s1">&#39;/D&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/D&#39;</span>
+            <span class="n">wrf_sfc</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;SP&#39;</span><span class="p">,</span><span class="s1">&#39;SKT&#39;</span><span class="p">,</span><span class="s1">&#39;SST&#39;</span><span class="p">,</span><span class="s1">&#39;CI&#39;</span><span class="p">,</span><span class="s1">&#39;STL1&#39;</span><span class="p">,</span><span class="s1">&#39;STL2&#39;</span><span class="p">,</span> <span class="s1">&#39;STL3&#39;</span><span class="p">,</span><span class="s1">&#39;STL4&#39;</span><span class="p">,</span>
+                       <span class="s1">&#39;SWVL1&#39;</span><span class="p">,</span><span class="s1">&#39;SWVL2&#39;</span><span class="p">,</span><span class="s1">&#39;SWVL3&#39;</span><span class="p">,</span><span class="s1">&#39;SWVL4&#39;</span><span class="p">]</span>
+            <span class="k">for</span> <span class="n">par</span> <span class="ow">in</span> <span class="n">wrf_sfc</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">par</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">par</span>
+
+        <span class="k">return</span>
+
+
+    <span class="k">def</span> <span class="nf">_create_params_fluxes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Define the parameter setting for flux data.</span>
 
+<span class="sd">        Flux data are accumulated fields in time and are stored on the</span>
+<span class="sd">        surface level. The leading short cut name for the grib files is:</span>
+<span class="sd">        &quot;OG_acc_SL&quot; with OG for Regular Output Grid, SL for Surface Level, and</span>
+<span class="sd">        acc for Accumulated Grid.</span>
+<span class="sd">        The params dictionary stores a list of parameter names, the level type,</span>
+<span class="sd">        the level list and the grid resolution.</span>
+
+<span class="sd">        The flux data are: LSP/CP/SSHF/EWSS/NSSS/SSR</span>
+
+<span class="sd">        Parameters:</span>
+<span class="sd">        -----------</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG_acc_SL&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;LSP/CP/SSHF/EWSS/NSSS/SSR&quot;</span><span class="p">,</span> \
+                                    <span class="s1">&#39;SFC&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="p">]</span>
         <span class="k">return</span>
 
 
@@ -458,19 +612,19 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        ftype : :obj:`string`</span>
+<span class="sd">        ftype : str</span>
 <span class="sd">            Shortcut name of the type of the field. E.g. AN, FC, PF, ...</span>
 
-<span class="sd">        param : :obj:`string`</span>
+<span class="sd">        param : str</span>
 <span class="sd">            Shortcut of the grid type. E.g. SH__ML, SH__SL, GG__ML,</span>
 <span class="sd">            GG__SL, OG__ML, OG__SL, OG_OROLSM_SL, OG_acc_SL</span>
 
-<span class="sd">        date : :obj:`string`</span>
+<span class="sd">        date : str</span>
 <span class="sd">            The date period of the grib data to be stored in this file.</span>
 
 <span class="sd">        Return</span>
 <span class="sd">        ------</span>
-<span class="sd">        targetname : :obj:`string`</span>
+<span class="sd">        targetname : str</span>
 <span class="sd">            The target filename for the grib data.</span>
 <span class="sd">        &#39;&#39;&#39;</span>
         <span class="n">targetname</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">ftype</span> <span class="o">+</span> <span class="n">param</span> <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="n">date</span> <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span>
@@ -485,13 +639,13 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        request : :obj:`integer`</span>
+<span class="sd">        request : int</span>
 <span class="sd">            Selects the mode of retrieval.</span>
 <span class="sd">            0: Retrieves the data from ECMWF.</span>
 <span class="sd">            1: Prints the mars requests to an output file.</span>
 <span class="sd">            2: Retrieves the data and prints the mars request.</span>
 
-<span class="sd">        par_dict : :obj:`dictionary`</span>
+<span class="sd">        par_dict : dictionary</span>
 <span class="sd">            Contains all parameter which have to be set for creating the</span>
 <span class="sd">            Mars Retrievals. The parameter are:</span>
 <span class="sd">            marsclass, dataset, stream, type, levtype, levelist, resol,</span>
@@ -547,19 +701,19 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        keys : :obj:`dictionary`</span>
+<span class="sd">        keys : dictionary</span>
 <span class="sd">            List of parameter names which serves as index.</span>
 
-<span class="sd">        inputfiles : :obj:`UioFiles`</span>
+<span class="sd">        inputfiles : UioFiles</span>
 <span class="sd">            Contains a list of files.</span>
 
 <span class="sd">        Return</span>
 <span class="sd">        ------</span>
-<span class="sd">        iid : :obj:`grib_index`</span>
+<span class="sd">        iid : codes_index</span>
 <span class="sd">            This is a grib specific index structure to access</span>
 <span class="sd">            messages in a file.</span>
 
-<span class="sd">        index_vals : :obj:`list`</span>
+<span class="sd">        index_vals : list of list  of str</span>
 <span class="sd">            Contains the values from the keys used for a distinct selection</span>
 <span class="sd">            of grib messages in processing  the grib files.</span>
 <span class="sd">            Content looks like e.g.:</span>
@@ -572,23 +726,19 @@
 
         <span class="n">indexfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">_config</span><span class="o">.</span><span class="n">FILE_GRIB_INDEX</span><span class="p">)</span>
         <span class="n">silent_remove</span><span class="p">(</span><span class="n">indexfile</span><span class="p">)</span>
-        <span class="n">grib</span> <span class="o">=</span> <span class="n">GribTools</span><span class="p">(</span><span class="n">inputfiles</span><span class="o">.</span><span class="n">files</span><span class="p">)</span>
+        <span class="n">grib</span> <span class="o">=</span> <span class="n">GribUtil</span><span class="p">(</span><span class="n">inputfiles</span><span class="o">.</span><span class="n">files</span><span class="p">)</span>
         <span class="c1"># creates new index file</span>
         <span class="n">iid</span> <span class="o">=</span> <span class="n">grib</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">index_keys</span><span class="o">=</span><span class="n">index_keys</span><span class="p">,</span> <span class="n">index_file</span><span class="o">=</span><span class="n">indexfile</span><span class="p">)</span>
 
         <span class="c1"># read the values of index keys</span>
         <span class="n">index_vals</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">index_keys</span><span class="p">:</span>
-            <span class="c1">#index_vals.append(grib_index_get(iid, key))</span>
-            <span class="c1">#print(index_vals[-1])</span>
-            <span class="n">key_vals</span> <span class="o">=</span> <span class="n">grib_index_get</span><span class="p">(</span><span class="n">iid</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="n">key_vals</span><span class="p">)</span>
-            <span class="c1"># have to sort the steps for disaggregation,</span>
+            <span class="n">key_vals</span> <span class="o">=</span> <span class="n">codes_index_get</span><span class="p">(</span><span class="n">iid</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span>
+            <span class="c1"># have to sort the key values for correct disaggregation,</span>
             <span class="c1"># therefore convert to int first</span>
-            <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="s1">&#39;step&#39;</span><span class="p">:</span>
-                <span class="n">key_vals</span> <span class="o">=</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">k</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">key_vals</span><span class="p">]</span>
-                <span class="n">key_vals</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
-                <span class="n">key_vals</span> <span class="o">=</span> <span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">k</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">key_vals</span><span class="p">]</span>
+            <span class="n">key_vals</span> <span class="o">=</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">k</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">key_vals</span><span class="p">]</span>
+            <span class="n">key_vals</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
+            <span class="n">key_vals</span> <span class="o">=</span> <span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">k</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">key_vals</span><span class="p">]</span>
             <span class="n">index_vals</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">key_vals</span><span class="p">)</span>
             <span class="c1"># index_vals looks for example like:</span>
             <span class="c1"># index_vals[0]: (&#39;20171106&#39;, &#39;20171107&#39;, &#39;20171108&#39;) ; date</span>
@@ -605,7 +755,7 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        server : :obj:`ECMWFService` or :obj:`ECMWFDataServer`</span>
+<span class="sd">        server : ECMWFService or ECMWFDataServer</span>
 <span class="sd">            The connection to the ECMWF server. This is different</span>
 <span class="sd">            for member state users which have full access and non</span>
 <span class="sd">            member state users which have only access to the public</span>
@@ -613,17 +763,17 @@
 <span class="sd">            &quot;public&quot;; for public access its True (ECMWFDataServer)</span>
 <span class="sd">            for member state users its False (ECMWFService)</span>
 
-<span class="sd">        dates : :obj:`string`</span>
+<span class="sd">        dates : str</span>
 <span class="sd">            Contains start and end date of the retrieval in the format</span>
 <span class="sd">            &quot;YYYYMMDD/to/YYYYMMDD&quot;</span>
 
-<span class="sd">        request : :obj:`integer`</span>
+<span class="sd">        request : int</span>
 <span class="sd">            Selects the mode of retrieval.</span>
 <span class="sd">            0: Retrieves the data from ECMWF.</span>
 <span class="sd">            1: Prints the mars requests to an output file.</span>
 <span class="sd">            2: Retrieves the data and prints the mars request.</span>
 
-<span class="sd">        inputdir : :obj:`string`, optional</span>
+<span class="sd">        inputdir : str, optional</span>
 <span class="sd">            Path to the directory where the retrieved data is about</span>
 <span class="sd">            to be stored. The default is the current directory (&#39;.&#39;).</span>
 
@@ -692,8 +842,6 @@
                 <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;area&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">area</span>
                 <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;gaussian&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">gaussian</span>
 
-                <span class="k">if</span> <span class="n">pk</span> <span class="o">==</span> <span class="s1">&#39;OG__SL&#39;</span><span class="p">:</span>
-                    <span class="k">pass</span>
                 <span class="k">if</span> <span class="n">pk</span> <span class="o">==</span> <span class="s1">&#39;OG_OROLSM__SL&#39;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">oro</span><span class="p">:</span>
                     <span class="n">oro</span> <span class="o">=</span> <span class="kc">True</span>
                     <span class="c1"># in CERA20C (class EP) there is no stream &quot;OPER&quot;!</span>
@@ -813,11 +961,11 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        c : :obj:`ControlFile`</span>
+<span class="sd">        c : ControlFile</span>
 <span class="sd">            Contains all the parameters of CONTROL file and</span>
 <span class="sd">            command line.</span>
 
-<span class="sd">        filename : :obj:`string`</span>
+<span class="sd">        filename : str</span>
 <span class="sd">                Name of the namelist file.</span>
 
 <span class="sd">        Return</span>
@@ -827,50 +975,72 @@
 
         <span class="kn">from</span> <span class="nn">genshi.template.text</span> <span class="k">import</span> <span class="n">NewTextTemplate</span>
         <span class="kn">from</span> <span class="nn">genshi.template</span> <span class="k">import</span>  <span class="n">TemplateLoader</span>
-
-        <span class="n">loader</span> <span class="o">=</span> <span class="n">TemplateLoader</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">auto_reload</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-        <span class="n">namelist_template</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_NAMELIST</span><span class="p">,</span>
-                                       <span class="bp">cls</span><span class="o">=</span><span class="n">NewTextTemplate</span><span class="p">)</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">inputdir</span>
-        <span class="n">area</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">area</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">float</span><span class="p">)</span>
-        <span class="n">grid</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">float</span><span class="p">)</span>
-
-        <span class="k">if</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">&gt;</span> <span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]:</span>
-            <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mi">360</span>
-        <span class="n">maxl</span> <span class="o">=</span> <span class="nb">int</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span>
-        <span class="n">maxb</span> <span class="o">=</span> <span class="nb">int</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span>
-
-        <span class="n">stream</span> <span class="o">=</span> <span class="n">namelist_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span>
-            <span class="n">maxl</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">maxl</span><span class="p">),</span>
-            <span class="n">maxb</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">maxb</span><span class="p">),</span>
-            <span class="n">mlevel</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">),</span>
-            <span class="n">mlevelist</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">levelist</span><span class="p">),</span>
-            <span class="n">mnauf</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">resol</span><span class="p">),</span>
-            <span class="n">metapar</span> <span class="o">=</span> <span class="s1">&#39;77&#39;</span><span class="p">,</span>
-            <span class="n">rlo0</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]),</span>
-            <span class="n">rlo1</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span>
-            <span class="n">rla0</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">area</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span>
-            <span class="n">rla1</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">area</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span>
-            <span class="n">momega</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">omega</span><span class="p">),</span>
-            <span class="n">momegadiff</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">omegadiff</span><span class="p">),</span>
-            <span class="n">mgauss</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">gauss</span><span class="p">),</span>
-            <span class="n">msmooth</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">smooth</span><span class="p">),</span>
-            <span class="n">meta</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">eta</span><span class="p">),</span>
-            <span class="n">metadiff</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">etadiff</span><span class="p">),</span>
-            <span class="n">mdpdeta</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dpdeta</span><span class="p">)</span>
-        <span class="p">)</span>
-
-        <span class="n">namelistfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">_config</span><span class="o">.</span><span class="n">FILE_NAMELIST</span><span class="p">)</span>
-
-        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">namelistfile</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-            <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">))</span>
+        <span class="kn">from</span> <span class="nn">genshi.template.eval</span> <span class="k">import</span>  <span class="n">UndefinedError</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">loader</span> <span class="o">=</span> <span class="n">TemplateLoader</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">auto_reload</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+            <span class="n">namelist_template</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_NAMELIST</span><span class="p">,</span>
+                                            <span class="bp">cls</span><span class="o">=</span><span class="n">NewTextTemplate</span><span class="p">)</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">inputdir</span>
+            <span class="n">area</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">area</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">float</span><span class="p">)</span>
+            <span class="n">grid</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">float</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">&gt;</span> <span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]:</span>
+                <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mi">360</span>
+            <span class="n">maxl</span> <span class="o">=</span> <span class="nb">int</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span>
+            <span class="n">maxb</span> <span class="o">=</span> <span class="nb">int</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span>
+
+            <span class="n">stream</span> <span class="o">=</span> <span class="n">namelist_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span>
+                <span class="n">maxl</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">maxl</span><span class="p">),</span>
+                <span class="n">maxb</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">maxb</span><span class="p">),</span>
+                <span class="n">mlevel</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">),</span>
+                <span class="n">mlevelist</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">levelist</span><span class="p">),</span>
+                <span class="n">mnauf</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">resol</span><span class="p">),</span>
+                <span class="n">metapar</span> <span class="o">=</span> <span class="s1">&#39;77&#39;</span><span class="p">,</span>
+                <span class="n">rlo0</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]),</span>
+                <span class="n">rlo1</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span>
+                <span class="n">rla0</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">area</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span>
+                <span class="n">rla1</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">area</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span>
+                <span class="n">momega</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">omega</span><span class="p">),</span>
+                <span class="n">momegadiff</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">omegadiff</span><span class="p">),</span>
+                <span class="n">mgauss</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">gauss</span><span class="p">),</span>
+                <span class="n">msmooth</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">smooth</span><span class="p">),</span>
+                <span class="n">meta</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">eta</span><span class="p">),</span>
+                <span class="n">metadiff</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">etadiff</span><span class="p">),</span>
+                <span class="n">mdpdeta</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dpdeta</span><span class="p">)</span>
+            <span class="p">)</span>
+        <span class="k">except</span> <span class="n">UndefinedError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+
+            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate namelist &#39;</span> <span class="o">+</span>
+                     <span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_NAMELIST</span><span class="p">)</span>
+        <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate template &#39;</span> <span class="o">+</span>
+                     <span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_NAMELIST</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">namelistfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">_config</span><span class="o">.</span><span class="n">FILE_NAMELIST</span><span class="p">)</span>
+
+            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">namelistfile</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+                <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">))</span>
+        <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to write &#39;</span> <span class="o">+</span>
+                     <span class="n">namelistfile</span><span class="p">)</span>
 
         <span class="k">return</span></div>
 
 
 <div class="viewcode-block" id="EcFlexpart.deacc_fluxes"><a class="viewcode-back" href="../api.html#EcFlexpart.EcFlexpart.deacc_fluxes">[docs]</a>    <span class="k">def</span> <span class="nf">deacc_fluxes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">inputfiles</span><span class="p">,</span> <span class="n">c</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;Goes through all flux fields in ordered time and de-accumulate</span>
+        <span class="sd">&#39;&#39;&#39;De-accumulate and disaggregate flux data.</span>
+
+<span class="sd">        Goes through all flux fields in ordered time and de-accumulate</span>
 <span class="sd">        the fields. Afterwards the fields are disaggregated in time.</span>
 <span class="sd">        Different versions of disaggregation is provided for rainfall</span>
 <span class="sd">        data (darain, modified linear) and the surface fluxes and</span>
@@ -878,10 +1048,10 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        inputfiles : :obj:`UioFiles`</span>
-<span class="sd">            Contains a list of files.</span>
+<span class="sd">        inputfiles : UioFiles</span>
+<span class="sd">            Contains the list of files that contain flux data.</span>
 
-<span class="sd">        c : :obj:`ControlFile`</span>
+<span class="sd">        c : ControlFile</span>
 <span class="sd">            Contains all the parameters of CONTROL file and</span>
 <span class="sd">            command line.</span>
 
@@ -904,18 +1074,38 @@
                                                 <span class="n">index_keys</span><span class="p">)</span>
         <span class="c1"># index_vals looks like e.g.:</span>
         <span class="c1"># index_vals[0]: (&#39;20171106&#39;, &#39;20171107&#39;, &#39;20171108&#39;) ; date</span>
-        <span class="c1"># index_vals[1]: (&#39;0&#39;, &#39;1200&#39;, &#39;1800&#39;, &#39;600&#39;) ; time</span>
-        <span class="c1"># index_vals[2]: (&#39;0&#39;, &#39;12&#39;, &#39;3&#39;, &#39;6&#39;, &#39;9&#39;) ; stepRange</span>
+        <span class="c1"># index_vals[1]: (&#39;0&#39;, &#39;600&#39;, &#39;1200&#39;, &#39;1800&#39;) ; time</span>
+        <span class="c1"># index_vals[2]: (&#39;0&#39;, &#39;3&#39;, &#39;6&#39;, &#39;9&#39;, &#39;12&#39;) ; stepRange</span>
 
-        <span class="n">valsdict</span> <span class="o">=</span> <span class="p">{}</span>
-        <span class="n">svalsdict</span> <span class="o">=</span> <span class="p">{}</span>
-<span class="c1">#        stepsdict = {}</span>
+        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">rrint</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
+                <span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">start_date</span> <span class="o">+</span> <span class="s1">&#39;00&#39;</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span>
+                <span class="n">end_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span> <span class="s1">&#39;23&#39;</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">sdate_str</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">start_date</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="si">{:0&gt;2}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">index_vals</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
+                <span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">sdate_str</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span>
+                <span class="n">edate_str</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="si">{:0&gt;2}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">index_vals</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
+                <span class="n">end_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">edate_str</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span>
+                <span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="n">c</span><span class="o">.</span><span class="n">maxstep</span><span class="p">)</span>
+
+            <span class="n">info</span> <span class="o">=</span> <span class="n">get_informations</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span>
+                                                 <span class="n">inputfiles</span><span class="o">.</span><span class="n">files</span><span class="p">[</span><span class="mi">0</span><span class="p">]))</span>
+            <span class="n">dims</span> <span class="o">=</span> <span class="n">get_dimensions</span><span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">,</span> <span class="n">index_vals</span><span class="p">,</span>
+                                  <span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">)</span>
+            <span class="c1"># create numpy array</span>
+            <span class="n">lsp_np</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="n">dims</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">dims</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">dims</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span>
+            <span class="n">cp_np</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="n">dims</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">dims</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">dims</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span>
+            <span class="n">it_lsp</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="n">it_cp</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="n">date_list</span> <span class="o">=</span> <span class="p">[]</span>
+            <span class="n">step_list</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="c1"># initialize dictionaries to store values</span>
+        <span class="n">orig_vals</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="n">deac_vals</span> <span class="o">=</span> <span class="p">{}</span>
         <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">pars</span><span class="p">:</span>
-            <span class="n">valsdict</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">p</span><span class="p">)]</span> <span class="o">=</span> <span class="p">[]</span>
-            <span class="n">svalsdict</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">p</span><span class="p">)]</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="c1">#            stepsdict[str(p)] = []</span>
-
-        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;maxstep: &#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span><span class="p">)</span>
+            <span class="n">orig_vals</span><span class="p">[</span><span class="n">p</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
+            <span class="n">deac_vals</span><span class="p">[</span><span class="n">p</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
 
         <span class="c1"># &quot;product&quot; genereates each possible combination between the</span>
         <span class="c1"># values of the index keys</span>
@@ -923,13 +1113,13 @@
             <span class="c1"># e.g. prod = (&#39;20170505&#39;, &#39;0&#39;, &#39;12&#39;)</span>
             <span class="c1">#             (  date    ,time, step)</span>
 
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;current product: &#39;</span><span class="p">,</span> <span class="n">prod</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;CURRENT PRODUCT: &#39;</span><span class="p">,</span> <span class="n">prod</span><span class="p">)</span>
 
             <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">index_keys</span><span class="p">)):</span>
-                <span class="n">grib_index_select</span><span class="p">(</span><span class="n">iid</span><span class="p">,</span> <span class="n">index_keys</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">prod</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
+                <span class="n">codes_index_select</span><span class="p">(</span><span class="n">iid</span><span class="p">,</span> <span class="n">index_keys</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">prod</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
 
             <span class="c1"># get first id from current product</span>
-            <span class="n">gid</span> <span class="o">=</span> <span class="n">grib_new_from_index</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
+            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_new_from_index</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
 
             <span class="c1"># if there is no data for this specific time combination / product</span>
             <span class="c1"># skip the rest of the for loop and start with next timestep/product</span>
@@ -937,16 +1127,19 @@
                 <span class="k">continue</span>
 
             <span class="c1"># create correct timestamp from the three time informations</span>
-            <span class="n">cdate</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">))</span>
-            <span class="n">ctime</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{:0&gt;2}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">)</span><span class="o">/</span><span class="mi">100</span><span class="p">)</span>
-            <span class="n">cstep</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">))</span>
+            <span class="n">cdate</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">))</span>
+            <span class="n">time</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">)</span><span class="o">/</span><span class="mi">100</span> <span class="c1"># integer</span>
+            <span class="n">step</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">)</span> <span class="c1"># integer</span>
+            <span class="n">ctime</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{:0&gt;2}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">time</span><span class="p">)</span>
+            <span class="n">cstep</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">step</span><span class="p">)</span>
+
             <span class="n">t_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">cdate</span> <span class="o">+</span> <span class="n">ctime</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span>
-            <span class="n">t_dt</span> <span class="o">=</span> <span class="n">t_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">cstep</span><span class="p">))</span>
-            <span class="n">t_m1dt</span> <span class="o">=</span> <span class="n">t_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">cstep</span><span class="p">)</span><span class="o">-</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
-            <span class="n">t_m2dt</span> <span class="o">=</span> <span class="n">t_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">cstep</span><span class="p">)</span><span class="o">-</span><span class="mi">2</span><span class="o">*</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
+            <span class="n">t_dt</span> <span class="o">=</span> <span class="n">t_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="n">step</span><span class="p">)</span>
+            <span class="n">t_m1dt</span> <span class="o">=</span> <span class="n">t_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="n">step</span><span class="o">-</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
+            <span class="n">t_m2dt</span> <span class="o">=</span> <span class="n">t_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="n">step</span><span class="o">-</span><span class="mi">2</span><span class="o">*</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
             <span class="n">t_enddate</span> <span class="o">=</span> <span class="kc">None</span>
 
-            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
                 <span class="n">fnout</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s1">&#39;flux&#39;</span> <span class="o">+</span>
                                      <span class="n">t_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">.%H&#39;</span><span class="p">)</span> <span class="o">+</span>
                                      <span class="s1">&#39;.</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">step</span><span class="o">-</span><span class="mi">2</span><span class="o">*</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">)))</span>
@@ -965,122 +1158,323 @@
                                      <span class="n">t_dt</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">))</span>
 
             <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;outputfile = &quot;</span> <span class="o">+</span> <span class="n">fnout</span><span class="p">)</span>
+            <span class="n">f_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fnout</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
+            <span class="n">h_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">hnout</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
+            <span class="n">g_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">gnout</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
 
-            <span class="c1"># read message for message and store relevant data fields</span>
+            <span class="c1"># read message for message and store relevant data fields, where</span>
             <span class="c1"># data keywords are stored in pars</span>
-            <span class="k">while</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
                 <span class="k">if</span> <span class="ow">not</span> <span class="n">gid</span><span class="p">:</span>
                     <span class="k">break</span>
-                <span class="n">cparamId</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;paramId&#39;</span><span class="p">))</span>
-                <span class="n">step</span> <span class="o">=</span> <span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">)</span>
-                <span class="n">time</span> <span class="o">=</span> <span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">)</span>
-                <span class="n">ni</span> <span class="o">=</span> <span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;Ni&#39;</span><span class="p">)</span>
-                <span class="n">nj</span> <span class="o">=</span> <span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;Nj&#39;</span><span class="p">)</span>
-                <span class="k">if</span> <span class="n">cparamId</span> <span class="ow">in</span> <span class="n">valsdict</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
-                    <span class="n">values</span> <span class="o">=</span> <span class="n">grib_get_values</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
-                    <span class="n">vdp</span> <span class="o">=</span> <span class="n">valsdict</span><span class="p">[</span><span class="n">cparamId</span><span class="p">]</span>
-                    <span class="n">svdp</span> <span class="o">=</span> <span class="n">svalsdict</span><span class="p">[</span><span class="n">cparamId</span><span class="p">]</span>
- <span class="c1">#                   sd = stepsdict[cparamId]</span>
-
-                    <span class="k">if</span> <span class="n">cparamId</span> <span class="o">==</span> <span class="s1">&#39;142&#39;</span> <span class="ow">or</span> <span class="n">cparamId</span> <span class="o">==</span> <span class="s1">&#39;143&#39;</span><span class="p">:</span>
-                        <span class="n">fak</span> <span class="o">=</span> <span class="mf">1.</span> <span class="o">/</span> <span class="mf">1000.</span>
-                    <span class="k">else</span><span class="p">:</span>
-                        <span class="n">fak</span> <span class="o">=</span> <span class="mf">3600.</span>
-
-                    <span class="n">values</span> <span class="o">=</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">values</span><span class="p">,</span> <span class="p">(</span><span class="n">nj</span><span class="p">,</span> <span class="n">ni</span><span class="p">)))</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span> <span class="o">/</span> <span class="n">fak</span>
-                    <span class="n">vdp</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">values</span><span class="p">[:])</span>  <span class="c1"># save the accumulated values</span>
-                    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">marsclass</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;EA&#39;</span> <span class="ow">or</span> \
-                       <span class="n">step</span> <span class="o">&lt;=</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">):</span>
-                        <span class="n">svdp</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">values</span><span class="p">[:]</span> <span class="o">/</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
-                    <span class="k">else</span><span class="p">:</span>  <span class="c1"># deaccumulate values</span>
-                        <span class="n">svdp</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">vdp</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">vdp</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">])</span> <span class="o">/</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
-
-                    <span class="nb">print</span><span class="p">(</span><span class="n">cparamId</span><span class="p">,</span> <span class="n">time</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">values</span><span class="p">),</span>
-                          <span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="n">values</span><span class="p">))</span>
-
-                    <span class="c1"># len(svdp) correspond to the time</span>
-                    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">svdp</span><span class="p">)</span> <span class="o">&gt;=</span> <span class="mi">3</span><span class="p">:</span>
-                        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">svdp</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">3</span><span class="p">:</span>
-                            <span class="k">if</span> <span class="n">cparamId</span> <span class="o">==</span> <span class="s1">&#39;142&#39;</span> <span class="ow">or</span> <span class="n">cparamId</span> <span class="o">==</span> <span class="s1">&#39;143&#39;</span><span class="p">:</span>
-                                <span class="n">values</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">darain</span><span class="p">(</span><span class="n">svdp</span><span class="p">)</span>
-                            <span class="k">else</span><span class="p">:</span>
-                                <span class="n">values</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">dapoly</span><span class="p">(</span><span class="n">svdp</span><span class="p">)</span>
+                <span class="n">parId</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;paramId&#39;</span><span class="p">)</span> <span class="c1"># integer</span>
+                <span class="n">step</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">)</span> <span class="c1"># integer</span>
+                <span class="n">time</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">)</span> <span class="c1"># integer</span>
+                <span class="n">ni</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;Ni&#39;</span><span class="p">)</span> <span class="c1"># integer</span>
+                <span class="n">nj</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;Nj&#39;</span><span class="p">)</span> <span class="c1"># integer</span>
+                <span class="k">if</span> <span class="n">parId</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">orig_vals</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
+                    <span class="c1"># parameter is not a flux, find next one</span>
+                    <span class="k">continue</span>
 
-                            <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">step</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="mi">12</span> \
-                                    <span class="ow">or</span> <span class="n">t_dt</span> <span class="o">==</span> <span class="n">t_enddate</span><span class="p">):</span>
-                                <span class="n">vdp</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
-                                <span class="n">svdp</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
+                <span class="c1"># define conversion factor</span>
+                <span class="k">if</span> <span class="n">parId</span> <span class="o">==</span> <span class="mi">142</span> <span class="ow">or</span> <span class="n">parId</span> <span class="o">==</span> <span class="mi">143</span><span class="p">:</span>
+                    <span class="n">fak</span> <span class="o">=</span> <span class="mf">1.</span> <span class="o">/</span> <span class="mf">1000.</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">fak</span> <span class="o">=</span> <span class="mf">3600.</span>
+
+                <span class="c1"># get parameter values and reshape</span>
+                <span class="n">values</span> <span class="o">=</span> <span class="n">codes_get_values</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+                <span class="n">values</span> <span class="o">=</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">values</span><span class="p">,</span> <span class="p">(</span><span class="n">nj</span><span class="p">,</span> <span class="n">ni</span><span class="p">)))</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span> <span class="o">/</span> <span class="n">fak</span>
+
+                <span class="c1"># save the original and accumulated values</span>
+                <span class="n">orig_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">values</span><span class="p">[:])</span>
+
+                <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">marsclass</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;EA&#39;</span> <span class="ow">or</span> <span class="n">step</span> <span class="o">&lt;=</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">):</span>
+                    <span class="c1"># no de-accumulation needed</span>
+                    <span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">values</span><span class="p">[:]</span> <span class="o">/</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="c1"># do de-accumulation</span>
+                    <span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
+                        <span class="p">(</span><span class="n">orig_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">orig_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">][</span><span class="o">-</span><span class="mi">2</span><span class="p">])</span> <span class="o">/</span>
+                         <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
+
+                <span class="c1"># store precipitation if new disaggregation method is selected</span>
+                <span class="c1"># only the exact days are needed</span>
+                <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">rrint</span><span class="p">:</span>
+                    <span class="k">if</span> <span class="n">start_date</span> <span class="o">&lt;=</span> <span class="n">t_dt</span> <span class="o">&lt;=</span> <span class="n">end_date</span><span class="p">:</span>
+                        <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
+                            <span class="k">if</span> <span class="n">t_dt</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">date_list</span><span class="p">:</span>
+                                <span class="n">date_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">t_dt</span><span class="p">)</span>
+                                <span class="n">step_list</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span>
                         <span class="k">else</span><span class="p">:</span>
-                            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">:</span>
-                                <span class="n">values</span> <span class="o">=</span> <span class="n">svdp</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
-                            <span class="k">else</span><span class="p">:</span>
-                                <span class="n">values</span> <span class="o">=</span> <span class="n">svdp</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+                            <span class="k">if</span> <span class="n">t_date</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">date_list</span><span class="p">:</span>
+                                <span class="n">date_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">t_date</span><span class="p">)</span>
+                            <span class="k">if</span> <span class="n">step</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">step_list</span><span class="p">:</span>
+                                <span class="n">step_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">step</span><span class="p">)</span>
+                        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">rrint</span> <span class="ow">and</span> <span class="n">parId</span> <span class="o">==</span> <span class="mi">142</span><span class="p">:</span>
+                            <span class="n">lsp_np</span><span class="p">[:,</span><span class="n">it_lsp</span><span class="p">]</span> <span class="o">=</span> <span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][:]</span>
+                            <span class="n">it_lsp</span> <span class="o">+=</span> <span class="mi">1</span>
+                        <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">rrint</span> <span class="ow">and</span> <span class="n">parId</span> <span class="o">==</span> <span class="mi">143</span><span class="p">:</span>
+                            <span class="n">cp_np</span><span class="p">[:,</span><span class="n">it_cp</span><span class="p">]</span> <span class="o">=</span> <span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][:]</span>
+                            <span class="n">it_cp</span> <span class="o">+=</span> <span class="mi">1</span>
+
+                <span class="c1"># information printout</span>
+                <span class="nb">print</span><span class="p">(</span><span class="n">parId</span><span class="p">,</span> <span class="n">time</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">values</span><span class="p">),</span> <span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="n">values</span><span class="p">))</span>
+
+                <span class="c1"># length of deac_vals[parId] corresponds to the</span>
+                <span class="c1"># number of time steps, max. 4 are needed for disaggegration</span>
+                <span class="c1"># with the old and original method</span>
+                <span class="c1"># run over all grib messages and perform</span>
+                <span class="c1"># shifting in time</span>
+                <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">])</span> <span class="o">&gt;=</span> <span class="mi">3</span><span class="p">:</span>
+                    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">])</span> <span class="o">&gt;</span> <span class="mi">3</span><span class="p">:</span>
+                        <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">rrint</span> <span class="ow">and</span> <span class="p">(</span><span class="n">parId</span> <span class="o">==</span> <span class="mi">142</span> <span class="ow">or</span> <span class="n">parId</span> <span class="o">==</span> <span class="mi">143</span><span class="p">):</span>
+                            <span class="n">values</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">darain</span><span class="p">(</span><span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">])</span>
+                        <span class="k">else</span><span class="p">:</span>
+                            <span class="n">values</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">dapoly</span><span class="p">(</span><span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">])</span>
+
+                        <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">step</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span> \
+                                <span class="ow">or</span> <span class="n">t_dt</span> <span class="o">==</span> <span class="n">t_enddate</span><span class="p">):</span>
+                            <span class="c1"># remove first time step in list to shift</span>
+                            <span class="c1"># time line</span>
+                            <span class="n">orig_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">]</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
+                            <span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">]</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
+                    <span class="k">else</span><span class="p">:</span>
+                        <span class="c1"># if the third time step is read (per parId),</span>
+                        <span class="c1"># write out the first one as a boundary value</span>
+                        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
+                            <span class="n">values</span> <span class="o">=</span> <span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>
+                        <span class="k">else</span><span class="p">:</span>
+                            <span class="n">values</span> <span class="o">=</span> <span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
 
-                        <span class="n">grib_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">values</span><span class="p">)</span>
+                    <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">rrint</span> <span class="ow">and</span> <span class="p">(</span><span class="n">parId</span> <span class="o">==</span> <span class="mi">142</span> <span class="ow">or</span> <span class="n">parId</span> <span class="o">==</span> <span class="mi">143</span><span class="p">)):</span>
+                        <span class="n">codes_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">values</span><span class="p">)</span>
 
-                        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">:</span>
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">,</span> <span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">step</span><span class="o">-</span><span class="mi">2</span><span class="o">*</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">)))</span>
+                        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
+                            <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;stepRange&#39;</span><span class="p">,</span> <span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">step</span><span class="o">-</span><span class="mi">2</span><span class="o">*</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">)))</span>
                         <span class="k">else</span><span class="p">:</span>
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">,</span> <span class="n">t_m2dt</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">)</span>
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">t_m2dt</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)))</span>
+                            <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;stepRange&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
+                            <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">,</span> <span class="n">t_m2dt</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">)</span>
+                            <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">t_m2dt</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)))</span>
 
-                        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">fnout</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f_handle</span><span class="p">:</span>
-                            <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">f_handle</span><span class="p">)</span>
+                        <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">f_handle</span><span class="p">)</span>
 
                         <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span><span class="p">:</span>
-                            <span class="n">t_enddate</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span>
-                                                          <span class="n">c</span><span class="o">.</span><span class="n">basetime</span><span class="p">,</span>
+                            <span class="n">t_enddate</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span><span class="p">,</span>
                                                           <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span>
                         <span class="k">else</span><span class="p">:</span>
                             <span class="n">t_enddate</span> <span class="o">=</span> <span class="n">t_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
 
-                        <span class="c1"># squeeze out information of last two steps contained</span>
-                        <span class="c1"># in svdp</span>
-                        <span class="c1"># if step+int(c.dtime) == c.maxstep and c.maxstep&gt;12</span>
-                        <span class="c1"># or t_dt+timedelta(hours = int(c.dtime))</span>
-                        <span class="c1"># &gt;= t_enddate:</span>
-                        <span class="c1"># Note that svdp[0] has not been popped in this case</span>
-
-                        <span class="k">if</span> <span class="n">step</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="mi">12</span> <span class="ow">or</span> \
-                           <span class="n">t_dt</span> <span class="o">==</span> <span class="n">t_enddate</span><span class="p">:</span>
-
-                            <span class="n">values</span> <span class="o">=</span> <span class="n">svdp</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
-                            <span class="n">grib_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">values</span><span class="p">)</span>
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-                            <span class="n">truedatetime</span> <span class="o">=</span> <span class="n">t_m2dt</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span>
-                                                              <span class="mi">2</span><span class="o">*</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">,</span> <span class="n">truedatetime</span><span class="o">.</span><span class="n">hour</span> <span class="o">*</span> <span class="mi">100</span><span class="p">)</span>
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">,</span> <span class="n">truedatetime</span><span class="o">.</span><span class="n">year</span> <span class="o">*</span> <span class="mi">10000</span> <span class="o">+</span>
-                                      <span class="n">truedatetime</span><span class="o">.</span><span class="n">month</span> <span class="o">*</span> <span class="mi">100</span> <span class="o">+</span>
-                                      <span class="n">truedatetime</span><span class="o">.</span><span class="n">day</span><span class="p">)</span>
-                            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">hnout</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">h_handle</span><span class="p">:</span>
-                                <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">h_handle</span><span class="p">)</span>
-
-                            <span class="c1">#values = (svdp[1]+svdp[2])/2.</span>
-                            <span class="k">if</span> <span class="n">cparamId</span> <span class="o">==</span> <span class="s1">&#39;142&#39;</span> <span class="ow">or</span> <span class="n">cparamId</span> <span class="o">==</span> <span class="s1">&#39;143&#39;</span><span class="p">:</span>
-                                <span class="n">values</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">darain</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="nb">reversed</span><span class="p">(</span><span class="n">svdp</span><span class="p">)))</span>
-                            <span class="k">else</span><span class="p">:</span>
-                                <span class="n">values</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">dapoly</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="nb">reversed</span><span class="p">(</span><span class="n">svdp</span><span class="p">)))</span>
+                            <span class="c1"># squeeze out information of last two steps</span>
+                            <span class="c1"># contained in deac_vals[parId]</span>
+                            <span class="c1"># Note that deac_vals[parId][0] has not been popped</span>
+                            <span class="c1"># in this case</span>
+
+                            <span class="k">if</span> <span class="n">step</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span> <span class="ow">or</span> \
+                               <span class="n">t_dt</span> <span class="o">==</span> <span class="n">t_enddate</span><span class="p">:</span>
+                                <span class="c1"># last step</span>
+                                <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
+                                    <span class="n">values</span> <span class="o">=</span> <span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">][</span><span class="mi">3</span><span class="p">]</span>
+                                    <span class="n">codes_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">values</span><span class="p">)</span>
+                                    <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;stepRange&#39;</span><span class="p">,</span> <span class="n">step</span><span class="p">)</span>
+                                    <span class="c1">#truedatetime = t_m2dt + timedelta(hours=2*int(c.dtime))</span>
+                                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">h_handle</span><span class="p">)</span>
+                                <span class="k">else</span><span class="p">:</span>
+                                    <span class="n">values</span> <span class="o">=</span> <span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">][</span><span class="mi">3</span><span class="p">]</span>
+                                    <span class="n">codes_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">values</span><span class="p">)</span>
+                                    <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;stepRange&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
+                                    <span class="n">truedatetime</span> <span class="o">=</span> <span class="n">t_m2dt</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="mi">2</span><span class="o">*</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
+                                    <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">,</span> <span class="n">truedatetime</span><span class="o">.</span><span class="n">hour</span> <span class="o">*</span> <span class="mi">100</span><span class="p">)</span>
+                                    <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">truedatetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)))</span>
+                                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">h_handle</span><span class="p">)</span>
+
+                                <span class="k">if</span> <span class="n">parId</span> <span class="o">==</span> <span class="mi">142</span> <span class="ow">or</span> <span class="n">parId</span> <span class="o">==</span> <span class="mi">143</span><span class="p">:</span>
+                                    <span class="n">values</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">darain</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="nb">reversed</span><span class="p">(</span><span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">])))</span>
+                                <span class="k">else</span><span class="p">:</span>
+                                    <span class="n">values</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">dapoly</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="nb">reversed</span><span class="p">(</span><span class="n">deac_vals</span><span class="p">[</span><span class="n">parId</span><span class="p">])))</span>
+
+                                <span class="c1"># step before last step</span>
+                                <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
+                                    <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;stepRange&#39;</span><span class="p">,</span> <span class="n">step</span><span class="o">-</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
+                                    <span class="c1">#truedatetime = t_m2dt + timedelta(hours=int(c.dtime))</span>
+                                    <span class="n">codes_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">values</span><span class="p">)</span>
+                                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">g_handle</span><span class="p">)</span>
+                                <span class="k">else</span><span class="p">:</span>
+                                    <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;stepRange&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
+                                    <span class="n">truedatetime</span> <span class="o">=</span> <span class="n">t_m2dt</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
+                                    <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">,</span> <span class="n">truedatetime</span><span class="o">.</span><span class="n">hour</span> <span class="o">*</span> <span class="mi">100</span><span class="p">)</span>
+                                    <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">truedatetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)))</span>
+                                    <span class="n">codes_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">values</span><span class="p">)</span>
+                                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">g_handle</span><span class="p">)</span>
+
+                <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+
+                <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_new_from_index</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
+
+            <span class="n">f_handle</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+            <span class="n">g_handle</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+            <span class="n">h_handle</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+        <span class="n">codes_index_release</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">rrint</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_create_rr_grib_dummy</span><span class="p">(</span><span class="n">inputfiles</span><span class="o">.</span><span class="n">files</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">)</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">_prep_new_rrint</span><span class="p">(</span><span class="n">ni</span><span class="p">,</span> <span class="n">nj</span><span class="p">,</span> <span class="n">lsp_np</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">lsp_np</span><span class="p">,</span>
+                                 <span class="n">cp_np</span><span class="p">,</span> <span class="n">date_list</span><span class="p">,</span> <span class="n">step_list</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span>
 
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-                            <span class="n">truedatetime</span> <span class="o">=</span> <span class="n">t_m2dt</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">dtime</span><span class="p">))</span>
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">,</span> <span class="n">truedatetime</span><span class="o">.</span><span class="n">hour</span> <span class="o">*</span> <span class="mi">100</span><span class="p">)</span>
-                            <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">,</span> <span class="n">truedatetime</span><span class="o">.</span><span class="n">year</span> <span class="o">*</span> <span class="mi">10000</span> <span class="o">+</span>
-                                     <span class="n">truedatetime</span><span class="o">.</span><span class="n">month</span> <span class="o">*</span> <span class="mi">100</span> <span class="o">+</span>
-                                     <span class="n">truedatetime</span><span class="o">.</span><span class="n">day</span><span class="p">)</span>
-                            <span class="n">grib_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">values</span><span class="p">)</span>
-                            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">gnout</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">g_handle</span><span class="p">:</span>
-                                <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">g_handle</span><span class="p">)</span>
+        <span class="k">return</span></div>
 
-                <span class="n">grib_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+    <span class="k">def</span> <span class="nf">_prep_new_rrint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ni</span><span class="p">,</span> <span class="n">nj</span><span class="p">,</span> <span class="n">nt</span><span class="p">,</span> <span class="n">lsp_np</span><span class="p">,</span> <span class="n">cp_np</span><span class="p">,</span> <span class="n">date_list</span><span class="p">,</span> <span class="n">step_list</span><span class="p">,</span> <span class="n">c</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Calculates and writes out the disaggregated precipitation fields.</span>
 
-                <span class="n">gid</span> <span class="o">=</span> <span class="n">grib_new_from_index</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
+<span class="sd">        Disaggregation is done in time and original times are written to the</span>
+<span class="sd">        flux files, while the additional subgrid times are written to</span>
+<span class="sd">        extra files.</span>
 
-        <span class="n">grib_index_release</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        ni : int</span>
+<span class="sd">            Amount of zonal grid points.</span>
 
-        <span class="k">return</span></div>
+<span class="sd">        nj : int</span>
+<span class="sd">            Amount of meridional grid points.</span>
+
+<span class="sd">        nt : int</span>
+<span class="sd">            Number of time steps.</span>
+
+<span class="sd">        lsp_np : numpy array of float</span>
+<span class="sd">            The large scale precipitation fields for each time step.</span>
+<span class="sd">            Shape (ni * nj, nt).</span>
+
+<span class="sd">        cp_np : numpy array of float</span>
+<span class="sd">            The convective precipitation fields for each time step.</span>
+<span class="sd">            Shape (ni * nj, nt).</span>
+
+<span class="sd">        date_list : list of datetime</span>
+<span class="sd">            The list of dates for which the disaggregation is to be done.</span>
+
+<span class="sd">        step_list : list of int</span>
+<span class="sd">            The list of steps for a single forecast time.</span>
+<span class="sd">            Only necessary for pure forecasts.</span>
+
+<span class="sd">        c : ControlFile</span>
+<span class="sd">            Contains all the parameters of CONTROL file and</span>
+<span class="sd">            command line.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... disaggregation or precipitation with new method.&#39;</span><span class="p">)</span>
+        <span class="n">lsp_new_np</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="n">ni</span> <span class="o">*</span> <span class="n">nj</span><span class="p">,</span> <span class="n">nt</span> <span class="o">*</span> <span class="mi">3</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span>
+        <span class="n">cp_new_np</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="n">ni</span> <span class="o">*</span> <span class="n">nj</span><span class="p">,</span> <span class="n">nt</span> <span class="o">*</span> <span class="mi">3</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span>
+
+        <span class="c1"># do the disaggregation, but neglect the last value of the</span>
+        <span class="c1"># time series. This one corresponds for example to 24 hour,</span>
+        <span class="c1"># which we don&#39;t need.</span>
+        <span class="k">for</span> <span class="n">ix</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">ni</span><span class="o">*</span><span class="n">nj</span><span class="p">):</span>
+            <span class="n">lsp_new_np</span><span class="p">[</span><span class="n">ix</span><span class="p">,:]</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">IA3</span><span class="p">(</span><span class="n">lsp_np</span><span class="p">[</span><span class="n">ix</span><span class="p">,:])[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
+            <span class="n">cp_new_np</span><span class="p">[</span><span class="n">ix</span><span class="p">,:]</span> <span class="o">=</span> <span class="n">disaggregation</span><span class="o">.</span><span class="n">IA3</span><span class="p">(</span><span class="n">cp_np</span><span class="p">[</span><span class="n">ix</span><span class="p">,:])[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
+
+        <span class="c1"># write to grib files (full/orig times to flux file and inbetween</span>
+        <span class="c1"># times into seperate end files)</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... write disaggregated precipitation to files.&#39;</span><span class="p">)</span>
+        <span class="n">it</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="k">for</span> <span class="n">date</span> <span class="ow">in</span> <span class="n">date_list</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">step</span> <span class="ow">in</span> <span class="n">step_list</span><span class="p">:</span>
+                <span class="n">tmpfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s1">&#39;rr_grib_dummy.grb&#39;</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
+                    <span class="n">fluxfilename</span> <span class="o">=</span> <span class="s1">&#39;flux&#39;</span> <span class="o">+</span> <span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">.%H&#39;</span><span class="p">)</span> <span class="o">+</span> \
+                                   <span class="s1">&#39;.</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">step</span><span class="p">)</span>
+                    <span class="n">filename1</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">prefix</span> <span class="o">+</span> <span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%y%m</span><span class="si">%d</span><span class="s1">.%H&#39;</span><span class="p">)</span> <span class="o">+</span> \
+                                <span class="s1">&#39;.</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">step</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;_1&#39;</span>
+                    <span class="n">filename2</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">prefix</span> <span class="o">+</span> <span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%y%m</span><span class="si">%d</span><span class="s1">.%H&#39;</span><span class="p">)</span> <span class="o">+</span> \
+                                <span class="s1">&#39;.</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">step</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;_2&#39;</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">fluxfilename</span> <span class="o">=</span> <span class="s1">&#39;flux&#39;</span> <span class="o">+</span> <span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span>
+                    <span class="n">filename1</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">prefix</span> <span class="o">+</span> <span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;_1&#39;</span>
+                    <span class="n">filename2</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">prefix</span> <span class="o">+</span> <span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;_2&#39;</span>
+
+                <span class="c1"># collect for final processing</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">fluxfilename</span><span class="p">))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">filename1</span><span class="p">))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">filename2</span><span class="p">))</span>
+
+                <span class="c1"># write original time step to flux file as usual</span>
+                <span class="n">fluxfile</span> <span class="o">=</span> <span class="n">GribUtil</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">fluxfilename</span><span class="p">))</span>
+                <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                                  <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span>
+                                  <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
+                                  <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)),</span>
+                                             <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="n">lsp_new_np</span><span class="p">[:,</span><span class="n">it</span><span class="p">]],</span>
+                                 <span class="p">)</span>
+                <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                                  <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span>
+                                  <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
+                                  <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)),</span>
+                                             <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="n">cp_new_np</span><span class="p">[:,</span><span class="n">it</span><span class="p">]]</span>
+                                 <span class="p">)</span>
+
+                <span class="c1"># write first subgrid time step</span>
+                <span class="n">endfile1</span> <span class="o">=</span> <span class="n">GribUtil</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">filename1</span><span class="p">))</span>
+                <span class="n">endfile1</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;w&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                                  <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span>
+                                  <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
+                                  <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)),</span>
+                                             <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="n">lsp_new_np</span><span class="p">[:,</span><span class="n">it</span><span class="o">+</span><span class="mi">1</span><span class="p">]]</span>
+                                  <span class="p">)</span>
+                <span class="n">endfile1</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                                  <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span>
+                                  <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
+                                  <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)),</span>
+                                             <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="n">cp_new_np</span><span class="p">[:,</span><span class="n">it</span><span class="o">+</span><span class="mi">1</span><span class="p">]]</span>
+                                 <span class="p">)</span>
+
+                <span class="c1"># write second subgrid time step</span>
+                <span class="n">endfile2</span> <span class="o">=</span> <span class="n">GribUtil</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">filename2</span><span class="p">))</span>
+                <span class="n">endfile2</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;w&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                                  <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span>
+                                  <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
+                                  <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)),</span>
+                                             <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="n">lsp_new_np</span><span class="p">[:,</span><span class="n">it</span><span class="o">+</span><span class="mi">2</span><span class="p">]]</span>
+                                 <span class="p">)</span>
+                <span class="n">endfile2</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                                  <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span>
+                                  <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
+                                  <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)),</span>
+                                             <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="n">cp_new_np</span><span class="p">[:,</span><span class="n">it</span><span class="o">+</span><span class="mi">2</span><span class="p">]]</span>
+                                 <span class="p">)</span>
+                <span class="n">it</span> <span class="o">=</span> <span class="n">it</span> <span class="o">+</span> <span class="mi">3</span> <span class="c1"># jump to next original time step</span>
+        <span class="k">return</span>
+
+    <span class="k">def</span> <span class="nf">_create_rr_grib_dummy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ifile</span><span class="p">,</span> <span class="n">inputdir</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Creates a grib file with a dummy message for the two precipitation</span>
+<span class="sd">        types lsp and cp each.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        ifile : str</span>
+<span class="sd">            Filename of the input file to read the grib messages from.</span>
+
+<span class="sd">        inputdir : str, optional</span>
+<span class="sd">            Path to the directory where the retrieved data is stored.</span>
 
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+
+        <span class="n">gribfile</span> <span class="o">=</span> <span class="n">GribUtil</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">inputdir</span><span class="p">,</span><span class="s1">&#39;rr_grib_dummy.grb&#39;</span><span class="p">))</span>
+
+        <span class="n">gribfile</span><span class="o">.</span><span class="n">copy_dummy_msg</span><span class="p">(</span><span class="n">ifile</span><span class="p">,</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span>
+                      <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;w&#39;</span><span class="p">)</span>
+
+        <span class="n">gribfile</span><span class="o">.</span><span class="n">copy_dummy_msg</span><span class="p">(</span><span class="n">ifile</span><span class="p">,</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span>
+                      <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span>
 
 <div class="viewcode-block" id="EcFlexpart.create"><a class="viewcode-back" href="../api.html#EcFlexpart.EcFlexpart.create">[docs]</a>    <span class="k">def</span> <span class="nf">create</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">inputfiles</span><span class="p">,</span> <span class="n">c</span><span class="p">):</span>
         <span class="sd">&#39;&#39;&#39;An index file will be created which depends on the combination</span>
@@ -1099,10 +1493,10 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        inputfiles : :obj:`UioFiles`</span>
+<span class="sd">        inputfiles : UioFiles</span>
 <span class="sd">            Contains a list of files.</span>
 
-<span class="sd">        c : :obj:`ControlFile`</span>
+<span class="sd">        c : ControlFile</span>
 <span class="sd">            Contains all the parameters of CONTROL file and</span>
 <span class="sd">            command line.</span>
 
@@ -1136,7 +1530,7 @@
                                                 <span class="n">index_keys</span><span class="p">)</span>
         <span class="c1"># index_vals looks like e.g.:</span>
         <span class="c1"># index_vals[0]: (&#39;20171106&#39;, &#39;20171107&#39;, &#39;20171108&#39;) ; date</span>
-        <span class="c1"># index_vals[1]: (&#39;0&#39;, &#39;1200&#39;, &#39;1800&#39;, &#39;600&#39;) ; time</span>
+        <span class="c1"># index_vals[1]: (&#39;0&#39;, &#39;600&#39;, &#39;1200&#39;, &#39;1800&#39;) ; time</span>
         <span class="c1"># index_vals[2]: (&#39;0&#39;, &#39;12&#39;, &#39;3&#39;, &#39;6&#39;, &#39;9&#39;) ; stepRange</span>
 
         <span class="c1"># &quot;product&quot; genereates each possible combination between the</span>
@@ -1148,27 +1542,27 @@
             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;current product: &#39;</span><span class="p">,</span> <span class="n">prod</span><span class="p">)</span>
 
             <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">index_keys</span><span class="p">)):</span>
-                <span class="n">grib_index_select</span><span class="p">(</span><span class="n">iid</span><span class="p">,</span> <span class="n">index_keys</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">prod</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
+                <span class="n">codes_index_select</span><span class="p">(</span><span class="n">iid</span><span class="p">,</span> <span class="n">index_keys</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">prod</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
 
             <span class="c1"># get first id from current product</span>
-            <span class="n">gid</span> <span class="o">=</span> <span class="n">grib_new_from_index</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
+            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_new_from_index</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
 
             <span class="c1"># if there is no data for this specific time combination / product</span>
             <span class="c1"># skip the rest of the for loop and start with next timestep/product</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">gid</span><span class="p">:</span>
                 <span class="k">continue</span>
-
+<span class="c1">#============================================================================================</span>
             <span class="c1"># remove old fort.* files and open new ones</span>
             <span class="c1"># they are just valid for a single product</span>
             <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">fdict</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
                 <span class="n">fortfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s1">&#39;fort.&#39;</span> <span class="o">+</span> <span class="n">k</span><span class="p">)</span>
                 <span class="n">silent_remove</span><span class="p">(</span><span class="n">fortfile</span><span class="p">)</span>
                 <span class="n">fdict</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fortfile</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
-
+<span class="c1">#============================================================================================</span>
             <span class="c1"># create correct timestamp from the three time informations</span>
-            <span class="n">cdate</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">))</span>
-            <span class="n">ctime</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{:0&gt;2}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">)</span><span class="o">/</span><span class="mi">100</span><span class="p">)</span>
-            <span class="n">cstep</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">))</span>
+            <span class="n">cdate</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;date&#39;</span><span class="p">))</span>
+            <span class="n">ctime</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{:0&gt;2}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;time&#39;</span><span class="p">)</span><span class="o">/</span><span class="mi">100</span><span class="p">)</span>
+            <span class="n">cstep</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;step&#39;</span><span class="p">))</span>
             <span class="n">timestamp</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">cdate</span> <span class="o">+</span> <span class="n">ctime</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span>
             <span class="n">timestamp</span> <span class="o">+=</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">cstep</span><span class="p">))</span>
             <span class="n">cdate_hour</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">timestamp</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H&#39;</span><span class="p">)</span>
@@ -1188,7 +1582,7 @@
                     <span class="n">fwrf</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">outputdir</span><span class="p">,</span>
                                 <span class="s1">&#39;WRF&#39;</span> <span class="o">+</span> <span class="n">cdate</span> <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="n">ctime</span> <span class="o">+</span> <span class="s1">&#39;.000.grb2&#39;</span><span class="p">),</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
                     <span class="n">olddate</span> <span class="o">=</span> <span class="n">cdate</span><span class="p">[:]</span>
-
+<span class="c1">#============================================================================================</span>
             <span class="c1"># savedfields remembers which fields were already used.</span>
             <span class="n">savedfields</span> <span class="o">=</span> <span class="p">[]</span>
             <span class="c1"># sum of cloud liquid and ice water content</span>
@@ -1196,34 +1590,35 @@
             <span class="k">while</span> <span class="mi">1</span><span class="p">:</span>
                 <span class="k">if</span> <span class="ow">not</span> <span class="n">gid</span><span class="p">:</span>
                     <span class="k">break</span>
-                <span class="n">paramId</span> <span class="o">=</span> <span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;paramId&#39;</span><span class="p">)</span>
-                <span class="n">gridtype</span> <span class="o">=</span> <span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;gridType&#39;</span><span class="p">)</span>
-                <span class="n">levtype</span> <span class="o">=</span> <span class="n">grib_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;typeOfLevel&#39;</span><span class="p">)</span>
+                <span class="n">paramId</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;paramId&#39;</span><span class="p">)</span>
+                <span class="n">gridtype</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;gridType&#39;</span><span class="p">)</span>
+                <span class="n">levtype</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;typeOfLevel&#39;</span><span class="p">)</span>
                 <span class="k">if</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">77</span><span class="p">:</span> <span class="c1"># ETADOT</span>
-                    <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;21&#39;</span><span class="p">])</span>
+                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;21&#39;</span><span class="p">])</span>
                 <span class="k">elif</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">130</span><span class="p">:</span> <span class="c1"># T</span>
-                    <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;11&#39;</span><span class="p">])</span>
+                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;11&#39;</span><span class="p">])</span>
                 <span class="k">elif</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">131</span> <span class="ow">or</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">132</span><span class="p">:</span> <span class="c1"># U, V wind component</span>
-                    <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;10&#39;</span><span class="p">])</span>
+                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;10&#39;</span><span class="p">])</span>
                 <span class="k">elif</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">133</span> <span class="ow">and</span> <span class="n">gridtype</span> <span class="o">!=</span> <span class="s1">&#39;reduced_gg&#39;</span><span class="p">:</span> <span class="c1"># Q</span>
-                    <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;17&#39;</span><span class="p">])</span>
+                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;17&#39;</span><span class="p">])</span>
                 <span class="k">elif</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">133</span> <span class="ow">and</span> <span class="n">gridtype</span> <span class="o">==</span> <span class="s1">&#39;reduced_gg&#39;</span><span class="p">:</span> <span class="c1"># Q, gaussian</span>
-                    <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;18&#39;</span><span class="p">])</span>
+                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;18&#39;</span><span class="p">])</span>
                 <span class="k">elif</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">135</span><span class="p">:</span> <span class="c1"># W</span>
-                    <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;19&#39;</span><span class="p">])</span>
+                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;19&#39;</span><span class="p">])</span>
                 <span class="k">elif</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">152</span><span class="p">:</span> <span class="c1"># LNSP</span>
-                    <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;12&#39;</span><span class="p">])</span>
+                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;12&#39;</span><span class="p">])</span>
                 <span class="k">elif</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">155</span> <span class="ow">and</span> <span class="n">gridtype</span> <span class="o">==</span> <span class="s1">&#39;sh&#39;</span><span class="p">:</span> <span class="c1"># D</span>
-                    <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;13&#39;</span><span class="p">])</span>
+                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;13&#39;</span><span class="p">])</span>
                 <span class="k">elif</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">246</span> <span class="ow">or</span> <span class="n">paramId</span> <span class="o">==</span> <span class="mi">247</span><span class="p">:</span> <span class="c1"># CLWC, CIWC</span>
                     <span class="c1"># sum cloud liquid water and ice</span>
                     <span class="k">if</span> <span class="n">scwc</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-                        <span class="n">scwc</span> <span class="o">=</span> <span class="n">grib_get_values</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+                        <span class="n">scwc</span> <span class="o">=</span> <span class="n">codes_get_values</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
                     <span class="k">else</span><span class="p">:</span>
-                        <span class="n">scwc</span> <span class="o">+=</span> <span class="n">grib_get_values</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
-                        <span class="n">grib_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">scwc</span><span class="p">)</span>
-                        <span class="n">grib_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;paramId&#39;</span><span class="p">,</span> <span class="mi">201031</span><span class="p">)</span>
-                        <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;22&#39;</span><span class="p">])</span>
+                        <span class="n">scwc</span> <span class="o">+=</span> <span class="n">codes_get_values</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+                        <span class="n">codes_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">scwc</span><span class="p">)</span>
+                        <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="s1">&#39;paramId&#39;</span><span class="p">,</span> <span class="mi">201031</span><span class="p">)</span>
+                        <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;22&#39;</span><span class="p">])</span>
+                        <span class="n">scwc</span> <span class="o">=</span> <span class="kc">None</span>
                 <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span> <span class="ow">and</span> <span class="n">paramId</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">129</span><span class="p">,</span> <span class="mi">138</span><span class="p">,</span> <span class="mi">155</span><span class="p">]</span> <span class="ow">and</span> \
                       <span class="n">levtype</span> <span class="o">==</span> <span class="s1">&#39;hybrid&#39;</span><span class="p">:</span> <span class="c1"># Z, VO, D</span>
                     <span class="c1"># do not do anything right now</span>
@@ -1233,7 +1628,7 @@
                     <span class="k">if</span> <span class="n">paramId</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">savedfields</span><span class="p">:</span>
                         <span class="c1"># SD/MSL/TCC/10U/10V/2T/2D/Z/LSM/SDOR/CVL/CVH/SR</span>
                         <span class="c1"># and all ADDPAR parameter</span>
-                        <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;16&#39;</span><span class="p">])</span>
+                        <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;16&#39;</span><span class="p">])</span>
                         <span class="n">savedfields</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">paramId</span><span class="p">)</span>
                     <span class="k">else</span><span class="p">:</span>
                         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;duplicate &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">paramId</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; not written&#39;</span><span class="p">)</span>
@@ -1243,19 +1638,19 @@
                         <span class="c1"># model layer</span>
                         <span class="k">if</span> <span class="n">levtype</span> <span class="o">==</span> <span class="s1">&#39;hybrid&#39;</span> <span class="ow">and</span> \
                            <span class="n">paramId</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">129</span><span class="p">,</span> <span class="mi">130</span><span class="p">,</span> <span class="mi">131</span><span class="p">,</span> <span class="mi">132</span><span class="p">,</span> <span class="mi">133</span><span class="p">,</span> <span class="mi">138</span><span class="p">,</span> <span class="mi">155</span><span class="p">]:</span>
-                            <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fwrf</span><span class="p">)</span>
+                            <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fwrf</span><span class="p">)</span>
                         <span class="c1"># sfc layer</span>
                         <span class="k">elif</span> <span class="n">paramId</span> <span class="ow">in</span> <span class="n">wrfpars</span><span class="p">:</span>
-                            <span class="n">grib_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fwrf</span><span class="p">)</span>
+                            <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fwrf</span><span class="p">)</span>
                 <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
                     <span class="k">pass</span>
 
-                <span class="n">grib_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
-                <span class="n">gid</span> <span class="o">=</span> <span class="n">grib_new_from_index</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
-
+                <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+                <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_new_from_index</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
+<span class="c1">#============================================================================================</span>
             <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">fdict</span><span class="o">.</span><span class="n">values</span><span class="p">():</span>
                 <span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
-
+<span class="c1">#============================================================================================</span>
             <span class="c1"># call for Fortran program to convert e.g. reduced_gg grids to</span>
             <span class="c1"># regular_ll and calculate detadot/dp</span>
             <span class="n">pwd</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">()</span>
@@ -1266,14 +1661,19 @@
                 <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Check parameters CLASS, TYPE, STREAM, START_DATE</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
                 <span class="n">my_error</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">mailfail</span><span class="p">,</span> <span class="s1">&#39;fort.21 is empty while parameter eta </span><span class="se">\</span>
 <span class="s1">                         is set to 1 in CONTROL file&#39;</span><span class="p">)</span>
+<span class="c1">#============================================================================================</span>
+            <span class="c1"># write out all output to log file before starting fortran programm</span>
+            <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span>
 
             <span class="c1"># Fortran program creates file fort.15 (with u,v,etadot,t,sp,q)</span>
-            <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
-                <span class="n">c</span><span class="o">.</span><span class="n">exedir</span><span class="p">,</span> <span class="n">_config</span><span class="o">.</span><span class="n">FORTRAN_EXECUTABLE</span><span class="p">)],</span> <span class="n">shell</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-            <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">pwd</span><span class="p">)</span>
+            <span class="n">execute_subprocess</span><span class="p">([</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">exedir</span><span class="p">,</span>
+                                <span class="n">_config</span><span class="o">.</span><span class="n">FORTRAN_EXECUTABLE</span><span class="p">)],</span>
+                               <span class="n">error_msg</span><span class="o">=</span><span class="s1">&#39;FORTRAN PROGRAM FAILED!&#39;</span><span class="p">)</span><span class="c1">#shell=True)</span>
 
+            <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">pwd</span><span class="p">)</span>
+<span class="c1">#============================================================================================</span>
             <span class="c1"># create name of final output file, e.g. EN13040500 (ENYYMMDDHH)</span>
-            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
                 <span class="n">suffix</span> <span class="o">=</span> <span class="n">cdate</span><span class="p">[</span><span class="mi">2</span><span class="p">:</span><span class="mi">8</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="n">ctime</span> <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="n">cstep</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="n">suffix</span> <span class="o">=</span> <span class="n">cdate_hour</span><span class="p">[</span><span class="mi">2</span><span class="p">:</span><span class="mi">10</span><span class="p">]</span>
@@ -1281,7 +1681,7 @@
             <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;outputfile = &quot;</span> <span class="o">+</span> <span class="n">fnout</span><span class="p">)</span>
             <span class="c1"># collect for final processing</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">fnout</span><span class="p">))</span>
-
+<span class="c1">#============================================================================================</span>
             <span class="c1"># create outputfile and copy all data from intermediate files</span>
             <span class="c1"># to the outputfile (final GRIB input files for FLEXPART)</span>
             <span class="n">orolsm</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span> <span class="o">+</span>
@@ -1301,17 +1701,19 @@
                 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">outputdir</span><span class="p">,</span> <span class="s1">&#39;OMEGA&#39;</span><span class="p">),</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fout</span><span class="p">:</span>
                     <span class="n">shutil</span><span class="o">.</span><span class="n">copyfileobj</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s1">&#39;fort.25&#39;</span><span class="p">),</span>
                                             <span class="s1">&#39;rb&#39;</span><span class="p">),</span> <span class="n">fout</span><span class="p">)</span>
-
+<span class="c1">#============================================================================================</span>
         <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span>
             <span class="n">fwrf</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
-        <span class="n">grib_index_release</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
+        <span class="n">codes_index_release</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
 
         <span class="k">return</span></div>
 
 
 <div class="viewcode-block" id="EcFlexpart.process_output"><a class="viewcode-back" href="../api.html#EcFlexpart.EcFlexpart.process_output">[docs]</a>    <span class="k">def</span> <span class="nf">process_output</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;The grib files are postprocessed depending on the selection in</span>
+        <span class="sd">&#39;&#39;&#39;Postprocessing of FLEXPART input files.</span>
+
+<span class="sd">        The grib files are postprocessed depending on the selection in</span>
 <span class="sd">        CONTROL file. The resulting files are moved to the output</span>
 <span class="sd">        directory if its not equal to the input directory.</span>
 <span class="sd">        The following modifications might be done if</span>
@@ -1322,7 +1724,7 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        c : :obj:`ControlFile`</span>
+<span class="sd">        c : ControlFile</span>
 <span class="sd">            Contains all the parameters of CONTROL file and</span>
 <span class="sd">            command line.</span>
 
@@ -1346,24 +1748,32 @@
             <span class="n">ofile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">ofile</span><span class="p">)</span>
 
             <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">format</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;grib2&#39;</span><span class="p">:</span>
-                <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span><span class="s1">&#39;grib_set&#39;</span><span class="p">,</span> <span class="s1">&#39;-s&#39;</span><span class="p">,</span> <span class="s1">&#39;edition=2, </span><span class="se">\</span>
-<span class="s1">                                           productDefinitionTemplateNumber=8&#39;</span><span class="p">,</span>
-                                           <span class="n">ofile</span><span class="p">,</span> <span class="n">ofile</span> <span class="o">+</span> <span class="s1">&#39;_2&#39;</span><span class="p">])</span>
-                <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span><span class="s1">&#39;mv&#39;</span><span class="p">,</span> <span class="n">ofile</span> <span class="o">+</span> <span class="s1">&#39;_2&#39;</span><span class="p">,</span> <span class="n">ofile</span><span class="p">])</span>
+                <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">&#39;grib_set&#39;</span><span class="p">,</span> <span class="s1">&#39;-s&#39;</span><span class="p">,</span> <span class="s1">&#39;edition=2,&#39;</span> <span class="o">+</span>
+                                    <span class="s1">&#39;productDefinitionTemplateNumber=8&#39;</span><span class="p">,</span>
+                                    <span class="n">ofile</span><span class="p">,</span> <span class="n">ofile</span> <span class="o">+</span> <span class="s1">&#39;_2&#39;</span><span class="p">],</span>
+                                   <span class="n">error_msg</span><span class="o">=</span><span class="s1">&#39;GRIB2 CONVERSION FAILED!&#39;</span><span class="p">)</span>
+
+                <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">&#39;mv&#39;</span><span class="p">,</span> <span class="n">ofile</span> <span class="o">+</span> <span class="s1">&#39;_2&#39;</span><span class="p">,</span> <span class="n">ofile</span><span class="p">],</span>
+                                   <span class="n">error_msg</span><span class="o">=</span><span class="s1">&#39;RENAMING FOR NEW GRIB2 FORMAT &#39;</span>
+                                   <span class="s1">&#39;FILES FAILED!&#39;</span><span class="p">)</span>
 
             <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">ectrans</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">ecapi</span><span class="p">:</span>
-                <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span><span class="s1">&#39;ectrans&#39;</span><span class="p">,</span> <span class="s1">&#39;-overwrite&#39;</span><span class="p">,</span> <span class="s1">&#39;-gateway&#39;</span><span class="p">,</span>
-                                           <span class="n">c</span><span class="o">.</span><span class="n">gateway</span><span class="p">,</span> <span class="s1">&#39;-remote&#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">destination</span><span class="p">,</span>
-                                           <span class="s1">&#39;-source&#39;</span><span class="p">,</span> <span class="n">ofile</span><span class="p">])</span>
+                <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">&#39;ectrans&#39;</span><span class="p">,</span> <span class="s1">&#39;-overwrite&#39;</span><span class="p">,</span> <span class="s1">&#39;-gateway&#39;</span><span class="p">,</span>
+                                    <span class="n">c</span><span class="o">.</span><span class="n">gateway</span><span class="p">,</span> <span class="s1">&#39;-remote&#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">destination</span><span class="p">,</span>
+                                    <span class="s1">&#39;-source&#39;</span><span class="p">,</span> <span class="n">ofile</span><span class="p">],</span>
+                                   <span class="n">error_msg</span><span class="o">=</span><span class="s1">&#39;TRANSFER TO LOCAL SERVER FAILED!&#39;</span><span class="p">)</span>
 
             <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">ecstorage</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">ecapi</span><span class="p">:</span>
-                <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span><span class="s1">&#39;ecp&#39;</span><span class="p">,</span> <span class="s1">&#39;-o&#39;</span><span class="p">,</span> <span class="n">ofile</span><span class="p">,</span>
-                                           <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ecfsdir</span><span class="p">)])</span>
+                <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">&#39;ecp&#39;</span><span class="p">,</span> <span class="s1">&#39;-o&#39;</span><span class="p">,</span> <span class="n">ofile</span><span class="p">,</span>
+                                    <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ecfsdir</span><span class="p">)],</span>
+                                   <span class="n">error_msg</span><span class="o">=</span><span class="s1">&#39;COPY OF FILES TO ECSTORAGE &#39;</span>
+                                   <span class="s1">&#39;AREA FAILED!&#39;</span><span class="p">)</span>
 
             <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">outputdir</span> <span class="o">!=</span> <span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">:</span>
-                <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span><span class="s1">&#39;mv&#39;</span><span class="p">,</span>
-                                           <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">ofile</span><span class="p">),</span>
-                                           <span class="n">c</span><span class="o">.</span><span class="n">outputdir</span><span class="p">])</span>
+                <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">&#39;mv&#39;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">ofile</span><span class="p">),</span>
+                                    <span class="n">c</span><span class="o">.</span><span class="n">outputdir</span><span class="p">],</span>
+                                   <span class="n">error_msg</span><span class="o">=</span><span class="s1">&#39;RELOCATION OF OUTPUT FILES &#39;</span>
+                                   <span class="s1">&#39;TO OUTPUTDIR FAILED!&#39;</span><span class="p">)</span>
 
         <span class="k">return</span></div>
 
@@ -1373,7 +1783,7 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        c : :obj:`ControlFile`</span>
+<span class="sd">        c : ControlFile</span>
 <span class="sd">            Contains all the parameters of CONTROL file and</span>
 <span class="sd">            command line.</span>
 
@@ -1418,7 +1828,7 @@
 
         <span class="c1"># read template COMMAND file</span>
         <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span>
-            <span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">))</span> <span class="o">+</span> <span class="s1">&#39;/../Options/COMMAND&#39;</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+            <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">))</span> <span class="o">+</span> <span class="s1">&#39;/../Options/COMMAND&#39;</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
             <span class="n">lflist</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
 
         <span class="c1"># find index of list where to put in the</span>
@@ -1443,9 +1853,9 @@
         <span class="c1"># change to outputdir and start the grib2flexpart run</span>
         <span class="c1"># afterwards switch back to the working dir</span>
         <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">outputdir</span><span class="p">)</span>
-        <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span>
-            <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">))</span>
-            <span class="o">+</span> <span class="s1">&#39;/../FLEXPART_PROGRAM/grib2flexpart&#39;</span><span class="p">,</span> <span class="s1">&#39;useAvailable&#39;</span><span class="p">,</span> <span class="s1">&#39;.&#39;</span><span class="p">])</span>
+        <span class="n">cmd</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">))</span> <span class="o">+</span>
+         <span class="s1">&#39;/../FLEXPART_PROGRAM/grib2flexpart&#39;</span><span class="p">,</span> <span class="s1">&#39;useAvailable&#39;</span><span class="p">,</span> <span class="s1">&#39;.&#39;</span><span class="p">]</span>
+        <span class="n">execute_subprocess</span><span class="p">(</span><span class="n">cmd</span><span class="p">)</span>
         <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">pwd</span><span class="p">)</span>
 
         <span class="k">return</span></div></div>
@@ -1461,7 +1871,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -1480,21 +1890,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/GribUtil.html b/documentation/Sphinx/build/html/_modules/GribUtil.html
new file mode 100644
index 0000000..5a703fe
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/GribUtil.html
@@ -0,0 +1,529 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>GribUtil &mdash; flex_extract 7.1 alpha documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" /> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> flex_extract
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                7.1
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">Table of Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Downloads</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../program_structure.html">Program Structure</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user_guide.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Auto Generated Documentation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../support.html">Support</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">flex_extract</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="index.html">Module code</a> &raquo;</li>
+        
+      <li>GribUtil</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for GribUtil</h1><div class="highlight"><pre>
+<span></span><span class="ch">#!/usr/bin/env python</span>
+<span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#*******************************************************************************</span>
+<span class="c1"># @Author: Anne Fouilloux (University of Oslo)</span>
+<span class="c1">#</span>
+<span class="c1"># @Date: July 2014</span>
+<span class="c1">#</span>
+<span class="c1"># @Change History:</span>
+<span class="c1">#   February 2018 - Anne Philipp (University of Vienna):</span>
+<span class="c1">#        - applied PEP8 style guide</span>
+<span class="c1">#        - added documentation</span>
+<span class="c1">#        - changed some naming</span>
+<span class="c1">#</span>
+<span class="c1"># @License:</span>
+<span class="c1">#    (C) Copyright 2014-2018.</span>
+<span class="c1">#</span>
+<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
+<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
+<span class="c1">#</span>
+<span class="c1"># @Class Description:</span>
+<span class="c1">#    The GRIB API provides all necessary tools to work directly with the</span>
+<span class="c1">#    grib files. Nevertheless, the GRIB API tools are very basic and are in</span>
+<span class="c1">#    direct connection with the grib files. This class provides some higher</span>
+<span class="c1">#    functions which apply a set of GRIB API tools together in the respective</span>
+<span class="c1">#    context. So, the class initially contains a list of grib files (their</span>
+<span class="c1">#    names) and the using program then applies the methods directly on the</span>
+<span class="c1">#    class objects without having to think about how the actual GRIB API</span>
+<span class="c1">#    tools have to be arranged.</span>
+<span class="c1">#</span>
+<span class="c1"># @Class Content:</span>
+<span class="c1">#    - __init__</span>
+<span class="c1">#    - get_keys</span>
+<span class="c1">#    - set_keys</span>
+<span class="c1">#    - copy_dummy_msg</span>
+<span class="c1">#    - index</span>
+<span class="c1">#</span>
+<span class="c1"># @Class Attributes:</span>
+<span class="c1">#    - filenames</span>
+<span class="c1">#</span>
+<span class="c1">#*******************************************************************************</span>
+
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<span class="c1"># MODULES</span>
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<span class="kn">import</span> <span class="nn">os</span>
+
+<span class="kn">from</span> <span class="nn">eccodes</span> <span class="k">import</span> <span class="p">(</span><span class="n">codes_grib_new_from_file</span><span class="p">,</span> <span class="n">codes_is_defined</span><span class="p">,</span> <span class="n">codes_get</span><span class="p">,</span>
+                     <span class="n">codes_release</span><span class="p">,</span> <span class="n">codes_set</span><span class="p">,</span> <span class="n">codes_write</span><span class="p">,</span> <span class="n">codes_index_read</span><span class="p">,</span>
+                     <span class="n">codes_index_new_from_file</span><span class="p">,</span> <span class="n">codes_index_add_file</span><span class="p">,</span>
+                     <span class="n">codes_index_write</span><span class="p">,</span> <span class="n">codes_set_values</span><span class="p">)</span>
+
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<span class="c1"># CLASS</span>
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<div class="viewcode-block" id="GribUtil"><a class="viewcode-back" href="../api.html#GribUtil.GribUtil">[docs]</a><span class="k">class</span> <span class="nc">GribUtil</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">    Class for GRIB utilities (new methods) based on GRIB API</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="c1"># --------------------------------------------------------------------------</span>
+    <span class="c1"># CLASS FUNCTIONS</span>
+    <span class="c1"># --------------------------------------------------------------------------</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filenames</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Initialise an object of GribUtil and assign a list of filenames.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        filenames : :obj:`list` of :obj:`strings`</span>
+<span class="sd">             A list of filenames.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">filenames</span> <span class="o">=</span> <span class="n">filenames</span>
+
+        <span class="k">return</span>
+
+
+<div class="viewcode-block" id="GribUtil.get_keys"><a class="viewcode-back" href="../api.html#GribUtil.GribUtil.get_keys">[docs]</a>    <span class="k">def</span> <span class="nf">get_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">keynames</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[]):</span>
+        <span class="sd">&#39;&#39;&#39;Get keyvalues for a given list of keynames a where statement</span>
+<span class="sd">        can be given (list of key and list of values)</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        keynames : :obj:`list` of :obj:`string`</span>
+<span class="sd">            List of keynames.</span>
+
+<span class="sd">        wherekeynames : :obj:`list` of :obj:`string`, optional</span>
+<span class="sd">            Default value is an empty list.</span>
+
+<span class="sd">        wherekeyvalues : :obj:`list` of :obj:`string`, optional</span>
+<span class="sd">            Default value is an empty list.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+<span class="sd">        return_list : :obj:`list` of :obj:`string`</span>
+<span class="sd">            List of keyvalues for given keynames.</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+
+        <span class="n">fileid</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span>
+
+        <span class="n">return_list</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="k">while</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_new_from_file</span><span class="p">(</span><span class="n">fileid</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="k">break</span>
+
+            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">wherekeynames</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">wherekeyvalues</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Number of key values and key names must be </span><span class="se">\</span>
+<span class="s2">                                 the same. Give a value for each keyname!&quot;</span><span class="p">)</span>
+
+            <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="k">for</span> <span class="n">wherekey</span> <span class="ow">in</span> <span class="n">wherekeynames</span><span class="p">:</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">codes_is_defined</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">wherekey</span><span class="p">):</span>
+                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;where key was not defined&quot;</span><span class="p">)</span>
+
+                <span class="n">select</span> <span class="o">=</span> <span class="p">(</span><span class="n">select</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">wherekeyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">==</span>
+                                      <span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">wherekey</span><span class="p">))))</span>
+                <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
+
+            <span class="k">if</span> <span class="n">select</span><span class="p">:</span>
+                <span class="n">llist</span> <span class="o">=</span> <span class="p">[]</span>
+                <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keynames</span><span class="p">:</span>
+                    <span class="n">llist</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">key</span><span class="p">))])</span>
+                <span class="n">return_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">llist</span><span class="p">)</span>
+
+            <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+
+        <span class="n">fileid</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">return_list</span></div>
+
+
+<div class="viewcode-block" id="GribUtil.set_keys"><a class="viewcode-back" href="../api.html#GribUtil.GribUtil.set_keys">[docs]</a>    <span class="k">def</span> <span class="nf">set_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fromfile</span><span class="p">,</span> <span class="n">keynames</span><span class="p">,</span> <span class="n">keyvalues</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[],</span>
+                 <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">strict</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;w&#39;</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Opens the file to read the grib messages and then write</span>
+<span class="sd">        the selected messages (with wherekeys) to a new output file.</span>
+<span class="sd">        Also, the keyvalues of the passed list of keynames are set.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        fromfile : :obj:`string`</span>
+<span class="sd">            Filename of the input file to read the grib messages from.</span>
+
+<span class="sd">        keynames : :obj:`list` of :obj:`string`</span>
+<span class="sd">            List of keynames to set in the selected messages.</span>
+<span class="sd">            Default is an empty list.</span>
+
+<span class="sd">        keyvalues : :obj:`list` of :obj:`string`</span>
+<span class="sd">            List of keyvalues to set in the selected messages.</span>
+<span class="sd">            Default is an empty list.</span>
+
+<span class="sd">        wherekeynames : :obj:`list` of :obj:`string`, optional</span>
+<span class="sd">            List of keynames to select correct message.</span>
+<span class="sd">            Default value is an empty list.</span>
+
+<span class="sd">        wherekeyvalues : :obj:`list` of :obj:`string`, optional</span>
+<span class="sd">            List of keyvalues for keynames to select correct message.</span>
+<span class="sd">            Default value is an empty list.</span>
+
+<span class="sd">        strict : :obj:`boolean`, optional</span>
+<span class="sd">            Decides if everything from keynames and keyvalues</span>
+<span class="sd">            is written out the grib file (False) or only those</span>
+<span class="sd">            meeting the where statement (True). Default is False.</span>
+
+<span class="sd">        filemode : :obj:`string`, optional</span>
+<span class="sd">            Sets the mode for the output file. Default is &quot;w&quot;.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">wherekeynames</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">wherekeyvalues</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Give a value for each keyname!&quot;</span><span class="p">)</span>
+
+        <span class="n">fout</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">filemode</span><span class="p">)</span>
+        <span class="n">fin</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fromfile</span><span class="p">)</span>
+
+        <span class="k">while</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">fin</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="k">break</span>
+
+            <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="k">for</span> <span class="n">wherekey</span> <span class="ow">in</span> <span class="n">wherekeynames</span><span class="p">:</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">codes_is_defined</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">wherekey</span><span class="p">):</span>
+                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;wherekey was not defined&quot;</span><span class="p">)</span>
+
+                <span class="n">select</span> <span class="o">=</span> <span class="p">(</span><span class="n">select</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">wherekeyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">==</span>
+                                      <span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">wherekey</span><span class="p">))))</span>
+                <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
+
+            <span class="k">if</span> <span class="n">select</span><span class="p">:</span>
+                <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
+                <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keynames</span><span class="p">:</span>
+                    <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="s1">&#39;values&#39;</span><span class="p">:</span>
+                        <span class="n">codes_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">keyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
+                    <span class="k">else</span><span class="p">:</span>
+                        <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">keyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
+                    <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
+
+                <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fout</span><span class="p">)</span>
+
+            <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+
+        <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+        <span class="k">return</span></div>
+
+<div class="viewcode-block" id="GribUtil.copy_dummy_msg"><a class="viewcode-back" href="../api.html#GribUtil.GribUtil.copy_dummy_msg">[docs]</a>    <span class="k">def</span> <span class="nf">copy_dummy_msg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filename_in</span><span class="p">,</span> <span class="n">selectWhere</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="n">keynames</span><span class="o">=</span><span class="p">[],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;w&#39;</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Add the content of another input grib file to the objects file but</span>
+<span class="sd">        only messages corresponding to keys/values passed to the function.</span>
+<span class="sd">        The selectWhere switch decides if to copy the keys equal to (True) or</span>
+<span class="sd">        different to (False) the keynames/keyvalues list passed to the function.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        filename_in : :obj:`string`</span>
+<span class="sd">            Filename of the input file to read the grib messages from.</span>
+
+<span class="sd">        selectWhere : :obj:`boolean`, optional</span>
+<span class="sd">            Decides if to copy the keynames and values equal to (True) or</span>
+<span class="sd">            different to (False) the keynames/keyvalues list passed to the</span>
+<span class="sd">            function. Default is True.</span>
+
+<span class="sd">        keynames : :obj:`list` of :obj:`string`, optional</span>
+<span class="sd">            List of keynames. Default is an empty list.</span>
+
+<span class="sd">        keyvalues : :obj:`list` of :obj:`string`, optional</span>
+<span class="sd">            List of keyvalues. Default is an empty list.</span>
+
+<span class="sd">        filemode : :obj:`string`, optional</span>
+<span class="sd">            Sets the mode for the output file. Default is &quot;w&quot;.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">keynames</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">keyvalues</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Give a value for each keyname!&quot;</span><span class="p">)</span>
+
+        <span class="n">fin</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename_in</span><span class="p">)</span>
+        <span class="n">fout</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">filemode</span><span class="p">)</span>
+
+        <span class="n">fields</span> <span class="o">=</span> <span class="mi">0</span>
+
+        <span class="k">while</span> <span class="n">fields</span> <span class="o">&lt;</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">fin</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="k">break</span>
+
+            <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keynames</span><span class="p">:</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">codes_is_defined</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
+                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Key was not defined&quot;</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="n">selectWhere</span><span class="p">:</span>
+                    <span class="n">select</span> <span class="o">=</span> <span class="p">(</span><span class="n">select</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">keyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">==</span>
+                                          <span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">key</span><span class="p">))))</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">select</span> <span class="o">=</span> <span class="p">(</span><span class="n">select</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">keyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">!=</span>
+                                          <span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">key</span><span class="p">))))</span>
+                <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
+
+            <span class="k">if</span> <span class="n">select</span><span class="p">:</span>
+                <span class="n">fields</span> <span class="o">=</span> <span class="n">fields</span> <span class="o">+</span> <span class="mi">1</span>
+                <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fout</span><span class="p">)</span>
+
+            <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+
+        <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+        <span class="k">return</span></div>
+
+<div class="viewcode-block" id="GribUtil.index"><a class="viewcode-back" href="../api.html#GribUtil.GribUtil.index">[docs]</a>    <span class="k">def</span> <span class="nf">index</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">index_keys</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;mars&quot;</span><span class="p">],</span> <span class="n">index_file</span><span class="o">=</span><span class="s2">&quot;my.idx&quot;</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Create index file from a list of files if it does not exist or</span>
+<span class="sd">        read an index file.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        index_keys: :obj:`list` of :obj:`string`, optional</span>
+<span class="sd">            Contains the list of key parameter names from</span>
+<span class="sd">            which the index is to be created.</span>
+<span class="sd">            Default is a list with a single entry string &quot;mars&quot;.</span>
+
+<span class="sd">        index_file: :obj:`string`, optional</span>
+<span class="sd">            Filename where the indices are stored.</span>
+<span class="sd">            Default is &quot;my.idx&quot;.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+<span class="sd">        iid: :obj:`integer`</span>
+<span class="sd">            Grib index id.</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;... index will be done&quot;</span><span class="p">)</span>
+        <span class="n">iid</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">index_file</span><span class="p">):</span>
+            <span class="n">iid</span> <span class="o">=</span> <span class="n">codes_index_read</span><span class="p">(</span><span class="n">index_file</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Use existing index file: </span><span class="si">%s</span><span class="s2"> &quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">index_file</span><span class="p">))</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">filename</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">:</span>
+                <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Inputfile: </span><span class="si">%s</span><span class="s2"> &quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">filename</span><span class="p">))</span>
+                <span class="k">if</span> <span class="n">iid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="n">iid</span> <span class="o">=</span> <span class="n">codes_index_new_from_file</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">index_keys</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">codes_index_add_file</span><span class="p">(</span><span class="n">iid</span><span class="p">,</span> <span class="n">filename</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">iid</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">codes_index_write</span><span class="p">(</span><span class="n">iid</span><span class="p">,</span> <span class="n">index_file</span><span class="p">)</span>
+
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... index done&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">iid</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_modules/MarsRetrieval.html b/documentation/Sphinx/build/html/_modules/MarsRetrieval.html
index 028e163..4011537 100644
--- a/documentation/Sphinx/build/html/_modules/MarsRetrieval.html
+++ b/documentation/Sphinx/build/html/_modules/MarsRetrieval.html
@@ -169,46 +169,16 @@
 <span class="c1">#        - applied PEP8 style guide</span>
 <span class="c1">#        - added documentation</span>
 <span class="c1">#        - applied some minor modifications in programming style/structure</span>
+<span class="c1">#        - added writing of mars request attributes to a csv file</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2015-2018.</span>
-<span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Description:</span>
-<span class="c1">#    A MARS revtrieval has a specific syntax with a selection of keywords and</span>
-<span class="c1">#    their corresponding values. This class provides the necessary functions</span>
-<span class="c1">#    by displaying the selected parameters and their values and the actual</span>
-<span class="c1">#    retrievement of the data through a mars request or a Python web api</span>
-<span class="c1">#    interface. The initialization already expects all the keyword values.</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Content:</span>
-<span class="c1">#    - __init__</span>
-<span class="c1">#    - display_info</span>
-<span class="c1">#    - data_retrieve</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Attributes:</span>
-<span class="c1">#    - server</span>
-<span class="c1">#    - marsclass</span>
-<span class="c1">#    - dtype</span>
-<span class="c1">#    - levtype</span>
-<span class="c1">#    - levelist</span>
-<span class="c1">#    - repres</span>
-<span class="c1">#    - date</span>
-<span class="c1">#    - resol</span>
-<span class="c1">#    - stream</span>
-<span class="c1">#    - area</span>
-<span class="c1">#    - time</span>
-<span class="c1">#    - step</span>
-<span class="c1">#    - expver</span>
-<span class="c1">#    - number</span>
-<span class="c1">#    - accuracy</span>
-<span class="c1">#    - grid</span>
-<span class="c1">#    - gaussian</span>
-<span class="c1">#    - target</span>
-<span class="c1">#    - param</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#*******************************************************************************</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
@@ -225,12 +195,91 @@
 <span class="c1"># CLASS</span>
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <div class="viewcode-block" id="MarsRetrieval"><a class="viewcode-back" href="../api.html#MarsRetrieval.MarsRetrieval">[docs]</a><span class="k">class</span> <span class="nc">MarsRetrieval</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;Class for submitting MARS retrievals.</span>
+    <span class="sd">&#39;&#39;&#39;Specific syntax and content for submission of MARS retrievals.</span>
+
+<span class="sd">    A MARS revtrieval has a specific syntax with a selection of keywords and</span>
+<span class="sd">    their corresponding values. This class provides the necessary functions</span>
+<span class="sd">    by displaying the selected parameters and their values and the actual</span>
+<span class="sd">    retrievement of the data through a mars request or a Python web api</span>
+<span class="sd">    interface. The initialization already expects all the keyword values.</span>
 
 <span class="sd">    A description of MARS keywords/arguments and examples of their</span>
 <span class="sd">    values can be found here:</span>
 <span class="sd">    https://software.ecmwf.int/wiki/display/UDOC/\</span>
 <span class="sd">                   Identification+keywords#Identificationkeywords-class</span>
+
+<span class="sd">    Attributes</span>
+<span class="sd">    ----------</span>
+<span class="sd">    server : ECMWFService or ECMWFDataServer</span>
+<span class="sd">        This is the connection to the ECMWF data servers.</span>
+
+<span class="sd">    public : int</span>
+<span class="sd">        Decides which Web API Server version is used.</span>
+
+<span class="sd">    marsclass : str, optional</span>
+<span class="sd">        Characterisation of dataset.</span>
+
+<span class="sd">    dataset : str, optional</span>
+<span class="sd">        For public datasets there is the specific naming and parameter</span>
+<span class="sd">        dataset which has to be used to characterize the type of</span>
+<span class="sd">        data.</span>
+
+<span class="sd">    type : str, optional</span>
+<span class="sd">        Determines the type of fields to be retrieved.</span>
+
+<span class="sd">    levtype : str, optional</span>
+<span class="sd">        Denotes type of level.</span>
+
+<span class="sd">    levelist : str, optional</span>
+<span class="sd">        Specifies the required levels.</span>
+
+<span class="sd">    repres : str, optional</span>
+<span class="sd">        Selects the representation of the archived data.</span>
+
+<span class="sd">    date : str, optional</span>
+<span class="sd">        Specifies the Analysis date, the Forecast base date or</span>
+<span class="sd">        Observations date.</span>
+
+<span class="sd">    resol : str, optional</span>
+<span class="sd">        Specifies the desired triangular truncation of retrieved data,</span>
+<span class="sd">        before carrying out any other selected post-processing.</span>
+
+<span class="sd">    stream : str, optional</span>
+<span class="sd">        Identifies the forecasting system used to generate the data.</span>
+
+<span class="sd">    area : str, optional</span>
+<span class="sd">        Specifies the desired sub-area of data to be extracted.</span>
+
+<span class="sd">    time : str, optional</span>
+<span class="sd">        Specifies the time of the data in hours and minutes.</span>
+
+<span class="sd">    step : str, optional</span>
+<span class="sd">        Specifies the forecast time step from forecast base time.</span>
+
+<span class="sd">    expver : str, optional</span>
+<span class="sd">        The version of the dataset.</span>
+
+<span class="sd">    number : str, optional</span>
+<span class="sd">        Selects the member in ensemble forecast run.</span>
+
+<span class="sd">    accuracy : str, optional</span>
+<span class="sd">        Specifies the number of bits per value to be used in the</span>
+<span class="sd">        generated GRIB coded fields.</span>
+
+<span class="sd">    grid : str, optional</span>
+<span class="sd">        Specifies the output grid which can be either a Gaussian grid</span>
+<span class="sd">        or a Latitude/Longitude grid.</span>
+
+<span class="sd">    gaussian : str, optional</span>
+<span class="sd">        This parameter is deprecated and should no longer be used.</span>
+<span class="sd">        Specifies the desired type of Gaussian grid for the output.</span>
+
+<span class="sd">    target : str, optional</span>
+<span class="sd">        Specifies a file into which data is to be written after</span>
+<span class="sd">        retrieval or manipulation.</span>
+
+<span class="sd">    param : str, optional</span>
+<span class="sd">        Specifies the meteorological parameter.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">server</span><span class="p">,</span> <span class="n">public</span><span class="p">,</span> <span class="n">marsclass</span><span class="o">=</span><span class="s2">&quot;ei&quot;</span><span class="p">,</span> <span class="n">dataset</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
@@ -248,37 +297,37 @@
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        server : :obj:`ECMWFService`</span>
+<span class="sd">        server : ECMWFService or ECMWFDataServer</span>
 <span class="sd">            This is the connection to the ECMWF data servers.</span>
 <span class="sd">            It is needed for the pythonic access of ECMWF data.</span>
 
-<span class="sd">        public : :obj:`integer`</span>
+<span class="sd">        public : int</span>
 <span class="sd">            Decides which Web API version is used:</span>
 <span class="sd">            0: member-state users and full archive access</span>
 <span class="sd">            1: public access and limited access to the public server and</span>
 <span class="sd">               datasets. Needs the parameter dataset.</span>
 <span class="sd">            Default is &quot;0&quot; and for member-state users.</span>
 
-<span class="sd">        marsclass : :obj:`string`, optional</span>
+<span class="sd">        marsclass : str, optional</span>
 <span class="sd">            Characterisation of dataset. E.g. EI (ERA-Interim),</span>
 <span class="sd">            E4 (ERA40), OD (Operational archive), ea (ERA5).</span>
 <span class="sd">            Default is the ERA-Interim dataset &quot;ei&quot;.</span>
 
-<span class="sd">        dataset : :obj:`string`, optional</span>
+<span class="sd">        dataset : str, optional</span>
 <span class="sd">            For public datasets there is the specific naming and parameter</span>
 <span class="sd">            dataset which has to be used to characterize the type of</span>
 <span class="sd">            data. Usually there is less data available, either in times,</span>
 <span class="sd">            domain or parameter.</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        type : :obj:`string`, optional</span>
+<span class="sd">        type : str, optional</span>
 <span class="sd">            Determines the type of fields to be retrieved.</span>
 <span class="sd">            Selects between observations, images or fields.</span>
 <span class="sd">            Examples for fields: Analysis (an), Forecast (fc),</span>
 <span class="sd">            Perturbed Forecast (pf), Control Forecast (cf) and so on.</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        levtype : :obj:`string`, optional</span>
+<span class="sd">        levtype : str, optional</span>
 <span class="sd">            Denotes type of level. Has a direct implication on valid</span>
 <span class="sd">            levelist values!</span>
 <span class="sd">            E.g. model level (ml), pressure level (pl), surface (sfc),</span>
@@ -286,25 +335,25 @@
 <span class="sd">            and depth (dp).</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        levelist : :obj:`string`, optional</span>
+<span class="sd">        levelist : str, optional</span>
 <span class="sd">            Specifies the required levels. It has to have a valid</span>
 <span class="sd">            correspondence to the selected levtype.</span>
 <span class="sd">            Examples: model level: 1/to/137, pressure levels: 500/to/1000</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        repres : :obj:`string`, optional</span>
+<span class="sd">        repres : str, optional</span>
 <span class="sd">            Selects the representation of the archived data.</span>
 <span class="sd">            E.g. sh - spherical harmonics, gg - Gaussian grid,</span>
 <span class="sd">            ll - latitude/longitude, ...</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        date : :obj:`string`, optional</span>
+<span class="sd">        date : str, optional</span>
 <span class="sd">            Specifies the Analysis date, the Forecast base date or</span>
 <span class="sd">            Observations date. Valid formats are:</span>
 <span class="sd">            Absolute as YYYY-MM-DD or YYYYMMDD.</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        resol : :obj:`string`, optional</span>
+<span class="sd">        resol : str, optional</span>
 <span class="sd">            Specifies the desired triangular truncation of retrieved data,</span>
 <span class="sd">            before carrying out any other selected post-processing.</span>
 <span class="sd">            The default is automatic truncation (auto), by which the lowest</span>
@@ -321,12 +370,12 @@
 <span class="sd">                  Retrieve#Retrieve-Truncationbeforeinterpolation</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        stream : :obj:`string`, optional</span>
+<span class="sd">        stream : str, optional</span>
 <span class="sd">            Identifies the forecasting system used to generate the data.</span>
 <span class="sd">            E.g. oper (Atmospheric model), enfo (Ensemble forecats), ...</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        area : :obj:`string`, optional</span>
+<span class="sd">        area : str, optional</span>
 <span class="sd">            Specifies the desired sub-area of data to be extracted.</span>
 <span class="sd">            Areas can be defined to wrap around the globe.</span>
 
@@ -344,7 +393,7 @@
 <span class="sd">            E.g.: North/West/South/East</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        time : :obj:`string`, optional</span>
+<span class="sd">        time : str, optional</span>
 <span class="sd">            Specifies the time of the data in hours and minutes.</span>
 <span class="sd">            Valid values depend on the type of data: Analysis time,</span>
 <span class="sd">            Forecast base time or First guess verification time</span>
@@ -354,7 +403,7 @@
 <span class="sd">            The syntax is HHMM or HH:MM. If MM is omitted it defaults to 00.</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        step : :obj:`string`, optional</span>
+<span class="sd">        step : str, optional</span>
 <span class="sd">            Specifies the forecast time step from forecast base time.</span>
 <span class="sd">            Valid values are hours (HH) from forecast base time. It also</span>
 <span class="sd">            specifies the length of the forecast which verifies at</span>
@@ -362,7 +411,7 @@
 <span class="sd">            E.g. 1/3/6-hourly</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        expver : :obj:`string`, optional</span>
+<span class="sd">        expver : str, optional</span>
 <span class="sd">            The version of the dataset. Each experiment is assigned a</span>
 <span class="sd">            unique code (version). Production data is assigned 1 or 2,</span>
 <span class="sd">            and experimental data in Operations 11, 12 ,...</span>
@@ -370,14 +419,14 @@
 <span class="sd">            experiment identifier.</span>
 <span class="sd">            Default is &quot;1&quot;.</span>
 
-<span class="sd">        number : :obj:`string`, optional</span>
+<span class="sd">        number : str, optional</span>
 <span class="sd">            Selects the member in ensemble forecast run. (Only then it</span>
 <span class="sd">            is necessary.) It has a different meaning depending on</span>
 <span class="sd">            the type of data.</span>
 <span class="sd">            E.g. Perturbed Forecasts: specifies the Ensemble forecast member</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        accuracy : :obj:`string`, optional</span>
+<span class="sd">        accuracy : str, optional</span>
 <span class="sd">            Specifies the number of bits per value to be used in the</span>
 <span class="sd">            generated GRIB coded fields.</span>
 <span class="sd">            A positive integer may be given to specify the preferred number</span>
@@ -388,7 +437,7 @@
 <span class="sd">            can be passed to the result field by specifying accuracy=av.</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        grid : :obj:`string`, optional</span>
+<span class="sd">        grid : str, optional</span>
 <span class="sd">            Specifies the output grid which can be either a Gaussian grid</span>
 <span class="sd">            or a Latitude/Longitude grid. MARS requests specifying</span>
 <span class="sd">            grid=av will return the archived model grid.</span>
@@ -409,7 +458,7 @@
 <span class="sd">                   640 latitude lines between the pole and equator</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        gaussian : :obj:`string`, optional</span>
+<span class="sd">        gaussian : str, optional</span>
 <span class="sd">            This parameter is deprecated and should no longer be used.</span>
 <span class="sd">            Specifies the desired type of Gaussian grid for the output.</span>
 <span class="sd">            Valid Gaussian grids are quasi-regular (reduced) or regular.</span>
@@ -417,7 +466,7 @@
 <span class="sd">            keyword grid. Gaussian without grid has no effect.</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        target : :obj:`string`, optional</span>
+<span class="sd">        target : str, optional</span>
 <span class="sd">            Specifies a file into which data is to be written after</span>
 <span class="sd">            retrieval or manipulation. Path names should always be</span>
 <span class="sd">            enclosed in double quotes. The MARS client supports automatic</span>
@@ -431,7 +480,7 @@
 <span class="sd">            rather than 600, 1 and 129.</span>
 <span class="sd">            Default is an empty string.</span>
 
-<span class="sd">        param : :obj:`string`, optional</span>
+<span class="sd">        param : str, optional</span>
 <span class="sd">            Specifies the meteorological parameter.</span>
 <span class="sd">            The list of meteorological parameters in MARS is extensive.</span>
 <span class="sd">            Their availability is directly related to their meteorological</span>
@@ -499,50 +548,15 @@
         <span class="k">return</span></div>
 
 
-<div class="viewcode-block" id="MarsRetrieval.print_info"><a class="viewcode-back" href="../api.html#MarsRetrieval.MarsRetrieval.print_info">[docs]</a>    <span class="k">def</span> <span class="nf">print_info</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">inputdir</span><span class="p">,</span> <span class="n">request_number</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;Prints all mars requests to an extra file for debugging and</span>
-<span class="sd">        information.</span>
-
-<span class="sd">        Parameters</span>
-<span class="sd">        ----------</span>
-<span class="sd">        inputdir : :obj:`string`</span>
-<span class="sd">            The path where all data from the retrievals are stored.</span>
-
-<span class="sd">        request_number : :obj:`integer`</span>
-<span class="sd">            Number of mars requests for flux and non-flux data.</span>
-
-<span class="sd">        Return</span>
-<span class="sd">        ------</span>
-
-<span class="sd">        &#39;&#39;&#39;</span>
-        <span class="c1"># Get all class attributes and their values as a dictionary</span>
-        <span class="n">attrs</span> <span class="o">=</span> <span class="nb">vars</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
-
-        <span class="c1"># open a file to store all requests to</span>
-        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">inputdir</span><span class="p">,</span>
-                               <span class="n">_config</span><span class="o">.</span><span class="n">FILE_MARS_REQUESTS</span><span class="p">),</span> <span class="s1">&#39;a&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-            <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;mars_request #&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">request_number</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
-            <span class="c1"># iterate through all attributes and print them</span>
-            <span class="c1"># with their corresponding values</span>
-            <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">attrs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-                <span class="k">if</span> <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;server&#39;</span><span class="p">,</span> <span class="s1">&#39;public&#39;</span><span class="p">]:</span>
-                    <span class="k">pass</span>
-                <span class="k">else</span><span class="p">:</span>
-                    <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
-            <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">&#39;</span><span class="p">)</span>
-
-        <span class="k">return</span></div>
-
-
 <div class="viewcode-block" id="MarsRetrieval.print_infodata_csv"><a class="viewcode-back" href="../api.html#MarsRetrieval.MarsRetrieval.print_infodata_csv">[docs]</a>    <span class="k">def</span> <span class="nf">print_infodata_csv</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">inputdir</span><span class="p">,</span> <span class="n">request_number</span><span class="p">):</span>
         <span class="sd">&#39;&#39;&#39;Write all request parameter in alpabetical order into a &quot;csv&quot; file.</span>
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        inputdir : :obj:`string`</span>
+<span class="sd">        inputdir : str</span>
 <span class="sd">            The path where all data from the retrievals are stored.</span>
 
-<span class="sd">        request_number : :obj:`integer`</span>
+<span class="sd">        request_number : int</span>
 <span class="sd">            Number of mars requests for flux and non-flux data.</span>
 
 <span class="sd">        Return</span>
@@ -667,7 +681,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -686,21 +700,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/UioFiles.html b/documentation/Sphinx/build/html/_modules/UioFiles.html
index 7ec9366..4c3dbec 100644
--- a/documentation/Sphinx/build/html/_modules/UioFiles.html
+++ b/documentation/Sphinx/build/html/_modules/UioFiles.html
@@ -164,7 +164,7 @@
 <span class="c1">#        - modified method list_files to work with glob instead of listdir</span>
 <span class="c1">#        - added pattern search in method list_files</span>
 <span class="c1">#</span>
-<span class="c1">#    February 2018 - Anne Philipp (University of Vienna):</span>
+<span class="c1">#    February - December 2018 - Anne Philipp (University of Vienna):</span>
 <span class="c1">#        - applied PEP8 style guide</span>
 <span class="c1">#        - added documentation</span>
 <span class="c1">#        - optimisation of method list_files since it didn&#39;t work correctly</span>
@@ -172,28 +172,16 @@
 <span class="c1">#        - additional speed up of method list_files</span>
 <span class="c1">#        - modified the class so that it is initiated with a pattern instead</span>
 <span class="c1">#          of suffixes. Gives more precision in selection of files.</span>
+<span class="c1">#        - added delete method</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2014-2018.</span>
-<span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Decription:</span>
-<span class="c1">#    The class is for file manipulation. It is initiated with a regular</span>
-<span class="c1">#    expression pattern for this instance and can produce a list of Files</span>
-<span class="c1">#    from the given file pattern. These files can be deleted.</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Content:</span>
-<span class="c1">#    - __init__</span>
-<span class="c1">#    - __str__</span>
-<span class="c1">#    - __list_files__</span>
-<span class="c1">#    - delete_files</span>
-<span class="c1">#</span>
-<span class="c1"># @Class Attributes:</span>
-<span class="c1">#    - pattern</span>
-<span class="c1">#    - files</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#*******************************************************************************</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
@@ -203,9 +191,8 @@
 <span class="kn">import</span> <span class="nn">sys</span>
 <span class="kn">import</span> <span class="nn">fnmatch</span>
 
-<span class="c1"># software specific module from flex_extract</span>
+<span class="c1"># software specific modules from flex_extract</span>
 <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../&#39;</span><span class="p">)</span>
-<span class="c1">#import profiling</span>
 <span class="kn">from</span> <span class="nn">mods.tools</span> <span class="k">import</span> <span class="n">silent_remove</span><span class="p">,</span> <span class="n">get_list_as_string</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
@@ -213,22 +200,35 @@
 <span class="c1"># ------------------------------------------------------------------------------</span>
 
 <div class="viewcode-block" id="UioFiles"><a class="viewcode-back" href="../api.html#UioFiles.UioFiles">[docs]</a><span class="k">class</span> <span class="nc">UioFiles</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;Class to manipulate files. At initialisation it has the pattern</span>
-<span class="sd">    which stores a regular expression pattern for the files, the path</span>
-<span class="sd">    to the files and the files already.</span>
+    <span class="sd">&#39;&#39;&#39;Collection of files matching a specific pattern.</span>
+
+<span class="sd">    The pattern can contain regular expressions for the files.</span>
+<span class="sd">    The files are listed and can be transformed to a single string or</span>
+<span class="sd">    they can be deleted.</span>
+
+<span class="sd">    Attributes</span>
+<span class="sd">    ----------</span>
+<span class="sd">    path : str</span>
+<span class="sd">        Directory where to list the files.</span>
+
+<span class="sd">    pattern : str</span>
+<span class="sd">        Regular expression pattern. For example: &#39;\*.grb&#39;</span>
+
+<span class="sd">    files : list of str</span>
+<span class="sd">        List of files matching the pattern in the path.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="c1"># --------------------------------------------------------------------------</span>
-    <span class="c1"># CLASS FUNCTIONS</span>
+    <span class="c1"># CLASS METHODS</span>
     <span class="c1"># --------------------------------------------------------------------------</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">pattern</span><span class="p">):</span>
         <span class="sd">&#39;&#39;&#39;Assignes a specific pattern for these files.</span>
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        path : :obj:`string`</span>
+<span class="sd">        path : str</span>
 <span class="sd">            Directory where to list the files.</span>
 
-<span class="sd">        pattern : :obj:`string`</span>
+<span class="sd">        pattern : str</span>
 <span class="sd">            Regular expression pattern. For example: &#39;\*.grb&#39;</span>
 
 <span class="sd">        Return</span>
@@ -240,18 +240,18 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">pattern</span> <span class="o">=</span> <span class="n">pattern</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="p">[]</span>
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">__list_files__</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_list_files</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
 
         <span class="k">return</span>
 
-    <span class="c1">#@profiling.timefn</span>
-    <span class="k">def</span> <span class="nf">__list_files__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+
+    <span class="k">def</span> <span class="nf">_list_files</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
         <span class="sd">&#39;&#39;&#39;Lists all files in the directory with the matching</span>
 <span class="sd">        regular expression pattern.</span>
 
 <span class="sd">        Parameters</span>
 <span class="sd">        ----------</span>
-<span class="sd">        path : :obj:`string`</span>
+<span class="sd">        path : str</span>
 <span class="sd">            Path to the files.</span>
 
 <span class="sd">        Return</span>
@@ -268,6 +268,7 @@
 
         <span class="k">return</span>
 
+
     <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&#39;&#39;&#39;Converts the list of files into a single string.</span>
 <span class="sd">        The entries are sepereated by &quot;,&quot; sign.</span>
@@ -277,7 +278,7 @@
 
 <span class="sd">        Return</span>
 <span class="sd">        ------</span>
-<span class="sd">        files_string : :obj:`string`</span>
+<span class="sd">        files_string : str</span>
 <span class="sd">            The content of the list as a single string.</span>
 <span class="sd">        &#39;&#39;&#39;</span>
 
@@ -286,6 +287,7 @@
 
         <span class="k">return</span> <span class="n">files_string</span>
 
+
 <div class="viewcode-block" id="UioFiles.delete_files"><a class="viewcode-back" href="../api.html#UioFiles.UioFiles.delete_files">[docs]</a>    <span class="k">def</span> <span class="nf">delete_files</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&#39;&#39;&#39;Deletes the files.</span>
 
@@ -313,7 +315,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -332,21 +334,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/disaggregation.html b/documentation/Sphinx/build/html/_modules/disaggregation.html
index c52faca..3fefed5 100644
--- a/documentation/Sphinx/build/html/_modules/disaggregation.html
+++ b/documentation/Sphinx/build/html/_modules/disaggregation.html
@@ -169,32 +169,36 @@
 <span class="c1">#        - added structured documentation</span>
 <span class="c1">#        - outsourced the disaggregation functions dapoly and darain</span>
 <span class="c1">#          to a new module named disaggregation</span>
+<span class="c1">#        - added the new disaggregation method for precipitation</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2015-2018.</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#</span>
-<span class="c1"># @Module Description:</span>
-<span class="c1">#    disaggregation of deaccumulated flux data from an ECMWF model FG field.</span>
-<span class="c1">#    Initially the flux data to be concerned are:</span>
-<span class="c1">#    - large-scale precipitation</span>
-<span class="c1">#    - convective precipitation</span>
-<span class="c1">#    - surface sensible heat flux</span>
-<span class="c1">#    - surface solar radiation</span>
-<span class="c1">#    - u stress</span>
-<span class="c1">#    - v stress</span>
-<span class="c1">#    Different versions of disaggregation is provided for rainfall</span>
-<span class="c1">#    data (darain, modified linear) and the surface fluxes and</span>
-<span class="c1">#    stress data (dapoly, cubic polynomial).</span>
-<span class="c1">#</span>
-<span class="c1"># @Module Content:</span>
+<span class="c1"># @Methods:</span>
 <span class="c1">#    - dapoly</span>
 <span class="c1">#    - darain</span>
 <span class="c1">#    - IA3</span>
-<span class="c1">#</span>
 <span class="c1">#*******************************************************************************</span>
+<span class="sd">&#39;&#39;&#39;Disaggregation of deaccumulated flux data from an ECMWF model FG field.</span>
+
+<span class="sd">Initially the flux data to be concerned are:</span>
+<span class="sd">    - large-scale precipitation</span>
+<span class="sd">    - convective precipitation</span>
+<span class="sd">    - surface sensible heat flux</span>
+<span class="sd">    - surface solar radiation</span>
+<span class="sd">    - u stress</span>
+<span class="sd">    - v stress</span>
+
+<span class="sd">Different versions of disaggregation is provided for rainfall</span>
+<span class="sd">data (darain, modified linear) and the surface fluxes and</span>
+<span class="sd">stress data (dapoly, cubic polynomial).</span>
+<span class="sd">&#39;&#39;&#39;</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <span class="c1"># MODULES</span>
@@ -217,13 +221,13 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    alist : :obj:`list` of :obj:`array` of :obj:`float`</span>
+<span class="sd">    alist : list of array of float</span>
 <span class="sd">        List of 4 timespans as 2-dimensional, horizontal fields.</span>
 <span class="sd">        E.g. [[array_t1], [array_t2], [array_t3], [array_t4]]</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    nfield : :obj:`array` of :obj:`float`</span>
+<span class="sd">    nfield : array of float</span>
 <span class="sd">        Interpolated flux at central point of accumulation timespan.</span>
 
 <span class="sd">    Note</span>
@@ -261,13 +265,13 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    alist : :obj:`list` of :obj:`array` of :obj:`float`</span>
+<span class="sd">    alist : list of array of float</span>
 <span class="sd">        List of 4 timespans as 2-dimensional, horizontal fields.</span>
 <span class="sd">        E.g. [[array_t1], [array_t2], [array_t3], [array_t4]]</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    nfield : :obj:`array` of :obj:`float`</span>
+<span class="sd">    nfield : array of float</span>
 <span class="sd">        Interpolated flux at central point of accumulation timespan.</span>
 
 <span class="sd">    Note</span>
@@ -312,7 +316,7 @@
 
 <span class="sd">    Note</span>
 <span class="sd">    ----</span>
-<span class="sd">    Copyright 2017</span>
+<span class="sd">    (C) Copyright 2017-2019</span>
 <span class="sd">    Sabine Hittmeir, Anne Philipp, Petra Seibert</span>
 
 <span class="sd">    This work is licensed under the Creative Commons Attribution 4.0</span>
@@ -322,13 +326,13 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    g : :obj:`list` of :obj:`float`</span>
+<span class="sd">    g : list of float</span>
 <span class="sd">        Complete data series that will be interpolated having</span>
 <span class="sd">        the dimension of the original raw series.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    f : :obj:`list` of :obj:`float`</span>
+<span class="sd">    f : list of float</span>
 <span class="sd">        The interpolated data series with additional subgrid points.</span>
 <span class="sd">        Its dimension is equal to the length of the input data series</span>
 <span class="sd">        times three.</span>
@@ -362,27 +366,27 @@
     <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
 
     <span class="c1"># time step</span>
-    <span class="n">dt</span><span class="o">=</span><span class="mf">1.0</span>
+    <span class="n">dt</span> <span class="o">=</span> <span class="mf">1.0</span>
 
     <span class="c1">############### Non-negative Geometric Mean Based Algorithm ###############</span>
 
     <span class="c1"># for the left boundary the following boundary condition is valid:</span>
     <span class="c1"># the value at t=0 of the interpolation algorithm coincides with the</span>
     <span class="c1"># first data value according to the persistence hypothesis</span>
-    <span class="n">f</span><span class="o">=</span><span class="p">[</span><span class="n">g</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span>
+    <span class="n">f</span> <span class="o">=</span> <span class="p">[</span><span class="n">g</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span>
 
     <span class="c1"># compute two first sub-grid intervals without monotonicity check</span>
     <span class="c1"># go through the data series and extend each interval by two sub-grid</span>
     <span class="c1"># points and interpolate the corresponding data values</span>
     <span class="c1"># except for the last interval due to boundary conditions</span>
-    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="p">):</span>
+    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">):</span>
 
         <span class="c1"># as a requirement:</span>
         <span class="c1"># if there is a zero data value such that g[i]=0, then the whole</span>
         <span class="c1"># interval in f has to be zero to such that f[i+1]=f[i+2]=f[i+3]=0</span>
         <span class="c1"># according to Eq. (6)</span>
-        <span class="k">if</span> <span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">==</span><span class="mf">0.</span><span class="p">:</span>
-            <span class="n">f</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">])</span>
+        <span class="k">if</span> <span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="mf">0.</span><span class="p">:</span>
+            <span class="n">f</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">])</span>
 
         <span class="c1"># otherwise the sub-grid values are calculated and added to the list</span>
         <span class="k">else</span><span class="p">:</span>
@@ -397,11 +401,11 @@
 
             <span class="c1"># the function value at the first sub-grid point (fi1) is determined</span>
             <span class="c1"># according to the equal area condition with Eq. (19)</span>
-            <span class="n">fi1</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fip1</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fi</span>
+            <span class="n">fi1</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fip1</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fi</span>
 
             <span class="c1"># the function value at the second sub-grid point (fi2) is determined</span>
             <span class="c1"># according Eq. (18)</span>
-            <span class="n">fi2</span><span class="o">=</span><span class="n">fi1</span><span class="o">+</span><span class="mf">1.</span><span class="o">/</span><span class="mf">3.</span><span class="o">*</span><span class="p">(</span><span class="n">fip1</span><span class="o">-</span><span class="n">fi</span><span class="p">)</span>
+            <span class="n">fi2</span> <span class="o">=</span> <span class="n">fi1</span><span class="o">+</span><span class="mf">1.</span><span class="o">/</span><span class="mf">3.</span><span class="o">*</span><span class="p">(</span><span class="n">fip1</span><span class="o">-</span><span class="n">fi</span><span class="p">)</span>
 
             <span class="c1"># add next interval of interpolated (sub-)grid values</span>
             <span class="n">f</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">fi1</span><span class="p">)</span>
@@ -412,18 +416,18 @@
     <span class="c1"># go through the data series and extend each interval by two sub-grid</span>
     <span class="c1"># points and interpolate the corresponding data values</span>
     <span class="c1"># except for the last interval due to boundary conditions</span>
-    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="nb">len</span><span class="p">(</span><span class="n">g</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">):</span>
+    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">g</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">):</span>
 
         <span class="c1"># as a requirement:</span>
         <span class="c1"># if there is a zero data value such that g[i]=0, then the whole</span>
         <span class="c1"># interval in f has to be zero to such that f[i+1]=f[i+2]=f[i+3]=0</span>
         <span class="c1"># according to Eq. (6)</span>
-        <span class="k">if</span> <span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">==</span><span class="mf">0.</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="mf">0.</span><span class="p">:</span>
             <span class="c1"># apply monotonicity filter for interval before</span>
             <span class="c1"># check if there is &quot;M&quot; or &quot;W&quot; shape</span>
-            <span class="k">if</span>     <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span> \
-               <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span> \
-               <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span><span class="p">:</span>
+            <span class="k">if</span>     <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> \
+               <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> \
+               <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
 
                 <span class="c1"># the monotonicity filter corrects the value at (fim1) by</span>
                 <span class="c1"># substituting (fim1) with (fmon), see Eq. (27), (28) and (29)</span>
@@ -435,11 +439,11 @@
                 <span class="c1"># recomputation of the sub-grid interval values while the</span>
                 <span class="c1"># interval boundaries (fi) and (fip2) remains unchanged</span>
                 <span class="c1"># see Eq. (18) and (19)</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">=</span><span class="n">fmon</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">]</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">=</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">fmon</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">])</span><span class="o">/</span><span class="mf">3.</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">=</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">fmon</span><span class="p">)</span><span class="o">/</span><span class="mf">3.</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">fmon</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">]</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">fmon</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">])</span><span class="o">/</span><span class="mf">3.</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">fmon</span><span class="p">)</span><span class="o">/</span><span class="mf">3.</span>
 
             <span class="n">f</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">])</span>
 
@@ -452,21 +456,21 @@
             <span class="c1"># the value at the end of the interval (fip1) is prescribed by the</span>
             <span class="c1"># geometric mean, restricted such that non-negativity is guaranteed</span>
             <span class="c1"># according to Eq. (25)</span>
-            <span class="n">fip1</span><span class="o">=</span><span class="nb">min</span><span class="p">(</span> <span class="mf">3.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="p">,</span> <span class="mf">3.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="p">)</span>
+            <span class="n">fip1</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span> <span class="mf">3.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="p">,</span> <span class="mf">3.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="p">)</span>
 
             <span class="c1"># the function value at the first sub-grid point (fi1) is determined</span>
             <span class="c1"># according to the equal area condition with Eq. (19)</span>
-            <span class="n">fi1</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fip1</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fi</span>
+            <span class="n">fi1</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fip1</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fi</span>
 
             <span class="c1"># the function value at the second sub-grid point (fi2) is determined</span>
             <span class="c1"># according Eq. (18)</span>
-            <span class="n">fi2</span><span class="o">=</span><span class="n">fi1</span><span class="o">+</span><span class="mf">1.</span><span class="o">/</span><span class="mf">3.</span><span class="o">*</span><span class="p">(</span><span class="n">fip1</span><span class="o">-</span><span class="n">fi</span><span class="p">)</span>
+            <span class="n">fi2</span> <span class="o">=</span> <span class="n">fi1</span><span class="o">+</span><span class="mf">1.</span><span class="o">/</span><span class="mf">3.</span><span class="o">*</span><span class="p">(</span><span class="n">fip1</span><span class="o">-</span><span class="n">fi</span><span class="p">)</span>
 
             <span class="c1"># apply monotonicity filter for interval before</span>
             <span class="c1"># check if there is &quot;M&quot; or &quot;W&quot; shape</span>
-            <span class="k">if</span>     <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span> \
-               <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span> \
-               <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span><span class="p">:</span>
+            <span class="k">if</span>     <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> \
+               <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> \
+               <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
 
                 <span class="c1"># the monotonicity filter corrects the value at (fim1) by</span>
                 <span class="c1"># substituting (fim1) with fmon, see Eq. (27), (28) and (29)</span>
@@ -478,11 +482,11 @@
                 <span class="c1"># recomputation of the sub-grid interval values while the</span>
                 <span class="c1"># interval boundaries (fi) and (fip2) remains unchanged</span>
                 <span class="c1"># see Eq. (18) and (19)</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">=</span><span class="n">fmon</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">]</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">=</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">fmon</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">])</span><span class="o">/</span><span class="mf">3.</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span>
-                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">=</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">fmon</span><span class="p">)</span><span class="o">/</span><span class="mf">3.</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">fmon</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">]</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">fmon</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">])</span><span class="o">/</span><span class="mf">3.</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span>
+                <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">fmon</span><span class="p">)</span><span class="o">/</span><span class="mf">3.</span>
 
             <span class="c1"># add next interval of interpolated (sub-)grid values</span>
             <span class="n">f</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">fi1</span><span class="p">)</span>
@@ -495,12 +499,12 @@
     <span class="c1"># if there is a zero data value such that g[i]=0, then the whole</span>
     <span class="c1"># interval in f has to be zero to such that f[i+1]=f[i+2]=f[i+3]=0</span>
     <span class="c1"># according to Eq. (6)</span>
-    <span class="k">if</span> <span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">==</span><span class="mf">0.</span><span class="p">:</span>
+    <span class="k">if</span> <span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="mf">0.</span><span class="p">:</span>
         <span class="c1"># apply monotonicity filter for interval before</span>
         <span class="c1"># check if there is &quot;M&quot; or &quot;W&quot; shape</span>
-        <span class="k">if</span>     <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span> \
-           <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span> \
-           <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span><span class="p">:</span>
+        <span class="k">if</span>     <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> \
+           <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> \
+           <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
 
             <span class="c1"># the monotonicity filter corrects the value at (fim1) by</span>
             <span class="c1"># substituting (fim1) with (fmon), see Eq. (27), (28) and (29)</span>
@@ -512,11 +516,11 @@
             <span class="c1"># recomputation of the sub-grid interval values while the</span>
             <span class="c1"># interval boundaries (fi) and (fip2) remains unchanged</span>
             <span class="c1"># see Eq. (18) and (19)</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">=</span><span class="n">fmon</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">]</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">=</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">fmon</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">])</span><span class="o">/</span><span class="mf">3.</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">=</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">fmon</span><span class="p">)</span><span class="o">/</span><span class="mf">3.</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">fmon</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">]</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">fmon</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">])</span><span class="o">/</span><span class="mf">3.</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">fmon</span><span class="p">)</span><span class="o">/</span><span class="mf">3.</span>
 
         <span class="n">f</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">])</span>
 
@@ -537,9 +541,9 @@
 
         <span class="c1"># apply monotonicity filter for interval before</span>
         <span class="c1"># check if there is &quot;M&quot; or &quot;W&quot; shape</span>
-        <span class="k">if</span>     <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span> \
-           <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span> \
-           <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span><span class="o">==-</span><span class="mi">1</span><span class="p">:</span>
+        <span class="k">if</span>     <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> \
+           <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> \
+           <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">])</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
 
             <span class="c1"># the monotonicity filter corrects the value at (fim1) by</span>
             <span class="c1"># substituting (fim1) with (fmon), see Eq. (27), (28) and (29)</span>
@@ -551,11 +555,11 @@
             <span class="c1"># recomputation of the sub-grid interval values while the</span>
             <span class="c1"># interval boundaries (fi) and (fip2) remains unchanged</span>
             <span class="c1"># see Eq. (18) and (19)</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">=</span><span class="n">fmon</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">]</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span><span class="o">=</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">fmon</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">])</span><span class="o">/</span><span class="mf">3.</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">=</span><span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span>
-            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">=</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">fmon</span><span class="p">)</span><span class="o">/</span><span class="mf">3.</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">fmon</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">]</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">fmon</span><span class="o">-</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">7</span><span class="p">])</span><span class="o">/</span><span class="mf">3.</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="mf">3.</span><span class="o">/</span><span class="mf">2.</span><span class="o">*</span><span class="n">g</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="mf">5.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">1.</span><span class="o">/</span><span class="mf">12.</span><span class="o">*</span><span class="n">fmon</span>
+            <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="n">f</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">fmon</span><span class="p">)</span><span class="o">/</span><span class="mf">3.</span>
 
         <span class="c1"># add next interval of interpolated (sub-)grid values</span>
         <span class="n">f</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">fi1</span><span class="p">)</span>
@@ -575,7 +579,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -594,21 +598,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/get_mars_data.html b/documentation/Sphinx/build/html/_modules/get_mars_data.html
index 1256f0b..b137cb8 100644
--- a/documentation/Sphinx/build/html/_modules/get_mars_data.html
+++ b/documentation/Sphinx/build/html/_modules/get_mars_data.html
@@ -174,27 +174,38 @@
 <span class="c1">#          (necessary for better documentation with docstrings for later</span>
 <span class="c1">#          online documentation)</span>
 <span class="c1">#        - use of UIFiles class for file selection and deletion</span>
-<span class="c1">#</span>
+<span class="c1">#        - seperated get_mars_data function into several smaller pieces:</span>
+<span class="c1">#          write_reqheader, mk_server, mk_dates, remove_old, do_retrievment</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2014-2018.</span>
-<span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
-<span class="c1">#</span>
-<span class="c1"># @Program Functionality:</span>
-<span class="c1">#    This program can be used as a module in the whole flex_extract process</span>
-<span class="c1">#    or can be run by itself to just extract MARS data from ECMWF. To do so,</span>
-<span class="c1">#    a couple of necessary parameters has to be passed with the program call.</span>
-<span class="c1">#    See documentation for more details.</span>
-<span class="c1">#</span>
-<span class="c1"># @Program Content:</span>
-<span class="c1">#    - main</span>
-<span class="c1">#    - get_mars_data</span>
-<span class="c1">#    - do_retrievement</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#*******************************************************************************</span>
-
+<span class="sd">&#39;&#39;&#39;This script extracts MARS data from ECMWF servers.</span>
+
+<span class="sd">At first, the necessary parameters from command line and CONTROL files are</span>
+<span class="sd">extracted. They define the data set to be extracted from MARS.</span>
+
+<span class="sd">This file can also be imported as a module and contains the following</span>
+<span class="sd">functions:</span>
+
+<span class="sd">    * main - the main function of the script</span>
+<span class="sd">    * get_mars_data - overall control of ECMWF data retrievment</span>
+<span class="sd">    * write_reqheader - writes the header into the mars_request file</span>
+<span class="sd">    * mk_server - creates the server connection to ECMWF servers</span>
+<span class="sd">    * mk_dates - defines the start and end date</span>
+<span class="sd">    * remove_old - deletes old retrieved grib files</span>
+<span class="sd">    * do_retrievement - creates individual retrievals</span>
+
+<span class="sd">Type: get_mars_data.py --help</span>
+<span class="sd">to get information about command line parameters.</span>
+<span class="sd">Read the documentation for usage instructions.</span>
+<span class="sd">&#39;&#39;&#39;</span>
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <span class="c1"># MODULES</span>
 <span class="c1"># ------------------------------------------------------------------------------</span>
@@ -204,13 +215,15 @@
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 
 <span class="c1"># software specific classes and modules from flex_extract</span>
+<span class="c1"># add path to local main python path for flex_extract to get full access</span>
 <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span>
     <span class="n">inspect</span><span class="o">.</span><span class="n">getfile</span><span class="p">(</span><span class="n">inspect</span><span class="o">.</span><span class="n">currentframe</span><span class="p">())))</span> <span class="o">+</span> <span class="s1">&#39;/../&#39;</span><span class="p">)</span>
 <span class="kn">import</span> <span class="nn">_config</span>
-<span class="kn">from</span> <span class="nn">tools</span> <span class="k">import</span> <span class="p">(</span><span class="n">my_error</span><span class="p">,</span> <span class="n">normal_exit</span><span class="p">,</span> <span class="n">get_cmdline_arguments</span><span class="p">,</span>
+<span class="kn">from</span> <span class="nn">tools</span> <span class="k">import</span> <span class="p">(</span><span class="n">my_error</span><span class="p">,</span> <span class="n">normal_exit</span><span class="p">,</span> <span class="n">get_cmdline_args</span><span class="p">,</span>
                    <span class="n">read_ecenv</span><span class="p">,</span> <span class="n">make_dir</span><span class="p">)</span>
 <span class="kn">from</span> <span class="nn">classes.EcFlexpart</span> <span class="k">import</span> <span class="n">EcFlexpart</span>
 <span class="kn">from</span> <span class="nn">classes.UioFiles</span> <span class="k">import</span> <span class="n">UioFiles</span>
+<span class="kn">from</span> <span class="nn">classes.MarsRetrieval</span> <span class="k">import</span> <span class="n">MarsRetrieval</span>
 
 <span class="k">try</span><span class="p">:</span>
     <span class="n">ecapi</span> <span class="o">=</span> <span class="kc">True</span>
@@ -234,7 +247,7 @@
 
 <span class="sd">    &#39;&#39;&#39;</span>
 
-    <span class="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_arguments</span><span class="p">()</span>
+    <span class="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_args</span><span class="p">()</span>
     <span class="n">c</span> <span class="o">=</span> <span class="n">ControlFile</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">controlfile</span><span class="p">)</span>
 
     <span class="n">env_parameter</span> <span class="o">=</span> <span class="n">read_ecenv</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">)</span>
@@ -243,7 +256,7 @@
     <span class="n">c</span><span class="o">.</span><span class="n">check_conditions</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">queue</span><span class="p">)</span>
 
     <span class="n">get_mars_data</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
-    <span class="n">normal_exit</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">mailfail</span><span class="p">,</span> <span class="s1">&#39;Done!&#39;</span><span class="p">)</span>
+    <span class="n">normal_exit</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">mailops</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">queue</span><span class="p">,</span> <span class="s1">&#39;Done!&#39;</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
@@ -256,7 +269,7 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    c : :obj:`ControlFile`</span>
+<span class="sd">    c : ControlFile</span>
 <span class="sd">        Contains all the parameters of CONTROL file and</span>
 <span class="sd">        command line.</span>
 
@@ -264,19 +277,78 @@
 <span class="sd">    ------</span>
 
 <span class="sd">    &#39;&#39;&#39;</span>
+    <span class="n">c</span><span class="o">.</span><span class="n">ecapi</span> <span class="o">=</span> <span class="n">ecapi</span>
 
     <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">):</span>
         <span class="n">make_dir</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">)</span>
 
-    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
+    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
         <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Retrieving EC data!&quot;</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
-        <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Printing mars requests!&quot;</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Printing mars requests!&quot;</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Retrieving EC data and printing mars request!&quot;</span><span class="p">)</span>
+        <span class="n">write_reqheader</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">_config</span><span class="o">.</span><span class="n">FILE_MARS_REQUESTS</span><span class="p">))</span>
 
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;start date </span><span class="si">%s</span><span class="s2"> &quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">start_date</span><span class="p">))</span>
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;end date </span><span class="si">%s</span><span class="s2"> &quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">end_date</span><span class="p">))</span>
 
-    <span class="k">if</span> <span class="n">ecapi</span><span class="p">:</span>
+    <span class="n">server</span> <span class="o">=</span> <span class="n">mk_server</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
+
+    <span class="c1"># if data are to be retrieved, clean up any old grib files</span>
+    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
+        <span class="n">remove_old</span><span class="p">(</span><span class="s1">&#39;*grb&#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">)</span>
+
+    <span class="c1"># --------------  flux data ------------------------------------------------</span>
+    <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">datechunk</span> <span class="o">=</span> <span class="n">mk_dates</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">fluxes</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">do_retrievement</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">server</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">datechunk</span><span class="p">,</span> <span class="n">fluxes</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+
+    <span class="c1"># --------------  non flux data --------------------------------------------</span>
+    <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">datechunk</span> <span class="o">=</span> <span class="n">mk_dates</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">fluxes</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+    <span class="n">do_retrievement</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">server</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">datechunk</span><span class="p">,</span> <span class="n">fluxes</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+
+    <span class="k">return</span></div>
+
+<div class="viewcode-block" id="write_reqheader"><a class="viewcode-back" href="../api.html#get_mars_data.write_reqheader">[docs]</a><span class="k">def</span> <span class="nf">write_reqheader</span><span class="p">(</span><span class="n">marsfile</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Writes header with column names into mars request file.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    marsfile : str</span>
+<span class="sd">        Path to the mars request file.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="n">MR</span> <span class="o">=</span> <span class="n">MarsRetrieval</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+    <span class="n">attrs</span> <span class="o">=</span> <span class="nb">vars</span><span class="p">(</span><span class="n">MR</span><span class="p">)</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+    <span class="k">del</span> <span class="n">attrs</span><span class="p">[</span><span class="s1">&#39;server&#39;</span><span class="p">]</span>
+    <span class="k">del</span> <span class="n">attrs</span><span class="p">[</span><span class="s1">&#39;public&#39;</span><span class="p">]</span>
+    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">marsfile</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+        <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;request_number&#39;</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span><span class="p">)</span>
+        <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;, &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">attrs</span><span class="o">.</span><span class="n">iterkeys</span><span class="p">())))</span>
+        <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
+
+    <span class="k">return</span></div>
+
+<div class="viewcode-block" id="mk_server"><a class="viewcode-back" href="../api.html#get_mars_data.mk_server">[docs]</a><span class="k">def</span> <span class="nf">mk_server</span><span class="p">(</span><span class="n">c</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Creates server connection if ECMWF WebAPI is available.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    c : ControlFile</span>
+<span class="sd">        Contains all the parameters of CONTROL file and</span>
+<span class="sd">        command line.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    server : ECMWFDataServer or ECMWFService</span>
+<span class="sd">        Connection to ECMWF server via python interface ECMWF WebAPI.</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">ecapi</span><span class="p">:</span>
         <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">public</span><span class="p">:</span>
             <span class="n">server</span> <span class="o">=</span> <span class="n">ecmwfapi</span><span class="o">.</span><span class="n">ECMWFDataServer</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
@@ -284,101 +356,112 @@
     <span class="k">else</span><span class="p">:</span>
         <span class="n">server</span> <span class="o">=</span> <span class="kc">False</span>
 
-    <span class="n">c</span><span class="o">.</span><span class="n">ecapi</span> <span class="o">=</span> <span class="n">ecapi</span>
     <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Using ECMWF WebAPI: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ecapi</span><span class="p">))</span>
 
-    <span class="c1"># basetime geht rückwärts</span>
+    <span class="k">return</span> <span class="n">server</span></div>
+
+
+<div class="viewcode-block" id="mk_dates"><a class="viewcode-back" href="../api.html#get_mars_data.mk_dates">[docs]</a><span class="k">def</span> <span class="nf">mk_dates</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">fluxes</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Prepares start and end date depending on flux or non flux data.</span>
+
+<span class="sd">    If forecast for maximum one day (upto 24h) are to be retrieved, then</span>
+<span class="sd">    collect accumulation data (flux data) with additional days in the</span>
+<span class="sd">    beginning and at the end (used for complete disaggregation of</span>
+<span class="sd">    original period)</span>
 
-    <span class="c1"># if basetime 00</span>
-    <span class="c1"># dann wird von 12 am vortag bis 00 am start tag geholt</span>
-    <span class="c1"># aber ohne 12 selbst sondern 12 + step</span>
+<span class="sd">    If forecast data longer than 24h are to be retrieved, then</span>
+<span class="sd">    collect accumulation data (flux data) with the exact start and end date</span>
+<span class="sd">    (disaggregation will be done for the exact time period with</span>
+<span class="sd">    boundary conditions)</span>
 
-    <span class="c1"># if basetime 12</span>
-    <span class="c1"># dann wird von 00 + step bis 12 am start tag geholt</span>
+<span class="sd">    Since for basetime the extraction contains the 12 hours upfront,</span>
+<span class="sd">    if basetime is 0, the starting date has to be the day before and</span>
 
-    <span class="c1"># purer forecast wird vorwärts bestimmt.</span>
-    <span class="c1"># purer forecast mode ist dann wenn  größer 24 stunden</span>
-    <span class="c1"># wie kann das noch festgestellt werden ????</span>
-    <span class="c1"># nur FC und steps mehr als 24 ?</span>
-    <span class="c1"># die einzige problematik beim reinen forecast ist die benennung der files!</span>
-    <span class="c1"># also sobald es Tagesüberschneidungen gibt</span>
-    <span class="c1"># allerdings ist das relevant und ersichtlich an den NICHT FLUSS DATEN</span>
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    c : ControlFile</span>
+<span class="sd">        Contains all the parameters of CONTROL file and</span>
+<span class="sd">        command line.</span>
 
+<span class="sd">    fluxes : boolean, optional</span>
+<span class="sd">        Decides if the flux parameter settings are stored or</span>
+<span class="sd">        the rest of the parameter list.</span>
+<span class="sd">        Default value is False.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    start : datetime</span>
+<span class="sd">        The start date of the retrieving data set.</span>
+
+<span class="sd">    end : datetime</span>
+<span class="sd">        The end date of the retrieving data set.</span>
+
+<span class="sd">    chunk : datetime</span>
+<span class="sd">        Time period in days for one single mars retrieval.</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
     <span class="n">start</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">start_date</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span>
     <span class="n">end</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">end_date</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span>
-    <span class="c1"># time period for one single retrieval</span>
-    <span class="n">datechunk</span> <span class="o">=</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">date_chunk</span><span class="p">))</span>
+    <span class="n">chunk</span> <span class="o">=</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">date_chunk</span><span class="p">))</span>
+
+    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span> <span class="o">==</span> <span class="s1">&#39;00&#39;</span><span class="p">:</span>
+            <span class="n">start</span> <span class="o">=</span> <span class="n">start</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
 
-    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span> <span class="o">==</span> <span class="s1">&#39;00&#39;</span><span class="p">:</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span> <span class="ow">and</span> <span class="n">fluxes</span><span class="p">:</span>
         <span class="n">start</span> <span class="o">=</span> <span class="n">start</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
+        <span class="n">end</span> <span class="o">=</span> <span class="n">end</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
 
-    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&lt;=</span> <span class="mi">24</span><span class="p">:</span>
-        <span class="n">startm1</span> <span class="o">=</span> <span class="n">start</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">chunk</span></div>
 
-    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span> <span class="o">==</span> <span class="s1">&#39;00&#39;</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span> <span class="o">==</span> <span class="s1">&#39;12&#39;</span><span class="p">:</span>
-        <span class="c1"># endp1 = end + timedelta(days=1)</span>
-        <span class="n">endp1</span> <span class="o">=</span> <span class="n">end</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="c1"># endp1 = end + timedelta(days=2)</span>
-        <span class="n">endp1</span> <span class="o">=</span> <span class="n">end</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
+<div class="viewcode-block" id="remove_old"><a class="viewcode-back" href="../api.html#get_mars_data.remove_old">[docs]</a><span class="k">def</span> <span class="nf">remove_old</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="n">inputdir</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Deletes old retrieval files from current input directory</span>
+<span class="sd">    matching the pattern.</span>
 
-    <span class="c1"># --------------  flux data ------------------------------------------------</span>
-    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
-        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... removing old flux content of &#39;</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">)</span>
-        <span class="n">tobecleaned</span> <span class="o">=</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span>
-                               <span class="s1">&#39;*_acc_*.&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">getppid</span><span class="p">())</span> <span class="o">+</span> <span class="s1">&#39;.*.grb&#39;</span><span class="p">)</span>
-        <span class="n">tobecleaned</span><span class="o">.</span><span class="n">delete_files</span><span class="p">()</span>
-
-    <span class="c1"># if forecast for maximum one day (upto 24h) are to be retrieved,</span>
-    <span class="c1"># collect accumulation data (flux data)</span>
-    <span class="c1"># with additional days in the beginning and at the end</span>
-    <span class="c1"># (used for complete disaggregation of original period)</span>
-    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&lt;=</span> <span class="mi">24</span><span class="p">:</span>
-        <span class="n">do_retrievement</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">server</span><span class="p">,</span> <span class="n">startm1</span><span class="p">,</span> <span class="n">endp1</span><span class="p">,</span> <span class="n">datechunk</span><span class="p">,</span> <span class="n">fluxes</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-
-    <span class="c1"># if forecast data longer than 24h are to be retrieved,</span>
-    <span class="c1"># collect accumulation data (flux data)</span>
-    <span class="c1"># with the exact start and end date</span>
-    <span class="c1"># (disaggregation will be done for the</span>
-    <span class="c1"># exact time period with boundary conditions)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">do_retrievement</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">server</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">datechunk</span><span class="p">,</span> <span class="n">fluxes</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    pattern : str</span>
+<span class="sd">        The sub string pattern which identifies the files to be deleted.</span>
 
-    <span class="c1"># --------------  non flux data --------------------------------------------</span>
-    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
-        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... removing old non flux content of &#39;</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">)</span>
-        <span class="n">tobecleaned</span> <span class="o">=</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span>
-                               <span class="s1">&#39;*__*.&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">getppid</span><span class="p">())</span> <span class="o">+</span> <span class="s1">&#39;.*.grb&#39;</span><span class="p">)</span>
-        <span class="n">tobecleaned</span><span class="o">.</span><span class="n">delete_files</span><span class="p">()</span>
+<span class="sd">    inputdir : str, optional</span>
+<span class="sd">        Path to the directory where the retrieved data is stored.</span>
 
-    <span class="n">do_retrievement</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">server</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">datechunk</span><span class="p">,</span> <span class="n">fluxes</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... removing old content of &#39;</span> <span class="o">+</span> <span class="n">inputdir</span><span class="p">)</span>
+
+    <span class="n">tobecleaned</span> <span class="o">=</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">pattern</span><span class="p">)</span>
+    <span class="n">tobecleaned</span><span class="o">.</span><span class="n">delete_files</span><span class="p">()</span>
 
     <span class="k">return</span></div>
 
+
 <div class="viewcode-block" id="do_retrievement"><a class="viewcode-back" href="../api.html#get_mars_data.do_retrievement">[docs]</a><span class="k">def</span> <span class="nf">do_retrievement</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">server</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">delta_t</span><span class="p">,</span> <span class="n">fluxes</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;Divides the complete retrieval period in smaller chunks and</span>
 <span class="sd">    retrieves the data from MARS.</span>
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    c : :obj:`ControlFile`</span>
+<span class="sd">    c : ControlFile</span>
 <span class="sd">        Contains all the parameters of CONTROL file and</span>
 <span class="sd">        command line.</span>
 
-<span class="sd">    server : :obj:`ECMWFService`</span>
+<span class="sd">    server : ECMWFService or ECMWFDataServer</span>
 <span class="sd">            The server connection to ECMWF.</span>
 
-<span class="sd">    start : :obj:`datetime`</span>
+<span class="sd">    start : datetime</span>
 <span class="sd">        The start date of the retrieval.</span>
 
-<span class="sd">    end : :obj:`datetime`</span>
+<span class="sd">    end : datetime</span>
 <span class="sd">        The end date of the retrieval.</span>
 
-<span class="sd">    delta_t : :obj:`datetime`</span>
+<span class="sd">    delta_t : datetime</span>
 <span class="sd">        Delta_t + 1 is the maximal time period of a single</span>
 <span class="sd">        retrieval.</span>
 
-<span class="sd">    fluxes : :obj:`boolean`, optional</span>
+<span class="sd">    fluxes : boolean, optional</span>
 <span class="sd">        Decides if the flux parameters are to be retrieved or</span>
 <span class="sd">        the rest of the parameter list.</span>
 <span class="sd">        Default value is False.</span>
@@ -429,7 +512,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -448,21 +531,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/index.html b/documentation/Sphinx/build/html/_modules/index.html
index 5dc4643..bbc7f47 100644
--- a/documentation/Sphinx/build/html/_modules/index.html
+++ b/documentation/Sphinx/build/html/_modules/index.html
@@ -151,7 +151,7 @@
   <h1>All modules for which code is available</h1>
 <ul><li><a href="ControlFile.html">ControlFile</a></li>
 <li><a href="EcFlexpart.html">EcFlexpart</a></li>
-<li><a href="GribTools.html">GribTools</a></li>
+<li><a href="GribUtil.html">GribUtil</a></li>
 <li><a href="MarsRetrieval.html">MarsRetrieval</a></li>
 <li><a href="UioFiles.html">UioFiles</a></li>
 <li><a href="disaggregation.html">disaggregation</a></li>
@@ -172,7 +172,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -191,21 +191,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/install.html b/documentation/Sphinx/build/html/_modules/install.html
index bbb3df0..dc453e7 100644
--- a/documentation/Sphinx/build/html/_modules/install.html
+++ b/documentation/Sphinx/build/html/_modules/install.html
@@ -166,37 +166,50 @@
 <span class="c1">#        - moved install_args_and_control in here</span>
 <span class="c1">#        - splitted code in smaller functions</span>
 <span class="c1">#        - delete convert build files in here instead of compile job script</span>
-<span class="c1">#        - changed static path names to Variables from config file</span>
+<span class="c1">#        - changed static path names to variables from config file</span>
+<span class="c1">#        - splitted install function into several smaller pieces</span>
+<span class="c1">#        - use of tarfile package in python</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2015-2018.</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#</span>
-<span class="c1"># @Program Functionality:</span>
-<span class="c1">#    Depending on the selected installation environment (locally or on the</span>
-<span class="c1">#    ECMWF server ecgate or cca) the program extracts the commandline</span>
-<span class="c1">#    arguments and the CONTROL file parameter and prepares the corresponding</span>
-<span class="c1">#    environment. The necessary files are collected in a tar-ball and placed</span>
-<span class="c1">#    at the target location. There its untared, the environment variables will</span>
-<span class="c1">#    be set and the Fortran code will be compiled. If the ECMWF environment is</span>
-<span class="c1">#    selected a job script is prepared and submitted for the remaining</span>
-<span class="c1">#    configurations after putting the tar-ball to the target ECMWF server.</span>
-<span class="c1">#</span>
-<span class="c1"># @Program Content:</span>
-<span class="c1">#    - main</span>
-<span class="c1">#    - get_install_cmdline_arguments</span>
-<span class="c1">#    - install_via_gateway</span>
-<span class="c1">#    - mk_tarball</span>
-<span class="c1">#    - un_tarball</span>
-<span class="c1">#    - mk_env_vars</span>
-<span class="c1">#    - mk_compilejob</span>
-<span class="c1">#    - mk_job_template</span>
-<span class="c1">#    - delete_convert_build</span>
-<span class="c1">#    - make_convert_build</span>
+<span class="c1"># @Methods:</span>
+<span class="c1">#    main</span>
+<span class="c1">#    get_install_cmdline_args</span>
+<span class="c1">#    install_via_gateway</span>
+<span class="c1">#    check_install_conditions</span>
+<span class="c1">#    mk_tarball</span>
+<span class="c1">#    un_tarball</span>
+<span class="c1">#    mk_env_vars</span>
+<span class="c1">#    mk_compilejob</span>
+<span class="c1">#    mk_job_template</span>
+<span class="c1">#    del_convert_build</span>
+<span class="c1">#    mk_convert_build</span>
 <span class="c1">#</span>
 <span class="c1">#*******************************************************************************</span>
+<span class="sd">&#39;&#39;&#39;This script installs the flex_extract program.</span>
+
+<span class="sd">Depending on the selected installation environment (locally or on the</span>
+<span class="sd">ECMWF server ecgate or cca) the program extracts the commandline</span>
+<span class="sd">arguments and the CONTROL file parameter and prepares the corresponding</span>
+<span class="sd">environment.</span>
+<span class="sd">The necessary files are collected in a tar-ball and placed</span>
+<span class="sd">at the target location. There its untared, the environment variables will</span>
+<span class="sd">be set and the Fortran code will be compiled.</span>
+<span class="sd">If the ECMWF environment is selected a job script is prepared and submitted</span>
+<span class="sd">for the remaining configurations after putting the tar-ball to the</span>
+<span class="sd">target ECMWF server.</span>
+
+<span class="sd">Type: install.py --help</span>
+<span class="sd">to get information about command line parameters.</span>
+<span class="sd">Read the documentation for usage instructions.</span>
+<span class="sd">&#39;&#39;&#39;</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <span class="c1"># MODULES</span>
@@ -206,13 +219,15 @@
 <span class="kn">import</span> <span class="nn">glob</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">import</span> <span class="nn">inspect</span>
+<span class="kn">import</span> <span class="nn">tarfile</span>
 <span class="kn">from</span> <span class="nn">argparse</span> <span class="k">import</span> <span class="n">ArgumentParser</span><span class="p">,</span> <span class="n">ArgumentDefaultsHelpFormatter</span>
 
 <span class="c1"># software specific classes and modules from flex_extract</span>
 <span class="kn">import</span> <span class="nn">_config</span>
 <span class="kn">from</span> <span class="nn">classes.ControlFile</span> <span class="k">import</span> <span class="n">ControlFile</span>
 <span class="kn">from</span> <span class="nn">classes.UioFiles</span> <span class="k">import</span> <span class="n">UioFiles</span>
-<span class="kn">from</span> <span class="nn">mods.tools</span> <span class="k">import</span> <span class="n">make_dir</span><span class="p">,</span> <span class="n">put_file_to_ecserver</span><span class="p">,</span> <span class="n">submit_job_to_ecserver</span>
+<span class="kn">from</span> <span class="nn">mods.tools</span> <span class="k">import</span> <span class="p">(</span><span class="n">make_dir</span><span class="p">,</span> <span class="n">put_file_to_ecserver</span><span class="p">,</span> <span class="n">submit_job_to_ecserver</span><span class="p">,</span>
+                        <span class="n">silent_remove</span><span class="p">,</span> <span class="n">execute_subprocess</span><span class="p">)</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <span class="c1"># FUNCTIONS</span>
@@ -228,16 +243,16 @@
 <span class="sd">    ------</span>
 <span class="sd">    &#39;&#39;&#39;</span>
 
-    <span class="n">args</span> <span class="o">=</span> <span class="n">get_install_cmdline_arguments</span><span class="p">()</span>
+    <span class="n">args</span> <span class="o">=</span> <span class="n">get_install_cmdline_args</span><span class="p">()</span>
     <span class="n">c</span> <span class="o">=</span> <span class="n">ControlFile</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">controlfile</span><span class="p">)</span>
     <span class="n">c</span><span class="o">.</span><span class="n">assign_args_to_control</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
-    <span class="n">c</span><span class="o">.</span><span class="n">check_install_conditions</span><span class="p">()</span>
+    <span class="n">check_install_conditions</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
 
     <span class="n">install_via_gateway</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
-<div class="viewcode-block" id="get_install_cmdline_arguments"><a class="viewcode-back" href="../api.html#install.get_install_cmdline_arguments">[docs]</a><span class="k">def</span> <span class="nf">get_install_cmdline_arguments</span><span class="p">():</span>
+<div class="viewcode-block" id="get_install_cmdline_args"><a class="viewcode-back" href="../api.html#install.get_install_cmdline_args">[docs]</a><span class="k">def</span> <span class="nf">get_install_cmdline_args</span><span class="p">():</span>
     <span class="sd">&#39;&#39;&#39;Decomposes the command line arguments and assigns them to variables.</span>
 <span class="sd">    Apply default values for non mentioned arguments.</span>
 
@@ -246,7 +261,7 @@
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    args : :obj:`Namespace`</span>
+<span class="sd">    args : Namespace</span>
 <span class="sd">        Contains the commandline arguments from script/program call.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="n">parser</span> <span class="o">=</span> <span class="n">ArgumentParser</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s1">&#39;Install flex_extract software locally or </span><span class="se">\</span>
@@ -267,7 +282,7 @@
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--destination&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;destination&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s1">&#39;ecaccess destination, e.g. leo@genericSftp&#39;</span><span class="p">)</span>
 
-    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--flexpart_root_scripts&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;flexpart_root_scripts&quot;</span><span class="p">,</span>
+    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--flexpartdir&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;flexpartdir&quot;</span><span class="p">,</span>
                         <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;FLEXPART root directory on ECMWF </span><span class="se">\</span>
 <span class="s2">                        servers (to find grib2flexpart and COMMAND file)</span><span class="se">\n\</span>
 <span class="s2">                        Normally flex_extract resides in the scripts directory </span><span class="se">\</span>
@@ -294,7 +309,7 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    c : :obj:`ControlFile`</span>
+<span class="sd">    c : ControlFile</span>
 <span class="sd">        Contains all the parameters of CONTROL file and</span>
 <span class="sd">        command line.</span>
 
@@ -314,10 +329,10 @@
     <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">!=</span> <span class="s1">&#39;local&#39;</span><span class="p">:</span> <span class="c1"># ecgate or cca</span>
 
         <span class="n">mk_compilejob</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">ecuid</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">ecgid</span><span class="p">,</span>
-                      <span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">)</span>
+                      <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">)</span>
 
         <span class="n">mk_job_template</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ecuid</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">ecgid</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">gateway</span><span class="p">,</span>
-                        <span class="n">c</span><span class="o">.</span><span class="n">destination</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">)</span>
+                        <span class="n">c</span><span class="o">.</span><span class="n">destination</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">)</span>
 
         <span class="n">mk_env_vars</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ecuid</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">ecgid</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">gateway</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">destination</span><span class="p">)</span>
 
@@ -330,39 +345,41 @@
                                <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_JOBSCRIPTS</span><span class="p">,</span>
                                             <span class="n">_config</span><span class="o">.</span><span class="n">FILE_INSTALL_COMPILEJOB</span><span class="p">))</span>
 
+        <span class="n">silent_remove</span><span class="p">(</span><span class="n">tar_file</span><span class="p">)</span>
+
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;job compilation script has been submitted to ecgate for &#39;</span> <span class="o">+</span>
-              <span class="s1">&#39;installation in &#39;</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span> <span class="o">+</span>
+              <span class="s1">&#39;installation in &#39;</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span> <span class="o">+</span>
                <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">target_dirname</span><span class="p">)</span>
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;You should get an email with subject &quot;flexcompile&quot; within &#39;</span> <span class="o">+</span>
               <span class="s1">&#39;the next few minutes!&#39;</span><span class="p">)</span>
 
     <span class="k">else</span><span class="p">:</span> <span class="c1">#local</span>
-        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span> <span class="o">==</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span> <span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: FLEXPART_ROOT_SCRIPTS has not been specified&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span> <span class="o">==</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span> <span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: FLEXPARTDIR has not been specified&#39;</span><span class="p">)</span>
             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;flex_extract will be installed in here by compiling the &#39;</span> <span class="o">+</span>
                   <span class="s1">&#39;Fortran source in &#39;</span> <span class="o">+</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span>
             <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span> <span class="c1"># creates the target working directory for flex_extract</span>
-            <span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span>
-                                        <span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">))</span>
-            <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">ecd</span><span class="p">)</span> <span class="o">!=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">):</span>
+            <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span>
+                                        <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">))</span>
+            <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">ecd</span><span class="p">)</span> <span class="o">!=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">):</span>
                 <span class="n">mk_tarball</span><span class="p">(</span><span class="n">tar_file</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span><span class="p">)</span>
-                <span class="n">make_dir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">,</span>
+                <span class="n">make_dir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">,</span>
                                       <span class="n">target_dirname</span><span class="p">))</span>
-                <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">,</span>
+                <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">,</span>
                                       <span class="n">target_dirname</span><span class="p">))</span>
                 <span class="n">un_tarball</span><span class="p">(</span><span class="n">tar_file</span><span class="p">)</span>
-                <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">,</span>
+                <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">,</span>
                                       <span class="n">target_dirname</span><span class="p">,</span>
                                       <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">))</span>
 
         <span class="c1"># Create Fortran executable - CONVERT2</span>
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Install &#39;</span> <span class="o">+</span> <span class="n">target_dirname</span> <span class="o">+</span> <span class="s1">&#39; software at &#39;</span> <span class="o">+</span>
               <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">+</span> <span class="s1">&#39; in directory &#39;</span> <span class="o">+</span>
-              <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpart_root_scripts</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
+              <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
 
-        <span class="n">delete_convert_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
-        <span class="n">make_convert_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span>
+        <span class="n">del_convert_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+        <span class="n">mk_convert_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span>
 
         <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">ecd</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">tar_file</span><span class="p">):</span>
@@ -370,6 +387,57 @@
 
     <span class="k">return</span></div>
 
+<div class="viewcode-block" id="check_install_conditions"><a class="viewcode-back" href="../api.html#install.check_install_conditions">[docs]</a><span class="k">def</span> <span class="nf">check_install_conditions</span><span class="p">(</span><span class="n">c</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Checks a couple of necessary attributes and conditions</span>
+<span class="sd">    for the installation such as if they exist and contain values.</span>
+<span class="sd">    Otherwise set default values.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    c : ControlFile</span>
+<span class="sd">        Contains all the parameters of CONTROL file and</span>
+<span class="sd">        command line.</span>
+
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">and</span> \
+       <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">_config</span><span class="o">.</span><span class="n">INSTALL_TARGETS</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: unknown or missing installation target &#39;</span><span class="p">)</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;target: &#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span><span class="p">)</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;please specify correct installation target &#39;</span> <span class="o">+</span>
+              <span class="nb">str</span><span class="p">(</span><span class="n">INSTALL_TARGETS</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;use -h or --help for help&#39;</span><span class="p">)</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+
+    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">!=</span> <span class="s1">&#39;local&#39;</span><span class="p">:</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">ecgid</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">ecuid</span> <span class="ow">or</span> \
+           <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">gateway</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">destination</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Please enter your ECMWF user id and group id as well &#39;</span> <span class="o">+</span>
+                  <span class="s1">&#39;as the </span><span class="se">\n</span><span class="s1">name of the local gateway and the ectrans &#39;</span> <span class="o">+</span>
+                  <span class="s1">&#39;destination &#39;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;with command line options --ecuid --ecgid </span><span class="se">\</span>
+<span class="s1">                   --gateway --destination&#39;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Try &quot;&#39;</span> <span class="o">+</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> \
+                  <span class="s1">&#39; -h&quot; to print usage information&#39;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Please consult ecaccess documentation or ECMWF user </span><span class="se">\</span>
+<span class="s1">                   support for further details&#39;</span><span class="p">)</span>
+            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">:</span>
+            <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span> <span class="o">=</span> <span class="s1">&#39;$</span><span class="si">{HOME}</span><span class="s1">&#39;</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span>
+    <span class="k">else</span><span class="p">:</span> <span class="c1"># local</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span><span class="p">:</span>
+            <span class="n">c</span><span class="o">.</span><span class="n">flexpartdir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span>
+
+    <span class="k">return</span></div>
+
+
 <div class="viewcode-block" id="mk_tarball"><a class="viewcode-back" href="../api.html#install.mk_tarball">[docs]</a><span class="k">def</span> <span class="nf">mk_tarball</span><span class="p">(</span><span class="n">tarball_path</span><span class="p">,</span> <span class="n">target</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;Creates a tarball with all necessary files which need to be sent to the</span>
 <span class="sd">    installation directory.</span>
@@ -380,18 +448,17 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    tarball_path : :obj:`string`</span>
+<span class="sd">    tarball_path : str</span>
 <span class="sd">        The complete path to the tar file which will contain all</span>
 <span class="sd">        relevant data for flex_extract.</span>
 
-<span class="sd">    target : :obj:`string`</span>
+<span class="sd">    target : str</span>
 <span class="sd">        The queue where the job is submitted to.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
 
 <span class="sd">    &#39;&#39;&#39;</span>
-    <span class="kn">import</span> <span class="nn">tarfile</span>
     <span class="kn">from</span> <span class="nn">glob</span> <span class="k">import</span> <span class="n">glob</span>
 
     <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Create tarball ...&#39;</span><span class="p">)</span>
@@ -404,38 +471,65 @@
     <span class="c1"># get lists of the files to be added to the tar file</span>
     <span class="k">if</span> <span class="n">target</span> <span class="o">==</span> <span class="s1">&#39;local&#39;</span><span class="p">:</span>
         <span class="n">ECMWF_ENV_FILE</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="n">runfile</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
+                   <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_RUN_DIR</span><span class="p">,</span>
+                                     <span class="s1">&#39;run_local.sh&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
     <span class="k">else</span><span class="p">:</span>
         <span class="n">ECMWF_ENV_FILE</span> <span class="o">=</span> <span class="p">[</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_ECMWF_ENV</span><span class="p">]</span>
+        <span class="n">runfile</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
+                       <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_RUN_DIR</span><span class="p">,</span>
+                                         <span class="s1">&#39;run.sh&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
 
     <span class="n">pyfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
-               <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_LOCAL_PYTHON</span><span class="p">,</span> <span class="s1">&#39;*py&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+               <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_PYTHON_SRC</span><span class="p">,</span> <span class="s1">&#39;*py&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+    <span class="n">pytestfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
+               <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_PYTHONTEST_SRC</span><span class="p">,</span> <span class="s1">&#39;*py&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
     <span class="n">controlfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
-                    <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_CONTROLFILES</span><span class="p">,</span>
+                    <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_CONTROLFILES</span><span class="p">,</span>
                                       <span class="s1">&#39;CONTROL*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+    <span class="n">testfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
+                 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEST</span> <span class="p">,</span> <span class="s1">&#39;*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
     <span class="n">tempfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
-                 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span> <span class="p">,</span> <span class="s1">&#39;*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+                 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEMPLATES</span> <span class="p">,</span> <span class="s1">&#39;*.temp&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+    <span class="n">nlfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
+                 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEMPLATES</span> <span class="p">,</span> <span class="s1">&#39;*.nl&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+    <span class="n">gribtable</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
+                 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_TEMPLATES</span> <span class="p">,</span> <span class="s1">&#39;*grib*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
     <span class="n">ffiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
-              <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">,</span> <span class="s1">&#39;*.f*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+              <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">,</span> <span class="s1">&#39;*.f*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
     <span class="n">hfiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
-              <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">,</span> <span class="s1">&#39;*.h&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+              <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">,</span> <span class="s1">&#39;*.h&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
     <span class="n">makefiles</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ecd</span><span class="p">)</span>
-                 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">,</span> <span class="s1">&#39;Makefile*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+                 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">,</span> <span class="s1">&#39;Makefile*&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+    <span class="n">jobdir</span> <span class="o">=</span> <span class="p">[</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_JOBSCRIPTS</span><span class="p">]</span>
 
     <span class="c1"># concatenate single lists to one for a better looping</span>
-    <span class="n">filelist</span> <span class="o">=</span> <span class="n">pyfiles</span> <span class="o">+</span> <span class="n">controlfiles</span> <span class="o">+</span> <span class="n">tempfiles</span> <span class="o">+</span> <span class="n">ffiles</span> <span class="o">+</span> <span class="n">hfiles</span> <span class="o">+</span> \
-               <span class="n">makefiles</span> <span class="o">+</span> <span class="n">ECMWF_ENV_FILE</span>
+    <span class="n">filelist</span> <span class="o">=</span> <span class="n">pyfiles</span> <span class="o">+</span> <span class="n">pytestfiles</span> <span class="o">+</span> <span class="n">controlfiles</span> <span class="o">+</span> <span class="n">tempfiles</span> <span class="o">+</span> <span class="n">nlfiles</span> <span class="o">+</span> \
+               <span class="n">ffiles</span> <span class="o">+</span> <span class="n">gribtable</span> <span class="o">+</span> <span class="n">hfiles</span> <span class="o">+</span> <span class="n">makefiles</span> <span class="o">+</span> <span class="n">ECMWF_ENV_FILE</span> <span class="o">+</span> \
+               <span class="n">runfile</span> <span class="o">+</span> <span class="n">jobdir</span> <span class="o">+</span> <span class="n">testfiles</span> <span class="o">+</span>\
+               <span class="p">[</span><span class="s1">&#39;CODE_OF_CONDUCT.md&#39;</span><span class="p">,</span> <span class="s1">&#39;LICENSE.md&#39;</span><span class="p">,</span> <span class="s1">&#39;README.md&#39;</span><span class="p">]</span>
 
     <span class="c1"># create installation tar-file</span>
+    <span class="n">exclude_files</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;.ksh&quot;</span><span class="p">]</span>
     <span class="k">try</span><span class="p">:</span>
         <span class="k">with</span> <span class="n">tarfile</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">tarball_path</span><span class="p">,</span> <span class="s2">&quot;w:gz&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">tar_handle</span><span class="p">:</span>
             <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">filelist</span><span class="p">:</span>
-                <span class="n">tar_handle</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
-
+                <span class="n">tar_handle</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="n">recursive</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                               <span class="nb">filter</span><span class="o">=</span><span class="k">lambda</span> <span class="n">tarinfo</span><span class="p">:</span> <span class="kc">None</span>
+                                      <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">tarinfo</span><span class="o">.</span><span class="n">name</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
+                                         <span class="ow">in</span> <span class="n">exclude_files</span>
+                                      <span class="k">else</span> <span class="n">tarinfo</span><span class="p">)</span>
     <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE:</span><span class="se">\n</span><span class="s1"> ... &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> ... &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
 
-        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... could not make installation tar ball!&#39;</span><span class="p">)</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... could not make installation tar ball!&#39;</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to read tar-file &#39;</span> <span class="o">+</span>
+                 <span class="nb">str</span><span class="p">(</span><span class="n">tarball_path</span><span class="p">))</span>
 
     <span class="k">return</span></div>
 
@@ -445,7 +539,7 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    tarball_path : :obj:`string`</span>
+<span class="sd">    tarball_path : str</span>
 <span class="sd">        The complete path to the tar file which will contain all</span>
 <span class="sd">        relevant data for flex_extract.</span>
 
@@ -453,12 +547,21 @@
 <span class="sd">    ------</span>
 
 <span class="sd">    &#39;&#39;&#39;</span>
-    <span class="kn">import</span> <span class="nn">tarfile</span>
 
     <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Untar ...&#39;</span><span class="p">)</span>
 
-    <span class="k">with</span> <span class="n">tarfile</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">tarball_path</span><span class="p">)</span> <span class="k">as</span> <span class="n">tar_handle</span><span class="p">:</span>
-        <span class="n">tar_handle</span><span class="o">.</span><span class="n">extractall</span><span class="p">()</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="k">with</span> <span class="n">tarfile</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">tarball_path</span><span class="p">)</span> <span class="k">as</span> <span class="n">tar_handle</span><span class="p">:</span>
+            <span class="n">tar_handle</span><span class="o">.</span><span class="n">extractall</span><span class="p">()</span>
+    <span class="k">except</span> <span class="n">tarfile</span><span class="o">.</span><span class="n">TarError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to read tar-file &#39;</span> <span class="o">+</span>
+                     <span class="nb">str</span><span class="p">(</span><span class="n">tarball_path</span><span class="p">))</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to read tar-file &#39;</span> <span class="o">+</span>
+                 <span class="nb">str</span><span class="p">(</span><span class="n">tarball_path</span><span class="p">))</span>
 
     <span class="k">return</span></div>
 
@@ -469,16 +572,16 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    ecuid : :obj:`string`</span>
+<span class="sd">    ecuid : str</span>
 <span class="sd">        The user id on ECMWF server.</span>
 
-<span class="sd">    ecgid : :obj:`string`</span>
+<span class="sd">    ecgid : str</span>
 <span class="sd">        The group id on ECMWF server.</span>
 
-<span class="sd">    gateway : :obj:`string`</span>
+<span class="sd">    gateway : str</span>
 <span class="sd">        The gateway server the user is using.</span>
 
-<span class="sd">    destination : :obj:`string`</span>
+<span class="sd">    destination : str</span>
 <span class="sd">        The remote destination which is used to transfer files</span>
 <span class="sd">        from ECMWF server to local gateway server.</span>
 
@@ -488,19 +591,39 @@
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="kn">from</span> <span class="nn">genshi.template.text</span> <span class="k">import</span> <span class="n">NewTextTemplate</span>
     <span class="kn">from</span> <span class="nn">genshi.template</span> <span class="k">import</span>  <span class="n">TemplateLoader</span>
+    <span class="kn">from</span> <span class="nn">genshi.template.eval</span> <span class="k">import</span> <span class="n">UndefinedError</span>
 
-    <span class="n">loader</span> <span class="o">=</span> <span class="n">TemplateLoader</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">auto_reload</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">ecmwfvars_template</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_USER_ENVVARS</span><span class="p">,</span>
-                                     <span class="bp">cls</span><span class="o">=</span><span class="n">NewTextTemplate</span><span class="p">)</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">loader</span> <span class="o">=</span> <span class="n">TemplateLoader</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">auto_reload</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+        <span class="n">ecmwfvars_template</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_USER_ENVVARS</span><span class="p">,</span>
+                                         <span class="bp">cls</span><span class="o">=</span><span class="n">NewTextTemplate</span><span class="p">)</span>
+
+        <span class="n">stream</span> <span class="o">=</span> <span class="n">ecmwfvars_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">user_name</span> <span class="o">=</span> <span class="n">ecuid</span><span class="p">,</span>
+                                             <span class="n">user_group</span> <span class="o">=</span> <span class="n">ecgid</span><span class="p">,</span>
+                                             <span class="n">gateway_name</span> <span class="o">=</span> <span class="n">gateway</span><span class="p">,</span>
+                                             <span class="n">destination_name</span> <span class="o">=</span> <span class="n">destination</span>
+                                             <span class="p">)</span>
+    <span class="k">except</span> <span class="n">UndefinedError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate template &#39;</span> <span class="o">+</span>
+                 <span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate template &#39;</span> <span class="o">+</span>
+                 <span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">)</span>
 
-    <span class="n">stream</span> <span class="o">=</span> <span class="n">ecmwfvars_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">user_name</span> <span class="o">=</span> <span class="n">ecuid</span><span class="p">,</span>
-                                       <span class="n">user_group</span> <span class="o">=</span> <span class="n">ecgid</span><span class="p">,</span>
-                                       <span class="n">gateway_name</span> <span class="o">=</span> <span class="n">gateway</span><span class="p">,</span>
-                                       <span class="n">destination_name</span> <span class="o">=</span> <span class="n">destination</span>
-                                       <span class="p">)</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+            <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">))</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
 
-    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-        <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">))</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to write &#39;</span> <span class="o">+</span>
+                 <span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
@@ -511,20 +634,20 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    makefile : :obj:`string`</span>
+<span class="sd">    makefile : str</span>
 <span class="sd">        Name of the makefile which should be used to compile FORTRAN</span>
 <span class="sd">        CONVERT2 program.</span>
 
-<span class="sd">    target : :obj:`string`</span>
+<span class="sd">    target : str</span>
 <span class="sd">        The target where the installation should be done, e.g. the queue.</span>
 
-<span class="sd">    ecuid : :obj:`string`</span>
+<span class="sd">    ecuid : str</span>
 <span class="sd">        The user id on ECMWF server.</span>
 
-<span class="sd">    ecgid : :obj:`string`</span>
+<span class="sd">    ecgid : str</span>
 <span class="sd">        The group id on ECMWF server.</span>
 
-<span class="sd">    fp_root : :obj:`string`</span>
+<span class="sd">    fp_root : str</span>
 <span class="sd">       Path to the root directory of FLEXPART environment or flex_extract</span>
 <span class="sd">       environment.</span>
 
@@ -534,28 +657,48 @@
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="kn">from</span> <span class="nn">genshi.template.text</span> <span class="k">import</span> <span class="n">NewTextTemplate</span>
     <span class="kn">from</span> <span class="nn">genshi.template</span> <span class="k">import</span>  <span class="n">TemplateLoader</span>
-
-    <span class="n">loader</span> <span class="o">=</span> <span class="n">TemplateLoader</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">auto_reload</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">compile_template</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_INSTALL_COMPILEJOB</span><span class="p">,</span>
-                                   <span class="bp">cls</span><span class="o">=</span><span class="n">NewTextTemplate</span><span class="p">)</span>
+    <span class="kn">from</span> <span class="nn">genshi.template.eval</span> <span class="k">import</span>  <span class="n">UndefinedError</span>
 
     <span class="k">if</span> <span class="n">fp_root</span> <span class="o">==</span> <span class="s1">&#39;../&#39;</span><span class="p">:</span>
         <span class="n">fp_root</span> <span class="o">=</span> <span class="s1">&#39;$HOME&#39;</span>
 
-    <span class="n">stream</span> <span class="o">=</span> <span class="n">compile_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span>
-        <span class="n">usergroup</span> <span class="o">=</span> <span class="n">ecgid</span><span class="p">,</span>
-        <span class="n">username</span> <span class="o">=</span> <span class="n">ecuid</span><span class="p">,</span>
-        <span class="n">version_number</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">_VERSION_STR</span><span class="p">,</span>
-        <span class="n">fp_root_scripts</span> <span class="o">=</span> <span class="n">fp_root</span><span class="p">,</span>
-        <span class="n">makefile</span> <span class="o">=</span> <span class="n">makefile</span><span class="p">,</span>
-        <span class="n">fortran_program</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">FORTRAN_EXECUTABLE</span>
-    <span class="p">)</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">loader</span> <span class="o">=</span> <span class="n">TemplateLoader</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">auto_reload</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+        <span class="n">compile_template</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_INSTALL_COMPILEJOB</span><span class="p">,</span>
+                                       <span class="bp">cls</span><span class="o">=</span><span class="n">NewTextTemplate</span><span class="p">)</span>
+
+        <span class="n">stream</span> <span class="o">=</span> <span class="n">compile_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span>
+            <span class="n">usergroup</span> <span class="o">=</span> <span class="n">ecgid</span><span class="p">,</span>
+            <span class="n">username</span> <span class="o">=</span> <span class="n">ecuid</span><span class="p">,</span>
+            <span class="n">version_number</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">_VERSION_STR</span><span class="p">,</span>
+            <span class="n">fp_root_scripts</span> <span class="o">=</span> <span class="n">fp_root</span><span class="p">,</span>
+            <span class="n">makefile</span> <span class="o">=</span> <span class="n">makefile</span><span class="p">,</span>
+            <span class="n">fortran_program</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">FORTRAN_EXECUTABLE</span>
+        <span class="p">)</span>
+    <span class="k">except</span> <span class="n">UndefinedError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate template &#39;</span> <span class="o">+</span>
+                 <span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_INSTALL_COMPILEJOB</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate template &#39;</span> <span class="o">+</span>
+                 <span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_INSTALL_COMPILEJOB</span><span class="p">)</span>
 
-    <span class="n">compilejob</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_JOBSCRIPTS</span><span class="p">,</span>
-                              <span class="n">_config</span><span class="o">.</span><span class="n">FILE_INSTALL_COMPILEJOB</span><span class="p">)</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">compilejob</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_JOBSCRIPTS</span><span class="p">,</span>
+                                  <span class="n">_config</span><span class="o">.</span><span class="n">FILE_INSTALL_COMPILEJOB</span><span class="p">)</span>
 
-    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">compilejob</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-        <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">))</span>
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">compilejob</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+            <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">))</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to write &#39;</span> <span class="o">+</span>
+                 <span class="n">compilejob</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
@@ -566,20 +709,20 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    ecuid : :obj:`string`</span>
+<span class="sd">    ecuid : str</span>
 <span class="sd">        The user id on ECMWF server.</span>
 
-<span class="sd">    ecgid : :obj:`string`</span>
+<span class="sd">    ecgid : str</span>
 <span class="sd">        The group id on ECMWF server.</span>
 
-<span class="sd">    gateway : :obj:`string`</span>
+<span class="sd">    gateway : str</span>
 <span class="sd">        The gateway server the user is using.</span>
 
-<span class="sd">    destination : :obj:`string`</span>
+<span class="sd">    destination : str</span>
 <span class="sd">        The remote destination which is used to transfer files</span>
 <span class="sd">        from ECMWF server to local gateway server.</span>
 
-<span class="sd">    fp_root : :obj:`string`</span>
+<span class="sd">    fp_root : str</span>
 <span class="sd">       Path to the root directory of FLEXPART environment or flex_extract</span>
 <span class="sd">       environment.</span>
 
@@ -589,37 +732,62 @@
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="kn">from</span> <span class="nn">genshi.template.text</span> <span class="k">import</span> <span class="n">NewTextTemplate</span>
     <span class="kn">from</span> <span class="nn">genshi.template</span> <span class="k">import</span>  <span class="n">TemplateLoader</span>
-
-    <span class="n">loader</span> <span class="o">=</span> <span class="n">TemplateLoader</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">auto_reload</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">compile_template</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_INSTALL_JOB</span><span class="p">,</span>
-                                   <span class="bp">cls</span><span class="o">=</span><span class="n">NewTextTemplate</span><span class="p">)</span>
+    <span class="kn">from</span> <span class="nn">genshi.template.eval</span> <span class="k">import</span>  <span class="n">UndefinedError</span>
 
     <span class="n">fp_root_path_to_python</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">fp_root</span><span class="p">,</span>
                                           <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span><span class="p">,</span>
-                                          <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_PYTHON</span><span class="p">)</span>
+                                          <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_PYTHON_SRC</span><span class="p">)</span>
+    <span class="k">if</span> <span class="s1">&#39;$&#39;</span> <span class="ow">in</span> <span class="n">fp_root_path_to_python</span><span class="p">:</span>
+        <span class="n">ind</span> <span class="o">=</span> <span class="n">fp_root_path_to_python</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">&#39;$&#39;</span><span class="p">)</span>
+        <span class="n">fp_root_path_to_python</span> <span class="o">=</span> <span class="n">fp_root_path_to_python</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">ind</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;$&#39;</span> <span class="o">+</span> \
+                                 <span class="n">fp_root_path_to_python</span><span class="p">[</span><span class="n">ind</span><span class="p">:]</span>
+
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">loader</span> <span class="o">=</span> <span class="n">TemplateLoader</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">auto_reload</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+        <span class="n">compile_template</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_INSTALL_JOB</span><span class="p">,</span>
+                                       <span class="bp">cls</span><span class="o">=</span><span class="n">NewTextTemplate</span><span class="p">)</span>
+
+        <span class="n">stream</span> <span class="o">=</span> <span class="n">compile_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span>
+            <span class="n">usergroup</span> <span class="o">=</span> <span class="n">ecgid</span><span class="p">,</span>
+            <span class="n">username</span> <span class="o">=</span> <span class="n">ecuid</span><span class="p">,</span>
+            <span class="n">version_number</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">_VERSION_STR</span><span class="p">,</span>
+            <span class="n">fp_root_path</span> <span class="o">=</span> <span class="n">fp_root_path_to_python</span><span class="p">,</span>
+        <span class="p">)</span>
+    <span class="k">except</span> <span class="n">UndefinedError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate template &#39;</span> <span class="o">+</span>
+                 <span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_INSTALL_JOB</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate template &#39;</span> <span class="o">+</span>
+                 <span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_INSTALL_JOB</span><span class="p">)</span>
 
-    <span class="n">stream</span> <span class="o">=</span> <span class="n">compile_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span>
-        <span class="n">usergroup</span> <span class="o">=</span> <span class="n">ecgid</span><span class="p">,</span>
-        <span class="n">username</span> <span class="o">=</span> <span class="n">ecuid</span><span class="p">,</span>
-        <span class="n">version_number</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">_VERSION_STR</span><span class="p">,</span>
-        <span class="n">fp_root_path</span> <span class="o">=</span> <span class="n">fp_root_path_to_python</span><span class="p">,</span>
-    <span class="p">)</span>
 
-    <span class="n">tempjobfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span>
-                               <span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_JOB</span><span class="p">)</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">tempjobfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span>
+                                   <span class="n">_config</span><span class="o">.</span><span class="n">TEMPFILE_JOB</span><span class="p">)</span>
+
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">tempjobfile</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+            <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">))</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
 
-    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">tempjobfile</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-        <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">))</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to write &#39;</span> <span class="o">+</span>
+                 <span class="n">tempjobfile</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
-<div class="viewcode-block" id="delete_convert_build"><a class="viewcode-back" href="../api.html#install.delete_convert_build">[docs]</a><span class="k">def</span> <span class="nf">delete_convert_build</span><span class="p">(</span><span class="n">src_path</span><span class="p">):</span>
+<div class="viewcode-block" id="del_convert_build"><a class="viewcode-back" href="../api.html#install.del_convert_build">[docs]</a><span class="k">def</span> <span class="nf">del_convert_build</span><span class="p">(</span><span class="n">src_path</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;Clean up the Fortran source directory and remove all</span>
 <span class="sd">    build files (e.g. \*.o, \*.mod and CONVERT2)</span>
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    src_path : :obj:`string`</span>
+<span class="sd">    src_path : str</span>
 <span class="sd">        Path to the fortran source directory.</span>
 
 <span class="sd">    Return</span>
@@ -637,15 +805,15 @@
 
     <span class="k">return</span></div>
 
-<div class="viewcode-block" id="make_convert_build"><a class="viewcode-back" href="../api.html#install.make_convert_build">[docs]</a><span class="k">def</span> <span class="nf">make_convert_build</span><span class="p">(</span><span class="n">src_path</span><span class="p">,</span> <span class="n">makefile</span><span class="p">):</span>
+<div class="viewcode-block" id="mk_convert_build"><a class="viewcode-back" href="../api.html#install.mk_convert_build">[docs]</a><span class="k">def</span> <span class="nf">mk_convert_build</span><span class="p">(</span><span class="n">src_path</span><span class="p">,</span> <span class="n">makefile</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;Compiles the Fortran code and generates the executable.</span>
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    src_path : :obj:`string`</span>
+<span class="sd">    src_path : str</span>
 <span class="sd">        Path to the fortran source directory.</span>
 
-<span class="sd">    makefile : :obj:`string`</span>
+<span class="sd">    makefile : str</span>
 <span class="sd">        The name of the makefile which should be used.</span>
 
 <span class="sd">    Return</span>
@@ -676,9 +844,9 @@
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: Makefile call failed:&#39;</span><span class="p">)</span>
         <span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
     <span class="k">else</span><span class="p">:</span>
-        <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span><span class="s1">&#39;ls&#39;</span><span class="p">,</span> <span class="s1">&#39;-l&#39;</span><span class="p">,</span>
-                               <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">src_path</span><span class="p">,</span>
-                                            <span class="n">_config</span><span class="o">.</span><span class="n">FORTRAN_EXECUTABLE</span><span class="p">)])</span>
+        <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">&#39;ls&#39;</span><span class="p">,</span> <span class="s1">&#39;-l&#39;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">src_path</span><span class="p">,</span>
+                            <span class="n">_config</span><span class="o">.</span><span class="n">FORTRAN_EXECUTABLE</span><span class="p">)],</span> <span class="n">error_msg</span><span class="o">=</span>
+                           <span class="s1">&#39;FORTRAN EXECUTABLE COULD NOT BE FOUND!&#39;</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
@@ -697,7 +865,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -716,21 +884,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/prepare_flexpart.html b/documentation/Sphinx/build/html/_modules/prepare_flexpart.html
index 8367caf..ec53a2e 100644
--- a/documentation/Sphinx/build/html/_modules/prepare_flexpart.html
+++ b/documentation/Sphinx/build/html/_modules/prepare_flexpart.html
@@ -174,32 +174,40 @@
 <span class="c1">#        - applied PEP8 style guide</span>
 <span class="c1">#        - added documentation</span>
 <span class="c1">#        - minor changes in programming style for consistence</span>
-<span class="c1">#        - BUG: removed call of clean_up-Function after call of</span>
+<span class="c1">#        - BUGFIX: removed call of clean_up-Function after call of</span>
 <span class="c1">#               prepareFlexpart in main since it is already called in</span>
 <span class="c1">#               prepareFlexpart at the end!</span>
 <span class="c1">#        - created function main and moved the two function calls for</span>
 <span class="c1">#          arguments and prepare_flexpart into it</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2014-2018.</span>
-<span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
-<span class="c1">#</span>
-<span class="c1"># @Program Functionality:</span>
-<span class="c1">#    This program prepares the final version of the grib files which are</span>
-<span class="c1">#    then used by FLEXPART. It converts the bunch of grib files extracted</span>
-<span class="c1">#    via get_mars_data by doing for example the necessary conversion to get</span>
-<span class="c1">#    consistent grids or the disaggregation of flux data. Finally, the</span>
-<span class="c1">#    program combines the data fields in files per available hour with the</span>
-<span class="c1">#    naming convention xxYYMMDDHH, where xx should be 2 arbitrary letters</span>
-<span class="c1">#    (mostly xx is chosen to be &quot;EN&quot;).</span>
-<span class="c1">#</span>
-<span class="c1"># @Program Content:</span>
-<span class="c1">#    - main</span>
-<span class="c1">#    - prepare_flexpart</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#*******************************************************************************</span>
+<span class="sd">&#39;&#39;&#39;This script prepares the final version of the grib files which are</span>
+<span class="sd">then used by FLEXPART.</span>
+
+<span class="sd">It converts the bunch of grib files extracted via get_mars_data before,</span>
+<span class="sd">by doing the necessary conversion to get consistent grids or the</span>
+<span class="sd">disaggregation of flux data. Finally, the data fields are combined</span>
+<span class="sd">in files per available hour with the naming convention xxYYMMDDHH,</span>
+<span class="sd">where xx should be 2 arbitrary letters (mostly xx is chosen to be &quot;EN&quot;).</span>
+
+<span class="sd">This file can also be imported as a module which then contains the following</span>
+<span class="sd">functions:</span>
+
+<span class="sd">    * main</span>
+<span class="sd">    * prepare_flexpart</span>
+
+<span class="sd">Type: prepare_flexpart.py --help</span>
+<span class="sd">to get information about command line parameters.</span>
+<span class="sd">Read the documentation for usage instructions.</span>
+<span class="sd">&#39;&#39;&#39;</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <span class="c1"># MODULES</span>
@@ -211,13 +219,14 @@
 <span class="kn">import</span> <span class="nn">socket</span>
 
 <span class="c1"># software specific classes and modules from flex_extract</span>
-
+<span class="c1"># add path to local main python path for flex_extract to get full access</span>
 <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span>
     <span class="n">inspect</span><span class="o">.</span><span class="n">getfile</span><span class="p">(</span><span class="n">inspect</span><span class="o">.</span><span class="n">currentframe</span><span class="p">())))</span> <span class="o">+</span> <span class="s1">&#39;/../&#39;</span><span class="p">)</span>
 <span class="kn">import</span> <span class="nn">_config</span>
+<span class="kn">from</span> <span class="nn">checks</span> <span class="k">import</span> <span class="n">check_ppid</span>
 <span class="kn">from</span> <span class="nn">classes.UioFiles</span> <span class="k">import</span> <span class="n">UioFiles</span>
 <span class="kn">from</span> <span class="nn">classes.ControlFile</span> <span class="k">import</span> <span class="n">ControlFile</span>
-<span class="kn">from</span> <span class="nn">tools</span> <span class="k">import</span> <span class="n">clean_up</span><span class="p">,</span> <span class="n">get_cmdline_arguments</span><span class="p">,</span> <span class="n">read_ecenv</span><span class="p">,</span> <span class="n">make_dir</span>
+<span class="kn">from</span> <span class="nn">tools</span> <span class="k">import</span> <span class="n">clean_up</span><span class="p">,</span> <span class="n">get_cmdline_args</span><span class="p">,</span> <span class="n">read_ecenv</span><span class="p">,</span> <span class="n">make_dir</span>
 <span class="kn">from</span> <span class="nn">classes.EcFlexpart</span> <span class="k">import</span> <span class="n">EcFlexpart</span>
 
 <span class="n">ecapi</span> <span class="o">=</span> <span class="s1">&#39;ecmwf&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">socket</span><span class="o">.</span><span class="n">gethostname</span><span class="p">()</span>
@@ -244,7 +253,7 @@
 
 <span class="sd">    &#39;&#39;&#39;</span>
 
-    <span class="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_arguments</span><span class="p">()</span>
+    <span class="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_args</span><span class="p">()</span>
     <span class="n">c</span> <span class="o">=</span> <span class="n">ControlFile</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">controlfile</span><span class="p">)</span>
 
     <span class="n">env_parameter</span> <span class="o">=</span> <span class="n">read_ecenv</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">)</span>
@@ -266,11 +275,11 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    ppid : :obj:`int`</span>
+<span class="sd">    ppid : int</span>
 <span class="sd">        Contains the ppid number of the current ECMWF job. It will be None if</span>
 <span class="sd">        the method was called within this module.</span>
 
-<span class="sd">    c : :obj:`ControlFile`</span>
+<span class="sd">    c : ControlFile</span>
 <span class="sd">        Contains all the parameters of CONTROL file and</span>
 <span class="sd">        command line.</span>
 
@@ -278,11 +287,7 @@
 <span class="sd">    ------</span>
 
 <span class="sd">    &#39;&#39;&#39;</span>
-
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">ppid</span><span class="p">:</span>
-        <span class="n">c</span><span class="o">.</span><span class="n">ppid</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">getppid</span><span class="p">())</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">c</span><span class="o">.</span><span class="n">ppid</span> <span class="o">=</span> <span class="n">ppid</span>
+    <span class="n">check_ppid</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">ppid</span><span class="p">)</span>
 
     <span class="n">c</span><span class="o">.</span><span class="n">ecapi</span> <span class="o">=</span> <span class="n">ecapi</span>
 
@@ -295,8 +300,9 @@
                         <span class="n">month</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">end_date</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">6</span><span class="p">]),</span>
                         <span class="n">day</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">end_date</span><span class="p">[</span><span class="mi">6</span><span class="p">:]))</span>
 
+    <span class="c1"># if basetime is 00</span>
     <span class="c1"># assign starting date minus 1 day</span>
-    <span class="c1"># since for basetime 00 we need the 12 hours upfront</span>
+    <span class="c1"># since we need the 12 hours upfront</span>
     <span class="c1"># (the day before from 12 UTC to current day 00 UTC)</span>
     <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span> <span class="o">==</span> <span class="s1">&#39;00&#39;</span><span class="p">:</span>
         <span class="n">start</span> <span class="o">=</span> <span class="n">start</span> <span class="o">-</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
@@ -316,7 +322,7 @@
     <span class="n">flexpart</span><span class="o">.</span><span class="n">write_namelist</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
     <span class="n">flexpart</span><span class="o">.</span><span class="n">deacc_fluxes</span><span class="p">(</span><span class="n">inputfiles</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span>
 
-    <span class="c1"># get a list of all files from the root inputdir</span>
+    <span class="c1"># get a list of all other files</span>
     <span class="n">inputfiles</span> <span class="o">=</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s1">&#39;????__??.*&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ppid</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;.*&#39;</span><span class="p">)</span>
 
     <span class="c1"># produce FLEXPART-ready GRIB files and process them -</span>
@@ -324,9 +330,10 @@
     <span class="n">flexpart</span> <span class="o">=</span> <span class="n">EcFlexpart</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">fluxes</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
     <span class="n">flexpart</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">inputfiles</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span>
     <span class="n">flexpart</span><span class="o">.</span><span class="n">process_output</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
+
+    <span class="c1"># make use of a possible conversion to a</span>
+    <span class="c1"># specific flexpart binary format</span>
     <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">grib2flexpart</span><span class="p">:</span>
-        <span class="c1"># prepare environment for a FLEXPART run</span>
-        <span class="c1"># to convert grib to flexpart binary format</span>
         <span class="n">flexpart</span><span class="o">.</span><span class="n">prepare_fp_files</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
 
     <span class="c1"># check if in debugging mode, then store all files</span>
@@ -352,7 +359,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -371,21 +378,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/submit.html b/documentation/Sphinx/build/html/_modules/submit.html
index 1c09c65..698b355 100644
--- a/documentation/Sphinx/build/html/_modules/submit.html
+++ b/documentation/Sphinx/build/html/_modules/submit.html
@@ -170,27 +170,42 @@
 <span class="c1">#        - minor changes in programming style (for consistence)</span>
 <span class="c1">#        - changed path names to variables from config file</span>
 <span class="c1">#        - added option for writing mars requests to extra file</span>
-<span class="c1">#          additionally,as option without submitting the mars jobs</span>
+<span class="c1">#          additionally, as option without submitting the mars jobs</span>
+<span class="c1">#        - splitted submit function to use genshi templates for the</span>
+<span class="c1">#          job script and avoid code duplication</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2014-2018.</span>
-<span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
-<span class="c1">#</span>
-<span class="c1"># @Program Functionality:</span>
-<span class="c1">#    This program is the main program of flex_extract and controls the</span>
-<span class="c1">#    program flow.</span>
-<span class="c1">#    If it is supposed to work locally then it works through the necessary</span>
-<span class="c1">#    functions get_mars_data and prepareFlexpart. Otherwise it prepares</span>
-<span class="c1">#    a shell job script which will do the necessary work on the</span>
-<span class="c1">#    ECMWF server and is submitted via ecaccess-job-submit.</span>
-<span class="c1">#</span>
-<span class="c1"># @Program Content:</span>
-<span class="c1">#    - main</span>
-<span class="c1">#    - submit</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#*******************************************************************************</span>
+<span class="sd">&#39;&#39;&#39;This script allows the user to extract meteorological fields from the ECMWF.</span>
+
+<span class="sd">It prepares the settings for retrieving the data from ECMWF servers and</span>
+<span class="sd">process the resulting files to prepare them for the use with FLEXPART or</span>
+<span class="sd">FLEXTRA.</span>
+
+<span class="sd">If it is supposed to work locally then it works through the necessary</span>
+<span class="sd">functions get_mars_data and prepare_flexpart. Otherwise it prepares</span>
+<span class="sd">a job script (korn shell) which will do the necessary work on the</span>
+<span class="sd">ECMWF server. This script will de submitted via the ecaccess command</span>
+<span class="sd">ecaccess-job-submit.</span>
+
+<span class="sd">This file can also be imported as a module which then contains the following</span>
+<span class="sd">functions:</span>
+
+<span class="sd">    * main - the main function of the script</span>
+<span class="sd">    * submit - calls mk_jobscript depending on operation mode and submits its</span>
+<span class="sd">    * mk_jobscript - creates the job script from a template</span>
+
+<span class="sd">Type: submit.py --help</span>
+<span class="sd">to get information about command line parameters.</span>
+<span class="sd">Read the documentation for usage instructions.</span>
+<span class="sd">&#39;&#39;&#39;</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <span class="c1"># MODULES</span>
@@ -200,17 +215,18 @@
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">import</span> <span class="nn">inspect</span>
 <span class="kn">import</span> <span class="nn">collections</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 
 <span class="c1"># software specific classes and modules from flex_extract</span>
 <span class="kn">import</span> <span class="nn">_config</span>
-<span class="kn">from</span> <span class="nn">mods.tools</span> <span class="k">import</span> <span class="p">(</span><span class="n">normal_exit</span><span class="p">,</span> <span class="n">get_cmdline_arguments</span><span class="p">,</span>
+<span class="kn">from</span> <span class="nn">mods.tools</span> <span class="k">import</span> <span class="p">(</span><span class="n">normal_exit</span><span class="p">,</span> <span class="n">get_cmdline_args</span><span class="p">,</span>
                         <span class="n">submit_job_to_ecserver</span><span class="p">,</span> <span class="n">read_ecenv</span><span class="p">)</span>
 <span class="kn">from</span> <span class="nn">mods.get_mars_data</span> <span class="k">import</span> <span class="n">get_mars_data</span>
 <span class="kn">from</span> <span class="nn">mods.prepare_flexpart</span> <span class="k">import</span> <span class="n">prepare_flexpart</span>
 <span class="kn">from</span> <span class="nn">classes.ControlFile</span> <span class="k">import</span> <span class="n">ControlFile</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
-<span class="c1"># FUNCTIONS</span>
+<span class="c1"># METHODS</span>
 <span class="c1"># ------------------------------------------------------------------------------</span>
 
 <div class="viewcode-block" id="main"><a class="viewcode-back" href="../api.html#submit.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
@@ -227,7 +243,7 @@
 
 <span class="sd">    &#39;&#39;&#39;</span>
 
-    <span class="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_arguments</span><span class="p">()</span>
+    <span class="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_args</span><span class="p">()</span>
     <span class="n">c</span> <span class="o">=</span> <span class="n">ControlFile</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">controlfile</span><span class="p">)</span>
 
     <span class="n">env_parameter</span> <span class="o">=</span> <span class="n">read_ecenv</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">)</span>
@@ -246,32 +262,35 @@
         <span class="n">get_mars_data</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">request</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
             <span class="n">prepare_flexpart</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">ppid</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span>
-            <span class="n">normal_exit</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">mailfail</span><span class="p">,</span> <span class="s1">&#39;FLEX_EXTRACT IS DONE!&#39;</span><span class="p">)</span>
+            <span class="n">exit_message</span> <span class="o">=</span> <span class="s1">&#39;FLEX_EXTRACT IS DONE!&#39;</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">normal_exit</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">mailfail</span><span class="p">,</span> <span class="s1">&#39;PRINTING MARS_REQUESTS DONE!&#39;</span><span class="p">)</span>
-    <span class="c1"># send files to ECMWF server and install there</span>
+            <span class="n">exit_message</span> <span class="o">=</span> <span class="s1">&#39;PRINTING MARS_REQUESTS DONE!&#39;</span>
+    <span class="c1"># send files to ECMWF server</span>
     <span class="k">else</span><span class="p">:</span>
         <span class="n">submit</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">job_template</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">queue</span><span class="p">)</span>
+        <span class="n">exit_message</span> <span class="o">=</span> <span class="s1">&#39;FLEX_EXTRACT JOB SCRIPT IS SUBMITED!&#39;</span>
+
+    <span class="n">normal_exit</span><span class="p">(</span><span class="n">exit_message</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
 <div class="viewcode-block" id="submit"><a class="viewcode-back" href="../api.html#submit.submit">[docs]</a><span class="k">def</span> <span class="nf">submit</span><span class="p">(</span><span class="n">jtemplate</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">queue</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;Prepares the job script and submit it to the specified queue.</span>
+    <span class="sd">&#39;&#39;&#39;Prepares the job script and submits it to the specified queue.</span>
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    jtemplate : :obj:`string`</span>
+<span class="sd">    jtemplate : str</span>
 <span class="sd">        Job template file from sub-directory &quot;_templates&quot; for</span>
 <span class="sd">        submission to ECMWF. It contains all necessary</span>
 <span class="sd">        module and variable settings for the ECMWF environment as well as</span>
 <span class="sd">        the job call and mail report instructions.</span>
 <span class="sd">        Default is &quot;job.temp&quot;.</span>
 
-<span class="sd">    c : :obj:`ControlFile`</span>
+<span class="sd">    c : ControlFile</span>
 <span class="sd">        Contains all the parameters of CONTROL file and</span>
 <span class="sd">        command line.</span>
 
-<span class="sd">    queue : :obj:`string`</span>
+<span class="sd">    queue : str</span>
 <span class="sd">        Name of queue for submission to ECMWF (e.g. ecgate or cca )</span>
 
 <span class="sd">    Return</span>
@@ -279,59 +298,127 @@
 
 <span class="sd">    &#39;&#39;&#39;</span>
 
-    <span class="c1"># read template file and get index for CONTROL input</span>
-    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">jtemplate</span><span class="p">))</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-        <span class="n">lftext</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
-    <span class="n">insert_point</span> <span class="o">=</span> <span class="n">lftext</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">&#39;EOF&#39;</span><span class="p">)</span>
-
     <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">basetime</span><span class="p">:</span>
     <span class="c1"># --------- create on demand job script ------------------------------------</span>
-        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="mi">24</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">purefc</span><span class="p">:</span>
             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;---- Pure forecast mode! ----&#39;</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;---- On-demand mode! ----&#39;</span><span class="p">)</span>
+
         <span class="n">job_file</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_JOBSCRIPTS</span><span class="p">,</span>
-                                <span class="n">jtemplate</span><span class="p">[:</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;ksh&#39;</span><span class="p">)</span>
-        <span class="n">clist</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">to_list</span><span class="p">()</span>
+                                <span class="n">jtemplate</span><span class="p">[:</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;.ksh&#39;</span><span class="p">)</span>
 
-        <span class="n">lftextondemand</span> <span class="o">=</span> <span class="n">lftext</span><span class="p">[:</span><span class="n">insert_point</span><span class="p">]</span> <span class="o">+</span> <span class="n">clist</span> <span class="o">+</span> <span class="n">lftext</span><span class="p">[</span><span class="n">insert_point</span><span class="p">:]</span>
+        <span class="c1"># divide time periode into specified number of job chunks</span>
+        <span class="c1"># to have multiple job scripts</span>
+        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">job_chunk</span><span class="p">:</span>
+            <span class="n">start</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">start_date</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span>
+            <span class="n">end</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">end_date</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span>
+            <span class="n">chunk</span> <span class="o">=</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="n">c</span><span class="o">.</span><span class="n">job_chunk</span><span class="p">)</span>
 
-        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">job_file</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-            <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">lftextondemand</span><span class="p">))</span>
+            <span class="k">while</span> <span class="n">start</span> <span class="o">&lt;=</span> <span class="n">end</span><span class="p">:</span>
+                <span class="k">if</span> <span class="p">(</span><span class="n">start</span> <span class="o">+</span> <span class="n">chunk</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="n">end</span><span class="p">:</span>
+                    <span class="n">c</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="p">(</span><span class="n">start</span> <span class="o">+</span> <span class="n">chunk</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y%m</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">c</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">end</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y%m</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)</span>
 
-        <span class="n">submit_job_to_ecserver</span><span class="p">(</span><span class="n">queue</span><span class="p">,</span> <span class="n">job_file</span><span class="p">)</span>
+                <span class="n">clist</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">to_list</span><span class="p">()</span>
+
+                <span class="n">mk_jobscript</span><span class="p">(</span><span class="n">jtemplate</span><span class="p">,</span> <span class="n">job_file</span><span class="p">,</span> <span class="n">clist</span><span class="p">)</span>
+
+                <span class="n">job_id</span> <span class="o">=</span> <span class="n">submit_job_to_ecserver</span><span class="p">(</span><span class="n">queue</span><span class="p">,</span> <span class="n">job_file</span><span class="p">)</span>
+                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;The job id is: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">job_id</span><span class="o">.</span><span class="n">strip</span><span class="p">()))</span>
+
+                <span class="n">start</span> <span class="o">=</span> <span class="n">start</span> <span class="o">+</span> <span class="n">chunk</span>
+                <span class="n">c</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">start</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y%m</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)</span>
+        <span class="c1"># submit a single job script</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">clist</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">to_list</span><span class="p">()</span>
+
+            <span class="n">mk_jobscript</span><span class="p">(</span><span class="n">jtemplate</span><span class="p">,</span> <span class="n">job_file</span><span class="p">,</span> <span class="n">clist</span><span class="p">)</span>
+
+            <span class="n">job_id</span> <span class="o">=</span> <span class="n">submit_job_to_ecserver</span><span class="p">(</span><span class="n">queue</span><span class="p">,</span> <span class="n">job_file</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;The job id is: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">job_id</span><span class="o">.</span><span class="n">strip</span><span class="p">()))</span>
 
     <span class="k">else</span><span class="p">:</span>
     <span class="c1"># --------- create operational job script ----------------------------------</span>
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;---- Operational mode! ----&#39;</span><span class="p">)</span>
+
         <span class="n">job_file</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_JOBSCRIPTS</span><span class="p">,</span>
                                 <span class="n">jtemplate</span><span class="p">[:</span><span class="o">-</span><span class="mi">5</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;oper.ksh&#39;</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span><span class="p">:</span>
-            <span class="n">mt</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">maxstep</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">mt</span> <span class="o">=</span> <span class="mi">0</span>
-
         <span class="n">c</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="s1">&#39;$</span><span class="si">{MSJ_YEAR}</span><span class="s1">$</span><span class="si">{MSJ_MONTH}</span><span class="s1">$</span><span class="si">{MSJ_DAY}</span><span class="s1">&#39;</span>
         <span class="n">c</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="s1">&#39;$</span><span class="si">{MSJ_YEAR}</span><span class="s1">$</span><span class="si">{MSJ_MONTH}</span><span class="s1">$</span><span class="si">{MSJ_DAY}</span><span class="s1">&#39;</span>
         <span class="n">c</span><span class="o">.</span><span class="n">base_time</span> <span class="o">=</span> <span class="s1">&#39;$</span><span class="si">{MSJ_BASETIME}</span><span class="s1">&#39;</span>
-        <span class="k">if</span> <span class="n">mt</span> <span class="o">&gt;</span> <span class="mi">24</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">maxstep</span> <span class="o">&gt;</span> <span class="mi">24</span><span class="p">:</span>
             <span class="n">c</span><span class="o">.</span><span class="n">time</span> <span class="o">=</span> <span class="s1">&#39;$</span><span class="si">{MSJ_BASETIME}</span><span class="s1"> </span><span class="si">{MSJ_BASETIME}</span><span class="s1">&#39;</span>
 
-        <span class="n">colist</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">to_list</span><span class="p">()</span>
+        <span class="n">clist</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">to_list</span><span class="p">()</span>
 
-        <span class="n">lftextoper</span> <span class="o">=</span> <span class="n">lftext</span><span class="p">[:</span><span class="n">insert_point</span><span class="p">]</span> <span class="o">+</span> <span class="n">colist</span> <span class="o">+</span> <span class="n">lftext</span><span class="p">[</span><span class="n">insert_point</span> <span class="o">+</span> <span class="mi">2</span><span class="p">:]</span>
+        <span class="n">mk_jobscript</span><span class="p">(</span><span class="n">jtemplate</span><span class="p">,</span> <span class="n">job_file</span><span class="p">,</span> <span class="n">clist</span><span class="p">)</span>
 
-        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">job_file</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-            <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">lftextoper</span><span class="p">))</span>
+        <span class="n">job_id</span> <span class="o">=</span> <span class="n">submit_job_to_ecserver</span><span class="p">(</span><span class="n">queue</span><span class="p">,</span> <span class="n">job_file</span><span class="p">)</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;The job id is: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">job_id</span><span class="o">.</span><span class="n">strip</span><span class="p">()))</span>
+
+    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;You should get an email per job with subject flex.hostname.pid&#39;</span><span class="p">)</span>
 
-        <span class="n">submit_job_to_ecserver</span><span class="p">(</span><span class="n">queue</span><span class="p">,</span> <span class="n">job_file</span><span class="p">)</span>
+    <span class="k">return</span></div>
+
+<div class="viewcode-block" id="mk_jobscript"><a class="viewcode-back" href="../api.html#submit.mk_jobscript">[docs]</a><span class="k">def</span> <span class="nf">mk_jobscript</span><span class="p">(</span><span class="n">jtemplate</span><span class="p">,</span> <span class="n">job_file</span><span class="p">,</span> <span class="n">clist</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Creates the job script from template.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    jtemplate : str</span>
+<span class="sd">        Job template file from sub-directory &quot;_templates&quot; for</span>
+<span class="sd">        submission to ECMWF. It contains all necessary</span>
+<span class="sd">        module and variable settings for the ECMWF environment as well as</span>
+<span class="sd">        the job call and mail report instructions.</span>
+<span class="sd">        Default is &quot;job.temp&quot;.</span>
+
+<span class="sd">    job_file : str</span>
+<span class="sd">        Path to the job script file.</span>
 
-    <span class="c1"># --------------------------------------------------------------------------</span>
-    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;You should get an email with subject flex.hostname.pid&#39;</span><span class="p">)</span>
+<span class="sd">    clist : list of str</span>
+<span class="sd">        Contains all necessary parameters for ECMWF CONTROL file.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="kn">from</span> <span class="nn">genshi.template.text</span> <span class="k">import</span> <span class="n">NewTextTemplate</span>
+    <span class="kn">from</span> <span class="nn">genshi.template</span> <span class="k">import</span>  <span class="n">TemplateLoader</span>
+    <span class="kn">from</span> <span class="nn">genshi.template.eval</span> <span class="k">import</span> <span class="n">UndefinedError</span>
+
+    <span class="c1"># load template and insert control content as list</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">loader</span> <span class="o">=</span> <span class="n">TemplateLoader</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_TEMPLATES</span><span class="p">,</span> <span class="n">auto_reload</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+        <span class="n">control_template</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">jtemplate</span><span class="p">,</span>
+                                       <span class="bp">cls</span><span class="o">=</span><span class="n">NewTextTemplate</span><span class="p">)</span>
+
+        <span class="n">stream</span> <span class="o">=</span> <span class="n">control_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">control_content</span><span class="o">=</span><span class="n">clist</span><span class="p">)</span>
+    <span class="k">except</span> <span class="n">UndefinedError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate jobscript&#39;</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to generate jobscript&#39;</span><span class="p">)</span>
+
+    <span class="c1"># create jobscript file</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">job_file</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+            <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">))</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... error occured while trying to write &#39;</span> <span class="o">+</span> <span class="n">job_file</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
+
 <span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
     <span class="n">main</span><span class="p">()</span>
 </pre></div>
@@ -346,7 +433,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -365,21 +452,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_modules/tools.html b/documentation/Sphinx/build/html/_modules/tools.html
index cc69bc1..e32aec1 100644
--- a/documentation/Sphinx/build/html/_modules/tools.html
+++ b/documentation/Sphinx/build/html/_modules/tools.html
@@ -166,36 +166,47 @@
 <span class="c1">#        - created functions: interpret_args_and_control, clean_up</span>
 <span class="c1">#          my_error, normal_exit, init128, to_param_id</span>
 <span class="c1">#</span>
-<span class="c1">#    April 2018 - Anne Philipp (University of Vienna):</span>
+<span class="c1">#    April - December 2018 - Anne Philipp (University of Vienna):</span>
 <span class="c1">#        - applied PEP8 style guide</span>
 <span class="c1">#        - added documentation</span>
-<span class="c1">#        - moved all functions from file Flexparttools to this file tools</span>
-<span class="c1">#        - added function get_list_as_string</span>
+<span class="c1">#        - moved all non class methods from former file Flexparttools in here</span>
 <span class="c1">#        - seperated args and control interpretation</span>
+<span class="c1">#        - added functions get_list_as_string, read_ecenv, send_mail, make_dir,</span>
+<span class="c1">#          put_file_to_ecserver, submit_job_to_ecserver, get_informations,</span>
+<span class="c1">#          get_dimensions, execute_subprocess, none_or_int, none_or_str</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
-<span class="c1">#    (C) Copyright 2014-2018.</span>
+<span class="c1">#    (C) Copyright 2014-2019.</span>
+<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
 <span class="c1">#</span>
-<span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
-<span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
-<span class="c1">#</span>
-<span class="c1"># @Modul Description:</span>
-<span class="c1">#    This module contains a couple of helpful functions which are</span>
-<span class="c1">#    used in different places in flex_extract.</span>
-<span class="c1">#</span>
-<span class="c1"># @Module Content:</span>
-<span class="c1">#    - get_cmdline_arguments</span>
-<span class="c1">#    - clean_up</span>
-<span class="c1">#    - my_error</span>
-<span class="c1">#    - normal_exit</span>
-<span class="c1">#    - product</span>
-<span class="c1">#    - silent_remove</span>
-<span class="c1">#    - init128</span>
-<span class="c1">#    - to_param_id</span>
-<span class="c1">#    - get_list_as_string</span>
-<span class="c1">#    - make_dir</span>
+<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
+<span class="c1">#    International License. To view a copy of this license, visit</span>
+<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
+<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
 <span class="c1">#</span>
+<span class="c1"># @Methods:</span>
+<span class="c1">#    none_or_str</span>
+<span class="c1">#    none_or_int</span>
+<span class="c1">#    get_cmdline_args</span>
+<span class="c1">#    read_ecenv</span>
+<span class="c1">#    clean_up</span>
+<span class="c1">#    my_error</span>
+<span class="c1">#    send_mail</span>
+<span class="c1">#    normal_exit</span>
+<span class="c1">#    product</span>
+<span class="c1">#    silent_remove</span>
+<span class="c1">#    init128</span>
+<span class="c1">#    to_param_id</span>
+<span class="c1">#    get_list_as_string</span>
+<span class="c1">#    make_dir</span>
+<span class="c1">#    put_file_to_ecserver</span>
+<span class="c1">#    submit_job_to_ecserver</span>
+<span class="c1">#    get_informations</span>
+<span class="c1">#    get_dimensions</span>
+<span class="c1">#    execute_subprocess</span>
 <span class="c1">#*******************************************************************************</span>
+<span class="sd">&#39;&#39;&#39;This module contains a collection of diverse tasks within flex_extract.</span>
+<span class="sd">&#39;&#39;&#39;</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <span class="c1"># MODULES</span>
@@ -206,10 +217,12 @@
 <span class="kn">import</span> <span class="nn">glob</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">import</span> <span class="nn">traceback</span>
+<span class="kn">import</span> <span class="nn">exceptions</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span>
 <span class="kn">from</span> <span class="nn">argparse</span> <span class="k">import</span> <span class="n">ArgumentParser</span><span class="p">,</span> <span class="n">ArgumentDefaultsHelpFormatter</span>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
-<span class="c1"># FUNCTIONS</span>
+<span class="c1"># METHODS</span>
 <span class="c1"># ------------------------------------------------------------------------------</span>
 
 <div class="viewcode-block" id="none_or_str"><a class="viewcode-back" href="../api.html#tools.none_or_str">[docs]</a><span class="k">def</span> <span class="nf">none_or_str</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
@@ -218,7 +231,7 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    value : :obj:`string`</span>
+<span class="sd">    value : str</span>
 <span class="sd">        String to be checked for the &quot;None&quot; word.</span>
 
 <span class="sd">    Return</span>
@@ -237,7 +250,7 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    value : :obj:`string`</span>
+<span class="sd">    value : str</span>
 <span class="sd">        String to be checked for the &quot;None&quot; word.</span>
 
 <span class="sd">    Return</span>
@@ -251,7 +264,7 @@
         <span class="k">return</span> <span class="kc">None</span>
     <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="get_cmdline_arguments"><a class="viewcode-back" href="../api.html#tools.get_cmdline_arguments">[docs]</a><span class="k">def</span> <span class="nf">get_cmdline_arguments</span><span class="p">():</span>
+<div class="viewcode-block" id="get_cmdline_args"><a class="viewcode-back" href="../api.html#tools.get_cmdline_args">[docs]</a><span class="k">def</span> <span class="nf">get_cmdline_args</span><span class="p">():</span>
     <span class="sd">&#39;&#39;&#39;Decomposes the command line arguments and assigns them to variables.</span>
 <span class="sd">    Apply default values for non mentioned arguments.</span>
 
@@ -260,7 +273,7 @@
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    args : :obj:`Namespace`</span>
+<span class="sd">    args : Namespace</span>
 <span class="sd">        Contains the commandline arguments from script/program call.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
 
@@ -268,7 +281,7 @@
 <span class="s1">                                ECMWF MARS archive&#39;</span><span class="p">,</span>
                             <span class="n">formatter_class</span><span class="o">=</span><span class="n">ArgumentDefaultsHelpFormatter</span><span class="p">)</span>
 
-    <span class="c1"># the most important arguments</span>
+    <span class="c1"># control parameters that override control file values</span>
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--start_date&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;start_date&quot;</span><span class="p">,</span>
                         <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;start date YYYYMMDD&quot;</span><span class="p">)</span>
@@ -278,23 +291,12 @@
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--date_chunk&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;date_chunk&quot;</span><span class="p">,</span>
                         <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;# of days to be retrieved at once&quot;</span><span class="p">)</span>
+    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--job_chunk&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;job_chunk&quot;</span><span class="p">,</span>
+                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;# of days to be retrieved within a single job&quot;</span><span class="p">)</span>
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--controlfile&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;controlfile&quot;</span><span class="p">,</span>
                         <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;CONTROL.temp&#39;</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;file with CONTROL parameters&quot;</span><span class="p">)</span>
-
-    <span class="c1"># parameter for extra output information</span>
-    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--debug&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;debug&quot;</span><span class="p">,</span>
-                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;debug mode - leave temporary files intact&quot;</span><span class="p">)</span>
-    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--request&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;request&quot;</span><span class="p">,</span>
-                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;list all mars request in file mars_requests.dat </span><span class="se">\</span>
-<span class="s2">                        and skip submission to mars&quot;</span><span class="p">)</span>
-    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--public&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;public&quot;</span><span class="p">,</span>
-                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;public mode - retrieves the public datasets&quot;</span><span class="p">)</span>
-
-    <span class="c1"># some arguments that override the default in the CONTROL file</span>
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--basetime&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;basetime&quot;</span><span class="p">,</span>
                         <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;base such as 00 or 12 (for half day retrievals)&quot;</span><span class="p">)</span>
@@ -308,14 +310,30 @@
                         <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;area defined as north/west/south/east&quot;</span><span class="p">)</span>
 
-    <span class="c1"># set the working directories</span>
+    <span class="c1"># some switches</span>
+    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--debug&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;debug&quot;</span><span class="p">,</span>
+                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;debug mode - leave temporary files intact&quot;</span><span class="p">)</span>
+    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--request&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;request&quot;</span><span class="p">,</span>
+                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;list all mars requests in file mars_requests.dat&quot;</span><span class="p">)</span>
+    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--public&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;public&quot;</span><span class="p">,</span>
+                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;public mode - retrieves the public datasets&quot;</span><span class="p">)</span>
+    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--rrint&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;rrint&quot;</span><span class="p">,</span>
+                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;select old or new precipitation interpolation </span><span class="se">\</span>
+<span class="s2">                        0 - old method</span><span class="se">\</span>
+<span class="s2">                        1 - new method (additional subgrid points)&quot;</span><span class="p">)</span>
+
+    <span class="c1"># set directories</span>
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--inputdir&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;inputdir&quot;</span><span class="p">,</span>
                         <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;root directory for storing intermediate files&quot;</span><span class="p">)</span>
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--outputdir&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;outputdir&quot;</span><span class="p">,</span>
                         <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;root directory for storing output files&quot;</span><span class="p">)</span>
-    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--flexpart_root_scripts&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;flexpart_root_scripts&quot;</span><span class="p">,</span>
+    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--flexpartdir&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;flexpartdir&quot;</span><span class="p">,</span>
                         <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;FLEXPART root directory (to find grib2flexpart </span><span class="se">\</span>
 <span class="s2">                        and COMMAND file)</span><span class="se">\n</span><span class="s2"> Normally flex_extract resides in </span><span class="se">\</span>
@@ -323,7 +341,7 @@
 
     <span class="c1"># this is only used by prepare_flexpart.py to rerun a postprocessing step</span>
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--ppid&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;ppid&quot;</span><span class="p">,</span>
-                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;specify parent process id for </span><span class="se">\</span>
 <span class="s2">                        rerun of prepare_flexpart&quot;</span><span class="p">)</span>
 
@@ -340,36 +358,45 @@
 
     <span class="k">return</span> <span class="n">args</span></div>
 
-<div class="viewcode-block" id="read_ecenv"><a class="viewcode-back" href="../api.html#tools.read_ecenv">[docs]</a><span class="k">def</span> <span class="nf">read_ecenv</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
+<div class="viewcode-block" id="read_ecenv"><a class="viewcode-back" href="../api.html#tools.read_ecenv">[docs]</a><span class="k">def</span> <span class="nf">read_ecenv</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;Reads the file into a dictionary where the key values are the parameter</span>
 <span class="sd">    names.</span>
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    filename : :obj:`string`</span>
+<span class="sd">    filepath : str</span>
 <span class="sd">        Path to file where the ECMWF environment parameters are stored.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    envs : :obj:`dictionary`</span>
+<span class="sd">    envs : dict</span>
 <span class="sd">        Contains the environment parameter ecuid, ecgid, gateway</span>
 <span class="sd">        and destination for ECMWF server environments.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="n">envs</span><span class="o">=</span> <span class="p">{}</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">f</span><span class="p">:</span>
+                <span class="n">data</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
+                <span class="n">envs</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">])]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
 
-    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-        <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">f</span><span class="p">:</span>
-            <span class="n">data</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
-            <span class="n">envs</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">])]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... Error occured while trying to read ECMWF_ENV &#39;</span>
+                     <span class="s1">&#39;file: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">filepath</span><span class="p">))</span>
 
     <span class="k">return</span> <span class="n">envs</span></div>
 
 <div class="viewcode-block" id="clean_up"><a class="viewcode-back" href="../api.html#tools.clean_up">[docs]</a><span class="k">def</span> <span class="nf">clean_up</span><span class="p">(</span><span class="n">c</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;Remove all files from intermediate directory (inputdir).</span>
+    <span class="sd">&#39;&#39;&#39;Remove files from the intermediate directory (inputdir).</span>
+
+<span class="sd">    It keeps the final FLEXPART input files if program runs without</span>
+<span class="sd">    ECMWF Api and keywords &quot;ectrans&quot; or &quot;ecstorage&quot; are set to &quot;1&quot;.</span>
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    c : :obj:`ControlFile`</span>
+<span class="sd">    c : ControlFile</span>
 <span class="sd">        Contains all the parameters of CONTROL file and</span>
 <span class="sd">        command line.</span>
 
@@ -378,16 +405,19 @@
 
 <span class="sd">    &#39;&#39;&#39;</span>
 
-    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;clean_up&quot;</span><span class="p">)</span>
+    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;... clean inputdir!&quot;</span><span class="p">)</span>
 
-    <span class="n">cleanlist</span> <span class="o">=</span> <span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span> <span class="o">+</span> <span class="s2">&quot;/*&quot;</span><span class="p">)</span>
-    <span class="k">for</span> <span class="n">clist</span> <span class="ow">in</span> <span class="n">cleanlist</span><span class="p">:</span>
-        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">prefix</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">clist</span><span class="p">:</span>
-            <span class="n">silent_remove</span><span class="p">(</span><span class="n">clist</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">ecapi</span> <span class="ow">is</span> <span class="kc">False</span> <span class="ow">and</span> <span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ectrans</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">ecstorage</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span><span class="p">):</span>
-            <span class="n">silent_remove</span><span class="p">(</span><span class="n">clist</span><span class="p">)</span>
+    <span class="n">cleanlist</span> <span class="o">=</span> <span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s2">&quot;*&quot;</span><span class="p">))</span>
 
-    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Done&quot;</span><span class="p">)</span>
+    <span class="k">if</span> <span class="n">cleanlist</span><span class="p">:</span>
+        <span class="k">for</span> <span class="n">element</span> <span class="ow">in</span> <span class="n">cleanlist</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">prefix</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">element</span><span class="p">:</span>
+                <span class="n">silent_remove</span><span class="p">(</span><span class="n">element</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">ecapi</span> <span class="ow">is</span> <span class="kc">False</span> <span class="ow">and</span> <span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ectrans</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">ecstorage</span> <span class="o">==</span> <span class="mi">1</span><span class="p">):</span>
+                <span class="n">silent_remove</span><span class="p">(</span><span class="n">element</span><span class="p">)</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;... done!&quot;</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;... nothing to clean!&quot;</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
@@ -398,12 +428,12 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    user : :obj:`list` of :obj:`string`</span>
+<span class="sd">    user : list of str</span>
 <span class="sd">        Contains all email addresses which should be notified.</span>
 <span class="sd">        It might also contain just the ecmwf user name which wil trigger</span>
 <span class="sd">        mailing to the associated email address for this user.</span>
 
-<span class="sd">    message : :obj:`string`, optional</span>
+<span class="sd">    message : str, optional</span>
 <span class="sd">        Error message. Default value is &quot;ERROR&quot;.</span>
 
 <span class="sd">    Return</span>
@@ -411,76 +441,86 @@
 
 <span class="sd">    &#39;&#39;&#39;</span>
 
-    <span class="nb">print</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
+    <span class="n">trace</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">traceback</span><span class="o">.</span><span class="n">format_stack</span><span class="p">())</span>
+    <span class="n">full_message</span> <span class="o">=</span> <span class="n">message</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">&#39;</span> <span class="o">+</span> <span class="n">trace</span>
 
-    <span class="c1"># comment if user does not want email notification directly from python</span>
-    <span class="k">for</span> <span class="n">user</span> <span class="ow">in</span> <span class="n">users</span><span class="p">:</span>
-        <span class="k">if</span> <span class="s1">&#39;$</span><span class="si">{USER}</span><span class="s1">&#39;</span> <span class="ow">in</span> <span class="n">user</span><span class="p">:</span>
-            <span class="n">user</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;USER&#39;</span><span class="p">)</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s1">&#39;mail&#39;</span><span class="p">,</span> <span class="s1">&#39;-s flex_extract_v7.1 ERROR&#39;</span><span class="p">,</span>
-                                  <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">user</span><span class="p">)],</span>
-                                 <span class="n">stdin</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
-                                 <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
-                                 <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
-                                 <span class="n">bufsize</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
-            <span class="n">trace</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">traceback</span><span class="o">.</span><span class="n">format_stack</span><span class="p">())</span>
-            <span class="n">pout</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="n">communicate</span><span class="p">(</span><span class="nb">input</span><span class="o">=</span><span class="n">message</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">&#39;</span> <span class="o">+</span> <span class="n">trace</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
-        <span class="k">except</span> <span class="ne">ValueError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: &#39;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
-            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;Email could not be sent!&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Email sent to &#39;</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span>
-                  <span class="n">pout</span><span class="o">.</span><span class="n">decode</span><span class="p">())</span>
+    <span class="nb">print</span><span class="p">(</span><span class="n">full_message</span><span class="p">)</span>
+
+    <span class="n">send_mail</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="s1">&#39;ERROR&#39;</span><span class="p">,</span> <span class="n">full_message</span><span class="p">)</span>
 
     <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
 
-<div class="viewcode-block" id="normal_exit"><a class="viewcode-back" href="../api.html#tools.normal_exit">[docs]</a><span class="k">def</span> <span class="nf">normal_exit</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s1">&#39;Done!&#39;</span><span class="p">):</span>
+<div class="viewcode-block" id="send_mail"><a class="viewcode-back" href="../api.html#tools.send_mail">[docs]</a><span class="k">def</span> <span class="nf">send_mail</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">success_mode</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;Prints a specific exit message which can be passed to the function.</span>
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    user : :obj:`list` of :obj:`string`</span>
+<span class="sd">    users : list of str</span>
 <span class="sd">        Contains all email addresses which should be notified.</span>
 <span class="sd">        It might also contain just the ecmwf user name which wil trigger</span>
 <span class="sd">        mailing to the associated email address for this user.</span>
 
-<span class="sd">    message : :obj:`string`, optional</span>
+<span class="sd">    success_mode : str</span>
+<span class="sd">        States the exit mode of the program to put into</span>
+<span class="sd">        the mail subject line.</span>
+
+<span class="sd">    message : str, optional</span>
 <span class="sd">        Message for exiting program. Default value is &quot;Done!&quot;.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
 
 <span class="sd">    &#39;&#39;&#39;</span>
-    <span class="nb">print</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
 
-    <span class="c1"># comment if user does not want notification directly from python</span>
     <span class="k">for</span> <span class="n">user</span> <span class="ow">in</span> <span class="n">users</span><span class="p">:</span>
         <span class="k">if</span> <span class="s1">&#39;$</span><span class="si">{USER}</span><span class="s1">&#39;</span> <span class="ow">in</span> <span class="n">user</span><span class="p">:</span>
             <span class="n">user</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;USER&#39;</span><span class="p">)</span>
         <span class="k">try</span><span class="p">:</span>
-            <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s1">&#39;mail&#39;</span><span class="p">,</span> <span class="s1">&#39;-s flex_extract_v7.1 normal exit&#39;</span><span class="p">,</span>
-                                  <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">user</span><span class="p">)],</span>
+            <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s1">&#39;mail&#39;</span><span class="p">,</span> <span class="s1">&#39;-s flex_extract_v7.1 &#39;</span> <span class="o">+</span>
+                                  <span class="n">success_mode</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">user</span><span class="p">)],</span>
                                  <span class="n">stdin</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
                                  <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
                                  <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
                                  <span class="n">bufsize</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
-            <span class="n">pout</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="n">communicate</span><span class="p">(</span><span class="nb">input</span><span class="o">=</span><span class="n">message</span><span class="o">+</span><span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
+            <span class="n">pout</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="n">communicate</span><span class="p">(</span><span class="nb">input</span><span class="o">=</span><span class="n">message</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
         <span class="k">except</span> <span class="ne">ValueError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: &#39;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Email could not be sent!&#39;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... Email could not be sent!&#39;</span><span class="p">)</span>
+        <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... Email could not be sent!&#39;</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Email sent to &#39;</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span>
-                  <span class="n">pout</span><span class="o">.</span><span class="n">decode</span><span class="p">())</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Email sent to &#39;</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">user</span><span class="p">))</span>
+
+    <span class="k">return</span></div>
+
+
+<div class="viewcode-block" id="normal_exit"><a class="viewcode-back" href="../api.html#tools.normal_exit">[docs]</a><span class="k">def</span> <span class="nf">normal_exit</span><span class="p">(</span><span class="n">message</span><span class="o">=</span><span class="s1">&#39;Done!&#39;</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Prints a specific exit message which can be passed to the function.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    message : str, optional</span>
+<span class="sd">        Message for exiting program. Default value is &quot;Done!&quot;.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">message</span><span class="p">))</span>
 
     <span class="k">return</span></div>
 
 
 <div class="viewcode-block" id="product"><a class="viewcode-back" href="../api.html#tools.product">[docs]</a><span class="k">def</span> <span class="nf">product</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwds</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;This method combines the single characters of the passed arguments</span>
+    <span class="sd">&#39;&#39;&#39;Creates combinations of all passed arguments.</span>
+
+<span class="sd">    This method combines the single characters of the passed arguments</span>
 <span class="sd">    with each other. So that each character of each argument value</span>
 <span class="sd">    will be combined with each character of the other arguments as a tuple.</span>
 
@@ -497,10 +537,10 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    \*args : :obj:`tuple`</span>
+<span class="sd">    \*args : list or str</span>
 <span class="sd">        Positional arguments (arbitrary number).</span>
 
-<span class="sd">    \*\*kwds : :obj:`dictionary`</span>
+<span class="sd">    \*\*kwds : dict</span>
 <span class="sd">        Contains all the keyword arguments from \*args.</span>
 
 <span class="sd">    Return</span>
@@ -509,12 +549,15 @@
 <span class="sd">        Return will be done with &quot;yield&quot;. A tuple of combined arguments.</span>
 <span class="sd">        See example in description above.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
-    <span class="n">pools</span> <span class="o">=</span> <span class="nb">map</span><span class="p">(</span><span class="nb">tuple</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span> <span class="o">*</span> <span class="n">kwds</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;repeat&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
-    <span class="n">result</span> <span class="o">=</span> <span class="p">[[]]</span>
-    <span class="k">for</span> <span class="n">pool</span> <span class="ow">in</span> <span class="n">pools</span><span class="p">:</span>
-        <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="o">+</span> <span class="p">[</span><span class="n">y</span><span class="p">]</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">result</span> <span class="k">for</span> <span class="n">y</span> <span class="ow">in</span> <span class="n">pool</span><span class="p">]</span>
-    <span class="k">for</span> <span class="n">prod</span> <span class="ow">in</span> <span class="n">result</span><span class="p">:</span>
-        <span class="k">yield</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">prod</span><span class="p">)</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">pools</span> <span class="o">=</span> <span class="nb">map</span><span class="p">(</span><span class="nb">tuple</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span> <span class="o">*</span> <span class="n">kwds</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;repeat&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="p">[[]]</span>
+        <span class="k">for</span> <span class="n">pool</span> <span class="ow">in</span> <span class="n">pools</span><span class="p">:</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="o">+</span> <span class="p">[</span><span class="n">y</span><span class="p">]</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">result</span> <span class="k">for</span> <span class="n">y</span> <span class="ow">in</span> <span class="n">pool</span><span class="p">]</span>
+        <span class="k">for</span> <span class="n">prod</span> <span class="ow">in</span> <span class="n">result</span><span class="p">:</span>
+            <span class="k">yield</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">prod</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">TypeError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... PRODUCT GENERATION FAILED!&#39;</span><span class="p">)</span>
 
     <span class="k">return</span></div>
 
@@ -525,7 +568,7 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    filename : :obj:`string`</span>
+<span class="sd">    filename : str</span>
 <span class="sd">        The name of the file to be removed without notification.</span>
 
 <span class="sd">    Return</span>
@@ -535,8 +578,10 @@
     <span class="k">try</span><span class="p">:</span>
         <span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span>
     <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-        <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">errno</span> <span class="o">!=</span> <span class="n">errno</span><span class="o">.</span><span class="n">ENOENT</span><span class="p">:</span>
-            <span class="c1"># errno.ENOENT  =  no such file or directory</span>
+        <span class="c1"># errno.ENOENT  =  no such file or directory</span>
+        <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">errno</span> <span class="o">==</span> <span class="n">errno</span><span class="o">.</span><span class="n">ENOENT</span><span class="p">:</span>
+            <span class="k">pass</span>
+        <span class="k">else</span><span class="p">:</span>
             <span class="k">raise</span>  <span class="c1"># re-raise exception if a different error occured</span>
 
     <span class="k">return</span></div>
@@ -547,22 +592,30 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    filepath : :obj:`string`</span>
+<span class="sd">    filepath : str</span>
 <span class="sd">        Path to file of ECMWF grib table number 128.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    table128 : :obj:`dictionary`</span>
+<span class="sd">    table128 : dict</span>
 <span class="sd">        Contains the ECMWF grib table 128 information.</span>
 <span class="sd">        The key is the parameter number and the value is the</span>
 <span class="sd">        short name of the parameter.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="n">table128</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
-    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-        <span class="n">fdata</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
-    <span class="k">for</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">fdata</span><span class="p">:</span>
-        <span class="k">if</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;!&#39;</span><span class="p">:</span>
-            <span class="n">table128</span><span class="p">[</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">3</span><span class="p">]]</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">59</span><span class="p">:</span><span class="mi">64</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+            <span class="n">fdata</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... Error occured while trying to read parameter &#39;</span>
+                 <span class="s1">&#39;table file: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">filepath</span><span class="p">))</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">for</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">fdata</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;!&#39;</span><span class="p">:</span>
+                <span class="n">table128</span><span class="p">[</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">3</span><span class="p">]]</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">59</span><span class="p">:</span><span class="mi">64</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
 
     <span class="k">return</span> <span class="n">table128</span></div>
 
@@ -572,23 +625,28 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    pars : :obj:`string`</span>
+<span class="sd">    pars : str</span>
 <span class="sd">        Addpar argument from CONTROL file in the format of</span>
 <span class="sd">        parameter names instead of ids. The parameter short</span>
 <span class="sd">        names are sepearted with &quot;/&quot; and they are passed as</span>
 <span class="sd">        one single string.</span>
 
-<span class="sd">    table : :obj:`dictionary`</span>
+<span class="sd">    table : dict</span>
 <span class="sd">        Contains the ECMWF grib table 128 information.</span>
 <span class="sd">        The key is the parameter number and the value is the</span>
 <span class="sd">        short name of the parameter.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    ipar : :obj:`list` of :obj:`integer`</span>
+<span class="sd">    ipar : list of int</span>
 <span class="sd">        List of addpar parameters from CONTROL file transformed to</span>
 <span class="sd">        parameter ids in the format of integer.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">pars</span><span class="p">:</span>
+        <span class="k">return</span> <span class="p">[]</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">pars</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+        <span class="n">pars</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">pars</span><span class="p">)</span>
+
     <span class="n">cpar</span> <span class="o">=</span> <span class="n">pars</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
     <span class="n">ipar</span> <span class="o">=</span> <span class="p">[]</span>
     <span class="k">for</span> <span class="n">par</span> <span class="ow">in</span> <span class="n">cpar</span><span class="p">:</span>
@@ -606,31 +664,35 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    list_obj : :obj:`list`</span>
+<span class="sd">    list_obj : list of *</span>
 <span class="sd">        A list with arbitrary content.</span>
 
-<span class="sd">    concatenate_sign : :obj:`string`, optional</span>
+<span class="sd">    concatenate_sign : str, optional</span>
 <span class="sd">        A string which is used to concatenate the single</span>
 <span class="sd">        list elements. Default value is &quot;, &quot;.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    str_of_list : :obj:`string`</span>
+<span class="sd">    str_of_list : str</span>
 <span class="sd">        The content of the list as a single string.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
 
+    <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">list_obj</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
+        <span class="n">list_obj</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">list_obj</span><span class="p">)</span>
     <span class="n">str_of_list</span> <span class="o">=</span> <span class="n">concatenate_sign</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">l</span><span class="p">)</span> <span class="k">for</span> <span class="n">l</span> <span class="ow">in</span> <span class="n">list_obj</span><span class="p">)</span>
 
     <span class="k">return</span> <span class="n">str_of_list</span></div>
 
 <div class="viewcode-block" id="make_dir"><a class="viewcode-back" href="../api.html#tools.make_dir">[docs]</a><span class="k">def</span> <span class="nf">make_dir</span><span class="p">(</span><span class="n">directory</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;Creates a directory and gives a warning if the directory</span>
-<span class="sd">    already exists. The program stops only if there is another problem.</span>
+    <span class="sd">&#39;&#39;&#39;Creates a directory.</span>
+
+<span class="sd">    It gives a warning if the directory already exists and skips process.</span>
+<span class="sd">    The program stops only if there is another problem.</span>
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    directory : :obj:`string`</span>
-<span class="sd">        The directory name including the path which should be created.</span>
+<span class="sd">    directory : str</span>
+<span class="sd">        The path to directory which should be created.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
@@ -639,11 +701,11 @@
     <span class="k">try</span><span class="p">:</span>
         <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">directory</span><span class="p">)</span>
     <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-        <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">errno</span> <span class="o">!=</span> <span class="n">errno</span><span class="o">.</span><span class="n">EEXIST</span><span class="p">:</span>
-            <span class="c1"># errno.EEXIST = directory already exists</span>
-            <span class="k">raise</span> <span class="c1"># re-raise exception if a different error occured</span>
-        <span class="k">else</span><span class="p">:</span>
+        <span class="c1"># errno.EEXIST = directory already exists</span>
+        <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">errno</span> <span class="o">==</span> <span class="n">errno</span><span class="o">.</span><span class="n">EEXIST</span><span class="p">:</span>
             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: Directory </span><span class="si">{0}</span><span class="s1"> already exists!&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">directory</span><span class="p">))</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="c1"># re-raise exception if a different error occured</span>
 
     <span class="k">return</span></div>
 
@@ -658,43 +720,47 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    ecd : :obj:`string`</span>
+<span class="sd">    ecd : str</span>
 <span class="sd">        The path were the file is stored.</span>
 
-<span class="sd">    filename : :obj:`string`</span>
+<span class="sd">    filename : str</span>
 <span class="sd">        The name of the file to send to the ECMWF server.</span>
 
-<span class="sd">    target : :obj:`string`</span>
+<span class="sd">    target : str</span>
 <span class="sd">        The target queue where the file should be sent to.</span>
 
-<span class="sd">    ecuid : :obj:`string`</span>
+<span class="sd">    ecuid : str</span>
 <span class="sd">        The user id on ECMWF server.</span>
 
-<span class="sd">    ecgid : :obj:`string`</span>
+<span class="sd">    ecgid : str</span>
 <span class="sd">        The group id on ECMWF server.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    rcode : :obj:`string`</span>
-<span class="sd">        Resulting code of command execution. If successful the string</span>
-<span class="sd">        will be empty.</span>
+
 <span class="sd">    &#39;&#39;&#39;</span>
 
     <span class="k">try</span><span class="p">:</span>
-        <span class="n">rcode</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_output</span><span class="p">([</span><span class="s1">&#39;ecaccess-file-put&#39;</span><span class="p">,</span>
-                                          <span class="n">ecd</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">filename</span><span class="p">,</span>
-                                          <span class="n">target</span> <span class="o">+</span> <span class="s1">&#39;:/home/ms/&#39;</span> <span class="o">+</span>
-                                          <span class="n">ecgid</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">ecuid</span> <span class="o">+</span>
-                                          <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">filename</span><span class="p">],</span>
-                                         <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">STDOUT</span><span class="p">)</span>
+        <span class="n">subprocess</span><span class="o">.</span><span class="n">check_output</span><span class="p">([</span><span class="s1">&#39;ecaccess-file-put&#39;</span><span class="p">,</span>
+                                 <span class="n">ecd</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">filename</span><span class="p">,</span>
+                                 <span class="n">target</span> <span class="o">+</span> <span class="s1">&#39;:/home/ms/&#39;</span> <span class="o">+</span>
+                                 <span class="n">ecgid</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">ecuid</span> <span class="o">+</span>
+                                 <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">filename</span><span class="p">],</span>
+                                <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">STDOUT</span><span class="p">)</span>
     <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE:</span><span class="se">\n</span><span class="s1"> ... &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
-        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> ... &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
 
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... Do you have a valid ecaccess certification key?&#39;</span><span class="p">)</span>
         <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... ECACCESS-FILE-PUT FAILED!&#39;</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
 
-    <span class="k">return</span> <span class="n">rcode</span></div>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... Most likely the ECACCESS library is not available!&#39;</span><span class="p">)</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... ECACCESS-FILE-PUT FAILED!&#39;</span><span class="p">)</span>
+
+    <span class="k">return</span></div>
 
 <div class="viewcode-block" id="submit_job_to_ecserver"><a class="viewcode-back" href="../api.html#tools.submit_job_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">submit_job_to_ecserver</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">jobname</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;Uses ecaccess-job-submit command to submit a job to the ECMWF server.</span>
@@ -707,33 +773,178 @@
 
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
-<span class="sd">    target : :obj:`string`</span>
+<span class="sd">    target : str</span>
 <span class="sd">        The target where the file should be sent to, e.g. the queue.</span>
 
-<span class="sd">    jobname : :obj:`string`</span>
+<span class="sd">    jobname : str</span>
 <span class="sd">        The name of the jobfile to be submitted to the ECMWF server.</span>
 
 <span class="sd">    Return</span>
 <span class="sd">    ------</span>
-<span class="sd">    rcode : :obj:`string`</span>
-<span class="sd">        Resulting code of command execution. If successful the string</span>
-<span class="sd">        will contain an integer number, representing the id of the job</span>
-<span class="sd">        at the ecmwf server.</span>
+<span class="sd">    job_id : int</span>
+<span class="sd">        The id number of the job as a reference at the ecmwf server.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
 
     <span class="k">try</span><span class="p">:</span>
-        <span class="n">rcode</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_output</span><span class="p">([</span><span class="s1">&#39;ecaccess-job-submit&#39;</span><span class="p">,</span>
-                                         <span class="s1">&#39;-queueName&#39;</span><span class="p">,</span> <span class="n">target</span><span class="p">,</span>
-                                         <span class="n">jobname</span><span class="p">])</span>
-    <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE:</span><span class="se">\n</span><span class="s1"> ... &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
-        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> ... &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+        <span class="n">job_id</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">check_output</span><span class="p">([</span><span class="s1">&#39;ecaccess-job-submit&#39;</span><span class="p">,</span> <span class="s1">&#39;-queueName&#39;</span><span class="p">,</span>
+                                          <span class="n">target</span><span class="p">,</span> <span class="n">jobname</span><span class="p">])</span>
 
+    <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
 
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... Do you have a valid ecaccess certification key?&#39;</span><span class="p">)</span>
         <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... ECACCESS-JOB-SUBMIT FAILED!&#39;</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">... Most likely the ECACCESS library is not available!&#39;</span><span class="p">)</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... ECACCESS-JOB-SUBMIT FAILED!&#39;</span><span class="p">)</span>
+
+    <span class="k">return</span> <span class="n">job_id</span></div>
+
+
+<div class="viewcode-block" id="get_informations"><a class="viewcode-back" href="../api.html#tools.get_informations">[docs]</a><span class="k">def</span> <span class="nf">get_informations</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Gets basic information from an example grib file.</span>
+
+<span class="sd">    These information are important for later use and the</span>
+<span class="sd">    initialization of numpy arrays for data storing.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    filename : str</span>
+<span class="sd">            Name of the file which will be opened to extract basic information.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    data : dict</span>
+<span class="sd">        Contains basic informations of the ECMWF grib files, e.g.</span>
+<span class="sd">        &#39;Ni&#39;, &#39;Nj&#39;, &#39;latitudeOfFirstGridPointInDegrees&#39;,</span>
+<span class="sd">        &#39;longitudeOfFirstGridPointInDegrees&#39;, &#39;latitudeOfLastGridPointInDegrees&#39;,</span>
+<span class="sd">        &#39;longitudeOfLastGridPointInDegrees&#39;, &#39;jDirectionIncrementInDegrees&#39;,</span>
+<span class="sd">        &#39;iDirectionIncrementInDegrees&#39;, &#39;missingValue&#39;</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="kn">from</span> <span class="nn">eccodes</span> <span class="k">import</span> <span class="n">codes_grib_new_from_file</span><span class="p">,</span> <span class="n">codes_get</span><span class="p">,</span> <span class="n">codes_release</span>
+
+    <span class="n">data</span> <span class="o">=</span> <span class="p">{}</span>
+
+    <span class="c1"># --- open file ---</span>
+    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opening file for getting information data --- </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">filename</span><span class="p">)</span>
+    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+        <span class="c1"># load first message from file</span>
+        <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
+
+        <span class="c1"># information needed from grib message</span>
+        <span class="n">keys</span> <span class="o">=</span> <span class="p">[</span>
+                <span class="s1">&#39;Ni&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;Nj&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;latitudeOfFirstGridPointInDegrees&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;longitudeOfFirstGridPointInDegrees&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;latitudeOfLastGridPointInDegrees&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;longitudeOfLastGridPointInDegrees&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;jDirectionIncrementInDegrees&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;iDirectionIncrementInDegrees&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;missingValue&#39;</span><span class="p">,</span>
+               <span class="p">]</span>
+
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Informations are: &#39;</span><span class="p">)</span>
+        <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keys</span><span class="p">:</span>
+            <span class="c1"># Get the value of the key in a grib message.</span>
+            <span class="n">data</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span><span class="n">key</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2"> = </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span><span class="n">data</span><span class="p">[</span><span class="n">key</span><span class="p">]))</span>
+
+        <span class="c1"># Free the memory for the message referred as gribid.</span>
+        <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
+
+    <span class="k">return</span> <span class="n">data</span></div>
+
+
+<div class="viewcode-block" id="get_dimensions"><a class="viewcode-back" href="../api.html#tools.get_dimensions">[docs]</a><span class="k">def</span> <span class="nf">get_dimensions</span><span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">purefc</span><span class="p">,</span> <span class="n">dtime</span><span class="p">,</span> <span class="n">index_vals</span><span class="p">,</span> <span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;This function specifies the correct dimensions for x, y and t.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    info : dict</span>
+<span class="sd">        Contains basic informations of the ECMWF grib files, e.g.</span>
+<span class="sd">        &#39;Ni&#39;, &#39;Nj&#39;, &#39;latitudeOfFirstGridPointInDegrees&#39;,</span>
+<span class="sd">        &#39;longitudeOfFirstGridPointInDegrees&#39;, &#39;latitudeOfLastGridPointInDegrees&#39;,</span>
+<span class="sd">        &#39;longitudeOfLastGridPointInDegrees&#39;, &#39;jDirectionIncrementInDegrees&#39;,</span>
+<span class="sd">        &#39;iDirectionIncrementInDegrees&#39;, &#39;missingValue&#39;</span>
 
-    <span class="k">return</span> <span class="n">rcode</span></div>
+<span class="sd">    purefc : int</span>
+<span class="sd">        Switch for definition of pure forecast mode or not.</span>
+
+<span class="sd">    dtime : str</span>
+<span class="sd">        Time step in hours.</span>
+
+<span class="sd">    index_vals : list of list of str</span>
+<span class="sd">        Contains the values from the keys used for a distinct selection</span>
+<span class="sd">        of grib messages in processing  the grib files.</span>
+<span class="sd">        Content looks like e.g.:</span>
+<span class="sd">        index_vals[0]: (&#39;20171106&#39;, &#39;20171107&#39;, &#39;20171108&#39;) ; date</span>
+<span class="sd">        index_vals[1]: (&#39;0&#39;, &#39;1200&#39;, &#39;1800&#39;, &#39;600&#39;) ; time</span>
+<span class="sd">        index_vals[2]: (&#39;0&#39;, &#39;12&#39;, &#39;3&#39;, &#39;6&#39;, &#39;9&#39;) ; stepRange</span>
+
+<span class="sd">    start_date : str</span>
+<span class="sd">        The start date of the retrieval job.</span>
+
+<span class="sd">    end_date : str</span>
+<span class="sd">        The end date of the retrieval job.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    (ix, jy, it) : tuple of int</span>
+<span class="sd">        Dimension in x-direction, y-direction and in time.</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="n">ix</span> <span class="o">=</span> <span class="n">info</span><span class="p">[</span><span class="s1">&#39;Ni&#39;</span><span class="p">]</span>
+
+    <span class="n">jy</span> <span class="o">=</span> <span class="n">info</span><span class="p">[</span><span class="s1">&#39;Nj&#39;</span><span class="p">]</span>
+
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">purefc</span><span class="p">:</span>
+        <span class="n">it</span> <span class="o">=</span> <span class="p">((</span><span class="n">end_date</span> <span class="o">-</span> <span class="n">start_date</span><span class="p">)</span><span class="o">.</span><span class="n">days</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">*</span> <span class="mi">24</span><span class="o">/</span><span class="nb">int</span><span class="p">(</span><span class="n">dtime</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="c1"># #no of step * #no of times * #no of days</span>
+        <span class="n">it</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">index_vals</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">index_vals</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">index_vals</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+
+    <span class="k">return</span> <span class="p">(</span><span class="n">ix</span><span class="p">,</span> <span class="n">jy</span><span class="p">,</span> <span class="n">it</span><span class="p">)</span></div>
+
+
+<div class="viewcode-block" id="execute_subprocess"><a class="viewcode-back" href="../api.html#tools.execute_subprocess">[docs]</a><span class="k">def</span> <span class="nf">execute_subprocess</span><span class="p">(</span><span class="n">cmd_list</span><span class="p">,</span> <span class="n">error_msg</span><span class="o">=</span><span class="s1">&#39;SUBPROCESS FAILED!&#39;</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Executes a command line instruction via a subprocess.</span>
+
+<span class="sd">    Error handling is done if an error occures.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    cmd_list : list of str</span>
+<span class="sd">        A list of the components for the command line execution. Each</span>
+<span class="sd">        list entry is a single part of the command which is seperated from</span>
+<span class="sd">        the rest by a blank space.</span>
+<span class="sd">        E.g. [&#39;mv&#39;, file1, file2]</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    error_msg : str, optional</span>
+<span class="sd">        The possible error message if the subprocess failed.</span>
+<span class="sd">        By default it will just tell &quot;SUBPROCESS FAILED!&quot;.</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">(</span><span class="n">cmd_list</span><span class="p">)</span>
+    <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... &#39;</span> <span class="o">+</span> <span class="n">error_msg</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR CODE: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">errno</span><span class="p">))</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;... ERROR MESSAGE:</span><span class="se">\n</span><span class="s1"> </span><span class="se">\t</span><span class="s1"> &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">strerror</span><span class="p">))</span>
+
+        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;... &#39;</span> <span class="o">+</span> <span class="n">error_msg</span><span class="p">)</span>
+
+    <span class="k">return</span></div>
 </pre></div>
 
            </div>
@@ -746,7 +957,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -765,21 +976,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/_sources/api.rst.txt b/documentation/Sphinx/build/html/_sources/api.rst.txt
index 5b4acb2..90f99f7 100644
--- a/documentation/Sphinx/build/html/_sources/api.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/api.rst.txt
@@ -34,10 +34,10 @@ EcFlexpart
 .. automodule:: EcFlexpart
     :members:
     
-GribTools
+GribUtil
 *********
 
-.. automodule:: GribTools
+.. automodule:: GribUtil
     :members:
 
 MarsRetrieval
diff --git a/documentation/Sphinx/build/html/_sources/index.rst.txt b/documentation/Sphinx/build/html/_sources/index.rst.txt
index 1f8cded..2d9417f 100644
--- a/documentation/Sphinx/build/html/_sources/index.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/index.rst.txt
@@ -13,8 +13,7 @@ flex_extract is a software to retrieve meteorological fields from the European C
 .. state gateway server or HPC facility using the ecaccess software package. As another option the scripts can 3)
 .. also be triggered using ecflow scheduling software used by ECMWF for data dissemination.
 
-All required second party software and libraries used within flex_extract is open source and free of charge. 
-
+All third-party software and libraries required by flex_extract are open source and free of charge. 
 
 .. raw:: html
 
@@ -94,7 +93,11 @@ All required second party software and libraries used within flex_extract is ope
     
 .. note::
  
-   License text put in here! Which one?
+   ![][/documentation/Sphinx/source/_static/cc-by-40.png]
+   This work is licensed under the Creative Commons Attribution 4.0
+   International License. To view a copy of this license, visit
+   http://creativecommons.org/licenses/by/4.0/ or send a letter to
+   Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
 
 .. toctree::
    :maxdepth: 3
diff --git a/documentation/Sphinx/build/html/_static/basic.css b/documentation/Sphinx/build/html/_static/basic.css
index 19ced10..104f076 100644
--- a/documentation/Sphinx/build/html/_static/basic.css
+++ b/documentation/Sphinx/build/html/_static/basic.css
@@ -81,6 +81,10 @@ div.sphinxsidebar input {
     font-size: 1em;
 }
 
+div.sphinxsidebar #searchbox form.search {
+    overflow: hidden;
+}
+
 div.sphinxsidebar #searchbox input[type="text"] {
     float: left;
     width: 80%;
@@ -427,6 +431,13 @@ table.field-list td, table.field-list th {
     hyphens: manual;
 }
 
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist td {
+    vertical-align: top;
+}
+
+
 /* -- other body styles ----------------------------------------------------- */
 
 ol.arabic {
diff --git a/documentation/Sphinx/build/html/_static/cc-by-40.png b/documentation/Sphinx/build/html/_static/cc-by-40.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8473a24786ab016d9c3e717a380910f7cbb0fff
GIT binary patch
literal 12588
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/html/_static/css/theme.css b/documentation/Sphinx/build/html/_static/css/theme.css
index 03a13df..b19dbfe 100644
--- a/documentation/Sphinx/build/html/_static/css/theme.css
+++ b/documentation/Sphinx/build/html/_static/css/theme.css
@@ -1,6 +1,6 @@
-/* sphinx_rtd_theme version 0.4.1 | MIT license */
-/* Built 20180727 10:07 */
+/* sphinx_rtd_theme version 0.4.2 | MIT license */
+/* Built 20181005 13:10 */
 *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,.rst-content code,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none !important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{html,body,section{background:none !important}*{box-shadow:none !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,.rst-content .toctree-wrapper p.caption,h3{orphans:3;widows:3}h2,.rst-content .toctree-wrapper p.caption,h3{page-break-after:avoid}}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.rst-content .admonition,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*!
  *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
  *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.wy-menu-vertical li span.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-left.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-left.toctree-expand,.rst-content .fa-pull-left.admonition-title,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content dl dt .fa-pull-left.headerlink,.rst-content p.caption .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.rst-content code.download span.fa-pull-left:first-child,.fa-pull-left.icon{margin-right:.3em}.fa.fa-pull-right,.wy-menu-vertical li span.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-right.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-right.toctree-expand,.rst-content .fa-pull-right.admonition-title,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content dl dt .fa-pull-right.headerlink,.rst-content p.caption .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.rst-content code.download span.fa-pull-right:first-child,.fa-pull-right.icon{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.wy-menu-vertical li span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.rst-content code.download span.pull-left:first-child,.pull-left.icon{margin-right:.3em}.fa.pull-right,.wy-menu-vertical li span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.rst-content code.download span.pull-right:first-child,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-hotel:before,.fa-bed:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-yc:before,.fa-y-combinator:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-tv:before,.fa-television:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:""}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-signing:before,.fa-sign-language:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-vcard:before,.fa-address-card:before{content:""}.fa-vcard-o:before,.fa-address-card-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .rst-content p.caption .headerlink,.rst-content p.caption a .headerlink,a .rst-content table>caption .headerlink,.rst-content table>caption a .headerlink,a .rst-content tt.download span:first-child,.rst-content tt.download a span:first-child,a .rst-content code.download span:first-child,.rst-content code.download a span:first-child,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .btn span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.btn .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .rst-content p.caption .headerlink,.rst-content p.caption .btn .headerlink,.btn .rst-content table>caption .headerlink,.rst-content table>caption .btn .headerlink,.btn .rst-content tt.download span:first-child,.rst-content tt.download .btn span:first-child,.btn .rst-content code.download span:first-child,.rst-content code.download .btn span:first-child,.btn .icon,.nav .fa,.nav .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand,.nav .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .rst-content p.caption .headerlink,.rst-content p.caption .nav .headerlink,.nav .rst-content table>caption .headerlink,.rst-content table>caption .nav .headerlink,.nav .rst-content tt.download span:first-child,.rst-content tt.download .nav span:first-child,.nav .rst-content code.download span:first-child,.rst-content code.download .nav span:first-child,.nav .icon{display:inline}.btn .fa.fa-large,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .btn span.fa-large:first-child,.btn .rst-content code.download span.fa-large:first-child,.rst-content code.download .btn span.fa-large:first-child,.btn .fa-large.icon,.nav .fa.fa-large,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.nav .rst-content code.download span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.nav .fa-large.icon{line-height:.9em}.btn .fa.fa-spin,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .btn span.fa-spin:first-child,.btn .rst-content code.download span.fa-spin:first-child,.rst-content code.download .btn span.fa-spin:first-child,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.nav .rst-content code.download span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.wy-menu-vertical li span.btn.toctree-expand:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.rst-content code.download span.btn:first-child:before,.btn.icon:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.rst-content code.download span.btn:first-child:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.rst-content tt.download .btn-mini span:first-child:before,.btn-mini .rst-content code.download span:first-child:before,.rst-content code.download .btn-mini span:first-child:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.rst-content .admonition{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.admonition{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo,.rst-content .wy-alert-warning.admonition{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title,.rst-content .wy-alert-warning.admonition .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.admonition{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.admonition{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.admonition{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 .3125em 0;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.3576515979%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.3576515979%;width:48.821174201%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.3576515979%;width:31.7615656014%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type="datetime-local"]{padding:.34375em .625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type="radio"][disabled],input[type="checkbox"][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{position:absolute;content:"";display:block;left:0;top:0;width:36px;height:12px;border-radius:4px;background:#ccc;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{position:absolute;content:"";display:block;width:18px;height:18px;border-radius:4px;background:#999;left:-3px;top:-3px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27AE60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:.3em;display:block}.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,.rst-content .toctree-wrapper p.caption,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2,.rst-content .toctree-wrapper p.caption{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt,.rst-content code{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:before,.wy-breadcrumbs:after{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs li code,.wy-breadcrumbs li .rst-content tt,.rst-content .wy-breadcrumbs li tt{padding:5px;border:none;background:none}.wy-breadcrumbs li code.literal,.wy-breadcrumbs li .rst-content tt.literal,.rst-content .wy-breadcrumbs li tt.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;margin-bottom:0;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li code,.wy-menu-vertical li .rst-content tt,.rst-content .wy-menu-vertical li tt{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.on a:hover span.toctree-expand,.wy-menu-vertical li.current>a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand{display:block;font-size:.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a{color:#404040}.wy-menu-vertical li.toctree-l1.current li.toctree-l2>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>ul{display:none}.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>ul{display:block}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{display:block;background:#c9c9c9;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3{font-size:.9em}.wy-menu-vertical li.toctree-l3.current>a{background:#bdbdbd;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{display:block;background:#bdbdbd;padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980B9;text-align:center;padding:.809em;display:block;color:#fcfcfc;margin-bottom:.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-side-nav-search>a img.logo,.wy-side-nav-search .wy-dropdown>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search>a.icon img.logo,.wy-side-nav-search .wy-dropdown>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:normal;color:rgba(255,255,255,0.3)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:gray}footer p{margin-bottom:12px}footer span.commit code,footer span.commit .rst-content tt,.rst-content footer span.commit tt{padding:0px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;font-size:1em;background:none;border:none;color:gray}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{width:100%}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:before,.rst-breadcrumbs-buttons:after{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-side-scroll{width:auto}.wy-side-nav-search{width:auto}.wy-menu.wy-menu-vertical{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1100px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up{height:auto;max-height:100%}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content img{max-width:100%;height:auto}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure p:last-child.caption{margin-bottom:0px}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img,.rst-content .section>a>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px 12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;display:block;overflow:auto}.rst-content pre.literal-block,.rst-content div[class^='highlight']{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px 0}.rst-content pre.literal-block div[class^='highlight'],.rst-content div[class^='highlight'] div[class^='highlight']{padding:0px;border:none;margin:0}.rst-content div[class^='highlight'] td.code{width:100%}.rst-content .linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;display:block;overflow:auto}.rst-content div[class^='highlight'] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content pre.literal-block,.rst-content div[class^='highlight'] pre,.rst-content .linenodiv pre{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;font-size:12px;line-height:1.4}@media print{.rst-content .codeblock,.rst-content div[class^='highlight'],.rst-content div[class^='highlight'] pre{white-space:pre-wrap}}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last,.rst-content .admonition .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .section ol p:last-child,.rst-content .section ul p:last-child{margin-bottom:24px}.rst-content .line-block{margin-left:0px;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content .toctree-wrapper p.caption .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink{visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content .toctree-wrapper p.caption .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content p.caption .headerlink:after,.rst-content table>caption .headerlink:after{content:"";font-family:FontAwesome}.rst-content h1:hover .headerlink:after,.rst-content h2:hover .headerlink:after,.rst-content .toctree-wrapper p.caption:hover .headerlink:after,.rst-content h3:hover .headerlink:after,.rst-content h4:hover .headerlink:after,.rst-content h5:hover .headerlink:after,.rst-content h6:hover .headerlink:after,.rst-content dl dt:hover .headerlink:after,.rst-content p.caption:hover .headerlink:after,.rst-content table>caption:hover .headerlink:after{visibility:visible}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:baseline;position:relative;top:-0.4em;line-height:0;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:gray}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.docutils.citation tt,.rst-content table.docutils.citation code,.rst-content table.docutils.footnote tt,.rst-content table.docutils.footnote code{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}.rst-content table.docutils td .last,.rst-content table.docutils td .last :last-child{margin-bottom:0}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content tt,.rst-content tt,.rst-content code{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;padding:2px 5px}.rst-content tt big,.rst-content tt em,.rst-content tt big,.rst-content code big,.rst-content tt em,.rst-content code em{font-size:100% !important;line-height:normal}.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal{color:#E74C3C}.rst-content tt.xref,a .rst-content tt,.rst-content tt.xref,.rst-content code.xref,a .rst-content tt,a .rst-content code{font-weight:bold;color:#404040}.rst-content pre,.rst-content kbd,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace}.rst-content a tt,.rst-content a tt,.rst-content a code{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold;margin-bottom:12px}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) code{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}.rst-content tt.download,.rst-content code.download{background:inherit;padding:inherit;font-weight:normal;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content tt.download span:first-child,.rst-content code.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .versionmodified{font-style:italic}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-regular.eot");src:url("../fonts/Lato/lato-regular.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-regular.woff2") format("woff2"),url("../fonts/Lato/lato-regular.woff") format("woff"),url("../fonts/Lato/lato-regular.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-bold.eot");src:url("../fonts/Lato/lato-bold.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-bold.woff2") format("woff2"),url("../fonts/Lato/lato-bold.woff") format("woff"),url("../fonts/Lato/lato-bold.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-bolditalic.eot");src:url("../fonts/Lato/lato-bolditalic.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-bolditalic.woff2") format("woff2"),url("../fonts/Lato/lato-bolditalic.woff") format("woff"),url("../fonts/Lato/lato-bolditalic.ttf") format("truetype");font-weight:700;font-style:italic}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-italic.eot");src:url("../fonts/Lato/lato-italic.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-italic.woff2") format("woff2"),url("../fonts/Lato/lato-italic.woff") format("woff"),url("../fonts/Lato/lato-italic.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:url("../fonts/RobotoSlab/roboto-slab.eot");src:url("../fonts/RobotoSlab/roboto-slab-v7-regular.eot?#iefix") format("embedded-opentype"),url("../fonts/RobotoSlab/roboto-slab-v7-regular.woff2") format("woff2"),url("../fonts/RobotoSlab/roboto-slab-v7-regular.woff") format("woff"),url("../fonts/RobotoSlab/roboto-slab-v7-regular.ttf") format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:url("../fonts/RobotoSlab/roboto-slab-v7-bold.eot");src:url("../fonts/RobotoSlab/roboto-slab-v7-bold.eot?#iefix") format("embedded-opentype"),url("../fonts/RobotoSlab/roboto-slab-v7-bold.woff2") format("woff2"),url("../fonts/RobotoSlab/roboto-slab-v7-bold.woff") format("woff"),url("../fonts/RobotoSlab/roboto-slab-v7-bold.ttf") format("truetype")}
+ */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.wy-menu-vertical li span.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-left.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-left.toctree-expand,.rst-content .fa-pull-left.admonition-title,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content dl dt .fa-pull-left.headerlink,.rst-content p.caption .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.rst-content code.download span.fa-pull-left:first-child,.fa-pull-left.icon{margin-right:.3em}.fa.fa-pull-right,.wy-menu-vertical li span.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-right.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-right.toctree-expand,.rst-content .fa-pull-right.admonition-title,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content dl dt .fa-pull-right.headerlink,.rst-content p.caption .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.rst-content code.download span.fa-pull-right:first-child,.fa-pull-right.icon{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.wy-menu-vertical li span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.rst-content code.download span.pull-left:first-child,.pull-left.icon{margin-right:.3em}.fa.pull-right,.wy-menu-vertical li span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.rst-content code.download span.pull-right:first-child,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-hotel:before,.fa-bed:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-yc:before,.fa-y-combinator:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-tv:before,.fa-television:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:""}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-signing:before,.fa-sign-language:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-vcard:before,.fa-address-card:before{content:""}.fa-vcard-o:before,.fa-address-card-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .rst-content p.caption .headerlink,.rst-content p.caption a .headerlink,a .rst-content table>caption .headerlink,.rst-content table>caption a .headerlink,a .rst-content tt.download span:first-child,.rst-content tt.download a span:first-child,a .rst-content code.download span:first-child,.rst-content code.download a span:first-child,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .btn span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.btn .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .rst-content p.caption .headerlink,.rst-content p.caption .btn .headerlink,.btn .rst-content table>caption .headerlink,.rst-content table>caption .btn .headerlink,.btn .rst-content tt.download span:first-child,.rst-content tt.download .btn span:first-child,.btn .rst-content code.download span:first-child,.rst-content code.download .btn span:first-child,.btn .icon,.nav .fa,.nav .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand,.nav .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .rst-content p.caption .headerlink,.rst-content p.caption .nav .headerlink,.nav .rst-content table>caption .headerlink,.rst-content table>caption .nav .headerlink,.nav .rst-content tt.download span:first-child,.rst-content tt.download .nav span:first-child,.nav .rst-content code.download span:first-child,.rst-content code.download .nav span:first-child,.nav .icon{display:inline}.btn .fa.fa-large,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .btn span.fa-large:first-child,.btn .rst-content code.download span.fa-large:first-child,.rst-content code.download .btn span.fa-large:first-child,.btn .fa-large.icon,.nav .fa.fa-large,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.nav .rst-content code.download span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.nav .fa-large.icon{line-height:.9em}.btn .fa.fa-spin,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .btn span.fa-spin:first-child,.btn .rst-content code.download span.fa-spin:first-child,.rst-content code.download .btn span.fa-spin:first-child,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.nav .rst-content code.download span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.wy-menu-vertical li span.btn.toctree-expand:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.rst-content code.download span.btn:first-child:before,.btn.icon:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.rst-content code.download span.btn:first-child:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.rst-content tt.download .btn-mini span:first-child:before,.btn-mini .rst-content code.download span:first-child:before,.rst-content code.download .btn-mini span:first-child:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.rst-content .admonition{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.admonition{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo,.rst-content .wy-alert-warning.admonition{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title,.rst-content .wy-alert-warning.admonition .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.admonition{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.admonition{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.admonition{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 .3125em 0;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.3576515979%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.3576515979%;width:48.821174201%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.3576515979%;width:31.7615656014%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type="datetime-local"]{padding:.34375em .625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type="radio"][disabled],input[type="checkbox"][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{position:absolute;content:"";display:block;left:0;top:0;width:36px;height:12px;border-radius:4px;background:#ccc;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{position:absolute;content:"";display:block;width:18px;height:18px;border-radius:4px;background:#999;left:-3px;top:-3px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27AE60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:.3em;display:block}.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,.rst-content .toctree-wrapper p.caption,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2,.rst-content .toctree-wrapper p.caption{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt,.rst-content code{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:before,.wy-breadcrumbs:after{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs li code,.wy-breadcrumbs li .rst-content tt,.rst-content .wy-breadcrumbs li tt{padding:5px;border:none;background:none}.wy-breadcrumbs li code.literal,.wy-breadcrumbs li .rst-content tt.literal,.rst-content .wy-breadcrumbs li tt.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;margin-bottom:0;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li code,.wy-menu-vertical li .rst-content tt,.rst-content .wy-menu-vertical li tt{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.on a:hover span.toctree-expand,.wy-menu-vertical li.current>a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand{display:block;font-size:.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a{color:#404040}.wy-menu-vertical li.toctree-l1.current li.toctree-l2>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>ul{display:none}.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>ul{display:block}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{display:block;background:#c9c9c9;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3{font-size:.9em}.wy-menu-vertical li.toctree-l3.current>a{background:#bdbdbd;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{display:block;background:#bdbdbd;padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980B9;text-align:center;padding:.809em;display:block;color:#fcfcfc;margin-bottom:.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-side-nav-search>a img.logo,.wy-side-nav-search .wy-dropdown>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search>a.icon img.logo,.wy-side-nav-search .wy-dropdown>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:normal;color:rgba(255,255,255,0.3)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:gray}footer p{margin-bottom:12px}footer span.commit code,footer span.commit .rst-content tt,.rst-content footer span.commit tt{padding:0px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;font-size:1em;background:none;border:none;color:gray}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{width:100%}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:before,.rst-breadcrumbs-buttons:after{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-side-scroll{width:auto}.wy-side-nav-search{width:auto}.wy-menu.wy-menu-vertical{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1100px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up{height:auto;max-height:100%}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content img{max-width:100%;height:auto}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure p:last-child.caption{margin-bottom:0px}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img,.rst-content .section>a>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px 12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;display:block;overflow:auto}.rst-content pre.literal-block,.rst-content div[class^='highlight']{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px 0}.rst-content pre.literal-block div[class^='highlight'],.rst-content div[class^='highlight'] div[class^='highlight']{padding:0px;border:none;margin:0}.rst-content div[class^='highlight'] td.code{width:100%}.rst-content .linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;display:block;overflow:auto}.rst-content div[class^='highlight'] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content pre.literal-block,.rst-content div[class^='highlight'] pre,.rst-content .linenodiv pre{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;font-size:12px;line-height:1.4}@media print{.rst-content .codeblock,.rst-content div[class^='highlight'],.rst-content div[class^='highlight'] pre{white-space:pre-wrap}}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last,.rst-content .admonition .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .section ol p:last-child,.rst-content .section ul p:last-child{margin-bottom:24px}.rst-content .line-block{margin-left:0px;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content .toctree-wrapper p.caption .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink{visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content .toctree-wrapper p.caption .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content p.caption .headerlink:after,.rst-content table>caption .headerlink:after{content:"";font-family:FontAwesome}.rst-content h1:hover .headerlink:after,.rst-content h2:hover .headerlink:after,.rst-content .toctree-wrapper p.caption:hover .headerlink:after,.rst-content h3:hover .headerlink:after,.rst-content h4:hover .headerlink:after,.rst-content h5:hover .headerlink:after,.rst-content h6:hover .headerlink:after,.rst-content dl dt:hover .headerlink:after,.rst-content p.caption:hover .headerlink:after,.rst-content table>caption:hover .headerlink:after{visibility:visible}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:baseline;position:relative;top:-0.4em;line-height:0;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:gray}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.docutils.citation tt,.rst-content table.docutils.citation code,.rst-content table.docutils.footnote tt,.rst-content table.docutils.footnote code{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}.rst-content table.docutils td .last,.rst-content table.docutils td .last :last-child{margin-bottom:0}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content tt,.rst-content tt,.rst-content code{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;padding:2px 5px}.rst-content tt big,.rst-content tt em,.rst-content tt big,.rst-content code big,.rst-content tt em,.rst-content code em{font-size:100% !important;line-height:normal}.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal{color:#E74C3C}.rst-content tt.xref,a .rst-content tt,.rst-content tt.xref,.rst-content code.xref,a .rst-content tt,a .rst-content code{font-weight:bold;color:#404040}.rst-content pre,.rst-content kbd,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace}.rst-content a tt,.rst-content a tt,.rst-content a code{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold;margin-bottom:12px}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) code{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}.rst-content tt.download,.rst-content code.download{background:inherit;padding:inherit;font-weight:normal;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content tt.download span:first-child,.rst-content code.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .versionmodified{font-style:italic}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-regular.eot");src:url("../fonts/Lato/lato-regular.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-regular.woff2") format("woff2"),url("../fonts/Lato/lato-regular.woff") format("woff"),url("../fonts/Lato/lato-regular.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-bold.eot");src:url("../fonts/Lato/lato-bold.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-bold.woff2") format("woff2"),url("../fonts/Lato/lato-bold.woff") format("woff"),url("../fonts/Lato/lato-bold.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-bolditalic.eot");src:url("../fonts/Lato/lato-bolditalic.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-bolditalic.woff2") format("woff2"),url("../fonts/Lato/lato-bolditalic.woff") format("woff"),url("../fonts/Lato/lato-bolditalic.ttf") format("truetype");font-weight:700;font-style:italic}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-italic.eot");src:url("../fonts/Lato/lato-italic.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-italic.woff2") format("woff2"),url("../fonts/Lato/lato-italic.woff") format("woff"),url("../fonts/Lato/lato-italic.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:url("../fonts/RobotoSlab/roboto-slab.eot");src:url("../fonts/RobotoSlab/roboto-slab-v7-regular.eot?#iefix") format("embedded-opentype"),url("../fonts/RobotoSlab/roboto-slab-v7-regular.woff2") format("woff2"),url("../fonts/RobotoSlab/roboto-slab-v7-regular.woff") format("woff"),url("../fonts/RobotoSlab/roboto-slab-v7-regular.ttf") format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:url("../fonts/RobotoSlab/roboto-slab-v7-bold.eot");src:url("../fonts/RobotoSlab/roboto-slab-v7-bold.eot?#iefix") format("embedded-opentype"),url("../fonts/RobotoSlab/roboto-slab-v7-bold.woff2") format("woff2"),url("../fonts/RobotoSlab/roboto-slab-v7-bold.woff") format("woff"),url("../fonts/RobotoSlab/roboto-slab-v7-bold.ttf") format("truetype")}
diff --git a/documentation/Sphinx/build/html/_static/doctools.js b/documentation/Sphinx/build/html/_static/doctools.js
index d892892..ffadbec 100644
--- a/documentation/Sphinx/build/html/_static/doctools.js
+++ b/documentation/Sphinx/build/html/_static/doctools.js
@@ -150,7 +150,9 @@ var Documentation = {
     this.fixFirefoxAnchorBug();
     this.highlightSearchWords();
     this.initIndexTable();
-    
+    if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
+      this.initOnKeyListeners();
+    }
   },
 
   /**
@@ -310,4 +312,4 @@ _ = Documentation.gettext;
 
 $(document).ready(function() {
   Documentation.init();
-});
\ No newline at end of file
+});
diff --git a/documentation/Sphinx/build/html/_static/documentation_options.js b/documentation/Sphinx/build/html/_static/documentation_options.js
index bb18adc..18de603 100644
--- a/documentation/Sphinx/build/html/_static/documentation_options.js
+++ b/documentation/Sphinx/build/html/_static/documentation_options.js
@@ -5,5 +5,292 @@ var DOCUMENTATION_OPTIONS = {
     COLLAPSE_INDEX: false,
     FILE_SUFFIX: '.html',
     HAS_SOURCE: true,
-    SOURCELINK_SUFFIX: '.txt'
-};
\ No newline at end of file
+    SOURCELINK_SUFFIX: '.txt',
+    NAVIGATION_WITH_KEYS: false,
+    SEARCH_LANGUAGE_STOP_WORDS: ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]
+};
+
+
+
+/* Non-minified version JS is _stemmer.js if file is provided */ 
+/**
+ * Porter Stemmer
+ */
+var Stemmer = function() {
+
+  var step2list = {
+    ational: 'ate',
+    tional: 'tion',
+    enci: 'ence',
+    anci: 'ance',
+    izer: 'ize',
+    bli: 'ble',
+    alli: 'al',
+    entli: 'ent',
+    eli: 'e',
+    ousli: 'ous',
+    ization: 'ize',
+    ation: 'ate',
+    ator: 'ate',
+    alism: 'al',
+    iveness: 'ive',
+    fulness: 'ful',
+    ousness: 'ous',
+    aliti: 'al',
+    iviti: 'ive',
+    biliti: 'ble',
+    logi: 'log'
+  };
+
+  var step3list = {
+    icate: 'ic',
+    ative: '',
+    alize: 'al',
+    iciti: 'ic',
+    ical: 'ic',
+    ful: '',
+    ness: ''
+  };
+
+  var c = "[^aeiou]";          // consonant
+  var v = "[aeiouy]";          // vowel
+  var C = c + "[^aeiouy]*";    // consonant sequence
+  var V = v + "[aeiou]*";      // vowel sequence
+
+  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
+  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
+  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
+  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
+
+  this.stemWord = function (w) {
+    var stem;
+    var suffix;
+    var firstch;
+    var origword = w;
+
+    if (w.length < 3)
+      return w;
+
+    var re;
+    var re2;
+    var re3;
+    var re4;
+
+    firstch = w.substr(0,1);
+    if (firstch == "y")
+      w = firstch.toUpperCase() + w.substr(1);
+
+    // Step 1a
+    re = /^(.+?)(ss|i)es$/;
+    re2 = /^(.+?)([^s])s$/;
+
+    if (re.test(w))
+      w = w.replace(re,"$1$2");
+    else if (re2.test(w))
+      w = w.replace(re2,"$1$2");
+
+    // Step 1b
+    re = /^(.+?)eed$/;
+    re2 = /^(.+?)(ed|ing)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      re = new RegExp(mgr0);
+      if (re.test(fp[1])) {
+        re = /.$/;
+        w = w.replace(re,"");
+      }
+    }
+    else if (re2.test(w)) {
+      var fp = re2.exec(w);
+      stem = fp[1];
+      re2 = new RegExp(s_v);
+      if (re2.test(stem)) {
+        w = stem;
+        re2 = /(at|bl|iz)$/;
+        re3 = new RegExp("([^aeiouylsz])\\1$");
+        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+        if (re2.test(w))
+          w = w + "e";
+        else if (re3.test(w)) {
+          re = /.$/;
+          w = w.replace(re,"");
+        }
+        else if (re4.test(w))
+          w = w + "e";
+      }
+    }
+
+    // Step 1c
+    re = /^(.+?)y$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      re = new RegExp(s_v);
+      if (re.test(stem))
+        w = stem + "i";
+    }
+
+    // Step 2
+    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      suffix = fp[2];
+      re = new RegExp(mgr0);
+      if (re.test(stem))
+        w = stem + step2list[suffix];
+    }
+
+    // Step 3
+    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      suffix = fp[2];
+      re = new RegExp(mgr0);
+      if (re.test(stem))
+        w = stem + step3list[suffix];
+    }
+
+    // Step 4
+    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+    re2 = /^(.+?)(s|t)(ion)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      re = new RegExp(mgr1);
+      if (re.test(stem))
+        w = stem;
+    }
+    else if (re2.test(w)) {
+      var fp = re2.exec(w);
+      stem = fp[1] + fp[2];
+      re2 = new RegExp(mgr1);
+      if (re2.test(stem))
+        w = stem;
+    }
+
+    // Step 5
+    re = /^(.+?)e$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      re = new RegExp(mgr1);
+      re2 = new RegExp(meq1);
+      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+        w = stem;
+    }
+    re = /ll$/;
+    re2 = new RegExp(mgr1);
+    if (re.test(w) && re2.test(w)) {
+      re = /.$/;
+      w = w.replace(re,"");
+    }
+
+    // and turn initial Y back to y
+    if (firstch == "y")
+      w = firstch.toLowerCase() + w.substr(1);
+    return w;
+  }
+}
+
+
+
+
+
+var splitChars = (function() {
+    var result = {};
+    var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
+         1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
+         2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
+         2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
+         3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
+         3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
+         4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
+         8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
+         11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
+         43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
+    var i, j, start, end;
+    for (i = 0; i < singles.length; i++) {
+        result[singles[i]] = true;
+    }
+    var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
+         [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
+         [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
+         [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
+         [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
+         [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
+         [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
+         [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
+         [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
+         [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
+         [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
+         [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
+         [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
+         [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
+         [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
+         [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
+         [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
+         [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
+         [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
+         [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
+         [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
+         [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
+         [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
+         [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
+         [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
+         [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
+         [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
+         [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
+         [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
+         [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
+         [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
+         [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
+         [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
+         [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
+         [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
+         [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
+         [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
+         [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
+         [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
+         [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
+         [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
+         [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
+         [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
+         [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
+         [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
+         [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
+         [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
+         [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
+         [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
+    for (i = 0; i < ranges.length; i++) {
+        start = ranges[i][0];
+        end = ranges[i][1];
+        for (j = start; j <= end; j++) {
+            result[j] = true;
+        }
+    }
+    return result;
+})();
+
+function splitQuery(query) {
+    var result = [];
+    var start = -1;
+    for (var i = 0; i < query.length; i++) {
+        if (splitChars[query.charCodeAt(i)]) {
+            if (start !== -1) {
+                result.push(query.slice(start, i));
+                start = -1;
+            }
+        } else if (start === -1) {
+            start = i;
+        }
+    }
+    if (start !== -1) {
+        result.push(query.slice(start));
+    }
+    return result;
+}
+
+
diff --git a/documentation/Sphinx/build/html/_static/js/theme.js b/documentation/Sphinx/build/html/_static/js/theme.js
index 62bc0b7..96672c6 100644
--- a/documentation/Sphinx/build/html/_static/js/theme.js
+++ b/documentation/Sphinx/build/html/_static/js/theme.js
@@ -1,3 +1,3 @@
-/* sphinx_rtd_theme version 0.4.1 | MIT license */
-/* Built 20180727 10:07 */
-require=function n(e,i,t){function o(s,a){if(!i[s]){if(!e[s]){var l="function"==typeof require&&require;if(!a&&l)return l(s,!0);if(r)return r(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=i[s]={exports:{}};e[s][0].call(u.exports,function(n){var i=e[s][1][n];return o(i||n)},u,u.exports,n,e,i,t)}return i[s].exports}for(var r="function"==typeof require&&require,s=0;s<t.length;s++)o(t[s]);return o}({"sphinx-rtd-theme":[function(n,e,i){var jQuery="undefined"!=typeof window?window.jQuery:n("jquery");e.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var e=this;void 0===n&&(n=!0),e.isRunning||(e.isRunning=!0,jQuery(function(i){e.init(i),e.reset(),e.win.on("hashchange",e.reset),n&&e.win.on("scroll",function(){e.linkScroll||e.winScroll||(e.winScroll=!0,requestAnimationFrame(function(){e.onScroll()}))}),e.win.on("resize",function(){e.winResize||(e.winResize=!0,requestAnimationFrame(function(){e.onResize()}))}),e.onResize()}))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")}).on("click",".wy-menu-vertical .current ul li a",function(){var i=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(i),e.hashChange()}).on("click","[data-toggle='rst-current-version']",function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")}),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),n("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),n("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each(function(){var i=n(this);expand=n('<span class="toctree-expand"></span>'),expand.on("click",function(n){return e.toggleCurrent(i),n.stopPropagation(),!1}),i.prepend(expand)})},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),i=e.find('[href="'+n+'"]');if(0===i.length){var t=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(i=e.find('[href="#'+t.attr("id")+'"]')).length&&(i=e.find('[href="#"]'))}i.length>0&&($(".wy-menu-vertical .current").removeClass("current"),i.addClass("current"),i.closest("li.toctree-l1").addClass("current"),i.closest("li.toctree-l1").parent().addClass("current"),i.closest("li.toctree-l1").addClass("current"),i.closest("li.toctree-l2").addClass("current"),i.closest("li.toctree-l3").addClass("current"),i.closest("li.toctree-l4").addClass("current"))}catch(o){console.log("Error expanding nav for anchor",o)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,i=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(i),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",function(){this.linkScroll=!1})},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current"),e.find("> ul li.current").removeClass("current"),e.toggleClass("current")}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:e.exports.ThemeNav,StickyNav:e.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],i=0;i<e.length&&!window.requestAnimationFrame;++i)window.requestAnimationFrame=window[e[i]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[i]+"CancelAnimationFrame"]||window[e[i]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,i){var t=(new Date).getTime(),o=Math.max(0,16-(t-n)),r=window.setTimeout(function(){e(t+o)},o);return n=t+o,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()},{jquery:"jquery"}]},{},["sphinx-rtd-theme"]);
\ No newline at end of file
+/* sphinx_rtd_theme version 0.4.2 | MIT license */
+/* Built 20181005 13:10 */
+require=function r(s,a,l){function c(e,n){if(!a[e]){if(!s[e]){var i="function"==typeof require&&require;if(!n&&i)return i(e,!0);if(u)return u(e,!0);var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}var o=a[e]={exports:{}};s[e][0].call(o.exports,function(n){return c(s[e][1][n]||n)},o,o.exports,r,s,a,l)}return a[e].exports}for(var u="function"==typeof require&&require,n=0;n<l.length;n++)c(l[n]);return c}({"sphinx-rtd-theme":[function(n,e,i){var jQuery="undefined"!=typeof window?window.jQuery:n("jquery");e.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(e){var i=this;void 0===e&&(e=!0),i.isRunning||(i.isRunning=!0,jQuery(function(n){i.init(n),i.reset(),i.win.on("hashchange",i.reset),e&&i.win.on("scroll",function(){i.linkScroll||i.winScroll||(i.winScroll=!0,requestAnimationFrame(function(){i.onScroll()}))}),i.win.on("resize",function(){i.winResize||(i.winResize=!0,requestAnimationFrame(function(){i.onResize()}))}),i.onResize()}))},enableSticky:function(){this.enable(!0)},init:function(i){i(document);var t=this;this.navBar=i("div.wy-side-scroll:first"),this.win=i(window),i(document).on("click","[data-toggle='wy-nav-top']",function(){i("[data-toggle='wy-nav-shift']").toggleClass("shift"),i("[data-toggle='rst-versions']").toggleClass("shift")}).on("click",".wy-menu-vertical .current ul li a",function(){var n=i(this);i("[data-toggle='wy-nav-shift']").removeClass("shift"),i("[data-toggle='rst-versions']").toggleClass("shift"),t.toggleCurrent(n),t.hashChange()}).on("click","[data-toggle='rst-current-version']",function(){i("[data-toggle='rst-versions']").toggleClass("shift-up")}),i("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),i("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),i("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),i(".wy-menu-vertical ul").not(".simple").siblings("a").each(function(){var e=i(this);expand=i('<span class="toctree-expand"></span>'),expand.on("click",function(n){return t.toggleCurrent(e),n.stopPropagation(),!1}),e.prepend(expand)})},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),i=e.find('[href="'+n+'"]');if(0===i.length){var t=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(i=e.find('[href="#'+t.attr("id")+'"]')).length&&(i=e.find('[href="#"]'))}0<i.length&&($(".wy-menu-vertical .current").removeClass("current"),i.addClass("current"),i.closest("li.toctree-l1").addClass("current"),i.closest("li.toctree-l1").parent().addClass("current"),i.closest("li.toctree-l1").addClass("current"),i.closest("li.toctree-l2").addClass("current"),i.closest("li.toctree-l3").addClass("current"),i.closest("li.toctree-l4").addClass("current"))}catch(o){console.log("Error expanding nav for anchor",o)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,i=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(i),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",function(){this.linkScroll=!1})},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current"),e.find("> ul li.current").removeClass("current"),e.toggleClass("current")}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:e.exports.ThemeNav,StickyNav:e.exports.ThemeNav}),function(){for(var r=0,n=["ms","moz","webkit","o"],e=0;e<n.length&&!window.requestAnimationFrame;++e)window.requestAnimationFrame=window[n[e]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[n[e]+"CancelAnimationFrame"]||window[n[e]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(n,e){var i=(new Date).getTime(),t=Math.max(0,16-(i-r)),o=window.setTimeout(function(){n(i+t)},t);return r=i+t,o}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()},{jquery:"jquery"}]},{},["sphinx-rtd-theme"]);
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_static/searchtools.js b/documentation/Sphinx/build/html/_static/searchtools.js
index 41b8336..7473859 100644
--- a/documentation/Sphinx/build/html/_static/searchtools.js
+++ b/documentation/Sphinx/build/html/_static/searchtools.js
@@ -1,5 +1,5 @@
 /*
- * searchtools.js_t
+ * searchtools.js
  * ~~~~~~~~~~~~~~~~
  *
  * Sphinx JavaScript utilities for the full-text search.
@@ -9,323 +9,44 @@
  *
  */
 
-
-/* Non-minified version JS is _stemmer.js if file is provided */ 
-/**
- * Porter Stemmer
- */
-var Stemmer = function() {
-
-  var step2list = {
-    ational: 'ate',
-    tional: 'tion',
-    enci: 'ence',
-    anci: 'ance',
-    izer: 'ize',
-    bli: 'ble',
-    alli: 'al',
-    entli: 'ent',
-    eli: 'e',
-    ousli: 'ous',
-    ization: 'ize',
-    ation: 'ate',
-    ator: 'ate',
-    alism: 'al',
-    iveness: 'ive',
-    fulness: 'ful',
-    ousness: 'ous',
-    aliti: 'al',
-    iviti: 'ive',
-    biliti: 'ble',
-    logi: 'log'
-  };
-
-  var step3list = {
-    icate: 'ic',
-    ative: '',
-    alize: 'al',
-    iciti: 'ic',
-    ical: 'ic',
-    ful: '',
-    ness: ''
+if (!Scorer) {
+  /**
+   * Simple result scoring code.
+   */
+  var Scorer = {
+    // Implement the following function to further tweak the score for each result
+    // The function takes a result array [filename, title, anchor, descr, score]
+    // and returns the new score.
+    /*
+    score: function(result) {
+      return result[4];
+    },
+    */
+
+    // query matches the full name of an object
+    objNameMatch: 11,
+    // or matches in the last dotted part of the object name
+    objPartialMatch: 6,
+    // Additive scores depending on the priority of the object
+    objPrio: {0:  15,   // used to be importantResults
+              1:  5,   // used to be objectResults
+              2: -5},  // used to be unimportantResults
+    //  Used when the priority is not in the mapping.
+    objPrioDefault: 0,
+
+    // query found in title
+    title: 15,
+    // query found in terms
+    term: 5
   };
-
-  var c = "[^aeiou]";          // consonant
-  var v = "[aeiouy]";          // vowel
-  var C = c + "[^aeiouy]*";    // consonant sequence
-  var V = v + "[aeiou]*";      // vowel sequence
-
-  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
-  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
-  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
-  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
-
-  this.stemWord = function (w) {
-    var stem;
-    var suffix;
-    var firstch;
-    var origword = w;
-
-    if (w.length < 3)
-      return w;
-
-    var re;
-    var re2;
-    var re3;
-    var re4;
-
-    firstch = w.substr(0,1);
-    if (firstch == "y")
-      w = firstch.toUpperCase() + w.substr(1);
-
-    // Step 1a
-    re = /^(.+?)(ss|i)es$/;
-    re2 = /^(.+?)([^s])s$/;
-
-    if (re.test(w))
-      w = w.replace(re,"$1$2");
-    else if (re2.test(w))
-      w = w.replace(re2,"$1$2");
-
-    // Step 1b
-    re = /^(.+?)eed$/;
-    re2 = /^(.+?)(ed|ing)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      re = new RegExp(mgr0);
-      if (re.test(fp[1])) {
-        re = /.$/;
-        w = w.replace(re,"");
-      }
-    }
-    else if (re2.test(w)) {
-      var fp = re2.exec(w);
-      stem = fp[1];
-      re2 = new RegExp(s_v);
-      if (re2.test(stem)) {
-        w = stem;
-        re2 = /(at|bl|iz)$/;
-        re3 = new RegExp("([^aeiouylsz])\\1$");
-        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-        if (re2.test(w))
-          w = w + "e";
-        else if (re3.test(w)) {
-          re = /.$/;
-          w = w.replace(re,"");
-        }
-        else if (re4.test(w))
-          w = w + "e";
-      }
-    }
-
-    // Step 1c
-    re = /^(.+?)y$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(s_v);
-      if (re.test(stem))
-        w = stem + "i";
-    }
-
-    // Step 2
-    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      suffix = fp[2];
-      re = new RegExp(mgr0);
-      if (re.test(stem))
-        w = stem + step2list[suffix];
-    }
-
-    // Step 3
-    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      suffix = fp[2];
-      re = new RegExp(mgr0);
-      if (re.test(stem))
-        w = stem + step3list[suffix];
-    }
-
-    // Step 4
-    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
-    re2 = /^(.+?)(s|t)(ion)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(mgr1);
-      if (re.test(stem))
-        w = stem;
-    }
-    else if (re2.test(w)) {
-      var fp = re2.exec(w);
-      stem = fp[1] + fp[2];
-      re2 = new RegExp(mgr1);
-      if (re2.test(stem))
-        w = stem;
-    }
-
-    // Step 5
-    re = /^(.+?)e$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(mgr1);
-      re2 = new RegExp(meq1);
-      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
-        w = stem;
-    }
-    re = /ll$/;
-    re2 = new RegExp(mgr1);
-    if (re.test(w) && re2.test(w)) {
-      re = /.$/;
-      w = w.replace(re,"");
-    }
-
-    // and turn initial Y back to y
-    if (firstch == "y")
-      w = firstch.toLowerCase() + w.substr(1);
-    return w;
-  }
 }
 
-
-
-/**
- * Simple result scoring code.
- */
-var Scorer = {
-  // Implement the following function to further tweak the score for each result
-  // The function takes a result array [filename, title, anchor, descr, score]
-  // and returns the new score.
-  /*
-  score: function(result) {
-    return result[4];
-  },
-  */
-
-  // query matches the full name of an object
-  objNameMatch: 11,
-  // or matches in the last dotted part of the object name
-  objPartialMatch: 6,
-  // Additive scores depending on the priority of the object
-  objPrio: {0:  15,   // used to be importantResults
-            1:  5,   // used to be objectResults
-            2: -5},  // used to be unimportantResults
-  //  Used when the priority is not in the mapping.
-  objPrioDefault: 0,
-
-  // query found in title
-  title: 15,
-  // query found in terms
-  term: 5
-};
-
-
-
-
-
-var splitChars = (function() {
-    var result = {};
-    var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
-         1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
-         2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
-         2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
-         3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
-         3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
-         4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
-         8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
-         11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
-         43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
-    var i, j, start, end;
-    for (i = 0; i < singles.length; i++) {
-        result[singles[i]] = true;
-    }
-    var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
-         [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
-         [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
-         [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
-         [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
-         [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
-         [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
-         [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
-         [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
-         [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
-         [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
-         [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
-         [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
-         [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
-         [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
-         [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
-         [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
-         [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
-         [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
-         [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
-         [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
-         [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
-         [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
-         [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
-         [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
-         [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
-         [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
-         [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
-         [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
-         [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
-         [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
-         [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
-         [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
-         [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
-         [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
-         [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
-         [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
-         [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
-         [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
-         [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
-         [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
-         [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
-         [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
-         [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
-         [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
-         [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
-         [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
-         [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
-         [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
-    for (i = 0; i < ranges.length; i++) {
-        start = ranges[i][0];
-        end = ranges[i][1];
-        for (j = start; j <= end; j++) {
-            result[j] = true;
-        }
-    }
-    return result;
-})();
-
-function splitQuery(query) {
-    var result = [];
-    var start = -1;
-    for (var i = 0; i < query.length; i++) {
-        if (splitChars[query.charCodeAt(i)]) {
-            if (start !== -1) {
-                result.push(query.slice(start, i));
-                start = -1;
-            }
-        } else if (start === -1) {
-            start = i;
-        }
-    }
-    if (start !== -1) {
-        result.push(query.slice(start));
-    }
-    return result;
+if (!splitQuery) {
+  function splitQuery(query) {
+    return query.split(/\s+/);
+  }
 }
 
-
-
-
 /**
  * Search Module
  */
@@ -417,7 +138,7 @@ var Search = {
    */
   query : function(query) {
     var i;
-    var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
+    var stopwords = DOCUMENTATION_OPTIONS.SEARCH_LANGUAGE_STOP_WORDS;
 
     // stem the searchterms and add them to the correct list
     var stemmer = new Stemmer();
@@ -758,4 +479,4 @@ var Search = {
 
 $(document).ready(function() {
   Search.init();
-});
\ No newline at end of file
+});
diff --git a/documentation/Sphinx/build/html/api.html b/documentation/Sphinx/build/html/api.html
index e52216b..f656bae 100644
--- a/documentation/Sphinx/build/html/api.html
+++ b/documentation/Sphinx/build/html/api.html
@@ -97,7 +97,7 @@
 <li class="toctree-l2"><a class="reference internal" href="#classes">Classes</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#module-ControlFile">ControlFile</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#module-EcFlexpart">EcFlexpart</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#module-GribTools">GribTools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#module-GribUtil">GribUtil</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#module-MarsRetrieval">MarsRetrieval</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#module-UioFiles">UioFiles</a></li>
 </ul>
@@ -188,7 +188,7 @@
 <li><a class="reference internal" href="#classes" id="id4">Classes</a><ul>
 <li><a class="reference internal" href="#module-ControlFile" id="id5">ControlFile</a></li>
 <li><a class="reference internal" href="#module-EcFlexpart" id="id6">EcFlexpart</a></li>
-<li><a class="reference internal" href="#module-GribTools" id="id7">GribTools</a></li>
+<li><a class="reference internal" href="#module-GribUtil" id="id7">GribUtil</a></li>
 <li><a class="reference internal" href="#module-MarsRetrieval" id="id8">MarsRetrieval</a></li>
 <li><a class="reference internal" href="#module-UioFiles" id="id9">UioFiles</a></li>
 </ul>
@@ -206,24 +206,55 @@
 <h2><a class="toc-backref" href="#id1">Porgrams</a><a class="headerlink" href="#porgrams" title="Permalink to this headline">¶</a></h2>
 <div class="section" id="module-install">
 <span id="install"></span><h3><a class="toc-backref" href="#id2">install</a><a class="headerlink" href="#module-install" title="Permalink to this headline">¶</a></h3>
+<p>This script installs the flex_extract program.</p>
+<p>Depending on the selected installation environment (locally or on the
+ECMWF server ecgate or cca) the program extracts the commandline
+arguments and the CONTROL file parameter and prepares the corresponding
+environment.
+The necessary files are collected in a tar-ball and placed
+at the target location. There its untared, the environment variables will
+be set and the Fortran code will be compiled.
+If the ECMWF environment is selected a job script is prepared and submitted
+for the remaining configurations after putting the tar-ball to the
+target ECMWF server.</p>
+<p>Type: install.py –help
+to get information about command line parameters.
+Read the documentation for usage instructions.</p>
 <dl class="function">
-<dt id="install.delete_convert_build">
-<code class="descclassname">install.</code><code class="descname">delete_convert_build</code><span class="sig-paren">(</span><em>src_path</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#delete_convert_build"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.delete_convert_build" title="Permalink to this definition">¶</a></dt>
+<dt id="install.check_install_conditions">
+<code class="descclassname">install.</code><code class="descname">check_install_conditions</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#check_install_conditions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.check_install_conditions" title="Permalink to this definition">¶</a></dt>
+<dd><p>Checks a couple of necessary attributes and conditions
+for the installation such as if they exist and contain values.
+Otherwise set default values.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
+command line.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="install.del_convert_build">
+<code class="descclassname">install.</code><code class="descname">del_convert_build</code><span class="sig-paren">(</span><em>src_path</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#del_convert_build"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.del_convert_build" title="Permalink to this definition">¶</a></dt>
 <dd><p>Clean up the Fortran source directory and remove all
 build files (e.g. *.o, *.mod and CONVERT2)</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>src_path</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Path to the fortran source directory.</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>src_path</strong> (<em>str</em>) – Path to the fortran source directory.</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
 <dl class="function">
-<dt id="install.get_install_cmdline_arguments">
-<code class="descclassname">install.</code><code class="descname">get_install_cmdline_arguments</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#get_install_cmdline_arguments"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.get_install_cmdline_arguments" title="Permalink to this definition">¶</a></dt>
+<dt id="install.get_install_cmdline_args">
+<code class="descclassname">install.</code><code class="descname">get_install_cmdline_args</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#get_install_cmdline_args"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.get_install_cmdline_args" title="Permalink to this definition">¶</a></dt>
 <dd><p>Decomposes the command line arguments and assigns them to variables.
 Apply default values for non mentioned arguments.</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -232,7 +263,7 @@ Apply default values for non mentioned arguments.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><strong>args</strong> – Contains the commandline arguments from script/program call.</td>
 </tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Namespace</span></code></td>
+<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">Namespace</td>
 </tr>
 </tbody>
 </table>
@@ -248,7 +279,7 @@ install everything on the remote gate.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
 command line.</td>
 </tr>
 </tbody>
@@ -263,16 +294,23 @@ if target is specified.</p>
 </dd></dl>
 
 <dl class="function">
-<dt id="install.make_convert_build">
-<code class="descclassname">install.</code><code class="descname">make_convert_build</code><span class="sig-paren">(</span><em>src_path</em>, <em>makefile</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#make_convert_build"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.make_convert_build" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compiles the Fortran code and generates the executable.</p>
+<dt id="install.mk_compilejob">
+<code class="descclassname">install.</code><code class="descname">mk_compilejob</code><span class="sig-paren">(</span><em>makefile</em>, <em>target</em>, <em>ecuid</em>, <em>ecgid</em>, <em>fp_root</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#mk_compilejob"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.mk_compilejob" title="Permalink to this definition">¶</a></dt>
+<dd><p>Modifies the original job template file so that it is specified
+for the user and the environment were it will be applied. Result
+is stored in a new file “job.temp” in the python directory.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>src_path</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Path to the fortran source directory.</li>
-<li><strong>makefile</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The name of the makefile which should be used.</li>
+<li><strong>makefile</strong> (<em>str</em>) – Name of the makefile which should be used to compile FORTRAN
+CONVERT2 program.</li>
+<li><strong>target</strong> (<em>str</em>) – The target where the installation should be done, e.g. the queue.</li>
+<li><strong>ecuid</strong> (<em>str</em>) – The user id on ECMWF server.</li>
+<li><strong>ecgid</strong> (<em>str</em>) – The group id on ECMWF server.</li>
+<li><strong>fp_root</strong> (<em>str</em>) – Path to the root directory of FLEXPART environment or flex_extract
+environment.</li>
 </ul>
 </td>
 </tr>
@@ -281,23 +319,16 @@ if target is specified.</p>
 </dd></dl>
 
 <dl class="function">
-<dt id="install.mk_compilejob">
-<code class="descclassname">install.</code><code class="descname">mk_compilejob</code><span class="sig-paren">(</span><em>makefile</em>, <em>target</em>, <em>ecuid</em>, <em>ecgid</em>, <em>fp_root</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#mk_compilejob"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.mk_compilejob" title="Permalink to this definition">¶</a></dt>
-<dd><p>Modifies the original job template file so that it is specified
-for the user and the environment were it will be applied. Result
-is stored in a new file “job.temp” in the python directory.</p>
+<dt id="install.mk_convert_build">
+<code class="descclassname">install.</code><code class="descname">mk_convert_build</code><span class="sig-paren">(</span><em>src_path</em>, <em>makefile</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#mk_convert_build"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.mk_convert_build" title="Permalink to this definition">¶</a></dt>
+<dd><p>Compiles the Fortran code and generates the executable.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>makefile</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Name of the makefile which should be used to compile FORTRAN
-CONVERT2 program.</li>
-<li><strong>target</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The target where the installation should be done, e.g. the queue.</li>
-<li><strong>ecuid</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The user id on ECMWF server.</li>
-<li><strong>ecgid</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The group id on ECMWF server.</li>
-<li><strong>fp_root</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Path to the root directory of FLEXPART environment or flex_extract
-environment.</li>
+<li><strong>src_path</strong> (<em>str</em>) – Path to the fortran source directory.</li>
+<li><strong>makefile</strong> (<em>str</em>) – The name of the makefile which should be used.</li>
 </ul>
 </td>
 </tr>
@@ -316,10 +347,10 @@ It is based on the template ECMWF_ENV.template.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ecuid</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The user id on ECMWF server.</li>
-<li><strong>ecgid</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The group id on ECMWF server.</li>
-<li><strong>gateway</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The gateway server the user is using.</li>
-<li><strong>destination</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The remote destination which is used to transfer files
+<li><strong>ecuid</strong> (<em>str</em>) – The user id on ECMWF server.</li>
+<li><strong>ecgid</strong> (<em>str</em>) – The group id on ECMWF server.</li>
+<li><strong>gateway</strong> (<em>str</em>) – The gateway server the user is using.</li>
+<li><strong>destination</strong> (<em>str</em>) – The remote destination which is used to transfer files
 from ECMWF server to local gateway server.</li>
 </ul>
 </td>
@@ -339,12 +370,12 @@ is stored in a new file.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ecuid</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The user id on ECMWF server.</li>
-<li><strong>ecgid</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The group id on ECMWF server.</li>
-<li><strong>gateway</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The gateway server the user is using.</li>
-<li><strong>destination</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The remote destination which is used to transfer files
+<li><strong>ecuid</strong> (<em>str</em>) – The user id on ECMWF server.</li>
+<li><strong>ecgid</strong> (<em>str</em>) – The group id on ECMWF server.</li>
+<li><strong>gateway</strong> (<em>str</em>) – The gateway server the user is using.</li>
+<li><strong>destination</strong> (<em>str</em>) – The remote destination which is used to transfer files
 from ECMWF server to local gateway server.</li>
-<li><strong>fp_root</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Path to the root directory of FLEXPART environment or flex_extract
+<li><strong>fp_root</strong> (<em>str</em>) – Path to the root directory of FLEXPART environment or flex_extract
 environment.</li>
 </ul>
 </td>
@@ -367,9 +398,9 @@ template files.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>tarball_path</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The complete path to the tar file which will contain all
+<li><strong>tarball_path</strong> (<em>str</em>) – The complete path to the tar file which will contain all
 relevant data for flex_extract.</li>
-<li><strong>target</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The queue where the job is submitted to.</li>
+<li><strong>target</strong> (<em>str</em>) – The queue where the job is submitted to.</li>
 </ul>
 </td>
 </tr>
@@ -385,7 +416,7 @@ relevant data for flex_extract.</li>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>tarball_path</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The complete path to the tar file which will contain all
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>tarball_path</strong> (<em>str</em>) – The complete path to the tar file which will contain all
 relevant data for flex_extract.</td>
 </tr>
 </tbody>
@@ -395,6 +426,27 @@ relevant data for flex_extract.</td>
 </div>
 <div class="section" id="module-submit">
 <span id="submit"></span><h3><a class="toc-backref" href="#id3">submit</a><a class="headerlink" href="#module-submit" title="Permalink to this headline">¶</a></h3>
+<p>This script allows the user to extract meteorological fields from the ECMWF.</p>
+<p>It prepares the settings for retrieving the data from ECMWF servers and
+process the resulting files to prepare them for the use with FLEXPART or
+FLEXTRA.</p>
+<p>If it is supposed to work locally then it works through the necessary
+functions get_mars_data and prepare_flexpart. Otherwise it prepares
+a job script (korn shell) which will do the necessary work on the
+ECMWF server. This script will de submitted via the ecaccess command
+ecaccess-job-submit.</p>
+<p>This file can also be imported as a module which then contains the following
+functions:</p>
+<blockquote>
+<div><ul class="simple">
+<li>main - the main function of the script</li>
+<li>submit - calls mk_jobscript depending on operation mode and submits its</li>
+<li>mk_jobscript - creates the job script from a template</li>
+</ul>
+</div></blockquote>
+<p>Type: submit.py –help
+to get information about command line parameters.
+Read the documentation for usage instructions.</p>
 <dl class="function">
 <dt id="submit.main">
 <code class="descclassname">submit.</code><code class="descname">main</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/submit.html#main"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submit.main" title="Permalink to this definition">¶</a></dt>
@@ -404,23 +456,46 @@ is done “queue=None” or the gateway version with “queue=ecgate”
 or “queue=cca”.</p>
 </dd></dl>
 
+<dl class="function">
+<dt id="submit.mk_jobscript">
+<code class="descclassname">submit.</code><code class="descname">mk_jobscript</code><span class="sig-paren">(</span><em>jtemplate</em>, <em>job_file</em>, <em>clist</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/submit.html#mk_jobscript"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submit.mk_jobscript" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates the job script from template.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>jtemplate</strong> (<em>str</em>) – Job template file from sub-directory “_templates” for
+submission to ECMWF. It contains all necessary
+module and variable settings for the ECMWF environment as well as
+the job call and mail report instructions.
+Default is “job.temp”.</li>
+<li><strong>job_file</strong> (<em>str</em>) – Path to the job script file.</li>
+<li><strong>clist</strong> (<em>list of str</em>) – Contains all necessary parameters for ECMWF CONTROL file.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
 <dl class="function">
 <dt id="submit.submit">
 <code class="descclassname">submit.</code><code class="descname">submit</code><span class="sig-paren">(</span><em>jtemplate</em>, <em>c</em>, <em>queue</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/submit.html#submit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submit.submit" title="Permalink to this definition">¶</a></dt>
-<dd><p>Prepares the job script and submit it to the specified queue.</p>
+<dd><p>Prepares the job script and submits it to the specified queue.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>jtemplate</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Job template file from sub-directory “_templates” for
+<li><strong>jtemplate</strong> (<em>str</em>) – Job template file from sub-directory “_templates” for
 submission to ECMWF. It contains all necessary
 module and variable settings for the ECMWF environment as well as
 the job call and mail report instructions.
 Default is “job.temp”.</li>
-<li><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
+<li><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
 command line.</li>
-<li><strong>queue</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Name of queue for submission to ECMWF (e.g. ecgate or cca )</li>
+<li><strong>queue</strong> (<em>str</em>) – Name of queue for submission to ECMWF (e.g. ecgate or cca )</li>
 </ul>
 </td>
 </tr>
@@ -438,367 +513,2064 @@ command line.</li>
 <dt id="ControlFile.ControlFile">
 <em class="property">class </em><code class="descclassname">ControlFile.</code><code class="descname">ControlFile</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile" title="Permalink to this definition">¶</a></dt>
 <dd><p>Contains the information which are stored in the CONTROL files.</p>
-<dl class="method">
-<dt id="ControlFile.ControlFile.assign_args_to_control">
-<code class="descname">assign_args_to_control</code><span class="sig-paren">(</span><em>args</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile.assign_args_to_control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile.assign_args_to_control" title="Permalink to this definition">¶</a></dt>
-<dd><p>Overwrites the existing ControlFile instance attributes with
-the command line arguments.</p>
+<p>The CONTROL file is the steering part of the FLEXPART extraction
+software. All necessary parameters needed to retrieve the data fields
+from the MARS archive for driving FLEXPART are set in a CONTROL file.
+Some specific parameters like the start and end dates can be overwritten
+by the command line parameters, but in generel all parameters needed
+for a complete set of fields for FLEXPART can be set in the CONTROL file.</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.controlfile">
+<code class="descname">controlfile</code><a class="headerlink" href="#ControlFile.ControlFile.controlfile" title="Permalink to this definition">¶</a></dt>
+<dd><p>The name of the control file to be processed. Default value is the
+filename passed to the init function when initialised.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>args</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">Namespace</span></code>) – Contains the commandline arguments from script/program call.</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="ControlFile.ControlFile.assign_envs_to_control">
-<code class="descname">assign_envs_to_control</code><span class="sig-paren">(</span><em>envs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile.assign_envs_to_control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile.assign_envs_to_control" title="Permalink to this definition">¶</a></dt>
-<dd><p>Assigns the ECMWF environment parameter.</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.start_date">
+<code class="descname">start_date</code><a class="headerlink" href="#ControlFile.ControlFile.start_date" title="Permalink to this definition">¶</a></dt>
+<dd><p>The first day of the retrieval period. Default value is None.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>envs</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">dictionary</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">strings</span></code>) – Contains the ECMWF environment parameternames “ECUID”, “ECGID”,
-“DESTINATION” and “GATEWAY” with its corresponding values.
-They were read from the file “ECMWF_ENV”.</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="ControlFile.ControlFile.check_conditions">
-<code class="descname">check_conditions</code><span class="sig-paren">(</span><em>queue</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile.check_conditions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile.check_conditions" title="Permalink to this definition">¶</a></dt>
-<dd><p>Checks a couple of necessary attributes and conditions,
-such as if they exist and contain values.
-Otherwise set default values.</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.end_date">
+<code class="descname">end_date</code><a class="headerlink" href="#ControlFile.ControlFile.end_date" title="Permalink to this definition">¶</a></dt>
+<dd><p>The last day of the retrieval period. Default value is None.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>queue</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Name of the queue if submitted to the ECMWF servers.
-Used to check if ecuid, ecgid, gateway and destination
-are set correctly and are not empty.</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="ControlFile.ControlFile.check_install_conditions">
-<code class="descname">check_install_conditions</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile.check_install_conditions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile.check_install_conditions" title="Permalink to this definition">¶</a></dt>
-<dd><p>Checks a couple of necessary attributes and conditions
-for the installation such as if they exist and contain values.
-Otherwise set default values.</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.date_chunk">
+<code class="descname">date_chunk</code><a class="headerlink" href="#ControlFile.ControlFile.date_chunk" title="Permalink to this definition">¶</a></dt>
+<dd><p>Length of period for a single mars retrieval. Default value is 3.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
 </dd></dl>
 
-<dl class="method">
-<dt id="ControlFile.ControlFile.to_list">
-<code class="descname">to_list</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile.to_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile.to_list" title="Permalink to this definition">¶</a></dt>
-<dd><p>Just generates a list of strings containing the attributes and
-assigned values except the attributes “_expanded”, “exedir”,
-“ecmwfdatadir” and “flexpart_root_scripts”.</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.dtime">
+<code class="descname">dtime</code><a class="headerlink" href="#ControlFile.ControlFile.dtime" title="Permalink to this definition">¶</a></dt>
+<dd><p>The time step in hours. Default value is None.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><strong>l</strong> – A sorted list of the all ControlFile class attributes with
-their values except the attributes “_expanded”, “exedir”,
-“ecmwfdatadir” and “flexpart_root_scripts”.</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
 </tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code></td>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.basetime">
+<code class="descname">basetime</code><a class="headerlink" href="#ControlFile.ControlFile.basetime" title="Permalink to this definition">¶</a></dt>
+<dd><p>The time for a half day retrieval. The 12 hours upfront are to be
+retrieved. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.maxstep">
+<code class="descname">maxstep</code><a class="headerlink" href="#ControlFile.ControlFile.maxstep" title="Permalink to this definition">¶</a></dt>
+<dd><p>The maximum forecast step for non flux data. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
 </dd></dl>
 
-</div>
-<div class="section" id="module-EcFlexpart">
-<span id="ecflexpart"></span><h3><a class="toc-backref" href="#id6">EcFlexpart</a><a class="headerlink" href="#module-EcFlexpart" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
-<dt id="EcFlexpart.EcFlexpart">
-<em class="property">class </em><code class="descclassname">EcFlexpart.</code><code class="descname">EcFlexpart</code><span class="sig-paren">(</span><em>c</em>, <em>fluxes=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart" title="Permalink to this definition">¶</a></dt>
-<dd><p>Class to retrieve FLEXPART specific ECMWF data.</p>
-<dl class="method">
-<dt id="EcFlexpart.EcFlexpart.create">
-<code class="descname">create</code><span class="sig-paren">(</span><em>inputfiles</em>, <em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.create" title="Permalink to this definition">¶</a></dt>
-<dd><p>An index file will be created which depends on the combination
-of “date”, “time” and “stepRange” values. This is used to iterate
-over all messages in each grib file which were passed through the
-parameter “inputfiles” to seperate specific parameters into fort.*
-files. Afterwards the FORTRAN program is called to convert
-the data fields all to the same grid and put them in one file
-per unique time step (combination of “date”, “time” and
-“stepRange”).</p>
-<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">This method is based on the ECMWF example index.py
-<a class="reference external" href="https://software.ecmwf.int/wiki/display/GRIB/index.py">https://software.ecmwf.int/wiki/display/GRIB/index.py</a></p>
-</div>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.type">
+<code class="descname">type</code><a class="headerlink" href="#ControlFile.ControlFile.type" title="Permalink to this definition">¶</a></dt>
+<dd><p>List of field type per retrieving hour. Default value is None.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>inputfiles</strong> (<a class="reference internal" href="#module-UioFiles" title="UioFiles"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UioFiles</span></code></a>) – Contains a list of files.</li>
-<li><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
-command line.</li>
-</ul>
-</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">list of str</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="EcFlexpart.EcFlexpart.deacc_fluxes">
-<code class="descname">deacc_fluxes</code><span class="sig-paren">(</span><em>inputfiles</em>, <em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.deacc_fluxes"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.deacc_fluxes" title="Permalink to this definition">¶</a></dt>
-<dd><p>Goes through all flux fields in ordered time and de-accumulate
-the fields. Afterwards the fields are disaggregated in time.
-Different versions of disaggregation is provided for rainfall
-data (darain, modified linear) and the surface fluxes and
-stress data (dapoly, cubic polynomial).</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.time">
+<code class="descname">time</code><a class="headerlink" href="#ControlFile.ControlFile.time" title="Permalink to this definition">¶</a></dt>
+<dd><p>List of retrieving times in hours. Default valuer is None.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>inputfiles</strong> (<a class="reference internal" href="#module-UioFiles" title="UioFiles"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UioFiles</span></code></a>) – Contains a list of files.</li>
-<li><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
-command line.</li>
-</ul>
-</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">list of str</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="EcFlexpart.EcFlexpart.prepare_fp_files">
-<code class="descname">prepare_fp_files</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.prepare_fp_files"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.prepare_fp_files" title="Permalink to this definition">¶</a></dt>
-<dd><p>Conversion of GRIB files to FLEXPART binary format.</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.step">
+<code class="descname">step</code><a class="headerlink" href="#ControlFile.ControlFile.step" title="Permalink to this definition">¶</a></dt>
+<dd><p>List of forecast time steps in hours for non flux data.
+Default value is None.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
-command line.</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">list of str or str</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="EcFlexpart.EcFlexpart.process_output">
-<code class="descname">process_output</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.process_output"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.process_output" title="Permalink to this definition">¶</a></dt>
-<dd><p>The grib files are postprocessed depending on the selection in
-CONTROL file. The resulting files are moved to the output
-directory if its not equal to the input directory.
-The following modifications might be done if
-properly switched in CONTROL file:
-GRIB2 - Conversion to GRIB2
-ECTRANS - Transfer of files to gateway server
-ECSTORAGE - Storage at ECMWF server</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.acctype">
+<code class="descname">acctype</code><a class="headerlink" href="#ControlFile.ControlFile.acctype" title="Permalink to this definition">¶</a></dt>
+<dd><p>The field type for the accumulated forecast fields.
+Default value is None.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
-command line.</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="EcFlexpart.EcFlexpart.retrieve">
-<code class="descname">retrieve</code><span class="sig-paren">(</span><em>server</em>, <em>dates</em>, <em>public</em>, <em>request</em>, <em>inputdir='.'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.retrieve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.retrieve" title="Permalink to this definition">¶</a></dt>
-<dd><p>Finalizing the retrieval information by setting final details
-depending on grid type.
-Prepares MARS retrievals per grid type and submits them.</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.acctime">
+<code class="descname">acctime</code><a class="headerlink" href="#ControlFile.ControlFile.acctime" title="Permalink to this definition">¶</a></dt>
+<dd><p>The starting time of the accumulated forecasts. Default value is None.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>server</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">ECMWFService</span></code> or <code class="xref py py-obj docutils literal notranslate"><span class="pre">ECMWFDataServer</span></code>) – The connection to the ECMWF server. This is different
-for member state users which have full access and non
-member state users which have only access to the public
-data sets. The decision is made from command line argument
-“public”; for public access its True (ECMWFDataServer)
-for member state users its False (ECMWFService)</li>
-<li><strong>dates</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Contains start and end date of the retrieval in the format
-“YYYYMMDD/to/YYYYMMDD”</li>
-<li><strong>request</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">integer</span></code>) – Selects the mode of retrieval.
-0: Retrieves the data from ECMWF.
-1: Prints the mars requests to an output file.
-2: Retrieves the data and prints the mars request.</li>
-<li><strong>inputdir</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Path to the directory where the retrieved data is about
-to be stored. The default is the current directory (‘.’).</li>
-</ul>
-</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="EcFlexpart.EcFlexpart.write_namelist">
-<code class="descname">write_namelist</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.write_namelist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.write_namelist" title="Permalink to this definition">¶</a></dt>
-<dd><p>Creates a namelist file in the temporary directory and writes
-the following values to it: maxl, maxb, mlevel,
-mlevelist, mnauf, metapar, rlo0, rlo1, rla0, rla1,
-momega, momegadiff, mgauss, msmooth, meta, metadiff, mdpdeta</p>
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.accmaxstep">
+<code class="descname">accmaxstep</code><a class="headerlink" href="#ControlFile.ControlFile.accmaxstep" title="Permalink to this definition">¶</a></dt>
+<dd><p>The maximum forecast step for the accumulated forecast fields
+(flux data). Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.marsclass">
+<code class="descname">marsclass</code><a class="headerlink" href="#ControlFile.ControlFile.marsclass" title="Permalink to this definition">¶</a></dt>
+<dd><p>Characterisation of dataset. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.dataset">
+<code class="descname">dataset</code><a class="headerlink" href="#ControlFile.ControlFile.dataset" title="Permalink to this definition">¶</a></dt>
+<dd><p>For public datasets there is the specific naming and parameter
+dataset which has to be used to characterize the type of
+data. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.stream">
+<code class="descname">stream</code><a class="headerlink" href="#ControlFile.ControlFile.stream" title="Permalink to this definition">¶</a></dt>
+<dd><p>Identifies the forecasting system used to generate the data.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.number">
+<code class="descname">number</code><a class="headerlink" href="#ControlFile.ControlFile.number" title="Permalink to this definition">¶</a></dt>
+<dd><p>Selects the member in ensemble forecast run. Default value is ‘OFF’.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.expver">
+<code class="descname">expver</code><a class="headerlink" href="#ControlFile.ControlFile.expver" title="Permalink to this definition">¶</a></dt>
+<dd><p>The version number of the dataset. Default value is ‘1’.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.gaussian">
+<code class="descname">gaussian</code><a class="headerlink" href="#ControlFile.ControlFile.gaussian" title="Permalink to this definition">¶</a></dt>
+<dd><p>This parameter is deprecated and should no longer be used.
+Specifies the desired type of Gaussian grid for the output.
+Default value is an empty string ‘’.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.grid">
+<code class="descname">grid</code><a class="headerlink" href="#ControlFile.ControlFile.grid" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the output grid which can be either a Gaussian grid
+or a Latitude/Longitude grid. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.area">
+<code class="descname">area</code><a class="headerlink" href="#ControlFile.ControlFile.area" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the desired sub-area of data to be extracted.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.left">
+<code class="descname">left</code><a class="headerlink" href="#ControlFile.ControlFile.left" title="Permalink to this definition">¶</a></dt>
+<dd><p>The western most longitude of the area to be extracted.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.lower">
+<code class="descname">lower</code><a class="headerlink" href="#ControlFile.ControlFile.lower" title="Permalink to this definition">¶</a></dt>
+<dd><p>The southern most latitude of the area to be extracted.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.upper">
+<code class="descname">upper</code><a class="headerlink" href="#ControlFile.ControlFile.upper" title="Permalink to this definition">¶</a></dt>
+<dd><p>The northern most latitued of the area to be extracted.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.right">
+<code class="descname">right</code><a class="headerlink" href="#ControlFile.ControlFile.right" title="Permalink to this definition">¶</a></dt>
+<dd><p>The eastern most longitude of the area to be extracted.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.level">
+<code class="descname">level</code><a class="headerlink" href="#ControlFile.ControlFile.level" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the maximum level. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.levelist">
+<code class="descname">levelist</code><a class="headerlink" href="#ControlFile.ControlFile.levelist" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the required level list. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.resol">
+<code class="descname">resol</code><a class="headerlink" href="#ControlFile.ControlFile.resol" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the desired triangular truncation of retrieved data,
+before carrying out any other selected post-processing.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.gauss">
+<code class="descname">gauss</code><a class="headerlink" href="#ControlFile.ControlFile.gauss" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select gaussian fields (1) or regular lat/lon (0).
+Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.accuracy">
+<code class="descname">accuracy</code><a class="headerlink" href="#ControlFile.ControlFile.accuracy" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the number of bits per value to be used in the
+generated GRIB coded fields. Default value is 24.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.omega">
+<code class="descname">omega</code><a class="headerlink" href="#ControlFile.ControlFile.omega" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select omega retrieval (1) or not (0). Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.omegadiff">
+<code class="descname">omegadiff</code><a class="headerlink" href="#ControlFile.ControlFile.omegadiff" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to decide to calculate Omega and Dps/Dt from continuity
+equation for diagnostic purposes (1) or not (0). Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.eta">
+<code class="descname">eta</code><a class="headerlink" href="#ControlFile.ControlFile.eta" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select direct retrieval of etadot from MARS (1) or
+wether it has to be calculated (0). Then Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.etadiff">
+<code class="descname">etadiff</code><a class="headerlink" href="#ControlFile.ControlFile.etadiff" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select calculation of etadot and Dps/Dt from continuity
+equation for diagnostic purposes (1) or not (0). Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.etapar">
+<code class="descname">etapar</code><a class="headerlink" href="#ControlFile.ControlFile.etapar" title="Permalink to this definition">¶</a></dt>
+<dd><p>GRIB parameter Id for etadot fields. Default value is 77.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.dpdeta">
+<code class="descname">dpdeta</code><a class="headerlink" href="#ControlFile.ControlFile.dpdeta" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select multiplication of etadot with dpdeta.
+Default value is 1.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.smooth">
+<code class="descname">smooth</code><a class="headerlink" href="#ControlFile.ControlFile.smooth" title="Permalink to this definition">¶</a></dt>
+<dd><p>Spectral truncation of ETADOT after calculation on Gaussian grid.
+Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.format">
+<code class="descname">format</code><a class="headerlink" href="#ControlFile.ControlFile.format" title="Permalink to this definition">¶</a></dt>
+<dd><p>The format of the GRIB data. Default value is ‘GRIB1’.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.addpar">
+<code class="descname">addpar</code><a class="headerlink" href="#ControlFile.ControlFile.addpar" title="Permalink to this definition">¶</a></dt>
+<dd><p>List of additional surface level ECMWF parameter to be retrieved.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.prefix">
+<code class="descname">prefix</code><a class="headerlink" href="#ControlFile.ControlFile.prefix" title="Permalink to this definition">¶</a></dt>
+<dd><p>Prefix string for the final FLEXPART/FLEXTRA ready input files.
+Default value is ‘EN’.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.cwc">
+<code class="descname">cwc</code><a class="headerlink" href="#ControlFile.ControlFile.cwc" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select wether the sum of cloud liquid water content and
+cloud ice water content should be retrieved. Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.wrf">
+<code class="descname">wrf</code><a class="headerlink" href="#ControlFile.ControlFile.wrf" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select further parameters for retrievment to support
+WRF simulations. Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.ecfsdir">
+<code class="descname">ecfsdir</code><a class="headerlink" href="#ControlFile.ControlFile.ecfsdir" title="Permalink to this definition">¶</a></dt>
+<dd><p>Path to the ECMWF storage  ‘ectmp:/${USER}/econdemand/’</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.mailfail">
+<code class="descname">mailfail</code><a class="headerlink" href="#ControlFile.ControlFile.mailfail" title="Permalink to this definition">¶</a></dt>
+<dd><p>Email list for sending error log files from ECMWF servers.
+The email addresses should be seperated by a comma.
+Default value is [‘${USER}’].</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">list of str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.mailops">
+<code class="descname">mailops</code><a class="headerlink" href="#ControlFile.ControlFile.mailops" title="Permalink to this definition">¶</a></dt>
+<dd><p>Email list for sending operational log files from ECMWF servers.
+The email addresses should be seperated by a comma.
+Default value is [‘${USER}’].</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">list of str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.grib2flexpart">
+<code class="descname">grib2flexpart</code><a class="headerlink" href="#ControlFile.ControlFile.grib2flexpart" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select generation of preprocessed FLEXPART files “.fp”.
+If it is selected, the program grib2flexpart will try
+to convert the flex_extract output files into “.fp” format.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int 0</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.ecstorage">
+<code class="descname">ecstorage</code><a class="headerlink" href="#ControlFile.ControlFile.ecstorage" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select storage of FLEXPART ready output files
+in the ECFS file system. Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.ectrans">
+<code class="descname">ectrans</code><a class="headerlink" href="#ControlFile.ControlFile.ectrans" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select the transfer of FLEXPART ready output files
+to the gateway server. Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.inputdir">
+<code class="descname">inputdir</code><a class="headerlink" href="#ControlFile.ControlFile.inputdir" title="Permalink to this definition">¶</a></dt>
+<dd><p>Path to the temporary directory for the retrieval grib files and
+other processing files. Default value is _config.PATH_INPUT_DIR.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.outputdir">
+<code class="descname">outputdir</code><a class="headerlink" href="#ControlFile.ControlFile.outputdir" title="Permalink to this definition">¶</a></dt>
+<dd><p>Path to the final directory where the final FLEXPART ready input
+files are stored. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.flexextractdir">
+<code class="descname">flexextractdir</code><a class="headerlink" href="#ControlFile.ControlFile.flexextractdir" title="Permalink to this definition">¶</a></dt>
+<dd><p>Path to the flex_extract root directory. Default value is
+_config.PATH_FLEXEXTRACT_DIR.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.exedir">
+<code class="descname">exedir</code><a class="headerlink" href="#ControlFile.ControlFile.exedir" title="Permalink to this definition">¶</a></dt>
+<dd><p>Path to the FORTRAN executable file. Default value is
+_config.PATH_FORTRAN_SRC.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.flexpartdir">
+<code class="descname">flexpartdir</code><a class="headerlink" href="#ControlFile.ControlFile.flexpartdir" title="Permalink to this definition">¶</a></dt>
+<dd><p>Path to a FLEXPART root directory. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.makefile">
+<code class="descname">makefile</code><a class="headerlink" href="#ControlFile.ControlFile.makefile" title="Permalink to this definition">¶</a></dt>
+<dd><p>Name of the makefile to be used for the Fortran program.
+Default value is ‘Makefile.gfortran’.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.destination">
+<code class="descname">destination</code><a class="headerlink" href="#ControlFile.ControlFile.destination" title="Permalink to this definition">¶</a></dt>
+<dd><p>The remote destination which is used to transfer files
+from ECMWF server to local gateway server. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.gateway">
+<code class="descname">gateway</code><a class="headerlink" href="#ControlFile.ControlFile.gateway" title="Permalink to this definition">¶</a></dt>
+<dd><p>The gateway server the user is using. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.ecuid">
+<code class="descname">ecuid</code><a class="headerlink" href="#ControlFile.ControlFile.ecuid" title="Permalink to this definition">¶</a></dt>
+<dd><p>The user id on ECMWF server. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.ecgid">
+<code class="descname">ecgid</code><a class="headerlink" href="#ControlFile.ControlFile.ecgid" title="Permalink to this definition">¶</a></dt>
+<dd><p>The group id on ECMWF server. Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.install_target">
+<code class="descname">install_target</code><a class="headerlink" href="#ControlFile.ControlFile.install_target" title="Permalink to this definition">¶</a></dt>
+<dd><p>Defines the location where the installation is to be done.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.debug">
+<code class="descname">debug</code><a class="headerlink" href="#ControlFile.ControlFile.debug" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to keep temporary files at the end of postprocessing (1) or
+to delete all temporary files except the final output files (0).
+Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.request">
+<code class="descname">request</code><a class="headerlink" href="#ControlFile.ControlFile.request" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select between just retrieving the data (0), writing the mars
+parameter values to a csv file (1) or doing both (2).
+Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.public">
+<code class="descname">public</code><a class="headerlink" href="#ControlFile.ControlFile.public" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select kind of ECMWF Web Api access and the
+possible data sets. Public data sets (1) and Memberstate data sets (0).
+Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.ecapi">
+<code class="descname">ecapi</code><a class="headerlink" href="#ControlFile.ControlFile.ecapi" title="Permalink to this definition">¶</a></dt>
+<dd><p>Tells wether the ECMWF Web APi was able to load or not.
+Default value is None.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">boolean</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.purefc">
+<code class="descname">purefc</code><a class="headerlink" href="#ControlFile.ControlFile.purefc" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to decide wether the job is a pure forecast retrieval or
+coupled with analysis data. Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.rrint">
+<code class="descname">rrint</code><a class="headerlink" href="#ControlFile.ControlFile.rrint" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch to select between old precipitation disaggregation method (0)
+or the new IA3 disaggegration method (1). Default value is 0.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="ControlFile.ControlFile.logicals">
+<code class="descname">logicals</code><a class="headerlink" href="#ControlFile.ControlFile.logicals" title="Permalink to this definition">¶</a></dt>
+<dd><p>List of the names of logical switches which controls the flow
+of the program. Default list is [‘gauss’, ‘omega’, ‘omegadiff’, ‘eta’,
+‘etadiff’, ‘dpdeta’, ‘cwc’, ‘wrf’, ‘grib2flexpart’, ‘ecstorage’,
+‘ectrans’, ‘debug’, ‘request’, ‘public’, ‘purefc’, ‘rrint’]</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">list of str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="ControlFile.ControlFile.assign_args_to_control">
+<code class="descname">assign_args_to_control</code><span class="sig-paren">(</span><em>args</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile.assign_args_to_control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile.assign_args_to_control" title="Permalink to this definition">¶</a></dt>
+<dd><p>Overwrites the existing ControlFile instance attributes with
+the command line arguments.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>args</strong> (<em>Namespace</em>) – Contains the commandline arguments from script/program call.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="ControlFile.ControlFile.assign_envs_to_control">
+<code class="descname">assign_envs_to_control</code><span class="sig-paren">(</span><em>envs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile.assign_envs_to_control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile.assign_envs_to_control" title="Permalink to this definition">¶</a></dt>
+<dd><p>Assigns the ECMWF environment parameter.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>envs</strong> (<em>dict of str</em>) – Contains the ECMWF environment parameternames “ECUID”, “ECGID”,
+“DESTINATION” and “GATEWAY” with its corresponding values.
+They were read from the file “ECMWF_ENV”.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="ControlFile.ControlFile.check_conditions">
+<code class="descname">check_conditions</code><span class="sig-paren">(</span><em>queue</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile.check_conditions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile.check_conditions" title="Permalink to this definition">¶</a></dt>
+<dd><p>Checks a couple of necessary attributes and conditions,
+such as if they exist and contain values.
+Otherwise set default values.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>queue</strong> (<em>str</em>) – Name of the queue if submitted to the ECMWF servers.
+Used to check if ecuid, ecgid, gateway and destination
+are set correctly and are not empty.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="ControlFile.ControlFile.to_list">
+<code class="descname">to_list</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/ControlFile.html#ControlFile.to_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ControlFile.ControlFile.to_list" title="Permalink to this definition">¶</a></dt>
+<dd><p>Just generates a list of strings containing the attributes and
+assigned values except the attributes “_expanded”, “exedir”,
+“flexextractdir” and “flexpartdir”.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><strong>l</strong> – A sorted list of the all ControlFile class attributes with
+their values except the attributes “_expanded”, “exedir”,
+“flexextractdir” and “flexpartdir”.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">list of *</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-EcFlexpart">
+<span id="ecflexpart"></span><h3><a class="toc-backref" href="#id6">EcFlexpart</a><a class="headerlink" href="#module-EcFlexpart" title="Permalink to this headline">¶</a></h3>
+<dl class="class">
+<dt id="EcFlexpart.EcFlexpart">
+<em class="property">class </em><code class="descclassname">EcFlexpart.</code><code class="descname">EcFlexpart</code><span class="sig-paren">(</span><em>c</em>, <em>fluxes=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart" title="Permalink to this definition">¶</a></dt>
+<dd><p>Class to represent FLEXPART specific ECMWF data.</p>
+<p>FLEXPART needs grib files in a specifc format. All necessary data fields
+for one time step are stored in a single file. The class represents an
+instance with all the parameter and settings necessary for retrieving
+MARS data and modifing them so they are fitting FLEXPART needs. The class
+is able to disaggregate the fluxes and convert grid types to the one needed
+by FLEXPART, therefore using the FORTRAN program.</p>
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.mreq_count">
+<code class="descname">mreq_count</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.mreq_count" title="Permalink to this definition">¶</a></dt>
+<dd><p>Counter for the number of generated mars requests.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.inputdir">
+<code class="descname">inputdir</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.inputdir" title="Permalink to this definition">¶</a></dt>
+<dd><p>Path to the directory where the retrieved data is stored.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.dataset">
+<code class="descname">dataset</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.dataset" title="Permalink to this definition">¶</a></dt>
+<dd><p>For public datasets there is the specific naming and parameter
+dataset which has to be used to characterize the type of
+data.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.basetime">
+<code class="descname">basetime</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.basetime" title="Permalink to this definition">¶</a></dt>
+<dd><p>The time for a half day retrieval. The 12 hours upfront are to be
+retrieved.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.dtime">
+<code class="descname">dtime</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.dtime" title="Permalink to this definition">¶</a></dt>
+<dd><p>Time step in hours.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.acctype">
+<code class="descname">acctype</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.acctype" title="Permalink to this definition">¶</a></dt>
+<dd><p>The field type for the accumulated forecast fields.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.acctime">
+<code class="descname">acctime</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.acctime" title="Permalink to this definition">¶</a></dt>
+<dd><p>The starting time from the accumulated forecasts.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.accmaxstep">
+<code class="descname">accmaxstep</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.accmaxstep" title="Permalink to this definition">¶</a></dt>
+<dd><p>The maximum forecast step for the accumulated forecast fields.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.marsclass">
+<code class="descname">marsclass</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.marsclass" title="Permalink to this definition">¶</a></dt>
+<dd><p>Characterisation of dataset.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.stream">
+<code class="descname">stream</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.stream" title="Permalink to this definition">¶</a></dt>
+<dd><p>Identifies the forecasting system used to generate the data.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.number">
+<code class="descname">number</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.number" title="Permalink to this definition">¶</a></dt>
+<dd><p>Selects the member in ensemble forecast run.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.resol">
+<code class="descname">resol</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.resol" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the desired triangular truncation of retrieved data,
+before carrying out any other selected post-processing.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.accuracy">
+<code class="descname">accuracy</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.accuracy" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the number of bits per value to be used in the
+generated GRIB coded fields.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.addpar">
+<code class="descname">addpar</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.addpar" title="Permalink to this definition">¶</a></dt>
+<dd><p>List of additional parameters to be retrieved.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.level">
+<code class="descname">level</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.level" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the maximum level.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.expver">
+<code class="descname">expver</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.expver" title="Permalink to this definition">¶</a></dt>
+<dd><p>The version of the dataset.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.levelist">
+<code class="descname">levelist</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.levelist" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the required levels.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.glevelist">
+<code class="descname">glevelist</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.glevelist" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the required levels for gaussian grids.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.gaussian">
+<code class="descname">gaussian</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.gaussian" title="Permalink to this definition">¶</a></dt>
+<dd><p>This parameter is deprecated and should no longer be used.
+Specifies the desired type of Gaussian grid for the output.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.grid">
+<code class="descname">grid</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.grid" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the output grid which can be either a Gaussian grid
+or a Latitude/Longitude grid.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.area">
+<code class="descname">area</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.area" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the desired sub-area of data to be extracted.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.purefc">
+<code class="descname">purefc</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.purefc" title="Permalink to this definition">¶</a></dt>
+<dd><p>Switch for definition of pure forecast mode or not.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.outputfilelist">
+<code class="descname">outputfilelist</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.outputfilelist" title="Permalink to this definition">¶</a></dt>
+<dd><p>The final list of FLEXPART ready input files.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">list of str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.types">
+<code class="descname">types</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.types" title="Permalink to this definition">¶</a></dt>
+<dd><p>Determines the combination of type of fields, time and forecast step
+to be retrieved.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">dictionary</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.params">
+<code class="descname">params</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.params" title="Permalink to this definition">¶</a></dt>
+<dd><p>Collection of grid types and their corresponding parameters,
+levels, level types and the grid definition.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">dictionary</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.server">
+<code class="descname">server</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.server" title="Permalink to this definition">¶</a></dt>
+<dd><p>This is the connection to the ECMWF data servers.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">ECMWFService or ECMWFDataServer</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.public">
+<code class="descname">public</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.public" title="Permalink to this definition">¶</a></dt>
+<dd><p>Decides which Web API Server version is used.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="EcFlexpart.EcFlexpart.dates">
+<code class="descname">dates</code><a class="headerlink" href="#EcFlexpart.EcFlexpart.dates" title="Permalink to this definition">¶</a></dt>
+<dd><p>Contains start and end date of the retrieval in the format
+“YYYYMMDD/to/YYYYMMDD”</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="EcFlexpart.EcFlexpart.create">
+<code class="descname">create</code><span class="sig-paren">(</span><em>inputfiles</em>, <em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.create" title="Permalink to this definition">¶</a></dt>
+<dd><p>An index file will be created which depends on the combination
+of “date”, “time” and “stepRange” values. This is used to iterate
+over all messages in each grib file which were passed through the
+parameter “inputfiles” to seperate specific parameters into fort.*
+files. Afterwards the FORTRAN program is called to convert
+the data fields all to the same grid and put them in one file
+per unique time step (combination of “date”, “time” and
+“stepRange”).</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">This method is based on the ECMWF example index.py
+<a class="reference external" href="https://software.ecmwf.int/wiki/display/GRIB/index.py">https://software.ecmwf.int/wiki/display/GRIB/index.py</a></p>
+</div>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>inputfiles</strong> (<a class="reference internal" href="#UioFiles.UioFiles" title="UioFiles.UioFiles"><em>UioFiles</em></a>) – Contains a list of files.</li>
+<li><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
+command line.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="EcFlexpart.EcFlexpart.deacc_fluxes">
+<code class="descname">deacc_fluxes</code><span class="sig-paren">(</span><em>inputfiles</em>, <em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.deacc_fluxes"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.deacc_fluxes" title="Permalink to this definition">¶</a></dt>
+<dd><p>De-accumulate and disaggregate flux data.</p>
+<p>Goes through all flux fields in ordered time and de-accumulate
+the fields. Afterwards the fields are disaggregated in time.
+Different versions of disaggregation is provided for rainfall
+data (darain, modified linear) and the surface fluxes and
+stress data (dapoly, cubic polynomial).</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>inputfiles</strong> (<a class="reference internal" href="#UioFiles.UioFiles" title="UioFiles.UioFiles"><em>UioFiles</em></a>) – Contains the list of files that contain flux data.</li>
+<li><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
+command line.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="EcFlexpart.EcFlexpart.prepare_fp_files">
+<code class="descname">prepare_fp_files</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.prepare_fp_files"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.prepare_fp_files" title="Permalink to this definition">¶</a></dt>
+<dd><p>Conversion of GRIB files to FLEXPART binary format.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
+command line.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="EcFlexpart.EcFlexpart.process_output">
+<code class="descname">process_output</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.process_output"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.process_output" title="Permalink to this definition">¶</a></dt>
+<dd><p>Postprocessing of FLEXPART input files.</p>
+<p>The grib files are postprocessed depending on the selection in
+CONTROL file. The resulting files are moved to the output
+directory if its not equal to the input directory.
+The following modifications might be done if
+properly switched in CONTROL file:
+GRIB2 - Conversion to GRIB2
+ECTRANS - Transfer of files to gateway server
+ECSTORAGE - Storage at ECMWF server</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
+command line.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="EcFlexpart.EcFlexpart.retrieve">
+<code class="descname">retrieve</code><span class="sig-paren">(</span><em>server</em>, <em>dates</em>, <em>public</em>, <em>request</em>, <em>inputdir='.'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.retrieve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.retrieve" title="Permalink to this definition">¶</a></dt>
+<dd><p>Finalizing the retrieval information by setting final details
+depending on grid type.
+Prepares MARS retrievals per grid type and submits them.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>server</strong> (<em>ECMWFService</em><em> or </em><em>ECMWFDataServer</em>) – The connection to the ECMWF server. This is different
+for member state users which have full access and non
+member state users which have only access to the public
+data sets. The decision is made from command line argument
+“public”; for public access its True (ECMWFDataServer)
+for member state users its False (ECMWFService)</li>
+<li><strong>dates</strong> (<em>str</em>) – Contains start and end date of the retrieval in the format
+“YYYYMMDD/to/YYYYMMDD”</li>
+<li><strong>request</strong> (<em>int</em>) – Selects the mode of retrieval.
+0: Retrieves the data from ECMWF.
+1: Prints the mars requests to an output file.
+2: Retrieves the data and prints the mars request.</li>
+<li><strong>inputdir</strong> (<em>str</em><em>, </em><em>optional</em>) – Path to the directory where the retrieved data is about
+to be stored. The default is the current directory (‘.’).</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="EcFlexpart.EcFlexpart.write_namelist">
+<code class="descname">write_namelist</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/EcFlexpart.html#EcFlexpart.write_namelist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#EcFlexpart.EcFlexpart.write_namelist" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a namelist file in the temporary directory and writes
+the following values to it: maxl, maxb, mlevel,
+mlevelist, mnauf, metapar, rlo0, rlo1, rla0, rla1,
+momega, momegadiff, mgauss, msmooth, meta, metadiff, mdpdeta</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
+command line.</li>
+<li><strong>filename</strong> (<em>str</em>) – Name of the namelist file.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-GribUtil">
+<span id="gributil"></span><h3><a class="toc-backref" href="#id7">GribUtil</a><a class="headerlink" href="#module-GribUtil" title="Permalink to this headline">¶</a></h3>
+<dl class="class">
+<dt id="GribUtil.GribUtil">
+<em class="property">class </em><code class="descclassname">GribUtil.</code><code class="descname">GribUtil</code><span class="sig-paren">(</span><em>filenames</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribUtil.html#GribUtil"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil" title="Permalink to this definition">¶</a></dt>
+<dd><p>Class for GRIB utilities (new methods) based on GRIB API</p>
+<dl class="method">
+<dt id="GribUtil.GribUtil.copy_dummy_msg">
+<code class="descname">copy_dummy_msg</code><span class="sig-paren">(</span><em>filename_in</em>, <em>selectWhere=True</em>, <em>keynames=[]</em>, <em>keyvalues=[]</em>, <em>filemode='w'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribUtil.html#GribUtil.copy_dummy_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.copy_dummy_msg" title="Permalink to this definition">¶</a></dt>
+<dd><p>Add the content of another input grib file to the objects file but
+only messages corresponding to keys/values passed to the function.
+The selectWhere switch decides if to copy the keys equal to (True) or
+different to (False) the keynames/keyvalues list passed to the function.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>filename_in</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Filename of the input file to read the grib messages from.</li>
+<li><strong>selectWhere</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">boolean</span></code>, optional) – Decides if to copy the keynames and values equal to (True) or
+different to (False) the keynames/keyvalues list passed to the
+function. Default is True.</li>
+<li><strong>keynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keynames. Default is an empty list.</li>
+<li><strong>keyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keyvalues. Default is an empty list.</li>
+<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “w”.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="GribUtil.GribUtil.get_keys">
+<code class="descname">get_keys</code><span class="sig-paren">(</span><em>keynames</em>, <em>wherekeynames=[]</em>, <em>wherekeyvalues=[]</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribUtil.html#GribUtil.get_keys"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.get_keys" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get keyvalues for a given list of keynames a where statement
+can be given (list of key and list of values)</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>keynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – List of keynames.</li>
+<li><strong>wherekeynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Default value is an empty list.</li>
+<li><strong>wherekeyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Default value is an empty list.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>return_list</strong> – List of keyvalues for given keynames.</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code></p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="GribUtil.GribUtil.index">
+<code class="descname">index</code><span class="sig-paren">(</span><em>index_keys=['mars'], index_file='my.idx'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribUtil.html#GribUtil.index"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.index" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create index file from a list of files if it does not exist or
+read an index file.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>index_keys</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Contains the list of key parameter names from
+which the index is to be created.
+Default is a list with a single entry string “mars”.</li>
+<li><strong>index_file</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Filename where the indices are stored.
+Default is “my.idx”.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>iid</strong> – Grib index id.</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-obj docutils literal notranslate"><span class="pre">integer</span></code></p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="GribUtil.GribUtil.set_keys">
+<code class="descname">set_keys</code><span class="sig-paren">(</span><em>fromfile</em>, <em>keynames</em>, <em>keyvalues</em>, <em>wherekeynames=[]</em>, <em>wherekeyvalues=[]</em>, <em>strict=False</em>, <em>filemode='w'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribUtil.html#GribUtil.set_keys"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.set_keys" title="Permalink to this definition">¶</a></dt>
+<dd><p>Opens the file to read the grib messages and then write
+the selected messages (with wherekeys) to a new output file.
+Also, the keyvalues of the passed list of keynames are set.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>fromfile</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Filename of the input file to read the grib messages from.</li>
+<li><strong>keynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – List of keynames to set in the selected messages.
+Default is an empty list.</li>
+<li><strong>keyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – List of keyvalues to set in the selected messages.
+Default is an empty list.</li>
+<li><strong>wherekeynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keynames to select correct message.
+Default value is an empty list.</li>
+<li><strong>wherekeyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keyvalues for keynames to select correct message.
+Default value is an empty list.</li>
+<li><strong>strict</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">boolean</span></code>, optional) – Decides if everything from keynames and keyvalues
+is written out the grib file (False) or only those
+meeting the where statement (True). Default is False.</li>
+<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “w”.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-MarsRetrieval">
+<span id="marsretrieval"></span><h3><a class="toc-backref" href="#id8">MarsRetrieval</a><a class="headerlink" href="#module-MarsRetrieval" title="Permalink to this headline">¶</a></h3>
+<dl class="class">
+<dt id="MarsRetrieval.MarsRetrieval">
+<em class="property">class </em><code class="descclassname">MarsRetrieval.</code><code class="descname">MarsRetrieval</code><span class="sig-paren">(</span><em>server</em>, <em>public</em>, <em>marsclass='ei'</em>, <em>dataset=''</em>, <em>type=''</em>, <em>levtype=''</em>, <em>levelist=''</em>, <em>repres=''</em>, <em>date=''</em>, <em>resol=''</em>, <em>stream=''</em>, <em>area=''</em>, <em>time=''</em>, <em>step=''</em>, <em>expver='1'</em>, <em>number=''</em>, <em>accuracy=''</em>, <em>grid=''</em>, <em>gaussian=''</em>, <em>target=''</em>, <em>param=''</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/MarsRetrieval.html#MarsRetrieval"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#MarsRetrieval.MarsRetrieval" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specific syntax and content for submission of MARS retrievals.</p>
+<p>A MARS revtrieval has a specific syntax with a selection of keywords and
+their corresponding values. This class provides the necessary functions
+by displaying the selected parameters and their values and the actual
+retrievement of the data through a mars request or a Python web api
+interface. The initialization already expects all the keyword values.</p>
+<p>A description of MARS keywords/arguments and examples of their
+values can be found here:
+<a class="reference external" href="https://software.ecmwf.int/wiki/display/UDOC/">https://software.ecmwf.int/wiki/display/UDOC/</a>                   Identification+keywords#Identificationkeywords-class</p>
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.server">
+<code class="descname">server</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.server" title="Permalink to this definition">¶</a></dt>
+<dd><p>This is the connection to the ECMWF data servers.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">ECMWFService or ECMWFDataServer</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.public">
+<code class="descname">public</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.public" title="Permalink to this definition">¶</a></dt>
+<dd><p>Decides which Web API Server version is used.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.marsclass">
+<code class="descname">marsclass</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.marsclass" title="Permalink to this definition">¶</a></dt>
+<dd><p>Characterisation of dataset.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.dataset">
+<code class="descname">dataset</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.dataset" title="Permalink to this definition">¶</a></dt>
+<dd><p>For public datasets there is the specific naming and parameter
+dataset which has to be used to characterize the type of
+data.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.type">
+<code class="descname">type</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.type" title="Permalink to this definition">¶</a></dt>
+<dd><p>Determines the type of fields to be retrieved.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.levtype">
+<code class="descname">levtype</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.levtype" title="Permalink to this definition">¶</a></dt>
+<dd><p>Denotes type of level.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.levelist">
+<code class="descname">levelist</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.levelist" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the required levels.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.repres">
+<code class="descname">repres</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.repres" title="Permalink to this definition">¶</a></dt>
+<dd><p>Selects the representation of the archived data.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.date">
+<code class="descname">date</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.date" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the Analysis date, the Forecast base date or
+Observations date.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.resol">
+<code class="descname">resol</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.resol" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the desired triangular truncation of retrieved data,
+before carrying out any other selected post-processing.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.stream">
+<code class="descname">stream</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.stream" title="Permalink to this definition">¶</a></dt>
+<dd><p>Identifies the forecasting system used to generate the data.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.area">
+<code class="descname">area</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.area" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the desired sub-area of data to be extracted.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.time">
+<code class="descname">time</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.time" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the time of the data in hours and minutes.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.step">
+<code class="descname">step</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.step" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the forecast time step from forecast base time.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.expver">
+<code class="descname">expver</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.expver" title="Permalink to this definition">¶</a></dt>
+<dd><p>The version of the dataset.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.number">
+<code class="descname">number</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.number" title="Permalink to this definition">¶</a></dt>
+<dd><p>Selects the member in ensemble forecast run.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
-command line.</li>
-<li><strong>filename</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Name of the namelist file.</li>
-</ul>
-</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-</dd></dl>
-
-</div>
-<div class="section" id="module-GribTools">
-<span id="gribtools"></span><h3><a class="toc-backref" href="#id7">GribTools</a><a class="headerlink" href="#module-GribTools" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
-<dt id="GribTools.GribTools">
-<em class="property">class </em><code class="descclassname">GribTools.</code><code class="descname">GribTools</code><span class="sig-paren">(</span><em>filenames</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribTools.html#GribTools"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribTools.GribTools" title="Permalink to this definition">¶</a></dt>
-<dd><p>Class for GRIB utilities (new methods) based on GRIB API</p>
-<dl class="method">
-<dt id="GribTools.GribTools.copy">
-<code class="descname">copy</code><span class="sig-paren">(</span><em>filename_in</em>, <em>selectWhere=True</em>, <em>keynames=[]</em>, <em>keyvalues=[]</em>, <em>filemode='w'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribTools.html#GribTools.copy"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribTools.GribTools.copy" title="Permalink to this definition">¶</a></dt>
-<dd><p>Add the content of another input grib file to the objects file but
-only messages corresponding to keys/values passed to the function.
-The selectWhere switch decides if to copy the keys equal to (True) or
-different to (False) the keynames/keyvalues list passed to the function.</p>
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.accuracy">
+<code class="descname">accuracy</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.accuracy" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the number of bits per value to be used in the
+generated GRIB coded fields.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>filename_in</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Filename of the input file to read the grib messages from.</li>
-<li><strong>selectWhere</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">boolean</span></code>, optional) – Decides if to copy the keynames and values equal to (True) or
-different to (False) the keynames/keyvalues list passed to the
-function. Default is True.</li>
-<li><strong>keynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keynames. Default is an empty list.</li>
-<li><strong>keyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keynames. Default is an empty list.</li>
-<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “w”.</li>
-</ul>
-</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="GribTools.GribTools.get_keys">
-<code class="descname">get_keys</code><span class="sig-paren">(</span><em>keynames</em>, <em>wherekeynames=[]</em>, <em>wherekeyvalues=[]</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribTools.html#GribTools.get_keys"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribTools.GribTools.get_keys" title="Permalink to this definition">¶</a></dt>
-<dd><p>Get keyvalues for a given list of keynames a where statement
-can be given (list of key and list of values)</p>
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.grid">
+<code class="descname">grid</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.grid" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the output grid which can be either a Gaussian grid
+or a Latitude/Longitude grid.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>keynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – List of keynames.</li>
-<li><strong>wherekeynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Default value is an empty list.</li>
-<li><strong>wherekeyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Default value is an empty list.</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>return_list</strong> – List of keyvalues for given keynames.</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code></p>
-</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="GribTools.GribTools.index">
-<code class="descname">index</code><span class="sig-paren">(</span><em>index_keys=['mars'], index_file='my.idx'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribTools.html#GribTools.index"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribTools.GribTools.index" title="Permalink to this definition">¶</a></dt>
-<dd><p>Create index file from a list of files if it does not exist or
-read an index file.</p>
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.gaussian">
+<code class="descname">gaussian</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.gaussian" title="Permalink to this definition">¶</a></dt>
+<dd><p>This parameter is deprecated and should no longer be used.
+Specifies the desired type of Gaussian grid for the output.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>index_keys</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Contains the list of key parameter names from
-which the index is to be created.
-Default is a list with a single entry string “mars”.</li>
-<li><strong>index_file</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Filename where the indices are stored.
-Default is “my.idx”.</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>iid</strong> – Grib index id.</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-obj docutils literal notranslate"><span class="pre">integer</span></code></p>
-</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="GribTools.GribTools.set_keys">
-<code class="descname">set_keys</code><span class="sig-paren">(</span><em>fromfile</em>, <em>keynames</em>, <em>keyvalues</em>, <em>wherekeynames=[]</em>, <em>wherekeyvalues=[]</em>, <em>strict=False</em>, <em>filemode='w'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/GribTools.html#GribTools.set_keys"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribTools.GribTools.set_keys" title="Permalink to this definition">¶</a></dt>
-<dd><p>Opens the file to read the grib messages and then write
-them to a new output file. By default all messages are
-written out. Also, the keyvalues of the passed list of
-keynames are set or only those meeting the where statement.
-(list of key and list of values).</p>
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.target">
+<code class="descname">target</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.target" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies a file into which data is to be written after
+retrieval or manipulation.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>fromfile</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Filename of the input file to read the grib messages from.</li>
-<li><strong>keynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – List of keynames. Default is an empty list.</li>
-<li><strong>keyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – List of keynames. Default is an empty list.</li>
-<li><strong>wherekeynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Default value is an empty list.</li>
-<li><strong>wherekeyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Default value is an empty list.</li>
-<li><strong>strict</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">boolean</span></code>, optional) – Decides if everything from keynames and keyvalues
-is written out the grib file (False) or only those
-meeting the where statement (True). Default is False.</li>
-<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “w”.</li>
-</ul>
-</td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
+<dl class="attribute">
+<dt id="MarsRetrieval.MarsRetrieval.param">
+<code class="descname">param</code><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.param" title="Permalink to this definition">¶</a></dt>
+<dd><p>Specifies the meteorological parameter.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
 </dd></dl>
 
-</div>
-<div class="section" id="module-MarsRetrieval">
-<span id="marsretrieval"></span><h3><a class="toc-backref" href="#id8">MarsRetrieval</a><a class="headerlink" href="#module-MarsRetrieval" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
-<dt id="MarsRetrieval.MarsRetrieval">
-<em class="property">class </em><code class="descclassname">MarsRetrieval.</code><code class="descname">MarsRetrieval</code><span class="sig-paren">(</span><em>server</em>, <em>public</em>, <em>marsclass='ei'</em>, <em>dataset=''</em>, <em>type=''</em>, <em>levtype=''</em>, <em>levelist=''</em>, <em>repres=''</em>, <em>date=''</em>, <em>resol=''</em>, <em>stream=''</em>, <em>area=''</em>, <em>time=''</em>, <em>step=''</em>, <em>expver='1'</em>, <em>number=''</em>, <em>accuracy=''</em>, <em>grid=''</em>, <em>gaussian=''</em>, <em>target=''</em>, <em>param=''</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/MarsRetrieval.html#MarsRetrieval"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#MarsRetrieval.MarsRetrieval" title="Permalink to this definition">¶</a></dt>
-<dd><p>Class for submitting MARS retrievals.</p>
-<p>A description of MARS keywords/arguments and examples of their
-values can be found here:
-<a class="reference external" href="https://software.ecmwf.int/wiki/display/UDOC/">https://software.ecmwf.int/wiki/display/UDOC/</a>                   Identification+keywords#Identificationkeywords-class</p>
 <dl class="method">
 <dt id="MarsRetrieval.MarsRetrieval.data_retrieve">
 <code class="descname">data_retrieve</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/MarsRetrieval.html#MarsRetrieval.data_retrieve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.data_retrieve" title="Permalink to this definition">¶</a></dt>
@@ -815,25 +2587,6 @@ are taken from the defined class attributes.</p>
 standard output.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="MarsRetrieval.MarsRetrieval.print_info">
-<code class="descname">print_info</code><span class="sig-paren">(</span><em>inputdir</em>, <em>request_number</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/MarsRetrieval.html#MarsRetrieval.print_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.print_info" title="Permalink to this definition">¶</a></dt>
-<dd><p>Prints all mars requests to an extra file for debugging and
-information.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>inputdir</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The path where all data from the retrievals are stored.</li>
-<li><strong>request_number</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">integer</span></code>) – Number of mars requests for flux and non-flux data.</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
 <dl class="method">
 <dt id="MarsRetrieval.MarsRetrieval.print_infodata_csv">
 <code class="descname">print_infodata_csv</code><span class="sig-paren">(</span><em>inputdir</em>, <em>request_number</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/MarsRetrieval.html#MarsRetrieval.print_infodata_csv"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.print_infodata_csv" title="Permalink to this definition">¶</a></dt>
@@ -843,8 +2596,8 @@ information.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>inputdir</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The path where all data from the retrievals are stored.</li>
-<li><strong>request_number</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">integer</span></code>) – Number of mars requests for flux and non-flux data.</li>
+<li><strong>inputdir</strong> (<em>str</em>) – The path where all data from the retrievals are stored.</li>
+<li><strong>request_number</strong> (<em>int</em>) – Number of mars requests for flux and non-flux data.</li>
 </ul>
 </td>
 </tr>
@@ -860,9 +2613,52 @@ information.</p>
 <dl class="class">
 <dt id="UioFiles.UioFiles">
 <em class="property">class </em><code class="descclassname">UioFiles.</code><code class="descname">UioFiles</code><span class="sig-paren">(</span><em>path</em>, <em>pattern</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/UioFiles.html#UioFiles"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#UioFiles.UioFiles" title="Permalink to this definition">¶</a></dt>
-<dd><p>Class to manipulate files. At initialisation it has the pattern
-which stores a regular expression pattern for the files, the path
-to the files and the files already.</p>
+<dd><p>Collection of files matching a specific pattern.</p>
+<p>The pattern can contain regular expressions for the files.
+The files are listed and can be transformed to a single string or
+they can be deleted.</p>
+<dl class="attribute">
+<dt id="UioFiles.UioFiles.path">
+<code class="descname">path</code><a class="headerlink" href="#UioFiles.UioFiles.path" title="Permalink to this definition">¶</a></dt>
+<dd><p>Directory where to list the files.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="UioFiles.UioFiles.pattern">
+<code class="descname">pattern</code><a class="headerlink" href="#UioFiles.UioFiles.pattern" title="Permalink to this definition">¶</a></dt>
+<dd><p>Regular expression pattern. For example: ‘*.grb’</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="UioFiles.UioFiles.files">
+<code class="descname">files</code><a class="headerlink" href="#UioFiles.UioFiles.files" title="Permalink to this definition">¶</a></dt>
+<dd><p>List of files matching the pattern in the path.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">list of str</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
 <dl class="method">
 <dt id="UioFiles.UioFiles.delete_files">
 <code class="descname">delete_files</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/UioFiles.html#UioFiles.delete_files"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#UioFiles.UioFiles.delete_files" title="Permalink to this definition">¶</a></dt>
@@ -877,6 +2673,25 @@ to the files and the files already.</p>
 <h2><a class="toc-backref" href="#id10">Modules</a><a class="headerlink" href="#modules" title="Permalink to this headline">¶</a></h2>
 <div class="section" id="module-get_mars_data">
 <span id="get-mars-data"></span><h3><a class="toc-backref" href="#id11">get_mars_data</a><a class="headerlink" href="#module-get_mars_data" title="Permalink to this headline">¶</a></h3>
+<p>This script extracts MARS data from ECMWF servers.</p>
+<p>At first, the necessary parameters from command line and CONTROL files are
+extracted. They define the data set to be extracted from MARS.</p>
+<p>This file can also be imported as a module and contains the following
+functions:</p>
+<blockquote>
+<div><ul class="simple">
+<li>main - the main function of the script</li>
+<li>get_mars_data - overall control of ECMWF data retrievment</li>
+<li>write_reqheader - writes the header into the mars_request file</li>
+<li>mk_server - creates the server connection to ECMWF servers</li>
+<li>mk_dates - defines the start and end date</li>
+<li>remove_old - deletes old retrieved grib files</li>
+<li>do_retrievement - creates individual retrievals</li>
+</ul>
+</div></blockquote>
+<p>Type: get_mars_data.py –help
+to get information about command line parameters.
+Read the documentation for usage instructions.</p>
 <dl class="function">
 <dt id="get_mars_data.do_retrievement">
 <code class="descclassname">get_mars_data.</code><code class="descname">do_retrievement</code><span class="sig-paren">(</span><em>c</em>, <em>server</em>, <em>start</em>, <em>end</em>, <em>delta_t</em>, <em>fluxes=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/get_mars_data.html#do_retrievement"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#get_mars_data.do_retrievement" title="Permalink to this definition">¶</a></dt>
@@ -887,14 +2702,14 @@ retrieves the data from MARS.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
+<li><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
 command line.</li>
-<li><strong>server</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">ECMWFService</span></code>) – The server connection to ECMWF.</li>
-<li><strong>start</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">datetime</span></code>) – The start date of the retrieval.</li>
-<li><strong>end</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">datetime</span></code>) – The end date of the retrieval.</li>
-<li><strong>delta_t</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">datetime</span></code>) – Delta_t + 1 is the maximal time period of a single
+<li><strong>server</strong> (<em>ECMWFService</em><em> or </em><em>ECMWFDataServer</em>) – The server connection to ECMWF.</li>
+<li><strong>start</strong> (<em>datetime</em>) – The start date of the retrieval.</li>
+<li><strong>end</strong> (<em>datetime</em>) – The end date of the retrieval.</li>
+<li><strong>delta_t</strong> (<em>datetime</em>) – Delta_t + 1 is the maximal time period of a single
 retrieval.</li>
-<li><strong>fluxes</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">boolean</span></code>, optional) – Decides if the flux parameters are to be retrieved or
+<li><strong>fluxes</strong> (<em>boolean</em><em>, </em><em>optional</em>) – Decides if the flux parameters are to be retrieved or
 the rest of the parameter list.
 Default value is False.</li>
 </ul>
@@ -915,7 +2730,7 @@ is set.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
 command line.</td>
 </tr>
 </tbody>
@@ -930,9 +2745,118 @@ command line.</td>
 Then it also takes program call arguments and control file input.</p>
 </dd></dl>
 
+<dl class="function">
+<dt id="get_mars_data.mk_dates">
+<code class="descclassname">get_mars_data.</code><code class="descname">mk_dates</code><span class="sig-paren">(</span><em>c</em>, <em>fluxes</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/get_mars_data.html#mk_dates"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#get_mars_data.mk_dates" title="Permalink to this definition">¶</a></dt>
+<dd><p>Prepares start and end date depending on flux or non flux data.</p>
+<p>If forecast for maximum one day (upto 24h) are to be retrieved, then
+collect accumulation data (flux data) with additional days in the
+beginning and at the end (used for complete disaggregation of
+original period)</p>
+<p>If forecast data longer than 24h are to be retrieved, then
+collect accumulation data (flux data) with the exact start and end date
+(disaggregation will be done for the exact time period with
+boundary conditions)</p>
+<p>Since for basetime the extraction contains the 12 hours upfront,
+if basetime is 0, the starting date has to be the day before and</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
+command line.</li>
+<li><strong>fluxes</strong> (<em>boolean</em><em>, </em><em>optional</em>) – Decides if the flux parameter settings are stored or
+the rest of the parameter list.
+Default value is False.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><ul class="simple">
+<li><strong>start</strong> (<em>datetime</em>) – The start date of the retrieving data set.</li>
+<li><strong>end</strong> (<em>datetime</em>) – The end date of the retrieving data set.</li>
+<li><strong>chunk</strong> (<em>datetime</em>) – Time period in days for one single mars retrieval.</li>
+</ul>
+</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="get_mars_data.mk_server">
+<code class="descclassname">get_mars_data.</code><code class="descname">mk_server</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/get_mars_data.html#mk_server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#get_mars_data.mk_server" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates server connection if ECMWF WebAPI is available.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
+command line.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><strong>server</strong> – Connection to ECMWF server via python interface ECMWF WebAPI.</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">ECMWFDataServer or ECMWFService</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="get_mars_data.remove_old">
+<code class="descclassname">get_mars_data.</code><code class="descname">remove_old</code><span class="sig-paren">(</span><em>pattern</em>, <em>inputdir</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/get_mars_data.html#remove_old"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#get_mars_data.remove_old" title="Permalink to this definition">¶</a></dt>
+<dd><p>Deletes old retrieval files from current input directory
+matching the pattern.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>pattern</strong> (<em>str</em>) – The sub string pattern which identifies the files to be deleted.</li>
+<li><strong>inputdir</strong> (<em>str</em><em>, </em><em>optional</em>) – Path to the directory where the retrieved data is stored.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="get_mars_data.write_reqheader">
+<code class="descclassname">get_mars_data.</code><code class="descname">write_reqheader</code><span class="sig-paren">(</span><em>marsfile</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/get_mars_data.html#write_reqheader"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#get_mars_data.write_reqheader" title="Permalink to this definition">¶</a></dt>
+<dd><p>Writes header with column names into mars request file.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>marsfile</strong> (<em>str</em>) – Path to the mars request file.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
 </div>
 <div class="section" id="module-prepare_flexpart">
 <span id="prepare-flexpart"></span><h3><a class="toc-backref" href="#id12">prepare_flexpart</a><a class="headerlink" href="#module-prepare_flexpart" title="Permalink to this headline">¶</a></h3>
+<p>This script prepares the final version of the grib files which are
+then used by FLEXPART.</p>
+<p>It converts the bunch of grib files extracted via get_mars_data before,
+by doing the necessary conversion to get consistent grids or the
+disaggregation of flux data. Finally, the data fields are combined
+in files per available hour with the naming convention xxYYMMDDHH,
+where xx should be 2 arbitrary letters (mostly xx is chosen to be “EN”).</p>
+<p>This file can also be imported as a module which then contains the following
+functions:</p>
+<blockquote>
+<div><ul class="simple">
+<li>main</li>
+<li>prepare_flexpart</li>
+</ul>
+</div></blockquote>
+<p>Type: prepare_flexpart.py –help
+to get information about command line parameters.
+Read the documentation for usage instructions.</p>
 <dl class="function">
 <dt id="prepare_flexpart.main">
 <code class="descclassname">prepare_flexpart.</code><code class="descname">main</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/prepare_flexpart.html#main"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#prepare_flexpart.main" title="Permalink to this definition">¶</a></dt>
@@ -954,9 +2878,9 @@ convention.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ppid</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">int</span></code>) – Contains the ppid number of the current ECMWF job. It will be None if
+<li><strong>ppid</strong> (<em>int</em>) – Contains the ppid number of the current ECMWF job. It will be None if
 the method was called within this module.</li>
-<li><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
+<li><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
 command line.</li>
 </ul>
 </td>
@@ -968,15 +2892,18 @@ command line.</li>
 </div>
 <div class="section" id="module-tools">
 <span id="tools"></span><h3><a class="toc-backref" href="#id13">tools</a><a class="headerlink" href="#module-tools" title="Permalink to this headline">¶</a></h3>
+<p>This module contains a collection of diverse tasks within flex_extract.</p>
 <dl class="function">
 <dt id="tools.clean_up">
 <code class="descclassname">tools.</code><code class="descname">clean_up</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#clean_up"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.clean_up" title="Permalink to this definition">¶</a></dt>
-<dd><p>Remove all files from intermediate directory (inputdir).</p>
+<dd><p>Remove files from the intermediate directory (inputdir).</p>
+<p>It keeps the final FLEXPART input files if program runs without
+ECMWF Api and keywords “ectrans” or “ecstorage” are set to “1”.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#module-ControlFile" title="ControlFile"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ControlFile</span></code></a>) – Contains all the parameters of CONTROL file and
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>c</strong> (<a class="reference internal" href="#ControlFile.ControlFile" title="ControlFile.ControlFile"><em>ControlFile</em></a>) – Contains all the parameters of CONTROL file and
 command line.</td>
 </tr>
 </tbody>
@@ -984,8 +2911,31 @@ command line.</td>
 </dd></dl>
 
 <dl class="function">
-<dt id="tools.get_cmdline_arguments">
-<code class="descclassname">tools.</code><code class="descname">get_cmdline_arguments</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#get_cmdline_arguments"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.get_cmdline_arguments" title="Permalink to this definition">¶</a></dt>
+<dt id="tools.execute_subprocess">
+<code class="descclassname">tools.</code><code class="descname">execute_subprocess</code><span class="sig-paren">(</span><em>cmd_list</em>, <em>error_msg='SUBPROCESS FAILED!'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#execute_subprocess"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.execute_subprocess" title="Permalink to this definition">¶</a></dt>
+<dd><p>Executes a command line instruction via a subprocess.</p>
+<p>Error handling is done if an error occures.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>cmd_list</strong> (<em>list of str</em>) – A list of the components for the command line execution. Each
+list entry is a single part of the command which is seperated from
+the rest by a blank space.
+E.g. [‘mv’, file1, file2]</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><strong>error_msg</strong> – The possible error message if the subprocess failed.
+By default it will just tell “SUBPROCESS FAILED!”.</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">str, optional</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="tools.get_cmdline_args">
+<code class="descclassname">tools.</code><code class="descname">get_cmdline_args</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#get_cmdline_args"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.get_cmdline_args" title="Permalink to this definition">¶</a></dt>
 <dd><p>Decomposes the command line arguments and assigns them to variables.
 Apply default values for non mentioned arguments.</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -994,7 +2944,68 @@ Apply default values for non mentioned arguments.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><strong>args</strong> – Contains the commandline arguments from script/program call.</td>
 </tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Namespace</span></code></td>
+<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">Namespace</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="tools.get_dimensions">
+<code class="descclassname">tools.</code><code class="descname">get_dimensions</code><span class="sig-paren">(</span><em>info</em>, <em>purefc</em>, <em>dtime</em>, <em>index_vals</em>, <em>start_date</em>, <em>end_date</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#get_dimensions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.get_dimensions" title="Permalink to this definition">¶</a></dt>
+<dd><p>This function specifies the correct dimensions for x, y and t.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>info</strong> (<em>dict</em>) – Contains basic informations of the ECMWF grib files, e.g.
+‘Ni’, ‘Nj’, ‘latitudeOfFirstGridPointInDegrees’,
+‘longitudeOfFirstGridPointInDegrees’, ‘latitudeOfLastGridPointInDegrees’,
+‘longitudeOfLastGridPointInDegrees’, ‘jDirectionIncrementInDegrees’,
+‘iDirectionIncrementInDegrees’, ‘missingValue’</li>
+<li><strong>purefc</strong> (<em>int</em>) – Switch for definition of pure forecast mode or not.</li>
+<li><strong>dtime</strong> (<em>str</em>) – Time step in hours.</li>
+<li><strong>index_vals</strong> (<em>list of list of str</em>) – Contains the values from the keys used for a distinct selection
+of grib messages in processing  the grib files.
+Content looks like e.g.:
+index_vals[0]: (‘20171106’, ‘20171107’, ‘20171108’) ; date
+index_vals[1]: (‘0’, ‘1200’, ‘1800’, ‘600’) ; time
+index_vals[2]: (‘0’, ‘12’, ‘3’, ‘6’, ‘9’) ; stepRange</li>
+<li><strong>start_date</strong> (<em>str</em>) – The start date of the retrieval job.</li>
+<li><strong>end_date</strong> (<em>str</em>) – The end date of the retrieval job.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>(ix, jy, it)</strong> – Dimension in x-direction, y-direction and in time.</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">tuple of int</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="tools.get_informations">
+<code class="descclassname">tools.</code><code class="descname">get_informations</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#get_informations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.get_informations" title="Permalink to this definition">¶</a></dt>
+<dd><p>Gets basic information from an example grib file.</p>
+<p>These information are important for later use and the
+initialization of numpy arrays for data storing.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filename</strong> (<em>str</em>) – Name of the file which will be opened to extract basic information.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><strong>data</strong> – Contains basic informations of the ECMWF grib files, e.g.
+‘Ni’, ‘Nj’, ‘latitudeOfFirstGridPointInDegrees’,
+‘longitudeOfFirstGridPointInDegrees’, ‘latitudeOfLastGridPointInDegrees’,
+‘longitudeOfLastGridPointInDegrees’, ‘jDirectionIncrementInDegrees’,
+‘iDirectionIncrementInDegrees’, ‘missingValue’</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">dict</td>
 </tr>
 </tbody>
 </table>
@@ -1009,8 +3020,8 @@ Apply default values for non mentioned arguments.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>list_obj</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code>) – A list with arbitrary content.</li>
-<li><strong>concatenate_sign</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – A string which is used to concatenate the single
+<li><strong>list_obj</strong> (<em>list of *</em>) – A list with arbitrary content.</li>
+<li><strong>concatenate_sign</strong> (<em>str</em><em>, </em><em>optional</em>) – A string which is used to concatenate the single
 list elements. Default value is “, “.</li>
 </ul>
 </td>
@@ -1018,7 +3029,7 @@ list elements. Default value is “, “.</li>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>str_of_list</strong> – The content of the list as a single string.</p>
 </td>
 </tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code></p>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">str</p>
 </td>
 </tr>
 </tbody>
@@ -1033,13 +3044,13 @@ list elements. Default value is “, “.</li>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filepath</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Path to file of ECMWF grib table number 128.</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filepath</strong> (<em>str</em>) – Path to file of ECMWF grib table number 128.</td>
 </tr>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><strong>table128</strong> – Contains the ECMWF grib table 128 information.
 The key is the parameter number and the value is the
 short name of the parameter.</td>
 </tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dictionary</span></code></td>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">dict</td>
 </tr>
 </tbody>
 </table>
@@ -1048,13 +3059,14 @@ short name of the parameter.</td>
 <dl class="function">
 <dt id="tools.make_dir">
 <code class="descclassname">tools.</code><code class="descname">make_dir</code><span class="sig-paren">(</span><em>directory</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#make_dir"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.make_dir" title="Permalink to this definition">¶</a></dt>
-<dd><p>Creates a directory and gives a warning if the directory
-already exists. The program stops only if there is another problem.</p>
+<dd><p>Creates a directory.</p>
+<p>It gives a warning if the directory already exists and skips process.
+The program stops only if there is another problem.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>directory</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The directory name including the path which should be created.</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>directory</strong> (<em>str</em>) – The path to directory which should be created.</td>
 </tr>
 </tbody>
 </table>
@@ -1070,10 +3082,10 @@ before exiting the program.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>user</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Contains all email addresses which should be notified.
+<li><strong>user</strong> (<em>list of str</em>) – Contains all email addresses which should be notified.
 It might also contain just the ecmwf user name which wil trigger
 mailing to the associated email address for this user.</li>
-<li><strong>message</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Error message. Default value is “ERROR”.</li>
+<li><strong>message</strong> (<em>str</em><em>, </em><em>optional</em>) – Error message. Default value is “ERROR”.</li>
 </ul>
 </td>
 </tr>
@@ -1090,7 +3102,7 @@ contains string “None”. Otherwise it is converted to an integer value.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – String to be checked for the “None” word.</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<em>str</em>) – String to be checked for the “None” word.</td>
 </tr>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Return depends on the content of the input value. If it was “None”,
 then the python type None is returned. Otherwise the string is
@@ -1111,7 +3123,7 @@ contains string “None”.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – String to be checked for the “None” word.</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<em>str</em>) – String to be checked for the “None” word.</td>
 </tr>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Return depends on the content of the input value. If it was “None”,
 then the python type None is returned. Otherwise the string itself.</td>
@@ -1124,19 +3136,13 @@ then the python type None is returned. Otherwise the string itself.</td>
 
 <dl class="function">
 <dt id="tools.normal_exit">
-<code class="descclassname">tools.</code><code class="descname">normal_exit</code><span class="sig-paren">(</span><em>users</em>, <em>message='Done!'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#normal_exit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.normal_exit" title="Permalink to this definition">¶</a></dt>
+<code class="descclassname">tools.</code><code class="descname">normal_exit</code><span class="sig-paren">(</span><em>message='Done!'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#normal_exit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.normal_exit" title="Permalink to this definition">¶</a></dt>
 <dd><p>Prints a specific exit message which can be passed to the function.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>user</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Contains all email addresses which should be notified.
-It might also contain just the ecmwf user name which wil trigger
-mailing to the associated email address for this user.</li>
-<li><strong>message</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Message for exiting program. Default value is “Done!”.</li>
-</ul>
-</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>message</strong> (<em>str</em><em>, </em><em>optional</em>) – Message for exiting program. Default value is “Done!”.</td>
 </tr>
 </tbody>
 </table>
@@ -1145,7 +3151,8 @@ mailing to the associated email address for this user.</li>
 <dl class="function">
 <dt id="tools.product">
 <code class="descclassname">tools.</code><code class="descname">product</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwds</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#product"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.product" title="Permalink to this definition">¶</a></dt>
-<dd><p>This method combines the single characters of the passed arguments
+<dd><p>Creates combinations of all passed arguments.</p>
+<p>This method combines the single characters of the passed arguments
 with each other. So that each character of each argument value
 will be combined with each character of the other arguments as a tuple.</p>
 <div class="admonition note">
@@ -1161,8 +3168,8 @@ will be combined with each character of the other arguments as a tuple.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>*args</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">tuple</span></code>) – Positional arguments (arbitrary number).</li>
-<li><strong>**kwds</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">dictionary</span></code>) – Contains all the keyword arguments from *args.</li>
+<li><strong>*args</strong> (<em>list</em><em> or </em><em>str</em>) – Positional arguments (arbitrary number).</li>
+<li><strong>**kwds</strong> (<em>dict</em>) – Contains all the keyword arguments from *args.</li>
 </ul>
 </td>
 </tr>
@@ -1191,41 +3198,56 @@ is done in here.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>ecd</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The path were the file is stored.</li>
-<li><strong>filename</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The name of the file to send to the ECMWF server.</li>
-<li><strong>target</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The target queue where the file should be sent to.</li>
-<li><strong>ecuid</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The user id on ECMWF server.</li>
-<li><strong>ecgid</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The group id on ECMWF server.</li>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>ecd</strong> (<em>str</em>) – The path were the file is stored.</li>
+<li><strong>filename</strong> (<em>str</em>) – The name of the file to send to the ECMWF server.</li>
+<li><strong>target</strong> (<em>str</em>) – The target queue where the file should be sent to.</li>
+<li><strong>ecuid</strong> (<em>str</em>) – The user id on ECMWF server.</li>
+<li><strong>ecgid</strong> (<em>str</em>) – The group id on ECMWF server.</li>
 </ul>
 </td>
 </tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>rcode</strong> – Resulting code of command execution. If successful the string
-will be empty.</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code></p>
-</td>
-</tr>
 </tbody>
 </table>
 </dd></dl>
 
 <dl class="function">
 <dt id="tools.read_ecenv">
-<code class="descclassname">tools.</code><code class="descname">read_ecenv</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#read_ecenv"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.read_ecenv" title="Permalink to this definition">¶</a></dt>
+<code class="descclassname">tools.</code><code class="descname">read_ecenv</code><span class="sig-paren">(</span><em>filepath</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#read_ecenv"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.read_ecenv" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reads the file into a dictionary where the key values are the parameter
 names.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filename</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Path to file where the ECMWF environment parameters are stored.</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filepath</strong> (<em>str</em>) – Path to file where the ECMWF environment parameters are stored.</td>
 </tr>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><strong>envs</strong> – Contains the environment parameter ecuid, ecgid, gateway
 and destination for ECMWF server environments.</td>
 </tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dictionary</span></code></td>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">dict</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="tools.send_mail">
+<code class="descclassname">tools.</code><code class="descname">send_mail</code><span class="sig-paren">(</span><em>users</em>, <em>success_mode</em>, <em>message</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#send_mail"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.send_mail" title="Permalink to this definition">¶</a></dt>
+<dd><p>Prints a specific exit message which can be passed to the function.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>users</strong> (<em>list of str</em>) – Contains all email addresses which should be notified.
+It might also contain just the ecmwf user name which wil trigger
+mailing to the associated email address for this user.</li>
+<li><strong>success_mode</strong> (<em>str</em>) – States the exit mode of the program to put into
+the mail subject line.</li>
+<li><strong>message</strong> (<em>str</em><em>, </em><em>optional</em>) – Message for exiting program. Default value is “Done!”.</li>
+</ul>
+</td>
 </tr>
 </tbody>
 </table>
@@ -1240,7 +3262,7 @@ The function does not fail if the file does not exist.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filename</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The name of the file to be removed without notification.</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filename</strong> (<em>str</em>) – The name of the file to be removed without notification.</td>
 </tr>
 </tbody>
 </table>
@@ -1261,17 +3283,15 @@ is done in here.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>target</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The target where the file should be sent to, e.g. the queue.</li>
-<li><strong>jobname</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – The name of the jobfile to be submitted to the ECMWF server.</li>
+<li><strong>target</strong> (<em>str</em>) – The target where the file should be sent to, e.g. the queue.</li>
+<li><strong>jobname</strong> (<em>str</em>) – The name of the jobfile to be submitted to the ECMWF server.</li>
 </ul>
 </td>
 </tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>rcode</strong> – Resulting code of command execution. If successful the string
-will contain an integer number, representing the id of the job
-at the ecmwf server.</p>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>job_id</strong> – The id number of the job as a reference at the ecmwf server.</p>
 </td>
 </tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code></p>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">int</p>
 </td>
 </tr>
 </tbody>
@@ -1287,11 +3307,11 @@ at the ecmwf server.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>pars</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>) – Addpar argument from CONTROL file in the format of
+<li><strong>pars</strong> (<em>str</em>) – Addpar argument from CONTROL file in the format of
 parameter names instead of ids. The parameter short
 names are sepearted with “/” and they are passed as
 one single string.</li>
-<li><strong>table</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">dictionary</span></code>) – Contains the ECMWF grib table 128 information.
+<li><strong>table</strong> (<em>dict</em>) – Contains the ECMWF grib table 128 information.
 The key is the parameter number and the value is the
 short name of the parameter.</li>
 </ul>
@@ -1301,7 +3321,7 @@ short name of the parameter.</li>
 parameter ids in the format of integer.</p>
 </td>
 </tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">integer</span></code></p>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">list of int</p>
 </td>
 </tr>
 </tbody>
@@ -1311,6 +3331,22 @@ parameter ids in the format of integer.</p>
 </div>
 <div class="section" id="module-disaggregation">
 <span id="disaggregation"></span><h3><a class="toc-backref" href="#id14">disaggregation</a><a class="headerlink" href="#module-disaggregation" title="Permalink to this headline">¶</a></h3>
+<p>Disaggregation of deaccumulated flux data from an ECMWF model FG field.</p>
+<dl class="docutils">
+<dt>Initially the flux data to be concerned are:</dt>
+<dd><ul class="first last simple">
+<li>large-scale precipitation</li>
+<li>convective precipitation</li>
+<li>surface sensible heat flux</li>
+<li>surface solar radiation</li>
+<li>u stress</li>
+<li>v stress</li>
+</ul>
+</dd>
+</dl>
+<p>Different versions of disaggregation is provided for rainfall
+data (darain, modified linear) and the surface fluxes and
+stress data (dapoly, cubic polynomial).</p>
 <dl class="function">
 <dt id="disaggregation.IA3">
 <code class="descclassname">disaggregation.</code><code class="descname">IA3</code><span class="sig-paren">(</span><em>g</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/disaggregation.html#IA3"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#disaggregation.IA3" title="Permalink to this definition">¶</a></dt>
@@ -1322,7 +3358,7 @@ monotonicity filter is applied to improve the monotonicity properties of
 the series.</p>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
-<p>Copyright 2017
+<p>(C) Copyright 2017-2019
 Sabine Hittmeir, Anne Philipp, Petra Seibert</p>
 <p class="last">This work is licensed under the Creative Commons Attribution 4.0
 International License. To view a copy of this license, visit
@@ -1333,14 +3369,14 @@ Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>g</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">float</span></code>) – Complete data series that will be interpolated having
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>g</strong> (<em>list of float</em>) – Complete data series that will be interpolated having
 the dimension of the original raw series.</td>
 </tr>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><strong>f</strong> – The interpolated data series with additional subgrid points.
 Its dimension is equal to the length of the input data series
 times three.</td>
 </tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">float</span></code></td>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">list of float</td>
 </tr>
 </tbody>
 </table>
@@ -1368,12 +3404,12 @@ timeseries afterwards.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>alist</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">array</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">float</span></code>) – List of 4 timespans as 2-dimensional, horizontal fields.
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>alist</strong> (<em>list of array of float</em>) – List of 4 timespans as 2-dimensional, horizontal fields.
 E.g. [[array_t1], [array_t2], [array_t3], [array_t4]]</td>
 </tr>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><strong>nfield</strong> – Interpolated flux at central point of accumulation timespan.</td>
 </tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><code class="xref py py-obj docutils literal notranslate"><span class="pre">array</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">float</span></code></td>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">array of float</td>
 </tr>
 </tbody>
 </table>
@@ -1405,12 +3441,12 @@ interpolation of the complete timeseries afterwards.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>alist</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">array</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">float</span></code>) – List of 4 timespans as 2-dimensional, horizontal fields.
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>alist</strong> (<em>list of array of float</em>) – List of 4 timespans as 2-dimensional, horizontal fields.
 E.g. [[array_t1], [array_t2], [array_t3], [array_t4]]</td>
 </tr>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><strong>nfield</strong> – Interpolated flux at central point of accumulation timespan.</td>
 </tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><code class="xref py py-obj docutils literal notranslate"><span class="pre">array</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">float</span></code></td>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">array of float</td>
 </tr>
 </tbody>
 </table>
@@ -1451,7 +3487,7 @@ E.g. [[array_t1], [array_t2], [array_t3], [array_t4]]</td>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -1470,21 +3506,13 @@ E.g. [[array_t1], [array_t2], [array_t3], [array_t4]]</td>
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/downloads.html b/documentation/Sphinx/build/html/downloads.html
index 2cbcfda..f306954 100644
--- a/documentation/Sphinx/build/html/downloads.html
+++ b/documentation/Sphinx/build/html/downloads.html
@@ -188,7 +188,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -207,21 +207,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/downloads/git_repo.html b/documentation/Sphinx/build/html/downloads/git_repo.html
index c46a986..f6e2bd4 100644
--- a/documentation/Sphinx/build/html/downloads/git_repo.html
+++ b/documentation/Sphinx/build/html/downloads/git_repo.html
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/downloads/history_changes.html b/documentation/Sphinx/build/html/downloads/history_changes.html
index d63eb3b..bda31d1 100644
--- a/documentation/Sphinx/build/html/downloads/history_changes.html
+++ b/documentation/Sphinx/build/html/downloads/history_changes.html
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/downloads/tar_balls.html b/documentation/Sphinx/build/html/downloads/tar_balls.html
index fb3cb36..2981558 100644
--- a/documentation/Sphinx/build/html/downloads/tar_balls.html
+++ b/documentation/Sphinx/build/html/downloads/tar_balls.html
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/genindex.html b/documentation/Sphinx/build/html/genindex.html
index 562e1d4..361d068 100644
--- a/documentation/Sphinx/build/html/genindex.html
+++ b/documentation/Sphinx/build/html/genindex.html
@@ -156,13 +156,17 @@
 
 <div class="genindex-jumpbox">
  <a href="#A"><strong>A</strong></a>
+ | <a href="#B"><strong>B</strong></a>
  | <a href="#C"><strong>C</strong></a>
  | <a href="#D"><strong>D</strong></a>
  | <a href="#E"><strong>E</strong></a>
+ | <a href="#F"><strong>F</strong></a>
  | <a href="#G"><strong>G</strong></a>
  | <a href="#I"><strong>I</strong></a>
+ | <a href="#L"><strong>L</strong></a>
  | <a href="#M"><strong>M</strong></a>
  | <a href="#N"><strong>N</strong></a>
+ | <a href="#O"><strong>O</strong></a>
  | <a href="#P"><strong>P</strong></a>
  | <a href="#R"><strong>R</strong></a>
  | <a href="#S"><strong>S</strong></a>
@@ -174,35 +178,89 @@
 <h2 id="A">A</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api.html#ControlFile.ControlFile.assign_args_to_control">assign_args_to_control() (ControlFile.ControlFile method)</a>
+      <li><a href="api.html#ControlFile.ControlFile.accmaxstep">accmaxstep (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.accmaxstep">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.acctime">acctime (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.acctime">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.acctype">acctype (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.acctype">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.accuracy">accuracy (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.accuracy">(EcFlexpart.EcFlexpart attribute)</a>
 </li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.accuracy">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.addpar">addpar (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.addpar">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.area">area (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.area">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.area">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.assign_args_to_control">assign_args_to_control() (ControlFile.ControlFile method)</a>
+</li>
       <li><a href="api.html#ControlFile.ControlFile.assign_envs_to_control">assign_envs_to_control() (ControlFile.ControlFile method)</a>
 </li>
   </ul></td>
 </tr></table>
 
+<h2 id="B">B</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.basetime">basetime (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.basetime">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
 <h2 id="C">C</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#ControlFile.ControlFile.check_conditions">check_conditions() (ControlFile.ControlFile method)</a>
 </li>
-      <li><a href="api.html#ControlFile.ControlFile.check_install_conditions">check_install_conditions() (ControlFile.ControlFile method)</a>
+      <li><a href="api.html#install.check_install_conditions">check_install_conditions() (in module install)</a>
 </li>
       <li><a href="api.html#tools.clean_up">clean_up() (in module tools)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile">ControlFile (class in ControlFile)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api.html#ControlFile.ControlFile">ControlFile (class in ControlFile)</a>
-
-      <ul>
-        <li><a href="api.html#module-ControlFile">(module)</a>
+      <li><a href="api.html#ControlFile.ControlFile.controlfile">controlfile (ControlFile.ControlFile attribute)</a>
 </li>
-      </ul></li>
-      <li><a href="api.html#GribTools.GribTools.copy">copy() (GribTools.GribTools method)</a>
+      <li><a href="api.html#module-ControlFile">ControlFile (module)</a>
+</li>
+      <li><a href="api.html#GribUtil.GribUtil.copy_dummy_msg">copy_dummy_msg() (GribUtil.GribUtil method)</a>
 </li>
       <li><a href="api.html#EcFlexpart.EcFlexpart.create">create() (EcFlexpart.EcFlexpart method)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.cwc">cwc (ControlFile.ControlFile attribute)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -215,14 +273,32 @@
       <li><a href="api.html#disaggregation.darain">darain() (in module disaggregation)</a>
 </li>
       <li><a href="api.html#MarsRetrieval.MarsRetrieval.data_retrieve">data_retrieve() (MarsRetrieval.MarsRetrieval method)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.dataset">dataset (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.dataset">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.dataset">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#MarsRetrieval.MarsRetrieval.date">date (MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.date_chunk">date_chunk (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#EcFlexpart.EcFlexpart.dates">dates (EcFlexpart.EcFlexpart attribute)</a>
 </li>
       <li><a href="api.html#EcFlexpart.EcFlexpart.deacc_fluxes">deacc_fluxes() (EcFlexpart.EcFlexpart method)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api.html#install.delete_convert_build">delete_convert_build() (in module install)</a>
+      <li><a href="api.html#ControlFile.ControlFile.debug">debug (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#install.del_convert_build">del_convert_build() (in module install)</a>
 </li>
       <li><a href="api.html#UioFiles.UioFiles.delete_files">delete_files() (UioFiles.UioFiles method)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.destination">destination (ControlFile.ControlFile attribute)</a>
 </li>
       <li><a href="api.html#module-disaggregation">disaggregation (module)</a>
 </li>
@@ -230,42 +306,128 @@
 </li>
       <li><a href="api.html#get_mars_data.do_retrievement">do_retrievement() (in module get_mars_data)</a>
 </li>
+      <li><a href="api.html#ControlFile.ControlFile.dpdeta">dpdeta (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.dtime">dtime (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.dtime">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
 <h2 id="E">E</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.ecapi">ecapi (ControlFile.ControlFile attribute)</a>
+</li>
       <li><a href="api.html#EcFlexpart.EcFlexpart">EcFlexpart (class in EcFlexpart)</a>
 
       <ul>
         <li><a href="api.html#module-EcFlexpart">(module)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.ecfsdir">ecfsdir (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.ecgid">ecgid (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.ecstorage">ecstorage (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.ectrans">ectrans (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.ecuid">ecuid (ControlFile.ControlFile attribute)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.end_date">end_date (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.eta">eta (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.etadiff">etadiff (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.etapar">etapar (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#tools.execute_subprocess">execute_subprocess() (in module tools)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.exedir">exedir (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.expver">expver (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.expver">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.expver">(MarsRetrieval.MarsRetrieval attribute)</a>
 </li>
       </ul></li>
   </ul></td>
 </tr></table>
 
+<h2 id="F">F</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#UioFiles.UioFiles.files">files (UioFiles.UioFiles attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.flexextractdir">flexextractdir (ControlFile.ControlFile attribute)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.flexpartdir">flexpartdir (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.format">format (ControlFile.ControlFile attribute)</a>
+</li>
+  </ul></td>
+</tr></table>
+
 <h2 id="G">G</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api.html#tools.get_cmdline_arguments">get_cmdline_arguments() (in module tools)</a>
+      <li><a href="api.html#ControlFile.ControlFile.gateway">gateway (ControlFile.ControlFile attribute)</a>
 </li>
-      <li><a href="api.html#install.get_install_cmdline_arguments">get_install_cmdline_arguments() (in module install)</a>
+      <li><a href="api.html#ControlFile.ControlFile.gauss">gauss (ControlFile.ControlFile attribute)</a>
 </li>
-      <li><a href="api.html#GribTools.GribTools.get_keys">get_keys() (GribTools.GribTools method)</a>
+      <li><a href="api.html#ControlFile.ControlFile.gaussian">gaussian (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.gaussian">(EcFlexpart.EcFlexpart attribute)</a>
 </li>
-      <li><a href="api.html#tools.get_list_as_string">get_list_as_string() (in module tools)</a>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.gaussian">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#tools.get_cmdline_args">get_cmdline_args() (in module tools)</a>
+</li>
+      <li><a href="api.html#tools.get_dimensions">get_dimensions() (in module tools)</a>
+</li>
+      <li><a href="api.html#tools.get_informations">get_informations() (in module tools)</a>
+</li>
+      <li><a href="api.html#install.get_install_cmdline_args">get_install_cmdline_args() (in module install)</a>
+</li>
+      <li><a href="api.html#GribUtil.GribUtil.get_keys">get_keys() (GribUtil.GribUtil method)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#tools.get_list_as_string">get_list_as_string() (in module tools)</a>
+</li>
       <li><a href="api.html#module-get_mars_data">get_mars_data (module)</a>
 </li>
       <li><a href="api.html#get_mars_data.get_mars_data">get_mars_data() (in module get_mars_data)</a>
 </li>
-      <li><a href="api.html#GribTools.GribTools">GribTools (class in GribTools)</a>
+      <li><a href="api.html#EcFlexpart.EcFlexpart.glevelist">glevelist (EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.grib2flexpart">grib2flexpart (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#GribUtil.GribUtil">GribUtil (class in GribUtil)</a>
 
       <ul>
-        <li><a href="api.html#module-GribTools">(module)</a>
+        <li><a href="api.html#module-GribUtil">(module)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.grid">grid (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.grid">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.grid">(MarsRetrieval.MarsRetrieval attribute)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -276,22 +438,64 @@
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#disaggregation.IA3">IA3() (in module disaggregation)</a>
 </li>
-      <li><a href="api.html#GribTools.GribTools.index">index() (GribTools.GribTools method)</a>
+      <li><a href="api.html#GribUtil.GribUtil.index">index() (GribUtil.GribUtil method)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#tools.init128">init128() (in module tools)</a>
 </li>
+      <li><a href="api.html#ControlFile.ControlFile.inputdir">inputdir (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.inputdir">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#module-install">install (module)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.install_target">install_target (ControlFile.ControlFile attribute)</a>
 </li>
       <li><a href="api.html#install.install_via_gateway">install_via_gateway() (in module install)</a>
 </li>
   </ul></td>
 </tr></table>
 
+<h2 id="L">L</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.left">left (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.level">level (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.level">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.levelist">levelist (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.levelist">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.levelist">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#MarsRetrieval.MarsRetrieval.levtype">levtype (MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.logicals">logicals (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.lower">lower (ControlFile.ControlFile attribute)</a>
+</li>
+  </ul></td>
+</tr></table>
+
 <h2 id="M">M</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.mailfail">mailfail (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.mailops">mailops (ControlFile.ControlFile attribute)</a>
+</li>
       <li><a href="api.html#get_mars_data.main">main() (in module get_mars_data)</a>
 
       <ul>
@@ -302,25 +506,45 @@
         <li><a href="api.html#submit.main">(in module submit)</a>
 </li>
       </ul></li>
-      <li><a href="api.html#install.make_convert_build">make_convert_build() (in module install)</a>
-</li>
       <li><a href="api.html#tools.make_dir">make_dir() (in module tools)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.makefile">makefile (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.marsclass">marsclass (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.marsclass">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.marsclass">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
       <li><a href="api.html#MarsRetrieval.MarsRetrieval">MarsRetrieval (class in MarsRetrieval)</a>
 
       <ul>
         <li><a href="api.html#module-MarsRetrieval">(module)</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.maxstep">maxstep (ControlFile.ControlFile attribute)</a>
+</li>
       <li><a href="api.html#install.mk_compilejob">mk_compilejob() (in module install)</a>
+</li>
+      <li><a href="api.html#install.mk_convert_build">mk_convert_build() (in module install)</a>
+</li>
+      <li><a href="api.html#get_mars_data.mk_dates">mk_dates() (in module get_mars_data)</a>
 </li>
       <li><a href="api.html#install.mk_env_vars">mk_env_vars() (in module install)</a>
 </li>
       <li><a href="api.html#install.mk_job_template">mk_job_template() (in module install)</a>
+</li>
+      <li><a href="api.html#submit.mk_jobscript">mk_jobscript() (in module submit)</a>
+</li>
+      <li><a href="api.html#get_mars_data.mk_server">mk_server() (in module get_mars_data)</a>
 </li>
       <li><a href="api.html#install.mk_tarball">mk_tarball() (in module install)</a>
+</li>
+      <li><a href="api.html#EcFlexpart.EcFlexpart.mreq_count">mreq_count (EcFlexpart.EcFlexpart attribute)</a>
 </li>
       <li><a href="api.html#tools.my_error">my_error() (in module tools)</a>
 </li>
@@ -332,11 +556,35 @@
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#tools.none_or_int">none_or_int() (in module tools)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#tools.none_or_str">none_or_str() (in module tools)</a>
 </li>
       <li><a href="api.html#tools.normal_exit">normal_exit() (in module tools)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.number">number (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.number">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.number">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="O">O</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.omega">omega (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.omegadiff">omegadiff (ControlFile.ControlFile attribute)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.outputdir">outputdir (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#EcFlexpart.EcFlexpart.outputfilelist">outputfilelist (EcFlexpart.EcFlexpart attribute)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -344,13 +592,21 @@
 <h2 id="P">P</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#MarsRetrieval.MarsRetrieval.param">param (MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      <li><a href="api.html#EcFlexpart.EcFlexpart.params">params (EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      <li><a href="api.html#UioFiles.UioFiles.path">path (UioFiles.UioFiles attribute)</a>
+</li>
+      <li><a href="api.html#UioFiles.UioFiles.pattern">pattern (UioFiles.UioFiles attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.prefix">prefix (ControlFile.ControlFile attribute)</a>
+</li>
       <li><a href="api.html#module-prepare_flexpart">prepare_flexpart (module)</a>
 </li>
       <li><a href="api.html#prepare_flexpart.prepare_flexpart">prepare_flexpart() (in module prepare_flexpart)</a>
 </li>
       <li><a href="api.html#EcFlexpart.EcFlexpart.prepare_fp_files">prepare_fp_files() (EcFlexpart.EcFlexpart method)</a>
-</li>
-      <li><a href="api.html#MarsRetrieval.MarsRetrieval.print_info">print_info() (MarsRetrieval.MarsRetrieval method)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
@@ -360,6 +616,20 @@
 </li>
       <li><a href="api.html#tools.product">product() (in module tools)</a>
 </li>
+      <li><a href="api.html#ControlFile.ControlFile.public">public (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.public">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.public">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.purefc">purefc (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.purefc">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      </ul></li>
       <li><a href="api.html#tools.put_file_to_ecserver">put_file_to_ecserver() (in module tools)</a>
 </li>
   </ul></td>
@@ -370,9 +640,27 @@
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#tools.read_ecenv">read_ecenv() (in module tools)</a>
 </li>
+      <li><a href="api.html#get_mars_data.remove_old">remove_old() (in module get_mars_data)</a>
+</li>
+      <li><a href="api.html#MarsRetrieval.MarsRetrieval.repres">repres (MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.request">request (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.resol">resol (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.resol">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.resol">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#EcFlexpart.EcFlexpart.retrieve">retrieve() (EcFlexpart.EcFlexpart method)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.right">right (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.rrint">rrint (ControlFile.ControlFile attribute)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -380,12 +668,38 @@
 <h2 id="S">S</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api.html#GribTools.GribTools.set_keys">set_keys() (GribTools.GribTools method)</a>
+      <li><a href="api.html#tools.send_mail">send_mail() (in module tools)</a>
+</li>
+      <li><a href="api.html#EcFlexpart.EcFlexpart.server">server (EcFlexpart.EcFlexpart attribute)</a>
+
+      <ul>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.server">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#GribUtil.GribUtil.set_keys">set_keys() (GribUtil.GribUtil method)</a>
 </li>
       <li><a href="api.html#tools.silent_remove">silent_remove() (in module tools)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.smooth">smooth (ControlFile.ControlFile attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.start_date">start_date (ControlFile.ControlFile attribute)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.step">step (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.step">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#ControlFile.ControlFile.stream">stream (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#EcFlexpart.EcFlexpart.stream">(EcFlexpart.EcFlexpart attribute)</a>
+</li>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.stream">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
       <li><a href="api.html#module-submit">submit (module)</a>
 </li>
       <li><a href="api.html#submit.submit">submit() (in module submit)</a>
@@ -398,6 +712,14 @@
 <h2 id="T">T</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#MarsRetrieval.MarsRetrieval.target">target (MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.time">time (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.time">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
       <li><a href="api.html#ControlFile.ControlFile.to_list">to_list() (ControlFile.ControlFile method)</a>
 </li>
   </ul></td>
@@ -405,6 +727,14 @@
       <li><a href="api.html#tools.to_param_id">to_param_id() (in module tools)</a>
 </li>
       <li><a href="api.html#module-tools">tools (module)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.type">type (ControlFile.ControlFile attribute)</a>
+
+      <ul>
+        <li><a href="api.html#MarsRetrieval.MarsRetrieval.type">(MarsRetrieval.MarsRetrieval attribute)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#EcFlexpart.EcFlexpart.types">types (EcFlexpart.EcFlexpart attribute)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -421,14 +751,22 @@
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#install.un_tarball">un_tarball() (in module install)</a>
+</li>
+      <li><a href="api.html#ControlFile.ControlFile.upper">upper (ControlFile.ControlFile attribute)</a>
 </li>
   </ul></td>
 </tr></table>
 
 <h2 id="W">W</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#ControlFile.ControlFile.wrf">wrf (ControlFile.ControlFile attribute)</a>
+</li>
+  </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#EcFlexpart.EcFlexpart.write_namelist">write_namelist() (EcFlexpart.EcFlexpart method)</a>
+</li>
+      <li><a href="api.html#get_mars_data.write_reqheader">write_reqheader() (in module get_mars_data)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -445,7 +783,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -464,21 +802,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/index.html b/documentation/Sphinx/build/html/index.html
index 16bd866..229bd46 100644
--- a/documentation/Sphinx/build/html/index.html
+++ b/documentation/Sphinx/build/html/index.html
@@ -156,7 +156,7 @@
   <div class="section" id="welcome-to-flex-extract-s-user-documentation">
 <h1>Welcome to flex_extract’s user documentation!<a class="headerlink" href="#welcome-to-flex-extract-s-user-documentation" title="Permalink to this headline">¶</a></h1>
 <p>flex_extract is a software to retrieve meteorological fields from the European Centre for Medium-Range Weather Forecasts (ECMWF) Mars archive to server as input files for the FLEXTRA/FLEXPART Atmospheric Transport Modelling system.</p>
-<p>All required second party software and libraries used within flex_extract is open source and free of charge.</p>
+<p>All third-party software and libraries required by flex_extract are open source and free of charge.</p>
 <table style="width:100%;">
   <tr>
     <td style="width:200px;height:150px;">
@@ -231,7 +231,11 @@
 </table>
 <p></p><div class="admonition note">
 <p class="first admonition-title">Note</p>
-<p class="last">License text put in here! Which one?</p>
+<p class="last">![][/documentation/Sphinx/source/_static/cc-by-40.png]
+This work is licensed under the Creative Commons Attribution 4.0
+International License. To view a copy of this license, visit
+<a class="reference external" href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</a> or send a letter to
+Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</p>
 </div>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents:</span></p>
@@ -249,7 +253,7 @@
 <li class="toctree-l2"><a class="reference internal" href="api.html#classes">Classes</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="api.html#module-ControlFile">ControlFile</a></li>
 <li class="toctree-l3"><a class="reference internal" href="api.html#module-EcFlexpart">EcFlexpart</a></li>
-<li class="toctree-l3"><a class="reference internal" href="api.html#module-GribTools">GribTools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="api.html#module-GribUtil">GribUtil</a></li>
 <li class="toctree-l3"><a class="reference internal" href="api.html#module-MarsRetrieval">MarsRetrieval</a></li>
 <li class="toctree-l3"><a class="reference internal" href="api.html#module-UioFiles">UioFiles</a></li>
 </ul>
@@ -294,7 +298,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -313,21 +317,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/installation.html b/documentation/Sphinx/build/html/installation.html
index f2c7f32..bcd6ecd 100644
--- a/documentation/Sphinx/build/html/installation.html
+++ b/documentation/Sphinx/build/html/installation.html
@@ -29,7 +29,7 @@
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Requirements" href="installation/requirements.html" />
-    <link rel="prev" title="Downloads" href="downloads.html" /> 
+    <link rel="prev" title="History of Changes" href="downloads/history_changes.html" /> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -178,7 +178,7 @@
         <a href="installation/requirements.html" class="btn btn-neutral float-right" title="Requirements" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="downloads.html" class="btn btn-neutral" title="Downloads" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="downloads/history_changes.html" class="btn btn-neutral" title="History of Changes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/installation/oper_modes.html b/documentation/Sphinx/build/html/installation/oper_modes.html
index b111f0d..87d479b 100644
--- a/documentation/Sphinx/build/html/installation/oper_modes.html
+++ b/documentation/Sphinx/build/html/installation/oper_modes.html
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/installation/requirements.html b/documentation/Sphinx/build/html/installation/requirements.html
index 7bb2491..c3f3599 100644
--- a/documentation/Sphinx/build/html/installation/requirements.html
+++ b/documentation/Sphinx/build/html/installation/requirements.html
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/installation/test_install.html b/documentation/Sphinx/build/html/installation/test_install.html
index c399553..fcfa052 100644
--- a/documentation/Sphinx/build/html/installation/test_install.html
+++ b/documentation/Sphinx/build/html/installation/test_install.html
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/objects.inv b/documentation/Sphinx/build/html/objects.inv
index 7f7fb49daf2cebaeb599ad3e7ed2ad1bee74e74a..16345ec8d071988afc8636f6f6c4a5ad11737814 100644
GIT binary patch
delta 2381
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
Y|7~9Shh`lssZ1%#4*Oq!eE0J<0Ppy_GXMYp

delta 1693
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
Ye)|h|p_#UC|7R6thW?jNNLYFc0Mv>}5C8xG

diff --git a/documentation/Sphinx/build/html/program_structure.html b/documentation/Sphinx/build/html/program_structure.html
index dc40043..cb73aae 100644
--- a/documentation/Sphinx/build/html/program_structure.html
+++ b/documentation/Sphinx/build/html/program_structure.html
@@ -188,7 +188,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -207,21 +207,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/program_structure/prog_components.html b/documentation/Sphinx/build/html/program_structure/prog_components.html
index 52ecea2..61eda39 100644
--- a/documentation/Sphinx/build/html/program_structure/prog_components.html
+++ b/documentation/Sphinx/build/html/program_structure/prog_components.html
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/program_structure/prog_flow.html b/documentation/Sphinx/build/html/program_structure/prog_flow.html
index 04ccdef..93b08c7 100644
--- a/documentation/Sphinx/build/html/program_structure/prog_flow.html
+++ b/documentation/Sphinx/build/html/program_structure/prog_flow.html
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/program_structure/prog_overview.html b/documentation/Sphinx/build/html/program_structure/prog_overview.html
index 8631b1c..1027617 100644
--- a/documentation/Sphinx/build/html/program_structure/prog_overview.html
+++ b/documentation/Sphinx/build/html/program_structure/prog_overview.html
@@ -187,7 +187,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -206,21 +206,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/py-modindex.html b/documentation/Sphinx/build/html/py-modindex.html
index cad8060..bec7bf0 100644
--- a/documentation/Sphinx/build/html/py-modindex.html
+++ b/documentation/Sphinx/build/html/py-modindex.html
@@ -207,7 +207,7 @@
      <tr>
        <td></td>
        <td>
-       <a href="api.html#module-GribTools"><code class="xref">GribTools</code></a></td><td>
+       <a href="api.html#module-GribUtil"><code class="xref">GribUtil</code></a></td><td>
        <em></em></td></tr>
      <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
      <tr class="cap" id="cap-i"><td></td><td>
@@ -270,7 +270,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -289,21 +289,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/search.html b/documentation/Sphinx/build/html/search.html
index a59385d..f7c356e 100644
--- a/documentation/Sphinx/build/html/search.html
+++ b/documentation/Sphinx/build/html/search.html
@@ -174,7 +174,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -193,22 +193,14 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-      <script type="text/javascript" src="_static/searchtools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+        <script type="text/javascript" src="_static/searchtools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/searchindex.js b/documentation/Sphinx/build/html/searchindex.js
index 20080a1..147bc69 100644
--- a/documentation/Sphinx/build/html/searchindex.js
+++ b/documentation/Sphinx/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["api","downloads","downloads/git_repo","downloads/history_changes","downloads/tar_balls","index","installation","installation/oper_modes","installation/requirements","installation/test_install","program_structure","program_structure/prog_components","program_structure/prog_flow","program_structure/prog_overview","support","support/faq","support/known_bugs_issues","support/mailing_list","support/ticket_system","user_guide","user_guide/control_templates","user_guide/how_to"],envversion:54,filenames:["api.rst","downloads.rst","downloads/git_repo.rst","downloads/history_changes.rst","downloads/tar_balls.rst","index.rst","installation.rst","installation/oper_modes.rst","installation/requirements.rst","installation/test_install.rst","program_structure.rst","program_structure/prog_components.rst","program_structure/prog_flow.rst","program_structure/prog_overview.rst","support.rst","support/faq.rst","support/known_bugs_issues.rst","support/mailing_list.rst","support/ticket_system.rst","user_guide.rst","user_guide/control_templates.rst","user_guide/how_to.rst"],objects:{"":{ControlFile:[0,0,0,"-"],EcFlexpart:[0,0,0,"-"],GribTools:[0,0,0,"-"],MarsRetrieval:[0,0,0,"-"],UioFiles:[0,0,0,"-"],disaggregation:[0,0,0,"-"],get_mars_data:[0,0,0,"-"],install:[0,0,0,"-"],prepare_flexpart:[0,0,0,"-"],submit:[0,0,0,"-"],tools:[0,0,0,"-"]},"ControlFile.ControlFile":{assign_args_to_control:[0,2,1,""],assign_envs_to_control:[0,2,1,""],check_conditions:[0,2,1,""],check_install_conditions:[0,2,1,""],to_list:[0,2,1,""]},"EcFlexpart.EcFlexpart":{create:[0,2,1,""],deacc_fluxes:[0,2,1,""],prepare_fp_files:[0,2,1,""],process_output:[0,2,1,""],retrieve:[0,2,1,""],write_namelist:[0,2,1,""]},"GribTools.GribTools":{copy:[0,2,1,""],get_keys:[0,2,1,""],index:[0,2,1,""],set_keys:[0,2,1,""]},"MarsRetrieval.MarsRetrieval":{data_retrieve:[0,2,1,""],display_info:[0,2,1,""],print_info:[0,2,1,""],print_infodata_csv:[0,2,1,""]},"UioFiles.UioFiles":{delete_files:[0,2,1,""]},ControlFile:{ControlFile:[0,1,1,""]},EcFlexpart:{EcFlexpart:[0,1,1,""]},GribTools:{GribTools:[0,1,1,""]},MarsRetrieval:{MarsRetrieval:[0,1,1,""]},UioFiles:{UioFiles:[0,1,1,""]},disaggregation:{IA3:[0,3,1,""],dapoly:[0,3,1,""],darain:[0,3,1,""]},get_mars_data:{do_retrievement:[0,3,1,""],get_mars_data:[0,3,1,""],main:[0,3,1,""]},install:{delete_convert_build:[0,3,1,""],get_install_cmdline_arguments:[0,3,1,""],install_via_gateway:[0,3,1,""],main:[0,3,1,""],make_convert_build:[0,3,1,""],mk_compilejob:[0,3,1,""],mk_env_vars:[0,3,1,""],mk_job_template:[0,3,1,""],mk_tarball:[0,3,1,""],un_tarball:[0,3,1,""]},prepare_flexpart:{main:[0,3,1,""],prepare_flexpart:[0,3,1,""]},submit:{main:[0,3,1,""],submit:[0,3,1,""]},tools:{clean_up:[0,3,1,""],get_cmdline_arguments:[0,3,1,""],get_list_as_string:[0,3,1,""],init128:[0,3,1,""],make_dir:[0,3,1,""],my_error:[0,3,1,""],none_or_int:[0,3,1,""],none_or_str:[0,3,1,""],normal_exit:[0,3,1,""],product:[0,3,1,""],put_file_to_ecserver:[0,3,1,""],read_ecenv:[0,3,1,""],silent_remove:[0,3,1,""],submit_job_to_ecserver:[0,3,1,""],to_param_id:[0,3,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"boolean":0,"class":5,"default":0,"final":0,"float":0,"function":0,"int":0,"new":0,"public":0,"return":0,"short":0,"switch":0,"true":0,For:0,Its:0,The:0,Then:0,Used:0,Uses:0,_expand:0,_templat:0,abcd:0,about:0,abov:0,access:0,accumlu:0,accumul:0,accuraci:0,actual:0,adapt:0,adaptaion:[],add:0,adding:0,addit:0,addition:0,addpar:0,address:0,advanc:0,afterward:0,algorithm:0,alist:0,all:[0,5],alpabet:0,alreadi:0,also:0,ann:0,anoth:0,api:[0,5],appli:0,applic:0,arbitrari:0,arcad:[],archiv:5,area:0,arg:0,argument:0,argumentpars:[],arrai:0,array_t1:0,array_t2:0,array_t3:0,array_t4:0,articl:0,assign:0,assign_args_to_control:0,assign_envs_to_control:0,associ:0,asteroid:[],atmospher:5,attribut:0,author:0,auto:5,ball:5,base:0,beck:0,befor:0,binari:0,book:[],box:0,bug:5,build:0,call:0,can:0,cca:0,centr:5,central:0,chang:5,changehistori:[],charact:0,charg:5,check:0,check_condit:0,check_install_condit:0,chunk:0,clean:0,clean_up:0,code:0,coin:[],collect:0,combin:0,command:0,commandlin:0,common:0,compil:0,complet:0,compon:5,concaten:0,concatenate_sign:0,condit:0,connect:0,conserv:0,construct:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],contain:0,content:[0,5],control:[0,5],controlfil:5,convent:0,convers:0,convert2:0,convert:0,copi:0,copyright:0,correctli:0,correspond:0,coupl:0,creat:0,creativ:0,creativecommon:0,csv:0,cubic:0,current:0,dapoli:0,darain:0,data:0,data_retriev:0,dataset:0,date:0,datechunk:0,datetim:0,deacc_flux:0,deaccumul:0,debug:0,decid:0,decis:0,decompos:0,defin:0,delet:0,delete_convert_build:0,delete_fil:0,delta_t:0,depend:0,describ:[1,10],descript:0,destin:0,detail:0,develop:0,dict:[],dictionari:0,differ:[0,5],dimens:0,dimension:0,directli:0,directori:0,disaggreg:5,disaggregationreg:[],dispers:0,displai:0,display_info:0,divid:0,do_retriev:0,doc:[],doe:0,done:0,download:5,draw:[],dure:0,each:0,ecaccess:0,ecd:0,ecflexpart:5,ecgat:0,ecgid:0,ecmwf:[0,5],ecmwf_env:0,ecmwfdatadir:0,ecmwfdataserv:0,ecmwfservic:0,ecmwv:[],ecstorag:0,ectran:0,ecuid:0,element:0,email:0,empti:0,end:0,entri:0,env:0,environ:0,environment:0,equal:0,error:0,european:5,everyth:0,exampl:0,except:0,execut:0,exedir:0,exist:0,exit:0,express:0,expver:0,extens:0,extra:0,extract:0,fail:0,fals:0,faq:5,field:[0,5],file:[0,5],filemod:0,filenam:0,filename_in:0,filepath:0,filter:0,flex_extract:[0,1,10],flexpart:[0,5],flexpart_root_script:0,flextra:5,flow:5,flux:0,follow:0,forecast:5,format:0,fort:0,fortran:0,found:0,fp_root:0,free:5,from:[0,5],fromfil:0,full:0,gate:0,gatewai:0,gaussian:0,gener:5,geometr:0,geoscientif:0,get:0,get_cmdline_argu:0,get_install_cmdline_argu:0,get_kei:0,get_list_as_str:0,get_mars_data:5,git:5,github:[],give:0,given:0,goe:0,going:0,grib2:0,grib:0,gribtool:5,grid:0,group:0,guid:5,haimberg:0,handl:0,has:0,have:0,help:[],here:[0,5],histori:5,hittmeir:0,horizont:0,hour:0,how:5,http:0,ia3:0,identif:0,identificationkeyword:0,ids:0,idx:0,iid:0,improv:0,includ:0,index:[0,5],index_fil:0,index_kei:0,indic:0,inform:0,init128:0,initialis:0,input:[0,5],inputdir:0,inputfil:0,instal:5,install_via_gatewai:0,instanc:0,instead:0,instruct:0,integ:0,integr:0,intermedi:0,intern:0,interpol:0,interv:0,ipar:0,issu:5,iter:0,its:0,itself:0,jame:0,job:0,jobfil:0,jobnam:0,jtemplat:0,june:0,just:0,keep:0,kei:0,keynam:0,keyvalu:0,keyword:0,known:5,kwd:0,lagrangian:0,learn:[],length:0,leopold:0,letter:0,levelist:0,levtyp:0,librari:5,licens:[0,5],line:0,linear:0,linux:[],list:[0,5],list_obj:0,local:0,mac:[],machin:0,made:0,mail:[0,5],main:0,make_convert_build:0,make_dir:0,makefil:0,manipul:0,mar:[0,5],march:0,marsclass:0,marsretriev:5,matter:0,maxb:0,maxim:0,maxl:0,mdpdeta:0,mean:0,medium:5,meet:0,member:0,mention:0,messag:0,meta:0,metadiff:0,metapar:0,meteorolog:5,method:0,mgauss:0,might:0,migrat:0,mk_compilejob:0,mk_env_var:0,mk_job_templ:0,mk_tarbal:0,mlevel:0,mlevelist:0,mnauf:0,mod:0,mode:[0,5],model:[0,5],modif:0,modifi:0,modul:5,momega:0,momegadiff:0,monoton:0,more:0,mountain:0,move:0,msmooth:0,my_error:0,name:0,namelist:0,namespac:0,necessari:0,need:0,neg:0,nfield:0,non:0,none:0,none_or_int:0,none_or_str:0,normal_exit:0,note:[],noth:[],notif:0,notifi:0,novemb:0,number:0,obj:[],object:0,one:[0,5],onli:0,open:[0,5],oper:5,option:[0,1],order:0,org:0,origin:0,originla:[],other:0,otherwis:0,out:0,output:0,over:0,overview:5,overwrit:0,page:5,par:0,param:0,paramet:0,parameternam:0,parti:5,particl:0,pass:0,path:0,pattern:0,per:0,perform:0,period:0,petra:0,philipp:0,point:0,polynomi:0,porgram:5,posit:0,postprocess:0,ppid:0,prepar:0,prepare_flexpart:5,prepare_fp_fil:0,primit:[],print:0,print_info:0,print_infodata_csv:0,problem:0,process:0,process_output:0,prod:0,product:0,program:[0,5],properli:0,properti:0,provid:0,pure:[],put:[0,5],put_file_to_ecserv:0,python:0,quantiti:0,queue:0,quick:[],rainfal:0,rang:[0,5],raw:0,rcode:0,read:0,read_ecenv:0,readi:0,reason:0,reconstruct:0,refer:0,regular:0,releas:[],relev:0,remot:0,remov:0,repeat:0,replac:[],report:0,repositori:5,repr:0,repres:0,request:0,request_numb:0,requir:5,resol:0,rest:0,result:0,retriev:[0,5],return_list:0,rla0:0,rla1:0,rlo0:0,rlo1:0,root:0,sabin:0,same:0,sampl:0,scheme:0,script:0,search:5,second:5,see:0,seibert:0,select:0,selectwher:0,send:0,sent:0,sepeart:0,seper:0,seri:0,server:[0,5],set:0,set_kei:0,shell:0,should:0,silent_remov:0,simul:0,sinc:0,singl:0,size:[],smaller:0,smasher:[],softwar:[0,5],solut:0,some:[],sort:0,sourc:[0,5],specif:0,specifi:0,sprite:[],src_path:0,standard:0,start:0,state:0,statement:0,step:0,steprang:0,stop:0,storag:0,store:0,str_of_list:0,stream:0,stress:0,strict:0,string:0,structur:5,sub:0,subgrid:0,submiss:0,submit:5,submit_job_to_ecserv:0,subprocess:0,success:0,support:5,surfac:0,system:5,tabl:0,table128:0,take:0,taken:0,tar:[0,5],tarbal:0,tarball_path:0,target:0,temp:0,templat:[0,5],temporari:0,test:[0,5],text:5,thei:0,them:0,thi:0,those:0,three:0,through:0,ticket:5,time:0,timeseri:0,timespan:0,to_list:0,to_param_id:0,tool:5,transfer:0,transform:0,transport:5,trigger:0,tupl:0,two:0,type:0,udoc:0,uiofil:5,un_tarbal:0,under:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],uniqu:0,univers:0,usa:0,usag:[],use:5,used:[0,5],user:0,using:0,util:0,valu:0,variabl:0,version:0,via:0,vienna:0,view:0,visit:0,warn:0,weather:5,web:0,websit:0,well:0,were:0,what:[],where:0,wherekeynam:0,wherekeyvalu:0,which:[0,5],whole:0,wiki:0,wil:0,window:[],within:[0,5],without:0,word:0,work:0,write:0,write_namelist:0,written:0,yield:0,yyyymmdd:0},titles:["Auto Generated Documentation","Downloads","Git Repository","History of Changes","Download tar-balls","Welcome to flex_extract\u2019s user documentation!","Installation","Operating modes","Requirements","Installation test","Program Structure","Program Components","Program Flow","Program Overview","Support","FAQ - Frequently asked questions","Known Bugs and Issues","Mailing Lists","Ticket System","User Guide","CONTROL-file templates","How to use flex_extract"],titleterms:{"class":0,ask:15,auto:0,ball:4,bug:16,chang:3,compon:11,content:[],control:20,controlfil:0,disaggreg:0,document:[0,5],download:[1,4],ecflexpart:0,faq:15,file:20,flex_extract:[5,21],flow:12,frequent:15,gener:0,get_mars_data:0,git:2,gribtool:0,guid:19,histori:3,how:21,indic:5,instal:[0,6,9],issu:16,known:16,list:17,mail:17,marsretriev:0,mode:7,modul:0,oper:7,overview:13,porgram:0,prepare_flexpart:0,program:[10,11,12,13],pure:[],question:15,repositori:2,requir:8,rest:[],structur:10,submit:0,support:14,system:18,tabl:5,tar:4,templat:20,test:9,ticket:18,tool:0,uiofil:0,usag:[],use:21,user:[5,19],welcom:5}})
\ No newline at end of file
+Search.setIndex({docnames:["api","downloads","downloads/git_repo","downloads/history_changes","downloads/tar_balls","index","installation","installation/oper_modes","installation/requirements","installation/test_install","program_structure","program_structure/prog_components","program_structure/prog_flow","program_structure/prog_overview","support","support/faq","support/known_bugs_issues","support/mailing_list","support/ticket_system","user_guide","user_guide/control_templates","user_guide/how_to"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:54},filenames:["api.rst","downloads.rst","downloads/git_repo.rst","downloads/history_changes.rst","downloads/tar_balls.rst","index.rst","installation.rst","installation/oper_modes.rst","installation/requirements.rst","installation/test_install.rst","program_structure.rst","program_structure/prog_components.rst","program_structure/prog_flow.rst","program_structure/prog_overview.rst","support.rst","support/faq.rst","support/known_bugs_issues.rst","support/mailing_list.rst","support/ticket_system.rst","user_guide.rst","user_guide/control_templates.rst","user_guide/how_to.rst"],objects:{"":{ControlFile:[0,0,0,"-"],EcFlexpart:[0,0,0,"-"],GribUtil:[0,0,0,"-"],MarsRetrieval:[0,0,0,"-"],UioFiles:[0,0,0,"-"],disaggregation:[0,0,0,"-"],get_mars_data:[0,0,0,"-"],install:[0,0,0,"-"],prepare_flexpart:[0,0,0,"-"],submit:[0,0,0,"-"],tools:[0,0,0,"-"]},"ControlFile.ControlFile":{"public":[0,2,1,""],accmaxstep:[0,2,1,""],acctime:[0,2,1,""],acctype:[0,2,1,""],accuracy:[0,2,1,""],addpar:[0,2,1,""],area:[0,2,1,""],assign_args_to_control:[0,3,1,""],assign_envs_to_control:[0,3,1,""],basetime:[0,2,1,""],check_conditions:[0,3,1,""],controlfile:[0,2,1,""],cwc:[0,2,1,""],dataset:[0,2,1,""],date_chunk:[0,2,1,""],debug:[0,2,1,""],destination:[0,2,1,""],dpdeta:[0,2,1,""],dtime:[0,2,1,""],ecapi:[0,2,1,""],ecfsdir:[0,2,1,""],ecgid:[0,2,1,""],ecstorage:[0,2,1,""],ectrans:[0,2,1,""],ecuid:[0,2,1,""],end_date:[0,2,1,""],eta:[0,2,1,""],etadiff:[0,2,1,""],etapar:[0,2,1,""],exedir:[0,2,1,""],expver:[0,2,1,""],flexextractdir:[0,2,1,""],flexpartdir:[0,2,1,""],format:[0,2,1,""],gateway:[0,2,1,""],gauss:[0,2,1,""],gaussian:[0,2,1,""],grib2flexpart:[0,2,1,""],grid:[0,2,1,""],inputdir:[0,2,1,""],install_target:[0,2,1,""],left:[0,2,1,""],level:[0,2,1,""],levelist:[0,2,1,""],logicals:[0,2,1,""],lower:[0,2,1,""],mailfail:[0,2,1,""],mailops:[0,2,1,""],makefile:[0,2,1,""],marsclass:[0,2,1,""],maxstep:[0,2,1,""],number:[0,2,1,""],omega:[0,2,1,""],omegadiff:[0,2,1,""],outputdir:[0,2,1,""],prefix:[0,2,1,""],purefc:[0,2,1,""],request:[0,2,1,""],resol:[0,2,1,""],right:[0,2,1,""],rrint:[0,2,1,""],smooth:[0,2,1,""],start_date:[0,2,1,""],step:[0,2,1,""],stream:[0,2,1,""],time:[0,2,1,""],to_list:[0,3,1,""],type:[0,2,1,""],upper:[0,2,1,""],wrf:[0,2,1,""]},"EcFlexpart.EcFlexpart":{"public":[0,2,1,""],accmaxstep:[0,2,1,""],acctime:[0,2,1,""],acctype:[0,2,1,""],accuracy:[0,2,1,""],addpar:[0,2,1,""],area:[0,2,1,""],basetime:[0,2,1,""],create:[0,3,1,""],dataset:[0,2,1,""],dates:[0,2,1,""],deacc_fluxes:[0,3,1,""],dtime:[0,2,1,""],expver:[0,2,1,""],gaussian:[0,2,1,""],glevelist:[0,2,1,""],grid:[0,2,1,""],inputdir:[0,2,1,""],level:[0,2,1,""],levelist:[0,2,1,""],marsclass:[0,2,1,""],mreq_count:[0,2,1,""],number:[0,2,1,""],outputfilelist:[0,2,1,""],params:[0,2,1,""],prepare_fp_files:[0,3,1,""],process_output:[0,3,1,""],purefc:[0,2,1,""],resol:[0,2,1,""],retrieve:[0,3,1,""],server:[0,2,1,""],stream:[0,2,1,""],types:[0,2,1,""],write_namelist:[0,3,1,""]},"GribUtil.GribUtil":{copy_dummy_msg:[0,3,1,""],get_keys:[0,3,1,""],index:[0,3,1,""],set_keys:[0,3,1,""]},"MarsRetrieval.MarsRetrieval":{"public":[0,2,1,""],accuracy:[0,2,1,""],area:[0,2,1,""],data_retrieve:[0,3,1,""],dataset:[0,2,1,""],date:[0,2,1,""],display_info:[0,3,1,""],expver:[0,2,1,""],gaussian:[0,2,1,""],grid:[0,2,1,""],levelist:[0,2,1,""],levtype:[0,2,1,""],marsclass:[0,2,1,""],number:[0,2,1,""],param:[0,2,1,""],print_infodata_csv:[0,3,1,""],repres:[0,2,1,""],resol:[0,2,1,""],server:[0,2,1,""],step:[0,2,1,""],stream:[0,2,1,""],target:[0,2,1,""],time:[0,2,1,""],type:[0,2,1,""]},"UioFiles.UioFiles":{delete_files:[0,3,1,""],files:[0,2,1,""],path:[0,2,1,""],pattern:[0,2,1,""]},ControlFile:{ControlFile:[0,1,1,""]},EcFlexpart:{EcFlexpart:[0,1,1,""]},GribUtil:{GribUtil:[0,1,1,""]},MarsRetrieval:{MarsRetrieval:[0,1,1,""]},UioFiles:{UioFiles:[0,1,1,""]},disaggregation:{IA3:[0,4,1,""],dapoly:[0,4,1,""],darain:[0,4,1,""]},get_mars_data:{do_retrievement:[0,4,1,""],get_mars_data:[0,4,1,""],main:[0,4,1,""],mk_dates:[0,4,1,""],mk_server:[0,4,1,""],remove_old:[0,4,1,""],write_reqheader:[0,4,1,""]},install:{check_install_conditions:[0,4,1,""],del_convert_build:[0,4,1,""],get_install_cmdline_args:[0,4,1,""],install_via_gateway:[0,4,1,""],main:[0,4,1,""],mk_compilejob:[0,4,1,""],mk_convert_build:[0,4,1,""],mk_env_vars:[0,4,1,""],mk_job_template:[0,4,1,""],mk_tarball:[0,4,1,""],un_tarball:[0,4,1,""]},prepare_flexpart:{main:[0,4,1,""],prepare_flexpart:[0,4,1,""]},submit:{main:[0,4,1,""],mk_jobscript:[0,4,1,""],submit:[0,4,1,""]},tools:{clean_up:[0,4,1,""],execute_subprocess:[0,4,1,""],get_cmdline_args:[0,4,1,""],get_dimensions:[0,4,1,""],get_informations:[0,4,1,""],get_list_as_string:[0,4,1,""],init128:[0,4,1,""],make_dir:[0,4,1,""],my_error:[0,4,1,""],none_or_int:[0,4,1,""],none_or_str:[0,4,1,""],normal_exit:[0,4,1,""],product:[0,4,1,""],put_file_to_ecserver:[0,4,1,""],read_ecenv:[0,4,1,""],send_mail:[0,4,1,""],silent_remove:[0,4,1,""],submit_job_to_ecserver:[0,4,1,""],to_param_id:[0,4,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function"},terms:{"24h":0,"boolean":0,"class":5,"default":0,"final":0,"float":0,"function":0,"import":0,"int":0,"new":0,"public":0,"return":0,"short":0,"switch":0,"true":0,"try":0,Dps:0,For:0,Its:0,The:0,Then:0,There:0,These:0,Used:0,Uses:0,__init__:[],__str__:[],_config:0,_expand:0,_list_fil:[],_static:5,_templat:0,abcd:0,abl:0,about:0,abov:0,access:0,accmaxstep:0,acctim:0,acctyp:0,accumlu:0,accumul:0,accuraci:0,actual:0,adapt:0,add:0,adding:0,addit:0,addition:0,addpar:0,address:0,advanc:0,after:0,afterward:0,algorithm:0,alist:0,all:[0,5],allow:0,alpabet:0,alreadi:0,also:0,analysi:0,ani:0,ann:0,anoth:0,api:[0,5],appli:0,applic:0,arbitrari:0,archiv:[0,5],area:0,arg:0,argument:0,arrai:0,array_t1:0,array_t2:0,array_t3:0,array_t4:0,articl:0,assign:0,assign_args_to_control:0,assign_envs_to_control:0,associ:0,atmospher:5,attribut:[0,5],author:0,auto:5,avail:0,ball:[0,5],base:0,basetim:0,basic:0,beck:0,befor:0,begin:0,between:0,binari:0,bit:0,blank:0,both:0,boundari:0,box:[0,5],bug:5,build:0,bunch:0,calcul:0,call:0,can:0,carri:0,cca:0,centr:5,central:0,chang:5,charact:0,character:0,characteris:0,charg:5,check:0,check_condit:0,check_install_condit:0,chosen:0,chunk:0,clean:0,clean_up:0,clist:0,cloud:0,cmd_list:0,code:0,collect:0,column:0,combin:0,comma:0,command:0,commandlin:0,common:[0,5],compil:0,complet:0,compon:[0,5],concaten:0,concatenate_sign:0,concern:0,condit:0,configur:0,connect:0,conserv:0,consist:0,construct:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],contain:0,content:[0,5],continu:0,control:[0,5],controlfil:5,convect:0,convent:0,convers:0,convert2:0,convert:0,copi:[0,5],copy_dummy_msg:0,copyright:0,correct:0,correctli:0,correspond:0,counter:0,coupl:0,creat:0,creativ:[0,5],creativecommon:[0,5],csv:0,cubic:0,current:0,cwc:0,dai:0,dapoli:0,darain:0,data:0,data_retriev:0,dataset:0,date:0,date_chunk:0,datechunk:0,datetim:0,deacc_flux:0,deaccumul:0,debug:0,decid:0,decis:0,decompos:0,defin:0,definit:0,del_convert_build:0,delet:0,delete_fil:0,delta_t:0,denot:0,depend:0,deprec:0,desccript:[],describ:[1,10],descript:0,desir:0,destin:0,detail:0,determin:0,develop:0,diagnost:0,dict:0,dictionari:0,differ:[0,5],dimens:0,dimension:0,direct:0,directli:0,directori:0,disaggegr:0,disaggreg:5,dispers:0,displai:0,display_info:0,distinct:0,divers:0,divid:0,do_retriev:0,doe:0,doing:0,done:0,download:5,dpdeta:0,drive:0,dtime:0,dure:0,each:0,eastern:0,ecaccess:0,ecapi:0,ecd:0,ecf:0,ecflexpart:5,ecfsdir:0,ecgat:0,ecgid:0,ecmwf:[0,5],ecmwf_env:0,ecmwfdataserv:0,ecmwfservic:0,econdemand:0,ecstorag:0,ectmp:0,ectran:0,ecuid:0,either:0,element:0,email:0,empti:0,end:0,end_dat:0,ensembl:0,entri:0,env:0,environ:0,environment:0,equal:0,equat:0,error:0,error_msg:0,eta:0,etadiff:0,etadot:0,etapar:0,european:5,everyth:0,exact:0,exampl:0,except:0,execut:0,execute_subprocess:0,exedir:0,exist:0,exit:0,expect:0,express:0,expver:0,extens:0,extract:0,fail:0,fals:0,faq:5,field:[0,5],file1:0,file2:0,file:[0,5],filemod:0,filenam:0,filename_in:0,filepath:0,filter:0,first:0,fit:0,flex_extract:[0,1,10],flexextractdir:0,flexpart:[0,5],flexpartdir:0,flextra:[0,5],flow:[0,5],flux:0,follow:0,forecast:[0,5],format:0,fort:0,fortran:0,found:0,fp_root:0,free:5,from:[0,5],fromfil:0,full:0,further:0,gate:0,gatewai:0,gauss:0,gaussian:0,gener:5,generel:0,geometr:0,geoscientif:0,get:0,get_cmdline_arg:0,get_dimens:0,get_inform:0,get_install_cmdline_arg:0,get_kei:0,get_list_as_str:0,get_mars_data:5,gfortran:0,git:5,give:0,given:0,glevelist:0,goe:0,going:0,grb:0,grib1:0,grib2:0,grib2flexpart:0,grib:0,gribtool:[],gributil:5,grid:0,group:0,guid:5,haimberg:0,half:0,handl:0,has:0,have:0,header:0,heat:0,help:0,helper:[],here:0,histori:5,hittmeir:0,horizont:0,hour:0,how:5,http:[0,5],ia3:0,ice:0,identif:0,identifi:0,identificationkeyword:0,idirectionincrementindegre:0,ids:0,idx:0,iid:0,improv:0,index:[0,5],index_fil:0,index_kei:0,index_v:0,indic:0,individu:0,info:0,inform:0,init128:0,init:0,initi:0,initialis:0,input:[0,5],inputdir:0,inputfil:0,instal:5,install_target:0,install_via_gatewai:0,instanc:0,instead:0,instruct:0,integ:0,integr:0,interfac:0,intermedi:0,intern:[0,5],interpol:0,interv:0,ipar:0,issu:5,iter:0,its:0,itself:0,jame:0,jdirectionincrementindegre:0,job:0,job_fil:0,job_id:0,jobfil:0,jobnam:0,jtemplat:0,june:0,just:0,keep:0,kei:0,keynam:0,keyvalu:0,keyword:0,kind:0,known:5,korn:0,kwd:0,lagrangian:0,larg:0,last:0,lat:0,later:0,latitu:0,latitud:0,latitudeoffirstgridpointindegre:0,latitudeoflastgridpointindegre:0,left:0,length:0,leopold:0,letter:[0,5],level:0,levelist:0,levtyp:0,librari:5,licens:[0,5],like:0,line:0,linear:0,liquid:0,list:[0,5],list_obj:0,litt:[],load:0,local:0,locat:0,log:0,logic:0,lon:0,longer:0,longitud:0,longitudeoffirstgridpointindegre:0,longitudeoflastgridpointindegre:0,look:0,lower:0,machin:0,made:0,mail:[0,5],mailfail:0,mailop:0,main:0,make_dir:0,makefil:0,manipul:0,mar:[0,5],march:0,mars_request:0,marsclass:0,marsfil:0,marsretriev:5,match:0,matter:0,maxb:0,maxim:0,maximum:0,maxl:0,maxstep:0,mdpdeta:0,mean:0,medium:5,meet:0,member:0,memberst:0,mention:0,messag:0,meta:0,metadiff:0,metapar:0,meteorolog:[0,5],method:0,mgauss:0,might:0,migrat:0,minut:0,missingvalu:0,mk_compilejob:0,mk_convert_build:0,mk_date:0,mk_env_var:0,mk_job_templ:0,mk_jobscript:0,mk_server:0,mk_tarbal:0,mlevel:0,mlevelist:0,mnauf:0,mod:0,mode:[0,5],model:[0,5],modif:0,modifi:0,modul:5,momega:0,momegadiff:0,monoton:0,more:0,most:0,mostli:0,mountain:[0,5],move:0,mreq_count:0,msmooth:0,multipl:0,my_error:0,name:0,namelist:0,namespac:0,necessari:0,need:0,neg:0,nfield:0,non:0,none:0,none_or_int:0,none_or_str:0,normal_exit:0,northern:0,notif:0,notifi:0,novemb:0,number:0,numpi:0,obj:[],object:0,observ:0,occur:0,off:0,old:0,omega:0,omegadiff:0,one:0,onli:0,open:[0,5],oper:[0,5],option:[0,1],order:0,org:[0,5],origin:0,other:0,otherwis:0,out:0,output:0,outputdir:0,outputfilelist:0,over:0,overal:0,overview:5,overwrit:0,overwritten:0,page:5,par:0,param:0,paramet:0,parameternam:0,part:0,parti:5,particl:0,pass:0,path:0,path_flexextract_dir:0,path_fortran_src:0,path_input_dir:0,pattern:0,per:0,perform:0,period:0,petra:0,philipp:0,place:0,png:5,point:0,polynomi:0,porgram:5,posit:0,possibl:0,post:0,postprocess:0,ppid:0,precipit:0,prefix:0,prepar:0,prepare_flexpart:5,prepare_fp_fil:0,preprocess:0,print:0,print_infodata_csv:0,problem:0,process:0,process_output:0,prod:0,product:0,program:[0,5],properli:0,properti:0,provid:0,pure:0,purefc:0,purpos:0,put:0,put_file_to_ecserv:0,python:0,quantiti:0,queue:0,radiat:0,rainfal:0,rang:[0,5],raw:0,read:0,read_ecenv:0,readi:0,reason:0,reconstruct:0,refer:0,regular:0,relev:0,remain:0,remot:0,remov:0,remove_old:0,repeat:0,report:0,repositori:5,repr:0,repres:0,represent:0,request:0,request_numb:0,requir:[0,5],resol:0,rest:0,result:0,retriev:[0,5],return_list:0,revtriev:0,right:0,rla0:0,rla1:0,rlo0:0,rlo1:0,root:0,rrint:0,run:0,sabin:0,same:0,sampl:0,scale:0,scheme:0,script:0,search:5,see:0,seibert:0,select:0,selectwher:0,send:[0,5],send_mail:0,sensibl:0,sent:0,sepeart:0,seper:0,seri:0,server:[0,5],set:0,set_kei:0,shell:0,should:0,silent_remov:0,simpl:[],simul:0,sinc:0,singl:0,skip:0,smaller:0,smooth:0,softwar:[0,5],solar:0,solut:0,some:0,sort:0,sourc:[0,5],southern:0,space:0,specif:0,specifc:0,specifi:0,spectral:0,sphinx:5,src_path:0,standard:0,start:0,start_dat:0,state:0,statement:0,steer:0,step:0,steprang:0,stop:0,storag:0,store:0,str:0,str_of_list:0,stream:0,stress:0,strict:0,string:0,structur:5,sub:0,subgrid:0,subject:0,submiss:0,submit:5,submit_job_to_ecserv:0,subprocess:0,success_mod:0,sum:0,support:[0,5],suppos:0,surfac:0,syntax:0,system:[0,5],tabl:0,table128:0,take:0,taken:0,tar:[0,5],tarbal:0,tarball_path:0,target:0,task:0,tell:0,temp:0,templat:[0,5],temporari:0,test:[0,5],than:0,thei:0,them:0,therefor:0,thi:[0,5],third:5,those:0,three:0,through:0,ticket:5,time:0,timeseri:0,timespan:0,to_list:0,to_param_id:0,todo:[],tool:5,transfer:0,transform:0,transport:5,triangular:0,trigger:0,truncat:0,tupl:0,two:0,type:0,udoc:0,uiofil:5,un_tarbal:0,under:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],uniqu:0,univers:0,untar:0,upfront:0,upper:0,upto:0,usa:[0,5],usag:0,use:[0,5],used:0,user:0,using:0,util:0,valu:0,valuer:0,variabl:0,version:0,via:0,vienna:0,view:[0,5],visit:[0,5],warn:0,water:0,weather:5,web:0,webapi:0,websit:0,well:0,were:0,western:0,wether:0,when:0,where:0,wherekei:0,wherekeynam:0,wherekeyvalu:0,which:0,whole:0,wiki:0,wil:0,within:0,without:0,word:0,work:[0,5],wrf:0,write:0,write_namelist:0,write_reqhead:0,written:0,xxyymmddhh:0,yield:0,you:[],yyyymmdd:0},titles:["Auto Generated Documentation","Downloads","Git Repository","History of Changes","Download tar-balls","Welcome to flex_extract\u2019s user documentation!","Installation","Operating modes","Requirements","Installation test","Program Structure","Program Components","Program Flow","Program Overview","Support","FAQ - Frequently asked questions","Known Bugs and Issues","Mailing Lists","Ticket System","User Guide","CONTROL-file templates","How to use flex_extract"],titleterms:{"class":0,ask:15,auto:0,ball:4,bug:16,chang:3,compon:11,control:20,controlfil:0,disaggreg:0,document:[0,5],download:[1,4],ecflexpart:0,faq:15,file:20,flex_extract:[5,21],flow:12,frequent:15,gener:0,get_mars_data:0,git:2,gribtool:[],gributil:0,guid:19,histori:3,how:21,indic:5,instal:[0,6,9],issu:16,known:16,list:17,mail:17,marsretriev:0,mode:7,modul:0,oper:7,overview:13,porgram:0,prepare_flexpart:0,program:[10,11,12,13],question:15,repositori:2,requir:8,structur:10,submit:0,support:14,system:18,tabl:5,tar:4,templat:20,test:9,ticket:18,tool:0,uiofil:0,use:21,user:[5,19],welcom:5}})
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/support.html b/documentation/Sphinx/build/html/support.html
index b08af70..55103a8 100644
--- a/documentation/Sphinx/build/html/support.html
+++ b/documentation/Sphinx/build/html/support.html
@@ -188,7 +188,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -207,21 +207,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/support/faq.html b/documentation/Sphinx/build/html/support/faq.html
index a6b7efb..cd6950b 100644
--- a/documentation/Sphinx/build/html/support/faq.html
+++ b/documentation/Sphinx/build/html/support/faq.html
@@ -185,7 +185,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -204,21 +204,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/support/known_bugs_issues.html b/documentation/Sphinx/build/html/support/known_bugs_issues.html
index 204adcc..8725978 100644
--- a/documentation/Sphinx/build/html/support/known_bugs_issues.html
+++ b/documentation/Sphinx/build/html/support/known_bugs_issues.html
@@ -188,7 +188,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -207,21 +207,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/support/mailing_list.html b/documentation/Sphinx/build/html/support/mailing_list.html
index b3b2790..bf9ba50 100644
--- a/documentation/Sphinx/build/html/support/mailing_list.html
+++ b/documentation/Sphinx/build/html/support/mailing_list.html
@@ -188,7 +188,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -207,21 +207,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/support/ticket_system.html b/documentation/Sphinx/build/html/support/ticket_system.html
index e0cdb95..2a4fee9 100644
--- a/documentation/Sphinx/build/html/support/ticket_system.html
+++ b/documentation/Sphinx/build/html/support/ticket_system.html
@@ -188,7 +188,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -207,21 +207,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/user_guide.html b/documentation/Sphinx/build/html/user_guide.html
index 36e084e..a0b6374 100644
--- a/documentation/Sphinx/build/html/user_guide.html
+++ b/documentation/Sphinx/build/html/user_guide.html
@@ -186,7 +186,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -205,21 +205,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/user_guide/control_templates.html b/documentation/Sphinx/build/html/user_guide/control_templates.html
index 59849f6..ad582b8 100644
--- a/documentation/Sphinx/build/html/user_guide/control_templates.html
+++ b/documentation/Sphinx/build/html/user_guide/control_templates.html
@@ -186,7 +186,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -205,21 +205,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/build/html/user_guide/how_to.html b/documentation/Sphinx/build/html/user_guide/how_to.html
index fa977d4..354e690 100644
--- a/documentation/Sphinx/build/html/user_guide/how_to.html
+++ b/documentation/Sphinx/build/html/user_guide/how_to.html
@@ -186,7 +186,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
+        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
 
     </p>
   </div>
@@ -205,21 +205,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'7.1 alpha',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+    
 
   
 
diff --git a/documentation/Sphinx/source/api.rst b/documentation/Sphinx/source/api.rst
index 5b4acb2..90f99f7 100644
--- a/documentation/Sphinx/source/api.rst
+++ b/documentation/Sphinx/source/api.rst
@@ -34,10 +34,10 @@ EcFlexpart
 .. automodule:: EcFlexpart
     :members:
     
-GribTools
+GribUtil
 *********
 
-.. automodule:: GribTools
+.. automodule:: GribUtil
     :members:
 
 MarsRetrieval
-- 
GitLab