From 274f9efe4b8438ab5238967e39adc200c624b56e Mon Sep 17 00:00:00 2001
From: Anne Philipp <anne.philipp@univie.ac.at>
Date: Mon, 22 Oct 2018 13:44:47 +0200
Subject: [PATCH] Converted docstrings to numpy style and build first structure
 for sphinxdocumentation (incl API)

---
 .../Sphinx/build/doctrees/api.doctree         |  Bin 31955 -> 332947 bytes
 .../Sphinx/build/doctrees/downloads.doctree   |  Bin 2949 -> 3407 bytes
 .../build/doctrees/downloads/git_repo.doctree |  Bin 0 -> 2778 bytes
 .../downloads/history_changes.doctree         |  Bin 0 -> 2801 bytes
 .../doctrees/downloads/tar_balls.doctree      |  Bin 0 -> 2795 bytes
 .../Sphinx/build/doctrees/environment.pickle  |  Bin 47165 -> 225566 bytes
 .../Sphinx/build/doctrees/index.doctree       |  Bin 10790 -> 12705 bytes
 .../build/doctrees/installation.doctree       |  Bin 2966 -> 3238 bytes
 .../doctrees/installation/oper_modes.doctree  |  Bin 0 -> 2789 bytes
 .../installation/requirements.doctree         |  Bin 0 -> 2779 bytes
 .../installation/test_install.doctree         |  Bin 0 -> 2799 bytes
 .../Sphinx/build/doctrees/oper_modes.doctree  |  Bin 0 -> 2776 bytes
 .../build/doctrees/program_structure.doctree  |  Bin 2975 -> 3470 bytes
 .../program_structure/prog_components.doctree |  Bin 0 -> 2809 bytes
 .../program_structure/prog_flow.doctree       |  Bin 0 -> 2781 bytes
 .../program_structure/prog_overview.doctree   |  Bin 0 -> 2799 bytes
 .../build/doctrees/requirements.doctree       |  Bin 2972 -> 2766 bytes
 .../Sphinx/build/doctrees/support.doctree     |  Bin 2905 -> 3225 bytes
 .../Sphinx/build/doctrees/support/faq.doctree |  Bin 0 -> 2841 bytes
 .../support/known_bugs_issues.doctree         |  Bin 0 -> 2813 bytes
 .../doctrees/support/mailing_list.doctree     |  Bin 0 -> 2776 bytes
 .../doctrees/support/ticket_system.doctree    |  Bin 0 -> 2777 bytes
 .../build/doctrees/test_install.doctree       |  Bin 0 -> 2784 bytes
 .../Sphinx/build/doctrees/user_guide.doctree  |  Bin 2926 -> 3185 bytes
 .../user_guide/control_templates.doctree      |  Bin 0 -> 2822 bytes
 .../build/doctrees/user_guide/how_to.doctree  |  Bin 0 -> 2815 bytes
 .../build/html/_modules/ControlFile.html      |  790 +++++++++
 .../build/html/_modules/EcFlexpart.html       | 1510 +++++++++++++++++
 .../Sphinx/build/html/_modules/GribTools.html |  535 ++++++
 .../build/html/_modules/MarsRetrieval.html    |  716 ++++++++
 .../Sphinx/build/html/_modules/UioFiles.html  |  362 ++++
 .../build/html/_modules/get_mars_data.html    |  478 ++++++
 .../Sphinx/build/html/_modules/index.html     |   11 +-
 .../Sphinx/build/html/_modules/install.html   |  746 ++++++++
 .../build/html/_modules/prepare_flexpart.html |  401 +++++
 .../Sphinx/build/html/_modules/submit.html    |  395 +++++
 .../Sphinx/build/html/_modules/tools.html     |  450 ++---
 .../Sphinx/build/html/_sources/api.rst.txt    |   77 +
 .../build/html/_sources/downloads.rst.txt     |   11 +-
 .../html/_sources/downloads/git_repo.rst.txt  |    4 +
 .../downloads/history_changes.rst.txt         |    4 +
 .../html/_sources/downloads/tar_balls.rst.txt |    4 +
 .../Sphinx/build/html/_sources/index.rst.txt  |   17 +-
 .../build/html/_sources/installation.rst.txt  |   15 +-
 .../_sources/installation/oper_modes.rst.txt  |    6 +
 .../installation/requirements.rst.txt         |    6 +
 .../installation/test_install.rst.txt         |    5 +
 .../build/html/_sources/oper_modes.rst.txt    |    6 +
 .../html/_sources/program_structure.rst.txt   |   10 +-
 .../program_structure/prog_components.rst.txt |    5 +
 .../program_structure/prog_flow.rst.txt       |    5 +
 .../program_structure/prog_overview.rst.txt   |    5 +
 .../build/html/_sources/requirements.rst.txt  |    4 +-
 .../build/html/_sources/support.rst.txt       |   14 +-
 .../build/html/_sources/support/faq.rst.txt   |    4 +
 .../support/known_bugs_issues.rst.txt         |    4 +
 .../_sources/support/mailing_list.rst.txt     |    4 +
 .../_sources/support/ticket_system.rst.txt    |    4 +
 .../build/html/_sources/test_install.rst.txt  |    5 +
 .../build/html/_sources/user_guide.rst.txt    |   12 +-
 .../user_guide/control_templates.rst.txt      |    4 +
 .../html/_sources/user_guide/how_to.rst.txt   |    4 +
 documentation/Sphinx/build/html/api.html      | 1247 +++++++++++++-
 .../Sphinx/build/html/downloads.html          |   17 +-
 .../Sphinx/build/html/downloads/git_repo.html |  236 +++
 .../build/html/downloads/history_changes.html |  236 +++
 .../build/html/downloads/tar_balls.html       |  236 +++
 documentation/Sphinx/build/html/genindex.html |  256 ++-
 documentation/Sphinx/build/html/index.html    |   34 +-
 .../Sphinx/build/html/installation.html       |   28 +-
 .../build/html/installation/oper_modes.html   |  236 +++
 .../build/html/installation/requirements.html |  236 +++
 .../build/html/installation/test_install.html |  236 +++
 documentation/Sphinx/build/html/objects.inv   |  Bin 565 -> 1798 bytes
 .../Sphinx/build/html/oper_modes.html         |  236 +++
 .../Sphinx/build/html/program_structure.html  |   17 +-
 .../program_structure/prog_components.html    |  236 +++
 .../html/program_structure/prog_flow.html     |  236 +++
 .../html/program_structure/prog_overview.html |  236 +++
 .../Sphinx/build/html/py-modindex.html        |   88 +-
 .../Sphinx/build/html/requirements.html       |   28 +-
 .../Sphinx/build/html/searchindex.js          |    2 +-
 documentation/Sphinx/build/html/support.html  |   14 +-
 .../Sphinx/build/html/support/faq.html        |  234 +++
 .../build/html/support/known_bugs_issues.html |  237 +++
 .../build/html/support/mailing_list.html      |  237 +++
 .../build/html/support/ticket_system.html     |  237 +++
 .../Sphinx/build/html/test_install.html       |  236 +++
 .../Sphinx/build/html/user_guide.html         |   17 +-
 .../html/user_guide/control_templates.html    |  235 +++
 .../Sphinx/build/html/user_guide/how_to.html  |  235 +++
 documentation/Sphinx/source/api.rst           |   77 +
 documentation/Sphinx/source/downloads.rst     |   11 +-
 .../Sphinx/source/downloads/git_repo.rst      |    4 +
 .../source/downloads/history_changes.rst      |    4 +
 .../Sphinx/source/downloads/tar_balls.rst     |    4 +
 documentation/Sphinx/source/index.rst         |   16 +-
 documentation/Sphinx/source/installation.rst  |   15 +-
 .../Sphinx/source/installation/oper_modes.rst |    6 +
 .../source/installation/requirements.rst      |    6 +
 .../source/installation/test_install.rst      |    5 +
 .../Sphinx/source/program_structure.rst       |   10 +-
 .../program_structure/prog_components.rst     |    5 +
 .../source/program_structure/prog_flow.rst    |    5 +
 .../program_structure/prog_overview.rst       |    5 +
 documentation/Sphinx/source/requirements.rst  |    6 -
 documentation/Sphinx/source/support.rst       |   14 +-
 documentation/Sphinx/source/support/faq.rst   |    4 +
 .../source/support/known_bugs_issues.rst      |    4 +
 .../Sphinx/source/support/mailing_list.rst    |    4 +
 .../Sphinx/source/support/ticket_system.rst   |    4 +
 documentation/Sphinx/source/user_guide.rst    |   12 +-
 .../source/user_guide/control_templates.rst   |    4 +
 .../Sphinx/source/user_guide/how_to.rst       |    4 +
 source/python/classes/ControlFile.py          |  192 +--
 source/python/classes/EcFlexpart.py           |  417 +++--
 source/python/classes/GribTools.py            |  167 +-
 source/python/classes/MarsRetrieval.py        |  509 +++---
 source/python/classes/UioFiles.py             |   75 +-
 source/python/install.py                      |  267 ++-
 source/python/mods/get_mars_data.py           |   96 +-
 source/python/mods/prepare_flexpart.py        |   59 +-
 source/python/mods/tools.py                   |  438 ++---
 source/python/submit.py                       |   63 +-
 124 files changed, 13366 insertions(+), 1538 deletions(-)
 create mode 100644 documentation/Sphinx/build/doctrees/downloads/git_repo.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/downloads/history_changes.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/downloads/tar_balls.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/installation/oper_modes.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/installation/requirements.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/installation/test_install.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/oper_modes.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/program_structure/prog_components.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/program_structure/prog_flow.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/program_structure/prog_overview.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/support/faq.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/support/known_bugs_issues.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/support/mailing_list.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/support/ticket_system.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/test_install.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/user_guide/control_templates.doctree
 create mode 100644 documentation/Sphinx/build/doctrees/user_guide/how_to.doctree
 create mode 100644 documentation/Sphinx/build/html/_modules/ControlFile.html
 create mode 100644 documentation/Sphinx/build/html/_modules/EcFlexpart.html
 create mode 100644 documentation/Sphinx/build/html/_modules/GribTools.html
 create mode 100644 documentation/Sphinx/build/html/_modules/MarsRetrieval.html
 create mode 100644 documentation/Sphinx/build/html/_modules/UioFiles.html
 create mode 100644 documentation/Sphinx/build/html/_modules/get_mars_data.html
 create mode 100644 documentation/Sphinx/build/html/_modules/install.html
 create mode 100644 documentation/Sphinx/build/html/_modules/prepare_flexpart.html
 create mode 100644 documentation/Sphinx/build/html/_modules/submit.html
 create mode 100644 documentation/Sphinx/build/html/_sources/downloads/git_repo.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/downloads/history_changes.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/downloads/tar_balls.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/installation/oper_modes.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/installation/requirements.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/installation/test_install.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/oper_modes.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/program_structure/prog_components.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/program_structure/prog_flow.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/program_structure/prog_overview.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/support/faq.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/support/known_bugs_issues.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/support/mailing_list.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/support/ticket_system.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/test_install.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/user_guide/control_templates.rst.txt
 create mode 100644 documentation/Sphinx/build/html/_sources/user_guide/how_to.rst.txt
 create mode 100644 documentation/Sphinx/build/html/downloads/git_repo.html
 create mode 100644 documentation/Sphinx/build/html/downloads/history_changes.html
 create mode 100644 documentation/Sphinx/build/html/downloads/tar_balls.html
 create mode 100644 documentation/Sphinx/build/html/installation/oper_modes.html
 create mode 100644 documentation/Sphinx/build/html/installation/requirements.html
 create mode 100644 documentation/Sphinx/build/html/installation/test_install.html
 create mode 100644 documentation/Sphinx/build/html/oper_modes.html
 create mode 100644 documentation/Sphinx/build/html/program_structure/prog_components.html
 create mode 100644 documentation/Sphinx/build/html/program_structure/prog_flow.html
 create mode 100644 documentation/Sphinx/build/html/program_structure/prog_overview.html
 create mode 100644 documentation/Sphinx/build/html/support/faq.html
 create mode 100644 documentation/Sphinx/build/html/support/known_bugs_issues.html
 create mode 100644 documentation/Sphinx/build/html/support/mailing_list.html
 create mode 100644 documentation/Sphinx/build/html/support/ticket_system.html
 create mode 100644 documentation/Sphinx/build/html/test_install.html
 create mode 100644 documentation/Sphinx/build/html/user_guide/control_templates.html
 create mode 100644 documentation/Sphinx/build/html/user_guide/how_to.html
 create mode 100644 documentation/Sphinx/source/downloads/git_repo.rst
 create mode 100644 documentation/Sphinx/source/downloads/history_changes.rst
 create mode 100644 documentation/Sphinx/source/downloads/tar_balls.rst
 create mode 100644 documentation/Sphinx/source/installation/oper_modes.rst
 create mode 100644 documentation/Sphinx/source/installation/requirements.rst
 create mode 100644 documentation/Sphinx/source/installation/test_install.rst
 create mode 100644 documentation/Sphinx/source/program_structure/prog_components.rst
 create mode 100644 documentation/Sphinx/source/program_structure/prog_flow.rst
 create mode 100644 documentation/Sphinx/source/program_structure/prog_overview.rst
 delete mode 100644 documentation/Sphinx/source/requirements.rst
 create mode 100644 documentation/Sphinx/source/support/faq.rst
 create mode 100644 documentation/Sphinx/source/support/known_bugs_issues.rst
 create mode 100644 documentation/Sphinx/source/support/mailing_list.rst
 create mode 100644 documentation/Sphinx/source/support/ticket_system.rst
 create mode 100644 documentation/Sphinx/source/user_guide/control_templates.rst
 create mode 100644 documentation/Sphinx/source/user_guide/how_to.rst

diff --git a/documentation/Sphinx/build/doctrees/api.doctree b/documentation/Sphinx/build/doctrees/api.doctree
index dc7c3e7f30bb669af1e0261723b92a4d88ab6bd3..a6ab819e8a5c26d631bec3d23eefc1fdeaa46291 100644
GIT binary patch
literal 332947
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
FJpjC8I{yFw

literal 31955
zcmZo*N>0g7E-lH-Db~x&Pf0E20&#Ow^Gdi188sUVnQ9A}H9|S_5_3~aDhpDJ3t4Il
zSv4X=85kH+GK&+_(~DBm6H7Al^Yl^@3-WU+3)wm%WEdD25=%?+71C4lQi~ExQd1OQ
zhJuwAvio5-peQjjuaKi7LI~4zPe<cI&W_Sh!Q#@S;*!jgQjneTDXD42g<Q3T+@X90
ziABY!@wutR#fj;u#f3bvg}kAB$)!a_sd**w#rdU0$*F~WexY0`smb|85NGiFg$jY(
znU<ell9ykS8ed$JSX5Fd;LRAy4)SnjN^zlJZK04x23rPO279OsNU<*5Q@W_063*br
z;K<<2;4BU0NY2R2NhwOrD-?+>6h#l<;?!i2<GBjOG#d-WYYQbbLOF{P%b{+R3}pyq
zD@X)6yHF~FDU=N=E*%liz`&rNmso6QreBhqtnZkYm#XiXSCU#(ke>tgkbYWDYDH>A
zNl{{Q378!Z<;0hn>lx~!I9EToAR{xcLLXwfequqUUQuyLp-d=yNn$$4^M$gZ>`<2$
z%7t<zmXs7_CY6??78lCb7Ak0ja-@_NfYcQiD#nJgC+8#<7pE2%D#eC!Bqb(i7l9&1
zIX09T6ox9Xg{qJwlbfGXnv<%FnsN%&GK5n@Ss{k0#};a2uqT#=vgBmur50*>Glg=%
z9A2oE!IU8qTd1vp9;79iB{`{Fg*uvzg}SwcdKwv$;6&&MN`&t4MCg*ATnb9r;J_->
z&ydOx&ydcL$&d|Y1shOkkRe}NXsD5)7@MIKo1q+=p%R;+9$T8B>CKb@wc7~Y>X6im
z60SmH!uFZ8HWr%J7Mf{fNM`6~Nc&}I`hg9V%Fr!MN-RxEE(XVlUSdiLBqL_#rKDDH
z6`E@{7FyI6T54oShB83h9MM2wQh>&KL1jrsex81AeoC=EYMkg5R9dCvCl{9#W#*+T
z<fkd1NrSSZ6)51qjx4kW1)PlrD7=(op~0sf8_J%VS5lOjS{z$ws}agpoSB!NlUisO
zA&!x~6*M3zLlaysK-g%hB$UCgq|iPQ6d8=*a1)6wP09cTjzevs<Dd&1rwrK)aHu%r
z2^ANO47&&g1_lOCM`I051&z!+1&H6#f?G3#6YPCgkoO^}2IPB;6qAx#oXl0|rrB8N
zUR&sa6ebx?8M2`)An8I+P*izogtF)5L*mZ6Gn6eQKNnQ=`b01>FfbHUV#H&9QWmK6
zFZ7MzU|?WKE6oF!V1<6693V5nQvMl!rLZI|5?dIcfz@^K#hK}Oi6x~)sa%DDnvI1)
zwS~c;+{y+GgmldesSNiF>A{i0Lo#GT`9MBIIJ+<u6n<f#NG%M{;7kl<gTz>21bV?x
zlv+?!nwOcJpOVT|7#YEbk?0GfS{n<aYYStNKt&Ct%u$amj0Ks>kye_M11b><<06<L
zVN)0%$_g%K3ll;aLRr%?LFIK~Cvu=C;Rtk4k&>93%2k-G*;trTTbK$8a()a4>19Y|
z1Z7BPfV|BE_BK>wVH(KO=^CM&6}dT9#RZAUsf8J#90f(G#i>PQsfC$n2?p6sSsBI=
zSgb0{Zfz{gsV&Tfq*CPKFa>*Y2zC%CNVp2~G#d-^YYPiNMQJ>eqdDPf3JXClF4D-z
z$iU~g;tXSW@RqbT7M9i)mSH+5ACH3y5{p1hqtv3D%;FNR!g9^V!iw6$N>BhZGB7Zt
zBe_lp>^c+;g;gMDRugh&4febQH;SvUR<p6NuC}lqVXu5`VFPw^r7|i&wP<68aRk_j
zt&N3EwS~<Pe@kW5l_n*^(>>gZ!WQg-ke`=R$yL~@*;v?CTi6aWBM4N#$%e9kWD7e$
ze(cl;Wl60lC<<lCD9Oz!?81{`x-ooPkeZj0nU@}4QIwj-RoJ81SlC-z*axvpzP7Mm
zBb2=;H4Rh@g>sZ-rj~>9T;YUJwxZOul>B6H3?~+37ETQ11dD*mx=`lgl9a+p5NCvP
z7p119Rutr9CTEs(BI+-Y@{+`&^wg42@pwo+N3SSDS&LHBGE*|*OEaW0+Cbqt8NDFL
z%mX!LxC*CeHWp5;Eu02-_jG7Wqi{wjFU;AxIhlFcg)<XDMFO<-A(hb!GIv&nF}U=N
zhE(3Mg|k~53+L1p&V`sKl`$0(acmI#3g<z%Jjj7pI3FB~saRSY;KZ4npH~8I`Y+II
zEL>PyxCmypJ4&$tRaUqd6thd9zCdy@v}Gd_TeuXXsRl|>=|zbJ8C-?SG#d+-*A}h-
zC0a*NA&1<URVdFa$xujC$ji^u%>(x_%2E~5Q}c6EONug+6>?J(^AwU2i&Ik+5_8h?
zi!w_xa`g&VW=Lf$%#a3GcbssW3Ri*Lxf+W*y<ts>!ZjJj5!7+R+SbOxb+v`-L50&w
zP(FZ$hE&FKaNuWvyuG2ea3jdu#*7RMAsML(`9+!OnR$sh3h70eDGHgz3Pq{O`FX`9
zMWxB0?o(2wLShOi3n-M7=PMK^<`(3D+GPd#nRz9}3YmEdsfo!MTq%hqi3-K3pca=x
zCMYb+5_9wvLNYRo6^cufU?!J>!mK1;Av-m-Kp`<FM<FvWEx#xi+$dH^DFrq7xJoio
zAtu1O7U0;(%u@hKBo-IvCuf4YbqHG=Q&KWPy_&?FoJt*q#5{$>l(NLU<kS?d-2A-!
zlKebS)~ZxU%giZBEdqHkv7jI)Gc`q_Bwryjx1cD$EEQ}xit2)*{DRb?lFZa%h5R(I
zqaeQ1E8K*L=nQb|ZpIe7%+Q8n;g$^Jh|!=XFQ~V+HWqHHE!+-D&zn%v^9FEwMlbF_
zJ!!7O9h!}WJ8KJfffBhnBLjnTenDkXW_m`6f{}rtIahFEQf6MNf=6aaNp5Opk&XhW
zH>(hkk(rZOP@tm_kXllds1Tf*nUq>o!o>wn!sYoz*`S1zlbM{F2TH@Gc`2zy;6&qG
zl$uzQS(d8coS&PUpI5Bl2<@$A=I1Gx=oxT<yUBUrB%YX~-~%y1Paz~<0aWfPBq}85
z7gU0}IVGUX0<}R$p)9jFvxF<7q@=(~Uq2aYNixI^z5JqdeW=P}{iI5L6Fmcch5RCg
z;?%qpg+zs%)DloiFUjXZcb$$xfWLxMeuaXeg_)U-f^U9lUP)qRo<dk=YPpVrv!jBg
ziGhicjzVa#BdA3NE6-R!0b95mRFv((lGtJ0g2KHT;1XtEZQ*`U;9E0L6!?V)GNdwg
zLW)#KPCJOja&K->4Rt8PID%5^4!1TI9;q!n3QBDttM`G^7}!V0Y738peDsR}RAy!t
zD~!|>ff5}jutf(SC^}ARWEe-(4R~M`o@#9@JY8FO1{8M#@0<*&jANxq=!F)j{a2Kl
zmz>H~cviEq@LX--d609p85kHy$o_>FK)Lgx2Ds%}T9lb_0n)yNw<tl4#ABeixs+iX
zL8{@GTN?|n)D~WawaLyw8hD^aYAV?6h1W`xGK?bv85kI-UJw;tZ*45RQCoNu6f88c
z0TMB(rAeUHDQL(KX-qmTGc_kA9@53SrP)|`ySDHSEEr(rBNswZ;ayNX+{2PH;HBh!
zjD{&#J6GWY&BnrqwS|u$#>>|hKE^agD&saN5}#l<BOcO8eX7}5_^h_@IVixm7#J7=
zU_Hg+45^HVkP<Z%>S&OT!WSS%zr?gn)0+Wg+p7%Y2vl<lU$-_EzNsyI3vsJd#xrnX
ziJrE>9*a-PPpRZ8e5cu1_`bIA14M^>ZQ(~u`#`P}i7osDE_6TF7JdQwpaj&JRnP!M
z0jQo#%gIkH(NxgY1y#8PIjJS73dpU`l8nR>h4Rdt9EBw0hGc4rLPla)W?nkDEtis+
zo0?Y)s-pALz|}as5nPm54sFNkfx_e~HaETpg~>O}0gs%_lGLKaocQ9BqWrvcuEOt{
zjfFpI3x9$<0q*XCO#B5JzsXRJ1$X?43sRFa(=w9_e|Ml{)XyLr{vh>||JD}%g9MyZ
z#t%s5<3qKs@IN>Qf=1C4G>RA)85mj{ix?Rh7;1}{7#SE~nm?B&W%Ot^7BPcmSRgVH
z+zbp1R{2R;Rtca`PAFn!WMIgU%J>XPDjD-L<ZFxAKx*N=U2xAfKPd|=P@Y(nSH#Z9
zz|aZq=0f_dMI4L_3=u303=AMM!4i<MKIlka5hutJ70_TeI4rPqf}y?WA})~1iJ=??
zl~&+ks3LAg1_r-S&VouSNY}WC2c#kzG(szyArf1}%gDfho))3O#Z|<|$iSf4Si}zw
z0RfP&G9<IWK9;X75(M+XBVt8DAa*DVsOw)O%*eoy1#)o&XuPnXQa3*-t4M^Afgu&C
z^C^`D3RaK<L_zK`hWoxq3=$vWU^^v1=0b+lvp}wZ#3wt{fkl#x3=H7hlmRgSl<143
zAO=W-4UmBt05%>Z3yLaeyvl+V$UznGz~dF1YZ8j&LGD6}SOt(`a6E#BF<=p!1&+@w
za3r#VMqWYL4ofU5f=t90i&>D^%L2z)7Ft9pfr1qpA<AH<tAJdSA(;hsseEmbDwq$6
z5H%1x3mg?7YmuWu9V040ApwdC4UhwkBjA20(u4%17T7v%kde^1067307g@+r0Lr<V
zt&K%GVD-8P^%<bN1Tk3QQNv_~B0Y$~`e20y7z#m?XwLb$v@EiU3?WW10y_cJ?F5xQ
zbg&qubN0D3DK$ejV-+|oVf75C5-2hOC+$?w><zeTC^7{LWIWJpEHVST8Ps8elvVPz
zMHb*N1jjvcE(2GAMV4U6r<#pLR$!ghV7_DoI|BnlP-;nOQC@L|R2IloXekD&<ce&-
zs?d#u)N@6)kfefSLXjOLK<&X+IDj>S=fbi;mO^srJI%%-N3gsTTwcDm$QjH*w+ZSZ
zk=P;^kY&p>8;e}QdfmXvB_n!3c@0#%fyQRQgB;+25YR+6(ijV5gbF_J0Uu<649n<o
zd6pC_AS$`cVujSg(!?ClhzDpGB_}m6y(9xva)5Z5c?G2<$aN@JNoH<pu|i2kQEDov
z7A$fHyA9JTAYX&Bm<LE6y}X6if<>N?;?@i7OK*_M3`uZq)Y3}R(#nv^0{I^jMWJjE
zO+`MSu#vAV@&zkLw-`FAB@$cY2T}(aOHONTEb<525dhW%iY26>{Vb6EkoYnNhcP(I
z4w5h~3WTJxAh7#`A?}ap1~sO2brlAQBayQ>IL?rBc@{ipXCY<j5U_tjA^r(v0JS2*
zz#Q}#g|upm!oiZDEDf3-s4a>F^CiK}6G)a;098>LQduCAA!#N9oUNn4D$$LFX6tB3
zDgiZekW49xfdqOi*pYEy13-yJDhp&eB&mS1c05=<0WL3JTa*aqpxXv@l}Kz+639YO
z)=mcNO#v&HjNpZ~g+Lh(Tpxo1Bo!=)X%@&@P~J)d%Y&M1>0rY$z<fxUAUD}EL3T=I
zfoy~Z47k;n1yYW;a>vs`%LbWAPTejA9sMlIL8{+#!S2rkIVeLi3+!I`+M;|gAMF34
z0uUQgzk{qsuHOqW>UU6ZfC8up<VZ+M3DnRmDuzUB3D~w$kcrUh9b`YaN<yjLLEZ;N
zNKqL?UpZJ`1w<dBg@s&{fWjEs+^Phtu7aw@Xl_-5+=dw`H6ZnPBL&`C!P4TY1sO_F
ztkfaJN<G*I4Imd~NM?Z@EMHsH2<Ag#r3u7_#0to2<XCCOh!s$PfMTTu<VZ;42%OZ5
zS|P#P2DYvpWF$0NKn_5Q7DVd-qg=t#LoX^#D#}deD(Zk#G@W1@x*#@yyRAW~X^>Hh
z;-YSlvk((CY!JOgJs@HE+M-^tF0i+e8XTJ5vas~r2T};>3?rG^5AoXsu+0;}W=Lj%
ztwK&VAcsMU6;RPI39NWBL~+Dd1_lPV{33<i{31}VH4Q#1Qk<HqkXTfbnVgeq#f2EN
z4%V|)fDc(a>RH1EtaTIu^b|Be<J_873XTfN`FWsea_|T>7osr%>i8BXXQbw)Dx~EX
zDWq1EfO^AasS1UqiFqZN;8_ny3j;J$k_;ZahPEBJd=k@(67$kC6Y~@bpbi5q87W9D
z0{5qL^HWlD6x@7VBLW<QLiBXF+*9+5lQUEEN<jTw1z)hVOKMqaPJRJsK~&KcP>8}~
z1U$}LG!+~wn9(2yi-u_+O~xZQ)TTpH+zfCcnh6dr$t-YCBBwY|8Uv>|$j}yO$x_iQ
zu$I{nEwEKxe$XXDMRUO7;KBtyAc0s*RWuhYZ5N>oTEGEbbcuiM5F2RiP|-X_(4tJl
z3Z2rV3^&cjqWNH#EC3q`u6RLf;y^9|trIF*2p0G5%)qfSC<AptP|+e#lJL(0QAle*
ziWY;73Dj&XS^~CiDVPtbiy_NKH4;J9hGvFT7RW&v(h<!Ay}}LRuA*fiAIWBbR{az$
z2RmCOwrB-NkS#GIA_LpHo}!hIbg>HT*VT*+3@8hHiq=4N$AJrRs6A^zf(fAv87M1y
ziq?UxOxA2HS`RjD1DG#~ZADFnR2C?7Go-ViZU!ydDcT6ufOi#4(I$}HSXb#3ZH9Pd
z3)u3lV6#A}1UY?!90pF`8F`wGMccqCw?kBBfqjMUF3{4Pq8(rr_}#S=;x5ow4>Xi^
zL7cN2Y{?$55$MhVIRN6Ea?Qq~y<nC5AS%Hf9&kd#2rJM!oTB|;W%%860OY1x&BmgG
zV3QAlwLrR35R>I=iw=VYv6&;41#%FmYCZxo2U0bI^%Wh3c<mV2*yCUmKwgu|0$BvE
znlm6va57po8;eeWm7PRV28nx6&IPTvDLMs`f-Jeoz_Zw<=rqV3poZ-ku!(0u+Q4lB
z`P!m$AP&5RlmTB*lYzXDCWC5gXuzqZG(##2<T+3nod>yXie_Wc1+d#Lf}8_$+a)ju
zTsswA2B||`GLr@J4#<ovAUV{9GeuV+L46Hu>UFR|ke~+H0|{!#;+YKia+!<;nvF#_
zz#48MX@C?~unY%U4pVdsEDd%Ta_a>)@lbRdEDvgY+yNVR7tEK8FbB=kmL_E;D}a{K
z=jG>SCW4k`AT93(HIP$M6O)rmb4zo;%P-P$N-I)}^@{F+JSmk0a^D~-I`4yAB@1ax
zJOKL=BUIq)Z;Bp*6dO|%3XdSs`WPInPrw#RW`TnSxwry_I;4C6#lcgs;%5-W5uoS<
zFBJff_JA5_`DqH+f*ceTiFpdH&c5Mppe4JY)|R_M8fcb^s}!`(8MLGTJu-{)bHKY6
z6v{I)lQUq=Lhu+5sJU5^nqHKcQ_KaO41vTgY~2lLeUAcoM5rJ!Pmjw5W$OiKRYXdD
z9;6*<q5w`IIi=tf0@G3qv6Kt8d7&7zvI?}^0BK!!YKlTxVoqr)L@CJ7{L&K8s8nJJ
zXnKY#8MK-^F-HMByafsY(6|-UI#7ZHg%{jDJ;<Vsywq~2`pjYl@X8}lTNkt*F0lx0
zg%Q->$<V=B$oLmzF;ik%NorAfVo^%5UeR+<LV>0AEaWuy0vwB&X$-assOTj~tMO<o
z4}n;I1<A{=!P)Z-IASHUz)_E!mqED~l9z93HWs}FD}D!23~E$E3q(+z2$~QsdJmSu
zNFeZ{`2$!UGz|U`Y}6+(A5=BS*A{&SbI>(QWr1u3RWx6~@}Oa}uVBsJz<fz?-xqo6
zHw$DoqLBt3IQtG(i*7b_;Oqw^)uK-Q7X5?-&@ZrEzrp%J4wcFR*$xR4(74$ju>4=R
zynJoZKQIT~GAW3=L}H8ngX{y9jSNhnc}qqn@VsTj1O^5Ma7zU-37l9|ln7om1s+@g
z&j$Ns7MFmE1`~K;RjiO$tYD-I9|up&(NW0AFUqXS&nrpHfs~oWdR(r0>3Ry$(O@Iv
zOAKRm6ku#4B(^aU+axv?G<3%Vb|0p9Kt2b>3o}^$yJlk%3)nxbU_M%ljSVaa>2aaX
z0%w6j0b~w469YpAa)XV72|T;Y2{x4rYycz%K=wdd5h%04+z|CVVD-F6>OnR@N3!_9
zlKc=!@Q5q&=%N6~2~rRjNyCah@BpJANC&*7hHdr`G{OezVqqD|5&{_u_B)O#V9d$G
zEKuJDG|>xMXjCN3#K4dRoj()-`#==ro(#z>u#4qui^RZua3mFpgV>OfERfCMP7rh|
zSAq$BDi;(WpwO2Dxe;l6Q3?{6(qP+UKqi74hEiD|`@w;aeSA?CqE8O2PadKVKE7C_
z0I~%Vz|aU$1S?d6Dntw|g41b2kupL<25O9`fVAL^5zy!&*cdEPq6#vXk|<F_iV}6O
zA2dJ?%8<+gJ6XQANE6J5M2QxN4T%zv&B#%rjS(fFAOS^*4#<tr3;`+#igY1is|U7D
zA7msnPCyR86DI}`eTHCtMi6~jm{DO2mN$XOM<AjCT=*munSz`Hi958YFav2J7!_b+
zutbG9$XrUI!U8EOEWv)T0y!u{G7Icv`Pw3DFdq^XHXt@6DnK?PM};j$RDgm66cu(L
zH$tKU?2RIONRT>!t#bq!35^Pn12CfkHoNWwR_~0Y9$Gd*%m&Za6}dpnb_J_-!=^Tm
zfq{X(6+w|Z#8Dn#M|naV6+wS@piIv}!Vb?cI(Ww23+!ZXh?61Hb3R}WI6WYBArVat
zU$8u=so@9K><{LnPr8E)Mr&sTfEA(}3~grwLJ|@3yn7HNRD;2`gn%_esyL9nh(<;z
zSUwCcFJD^}4(6cSB$Wkrlt^q5X!#LneOXZ?SZ@?qxnzVJ0|P@IxElqUd`EP}Qd1N_
z{UL?K5(SK22)Mh0-v0p4m`8(6#dHM7y`XFp1Cq~zPL0Qc9TEo;%7C=mw6q{j0nd+v
z+zE<Z*(}(!csy7sy6K2%@dQYCf<~_(<`gADf-?zhQ!-dPC^(T@v>;bN0v56z1)Sw5
z35TK-h^47uOVc2hMmRucwJ9+f6dF+9N@an9hwxN%I@l2z5Jy1LdM22I9*T&xo&}Z%
zrS)vE<{U5|GV_WwkDMWu1u`5hz2|}zqZ<xQ?|G2;L7$M$hlE!F*tSBj0iZ~d$^zLB
zi5gJDx(F;^440R$Eh+(X&~1Y{OeD6b6l5W&VO<8+TMkw(83EcD3T_90+RfnN8`P|=
z0Lx+;2C^5Fb}Pa1pn<z8uxZs`z9dq;2sSgJs0L)KR2Iliw0f}?q=jI;2sQ>wy;uh_
zm&|%m5H^KWk5o4{fc?=3a#V(77TDSHwM9)}J~$kTnn7$x-3YQBxo&L1s2f4S0t%>B
zkUJsu7uYLBZIB3V2V2(xG7?%hf*gQZH-Z|@pqMG@gy`!6>+6Q-gEt*fG6N{Aq3y>W
zu<Bl@YK%rpAINc7Bc~svg<#}>lM9x}nE*1E(#V;J6giW?{+JAMREA_0*xB;6MN`0h
zNaRcfu_2KIvK={creQ=5C|E#|GackkNaTRMQZxe+$TPv#%>o$-jU12z&>{y<&6--8
zl(9pzv1m5foH-D4BDOLxF!&}GC1)rY85kHSC@3gcfo5vG9DQAbxj<Zh*e<-p(vpn)
zA}%hk(!5lVVq=i3f|Y`!o`RFBvo~0=V@hH{33yhvn2XCVzbrL3DYXc+yUA3+O2H>J
zzaT#+MZqI66C|9TTBM*6nwMDynxHKK_nE^oQ}gl?HNi&tW~M`qBvD8!%Fk7B%P%S^
zO3VXI_6C4YXvlz#cY%g7Ks$hn=7PNh4tb;|0<<_5i7lGPgt_)MB{eNG54=eavXZ`N
zJ`;Ei?gDTiEd-kgD(d8Gixz=7=*CNBfx;6MZ;L_l=xfc;%#Y73NzLUdS^}|TDcF)_
zAblB<5t{g70zDQoq_RLxgqL2SBG_yyS`JD}^0h@Pz;>X!UDI0(<nWasNpy#oq!#6J
z6|I6ebT!zaYe4Ft?EplQ$&ktd`2*n+7LeAWwNRVafi>Z<c|AxGWYGe`z@iP1^u7^n
z=_as#P!vdIft&%ZZO|PHUVELHmYG__RkRu6<Sk&`TOqo^dxQh@6u_w(!@*n#?M2%_
zE|RY;+78x;>1^;K?j0aSkogmsp+!3(j@|{fb~jiz#L*y!V0APi!nlg|Kpednta~3^
zw|s5UelQ2!A<!@vi7h$+ato*eJqXr&2&^137mAi<iVlO6N@am8fyWkPCgKQK7rG_T
z<Z%?F4KfpoZsIYBr;mfJJ^?mFG7D-A$UR_xgEr1{Av{}jk_ohmJhe0_3z`j1fwiB8
zXpc}~U|_&i#2^<h=s6$@me$XJ4Z`${Bq*()1xaQ>ll3{U#pgjn8Ilp4$QEZvWr3Up
z52q|xdcFWwjl=Ydkf1^_spt|UkS>EQy8_k@Nf{vP!6B3dO|w_QO0GeafR_tH%T^56
zz>?{8uv$#lNPzr$1L7J`=LKp`(M^b3Zh<Yj4b}{C3&?7STcAnt4p_-uxDxr=qI+Nt
zx@FLS5{WIk53&!G6d!=~J_IX=v`Ud8uILd+nN$|Y0(kI3lHp^p4s;7Ny}>c}1f<Ov
zJpPAl+Ea*+o`J1=4mLnC3u*<(9biu-X2@n?B)b=2EiWNjBBB@=7|5@%h^VYkifedc
zeFe52)63GJ2z(8ageBHDVCTLC31vW5iJ&+)Ln;g8A$W+w6YM*%4jeYThXg8U{U?fP
zMIRu+`VnmDC$JHagaUE~I80%Q_A^+?7l;yYB}Q~TkKtxmvi=G-4b#n1piub+aWkm8
zB-*B;?-2j|06X?4*m#J4K+cEw2b%DIftCD*E0M1)`UB>mI|mxzBC$n(K`sI%{C{A*
z|G~;7!G{<TN*F~9%%BZTSs+{CaR<o_jLe`(26S6By=6dwzy#7}Oq><W%-}(J7G}`Y
z1uNK8$t<Y7AQywZkCH_|`ylucMK-u;RK&&%Dz_8Cdl5lxNpsD{B6hHu91t@>(@U_G
zQlMj=ia5dI;3hY=HCtR@Y1o=A&^dSb*KBcs*KBb!V_mbw19k~7*hp~9!dwDgv&9D%
zCw|QqKPY(pvp^K`nk@maF`zYDf?(@}z<fw<Oi2X$06ZO}StJZHKq?F5s==}P0OYtL
z5s<5(3%5kUZdZvd5(5cx;9R&R4oN){U=K?&qc7Z&g6fU~cWxkoP$Uf!#9X)~1GW;h
za7z|!njDx9X{;d4xq}W)%#g|g1#yOS7Szq)g<JAq4cHbDAzJwgAiE*W6*M!86d_(w
z0$Z*OHVc$gkjI)p4g=>0@WL$>uu4^k$}F(2(A@=IxTOYGf!|%~5O;xwzM!F`0dbBd
z*b*(U5$MhVIRN4u(84Wkuu2_>N|c3Ls9^<OxTOnLhTlzkAUA;)Zs~(fHUMiun+7xl
z3t}@zDhuQwP-$cYG6&LS1*iWaV~E#Gz{Z+_O#pdKDhp&0xXX&XaLWv=%p6G>#6O^(
z9eClE1xSjBg<F;&cYwx!tiUE(gS3JB%JQ{EHXsgs@PPIUw?L@{v~UaLIZzncg4_mL
zxMc@+n?1-mFt<5?IpCtc$PuJ&CdyeySs?F#%y0t9K{_6=6OW3VAwlf|Hq{ku5G1HU
z_CSIf>%uKJum*P|4UobLmf^q)w>-eoV25GtQhS2sK~<j@*f?)6Uot`$Jlm0%ifus)
zwzWfgMLr;}No9dtHHZpKUy!Sy%eDN#e!~b0#BwcvkYZyp{2l;_!a#5k27#@S%mN1p
za?u0|VMtj33h!XB;t+`92+%5A#JDwR(Gf|Dv_O?ZT4GKPWaqsCY_(QyehR2louU9;
zn=}X(Yr&7tE#^v8$RlmB7V0z!Y)u)?#aasB6L#<|)<WC3fVNl*vf2Z4u~sN3nZQzd
z7IF#;1IH$23WG1!3I}O59*u4A`N{;A<_(hA2CX}3Z7hleXV)lj1WRUtlK^tw2IXc*
z-Ucn&iUuo=fhY#Gs-eXqs6GTQ+KL5BVI&mzqOCZvJZRBYJlLoNFdtMcfc6N2Ip~_D
zvOu<iDw!m(JZN?)8LT-4%!f?>p)A@0nT=?mffsG1g4Lp%4V_#{gQQ-xMO*2R!Y>1C
zS0-3L$e~hMAlo5f0-9UO0?TK^<>hOOa=;vP%cQcv?h=VD$_3d6Dl7BAdh@}`B?s-I
ztpc$7FueovIVfHV!SbL*TSZ|16odI_t+f)cAf(HMwrC3!3LtYzLBWFDSSy3XKsngd
z3a|l?7y#J=X+fYY+Ny-8uL7&DMp6&50XoN11D33XNP-7#kQZ&$ft(<f1yY|O4J!h{
zi?-@PI^eA|Q08ICPs&0*@&PpWgk#ZG1ISpg--%ze1?ty;7H#o@f~Jufv1qFa?1N^I
zdom=mz%G`rEouSt!I4zd3SvWMcR)6SJ3!DyTW!qfi?%=k0<xkV<VK`LTOE+V>;&7^
z1u_xbD3r<q*$)nU?2ER#A^Lj2`g$Sy;4^PUeIQ#P0St|hez3v`P=$y|H}L#lLeWHo
z2DBKN1k!>xM({1#nhY|Rk|>#i6eUx^ewYSwP=;g{*vay>Mbp82NR-R~u^~|cvKcu_
zW@1DMC`dq2G7IEJXodhU+L{ds+c{wC=7Nlb#tFy)c;aLpMBjX{z6B6{S(s6=5G=n4
zB9AmV4W8{wC|V414kYf-qGAb13&E%W8-r#3b1BGNN}^&JQdBGl`(XvhK^c-+U?<Dh
z7Oe#HAyKgk#D+u#$Y$iISd9@CpdbN7#Tt+sAyEPLM$uYGkgfw;w;p69G%7$2z>Esm
zqOA>J^&64YgUTB4IYgk;3SL1{v<YJNX0X~V*woU0u~gAkh@-ZF9km_er~z2CRkQ;X
z6Ua>zNC4uQUk0z-+6i{|E{MA!t66q~Ip9Qr)Q3d0H}-(#LG6vbV9oo$eDsxDAcN5w
z8~ecu(G7++HV%N?Zw#J9fh>tBE;<Ma+CyMl4udsA>N$|Th?d3?u>4WDynJoZF)#<+
zCaEm2qeNnhj)N=%wKPtE^_~PPr}oONQ(#ju9RYGLDDRvG$-`D|odG-KEJz4CV~etK
z3*=7F@(jevt#e?d=%yov)y{*wXbjH9(3M*kAi;SNY||yMc2IC4rx}ndAOTCQm0On~
zmR<o{dKF?RRaR~lT?2U#+3}z-BD{R-I@l#QATEI<_?uu3dQc(~{4KCND8b(bYrX^K
zLng`~X%%*u2*_}>M1L2o7~ODaqQ3|717wa2$)KY9kU)C?w(TL<08mUxWr6I6#1E*6
z{Rk}o7%negTl56XLAOmR3+ynF*rKN(3qcA08CdUguyS0>w_bo{F%1LR3rfH*!SbNt
zyH{Y-UW55qmT$cQ*(#L<vJ<U_d<)V-u!aP;d9c)w??C2~SwjlImT$dBswF>w{qYgx
zs0_(0u(RcBi#~z*;BYAV3}QoSNs#T}`~_`8e!-|ELBRqFsIMS*LTX8{SBkztBKSMl
zx*s4Tp|vE)0hqNUs0j^TzV#EL?-y9#Z-_obBk~W(8sr=S3UFw1@-JA+Kd2T&a}r!@
zClvh$X~h~t3@i)`h@<JTHSj?dG}ss{F~rEizyLWul=K!pJcgK95UqS>7SN;^3&>F!
zl38G9%hwjMg87gbVgs=uF$A(5IfmF-&|CSSU;)Jt2gsd}7y^5xh?5082ge1rjvHho
zG=@M9K#L(fbu4J!4YY=f2W$>6#GE0$h6^&_3mVw~ui@eYdkGx!NR0(VHN+2!JLnoM
z0dOD)f^~q(Gx^#gAutDByHpk^yg>0H43dYfI}riv7X=BCvHS{TJG}IP&*zJQO+$Bp
zrne}_c5#p-Y(8HCY`Y{#2wFoUmOy1lWq}-rFdnx0L<+1Nhw;*oL<bsQK^Rpe14((Z
zVC&?-`ayvul?8GDxbTO~<jaGVC_t2;FPTDh4{V}d5v&-~Jt83QDnZ->x*Z3;OiCHz
z8Wpfrs$ks^*MKaCxCS~8uLf444p$;yTciQzpxXuwE0NeDO^}74+DHqmR~xJxGQEht
za!CiIR4NN(2|Sb`)9$)pUFeoTV^9yI4KlfiZlXTKX9i%a4Z(&;W<jk1xd-eylv#FI
zIy3@nF@|U%W&IQOBxnLQ2-5@LH9@8zNmvpz16ynk62h|n3FItz*ua;QSb$aIFx?Uo
zJgDoRtRMkn4Yte%tQ`{NAnU=Q0!x6lU?p}CCE%tzblp;hR2HghVCl~utQONX;-K{B
z0C5fS`X@(-Tb#faIfFGr+yb&1;udJ~a{()Hg)5P-Eph{M&@F>HO(eF+9b_LU`FVi#
zdV-Zhnsvx4mb^g9q_RL3z=Ic(^t{13&@IsP2FIKaNE@VWhisZJ#7BN$EB(O+NM=E;
z0J#I~DXhsZ0IVetqJ{SBpRgy^Ah7kAUIwr92?j~R5^D(9xuGB-9P6Jz9)gD`Ji&&6
zb>Ofe91^IQ>z_caAkeTq*wQGl5s-ueat1g|VTm>xtRx1agyi*4sBVTO>sYX9m~I9y
zgo}f?nY8s!@sMPa0CsF5*m#J4K+cEw2b%Dcz)F(gO5|&cQotN^=SXFN9WN4FlnQbY
zDB-7p^`?WB6S@8=1Eg0f3uG%i?jX4#6Ko8+t(xB8rEysxZA7kr%7*wo2kf|9u&I(+
zP<ufx274bRi=<}AW}z*2N(D92K=)8`gO;HegU&%qEh@@m0Uh_u3%@KAbj4#)KG>oH
z76yh;j-u2w&^hMCMTKC&B9Nd!ab<2&eoj10S8-7>3j;%JQ3*&=5Okj=OeP*|UMX0%
z3?wUprWK-~9IT)Mq<}Ly6T1Gss1ht%1qvvw45m;X*u9^i$=sr9u)~Gmet};ST2uqp
zRtqwWqbRi?zo;a&sHhICoFg*@avf+<JqrVaH)AL-vSW*j8o*i`L0WlX?tr+k3GDl3
zkc>cPUP@+BYH~?D<TUQ$q86~WR*)n|acW6PW?p)6Q5z_p5bM0tiomxprErCTPU9%%
zDr#q8V8}1(0GrzhQX47+4>izbo1iPBii^4+?i2>y98{DNpOOl?_$f6nIWx7ms2l7j
z-kij|^wPxi)OgSZSw%e{S1_gK74?D`oS<t%Q$fZR^|3H8bcFI1q!xgD1Ut2_A8ZC6
z=t{_fc+e#%sd**EMH9fHye0X`@gThrr%VJH$O<|xq_Sudh|N=!29hsMjV~?ADVhut
zk^$YTP;8~IUy`4nQ>>SnT9O97QU!E9n10a|kP^<6#FEtFlEmDCqN!kOcp#A!p94C&
zu4o#_!%U&V#kq+^C55H=C8@>nIr+(nIjO}()4}0917r$Md`fC@Nhaj>m!g?qgSavh
zb4sAb%mNw18p;dx7~~?;qS+vI83ul#GO0yH`9<-mdCB>p3z*^|+>FG$l$_L}qB$TN
z1VBD7&PgoJC`v8JNlZ>HnhO$UO-W5EO)r`UGAUF5v^@lrq$+b#i!)MFON!>RFfeq6
z%0kXq!DapekU^jWc{7tsiWY)6yr4^2^Gb8$D?s_OXc5TujG_D~rMU(1@FZSbv>0qF
zZ%TeL=z1rp;w2Epe4wM^LHDT@mlUNY<`yjls}%*scUoo+IF8~=QgaJHhYS@h16j&Z
zkXoRtYG9I5v>e10Os&W)0cDSp(qd>Rt^gU$8p@WOpO==IUbGTyBsj4om&Akb(aA3=
zS_KvrP0q<r%#KgZP0Y-RPfSTEN(EgVTeKRS>SRlbGIQa@1tR^$gKr%yS_2L==G45h
zqP1YdARaF$PAyHzkFUthDOv{>7D%lq$S+Qf2OqbXmzYyrv>q%j1PZ<4(j@SGuh3B0
z05+2wa;;iCC<Pa71S{qPrP?CIxs{v1qWowvR<s!uB&?++X}T6gTR?0ss8OJ_z7?#8
z4}82cJd%sHfs}EAwdfXSrWb7o@%iIHi};dqK-m)<h&#Y~IWtq@3qY65RTS+6DPstg
zP0mOJ-SL}R1PT0j$c=CDxrs&Dr3FR1!2aPZNlc0_&rB)FDB2B*8;(#uNYaI+<f1(w
z(^x}8+;lC9_JY{#(0h`L_JImgnNa?8&>cn<C7|41keFOjv>zNroX|sr@{5WNfL+K3
zPJD=<J_r`&0q4tjNX9HW1lGy}N@Ji~+rZ_(VUVQ?uyUZhyj%}*AuYHZNJ%ZzFGwvY
z)-O5&QYKJbnOBln5ucHno{<B(N2=&3NSGxjKQF!L7>Fr@8pdcD^*E?A4bDJ(pn^Oe
z5vV6Xnwc_FicW$Ud@1?K$cf_=I54Flg+ppiD(JY(;&{-xoblkTG^xc!r@`LkjfW)t
zcu*E9E;<7$fI`JUocK)8`JbT6(c)9{5|eULQ;N=lLxa00u^cXR4irg@p}gR*gjWsc
zL1vdGg^HqAhTyBJi!OjPF=VLJ7F`6@3mI&XBLIan#4|V`i%QiH^$O%xVMtBHRdk63
zy!q=gxK_CW)(vhYfz}ddfUfpsgQzUJ3Q7#}wMEy!Y7{}2A{Si;iK&4W?uD{u7U$-t
zbbu~QhFp~lyHc+-DT6a3s5Ddv<;HGE3*iRX)|((xK&QIO*B0GEm=3y^1A6Oqh78o)
jP)=BlS6p-(6tqQmK(Ph7n<6u%xacm}yn8I5Roi+1QNB*D

diff --git a/documentation/Sphinx/build/doctrees/downloads.doctree b/documentation/Sphinx/build/doctrees/downloads.doctree
index bfa2114a0d76a0e76d2c56a0699ea49823a53ca3..c2534819559b924ae3ec4efcaf885e5a4e219c3f 100644
GIT binary patch
delta 1904
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
N3oq9eUMWq|0{}12+t2_2

delta 1372
zcmX>v)hfPW2Fv6WHn9+Izfj(^{QQ!<{F2o8qSUnFLZ8|~-%yUC)U>?B+|=SizuH3o
zP=Vsg+@$=Rc$muK!hqPqz)-=&(vp0b7({naY+>-^b8O=EA+d#_p`6K?C5a`O`FX{K
zVX=kb8EP3!p*+c@MMbH3CGk0#d8vgFexX7oMTvREY57ID@wutR#fj;u#f6cvg;5|!
z6yz6`q!txM`-O63ro<PQBo>tv#&|P^@*>+@To@Z$7#GS5vkc@C&EmrN+QNiTfy}&=
z%%arflK7IuqV&{~;=;t(!lY1+;?$Co%)IpC!sN-l>@w^r`Gu*qg=v#Fu#45FdozX#
z7o{fW7p26fq!y&+rKIL1XQmbxX848j<|O8&mnNpC#wX{eq!wm|GNtAfW`%N=6eT97
zCM70k7iM>a@)e{OfZUK;l$w{ET3ndp7s^*$Qj}Q`pPZkYo0?ZrT$t+@%3G4391qfx
zlbM%YT$mTinwnQqR9PsPAIejd29hdHjV~?ADJ+;A#vxx{7|NNFSdv;?l9*diSmYPV
zQ<Mq{ocNs7vecZyVsEBU;o@9S@Ra74q!!2L<R>TQq!t&J#1@u@^2Dd47MEn^fuo|Z
z%rBHHBQd80s<qskHIx_Xyqv`1;?&~83cm~;zfhUfqN4nw_|&}Q{FKbe9-M;4m7xM4
z2N&lg7H1Tt7UU!*rxsR)vZkaam8KU~`-KXm<|d_rqNy?`wKyX+wWP3SvIVDNcx@;f
z$b#gO!n#o2;?(4lywcqG3Q&v})_XIC@~4#M7R19-L2+S&Unp-%esX4BT0T@+qc>wH
zUwL9tUS?i;d~r!pYGQ6-)8q}DlF`kf90jQbx~c{yDTOVef~ggmC7^UtQd$i4U#mB3
zC|h!VURq{)VH-3il1t*tGK(`y@{0=F{X#{PbMh0j<5P1JGjrk-Q&Ngj!J*JGS%ph6
zr?WGZIW@1Wu*(nX&Vu69(v<x8irk#SZjhHN3i69n<1_P0Qj78ubBYUl{6d95ek?9c
zD#<L#Nrn2Lw=<NxIKQ+gITe)fvkUwDLis?^T$GvyODFx4H*yI_P6%Z!ElJb0D4ZC|
z1=Rpb1(W<j`7-kgN=u*-l9ygMIg}HuQnxrWy>Ln>e|$=2abi*qC~bm$JJm0gGczT=
zpeQvhv!Za?WLa*d`stmaoF$1#@#UE*B^iY?yg5SokfS*-y>MnIYiNj@u0`RjQ1*C;
z0}5wnNQUyKr<RnYR+NAeaY15oN#UH1P|oz!ywsvZP&m%@3*`gHBO)Z``GxX;(`0-h
zI8heP?+^&(0cDP)L}=PxF!>y}vg|@o0h3pfSP`F*nVyl8nVwNnxG0n*CqFN}aPee5
z9(mm*8Fit2pgbRs@X*pwrp%PWWubg2`N_y3y?k;MkG$9lzfj(INVLbNWrDK8%GknH
zlY4n2RaSR|au+3*$EW6jLMx?k4X8i?yB%ICtet#{N19`uH$#SEZQ=UKZ+WD6H`Eqx
m%#g}Z%aExp+%#E)S6yUtY~hwrHc;rM6c=u-E!<X`qz3>}{|@c|

diff --git a/documentation/Sphinx/build/doctrees/downloads/git_repo.doctree b/documentation/Sphinx/build/doctrees/downloads/git_repo.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..8e00af1dd48b3b23f56750f121c979834be3e3ad
GIT binary patch
literal 2778
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/downloads/history_changes.doctree b/documentation/Sphinx/build/doctrees/downloads/history_changes.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..77728270b650974255ba2fab15d7cf018a20c703
GIT binary patch
literal 2801
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/downloads/tar_balls.doctree b/documentation/Sphinx/build/doctrees/downloads/tar_balls.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..75305e3b557580e9b68f29d63fcab7dce0c3758a
GIT binary patch
literal 2795
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/environment.pickle b/documentation/Sphinx/build/doctrees/environment.pickle
index 6f806214e8beeb0312bb43c9cf28e9321c973870..f456d33c4d67382e3942142c60e15c9e1b82e56c 100644
GIT binary patch
literal 225566
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
bG4?A#DU>rFbQ>(_0?VRRYzz#3rAc}K{)@@V

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

diff --git a/documentation/Sphinx/build/doctrees/index.doctree b/documentation/Sphinx/build/doctrees/index.doctree
index 18ce44089df298e870f5ecac34e29da21a542746..faccda361bf97b7aea3b5a409fa6963d97d87212 100644
GIT binary patch
literal 12705
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
AvH$=8

delta 3543
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
VW&_1dN^wyDSZN?514C(&9sm_9z5xIL

diff --git a/documentation/Sphinx/build/doctrees/installation.doctree b/documentation/Sphinx/build/doctrees/installation.doctree
index e8ba3f0e7cb621b83ade536750c8557804149ee9..d9af92cca10d1efd2ddf5237c26877518f9699a4 100644
GIT binary patch
delta 2156
zcmbOxzD#n%6DEtKoc!eM_`=fsl2oojW6j1wliEU4jSR6+h79oxkqn6p$qcDbZX{KO
zW*IWIh31nvS!7f!l2h`NOG`3yiuLmHQ&Nk$3KEMF(~A-dGPnvYH5&`9Y74C=>$6Cw
z+GL1lm_QBVgexkv1sP?hks%kGAs?He5SyVGo1q+AnxX2=k|7vdXrG}UA;iGI5bEdR
z8l>Rt?-v{r6zUw}>F-zQ(Arq&SX=0%ks+1=GTf>(DRJ_7CQ<+7{M>^4(!3O|LTAm!
zLYLY?S9H&Cz?2lafvk6jT3_f9%3qS7TvC*ps#{)^SWu8!ROp#FS%5{f-YdDdAR{xc
zLN75T1>#SrLast@&Bj8X+CpELB`#1;vO`rA`ho25*9hgvE6q(xElN!(4De<M<;~1X
z&M8ev&B#niNzE$^?9334;9+23$jmD)NzBPfEXmBzD+~%{Pfjc-$*j-MD-8AvWl7J;
zPbv)Q1O<{pY$#VrW=T$JaeiJ-WnpM1GzgVrL)laFN{TX5iwnbI3&S=1A|%m_)h|jd
zEX^!R%}vcKDK3m?D~$Au5Jy*&Uyxc9p9_l8!l<_T!e}hUl%y7y#6#U%7}Hi5n;Oan
z^-f$zC=b+wX_+~x#f9;)g$WuN5gAb#F{z;(xrr4isRbn&g^Auwptxqs5R5HNN-RxE
zElo-UrMyt?lA^@C;<Wst+|;7Nq<X(l-n9JulDzzq)cB&*wBo|#+QO7jj-u4Gyu{qp
z;=<J0!n9C<;>z5l{G520%HqQG*usoZ!Nk&%e3%$ScV=v1R;UP?a)?xRY++6)XL4o<
zI0lLfb7KqhGV0Ybm_m7yON)w9^Gf1#GV@Xk^Zi1F;BJi1O)V}?OiwK?EQl>E1i7mq
zzo;a&sIbT{lp`}GzPKc@sHCvin=zCZ*)he1C9#F2p}a8LATB7YEi4Ze$jnR0EJ{r-
zi7!bkO7}}GDK4ytEvyXXC{8UY$;?YHF09f(WWBVa{JfIXycDjm#GKO9Vy?pK{KA^r
z!di_`A-Knr5|guYGV`*F3+pEHuu0T|!Zar_FTFG|JvBZ#KP9!WA(SaKudp$cv!p07
zITfV7u&E=IuOPJm<gnDD)V$=>;=*RXP`=`lqRfK$<osMn5^C`a<t@oijt6OhSkW5F
z3QB~Pg>9icMQI?J;?(%kqMX9^P??O9l7eEZ$&1;<>pMa@QxZYRC^5I7u+uM;rzjN^
zaPc{*WvMxZUEWNg!o|6upaT_7#ql}$$%&xE)E!&c6Uq~xl3HAnnFo%i!d|~nu8hQ-
z5~$WbZ`M#=s4H_4i;Gi>3;X>tbo@ePQj3c6i{exBlJiqCCtI=$8czrn0J*z3C$TuA
zD77FbF*&txVkm1$YEo%>;UvFMfz;fjR8SOF=A;&9q^6b>PM%!LuIM}^lnrD-a!KLT
zP~PIy<dVG7-1rJmiY=Vx%^1p`Qkq*34^JV*h12~)c~kO}GxO5&p~_}Ve#kByJ<~5#
z6cogud;$uh_>$Dzf}F&X)WTVz90jQbx~c{yDTT8`1yd_BOF${9q_i07%Q@bxp=`<d
zd1;yHg>#|Nl3WsBmRX!xl3!FfZ?Zp!B;)+anH-As3pzuYQ}fCS7y3b6R#2Q;nvx%1
zk(*Pv2;|9%g8bst_{_YL)S|q^oZ`a8exX7jUlo@ofr}Zao0oKkau?^97A2>GvO#v?
zQom3>Py`pHroj@(GQUv%{L+$w(h_Je=cN}$E)QibElJb0C|nWB1=SBq4lDga`7-lR
zl&%Wp1gq37&P*>{9m*e{l3ARXlmkkmV2`fx3+2pAi7zNhP0Oq(Tst|5Q>lJkXDDY$
zVp4p0W=cs$;d*b5P(I{%&Py-c5Xu@F;-+g+xG|JH9^!z)O&OA*{OPGBC8-r9pu}8|
zm|Rl0xg(S_JvA@2C=nEdTl_-#z!8ZEn5}-HJm5qLsWOWTw{-}F@_=G6DG{2;w@()4
zQqJ4~Dv<I@5-Z{}GSf41GSf3k3U`LG<mBh27w!s`LG^Y##Jw4bc_}%mMTNUFriSu?
zii&uISNDW6Wu_GF4dqM8PezWCeUs;N$p`ND3+0W6q=k4;QYtPy5F086Vu6b2)FM!Q
z5}%p}3dxkhgB_vVMTzBb{vlAw1okJqcsV>-kXu^+h&MxqVr}8k41o-h;!vUD(xl>&
w%#u>DVUUvdSZ(3)45<t?P$hR_ax}NP$jR8kQ=x32=t(IqJY8FOrZh<p08n);KmY&$

delta 1794
zcmZ1`IZb@S6Q;?Y%-r?HnvI1fwS}e{8DbIo3=9k|sl~}fnMtV%nR&$}i8(omC7Jno
z3I#>^$*IM~3TZj174fMRB}IwJB?@|adU}Os8R8it84?+i8B(E~1&Kw8=|zbJ8HMH<
zGPQ*k8X0o28S=3i3b7fAu^Gy-r5UQ;EE#GUOc{c)g_arm5&C|lS^218nO>n)Yh$5x
zZJ~`uhFFGKhJ;^+svp=)@eGs6=b4l^Y&9DT?P?3{C;w!UWpe;I#Bs6=vkb3O2FSC{
zwS_Jk8Df(+FiYsTW{79lK^&g}cCi~a7qfv}>ppoMvsArDYh$5jZJ`&)YLI5<(xgN%
zN-a%F%n%D@2<0v*O3W)x%P-1JEh_Z(3*}AA&o9Z#FG-CrN=+*+^r<cM4dp0GP0LHn
zO)W0;t1a{o6)3LEP0G)Shp8+s42UfZ3>8c)Ey;(8L3Gy##TEvKilC{7$c4lfhK6z`
zXO@6tthg{NwlEwNETKHfrA0-lc_r~VnR%&&5q_aUa3{v+rWO|`rl%GcM#dIKf!tM)
zUsRG>R2c0S%8{88UtE${R8kn@%^1oHc8ns_FU5tiv4wG=yfE7!E{Lx!OqhI-P1q|j
zwlFD_qd2vsBr`9)xG-5GIVC^2v?Md9STC(8Kd&S;FNG^CF{d=On5!@)zc977Fij&=
z2=3LS#N_Op%)IR4!t}{<>=N}EexbZMiFxUziRr2F$@wX%g_)sDsd<H2p`4(Em<m!~
znB5V|SCCo&a!G1YYF=_`abb>MC|_|&QD#AWa(-@ZYF<fkVXj{&Z%KY~JV*<~io8(P
z)Vz|S%EJ6mo}x66OmS*_X;DsLL8wedNl8Jm)#R=0;`N20oGFPVsl_FUxdnwqexW=?
zsi2^W&q*yy%_%JQW(pN9&IJWlX?{s+aePjGa$-(uabZbpVQDB&d`fC@NoF26VhYRr
zLb);$b4s9E%e`4cd7-Y%Nh~f-EiSC^%h2%)l}Rls$}fsf%}dTt$(-!XA!u9~DgbhK
zaZX}!Mp0@(PGWLuVO1z=N@`MRdSSI+s6c9NQYt9YDsxhcGg4Da3Tr0!b12r=hO&Vy
zNG>U?3*{|NO)kkR&5f@BCDFoqZ^lsml+xUSczBv9E^P1%<xR;?&df{8hbn9IW(?&k
zPb|vI%uA0iE-6Y)%q?v43l#+gcv@x-IKbjdQgaJ(5=&AGn?pGYQVVod4NOuBTS5hm
zQY$h`KuM{jv>58?R&Ul&w&eW0w9NFvHfSs*m&BK47H5{^7ZtWoPUMti?3i55sc6*M
z8OofRS60~N2X$ycacXHwetbo4PGL95&lLsv#i{X`c_pbud5Jm2g*}tcaf;RVc7}2n
z=a&{Gr-G7wc441iC?6<#i&E2I$)n#dls~_;q@c6}8pwI+g%d(qOH0ypEea=wazV9&
z(!wOaP`=DO6qS=hIl(G*i!;*;r-bsyr(_l<Cgp$<XkJ>TV0z(HzfjK1l=y<8)U?cs
z!fBIBxRmOrcZPD7Bqqg|XQq^76wdJG2<1bL<-GL5nW3zqA#S=Bg|kB0;~_36oSh*V
z%AcNEQj%Ix0!qpSiOD5}b2>sf(^K<OixNR0HrFqd4;+n%aG2*8$^%Z4@rB?tSvbE#
zAe09bV@Zk7B)(v>Dz~!iLQnyeSCUu}pOKlKk&~I8QBt@llqDxWFTHT_<Wz2X-6a`y
zp?shMARghNrJ+ojDTT{I`BL(eOEODxQlUv@`Q(k<^1&<oLV4pM5gZRnAjO3%V+&V>
zih<binR&&jMWAXWJ~a;%WGRKKJ3_gO63gNIHJ}m)>>qd`vUai}kF@?eZ-xxT+QRi2
z0vRI3p+d!_NyR0ZC8c1)ASLRC+QN+)QW<KXVt>=*Y#w!y&9Q}BLfJskkWyT@wYG3u
HX_6iQEQg-~

diff --git a/documentation/Sphinx/build/doctrees/installation/oper_modes.doctree b/documentation/Sphinx/build/doctrees/installation/oper_modes.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..1b60bb5105375b4fd4f14858370319dac8b82b8c
GIT binary patch
literal 2789
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/installation/requirements.doctree b/documentation/Sphinx/build/doctrees/installation/requirements.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..ea7c8222f7136d787cb06d37a52e9072a40cb346
GIT binary patch
literal 2779
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
b{4FkA9b332lns<vQi==L))uZSP0|AZRel4X

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/installation/test_install.doctree b/documentation/Sphinx/build/doctrees/installation/test_install.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..658f4ccf63cdb189e6f48494f7770880b70451ac
GIT binary patch
literal 2799
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/oper_modes.doctree b/documentation/Sphinx/build/doctrees/oper_modes.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..1f2c6d8345d631b9a6e05cce2a2bda700b6475a9
GIT binary patch
literal 2776
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/program_structure.doctree b/documentation/Sphinx/build/doctrees/program_structure.doctree
index c6018d583075bef2701a0d001185209e6fde9c4f..9206c2d1b97a05cb7d134f5f2c1242cbe8867eee 100644
GIT binary patch
delta 1930
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
WTX-py4HUL1#f6t^3$K(W=>Y(gMdi5w

delta 1346
zcmeB^o-e*(6U*eqY+@naexbZ+`S~Sz`6a3GMX71Ug+8@~zM&jNscCtMxv9m4ezk@E
zp#sH~xk>ps@i3Leg#odJfuVwlr6u_=F^KM<*uvn+yzJujA+d#_p`6K?C5a`O`FX{K
zVX=kb8EP3!p*+c@MMbH3CGk0#d8vgFexX7oMTvREY57ID@wutR#fj;u#f6cvg;5|!
z6yz6`q!txM`-O63ro<PQBo>tv#&|P^@*>+@To@Z$7#GS5vkc@C&EmrN+QNiTfy}&=
z%%arflK7IuqV&{~;=;t(!lY1+;?$Co%)IpC!sN+k*k#yL@(WXI3)3dQXBVqa_ht+g
zE=o<#FG`6|Ni9gtOG(X3&P**X%<v24%}LBlFHKBOjZe-`NiEC_WlGH}%nIc!DN0OE
zO-fA8F3j!-<ts=n0J$NxC^auRwYV_HFO;viq$sl>J~=-(H#M)MxG>i*l(!^5IUb}X
zCo?a*xG*o2H8roKsIpKnKa{5^4J1{Z8edwJQ&=#0Du;Y-VJK%xVo7RoNn&n6VUb@b
zPf;o;aN=`P%TjX+i@ljbg^P1R!Bd)Fl3E;}lb@WJlUiI@5?fdr$`hZGT3nKu2abxu
zGQUu+jKrK0sMd0C)=*xk^Kuf4i&KjWD<&&)DqB{D3V@tfoRe6bQIuMclbD=ZSQW~e
zlA2VSURdoHDv+9+lnRQJ%AC~VjMUVU!kW%d+5FOy$$>o5;kBV`AVZT&3hP37i&K+J
z@=9~#D?qVaSntgk%AZo2TM!SA`QpL`zfj(k{N&8Mw0x+tMsLPYzVgJPyv)4x_~MeH
z)WqDvrpfO)C8L`|ISNt>bX5&ZQVLr_1yd_BOF(I(q_i07r&e#)P`2d!ytK^p!Zv8=
zCzr&RWfo_a<QEmT`-O@o=j115$EW5dX6D2vrlb_5f_>gGIhjjQwzD&oIW@1Wu*(nX
z&Vu69(v<x8irk#S?#T<eMCyC|LWMw{DlSbb$t=l9g*v&nGnBhHzqBYh6_mQO3;X;+
z`9N`5l$r)h4E=tg{Q0FN1*IkNsd>ryDVcfcg%d(qOH0ypEea=wazV9&B7TxzC|_nC
zipt5MoFJ7N7P`fm>4j55`QuYEixZP_K<N?e+o^t`oS7-{1x2Z8nH7c8CdY6q)lcsX
z<t#}|iZ9PhDak0D;mr}sms(VmUxaYL%uv?Q5I0?m!dap0@emgj&d!hw<xfv7DM_s;
z0VUjm#N?8~IUS*#>8W|CMTwwroa-0L2ad<gypq(Syu_U1!g+q7Jm7Q~UkFZ!h4VWE
zLU}+LA}JA?o)=8!<xyr_IN6X#m~&AmOHO`Xdg0>9zC7}}OET(0`9L{49^r+hp-h=6
zh08+uQu33LgL?VonLP4hEBr!v;~^0ppOy(q@GD~rS4}>{BdM~wBb2)+u{=IC4-`Hr
zg=;{?2H3UmyuWrbC$BWeI&X#y#oEI4lXZBdcsJA*Zp@I%P|J|1E!;FYm{(n7b8O+3
TP&QC_rW6-$tu5SEnxqE+rr84m

diff --git a/documentation/Sphinx/build/doctrees/program_structure/prog_components.doctree b/documentation/Sphinx/build/doctrees/program_structure/prog_components.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..d28766d2a5877e43018c0a079526bf81ea2ccc8d
GIT binary patch
literal 2809
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/program_structure/prog_flow.doctree b/documentation/Sphinx/build/doctrees/program_structure/prog_flow.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..3b2f49c3efa2ccb34e50fcc51d5a41b250e1ea02
GIT binary patch
literal 2781
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/program_structure/prog_overview.doctree b/documentation/Sphinx/build/doctrees/program_structure/prog_overview.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..dd8eba5101bd28bac02e23431d101ba955f890ac
GIT binary patch
literal 2799
zcmZo*N>0g7E-lH-Db~x&Pf0E20&#Ow^Gdi188sUVnQ9A}H9|S_5_3~aDhpDJ3t4Il
zStA4(7#IqQ^3#hFa~1N-Qj5wmQ_Bn4{E9;bi%XM=OEODJOEUBG;!{%7iVN9m3pqmh
z3KENoQ{!_}i;EM}Q;Q2ZV+*-L`I1YEic<4R;*0Z3i;`0dx&1=9Qc{!iixNS)3wiuP
zg%V3k^3(G3OY-tdQsawD5{pU-dA%7!*+K5fOerqpt1aZuU<(z1Iz|`n7=hwYj^vEY
zoRp%}yh6d)LLqc-7N;hIY~d;t)@&>ksVx-M2<0qFEQdNpER-RXtsoKPx<c^`rcgGh
zxI{!X0|SG8UShGKnSM!bvc6+pUaG!lUP)?EL4FR{-TG-csTHXeB}IwJC17?uloMZO
zu4kwZ3touY;DU_Iyb67Y>H1J##21$ol_r;z7Nvqk;$fcBD=IE2lniArNlXX%zfdZa
z9qNlh=}@l3l9Hm#q|%bq;zF6)LRpPaj+D{@kh<bRx!6$l<ebFf;?&|o`Pfj7q{QUx
zB2e5Y#D+41f>ANHP$@$oF_aaeUOBc<C4()oG?XPLGcUDJ)tf1l1Lp2RwG5^V!Pr7|
z4fGH#$t=l9<to(BY%J8QE!5J;5Cf-^0BAb#houwk4Dk$+42cZM45?67u%<$t44K+O
zU5yO6*bMpD429SX#n=qx*wPGDZ>9{WeR}BDg``%La24ufx5J>dvCy!#&`2XgEJHg(
z!Y@PB4{VTlhGuC}Vrde(VM#gp$=UIRrTHbPT!qG(jfEz)g{B%AVxbI3j^##DRcHos
zvN;wfLo5=EEwn(lq#&^<F}*0UAcL#WQnRtps<zM?6i7l03=E-uF0Mfe&i;PEAwi+e
zA)fwzg*F-D879zR;)H80v<2B~hs9oRR#3FqXXr=ZFwmj3vCy%$&<PYKAj7S|A(2>`
zlv<jU2=ZzucS%uVUU6D}QEqBcp|f8oFFfmkQ;SP&p=&5dQED0_mAKUwx`zrBSLP<=
z=fuNQ78iQN7J7yXqGVjKZm-xv?@$pm<?&!CpV&g*P|oDc5^$y{F7%5n^an*(C=aZJ
z0H?zMzfd8#3lU{WU~FL!$XNyXMJ1_4g~5KI9GNN5!Xm_*F_ahCEyabQv4vrwyfDik
z4hXL;j0hFT%uC5EN=+__FG(y)Pc11fjEpUe3gswHEh)*&OD`^rMoRK&MfrIpsd*_}
zVTn1Vsl{A{G5LkDwS{pSp+c~rhzDh}oXouJ;=*`u#!%rRP|=nWpORXTnwOHAmz<ee
zT$tb&%A1pzmtLBfo*JK=pORXb7|N8ISC|ya2`WHRK}HlNcZBj4q!xgjnp%{amz-K$
znBo`8S6ot*SrDI`p9?CjiwjfzLU~K_laXvq3uR5sD=DfhOb_KLN(0Fhr^c5S<rHRw
z%4C$36ck(O>zCx`=M?K@rk14X<rk&vXO!gT=oe;&a;7Afq!yPX<`xuY`GxWnrGf%C
zJ}0#-HK#D!n<-SdI2TkFgYrvpd`^CHVoqvtVNPseZYWQDN@{UQW*#^y3-kO!xiS)S
zN}yWvy;(zfq3(v3M+JTvI)0%tsYONkMe(V5$@wXndFk;GZbo8WN=|A~VPU8MC?JY+
z5{om6QVVhtlT!<eLRnK%lS<PIi~T|cQgf41K~Y|rlUkgSnp#p=(itk7Us_U7T7t{W
z(oi;#Ly}7h%R+fU#b{n>ZhQqO?H87NGlue~l;#%1!&6&vVTE5PZ%Tf0W?ou8R9U4r
zV<=yFVo@H*!Nny-sfoFTReqtOpr}gA%mD{=d`W6<K~7>xYGHLKM?q?VuBw4aN?}c?
zU}{BX2`G)0lomt7rq-J^lr1?wFD)~@unro%$tCe+nZ=nU`9+2GexahtIr)j%@u|6q
znK|)^DJey%;1a!|BUHAeC^HwH2N4M+zPJDsR*jvZ%&B>0g-w1?e-#v`mZs##SLEgt
zHiLq%q9DIGH9iwmjpZfg6c@Jmg$jYfq_{K*TtGv8+}at+4XLW)LFu}%%`cP>l(33Y
z(_jg+-7l0ME#M0~LRm{o(sV5fJ43mk+CizX%P*8KGY>h63cEu&!76o&Gt&!uLiyuU
zGK&+FazI%F94@_np`4j1@dZVxX_*y;eW47YvdI~Vpqe(d2oj9(nR%eHB0e{<D7&<v
zu)i~uvm`MozC1IfB%^SGH%BNRBx%7?TH(Y{*3b|)U5mm=q3p1R$m9&kQ2zAPl9JSl
z5>N&!NK7s%oYE1>nVy=LT9gQij;Vg3eBdO42()Q_p*-Mh0jWod3#WI4@_-UUQX(|p
z%?MS1<-79oa=n7el8pR3aK1}PEz>VZEhyG6oCzvY^GXsc;xjVSGjcN1GfE0)g|g)2
z=cO0U4wXR-FtmI!C!;Ks4^-O4BLZn|C{t!i;k;13l>B7mxSZb^Dh<j21@Wmlso)YM
zzC5!eBOcaHSl}1R8xKj2@u1XPT(~ecR1Cz5&&(@MEdn*3;#2cLv6E7`s3VlSD6t&Q
zUkoaC!NCJBJeT;DCWVTk7ypnZ-BNFc48_{QWf=k)BE_LXC~ZhcU9-Hla7Bhxh8n2y
wTM4fG6hZ9-Si3Ak64Y)`jx7!4gq6O<g{xu<SBJ8Jl1fT(;hNgQwWUdV0L$qLuK)l5

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/requirements.doctree b/documentation/Sphinx/build/doctrees/requirements.doctree
index 59873b35a583985ab7b5b58c9e51482f608103ab..437a3955fd4309ad22ec2721d29b924604ab5918 100644
GIT binary patch
delta 1517
zcmbOueol156Q;@6nRz*kH5&^}Y70##zhRbTGs}>vEi|9Z&myC4k(`pBTw0QuQ>>Sl
zpORY4RghSem|m1vkik`Gso7X)Ra<DSks&s@jzz-UCPO^KBts%YGD9kq6Rxh%7G#>8
zMuuE$hJ0*>LTrX&Y=&}dX@;sdYldKKq5b3<7AZl8*2Y4|+CnFd46zK5IaZUGv&h*v
z`-SqR<>!~=<(H(!7p0~Z7rN9Ix`uKTrKaU2=B5@Gy44oChYA!|<|gIm#KTk;7kb1N
zdQN6!6{+`%E%Xi*L6e7=<P%%y8_JoSS&~?inV(l&=oee)pP`n)6v~raT2z#pR}!C-
znU`7^;1?=XQk0lioR(jd8=sq6T%4GmT3i?yTNng#M?rp3NorAHuwN)gW=ec<Nn%k+
zVTd<lC~snENq(9O)a}KEp|OQwp}a8LAT9{6EsO{i$jnR0EJ{r-i7!bkN>42*E{u#V
zj0)u_PAw_P%u6pWjGlahRi-{Bzc9A8Fis;>2<FT9q{QUxoXouJ;=*`u#!%s+)a3l4
zl=zg?g4Dc})V$=()Z)Sfzfj(s#Ju#<#Prno<ouM>!o*Of)V#u^P|lK~#N<?v5rxSe
zp?n3Y1t2%27NzDTrxq8c_=WNnmlS0d#3$$H=BDPA=oJ^H`i1hA<R>Fpn-<ENnpaX(
zS(qNmQ<MghDNc<qEy^j(n7oipUOqFFGbOPkwYVfPx1cb~FO;V!6%<<WIjLo-IfdDi
z@3Tpm<-``|hVsOxq!yQC=7A%kFwZZPD<d(d1gb9In>Cad>Xw|u;^Nfe!h*@V?8=OV
zlLOg>Rf|GdQ&N*k(+i9JLIqNDlTtyEP??ijoROMZQdrU%Dw|(gGC7t@TBbCV4P;Dm
zNnu$iZ*gjJNnUAgd<7_03(F@TU>8xZ@C)Tl$xqJAOUs9fS9&vs@|7nR<z?oj#}}6r
zr6%SUR!#oRF3DRR%2AM7psQ+Nl2TYRS&>7;s@9t|lr1?wFD)~@unro0$tCe+nZ=nU
z`9+2GexahtIr)j%@u|6qnK|)^DJey%VBa)M&gW39Z|n?ZPR%PTZ1M}`PbtkUh%YEk
zEltUfugJ|QYzBF)q9DIGH9j-1B(*3nF{ik&#V=F{<cs3cq>{{%oK&cjTRTI!i}Op1
zl2bv+H@mRSFO&}yH$|ywu*hxq3+2x*Eh#81iBHW-&QHnAOD~M<2xToTNz=6`><s0C
z>IcPSmtQDfW*&;t?odv!O5Nhj^unG{{`i#4;>4sJQ2GLUzSl35GczT=peQvhv!bwX
zat5c8d4FdpXGvmGe0gR{Nk-uWZ;nvD)S{yNB7_4bhO&l+xanFHP6}m@hd7{c^5lb@
zA}&)pLOIh@^HPfvLE$*nFO&})K8TQ*<`>FSoSRrw5?@%FUy@o}IK3m32b7?b5~1mF
z#$-t@W!agaf+DXZu_8VrGd&|GGd-iEa8@WwPJUi`;q1wgT=KeeGRi{vKp8h4;eolK
zOqnT#^FsMj@{^GRdj904T=Mk`{6cx-A+a8xmYI`UT(~f{a8aljh#jAqSDab|DqP}I
z^FSe#Qn<Jyl)EUg9L`??Dk;F;foJ!nex*sFqUa?Sq+nU*&5)s3Tev(!AVZ`$RH(Rg
tvNN|J?~2;Ol^IeQYM^3v)#OBOb&=Jvg=<3DKoO8qT)4Kja9wGV9snYvIUN81

delta 1733
zcmX>nI!AoN6Q;?Y%-r?HnvI1fwS}e{8DbGe3=9k|sl~}fnMtV%B^jv-MX80QnMJ9&
zsd**E3MKgprNyZVX*sDC@u?LhMTyBJ3VM2adWB{g;u#_t5*d;iQlXp$iA9O&MTrF&
zh2|MDwS^WM8FH~1^065Tu^Ec78OpJx8LHka8EP3!8G^BemKh=XWZ3$sVVPc`Rcm9R
zb#0-IMuu31S%!pPhN>UfSn&*#$>*7rIBYc=3+-wP?I-_al4WxMxy5m^46_WcQwGS(
z&b5Uu8X01fH!w@+xMqlF*g@Q%0d}+-Hb=989PB=M9kZ06M{8rDXKkSu$ZC*g=gBvj
z<?6ltLV45j^GovbOH$*DQqzhHeQFDRLph34)AAB?Q;Q4zY76~C1&S+klk#)oVJeFY
z17ZsULj@B{OY&i25Zytsg~6dBXv!f{A+d#_p`6K?C5a`O`FX{KVX=kb^&sDe@+6lQ
z6{Y5t#OGw@r4~l`g$k7vCFT{U<rn3~=cX1HC#I(s7e>YwMuFT_kY7}iT2vVA7s`>D
z5?@@BSX5FN<INb#i|m-<!r0itxKLi0Z4ej4*A^y(3S{P`WEQ0+m&BJO7Kx^(mJ}Bz
z#ug@paulbQlw{_m7Z)Z^=3<qpPsuM#tu0K`2o-|+Fex!PJ0~+QySOmjn=w?lC^b31
zC?!56wIDSwB{eTOGqt!d!!MLKCowO*G%-CjJ~=-nwJ<Z3DK)P!E0hzI_)<Ye6lQmX
z@)e{OfE<-tl$w{ET3ndp7s^*$Qj}Q`pPZiyO1e44g}HvAye0X`@gO}AYx6=`Q}arS
zDhu;Nd5Y3NGR3L!rA0Y~1)(w-B_##LR{HuS`T04;dYP#uX?poZ>G~NZxjFiUg`u1&
zi6yDUC5gEOg++d$JVmLXaE#AMElbTQES@aLCSg_*TUZ*(6Q7b=T#}gwj-$ddzfi7>
z#GDeSx^i#UP+q7ja}tY-Q;Q2LCdacW%T<O7fE-zzlUSTllv<FJn4DTz70Q~DnpB!z
zSUq_Gn+SVNXQ*s`Y02b%PU-O4P&SY$$t8t#p}fVZ$t8KEx$zaC=q{}HW(?&|Da|d2
zhbMvJ!Un%k-jw|0%)GRGsIo?H#!$ZU#G<^+y!80ulA_ea+`^{Gy6lqC&7m9xsRg>K
z1|}(mEun&`6`3WVL{d^(4E02-H)|+ca(-S~W_n>8G}Mzz;>$9NGfVP|3fuicMU!*#
z6SLz}a}zUj;uBL+ic-N|?U=lfU9rBiGn6?sudJ}k59-c>;?&ZV{P>F8oWgFuP=VBn
zg8bst_{_YL)S|q^oZ`YBzfd8NAB#(qN-|4wQlUQR?F{8E&Mz%WP6eg<?7}|3P(DzU
z7Nw@a(nP;sD1UxwNkM5zd}>~DeoAIudST>*P}b6tG+m3riJ@Fj{h$Oe$uE>IGY>`S
z<WNqqO5Nhj^uj5j{P8K7#feEdpkxX5{8YbC&dikff}+&4%!<NklV@=#)lcsX<t#}|
ziZ9PhDak0D;mr}sms(VmUxaYL%uv?Q5I0?m!dap0@el_T&d!hw<xfv7DM_s;0j1x9
z#N?8~IUS*#>8W|CMTwwbo$D9M2aZ-mz|8Xt<tffhEGmgFEX^-TEiRnjArQ&~$`?tA
z&}6+}vNxx)>_SlalUI^h5ucHno{^K8o>5Y`D3m29KQFy-@#Jn!dEF%$b)kHq{2!0-
z(9%$*%#^}qp?oR%$;bh}eDZZpd9f9Kp}g^sR1lw*nUh*vxH7hI)npznNtM+dq1;7@
z<?*R`pwLPwTmvdxz;1_^5NjuUa!GTn^Jd6UtSwwWIfqM%cSCLA#tf+pHBgzoY4T()
Zb&<`ng<C?|K%tvbT)4Hia9e4T9soHYg(v_3

diff --git a/documentation/Sphinx/build/doctrees/support.doctree b/documentation/Sphinx/build/doctrees/support.doctree
index 900f38b72936b51047cc68a75f79ab28e62fb7a0..ac592db9a73ffca813ae6fb12a9c8b28e493111a 100644
GIT binary patch
delta 2139
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

delta 1806
zcmbO!c~fk|X{N~r%-r?HnvI1fwS}e{8DbH#3=9k|sl~}fnMtV%#ia!W`9&oP`2{7J
z`FX_(dU|?#g=QJz86p`H8Il=Np_~PYMTzM}i3J&j<{2`zg%%naa<Limu^9@n8H%wP
z%CV&xs@^OaY8gx!g0Y2`8T#1F*FsqEs9~92p;c>Rp>=JcjYfu8hFOM$Uxun5*aYzm
zlgZndlsIfP8w>4f3+*RAV3MtO09osZ#af6S!Pr8l43PhvYYSaK{u5$gU<mbdaSc*%
z_V)`82?})%@$~mAbj=XYu!DFi1MCwwEJk{>fqdbfp&tP^MG4gykJiRQ&)PySkkdg%
zI+rFTPF~3>ZR711%A1y-Uy_$!k{Vx>npRxsQ(Nd8%2AY>mY0~DT3qN?Tj(DuP+Xat
zl%Eq1Q(0UX5L*~HiA|(FD7G*-R0K^LVo*qIVQ464a%M>)IFbs(Vhh7T;T6i0Tv}9=
znpYB^lbM%V7~vNxR8o|fSDcn#lpCL$T3no%o?2WO8Cw_yat0`#Q;Q0t{X#i1Q{szD
z5{pU-W4swdc@s-Z^3&>}PA@KujV+7|<%QV>aY1}-VM3@tW?o8WQEGBYd`V(adTL2=
zVPb4yQYc4pYDr0EUV3q1vPN=BesXC^W=^qQT2X#pNormSS6E_BX=*W7VM=~sYHeYf
zMyL?X@9{~A$=NxXdD+E<>E4rt*v0EJ{6cwi67$ka6Vp@Ulk-zj3o}ERQu7M4LODx{
z5|dLw8Va*JLiq|(3qTG_ElSNxPAx9X@eAcEE-A_^h)>SX%}vcKDK5<Q3*{}zPe!sM
zFO)SkucWB5Fh7*1C=Dc2oEl$Rlv7v`Dw9!CQc!F)c?G+;d|@bON@7WBaY<rsL1B?!
zC{Ix;DCFXEQp-|v3X3P-W0x>1i7hM*<%v&8EiTE-14l|>nO`VZMq*A0R9(3@YbY<&
zNjZtd#i_-G6_a&1lr1Ym1wg(i&PgoJC`v8JNlZ>HtO{jKNlhwEFRb<p6-doZN(Dtv
zWlm~wMrvwFVNGYKY<_9U<QQ)0`r1%7kfF&Xg>|94#i_|9d8N7W6`=SotoLRN<xeTi
zEr^Gwf#Sjjzfj(k{N&8Mw0x+tMsLPYzVgJPyv)4x_~MeH)WqDvCcjWoP>7~w=72*a
zz9cobASbaTwXivqqad|FSJl8IrLZMbaIzAokX5TUYbaZCeqLH;dSM$h;FC+@%QA~I
zOY(~f+x<dClXLPDv*S~96Ekz-6H`)(Qo#YxF*%P@(WtXClsPr8tgy=u>fD0j)Y6pv
z_=?<|!fufND+=<9Q{yx9N>YpR5_5_RdnO;`6szy;4COA)FD*(=1ts?E!al!HK2R(c
zrKZ7BLBC%pe|~96L1{^RYF=`FN@iYq;e=4u(vmb?i^7SaTu|+xD4*mP%9ojkqH=O5
zCs?I!ab|kqlu-Wol+5D9q#RH>%uCA@OfQ`37s{EL5?@f1nwD8nIBjw|my-GP&QQ*h
z#H9H0%#@Oh!WrHip?s-DMfpVt2h0p*4GnSAwJ4kw${r7KLE-Gl2e?FB=5&N|rl;nm
z7A1m$ZLVJ^A2{|99-rqI%2S-1SX2^USejpwT3k54Ba{aePf3Z;l)GTE1h=y6LQtua
zSCUu}pOKlKk&~I8QBt@llqDxWFTHT_<Opv0`Xw24p?sih9*^+A(om+%l)`19d@1?K
zC7C5Tsn7(nyfai9l*S6;Q*%<mc`3d;vm_%v8Jdh&_=WPuL!v((lwgVrSH>2u3Kavf
z<1_P$Q;R@_RD5b4DDYAWS9gSRXB8!u!v)rWiX5;{;pN6!ztW^oQS_n@QbMisX2?*i
zEnJ@=kRehWDpXvWR9uo-QVO;MQm$^OE!>zPm7xZzCN@ou<53sc99y_0lnoS5DaD0b
LYYVrPCg}kHxtW~s

diff --git a/documentation/Sphinx/build/doctrees/support/faq.doctree b/documentation/Sphinx/build/doctrees/support/faq.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..20aab8e428ec2eba9759338d7fbfeaee359ca462
GIT binary patch
literal 2841
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
Ln%cs(rAc}KOO+S|

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/support/known_bugs_issues.doctree b/documentation/Sphinx/build/doctrees/support/known_bugs_issues.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..aa1c40730eb0ec829ebe48c7aedd0c866f18bde4
GIT binary patch
literal 2813
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
KTe!9~Ne=*DLJkc8

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/support/mailing_list.doctree b/documentation/Sphinx/build/doctrees/support/mailing_list.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..8ebbb3dc87f42a0131c0fc401a07ca2f5f2a1501
GIT binary patch
literal 2776
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/support/ticket_system.doctree b/documentation/Sphinx/build/doctrees/support/ticket_system.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..01cb562d058181904b0511115955ce85481d89e3
GIT binary patch
literal 2777
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/test_install.doctree b/documentation/Sphinx/build/doctrees/test_install.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..53cfc2f1d0c9eb7c0ec3bd7654d7fbeb94422486
GIT binary patch
literal 2784
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/user_guide.doctree b/documentation/Sphinx/build/doctrees/user_guide.doctree
index c54f5fbe4a7508429aa13ab327024d415e858863..a065e8ff0ef271aece7527c3edb6aed35e745547 100644
GIT binary patch
delta 1952
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

delta 1734
zcmew;@lI^REvCu#%-r?HnvI1fwS}e{8DbF%3=9k|sl~}fnMtV%rNx<f=?ZB%sTJ|5
z6(vQ9$t4PUdU|?=W*OocA{i1Hk{ME=oCS$RiRnd&1sR3r88Wqn78)6Hu^IBQ849r(
zim@5Wv85TR-Ygkv8B7_1v4xfy`WRLipxg1NVVPc`Rcm9Rb#0-IMuu31S%!pPhN>Uf
z5b+F?$w!%#IBYc=3+-wP?I*uylC5_D+3bkLW{4ia*g~fakT0EU3td3I6k=dt2=#Mu
z4N`FS_X`dQ3Uv<g^!F=t%@EJ9gZL{0>=`#KMtZY>JmQ|A9|1Q-3Dp>n*2Y55+Cndo
z(?Lc$mnJ1nZe*2K_4W(pP0P<O$;&TEjW0?~D=ze@E%XiLC`wJsOUz9zF7&G{^q+i?
zRahn<wlFYMFtM~GA60!&Y+>-^53J%EA+d#_p`6K?C5a`O`FX{KVX=kbpzsOhNiHoa
zO3f>Y&&kY7EsU6~&nA`?8Cw_yvZWxus3f(hFxoGaBQqtwxFoTtq%g*tF_ahCqT<5X
z*uuC_UYOYshsM_yCWH!P=A~p7r6!lemn0UYr<N2KCdL*fg>n?9mXu`Xr56__PhQU^
zQ=gJwm|9zyrV%OxcYIP}a&}H;UUqR|x;JB}a8YV<eo;z%N@_uBUP@|Sa%O6AVTNBQ
zZ%$%fdTC;MYJ75jN@`(dC{t=)VOA(7DCwnwj3~_R2<0nCEdaSGwJ0?&IkmVj$1jwx
zxTGkvAU-)iH#aq}M6b9o*DsW}BtJPGqz7VcUMOp7UP)19VSXr2Q5s05I5obsD5tPs
zas|75ePJkPN@7WBaY<rsL1B?!C{Ix;D6rylQp-|v3X8p&LWPTSLBUm;Uy@oJpOc@Q
zn3GyuSQ1-U8p;!&l3HAnnFo%E!ZN>5u8hQ-5~$X4Z`M#=sPl3Xi;Gi>3oHCGbo@eP
zQj3c6i{exBlJiqCCyQ|i8dru2fZSW0lUSTllv<FJn4DTz70Q~DnpB!zSnU@okeZv6
z3W~PMoYdls)YOu~n#oZdiuJXjY#<AgOA6~kd5cq%OY%x{<15ngi*gI=y%|IKQ%Z9S
z;!BDW^NK-Y#f1%ip}Z;i$(ea+`A}tz-i)Dq<%vaknR)5)#U(|liMfSMexahEkWS0Y
z0S8okNosCEPGU)FVRI-)L27}ns)0#LVN0l>QEEkI2`Dj@lomrh-RjL6%9fm;mzJ4c
z*anTB<dXQZ%;L<F{G!74$vT{pj2)BRI2G$VJ42aM^U4al{GbjkC{8U+$&atd%_-~#
z`MIJXzc@8MGp{7IC@(RmxUk1BR0!nB;?ks&%#xf`s26%WL%ECdON)|IK?y&*u+J})
z4;0TuscEo;((f0_pI=&1P+9^F^}O`L$O)mWr6p;)7KIZ-xuE(%sbZ2}C|_nCiqgrU
zoM4r@#hK}aQ$qRUQ!<MalX5_573|TeexaP1De(nGscD%Nh0`Y6b1BtN?+oQENlc0_
z&rB)FD4gNV5z2=g?Rn{iGecQJL)>&N3TK6~$3q-YI6Ff!ls`SSq$IVX1eB-?5|c{`
z=X8W}rl;nm7A1m$aIRk{A2?nS0W;4pln0zf;|sxwv~YfhKqwC=3X>9{X??-u4_wN!
z3qu8pEAvVcE8;UU(=&21(=$p67lpFq<maUqE}m?_Ew8&Iqb`&WR3^kDJhU{FDKn*T
zStwshell{vFP~h)EibmhFO)YP665ip6jNNdGPZEl<n`Q=Dyus}xr-9Z<5TlMp_Nj&
z22|jH-3~7{)=qxIEzPmcn;}E7ws8GqejX{_4Yh?EGo&)qKn44z$!0w2BAa6iw}i5R
QLN}$jaBFShw$da$0Guv;l>h($

diff --git a/documentation/Sphinx/build/doctrees/user_guide/control_templates.doctree b/documentation/Sphinx/build/doctrees/user_guide/control_templates.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..6ea301c6c9ce484f5f85f2d08f5ec83e2b0fcf6c
GIT binary patch
literal 2822
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

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/doctrees/user_guide/how_to.doctree b/documentation/Sphinx/build/doctrees/user_guide/how_to.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..259f520d0734b31e191834616b02e461e0c044d1
GIT binary patch
literal 2815
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
F2LS!R4@m$3

literal 0
HcmV?d00001

diff --git a/documentation/Sphinx/build/html/_modules/ControlFile.html b/documentation/Sphinx/build/html/_modules/ControlFile.html
new file mode 100644
index 0000000..e5d5029
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/ControlFile.html
@@ -0,0 +1,790 @@
+
+
+<!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>ControlFile &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>ControlFile</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 ControlFile</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: Leopold Haimberger (University of Vienna)</span>
+<span class="c1">#</span>
+<span class="c1"># @Date: November 2015</span>
+<span class="c1">#</span>
+<span class="c1"># @Change History:</span>
+<span class="c1">#</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">#        - applied some minor modifications in programming style/structure</span>
+<span class="c1">#        - changed name of class Control to ControlFile for more</span>
+<span class="c1">#          self-explanation naming</span>
+<span class="c1">#        - outsource of class ControlFile</span>
+<span class="c1">#        - initialisation of class attributes ( to avoid high number of</span>
+<span class="c1">#          conditional statements and set default values )</span>
+<span class="c1">#        - divided assignment of attributes and the check of conditions</span>
+<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">#</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">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="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="c1"># ------------------------------------------------------------------------------</span>
+<span class="c1"># CLASS</span>
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<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">    &#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>
+        <span class="sd">&#39;&#39;&#39;Initialises the instance of ControlFile class and defines</span>
+<span class="sd">        all class attributes with default values. Afterwards calls</span>
+<span class="sd">        function __read_controlfile__ to read parameter from Control file.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        filename : :obj:`string`</span>
+<span class="sd">            Name of CONTROL file.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+
+        <span class="c1"># list of all possible class attributes and their default values</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">controlfile</span> <span class="o">=</span> <span class="n">filename</span>
+        <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">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>
+        <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">time</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">step</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">acctype</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">acctime</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">accmaxstep</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">marsclass</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataset</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">stream</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">number</span> <span class="o">=</span> <span class="s1">&#39;OFF&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">expver</span> <span class="o">=</span> <span class="s1">&#39;1&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gaussian</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">grid</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">area</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">left</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">lower</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">upper</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">right</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">level</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">resol</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gauss</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">accuracy</span> <span class="o">=</span> <span class="mi">24</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">omega</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">omegadiff</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">eta</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">etadiff</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">etapar</span> <span class="o">=</span> <span class="mi">77</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dpdeta</span> <span class="o">=</span> <span class="mi">1</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">smooth</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">format</span> <span class="o">=</span> <span class="s1">&#39;GRIB1&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">addpar</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">prefix</span> <span class="o">=</span> <span class="s1">&#39;EN&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cwc</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">wrf</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ecfsdir</span> <span class="o">=</span> <span class="s1">&#39;ectmp:/$</span><span class="si">{USER}</span><span class="s1">/econdemand/&#39;</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="s1">&#39;$</span><span class="si">{USER}</span><span class="s1">&#39;</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="s1">&#39;$</span><span class="si">{USER}</span><span class="s1">&#39;</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">grib2flexpart</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ecstorage</span> <span class="o">=</span> <span class="mi">0</span>
+        <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">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">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>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ecuid</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ecgid</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">install_target</span> <span class="o">=</span> <span class="kc">None</span>
+        <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">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="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="sd">&#39;&#39;&#39;Read CONTROL file and assign all CONTROL file variables.</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="k">try</span><span class="p">:</span>
+            <span class="n">cfile</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_CONTROLFILES</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">controlfile</span><span class="p">)</span>
+            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">cfile</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">IOError</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Could not read CONTROL file &quot;&#39;</span> <span class="o">+</span> <span class="n">cfile</span> <span class="o">+</span> <span class="s1">&#39;&quot;&#39;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Either it does not exist or its syntax is wrong.&#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="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"># 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="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>
+                    <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">data</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">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;class&#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;marsclass&#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;day1&#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;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>
+                        <span class="k">while</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="n">i</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">index</span><span class="p">(</span><span class="s1">&#39;$&#39;</span><span class="p">)</span>
+                            <span class="n">j</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">find</span><span class="p">(</span><span class="s1">&#39;{&#39;</span><span class="p">)</span>
+                            <span class="n">k</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">find</span><span class="p">(</span><span class="s1">&#39;}&#39;</span><span class="p">)</span>
+                            <span class="n">var</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="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">:</span><span class="n">k</span><span class="p">])</span>
+                            <span class="k">if</span> <span class="n">var</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</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="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">var</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="n">k</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="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="s1">&#39;Could not find variable &#39;</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="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">:</span><span class="n">k</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; while reading &#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">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="o">+</span> <span class="s1">&#39;_expanded&#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="k">else</span><span class="p">:</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="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">!=</span> <span class="s1">&#39;none&#39;</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>
+                        <span class="k">else</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="kc">None</span><span class="p">)</span>
+                <span class="k">elif</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">2</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="p">(</span><span class="n">data</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="k">pass</span>
+
+        <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;Prepares a string which have all the ControlFile class attributes</span>
+<span class="sd">        with its associated values. Each attribute is printed in one line and</span>
+<span class="sd">        in alphabetical order.</span>
+
+<span class="sd">        Example</span>
+<span class="sd">        -------</span>
+<span class="sd">        &#39;age&#39;: 10</span>
+<span class="sd">        &#39;color&#39;: &#39;Spotted&#39;</span>
+<span class="sd">        &#39;kids&#39;: 0</span>
+<span class="sd">        &#39;legs&#39;: 2</span>
+<span class="sd">        &#39;name&#39;: &#39;Dog&#39;</span>
+<span class="sd">        &#39;smell&#39;: &#39;Alot&#39;</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+<span class="sd">        string</span>
+<span class="sd">            Single string of concatenated ControlFile class attributes</span>
+<span class="sd">            with their values</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="kn">import</span> <span class="nn">collections</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="n">attrs</span> <span class="o">=</span> <span class="n">collections</span><span class="o">.</span><span class="n">OrderedDict</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">attrs</span><span class="o">.</span><span class="n">items</span><span class="p">()))</span>
+
+        <span class="k">return</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="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="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>
+
+<div class="viewcode-block" id="ControlFile.assign_args_to_control"><a class="viewcode-back" href="../api.html#ControlFile.ControlFile.assign_args_to_control">[docs]</a>    <span class="k">def</span> <span class="nf">assign_args_to_control</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Overwrites the existing ControlFile instance attributes with</span>
+<span class="sd">        the command line arguments.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        args : :obj:`Namespace`</span>
+<span class="sd">            Contains the commandline arguments from script/program call.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+
+        <span class="c1"># get dictionary of command line parameters and eliminate all</span>
+        <span class="c1"># parameters which are None (were not specified)</span>
+        <span class="n">args_dict</span> <span class="o">=</span> <span class="nb">vars</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
+        <span class="n">arguments</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span> <span class="p">:</span> <span class="n">args_dict</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">args_dict</span>
+                     <span class="k">if</span> <span class="n">args_dict</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">!=</span> <span class="kc">None</span><span class="p">}</span>
+
+        <span class="c1"># assign all passed command line arguments to ControlFile instance</span>
+        <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">arguments</span><span class="o">.</span><span class="n">iteritems</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="nb">str</span><span class="p">(</span><span class="n">k</span><span class="p">),</span> <span class="n">v</span><span class="p">)</span>
+
+        <span class="k">return</span></div>
+
+<div class="viewcode-block" id="ControlFile.assign_envs_to_control"><a class="viewcode-back" href="../api.html#ControlFile.ControlFile.assign_envs_to_control">[docs]</a>    <span class="k">def</span> <span class="nf">assign_envs_to_control</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">envs</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Assigns the ECMWF environment parameter.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        envs : :obj:`dictionary` of :obj:`strings`</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>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+
+        <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">envs</span><span class="o">.</span><span class="n">iteritems</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="nb">str</span><span class="p">(</span><span class="n">k</span><span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">(),</span> <span class="nb">str</span><span class="p">(</span><span class="n">v</span><span class="p">))</span>
+
+        <span class="k">return</span></div>
+
+<div class="viewcode-block" id="ControlFile.check_conditions"><a class="viewcode-back" href="../api.html#ControlFile.ControlFile.check_conditions">[docs]</a>    <span class="k">def</span> <span class="nf">check_conditions</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">queue</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Checks a couple of necessary attributes and conditions,</span>
+<span class="sd">        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">        queue : :obj:`string`</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>
+
+<span class="sd">        Return</span>
+<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="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="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="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="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="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="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="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="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="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="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="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="k">return</span></div>
+
+<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="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="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="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="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="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">        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">            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">        &#39;&#39;&#39;</span>
+
+        <span class="kn">import</span> <span class="nn">collections</span>
+
+        <span class="n">attrs</span> <span class="o">=</span> <span class="n">collections</span><span class="o">.</span><span class="n">OrderedDict</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</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="o">.</span><span class="n">items</span><span class="p">()))</span>
+
+        <span class="n">l</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</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="s1">&#39;_expanded&#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;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">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">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>
+                    <span class="n">stot</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+                    <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="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="k">return</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">l</span><span class="p">)</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">
+        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/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/EcFlexpart.html b/documentation/Sphinx/build/html/_modules/EcFlexpart.html
new file mode 100644
index 0000000..3468886
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/EcFlexpart.html
@@ -0,0 +1,1510 @@
+
+
+<!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>EcFlexpart &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>EcFlexpart</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 EcFlexpart</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: October 2014</span>
+<span class="c1">#</span>
+<span class="c1"># @Change History:</span>
+<span class="c1">#</span>
+<span class="c1">#    November 2015 - Leopold Haimberger (University of Vienna):</span>
+<span class="c1">#        - extended with class Control</span>
+<span class="c1">#        - removed functions mkdir_p, daterange, years_between, months_between</span>
+<span class="c1">#        - added functions darain, dapoly, to_param_id, init128, normal_exit,</span>
+<span class="c1">#          my_error, clean_up, install_args_and_control,</span>
+<span class="c1">#          interpret_args_and_control,</span>
+<span class="c1">#        - removed function __del__ in class EIFLexpart</span>
+<span class="c1">#        - added the following functions in EIFlexpart:</span>
+<span class="c1">#            - create_namelist</span>
+<span class="c1">#            - process_output</span>
+<span class="c1">#            - deacc_fluxes</span>
+<span class="c1">#        - modified existing EIFlexpart - functions for the use in</span>
+<span class="c1">#          flex_extract</span>
+<span class="c1">#        - retrieve also longer term forecasts, not only analyses and</span>
+<span class="c1">#          short term forecast data</span>
+<span class="c1">#        - added conversion into GRIB2</span>
+<span class="c1">#        - added conversion into .fp format for faster execution of FLEXPART</span>
+<span class="c1">#          (see https://www.flexpart.eu/wiki/FpCtbtoWo4FpFormat)</span>
+<span class="c1">#</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">#        - removed function getFlexpartTime in class EcFlexpart</span>
+<span class="c1">#        - outsourced class ControlFile</span>
+<span class="c1">#        - outsourced class MarsRetrieval</span>
+<span class="c1">#        - changed class name from EIFlexpart to EcFlexpart</span>
+<span class="c1">#        - applied minor code changes (style)</span>
+<span class="c1">#        - removed &quot;dead code&quot; , e.g. retrieval of Q since it is not needed</span>
+<span class="c1">#        - removed &quot;times&quot; parameter from retrieve-method since it is not used</span>
+<span class="c1">#        - seperated function &quot;retrieve&quot; into smaller functions (less code</span>
+<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">#</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>
+<span class="c1">#pylint: disable=consider-using-enumerate</span>
+<span class="c1"># this is not useful in this case</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">import</span> <span class="nn">sys</span>
+<span class="kn">import</span> <span class="nn">glob</span>
+<span class="kn">import</span> <span class="nn">shutil</span>
+<span class="kn">import</span> <span class="nn">subprocess</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="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="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">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="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>
+
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<span class="c1"># CLASS</span>
+<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">    &#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">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="sd">&#39;&#39;&#39;Creates an object/instance of EcFlexpart with the associated</span>
+<span class="sd">        settings of its attributes for the retrieval.</span>
+
+<span class="sd">        Parameters:</span>
+<span class="sd">        -----------</span>
+<span class="sd">        c : :obj:`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">            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">        &#39;&#39;&#39;</span>
+        <span class="c1"># set a counter for the number of mars requests generated</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="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="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>
+
+                    <span class="k">if</span> <span class="n">ti</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="p">[</span><span class="n">ty</span><span class="p">][</span><span class="s1">&#39;times&#39;</span><span class="p">]:</span>
+                        <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;times&#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;times&#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;times&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="n">ti</span>
+
+                    <span class="k">if</span> <span class="n">st</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="p">[</span><span class="n">ty</span><span class="p">][</span><span class="s1">&#39;steps&#39;</span><span class="p">]:</span>
+                        <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="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">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="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span> <span class="o">=</span> <span class="p">[]</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">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="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="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="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="k">return</span>
+
+
+    <span class="k">def</span> <span class="nf">_mk_targetname</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">param</span><span class="p">,</span> <span class="n">date</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Creates the filename for the requested grib data to be stored in.</span>
+<span class="sd">        This name is passed as the &quot;target&quot; parameter in the request.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        ftype : :obj:`string`</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">            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">            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">            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>
+                      <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;.&#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">getpid</span><span class="p">())</span> <span class="o">+</span> <span class="s1">&#39;.grb&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">targetname</span>
+
+
+    <span class="k">def</span> <span class="nf">_start_retrievement</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">par_dict</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Creates the Mars Retrieval and prints or submits the request</span>
+<span class="sd">        depending on the status of the request variable.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        request : :obj:`integer`</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">            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>
+<span class="sd">            gaussian, accuracy, grid, target, area, date, time, number,</span>
+<span class="sd">            step, expver, param</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="c1"># increase number of 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">1</span>
+
+        <span class="n">MR</span> <span class="o">=</span> <span class="n">MarsRetrieval</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">server</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="n">marsclass</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;marsclass&#39;</span><span class="p">],</span>
+                           <span class="n">dataset</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;dataset&#39;</span><span class="p">],</span>
+                           <span class="n">stream</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;stream&#39;</span><span class="p">],</span>
+                           <span class="nb">type</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">],</span>
+                           <span class="n">levtype</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;levtype&#39;</span><span class="p">],</span>
+                           <span class="n">levelist</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;levelist&#39;</span><span class="p">],</span>
+                           <span class="n">resol</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;resol&#39;</span><span class="p">],</span>
+                           <span class="n">gaussian</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;gaussian&#39;</span><span class="p">],</span>
+                           <span class="n">accuracy</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;accuracy&#39;</span><span class="p">],</span>
+                           <span class="n">grid</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;grid&#39;</span><span class="p">],</span>
+                           <span class="n">target</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">],</span>
+                           <span class="n">area</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;area&#39;</span><span class="p">],</span>
+                           <span class="n">date</span><span class="o">=</span><span class="n">par_dict</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">par_dict</span><span class="p">[</span><span class="s1">&#39;time&#39;</span><span class="p">],</span>
+                           <span class="n">number</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;number&#39;</span><span class="p">],</span>
+                           <span class="n">step</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;step&#39;</span><span class="p">],</span>
+                           <span class="n">expver</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;expver&#39;</span><span class="p">],</span>
+                           <span class="n">param</span><span class="o">=</span><span class="n">par_dict</span><span class="p">[</span><span class="s1">&#39;param&#39;</span><span class="p">])</span>
+
+        <span class="k">if</span> <span class="n">request</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="n">MR</span><span class="o">.</span><span class="n">display_info</span><span class="p">()</span>
+            <span class="n">MR</span><span class="o">.</span><span class="n">data_retrieve</span><span class="p">()</span>
+        <span class="k">elif</span> <span class="n">request</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="n">MR</span><span class="o">.</span><span class="n">print_infodata_csv</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">mreq_count</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="n">request</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
+            <span class="n">MR</span><span class="o">.</span><span class="n">print_infodata_csv</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">mreq_count</span><span class="p">)</span>
+            <span class="n">MR</span><span class="o">.</span><span class="n">display_info</span><span class="p">()</span>
+            <span class="n">MR</span><span class="o">.</span><span class="n">data_retrieve</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;Failure&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span>
+
+
+    <span class="k">def</span> <span class="nf">_mk_index_values</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">inputfiles</span><span class="p">,</span> <span class="n">keys</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Creates an index file for a set of grib parameter keys.</span>
+<span class="sd">        The values from the index keys are returned in a list.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        keys : :obj:`dictionary`</span>
+<span class="sd">            List of parameter names which serves as index.</span>
+
+<span class="sd">        inputfiles : :obj:`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">            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">            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">        &#39;&#39;&#39;</span>
+        <span class="n">iid</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">index_keys</span> <span class="o">=</span> <span class="n">keys</span>
+
+        <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="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="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">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>
+            <span class="c1"># index_vals[1]: (&#39;0&#39;, &#39;1200&#39;) ; time</span>
+            <span class="c1"># index_vals[2]: (3&#39;, &#39;6&#39;, &#39;9&#39;, &#39;12&#39;) ; stepRange</span>
+
+        <span class="k">return</span> <span class="n">iid</span><span class="p">,</span> <span class="n">index_vals</span>
+
+
+<div class="viewcode-block" id="EcFlexpart.retrieve"><a class="viewcode-back" href="../api.html#EcFlexpart.EcFlexpart.retrieve">[docs]</a>    <span class="k">def</span> <span class="nf">retrieve</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">dates</span><span class="p">,</span> <span class="n">public</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">inputdir</span><span class="o">=</span><span class="s1">&#39;.&#39;</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Finalizing the retrieval information by setting final details</span>
+<span class="sd">        depending on grid type.</span>
+<span class="sd">        Prepares MARS retrievals per grid type and submits them.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        server : :obj:`ECMWFService` or :obj:`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>
+<span class="sd">            data sets. The decision is made from command line argument</span>
+<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">            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">            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">            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>
+
+<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">dates</span> <span class="o">=</span> <span class="n">dates</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">server</span> <span class="o">=</span> <span class="n">server</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">public</span> <span class="o">=</span> <span class="n">public</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">inputdir</span> <span class="o">=</span> <span class="n">inputdir</span>
+        <span class="n">oro</span> <span class="o">=</span> <span class="kc">False</span>
+
+        <span class="c1"># define times with datetime module</span>
+        <span class="n">t12h</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">12</span><span class="p">)</span>
+        <span class="n">t24h</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">24</span><span class="p">)</span>
+
+        <span class="c1"># dictionary which contains all parameter for the mars request,</span>
+        <span class="c1"># entries with a &quot;None&quot; will change in different requests and will</span>
+        <span class="c1"># therefore be set in each request seperately</span>
+        <span class="n">retr_param_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;marsclass&#39;</span><span class="p">:</span><span class="bp">self</span><span class="o">.</span><span class="n">marsclass</span><span class="p">,</span>
+                           <span class="s1">&#39;dataset&#39;</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="s1">&#39;stream&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;type&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;levtype&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;levelist&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;resol&#39;</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="s1">&#39;gaussian&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;accuracy&#39;</span><span class="p">:</span><span class="bp">self</span><span class="o">.</span><span class="n">accuracy</span><span class="p">,</span>
+                           <span class="s1">&#39;grid&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;target&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;area&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;date&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;time&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;number&#39;</span><span class="p">:</span><span class="bp">self</span><span class="o">.</span><span class="n">number</span><span class="p">,</span>
+                           <span class="s1">&#39;step&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="s1">&#39;expver&#39;</span><span class="p">:</span><span class="bp">self</span><span class="o">.</span><span class="n">expver</span><span class="p">,</span>
+                           <span class="s1">&#39;param&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">}</span>
+
+        <span class="k">for</span> <span class="n">ftype</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="p">:</span>
+            <span class="c1"># fk contains field types such as</span>
+            <span class="c1">#     [AN, FC, PF, CV]</span>
+            <span class="c1"># fv contains all of the items of the belonging key</span>
+            <span class="c1">#     [times, steps]</span>
+            <span class="k">for</span> <span class="n">pk</span><span class="p">,</span> <span class="n">pv</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
+                <span class="c1"># pk contains one of these keys of params</span>
+                <span class="c1">#     [SH__ML, SH__SL, GG__ML, GG__SL, OG__ML, OG__SL,</span>
+                <span class="c1">#      OG_OROLSM_SL, OG_acc_SL]</span>
+                <span class="c1"># pv contains all of the items of the belonging key</span>
+                <span class="c1">#     [param, levtype, levelist, grid]</span>
+                <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">pv</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+                    <span class="k">continue</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">ftype</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;time&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="p">[</span><span class="n">ftype</span><span class="p">][</span><span class="s1">&#39;times&#39;</span><span class="p">]</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;step&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">types</span><span class="p">[</span><span class="n">ftype</span><span class="p">][</span><span class="s1">&#39;steps&#39;</span><span class="p">]</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dates</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;stream&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stream</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">]</span> <span class="o">=</span> \
+                    <span class="bp">self</span><span class="o">.</span><span class="n">_mk_targetname</span><span class="p">(</span><span class="n">ftype</span><span class="p">,</span>
+                                        <span class="n">pk</span><span class="p">,</span>
+                                        <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</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="mi">0</span><span class="p">])</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;param&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">pv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;levtype&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">pv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;levelist&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">pv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
+                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;grid&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">pv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
+                <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>
+                    <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;EP&#39;</span><span class="p">:</span>
+                        <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;stream&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;OPER&#39;</span>
+                    <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;AN&#39;</span>
+                    <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;time&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;00&#39;</span>
+                    <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;step&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;000&#39;</span>
+                    <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dates</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">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mk_targetname</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">,</span>
+                                            <span class="n">pk</span><span class="p">,</span> <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">])</span>
+                <span class="k">elif</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="n">oro</span><span class="p">:</span>
+                    <span class="k">continue</span>
+                <span class="k">if</span> <span class="n">pk</span> <span class="o">==</span> <span class="s1">&#39;GG__SL&#39;</span> <span class="ow">and</span> <span class="n">pv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;Q&#39;</span><span class="p">:</span>
+                    <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="s2">&quot;&quot;</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="s1">&#39;reduced&#39;</span>
+
+    <span class="c1"># ------  on demand path  --------------------------------------------------</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">basetime</span><span class="p">:</span>
+                    <span class="c1"># ******* start retrievement</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">_start_retrievement</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">retr_param_dict</span><span class="p">)</span>
+    <span class="c1"># ------  operational path  ------------------------------------------------</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="c1"># check if mars job requests fields beyond basetime.</span>
+                    <span class="c1"># if yes eliminate those fields since they may not</span>
+                    <span class="c1"># be accessible with user&#39;s credentials</span>
+
+                    <span class="n">enddate</span> <span class="o">=</span> <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</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="n">elimit</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">enddate</span> <span class="o">+</span> <span class="bp">self</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">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="c1"># --------------  flux data ----------------------------</span>
+                        <span class="k">if</span> <span class="s1">&#39;acc&#39;</span> <span class="ow">in</span> <span class="n">pk</span><span class="p">:</span>
+
+                        <span class="c1"># Strategy:</span>
+                        <span class="c1"># if maxtime-elimit &gt;= 24h reduce date by 1,</span>
+                        <span class="c1"># if 12h &lt;= maxtime-elimit&lt;12h reduce time for last date</span>
+                        <span class="c1"># if maxtime-elimit&lt;12h reduce step for last time</span>
+                        <span class="c1"># A split of the MARS job into 2 is likely necessary.</span>
+
+
+                            <span class="n">startdate</span> <span class="o">=</span> <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</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="mi">0</span><span class="p">]</span>
+                            <span class="n">enddate</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">elimit</span> <span class="o">-</span> <span class="n">t24h</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">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">]</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">startdate</span><span class="p">,</span>
+                                                                <span class="s1">&#39;to&#39;</span><span class="p">,</span>
+                                                                <span class="n">enddate</span><span class="p">])</span>
+
+                            <span class="c1"># ******* start retrievement</span>
+                            <span class="bp">self</span><span class="o">.</span><span class="n">_start_retrievement</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">retr_param_dict</span><span class="p">)</span>
+
+                            <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">]</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">elimit</span> <span class="o">-</span> <span class="n">t12h</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">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;time&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;00&#39;</span>
+                            <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">]</span> <span class="o">=</span> \
+                                <span class="bp">self</span><span class="o">.</span><span class="n">_mk_targetname</span><span class="p">(</span><span class="n">ftype</span><span class="p">,</span> <span class="n">pk</span><span class="p">,</span>
+                                                    <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">])</span>
+
+                            <span class="c1"># ******* start retrievement</span>
+                            <span class="bp">self</span><span class="o">.</span><span class="n">_start_retrievement</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">retr_param_dict</span><span class="p">)</span>
+
+                        <span class="c1"># --------------  non flux data ------------------------</span>
+                        <span class="k">else</span><span class="p">:</span>
+                            <span class="c1"># ******* start retrievement</span>
+                            <span class="bp">self</span><span class="o">.</span><span class="n">_start_retrievement</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">retr_param_dict</span><span class="p">)</span>
+
+                    <span class="k">else</span><span class="p">:</span> <span class="c1"># basetime = 0</span>
+                        <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">]</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">elimit</span> <span class="o">-</span> <span class="n">t24h</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">timesave</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">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;time&#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">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;time&#39;</span><span class="p">]:</span>
+                            <span class="n">times</span> <span class="o">=</span> <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;time&#39;</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">steps</span> <span class="o">=</span> <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;step&#39;</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="k">while</span> <span class="p">(</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="s1">&#39;acc&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">pk</span> <span class="ow">and</span>
+                                   <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">times</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">+</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="o">&lt;=</span> <span class="mi">12</span><span class="p">):</span>
+                                <span class="n">times</span> <span class="o">=</span> <span class="n">times</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
+
+                            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">times</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
+                                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;time&#39;</span><span class="p">]</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">times</span><span class="p">)</span>
+                            <span class="k">else</span><span class="p">:</span>
+                                <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;time&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">times</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+
+                        <span class="c1"># ******* start retrievement</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">_start_retrievement</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">retr_param_dict</span><span class="p">)</span>
+
+                        <span class="k">if</span> <span class="p">(</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="nb">int</span><span class="p">(</span><span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;step&#39;</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="mi">0</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="n">timesave</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="o">==</span> <span class="mi">0</span><span class="p">):</span>
+
+                            <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">]</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">elimit</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">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;time&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;00&#39;</span>
+                            <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;step&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;000&#39;</span>
+                            <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">]</span> <span class="o">=</span> \
+                                <span class="bp">self</span><span class="o">.</span><span class="n">_mk_targetname</span><span class="p">(</span><span class="n">ftype</span><span class="p">,</span> <span class="n">pk</span><span class="p">,</span>
+                                                    <span class="n">retr_param_dict</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">])</span>
+
+                            <span class="c1"># ******* start retrievement</span>
+                            <span class="bp">self</span><span class="o">.</span><span class="n">_start_retrievement</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">retr_param_dict</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">request</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">or</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;MARS retrieve done ... &#39;</span><span class="p">)</span>
+        <span class="k">elif</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="s1">&#39;MARS request printed ...&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span></div>
+
+
+<div class="viewcode-block" id="EcFlexpart.write_namelist"><a class="viewcode-back" href="../api.html#EcFlexpart.EcFlexpart.write_namelist">[docs]</a>    <span class="k">def</span> <span class="nf">write_namelist</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;Creates a namelist file in the temporary directory and writes</span>
+<span class="sd">        the following values to it: maxl, maxb, mlevel,</span>
+<span class="sd">        mlevelist, mnauf, metapar, rlo0, rlo1, rla0, rla1,</span>
+<span class="sd">        momega, momegadiff, mgauss, msmooth, meta, metadiff, mdpdeta</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        c : :obj:`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">                Name of the namelist 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="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="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">        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>
+<span class="sd">        stress data (dapoly, cubic polynomial).</span>
+
+<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">        c : :obj:`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="n">table128</span> <span class="o">=</span> <span class="n">init128</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_GRIBTABLE</span><span class="p">)</span>
+        <span class="n">pars</span> <span class="o">=</span> <span class="n">to_param_id</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="mi">0</span><span class="p">],</span> <span class="n">table128</span><span class="p">)</span>
+
+        <span class="n">iid</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">index_vals</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="c1"># get the values of the keys which are used for distinct access</span>
+        <span class="c1"># of grib messages via product</span>
+        <span class="n">index_keys</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;date&quot;</span><span class="p">,</span> <span class="s2">&quot;time&quot;</span><span class="p">,</span> <span class="s2">&quot;step&quot;</span><span class="p">]</span>
+        <span class="n">iid</span><span class="p">,</span> <span class="n">index_vals</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mk_index_values</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="p">,</span>
+                                                <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="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">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="c1"># &quot;product&quot; genereates each possible combination between the</span>
+        <span class="c1"># values of the index keys</span>
+        <span class="k">for</span> <span class="n">prod</span> <span class="ow">in</span> <span class="n">product</span><span class="p">(</span><span class="o">*</span><span class="n">index_vals</span><span class="p">):</span>
+            <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="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="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="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"># 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">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_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="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>
+                <span class="n">gnout</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="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">hnout</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="p">))</span>
+            <span class="k">else</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_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">%H&#39;</span><span class="p">))</span>
+                <span class="n">gnout</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_m1dt</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">hnout</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_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="c1"># read message for message and store relevant data fields</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">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="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="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="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="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">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="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="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="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="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="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">grib_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.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>
+<span class="sd">        of &quot;date&quot;, &quot;time&quot; and &quot;stepRange&quot; values. This is used to iterate</span>
+<span class="sd">        over all messages in each grib file which were passed through the</span>
+<span class="sd">        parameter &quot;inputfiles&quot; to seperate specific parameters into fort.*</span>
+<span class="sd">        files. Afterwards the FORTRAN program is called to convert</span>
+<span class="sd">        the data fields all to the same grid and put them in one file</span>
+<span class="sd">        per unique time step (combination of &quot;date&quot;, &quot;time&quot; and</span>
+<span class="sd">        &quot;stepRange&quot;).</span>
+
+<span class="sd">        Note</span>
+<span class="sd">        ----</span>
+<span class="sd">        This method is based on the ECMWF example index.py</span>
+<span class="sd">        https://software.ecmwf.int/wiki/display/GRIB/index.py</span>
+
+<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">        c : :obj:`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">wrf</span><span class="p">:</span>
+            <span class="n">table128</span> <span class="o">=</span> <span class="n">init128</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_GRIBTABLE</span><span class="p">)</span>
+            <span class="n">wrfpars</span> <span class="o">=</span> <span class="n">to_param_id</span><span class="p">(</span><span class="s1">&#39;sp/mslp/skt/2t/10u/10v/2d/z/lsm/sst/ci/sd/</span><span class="se">\</span>
+<span class="s1">                                   stl1/stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4&#39;</span><span class="p">,</span>
+                                  <span class="n">table128</span><span class="p">)</span>
+
+        <span class="c1"># these numbers are indices for the temporary files &quot;fort.xx&quot;</span>
+        <span class="c1"># which are used to seperate the grib fields to,</span>
+        <span class="c1"># for the Fortran program input</span>
+        <span class="c1"># 10: U,V | 11: T | 12: lnsp | 13: D | 16: sfc fields</span>
+        <span class="c1"># 17: Q | 18: Q , gaussian| 19: w | 21: etadot | 22: clwc+ciwc</span>
+        <span class="n">fdict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;10&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;11&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;12&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;13&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;16&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="s1">&#39;17&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;18&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;19&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;21&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;22&#39;</span><span class="p">:</span><span class="kc">None</span><span class="p">}</span>
+
+        <span class="n">iid</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">index_vals</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="c1"># get the values of the keys which are used for distinct access</span>
+        <span class="c1"># of grib messages via product</span>
+        <span class="n">index_keys</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;date&quot;</span><span class="p">,</span> <span class="s2">&quot;time&quot;</span><span class="p">,</span> <span class="s2">&quot;step&quot;</span><span class="p">]</span>
+        <span class="n">iid</span><span class="p">,</span> <span class="n">index_vals</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mk_index_values</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="p">,</span>
+                                                <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"># &quot;product&quot; genereates each possible combination between the</span>
+        <span class="c1"># values of the index keys</span>
+        <span class="k">for</span> <span class="n">prod</span> <span class="ow">in</span> <span class="n">product</span><span class="p">(</span><span class="o">*</span><span class="n">index_vals</span><span class="p">):</span>
+            <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="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="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="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"># 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"># 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">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>
+
+            <span class="c1"># if the timestamp is out of basetime start/end date period,</span>
+            <span class="c1"># skip this specific product</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">start_time</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="o">-</span> <span class="n">time_delta</span>
+                <span class="n">end_time</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">if</span> <span class="n">timestamp</span> <span class="o">&lt;</span> <span class="n">start_time</span> <span class="ow">or</span> <span class="n">timestamp</span> <span class="o">&gt;</span> <span class="n">end_time</span><span class="p">:</span>
+                    <span class="k">continue</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="k">if</span> <span class="s1">&#39;olddate&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="nb">locals</span><span class="p">()</span> <span class="ow">or</span> <span class="n">cdate</span> <span class="o">!=</span> <span class="n">olddate</span><span class="p">:</span>
+                    <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"># 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>
+            <span class="n">scwc</span> <span class="o">=</span> <span class="kc">None</span>
+            <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="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="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="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="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="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="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="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="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="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="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="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>
+                    <span class="c1"># these are specific parameter for WRF</span>
+                    <span class="k">pass</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <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">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>
+
+                <span class="k">try</span><span class="p">:</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="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="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="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="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"># 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>
+            <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">inputdir</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="s1">&#39;fort.21&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">st_size</span> <span class="o">==</span> <span class="mi">0</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="nb">print</span><span class="p">(</span><span class="s1">&#39;Parameter 77 (etadot) is missing, most likely it is </span><span class="se">\</span>
+<span class="s1">                       not available for this type or date/time</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
+                <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"># 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="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="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>
+            <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="n">c</span><span class="o">.</span><span class="n">prefix</span> <span class="o">+</span> <span class="n">suffix</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="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"># 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>
+                                        <span class="s1">&#39;/OG_OROLSM__SL.*.&#39;</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">ppid</span> <span class="o">+</span> <span class="s1">&#39;*&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
+            <span class="n">fluxfile</span> <span class="o">=</span> <span class="s1">&#39;flux&#39;</span> <span class="o">+</span> <span class="n">cdate</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="o">+</span> <span class="n">suffix</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">cwc</span><span class="p">:</span>
+                <span class="n">flist</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;fort.15&#39;</span><span class="p">,</span> <span class="n">fluxfile</span><span class="p">,</span> <span class="s1">&#39;fort.16&#39;</span><span class="p">,</span> <span class="n">orolsm</span><span class="p">]</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">flist</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;fort.15&#39;</span><span class="p">,</span> <span class="s1">&#39;fort.22&#39;</span><span class="p">,</span> <span class="n">fluxfile</span><span class="p">,</span> <span class="s1">&#39;fort.16&#39;</span><span class="p">,</span> <span class="n">orolsm</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;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fout</span><span class="p">:</span>
+                <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">flist</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="n">f</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="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">omega</span><span class="p">:</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">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="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="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">        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>
+<span class="sd">        properly switched in CONTROL file:</span>
+<span class="sd">        GRIB2 - Conversion to GRIB2</span>
+<span class="sd">        ECTRANS - Transfer of files to gateway server</span>
+<span class="sd">        ECSTORAGE - Storage at ECMWF server</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        c : :obj:`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;</span><span class="se">\n\n</span><span class="s1">Postprocessing:</span><span class="se">\n</span><span class="s1"> Format: </span><span class="si">{}</span><span class="se">\n</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">format</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">ecapi</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ecstorage: </span><span class="si">{}</span><span class="se">\n</span><span class="s1"> ecfsdir: </span><span class="si">{}</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span>
+                  <span class="nb">format</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ecstorage</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="nb">print</span><span class="p">(</span><span class="s1">&#39;ectrans: </span><span class="si">{}</span><span class="se">\n</span><span class="s1"> gateway: </span><span class="si">{}</span><span class="se">\n</span><span class="s1"> destination: </span><span class="si">{}</span><span class="se">\n</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">ectrans</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="nb">print</span><span class="p">(</span><span class="s1">&#39;Output filelist: &#39;</span><span class="p">)</span>
+        <span class="nb">print</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">ofile</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span><span class="p">:</span>
+            <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="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="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="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="k">return</span></div>
+
+
+<div class="viewcode-block" id="EcFlexpart.prepare_fp_files"><a class="viewcode-back" href="../api.html#EcFlexpart.EcFlexpart.prepare_fp_files">[docs]</a>    <span class="k">def</span> <span class="nf">prepare_fp_files</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;Conversion of GRIB files to FLEXPART binary format.</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        c : :obj:`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="c1"># generate AVAILABLE file</span>
+        <span class="c1"># Example of AVAILABLE file data:</span>
+        <span class="c1"># 20131107 000000      EN13110700              ON DISC</span>
+        <span class="n">clist</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">ofile</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">outputfilelist</span><span class="p">:</span>
+            <span class="n">fname</span> <span class="o">=</span> <span class="n">ofile</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;.&#39;</span> <span class="ow">in</span> <span class="n">fname</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
+                <span class="n">l</span> <span class="o">=</span> <span class="n">fname</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">split</span><span class="p">(</span><span class="s1">&#39;.&#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">l</span><span class="p">[</span><span class="mi">0</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">l</span><span class="p">[</span><span class="mi">1</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">l</span><span class="p">[</span><span class="mi">2</span><span class="p">]))</span>
+                <span class="n">cdate</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">&#39;</span><span class="p">)</span>
+                <span class="n">chms</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;%H%M%S&#39;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">cdate</span> <span class="o">=</span> <span class="s1">&#39;20&#39;</span> <span class="o">+</span> <span class="n">fname</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">8</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span>
+                <span class="n">chms</span> <span class="o">=</span> <span class="n">fname</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="o">+</span> <span class="s1">&#39;0000&#39;</span>
+            <span class="n">clist</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cdate</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">chms</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span><span class="o">*</span><span class="mi">6</span> <span class="o">+</span>
+                         <span class="n">fname</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; &#39;</span><span class="o">*</span><span class="mi">14</span> <span class="o">+</span> <span class="s1">&#39;ON DISC&#39;</span><span class="p">)</span>
+        <span class="n">clist</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">outputdir</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="s1">&#39;AVAILABLE&#39;</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">clist</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"># generate pathnames file</span>
+        <span class="n">pwd</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">outputdir</span><span class="p">)</span>
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">pwd</span> <span class="o">+</span> <span class="s1">&#39;/pathnames&#39;</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">pwd</span> <span class="o">+</span> <span class="s1">&#39;/Options/</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="n">pwd</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="n">pwd</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="n">pwd</span> <span class="o">+</span> <span class="s1">&#39;/AVAILABLE</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</span><span class="s1">&#39;</span><span class="p">)</span>
+
+        <span class="c1"># create Options dir if necessary</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">pwd</span> <span class="o">+</span> <span class="s1">&#39;/Options&#39;</span><span class="p">):</span>
+            <span class="n">make_dir</span><span class="p">(</span><span class="n">pwd</span><span class="o">+</span><span class="s1">&#39;/Options&#39;</span><span class="p">)</span>
+
+        <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">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>
+        <span class="c1"># date and time information</span>
+        <span class="c1"># usually after the LDIRECT parameter</span>
+        <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="k">for</span> <span class="n">l</span> <span class="ow">in</span> <span class="n">lflist</span><span class="p">:</span>
+            <span class="k">if</span> <span class="s1">&#39;LDIRECT&#39;</span> <span class="ow">in</span> <span class="n">l</span><span class="o">.</span><span class="n">upper</span><span class="p">():</span>
+                <span class="k">break</span>
+            <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
+
+        <span class="c1"># insert the date and time information of run start and end</span>
+        <span class="c1"># into the list of lines of COMMAND file</span>
+        <span class="n">lflist</span> <span class="o">=</span> <span class="n">lflist</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="p">[</span><span class="n">clist</span><span class="p">[</span><span class="mi">0</span><span class="p">][:</span><span class="mi">16</span><span class="p">],</span> <span class="n">clist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][:</span><span class="mi">16</span><span class="p">]]</span> <span class="o">+</span> \
+                 <span class="n">lflist</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">3</span><span class="p">:]</span>
+
+        <span class="c1"># write the new COMMAND file</span>
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">pwd</span> <span class="o">+</span> <span class="s1">&#39;/Options/COMMAND&#39;</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</span><span class="p">:</span>
+            <span class="n">g</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">lflist</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"># 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">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>
+</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">
+        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/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/GribTools.html b/documentation/Sphinx/build/html/_modules/GribTools.html
new file mode 100644
index 0000000..bd21ed5
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/GribTools.html
@@ -0,0 +1,535 @@
+
+
+<!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>GribTools &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>GribTools</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 GribTools</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</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">gribapi</span> <span class="k">import</span> <span class="n">grib_new_from_file</span><span class="p">,</span> <span class="n">grib_is_defined</span><span class="p">,</span> <span class="n">grib_get</span><span class="p">,</span> \
+     <span class="n">grib_release</span><span class="p">,</span> <span class="n">grib_set</span><span class="p">,</span> <span class="n">grib_write</span><span class="p">,</span> <span class="n">grib_index_read</span><span class="p">,</span> \
+     <span class="n">grib_index_new_from_file</span><span class="p">,</span> <span class="n">grib_index_add_file</span><span class="p">,</span>  \
+     <span class="n">grib_index_write</span>
+
+
+<span class="c1"># from eccodes import (codes_grib_new_from_file, codes_is_defined, codes_get,</span>
+                     <span class="c1"># codes_release, codes_set, codes_write, codes_index_read,</span>
+                     <span class="c1"># codes_index_new_from_file, codes_index_add_file,</span>
+                     <span class="c1"># codes_index_write)</span>
+
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<span class="c1"># CLASS</span>
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<div class="viewcode-block" id="GribTools"><a class="viewcode-back" href="../api.html#GribTools.GribTools">[docs]</a><span class="k">class</span> <span class="nc">GribTools</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 GribTools 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="GribTools.get_keys"><a class="viewcode-back" href="../api.html#GribTools.GribTools.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">grib_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">grib_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">grib_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">grib_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">grib_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="GribTools.set_keys"><a class="viewcode-back" href="../api.html#GribTools.GribTools.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">        them to a new output file. By default all messages are</span>
+<span class="sd">        written out. Also, the keyvalues of the passed list of</span>
+<span class="sd">        keynames are set or only those meeting the where statement.</span>
+<span class="sd">        (list of key and list of values).</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. Default is an empty list.</span>
+
+<span class="sd">        keyvalues : :obj:`list` of :obj:`string`</span>
+<span class="sd">            List of keynames. Default is an empty list.</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">        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="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">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="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">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">grib_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">grib_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="n">grib_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">grib_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">grib_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="GribTools.copy"><a class="viewcode-back" href="../api.html#GribTools.GribTools.copy">[docs]</a>    <span class="k">def</span> <span class="nf">copy</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 keynames. 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="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="k">while</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="n">gid</span> <span class="o">=</span> <span class="n">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="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">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">grib_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">grib_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">grib_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">grib_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">grib_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="GribTools.index"><a class="viewcode-back" href="../api.html#GribTools.GribTools.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">grib_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">grib_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">grib_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">grib_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">
+        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/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
new file mode 100644
index 0000000..028e163
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/MarsRetrieval.html
@@ -0,0 +1,716 @@
+
+
+<!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>MarsRetrieval &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>MarsRetrieval</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 MarsRetrieval</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: October 2014</span>
+<span class="c1">#</span>
+<span class="c1"># @Change History:</span>
+<span class="c1">#</span>
+<span class="c1">#   November 2015 - Leopold Haimberger (University of Vienna):</span>
+<span class="c1">#        - optimized display_info</span>
+<span class="c1">#        - optimized data_retrieve and seperate between python and shell</span>
+<span class="c1">#          script call</span>
+<span class="c1">#</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">#        - applied some minor modifications in programming style/structure</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">#</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">import</span> <span class="nn">sys</span>
+<span class="kn">import</span> <span class="nn">subprocess</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="c1"># ------------------------------------------------------------------------------</span>
+<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">    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">    &#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>
+                 <span class="n">levtype</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">levelist</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">repres</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">date</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">resol</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+                 <span class="n">stream</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">area</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">time</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">expver</span><span class="o">=</span><span class="s2">&quot;1&quot;</span><span class="p">,</span>
+                 <span class="n">number</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">accuracy</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">grid</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">gaussian</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+                 <span class="n">param</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Initialises the instance of the MarsRetrieval class and</span>
+<span class="sd">        defines and assigns a set of the necessary retrieval parameters</span>
+<span class="sd">        for the FLEXPART input data.</span>
+<span class="sd">        A description of MARS keywords/arguments, their dependencies</span>
+<span class="sd">        on each other and examples of their values can be found here:</span>
+
+<span class="sd">        https://software.ecmwf.int/wiki/display/UDOC/MARS+keywords</span>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+<span class="sd">        server : :obj:`ECMWFService`</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">            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">            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">            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">            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">            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>
+<span class="sd">            potential vorticity (pv), potential temperature (pt)</span>
+<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">            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">            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">            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">            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>
+<span class="sd">            resolution compatible with the value specified in grid is</span>
+<span class="sd">            automatically selected for the retrieval.</span>
+<span class="sd">            Users wanting to perform post-processing from full spectral</span>
+<span class="sd">            resolution should specify Archived Value (av).</span>
+<span class="sd">            The following are examples of existing resolutions found in</span>
+<span class="sd">            the archive: 63, 106, 159, 213, 255, 319, 399, 511, 799 or 1279.</span>
+<span class="sd">            This keyword has no meaning/effect if the archived data is</span>
+<span class="sd">            not in spherical harmonics representation.</span>
+<span class="sd">            The best selection can be found here:</span>
+<span class="sd">            https://software.ecmwf.int/wiki/display/UDOC/\</span>
+<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">            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">            Specifies the desired sub-area of data to be extracted.</span>
+<span class="sd">            Areas can be defined to wrap around the globe.</span>
+
+<span class="sd">            Latitude values must be given as signed numbers, with:</span>
+<span class="sd">                north latitudes (i.e. north of the equator)</span>
+<span class="sd">                    being positive (e.g: 40.5)</span>
+<span class="sd">                south latitutes (i.e. south of the equator)</span>
+<span class="sd">                    being negative (e.g: -50.5)</span>
+<span class="sd">            Longtitude values must be given as signed numbers, with:</span>
+<span class="sd">                east longitudes (i.e. east of the 0 degree meridian)</span>
+<span class="sd">                    being positive (e.g: 35.0)</span>
+<span class="sd">                west longitudes (i.e. west of the 0 degree meridian)</span>
+<span class="sd">                    being negative (e.g: -20.5)</span>
+
+<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">            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>
+<span class="sd">            (all usually at synoptic hours: 00, 06, 12 and 18 ).</span>
+<span class="sd">            Observation time (any combination in hours and minutes is valid,</span>
+<span class="sd">            subject to data availability in the archive).</span>
+<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">            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>
+<span class="sd">            First Guess time.</span>
+<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">            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>
+<span class="sd">            Research or Member State&#39;s experiments have a four letter</span>
+<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">            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">            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>
+<span class="sd">            of bits per packed value. This must not be greater than the</span>
+<span class="sd">            number of bits normally used for a Fortran integer on the</span>
+<span class="sd">            processor handling the request (typically 32 or 64 bit).</span>
+<span class="sd">            Within a compute request the accuracy of the original fields</span>
+<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">            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>
+
+<span class="sd">            Lat/Lon grid: The grid spacing needs to be an integer</span>
+<span class="sd">            fraction of 90 degrees e.g. grid = 0.5/0.5</span>
+
+<span class="sd">            Gaussian grid: specified by a letter denoting the type of</span>
+<span class="sd">            Gaussian grid followed by an integer (the grid number)</span>
+<span class="sd">            representing the number of lines between the Pole and Equator,</span>
+<span class="sd">            e.g.</span>
+<span class="sd">            grid = F160 - full (or regular) Gaussian grid with</span>
+<span class="sd">                   160 latitude lines between the pole and equator</span>
+<span class="sd">            grid = N320 - ECMWF original reduced Gaussian grid with</span>
+<span class="sd">                   320 latitude lines between the pole and equator,</span>
+<span class="sd">                   see Reduced Gaussian Grids for grid numbers used at ECMWF</span>
+<span class="sd">            grid = O640 - ECMWF octahedral (reduced) Gaussian grid with</span>
+<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">            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>
+<span class="sd">            Keyword gaussian can only be specified together with</span>
+<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">            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>
+<span class="sd">            generation of multiple target files using MARS keywords</span>
+<span class="sd">            enclosed in square brackets [ ].  If the environment variable</span>
+<span class="sd">            MARS_MULTITARGET_STRICT_FORMAT is set to 1 before calling mars,</span>
+<span class="sd">            the keyword values will be used in the filename as shown by</span>
+<span class="sd">            the ecCodes GRIB tool grib_ls -m, e.g. with</span>
+<span class="sd">            MARS_MULTITARGET_STRICT_FORMAT set to 1 the keywords time,</span>
+<span class="sd">            expver and param will be formatted as 0600, 0001 and 129.128</span>
+<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">            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>
+<span class="sd">            meaning and, therefore, the rest of directives specified</span>
+<span class="sd">            in the MARS request.</span>
+<span class="sd">            Meteorological parameters can be specified by their</span>
+<span class="sd">            GRIB code (param=130), their mnemonic (param=t) or</span>
+<span class="sd">            full name (param=temperature).</span>
+<span class="sd">            The list of parameter should be seperated by a &quot;/&quot;-sign.</span>
+<span class="sd">            E.g. 130/131/133</span>
+<span class="sd">            Default is an empty string.</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">server</span> <span class="o">=</span> <span class="n">server</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">public</span> <span class="o">=</span> <span class="n">public</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">marsclass</span> <span class="o">=</span> <span class="n">marsclass</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataset</span> <span class="o">=</span> <span class="n">dataset</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="nb">type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">levtype</span> <span class="o">=</span> <span class="n">levtype</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">levelist</span> <span class="o">=</span> <span class="n">levelist</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">repres</span> <span class="o">=</span> <span class="n">repres</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">date</span> <span class="o">=</span> <span class="n">date</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">resol</span> <span class="o">=</span> <span class="n">resol</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">stream</span> <span class="o">=</span> <span class="n">stream</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">area</span> <span class="o">=</span> <span class="n">area</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">time</span> <span class="o">=</span> <span class="n">time</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">step</span> <span class="o">=</span> <span class="n">step</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">expver</span> <span class="o">=</span> <span class="n">expver</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">number</span> <span class="o">=</span> <span class="n">number</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">accuracy</span> <span class="o">=</span> <span class="n">accuracy</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">grid</span> <span class="o">=</span> <span class="n">grid</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gaussian</span> <span class="o">=</span> <span class="n">gaussian</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">target</span> <span class="o">=</span> <span class="n">target</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">param</span> <span class="o">=</span> <span class="n">param</span>
+
+        <span class="k">return</span>
+
+
+<div class="viewcode-block" id="MarsRetrieval.display_info"><a class="viewcode-back" href="../api.html#MarsRetrieval.MarsRetrieval.display_info">[docs]</a>    <span class="k">def</span> <span class="nf">display_info</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Prints all class attributes and their values to the</span>
+<span class="sd">        standard output.</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="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"># 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="nb">print</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="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">            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="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="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="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;, &#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">attrs</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="MarsRetrieval.data_retrieve"><a class="viewcode-back" href="../api.html#MarsRetrieval.MarsRetrieval.data_retrieve">[docs]</a>    <span class="k">def</span> <span class="nf">data_retrieve</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;Submits a MARS retrieval. Depending on the existence of</span>
+<span class="sd">        ECMWF Web-API it is submitted via Python or a</span>
+<span class="sd">        subprocess in the Shell. The parameter for the mars retrieval</span>
+<span class="sd">        are taken from the defined class attributes.</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="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"># eliminate unnecessary attributes from the dictionary attrs</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="c1"># exchange parameter name for marsclass</span>
+        <span class="n">mclass</span> <span class="o">=</span> <span class="n">attrs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;marsclass&#39;</span><span class="p">)</span>
+        <span class="k">del</span> <span class="n">attrs</span><span class="p">[</span><span class="s1">&#39;marsclass&#39;</span><span class="p">]</span>
+        <span class="n">attrs</span><span class="p">[</span><span class="s1">&#39;class&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mclass</span>
+
+        <span class="c1"># prepare target variable as needed for the Web API mode</span>
+        <span class="c1"># within the dictionary for full access</span>
+        <span class="c1"># as a single variable for public access</span>
+        <span class="n">target</span> <span class="o">=</span> <span class="n">attrs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;target&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">int</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="k">del</span> <span class="n">attrs</span><span class="p">[</span><span class="s1">&#39;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="o">+</span> <span class="n">target</span><span class="p">)</span>
+
+        <span class="c1"># find all keys without a value and convert all other values to strings</span>
+        <span class="n">empty_keys</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">attrs</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
+            <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s1">&#39;&#39;</span><span class="p">:</span>
+                <span class="n">empty_keys</span><span class="o">.</span><span class="n">append</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">else</span><span class="p">:</span>
+                <span class="n">attrs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+
+        <span class="c1"># delete all empty parameter from the dictionary</span>
+        <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">empty_keys</span><span class="p">:</span>
+            <span class="k">del</span> <span class="n">attrs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+
+        <span class="c1"># MARS request via Python script</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="p">:</span>
+            <span class="k">try</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="p">:</span>
+                    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;RETRIEVE PUBLIC DATA!&#39;</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">retrieve</span><span class="p">(</span><span class="n">attrs</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;EXECUTE NON-PUBLIC RETRIEVAL!&#39;</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">attrs</span><span class="p">,</span> <span class="n">target</span><span class="p">)</span>
+            <span class="k">except</span><span class="p">:</span>
+                <span class="n">e</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
+                <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;ERROR: &quot;</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;MARS Request failed!&#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">public</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">target</span><span class="p">)</span><span class="o">.</span><span class="n">st_size</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;MARS Request returned no data - &#39;</span>
+                          <span class="s1">&#39;please check request&#39;</span><span class="p">)</span>
+                    <span class="k">raise</span> <span class="ne">IOError</span>
+                <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">public</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">target</span><span class="p">)</span><span class="o">.</span><span class="n">st_size</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;Public MARS Request returned no data - &#39;</span>
+                          <span class="s1">&#39;please check request&#39;</span><span class="p">)</span>
+                    <span class="k">raise</span> <span class="ne">IOError</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="ne">IOError</span>
+        <span class="c1"># MARS request via extra process in shell</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">request_str</span> <span class="o">=</span> <span class="s1">&#39;ret&#39;</span>
+            <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">attrs</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
+                <span class="n">request_str</span> <span class="o">=</span> <span class="n">request_str</span> <span class="o">+</span> <span class="s1">&#39;,&#39;</span> <span class="o">+</span> <span class="n">key</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">value</span><span class="p">)</span>
+            <span class="n">request_str</span> <span class="o">+=</span> <span class="s1">&#39;,target=&quot;&#39;</span> <span class="o">+</span> <span class="n">target</span> <span class="o">+</span> <span class="s1">&#39;&quot;&#39;</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;mars&#39;</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">request_str</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
+            <span class="nb">print</span><span class="p">(</span><span class="n">pout</span><span class="o">.</span><span class="n">decode</span><span class="p">())</span>
+
+            <span class="k">if</span> <span class="s1">&#39;Some errors reported&#39;</span> <span class="ow">in</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;MARS Request failed - please check request&#39;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="ne">IOError</span>
+            <span class="k">elif</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">target</span><span class="p">)</span><span class="o">.</span><span class="n">st_size</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;MARS Request returned no data - please check request&#39;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="ne">IOError</span>
+
+        <span class="k">return</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">
+        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/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/UioFiles.html b/documentation/Sphinx/build/html/_modules/UioFiles.html
new file mode 100644
index 0000000..7ec9366
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/UioFiles.html
@@ -0,0 +1,362 @@
+
+
+<!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>UioFiles &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>UioFiles</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 UioFiles</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: October 2014</span>
+<span class="c1">#</span>
+<span class="c1"># @Change History:</span>
+<span class="c1">#</span>
+<span class="c1">#    November 2015 - Leopold Haimberger (University of Vienna):</span>
+<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">#        - 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>
+<span class="c1">#          for sub directories</span>
+<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">#</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">#</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">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="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>
+<span class="c1"># CLASS</span>
+<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;</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">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">            Directory where to list the files.</span>
+
+<span class="sd">        pattern : :obj:`string`</span>
+<span class="sd">            Regular expression pattern. For example: &#39;\*.grb&#39;</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">path</span> <span class="o">=</span> <span class="n">path</span>
+        <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="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="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 to the files.</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="c1"># Get the absolute path</span>
+        <span class="n">path</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">path</span><span class="p">)</span>
+
+        <span class="c1"># get all files in the dir and subdir as absolut path</span>
+        <span class="k">for</span> <span class="n">root</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
+            <span class="k">for</span> <span class="n">filename</span> <span class="ow">in</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">filenames</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">pattern</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">files</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">join</span><span class="p">(</span><span class="n">root</span><span class="p">,</span> <span class="n">filename</span><span class="p">))</span>
+
+        <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>
+
+<span class="sd">        Parameters</span>
+<span class="sd">        ----------</span>
+
+<span class="sd">        Return</span>
+<span class="sd">        ------</span>
+<span class="sd">        files_string : :obj:`string`</span>
+<span class="sd">            The content of the list as a single string.</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+
+        <span class="n">filenames</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">basename</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
+        <span class="n">files_string</span> <span class="o">=</span> <span class="n">get_list_as_string</span><span class="p">(</span><span class="n">filenames</span><span class="p">,</span> <span class="n">concatenate_sign</span><span class="o">=</span><span class="s1">&#39;, &#39;</span><span class="p">)</span>
+
+        <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>
+
+<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="k">for</span> <span class="n">old_file</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="p">:</span>
+            <span class="n">silent_remove</span><span class="p">(</span><span class="n">old_file</span><span class="p">)</span>
+
+        <span class="k">return</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">
+        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/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/get_mars_data.html b/documentation/Sphinx/build/html/_modules/get_mars_data.html
new file mode 100644
index 0000000..1256f0b
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/get_mars_data.html
@@ -0,0 +1,478 @@
+
+
+<!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>get_mars_data &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>get_mars_data</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 get_mars_data</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: October 2014</span>
+<span class="c1">#</span>
+<span class="c1"># @Change History:</span>
+<span class="c1">#</span>
+<span class="c1">#    November 2015 - Leopold Haimberger (University of Vienna):</span>
+<span class="c1">#        - moved the getEIdata program into a function &quot;get_mars_data&quot;</span>
+<span class="c1">#        - moved the AgurmentParser into a seperate function</span>
+<span class="c1">#        - adatpted the function for the use in flex_extract</span>
+<span class="c1">#        - renamed file to get_mars_data</span>
+<span class="c1">#</span>
+<span class="c1">#    February 2018 - Anne Philipp (University of Vienna):</span>
+<span class="c1">#        - applied PEP8 style guide</span>
+<span class="c1">#        - added structured documentation</span>
+<span class="c1">#        - minor changes in programming style for consistence</span>
+<span class="c1">#        - added function main and moved function calls vom __main__ there</span>
+<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">#</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">#</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">import</span> <span class="nn">sys</span>
+<span class="kn">import</span> <span class="nn">inspect</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="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="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="k">try</span><span class="p">:</span>
+    <span class="n">ecapi</span> <span class="o">=</span> <span class="kc">True</span>
+    <span class="kn">import</span> <span class="nn">ecmwfapi</span>
+<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
+    <span class="n">ecapi</span> <span class="o">=</span> <span class="kc">False</span>
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<span class="c1"># FUNCTION</span>
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<div class="viewcode-block" id="main"><a class="viewcode-back" href="../api.html#get_mars_data.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
+    <span class="sd">&#39;&#39;&#39;Controls the program to get data out of mars.</span>
+
+<span class="sd">    This is done if it is called directly from command line.</span>
+<span class="sd">    Then it also takes program call arguments and control file input.</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="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_arguments</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>
+    <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">assign_envs_to_control</span><span class="p">(</span><span class="n">env_parameter</span><span class="p">)</span>
+    <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="k">return</span></div>
+
+<div class="viewcode-block" id="get_mars_data"><a class="viewcode-back" href="../api.html#get_mars_data.get_mars_data">[docs]</a><span class="k">def</span> <span class="nf">get_mars_data</span><span class="p">(</span><span class="n">c</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Retrieves the EC data needed for a FLEXPART simulation.</span>
+
+<span class="sd">    Start and end dates for retrieval period is set. Retrievals</span>
+<span class="sd">    are divided into smaller periods if necessary and datechunk parameter</span>
+<span class="sd">    is set.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    c : :obj:`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="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="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="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="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>
+            <span class="n">server</span> <span class="o">=</span> <span class="n">ecmwfapi</span><span class="o">.</span><span class="n">ECMWFService</span><span class="p">(</span><span class="s2">&quot;mars&quot;</span><span class="p">)</span>
+    <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="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="c1"># if basetime 12</span>
+    <span class="c1"># dann wird von 00 + step bis 12 am start tag geholt</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="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="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">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">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>
+
+    <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="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="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="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">        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">            The server connection to ECMWF.</span>
+
+<span class="sd">    start : :obj:`datetime`</span>
+<span class="sd">        The start date of the retrieval.</span>
+
+<span class="sd">    end : :obj:`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 + 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">        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>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="c1"># since actual day also counts as one day,</span>
+    <span class="c1"># we only need to add datechunk - 1 days to retrieval</span>
+    <span class="c1"># for a period</span>
+    <span class="n">delta_t_m1</span> <span class="o">=</span> <span class="n">delta_t</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">day</span> <span class="o">=</span> <span class="n">start</span>
+    <span class="k">while</span> <span class="n">day</span> <span class="o">&lt;=</span> <span class="n">end</span><span class="p">:</span>
+        <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="p">)</span>
+        <span class="n">tmpday</span> <span class="o">=</span> <span class="n">day</span> <span class="o">+</span> <span class="n">delta_t_m1</span>
+        <span class="k">if</span> <span class="n">tmpday</span> <span class="o">&lt;</span> <span class="n">end</span><span class="p">:</span>
+            <span class="n">dates</span> <span class="o">=</span> <span class="n">day</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="o">+</span> <span class="s2">&quot;/to/&quot;</span> <span class="o">+</span> \
+                    <span class="n">tmpday</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">dates</span> <span class="o">=</span> <span class="n">day</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="o">+</span> <span class="s2">&quot;/to/&quot;</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="nb">print</span><span class="p">(</span><span class="s2">&quot;... retrieve &quot;</span> <span class="o">+</span> <span class="n">dates</span> <span class="o">+</span> <span class="s2">&quot; in dir &quot;</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="k">try</span><span class="p">:</span>
+            <span class="n">flexpart</span><span class="o">.</span><span class="n">retrieve</span><span class="p">(</span><span class="n">server</span><span class="p">,</span> <span class="n">dates</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">public</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">request</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">except</span> <span class="ne">IOError</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;MARS request failed&#39;</span><span class="p">)</span>
+
+        <span class="n">day</span> <span class="o">+=</span> <span class="n">delta_t</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>
+
+           </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">
+        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/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/index.html b/documentation/Sphinx/build/html/_modules/index.html
index 48292b2..5dc4643 100644
--- a/documentation/Sphinx/build/html/_modules/index.html
+++ b/documentation/Sphinx/build/html/_modules/index.html
@@ -149,7 +149,16 @@
            <div itemprop="articleBody">
             
   <h1>All modules for which code is available</h1>
-<ul><li><a href="disaggregation.html">disaggregation</a></li>
+<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="MarsRetrieval.html">MarsRetrieval</a></li>
+<li><a href="UioFiles.html">UioFiles</a></li>
+<li><a href="disaggregation.html">disaggregation</a></li>
+<li><a href="get_mars_data.html">get_mars_data</a></li>
+<li><a href="install.html">install</a></li>
+<li><a href="prepare_flexpart.html">prepare_flexpart</a></li>
+<li><a href="submit.html">submit</a></li>
 <li><a href="tools.html">tools</a></li>
 </ul>
 
diff --git a/documentation/Sphinx/build/html/_modules/install.html b/documentation/Sphinx/build/html/_modules/install.html
new file mode 100644
index 0000000..bbb3df0
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/install.html
@@ -0,0 +1,746 @@
+
+
+<!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>install &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>install</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 install</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: Leopold Haimberger (University of Vienna)</span>
+<span class="c1">#</span>
+<span class="c1"># @Date: November 2015</span>
+<span class="c1">#</span>
+<span class="c1"># @Change History:</span>
+<span class="c1">#</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">#        - 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">#</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"># @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">#</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">import</span> <span class="nn">sys</span>
+<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">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="c1"># ------------------------------------------------------------------------------</span>
+<span class="c1"># FUNCTIONS</span>
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<div class="viewcode-block" id="main"><a class="viewcode-back" href="../api.html#install.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
+    <span class="sd">&#39;&#39;&#39;Controls the installation process. Calls the installation function</span>
+<span class="sd">    if target is specified.</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="n">args</span> <span class="o">=</span> <span class="n">get_install_cmdline_arguments</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">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>
+    <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>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    args : :obj:`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>
+<span class="s1">                            on ECMWF machines&#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="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s1">&#39;--target&#39;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s1">&#39;install_target&#39;</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;Valid targets: local | ecgate | cca , </span><span class="se">\</span>
+<span class="s2">                        the latter two are at ECMWF&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;--makefile&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;makefile&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;Name of Makefile to use for compiling CONVERT2&#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;--ecuid&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;ecuid&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;user id at ECMWF&#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;--ecgid&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;ecgid&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;group id at ECMWF&#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;--gateway&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;gateway&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;name of local gateway server&#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;--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">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>
+<span class="s2">                        of the FLEXPART distribution.&quot;</span><span class="p">)</span>
+
+    <span class="c1"># arguments for job submission to ECMWF, only needed by submit.py</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_template&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s1">&#39;job_template&#39;</span><span class="p">,</span>
+                        <span class="n">default</span><span class="o">=</span><span class="s2">&quot;job.temp.o&quot;</span><span class="p">,</span>
+                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;job template file for submission to ECMWF&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="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="n">args</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">()</span>
+
+    <span class="k">return</span> <span class="n">args</span></div>
+
+
+<div class="viewcode-block" id="install_via_gateway"><a class="viewcode-back" href="../api.html#install.install_via_gateway">[docs]</a><span class="k">def</span> <span class="nf">install_via_gateway</span><span class="p">(</span><span class="n">c</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Perform the actual installation on local machine or prepare data</span>
+<span class="sd">    transfer to remote gate and submit a job script which will</span>
+<span class="sd">    install everything on the remote gate.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    c : :obj:`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="kn">import</span> <span class="nn">tarfile</span>
+
+    <span class="n">ecd</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span>
+    <span class="n">tarball_name</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span> <span class="o">+</span> <span class="s1">&#39;.tar&#39;</span>
+    <span class="n">tar_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">ecd</span><span class="p">,</span> <span class="n">tarball_name</span><span class="p">)</span>
+
+    <span class="n">target_dirname</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span>
+    <span class="n">fortran_executable</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">FORTRAN_EXECUTABLE</span>
+
+    <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">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">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>
+
+        <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">put_file_to_ecserver</span><span class="p">(</span><span class="n">ecd</span><span class="p">,</span> <span class="n">tarball_name</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">submit_job_to_ecserver</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">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="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;/&#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="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">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">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">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">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">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">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>
+            <span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">tar_file</span><span class="p">)</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>
+<span class="sd">    It does not matter if this is local or remote.</span>
+<span class="sd">    Collects all python files, the Fortran source and makefiles,</span>
+<span class="sd">    the ECMWF_ENV file, the CONTROL files as well as the</span>
+<span class="sd">    template files.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    tarball_path : :obj:`string`</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">        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>
+
+    <span class="c1"># change to FLEXEXTRACT directory so that the tar can contain</span>
+    <span class="c1"># relative pathes to the files and directories</span>
+    <span class="n">ecd</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</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="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="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">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="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="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">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="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="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="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="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="c1"># create installation tar-file</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="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="k">return</span></div>
+
+
+<div class="viewcode-block" id="un_tarball"><a class="viewcode-back" href="../api.html#install.un_tarball">[docs]</a><span class="k">def</span> <span class="nf">un_tarball</span><span class="p">(</span><span class="n">tarball_path</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Extracts the given tarball into current directory.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    tarball_path : :obj:`string`</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">    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="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">return</span></div>
+
+<div class="viewcode-block" id="mk_env_vars"><a class="viewcode-back" href="../api.html#install.mk_env_vars">[docs]</a><span class="k">def</span> <span class="nf">mk_env_vars</span><span class="p">(</span><span class="n">ecuid</span><span class="p">,</span> <span class="n">ecgid</span><span class="p">,</span> <span class="n">gateway</span><span class="p">,</span> <span class="n">destination</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Creates a file named ECMWF_ENV which contains the</span>
+<span class="sd">    necessary environmental variables at ECMWF servers.</span>
+<span class="sd">    It is based on the template ECMWF_ENV.template.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    ecuid : :obj:`string`</span>
+<span class="sd">        The user id on ECMWF server.</span>
+
+<span class="sd">    ecgid : :obj:`string`</span>
+<span class="sd">        The group id on ECMWF server.</span>
+
+<span class="sd">    gateway : :obj:`string`</span>
+<span class="sd">        The gateway server the user is using.</span>
+
+<span class="sd">    destination : :obj:`string`</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">    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="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">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">return</span></div>
+
+<div class="viewcode-block" id="mk_compilejob"><a class="viewcode-back" href="../api.html#install.mk_compilejob">[docs]</a><span class="k">def</span> <span class="nf">mk_compilejob</span><span class="p">(</span><span class="n">makefile</span><span class="p">,</span> <span class="n">target</span><span class="p">,</span> <span class="n">ecuid</span><span class="p">,</span> <span class="n">ecgid</span><span class="p">,</span> <span class="n">fp_root</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Modifies the original job template file so that it is specified</span>
+<span class="sd">    for the user and the environment were it will be applied. Result</span>
+<span class="sd">    is stored in a new file &quot;job.temp&quot; in the python directory.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    makefile : :obj:`string`</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">        The target where the installation should be done, e.g. the queue.</span>
+
+<span class="sd">    ecuid : :obj:`string`</span>
+<span class="sd">        The user id on ECMWF server.</span>
+
+<span class="sd">    ecgid : :obj:`string`</span>
+<span class="sd">        The group id on ECMWF server.</span>
+
+<span class="sd">    fp_root : :obj:`string`</span>
+<span class="sd">       Path to the root directory of FLEXPART environment or flex_extract</span>
+<span class="sd">       environment.</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="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="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="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">return</span></div>
+
+<div class="viewcode-block" id="mk_job_template"><a class="viewcode-back" href="../api.html#install.mk_job_template">[docs]</a><span class="k">def</span> <span class="nf">mk_job_template</span><span class="p">(</span><span class="n">ecuid</span><span class="p">,</span> <span class="n">ecgid</span><span class="p">,</span> <span class="n">gateway</span><span class="p">,</span> <span class="n">destination</span><span class="p">,</span> <span class="n">fp_root</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Modifies the original job template file so that it is specified</span>
+<span class="sd">    for the user and the environment were it will be applied. Result</span>
+<span class="sd">    is stored in a new file.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    ecuid : :obj:`string`</span>
+<span class="sd">        The user id on ECMWF server.</span>
+
+<span class="sd">    ecgid : :obj:`string`</span>
+<span class="sd">        The group id on ECMWF server.</span>
+
+<span class="sd">    gateway : :obj:`string`</span>
+<span class="sd">        The gateway server the user is using.</span>
+
+<span class="sd">    destination : :obj:`string`</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">       Path to the root directory of FLEXPART environment or flex_extract</span>
+<span class="sd">       environment.</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="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">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">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">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">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>
+    <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">        Path to the fortran source directory.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="n">modfiles</span> <span class="o">=</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">src_path</span><span class="p">,</span> <span class="s1">&#39;*.mod&#39;</span><span class="p">)</span>
+    <span class="n">objfiles</span> <span class="o">=</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">src_path</span><span class="p">,</span> <span class="s1">&#39;*.o&#39;</span><span class="p">)</span>
+    <span class="n">exefile</span> <span class="o">=</span> <span class="n">UioFiles</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">modfiles</span><span class="o">.</span><span class="n">delete_files</span><span class="p">()</span>
+    <span class="n">objfiles</span><span class="o">.</span><span class="n">delete_files</span><span class="p">()</span>
+    <span class="n">exefile</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="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>
+    <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">        Path to the fortran source directory.</span>
+
+<span class="sd">    makefile : :obj:`string`</span>
+<span class="sd">        The name of the makefile which should be used.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="k">try</span><span class="p">:</span>
+        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Using makefile: &#39;</span> <span class="o">+</span> <span class="n">makefile</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;make&#39;</span><span class="p">,</span> <span class="s1">&#39;-f&#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">makefile</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="p">,</span> <span class="n">perr</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">print</span><span class="p">(</span><span class="n">pout</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">p</span><span class="o">.</span><span class="n">returncode</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="n">perr</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Please edit &#39;</span> <span class="o">+</span> <span class="n">makefile</span> <span class="o">+</span>
+                  <span class="s1">&#39; or try another Makefile in the src directory.&#39;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Most likely GRIB_API_INCLUDE_DIR, GRIB_API_LIB &#39;</span>
+                  <span class="s1">&#39;and EMOSLIB must be adapted.&#39;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Available Makefiles:&#39;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="n">UioFiles</span><span class="p">(</span><span class="n">src_path</span><span class="p">,</span> <span class="s1">&#39;Makefile*&#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;Compilation failed!&#39;</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: 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="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>
+
+           </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">
+        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/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/prepare_flexpart.html b/documentation/Sphinx/build/html/_modules/prepare_flexpart.html
new file mode 100644
index 0000000..8367caf
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/prepare_flexpart.html
@@ -0,0 +1,401 @@
+
+
+<!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>prepare_flexpart &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>prepare_flexpart</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 prepare_flexpart</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: October 2014</span>
+<span class="c1">#</span>
+<span class="c1"># @Change History:</span>
+<span class="c1">#</span>
+<span class="c1">#    November 2015 - Leopold Haimberger (University of Vienna):</span>
+<span class="c1">#        - using the WebAPI also for general MARS retrievals</span>
+<span class="c1">#        - job submission on ecgate and cca</span>
+<span class="c1">#        - job templates suitable for twice daily operational dissemination</span>
+<span class="c1">#        - dividing retrievals of longer periods into digestable chunks</span>
+<span class="c1">#        - retrieve also longer term forecasts, not only analyses and</span>
+<span class="c1">#          short term forecast data</span>
+<span class="c1">#        - conversion into GRIB2</span>
+<span class="c1">#        - conversion into .fp format for faster execution of FLEXPART</span>
+<span class="c1">#</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">#        - 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">#               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">#</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">datetime</span>
+<span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">import</span> <span class="nn">inspect</span>
+<span class="kn">import</span> <span class="nn">sys</span>
+<span class="kn">import</span> <span class="nn">socket</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="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">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">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>
+<span class="k">try</span><span class="p">:</span>
+    <span class="k">if</span> <span class="n">ecapi</span><span class="p">:</span>
+        <span class="kn">import</span> <span class="nn">ecmwfapi</span>
+<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
+    <span class="n">ecapi</span> <span class="o">=</span> <span class="kc">False</span>
+
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<span class="c1"># FUNCTION</span>
+<span class="c1"># ------------------------------------------------------------------------------</span>
+<div class="viewcode-block" id="main"><a class="viewcode-back" href="../api.html#prepare_flexpart.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
+    <span class="sd">&#39;&#39;&#39;Controls the program to prepare flexpart input files from mars data.</span>
+
+<span class="sd">    This is done if it is called directly from command line.</span>
+<span class="sd">    Then it also takes program call arguments and control file input.</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="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_arguments</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>
+    <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">assign_envs_to_control</span><span class="p">(</span><span class="n">env_parameter</span><span class="p">)</span>
+    <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">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="k">return</span></div>
+
+<div class="viewcode-block" id="prepare_flexpart"><a class="viewcode-back" href="../api.html#prepare_flexpart.prepare_flexpart">[docs]</a><span class="k">def</span> <span class="nf">prepare_flexpart</span><span class="p">(</span><span class="n">ppid</span><span class="p">,</span> <span class="n">c</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Converts the mars data into flexpart ready input files.</span>
+
+<span class="sd">    Specific data fields are converted to a different grid and the flux</span>
+<span class="sd">    data are going to be disaggregated. The data fields are collected by</span>
+<span class="sd">    hour and stored in a file with a specific FLEXPART relevant naming</span>
+<span class="sd">    convention.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    ppid : :obj:`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">        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="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">c</span><span class="o">.</span><span class="n">ecapi</span> <span class="o">=</span> <span class="n">ecapi</span>
+
+    <span class="c1"># create the start and end date</span>
+    <span class="n">start</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="p">(</span><span class="n">year</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">start_date</span><span class="p">[:</span><span class="mi">4</span><span class="p">]),</span>
+                          <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">start_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">start_date</span><span class="p">[</span><span class="mi">6</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">date</span><span class="p">(</span><span class="n">year</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="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"># assign starting date minus 1 day</span>
+    <span class="c1"># since for basetime 00 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>
+
+    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Prepare &#39;</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="o">+</span>
+           <span class="s2">&quot;/to/&quot;</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="c1"># create output dir if necessary</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">outputdir</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">outputdir</span><span class="p">)</span>
+
+    <span class="c1"># get all files with flux data to be deaccumulated</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;*OG_acc_SL*.&#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"># deaccumulate the flux data</span>
+    <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">True</span><span class="p">)</span>
+    <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="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>
+    <span class="c1"># copy/transfer/interpolate them or make them GRIB2</span>
+    <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="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>
+    <span class="c1"># otherwise delete temporary files</span>
+    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">debug</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">Temporary files left intact&#39;</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">clean_up</span><span class="p">(</span><span class="n">c</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>
+
+           </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">
+        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/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/submit.html b/documentation/Sphinx/build/html/_modules/submit.html
new file mode 100644
index 0000000..1c09c65
--- /dev/null
+++ b/documentation/Sphinx/build/html/_modules/submit.html
@@ -0,0 +1,395 @@
+
+
+<!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>submit &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>submit</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 submit</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: October 2014</span>
+<span class="c1">#</span>
+<span class="c1"># @Change History:</span>
+<span class="c1">#</span>
+<span class="c1">#    November 2015 - Leopold Haimberger (University of Vienna):</span>
+<span class="c1">#        - job submission on ecgate and cca</span>
+<span class="c1">#        - job templates suitable for twice daily operational dissemination</span>
+<span class="c1">#</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">#        - 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">#</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">#</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">import</span> <span class="nn">sys</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">collections</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="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"># ------------------------------------------------------------------------------</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>
+    <span class="sd">&#39;&#39;&#39;Get the arguments from script call and from CONTROL file.</span>
+<span class="sd">    Decides from the argument &quot;queue&quot; if the local version</span>
+<span class="sd">    is done &quot;queue=None&quot; or the gateway version with &quot;queue=ecgate&quot;</span>
+<span class="sd">    or &quot;queue=cca&quot;.</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="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_arguments</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>
+    <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">assign_envs_to_control</span><span class="p">(</span><span class="n">env_parameter</span><span class="p">)</span>
+    <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="c1"># on local side</span>
+    <span class="c1"># on ECMWF server this would also be the local side</span>
+    <span class="n">called_from_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">()</span>
+    <span class="k">if</span> <span class="n">args</span><span class="o">.</span><span class="n">queue</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">inputdir</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">inputdir</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">called_from_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">outputdir</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">outputdir</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">called_from_dir</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">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="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="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="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">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    jtemplate : :obj:`string`</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">        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">        Name of queue for submission to ECMWF (e.g. ecgate or cca )</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+
+<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="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">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="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="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">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="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">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="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">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="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="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>
+
+           </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">
+        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/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/tools.html b/documentation/Sphinx/build/html/_modules/tools.html
index aab9945..cc69bc1 100644
--- a/documentation/Sphinx/build/html/_modules/tools.html
+++ b/documentation/Sphinx/build/html/_modules/tools.html
@@ -212,57 +212,56 @@
 <span class="c1"># FUNCTIONS</span>
 <span class="c1"># ------------------------------------------------------------------------------</span>
 
-<div class="viewcode-block" id="none_or_str"><a class="viewcode-back" href="../code.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>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Converts the input string into pythons None-type if the string</span>
-<span class="sd">        contains &quot;None&quot;.</span>
-
-<span class="sd">    @Input:</span>
-<span class="sd">        value: string</span>
-<span class="sd">            String to be checked for the &quot;None&quot; word.</span>
-
-<span class="sd">    @Return:</span>
-<span class="sd">        None or value:</span>
-<span class="sd">            Return depends on the content of the input value. If it was &quot;None&quot;,</span>
-<span class="sd">            then the python type None is returned. Otherwise the string itself.</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>
+    <span class="sd">&#39;&#39;&#39;Converts the input string into pythons None-type if the string</span>
+<span class="sd">    contains string &quot;None&quot;.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    value : :obj:`string`</span>
+<span class="sd">        String to be checked for the &quot;None&quot; word.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    None or value:</span>
+<span class="sd">        Return depends on the content of the input value. If it was &quot;None&quot;,</span>
+<span class="sd">        then the python type None is returned. Otherwise the string itself.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s1">&#39;None&#39;</span><span class="p">:</span>
         <span class="k">return</span> <span class="kc">None</span>
     <span class="k">return</span> <span class="n">value</span></div>
 
-<div class="viewcode-block" id="none_or_int"><a class="viewcode-back" href="../code.html#tools.none_or_int">[docs]</a><span class="k">def</span> <span class="nf">none_or_int</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Converts the input string into pythons None-type if the string</span>
-<span class="sd">        contains &quot;None&quot;. Otherwise it is converted to an integer value.</span>
-
-<span class="sd">    @Input:</span>
-<span class="sd">        value: string</span>
-<span class="sd">            String to be checked for the &quot;None&quot; word.</span>
-
-<span class="sd">    @Return:</span>
-<span class="sd">        None or int(value):</span>
-<span class="sd">            Return depends on the content of the input value. If it was &quot;None&quot;,</span>
-<span class="sd">            then the python type None is returned. Otherwise the string is</span>
-<span class="sd">            converted into an integer value.</span>
+<div class="viewcode-block" id="none_or_int"><a class="viewcode-back" href="../api.html#tools.none_or_int">[docs]</a><span class="k">def</span> <span class="nf">none_or_int</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Converts the input string into pythons None-type if the string</span>
+<span class="sd">    contains string &quot;None&quot;. Otherwise it is converted to an integer value.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    value : :obj:`string`</span>
+<span class="sd">        String to be checked for the &quot;None&quot; word.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    None or int(value):</span>
+<span class="sd">        Return depends on the content of the input value. If it was &quot;None&quot;,</span>
+<span class="sd">        then the python type None is returned. Otherwise the string is</span>
+<span class="sd">        converted into an integer value.</span>
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s1">&#39;None&#39;</span><span class="p">:</span>
         <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="../code.html#tools.get_cmdline_arguments">[docs]</a><span class="k">def</span> <span class="nf">get_cmdline_arguments</span><span class="p">():</span>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Decomposes the command line arguments and assigns them to variables.</span>
-<span class="sd">        Apply default values for non mentioned arguments.</span>
+<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>
+    <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>
 
-<span class="sd">    @Input:</span>
-<span class="sd">        &lt;nothing&gt;</span>
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
 
-<span class="sd">    @Return:</span>
-<span class="sd">        args: instance of ArgumentParser</span>
-<span class="sd">            Contains the commandline arguments from script/program call.</span>
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    args : :obj:`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;Retrieve FLEXPART input from </span><span class="se">\</span>
@@ -341,20 +340,20 @@
 
     <span class="k">return</span> <span class="n">args</span></div>
 
-<div class="viewcode-block" id="read_ecenv"><a class="viewcode-back" href="../code.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>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Reads the file into a dictionary where the key values are the parameter</span>
-<span class="sd">        names.</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">filename</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">    @Input:</span>
-<span class="sd">        filename: string</span>
-<span class="sd">            Path to file where the ECMWV environment parameters are stored.</span>
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    filename : :obj:`string`</span>
+<span class="sd">        Path to file where the ECMWF environment parameters are stored.</span>
 
-<span class="sd">    @Return:</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">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    envs : :obj:`dictionary`</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>
 
@@ -365,21 +364,18 @@
 
     <span class="k">return</span> <span class="n">envs</span></div>
 
-<div class="viewcode-block" id="clean_up"><a class="viewcode-back" href="../code.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;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Remove all files from intermediate directory</span>
-<span class="sd">        (inputdir from CONTROL file).</span>
-
-<span class="sd">    @Input:</span>
-<span class="sd">        c: instance of class ControlFile</span>
-<span class="sd">            Contains all the parameters of CONTROL file and</span>
-<span class="sd">            command line.</span>
-<span class="sd">            For more information about format and content of the parameter</span>
-<span class="sd">            see documentation.</span>
-
-<span class="sd">    @Return:</span>
-<span class="sd">        &lt;nothing&gt;</span>
+<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">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    c : :obj:`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="s2">&quot;clean_up&quot;</span><span class="p">)</span>
@@ -396,23 +392,23 @@
     <span class="k">return</span></div>
 
 
-<div class="viewcode-block" id="my_error"><a class="viewcode-back" href="../code.html#tools.my_error">[docs]</a><span class="k">def</span> <span class="nf">my_error</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;ERROR&#39;</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Prints a specified error message which can be passed to the function</span>
-<span class="sd">        before exiting the program.</span>
+<div class="viewcode-block" id="my_error"><a class="viewcode-back" href="../api.html#tools.my_error">[docs]</a><span class="k">def</span> <span class="nf">my_error</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;ERROR&#39;</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Prints a specified error message which can be passed to the function</span>
+<span class="sd">    before exiting the program.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    user : :obj:`list` of :obj:`string`</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">    @Input:</span>
-<span class="sd">        user: list of strings</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">        Error message. Default value is &quot;ERROR&quot;.</span>
 
-<span class="sd">        message: string, optional</span>
-<span class="sd">            Error message. Default value is &quot;ERROR&quot;.</span>
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
 
-<span class="sd">    @Return:</span>
-<span class="sd">        &lt;nothing&gt;</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>
@@ -442,22 +438,21 @@
     <span class="k">return</span></div>
 
 
-<div class="viewcode-block" id="normal_exit"><a class="viewcode-back" href="../code.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>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Prints a specific exit message which can be passed to the function.</span>
+<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>
+    <span class="sd">&#39;&#39;&#39;Prints a specific exit message which can be passed to the function.</span>
 
-<span class="sd">    @Input:</span>
-<span class="sd">        user: list of strings</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">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    user : :obj:`list` of :obj:`string`</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: string, optional</span>
-<span class="sd">            Message for exiting program. Default value is &quot;Done!&quot;.</span>
+<span class="sd">    message : :obj:`string`, optional</span>
+<span class="sd">        Message for exiting program. Default value is &quot;Done!&quot;.</span>
 
-<span class="sd">    @Return:</span>
-<span class="sd">        &lt;nothing&gt;</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>
@@ -484,31 +479,35 @@
     <span class="k">return</span></div>
 
 
-<div class="viewcode-block" id="product"><a class="viewcode-back" href="../code.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;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        This method is taken from an example at the ECMWF wiki website.</span>
-<span class="sd">        https://software.ecmwf.int/wiki/display/GRIB/index.py; 2018-03-16</span>
+<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">    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>
 
-<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>
+<span class="sd">    Note</span>
+<span class="sd">    ----</span>
+<span class="sd">    This method is taken from an example at the ECMWF wiki website.</span>
+<span class="sd">    https://software.ecmwf.int/wiki/display/GRIB/index.py; 2018-03-16</span>
 
-<span class="sd">        Example:</span>
-<span class="sd">        product(&#39;ABCD&#39;, &#39;xy&#39;) --&gt; Ax Ay Bx By Cx Cy Dx Dy</span>
-<span class="sd">        product(range(2), repeat = 3) --&gt; 000 001 010 011 100 101 110 111</span>
+<span class="sd">    Example</span>
+<span class="sd">    -------</span>
+<span class="sd">    product(&#39;ABCD&#39;, &#39;xy&#39;) --&gt; Ax Ay Bx By Cx Cy Dx Dy</span>
 
-<span class="sd">    @Input:</span>
-<span class="sd">        *args: tuple</span>
-<span class="sd">            Positional arguments (arbitrary number).</span>
+<span class="sd">    product(range(2), repeat = 3) --&gt; 000 001 010 011 100 101 110 111</span>
 
-<span class="sd">        **kwds: dictionary</span>
-<span class="sd">            Contains all the keyword arguments from *args.</span>
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    \*args : :obj:`tuple`</span>
+<span class="sd">        Positional arguments (arbitrary number).</span>
 
-<span class="sd">    @Return:</span>
-<span class="sd">        prod: tuple</span>
-<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">    \*\*kwds : :obj:`dictionary`</span>
+<span class="sd">        Contains all the keyword arguments from \*args.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    prod : :obj:`tuple`</span>
+<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>
@@ -520,18 +519,18 @@
     <span class="k">return</span></div>
 
 
-<div class="viewcode-block" id="silent_remove"><a class="viewcode-back" href="../code.html#tools.silent_remove">[docs]</a><span class="k">def</span> <span class="nf">silent_remove</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Remove file if it exists.</span>
-<span class="sd">        The function does not fail if the file does not exist.</span>
+<div class="viewcode-block" id="silent_remove"><a class="viewcode-back" href="../api.html#tools.silent_remove">[docs]</a><span class="k">def</span> <span class="nf">silent_remove</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Remove file if it exists.</span>
+<span class="sd">    The function does not fail if the file does not exist.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    filename : :obj:`string`</span>
+<span class="sd">        The name of the file to be removed without notification.</span>
 
-<span class="sd">    @Input:</span>
-<span class="sd">        filename: string</span>
-<span class="sd">            The name of the file to be removed without notification.</span>
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
 
-<span class="sd">    @Return:</span>
-<span class="sd">        &lt;nothing&gt;</span>
 <span class="sd">    &#39;&#39;&#39;</span>
     <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>
@@ -543,20 +542,20 @@
     <span class="k">return</span></div>
 
 
-<div class="viewcode-block" id="init128"><a class="viewcode-back" href="../code.html#tools.init128">[docs]</a><span class="k">def</span> <span class="nf">init128</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Opens and reads the grib file with table 128 information.</span>
+<div class="viewcode-block" id="init128"><a class="viewcode-back" href="../api.html#tools.init128">[docs]</a><span class="k">def</span> <span class="nf">init128</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Opens and reads the grib file with table 128 information.</span>
 
-<span class="sd">    @Input:</span>
-<span class="sd">        filepath: string</span>
-<span class="sd">            Path to file of ECMWF grib table number 128.</span>
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    filepath : :obj:`string`</span>
+<span class="sd">        Path to file of ECMWF grib table number 128.</span>
 
-<span class="sd">    @Return:</span>
-<span class="sd">        table128: dictionary</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">    table128 : :obj:`dictionary`</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>
@@ -568,28 +567,27 @@
     <span class="k">return</span> <span class="n">table128</span></div>
 
 
-<div class="viewcode-block" id="to_param_id"><a class="viewcode-back" href="../code.html#tools.to_param_id">[docs]</a><span class="k">def</span> <span class="nf">to_param_id</span><span class="p">(</span><span class="n">pars</span><span class="p">,</span> <span class="n">table</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Transform parameter names to parameter ids</span>
-<span class="sd">        with ECMWF grib table 128.</span>
-
-<span class="sd">    @Input:</span>
-<span class="sd">        pars: string</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: dictionary</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">        ipar: list of integer</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>
+<div class="viewcode-block" id="to_param_id"><a class="viewcode-back" href="../api.html#tools.to_param_id">[docs]</a><span class="k">def</span> <span class="nf">to_param_id</span><span class="p">(</span><span class="n">pars</span><span class="p">,</span> <span class="n">table</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Transform parameter names to parameter ids with ECMWF grib table 128.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    pars : :obj:`string`</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">        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">        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="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>
@@ -603,40 +601,40 @@
 
     <span class="k">return</span> <span class="n">ipar</span></div>
 
-<div class="viewcode-block" id="get_list_as_string"><a class="viewcode-back" href="../code.html#tools.get_list_as_string">[docs]</a><span class="k">def</span> <span class="nf">get_list_as_string</span><span class="p">(</span><span class="n">list_obj</span><span class="p">,</span> <span class="n">concatenate_sign</span><span class="o">=</span><span class="s1">&#39;, &#39;</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Converts a list of arbitrary content into a single string.</span>
+<div class="viewcode-block" id="get_list_as_string"><a class="viewcode-back" href="../api.html#tools.get_list_as_string">[docs]</a><span class="k">def</span> <span class="nf">get_list_as_string</span><span class="p">(</span><span class="n">list_obj</span><span class="p">,</span> <span class="n">concatenate_sign</span><span class="o">=</span><span class="s1">&#39;, &#39;</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Converts a list of arbitrary content into a single string.</span>
 
-<span class="sd">    @Input:</span>
-<span class="sd">        list_obj: list</span>
-<span class="sd">            A list with arbitrary content.</span>
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    list_obj : :obj:`list`</span>
+<span class="sd">        A list with arbitrary content.</span>
 
-<span class="sd">        concatenate_sign: string, 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">    concatenate_sign : :obj:`string`, 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">        str_of_list: string</span>
-<span class="sd">            The content of the list as a single string.</span>
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    str_of_list : :obj:`string`</span>
+<span class="sd">        The content of the list as a single string.</span>
 <span class="sd">    &#39;&#39;&#39;</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="../code.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;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        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>
+<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">    @Input:</span>
-<span class="sd">        directory: string</span>
-<span class="sd">            The directory name including the path which should be created.</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">    Return</span>
+<span class="sd">    ------</span>
 
-<span class="sd">    @Return:</span>
-<span class="sd">        &lt;nothing&gt;</span>
 <span class="sd">    &#39;&#39;&#39;</span>
     <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>
@@ -649,36 +647,37 @@
 
     <span class="k">return</span></div>
 
-<div class="viewcode-block" id="put_file_to_ecserver"><a class="viewcode-back" href="../code.html#tools.put_file_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">put_file_to_ecserver</span><span class="p">(</span><span class="n">ecd</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span> <span class="n">target</span><span class="p">,</span> <span class="n">ecuid</span><span class="p">,</span> <span class="n">ecgid</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Uses the ecaccess-file-put command to send a file to the ECMWF servers.</span>
+<div class="viewcode-block" id="put_file_to_ecserver"><a class="viewcode-back" href="../api.html#tools.put_file_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">put_file_to_ecserver</span><span class="p">(</span><span class="n">ecd</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span> <span class="n">target</span><span class="p">,</span> <span class="n">ecuid</span><span class="p">,</span> <span class="n">ecgid</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;Uses the ecaccess-file-put command to send a file to the ECMWF servers.</span>
 
-<span class="sd">        NOTE:</span>
-<span class="sd">        The return value is just for testing reasons. It does not have</span>
-<span class="sd">        to be used from the calling function since the whole error handling</span>
-<span class="sd">        is done in here.</span>
+<span class="sd">    Note</span>
+<span class="sd">    ----</span>
+<span class="sd">    The return value is just for testing reasons. It does not have</span>
+<span class="sd">    to be used from the calling function since the whole error handling</span>
+<span class="sd">    is done in here.</span>
 
-<span class="sd">    @Input:</span>
-<span class="sd">        ecd: string</span>
-<span class="sd">            The path were the file is stored.</span>
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    ecd : :obj:`string`</span>
+<span class="sd">        The path were the file is stored.</span>
 
-<span class="sd">        filename: string</span>
-<span class="sd">            The name of the file to send to the ECMWF server.</span>
+<span class="sd">    filename : :obj:`string`</span>
+<span class="sd">        The name of the file to send to the ECMWF server.</span>
 
-<span class="sd">        target: string</span>
-<span class="sd">            The target queue where the file should be sent to.</span>
+<span class="sd">    target : :obj:`string`</span>
+<span class="sd">        The target queue where the file should be sent to.</span>
 
-<span class="sd">        ecuid: string</span>
-<span class="sd">            The user id on ECMWF server.</span>
+<span class="sd">    ecuid : :obj:`string`</span>
+<span class="sd">        The user id on ECMWF server.</span>
 
-<span class="sd">        ecgid: string</span>
-<span class="sd">            The group id on ECMWF server.</span>
+<span class="sd">    ecgid : :obj:`string`</span>
+<span class="sd">        The group id on ECMWF server.</span>
 
-<span class="sd">    @Return:</span>
-<span class="sd">        rcode: 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">    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>
@@ -697,28 +696,29 @@
 
     <span class="k">return</span> <span class="n">rcode</span></div>
 
-<div class="viewcode-block" id="submit_job_to_ecserver"><a class="viewcode-back" href="../code.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;</span>
-<span class="sd">    @Description:</span>
-<span class="sd">        Uses ecaccess-job-submit command to submit a job to the ECMWF server.</span>
-
-<span class="sd">        NOTE:</span>
-<span class="sd">        The return value is just for testing reasons. It does not have</span>
-<span class="sd">        to be used from the calling function since the whole error handling</span>
-<span class="sd">        is done in here.</span>
-
-<span class="sd">    @Input:</span>
-<span class="sd">        target: string</span>
-<span class="sd">            The target where the file should be sent to, e.g. the queue.</span>
-
-<span class="sd">        jobname: string</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">        rcode: 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>
+<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>
+
+<span class="sd">    Note</span>
+<span class="sd">    ----</span>
+<span class="sd">    The return value is just for testing reasons. It does not have</span>
+<span class="sd">    to be used from the calling function since the whole error handling</span>
+<span class="sd">    is done in here.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    target : :obj:`string`</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">        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">    &#39;&#39;&#39;</span>
 
     <span class="k">try</span><span class="p">:</span>
diff --git a/documentation/Sphinx/build/html/_sources/api.rst.txt b/documentation/Sphinx/build/html/_sources/api.rst.txt
index 6c03ff4..5b4acb2 100644
--- a/documentation/Sphinx/build/html/_sources/api.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/api.rst.txt
@@ -1,5 +1,82 @@
 Auto Generated Documentation
 ============================
 
+.. contents::
+    :local:
+    
+Porgrams
+--------
+
+install
+*******
+
+.. automodule:: install
+    :members:
+    
+submit
+******
+
+.. automodule:: submit
+    :members:
+    
+Classes
+-------
+
+ControlFile
+***********
+
+.. automodule:: ControlFile
+    :members:
+    
+EcFlexpart
+**********
+
+.. automodule:: EcFlexpart
+    :members:
+    
+GribTools
+*********
+
+.. automodule:: GribTools
+    :members:
+
+MarsRetrieval
+*************
+
+.. automodule:: MarsRetrieval
+    :members:
+
+UioFiles
+********
+
+.. automodule:: UioFiles
+    :members:
+
+
+
+Modules
+-------
+
+get_mars_data
+*************
+
+.. automodule:: get_mars_data
+    :members:
+ 
+prepare_flexpart
+****************
+
+.. automodule:: prepare_flexpart
+    :members:    
+    
+tools
+*****
+
+.. automodule:: tools
+    :members:
+
+disaggregation
+**************    
+    
 .. automodule:: disaggregation
     :members:
diff --git a/documentation/Sphinx/build/html/_sources/downloads.rst.txt b/documentation/Sphinx/build/html/_sources/downloads.rst.txt
index 42e62df..676a1fe 100644
--- a/documentation/Sphinx/build/html/_sources/downloads.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/downloads.rst.txt
@@ -3,4 +3,13 @@ Downloads
 
 Describe download options of flex_extract ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    downloads/tar_balls
+    downloads/git_repo
+    downloads/history_changes
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/downloads/git_repo.rst.txt b/documentation/Sphinx/build/html/_sources/downloads/git_repo.rst.txt
new file mode 100644
index 0000000..a1f7acf
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/downloads/git_repo.rst.txt
@@ -0,0 +1,4 @@
+Git Repository 
+==============
+
+  UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/downloads/history_changes.rst.txt b/documentation/Sphinx/build/html/_sources/downloads/history_changes.rst.txt
new file mode 100644
index 0000000..763420b
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/downloads/history_changes.rst.txt
@@ -0,0 +1,4 @@
+History of Changes
+==================
+
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/downloads/tar_balls.rst.txt b/documentation/Sphinx/build/html/_sources/downloads/tar_balls.rst.txt
new file mode 100644
index 0000000..a06dc11
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/downloads/tar_balls.rst.txt
@@ -0,0 +1,4 @@
+Download tar-balls
+==================
+
+  UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/index.rst.txt b/documentation/Sphinx/build/html/_sources/index.rst.txt
index 3ca3be9..1f8cded 100644
--- a/documentation/Sphinx/build/html/_sources/index.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/index.rst.txt
@@ -3,8 +3,19 @@
    You can adapt this file completely to your liking, but it should at least
    contain the root `toctree` directive.
 
-Welcome to flex_extract's documentation!
-========================================
+Welcome to flex_extract's user documentation!
+=============================================
+
+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. 
+
+
+.. The scripts can be 1) executed locally using the ECMWF WebMARS interface, or 2) on the ECMWF member
+.. 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. 
+
+
 .. raw:: html
 
     <table style="width:100%;">
@@ -86,7 +97,7 @@ Welcome to flex_extract's documentation!
    License text put in here! Which one?
 
 .. toctree::
-   :maxdepth: 2
+   :maxdepth: 3
    :caption: Table of Contents:
 
    downloads
diff --git a/documentation/Sphinx/build/html/_sources/installation.rst.txt b/documentation/Sphinx/build/html/_sources/installation.rst.txt
index 7e37572..f759bc9 100644
--- a/documentation/Sphinx/build/html/_sources/installation.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/installation.rst.txt
@@ -1,6 +1,15 @@
 Installation
 ============
-
-Describe installation process flex_extract ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    installation/requirements
+    installation/oper_modes
+    installation/test_install
+
+
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/installation/oper_modes.rst.txt b/documentation/Sphinx/build/html/_sources/installation/oper_modes.rst.txt
new file mode 100644
index 0000000..72e86f5
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/installation/oper_modes.rst.txt
@@ -0,0 +1,6 @@
+Operating modes
+===============
+
+ 
+    UNDER CONSTRUCTION
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/installation/requirements.rst.txt b/documentation/Sphinx/build/html/_sources/installation/requirements.rst.txt
new file mode 100644
index 0000000..c1bae21
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/installation/requirements.rst.txt
@@ -0,0 +1,6 @@
+Requirements
+============
+
+ 
+    UNDER CONSTRUCTION
+    
diff --git a/documentation/Sphinx/build/html/_sources/installation/test_install.rst.txt b/documentation/Sphinx/build/html/_sources/installation/test_install.rst.txt
new file mode 100644
index 0000000..2543088
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/installation/test_install.rst.txt
@@ -0,0 +1,5 @@
+Installation test
+=================
+
+    UNDER CONSTRUCTION
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/oper_modes.rst.txt b/documentation/Sphinx/build/html/_sources/oper_modes.rst.txt
new file mode 100644
index 0000000..72e86f5
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/oper_modes.rst.txt
@@ -0,0 +1,6 @@
+Operating modes
+===============
+
+ 
+    UNDER CONSTRUCTION
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/program_structure.rst.txt b/documentation/Sphinx/build/html/_sources/program_structure.rst.txt
index 3bfab6c..991b373 100644
--- a/documentation/Sphinx/build/html/_sources/program_structure.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/program_structure.rst.txt
@@ -3,4 +3,12 @@ Program Structure
 
 Describe structure of flex_extract ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    program_structure/prog_overview
+    program_structure/prog_components
+    program_structure/prog_flow
diff --git a/documentation/Sphinx/build/html/_sources/program_structure/prog_components.rst.txt b/documentation/Sphinx/build/html/_sources/program_structure/prog_components.rst.txt
new file mode 100644
index 0000000..0c7d560
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/program_structure/prog_components.rst.txt
@@ -0,0 +1,5 @@
+Program Components
+==================
+
+ 
+    UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/program_structure/prog_flow.rst.txt b/documentation/Sphinx/build/html/_sources/program_structure/prog_flow.rst.txt
new file mode 100644
index 0000000..07c4d84
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/program_structure/prog_flow.rst.txt
@@ -0,0 +1,5 @@
+Program Flow
+================
+
+ 
+    UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/program_structure/prog_overview.rst.txt b/documentation/Sphinx/build/html/_sources/program_structure/prog_overview.rst.txt
new file mode 100644
index 0000000..15cb629
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/program_structure/prog_overview.rst.txt
@@ -0,0 +1,5 @@
+Program Overview
+================
+
+ 
+    UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/requirements.rst.txt b/documentation/Sphinx/build/html/_sources/requirements.rst.txt
index b1f562d..c1bae21 100644
--- a/documentation/Sphinx/build/html/_sources/requirements.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/requirements.rst.txt
@@ -1,6 +1,6 @@
 Requirements
 ============
 
-Describe the requirements to use flex_extract ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
diff --git a/documentation/Sphinx/build/html/_sources/support.rst.txt b/documentation/Sphinx/build/html/_sources/support.rst.txt
index cd5fe0e..bccf1bf 100644
--- a/documentation/Sphinx/build/html/_sources/support.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/support.rst.txt
@@ -1,6 +1,16 @@
 Support
 =======
 
-Describe support options ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    support/ticket_system
+    support/mailing_list
+    support/known_bugs_issues
+    support/faq
+        
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/support/faq.rst.txt b/documentation/Sphinx/build/html/_sources/support/faq.rst.txt
new file mode 100644
index 0000000..ccfe36a
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/support/faq.rst.txt
@@ -0,0 +1,4 @@
+FAQ - Frequently asked questions
+================================
+
+  UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/support/known_bugs_issues.rst.txt b/documentation/Sphinx/build/html/_sources/support/known_bugs_issues.rst.txt
new file mode 100644
index 0000000..8748ad8
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/support/known_bugs_issues.rst.txt
@@ -0,0 +1,4 @@
+Known Bugs and Issues
+=====================
+
+  UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/support/mailing_list.rst.txt b/documentation/Sphinx/build/html/_sources/support/mailing_list.rst.txt
new file mode 100644
index 0000000..e0f5012
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/support/mailing_list.rst.txt
@@ -0,0 +1,4 @@
+Mailing Lists
+=============
+
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/support/ticket_system.rst.txt b/documentation/Sphinx/build/html/_sources/support/ticket_system.rst.txt
new file mode 100644
index 0000000..58b73a6
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/support/ticket_system.rst.txt
@@ -0,0 +1,4 @@
+Ticket System
+=============
+  
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/test_install.rst.txt b/documentation/Sphinx/build/html/_sources/test_install.rst.txt
new file mode 100644
index 0000000..2543088
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/test_install.rst.txt
@@ -0,0 +1,5 @@
+Installation test
+=================
+
+    UNDER CONSTRUCTION
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/user_guide.rst.txt b/documentation/Sphinx/build/html/_sources/user_guide.rst.txt
index 030a019..4fe6dc0 100644
--- a/documentation/Sphinx/build/html/_sources/user_guide.rst.txt
+++ b/documentation/Sphinx/build/html/_sources/user_guide.rst.txt
@@ -1,6 +1,12 @@
 User Guide
 ==========
-
-Describe using flex_extract ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    user_guide/how_to
+    user_guide/control_templates
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/user_guide/control_templates.rst.txt b/documentation/Sphinx/build/html/_sources/user_guide/control_templates.rst.txt
new file mode 100644
index 0000000..ccd58c5
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/user_guide/control_templates.rst.txt
@@ -0,0 +1,4 @@
+CONTROL-file templates
+======================
+
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/_sources/user_guide/how_to.rst.txt b/documentation/Sphinx/build/html/_sources/user_guide/how_to.rst.txt
new file mode 100644
index 0000000..7e041b4
--- /dev/null
+++ b/documentation/Sphinx/build/html/_sources/user_guide/how_to.rst.txt
@@ -0,0 +1,4 @@
+How to use flex_extract
+=======================
+
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/build/html/api.html b/documentation/Sphinx/build/html/api.html
index d9cfd4f..e52216b 100644
--- a/documentation/Sphinx/build/html/api.html
+++ b/documentation/Sphinx/build/html/api.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="Support" href="support.html" />
-    <link rel="prev" title="User Guide" href="user_guide.html" /> 
+    <link rel="prev" title="CONTROL-file templates" href="user_guide/control_templates.html" /> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -88,74 +88,1229 @@
 <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 current"><a class="current reference internal" href="#">Auto Generated Documentation</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Auto Generated Documentation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#porgrams">Porgrams</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#module-install">install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#module-submit">submit</a></li>
+</ul>
+</li>
+<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-MarsRetrieval">MarsRetrieval</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#module-UioFiles">UioFiles</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="#modules">Modules</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#module-get_mars_data">get_mars_data</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#module-prepare_flexpart">prepare_flexpart</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#module-tools">tools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#module-disaggregation">disaggregation</a></li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="support.html">Support</a></li>
 </ul>
 
-            
-          
-        </div>
-      </div>
-    </nav>
+            
+          
+        </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>Auto Generated Documentation</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="_sources/api.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="auto-generated-documentation">
+<h1>Auto Generated Documentation<a class="headerlink" href="#auto-generated-documentation" title="Permalink to this headline">¶</a></h1>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#porgrams" id="id1">Porgrams</a><ul>
+<li><a class="reference internal" href="#module-install" id="id2">install</a></li>
+<li><a class="reference internal" href="#module-submit" id="id3">submit</a></li>
+</ul>
+</li>
+<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-MarsRetrieval" id="id8">MarsRetrieval</a></li>
+<li><a class="reference internal" href="#module-UioFiles" id="id9">UioFiles</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#modules" id="id10">Modules</a><ul>
+<li><a class="reference internal" href="#module-get_mars_data" id="id11">get_mars_data</a></li>
+<li><a class="reference internal" href="#module-prepare_flexpart" id="id12">prepare_flexpart</a></li>
+<li><a class="reference internal" href="#module-tools" id="id13">tools</a></li>
+<li><a class="reference internal" href="#module-disaggregation" id="id14">disaggregation</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="porgrams">
+<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>
+<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>
+<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>
+</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>
+<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">
+<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>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>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="install.install_via_gateway">
+<code class="descclassname">install.</code><code class="descname">install_via_gateway</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#install_via_gateway"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.install_via_gateway" title="Permalink to this definition">¶</a></dt>
+<dd><p>Perform the actual installation on local machine or prepare data
+transfer to remote gate and submit a job script which will
+install everything on the remote gate.</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>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="install.main">
+<code class="descclassname">install.</code><code class="descname">main</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#main"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.main" title="Permalink to this definition">¶</a></dt>
+<dd><p>Controls the installation process. Calls the installation function
+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>
+<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>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</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>
+<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>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="install.mk_env_vars">
+<code class="descclassname">install.</code><code class="descname">mk_env_vars</code><span class="sig-paren">(</span><em>ecuid</em>, <em>ecgid</em>, <em>gateway</em>, <em>destination</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#mk_env_vars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.mk_env_vars" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a file named ECMWF_ENV which contains the
+necessary environmental variables at ECMWF servers.
+It is based on the template ECMWF_ENV.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>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
+from ECMWF server to local gateway server.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="install.mk_job_template">
+<code class="descclassname">install.</code><code class="descname">mk_job_template</code><span class="sig-paren">(</span><em>ecuid</em>, <em>ecgid</em>, <em>gateway</em>, <em>destination</em>, <em>fp_root</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#mk_job_template"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.mk_job_template" 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.</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>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
+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
+environment.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="install.mk_tarball">
+<code class="descclassname">install.</code><code class="descname">mk_tarball</code><span class="sig-paren">(</span><em>tarball_path</em>, <em>target</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#mk_tarball"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.mk_tarball" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a tarball with all necessary files which need to be sent to the
+installation directory.
+It does not matter if this is local or remote.
+Collects all python files, the Fortran source and makefiles,
+the ECMWF_ENV file, the CONTROL files as well as the
+template 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">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
+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>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="install.un_tarball">
+<code class="descclassname">install.</code><code class="descname">un_tarball</code><span class="sig-paren">(</span><em>tarball_path</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/install.html#un_tarball"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#install.un_tarball" title="Permalink to this definition">¶</a></dt>
+<dd><p>Extracts the given tarball into current 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"><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
+relevant data for flex_extract.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</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>
+<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>
+<dd><p>Get the arguments from script call and from CONTROL file.
+Decides from the argument “queue” if the local version
+is done “queue=None” or the gateway version with “queue=ecgate”
+or “queue=cca”.</p>
+</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>
+<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
+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
+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>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</div>
+</div>
+<div class="section" id="classes">
+<h2><a class="toc-backref" href="#id4">Classes</a><a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-ControlFile">
+<span id="controlfile"></span><h3><a class="toc-backref" href="#id5">ControlFile</a><a class="headerlink" href="#module-ControlFile" title="Permalink to this headline">¶</a></h3>
+<dl class="class">
+<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>
+<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>
+</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> (<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>
+</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> (<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>
+</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>
+</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>
+<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>
+<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>
+</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 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>
+<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>
+</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>
+<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>
+</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="#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>
+</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>
+<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>
+</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> (<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>
+</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="#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>
+</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>
+<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>
+</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>
+<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="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>
+<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="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>
+<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>
+</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>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>
+<dd><p>Submits a MARS retrieval. Depending on the existence of
+ECMWF Web-API it is submitted via Python or a
+subprocess in the Shell. The parameter for the mars retrieval
+are taken from the defined class attributes.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="MarsRetrieval.MarsRetrieval.display_info">
+<code class="descname">display_info</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/MarsRetrieval.html#MarsRetrieval.display_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#MarsRetrieval.MarsRetrieval.display_info" title="Permalink to this definition">¶</a></dt>
+<dd><p>Prints all class attributes and their values to the
+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>
+<dd><p>Write all request parameter in alpabetical order into a “csv” 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 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>
+
+</dd></dl>
 
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+</div>
+<div class="section" id="module-UioFiles">
+<span id="uiofiles"></span><h3><a class="toc-backref" href="#id9">UioFiles</a><a class="headerlink" href="#module-UioFiles" title="Permalink to this headline">¶</a></h3>
+<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>
+<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>
+<dd><p>Deletes the files.</p>
+</dd></dl>
 
-      
-      <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>
+</dd></dl>
 
+</div>
+</div>
+<div class="section" id="modules">
+<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>
+<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>
+<dd><p>Divides the complete retrieval period in smaller chunks and
+retrieves the data from MARS.</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>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
+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
+the rest of the parameter list.
+Default value is False.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
 
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
+<dl class="function">
+<dt id="get_mars_data.get_mars_data">
+<code class="descclassname">get_mars_data.</code><code class="descname">get_mars_data</code><span class="sig-paren">(</span><em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/get_mars_data.html#get_mars_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#get_mars_data.get_mars_data" title="Permalink to this definition">¶</a></dt>
+<dd><p>Retrieves the EC data needed for a FLEXPART simulation.</p>
+<p>Start and end dates for retrieval period is set. Retrievals
+are divided into smaller periods if necessary and datechunk parameter
+is 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"><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>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="get_mars_data.main">
+<code class="descclassname">get_mars_data.</code><code class="descname">main</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/get_mars_data.html#main"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#get_mars_data.main" title="Permalink to this definition">¶</a></dt>
+<dd><p>Controls the program to get data out of mars.</p>
+<p>This is done if it is called directly from command line.
+Then it also takes program call arguments and control file input.</p>
+</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>
+<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>
+<dd><p>Controls the program to prepare flexpart input files from mars data.</p>
+<p>This is done if it is called directly from command line.
+Then it also takes program call arguments and control file input.</p>
+</dd></dl>
 
+<dl class="function">
+<dt id="prepare_flexpart.prepare_flexpart">
+<code class="descclassname">prepare_flexpart.</code><code class="descname">prepare_flexpart</code><span class="sig-paren">(</span><em>ppid</em>, <em>c</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/prepare_flexpart.html#prepare_flexpart"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#prepare_flexpart.prepare_flexpart" title="Permalink to this definition">¶</a></dt>
+<dd><p>Converts the mars data into flexpart ready input files.</p>
+<p>Specific data fields are converted to a different grid and the flux
+data are going to be disaggregated. The data fields are collected by
+hour and stored in a file with a specific FLEXPART relevant naming
+convention.</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>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
+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
+command line.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
 
+</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>
+<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>
+<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>
+</tbody>
+</table>
+</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>
+<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">
+<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>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>
+</tbody>
+</table>
+</dd></dl>
 
+<dl class="function">
+<dt id="tools.get_list_as_string">
+<code class="descclassname">tools.</code><code class="descname">get_list_as_string</code><span class="sig-paren">(</span><em>list_obj</em>, <em>concatenate_sign='</em>, <em>'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#get_list_as_string"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.get_list_as_string" title="Permalink to this definition">¶</a></dt>
+<dd><p>Converts a list of arbitrary content into a single 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">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
+list elements. Default value is “, “.</li>
+</ul>
+</td>
+</tr>
+<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>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
 
+<dl class="function">
+<dt id="tools.init128">
+<code class="descclassname">tools.</code><code class="descname">init128</code><span class="sig-paren">(</span><em>filepath</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#init128"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.init128" title="Permalink to this definition">¶</a></dt>
+<dd><p>Opens and reads the grib file with table 128 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"><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>
+<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>
+</tbody>
+</table>
+</dd></dl>
 
+<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>
+<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>
+</tbody>
+</table>
+</dd></dl>
 
+<dl class="function">
+<dt id="tools.my_error">
+<code class="descclassname">tools.</code><code class="descname">my_error</code><span class="sig-paren">(</span><em>users</em>, <em>message='ERROR'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#my_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.my_error" title="Permalink to this definition">¶</a></dt>
+<dd><p>Prints a specified error message which can be passed to the function
+before exiting the program.</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) – Error message. Default value is “ERROR”.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
 
+<dl class="function">
+<dt id="tools.none_or_int">
+<code class="descclassname">tools.</code><code class="descname">none_or_int</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#none_or_int"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.none_or_int" title="Permalink to this definition">¶</a></dt>
+<dd><p>Converts the input string into pythons None-type if the string
+contains string “None”. Otherwise it is converted to an integer value.</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>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>
+<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
+converted into an integer value.</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">None or int(value)</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
 
+<dl class="function">
+<dt id="tools.none_or_str">
+<code class="descclassname">tools.</code><code class="descname">none_or_str</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#none_or_str"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.none_or_str" title="Permalink to this definition">¶</a></dt>
+<dd><p>Converts the input string into pythons None-type if the string
+contains string “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>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>
+<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>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">None or value</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
 
+<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>
+<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>
+</tbody>
+</table>
+</dd></dl>
 
+<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
+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">
+<p class="first admonition-title">Note</p>
+<p class="last">This method is taken from an example at the ECMWF wiki website.
+<a class="reference external" href="https://software.ecmwf.int/wiki/display/GRIB/index.py">https://software.ecmwf.int/wiki/display/GRIB/index.py</a>; 2018-03-16</p>
+</div>
+<p class="rubric">Example</p>
+<p>product(‘ABCD’, ‘xy’) –&gt; Ax Ay Bx By Cx Cy Dx Dy</p>
+<p>product(range(2), repeat = 3) –&gt; 000 001 010 011 100 101 110 111</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>*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>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>prod</strong> – Return will be done with “yield”. A tuple of combined arguments.
+See example in description above.</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">tuple</span></code></p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
 
+<dl class="function">
+<dt id="tools.put_file_to_ecserver">
+<code class="descclassname">tools.</code><code class="descname">put_file_to_ecserver</code><span class="sig-paren">(</span><em>ecd</em>, <em>filename</em>, <em>target</em>, <em>ecuid</em>, <em>ecgid</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#put_file_to_ecserver"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.put_file_to_ecserver" title="Permalink to this definition">¶</a></dt>
+<dd><p>Uses the ecaccess-file-put command to send a file to the ECMWF servers.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The return value is just for testing reasons. It does not have
+to be used from the calling function since the whole error handling
+is done in here.</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 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>
+</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>
+<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>
+<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>
+</tbody>
+</table>
+</dd></dl>
 
+<dl class="function">
+<dt id="tools.silent_remove">
+<code class="descclassname">tools.</code><code class="descname">silent_remove</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#silent_remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.silent_remove" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove file if it exists.
+The function does not fail if the file does not exist.</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>) – The name of the file to be removed without notification.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
 
-<div role="navigation" aria-label="breadcrumbs navigation">
+<dl class="function">
+<dt id="tools.submit_job_to_ecserver">
+<code class="descclassname">tools.</code><code class="descname">submit_job_to_ecserver</code><span class="sig-paren">(</span><em>target</em>, <em>jobname</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#submit_job_to_ecserver"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.submit_job_to_ecserver" title="Permalink to this definition">¶</a></dt>
+<dd><p>Uses ecaccess-job-submit command to submit a job to the ECMWF server.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The return value is just for testing reasons. It does not have
+to be used from the calling function since the whole error handling
+is done in here.</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 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>
+</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>
+</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>
 
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="index.html">Docs</a> &raquo;</li>
-        
-      <li>Auto Generated Documentation</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-            
-            <a href="_sources/api.rst.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-    
-  </ul>
+<dl class="function">
+<dt id="tools.to_param_id">
+<code class="descclassname">tools.</code><code class="descname">to_param_id</code><span class="sig-paren">(</span><em>pars</em>, <em>table</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/tools.html#to_param_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.to_param_id" title="Permalink to this definition">¶</a></dt>
+<dd><p>Transform parameter names to parameter ids with ECMWF grib table 128.</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>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
+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.
+The key is the parameter number and the value is the
+short name of the parameter.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><strong>ipar</strong> – List of addpar parameters from CONTROL file transformed to
+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>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
 
-  
-  <hr/>
 </div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="module-disaggregation">
-<span id="auto-generated-documentation"></span><h1>Auto Generated Documentation<a class="headerlink" href="#module-disaggregation" title="Permalink to this headline">¶</a></h1>
+<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>
 <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>
@@ -272,6 +1427,8 @@ E.g. [[array_t1], [array_t2], [array_t3], [array_t4]]</td>
 </div>
 </dd></dl>
 
+</div>
+</div>
 </div>
 
 
@@ -285,7 +1442,7 @@ E.g. [[array_t1], [array_t2], [array_t3], [array_t4]]</td>
         <a href="support.html" class="btn btn-neutral float-right" title="Support" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="user_guide.html" class="btn btn-neutral" title="User Guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="user_guide/control_templates.html" class="btn btn-neutral" title="CONTROL-file templates" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
diff --git a/documentation/Sphinx/build/html/downloads.html b/documentation/Sphinx/build/html/downloads.html
index 6fac483..2cbcfda 100644
--- a/documentation/Sphinx/build/html/downloads.html
+++ b/documentation/Sphinx/build/html/downloads.html
@@ -28,8 +28,8 @@
   <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" />
-    <link rel="next" title="Installation" href="installation.html" />
-    <link rel="prev" title="Welcome to flex_extract’s documentation!" href="index.html" /> 
+    <link rel="next" title="Download tar-balls" href="downloads/tar_balls.html" />
+    <link rel="prev" title="Welcome to flex_extract’s user documentation!" href="index.html" /> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -84,7 +84,12 @@
             
               <p class="caption"><span class="caption-text">Table of Contents:</span></p>
 <ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Downloads</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Downloads</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="downloads/tar_balls.html">Download tar-balls</a></li>
+<li class="toctree-l2"><a class="reference internal" href="downloads/git_repo.html">Git Repository</a></li>
+<li class="toctree-l2"><a class="reference internal" href="downloads/history_changes.html">History of Changes</a></li>
+</ul>
+</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>
@@ -159,6 +164,8 @@
 <p>Describe download options of flex_extract ….</p>
 <blockquote>
 <div>UNDER CONSTRUCTION</div></blockquote>
+<div class="toctree-wrapper compound">
+</div>
 </div>
 
 
@@ -169,10 +176,10 @@
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="installation.html" class="btn btn-neutral float-right" title="Installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="downloads/tar_balls.html" class="btn btn-neutral float-right" title="Download tar-balls" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="index.html" class="btn btn-neutral" title="Welcome to flex_extract’s documentation!" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="index.html" class="btn btn-neutral" title="Welcome to flex_extract’s user documentation!" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
diff --git a/documentation/Sphinx/build/html/downloads/git_repo.html b/documentation/Sphinx/build/html/downloads/git_repo.html
new file mode 100644
index 0000000..c46a986
--- /dev/null
+++ b/documentation/Sphinx/build/html/downloads/git_repo.html
@@ -0,0 +1,236 @@
+
+
+<!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>Git Repository &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" />
+    <link rel="next" title="History of Changes" href="history_changes.html" />
+    <link rel="prev" title="Download tar-balls" href="tar_balls.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 class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../downloads.html">Downloads</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="tar_balls.html">Download tar-balls</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Git Repository</a></li>
+<li class="toctree-l2"><a class="reference internal" href="history_changes.html">History of Changes</a></li>
+</ul>
+</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="../downloads.html">Downloads</a> &raquo;</li>
+        
+      <li>Git Repository</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/downloads/git_repo.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="git-repository">
+<h1>Git Repository<a class="headerlink" href="#git-repository" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="history_changes.html" class="btn btn-neutral float-right" title="History of Changes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="tar_balls.html" class="btn btn-neutral" title="Download tar-balls" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/downloads/history_changes.html b/documentation/Sphinx/build/html/downloads/history_changes.html
new file mode 100644
index 0000000..d63eb3b
--- /dev/null
+++ b/documentation/Sphinx/build/html/downloads/history_changes.html
@@ -0,0 +1,236 @@
+
+
+<!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>History of Changes &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" />
+    <link rel="next" title="Installation" href="../installation.html" />
+    <link rel="prev" title="Git Repository" href="git_repo.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 class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../downloads.html">Downloads</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="tar_balls.html">Download tar-balls</a></li>
+<li class="toctree-l2"><a class="reference internal" href="git_repo.html">Git Repository</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">History of Changes</a></li>
+</ul>
+</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="../downloads.html">Downloads</a> &raquo;</li>
+        
+      <li>History of Changes</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/downloads/history_changes.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="history-of-changes">
+<h1>History of Changes<a class="headerlink" href="#history-of-changes" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../installation.html" class="btn btn-neutral float-right" title="Installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="git_repo.html" class="btn btn-neutral" title="Git Repository" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/downloads/tar_balls.html b/documentation/Sphinx/build/html/downloads/tar_balls.html
new file mode 100644
index 0000000..fb3cb36
--- /dev/null
+++ b/documentation/Sphinx/build/html/downloads/tar_balls.html
@@ -0,0 +1,236 @@
+
+
+<!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>Download tar-balls &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" />
+    <link rel="next" title="Git Repository" href="git_repo.html" />
+    <link rel="prev" title="Downloads" href="../downloads.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 class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../downloads.html">Downloads</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Download tar-balls</a></li>
+<li class="toctree-l2"><a class="reference internal" href="git_repo.html">Git Repository</a></li>
+<li class="toctree-l2"><a class="reference internal" href="history_changes.html">History of Changes</a></li>
+</ul>
+</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="../downloads.html">Downloads</a> &raquo;</li>
+        
+      <li>Download tar-balls</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/downloads/tar_balls.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="download-tar-balls">
+<h1>Download tar-balls<a class="headerlink" href="#download-tar-balls" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="git_repo.html" class="btn btn-neutral float-right" title="Git Repository" 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>
+      
+    </div>
+  
+
+  <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">
+        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/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/genindex.html b/documentation/Sphinx/build/html/genindex.html
index 08462f1..562e1d4 100644
--- a/documentation/Sphinx/build/html/genindex.html
+++ b/documentation/Sphinx/build/html/genindex.html
@@ -155,21 +155,119 @@
 <h1 id="index">Index</h1>
 
 <div class="genindex-jumpbox">
- <a href="#D"><strong>D</strong></a>
+ <a href="#A"><strong>A</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="#G"><strong>G</strong></a>
  | <a href="#I"><strong>I</strong></a>
+ | <a href="#M"><strong>M</strong></a>
+ | <a href="#N"><strong>N</strong></a>
+ | <a href="#P"><strong>P</strong></a>
+ | <a href="#R"><strong>R</strong></a>
+ | <a href="#S"><strong>S</strong></a>
+ | <a href="#T"><strong>T</strong></a>
+ | <a href="#U"><strong>U</strong></a>
+ | <a href="#W"><strong>W</strong></a>
  
 </div>
+<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>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <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="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>
+      <li><a href="api.html#tools.clean_up">clean_up() (in module tools)</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>
+      </ul></li>
+      <li><a href="api.html#GribTools.GribTools.copy">copy() (GribTools.GribTools method)</a>
+</li>
+      <li><a href="api.html#EcFlexpart.EcFlexpart.create">create() (EcFlexpart.EcFlexpart method)</a>
+</li>
+  </ul></td>
+</tr></table>
+
 <h2 id="D">D</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#disaggregation.dapoly">dapoly() (in module disaggregation)</a>
+</li>
+      <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#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#disaggregation.darain">darain() (in module disaggregation)</a>
+      <li><a href="api.html#install.delete_convert_build">delete_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#module-disaggregation">disaggregation (module)</a>
 </li>
+      <li><a href="api.html#MarsRetrieval.MarsRetrieval.display_info">display_info() (MarsRetrieval.MarsRetrieval method)</a>
+</li>
+      <li><a href="api.html#get_mars_data.do_retrievement">do_retrievement() (in module get_mars_data)</a>
+</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#EcFlexpart.EcFlexpart">EcFlexpart (class in EcFlexpart)</a>
+
+      <ul>
+        <li><a href="api.html#module-EcFlexpart">(module)</a>
+</li>
+      </ul></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>
+      <li><a href="api.html#install.get_install_cmdline_arguments">get_install_cmdline_arguments() (in module install)</a>
+</li>
+      <li><a href="api.html#GribTools.GribTools.get_keys">get_keys() (GribTools.GribTools method)</a>
+</li>
+      <li><a href="api.html#tools.get_list_as_string">get_list_as_string() (in module tools)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <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>
+
+      <ul>
+        <li><a href="api.html#module-GribTools">(module)</a>
+</li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
@@ -177,6 +275,160 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <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>
+  </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#module-install">install (module)</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="M">M</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#get_mars_data.main">main() (in module get_mars_data)</a>
+
+      <ul>
+        <li><a href="api.html#install.main">(in module install)</a>
+</li>
+        <li><a href="api.html#prepare_flexpart.main">(in module prepare_flexpart)</a>
+</li>
+        <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#MarsRetrieval.MarsRetrieval">MarsRetrieval (class in MarsRetrieval)</a>
+
+      <ul>
+        <li><a href="api.html#module-MarsRetrieval">(module)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#install.mk_compilejob">mk_compilejob() (in module install)</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#install.mk_tarball">mk_tarball() (in module install)</a>
+</li>
+      <li><a href="api.html#tools.my_error">my_error() (in module tools)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="N">N</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <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>
+</tr></table>
+
+<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#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>
+      <li><a href="api.html#MarsRetrieval.MarsRetrieval.print_infodata_csv">print_infodata_csv() (MarsRetrieval.MarsRetrieval method)</a>
+</li>
+      <li><a href="api.html#EcFlexpart.EcFlexpart.process_output">process_output() (EcFlexpart.EcFlexpart method)</a>
+</li>
+      <li><a href="api.html#tools.product">product() (in module tools)</a>
+</li>
+      <li><a href="api.html#tools.put_file_to_ecserver">put_file_to_ecserver() (in module tools)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="R">R</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#tools.read_ecenv">read_ecenv() (in module tools)</a>
+</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>
+  </ul></td>
+</tr></table>
+
+<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>
+      <li><a href="api.html#tools.silent_remove">silent_remove() (in module tools)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#module-submit">submit (module)</a>
+</li>
+      <li><a href="api.html#submit.submit">submit() (in module submit)</a>
+</li>
+      <li><a href="api.html#tools.submit_job_to_ecserver">submit_job_to_ecserver() (in module tools)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<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#ControlFile.ControlFile.to_list">to_list() (ControlFile.ControlFile method)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <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>
+  </ul></td>
+</tr></table>
+
+<h2 id="U">U</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#UioFiles.UioFiles">UioFiles (class in UioFiles)</a>
+
+      <ul>
+        <li><a href="api.html#module-UioFiles">(module)</a>
+</li>
+      </ul></li>
+  </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>
+  </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#EcFlexpart.EcFlexpart.write_namelist">write_namelist() (EcFlexpart.EcFlexpart method)</a>
 </li>
   </ul></td>
 </tr></table>
diff --git a/documentation/Sphinx/build/html/index.html b/documentation/Sphinx/build/html/index.html
index dcef903..16bd866 100644
--- a/documentation/Sphinx/build/html/index.html
+++ b/documentation/Sphinx/build/html/index.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Welcome to flex_extract’s documentation! &mdash; flex_extract 7.1 alpha documentation</title>
+  <title>Welcome to flex_extract’s user documentation! &mdash; flex_extract 7.1 alpha documentation</title>
   
 
   
@@ -134,7 +134,7 @@
     
       <li><a href="#">Docs</a> &raquo;</li>
         
-      <li>Welcome to flex_extract’s documentation!</li>
+      <li>Welcome to flex_extract’s user documentation!</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -153,8 +153,10 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <div class="section" id="welcome-to-flex-extract-s-documentation">
-<h1>Welcome to flex_extract’s documentation!<a class="headerlink" href="#welcome-to-flex-extract-s-documentation" title="Permalink to this headline">¶</a></h1>
+  <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>
 <table style="width:100%;">
   <tr>
     <td style="width:200px;height:150px;">
@@ -238,7 +240,29 @@
 <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="api.html">Auto Generated Documentation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="api.html#porgrams">Porgrams</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="api.html#module-install">install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="api.html#module-submit">submit</a></li>
+</ul>
+</li>
+<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-MarsRetrieval">MarsRetrieval</a></li>
+<li class="toctree-l3"><a class="reference internal" href="api.html#module-UioFiles">UioFiles</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="api.html#modules">Modules</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="api.html#module-get_mars_data">get_mars_data</a></li>
+<li class="toctree-l3"><a class="reference internal" href="api.html#module-prepare_flexpart">prepare_flexpart</a></li>
+<li class="toctree-l3"><a class="reference internal" href="api.html#module-tools">tools</a></li>
+<li class="toctree-l3"><a class="reference internal" href="api.html#module-disaggregation">disaggregation</a></li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="support.html">Support</a></li>
 </ul>
 </div>
diff --git a/documentation/Sphinx/build/html/installation.html b/documentation/Sphinx/build/html/installation.html
index f8878fd..f2c7f32 100644
--- a/documentation/Sphinx/build/html/installation.html
+++ b/documentation/Sphinx/build/html/installation.html
@@ -28,8 +28,8 @@
   <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" />
-    <link rel="next" title="Usage" href="usage.html" />
-    <link rel="prev" title="Requirements" href="requirements.html" /> 
+    <link rel="next" title="Requirements" href="installation/requirements.html" />
+    <link rel="prev" title="Downloads" href="downloads.html" /> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -82,12 +82,19 @@
               
             
             
-              <p class="caption"><span class="caption-text">Contents:</span></p>
+              <p class="caption"><span class="caption-text">Table of Contents:</span></p>
 <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="requirements.html">Requirements</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="usage.html">Usage</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="downloads.html">Downloads</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="installation/requirements.html">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation/oper_modes.html">Operating modes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation/test_install.html">Installation test</a></li>
+</ul>
+</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>
 
             
@@ -154,9 +161,10 @@
             
   <div class="section" id="installation">
 <h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
-<p>Describe installation process flex_extract ….</p>
 <blockquote>
 <div>UNDER CONSTRUCTION</div></blockquote>
+<div class="toctree-wrapper compound">
+</div>
 </div>
 
 
@@ -167,10 +175,10 @@
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="usage.html" class="btn btn-neutral float-right" title="Usage" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <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="requirements.html" class="btn btn-neutral" title="Requirements" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</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>
       
     </div>
   
diff --git a/documentation/Sphinx/build/html/installation/oper_modes.html b/documentation/Sphinx/build/html/installation/oper_modes.html
new file mode 100644
index 0000000..b111f0d
--- /dev/null
+++ b/documentation/Sphinx/build/html/installation/oper_modes.html
@@ -0,0 +1,236 @@
+
+
+<!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>Operating modes &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" />
+    <link rel="next" title="Installation test" href="test_install.html" />
+    <link rel="prev" title="Requirements" href="requirements.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 class="current">
+<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Downloads</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../installation.html">Installation</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="requirements.html">Requirements</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Operating modes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="test_install.html">Installation test</a></li>
+</ul>
+</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="../installation.html">Installation</a> &raquo;</li>
+        
+      <li>Operating modes</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/installation/oper_modes.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="operating-modes">
+<h1>Operating modes<a class="headerlink" href="#operating-modes" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="test_install.html" class="btn btn-neutral float-right" title="Installation test" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="requirements.html" class="btn btn-neutral" title="Requirements" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/installation/requirements.html b/documentation/Sphinx/build/html/installation/requirements.html
new file mode 100644
index 0000000..7bb2491
--- /dev/null
+++ b/documentation/Sphinx/build/html/installation/requirements.html
@@ -0,0 +1,236 @@
+
+
+<!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>Requirements &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" />
+    <link rel="next" title="Operating modes" href="oper_modes.html" />
+    <link rel="prev" title="Installation" href="../installation.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 class="current">
+<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Downloads</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../installation.html">Installation</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="oper_modes.html">Operating modes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="test_install.html">Installation test</a></li>
+</ul>
+</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="../installation.html">Installation</a> &raquo;</li>
+        
+      <li>Requirements</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/installation/requirements.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="requirements">
+<h1>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="oper_modes.html" class="btn btn-neutral float-right" title="Operating modes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../installation.html" class="btn btn-neutral" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/installation/test_install.html b/documentation/Sphinx/build/html/installation/test_install.html
new file mode 100644
index 0000000..c399553
--- /dev/null
+++ b/documentation/Sphinx/build/html/installation/test_install.html
@@ -0,0 +1,236 @@
+
+
+<!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>Installation test &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" />
+    <link rel="next" title="Program Structure" href="../program_structure.html" />
+    <link rel="prev" title="Operating modes" href="oper_modes.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 class="current">
+<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Downloads</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../installation.html">Installation</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="requirements.html">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="oper_modes.html">Operating modes</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Installation test</a></li>
+</ul>
+</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="../installation.html">Installation</a> &raquo;</li>
+        
+      <li>Installation test</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/installation/test_install.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="installation-test">
+<h1>Installation test<a class="headerlink" href="#installation-test" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../program_structure.html" class="btn btn-neutral float-right" title="Program Structure" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="oper_modes.html" class="btn btn-neutral" title="Operating modes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/objects.inv b/documentation/Sphinx/build/html/objects.inv
index 2c7d0b71a717a8402c7048c9f20ab47308600d29..7f7fb49daf2cebaeb599ad3e7ed2ad1bee74e74a 100644
GIT binary patch
delta 1693
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
Ye)|h|p_#UC|7R6thW?jNNLYFc0E^m51poj5

delta 450
zcmZqU+sZPbwtngq->kz10<GWeTD`bpHMf*Zk5v%Zq|wrLDK%hCXYvHyaC?=TU#0fO
z`3Iexq<gZA`DSGPz3(Pct_zo{xGFACSoOp-Yh8C&@L2|1<x5jOPhNH7jOGu)hdpZF
zey07*nz(q~XR&(D3oWxJwQYVK+n|tI%Wc4|A{rYoPgy1_W2I=ld-e)P0alT<73;KD
zgi6mAjMn+3)Z3jarOcjC7-!zJW&iEn0d?yn)kBW)ep{4Xd{vkI-M+>v`F%1R#SNR5
z6?iuKmHw3eJ(G3zd!?cprqh+ICuE+Sc(AFxTSz5*|9yKS*)z?(n#B`3u83$BB^bOg
zU2<-ZsI>OCYiB#m8iNFn)gQX^`&-k!xyl;JI<FEKW;Lp=*m<mTrfK*c(K}`N?>Kk7
zG;I=Z3Skqp3XeL#Q1-MozD&AWl0EBnaoOBSy%#DtF7Fi9WZGAvc_1$2Q*d|b@qO;6
zBwqWQFr5_<4q+1fso6T`*|(cJe@zpa;Ca_1X2lLe{mS*xD*FVaEPaLNhI?BJthk^m
z8`FCA``ULLyN{jwo;Y#q-!o0xd07XJ9jN@(X~QdjV*mPs><LFV@*c2b@SgMU>z$8c
L{~1D0iZ25Ii4@Yg

diff --git a/documentation/Sphinx/build/html/oper_modes.html b/documentation/Sphinx/build/html/oper_modes.html
new file mode 100644
index 0000000..9235935
--- /dev/null
+++ b/documentation/Sphinx/build/html/oper_modes.html
@@ -0,0 +1,236 @@
+
+
+<!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>Operating modes &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" />
+    <link rel="next" title="Installation test" href="test_install.html" />
+    <link rel="prev" title="Requirements" href="requirements.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 class="current">
+<li class="toctree-l1"><a class="reference internal" href="downloads.html">Downloads</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="installation.html">Installation</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="requirements.html">Requirements</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Operating modes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="test_install.html">Installation test</a></li>
+</ul>
+</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="installation.html">Installation</a> &raquo;</li>
+        
+      <li>Operating modes</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="_sources/oper_modes.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="operating-modes">
+<h1>Operating modes<a class="headerlink" href="#operating-modes" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="test_install.html" class="btn btn-neutral float-right" title="Installation test" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="requirements.html" class="btn btn-neutral" title="Requirements" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/program_structure.html b/documentation/Sphinx/build/html/program_structure.html
index a0c7014..dc40043 100644
--- a/documentation/Sphinx/build/html/program_structure.html
+++ b/documentation/Sphinx/build/html/program_structure.html
@@ -28,8 +28,8 @@
   <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" />
-    <link rel="next" title="User Guide" href="user_guide.html" />
-    <link rel="prev" title="Installation" href="installation.html" /> 
+    <link rel="next" title="Program Overview" href="program_structure/prog_overview.html" />
+    <link rel="prev" title="Installation test" href="installation/test_install.html" /> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -86,7 +86,12 @@
 <ul class="current">
 <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 current"><a class="current reference internal" href="#">Program Structure</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Program Structure</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="program_structure/prog_overview.html">Program Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="program_structure/prog_components.html">Program Components</a></li>
+<li class="toctree-l2"><a class="reference internal" href="program_structure/prog_flow.html">Program Flow</a></li>
+</ul>
+</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>
@@ -159,6 +164,8 @@
 <p>Describe structure of flex_extract ….</p>
 <blockquote>
 <div>UNDER CONSTRUCTION</div></blockquote>
+<div class="toctree-wrapper compound">
+</div>
 </div>
 
 
@@ -169,10 +176,10 @@
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="user_guide.html" class="btn btn-neutral float-right" title="User Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="program_structure/prog_overview.html" class="btn btn-neutral float-right" title="Program Overview" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="installation.html" class="btn btn-neutral" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="installation/test_install.html" class="btn btn-neutral" title="Installation test" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
diff --git a/documentation/Sphinx/build/html/program_structure/prog_components.html b/documentation/Sphinx/build/html/program_structure/prog_components.html
new file mode 100644
index 0000000..52ecea2
--- /dev/null
+++ b/documentation/Sphinx/build/html/program_structure/prog_components.html
@@ -0,0 +1,236 @@
+
+
+<!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>Program Components &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" />
+    <link rel="next" title="Program Flow" href="prog_flow.html" />
+    <link rel="prev" title="Program Overview" href="prog_overview.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 class="current">
+<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 current"><a class="reference internal" href="../program_structure.html">Program Structure</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="prog_overview.html">Program Overview</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Program Components</a></li>
+<li class="toctree-l2"><a class="reference internal" href="prog_flow.html">Program Flow</a></li>
+</ul>
+</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="../program_structure.html">Program Structure</a> &raquo;</li>
+        
+      <li>Program Components</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/program_structure/prog_components.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="program-components">
+<h1>Program Components<a class="headerlink" href="#program-components" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="prog_flow.html" class="btn btn-neutral float-right" title="Program Flow" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="prog_overview.html" class="btn btn-neutral" title="Program Overview" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/program_structure/prog_flow.html b/documentation/Sphinx/build/html/program_structure/prog_flow.html
new file mode 100644
index 0000000..04ccdef
--- /dev/null
+++ b/documentation/Sphinx/build/html/program_structure/prog_flow.html
@@ -0,0 +1,236 @@
+
+
+<!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>Program Flow &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" />
+    <link rel="next" title="User Guide" href="../user_guide.html" />
+    <link rel="prev" title="Program Components" href="prog_components.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 class="current">
+<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 current"><a class="reference internal" href="../program_structure.html">Program Structure</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="prog_overview.html">Program Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="prog_components.html">Program Components</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Program Flow</a></li>
+</ul>
+</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="../program_structure.html">Program Structure</a> &raquo;</li>
+        
+      <li>Program Flow</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/program_structure/prog_flow.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="program-flow">
+<h1>Program Flow<a class="headerlink" href="#program-flow" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../user_guide.html" class="btn btn-neutral float-right" title="User Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="prog_components.html" class="btn btn-neutral" title="Program Components" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/program_structure/prog_overview.html b/documentation/Sphinx/build/html/program_structure/prog_overview.html
new file mode 100644
index 0000000..8631b1c
--- /dev/null
+++ b/documentation/Sphinx/build/html/program_structure/prog_overview.html
@@ -0,0 +1,236 @@
+
+
+<!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>Program Overview &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" />
+    <link rel="next" title="Program Components" href="prog_components.html" />
+    <link rel="prev" title="Program Structure" href="../program_structure.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 class="current">
+<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 current"><a class="reference internal" href="../program_structure.html">Program Structure</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Program Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="prog_components.html">Program Components</a></li>
+<li class="toctree-l2"><a class="reference internal" href="prog_flow.html">Program Flow</a></li>
+</ul>
+</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="../program_structure.html">Program Structure</a> &raquo;</li>
+        
+      <li>Program Overview</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/program_structure/prog_overview.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="program-overview">
+<h1>Program Overview<a class="headerlink" href="#program-overview" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="prog_components.html" class="btn btn-neutral float-right" title="Program Components" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../program_structure.html" class="btn btn-neutral" title="Program Structure" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/py-modindex.html b/documentation/Sphinx/build/html/py-modindex.html
index 33eec2d..cad8060 100644
--- a/documentation/Sphinx/build/html/py-modindex.html
+++ b/documentation/Sphinx/build/html/py-modindex.html
@@ -159,11 +159,28 @@
    <h1>Python Module Index</h1>
 
    <div class="modindex-jumpbox">
-   <a href="#cap-d"><strong>d</strong></a>
+   <a href="#cap-c"><strong>c</strong></a> | 
+   <a href="#cap-d"><strong>d</strong></a> | 
+   <a href="#cap-e"><strong>e</strong></a> | 
+   <a href="#cap-g"><strong>g</strong></a> | 
+   <a href="#cap-i"><strong>i</strong></a> | 
+   <a href="#cap-m"><strong>m</strong></a> | 
+   <a href="#cap-p"><strong>p</strong></a> | 
+   <a href="#cap-s"><strong>s</strong></a> | 
+   <a href="#cap-t"><strong>t</strong></a> | 
+   <a href="#cap-u"><strong>u</strong></a>
    </div>
 
    <table class="indextable modindextable">
      <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
+     <tr class="cap" id="cap-c"><td></td><td>
+       <strong>c</strong></td><td></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-ControlFile"><code class="xref">ControlFile</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
      <tr class="cap" id="cap-d"><td></td><td>
        <strong>d</strong></td><td></td></tr>
      <tr>
@@ -171,6 +188,75 @@
        <td>
        <a href="api.html#module-disaggregation"><code class="xref">disaggregation</code></a></td><td>
        <em></em></td></tr>
+     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
+     <tr class="cap" id="cap-e"><td></td><td>
+       <strong>e</strong></td><td></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-EcFlexpart"><code class="xref">EcFlexpart</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
+     <tr class="cap" id="cap-g"><td></td><td>
+       <strong>g</strong></td><td></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-get_mars_data"><code class="xref">get_mars_data</code></a></td><td>
+       <em></em></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-GribTools"><code class="xref">GribTools</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>
+       <strong>i</strong></td><td></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-install"><code class="xref">install</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
+     <tr class="cap" id="cap-m"><td></td><td>
+       <strong>m</strong></td><td></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-MarsRetrieval"><code class="xref">MarsRetrieval</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
+     <tr class="cap" id="cap-p"><td></td><td>
+       <strong>p</strong></td><td></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-prepare_flexpart"><code class="xref">prepare_flexpart</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
+     <tr class="cap" id="cap-s"><td></td><td>
+       <strong>s</strong></td><td></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-submit"><code class="xref">submit</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
+     <tr class="cap" id="cap-t"><td></td><td>
+       <strong>t</strong></td><td></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-tools"><code class="xref">tools</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
+     <tr class="cap" id="cap-u"><td></td><td>
+       <strong>u</strong></td><td></td></tr>
+     <tr>
+       <td></td>
+       <td>
+       <a href="api.html#module-UioFiles"><code class="xref">UioFiles</code></a></td><td>
+       <em></em></td></tr>
    </table>
 
 
diff --git a/documentation/Sphinx/build/html/requirements.html b/documentation/Sphinx/build/html/requirements.html
index e4d7dc8..ad34a46 100644
--- a/documentation/Sphinx/build/html/requirements.html
+++ b/documentation/Sphinx/build/html/requirements.html
@@ -28,8 +28,8 @@
   <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" />
-    <link rel="next" title="Installation" href="installation.html" />
-    <link rel="prev" title="Welcome to flex_extract’s documentation!" href="index.html" /> 
+    <link rel="next" title="Operating modes" href="oper_modes.html" />
+    <link rel="prev" title="Installation" href="installation.html" /> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -82,12 +82,19 @@
               
             
             
-              <p class="caption"><span class="caption-text">Contents:</span></p>
+              <p class="caption"><span class="caption-text">Table of Contents:</span></p>
 <ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Requirements</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="usage.html">Usage</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="downloads.html">Downloads</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="installation.html">Installation</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="oper_modes.html">Operating modes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="test_install.html">Installation test</a></li>
+</ul>
+</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>
 
             
@@ -133,6 +140,8 @@
     
       <li><a href="index.html">Docs</a> &raquo;</li>
         
+          <li><a href="installation.html">Installation</a> &raquo;</li>
+        
       <li>Requirements</li>
     
     
@@ -154,7 +163,6 @@
             
   <div class="section" id="requirements">
 <h1>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline">¶</a></h1>
-<p>Describe the requirements to use flex_extract ….</p>
 <blockquote>
 <div>UNDER CONSTRUCTION</div></blockquote>
 </div>
@@ -167,10 +175,10 @@
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="installation.html" class="btn btn-neutral float-right" title="Installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="oper_modes.html" class="btn btn-neutral float-right" title="Operating modes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="index.html" class="btn btn-neutral" title="Welcome to flex_extract’s documentation!" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="installation.html" class="btn btn-neutral" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
diff --git a/documentation/Sphinx/build/html/searchindex.js b/documentation/Sphinx/build/html/searchindex.js
index 058d757..20080a1 100644
--- a/documentation/Sphinx/build/html/searchindex.js
+++ b/documentation/Sphinx/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["api","downloads","index","installation","program_structure","requirements","support","user_guide"],envversion:54,filenames:["api.rst","downloads.rst","index.rst","installation.rst","program_structure.rst","requirements.rst","support.rst","user_guide.rst"],objects:{"":{disaggregation:[0,0,0,"-"]},disaggregation:{IA3:[0,1,1,""],dapoly:[0,1,1,""],darain:[0,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:function"},terms:{"class":[],"default":[],"float":0,"function":[],"int":[],"new":0,"return":0,"short":[],For:0,Its:0,The:0,Uses:[],abcd:[],about:[],abov:[],accumlu:0,accumul:0,adapt:0,adaptaion:[],adding:0,addit:0,addition:0,addpar:[],address:[],advanc:0,afterward:0,algorithm:0,alist:0,all:0,alreadi:[],also:[],ann:0,anoth:[],api:2,appli:0,applic:0,arbitrari:[],arcad:[],arg:[],argument:[],argumentpars:[],arrai:0,array_t1:0,array_t2:0,array_t3:0,array_t4:0,articl:0,assign:[],associ:0,asteroid:[],attribut:0,author:0,auto:2,ball:2,base:0,beck:0,befor:[],book:[],box:0,bug:2,call:[],can:[],central:0,chang:2,changehistori:[],charact:[],check:[],clean_up:[],code:[],coin:[],collect:[],combin:[],command:[],commandlin:[],common:0,complet:0,compon:2,concaten:[],concatenate_sign:[],conserv:0,construct:[1,2,3,4,5,6,7],contain:[],content:2,control:2,controlfil:[],convert:[],copi:0,copyright:0,creat:[],creativ:0,creativecommon:0,cubic:0,dapoli:0,darain:0,data:0,date:[],deaccumul:0,decompos:[],depend:[],describ:[1,3,4,5,6,7],descript:[],destin:[],develop:0,dict:[],dictionari:[],differ:2,dimens:0,dimension:0,directori:[],disaggreg:0,disaggregationreg:[],dispers:0,displai:[],doc:[],doe:[],done:0,download:2,draw:[],dure:0,each:0,ecaccess:[],ecd:[],ecflexpart:[],ecgid:[],ecmwf:0,ecmwv:[],ecuid:[],element:[],email:[],empti:[],env:[],environ:[],equal:0,error:[],exampl:[],execut:[],exist:[],exit:[],extens:0,fail:[],faq:2,field:0,file:[],filenam:[],filepath:[],filter:0,flex_extract:[1,3,4,5,7],flexpart:0,flow:2,flux:0,format:[],fortran:0,from:0,full:[],gatewai:[],gener:2,geometr:0,geoscientif:0,get:[],get_cmdline_argu:[],get_list_as_str:[],git:2,github:[],give:[],given:[],grib:[],grid:0,group:[],guid:2,haimberg:0,handl:[],have:0,help:[],here:2,histori:2,hittmeir:0,horizont:0,how:2,http:0,ia3:0,ids:[],improv:0,includ:[],index:2,inform:0,init128:[],input:0,inputdir:[],instal:2,instanc:[],instead:[],integ:[],integr:0,intermedi:[],intern:0,interpol:0,interv:0,ipar:[],issu:2,itself:[],jame:0,job:[],jobfil:[],jobnam:[],june:0,just:[],keep:0,kei:[],keyword:[],known:2,kwd:[],lagrangian:0,learn:[],length:0,leopold:0,letter:0,licens:[0,2],line:[],linear:0,linux:[],list:[0,2],list_obj:[],mac:[],mail:2,make_dir:[],march:0,mean:0,mention:[],messag:[],method:[],might:[],migrat:0,mode:2,model:0,modifi:0,modul:2,monoton:0,more:0,mountain:0,my_error:[],name:[],neg:0,nfield:0,non:0,none:[],none_or_int:[],none_or_str:[],normal_exit:[],note:[],noth:[],notif:[],notifi:[],novemb:0,number:[],obj:[],one:2,onli:[],open:[],oper:2,option:[1,6],org:0,origin:0,originla:[],other:[],otherwis:[],output:0,overview:2,page:2,par:[],paramet:0,particl:0,pass:[],path:[],petra:0,philipp:0,point:0,polynomi:0,posit:[],primit:[],print:[],problem:[],process:3,prod:[],product:[],program:2,properti:0,pure:[],put:2,put_file_to_ecserv:[],python:0,quantiti:0,queue:[],quick:[],rainfal:0,rang:[],raw:0,rcode:[],read:[],read_ecenv:[],reason:[],reconstruct:0,refer:0,releas:[],remov:[],repeat:[],replac:[],repositori:2,repres:[],requir:2,rest:[],result:[],sabin:0,sampl:0,scheme:0,script:[],search:2,second:[],see:0,seibert:0,send:0,sent:[],sepeart:[],seri:0,server:[],should:[],silent_remov:[],sinc:[],singl:[],size:[],smasher:[],softwar:[],solut:0,sourc:0,specif:[],specifi:[],sprite:[],stop:[],store:[],str_of_list:[],string:[],structur:2,subgrid:0,submit:[],submit_job_to_ecserv:[],success:[],support:2,system:2,tabl:[],table128:[],taken:[],tar:2,target:[],templat:2,test:2,text:2,thei:[],them:[],thi:0,three:0,ticket:2,time:0,timeseri:0,timespan:0,to_param_id:[],tool:[],transform:[],trigger:[],tupl:[],two:0,type:0,under:[0,1,3,4,5,6,7],univers:0,usa:0,usag:[],use:[2,5],used:0,user:2,using:[0,7],valu:0,variabl:[],vienna:0,view:0,visit:0,warn:[],websit:[],were:[],where:[],which:[0,2],whole:[],wiki:[],wil:[],window:[],within:0,without:[],word:[],work:0,yield:[]},titles:["Auto Generated Documentation","Downloads","Welcome to flex_extract\u2019s documentation!","Installation","Program Structure","Requirements","Support","User Guide"],titleterms:{auto:0,document:[0,2],download:1,flex_extract:2,gener:0,guid:7,indic:2,instal:3,program:4,pure:[],requir:5,rest:[],structur:4,support:6,tabl:2,usag:[],user:7,welcom:2}})
\ 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: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
diff --git a/documentation/Sphinx/build/html/support.html b/documentation/Sphinx/build/html/support.html
index ef8c635..b08af70 100644
--- a/documentation/Sphinx/build/html/support.html
+++ b/documentation/Sphinx/build/html/support.html
@@ -28,6 +28,7 @@
   <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" />
+    <link rel="next" title="Ticket System" href="support/ticket_system.html" />
     <link rel="prev" title="Auto Generated Documentation" href="api.html" /> 
 
   
@@ -88,7 +89,13 @@
 <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 current"><a class="current reference internal" href="#">Support</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Support</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="support/ticket_system.html">Ticket System</a></li>
+<li class="toctree-l2"><a class="reference internal" href="support/mailing_list.html">Mailing Lists</a></li>
+<li class="toctree-l2"><a class="reference internal" href="support/known_bugs_issues.html">Known Bugs and Issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="support/faq.html">FAQ - Frequently asked questions</a></li>
+</ul>
+</li>
 </ul>
 
             
@@ -155,9 +162,10 @@
             
   <div class="section" id="support">
 <h1>Support<a class="headerlink" href="#support" title="Permalink to this headline">¶</a></h1>
-<p>Describe support options ….</p>
 <blockquote>
 <div>UNDER CONSTRUCTION</div></blockquote>
+<div class="toctree-wrapper compound">
+</div>
 </div>
 
 
@@ -168,6 +176,8 @@
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
+        <a href="support/ticket_system.html" class="btn btn-neutral float-right" title="Ticket System" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
       
         <a href="api.html" class="btn btn-neutral" title="Auto Generated Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
diff --git a/documentation/Sphinx/build/html/support/faq.html b/documentation/Sphinx/build/html/support/faq.html
new file mode 100644
index 0000000..a6b7efb
--- /dev/null
+++ b/documentation/Sphinx/build/html/support/faq.html
@@ -0,0 +1,234 @@
+
+
+<!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>FAQ - Frequently asked questions &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" />
+    <link rel="prev" title="Known Bugs and Issues" href="known_bugs_issues.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 class="current">
+<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 current"><a class="reference internal" href="../support.html">Support</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="ticket_system.html">Ticket System</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mailing_list.html">Mailing Lists</a></li>
+<li class="toctree-l2"><a class="reference internal" href="known_bugs_issues.html">Known Bugs and Issues</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">FAQ - Frequently asked questions</a></li>
+</ul>
+</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="../support.html">Support</a> &raquo;</li>
+        
+      <li>FAQ - Frequently asked questions</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/support/faq.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="faq-frequently-asked-questions">
+<h1>FAQ - Frequently asked questions<a class="headerlink" href="#faq-frequently-asked-questions" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+      
+        <a href="known_bugs_issues.html" class="btn btn-neutral" title="Known Bugs and Issues" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/support/known_bugs_issues.html b/documentation/Sphinx/build/html/support/known_bugs_issues.html
new file mode 100644
index 0000000..204adcc
--- /dev/null
+++ b/documentation/Sphinx/build/html/support/known_bugs_issues.html
@@ -0,0 +1,237 @@
+
+
+<!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>Known Bugs and Issues &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" />
+    <link rel="next" title="FAQ - Frequently asked questions" href="faq.html" />
+    <link rel="prev" title="Mailing Lists" href="mailing_list.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 class="current">
+<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 current"><a class="reference internal" href="../support.html">Support</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="ticket_system.html">Ticket System</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mailing_list.html">Mailing Lists</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Known Bugs and Issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="faq.html">FAQ - Frequently asked questions</a></li>
+</ul>
+</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="../support.html">Support</a> &raquo;</li>
+        
+      <li>Known Bugs and Issues</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/support/known_bugs_issues.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="known-bugs-and-issues">
+<h1>Known Bugs and Issues<a class="headerlink" href="#known-bugs-and-issues" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="faq.html" class="btn btn-neutral float-right" title="FAQ - Frequently asked questions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="mailing_list.html" class="btn btn-neutral" title="Mailing Lists" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/support/mailing_list.html b/documentation/Sphinx/build/html/support/mailing_list.html
new file mode 100644
index 0000000..b3b2790
--- /dev/null
+++ b/documentation/Sphinx/build/html/support/mailing_list.html
@@ -0,0 +1,237 @@
+
+
+<!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>Mailing Lists &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" />
+    <link rel="next" title="Known Bugs and Issues" href="known_bugs_issues.html" />
+    <link rel="prev" title="Ticket System" href="ticket_system.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 class="current">
+<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 current"><a class="reference internal" href="../support.html">Support</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="ticket_system.html">Ticket System</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Mailing Lists</a></li>
+<li class="toctree-l2"><a class="reference internal" href="known_bugs_issues.html">Known Bugs and Issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="faq.html">FAQ - Frequently asked questions</a></li>
+</ul>
+</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="../support.html">Support</a> &raquo;</li>
+        
+      <li>Mailing Lists</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/support/mailing_list.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="mailing-lists">
+<h1>Mailing Lists<a class="headerlink" href="#mailing-lists" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="known_bugs_issues.html" class="btn btn-neutral float-right" title="Known Bugs and Issues" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="ticket_system.html" class="btn btn-neutral" title="Ticket System" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/support/ticket_system.html b/documentation/Sphinx/build/html/support/ticket_system.html
new file mode 100644
index 0000000..e0cdb95
--- /dev/null
+++ b/documentation/Sphinx/build/html/support/ticket_system.html
@@ -0,0 +1,237 @@
+
+
+<!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>Ticket System &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" />
+    <link rel="next" title="Mailing Lists" href="mailing_list.html" />
+    <link rel="prev" title="Support" href="../support.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 class="current">
+<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 current"><a class="reference internal" href="../support.html">Support</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Ticket System</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mailing_list.html">Mailing Lists</a></li>
+<li class="toctree-l2"><a class="reference internal" href="known_bugs_issues.html">Known Bugs and Issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="faq.html">FAQ - Frequently asked questions</a></li>
+</ul>
+</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="../support.html">Support</a> &raquo;</li>
+        
+      <li>Ticket System</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/support/ticket_system.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="ticket-system">
+<h1>Ticket System<a class="headerlink" href="#ticket-system" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="mailing_list.html" class="btn btn-neutral float-right" title="Mailing Lists" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../support.html" class="btn btn-neutral" title="Support" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/test_install.html b/documentation/Sphinx/build/html/test_install.html
new file mode 100644
index 0000000..a5f872f
--- /dev/null
+++ b/documentation/Sphinx/build/html/test_install.html
@@ -0,0 +1,236 @@
+
+
+<!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>Installation test &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" />
+    <link rel="next" title="Program Structure" href="program_structure.html" />
+    <link rel="prev" title="Operating modes" href="oper_modes.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 class="current">
+<li class="toctree-l1"><a class="reference internal" href="downloads.html">Downloads</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="installation.html">Installation</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="requirements.html">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="oper_modes.html">Operating modes</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Installation test</a></li>
+</ul>
+</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="installation.html">Installation</a> &raquo;</li>
+        
+      <li>Installation test</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="_sources/test_install.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="installation-test">
+<h1>Installation test<a class="headerlink" href="#installation-test" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="program_structure.html" class="btn btn-neutral float-right" title="Program Structure" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="oper_modes.html" class="btn btn-neutral" title="Operating modes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/user_guide.html b/documentation/Sphinx/build/html/user_guide.html
index d09ea88..36e084e 100644
--- a/documentation/Sphinx/build/html/user_guide.html
+++ b/documentation/Sphinx/build/html/user_guide.html
@@ -28,8 +28,8 @@
   <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" />
-    <link rel="next" title="Auto Generated Documentation" href="api.html" />
-    <link rel="prev" title="Program Structure" href="program_structure.html" /> 
+    <link rel="next" title="How to use flex_extract" href="user_guide/how_to.html" />
+    <link rel="prev" title="Program Flow" href="program_structure/prog_flow.html" /> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -87,7 +87,11 @@
 <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 current"><a class="current reference internal" href="#">User Guide</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">User Guide</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="user_guide/how_to.html">How to use flex_extract</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user_guide/control_templates.html">CONTROL-file templates</a></li>
+</ul>
+</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>
@@ -156,9 +160,10 @@
             
   <div class="section" id="user-guide">
 <h1>User Guide<a class="headerlink" href="#user-guide" title="Permalink to this headline">¶</a></h1>
-<p>Describe using flex_extract ….</p>
 <blockquote>
 <div>UNDER CONSTRUCTION</div></blockquote>
+<div class="toctree-wrapper compound">
+</div>
 </div>
 
 
@@ -169,10 +174,10 @@
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="api.html" class="btn btn-neutral float-right" title="Auto Generated Documentation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="user_guide/how_to.html" class="btn btn-neutral float-right" title="How to use flex_extract" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="program_structure.html" class="btn btn-neutral" title="Program Structure" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="program_structure/prog_flow.html" class="btn btn-neutral" title="Program Flow" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
diff --git a/documentation/Sphinx/build/html/user_guide/control_templates.html b/documentation/Sphinx/build/html/user_guide/control_templates.html
new file mode 100644
index 0000000..59849f6
--- /dev/null
+++ b/documentation/Sphinx/build/html/user_guide/control_templates.html
@@ -0,0 +1,235 @@
+
+
+<!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>CONTROL-file templates &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" />
+    <link rel="next" title="Auto Generated Documentation" href="../api.html" />
+    <link rel="prev" title="How to use flex_extract" href="how_to.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 class="current">
+<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 current"><a class="reference internal" href="../user_guide.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="how_to.html">How to use flex_extract</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">CONTROL-file templates</a></li>
+</ul>
+</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="../user_guide.html">User Guide</a> &raquo;</li>
+        
+      <li>CONTROL-file templates</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/user_guide/control_templates.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="control-file-templates">
+<h1>CONTROL-file templates<a class="headerlink" href="#control-file-templates" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../api.html" class="btn btn-neutral float-right" title="Auto Generated Documentation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="how_to.html" class="btn btn-neutral" title="How to use flex_extract" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/user_guide/how_to.html b/documentation/Sphinx/build/html/user_guide/how_to.html
new file mode 100644
index 0000000..fa977d4
--- /dev/null
+++ b/documentation/Sphinx/build/html/user_guide/how_to.html
@@ -0,0 +1,235 @@
+
+
+<!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>How to use flex_extract &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" />
+    <link rel="next" title="CONTROL-file templates" href="control_templates.html" />
+    <link rel="prev" title="User Guide" href="../user_guide.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 class="current">
+<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 current"><a class="reference internal" href="../user_guide.html">User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">How to use flex_extract</a></li>
+<li class="toctree-l2"><a class="reference internal" href="control_templates.html">CONTROL-file templates</a></li>
+</ul>
+</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="../user_guide.html">User Guide</a> &raquo;</li>
+        
+      <li>How to use flex_extract</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/user_guide/how_to.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="how-to-use-flex-extract">
+<h1>How to use flex_extract<a class="headerlink" href="#how-to-use-flex-extract" title="Permalink to this headline">¶</a></h1>
+<blockquote>
+<div>UNDER CONSTRUCTION</div></blockquote>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="control_templates.html" class="btn btn-neutral float-right" title="CONTROL-file templates" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../user_guide.html" class="btn btn-neutral" title="User Guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <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">
+        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/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/source/api.rst b/documentation/Sphinx/source/api.rst
index 6c03ff4..5b4acb2 100644
--- a/documentation/Sphinx/source/api.rst
+++ b/documentation/Sphinx/source/api.rst
@@ -1,5 +1,82 @@
 Auto Generated Documentation
 ============================
 
+.. contents::
+    :local:
+    
+Porgrams
+--------
+
+install
+*******
+
+.. automodule:: install
+    :members:
+    
+submit
+******
+
+.. automodule:: submit
+    :members:
+    
+Classes
+-------
+
+ControlFile
+***********
+
+.. automodule:: ControlFile
+    :members:
+    
+EcFlexpart
+**********
+
+.. automodule:: EcFlexpart
+    :members:
+    
+GribTools
+*********
+
+.. automodule:: GribTools
+    :members:
+
+MarsRetrieval
+*************
+
+.. automodule:: MarsRetrieval
+    :members:
+
+UioFiles
+********
+
+.. automodule:: UioFiles
+    :members:
+
+
+
+Modules
+-------
+
+get_mars_data
+*************
+
+.. automodule:: get_mars_data
+    :members:
+ 
+prepare_flexpart
+****************
+
+.. automodule:: prepare_flexpart
+    :members:    
+    
+tools
+*****
+
+.. automodule:: tools
+    :members:
+
+disaggregation
+**************    
+    
 .. automodule:: disaggregation
     :members:
diff --git a/documentation/Sphinx/source/downloads.rst b/documentation/Sphinx/source/downloads.rst
index 42e62df..676a1fe 100644
--- a/documentation/Sphinx/source/downloads.rst
+++ b/documentation/Sphinx/source/downloads.rst
@@ -3,4 +3,13 @@ Downloads
 
 Describe download options of flex_extract ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    downloads/tar_balls
+    downloads/git_repo
+    downloads/history_changes
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/source/downloads/git_repo.rst b/documentation/Sphinx/source/downloads/git_repo.rst
new file mode 100644
index 0000000..a1f7acf
--- /dev/null
+++ b/documentation/Sphinx/source/downloads/git_repo.rst
@@ -0,0 +1,4 @@
+Git Repository 
+==============
+
+  UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/downloads/history_changes.rst b/documentation/Sphinx/source/downloads/history_changes.rst
new file mode 100644
index 0000000..763420b
--- /dev/null
+++ b/documentation/Sphinx/source/downloads/history_changes.rst
@@ -0,0 +1,4 @@
+History of Changes
+==================
+
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/downloads/tar_balls.rst b/documentation/Sphinx/source/downloads/tar_balls.rst
new file mode 100644
index 0000000..a06dc11
--- /dev/null
+++ b/documentation/Sphinx/source/downloads/tar_balls.rst
@@ -0,0 +1,4 @@
+Download tar-balls
+==================
+
+  UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/index.rst b/documentation/Sphinx/source/index.rst
index 3ca3be9..2ca1ab1 100644
--- a/documentation/Sphinx/source/index.rst
+++ b/documentation/Sphinx/source/index.rst
@@ -3,8 +3,18 @@
    You can adapt this file completely to your liking, but it should at least
    contain the root `toctree` directive.
 
-Welcome to flex_extract's documentation!
-========================================
+Welcome to flex_extract's user documentation!
+=============================================
+
+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. 
+
+
+.. The scripts can be 1) executed locally using the ECMWF WebMARS interface, or 2) on the ECMWF member
+.. 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. 
+
 .. raw:: html
 
     <table style="width:100%;">
@@ -86,7 +96,7 @@ Welcome to flex_extract's documentation!
    License text put in here! Which one?
 
 .. toctree::
-   :maxdepth: 2
+   :maxdepth: 3
    :caption: Table of Contents:
 
    downloads
diff --git a/documentation/Sphinx/source/installation.rst b/documentation/Sphinx/source/installation.rst
index 7e37572..f759bc9 100644
--- a/documentation/Sphinx/source/installation.rst
+++ b/documentation/Sphinx/source/installation.rst
@@ -1,6 +1,15 @@
 Installation
 ============
-
-Describe installation process flex_extract ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    installation/requirements
+    installation/oper_modes
+    installation/test_install
+
+
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/source/installation/oper_modes.rst b/documentation/Sphinx/source/installation/oper_modes.rst
new file mode 100644
index 0000000..72e86f5
--- /dev/null
+++ b/documentation/Sphinx/source/installation/oper_modes.rst
@@ -0,0 +1,6 @@
+Operating modes
+===============
+
+ 
+    UNDER CONSTRUCTION
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/source/installation/requirements.rst b/documentation/Sphinx/source/installation/requirements.rst
new file mode 100644
index 0000000..c1bae21
--- /dev/null
+++ b/documentation/Sphinx/source/installation/requirements.rst
@@ -0,0 +1,6 @@
+Requirements
+============
+
+ 
+    UNDER CONSTRUCTION
+    
diff --git a/documentation/Sphinx/source/installation/test_install.rst b/documentation/Sphinx/source/installation/test_install.rst
new file mode 100644
index 0000000..2543088
--- /dev/null
+++ b/documentation/Sphinx/source/installation/test_install.rst
@@ -0,0 +1,5 @@
+Installation test
+=================
+
+    UNDER CONSTRUCTION
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/source/program_structure.rst b/documentation/Sphinx/source/program_structure.rst
index 3bfab6c..991b373 100644
--- a/documentation/Sphinx/source/program_structure.rst
+++ b/documentation/Sphinx/source/program_structure.rst
@@ -3,4 +3,12 @@ Program Structure
 
 Describe structure of flex_extract ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    program_structure/prog_overview
+    program_structure/prog_components
+    program_structure/prog_flow
diff --git a/documentation/Sphinx/source/program_structure/prog_components.rst b/documentation/Sphinx/source/program_structure/prog_components.rst
new file mode 100644
index 0000000..0c7d560
--- /dev/null
+++ b/documentation/Sphinx/source/program_structure/prog_components.rst
@@ -0,0 +1,5 @@
+Program Components
+==================
+
+ 
+    UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/program_structure/prog_flow.rst b/documentation/Sphinx/source/program_structure/prog_flow.rst
new file mode 100644
index 0000000..07c4d84
--- /dev/null
+++ b/documentation/Sphinx/source/program_structure/prog_flow.rst
@@ -0,0 +1,5 @@
+Program Flow
+================
+
+ 
+    UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/program_structure/prog_overview.rst b/documentation/Sphinx/source/program_structure/prog_overview.rst
new file mode 100644
index 0000000..15cb629
--- /dev/null
+++ b/documentation/Sphinx/source/program_structure/prog_overview.rst
@@ -0,0 +1,5 @@
+Program Overview
+================
+
+ 
+    UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/requirements.rst b/documentation/Sphinx/source/requirements.rst
deleted file mode 100644
index b1f562d..0000000
--- a/documentation/Sphinx/source/requirements.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Requirements
-============
-
-Describe the requirements to use flex_extract ....
- 
-    UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/support.rst b/documentation/Sphinx/source/support.rst
index cd5fe0e..bccf1bf 100644
--- a/documentation/Sphinx/source/support.rst
+++ b/documentation/Sphinx/source/support.rst
@@ -1,6 +1,16 @@
 Support
 =======
 
-Describe support options ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    support/ticket_system
+    support/mailing_list
+    support/known_bugs_issues
+    support/faq
+        
\ No newline at end of file
diff --git a/documentation/Sphinx/source/support/faq.rst b/documentation/Sphinx/source/support/faq.rst
new file mode 100644
index 0000000..ccfe36a
--- /dev/null
+++ b/documentation/Sphinx/source/support/faq.rst
@@ -0,0 +1,4 @@
+FAQ - Frequently asked questions
+================================
+
+  UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/support/known_bugs_issues.rst b/documentation/Sphinx/source/support/known_bugs_issues.rst
new file mode 100644
index 0000000..8748ad8
--- /dev/null
+++ b/documentation/Sphinx/source/support/known_bugs_issues.rst
@@ -0,0 +1,4 @@
+Known Bugs and Issues
+=====================
+
+  UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/support/mailing_list.rst b/documentation/Sphinx/source/support/mailing_list.rst
new file mode 100644
index 0000000..e0f5012
--- /dev/null
+++ b/documentation/Sphinx/source/support/mailing_list.rst
@@ -0,0 +1,4 @@
+Mailing Lists
+=============
+
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/support/ticket_system.rst b/documentation/Sphinx/source/support/ticket_system.rst
new file mode 100644
index 0000000..58b73a6
--- /dev/null
+++ b/documentation/Sphinx/source/support/ticket_system.rst
@@ -0,0 +1,4 @@
+Ticket System
+=============
+  
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/user_guide.rst b/documentation/Sphinx/source/user_guide.rst
index 030a019..4fe6dc0 100644
--- a/documentation/Sphinx/source/user_guide.rst
+++ b/documentation/Sphinx/source/user_guide.rst
@@ -1,6 +1,12 @@
 User Guide
 ==========
-
-Describe using flex_extract ....
  
-    UNDER CONSTRUCTION
\ No newline at end of file
+    UNDER CONSTRUCTION
+    
+.. toctree::
+    :hidden:
+    :maxdepth: 2
+    
+    user_guide/how_to
+    user_guide/control_templates
+    
\ No newline at end of file
diff --git a/documentation/Sphinx/source/user_guide/control_templates.rst b/documentation/Sphinx/source/user_guide/control_templates.rst
new file mode 100644
index 0000000..ccd58c5
--- /dev/null
+++ b/documentation/Sphinx/source/user_guide/control_templates.rst
@@ -0,0 +1,4 @@
+CONTROL-file templates
+======================
+
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/documentation/Sphinx/source/user_guide/how_to.rst b/documentation/Sphinx/source/user_guide/how_to.rst
new file mode 100644
index 0000000..7e041b4
--- /dev/null
+++ b/documentation/Sphinx/source/user_guide/how_to.rst
@@ -0,0 +1,4 @@
+How to use flex_extract
+=======================
+
+   UNDER CONSTRUCTION
\ No newline at end of file
diff --git a/source/python/classes/ControlFile.py b/source/python/classes/ControlFile.py
index 0641622..a0f9591 100644
--- a/source/python/classes/ControlFile.py
+++ b/source/python/classes/ControlFile.py
@@ -70,22 +70,18 @@ class ControlFile(object):
     '''
 
     def __init__(self, filename):
-        '''
-        @Description:
-            Initialises the instance of ControlFile class and defines
-            all class attributes with default values. Afterwards calls
-            function __read_controlfile__ to read parameter from
-            Control file.
+        '''Initialises the instance of ControlFile class and defines
+        all class attributes with default values. Afterwards calls
+        function __read_controlfile__ to read parameter from Control file.
 
-        @Input:
-            self: instance of ControlFile class
-                Description see class documentation.
+        Parameters
+        ----------
+        filename : :obj:`string`
+            Name of CONTROL file.
 
-            filename: string
-                Name of CONTROL file.
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         # list of all possible class attributes and their default values
@@ -161,16 +157,14 @@ class ControlFile(object):
         return
 
     def __read_controlfile__(self):
-        '''
-        @Description:
-            Read CONTROL file and assign all CONTROL file variables.
+        '''Read CONTROL file and assign all CONTROL file variables.
 
-        @Input:
-            self: instance of ControlFile class
-                Description see class documentation.
+        Parameters
+        ----------
+
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         try:
@@ -234,27 +228,27 @@ class ControlFile(object):
         return
 
     def __str__(self):
-        '''
-        @Description:
-            Prepares a string which have all the ControlFile
-            class attributes with its associated values.
-            Each attribute is printed in one line and in
-            alphabetical order.
-
-            Example:
-            'age': 10
-            'color': 'Spotted'
-            'kids': 0
-            'legs': 2
-            'name': 'Dog'
-            'smell': 'Alot'
-
-        @Input:
-            self: instance of ControlFile class
-                Description see class documentation.
-
-        @Return:
-            string of ControlFile class attributes with their values
+        '''Prepares a string which have all the ControlFile class attributes
+        with its associated values. Each attribute is printed in one line and
+        in alphabetical order.
+
+        Example
+        -------
+        'age': 10
+        'color': 'Spotted'
+        'kids': 0
+        'legs': 2
+        'name': 'Dog'
+        'smell': 'Alot'
+
+        Parameters
+        ----------
+
+        Return
+        ------
+        string
+            Single string of concatenated ControlFile class attributes
+            with their values
         '''
         import collections
 
@@ -264,20 +258,17 @@ class ControlFile(object):
         return '\n'.join("%s: %s" % item for item in attrs.items())
 
     def assign_args_to_control(self, args):
-        '''
-        @Description:
-            Overwrites the existing ControlFile instance attributes with
-            the command line arguments.
+        '''Overwrites the existing ControlFile instance attributes with
+        the command line arguments.
 
-        @Input:
-            self: instance of ControlFile class
-                Description see class documentation.
+        Parameters
+        ----------
+        args : :obj:`Namespace`
+            Contains the commandline arguments from script/program call.
 
-            args: instance of ArgumentParser
-                Contains the commandline arguments from script/program call.
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         # get dictionary of command line parameters and eliminate all
@@ -293,18 +284,18 @@ class ControlFile(object):
         return
 
     def assign_envs_to_control(self, envs):
-        '''
-        @Description:
-            Assigns the ECMWF environment parameter.
+        '''Assigns the ECMWF environment parameter.
 
-        @Input:
-            envs: dict of strings
-                Contains the ECMWF environment parameternames "ECUID", "ECGID",
-                "DESTINATION" and "GATEWAY" with its corresponding values.
-                They were read from the file "ECMWF_ENV".
+        Parameters
+        ----------
+        envs : :obj:`dictionary` of :obj:`strings`
+            Contains the ECMWF environment parameternames "ECUID", "ECGID",
+            "DESTINATION" and "GATEWAY" with its corresponding values.
+            They were read from the file "ECMWF_ENV".
+
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         for k, v in envs.iteritems():
@@ -313,23 +304,20 @@ class ControlFile(object):
         return
 
     def check_conditions(self, queue):
-        '''
-        @Description:
-            Checks a couple of necessary attributes and conditions,
-            such as if they exist and contain values.
-            Otherwise set default values.
-
-        @Input:
-            self: instance of ControlFile class
-                Description see class documentation.
-
-            queue: string
-                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.
-
-        @Return:
-            <nothing>
+        '''Checks a couple of necessary attributes and conditions,
+        such as if they exist and contain values.
+        Otherwise set default values.
+
+        Parameters
+        ----------
+        queue : :obj:`string`
+            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.
+
+        Return
+        ------
+
         '''
         from mods.tools import my_error
         import numpy as np
@@ -500,18 +488,16 @@ class ControlFile(object):
         return
 
     def check_install_conditions(self):
-        '''
-        @Description:
-            Checks a couple of necessary attributes and conditions
-            for the installation such as if they exist and contain values.
-            Otherwise set default values.
+        '''Checks a couple of necessary attributes and conditions
+        for the installation such as if they exist and contain values.
+        Otherwise set default values.
 
-        @Input:
-            self: instance of ControlFile class
-                Description see class documentation.
+        Parameters
+        ----------
+
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         if self.install_target and \
@@ -548,21 +534,19 @@ class ControlFile(object):
         return
 
     def to_list(self):
-        '''
-        @Description:
-            Just generates a list of strings containing the attributes and
-            assigned values except the attributes "_expanded", "exedir",
+        '''Just generates a list of strings containing the attributes and
+        assigned values except the attributes "_expanded", "exedir",
+        "ecmwfdatadir" and "flexpart_root_scripts".
+
+        Parameters
+        ----------
+
+        Return
+        ------
+        l : :obj:`list`
+            A sorted list of the all ControlFile class attributes with
+            their values except the attributes "_expanded", "exedir",
             "ecmwfdatadir" and "flexpart_root_scripts".
-
-        @Input:
-            self: instance of ControlFile class
-                Description see class documentation.
-
-        @Return:
-            l: list
-                A sorted list of the all ControlFile class attributes with
-                their values except the attributes "_expanded", "exedir",
-                "ecmwfdatadir" and "flexpart_root_scripts".
         '''
 
         import collections
diff --git a/source/python/classes/EcFlexpart.py b/source/python/classes/EcFlexpart.py
index 85d4bce..cb9a74b 100644
--- a/source/python/classes/EcFlexpart.py
+++ b/source/python/classes/EcFlexpart.py
@@ -110,28 +110,23 @@ class EcFlexpart(object):
     # CLASS FUNCTIONS
     # --------------------------------------------------------------------------
     def __init__(self, c, fluxes=False):
-        '''
-        @Description:
-            Creates an object/instance of EcFlexpart with the
-            associated settings of its attributes for the retrieval.
-
-        @Input:
-            self: instance of EcFlexpart
-                The current object of the class.
-
-            c: instance of class ControlFile
-                Contains all the parameters of CONTROL file and
-                command line.
-                For more information about format and content of the parameter
-                see documentation.
-
-            fluxes: boolean, optional
-                Decides if the flux parameter settings are stored or
-                the rest of the parameter list.
-                Default value is False.
-
-        @Return:
-            <nothing>
+        '''Creates an object/instance of EcFlexpart with the associated
+        settings of its attributes for the retrieval.
+
+        Parameters:
+        -----------
+        c : :obj:`ControlFile`
+            Contains all the parameters of CONTROL file and
+            command line.
+
+        fluxes : :obj:`boolean`, optional
+            Decides if the flux parameter settings are stored or
+            the rest of the parameter list.
+            Default value is False.
+
+        Return
+        ------
+
         '''
         # set a counter for the number of mars requests generated
         self.mreq_count = 0
@@ -305,25 +300,25 @@ class EcFlexpart(object):
 
 
     def _mk_targetname(self, ftype, param, date):
-        '''
-        @Description:
-            Creates the filename for the requested grib data to be stored in.
-            This name is passed as the "target" parameter in the request.
+        '''Creates the filename for the requested grib data to be stored in.
+        This name is passed as the "target" parameter in the request.
 
-        @Input:
-            ftype: string
-                Shortcut name of the type of the field. E.g. AN, FC, PF, ...
+        Parameters
+        ----------
+        ftype : :obj:`string`
+            Shortcut name of the type of the field. E.g. AN, FC, PF, ...
 
-            param: string
-                Shortcut of the grid type. E.g. SH__ML, SH__SL, GG__ML,
-                GG__SL, OG__ML, OG__SL, OG_OROLSM_SL, OG_acc_SL
+        param : :obj:`string`
+            Shortcut of the grid type. E.g. SH__ML, SH__SL, GG__ML,
+            GG__SL, OG__ML, OG__SL, OG_OROLSM_SL, OG_acc_SL
 
-            date: string
-                The date period of the grib data to be stored in this file.
+        date : :obj:`string`
+            The date period of the grib data to be stored in this file.
 
-        @Return:
-            targetname: string
-                The target filename for the grib data.
+        Return
+        ------
+        targetname : :obj:`string`
+            The target filename for the grib data.
         '''
         targetname = (self.inputdir + '/' + ftype + param + '.' + date + '.' +
                       str(os.getppid()) + '.' + str(os.getpid()) + '.grb')
@@ -332,30 +327,27 @@ class EcFlexpart(object):
 
 
     def _start_retrievement(self, request, par_dict):
-        '''
-        @Description:
-            Creates the Mars Retrieval and prints or submits the request
-            depending on the status of the request variable.
-
-        @Input:
-            self: instance of EcFlexpart
-                The current object of the class.
-
-            request: integer
-                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.
-
-            par_dict: dictionary
-                Contains all parameter which have to be set for creating the
-                Mars Retrievals. The parameter are:
-                marsclass, dataset, stream, type, levtype, levelist, resol,
-                gaussian, accuracy, grid, target, area, date, time, number,
-                step, expver, param
-
-        @Return:
-            <nothing>
+        '''Creates the Mars Retrieval and prints or submits the request
+        depending on the status of the request variable.
+
+        Parameters
+        ----------
+        request : :obj:`integer`
+            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.
+
+        par_dict : :obj:`dictionary`
+            Contains all parameter which have to be set for creating the
+            Mars Retrievals. The parameter are:
+            marsclass, dataset, stream, type, levtype, levelist, resol,
+            gaussian, accuracy, grid, target, area, date, time, number,
+            step, expver, param
+
+        Return
+        ------
+
         '''
         # increase number of mars requests
         self.mreq_count += 1
@@ -397,30 +389,30 @@ class EcFlexpart(object):
 
 
     def _mk_index_values(self, inputdir, inputfiles, keys):
-        '''
-        @Description:
-            Creates an index file for a set of grib parameter keys.
-            The values from the index keys are returned in a list.
-
-        @Input:
-            keys: dictionary
-                List of parameter names which serves as index.
-
-            inputfiles: instance of UioFiles
-                Contains a list of files.
-
-        @Return:
-            iid: grib_index
-                This is a grib specific index structure to access
-                messages in a file.
-
-            index_vals: list
-                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
+        '''Creates an index file for a set of grib parameter keys.
+        The values from the index keys are returned in a list.
+
+        Parameters
+        ----------
+        keys : :obj:`dictionary`
+            List of parameter names which serves as index.
+
+        inputfiles : :obj:`UioFiles`
+            Contains a list of files.
+
+        Return
+        ------
+        iid : :obj:`grib_index`
+            This is a grib specific index structure to access
+            messages in a file.
+
+        index_vals : :obj:`list`
+            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
         '''
         iid = None
         index_keys = keys
@@ -454,40 +446,37 @@ class EcFlexpart(object):
 
 
     def retrieve(self, server, dates, public, request, inputdir='.'):
-        '''
-        @Description:
-            Finalizing the retrieval information by setting final details
-            depending on grid type.
-            Prepares MARS retrievals per grid type and submits them.
-
-        @Input:
-            self: instance of EcFlexpart
-                The current object of the class.
-
-            server: instance of ECMWFService or ECMWFDataServer
-                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)
-
-            dates: string
-                Contains start and end date of the retrieval in the format
-                "YYYYMMDD/to/YYYYMMDD"
-
-            request: integer
-                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.
-
-            inputdir: string, optional
-                Path to the directory where the retrieved data is about
-                to be stored. The default is the current directory ('.').
-
-        @Return:
-            <nothing>
+        '''Finalizing the retrieval information by setting final details
+        depending on grid type.
+        Prepares MARS retrievals per grid type and submits them.
+
+        Parameters
+        ----------
+        server : :obj:`ECMWFService` or :obj:`ECMWFDataServer`
+            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)
+
+        dates : :obj:`string`
+            Contains start and end date of the retrieval in the format
+            "YYYYMMDD/to/YYYYMMDD"
+
+        request : :obj:`integer`
+            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.
+
+        inputdir : :obj:`string`, optional
+            Path to the directory where the retrieved data is about
+            to be stored. The default is the current directory ('.').
+
+        Return
+        ------
+
         '''
         self.dates = dates
         self.server = server
@@ -664,28 +653,23 @@ class EcFlexpart(object):
 
 
     def write_namelist(self, c):
-        '''
-        @Description:
-            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
-
-        @Input:
-            self: instance of EcFlexpart
-                The current object of the class.
-
-            c: instance of class ControlFile
-                Contains all the parameters of CONTROL file and
-                command line.
-                For more information about format and content of the parameter
-                see documentation.
-
-            filename: string
+        '''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
+
+        Parameters
+        ----------
+        c : :obj:`ControlFile`
+            Contains all the parameters of CONTROL file and
+            command line.
+
+        filename : :obj:`string`
                 Name of the namelist file.
 
-        @Return:
-            <nothing>
+        Return
+        ------
+
         '''
 
         from genshi.template.text import NewTextTemplate
@@ -733,29 +717,24 @@ class EcFlexpart(object):
 
 
     def deacc_fluxes(self, inputfiles, c):
-        '''
-        @Description:
-            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).
-
-        @Input:
-            self: instance of EcFlexpart
-                The current object of the class.
-
-            inputfiles: instance of UioFiles
-                Contains a list of files.
-
-            c: instance of class ControlFile
-                Contains all the parameters of CONTROL file and
-                command line.
-                For more information about format and content of the parameter
-                see documentation.
-
-        @Return:
-            <nothing>
+        '''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).
+
+        Parameters
+        ----------
+        inputfiles : :obj:`UioFiles`
+            Contains a list of files.
+
+        c : :obj:`ControlFile`
+            Contains all the parameters of CONTROL file and
+            command line.
+
+        Return
+        ------
+
         '''
 
         table128 = init128(_config.PATH_GRIBTABLE)
@@ -951,35 +930,32 @@ class EcFlexpart(object):
 
 
     def create(self, inputfiles, c):
-        '''
-        @Description:
-            This method is based on the ECMWF example index.py
-            https://software.ecmwf.int/wiki/display/GRIB/index.py
-
-            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").
-
-        @Input:
-            self: instance of EcFlexpart
-                The current object of the class.
-
-            inputfiles: instance of UioFiles
-                Contains a list of files.
-
-            c: instance of class ControlFile
-                Contains all the parameters of CONTROL file and
-                command line.
-                For more information about format and content of the parameter
-                see documentation.
-
-        @Return:
-            <nothing>
+        '''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").
+
+        Note
+        ----
+        This method is based on the ECMWF example index.py
+        https://software.ecmwf.int/wiki/display/GRIB/index.py
+
+        Parameters
+        ----------
+        inputfiles : :obj:`UioFiles`
+            Contains a list of files.
+
+        c : :obj:`ControlFile`
+            Contains all the parameters of CONTROL file and
+            command line.
+
+        Return
+        ------
+
         '''
 
         if c.wrf:
@@ -1182,29 +1158,23 @@ class EcFlexpart(object):
 
 
     def process_output(self, c):
-        '''
-        @Description:
-            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
-
-        @Input:
-            self: instance of EcFlexpart
-                The current object of the class.
-
-            c: instance of class ControlFile
-                Contains all the parameters of CONTROL file and
-                command line.
-                For more information about format and content of the parameter
-                see documentation.
-
-        @Return:
-            <nothing>
+        '''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
+
+        Parameters
+        ----------
+        c : :obj:`ControlFile`
+            Contains all the parameters of CONTROL file and
+            command line.
+
+        Return
+        ------
 
         '''
 
@@ -1246,20 +1216,17 @@ class EcFlexpart(object):
 
 
     def prepare_fp_files(self, c):
-        '''
-        @Description:
-            Conversion of GRIB files to FLEXPART binary format.
+        '''Conversion of GRIB files to FLEXPART binary format.
 
-        @Input:
-            c: instance of class ControlFile
-                Contains all the parameters of CONTROL file and
-                command line.
-                For more information about format and content of the parameter
-                see documentation.
+        Parameters
+        ----------
+        c : :obj:`ControlFile`
+            Contains all the parameters of CONTROL file and
+            command line.
 
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
         # generate AVAILABLE file
         # Example of AVAILABLE file data:
diff --git a/source/python/classes/GribTools.py b/source/python/classes/GribTools.py
index 247d178..b215703 100644
--- a/source/python/classes/GribTools.py
+++ b/source/python/classes/GribTools.py
@@ -65,17 +65,16 @@ class GribTools(object):
     # CLASS FUNCTIONS
     # --------------------------------------------------------------------------
     def __init__(self, filenames):
-        '''
-        @Description:
-            Initialise an object of GribTools and assign a list
-            of filenames.
+        '''Initialise an object of GribTools and assign a list of filenames.
+
+        Parameters
+        ----------
+        filenames : :obj:`list` of :obj:`strings`
+             A list of filenames.
 
-        @Input:
-            filenames: list of strings
-                A list of filenames.
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         self.filenames = filenames
@@ -84,24 +83,24 @@ class GribTools(object):
 
 
     def get_keys(self, keynames, wherekeynames=[], wherekeyvalues=[]):
-        '''
-        @Description:
-            get keyvalues for a given list of keynames
-            a where statement can be given (list of key and list of values)
+        '''Get keyvalues for a given list of keynames a where statement
+        can be given (list of key and list of values)
 
-        @Input:
-            keynames: list of strings
-                List of keynames.
+        Parameters
+        ----------
+        keynames : :obj:`list` of :obj:`string`
+            List of keynames.
 
-            wherekeynames: list of strings, optional
-                Default value is an empty list.
+        wherekeynames : :obj:`list` of :obj:`string`, optional
+            Default value is an empty list.
 
-            wherekeyvalues: list of strings, optional
-                Default value is an empty list.
+        wherekeyvalues : :obj:`list` of :obj:`string`, optional
+            Default value is an empty list.
 
-        @Return:
-            return_list: list of strings
-                List of keyvalues for given keynames.
+        Return
+        ------
+        return_list : :obj:`list` of :obj:`string`
+            List of keyvalues for given keynames.
         '''
 
         fileid = open(self.filenames, 'r')
@@ -143,40 +142,39 @@ class GribTools(object):
 
     def set_keys(self, fromfile, keynames, keyvalues, wherekeynames=[],
                  wherekeyvalues=[], strict=False, filemode='w'):
-        '''
-        @Description:
-            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).
+        '''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).
 
-        @Input:
-            fromfile: string
-                Filename of the input file to read the grib messages from.
+        Parameters
+        ----------
+        fromfile : :obj:`string`
+            Filename of the input file to read the grib messages from.
 
-            keynames: list of strings
-                List of keynames. Default is an empty list.
+        keynames : :obj:`list` of :obj:`string`
+            List of keynames. Default is an empty list.
 
-            keyvalues: list of strings
-                List of keynames. Default is an empty list.
+        keyvalues : :obj:`list` of :obj:`string`
+            List of keynames. Default is an empty list.
 
-            wherekeynames: list of strings, optional
-                Default value is an empty list.
+        wherekeynames : :obj:`list` of :obj:`string`, optional
+            Default value is an empty list.
 
-            wherekeyvalues: list of strings, optional
-                Default value is an empty list.
+        wherekeyvalues : :obj:`list` of :obj:`string`, optional
+            Default value is an empty list.
 
-            strict: boolean, 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.
+        strict : :obj:`boolean`, 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.
 
-            filemode: string, optional
-                Sets the mode for the output file. Default is "w".
+        filemode : :obj:`string`, optional
+            Sets the mode for the output file. Default is "w".
 
-        @Return:
-            <nothing>
+        Return
+        ------
 
         '''
         fout = open(self.filenames, filemode)
@@ -218,32 +216,33 @@ class GribTools(object):
 
     def copy(self, filename_in, selectWhere=True,
              keynames=[], keyvalues=[], filemode='w'):
-        '''
-        Add the content of another input grib file to the objects file but
+        '''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.
 
-        @Input:
-            filename_in: string
-                Filename of the input file to read the grib messages from.
+        Parameters
+        ----------
+        filename_in : :obj:`string`
+            Filename of the input file to read the grib messages from.
+
+        selectWhere : :obj:`boolean`, 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.
 
-            selectWhere: boolean, 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.
+        keynames : :obj:`list` of :obj:`string`, optional
+            List of keynames. Default is an empty list.
 
-            keynames: list of strings, optional
-                List of keynames. Default is an empty list.
+        keyvalues : :obj:`list` of :obj:`string`, optional
+            List of keynames. Default is an empty list.
 
-            keyvalues: list of strings, optional
-                List of keynames. Default is an empty list.
+        filemode : :obj:`string`, optional
+            Sets the mode for the output file. Default is "w".
 
-            filemode: string, optional
-                Sets the mode for the output file. Default is "w".
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         fin = open(filename_in)
@@ -283,24 +282,24 @@ class GribTools(object):
         return
 
     def index(self, index_keys=["mars"], index_file="my.idx"):
-        '''
-        @Description:
-            Create index file from a list of files if it does not exist or
-            read an index file.
-
-        @Input:
-            index_keys: list of strings, 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".
-
-            index_file: string, optional
-                Filename where the indices are stored.
-                Default is "my.idx".
-
-        @Return:
-            iid: integer
-                Grib index id.
+        '''Create index file from a list of files if it does not exist or
+        read an index file.
+
+        Parameters
+        ----------
+        index_keys: :obj:`list` of :obj:`string`, 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".
+
+        index_file: :obj:`string`, optional
+            Filename where the indices are stored.
+            Default is "my.idx".
+
+        Return
+        ------
+        iid: :obj:`integer`
+            Grib index id.
         '''
         print("... index will be done")
         iid = None
diff --git a/source/python/classes/MarsRetrieval.py b/source/python/classes/MarsRetrieval.py
index daf8260..29b82ab 100644
--- a/source/python/classes/MarsRetrieval.py
+++ b/source/python/classes/MarsRetrieval.py
@@ -72,14 +72,12 @@ import _config
 # CLASS
 # ------------------------------------------------------------------------------
 class MarsRetrieval(object):
-    '''
-    Class for submitting MARS retrievals.
+    '''Class for submitting MARS retrievals.
 
     A description of MARS keywords/arguments and examples of their
     values can be found here:
     https://software.ecmwf.int/wiki/display/UDOC/\
                    Identification+keywords#Identificationkeywords-class
-
     '''
 
     def __init__(self, server, public, marsclass="ei", dataset="", type="",
@@ -87,218 +85,215 @@ class MarsRetrieval(object):
                  stream="", area="", time="", step="", expver="1",
                  number="", accuracy="", grid="", gaussian="", target="",
                  param=""):
-        '''
-        @Description:
-            Initialises the instance of the MarsRetrieval class and
-            defines and assigns a set of the necessary retrieval parameters
-            for the FLEXPART input data.
-            A description of MARS keywords/arguments, their dependencies
-            on each other and examples of their values can be found here:
-
-            https://software.ecmwf.int/wiki/display/UDOC/MARS+keywords
-
-        @Input:
-            self: instance of MarsRetrieval
-                For description see class documentation.
-
-            server: instance of ECMWFService (from ECMWF Web-API)
-                This is the connection to the ECMWF data servers.
-                It is needed for the pythonic access of ECMWF data.
-
-            public: integer
-                Decides which Web API version is used:
-                0: member-state users and full archive access
-                1: public access and limited access to the public server and
-                   datasets. Needs the parameter dataset.
-                Default is "0" and for member-state users.
-
-            marsclass: string, optional
-                Characterisation of dataset. E.g. EI (ERA-Interim),
-                E4 (ERA40), OD (Operational archive), ea (ERA5).
-                Default is the ERA-Interim dataset "ei".
-
-            dataset: string, optional
-                For public datasets there is the specific naming and parameter
-                dataset which has to be used to characterize the type of
-                data. Usually there is less data available, either in times,
-                domain or parameter.
-                Default is an empty string.
-
-            type: string, optional
-                Determines the type of fields to be retrieved.
-                Selects between observations, images or fields.
-                Examples for fields: Analysis (an), Forecast (fc),
-                Perturbed Forecast (pf), Control Forecast (cf) and so on.
-                Default is an empty string.
-
-            levtype: string, optional
-                Denotes type of level. Has a direct implication on valid
-                levelist values!
-                E.g. model level (ml), pressure level (pl), surface (sfc),
-                potential vorticity (pv), potential temperature (pt)
-                and depth (dp).
-                Default is an empty string.
-
-            levelist: string, optional
-                Specifies the required levels. It has to have a valid
-                correspondence to the selected levtype.
-                Examples: model level: 1/to/137, pressure levels: 500/to/1000
-                Default is an empty string.
-
-            repres: string, optional
-                Selects the representation of the archived data.
-                E.g. sh - spherical harmonics, gg - Gaussian grid,
-                ll - latitude/longitude, ...
-                Default is an empty string.
-
-            date: string, optional
-                Specifies the Analysis date, the Forecast base date or
-                Observations date. Valid formats are:
-                Absolute as YYYY-MM-DD or YYYYMMDD.
-                Default is an empty string.
-
-            resol: string, optional
-                Specifies the desired triangular truncation of retrieved data,
-                before carrying out any other selected post-processing.
-                The default is automatic truncation (auto), by which the lowest
-                resolution compatible with the value specified in grid is
-                automatically selected for the retrieval.
-                Users wanting to perform post-processing from full spectral
-                resolution should specify Archived Value (av).
-                The following are examples of existing resolutions found in
-                the archive: 63, 106, 159, 213, 255, 319, 399, 511, 799 or 1279.
-                This keyword has no meaning/effect if the archived data is
-                not in spherical harmonics representation.
-                The best selection can be found here:
-                https://software.ecmwf.int/wiki/display/UDOC/\
-                      Retrieve#Retrieve-Truncationbeforeinterpolation
-                Default is an empty string.
-
-            stream: string, optional
-                Identifies the forecasting system used to generate the data.
-                E.g. oper (Atmospheric model), enfo (Ensemble forecats), ...
-                Default is an empty string.
-
-            area: string, optional
-                Specifies the desired sub-area of data to be extracted.
-                Areas can be defined to wrap around the globe.
-
-                Latitude values must be given as signed numbers, with:
-                    north latitudes (i.e. north of the equator)
-                        being positive (e.g: 40.5)
-                    south latitutes (i.e. south of the equator)
-                        being negative (e.g: -50.5)
-                Longtitude values must be given as signed numbers, with:
-                    east longitudes (i.e. east of the 0 degree meridian)
-                        being positive (e.g: 35.0)
-                    west longitudes (i.e. west of the 0 degree meridian)
-                        being negative (e.g: -20.5)
-
-                E.g.: North/West/South/East
-                Default is an empty string.
-
-            time: string, optional
-                Specifies the time of the data in hours and minutes.
-                Valid values depend on the type of data: Analysis time,
-                Forecast base time or First guess verification time
-                (all usually at synoptic hours: 00, 06, 12 and 18 ).
-                Observation time (any combination in hours and minutes is valid,
-                subject to data availability in the archive).
-                The syntax is HHMM or HH:MM. If MM is omitted it defaults to 00.
-                Default is an empty string.
-
-            step: string, optional
-                Specifies the forecast time step from forecast base time.
-                Valid values are hours (HH) from forecast base time. It also
-                specifies the length of the forecast which verifies at
-                First Guess time.
-                E.g. 1/3/6-hourly
-                Default is an empty string.
-
-            expver: string, optional
-                The version of the dataset. Each experiment is assigned a
-                unique code (version). Production data is assigned 1 or 2,
-                and experimental data in Operations 11, 12 ,...
-                Research or Member State's experiments have a four letter
-                experiment identifier.
-                Default is "1".
-
-            number: string, optional
-                Selects the member in ensemble forecast run. (Only then it
-                is necessary.) It has a different meaning depending on
-                the type of data.
-                E.g. Perturbed Forecasts: specifies the Ensemble forecast member
-                Default is an empty string.
-
-            accuracy: string, optional
-                Specifies the number of bits per value to be used in the
-                generated GRIB coded fields.
-                A positive integer may be given to specify the preferred number
-                of bits per packed value. This must not be greater than the
-                number of bits normally used for a Fortran integer on the
-                processor handling the request (typically 32 or 64 bit).
-                Within a compute request the accuracy of the original fields
-                can be passed to the result field by specifying accuracy=av.
-                Default is an empty string.
-
-            grid: string, optional
-                Specifies the output grid which can be either a Gaussian grid
-                or a Latitude/Longitude grid. MARS requests specifying
-                grid=av will return the archived model grid.
-
-                Lat/Lon grid: The grid spacing needs to be an integer
-                fraction of 90 degrees e.g. grid = 0.5/0.5
-
-                Gaussian grid: specified by a letter denoting the type of
-                Gaussian grid followed by an integer (the grid number)
-                representing the number of lines between the Pole and Equator,
-                e.g.
-                grid = F160 - full (or regular) Gaussian grid with
-                       160 latitude lines between the pole and equator
-                grid = N320 - ECMWF original reduced Gaussian grid with
-                       320 latitude lines between the pole and equator,
-                       see Reduced Gaussian Grids for grid numbers used at ECMWF
-                grid = O640 - ECMWF octahedral (reduced) Gaussian grid with
-                       640 latitude lines between the pole and equator
-                Default is an empty string.
-
-            gaussian: string, optional
-                This parameter is deprecated and should no longer be used.
-                Specifies the desired type of Gaussian grid for the output.
-                Valid Gaussian grids are quasi-regular (reduced) or regular.
-                Keyword gaussian can only be specified together with
-                keyword grid. Gaussian without grid has no effect.
-                Default is an empty string.
-
-            target: string, optional
-                Specifies a file into which data is to be written after
-                retrieval or manipulation. Path names should always be
-                enclosed in double quotes. The MARS client supports automatic
-                generation of multiple target files using MARS keywords
-                enclosed in square brackets [ ].  If the environment variable
-                MARS_MULTITARGET_STRICT_FORMAT is set to 1 before calling mars,
-                the keyword values will be used in the filename as shown by
-                the ecCodes GRIB tool grib_ls -m, e.g. with
-                MARS_MULTITARGET_STRICT_FORMAT set to 1 the keywords time,
-                expver and param will be formatted as 0600, 0001 and 129.128
-                rather than 600, 1 and 129.
-                Default is an empty string.
-
-            param: string, optional
-                Specifies the meteorological parameter.
-                The list of meteorological parameters in MARS is extensive.
-                Their availability is directly related to their meteorological
-                meaning and, therefore, the rest of directives specified
-                in the MARS request.
-                Meteorological parameters can be specified by their
-                GRIB code (param=130), their mnemonic (param=t) or
-                full name (param=temperature).
-                The list of parameter should be seperated by a "/"-sign.
-                E.g. 130/131/133
-                Default is an empty string.
-
-        @Return:
-            <nothing>
+        '''Initialises the instance of the MarsRetrieval class and
+        defines and assigns a set of the necessary retrieval parameters
+        for the FLEXPART input data.
+        A description of MARS keywords/arguments, their dependencies
+        on each other and examples of their values can be found here:
+
+        https://software.ecmwf.int/wiki/display/UDOC/MARS+keywords
+
+        Parameters
+        ----------
+        server : :obj:`ECMWFService`
+            This is the connection to the ECMWF data servers.
+            It is needed for the pythonic access of ECMWF data.
+
+        public : :obj:`integer`
+            Decides which Web API version is used:
+            0: member-state users and full archive access
+            1: public access and limited access to the public server and
+               datasets. Needs the parameter dataset.
+            Default is "0" and for member-state users.
+
+        marsclass : :obj:`string`, optional
+            Characterisation of dataset. E.g. EI (ERA-Interim),
+            E4 (ERA40), OD (Operational archive), ea (ERA5).
+            Default is the ERA-Interim dataset "ei".
+
+        dataset : :obj:`string`, optional
+            For public datasets there is the specific naming and parameter
+            dataset which has to be used to characterize the type of
+            data. Usually there is less data available, either in times,
+            domain or parameter.
+            Default is an empty string.
+
+        type : :obj:`string`, optional
+            Determines the type of fields to be retrieved.
+            Selects between observations, images or fields.
+            Examples for fields: Analysis (an), Forecast (fc),
+            Perturbed Forecast (pf), Control Forecast (cf) and so on.
+            Default is an empty string.
+
+        levtype : :obj:`string`, optional
+            Denotes type of level. Has a direct implication on valid
+            levelist values!
+            E.g. model level (ml), pressure level (pl), surface (sfc),
+            potential vorticity (pv), potential temperature (pt)
+            and depth (dp).
+            Default is an empty string.
+
+        levelist : :obj:`string`, optional
+            Specifies the required levels. It has to have a valid
+            correspondence to the selected levtype.
+            Examples: model level: 1/to/137, pressure levels: 500/to/1000
+            Default is an empty string.
+
+        repres : :obj:`string`, optional
+            Selects the representation of the archived data.
+            E.g. sh - spherical harmonics, gg - Gaussian grid,
+            ll - latitude/longitude, ...
+            Default is an empty string.
+
+        date : :obj:`string`, optional
+            Specifies the Analysis date, the Forecast base date or
+            Observations date. Valid formats are:
+            Absolute as YYYY-MM-DD or YYYYMMDD.
+            Default is an empty string.
+
+        resol : :obj:`string`, optional
+            Specifies the desired triangular truncation of retrieved data,
+            before carrying out any other selected post-processing.
+            The default is automatic truncation (auto), by which the lowest
+            resolution compatible with the value specified in grid is
+            automatically selected for the retrieval.
+            Users wanting to perform post-processing from full spectral
+            resolution should specify Archived Value (av).
+            The following are examples of existing resolutions found in
+            the archive: 63, 106, 159, 213, 255, 319, 399, 511, 799 or 1279.
+            This keyword has no meaning/effect if the archived data is
+            not in spherical harmonics representation.
+            The best selection can be found here:
+            https://software.ecmwf.int/wiki/display/UDOC/\
+                  Retrieve#Retrieve-Truncationbeforeinterpolation
+            Default is an empty string.
+
+        stream : :obj:`string`, optional
+            Identifies the forecasting system used to generate the data.
+            E.g. oper (Atmospheric model), enfo (Ensemble forecats), ...
+            Default is an empty string.
+
+        area : :obj:`string`, optional
+            Specifies the desired sub-area of data to be extracted.
+            Areas can be defined to wrap around the globe.
+
+            Latitude values must be given as signed numbers, with:
+                north latitudes (i.e. north of the equator)
+                    being positive (e.g: 40.5)
+                south latitutes (i.e. south of the equator)
+                    being negative (e.g: -50.5)
+            Longtitude values must be given as signed numbers, with:
+                east longitudes (i.e. east of the 0 degree meridian)
+                    being positive (e.g: 35.0)
+                west longitudes (i.e. west of the 0 degree meridian)
+                    being negative (e.g: -20.5)
+
+            E.g.: North/West/South/East
+            Default is an empty string.
+
+        time : :obj:`string`, optional
+            Specifies the time of the data in hours and minutes.
+            Valid values depend on the type of data: Analysis time,
+            Forecast base time or First guess verification time
+            (all usually at synoptic hours: 00, 06, 12 and 18 ).
+            Observation time (any combination in hours and minutes is valid,
+            subject to data availability in the archive).
+            The syntax is HHMM or HH:MM. If MM is omitted it defaults to 00.
+            Default is an empty string.
+
+        step : :obj:`string`, optional
+            Specifies the forecast time step from forecast base time.
+            Valid values are hours (HH) from forecast base time. It also
+            specifies the length of the forecast which verifies at
+            First Guess time.
+            E.g. 1/3/6-hourly
+            Default is an empty string.
+
+        expver : :obj:`string`, optional
+            The version of the dataset. Each experiment is assigned a
+            unique code (version). Production data is assigned 1 or 2,
+            and experimental data in Operations 11, 12 ,...
+            Research or Member State's experiments have a four letter
+            experiment identifier.
+            Default is "1".
+
+        number : :obj:`string`, optional
+            Selects the member in ensemble forecast run. (Only then it
+            is necessary.) It has a different meaning depending on
+            the type of data.
+            E.g. Perturbed Forecasts: specifies the Ensemble forecast member
+            Default is an empty string.
+
+        accuracy : :obj:`string`, optional
+            Specifies the number of bits per value to be used in the
+            generated GRIB coded fields.
+            A positive integer may be given to specify the preferred number
+            of bits per packed value. This must not be greater than the
+            number of bits normally used for a Fortran integer on the
+            processor handling the request (typically 32 or 64 bit).
+            Within a compute request the accuracy of the original fields
+            can be passed to the result field by specifying accuracy=av.
+            Default is an empty string.
+
+        grid : :obj:`string`, optional
+            Specifies the output grid which can be either a Gaussian grid
+            or a Latitude/Longitude grid. MARS requests specifying
+            grid=av will return the archived model grid.
+
+            Lat/Lon grid: The grid spacing needs to be an integer
+            fraction of 90 degrees e.g. grid = 0.5/0.5
+
+            Gaussian grid: specified by a letter denoting the type of
+            Gaussian grid followed by an integer (the grid number)
+            representing the number of lines between the Pole and Equator,
+            e.g.
+            grid = F160 - full (or regular) Gaussian grid with
+                   160 latitude lines between the pole and equator
+            grid = N320 - ECMWF original reduced Gaussian grid with
+                   320 latitude lines between the pole and equator,
+                   see Reduced Gaussian Grids for grid numbers used at ECMWF
+            grid = O640 - ECMWF octahedral (reduced) Gaussian grid with
+                   640 latitude lines between the pole and equator
+            Default is an empty string.
+
+        gaussian : :obj:`string`, optional
+            This parameter is deprecated and should no longer be used.
+            Specifies the desired type of Gaussian grid for the output.
+            Valid Gaussian grids are quasi-regular (reduced) or regular.
+            Keyword gaussian can only be specified together with
+            keyword grid. Gaussian without grid has no effect.
+            Default is an empty string.
+
+        target : :obj:`string`, optional
+            Specifies a file into which data is to be written after
+            retrieval or manipulation. Path names should always be
+            enclosed in double quotes. The MARS client supports automatic
+            generation of multiple target files using MARS keywords
+            enclosed in square brackets [ ].  If the environment variable
+            MARS_MULTITARGET_STRICT_FORMAT is set to 1 before calling mars,
+            the keyword values will be used in the filename as shown by
+            the ecCodes GRIB tool grib_ls -m, e.g. with
+            MARS_MULTITARGET_STRICT_FORMAT set to 1 the keywords time,
+            expver and param will be formatted as 0600, 0001 and 129.128
+            rather than 600, 1 and 129.
+            Default is an empty string.
+
+        param : :obj:`string`, optional
+            Specifies the meteorological parameter.
+            The list of meteorological parameters in MARS is extensive.
+            Their availability is directly related to their meteorological
+            meaning and, therefore, the rest of directives specified
+            in the MARS request.
+            Meteorological parameters can be specified by their
+            GRIB code (param=130), their mnemonic (param=t) or
+            full name (param=temperature).
+            The list of parameter should be seperated by a "/"-sign.
+            E.g. 130/131/133
+            Default is an empty string.
+
+        Return
+        ------
+
         '''
 
         self.server = server
@@ -327,17 +322,15 @@ class MarsRetrieval(object):
 
 
     def display_info(self):
-        '''
-        @Description:
-            Prints all class attributes and their values to the
-            standard output.
+        '''Prints all class attributes and their values to the
+        standard output.
+
+        Parameters
+        ----------
 
-        @Input:
-            self: instance of MarsRetrieval
-                For description see class documentation.
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
         # Get all class attributes and their values as a dictionary
         attrs = vars(self).copy()
@@ -354,23 +347,20 @@ class MarsRetrieval(object):
 
 
     def print_info(self, inputdir, request_number):
-        '''
-        @Description:
-            Prints all mars requests to an extra file for debugging and
-            information.
+        '''Prints all mars requests to an extra file for debugging and
+        information.
 
-        @Input:
-            self: instance of MarsRetrieval
-                For description see class documentation.
+        Parameters
+        ----------
+        inputdir : :obj:`string`
+            The path where all data from the retrievals are stored.
 
-            inputdir: string
-                The path where all data from the retrievals are stored.
+        request_number : :obj:`integer`
+            Number of mars requests for flux and non-flux data.
 
-            request_number: integer
-                Number of mars requests for flux and non-flux data.
+        Return
+        ------
 
-            @Return:
-            <nothing>
         '''
         # Get all class attributes and their values as a dictionary
         attrs = vars(self).copy()
@@ -392,22 +382,19 @@ class MarsRetrieval(object):
 
 
     def print_infodata_csv(self, inputdir, request_number):
-        '''
-        @Description:
-            Write all request parameter in alpabetical order into a "csv" file.
+        '''Write all request parameter in alpabetical order into a "csv" file.
 
-        @Input:
-            self: instance of MarsRetrieval
-                For description see class documentation.
+        Parameters
+        ----------
+        inputdir : :obj:`string`
+            The path where all data from the retrievals are stored.
 
-            inputdir: string
-                The path where all data from the retrievals are stored.
+        request_number : :obj:`integer`
+            Number of mars requests for flux and non-flux data.
 
-            request_number: integer
-                Number of mars requests for flux and non-flux data.
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         # Get all class attributes and their values as a dictionary
@@ -426,19 +413,17 @@ class MarsRetrieval(object):
         return
 
     def data_retrieve(self):
-        '''
-        @Description:
-            Submits a MARS retrieval. Depending on the existence of
-            ECMWF Web-API it is submitted via Python or a
-            subprocess in the Shell. The parameter for the mars retrieval
-            are taken from the defined class attributes.
-
-        @Input:
-            self: instance of MarsRetrieval
-                For description see class documentation.
-
-        @Return:
-            <nothing>
+        '''Submits a MARS retrieval. Depending on the existence of
+        ECMWF Web-API it is submitted via Python or a
+        subprocess in the Shell. The parameter for the mars retrieval
+        are taken from the defined class attributes.
+
+        Parameters
+        ----------
+
+        Return
+        ------
+
         '''
         # Get all class attributes and their values as a dictionary
         attrs = vars(self).copy()
diff --git a/source/python/classes/UioFiles.py b/source/python/classes/UioFiles.py
index e891608..28d3986 100644
--- a/source/python/classes/UioFiles.py
+++ b/source/python/classes/UioFiles.py
@@ -60,8 +60,7 @@ from mods.tools import silent_remove, get_list_as_string
 # ------------------------------------------------------------------------------
 
 class UioFiles(object):
-    '''
-    Class to manipulate files. At initialisation it has the pattern
+    '''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.
     '''
@@ -69,22 +68,19 @@ class UioFiles(object):
     # CLASS FUNCTIONS
     # --------------------------------------------------------------------------
     def __init__(self, path, pattern):
-        '''
-        @Description:
-            Assignes a specific pattern for these files.
+        '''Assignes a specific pattern for these files.
 
-        @Input:
-            self: instance of UioFiles
-                Description see class documentation.
+        Parameters
+        ----------
+        path : :obj:`string`
+            Directory where to list the files.
 
-            path: string
-                Directory where to list the files.
+        pattern : :obj:`string`
+            Regular expression pattern. For example: '\*.grb'
 
-            pattern: string
-                Regular expression pattern. For example: '*.grb'
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         self.path = path
@@ -97,20 +93,17 @@ class UioFiles(object):
 
     #@profiling.timefn
     def __list_files__(self, path):
-        '''
-        @Description:
-            Lists all files in the directory with the matching
-            regular expression pattern.
+        '''Lists all files in the directory with the matching
+        regular expression pattern.
 
-        @Input:
-            self: instance of UioFiles
-                Description see class documentation.
+        Parameters
+        ----------
+        path : :obj:`string`
+            Path to the files.
 
-            path: string
-                Path to the files.
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
         # Get the absolute path
         path = os.path.abspath(path)
@@ -123,18 +116,16 @@ class UioFiles(object):
         return
 
     def __str__(self):
-        '''
-        @Description:
-            Converts the list of files into a single string.
-            The entries are sepereated by "," sign.
+        '''Converts the list of files into a single string.
+        The entries are sepereated by "," sign.
 
-        @Input:
-            self: instance of UioFiles
-                Description see class documentation.
+        Parameters
+        ----------
 
-        @Return:
-            files_string: string
-                The content of the list as a single string.
+        Return
+        ------
+        files_string : :obj:`string`
+            The content of the list as a single string.
         '''
 
         filenames = [os.path.basename(f) for f in self.files]
@@ -143,16 +134,14 @@ class UioFiles(object):
         return files_string
 
     def delete_files(self):
-        '''
-        @Description:
-            Deletes the files.
+        '''Deletes the files.
+
+        Parameters
+        ----------
 
-        @Input:
-            self: instance of UioFiles
-                Description see class documentation.
+        Return
+        ------
 
-        @Return:
-            <nothing>
         '''
 
         for old_file in self.files:
diff --git a/source/python/install.py b/source/python/install.py
index cbef571..3ab8218 100755
--- a/source/python/install.py
+++ b/source/python/install.py
@@ -65,16 +65,14 @@ from mods.tools import make_dir, put_file_to_ecserver, submit_job_to_ecserver
 # FUNCTIONS
 # ------------------------------------------------------------------------------
 def main():
-    '''
-    @Description:
-        Controls the installation process. Calls the installation function
-        if target is specified.
+    '''Controls the installation process. Calls the installation function
+    if target is specified.
 
-    @Intput:
-        <nothing>
+    Parameters
+    ----------
 
-    @Return:
-        <nothing>
+    Return
+    ------
     '''
 
     args = get_install_cmdline_arguments()
@@ -87,17 +85,16 @@ def main():
     return
 
 def get_install_cmdline_arguments():
-    '''
-    @Description:
-        Decomposes the command line arguments and assigns them to variables.
-        Apply default values for non mentioned arguments.
+    '''Decomposes the command line arguments and assigns them to variables.
+    Apply default values for non mentioned arguments.
 
-    @Input:
-        <nothing>
+    Parameters
+    ----------
 
-    @Return:
-        args: instance of ArgumentParser
-            Contains the commandline arguments from script/program call.
+    Return
+    ------
+    args : :obj:`Namespace`
+        Contains the commandline arguments from script/program call.
     '''
     parser = ArgumentParser(description='Install flex_extract software locally or \
                             on ECMWF machines',
@@ -138,21 +135,19 @@ def get_install_cmdline_arguments():
 
 
 def install_via_gateway(c):
-    '''
-    @Description:
-        Perform the actual installation on local machine or prepare data
-        transfer to remote gate and submit a job script which will
-        install everything on the remote gate.
-
-    @Input:
-        c: instance of class ControlFile
-            Contains all the parameters of CONTROL file and
-            command line.
-            For more information about format and content of the parameter
-            see documentation.
-
-    @Return:
-        <nothing>
+    '''Perform the actual installation on local machine or prepare data
+    transfer to remote gate and submit a job script which will
+    install everything on the remote gate.
+
+    Parameters
+    ----------
+    c : :obj:`ControlFile`
+        Contains all the parameters of CONTROL file and
+        command line.
+
+    Return
+    ------
+
     '''
     import tarfile
 
@@ -223,25 +218,25 @@ def install_via_gateway(c):
     return
 
 def mk_tarball(tarball_path, target):
-    '''
-    @Description:
-        Creates a tarball with all necessary files which need to be sent to the
-        installation directory.
-        It does not matter if this is local or remote.
-        Collects all python files, the Fortran source and makefiles,
-        the ECMWF_ENV file, the CONTROL files as well as the
-        template files.
-
-    @Input:
-        tarball_path: string
-            The complete path to the tar file which will contain all
-            relevant data for flex_extract.
-
-        target: string
-            The queue where the job is submitted to.
-
-    @Return:
-        <nothing>
+    '''Creates a tarball with all necessary files which need to be sent to the
+    installation directory.
+    It does not matter if this is local or remote.
+    Collects all python files, the Fortran source and makefiles,
+    the ECMWF_ENV file, the CONTROL files as well as the
+    template files.
+
+    Parameters
+    ----------
+    tarball_path : :obj:`string`
+        The complete path to the tar file which will contain all
+        relevant data for flex_extract.
+
+    target : :obj:`string`
+        The queue where the job is submitted to.
+
+    Return
+    ------
+
     '''
     import tarfile
     from glob import glob
@@ -293,17 +288,17 @@ def mk_tarball(tarball_path, target):
 
 
 def un_tarball(tarball_path):
-    '''
-    @Description:
-        Extracts the given tarball into current directory.
+    '''Extracts the given tarball into current directory.
 
-    @Input:
-        tarball_path: string
-            The complete path to the tar file which will contain all
-            relevant data for flex_extract.
+    Parameters
+    ----------
+    tarball_path : :obj:`string`
+        The complete path to the tar file which will contain all
+        relevant data for flex_extract.
+
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
     import tarfile
 
@@ -315,28 +310,28 @@ def un_tarball(tarball_path):
     return
 
 def mk_env_vars(ecuid, ecgid, gateway, destination):
-    '''
-    @Description:
-        Creates a file named ECMWF_ENV which contains the
-        necessary environmental variables at ECMWF servers.
-        It is based on the template ECMWF_ENV.template.
+    '''Creates a file named ECMWF_ENV which contains the
+    necessary environmental variables at ECMWF servers.
+    It is based on the template ECMWF_ENV.template.
+
+    Parameters
+    ----------
+    ecuid : :obj:`string`
+        The user id on ECMWF server.
 
-    @Input:
-        ecuid: string
-            The user id on ECMWF server.
+    ecgid : :obj:`string`
+        The group id on ECMWF server.
 
-        ecgid: string
-            The group id on ECMWF server.
+    gateway : :obj:`string`
+        The gateway server the user is using.
 
-        gateway: string
-            The gateway server the user is using.
+    destination : :obj:`string`
+        The remote destination which is used to transfer files
+        from ECMWF server to local gateway server.
 
-        destination: string
-            The remote destination which is used to transfer files
-            from ECMWF server to local gateway server.
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
     from genshi.template.text import NewTextTemplate
     from genshi.template import  TemplateLoader
@@ -357,32 +352,32 @@ def mk_env_vars(ecuid, ecgid, gateway, destination):
     return
 
 def mk_compilejob(makefile, target, ecuid, ecgid, fp_root):
-    '''
-    @Description:
-        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.
+    '''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.
+
+    Parameters
+    ----------
+    makefile : :obj:`string`
+        Name of the makefile which should be used to compile FORTRAN
+        CONVERT2 program.
 
-    @Input:
-        makefile: string
-            Name of the makefile which should be used to compile FORTRAN
-            CONVERT2 program.
+    target : :obj:`string`
+        The target where the installation should be done, e.g. the queue.
 
-        target: string
-            The target where the installation should be done, e.g. the queue.
+    ecuid : :obj:`string`
+        The user id on ECMWF server.
 
-        ecuid: string
-            The user id on ECMWF server.
+    ecgid : :obj:`string`
+        The group id on ECMWF server.
 
-        ecgid: string
-            The group id on ECMWF server.
+    fp_root : :obj:`string`
+       Path to the root directory of FLEXPART environment or flex_extract
+       environment.
 
-        fp_root: string
-           Path to the root directory of FLEXPART environment or flex_extract
-           environment.
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
     from genshi.template.text import NewTextTemplate
     from genshi.template import  TemplateLoader
@@ -412,32 +407,32 @@ def mk_compilejob(makefile, target, ecuid, ecgid, fp_root):
     return
 
 def mk_job_template(ecuid, ecgid, gateway, destination, fp_root):
-    '''
-    @Description:
-        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.
+    '''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.
 
-    @Input:
-        ecuid: string
-            The user id on ECMWF server.
+    Parameters
+    ----------
+    ecuid : :obj:`string`
+        The user id on ECMWF server.
 
-        ecgid: string
-            The group id on ECMWF server.
+    ecgid : :obj:`string`
+        The group id on ECMWF server.
 
-        gateway: string
-            The gateway server the user is using.
+    gateway : :obj:`string`
+        The gateway server the user is using.
 
-        destination: string
-            The remote destination which is used to transfer files
-            from ECMWF server to local gateway server.
+    destination : :obj:`string`
+        The remote destination which is used to transfer files
+        from ECMWF server to local gateway server.
 
-        fp_root: string
-           Path to the root directory of FLEXPART environment or flex_extract
-           environment.
+    fp_root : :obj:`string`
+       Path to the root directory of FLEXPART environment or flex_extract
+       environment.
+
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
     from genshi.template.text import NewTextTemplate
     from genshi.template import  TemplateLoader
@@ -466,17 +461,17 @@ def mk_job_template(ecuid, ecgid, gateway, destination, fp_root):
     return
 
 def delete_convert_build(src_path):
-    '''
-    @Description:
-        Clean up the Fortran source directory and remove all
-        build files (e.g. *.o, *.mod and CONVERT2)
+    '''Clean up the Fortran source directory and remove all
+    build files (e.g. \*.o, \*.mod and CONVERT2)
+
+    Parameters
+    ----------
+    src_path : :obj:`string`
+        Path to the fortran source directory.
 
-    @Input:
-        src_path: string
-            Path to the fortran source directory.
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
 
     modfiles = UioFiles(src_path, '*.mod')
@@ -490,19 +485,19 @@ def delete_convert_build(src_path):
     return
 
 def make_convert_build(src_path, makefile):
-    '''
-    @Description:
-        Compiles the Fortran code and generates the executable.
+    '''Compiles the Fortran code and generates the executable.
+
+    Parameters
+    ----------
+    src_path : :obj:`string`
+        Path to the fortran source directory.
 
-    @Input:
-        src_path: string
-            Path to the fortran source directory.
+    makefile : :obj:`string`
+        The name of the makefile which should be used.
 
-        makefile: string
-            The name of the makefile which should be used.
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
 
     try:
diff --git a/source/python/mods/get_mars_data.py b/source/python/mods/get_mars_data.py
index cf13d65..197c1c5 100755
--- a/source/python/mods/get_mars_data.py
+++ b/source/python/mods/get_mars_data.py
@@ -68,18 +68,17 @@ except ImportError:
 # FUNCTION
 # ------------------------------------------------------------------------------
 def main():
-    '''
-    @Description:
-        If get_mars_data is called directly from command line,
+    '''Controls the program to get data out of mars.
+
+    This is done if it is called directly from command line.
+    Then it also takes program call arguments and control file input.
 
-        the program flow and calls the argumentparser function and
-        the get_mars_data function for retrieving EC data.
+    Parameters
+    ----------
 
-    @Input:
-        <nothing>
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
 
     args = get_cmdline_arguments()
@@ -96,22 +95,21 @@ def main():
     return
 
 def get_mars_data(c):
-    '''
-    @Description:
-        Retrieves the EC data needed for a FLEXPART simulation.
-        Start and end dates for retrieval period is set. Retrievals
-        are divided into smaller periods if necessary and datechunk parameter
-        is set.
-
-    @Input:
-        c: instance of class ControlFile
-            Contains all the parameters of CONTROL file and
-            command line.
-            For more information about format and content of the parameter
-            see documentation.
-
-    @Return:
-        <nothing>
+    '''Retrieves the EC data needed for a FLEXPART simulation.
+
+    Start and end dates for retrieval period is set. Retrievals
+    are divided into smaller periods if necessary and datechunk parameter
+    is set.
+
+    Parameters
+    ----------
+    c : :obj:`ControlFile`
+        Contains all the parameters of CONTROL file and
+        command line.
+
+    Return
+    ------
+
     '''
 
     if not os.path.exists(c.inputdir):
@@ -205,38 +203,36 @@ def get_mars_data(c):
     return
 
 def do_retrievement(c, server, start, end, delta_t, fluxes=False):
-    '''
-    @Description:
-        Divides the complete retrieval period in smaller chunks and
-        retrieves the data from MARS.
+    '''Divides the complete retrieval period in smaller chunks and
+    retrieves the data from MARS.
+
+    Parameters
+    ----------
+    c : :obj:`ControlFile`
+        Contains all the parameters of CONTROL file and
+        command line.
 
-    @Input:
-        c: instance of class ControlFile
-            Contains all the parameters of CONTROL file and
-            command line.
-            For more information about format and content of the parameter
-            see documentation.
+    server : :obj:`ECMWFService`
+            The server connection to ECMWF.
 
-        server: instance of ECMWFService
-            The server connection to ECMWF
+    start : :obj:`datetime`
+        The start date of the retrieval.
 
-        start: instance of datetime
-            The start date of the retrieval.
+    end : :obj:`datetime`
+        The end date of the retrieval.
 
-        end: instance of datetime
-            The end date of the retrieval.
+    delta_t : :obj:`datetime`
+        Delta_t + 1 is the maximal time period of a single
+        retrieval.
 
-        delta_t: instance of datetime
-            Delta_t +1 is the maximal time period of a single
-            retrieval.
+    fluxes : :obj:`boolean`, optional
+        Decides if the flux parameters are to be retrieved or
+        the rest of the parameter list.
+        Default value is False.
 
-        fluxes: boolean, optional
-            Decides if the flux parameters are to be retrieved or
-            the rest of the parameter list.
-            Default value is False.
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
 
     # since actual day also counts as one day,
diff --git a/source/python/mods/prepare_flexpart.py b/source/python/mods/prepare_flexpart.py
index 2e2d84e..f60f05e 100755
--- a/source/python/mods/prepare_flexpart.py
+++ b/source/python/mods/prepare_flexpart.py
@@ -78,17 +78,17 @@ except ImportError:
 # FUNCTION
 # ------------------------------------------------------------------------------
 def main():
-    '''
-    @Description:
-        If prepare_flexpart is called from command line, this function controls
-        the program flow and calls the argumentparser function and
-        the prepare_flexpart function for preparation of GRIB data for FLEXPART.
+    '''Controls the program to prepare flexpart input files from mars data.
+
+    This is done if it is called directly from command line.
+    Then it also takes program call arguments and control file input.
+
+    Parameters
+    ----------
 
-    @Input:
-        <nothing>
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
 
     args = get_cmdline_arguments()
@@ -104,27 +104,26 @@ def main():
     return
 
 def prepare_flexpart(ppid, c):
-    '''
-    @Description:
-        Lists all grib files retrieved from MARS with get_mars_data and
-        uses prepares data for the use in FLEXPART. Specific data fields
-        are converted to a different grid and the flux data are going to be
-        disaggregated. The data fields are collected by hour and stored in
-        a file with a specific FLEXPART relevant naming convention.
-
-    @Input:
-        ppid: int
-            Contains the ppid number of the current ECMWF job. If it is called
-            from this script, it is "None".
-
-        c: instance of class ControlFile
-            Contains all the parameters of CONTROL file and
-            command line.
-            For more information about format and content of the parameter
-            see documentation.
-
-    @Return:
-        <nothing>
+    '''Converts the mars data into flexpart ready input files.
+
+    Specific data fields are converted to a different grid and the flux
+    data are going to be disaggregated. The data fields are collected by
+    hour and stored in a file with a specific FLEXPART relevant naming
+    convention.
+
+    Parameters
+    ----------
+    ppid : :obj:`int`
+        Contains the ppid number of the current ECMWF job. It will be None if
+        the method was called within this module.
+
+    c : :obj:`ControlFile`
+        Contains all the parameters of CONTROL file and
+        command line.
+
+    Return
+    ------
+
     '''
 
     if not ppid:
diff --git a/source/python/mods/tools.py b/source/python/mods/tools.py
index d8b6c02..2ab2ad4 100644
--- a/source/python/mods/tools.py
+++ b/source/python/mods/tools.py
@@ -60,56 +60,55 @@ from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
 # ------------------------------------------------------------------------------
 
 def none_or_str(value):
-    '''
-    @Description:
-        Converts the input string into pythons None-type if the string
-        contains "None".
-
-    @Input:
-        value: string
-            String to be checked for the "None" word.
-
-    @Return:
-        None or value:
-            Return depends on the content of the input value. If it was "None",
-            then the python type None is returned. Otherwise the string itself.
+    '''Converts the input string into pythons None-type if the string
+    contains string "None".
+
+    Parameters
+    ----------
+    value : :obj:`string`
+        String to be checked for the "None" word.
+
+    Return
+    ------
+    None or value:
+        Return depends on the content of the input value. If it was "None",
+        then the python type None is returned. Otherwise the string itself.
     '''
     if value == 'None':
         return None
     return value
 
 def none_or_int(value):
-    '''
-    @Description:
-        Converts the input string into pythons None-type if the string
-        contains "None". Otherwise it is converted to an integer value.
-
-    @Input:
-        value: string
-            String to be checked for the "None" word.
-
-    @Return:
-        None or int(value):
-            Return depends on the content of the input value. If it was "None",
-            then the python type None is returned. Otherwise the string is
-            converted into an integer value.
+    '''Converts the input string into pythons None-type if the string
+    contains string "None". Otherwise it is converted to an integer value.
+
+    Parameters
+    ----------
+    value : :obj:`string`
+        String to be checked for the "None" word.
+
+    Return
+    ------
+    None or int(value):
+        Return depends on the content of the input value. If it was "None",
+        then the python type None is returned. Otherwise the string is
+        converted into an integer value.
     '''
     if value == 'None':
         return None
     return int(value)
 
 def get_cmdline_arguments():
-    '''
-    @Description:
-        Decomposes the command line arguments and assigns them to variables.
-        Apply default values for non mentioned arguments.
+    '''Decomposes the command line arguments and assigns them to variables.
+    Apply default values for non mentioned arguments.
 
-    @Input:
-        <nothing>
+    Parameters
+    ----------
 
-    @Return:
-        args: instance of ArgumentParser
-            Contains the commandline arguments from script/program call.
+    Return
+    ------
+    args : :obj:`Namespace`
+        Contains the commandline arguments from script/program call.
     '''
 
     parser = ArgumentParser(description='Retrieve FLEXPART input from \
@@ -189,19 +188,19 @@ def get_cmdline_arguments():
     return args
 
 def read_ecenv(filename):
-    '''
-    @Description:
-        Reads the file into a dictionary where the key values are the parameter
-        names.
-
-    @Input:
-        filename: string
-            Path to file where the ECMWV environment parameters are stored.
-
-    @Return:
-        envs: dict
-            Contains the environment parameter ecuid, ecgid, gateway
-            and destination for ECMWF server environments.
+    '''Reads the file into a dictionary where the key values are the parameter
+    names.
+
+    Parameters
+    ----------
+    filename : :obj:`string`
+        Path to file where the ECMWF environment parameters are stored.
+
+    Return
+    ------
+    envs : :obj:`dictionary`
+        Contains the environment parameter ecuid, ecgid, gateway
+        and destination for ECMWF server environments.
     '''
     envs= {}
 
@@ -213,20 +212,17 @@ def read_ecenv(filename):
     return envs
 
 def clean_up(c):
-    '''
-    @Description:
-        Remove all files from intermediate directory
-        (inputdir from CONTROL file).
-
-    @Input:
-        c: instance of class ControlFile
-            Contains all the parameters of CONTROL file and
-            command line.
-            For more information about format and content of the parameter
-            see documentation.
-
-    @Return:
-        <nothing>
+    '''Remove all files from intermediate directory (inputdir).
+
+    Parameters
+    ----------
+    c : :obj:`ControlFile`
+        Contains all the parameters of CONTROL file and
+        command line.
+
+    Return
+    ------
+
     '''
 
     print("clean_up")
@@ -244,22 +240,22 @@ def clean_up(c):
 
 
 def my_error(users, message='ERROR'):
-    '''
-    @Description:
-        Prints a specified error message which can be passed to the function
-        before exiting the program.
+    '''Prints a specified error message which can be passed to the function
+    before exiting the program.
+
+    Parameters
+    ----------
+    user : :obj:`list` of :obj:`string`
+        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.
 
-    @Input:
-        user: list of strings
-            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.
+    message : :obj:`string`, optional
+        Error message. Default value is "ERROR".
 
-        message: string, optional
-            Error message. Default value is "ERROR".
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
 
     print(message)
@@ -290,21 +286,20 @@ def my_error(users, message='ERROR'):
 
 
 def normal_exit(users, message='Done!'):
-    '''
-    @Description:
-        Prints a specific exit message which can be passed to the function.
+    '''Prints a specific exit message which can be passed to the function.
 
-    @Input:
-        user: list of strings
-            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.
+    Parameters
+    ----------
+    user : :obj:`list` of :obj:`string`
+        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.
 
-        message: string, optional
-            Message for exiting program. Default value is "Done!".
+    message : :obj:`string`, optional
+        Message for exiting program. Default value is "Done!".
 
-    @Return:
-        <nothing>
+    Return
+    ------
 
     '''
     print(message)
@@ -332,30 +327,34 @@ def normal_exit(users, message='Done!'):
 
 
 def product(*args, **kwds):
-    '''
-    @Description:
-        This method is taken from an example at the ECMWF wiki website.
-        https://software.ecmwf.int/wiki/display/GRIB/index.py; 2018-03-16
-
-        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.
-
-        Example:
-        product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
-        product(range(2), repeat = 3) --> 000 001 010 011 100 101 110 111
-
-    @Input:
-        *args: tuple
-            Positional arguments (arbitrary number).
-
-        **kwds: dictionary
-            Contains all the keyword arguments from *args.
-
-    @Return:
-        prod: tuple
-            Return will be done with "yield". A tuple of combined arguments.
-            See example in description above.
+    '''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.
+
+    Note
+    ----
+    This method is taken from an example at the ECMWF wiki website.
+    https://software.ecmwf.int/wiki/display/GRIB/index.py; 2018-03-16
+
+    Example
+    -------
+    product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
+
+    product(range(2), repeat = 3) --> 000 001 010 011 100 101 110 111
+
+    Parameters
+    ----------
+    \*args : :obj:`tuple`
+        Positional arguments (arbitrary number).
+
+    \*\*kwds : :obj:`dictionary`
+        Contains all the keyword arguments from \*args.
+
+    Return
+    ------
+    prod : :obj:`tuple`
+        Return will be done with "yield". A tuple of combined arguments.
+        See example in description above.
     '''
     pools = map(tuple, args) * kwds.get('repeat', 1)
     result = [[]]
@@ -368,17 +367,17 @@ def product(*args, **kwds):
 
 
 def silent_remove(filename):
-    '''
-    @Description:
-        Remove file if it exists.
-        The function does not fail if the file does not exist.
+    '''Remove file if it exists.
+    The function does not fail if the file does not exist.
+
+    Parameters
+    ----------
+    filename : :obj:`string`
+        The name of the file to be removed without notification.
 
-    @Input:
-        filename: string
-            The name of the file to be removed without notification.
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
     try:
         os.remove(filename)
@@ -391,19 +390,19 @@ def silent_remove(filename):
 
 
 def init128(filepath):
-    '''
-    @Description:
-        Opens and reads the grib file with table 128 information.
-
-    @Input:
-        filepath: string
-            Path to file of ECMWF grib table number 128.
-
-    @Return:
-        table128: dictionary
-            Contains the ECMWF grib table 128 information.
-            The key is the parameter number and the value is the
-            short name of the parameter.
+    '''Opens and reads the grib file with table 128 information.
+
+    Parameters
+    ----------
+    filepath : :obj:`string`
+        Path to file of ECMWF grib table number 128.
+
+    Return
+    ------
+    table128 : :obj:`dictionary`
+        Contains the ECMWF grib table 128 information.
+        The key is the parameter number and the value is the
+        short name of the parameter.
     '''
     table128 = dict()
     with open(filepath) as f:
@@ -416,27 +415,26 @@ def init128(filepath):
 
 
 def to_param_id(pars, table):
-    '''
-    @Description:
-        Transform parameter names to parameter ids
-        with ECMWF grib table 128.
-
-    @Input:
-        pars: string
-            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.
-
-        table: dictionary
-            Contains the ECMWF grib table 128 information.
-            The key is the parameter number and the value is the
-            short name of the parameter.
-
-    @Return:
-        ipar: list of integer
-            List of addpar parameters from CONTROL file transformed to
-            parameter ids in the format of integer.
+    '''Transform parameter names to parameter ids with ECMWF grib table 128.
+
+    Parameters
+    ----------
+    pars : :obj:`string`
+        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.
+
+    table : :obj:`dictionary`
+        Contains the ECMWF grib table 128 information.
+        The key is the parameter number and the value is the
+        short name of the parameter.
+
+    Return
+    ------
+    ipar : :obj:`list` of :obj:`integer`
+        List of addpar parameters from CONTROL file transformed to
+        parameter ids in the format of integer.
     '''
     cpar = pars.upper().split('/')
     ipar = []
@@ -451,21 +449,21 @@ def to_param_id(pars, table):
     return ipar
 
 def get_list_as_string(list_obj, concatenate_sign=', '):
-    '''
-    @Description:
-        Converts a list of arbitrary content into a single string.
+    '''Converts a list of arbitrary content into a single string.
 
-    @Input:
-        list_obj: list
-            A list with arbitrary content.
+    Parameters
+    ----------
+    list_obj : :obj:`list`
+        A list with arbitrary content.
 
-        concatenate_sign: string, optional
-            A string which is used to concatenate the single
-            list elements. Default value is ", ".
+    concatenate_sign : :obj:`string`, optional
+        A string which is used to concatenate the single
+        list elements. Default value is ", ".
 
-    @Return:
-        str_of_list: string
-            The content of the list as a single string.
+    Return
+    ------
+    str_of_list : :obj:`string`
+        The content of the list as a single string.
     '''
 
     str_of_list = concatenate_sign.join(str(l) for l in list_obj)
@@ -473,17 +471,17 @@ def get_list_as_string(list_obj, concatenate_sign=', '):
     return str_of_list
 
 def make_dir(directory):
-    '''
-    @Description:
-        Creates a directory and gives a warning if the directory
-        already exists. The program stops only if there is another problem.
+    '''Creates a directory and gives a warning if the directory
+    already exists. The program stops only if there is another problem.
 
-    @Input:
-        directory: string
-            The directory name including the path which should be created.
+    Parameters
+    ----------
+    directory : :obj:`string`
+        The directory name including the path which should be created.
+
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
     try:
         os.makedirs(directory)
@@ -497,35 +495,36 @@ def make_dir(directory):
     return
 
 def put_file_to_ecserver(ecd, filename, target, ecuid, ecgid):
-    '''
-    @Description:
-        Uses the ecaccess-file-put command to send a file to the ECMWF servers.
+    '''Uses the ecaccess-file-put command to send a file to the ECMWF servers.
 
-        NOTE:
-        The return value is just for testing reasons. It does not have
-        to be used from the calling function since the whole error handling
-        is done in here.
+    Note
+    ----
+    The return value is just for testing reasons. It does not have
+    to be used from the calling function since the whole error handling
+    is done in here.
 
-    @Input:
-        ecd: string
-            The path were the file is stored.
+    Parameters
+    ----------
+    ecd : :obj:`string`
+        The path were the file is stored.
 
-        filename: string
-            The name of the file to send to the ECMWF server.
+    filename : :obj:`string`
+        The name of the file to send to the ECMWF server.
 
-        target: string
-            The target queue where the file should be sent to.
+    target : :obj:`string`
+        The target queue where the file should be sent to.
 
-        ecuid: string
-            The user id on ECMWF server.
+    ecuid : :obj:`string`
+        The user id on ECMWF server.
 
-        ecgid: string
-            The group id on ECMWF server.
+    ecgid : :obj:`string`
+        The group id on ECMWF server.
 
-    @Return:
-        rcode: string
-            Resulting code of command execution. If successful the string
-            will be empty.
+    Return
+    ------
+    rcode : :obj:`string`
+        Resulting code of command execution. If successful the string
+        will be empty.
     '''
 
     try:
@@ -545,27 +544,28 @@ def put_file_to_ecserver(ecd, filename, target, ecuid, ecgid):
     return rcode
 
 def submit_job_to_ecserver(target, jobname):
-    '''
-    @Description:
-        Uses ecaccess-job-submit command to submit a job to the ECMWF server.
-
-        NOTE:
-        The return value is just for testing reasons. It does not have
-        to be used from the calling function since the whole error handling
-        is done in here.
-
-    @Input:
-        target: string
-            The target where the file should be sent to, e.g. the queue.
-
-        jobname: string
-            The name of the jobfile to be submitted to the ECMWF server.
-
-    @Return:
-        rcode: string
-            Resulting code of command execution. If successful the string
-            will contain an integer number, representing the id of the job
-            at the ecmwf server.
+    '''Uses ecaccess-job-submit command to submit a job to the ECMWF server.
+
+    Note
+    ----
+    The return value is just for testing reasons. It does not have
+    to be used from the calling function since the whole error handling
+    is done in here.
+
+    Parameters
+    ----------
+    target : :obj:`string`
+        The target where the file should be sent to, e.g. the queue.
+
+    jobname : :obj:`string`
+        The name of the jobfile to be submitted to the ECMWF server.
+
+    Return
+    ------
+    rcode : :obj:`string`
+        Resulting code of command execution. If successful the string
+        will contain an integer number, representing the id of the job
+        at the ecmwf server.
     '''
 
     try:
diff --git a/source/python/submit.py b/source/python/submit.py
index 37342d3..1e13a9c 100755
--- a/source/python/submit.py
+++ b/source/python/submit.py
@@ -61,18 +61,17 @@ from classes.ControlFile import ControlFile
 # ------------------------------------------------------------------------------
 
 def main():
-    '''
-    @Description:
-        Get the arguments from script call and from CONTROL file.
-        Decides from the argument "queue" if the local version
-        is done "queue=None" or the gateway version with "queue=ecgate"
-        or "queue=cca".
+    '''Get the arguments from script call and from CONTROL file.
+    Decides from the argument "queue" if the local version
+    is done "queue=None" or the gateway version with "queue=ecgate"
+    or "queue=cca".
+
+    Parameters
+    ----------
 
-    @Input:
-        <nothing>
+    Return
+    ------
 
-    @Return:
-        <nothing>
     '''
 
     args = get_cmdline_arguments()
@@ -104,29 +103,27 @@ def main():
     return
 
 def submit(jtemplate, c, queue):
-    '''
-    @Description:
-        Prepares the job script and submit it to the specified queue.
-
-    @Input:
-        jtemplate: string
-            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".
-
-        c: instance of class ControlFile
-            Contains all the parameters of CONTROL file and
-            command line.
-            For more information about format and content of the parameter
-            see documentation.
-
-        queue: string
-            Name of queue for submission to ECMWF (e.g. ecgate or cca )
-
-    @Return:
-        <nothing>
+    '''Prepares the job script and submit it to the specified queue.
+
+    Parameters
+    ----------
+    jtemplate : :obj:`string`
+        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".
+
+    c : :obj:`ControlFile`
+        Contains all the parameters of CONTROL file and
+        command line.
+
+    queue : :obj:`string`
+        Name of queue for submission to ECMWF (e.g. ecgate or cca )
+
+    Return
+    ------
+
     '''
 
     # read template file and get index for CONTROL input
-- 
GitLab