From d646b313e4204b84e60fed717cafa68e2b942728 Mon Sep 17 00:00:00 2001
From: dave <dave@dtu.dk>
Date: Tue, 5 Apr 2016 18:43:39 +0200
Subject: [PATCH] first test for prepost.Simulations: generating input files,
 including data

---
 .../demo_dlc/ref/data/minimal_demo_file.txt   |   1 +
 .../data/demo_dlc/ref/demo_dlc_remote.zip     | Bin 0 -> 9358 bytes
 .../demo_dlc/ref/htc/DLCs/dlc01_demos.xlsx    | Bin 0 -> 6554 bytes
 .../ref/htc/_master/demo_dlc_master_A0001.htc | 850 ++++++++++++++++++
 .../dlc01_demos/dlc01_steady_wsp10_noturb.htc | 850 ++++++++++++++++++
 .../dlc01_demos/dlc01_steady_wsp8_noturb.htc  | 850 ++++++++++++++++++
 .../dlc01_demos/dlc01_steady_wsp9_noturb.htc  | 850 ++++++++++++++++++
 .../dlc01_demos/dlc01_steady_wsp10_noturb.p   |  55 ++
 .../dlc01_demos/dlc01_steady_wsp8_noturb.p    |  55 ++
 .../dlc01_demos/dlc01_steady_wsp9_noturb.p    |  55 ++
 .../tests/data/demo_dlc/ref/prepost/A0001.pkl | Bin 0 -> 4418 bytes
 .../data/demo_dlc/ref/prepost/A0001_tags.txt  | 178 ++++
 .../source/data/minimal_demo_file.txt         |   1 +
 .../data/demo_dlc/source/demo_dlc_remote.zip  | Bin 0 -> 9358 bytes
 .../demo_dlc/source/htc/DLCs/dlc01_demos.xlsx | Bin 0 -> 6554 bytes
 .../htc/_master/demo_dlc_master_A0001.htc     | 850 ++++++++++++++++++
 wetb/prepost/tests/test_Simulations.py        |  55 ++
 17 files changed, 4650 insertions(+)
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/data/minimal_demo_file.txt
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/demo_dlc_remote.zip
 create mode 100755 wetb/prepost/tests/data/demo_dlc/ref/htc/DLCs/dlc01_demos.xlsx
 create mode 100755 wetb/prepost/tests/data/demo_dlc/ref/htc/_master/demo_dlc_master_A0001.htc
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp10_noturb.p
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp8_noturb.p
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp9_noturb.p
 create mode 100755 wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001.pkl
 create mode 100755 wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt
 create mode 100644 wetb/prepost/tests/data/demo_dlc/source/data/minimal_demo_file.txt
 create mode 100644 wetb/prepost/tests/data/demo_dlc/source/demo_dlc_remote.zip
 create mode 100755 wetb/prepost/tests/data/demo_dlc/source/htc/DLCs/dlc01_demos.xlsx
 create mode 100755 wetb/prepost/tests/data/demo_dlc/source/htc/_master/demo_dlc_master_A0001.htc
 create mode 100644 wetb/prepost/tests/test_Simulations.py

diff --git a/wetb/prepost/tests/data/demo_dlc/ref/data/minimal_demo_file.txt b/wetb/prepost/tests/data/demo_dlc/ref/data/minimal_demo_file.txt
new file mode 100644
index 00000000..8db26215
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/data/minimal_demo_file.txt
@@ -0,0 +1 @@
+just one demo line
diff --git a/wetb/prepost/tests/data/demo_dlc/ref/demo_dlc_remote.zip b/wetb/prepost/tests/data/demo_dlc/ref/demo_dlc_remote.zip
new file mode 100644
index 0000000000000000000000000000000000000000..60fe434ad3dc15cf5e1dd1977c630107c611ac55
GIT binary patch
literal 9358
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
YTToMkNBGB!@b_?ohJr$*{^#m{06WKVl>h($

literal 0
HcmV?d00001

diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/DLCs/dlc01_demos.xlsx b/wetb/prepost/tests/data/demo_dlc/ref/htc/DLCs/dlc01_demos.xlsx
new file mode 100755
index 0000000000000000000000000000000000000000..1f4c2311367ccea9d06f57db32793e8948f0e959
GIT binary patch
literal 6554
zcmaKw1yodRx5w%39zs&-Zc)0syM!5X0B0y+7?2JLX^`%c4oQ{nk`PISkq#wA>Vn_B
zpI-0%-aTv0%vtN~=d9<y<2?JPt%iz5hJ=NMg(PGXs*Lo9;oknYf`Y*AygYZ`l?mgj
zsQg6X2k@wuFz+UEd0>4<#6*TN{CV2Q^%K!_K7c127K~+DR)iU+;(s(MD)(xM#O@?2
zQz=T(t=yC|I`)zZR**w*wnNk5Y&6O|W~j<SXggFs-2*;mNN`22qv4w~*Xc60e7I^|
zMB5S$Tmr&ETr8|mZ-ASp5oM>#4$BuYhT&%+sWoLgis9Y}OB6-%$yKBLm)vJ;ioAmD
z#9HI>dIq`Fnr&cS?{k<Y7Tc^@?dJ$cR<nM6blN-5M=jydEGg2Bkg98U@n$T=xa;-=
zjjdsanfH^d4pK<kYM5Ad<w0*g-)>t11?l$sKM6y0dk4_XRvYT})SdUq)2BSoT)<f`
zwY0kV@OlsYqB!OoHHLGe*+<c2Gaq#3F}NBiFLJZpBsJ@u?O`*xNHAMn9>31n>ldjP
z?nSowu<Th_=A`>P(bDnF&VbpCd6ja!w%Gk>?}>P3mbx!SyTU(_h=mK8NX@qg?(x57
z*MJfl7IG}`NEE~wTBksiuEd<MwJbF$Xg}<<y0VX8X$Eq1V=G@r?4Vv#mbYKF@OGT_
zzx2sGu?{B2%A9mxfRPn{q<A*9xB}WJ{3M5^s1_(r_I4(R*wX*a#6tOCqdB-SWBrTm
z48fiTgr5(=`&OFC#mS8K9;=If3-Fkve^dP7HU6Der>!kE`?pF2ApetA#D8jK>jnkg
zi3QiS(CXqNgP$33!RcMjn*hu*!Mq7+Vg=tTy(mjvEv6_iZkAnbQImgojXy5g@E3kX
zf5<f#TwA9tC=WwJ&y|l?ZA{Ng1p+j6tm%x{$8pdFJ<wjPf7f6UA`J~>)pOv}48m`Z
zuT$Ry%s(sv^cjK~H<~uchZ1+X5Q{zzBF66DdqtmLghWFKVoMew=76wPcX`%feUB7h
z`?`4saw>rV8Sxj6ajW&SfrEQ9n8NOPBSjKU%^WU+n(&%B(iG4qPRz#XGp+9n+uvL6
z2`81CCL@t4l_;k1y{9V-6t&i9N%5guTw+xtJHw_64G9Cj(jFR!nCygw1aws6Wi<0a
zdb0!L^lG}4_b%~i4wbsrqANzncpqVqOL94>q?T)@Lv{?WH=VJ!RyQA4A?9Nb_4aS#
z`xpUXz@!Pr0#cFY4yrQYQcjw=;q8N74_%|Zr!!4UaKE6Zqv~|uY7=>aA1s9hNCGc^
zMJiq{TGaVAN{j!P)zr6<dIskGSH*j~L7i>f+??;C^{?uW*Koeg@34a_a>cV=6-?V`
zv5sh&>Z>2feLAZXJt7ISjW_;0G-f!U-HF7Bk4JBnPqu|(wj+Av@G#2r(Ly_Wy|6k0
zulD!801QX-mp?n)kE@|4sc0vidrqmsYg&IKX2N6B^-{v3a8OmV?Bif-@SYCu@S)07
zCh{n`UZojogDa<Yn|s$yjqOK#0;>X84&MMi_9*mTyx^p6oXuxWUIENwm-DZWze+LD
z%`p#E2j}RDcw^64+1)$v#dX78sMPk~y<|B$e3PzFS-rgEhjN$0THnrnKiuy7{y!>1
z_%CJt)Fei4&~<^2sN;+iZP|s}%Y31Rwz)18Z8J<vV=PIi&RDNdI`$3O)mbbXr^e(x
z-<Ja>$LpgbQ>&-uY6n<-IF&XO1gPtQL!OM&Ja#MhraF^+C|Wq0r*Uk&kcVAU4=7k&
zPSa;$ac_-8?8t2d&)^wG+U^q5_-s*0^V770LJ}(?7|)(?BE2r6NAK*ZZqa@%mzHtU
zIRRpa8t+_c2X_(lJVz++y4<H8PI;lL{A`>0@Y$5#y6~iC^GNzTzoM&|XMpju@CQY^
zY02iMxr&_dp9%1A+A?OI`$ssjL}NjaoI}hI#i2q01ei_>Mf23VU6^h)OJr4n69LVj
z;RcON&{oYvuti;3#k)w9DrJ9K_VK4EpD0P2jN)<IXZ40tpc^*4A9Q%Q5BFy9BJTrJ
zk1?$?j^CS?=>^ZeD&nKCAP(;;OJvsWn9UEn6s2p)Iw>hxlwL}GqLw^%5yT;p#Sj|X
z6{SvMD@aMkccy?Kf>Ak%mYn0F$(=_^vgH$D$ahJft5BlVGBr3~dWsvt@JYnuX)$Ex
zy1D>TrXCvxD!NlwyuvE+fX(Bz!k+eEV*ZQo{v;X+TP)P_6;Fk*x<^MpcRTnADvLU*
z2CK~ua$Tv^K}+3z6Jp;g$lVN}CN1Dro-V3@$z8|92a;{q^`K{7Xjhh0!&Y~RL#?V_
ze|cL{o~ZxS{P6#kIPM-kV37M=DeakPxh*izb{yz2>{skfYt9csX1s<PhV?7UgdFDs
z=fxCzt&trQ{eK45(n+{9Jy@bQg7T#G$MvrvW2}AyC+j_p3uVdF$n!?XJ~tU5?V`|o
zCYaM96)4ToLn1HUt=HT~lC5wcTQ*B(WlzPK3rNfCQZHK#UK<eW7Ee%Wf3KceXpT_c
zdTlILM?`i1gZ@yNAatoVk-5v7tPUhOoQ%eAB_JH?kBXe(r`ga{OBh(xhKNi##1`Zt
z3LUHOlo6eK3_WpE+WpZomo=GapRZA>cfy3DHztyWor|8YEg1xp7Y+p}iZ`9R%Ya37
zlSo^eJ`W&4!a}Ag7MwuLDceZ0Z|rB>Tmnhdz(d!$;vk!_K<#<FZY)y<9Na=O3UIMt
zu5WfV?&AdY@uzBfeOC{B87Jmx&?|93`3oIinI<{QT|Wg2qmcwrWHS2dsXvJ-?WqZr
zJj65%)=`F(3)M2b7%7aRjAhh`+W47QW&5gWWHi`SvM<Rp<Lf#1((&?4Va4$l)CQzj
z?OV{{+n{cML5^-Q-pt4zK7>LEQpS8(0_=pglRvxP+*Ql5!gHTCw3Gl1K#9=N%Rn~Q
zulUp+O%{m{yuc0Y;yg*_1e!DyV+KaGV9=0as||&DrjMXK@phMF)~IbNa{wX@tx04~
zGYKYamRBm<C%cM&b@e+WI4S$k;-XLEDq)}%{D#?1DB=_2`sYUB2tW^>4F-R3nq1G1
ze)v2)yxPd=(y|P2qB6P_K(W>kcW}zL@~|I<nX_iJrMKlGQ$2k>OK?KBaCrrWoktur
zV_nTR7^4~=f2g<q26h|o3$};BL;#OqqZhjeE~vqdHxBvfQb@2ZV?OnIqdnwcM@%qE
zu%m>AdpV8lPQcB26JHoNS(+P%-j80t)_m?2*VGV>u5$DCq*i813g^Z~4fnw#+8Hj(
zi9GS;L<~Rg03rP~f|+N8<wZnky*pu!AD$eZ*>7(?+^W&A9P<hdP3Og*bPQ*k(`abH
z-tP1ip*JtcxvQM@^Ht!@ZM$ux`=`pG`rUHf9Y7!tcivw={C7pvVY=W|&`biCvg$nS
zel3^|z$2mBgb2JCD@q(|Tw{UzY$-(3)>AVRet!1BDxilhm7}xpLj7JQLsOH!nZZ1f
z^W{gW7ur5R2+21G@7#)c=_iv(7c$2+63rdrKfCX-scb8}r96z-Bgi%u_~CpYwI&?*
z?!J4Ut^$$#;J$Ts@vvz36M?My(9}}DK_-ZO-&$yD)bNidX<WAJ=RPG0Vl1yjsCn8M
zsLAl$R$at?fGN~JA?H+4aH--Zq=i~?6z7Ztg9PSiHki$Ohq$oxD01Ab)M4wP*raDE
z%cvPO$6o0xT5dm*9ZFpZ&-%LSj+W;Ld$7_uR7dREP>llCvS|P;N{i^=tcGjDSsBF9
ziNT1Th=w~iuIBypqm%duYjWQ~#kDrEZ{tA`k+VXU$uS@OI>x(g^Ae2{PGfkv);;BD
zAC2@bj?Zybvg;lAcggaL9W7k(7&)?Gq(9=`_c12@0bZ}{63PgoitRVJD8K@F6M=%l
zgA#b_8Ba~9>`?HM9K#+HUozX~`fd2}r~Br;9OpMnrSx%|NE`H9fBfB`Dn(gHgT*vO
z?kqE4_?3Vmw^{q6F!j@-)URgZ;eo4>vr2|zy$)8C7RiVMo4jZ{I>FV`m6<5IuYmiy
zxzjSG{v!e!y*&|5gyoXtu5MgRT8HE6!4qZ=(uax;kKUh|)PKf3pqF9x$JDu&P{|R9
zse6Vhm32UXXYgigAir-QuL%@WckVi_u4)&=xARI>k$MtubXF<J_$tkDP@UgSPdL(X
zo7_jrt^g=PWT&d1Wh^Yb)elY?c_3nMLFbs_O0+N{ndLuHkl+)-7pFf;ovu%_6+)$`
zWmCb@L}a5hgEv(+)xFsdP8|`+ralL{^h4{2fAUM*uMduTvVfRz+B7v_rxtORaqaM(
z^|c5!2F#a(8U<dRBC58v1B!`UD)aV-Ee!Hwlk+Q^L<otcwf4&?JYQ1<u+^TFQ+d9o
zc1dn{P<is&y@NxEu39Ny*g)=LtgW1ejx#gfiLAw_?hH}Iq13Oofr)rv@Rg_m%9T8K
zzjp7Ki&mGMpc6-_go81L<*`NBG)5SCY*CZ0yrAy`(K4LyOFu$pgD*s{pZ3@WAN`EU
z&`*}rrmr{XE_)+AZ*))&#WED{Vm702Jew&z6bMRBp8x{i`EomEEgOHmoO6|}xGWw=
zya5@EYv(_LL5<EebZjRKoZ5X$@=utlU#-X{r5K%#$e4Z=?LA!3$$E&~yEvM?XyC8M
z^^R^vWN_!C>M$e!oI9H*=HqzVklW8A`dRr8v*p%rgFju?Ji{Mc(I9A_UZCmstL*7@
zR=gIsxX*4ycECNOW^rYTx}o#DLNuo?o{~4(em6e!+^_JdeA1^h*T<!snH}Cz`;Kd0
zY(<7iz8flTW<<aNG9tv70zs}!1fY=GNU;Rs^#`k2(Nr!>v7nH~NHKPz!q6H~;sX$Y
zJt@SL!NH85VH?22p?%W+oXQ33<q66Y<W@^2B8FXZ6yza)X$I+eXEc<CECwQmeS8$;
z?PaD<7}Fhc4AM(+SZJje*nvo%Qp`lT`;=%X)1L86EYg;g>~bi_p0%=QC~eB@B)K&&
z$e7Vd+LXn0b8BCav7j@xDXZw_*1>|TpO5h9rjTv>MOo*LDT8!NkHmu<J?=&AwJ%R$
zFOG5wo=drGu;iqtk8{bsSmO>EA#>ZFdBk(hy~983Z9U=nZmBVv1~Dds3?P3gl=36s
z9M(G}b@jA-%PKL+=X&a+XC0SmvQ>NUq1M-zNdaV)R?OK|s~4;JnSfolR0eB~I_g~7
zSRh)&xdrQLGbu!u;k7->O?B~h0o`}Ubct|;s2<(b&z)~Clk%Ka83AOYFdw?lx>*!N
z7wL?IgJWg_4W1<cg@Ra-AhRhGd+-K&myaDo8#dZ50i`k#64XQ{EZLwljIiblwTQZP
zw}!p)o0?&|4+`k2@ZG|zX}WLr=?Frk^AGrtcnj$+<%Q=B()(}m0ws<D@d9ZCbwi4a
zRlI^CP%BZ`6+*Dtm8j;h>(pc=0>wXPyE1N@oRPGFIvvF9x*u)61K(@t1`Nrj&=wWY
z!#j0KS<(<}$E;#FdwXmI`)s`79A0i62vi-~&e*z152jcNVpb1WL0<CYM4y94KiL0$
z;v~$cjAbg1H-liwM=fxRYMNiYT<z@?U|W3eFzW#iYz_1E2s#PnF(ZyhFz4JiWD)c3
zFl=!17T$LXuNJvhWyxuki!zDN;{uTgxg{c_d2K%W1pWlVL88HMU<5)=0PToTo^~+2
z$ws!^;E)l(bWSvaeCC0xGv1my$BpYiLoaX*q8E60i4dpX-n4K3EEjgW1-U-0Z;S<R
z2)C$R<$3!#yv~LqKEKP3wbuF+`H;9jD}vM(#wx(UDnQNpf!0Cl5J%<IwjC_hH)e)9
zALl}9=9M${Z7hc8%+Ut9I+IeFVZseh``D=F3o5ud44-uF=@ej^dlwq+5r0{nc&g|9
zJ_kfH=+??u)c~>fXSQW|7tffmGC(xw2E<wyjSx#%0r!SX7a~Lj<PT}mQ1`be^0Pg8
zYt2$dUib@w;p}zM!E7Do>-H$gEpr6Hn~Y_nh&*v`OtS}EmG6YUK)z)ul~L~3vw<Kx
z3z<q3C7t?j`MF{#vti%m7%&KqrhII2>bUD4)qONC_Dj!c5{fjqiCEgmF6p|ekvO_k
zwwB{td*ot4xKj{QQB-%F!j+A-V)DIL8=}Z71rfzvWf>h?wRlZ&X5tOkrVYL{_O~#!
zoGtl+p{fW2Y}j7-(JhUbc(9WZ71LtMB2|m+HX|U^FqwzihS+UG$M)Z4Ak9^i=aR?8
zD~kg+VuT-lP86;7TkcS;C53*Gv;vk$B<`}<^gxH0#URb9n8OSgW5&)YC64Kbp!bJ2
ztvKm8jB(I&GO4uD9uh^zu@&_)r?<yf-TmuZK(`V2JF(1`)VA;b*Cx&1G-|9Pp`Eis
z!dA~F4?gZbA@_wq1pBvGZobBb<7@O8tFL=Tr$6XT>@?6cgT{pKiS>fumfi;ecLygi
zXFu8_EF`2O&VM>Mk^T3`;qU|s0_u4{9bN5zO&-Z9zXsN@12|65nQ@aIngRzW7HtpK
zgxqB7Kpq=b6s?(jPf=!Gsw8~t$AlUGL)D*(^@sFLgsf6gs6Y??*9aStRFt5|+0ZN1
z>p964zXTK&%!+<0>-*!+5A!Z2m=a2hk&U1Xs%IL(c1YC_3eu3DAj<lW`t(O{JCkJ0
zXpsiuMxm1LoZG!*a7fj1liMpS)t<h?eO=8fxja;*@UihgbD!T)5B~8T0|IqmpLH~#
z5#Q6rJ@6X$A)#<!TH2*4bA$ygH-epFY%J|Z1ug~YbI_sEPIJ7r&cF?%2;RUa@O=-L
zlB<RCs)$VnW{sH$18J$ZY9@@~Xf77t<B!Y|A!|uqq%6cP&39k5Yt@MZ3*g5}Y|!*d
zlF&4Q5>{-u(<cHld4>2~vIVD6MK|dpX<HOLI^!Qg+m2@90X?#h;3mAOSB2(%4$E__
zK-f&I&2n*zDP=1}#=OuzNP$bJ7Xh0Q;(xO5G)cf0)hpyTm{qn5=H^*VB6I57ZhcTJ
z#B%$pO3jV?IU?kT-9%N+89OMI)eYK-F^4n|R2=IP7PbVjdKG8}(doqWf%FWLIek1w
zfqUsVj!J@7Y`Bt4F9=U~-lIs>m&(w`Y+Fp6U&gs@lNVgz-laz?4pHLL?L?Y;n<D=i
zU6S6Whnbw4s|U!{!%E-hDahU8*O59&M(vjEhThU0wW_*|N=)KUE`&i!+{WW1iCeCl
zt|WFgOV=<~=VT^XGt+h;R{Gi7!QjGIgz!`sq(NV!7mhknc$uett;H0)!{L{PBld|-
zE%?%avxnshG`7u&2_Co|`CXV#{pt?qDhABJKyBYj>X#ouKFp2Y#O5QmheY+;kq`%b
zAa3Y)ofB=`^Qeh<t`8h_7rZhyv$CNRCY4O%tfFI=`Clb;bz>h-&r2IEG9Xr1)=p61
z41;|N+Y;CtMw}IakC$O7WPCLro)4m$p(x_^*ETAN(Otto7D^_Fd9*o5J*rx1w_@E6
z=o$G8N0_kdNo$9hJ|F0gYurrs#QZ__hHj#0t6+;*lpdX>U!da~k<@iKi353%PwYVT
z`Krt=>|i}jA9~4V_iK=`5@|Q)yA|9B?M`rH6f&gW82wL<e23BhxBUUt|91Qns@`Gd
z-v+pS)ZftgZ|^@r-yL}UZ3?#&*T2302gCmD{wEE)qk+He;1+ZIXEylvI)B2EJ9hTl
zu+e|5^CwCB+xgG=@Q$DSHd)MH&cA8O->!dl$h!gZxB21x`?>#Tocw#0KMU!uoBp=O
t+v>Sh!Ts;v`u7TdX2xB?{kCcH|F`_K)zC5SZo<C(NZm$Cf%5L^zX14;N=yI%

literal 0
HcmV?d00001

diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/_master/demo_dlc_master_A0001.htc b/wetb/prepost/tests/data/demo_dlc/ref/htc/_master/demo_dlc_master_A0001.htc
new file mode 100755
index 00000000..6e956f80
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/htc/_master/demo_dlc_master_A0001.htc
@@ -0,0 +1,850 @@
+;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd
+begin simulation;
+  time_stop    [time stop];
+  solvertype   1 ;    (newmark)
+  on_no_convergence continue ;
+;  convergence_limits 1E3 1.0 1E-7 ;
+  logfile ./logfiles/[Case folder]/[Case id.].log ;
+  begin newmark;
+    deltat    0.02;
+  end newmark;
+end simulation;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin new_htc_structure;
+;--------------------------------------------------------------------------------------------------
+[staircase]  beam_output_file_name  ./res_eigen/[Case folder]/[Case id.]/[Case id.]_beam.dat;
+[staircase]  body_output_file_name  ./res_eigen/[Case folder]/[Case id.]/[Case id.]_body.dat;
+[staircase]  struct_inertia_output_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_struct.dat;
+[staircase]  body_eigenanalysis_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_body_eigen.dat;
+[staircase]  structure_eigenanalysis_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_strc_eigen.dat;
+;---------------------------------------------------------------------------------------------------
+  begin main_body;         tower 123.6m
+    name        tower ;
+    type        timoschenko ;
+    nbodies     3 ;
+    node_distribution     c2_def ;
+    damping_posdef   0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14
+     begin timoschenko_input;
+      filename ./data/AVATAR_10MW_RWT_tower_st.dat;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 20;
+      sec	1	0	0	0.000	0	;  x,y,z,twist
+      sec	2	0	0	-12.293	0	;
+      sec	3	0	0	-12.294	0	;
+      sec	4	0	0	-24.585	0	;
+      sec	5	0	0	-24.586	0	;
+      sec	6	0	0	-36.878	0	;
+      sec	7	0	0	-36.879	0	;
+      sec	8	0	0	-49.171	0	;
+      sec	9	0	0	-49.172	0	 ;
+      sec	10	0	0	-61.463	0	;
+      sec	11	0	0	-61.464	0	;
+      sec	12	0	0	-73.756	0	;
+      sec	13	0	0	-73.757	0	;
+      sec	14	0	0	-86.049	0	;
+      sec	15	0	0	-86.050	0	;
+      sec	16	0	0	-98.341	0	;
+      sec	17	0	0	-98.342	0	;
+      sec	18	0	0	-110.634	0	;
+      sec	19	0	0	-110.635	0	;
+      sec	20	0	0	-123.600	0	;
+     end c2_def ;
+    end main_body;
+;
+  begin main_body;
+    name        towertop ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  7.50E-03  7.40E-03  7.00E-03  7.00E-03  7.00E-03  7.00E-03  ;   "changed by Anyd
+	concentrated_mass	2.0	0.0	2.6870E+00	3.0061E-01	4.4604E+05	4.1060E+06	4.1060E+05	4.1060E+06	;	Nacel
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Towertop_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0  0.0    0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 -2.75   0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+;	damping_posdef  8.00E-3  8.00E-03  8.00E-02  4.65E-04  4.65E-04  2.38E-02 ; "tuned by Anyd 22/2/13
+	damping_posdef  0.0 0.0 3.983E-03 4.65E-04  4.65E-04  3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l
+    concentrated_mass	1.0	0.0	0.0	0.0	0.0	0.0	0.0	3.751E+06	;	generator equivalent slow shaft "re_tu
+    concentrated_mass	5.0	0.0	0.0	0.0	1.0552E+05	0.0	0.0	3.257E+05	;	hub mass and inertia;	"re_tuned
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 5;
+      sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist
+      sec 2 0.0 0.0 1.5 0.0 ;
+      sec 3 0.0 0.0 3.0 0.0 ;
+      sec 4 0.0 0.0 4.4	0.0 ; Main bearing
+      sec 5 0.0 0.0 7.1 0.0 ; Rotor centre
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft_nonrotate ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  0.00E+00 0.00E+00 0.00E+00  1.0E-01  1.0E-01  1.0E-01 ;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 3; dummy light and stiff structure
+    end timoschenko_input;
+    begin c2_def;
+      nsec 2;
+      sec 1 0.0 0.0 0.0    0.0 ;
+      sec 2 0.0 0.0 0.1    0.0 ;
+    end c2_def;
+  end main_body;
+;
+  begin main_body;
+    name        hub1 ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  2.00E-05  2.00E-05  2.00E-04  3.00E-06  3.00E-06  2.00E-05;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Hub_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 2.8 0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           hub2 ;
+    copy_main_body hub1;
+  end main_body;
+;
+  begin main_body;
+    name           hub3 ;
+    copy_main_body hub1 ;
+  end main_body;
+;
+  begin main_body;
+    name        blade1 ;
+    type        timoschenko ;
+    nbodies     10 ;
+    node_distribution    c2_def;
+;	damping_posdef   0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd"
+;	damping_posdef   0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to
+;	damping_posdef   0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2
+	damping_posdef   0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14
+   begin timoschenko_input ;
+      filename ./data/AVATAR_10MW_RWT_Blade_st.dat ;
+      set 1 9 ;
+    end timoschenko_input;
+    begin c2_def;
+      nsec 27 ;
+      sec  1   -0.001   -0.001     0.000   -17.280 ;
+      sec  2   -0.005   -0.001     2.220   -17.280 ;
+      sec  3   -0.006   -0.000     4.440   -17.280 ;
+      sec  4   -0.086    0.022     6.660   -17.280 ;
+      sec  5   -0.231    0.069    11.039   -17.273 ;
+      sec  6   -0.447    0.121    15.418   -16.441 ;
+      sec  7   -0.690    0.161    19.797   -14.613 ;
+      sec  8   -0.812    0.162    24.176   -12.578 ;
+      sec  9   -0.891    0.158    28.555   -10.588 ;
+      sec 10   -0.865    0.124    32.934    -9.070 ;
+      sec 11   -0.833    0.112    37.313    -8.224 ;
+      sec 12   -0.797    0.102    41.692    -7.688 ;
+      sec 13   -0.760    0.093    46.071    -7.205 ;
+      sec 14   -0.721    0.083    50.450    -6.749 ;
+      sec 15   -0.683    0.075    54.829    -6.288 ;
+      sec 16   -0.644    0.066    59.208    -5.838 ;
+      sec 17   -0.606    0.058    63.587    -5.401 ;
+      sec 18   -0.567    0.050    67.966    -4.982 ;
+      sec 19   -0.529    0.044    72.345    -4.640 ;
+      sec 20   -0.492    0.037    76.724    -4.380 ;
+      sec 21   -0.456    0.032    81.103    -4.144 ;
+      sec 22   -0.422    0.026    85.482    -3.914 ;
+      sec 23   -0.392    0.021    89.861    -3.685 ;
+      sec 24   -0.346    0.014    94.240    -3.460 ;
+      sec 25   -0.307    0.010    96.190    -3.350 ;
+      sec 26   -0.249    0.005    98.130    -3.250 ;
+      sec 27   -0.089    0.006   100.080    -3.140 ;
+   end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           blade2 ;
+    copy_main_body blade1;
+  end main_body;
+;
+  begin main_body;
+    name           blade3 ;
+    copy_main_body blade1 ;
+  end main_body;
+;-------------------------------------------------------------------------------------------------------------------------------
+;
+  begin orientation;
+    begin base;
+      body   tower;
+      inipos        0.0 0.0 0.0 ;         initial position of node 1
+      body_eulerang 0.0 0.0 0.0;
+    end base;
+;
+    begin relative;
+      body1  tower last;
+      body2  towertop 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  towertop last;
+      body2  shaft 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang 5.0 0.0 0.0;    5 deg tilt angle
+      body2_eulerang 0.0 0.0 [Rotor azimuth];
+[Free shaft rot]      mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 [init_wr] ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 [init_wr];
+    end relative;
+;
+    begin relative; dummy non rotating hub coordinates
+      body1  towertop last;
+      body2  shaft_nonrotate 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang  5.0 0.0 0.0; same 5 deg tilt angle as real shaft
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub1 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 180.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub2 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub3 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 -60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  hub1 last;
+      body2  blade1 1;
+      body2_eulerang 0.0 0.0 0;
+    end relative;
+;
+    begin relative;
+      body1  hub2 last;
+      body2  blade2 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  hub3 last;
+      body2  blade3 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+ 	end orientation;
+;-------------------------------------------------------------------------------------------------------------------------------
+begin constraint;
+;
+    begin fix0;  fixed to ground in translation and rotation of node 1
+      body tower;
+    end fix0;
+;
+     begin fix1;
+		   body1 tower last ;
+		   body2 towertop 1;
+		 end fix1;
+;
+[Free shaft rot]    begin bearing1;                       free bearing
+[Free shaft rot]      name  shaft_rot;
+[Free shaft rot]      body1 towertop last;
+[Free shaft rot]      body2 shaft 1;
+[Free shaft rot]      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+[Free shaft rot]   end bearing1;
+;
+[Rotor locked]    begin bearing3;                       free bearing
+[Rotor locked]      name  shaft_rot;
+[Rotor locked]      body1 towertop last;
+[Rotor locked]      body2 shaft 1;
+[Rotor locked]      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+[Rotor locked]      omegas 0.0 ;
+[Rotor locked]   end bearing3;
+;
+     begin fix1;
+           body1 tower last ;
+           body2 shaft_nonrotate 1;
+     end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub1 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub2 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub3 1;
+		 end fix1;
+;
+    begin bearing2;
+      name pitch1;
+      body1 hub1 last;
+     body2 blade1 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+   end bearing2;
+;
+    begin bearing2;
+      name pitch2;
+      body1 hub2 last;
+      body2 blade2 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+;
+    begin bearing2;
+      name pitch3;
+      body1 hub3 last;
+      body2 blade3 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+end constraint;
+;
+end new_htc_structure;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin wind ;
+  density                 1.225 ;
+  wsp                     [Windspeed]   ;
+  tint                    [TI]   ;
+  horizontal_input        1     ;
+  windfield_rotations     [wdir] 8.0 0.0 ;    yaw, tilt (positive=upflow=wind coming from below), rotation
+  center_pos0             0.0 0.0 -127 ; hub heigth
+  shear_format            3 [shear_exp] ;
+  turb_format             [tu_model]     ;  0=none, 1=mann,2=flex
+  tower_shadow_method     3     ;  0=none, 1=potential flow, 2=jet
+  scale_time_start       [t0] ;
+  wind_ramp_factor   0.0 [t0] [wsp factor] 1.0 ;
+  [gust] iec_gust [gust_type] [G_A] [G_phi0] [G_t0] [G_T] ;
+;
+[staircase]  wind_ramp_abs  400.0  401.0  0.0   1.0 ;   wsp. after the step:  5.0
+[staircase]  wind_ramp_abs  501.0  502.0  0.0   1.0 ;   wsp. after the step:  6.0
+[staircase]  wind_ramp_abs  602.0  603.0  0.0   1.0 ;   wsp. after the step:  7.0
+[staircase]  wind_ramp_abs  703.0  704.0  0.0   1.0 ;   wsp. after the step:  8.0
+[staircase]  wind_ramp_abs  804.0  805.0  0.0   1.0 ;   wsp. after the step:  9.0
+[staircase]  wind_ramp_abs  905.0  906.0  0.0   1.0 ;   wsp. after the step: 10.0
+[staircase]  wind_ramp_abs  1006.0  1007.0  0.0   1.0 ;   wsp. after the step: 11.0
+[staircase]  wind_ramp_abs  1107.0  1108.0  0.0   1.0 ;   wsp. after the step: 12.0
+[staircase]  wind_ramp_abs  1208.0  1209.0  0.0   1.0 ;   wsp. after the step: 13.0
+[staircase]  wind_ramp_abs  1309.0  1310.0  0.0   1.0 ;   wsp. after the step: 14.0
+[staircase]  wind_ramp_abs  1410.0  1411.0  0.0   1.0 ;   wsp. after the step: 15.0
+[staircase]  wind_ramp_abs  1511.0  1512.0  0.0   1.0 ;   wsp. after the step: 16.0
+[staircase]  wind_ramp_abs  1612.0  1613.0  0.0   1.0 ;   wsp. after the step: 17.0
+[staircase]  wind_ramp_abs  1713.0  1714.0  0.0   1.0 ;   wsp. after the step: 18.0
+[staircase]  wind_ramp_abs  1814.0  1815.0  0.0   1.0 ;   wsp. after the step: 19.0
+[staircase]  wind_ramp_abs  1915.0  1916.0  0.0   1.0 ;   wsp. after the step: 20.0
+[staircase]  wind_ramp_abs  2016.0  2017.0  0.0   1.0 ;   wsp. after the step: 21.0
+[staircase]  wind_ramp_abs  2117.0  2118.0  0.0   1.0 ;   wsp. after the step: 22.0
+[staircase]  wind_ramp_abs  2218.0  2219.0  0.0   1.0 ;   wsp. after the step: 23.0
+[staircase]  wind_ramp_abs  2319.0  2320.0  0.0   1.0 ;   wsp. after the step: 24.0
+[staircase]  wind_ramp_abs  2420.0  2421.0  0.0   1.0 ;   wsp. after the step: 25.0
+  ;
+[windramp]  wind_ramp_abs   400.0  2200.0  0.0   21.0 ;   wsp. after the step: 25.0
+[windramp]  wind_ramp_abs  2400.0  4200.0  0.0  -21.0 ;   wsp. after the step: 25.0
+  ;
+  begin mann ;
+    create_turb_parameters 29.4 1.0 3.9 [tu_seed] 1.0 ;      L, alfaeps, gamma, seed, highfrq compensation
+    filename_u    ./[turb_dir][Turb base name]u.bin ;
+    filename_v    ./[turb_dir][Turb base name]v.bin ;
+    filename_w    ./[turb_dir][Turb base name]w.bin ;
+    box_dim_u    8192 [turb_dx] ;
+    box_dim_v    32 7.5;
+    box_dim_w    32 7.5;
+    std_scaling   1.0 0.7 0.5 ;
+  end mann ;
+;
+  begin tower_shadow_potential_2;
+    tower_mbdy_link tower;
+    nsec  2;
+    radius      0.0  4.15 ;
+    radius     123.6 2.75 ; (radius)
+  end tower_shadow_potential_2;
+end wind;
+;
+begin aerodrag ;
+  begin aerodrag_element ;
+    mbdy_name tower;
+    aerodrag_sections uniform 10 ;
+    nsec 2 ;
+    sec 0.0 0.6 8.3 ;  tower bottom
+    sec 123.6 0.6 5.5 ;  tower top  (diameter)
+  end aerodrag_element;
+;
+  begin aerodrag_element ;        Nacelle drag side
+    mbdy_name shaft;
+    aerodrag_sections uniform 2 ;
+    nsec 2 ;
+    sec 0.0   0.8 10.0 ;
+    sec 7.01  0.8 10.0 ;
+  end aerodrag_element;
+end aerodrag;
+;
+begin aero ;
+  nblades  3;
+  hub_vec shaft -3 ;         rotor rotation vector (normally shaft composant directed from pressure to sustion side)
+  link 1 mbdy_c2_def blade1;
+  link 2 mbdy_c2_def blade2;
+  link 3 mbdy_c2_def blade3;
+  ae_filename        ./data/AVATAR_10MW_RWT_ae.dat ;
+  pc_filename        ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ;
+  induction_method   [Induction] ;     0=none, 1=normal
+  aerocalc_method    1 ;     0=ingen aerodynamic, 1=med aerodynamic
+  aero_distribution ae_file 1 ;
+  ae_sets            1 1 1;
+  tiploss_method     1 ;     0=none, 1=prandtl
+  dynstall_method    [Dyn stall] ;     0=none, 1=stig øye method,2=mhh method
+;
+; ; --- Flaps --- ;
+  ; begin dynstall_ateflap ;
+    ; Ais  0.165  0.335  0.0 ;
+    ; Bis  0.0455  0.30  0.30 ;
+      ; flap  59.5925   85.5023   ./data/Flap_dturwt1_Thk24.ds  ;  Flap Sec: 1
+   ; end dynstall_ateflap;
+end aero ;
+;-------------------------------------------------------------------------------------------------
+begin dll;
+;
+  begin type2_dll;
+    name risoe_controller ;
+    filename  ./control/risoe_controller.dll ;
+    dll_subroutine_init init_regulation ;
+    dll_subroutine_update update_regulation ;
+    arraysizes_init  52 1 ;
+    arraysizes_update  12 100 ;
+	begin init ;
+       ; Overall parameters
+      constant   1 10000.0    	; Rated power [kW]
+      constant   2   0.628    	; Minimum rotor speed [rad/s]
+      constant   3   1.005    	; Rated rotor speed [rad/s]
+      constant   4  15.6E+06  	; Maximum allowable generator torque [Nm]
+      constant   5  100.0    	; Minimum pitch angle, theta_min [deg],
+								; if |theta_min|>90, then a table of <wsp,theta_min> is read ;
+								; from a file named 'wpdata.n', where n=int(theta_min)
+      constant   6  90.0    	; Maximum pitch angle [deg]
+      constant   7  10.0    	; Maximum pitch velocity operation [deg/s]
+      constant   8   0.4    	; Frequency of generator speed filter [Hz]
+      constant   9   0.7    	; Damping ratio of speed filter [-]
+      constant  10   1.64   	; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used
+      ; Partial load control parameters
+      constant  11   0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ;
+                                ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3
+      constant  12   1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)]
+      constant  13   0.153367E+08 ; Integral gain of torque controller [Nm/rad]
+      constant  14   0.0    	; Differential gain of torque controller [Nm/(rad/s^2)]
+;     Full load control parameters
+      constant  15   1      	; Generator control switch [1=constant power, 2=constant torque]
+      constant  16   0.762489  ; Proportional gain of pitch controller [rad/(rad/s)]
+      constant  17   0.224086  ; Integral gain of pitch controller [rad/rad]
+      constant  18   0.0    ; Differential gain of pitch controller [rad/(rad/s^2)]
+      constant  19   0.4e-9 ; Proportional power error gain [rad/W]
+      constant  20   0.4e-9 ; Integral power error gain [rad/(Ws)]
+      constant  21  10.6824   ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg]
+      constant  22 601.25499  ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] &
+                            ; (if zero, KK1 = pitch angle at double gain)
+      constant  23   1.3    ; Relative speed for double nonlinear gain [-]
+;     Cut-in simulation parameters
+      constant  24  [Cut-in time]  ; Cut-in time [s]
+      constant  25  1.0   ; Time delay for soft start of torque [1/1P]
+;     Cut-out simulation parameters
+      constant  26  [Cut-out time]  ; Cut-out time [s]
+      constant  27   5.0  ; Time constant for linear torque cut-out [s]
+      constant  28  [Stop type]    ; Stop type [1=normal, 2=emergency]
+      constant  29  1.0  ; Time delay for pitch stop after shut-down signal [s]
+      constant  30  [Pitvel 1]  ; Maximum pitch velocity during initial period of stop [deg/s]
+      constant  31  3.0  ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30)
+      constant  32  [Pitvel 2]  ; Maximum pitch velocity during final phase of stop [deg/s]
+;     Expert parameters (keep default values unless otherwise given)
+      constant  33   2.0  	; Lower angle above lowest minimum pitch angle for switch [deg]
+      constant  34   2.0  	; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch
+      constant  35  95.0  	; Ratio between filtered speed and reference speed for fully open torque limits [%]
+      constant  36   2.0  	; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P]
+      constant  37   1.0  	; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P]
+;     Drivetrain damper
+      constant  38   0.0  	; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10
+;	  Over speed
+	  constant  39  25.0  	; Overspeed percentage before initiating turbine controller alarm (shut-down) [%]
+;     Additional non-linear pitch control term (not used when all zero)
+	  constant  40   0.0  	; Err0 [rad/s]
+	  constant  41   0.0  	; ErrDot0 [rad/s^2]
+	  constant  42   0.0  	; PitNonLin1 [rad/s]
+;     Storm control command
+	  constant 43   28.0  	; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s]
+	  constant 44   28.0  	; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s]
+;     Safety system parameters
+	  constant 45   25.0  ; Overspeed percentage before initiating safety system alarm (shut-down) [%]
+	  constant 46    1.5  ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2
+;     Turbine parameter
+	  constant 47  205.8  ; Nominal rotor diameter [m]
+;     Parameters for rotor inertia reduction in variable speed region
+      constant 48    0.0  ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero)
+;     Parameters for alternative partial load controller with PI regulated TSR tracking
+      constant 49    0.0  ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise  Qg=K*Omega^2 is used)
+;     Parameters for adding aerodynamic drivetrain damping on gain scheduling
+      constant 50    0.0  ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)]
+      constant 51    0.0  ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg]
+      constant 52    0.0  ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2]
+	end init ;
+;
+    begin output ;
+      general time ; [s]
+      constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s]
+      constraint bearing2 pitch1 1 only 1; [rad]
+      constraint bearing2 pitch2 1 only 1; [rad]
+      constraint bearing2 pitch3 1 only 1; [rad]
+      wind free_wind 1 0.0 0.0 -127 	 ; Global coordinates at hub height
+	  dll inpvec 2 2 					 ; Elec. power from generator servo .dll
+	  dll inpvec 2 8 					 ; Grid state flag from generator servo .dll
+	  mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2]
+	  mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2]
+    end output;
+  end type2_dll;
+;
+   begin type2_dll;
+     name generator_servo ;
+     filename  ./control/generator_servo.dll ;
+     dll_subroutine_init init_generator_servo ;
+     dll_subroutine_update update_generator_servo ;
+     arraysizes_init  7 1 ;
+     arraysizes_update  4 8 ;
+ 	begin init ;
+       constant 1  20.0    ; Frequency of 2nd order servo model of generator-converter system [Hz]
+       constant 2  0.9     ; Damping ratio 2nd order servo model of generator-converter system [-]
+       constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm]
+       constant 4 0.94     ; Generator efficiency [-]
+       constant 5 1.0      ; Gearratio [-]
+       constant 6 0.0      ; Time for half value in softstart of torque [s]
+       constant 7 [Grid loss time]    ; Time for grid loss [s]
+     end init ;
+;
+     begin output;
+       general time                          ;   Time [s]
+       dll inpvec 1 1                        ;   Electrical torque reference [Nm]
+       constraint bearing1 shaft_rot 1 only 2;   Generator LSS speed [rad/s]
+       mbdy momentvec shaft 1 1 shaft only 3 ;   Shaft moment [kNm] (Qshaft)
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+   begin type2_dll;
+     name mech_brake ;
+     filename  ./control/mech_brake.dll ;
+     dll_subroutine_init init_mech_brake ;
+     dll_subroutine_update update_mech_brake ;
+     arraysizes_init    7 1 ;
+     arraysizes_update  4 6 ;
+ 	begin init ;
+      constant 1   5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque)
+      constant 2    100.0  ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom
+      constant 3      0.5  ; Delay time for before brake starts to deploy [s]
+      constant 4      0.74 ; Time for brake to become fully deployed [s]
+     end init ;
+;
+     begin output;
+	   general time                           ; Time [s]
+	   constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s]
+	   dll inpvec 1 25                        ; Command to deploy mechanical disc brake [0,1]
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+  begin type2_dll;
+    name servo_with_limits ;
+    filename  ./control/servo_with_limits.dll ;
+    dll_subroutine_init init_servo_with_limits ;
+    dll_subroutine_update update_servo_with_limits ;
+    arraysizes_init  10 1 ;
+    arraysizes_update  5 9 ;
+	begin init ;
+      constant 1   3    ; Number of blades [-]
+      constant 2   1.0  ; Frequency of 2nd order servo model of pitch system [Hz]
+      constant 3   0.7  ; Damping ratio 2nd order servo model of pitch system [-]
+      constant 4  10.0  ; Max. pitch speed [deg/s]
+      constant 5  15.0  ; Max. pitch acceleration [deg/s^2]
+      constant 6  -5.0  ; Min. pitch angle [deg]
+      constant  7 90.0  ; Max. pitch angle [deg]
+	  constant  8 [Time pitch runaway]   ; Time for pitch runaway [s]
+	  constant  9 [Time stuck DLC22b]    ; Time for stuck blade 1 [s]
+	  constant 10 [Pitch 1 DLC22b]       ; Angle of stuck blade 1 [deg]
+	end init ;
+    begin output;
+      general time        ;  Time                         [s]
+       dll inpvec 1 2     ;  Pitch1 demand angle          [rad]
+       dll inpvec 1 3     ;  Pitch2 demand angle          [rad]
+       dll inpvec 1 4     ;  Pitch3 demand angle          [rad]
+       dll inpvec 1 26    ;  Flag for emergency pitch stop         [0=off/1=on]
+    end output;
+;
+    begin actions;
+      constraint bearing2 angle pitch1 ; Angle pitch1 bearing    [rad]
+      constraint bearing2 angle pitch2 ; Angle pitch2 bearing    [rad]
+      constraint bearing2 angle pitch3 ; Angle pitch3 bearing    [rad]
+    end actions;
+  end type2_dll;
+;
+;	--- DLL for tower-blade tip distance -- ;
+  begin type2_dll;
+    name disttowtip ;
+    filename  ./control/towclearsens.dll ;
+    dll_subroutine_init initialize ;
+    dll_subroutine_update update ;
+    arraysizes_init  1 1 ;
+    arraysizes_update  12 4 ;
+	begin init ;
+	  constant  1  3.87  ; Tower radius close to downward blade tip [m]
+	end init ;
+    begin output;
+	  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+	  mbdy state pos blade1  26 1.0 global  ; [4,5,6]
+	  mbdy state pos blade2  26 1.0 global  ; [7,8,9]
+	  mbdy state pos blade3  26 1.0 global  ; [10,11,12]
+    end output;
+  end type2_dll;
+end dll;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+;
+begin output;
+  filename ./res/[Case folder]/[Case id.] ;
+  time [t0] [time stop] ;
+  data_format  [out_format];
+  buffer 1 ;
+;
+  general time;
+  constraint bearing1 shaft_rot 2; angle and angle velocity
+  constraint bearing2 pitch1 5;    angle and angle velocity
+  constraint bearing2 pitch2 5;    angle and angle velocity
+  constraint bearing2 pitch3 5;    angle and angle velocity
+  aero omega ;
+  aero torque;
+  aero power;
+  aero thrust;
+  wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z
+  ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED
+  mbdy momentvec shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  mbdy forcevec  shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  ; Moments:
+  mbdy momentvec tower  1 1  tower # tower base ;
+  mbdy momentvec tower  19 2 tower # tower yaw bearing ;
+  mbdy momentvec shaft  4 1  shaft # main bearing ;
+  mbdy momentvec blade1  3  2 blade1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 blade2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 blade3 # blade 3 root ;
+  ; blade 2,3 root section loads
+  mbdy momentvec blade2  3  2 local # blade 2 section root;
+  mbdy momentvec blade3  3  2 local # blade 3 section root;
+  ; blade 1 sectional loads in local coordinates
+  mbdy momentvec blade1  2  2 local # blade 1 section;
+  mbdy momentvec blade1  3  2 local # blade 1 section root;
+  mbdy momentvec blade1  4  2 local # blade 1 section;
+  mbdy momentvec blade1  5  2 local # blade 1 section;
+  mbdy momentvec blade1  6  2 local # blade 1 section;
+  mbdy momentvec blade1  7  2 local # blade 1 section;
+  mbdy momentvec blade1  8  2 local # blade 1 section;
+  mbdy momentvec blade1  9  2 local # blade 1 section;
+  mbdy momentvec blade1 10  2 local # blade 1 section;
+  mbdy momentvec blade1 11  2 local # blade 1 section;
+  mbdy momentvec blade1 12  2 local # blade 1 section;
+  mbdy momentvec blade1 13  2 local # blade 1 section;
+  mbdy momentvec blade1 14  2 local # blade 1 section;
+  mbdy momentvec blade1 15  2 local # blade 1 section;
+  mbdy momentvec blade1 16  2 local # blade 1 section;
+  mbdy momentvec blade1 17  2 local # blade 1 section;
+  mbdy momentvec blade1 18  2 local # blade 1 section;
+  mbdy momentvec blade1 19  2 local # blade 1 section;
+  mbdy momentvec blade1 20  2 local # blade 1 section;
+  mbdy momentvec blade1 21  2 local # blade 1 section;
+  mbdy momentvec blade1 22  2 local # blade 1 section;
+  mbdy momentvec blade1 23  2 local # blade 1 section;
+  mbdy momentvec blade1 24  2 local # blade 1 section;
+  mbdy momentvec blade1 25  2 local # blade 1 section;
+  mbdy momentvec blade1 26  2 local # blade 1 section;
+  ; blade root out and in of plane forces
+  mbdy momentvec blade1 3  2 hub1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 hub2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 hub3 # blade 3 root ;
+;  mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ;
+;  mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ;
+;  mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ;
+  ; Displacements and accellerations
+  mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ;
+  mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ;
+  mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc;
+  mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc;
+;
+  mbdy state pos blade1  26 1.0 global # gl blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 global # gl blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 global # gl blade 3 tip pos ;
+  mbdy state pos blade1  26 1.0 blade1 # blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 blade2 # blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 blade3 # blade 3 tip pos ;
+;
+  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+;
+  ; elastic twist (torsional deformation) along the blade
+  aero tors_ang 1  45.56;
+  aero tors_ang 1  59.19;
+  aero tors_ang 1  70.87;
+  aero tors_ang 1  80.61;
+  aero tors_ang 1  84.50;
+  aero tors_ang 1  88.40;
+  aero tors_ang 1  92.29;
+  aero tors_ang 1  96.19;
+  aero tors_ang 1  98.13;
+  aero tors_ang 1 100.08; tip
+;
+; - Monitor Aerodynamics - ;
+  aero windspeed 3 1 1 72.5;
+  aero alfa 1 72.5;
+  aero alfa 2 72.5;
+  aero alfa 3 72.5;
+  aero cl 1 72.5;
+  aero cl 2 72.5;
+  aero cl 3 72.5;
+  aero cd 1 72.5;
+  aero cd 2 72.5;
+  aero cd 3 72.5;
+; - Main Controller -
+; Output to controller
+  ; dll outvec 1 1 # time;
+  ; dll outvec 1 2 # slow speed shaft rad/s;
+  ; dll outvec 1 3 # pitch angle 1;
+  ; dll outvec 1 4 # pitch angle 2;
+  ; dll outvec 1 5 # pitch angle 3;
+  ; dll outvec 1 6 # WSP_x_global;
+  ; dll outvec 1 7 # WSP_y_global;
+  ; dll outvec 1 8 # WSP_z_global;
+  ; dll outvec 1 9 # Elec. pwr ;
+  ; dll outvec 1 10 # Grid flag ;
+; Input from controller
+  dll inpvec 1  1 # Generator torque reference            [Nm]   ;
+  dll inpvec 1  2 # Pitch angle reference of blade 1      [rad]  ;
+  dll inpvec 1  3 # Pitch angle reference of blade 2      [rad]  ;
+  dll inpvec 1  4 # Pitch angle reference of blade 3      [rad]  ;
+  ; dll inpvec 1  5 # Power reference                       [W]    ;
+  ; dll inpvec 1  6 # Filtered wind speed                   [m/s]  ;
+  ; dll inpvec 1  7 # Filtered rotor speed                  [rad/s];
+  ; dll inpvec 1  8 # Filtered rotor speed error for torque [rad/s];
+  ; dll inpvec 1  9 # Bandpass filtered rotor speed         [rad/s];
+  ; dll inpvec 1 10 # Proportional term of torque contr.    [Nm]   ;
+  ; dll inpvec 1 11 # Integral term of torque controller    [Nm]   ;
+  ; dll inpvec 1 12 # Minimum limit of torque               [Nm]   ;
+  ; dll inpvec 1 13 # Maximum limit of torque               [Nm]   ;
+  dll inpvec 1 14 # Torque limit switch based on pitch    [-]    ;
+  ; dll inpvec 1 15 # Filtered rotor speed error for pitch  [rad/s];
+  ; dll inpvec 1 16 # Power error for pitch                 [W]    ;
+  ; dll inpvec 1 17 # Proportional term of pitch controller [rad]  ;
+  ; dll inpvec 1 18 # Integral term of pitch controller     [rad]  ;
+  ; dll inpvec 1 19 # Minimum limit of pitch                [rad]  ;
+  ; dll inpvec 1 20 # Maximum limit of pitch                [rad]  ;
+  dll inpvec 1 21 # Torque reference from DT dammper      [Nm]  ;
+  dll inpvec 1 22 # Status signal                         [-]  ;
+  ; dll inpvec 1 23 # Total added pitch rate                [rad/s]  ;
+  dll inpvec 1 24 # Filtered Mean pitch for gain sch      [rad]  ;
+  dll inpvec 1 25 # Flag for mechnical brake              [0=off/1=on] ;
+  dll inpvec 1 26 # Flag for emergency pitch stop         [0=off/1=on] ;
+  dll inpvec 1 27 # LP filtered acceleration level        [m/s^2] ;
+; ; Output to generator model
+   ; dll outvec 2 1  # time ;
+   ; dll outvec 2 2  # Electrical torque reference [Nm] ;
+   ; dll outvec 2 3  # omega LSS ;
+; Input from generator model
+   dll inpvec 2 1  # Mgen LSS [Nm];
+   dll inpvec 2 2  # Pelec W ;
+   dll inpvec 2 3  # Mframe ;
+   dll inpvec 2 4  # Mgen HSS ;
+   dll inpvec 2 5  # Generator Pmech kW ;
+   dll inpvec 2 6  # Filtered Gen speed ;
+   dll inpvec 2 7  # Resulting Eff ;
+   dll inpvec 2 8  # Grid flag ;
+; Output to mechanical brake
+   dll inpvec 3 1 # Brake torque [Nm] ;
+; ; Input from mechanical brake
+   ; dll outvec 3 1 # Time [s] ;
+   ; dll outvec 3 2 # Generator LSS speed [rad/s] ;
+   ; dll outvec 3 3 # Deploy brake ;
+; ; Output to pitch servo
+   ; dll outvec 4 1 # time;
+   ; dll outvec 4 2 # pitchref 1;
+   ; dll outvec 4 3 # pitchref 2;
+   ; dll outvec 4 4 # pitchref 3;
+   ; dll outvec 4 5 # Emerg. stop;
+; Input from pitch servo
+   dll inpvec 4 1 # pitch 1;
+   dll inpvec 4 2 # pitch 2;
+   dll inpvec 4 3 # pitch 3;
+; Check tower clearence
+   dll inpvec 5 1 # Bltip tow min d [m];
+;   general constant 1.0 ;	constant 1.0 - to mesure activity of flap in terms of displacement
+; - Check on flap control:
+	; ; - From flap controller: -
+	; dll type2_dll cyclic_flap_controller inpvec 1	# Ref flap signal bl 1 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 2	# Ref flap signal bl 2 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 3	# Ref flap signal bl 3 [deg] ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+	; ; - Check Gains - ;
+	; dll type2_dll cyclic_flap_controller inpvec 10	# lead angle [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 11	# scaling on rat pow [-] ;
+	; dll type2_dll cyclic_flap_controller inpvec 12	# actual kp [deg/kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 13	# actual ki [deg/kNms] ;
+	; dll type2_dll cyclic_flap_controller inpvec 14	# actual kd [deg s/kNm] ;
+	; ; - Actual deflections -
+	; [dis_setbeta] aero beta 1 1 ;
+	; [dis_setbeta] aero beta 2 1 ;
+	; [dis_setbeta] aero beta 3 1 ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+end output;
+;
+exit;
diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc
new file mode 100644
index 00000000..c54c20d0
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc
@@ -0,0 +1,850 @@
+;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd
+begin simulation;
+  time_stop    40;
+  solvertype   1 ;    (newmark)
+  on_no_convergence continue ;
+;  convergence_limits 1E3 1.0 1E-7 ;
+  logfile ./logfiles/dlc01_demos/dlc01_steady_wsp10_noturb.log ;
+  begin newmark;
+    deltat    0.02;
+  end newmark;
+end simulation;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin new_htc_structure;
+;--------------------------------------------------------------------------------------------------
+;  beam_output_file_name  ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_beam.dat;
+;  body_output_file_name  ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_body.dat;
+;  struct_inertia_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_struct.dat;
+;  body_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_body_eigen.dat;
+;  structure_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_strc_eigen.dat;
+;---------------------------------------------------------------------------------------------------
+  begin main_body;         tower 123.6m
+    name        tower ;
+    type        timoschenko ;
+    nbodies     3 ;
+    node_distribution     c2_def ;
+    damping_posdef   0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14
+     begin timoschenko_input;
+      filename ./data/AVATAR_10MW_RWT_tower_st.dat;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 20;
+      sec	1	0	0	0.000	0	;  x,y,z,twist
+      sec	2	0	0	-12.293	0	;
+      sec	3	0	0	-12.294	0	;
+      sec	4	0	0	-24.585	0	;
+      sec	5	0	0	-24.586	0	;
+      sec	6	0	0	-36.878	0	;
+      sec	7	0	0	-36.879	0	;
+      sec	8	0	0	-49.171	0	;
+      sec	9	0	0	-49.172	0	 ;
+      sec	10	0	0	-61.463	0	;
+      sec	11	0	0	-61.464	0	;
+      sec	12	0	0	-73.756	0	;
+      sec	13	0	0	-73.757	0	;
+      sec	14	0	0	-86.049	0	;
+      sec	15	0	0	-86.050	0	;
+      sec	16	0	0	-98.341	0	;
+      sec	17	0	0	-98.342	0	;
+      sec	18	0	0	-110.634	0	;
+      sec	19	0	0	-110.635	0	;
+      sec	20	0	0	-123.600	0	;
+     end c2_def ;
+    end main_body;
+;
+  begin main_body;
+    name        towertop ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  7.50E-03  7.40E-03  7.00E-03  7.00E-03  7.00E-03  7.00E-03  ;   "changed by Anyd
+	concentrated_mass	2.0	0.0	2.6870E+00	3.0061E-01	4.4604E+05	4.1060E+06	4.1060E+05	4.1060E+06	;	Nacel
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Towertop_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0  0.0    0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 -2.75   0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+;	damping_posdef  8.00E-3  8.00E-03  8.00E-02  4.65E-04  4.65E-04  2.38E-02 ; "tuned by Anyd 22/2/13
+	damping_posdef  0.0 0.0 3.983E-03 4.65E-04  4.65E-04  3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l
+    concentrated_mass	1.0	0.0	0.0	0.0	0.0	0.0	0.0	3.751E+06	;	generator equivalent slow shaft "re_tu
+    concentrated_mass	5.0	0.0	0.0	0.0	1.0552E+05	0.0	0.0	3.257E+05	;	hub mass and inertia;	"re_tuned
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 5;
+      sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist
+      sec 2 0.0 0.0 1.5 0.0 ;
+      sec 3 0.0 0.0 3.0 0.0 ;
+      sec 4 0.0 0.0 4.4	0.0 ; Main bearing
+      sec 5 0.0 0.0 7.1 0.0 ; Rotor centre
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft_nonrotate ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  0.00E+00 0.00E+00 0.00E+00  1.0E-01  1.0E-01  1.0E-01 ;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 3; dummy light and stiff structure
+    end timoschenko_input;
+    begin c2_def;
+      nsec 2;
+      sec 1 0.0 0.0 0.0    0.0 ;
+      sec 2 0.0 0.0 0.1    0.0 ;
+    end c2_def;
+  end main_body;
+;
+  begin main_body;
+    name        hub1 ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  2.00E-05  2.00E-05  2.00E-04  3.00E-06  3.00E-06  2.00E-05;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Hub_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 2.8 0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           hub2 ;
+    copy_main_body hub1;
+  end main_body;
+;
+  begin main_body;
+    name           hub3 ;
+    copy_main_body hub1 ;
+  end main_body;
+;
+  begin main_body;
+    name        blade1 ;
+    type        timoschenko ;
+    nbodies     10 ;
+    node_distribution    c2_def;
+;	damping_posdef   0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd"
+;	damping_posdef   0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to
+;	damping_posdef   0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2
+	damping_posdef   0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14
+   begin timoschenko_input ;
+      filename ./data/AVATAR_10MW_RWT_Blade_st.dat ;
+      set 1 9 ;
+    end timoschenko_input;
+    begin c2_def;
+      nsec 27 ;
+      sec  1   -0.001   -0.001     0.000   -17.280 ;
+      sec  2   -0.005   -0.001     2.220   -17.280 ;
+      sec  3   -0.006   -0.000     4.440   -17.280 ;
+      sec  4   -0.086    0.022     6.660   -17.280 ;
+      sec  5   -0.231    0.069    11.039   -17.273 ;
+      sec  6   -0.447    0.121    15.418   -16.441 ;
+      sec  7   -0.690    0.161    19.797   -14.613 ;
+      sec  8   -0.812    0.162    24.176   -12.578 ;
+      sec  9   -0.891    0.158    28.555   -10.588 ;
+      sec 10   -0.865    0.124    32.934    -9.070 ;
+      sec 11   -0.833    0.112    37.313    -8.224 ;
+      sec 12   -0.797    0.102    41.692    -7.688 ;
+      sec 13   -0.760    0.093    46.071    -7.205 ;
+      sec 14   -0.721    0.083    50.450    -6.749 ;
+      sec 15   -0.683    0.075    54.829    -6.288 ;
+      sec 16   -0.644    0.066    59.208    -5.838 ;
+      sec 17   -0.606    0.058    63.587    -5.401 ;
+      sec 18   -0.567    0.050    67.966    -4.982 ;
+      sec 19   -0.529    0.044    72.345    -4.640 ;
+      sec 20   -0.492    0.037    76.724    -4.380 ;
+      sec 21   -0.456    0.032    81.103    -4.144 ;
+      sec 22   -0.422    0.026    85.482    -3.914 ;
+      sec 23   -0.392    0.021    89.861    -3.685 ;
+      sec 24   -0.346    0.014    94.240    -3.460 ;
+      sec 25   -0.307    0.010    96.190    -3.350 ;
+      sec 26   -0.249    0.005    98.130    -3.250 ;
+      sec 27   -0.089    0.006   100.080    -3.140 ;
+   end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           blade2 ;
+    copy_main_body blade1;
+  end main_body;
+;
+  begin main_body;
+    name           blade3 ;
+    copy_main_body blade1 ;
+  end main_body;
+;-------------------------------------------------------------------------------------------------------------------------------
+;
+  begin orientation;
+    begin base;
+      body   tower;
+      inipos        0.0 0.0 0.0 ;         initial position of node 1
+      body_eulerang 0.0 0.0 0.0;
+    end base;
+;
+    begin relative;
+      body1  tower last;
+      body2  towertop 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  towertop last;
+      body2  shaft 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang 5.0 0.0 0.0;    5 deg tilt angle
+      body2_eulerang 0.0 0.0 0;
+      mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5 ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5;
+    end relative;
+;
+    begin relative; dummy non rotating hub coordinates
+      body1  towertop last;
+      body2  shaft_nonrotate 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang  5.0 0.0 0.0; same 5 deg tilt angle as real shaft
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub1 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 180.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub2 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub3 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 -60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  hub1 last;
+      body2  blade1 1;
+      body2_eulerang 0.0 0.0 0;
+    end relative;
+;
+    begin relative;
+      body1  hub2 last;
+      body2  blade2 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  hub3 last;
+      body2  blade3 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+ 	end orientation;
+;-------------------------------------------------------------------------------------------------------------------------------
+begin constraint;
+;
+    begin fix0;  fixed to ground in translation and rotation of node 1
+      body tower;
+    end fix0;
+;
+     begin fix1;
+		   body1 tower last ;
+		   body2 towertop 1;
+		 end fix1;
+;
+    begin bearing1;                       free bearing
+      name  shaft_rot;
+      body1 towertop last;
+      body2 shaft 1;
+      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+   end bearing1;
+;
+;    begin bearing3;                       free bearing
+;      name  shaft_rot;
+;      body1 towertop last;
+;      body2 shaft 1;
+;      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+;      omegas 0.0 ;
+;   end bearing3;
+;
+     begin fix1;
+           body1 tower last ;
+           body2 shaft_nonrotate 1;
+     end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub1 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub2 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub3 1;
+		 end fix1;
+;
+    begin bearing2;
+      name pitch1;
+      body1 hub1 last;
+     body2 blade1 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+   end bearing2;
+;
+    begin bearing2;
+      name pitch2;
+      body1 hub2 last;
+      body2 blade2 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+;
+    begin bearing2;
+      name pitch3;
+      body1 hub3 last;
+      body2 blade3 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+end constraint;
+;
+end new_htc_structure;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin wind ;
+  density                 1.225 ;
+  wsp                     10   ;
+  tint                    0.2096   ;
+  horizontal_input        1     ;
+  windfield_rotations     0 8.0 0.0 ;    yaw, tilt (positive=upflow=wind coming from below), rotation
+  center_pos0             0.0 0.0 -127 ; hub heigth
+  shear_format            3 0 ;
+  turb_format             0     ;  0=none, 1=mann,2=flex
+  tower_shadow_method     3     ;  0=none, 1=potential flow, 2=jet
+  scale_time_start       20 ;
+  wind_ramp_factor   0.0 20 0.8 1.0 ;
+  ; iec_gust      ;
+;
+;  wind_ramp_abs  400.0  401.0  0.0   1.0 ;   wsp. after the step:  5.0
+;  wind_ramp_abs  501.0  502.0  0.0   1.0 ;   wsp. after the step:  6.0
+;  wind_ramp_abs  602.0  603.0  0.0   1.0 ;   wsp. after the step:  7.0
+;  wind_ramp_abs  703.0  704.0  0.0   1.0 ;   wsp. after the step:  8.0
+;  wind_ramp_abs  804.0  805.0  0.0   1.0 ;   wsp. after the step:  9.0
+;  wind_ramp_abs  905.0  906.0  0.0   1.0 ;   wsp. after the step: 10.0
+;  wind_ramp_abs  1006.0  1007.0  0.0   1.0 ;   wsp. after the step: 11.0
+;  wind_ramp_abs  1107.0  1108.0  0.0   1.0 ;   wsp. after the step: 12.0
+;  wind_ramp_abs  1208.0  1209.0  0.0   1.0 ;   wsp. after the step: 13.0
+;  wind_ramp_abs  1309.0  1310.0  0.0   1.0 ;   wsp. after the step: 14.0
+;  wind_ramp_abs  1410.0  1411.0  0.0   1.0 ;   wsp. after the step: 15.0
+;  wind_ramp_abs  1511.0  1512.0  0.0   1.0 ;   wsp. after the step: 16.0
+;  wind_ramp_abs  1612.0  1613.0  0.0   1.0 ;   wsp. after the step: 17.0
+;  wind_ramp_abs  1713.0  1714.0  0.0   1.0 ;   wsp. after the step: 18.0
+;  wind_ramp_abs  1814.0  1815.0  0.0   1.0 ;   wsp. after the step: 19.0
+;  wind_ramp_abs  1915.0  1916.0  0.0   1.0 ;   wsp. after the step: 20.0
+;  wind_ramp_abs  2016.0  2017.0  0.0   1.0 ;   wsp. after the step: 21.0
+;  wind_ramp_abs  2117.0  2118.0  0.0   1.0 ;   wsp. after the step: 22.0
+;  wind_ramp_abs  2218.0  2219.0  0.0   1.0 ;   wsp. after the step: 23.0
+;  wind_ramp_abs  2319.0  2320.0  0.0   1.0 ;   wsp. after the step: 24.0
+;  wind_ramp_abs  2420.0  2421.0  0.0   1.0 ;   wsp. after the step: 25.0
+  ;
+;  wind_ramp_abs   400.0  2200.0  0.0   21.0 ;   wsp. after the step: 25.0
+;  wind_ramp_abs  2400.0  4200.0  0.0  -21.0 ;   wsp. after the step: 25.0
+  ;
+  begin mann ;
+    create_turb_parameters 29.4 1.0 3.9 0 1.0 ;      L, alfaeps, gamma, seed, highfrq compensation
+    filename_u    ./turb/noneu.bin ;
+    filename_v    ./turb/nonev.bin ;
+    filename_w    ./turb/nonew.bin ;
+    box_dim_u    8192 0.048828125 ;
+    box_dim_v    32 7.5;
+    box_dim_w    32 7.5;
+    std_scaling   1.0 0.7 0.5 ;
+  end mann ;
+;
+  begin tower_shadow_potential_2;
+    tower_mbdy_link tower;
+    nsec  2;
+    radius      0.0  4.15 ;
+    radius     123.6 2.75 ; (radius)
+  end tower_shadow_potential_2;
+end wind;
+;
+begin aerodrag ;
+  begin aerodrag_element ;
+    mbdy_name tower;
+    aerodrag_sections uniform 10 ;
+    nsec 2 ;
+    sec 0.0 0.6 8.3 ;  tower bottom
+    sec 123.6 0.6 5.5 ;  tower top  (diameter)
+  end aerodrag_element;
+;
+  begin aerodrag_element ;        Nacelle drag side
+    mbdy_name shaft;
+    aerodrag_sections uniform 2 ;
+    nsec 2 ;
+    sec 0.0   0.8 10.0 ;
+    sec 7.01  0.8 10.0 ;
+  end aerodrag_element;
+end aerodrag;
+;
+begin aero ;
+  nblades  3;
+  hub_vec shaft -3 ;         rotor rotation vector (normally shaft composant directed from pressure to sustion side)
+  link 1 mbdy_c2_def blade1;
+  link 2 mbdy_c2_def blade2;
+  link 3 mbdy_c2_def blade3;
+  ae_filename        ./data/AVATAR_10MW_RWT_ae.dat ;
+  pc_filename        ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ;
+  induction_method   1 ;     0=none, 1=normal
+  aerocalc_method    1 ;     0=ingen aerodynamic, 1=med aerodynamic
+  aero_distribution ae_file 1 ;
+  ae_sets            1 1 1;
+  tiploss_method     1 ;     0=none, 1=prandtl
+  dynstall_method    2 ;     0=none, 1=stig øye method,2=mhh method
+;
+; ; --- Flaps --- ;
+  ; begin dynstall_ateflap ;
+    ; Ais  0.165  0.335  0.0 ;
+    ; Bis  0.0455  0.30  0.30 ;
+      ; flap  59.5925   85.5023   ./data/Flap_dturwt1_Thk24.ds  ;  Flap Sec: 1
+   ; end dynstall_ateflap;
+end aero ;
+;-------------------------------------------------------------------------------------------------
+begin dll;
+;
+  begin type2_dll;
+    name risoe_controller ;
+    filename  ./control/risoe_controller.dll ;
+    dll_subroutine_init init_regulation ;
+    dll_subroutine_update update_regulation ;
+    arraysizes_init  52 1 ;
+    arraysizes_update  12 100 ;
+	begin init ;
+       ; Overall parameters
+      constant   1 10000.0    	; Rated power [kW]
+      constant   2   0.628    	; Minimum rotor speed [rad/s]
+      constant   3   1.005    	; Rated rotor speed [rad/s]
+      constant   4  15.6E+06  	; Maximum allowable generator torque [Nm]
+      constant   5  100.0    	; Minimum pitch angle, theta_min [deg],
+								; if |theta_min|>90, then a table of <wsp,theta_min> is read ;
+								; from a file named 'wpdata.n', where n=int(theta_min)
+      constant   6  90.0    	; Maximum pitch angle [deg]
+      constant   7  10.0    	; Maximum pitch velocity operation [deg/s]
+      constant   8   0.4    	; Frequency of generator speed filter [Hz]
+      constant   9   0.7    	; Damping ratio of speed filter [-]
+      constant  10   1.64   	; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used
+      ; Partial load control parameters
+      constant  11   0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ;
+                                ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3
+      constant  12   1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)]
+      constant  13   0.153367E+08 ; Integral gain of torque controller [Nm/rad]
+      constant  14   0.0    	; Differential gain of torque controller [Nm/(rad/s^2)]
+;     Full load control parameters
+      constant  15   1      	; Generator control switch [1=constant power, 2=constant torque]
+      constant  16   0.762489  ; Proportional gain of pitch controller [rad/(rad/s)]
+      constant  17   0.224086  ; Integral gain of pitch controller [rad/rad]
+      constant  18   0.0    ; Differential gain of pitch controller [rad/(rad/s^2)]
+      constant  19   0.4e-9 ; Proportional power error gain [rad/W]
+      constant  20   0.4e-9 ; Integral power error gain [rad/(Ws)]
+      constant  21  10.6824   ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg]
+      constant  22 601.25499  ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] &
+                            ; (if zero, KK1 = pitch angle at double gain)
+      constant  23   1.3    ; Relative speed for double nonlinear gain [-]
+;     Cut-in simulation parameters
+      constant  24  -1  ; Cut-in time [s]
+      constant  25  1.0   ; Time delay for soft start of torque [1/1P]
+;     Cut-out simulation parameters
+      constant  26  -1  ; Cut-out time [s]
+      constant  27   5.0  ; Time constant for linear torque cut-out [s]
+      constant  28  1    ; Stop type [1=normal, 2=emergency]
+      constant  29  1.0  ; Time delay for pitch stop after shut-down signal [s]
+      constant  30  3  ; Maximum pitch velocity during initial period of stop [deg/s]
+      constant  31  3.0  ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30)
+      constant  32  4  ; Maximum pitch velocity during final phase of stop [deg/s]
+;     Expert parameters (keep default values unless otherwise given)
+      constant  33   2.0  	; Lower angle above lowest minimum pitch angle for switch [deg]
+      constant  34   2.0  	; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch
+      constant  35  95.0  	; Ratio between filtered speed and reference speed for fully open torque limits [%]
+      constant  36   2.0  	; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P]
+      constant  37   1.0  	; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P]
+;     Drivetrain damper
+      constant  38   0.0  	; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10
+;	  Over speed
+	  constant  39  25.0  	; Overspeed percentage before initiating turbine controller alarm (shut-down) [%]
+;     Additional non-linear pitch control term (not used when all zero)
+	  constant  40   0.0  	; Err0 [rad/s]
+	  constant  41   0.0  	; ErrDot0 [rad/s^2]
+	  constant  42   0.0  	; PitNonLin1 [rad/s]
+;     Storm control command
+	  constant 43   28.0  	; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s]
+	  constant 44   28.0  	; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s]
+;     Safety system parameters
+	  constant 45   25.0  ; Overspeed percentage before initiating safety system alarm (shut-down) [%]
+	  constant 46    1.5  ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2
+;     Turbine parameter
+	  constant 47  205.8  ; Nominal rotor diameter [m]
+;     Parameters for rotor inertia reduction in variable speed region
+      constant 48    0.0  ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero)
+;     Parameters for alternative partial load controller with PI regulated TSR tracking
+      constant 49    0.0  ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise  Qg=K*Omega^2 is used)
+;     Parameters for adding aerodynamic drivetrain damping on gain scheduling
+      constant 50    0.0  ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)]
+      constant 51    0.0  ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg]
+      constant 52    0.0  ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2]
+	end init ;
+;
+    begin output ;
+      general time ; [s]
+      constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s]
+      constraint bearing2 pitch1 1 only 1; [rad]
+      constraint bearing2 pitch2 1 only 1; [rad]
+      constraint bearing2 pitch3 1 only 1; [rad]
+      wind free_wind 1 0.0 0.0 -127 	 ; Global coordinates at hub height
+	  dll inpvec 2 2 					 ; Elec. power from generator servo .dll
+	  dll inpvec 2 8 					 ; Grid state flag from generator servo .dll
+	  mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2]
+	  mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2]
+    end output;
+  end type2_dll;
+;
+   begin type2_dll;
+     name generator_servo ;
+     filename  ./control/generator_servo.dll ;
+     dll_subroutine_init init_generator_servo ;
+     dll_subroutine_update update_generator_servo ;
+     arraysizes_init  7 1 ;
+     arraysizes_update  4 8 ;
+ 	begin init ;
+       constant 1  20.0    ; Frequency of 2nd order servo model of generator-converter system [Hz]
+       constant 2  0.9     ; Damping ratio 2nd order servo model of generator-converter system [-]
+       constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm]
+       constant 4 0.94     ; Generator efficiency [-]
+       constant 5 1.0      ; Gearratio [-]
+       constant 6 0.0      ; Time for half value in softstart of torque [s]
+       constant 7 5000    ; Time for grid loss [s]
+     end init ;
+;
+     begin output;
+       general time                          ;   Time [s]
+       dll inpvec 1 1                        ;   Electrical torque reference [Nm]
+       constraint bearing1 shaft_rot 1 only 2;   Generator LSS speed [rad/s]
+       mbdy momentvec shaft 1 1 shaft only 3 ;   Shaft moment [kNm] (Qshaft)
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+   begin type2_dll;
+     name mech_brake ;
+     filename  ./control/mech_brake.dll ;
+     dll_subroutine_init init_mech_brake ;
+     dll_subroutine_update update_mech_brake ;
+     arraysizes_init    7 1 ;
+     arraysizes_update  4 6 ;
+ 	begin init ;
+      constant 1   5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque)
+      constant 2    100.0  ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom
+      constant 3      0.5  ; Delay time for before brake starts to deploy [s]
+      constant 4      0.74 ; Time for brake to become fully deployed [s]
+     end init ;
+;
+     begin output;
+	   general time                           ; Time [s]
+	   constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s]
+	   dll inpvec 1 25                        ; Command to deploy mechanical disc brake [0,1]
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+  begin type2_dll;
+    name servo_with_limits ;
+    filename  ./control/servo_with_limits.dll ;
+    dll_subroutine_init init_servo_with_limits ;
+    dll_subroutine_update update_servo_with_limits ;
+    arraysizes_init  10 1 ;
+    arraysizes_update  5 9 ;
+	begin init ;
+      constant 1   3    ; Number of blades [-]
+      constant 2   1.0  ; Frequency of 2nd order servo model of pitch system [Hz]
+      constant 3   0.7  ; Damping ratio 2nd order servo model of pitch system [-]
+      constant 4  10.0  ; Max. pitch speed [deg/s]
+      constant 5  15.0  ; Max. pitch acceleration [deg/s^2]
+      constant 6  -5.0  ; Min. pitch angle [deg]
+      constant  7 90.0  ; Max. pitch angle [deg]
+	  constant  8 5000   ; Time for pitch runaway [s]
+	  constant  9 -1    ; Time for stuck blade 1 [s]
+	  constant 10 0       ; Angle of stuck blade 1 [deg]
+	end init ;
+    begin output;
+      general time        ;  Time                         [s]
+       dll inpvec 1 2     ;  Pitch1 demand angle          [rad]
+       dll inpvec 1 3     ;  Pitch2 demand angle          [rad]
+       dll inpvec 1 4     ;  Pitch3 demand angle          [rad]
+       dll inpvec 1 26    ;  Flag for emergency pitch stop         [0=off/1=on]
+    end output;
+;
+    begin actions;
+      constraint bearing2 angle pitch1 ; Angle pitch1 bearing    [rad]
+      constraint bearing2 angle pitch2 ; Angle pitch2 bearing    [rad]
+      constraint bearing2 angle pitch3 ; Angle pitch3 bearing    [rad]
+    end actions;
+  end type2_dll;
+;
+;	--- DLL for tower-blade tip distance -- ;
+  begin type2_dll;
+    name disttowtip ;
+    filename  ./control/towclearsens.dll ;
+    dll_subroutine_init initialize ;
+    dll_subroutine_update update ;
+    arraysizes_init  1 1 ;
+    arraysizes_update  12 4 ;
+	begin init ;
+	  constant  1  3.87  ; Tower radius close to downward blade tip [m]
+	end init ;
+    begin output;
+	  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+	  mbdy state pos blade1  26 1.0 global  ; [4,5,6]
+	  mbdy state pos blade2  26 1.0 global  ; [7,8,9]
+	  mbdy state pos blade3  26 1.0 global  ; [10,11,12]
+    end output;
+  end type2_dll;
+end dll;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+;
+begin output;
+  filename ./res/dlc01_demos/dlc01_steady_wsp10_noturb ;
+  time 20 40 ;
+  data_format  hawc_binary;
+  buffer 1 ;
+;
+  general time;
+  constraint bearing1 shaft_rot 2; angle and angle velocity
+  constraint bearing2 pitch1 5;    angle and angle velocity
+  constraint bearing2 pitch2 5;    angle and angle velocity
+  constraint bearing2 pitch3 5;    angle and angle velocity
+  aero omega ;
+  aero torque;
+  aero power;
+  aero thrust;
+  wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z
+  ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED
+  mbdy momentvec shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  mbdy forcevec  shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  ; Moments:
+  mbdy momentvec tower  1 1  tower # tower base ;
+  mbdy momentvec tower  19 2 tower # tower yaw bearing ;
+  mbdy momentvec shaft  4 1  shaft # main bearing ;
+  mbdy momentvec blade1  3  2 blade1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 blade2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 blade3 # blade 3 root ;
+  ; blade 2,3 root section loads
+  mbdy momentvec blade2  3  2 local # blade 2 section root;
+  mbdy momentvec blade3  3  2 local # blade 3 section root;
+  ; blade 1 sectional loads in local coordinates
+  mbdy momentvec blade1  2  2 local # blade 1 section;
+  mbdy momentvec blade1  3  2 local # blade 1 section root;
+  mbdy momentvec blade1  4  2 local # blade 1 section;
+  mbdy momentvec blade1  5  2 local # blade 1 section;
+  mbdy momentvec blade1  6  2 local # blade 1 section;
+  mbdy momentvec blade1  7  2 local # blade 1 section;
+  mbdy momentvec blade1  8  2 local # blade 1 section;
+  mbdy momentvec blade1  9  2 local # blade 1 section;
+  mbdy momentvec blade1 10  2 local # blade 1 section;
+  mbdy momentvec blade1 11  2 local # blade 1 section;
+  mbdy momentvec blade1 12  2 local # blade 1 section;
+  mbdy momentvec blade1 13  2 local # blade 1 section;
+  mbdy momentvec blade1 14  2 local # blade 1 section;
+  mbdy momentvec blade1 15  2 local # blade 1 section;
+  mbdy momentvec blade1 16  2 local # blade 1 section;
+  mbdy momentvec blade1 17  2 local # blade 1 section;
+  mbdy momentvec blade1 18  2 local # blade 1 section;
+  mbdy momentvec blade1 19  2 local # blade 1 section;
+  mbdy momentvec blade1 20  2 local # blade 1 section;
+  mbdy momentvec blade1 21  2 local # blade 1 section;
+  mbdy momentvec blade1 22  2 local # blade 1 section;
+  mbdy momentvec blade1 23  2 local # blade 1 section;
+  mbdy momentvec blade1 24  2 local # blade 1 section;
+  mbdy momentvec blade1 25  2 local # blade 1 section;
+  mbdy momentvec blade1 26  2 local # blade 1 section;
+  ; blade root out and in of plane forces
+  mbdy momentvec blade1 3  2 hub1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 hub2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 hub3 # blade 3 root ;
+;  mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ;
+;  mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ;
+;  mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ;
+  ; Displacements and accellerations
+  mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ;
+  mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ;
+  mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc;
+  mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc;
+;
+  mbdy state pos blade1  26 1.0 global # gl blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 global # gl blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 global # gl blade 3 tip pos ;
+  mbdy state pos blade1  26 1.0 blade1 # blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 blade2 # blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 blade3 # blade 3 tip pos ;
+;
+  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+;
+  ; elastic twist (torsional deformation) along the blade
+  aero tors_ang 1  45.56;
+  aero tors_ang 1  59.19;
+  aero tors_ang 1  70.87;
+  aero tors_ang 1  80.61;
+  aero tors_ang 1  84.50;
+  aero tors_ang 1  88.40;
+  aero tors_ang 1  92.29;
+  aero tors_ang 1  96.19;
+  aero tors_ang 1  98.13;
+  aero tors_ang 1 100.08; tip
+;
+; - Monitor Aerodynamics - ;
+  aero windspeed 3 1 1 72.5;
+  aero alfa 1 72.5;
+  aero alfa 2 72.5;
+  aero alfa 3 72.5;
+  aero cl 1 72.5;
+  aero cl 2 72.5;
+  aero cl 3 72.5;
+  aero cd 1 72.5;
+  aero cd 2 72.5;
+  aero cd 3 72.5;
+; - Main Controller -
+; Output to controller
+  ; dll outvec 1 1 # time;
+  ; dll outvec 1 2 # slow speed shaft rad/s;
+  ; dll outvec 1 3 # pitch angle 1;
+  ; dll outvec 1 4 # pitch angle 2;
+  ; dll outvec 1 5 # pitch angle 3;
+  ; dll outvec 1 6 # WSP_x_global;
+  ; dll outvec 1 7 # WSP_y_global;
+  ; dll outvec 1 8 # WSP_z_global;
+  ; dll outvec 1 9 # Elec. pwr ;
+  ; dll outvec 1 10 # Grid flag ;
+; Input from controller
+  dll inpvec 1  1 # Generator torque reference            [Nm]   ;
+  dll inpvec 1  2 # Pitch angle reference of blade 1      [rad]  ;
+  dll inpvec 1  3 # Pitch angle reference of blade 2      [rad]  ;
+  dll inpvec 1  4 # Pitch angle reference of blade 3      [rad]  ;
+  ; dll inpvec 1  5 # Power reference                       [W]    ;
+  ; dll inpvec 1  6 # Filtered wind speed                   [m/s]  ;
+  ; dll inpvec 1  7 # Filtered rotor speed                  [rad/s];
+  ; dll inpvec 1  8 # Filtered rotor speed error for torque [rad/s];
+  ; dll inpvec 1  9 # Bandpass filtered rotor speed         [rad/s];
+  ; dll inpvec 1 10 # Proportional term of torque contr.    [Nm]   ;
+  ; dll inpvec 1 11 # Integral term of torque controller    [Nm]   ;
+  ; dll inpvec 1 12 # Minimum limit of torque               [Nm]   ;
+  ; dll inpvec 1 13 # Maximum limit of torque               [Nm]   ;
+  dll inpvec 1 14 # Torque limit switch based on pitch    [-]    ;
+  ; dll inpvec 1 15 # Filtered rotor speed error for pitch  [rad/s];
+  ; dll inpvec 1 16 # Power error for pitch                 [W]    ;
+  ; dll inpvec 1 17 # Proportional term of pitch controller [rad]  ;
+  ; dll inpvec 1 18 # Integral term of pitch controller     [rad]  ;
+  ; dll inpvec 1 19 # Minimum limit of pitch                [rad]  ;
+  ; dll inpvec 1 20 # Maximum limit of pitch                [rad]  ;
+  dll inpvec 1 21 # Torque reference from DT dammper      [Nm]  ;
+  dll inpvec 1 22 # Status signal                         [-]  ;
+  ; dll inpvec 1 23 # Total added pitch rate                [rad/s]  ;
+  dll inpvec 1 24 # Filtered Mean pitch for gain sch      [rad]  ;
+  dll inpvec 1 25 # Flag for mechnical brake              [0=off/1=on] ;
+  dll inpvec 1 26 # Flag for emergency pitch stop         [0=off/1=on] ;
+  dll inpvec 1 27 # LP filtered acceleration level        [m/s^2] ;
+; ; Output to generator model
+   ; dll outvec 2 1  # time ;
+   ; dll outvec 2 2  # Electrical torque reference [Nm] ;
+   ; dll outvec 2 3  # omega LSS ;
+; Input from generator model
+   dll inpvec 2 1  # Mgen LSS [Nm];
+   dll inpvec 2 2  # Pelec W ;
+   dll inpvec 2 3  # Mframe ;
+   dll inpvec 2 4  # Mgen HSS ;
+   dll inpvec 2 5  # Generator Pmech kW ;
+   dll inpvec 2 6  # Filtered Gen speed ;
+   dll inpvec 2 7  # Resulting Eff ;
+   dll inpvec 2 8  # Grid flag ;
+; Output to mechanical brake
+   dll inpvec 3 1 # Brake torque [Nm] ;
+; ; Input from mechanical brake
+   ; dll outvec 3 1 # Time [s] ;
+   ; dll outvec 3 2 # Generator LSS speed [rad/s] ;
+   ; dll outvec 3 3 # Deploy brake ;
+; ; Output to pitch servo
+   ; dll outvec 4 1 # time;
+   ; dll outvec 4 2 # pitchref 1;
+   ; dll outvec 4 3 # pitchref 2;
+   ; dll outvec 4 4 # pitchref 3;
+   ; dll outvec 4 5 # Emerg. stop;
+; Input from pitch servo
+   dll inpvec 4 1 # pitch 1;
+   dll inpvec 4 2 # pitch 2;
+   dll inpvec 4 3 # pitch 3;
+; Check tower clearence
+   dll inpvec 5 1 # Bltip tow min d [m];
+;   general constant 1.0 ;	constant 1.0 - to mesure activity of flap in terms of displacement
+; - Check on flap control:
+	; ; - From flap controller: -
+	; dll type2_dll cyclic_flap_controller inpvec 1	# Ref flap signal bl 1 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 2	# Ref flap signal bl 2 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 3	# Ref flap signal bl 3 [deg] ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+	; ; - Check Gains - ;
+	; dll type2_dll cyclic_flap_controller inpvec 10	# lead angle [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 11	# scaling on rat pow [-] ;
+	; dll type2_dll cyclic_flap_controller inpvec 12	# actual kp [deg/kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 13	# actual ki [deg/kNms] ;
+	; dll type2_dll cyclic_flap_controller inpvec 14	# actual kd [deg s/kNm] ;
+	; ; - Actual deflections -
+	;  aero beta 1 1 ;
+	;  aero beta 2 1 ;
+	;  aero beta 3 1 ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+end output;
+;
+exit;
diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc
new file mode 100644
index 00000000..94abe5e1
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc
@@ -0,0 +1,850 @@
+;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd
+begin simulation;
+  time_stop    40;
+  solvertype   1 ;    (newmark)
+  on_no_convergence continue ;
+;  convergence_limits 1E3 1.0 1E-7 ;
+  logfile ./logfiles/dlc01_demos/dlc01_steady_wsp8_noturb.log ;
+  begin newmark;
+    deltat    0.02;
+  end newmark;
+end simulation;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin new_htc_structure;
+;--------------------------------------------------------------------------------------------------
+;  beam_output_file_name  ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_beam.dat;
+;  body_output_file_name  ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_body.dat;
+;  struct_inertia_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_struct.dat;
+;  body_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_body_eigen.dat;
+;  structure_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_strc_eigen.dat;
+;---------------------------------------------------------------------------------------------------
+  begin main_body;         tower 123.6m
+    name        tower ;
+    type        timoschenko ;
+    nbodies     3 ;
+    node_distribution     c2_def ;
+    damping_posdef   0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14
+     begin timoschenko_input;
+      filename ./data/AVATAR_10MW_RWT_tower_st.dat;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 20;
+      sec	1	0	0	0.000	0	;  x,y,z,twist
+      sec	2	0	0	-12.293	0	;
+      sec	3	0	0	-12.294	0	;
+      sec	4	0	0	-24.585	0	;
+      sec	5	0	0	-24.586	0	;
+      sec	6	0	0	-36.878	0	;
+      sec	7	0	0	-36.879	0	;
+      sec	8	0	0	-49.171	0	;
+      sec	9	0	0	-49.172	0	 ;
+      sec	10	0	0	-61.463	0	;
+      sec	11	0	0	-61.464	0	;
+      sec	12	0	0	-73.756	0	;
+      sec	13	0	0	-73.757	0	;
+      sec	14	0	0	-86.049	0	;
+      sec	15	0	0	-86.050	0	;
+      sec	16	0	0	-98.341	0	;
+      sec	17	0	0	-98.342	0	;
+      sec	18	0	0	-110.634	0	;
+      sec	19	0	0	-110.635	0	;
+      sec	20	0	0	-123.600	0	;
+     end c2_def ;
+    end main_body;
+;
+  begin main_body;
+    name        towertop ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  7.50E-03  7.40E-03  7.00E-03  7.00E-03  7.00E-03  7.00E-03  ;   "changed by Anyd
+	concentrated_mass	2.0	0.0	2.6870E+00	3.0061E-01	4.4604E+05	4.1060E+06	4.1060E+05	4.1060E+06	;	Nacel
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Towertop_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0  0.0    0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 -2.75   0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+;	damping_posdef  8.00E-3  8.00E-03  8.00E-02  4.65E-04  4.65E-04  2.38E-02 ; "tuned by Anyd 22/2/13
+	damping_posdef  0.0 0.0 3.983E-03 4.65E-04  4.65E-04  3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l
+    concentrated_mass	1.0	0.0	0.0	0.0	0.0	0.0	0.0	3.751E+06	;	generator equivalent slow shaft "re_tu
+    concentrated_mass	5.0	0.0	0.0	0.0	1.0552E+05	0.0	0.0	3.257E+05	;	hub mass and inertia;	"re_tuned
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 5;
+      sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist
+      sec 2 0.0 0.0 1.5 0.0 ;
+      sec 3 0.0 0.0 3.0 0.0 ;
+      sec 4 0.0 0.0 4.4	0.0 ; Main bearing
+      sec 5 0.0 0.0 7.1 0.0 ; Rotor centre
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft_nonrotate ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  0.00E+00 0.00E+00 0.00E+00  1.0E-01  1.0E-01  1.0E-01 ;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 3; dummy light and stiff structure
+    end timoschenko_input;
+    begin c2_def;
+      nsec 2;
+      sec 1 0.0 0.0 0.0    0.0 ;
+      sec 2 0.0 0.0 0.1    0.0 ;
+    end c2_def;
+  end main_body;
+;
+  begin main_body;
+    name        hub1 ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  2.00E-05  2.00E-05  2.00E-04  3.00E-06  3.00E-06  2.00E-05;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Hub_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 2.8 0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           hub2 ;
+    copy_main_body hub1;
+  end main_body;
+;
+  begin main_body;
+    name           hub3 ;
+    copy_main_body hub1 ;
+  end main_body;
+;
+  begin main_body;
+    name        blade1 ;
+    type        timoschenko ;
+    nbodies     10 ;
+    node_distribution    c2_def;
+;	damping_posdef   0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd"
+;	damping_posdef   0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to
+;	damping_posdef   0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2
+	damping_posdef   0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14
+   begin timoschenko_input ;
+      filename ./data/AVATAR_10MW_RWT_Blade_st.dat ;
+      set 1 9 ;
+    end timoschenko_input;
+    begin c2_def;
+      nsec 27 ;
+      sec  1   -0.001   -0.001     0.000   -17.280 ;
+      sec  2   -0.005   -0.001     2.220   -17.280 ;
+      sec  3   -0.006   -0.000     4.440   -17.280 ;
+      sec  4   -0.086    0.022     6.660   -17.280 ;
+      sec  5   -0.231    0.069    11.039   -17.273 ;
+      sec  6   -0.447    0.121    15.418   -16.441 ;
+      sec  7   -0.690    0.161    19.797   -14.613 ;
+      sec  8   -0.812    0.162    24.176   -12.578 ;
+      sec  9   -0.891    0.158    28.555   -10.588 ;
+      sec 10   -0.865    0.124    32.934    -9.070 ;
+      sec 11   -0.833    0.112    37.313    -8.224 ;
+      sec 12   -0.797    0.102    41.692    -7.688 ;
+      sec 13   -0.760    0.093    46.071    -7.205 ;
+      sec 14   -0.721    0.083    50.450    -6.749 ;
+      sec 15   -0.683    0.075    54.829    -6.288 ;
+      sec 16   -0.644    0.066    59.208    -5.838 ;
+      sec 17   -0.606    0.058    63.587    -5.401 ;
+      sec 18   -0.567    0.050    67.966    -4.982 ;
+      sec 19   -0.529    0.044    72.345    -4.640 ;
+      sec 20   -0.492    0.037    76.724    -4.380 ;
+      sec 21   -0.456    0.032    81.103    -4.144 ;
+      sec 22   -0.422    0.026    85.482    -3.914 ;
+      sec 23   -0.392    0.021    89.861    -3.685 ;
+      sec 24   -0.346    0.014    94.240    -3.460 ;
+      sec 25   -0.307    0.010    96.190    -3.350 ;
+      sec 26   -0.249    0.005    98.130    -3.250 ;
+      sec 27   -0.089    0.006   100.080    -3.140 ;
+   end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           blade2 ;
+    copy_main_body blade1;
+  end main_body;
+;
+  begin main_body;
+    name           blade3 ;
+    copy_main_body blade1 ;
+  end main_body;
+;-------------------------------------------------------------------------------------------------------------------------------
+;
+  begin orientation;
+    begin base;
+      body   tower;
+      inipos        0.0 0.0 0.0 ;         initial position of node 1
+      body_eulerang 0.0 0.0 0.0;
+    end base;
+;
+    begin relative;
+      body1  tower last;
+      body2  towertop 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  towertop last;
+      body2  shaft 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang 5.0 0.0 0.0;    5 deg tilt angle
+      body2_eulerang 0.0 0.0 0;
+      mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5 ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5;
+    end relative;
+;
+    begin relative; dummy non rotating hub coordinates
+      body1  towertop last;
+      body2  shaft_nonrotate 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang  5.0 0.0 0.0; same 5 deg tilt angle as real shaft
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub1 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 180.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub2 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub3 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 -60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  hub1 last;
+      body2  blade1 1;
+      body2_eulerang 0.0 0.0 0;
+    end relative;
+;
+    begin relative;
+      body1  hub2 last;
+      body2  blade2 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  hub3 last;
+      body2  blade3 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+ 	end orientation;
+;-------------------------------------------------------------------------------------------------------------------------------
+begin constraint;
+;
+    begin fix0;  fixed to ground in translation and rotation of node 1
+      body tower;
+    end fix0;
+;
+     begin fix1;
+		   body1 tower last ;
+		   body2 towertop 1;
+		 end fix1;
+;
+    begin bearing1;                       free bearing
+      name  shaft_rot;
+      body1 towertop last;
+      body2 shaft 1;
+      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+   end bearing1;
+;
+;    begin bearing3;                       free bearing
+;      name  shaft_rot;
+;      body1 towertop last;
+;      body2 shaft 1;
+;      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+;      omegas 0.0 ;
+;   end bearing3;
+;
+     begin fix1;
+           body1 tower last ;
+           body2 shaft_nonrotate 1;
+     end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub1 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub2 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub3 1;
+		 end fix1;
+;
+    begin bearing2;
+      name pitch1;
+      body1 hub1 last;
+     body2 blade1 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+   end bearing2;
+;
+    begin bearing2;
+      name pitch2;
+      body1 hub2 last;
+      body2 blade2 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+;
+    begin bearing2;
+      name pitch3;
+      body1 hub3 last;
+      body2 blade3 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+end constraint;
+;
+end new_htc_structure;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin wind ;
+  density                 1.225 ;
+  wsp                     8   ;
+  tint                    0.232   ;
+  horizontal_input        1     ;
+  windfield_rotations     0 8.0 0.0 ;    yaw, tilt (positive=upflow=wind coming from below), rotation
+  center_pos0             0.0 0.0 -127 ; hub heigth
+  shear_format            3 0 ;
+  turb_format             0     ;  0=none, 1=mann,2=flex
+  tower_shadow_method     3     ;  0=none, 1=potential flow, 2=jet
+  scale_time_start       20 ;
+  wind_ramp_factor   0.0 20 1.0 1.0 ;
+  ; iec_gust      ;
+;
+;  wind_ramp_abs  400.0  401.0  0.0   1.0 ;   wsp. after the step:  5.0
+;  wind_ramp_abs  501.0  502.0  0.0   1.0 ;   wsp. after the step:  6.0
+;  wind_ramp_abs  602.0  603.0  0.0   1.0 ;   wsp. after the step:  7.0
+;  wind_ramp_abs  703.0  704.0  0.0   1.0 ;   wsp. after the step:  8.0
+;  wind_ramp_abs  804.0  805.0  0.0   1.0 ;   wsp. after the step:  9.0
+;  wind_ramp_abs  905.0  906.0  0.0   1.0 ;   wsp. after the step: 10.0
+;  wind_ramp_abs  1006.0  1007.0  0.0   1.0 ;   wsp. after the step: 11.0
+;  wind_ramp_abs  1107.0  1108.0  0.0   1.0 ;   wsp. after the step: 12.0
+;  wind_ramp_abs  1208.0  1209.0  0.0   1.0 ;   wsp. after the step: 13.0
+;  wind_ramp_abs  1309.0  1310.0  0.0   1.0 ;   wsp. after the step: 14.0
+;  wind_ramp_abs  1410.0  1411.0  0.0   1.0 ;   wsp. after the step: 15.0
+;  wind_ramp_abs  1511.0  1512.0  0.0   1.0 ;   wsp. after the step: 16.0
+;  wind_ramp_abs  1612.0  1613.0  0.0   1.0 ;   wsp. after the step: 17.0
+;  wind_ramp_abs  1713.0  1714.0  0.0   1.0 ;   wsp. after the step: 18.0
+;  wind_ramp_abs  1814.0  1815.0  0.0   1.0 ;   wsp. after the step: 19.0
+;  wind_ramp_abs  1915.0  1916.0  0.0   1.0 ;   wsp. after the step: 20.0
+;  wind_ramp_abs  2016.0  2017.0  0.0   1.0 ;   wsp. after the step: 21.0
+;  wind_ramp_abs  2117.0  2118.0  0.0   1.0 ;   wsp. after the step: 22.0
+;  wind_ramp_abs  2218.0  2219.0  0.0   1.0 ;   wsp. after the step: 23.0
+;  wind_ramp_abs  2319.0  2320.0  0.0   1.0 ;   wsp. after the step: 24.0
+;  wind_ramp_abs  2420.0  2421.0  0.0   1.0 ;   wsp. after the step: 25.0
+  ;
+;  wind_ramp_abs   400.0  2200.0  0.0   21.0 ;   wsp. after the step: 25.0
+;  wind_ramp_abs  2400.0  4200.0  0.0  -21.0 ;   wsp. after the step: 25.0
+  ;
+  begin mann ;
+    create_turb_parameters 29.4 1.0 3.9 0 1.0 ;      L, alfaeps, gamma, seed, highfrq compensation
+    filename_u    ./turb/noneu.bin ;
+    filename_v    ./turb/nonev.bin ;
+    filename_w    ./turb/nonew.bin ;
+    box_dim_u    8192 0.0390625 ;
+    box_dim_v    32 7.5;
+    box_dim_w    32 7.5;
+    std_scaling   1.0 0.7 0.5 ;
+  end mann ;
+;
+  begin tower_shadow_potential_2;
+    tower_mbdy_link tower;
+    nsec  2;
+    radius      0.0  4.15 ;
+    radius     123.6 2.75 ; (radius)
+  end tower_shadow_potential_2;
+end wind;
+;
+begin aerodrag ;
+  begin aerodrag_element ;
+    mbdy_name tower;
+    aerodrag_sections uniform 10 ;
+    nsec 2 ;
+    sec 0.0 0.6 8.3 ;  tower bottom
+    sec 123.6 0.6 5.5 ;  tower top  (diameter)
+  end aerodrag_element;
+;
+  begin aerodrag_element ;        Nacelle drag side
+    mbdy_name shaft;
+    aerodrag_sections uniform 2 ;
+    nsec 2 ;
+    sec 0.0   0.8 10.0 ;
+    sec 7.01  0.8 10.0 ;
+  end aerodrag_element;
+end aerodrag;
+;
+begin aero ;
+  nblades  3;
+  hub_vec shaft -3 ;         rotor rotation vector (normally shaft composant directed from pressure to sustion side)
+  link 1 mbdy_c2_def blade1;
+  link 2 mbdy_c2_def blade2;
+  link 3 mbdy_c2_def blade3;
+  ae_filename        ./data/AVATAR_10MW_RWT_ae.dat ;
+  pc_filename        ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ;
+  induction_method   1 ;     0=none, 1=normal
+  aerocalc_method    1 ;     0=ingen aerodynamic, 1=med aerodynamic
+  aero_distribution ae_file 1 ;
+  ae_sets            1 1 1;
+  tiploss_method     1 ;     0=none, 1=prandtl
+  dynstall_method    2 ;     0=none, 1=stig øye method,2=mhh method
+;
+; ; --- Flaps --- ;
+  ; begin dynstall_ateflap ;
+    ; Ais  0.165  0.335  0.0 ;
+    ; Bis  0.0455  0.30  0.30 ;
+      ; flap  59.5925   85.5023   ./data/Flap_dturwt1_Thk24.ds  ;  Flap Sec: 1
+   ; end dynstall_ateflap;
+end aero ;
+;-------------------------------------------------------------------------------------------------
+begin dll;
+;
+  begin type2_dll;
+    name risoe_controller ;
+    filename  ./control/risoe_controller.dll ;
+    dll_subroutine_init init_regulation ;
+    dll_subroutine_update update_regulation ;
+    arraysizes_init  52 1 ;
+    arraysizes_update  12 100 ;
+	begin init ;
+       ; Overall parameters
+      constant   1 10000.0    	; Rated power [kW]
+      constant   2   0.628    	; Minimum rotor speed [rad/s]
+      constant   3   1.005    	; Rated rotor speed [rad/s]
+      constant   4  15.6E+06  	; Maximum allowable generator torque [Nm]
+      constant   5  100.0    	; Minimum pitch angle, theta_min [deg],
+								; if |theta_min|>90, then a table of <wsp,theta_min> is read ;
+								; from a file named 'wpdata.n', where n=int(theta_min)
+      constant   6  90.0    	; Maximum pitch angle [deg]
+      constant   7  10.0    	; Maximum pitch velocity operation [deg/s]
+      constant   8   0.4    	; Frequency of generator speed filter [Hz]
+      constant   9   0.7    	; Damping ratio of speed filter [-]
+      constant  10   1.64   	; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used
+      ; Partial load control parameters
+      constant  11   0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ;
+                                ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3
+      constant  12   1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)]
+      constant  13   0.153367E+08 ; Integral gain of torque controller [Nm/rad]
+      constant  14   0.0    	; Differential gain of torque controller [Nm/(rad/s^2)]
+;     Full load control parameters
+      constant  15   1      	; Generator control switch [1=constant power, 2=constant torque]
+      constant  16   0.762489  ; Proportional gain of pitch controller [rad/(rad/s)]
+      constant  17   0.224086  ; Integral gain of pitch controller [rad/rad]
+      constant  18   0.0    ; Differential gain of pitch controller [rad/(rad/s^2)]
+      constant  19   0.4e-9 ; Proportional power error gain [rad/W]
+      constant  20   0.4e-9 ; Integral power error gain [rad/(Ws)]
+      constant  21  10.6824   ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg]
+      constant  22 601.25499  ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] &
+                            ; (if zero, KK1 = pitch angle at double gain)
+      constant  23   1.3    ; Relative speed for double nonlinear gain [-]
+;     Cut-in simulation parameters
+      constant  24  -1  ; Cut-in time [s]
+      constant  25  1.0   ; Time delay for soft start of torque [1/1P]
+;     Cut-out simulation parameters
+      constant  26  -1  ; Cut-out time [s]
+      constant  27   5.0  ; Time constant for linear torque cut-out [s]
+      constant  28  1    ; Stop type [1=normal, 2=emergency]
+      constant  29  1.0  ; Time delay for pitch stop after shut-down signal [s]
+      constant  30  3  ; Maximum pitch velocity during initial period of stop [deg/s]
+      constant  31  3.0  ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30)
+      constant  32  4  ; Maximum pitch velocity during final phase of stop [deg/s]
+;     Expert parameters (keep default values unless otherwise given)
+      constant  33   2.0  	; Lower angle above lowest minimum pitch angle for switch [deg]
+      constant  34   2.0  	; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch
+      constant  35  95.0  	; Ratio between filtered speed and reference speed for fully open torque limits [%]
+      constant  36   2.0  	; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P]
+      constant  37   1.0  	; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P]
+;     Drivetrain damper
+      constant  38   0.0  	; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10
+;	  Over speed
+	  constant  39  25.0  	; Overspeed percentage before initiating turbine controller alarm (shut-down) [%]
+;     Additional non-linear pitch control term (not used when all zero)
+	  constant  40   0.0  	; Err0 [rad/s]
+	  constant  41   0.0  	; ErrDot0 [rad/s^2]
+	  constant  42   0.0  	; PitNonLin1 [rad/s]
+;     Storm control command
+	  constant 43   28.0  	; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s]
+	  constant 44   28.0  	; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s]
+;     Safety system parameters
+	  constant 45   25.0  ; Overspeed percentage before initiating safety system alarm (shut-down) [%]
+	  constant 46    1.5  ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2
+;     Turbine parameter
+	  constant 47  205.8  ; Nominal rotor diameter [m]
+;     Parameters for rotor inertia reduction in variable speed region
+      constant 48    0.0  ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero)
+;     Parameters for alternative partial load controller with PI regulated TSR tracking
+      constant 49    0.0  ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise  Qg=K*Omega^2 is used)
+;     Parameters for adding aerodynamic drivetrain damping on gain scheduling
+      constant 50    0.0  ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)]
+      constant 51    0.0  ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg]
+      constant 52    0.0  ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2]
+	end init ;
+;
+    begin output ;
+      general time ; [s]
+      constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s]
+      constraint bearing2 pitch1 1 only 1; [rad]
+      constraint bearing2 pitch2 1 only 1; [rad]
+      constraint bearing2 pitch3 1 only 1; [rad]
+      wind free_wind 1 0.0 0.0 -127 	 ; Global coordinates at hub height
+	  dll inpvec 2 2 					 ; Elec. power from generator servo .dll
+	  dll inpvec 2 8 					 ; Grid state flag from generator servo .dll
+	  mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2]
+	  mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2]
+    end output;
+  end type2_dll;
+;
+   begin type2_dll;
+     name generator_servo ;
+     filename  ./control/generator_servo.dll ;
+     dll_subroutine_init init_generator_servo ;
+     dll_subroutine_update update_generator_servo ;
+     arraysizes_init  7 1 ;
+     arraysizes_update  4 8 ;
+ 	begin init ;
+       constant 1  20.0    ; Frequency of 2nd order servo model of generator-converter system [Hz]
+       constant 2  0.9     ; Damping ratio 2nd order servo model of generator-converter system [-]
+       constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm]
+       constant 4 0.94     ; Generator efficiency [-]
+       constant 5 1.0      ; Gearratio [-]
+       constant 6 0.0      ; Time for half value in softstart of torque [s]
+       constant 7 5000    ; Time for grid loss [s]
+     end init ;
+;
+     begin output;
+       general time                          ;   Time [s]
+       dll inpvec 1 1                        ;   Electrical torque reference [Nm]
+       constraint bearing1 shaft_rot 1 only 2;   Generator LSS speed [rad/s]
+       mbdy momentvec shaft 1 1 shaft only 3 ;   Shaft moment [kNm] (Qshaft)
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+   begin type2_dll;
+     name mech_brake ;
+     filename  ./control/mech_brake.dll ;
+     dll_subroutine_init init_mech_brake ;
+     dll_subroutine_update update_mech_brake ;
+     arraysizes_init    7 1 ;
+     arraysizes_update  4 6 ;
+ 	begin init ;
+      constant 1   5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque)
+      constant 2    100.0  ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom
+      constant 3      0.5  ; Delay time for before brake starts to deploy [s]
+      constant 4      0.74 ; Time for brake to become fully deployed [s]
+     end init ;
+;
+     begin output;
+	   general time                           ; Time [s]
+	   constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s]
+	   dll inpvec 1 25                        ; Command to deploy mechanical disc brake [0,1]
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+  begin type2_dll;
+    name servo_with_limits ;
+    filename  ./control/servo_with_limits.dll ;
+    dll_subroutine_init init_servo_with_limits ;
+    dll_subroutine_update update_servo_with_limits ;
+    arraysizes_init  10 1 ;
+    arraysizes_update  5 9 ;
+	begin init ;
+      constant 1   3    ; Number of blades [-]
+      constant 2   1.0  ; Frequency of 2nd order servo model of pitch system [Hz]
+      constant 3   0.7  ; Damping ratio 2nd order servo model of pitch system [-]
+      constant 4  10.0  ; Max. pitch speed [deg/s]
+      constant 5  15.0  ; Max. pitch acceleration [deg/s^2]
+      constant 6  -5.0  ; Min. pitch angle [deg]
+      constant  7 90.0  ; Max. pitch angle [deg]
+	  constant  8 5000   ; Time for pitch runaway [s]
+	  constant  9 -1    ; Time for stuck blade 1 [s]
+	  constant 10 0       ; Angle of stuck blade 1 [deg]
+	end init ;
+    begin output;
+      general time        ;  Time                         [s]
+       dll inpvec 1 2     ;  Pitch1 demand angle          [rad]
+       dll inpvec 1 3     ;  Pitch2 demand angle          [rad]
+       dll inpvec 1 4     ;  Pitch3 demand angle          [rad]
+       dll inpvec 1 26    ;  Flag for emergency pitch stop         [0=off/1=on]
+    end output;
+;
+    begin actions;
+      constraint bearing2 angle pitch1 ; Angle pitch1 bearing    [rad]
+      constraint bearing2 angle pitch2 ; Angle pitch2 bearing    [rad]
+      constraint bearing2 angle pitch3 ; Angle pitch3 bearing    [rad]
+    end actions;
+  end type2_dll;
+;
+;	--- DLL for tower-blade tip distance -- ;
+  begin type2_dll;
+    name disttowtip ;
+    filename  ./control/towclearsens.dll ;
+    dll_subroutine_init initialize ;
+    dll_subroutine_update update ;
+    arraysizes_init  1 1 ;
+    arraysizes_update  12 4 ;
+	begin init ;
+	  constant  1  3.87  ; Tower radius close to downward blade tip [m]
+	end init ;
+    begin output;
+	  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+	  mbdy state pos blade1  26 1.0 global  ; [4,5,6]
+	  mbdy state pos blade2  26 1.0 global  ; [7,8,9]
+	  mbdy state pos blade3  26 1.0 global  ; [10,11,12]
+    end output;
+  end type2_dll;
+end dll;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+;
+begin output;
+  filename ./res/dlc01_demos/dlc01_steady_wsp8_noturb ;
+  time 20 40 ;
+  data_format  hawc_binary;
+  buffer 1 ;
+;
+  general time;
+  constraint bearing1 shaft_rot 2; angle and angle velocity
+  constraint bearing2 pitch1 5;    angle and angle velocity
+  constraint bearing2 pitch2 5;    angle and angle velocity
+  constraint bearing2 pitch3 5;    angle and angle velocity
+  aero omega ;
+  aero torque;
+  aero power;
+  aero thrust;
+  wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z
+  ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED
+  mbdy momentvec shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  mbdy forcevec  shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  ; Moments:
+  mbdy momentvec tower  1 1  tower # tower base ;
+  mbdy momentvec tower  19 2 tower # tower yaw bearing ;
+  mbdy momentvec shaft  4 1  shaft # main bearing ;
+  mbdy momentvec blade1  3  2 blade1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 blade2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 blade3 # blade 3 root ;
+  ; blade 2,3 root section loads
+  mbdy momentvec blade2  3  2 local # blade 2 section root;
+  mbdy momentvec blade3  3  2 local # blade 3 section root;
+  ; blade 1 sectional loads in local coordinates
+  mbdy momentvec blade1  2  2 local # blade 1 section;
+  mbdy momentvec blade1  3  2 local # blade 1 section root;
+  mbdy momentvec blade1  4  2 local # blade 1 section;
+  mbdy momentvec blade1  5  2 local # blade 1 section;
+  mbdy momentvec blade1  6  2 local # blade 1 section;
+  mbdy momentvec blade1  7  2 local # blade 1 section;
+  mbdy momentvec blade1  8  2 local # blade 1 section;
+  mbdy momentvec blade1  9  2 local # blade 1 section;
+  mbdy momentvec blade1 10  2 local # blade 1 section;
+  mbdy momentvec blade1 11  2 local # blade 1 section;
+  mbdy momentvec blade1 12  2 local # blade 1 section;
+  mbdy momentvec blade1 13  2 local # blade 1 section;
+  mbdy momentvec blade1 14  2 local # blade 1 section;
+  mbdy momentvec blade1 15  2 local # blade 1 section;
+  mbdy momentvec blade1 16  2 local # blade 1 section;
+  mbdy momentvec blade1 17  2 local # blade 1 section;
+  mbdy momentvec blade1 18  2 local # blade 1 section;
+  mbdy momentvec blade1 19  2 local # blade 1 section;
+  mbdy momentvec blade1 20  2 local # blade 1 section;
+  mbdy momentvec blade1 21  2 local # blade 1 section;
+  mbdy momentvec blade1 22  2 local # blade 1 section;
+  mbdy momentvec blade1 23  2 local # blade 1 section;
+  mbdy momentvec blade1 24  2 local # blade 1 section;
+  mbdy momentvec blade1 25  2 local # blade 1 section;
+  mbdy momentvec blade1 26  2 local # blade 1 section;
+  ; blade root out and in of plane forces
+  mbdy momentvec blade1 3  2 hub1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 hub2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 hub3 # blade 3 root ;
+;  mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ;
+;  mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ;
+;  mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ;
+  ; Displacements and accellerations
+  mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ;
+  mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ;
+  mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc;
+  mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc;
+;
+  mbdy state pos blade1  26 1.0 global # gl blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 global # gl blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 global # gl blade 3 tip pos ;
+  mbdy state pos blade1  26 1.0 blade1 # blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 blade2 # blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 blade3 # blade 3 tip pos ;
+;
+  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+;
+  ; elastic twist (torsional deformation) along the blade
+  aero tors_ang 1  45.56;
+  aero tors_ang 1  59.19;
+  aero tors_ang 1  70.87;
+  aero tors_ang 1  80.61;
+  aero tors_ang 1  84.50;
+  aero tors_ang 1  88.40;
+  aero tors_ang 1  92.29;
+  aero tors_ang 1  96.19;
+  aero tors_ang 1  98.13;
+  aero tors_ang 1 100.08; tip
+;
+; - Monitor Aerodynamics - ;
+  aero windspeed 3 1 1 72.5;
+  aero alfa 1 72.5;
+  aero alfa 2 72.5;
+  aero alfa 3 72.5;
+  aero cl 1 72.5;
+  aero cl 2 72.5;
+  aero cl 3 72.5;
+  aero cd 1 72.5;
+  aero cd 2 72.5;
+  aero cd 3 72.5;
+; - Main Controller -
+; Output to controller
+  ; dll outvec 1 1 # time;
+  ; dll outvec 1 2 # slow speed shaft rad/s;
+  ; dll outvec 1 3 # pitch angle 1;
+  ; dll outvec 1 4 # pitch angle 2;
+  ; dll outvec 1 5 # pitch angle 3;
+  ; dll outvec 1 6 # WSP_x_global;
+  ; dll outvec 1 7 # WSP_y_global;
+  ; dll outvec 1 8 # WSP_z_global;
+  ; dll outvec 1 9 # Elec. pwr ;
+  ; dll outvec 1 10 # Grid flag ;
+; Input from controller
+  dll inpvec 1  1 # Generator torque reference            [Nm]   ;
+  dll inpvec 1  2 # Pitch angle reference of blade 1      [rad]  ;
+  dll inpvec 1  3 # Pitch angle reference of blade 2      [rad]  ;
+  dll inpvec 1  4 # Pitch angle reference of blade 3      [rad]  ;
+  ; dll inpvec 1  5 # Power reference                       [W]    ;
+  ; dll inpvec 1  6 # Filtered wind speed                   [m/s]  ;
+  ; dll inpvec 1  7 # Filtered rotor speed                  [rad/s];
+  ; dll inpvec 1  8 # Filtered rotor speed error for torque [rad/s];
+  ; dll inpvec 1  9 # Bandpass filtered rotor speed         [rad/s];
+  ; dll inpvec 1 10 # Proportional term of torque contr.    [Nm]   ;
+  ; dll inpvec 1 11 # Integral term of torque controller    [Nm]   ;
+  ; dll inpvec 1 12 # Minimum limit of torque               [Nm]   ;
+  ; dll inpvec 1 13 # Maximum limit of torque               [Nm]   ;
+  dll inpvec 1 14 # Torque limit switch based on pitch    [-]    ;
+  ; dll inpvec 1 15 # Filtered rotor speed error for pitch  [rad/s];
+  ; dll inpvec 1 16 # Power error for pitch                 [W]    ;
+  ; dll inpvec 1 17 # Proportional term of pitch controller [rad]  ;
+  ; dll inpvec 1 18 # Integral term of pitch controller     [rad]  ;
+  ; dll inpvec 1 19 # Minimum limit of pitch                [rad]  ;
+  ; dll inpvec 1 20 # Maximum limit of pitch                [rad]  ;
+  dll inpvec 1 21 # Torque reference from DT dammper      [Nm]  ;
+  dll inpvec 1 22 # Status signal                         [-]  ;
+  ; dll inpvec 1 23 # Total added pitch rate                [rad/s]  ;
+  dll inpvec 1 24 # Filtered Mean pitch for gain sch      [rad]  ;
+  dll inpvec 1 25 # Flag for mechnical brake              [0=off/1=on] ;
+  dll inpvec 1 26 # Flag for emergency pitch stop         [0=off/1=on] ;
+  dll inpvec 1 27 # LP filtered acceleration level        [m/s^2] ;
+; ; Output to generator model
+   ; dll outvec 2 1  # time ;
+   ; dll outvec 2 2  # Electrical torque reference [Nm] ;
+   ; dll outvec 2 3  # omega LSS ;
+; Input from generator model
+   dll inpvec 2 1  # Mgen LSS [Nm];
+   dll inpvec 2 2  # Pelec W ;
+   dll inpvec 2 3  # Mframe ;
+   dll inpvec 2 4  # Mgen HSS ;
+   dll inpvec 2 5  # Generator Pmech kW ;
+   dll inpvec 2 6  # Filtered Gen speed ;
+   dll inpvec 2 7  # Resulting Eff ;
+   dll inpvec 2 8  # Grid flag ;
+; Output to mechanical brake
+   dll inpvec 3 1 # Brake torque [Nm] ;
+; ; Input from mechanical brake
+   ; dll outvec 3 1 # Time [s] ;
+   ; dll outvec 3 2 # Generator LSS speed [rad/s] ;
+   ; dll outvec 3 3 # Deploy brake ;
+; ; Output to pitch servo
+   ; dll outvec 4 1 # time;
+   ; dll outvec 4 2 # pitchref 1;
+   ; dll outvec 4 3 # pitchref 2;
+   ; dll outvec 4 4 # pitchref 3;
+   ; dll outvec 4 5 # Emerg. stop;
+; Input from pitch servo
+   dll inpvec 4 1 # pitch 1;
+   dll inpvec 4 2 # pitch 2;
+   dll inpvec 4 3 # pitch 3;
+; Check tower clearence
+   dll inpvec 5 1 # Bltip tow min d [m];
+;   general constant 1.0 ;	constant 1.0 - to mesure activity of flap in terms of displacement
+; - Check on flap control:
+	; ; - From flap controller: -
+	; dll type2_dll cyclic_flap_controller inpvec 1	# Ref flap signal bl 1 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 2	# Ref flap signal bl 2 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 3	# Ref flap signal bl 3 [deg] ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+	; ; - Check Gains - ;
+	; dll type2_dll cyclic_flap_controller inpvec 10	# lead angle [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 11	# scaling on rat pow [-] ;
+	; dll type2_dll cyclic_flap_controller inpvec 12	# actual kp [deg/kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 13	# actual ki [deg/kNms] ;
+	; dll type2_dll cyclic_flap_controller inpvec 14	# actual kd [deg s/kNm] ;
+	; ; - Actual deflections -
+	;  aero beta 1 1 ;
+	;  aero beta 2 1 ;
+	;  aero beta 3 1 ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+end output;
+;
+exit;
diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc
new file mode 100644
index 00000000..537e8ef7
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc
@@ -0,0 +1,850 @@
+;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd
+begin simulation;
+  time_stop    40;
+  solvertype   1 ;    (newmark)
+  on_no_convergence continue ;
+;  convergence_limits 1E3 1.0 1E-7 ;
+  logfile ./logfiles/dlc01_demos/dlc01_steady_wsp9_noturb.log ;
+  begin newmark;
+    deltat    0.02;
+  end newmark;
+end simulation;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin new_htc_structure;
+;--------------------------------------------------------------------------------------------------
+;  beam_output_file_name  ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_beam.dat;
+;  body_output_file_name  ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_body.dat;
+;  struct_inertia_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_struct.dat;
+;  body_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_body_eigen.dat;
+;  structure_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_strc_eigen.dat;
+;---------------------------------------------------------------------------------------------------
+  begin main_body;         tower 123.6m
+    name        tower ;
+    type        timoschenko ;
+    nbodies     3 ;
+    node_distribution     c2_def ;
+    damping_posdef   0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14
+     begin timoschenko_input;
+      filename ./data/AVATAR_10MW_RWT_tower_st.dat;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 20;
+      sec	1	0	0	0.000	0	;  x,y,z,twist
+      sec	2	0	0	-12.293	0	;
+      sec	3	0	0	-12.294	0	;
+      sec	4	0	0	-24.585	0	;
+      sec	5	0	0	-24.586	0	;
+      sec	6	0	0	-36.878	0	;
+      sec	7	0	0	-36.879	0	;
+      sec	8	0	0	-49.171	0	;
+      sec	9	0	0	-49.172	0	 ;
+      sec	10	0	0	-61.463	0	;
+      sec	11	0	0	-61.464	0	;
+      sec	12	0	0	-73.756	0	;
+      sec	13	0	0	-73.757	0	;
+      sec	14	0	0	-86.049	0	;
+      sec	15	0	0	-86.050	0	;
+      sec	16	0	0	-98.341	0	;
+      sec	17	0	0	-98.342	0	;
+      sec	18	0	0	-110.634	0	;
+      sec	19	0	0	-110.635	0	;
+      sec	20	0	0	-123.600	0	;
+     end c2_def ;
+    end main_body;
+;
+  begin main_body;
+    name        towertop ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  7.50E-03  7.40E-03  7.00E-03  7.00E-03  7.00E-03  7.00E-03  ;   "changed by Anyd
+	concentrated_mass	2.0	0.0	2.6870E+00	3.0061E-01	4.4604E+05	4.1060E+06	4.1060E+05	4.1060E+06	;	Nacel
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Towertop_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0  0.0    0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 -2.75   0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+;	damping_posdef  8.00E-3  8.00E-03  8.00E-02  4.65E-04  4.65E-04  2.38E-02 ; "tuned by Anyd 22/2/13
+	damping_posdef  0.0 0.0 3.983E-03 4.65E-04  4.65E-04  3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l
+    concentrated_mass	1.0	0.0	0.0	0.0	0.0	0.0	0.0	3.751E+06	;	generator equivalent slow shaft "re_tu
+    concentrated_mass	5.0	0.0	0.0	0.0	1.0552E+05	0.0	0.0	3.257E+05	;	hub mass and inertia;	"re_tuned
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 5;
+      sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist
+      sec 2 0.0 0.0 1.5 0.0 ;
+      sec 3 0.0 0.0 3.0 0.0 ;
+      sec 4 0.0 0.0 4.4	0.0 ; Main bearing
+      sec 5 0.0 0.0 7.1 0.0 ; Rotor centre
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft_nonrotate ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  0.00E+00 0.00E+00 0.00E+00  1.0E-01  1.0E-01  1.0E-01 ;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 3; dummy light and stiff structure
+    end timoschenko_input;
+    begin c2_def;
+      nsec 2;
+      sec 1 0.0 0.0 0.0    0.0 ;
+      sec 2 0.0 0.0 0.1    0.0 ;
+    end c2_def;
+  end main_body;
+;
+  begin main_body;
+    name        hub1 ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  2.00E-05  2.00E-05  2.00E-04  3.00E-06  3.00E-06  2.00E-05;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Hub_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 2.8 0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           hub2 ;
+    copy_main_body hub1;
+  end main_body;
+;
+  begin main_body;
+    name           hub3 ;
+    copy_main_body hub1 ;
+  end main_body;
+;
+  begin main_body;
+    name        blade1 ;
+    type        timoschenko ;
+    nbodies     10 ;
+    node_distribution    c2_def;
+;	damping_posdef   0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd"
+;	damping_posdef   0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to
+;	damping_posdef   0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2
+	damping_posdef   0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14
+   begin timoschenko_input ;
+      filename ./data/AVATAR_10MW_RWT_Blade_st.dat ;
+      set 1 9 ;
+    end timoschenko_input;
+    begin c2_def;
+      nsec 27 ;
+      sec  1   -0.001   -0.001     0.000   -17.280 ;
+      sec  2   -0.005   -0.001     2.220   -17.280 ;
+      sec  3   -0.006   -0.000     4.440   -17.280 ;
+      sec  4   -0.086    0.022     6.660   -17.280 ;
+      sec  5   -0.231    0.069    11.039   -17.273 ;
+      sec  6   -0.447    0.121    15.418   -16.441 ;
+      sec  7   -0.690    0.161    19.797   -14.613 ;
+      sec  8   -0.812    0.162    24.176   -12.578 ;
+      sec  9   -0.891    0.158    28.555   -10.588 ;
+      sec 10   -0.865    0.124    32.934    -9.070 ;
+      sec 11   -0.833    0.112    37.313    -8.224 ;
+      sec 12   -0.797    0.102    41.692    -7.688 ;
+      sec 13   -0.760    0.093    46.071    -7.205 ;
+      sec 14   -0.721    0.083    50.450    -6.749 ;
+      sec 15   -0.683    0.075    54.829    -6.288 ;
+      sec 16   -0.644    0.066    59.208    -5.838 ;
+      sec 17   -0.606    0.058    63.587    -5.401 ;
+      sec 18   -0.567    0.050    67.966    -4.982 ;
+      sec 19   -0.529    0.044    72.345    -4.640 ;
+      sec 20   -0.492    0.037    76.724    -4.380 ;
+      sec 21   -0.456    0.032    81.103    -4.144 ;
+      sec 22   -0.422    0.026    85.482    -3.914 ;
+      sec 23   -0.392    0.021    89.861    -3.685 ;
+      sec 24   -0.346    0.014    94.240    -3.460 ;
+      sec 25   -0.307    0.010    96.190    -3.350 ;
+      sec 26   -0.249    0.005    98.130    -3.250 ;
+      sec 27   -0.089    0.006   100.080    -3.140 ;
+   end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           blade2 ;
+    copy_main_body blade1;
+  end main_body;
+;
+  begin main_body;
+    name           blade3 ;
+    copy_main_body blade1 ;
+  end main_body;
+;-------------------------------------------------------------------------------------------------------------------------------
+;
+  begin orientation;
+    begin base;
+      body   tower;
+      inipos        0.0 0.0 0.0 ;         initial position of node 1
+      body_eulerang 0.0 0.0 0.0;
+    end base;
+;
+    begin relative;
+      body1  tower last;
+      body2  towertop 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  towertop last;
+      body2  shaft 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang 5.0 0.0 0.0;    5 deg tilt angle
+      body2_eulerang 0.0 0.0 0;
+      mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5 ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5;
+    end relative;
+;
+    begin relative; dummy non rotating hub coordinates
+      body1  towertop last;
+      body2  shaft_nonrotate 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang  5.0 0.0 0.0; same 5 deg tilt angle as real shaft
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub1 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 180.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub2 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub3 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 -60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  hub1 last;
+      body2  blade1 1;
+      body2_eulerang 0.0 0.0 0;
+    end relative;
+;
+    begin relative;
+      body1  hub2 last;
+      body2  blade2 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  hub3 last;
+      body2  blade3 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+ 	end orientation;
+;-------------------------------------------------------------------------------------------------------------------------------
+begin constraint;
+;
+    begin fix0;  fixed to ground in translation and rotation of node 1
+      body tower;
+    end fix0;
+;
+     begin fix1;
+		   body1 tower last ;
+		   body2 towertop 1;
+		 end fix1;
+;
+    begin bearing1;                       free bearing
+      name  shaft_rot;
+      body1 towertop last;
+      body2 shaft 1;
+      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+   end bearing1;
+;
+;    begin bearing3;                       free bearing
+;      name  shaft_rot;
+;      body1 towertop last;
+;      body2 shaft 1;
+;      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+;      omegas 0.0 ;
+;   end bearing3;
+;
+     begin fix1;
+           body1 tower last ;
+           body2 shaft_nonrotate 1;
+     end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub1 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub2 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub3 1;
+		 end fix1;
+;
+    begin bearing2;
+      name pitch1;
+      body1 hub1 last;
+     body2 blade1 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+   end bearing2;
+;
+    begin bearing2;
+      name pitch2;
+      body1 hub2 last;
+      body2 blade2 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+;
+    begin bearing2;
+      name pitch3;
+      body1 hub3 last;
+      body2 blade3 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+end constraint;
+;
+end new_htc_structure;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin wind ;
+  density                 1.225 ;
+  wsp                     9   ;
+  tint                    0.219555555556   ;
+  horizontal_input        1     ;
+  windfield_rotations     0 8.0 0.0 ;    yaw, tilt (positive=upflow=wind coming from below), rotation
+  center_pos0             0.0 0.0 -127 ; hub heigth
+  shear_format            3 0 ;
+  turb_format             0     ;  0=none, 1=mann,2=flex
+  tower_shadow_method     3     ;  0=none, 1=potential flow, 2=jet
+  scale_time_start       20 ;
+  wind_ramp_factor   0.0 20 0.888888888889 1.0 ;
+  ; iec_gust      ;
+;
+;  wind_ramp_abs  400.0  401.0  0.0   1.0 ;   wsp. after the step:  5.0
+;  wind_ramp_abs  501.0  502.0  0.0   1.0 ;   wsp. after the step:  6.0
+;  wind_ramp_abs  602.0  603.0  0.0   1.0 ;   wsp. after the step:  7.0
+;  wind_ramp_abs  703.0  704.0  0.0   1.0 ;   wsp. after the step:  8.0
+;  wind_ramp_abs  804.0  805.0  0.0   1.0 ;   wsp. after the step:  9.0
+;  wind_ramp_abs  905.0  906.0  0.0   1.0 ;   wsp. after the step: 10.0
+;  wind_ramp_abs  1006.0  1007.0  0.0   1.0 ;   wsp. after the step: 11.0
+;  wind_ramp_abs  1107.0  1108.0  0.0   1.0 ;   wsp. after the step: 12.0
+;  wind_ramp_abs  1208.0  1209.0  0.0   1.0 ;   wsp. after the step: 13.0
+;  wind_ramp_abs  1309.0  1310.0  0.0   1.0 ;   wsp. after the step: 14.0
+;  wind_ramp_abs  1410.0  1411.0  0.0   1.0 ;   wsp. after the step: 15.0
+;  wind_ramp_abs  1511.0  1512.0  0.0   1.0 ;   wsp. after the step: 16.0
+;  wind_ramp_abs  1612.0  1613.0  0.0   1.0 ;   wsp. after the step: 17.0
+;  wind_ramp_abs  1713.0  1714.0  0.0   1.0 ;   wsp. after the step: 18.0
+;  wind_ramp_abs  1814.0  1815.0  0.0   1.0 ;   wsp. after the step: 19.0
+;  wind_ramp_abs  1915.0  1916.0  0.0   1.0 ;   wsp. after the step: 20.0
+;  wind_ramp_abs  2016.0  2017.0  0.0   1.0 ;   wsp. after the step: 21.0
+;  wind_ramp_abs  2117.0  2118.0  0.0   1.0 ;   wsp. after the step: 22.0
+;  wind_ramp_abs  2218.0  2219.0  0.0   1.0 ;   wsp. after the step: 23.0
+;  wind_ramp_abs  2319.0  2320.0  0.0   1.0 ;   wsp. after the step: 24.0
+;  wind_ramp_abs  2420.0  2421.0  0.0   1.0 ;   wsp. after the step: 25.0
+  ;
+;  wind_ramp_abs   400.0  2200.0  0.0   21.0 ;   wsp. after the step: 25.0
+;  wind_ramp_abs  2400.0  4200.0  0.0  -21.0 ;   wsp. after the step: 25.0
+  ;
+  begin mann ;
+    create_turb_parameters 29.4 1.0 3.9 0 1.0 ;      L, alfaeps, gamma, seed, highfrq compensation
+    filename_u    ./turb/noneu.bin ;
+    filename_v    ./turb/nonev.bin ;
+    filename_w    ./turb/nonew.bin ;
+    box_dim_u    8192 0.0439453125 ;
+    box_dim_v    32 7.5;
+    box_dim_w    32 7.5;
+    std_scaling   1.0 0.7 0.5 ;
+  end mann ;
+;
+  begin tower_shadow_potential_2;
+    tower_mbdy_link tower;
+    nsec  2;
+    radius      0.0  4.15 ;
+    radius     123.6 2.75 ; (radius)
+  end tower_shadow_potential_2;
+end wind;
+;
+begin aerodrag ;
+  begin aerodrag_element ;
+    mbdy_name tower;
+    aerodrag_sections uniform 10 ;
+    nsec 2 ;
+    sec 0.0 0.6 8.3 ;  tower bottom
+    sec 123.6 0.6 5.5 ;  tower top  (diameter)
+  end aerodrag_element;
+;
+  begin aerodrag_element ;        Nacelle drag side
+    mbdy_name shaft;
+    aerodrag_sections uniform 2 ;
+    nsec 2 ;
+    sec 0.0   0.8 10.0 ;
+    sec 7.01  0.8 10.0 ;
+  end aerodrag_element;
+end aerodrag;
+;
+begin aero ;
+  nblades  3;
+  hub_vec shaft -3 ;         rotor rotation vector (normally shaft composant directed from pressure to sustion side)
+  link 1 mbdy_c2_def blade1;
+  link 2 mbdy_c2_def blade2;
+  link 3 mbdy_c2_def blade3;
+  ae_filename        ./data/AVATAR_10MW_RWT_ae.dat ;
+  pc_filename        ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ;
+  induction_method   1 ;     0=none, 1=normal
+  aerocalc_method    1 ;     0=ingen aerodynamic, 1=med aerodynamic
+  aero_distribution ae_file 1 ;
+  ae_sets            1 1 1;
+  tiploss_method     1 ;     0=none, 1=prandtl
+  dynstall_method    2 ;     0=none, 1=stig øye method,2=mhh method
+;
+; ; --- Flaps --- ;
+  ; begin dynstall_ateflap ;
+    ; Ais  0.165  0.335  0.0 ;
+    ; Bis  0.0455  0.30  0.30 ;
+      ; flap  59.5925   85.5023   ./data/Flap_dturwt1_Thk24.ds  ;  Flap Sec: 1
+   ; end dynstall_ateflap;
+end aero ;
+;-------------------------------------------------------------------------------------------------
+begin dll;
+;
+  begin type2_dll;
+    name risoe_controller ;
+    filename  ./control/risoe_controller.dll ;
+    dll_subroutine_init init_regulation ;
+    dll_subroutine_update update_regulation ;
+    arraysizes_init  52 1 ;
+    arraysizes_update  12 100 ;
+	begin init ;
+       ; Overall parameters
+      constant   1 10000.0    	; Rated power [kW]
+      constant   2   0.628    	; Minimum rotor speed [rad/s]
+      constant   3   1.005    	; Rated rotor speed [rad/s]
+      constant   4  15.6E+06  	; Maximum allowable generator torque [Nm]
+      constant   5  100.0    	; Minimum pitch angle, theta_min [deg],
+								; if |theta_min|>90, then a table of <wsp,theta_min> is read ;
+								; from a file named 'wpdata.n', where n=int(theta_min)
+      constant   6  90.0    	; Maximum pitch angle [deg]
+      constant   7  10.0    	; Maximum pitch velocity operation [deg/s]
+      constant   8   0.4    	; Frequency of generator speed filter [Hz]
+      constant   9   0.7    	; Damping ratio of speed filter [-]
+      constant  10   1.64   	; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used
+      ; Partial load control parameters
+      constant  11   0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ;
+                                ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3
+      constant  12   1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)]
+      constant  13   0.153367E+08 ; Integral gain of torque controller [Nm/rad]
+      constant  14   0.0    	; Differential gain of torque controller [Nm/(rad/s^2)]
+;     Full load control parameters
+      constant  15   1      	; Generator control switch [1=constant power, 2=constant torque]
+      constant  16   0.762489  ; Proportional gain of pitch controller [rad/(rad/s)]
+      constant  17   0.224086  ; Integral gain of pitch controller [rad/rad]
+      constant  18   0.0    ; Differential gain of pitch controller [rad/(rad/s^2)]
+      constant  19   0.4e-9 ; Proportional power error gain [rad/W]
+      constant  20   0.4e-9 ; Integral power error gain [rad/(Ws)]
+      constant  21  10.6824   ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg]
+      constant  22 601.25499  ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] &
+                            ; (if zero, KK1 = pitch angle at double gain)
+      constant  23   1.3    ; Relative speed for double nonlinear gain [-]
+;     Cut-in simulation parameters
+      constant  24  -1  ; Cut-in time [s]
+      constant  25  1.0   ; Time delay for soft start of torque [1/1P]
+;     Cut-out simulation parameters
+      constant  26  -1  ; Cut-out time [s]
+      constant  27   5.0  ; Time constant for linear torque cut-out [s]
+      constant  28  1    ; Stop type [1=normal, 2=emergency]
+      constant  29  1.0  ; Time delay for pitch stop after shut-down signal [s]
+      constant  30  3  ; Maximum pitch velocity during initial period of stop [deg/s]
+      constant  31  3.0  ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30)
+      constant  32  4  ; Maximum pitch velocity during final phase of stop [deg/s]
+;     Expert parameters (keep default values unless otherwise given)
+      constant  33   2.0  	; Lower angle above lowest minimum pitch angle for switch [deg]
+      constant  34   2.0  	; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch
+      constant  35  95.0  	; Ratio between filtered speed and reference speed for fully open torque limits [%]
+      constant  36   2.0  	; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P]
+      constant  37   1.0  	; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P]
+;     Drivetrain damper
+      constant  38   0.0  	; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10
+;	  Over speed
+	  constant  39  25.0  	; Overspeed percentage before initiating turbine controller alarm (shut-down) [%]
+;     Additional non-linear pitch control term (not used when all zero)
+	  constant  40   0.0  	; Err0 [rad/s]
+	  constant  41   0.0  	; ErrDot0 [rad/s^2]
+	  constant  42   0.0  	; PitNonLin1 [rad/s]
+;     Storm control command
+	  constant 43   28.0  	; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s]
+	  constant 44   28.0  	; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s]
+;     Safety system parameters
+	  constant 45   25.0  ; Overspeed percentage before initiating safety system alarm (shut-down) [%]
+	  constant 46    1.5  ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2
+;     Turbine parameter
+	  constant 47  205.8  ; Nominal rotor diameter [m]
+;     Parameters for rotor inertia reduction in variable speed region
+      constant 48    0.0  ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero)
+;     Parameters for alternative partial load controller with PI regulated TSR tracking
+      constant 49    0.0  ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise  Qg=K*Omega^2 is used)
+;     Parameters for adding aerodynamic drivetrain damping on gain scheduling
+      constant 50    0.0  ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)]
+      constant 51    0.0  ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg]
+      constant 52    0.0  ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2]
+	end init ;
+;
+    begin output ;
+      general time ; [s]
+      constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s]
+      constraint bearing2 pitch1 1 only 1; [rad]
+      constraint bearing2 pitch2 1 only 1; [rad]
+      constraint bearing2 pitch3 1 only 1; [rad]
+      wind free_wind 1 0.0 0.0 -127 	 ; Global coordinates at hub height
+	  dll inpvec 2 2 					 ; Elec. power from generator servo .dll
+	  dll inpvec 2 8 					 ; Grid state flag from generator servo .dll
+	  mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2]
+	  mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2]
+    end output;
+  end type2_dll;
+;
+   begin type2_dll;
+     name generator_servo ;
+     filename  ./control/generator_servo.dll ;
+     dll_subroutine_init init_generator_servo ;
+     dll_subroutine_update update_generator_servo ;
+     arraysizes_init  7 1 ;
+     arraysizes_update  4 8 ;
+ 	begin init ;
+       constant 1  20.0    ; Frequency of 2nd order servo model of generator-converter system [Hz]
+       constant 2  0.9     ; Damping ratio 2nd order servo model of generator-converter system [-]
+       constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm]
+       constant 4 0.94     ; Generator efficiency [-]
+       constant 5 1.0      ; Gearratio [-]
+       constant 6 0.0      ; Time for half value in softstart of torque [s]
+       constant 7 5000    ; Time for grid loss [s]
+     end init ;
+;
+     begin output;
+       general time                          ;   Time [s]
+       dll inpvec 1 1                        ;   Electrical torque reference [Nm]
+       constraint bearing1 shaft_rot 1 only 2;   Generator LSS speed [rad/s]
+       mbdy momentvec shaft 1 1 shaft only 3 ;   Shaft moment [kNm] (Qshaft)
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+   begin type2_dll;
+     name mech_brake ;
+     filename  ./control/mech_brake.dll ;
+     dll_subroutine_init init_mech_brake ;
+     dll_subroutine_update update_mech_brake ;
+     arraysizes_init    7 1 ;
+     arraysizes_update  4 6 ;
+ 	begin init ;
+      constant 1   5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque)
+      constant 2    100.0  ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom
+      constant 3      0.5  ; Delay time for before brake starts to deploy [s]
+      constant 4      0.74 ; Time for brake to become fully deployed [s]
+     end init ;
+;
+     begin output;
+	   general time                           ; Time [s]
+	   constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s]
+	   dll inpvec 1 25                        ; Command to deploy mechanical disc brake [0,1]
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+  begin type2_dll;
+    name servo_with_limits ;
+    filename  ./control/servo_with_limits.dll ;
+    dll_subroutine_init init_servo_with_limits ;
+    dll_subroutine_update update_servo_with_limits ;
+    arraysizes_init  10 1 ;
+    arraysizes_update  5 9 ;
+	begin init ;
+      constant 1   3    ; Number of blades [-]
+      constant 2   1.0  ; Frequency of 2nd order servo model of pitch system [Hz]
+      constant 3   0.7  ; Damping ratio 2nd order servo model of pitch system [-]
+      constant 4  10.0  ; Max. pitch speed [deg/s]
+      constant 5  15.0  ; Max. pitch acceleration [deg/s^2]
+      constant 6  -5.0  ; Min. pitch angle [deg]
+      constant  7 90.0  ; Max. pitch angle [deg]
+	  constant  8 5000   ; Time for pitch runaway [s]
+	  constant  9 -1    ; Time for stuck blade 1 [s]
+	  constant 10 0       ; Angle of stuck blade 1 [deg]
+	end init ;
+    begin output;
+      general time        ;  Time                         [s]
+       dll inpvec 1 2     ;  Pitch1 demand angle          [rad]
+       dll inpvec 1 3     ;  Pitch2 demand angle          [rad]
+       dll inpvec 1 4     ;  Pitch3 demand angle          [rad]
+       dll inpvec 1 26    ;  Flag for emergency pitch stop         [0=off/1=on]
+    end output;
+;
+    begin actions;
+      constraint bearing2 angle pitch1 ; Angle pitch1 bearing    [rad]
+      constraint bearing2 angle pitch2 ; Angle pitch2 bearing    [rad]
+      constraint bearing2 angle pitch3 ; Angle pitch3 bearing    [rad]
+    end actions;
+  end type2_dll;
+;
+;	--- DLL for tower-blade tip distance -- ;
+  begin type2_dll;
+    name disttowtip ;
+    filename  ./control/towclearsens.dll ;
+    dll_subroutine_init initialize ;
+    dll_subroutine_update update ;
+    arraysizes_init  1 1 ;
+    arraysizes_update  12 4 ;
+	begin init ;
+	  constant  1  3.87  ; Tower radius close to downward blade tip [m]
+	end init ;
+    begin output;
+	  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+	  mbdy state pos blade1  26 1.0 global  ; [4,5,6]
+	  mbdy state pos blade2  26 1.0 global  ; [7,8,9]
+	  mbdy state pos blade3  26 1.0 global  ; [10,11,12]
+    end output;
+  end type2_dll;
+end dll;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+;
+begin output;
+  filename ./res/dlc01_demos/dlc01_steady_wsp9_noturb ;
+  time 20 40 ;
+  data_format  hawc_binary;
+  buffer 1 ;
+;
+  general time;
+  constraint bearing1 shaft_rot 2; angle and angle velocity
+  constraint bearing2 pitch1 5;    angle and angle velocity
+  constraint bearing2 pitch2 5;    angle and angle velocity
+  constraint bearing2 pitch3 5;    angle and angle velocity
+  aero omega ;
+  aero torque;
+  aero power;
+  aero thrust;
+  wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z
+  ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED
+  mbdy momentvec shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  mbdy forcevec  shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  ; Moments:
+  mbdy momentvec tower  1 1  tower # tower base ;
+  mbdy momentvec tower  19 2 tower # tower yaw bearing ;
+  mbdy momentvec shaft  4 1  shaft # main bearing ;
+  mbdy momentvec blade1  3  2 blade1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 blade2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 blade3 # blade 3 root ;
+  ; blade 2,3 root section loads
+  mbdy momentvec blade2  3  2 local # blade 2 section root;
+  mbdy momentvec blade3  3  2 local # blade 3 section root;
+  ; blade 1 sectional loads in local coordinates
+  mbdy momentvec blade1  2  2 local # blade 1 section;
+  mbdy momentvec blade1  3  2 local # blade 1 section root;
+  mbdy momentvec blade1  4  2 local # blade 1 section;
+  mbdy momentvec blade1  5  2 local # blade 1 section;
+  mbdy momentvec blade1  6  2 local # blade 1 section;
+  mbdy momentvec blade1  7  2 local # blade 1 section;
+  mbdy momentvec blade1  8  2 local # blade 1 section;
+  mbdy momentvec blade1  9  2 local # blade 1 section;
+  mbdy momentvec blade1 10  2 local # blade 1 section;
+  mbdy momentvec blade1 11  2 local # blade 1 section;
+  mbdy momentvec blade1 12  2 local # blade 1 section;
+  mbdy momentvec blade1 13  2 local # blade 1 section;
+  mbdy momentvec blade1 14  2 local # blade 1 section;
+  mbdy momentvec blade1 15  2 local # blade 1 section;
+  mbdy momentvec blade1 16  2 local # blade 1 section;
+  mbdy momentvec blade1 17  2 local # blade 1 section;
+  mbdy momentvec blade1 18  2 local # blade 1 section;
+  mbdy momentvec blade1 19  2 local # blade 1 section;
+  mbdy momentvec blade1 20  2 local # blade 1 section;
+  mbdy momentvec blade1 21  2 local # blade 1 section;
+  mbdy momentvec blade1 22  2 local # blade 1 section;
+  mbdy momentvec blade1 23  2 local # blade 1 section;
+  mbdy momentvec blade1 24  2 local # blade 1 section;
+  mbdy momentvec blade1 25  2 local # blade 1 section;
+  mbdy momentvec blade1 26  2 local # blade 1 section;
+  ; blade root out and in of plane forces
+  mbdy momentvec blade1 3  2 hub1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 hub2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 hub3 # blade 3 root ;
+;  mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ;
+;  mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ;
+;  mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ;
+  ; Displacements and accellerations
+  mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ;
+  mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ;
+  mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc;
+  mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc;
+;
+  mbdy state pos blade1  26 1.0 global # gl blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 global # gl blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 global # gl blade 3 tip pos ;
+  mbdy state pos blade1  26 1.0 blade1 # blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 blade2 # blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 blade3 # blade 3 tip pos ;
+;
+  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+;
+  ; elastic twist (torsional deformation) along the blade
+  aero tors_ang 1  45.56;
+  aero tors_ang 1  59.19;
+  aero tors_ang 1  70.87;
+  aero tors_ang 1  80.61;
+  aero tors_ang 1  84.50;
+  aero tors_ang 1  88.40;
+  aero tors_ang 1  92.29;
+  aero tors_ang 1  96.19;
+  aero tors_ang 1  98.13;
+  aero tors_ang 1 100.08; tip
+;
+; - Monitor Aerodynamics - ;
+  aero windspeed 3 1 1 72.5;
+  aero alfa 1 72.5;
+  aero alfa 2 72.5;
+  aero alfa 3 72.5;
+  aero cl 1 72.5;
+  aero cl 2 72.5;
+  aero cl 3 72.5;
+  aero cd 1 72.5;
+  aero cd 2 72.5;
+  aero cd 3 72.5;
+; - Main Controller -
+; Output to controller
+  ; dll outvec 1 1 # time;
+  ; dll outvec 1 2 # slow speed shaft rad/s;
+  ; dll outvec 1 3 # pitch angle 1;
+  ; dll outvec 1 4 # pitch angle 2;
+  ; dll outvec 1 5 # pitch angle 3;
+  ; dll outvec 1 6 # WSP_x_global;
+  ; dll outvec 1 7 # WSP_y_global;
+  ; dll outvec 1 8 # WSP_z_global;
+  ; dll outvec 1 9 # Elec. pwr ;
+  ; dll outvec 1 10 # Grid flag ;
+; Input from controller
+  dll inpvec 1  1 # Generator torque reference            [Nm]   ;
+  dll inpvec 1  2 # Pitch angle reference of blade 1      [rad]  ;
+  dll inpvec 1  3 # Pitch angle reference of blade 2      [rad]  ;
+  dll inpvec 1  4 # Pitch angle reference of blade 3      [rad]  ;
+  ; dll inpvec 1  5 # Power reference                       [W]    ;
+  ; dll inpvec 1  6 # Filtered wind speed                   [m/s]  ;
+  ; dll inpvec 1  7 # Filtered rotor speed                  [rad/s];
+  ; dll inpvec 1  8 # Filtered rotor speed error for torque [rad/s];
+  ; dll inpvec 1  9 # Bandpass filtered rotor speed         [rad/s];
+  ; dll inpvec 1 10 # Proportional term of torque contr.    [Nm]   ;
+  ; dll inpvec 1 11 # Integral term of torque controller    [Nm]   ;
+  ; dll inpvec 1 12 # Minimum limit of torque               [Nm]   ;
+  ; dll inpvec 1 13 # Maximum limit of torque               [Nm]   ;
+  dll inpvec 1 14 # Torque limit switch based on pitch    [-]    ;
+  ; dll inpvec 1 15 # Filtered rotor speed error for pitch  [rad/s];
+  ; dll inpvec 1 16 # Power error for pitch                 [W]    ;
+  ; dll inpvec 1 17 # Proportional term of pitch controller [rad]  ;
+  ; dll inpvec 1 18 # Integral term of pitch controller     [rad]  ;
+  ; dll inpvec 1 19 # Minimum limit of pitch                [rad]  ;
+  ; dll inpvec 1 20 # Maximum limit of pitch                [rad]  ;
+  dll inpvec 1 21 # Torque reference from DT dammper      [Nm]  ;
+  dll inpvec 1 22 # Status signal                         [-]  ;
+  ; dll inpvec 1 23 # Total added pitch rate                [rad/s]  ;
+  dll inpvec 1 24 # Filtered Mean pitch for gain sch      [rad]  ;
+  dll inpvec 1 25 # Flag for mechnical brake              [0=off/1=on] ;
+  dll inpvec 1 26 # Flag for emergency pitch stop         [0=off/1=on] ;
+  dll inpvec 1 27 # LP filtered acceleration level        [m/s^2] ;
+; ; Output to generator model
+   ; dll outvec 2 1  # time ;
+   ; dll outvec 2 2  # Electrical torque reference [Nm] ;
+   ; dll outvec 2 3  # omega LSS ;
+; Input from generator model
+   dll inpvec 2 1  # Mgen LSS [Nm];
+   dll inpvec 2 2  # Pelec W ;
+   dll inpvec 2 3  # Mframe ;
+   dll inpvec 2 4  # Mgen HSS ;
+   dll inpvec 2 5  # Generator Pmech kW ;
+   dll inpvec 2 6  # Filtered Gen speed ;
+   dll inpvec 2 7  # Resulting Eff ;
+   dll inpvec 2 8  # Grid flag ;
+; Output to mechanical brake
+   dll inpvec 3 1 # Brake torque [Nm] ;
+; ; Input from mechanical brake
+   ; dll outvec 3 1 # Time [s] ;
+   ; dll outvec 3 2 # Generator LSS speed [rad/s] ;
+   ; dll outvec 3 3 # Deploy brake ;
+; ; Output to pitch servo
+   ; dll outvec 4 1 # time;
+   ; dll outvec 4 2 # pitchref 1;
+   ; dll outvec 4 3 # pitchref 2;
+   ; dll outvec 4 4 # pitchref 3;
+   ; dll outvec 4 5 # Emerg. stop;
+; Input from pitch servo
+   dll inpvec 4 1 # pitch 1;
+   dll inpvec 4 2 # pitch 2;
+   dll inpvec 4 3 # pitch 3;
+; Check tower clearence
+   dll inpvec 5 1 # Bltip tow min d [m];
+;   general constant 1.0 ;	constant 1.0 - to mesure activity of flap in terms of displacement
+; - Check on flap control:
+	; ; - From flap controller: -
+	; dll type2_dll cyclic_flap_controller inpvec 1	# Ref flap signal bl 1 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 2	# Ref flap signal bl 2 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 3	# Ref flap signal bl 3 [deg] ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+	; ; - Check Gains - ;
+	; dll type2_dll cyclic_flap_controller inpvec 10	# lead angle [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 11	# scaling on rat pow [-] ;
+	; dll type2_dll cyclic_flap_controller inpvec 12	# actual kp [deg/kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 13	# actual ki [deg/kNms] ;
+	; dll type2_dll cyclic_flap_controller inpvec 14	# actual kd [deg s/kNm] ;
+	; ; - Actual deflections -
+	;  aero beta 1 1 ;
+	;  aero beta 2 1 ;
+	;  aero beta 3 1 ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+end output;
+;
+exit;
diff --git a/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp10_noturb.p b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp10_noturb.p
new file mode 100644
index 00000000..1bc115f7
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp10_noturb.p
@@ -0,0 +1,55 @@
+### Standard Output 
+#PBS -N dlc01_steady_wsp10_noturb 
+#PBS -o ./pbs_out/dlc01_demos/dlc01_steady_wsp10_noturb.out
+### Standard Error 
+#PBS -e ./pbs_out/dlc01_demos/dlc01_steady_wsp10_noturb.err
+#PBS -W umask=003
+### Maximum wallclock time format HOURS:MINUTES:SECONDS
+#PBS -l walltime=04:00:00
+#PBS -l nodes=1:ppn=1
+### Queue name
+#PBS -q workq
+### Create scratch directory and copy data to it 
+cd $PBS_O_WORKDIR
+echo "current working dir (pwd):"
+pwd 
+cp -R ./demo_dlc_remote.zip /scratch/$USER/$PBS_JOBID
+
+
+echo ""
+echo "Execute commands on scratch nodes"
+cd /scratch/$USER/$PBS_JOBID
+pwd
+/usr/bin/unzip demo_dlc_remote.zip
+mkdir -p htc/dlc01_demos/
+mkdir -p res/dlc01_demos/
+mkdir -p logfiles/dlc01_demos/
+mkdir -p turb/
+cp -R $PBS_O_WORKDIR/htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc ./htc/dlc01_demos/
+cp -R $PBS_O_WORKDIR/../turb/none*.bin turb/ 
+time WINEARCH=win32 WINEPREFIX=~/.wine32 wine hawc2-latest ./htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc  &
+### wait for jobs to finish 
+wait
+echo ""
+echo "Copy back from scratch directory" 
+cd /scratch/$USER/$PBS_JOBID
+mkdir -p $PBS_O_WORKDIR/res/dlc01_demos/
+mkdir -p $PBS_O_WORKDIR/logfiles/dlc01_demos/
+mkdir -p $PBS_O_WORKDIR/animation/
+mkdir -p $PBS_O_WORKDIR/../turb/
+cp -R res/dlc01_demos/. $PBS_O_WORKDIR/res/dlc01_demos/.
+cp -R logfiles/dlc01_demos/. $PBS_O_WORKDIR/logfiles/dlc01_demos/.
+cp -R animation/. $PBS_O_WORKDIR/animation/.
+
+echo ""
+echo "COPY BACK TURB IF APPLICABLE"
+cd turb/
+for i in `ls *.bin`; do  if [ -e $PBS_O_WORKDIR/../turb/$i ]; then echo "$i exists no copyback"; else echo "$i copyback"; cp $i $PBS_O_WORKDIR/../turb/; fi; done
+cd /scratch/$USER/$PBS_JOBID
+echo "END COPY BACK TURB"
+echo ""
+
+echo ""
+echo "following files are on the node (find .):"
+find .
+exit
diff --git a/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp8_noturb.p b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp8_noturb.p
new file mode 100644
index 00000000..640e5c20
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp8_noturb.p
@@ -0,0 +1,55 @@
+### Standard Output 
+#PBS -N dlc01_steady_wsp8_noturb 
+#PBS -o ./pbs_out/dlc01_demos/dlc01_steady_wsp8_noturb.out
+### Standard Error 
+#PBS -e ./pbs_out/dlc01_demos/dlc01_steady_wsp8_noturb.err
+#PBS -W umask=003
+### Maximum wallclock time format HOURS:MINUTES:SECONDS
+#PBS -l walltime=04:00:00
+#PBS -l nodes=1:ppn=1
+### Queue name
+#PBS -q workq
+### Create scratch directory and copy data to it 
+cd $PBS_O_WORKDIR
+echo "current working dir (pwd):"
+pwd 
+cp -R ./demo_dlc_remote.zip /scratch/$USER/$PBS_JOBID
+
+
+echo ""
+echo "Execute commands on scratch nodes"
+cd /scratch/$USER/$PBS_JOBID
+pwd
+/usr/bin/unzip demo_dlc_remote.zip
+mkdir -p htc/dlc01_demos/
+mkdir -p res/dlc01_demos/
+mkdir -p logfiles/dlc01_demos/
+mkdir -p turb/
+cp -R $PBS_O_WORKDIR/htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc ./htc/dlc01_demos/
+cp -R $PBS_O_WORKDIR/../turb/none*.bin turb/ 
+time WINEARCH=win32 WINEPREFIX=~/.wine32 wine hawc2-latest ./htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc  &
+### wait for jobs to finish 
+wait
+echo ""
+echo "Copy back from scratch directory" 
+cd /scratch/$USER/$PBS_JOBID
+mkdir -p $PBS_O_WORKDIR/res/dlc01_demos/
+mkdir -p $PBS_O_WORKDIR/logfiles/dlc01_demos/
+mkdir -p $PBS_O_WORKDIR/animation/
+mkdir -p $PBS_O_WORKDIR/../turb/
+cp -R res/dlc01_demos/. $PBS_O_WORKDIR/res/dlc01_demos/.
+cp -R logfiles/dlc01_demos/. $PBS_O_WORKDIR/logfiles/dlc01_demos/.
+cp -R animation/. $PBS_O_WORKDIR/animation/.
+
+echo ""
+echo "COPY BACK TURB IF APPLICABLE"
+cd turb/
+for i in `ls *.bin`; do  if [ -e $PBS_O_WORKDIR/../turb/$i ]; then echo "$i exists no copyback"; else echo "$i copyback"; cp $i $PBS_O_WORKDIR/../turb/; fi; done
+cd /scratch/$USER/$PBS_JOBID
+echo "END COPY BACK TURB"
+echo ""
+
+echo ""
+echo "following files are on the node (find .):"
+find .
+exit
diff --git a/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp9_noturb.p b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp9_noturb.p
new file mode 100644
index 00000000..a9d5ef52
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp9_noturb.p
@@ -0,0 +1,55 @@
+### Standard Output 
+#PBS -N dlc01_steady_wsp9_noturb 
+#PBS -o ./pbs_out/dlc01_demos/dlc01_steady_wsp9_noturb.out
+### Standard Error 
+#PBS -e ./pbs_out/dlc01_demos/dlc01_steady_wsp9_noturb.err
+#PBS -W umask=003
+### Maximum wallclock time format HOURS:MINUTES:SECONDS
+#PBS -l walltime=04:00:00
+#PBS -l nodes=1:ppn=1
+### Queue name
+#PBS -q workq
+### Create scratch directory and copy data to it 
+cd $PBS_O_WORKDIR
+echo "current working dir (pwd):"
+pwd 
+cp -R ./demo_dlc_remote.zip /scratch/$USER/$PBS_JOBID
+
+
+echo ""
+echo "Execute commands on scratch nodes"
+cd /scratch/$USER/$PBS_JOBID
+pwd
+/usr/bin/unzip demo_dlc_remote.zip
+mkdir -p htc/dlc01_demos/
+mkdir -p res/dlc01_demos/
+mkdir -p logfiles/dlc01_demos/
+mkdir -p turb/
+cp -R $PBS_O_WORKDIR/htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc ./htc/dlc01_demos/
+cp -R $PBS_O_WORKDIR/../turb/none*.bin turb/ 
+time WINEARCH=win32 WINEPREFIX=~/.wine32 wine hawc2-latest ./htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc  &
+### wait for jobs to finish 
+wait
+echo ""
+echo "Copy back from scratch directory" 
+cd /scratch/$USER/$PBS_JOBID
+mkdir -p $PBS_O_WORKDIR/res/dlc01_demos/
+mkdir -p $PBS_O_WORKDIR/logfiles/dlc01_demos/
+mkdir -p $PBS_O_WORKDIR/animation/
+mkdir -p $PBS_O_WORKDIR/../turb/
+cp -R res/dlc01_demos/. $PBS_O_WORKDIR/res/dlc01_demos/.
+cp -R logfiles/dlc01_demos/. $PBS_O_WORKDIR/logfiles/dlc01_demos/.
+cp -R animation/. $PBS_O_WORKDIR/animation/.
+
+echo ""
+echo "COPY BACK TURB IF APPLICABLE"
+cd turb/
+for i in `ls *.bin`; do  if [ -e $PBS_O_WORKDIR/../turb/$i ]; then echo "$i exists no copyback"; else echo "$i copyback"; cp $i $PBS_O_WORKDIR/../turb/; fi; done
+cd /scratch/$USER/$PBS_JOBID
+echo "END COPY BACK TURB"
+echo ""
+
+echo ""
+echo "following files are on the node (find .):"
+find .
+exit
diff --git a/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001.pkl b/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001.pkl
new file mode 100755
index 0000000000000000000000000000000000000000..2bec5738cd61979d1887c8e6a66f398c8f4f161e
GIT binary patch
literal 4418
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

literal 0
HcmV?d00001

diff --git a/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt b/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt
new file mode 100755
index 00000000..6de32e2b
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt
@@ -0,0 +1,178 @@
+
+
+===============================================================================
+                    iter_dict
+===============================================================================
+                       [empty] : [False]             
+
+===============================================================================
+                     opt_tags
+===============================================================================
+
+-------------------------------------------------------------------------------
+                 opt_tags set
+-------------------------------------------------------------------------------
+                 [Case folder] : dlc01_demos         
+                    [Case id.] : dlc01_steady_wsp8_noturb
+                 [Cut-in time] : -1                  
+                [Cut-out time] : -1                  
+                         [DLC] : 01                  
+                   [Dyn stall] : 2                   
+              [Free shaft rot] : True                
+                         [G_A] : True                
+                         [G_T] : True                
+                      [G_phi0] : True                
+                        [G_t0] : True                
+              [Grid loss time] : 5000                
+                   [Induction] : 1                   
+              [Pitch 1 DLC22b] : 0                   
+                    [Pitvel 1] : 3                   
+                    [Pitvel 2] : 4                   
+               [Rotor azimuth] : 0                   
+                [Rotor locked] : False               
+                   [Stop type] : 1                   
+                          [TI] : 0.232               
+          [Time pitch runaway] : 5000                
+           [Time stuck DLC22b] : -1                  
+              [Turb base name] : none                
+                   [Windspeed] : 8                   
+                     [case_id] : dlc01_steady_wsp8_noturb
+                    [data_dir] : data/               
+                 [dis_setbeta] : True                
+                    [duration] : 20.0                
+                        [gust] : False               
+                   [gust_type] : True                
+                     [htc_dir] : htc/dlc01_demos/    
+                     [init_wr] : 0.5                 
+                    [iter_dir] : iter/dlc01_demos/   
+                     [log_dir] : logfiles/dlc01_demos/
+                  [out_format] : hawc_binary         
+                  [pbs_in_dir] : pbs_in/dlc01_demos/ 
+                 [pbs_out_dir] : pbs_out/dlc01_demos/
+                     [res_dir] : res/dlc01_demos/    
+                   [shear_exp] : 0                   
+                   [staircase] : False               
+                   [t flap on] : -1                  
+                          [t0] : 20                  
+                   [time stop] : 40                  
+                   [time_stop] : 40                  
+                    [tu_model] : 0                   
+                     [tu_seed] : 0                   
+              [turb_base_name] : none                
+                     [turb_dx] : 0.0390625           
+                        [wdir] : 0                   
+                    [windramp] : False               
+                  [wsp factor] : 1.0                 
+              [zip_root_files] : ['pbs_in_file_cache.txt', 'A0001_ErrorLog.csv']
+
+-------------------------------------------------------------------------------
+                 opt_tags set
+-------------------------------------------------------------------------------
+                 [Case folder] : dlc01_demos         
+                    [Case id.] : dlc01_steady_wsp9_noturb
+                 [Cut-in time] : -1                  
+                [Cut-out time] : -1                  
+                         [DLC] : 01                  
+                   [Dyn stall] : 2                   
+              [Free shaft rot] : True                
+                         [G_A] : True                
+                         [G_T] : True                
+                      [G_phi0] : True                
+                        [G_t0] : True                
+              [Grid loss time] : 5000                
+                   [Induction] : 1                   
+              [Pitch 1 DLC22b] : 0                   
+                    [Pitvel 1] : 3                   
+                    [Pitvel 2] : 4                   
+               [Rotor azimuth] : 0                   
+                [Rotor locked] : False               
+                   [Stop type] : 1                   
+                          [TI] : 0.219555555556      
+          [Time pitch runaway] : 5000                
+           [Time stuck DLC22b] : -1                  
+              [Turb base name] : none                
+                   [Windspeed] : 9                   
+                     [case_id] : dlc01_steady_wsp9_noturb
+                    [data_dir] : data/               
+                 [dis_setbeta] : True                
+                    [duration] : 20.0                
+                        [gust] : False               
+                   [gust_type] : True                
+                     [htc_dir] : htc/dlc01_demos/    
+                     [init_wr] : 0.5                 
+                    [iter_dir] : iter/dlc01_demos/   
+                     [log_dir] : logfiles/dlc01_demos/
+                  [out_format] : hawc_binary         
+                  [pbs_in_dir] : pbs_in/dlc01_demos/ 
+                 [pbs_out_dir] : pbs_out/dlc01_demos/
+                     [res_dir] : res/dlc01_demos/    
+                   [shear_exp] : 0                   
+                   [staircase] : False               
+                   [t flap on] : -1                  
+                          [t0] : 20                  
+                   [time stop] : 40                  
+                   [time_stop] : 40                  
+                    [tu_model] : 0                   
+                     [tu_seed] : 0                   
+              [turb_base_name] : none                
+                     [turb_dx] : 0.0439453125        
+                        [wdir] : 0                   
+                    [windramp] : False               
+                  [wsp factor] : 0.888888888889      
+              [zip_root_files] : ['pbs_in_file_cache.txt', 'A0001_ErrorLog.csv']
+
+-------------------------------------------------------------------------------
+                 opt_tags set
+-------------------------------------------------------------------------------
+                 [Case folder] : dlc01_demos         
+                    [Case id.] : dlc01_steady_wsp10_noturb
+                 [Cut-in time] : -1                  
+                [Cut-out time] : -1                  
+                         [DLC] : 01                  
+                   [Dyn stall] : 2                   
+              [Free shaft rot] : True                
+                         [G_A] : True                
+                         [G_T] : True                
+                      [G_phi0] : True                
+                        [G_t0] : True                
+              [Grid loss time] : 5000                
+                   [Induction] : 1                   
+              [Pitch 1 DLC22b] : 0                   
+                    [Pitvel 1] : 3                   
+                    [Pitvel 2] : 4                   
+               [Rotor azimuth] : 0                   
+                [Rotor locked] : False               
+                   [Stop type] : 1                   
+                          [TI] : 0.2096              
+          [Time pitch runaway] : 5000                
+           [Time stuck DLC22b] : -1                  
+              [Turb base name] : none                
+                   [Windspeed] : 10                  
+                     [case_id] : dlc01_steady_wsp10_noturb
+                    [data_dir] : data/               
+                 [dis_setbeta] : True                
+                    [duration] : 20.0                
+                        [gust] : False               
+                   [gust_type] : True                
+                     [htc_dir] : htc/dlc01_demos/    
+                     [init_wr] : 0.5                 
+                    [iter_dir] : iter/dlc01_demos/   
+                     [log_dir] : logfiles/dlc01_demos/
+                  [out_format] : hawc_binary         
+                  [pbs_in_dir] : pbs_in/dlc01_demos/ 
+                 [pbs_out_dir] : pbs_out/dlc01_demos/
+                     [res_dir] : res/dlc01_demos/    
+                   [shear_exp] : 0                   
+                   [staircase] : False               
+                   [t flap on] : -1                  
+                          [t0] : 20                  
+                   [time stop] : 40                  
+                   [time_stop] : 40                  
+                    [tu_model] : 0                   
+                     [tu_seed] : 0                   
+              [turb_base_name] : none                
+                     [turb_dx] : 0.048828125         
+                        [wdir] : 0                   
+                    [windramp] : False               
+                  [wsp factor] : 0.8                 
+              [zip_root_files] : ['pbs_in_file_cache.txt', 'A0001_ErrorLog.csv']
diff --git a/wetb/prepost/tests/data/demo_dlc/source/data/minimal_demo_file.txt b/wetb/prepost/tests/data/demo_dlc/source/data/minimal_demo_file.txt
new file mode 100644
index 00000000..8db26215
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/source/data/minimal_demo_file.txt
@@ -0,0 +1 @@
+just one demo line
diff --git a/wetb/prepost/tests/data/demo_dlc/source/demo_dlc_remote.zip b/wetb/prepost/tests/data/demo_dlc/source/demo_dlc_remote.zip
new file mode 100644
index 0000000000000000000000000000000000000000..60fe434ad3dc15cf5e1dd1977c630107c611ac55
GIT binary patch
literal 9358
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
YTToMkNBGB!@b_?ohJr$*{^#m{06WKVl>h($

literal 0
HcmV?d00001

diff --git a/wetb/prepost/tests/data/demo_dlc/source/htc/DLCs/dlc01_demos.xlsx b/wetb/prepost/tests/data/demo_dlc/source/htc/DLCs/dlc01_demos.xlsx
new file mode 100755
index 0000000000000000000000000000000000000000..1f4c2311367ccea9d06f57db32793e8948f0e959
GIT binary patch
literal 6554
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

literal 0
HcmV?d00001

diff --git a/wetb/prepost/tests/data/demo_dlc/source/htc/_master/demo_dlc_master_A0001.htc b/wetb/prepost/tests/data/demo_dlc/source/htc/_master/demo_dlc_master_A0001.htc
new file mode 100755
index 00000000..6e956f80
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/source/htc/_master/demo_dlc_master_A0001.htc
@@ -0,0 +1,850 @@
+;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd
+begin simulation;
+  time_stop    [time stop];
+  solvertype   1 ;    (newmark)
+  on_no_convergence continue ;
+;  convergence_limits 1E3 1.0 1E-7 ;
+  logfile ./logfiles/[Case folder]/[Case id.].log ;
+  begin newmark;
+    deltat    0.02;
+  end newmark;
+end simulation;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin new_htc_structure;
+;--------------------------------------------------------------------------------------------------
+[staircase]  beam_output_file_name  ./res_eigen/[Case folder]/[Case id.]/[Case id.]_beam.dat;
+[staircase]  body_output_file_name  ./res_eigen/[Case folder]/[Case id.]/[Case id.]_body.dat;
+[staircase]  struct_inertia_output_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_struct.dat;
+[staircase]  body_eigenanalysis_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_body_eigen.dat;
+[staircase]  structure_eigenanalysis_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_strc_eigen.dat;
+;---------------------------------------------------------------------------------------------------
+  begin main_body;         tower 123.6m
+    name        tower ;
+    type        timoschenko ;
+    nbodies     3 ;
+    node_distribution     c2_def ;
+    damping_posdef   0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14
+     begin timoschenko_input;
+      filename ./data/AVATAR_10MW_RWT_tower_st.dat;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 20;
+      sec	1	0	0	0.000	0	;  x,y,z,twist
+      sec	2	0	0	-12.293	0	;
+      sec	3	0	0	-12.294	0	;
+      sec	4	0	0	-24.585	0	;
+      sec	5	0	0	-24.586	0	;
+      sec	6	0	0	-36.878	0	;
+      sec	7	0	0	-36.879	0	;
+      sec	8	0	0	-49.171	0	;
+      sec	9	0	0	-49.172	0	 ;
+      sec	10	0	0	-61.463	0	;
+      sec	11	0	0	-61.464	0	;
+      sec	12	0	0	-73.756	0	;
+      sec	13	0	0	-73.757	0	;
+      sec	14	0	0	-86.049	0	;
+      sec	15	0	0	-86.050	0	;
+      sec	16	0	0	-98.341	0	;
+      sec	17	0	0	-98.342	0	;
+      sec	18	0	0	-110.634	0	;
+      sec	19	0	0	-110.635	0	;
+      sec	20	0	0	-123.600	0	;
+     end c2_def ;
+    end main_body;
+;
+  begin main_body;
+    name        towertop ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  7.50E-03  7.40E-03  7.00E-03  7.00E-03  7.00E-03  7.00E-03  ;   "changed by Anyd
+	concentrated_mass	2.0	0.0	2.6870E+00	3.0061E-01	4.4604E+05	4.1060E+06	4.1060E+05	4.1060E+06	;	Nacel
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Towertop_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0  0.0    0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 -2.75   0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+;	damping_posdef  8.00E-3  8.00E-03  8.00E-02  4.65E-04  4.65E-04  2.38E-02 ; "tuned by Anyd 22/2/13
+	damping_posdef  0.0 0.0 3.983E-03 4.65E-04  4.65E-04  3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l
+    concentrated_mass	1.0	0.0	0.0	0.0	0.0	0.0	0.0	3.751E+06	;	generator equivalent slow shaft "re_tu
+    concentrated_mass	5.0	0.0	0.0	0.0	1.0552E+05	0.0	0.0	3.257E+05	;	hub mass and inertia;	"re_tuned
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 1 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 5;
+      sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist
+      sec 2 0.0 0.0 1.5 0.0 ;
+      sec 3 0.0 0.0 3.0 0.0 ;
+      sec 4 0.0 0.0 4.4	0.0 ; Main bearing
+      sec 5 0.0 0.0 7.1 0.0 ; Rotor centre
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name        shaft_nonrotate ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  0.00E+00 0.00E+00 0.00E+00  1.0E-01  1.0E-01  1.0E-01 ;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Shaft_st.dat ;
+      set 1 3; dummy light and stiff structure
+    end timoschenko_input;
+    begin c2_def;
+      nsec 2;
+      sec 1 0.0 0.0 0.0    0.0 ;
+      sec 2 0.0 0.0 0.1    0.0 ;
+    end c2_def;
+  end main_body;
+;
+  begin main_body;
+    name        hub1 ;
+    type        timoschenko ;
+    nbodies     1 ;
+    node_distribution     c2_def ;
+    damping_posdef  2.00E-05  2.00E-05  2.00E-04  3.00E-06  3.00E-06  2.00E-05;
+	begin timoschenko_input;
+      filename ./data/DTU_10MW_RWT_Hub_st.dat ;
+      set 1 2 ;
+    end timoschenko_input;
+    begin c2_def;              Definition of centerline (main_body coordinates)
+      nsec 2;
+      sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist
+      sec 2 0.0 0.0 2.8 0.0 ;
+    end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           hub2 ;
+    copy_main_body hub1;
+  end main_body;
+;
+  begin main_body;
+    name           hub3 ;
+    copy_main_body hub1 ;
+  end main_body;
+;
+  begin main_body;
+    name        blade1 ;
+    type        timoschenko ;
+    nbodies     10 ;
+    node_distribution    c2_def;
+;	damping_posdef   0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd"
+;	damping_posdef   0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to
+;	damping_posdef   0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2
+	damping_posdef   0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14
+   begin timoschenko_input ;
+      filename ./data/AVATAR_10MW_RWT_Blade_st.dat ;
+      set 1 9 ;
+    end timoschenko_input;
+    begin c2_def;
+      nsec 27 ;
+      sec  1   -0.001   -0.001     0.000   -17.280 ;
+      sec  2   -0.005   -0.001     2.220   -17.280 ;
+      sec  3   -0.006   -0.000     4.440   -17.280 ;
+      sec  4   -0.086    0.022     6.660   -17.280 ;
+      sec  5   -0.231    0.069    11.039   -17.273 ;
+      sec  6   -0.447    0.121    15.418   -16.441 ;
+      sec  7   -0.690    0.161    19.797   -14.613 ;
+      sec  8   -0.812    0.162    24.176   -12.578 ;
+      sec  9   -0.891    0.158    28.555   -10.588 ;
+      sec 10   -0.865    0.124    32.934    -9.070 ;
+      sec 11   -0.833    0.112    37.313    -8.224 ;
+      sec 12   -0.797    0.102    41.692    -7.688 ;
+      sec 13   -0.760    0.093    46.071    -7.205 ;
+      sec 14   -0.721    0.083    50.450    -6.749 ;
+      sec 15   -0.683    0.075    54.829    -6.288 ;
+      sec 16   -0.644    0.066    59.208    -5.838 ;
+      sec 17   -0.606    0.058    63.587    -5.401 ;
+      sec 18   -0.567    0.050    67.966    -4.982 ;
+      sec 19   -0.529    0.044    72.345    -4.640 ;
+      sec 20   -0.492    0.037    76.724    -4.380 ;
+      sec 21   -0.456    0.032    81.103    -4.144 ;
+      sec 22   -0.422    0.026    85.482    -3.914 ;
+      sec 23   -0.392    0.021    89.861    -3.685 ;
+      sec 24   -0.346    0.014    94.240    -3.460 ;
+      sec 25   -0.307    0.010    96.190    -3.350 ;
+      sec 26   -0.249    0.005    98.130    -3.250 ;
+      sec 27   -0.089    0.006   100.080    -3.140 ;
+   end c2_def ;
+  end main_body;
+;
+  begin main_body;
+    name           blade2 ;
+    copy_main_body blade1;
+  end main_body;
+;
+  begin main_body;
+    name           blade3 ;
+    copy_main_body blade1 ;
+  end main_body;
+;-------------------------------------------------------------------------------------------------------------------------------
+;
+  begin orientation;
+    begin base;
+      body   tower;
+      inipos        0.0 0.0 0.0 ;         initial position of node 1
+      body_eulerang 0.0 0.0 0.0;
+    end base;
+;
+    begin relative;
+      body1  tower last;
+      body2  towertop 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  towertop last;
+      body2  shaft 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang 5.0 0.0 0.0;    5 deg tilt angle
+      body2_eulerang 0.0 0.0 [Rotor azimuth];
+[Free shaft rot]      mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 [init_wr] ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 [init_wr];
+    end relative;
+;
+    begin relative; dummy non rotating hub coordinates
+      body1  towertop last;
+      body2  shaft_nonrotate 1;
+      body2_eulerang 90.0 0.0 0.0;
+      body2_eulerang  5.0 0.0 0.0; same 5 deg tilt angle as real shaft
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub1 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 180.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub2 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  shaft last;
+      body2  hub3 1;
+      body2_eulerang -90.0 0.0 0.0;
+      body2_eulerang 0.0 -60.0 0.0;
+      body2_eulerang 2.5 0.0 0.0;      2.5deg cone angle
+    end relative;
+;
+    begin relative;
+      body1  hub1 last;
+      body2  blade1 1;
+      body2_eulerang 0.0 0.0 0;
+    end relative;
+;
+    begin relative;
+      body1  hub2 last;
+      body2  blade2 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+    begin relative;
+      body1  hub3 last;
+      body2  blade3 1;
+      body2_eulerang 0.0 0.0 0.0;
+    end relative;
+;
+ 	end orientation;
+;-------------------------------------------------------------------------------------------------------------------------------
+begin constraint;
+;
+    begin fix0;  fixed to ground in translation and rotation of node 1
+      body tower;
+    end fix0;
+;
+     begin fix1;
+		   body1 tower last ;
+		   body2 towertop 1;
+		 end fix1;
+;
+[Free shaft rot]    begin bearing1;                       free bearing
+[Free shaft rot]      name  shaft_rot;
+[Free shaft rot]      body1 towertop last;
+[Free shaft rot]      body2 shaft 1;
+[Free shaft rot]      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+[Free shaft rot]   end bearing1;
+;
+[Rotor locked]    begin bearing3;                       free bearing
+[Rotor locked]      name  shaft_rot;
+[Rotor locked]      body1 towertop last;
+[Rotor locked]      body2 shaft 1;
+[Rotor locked]      bearing_vector 2 0.0 0.0 -1.0;        x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present
+[Rotor locked]      omegas 0.0 ;
+[Rotor locked]   end bearing3;
+;
+     begin fix1;
+           body1 tower last ;
+           body2 shaft_nonrotate 1;
+     end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub1 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub2 1;
+		 end fix1;
+;
+     begin fix1;
+		   body1 shaft last ;
+		   body2 hub3 1;
+		 end fix1;
+;
+    begin bearing2;
+      name pitch1;
+      body1 hub1 last;
+     body2 blade1 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+   end bearing2;
+;
+    begin bearing2;
+      name pitch2;
+      body1 hub2 last;
+      body2 blade2 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+;
+    begin bearing2;
+      name pitch3;
+      body1 hub3 last;
+      body2 blade3 1;
+			bearing_vector 2 0.0 0.0 -1.0;
+    end bearing2;
+end constraint;
+;
+end new_htc_structure;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+begin wind ;
+  density                 1.225 ;
+  wsp                     [Windspeed]   ;
+  tint                    [TI]   ;
+  horizontal_input        1     ;
+  windfield_rotations     [wdir] 8.0 0.0 ;    yaw, tilt (positive=upflow=wind coming from below), rotation
+  center_pos0             0.0 0.0 -127 ; hub heigth
+  shear_format            3 [shear_exp] ;
+  turb_format             [tu_model]     ;  0=none, 1=mann,2=flex
+  tower_shadow_method     3     ;  0=none, 1=potential flow, 2=jet
+  scale_time_start       [t0] ;
+  wind_ramp_factor   0.0 [t0] [wsp factor] 1.0 ;
+  [gust] iec_gust [gust_type] [G_A] [G_phi0] [G_t0] [G_T] ;
+;
+[staircase]  wind_ramp_abs  400.0  401.0  0.0   1.0 ;   wsp. after the step:  5.0
+[staircase]  wind_ramp_abs  501.0  502.0  0.0   1.0 ;   wsp. after the step:  6.0
+[staircase]  wind_ramp_abs  602.0  603.0  0.0   1.0 ;   wsp. after the step:  7.0
+[staircase]  wind_ramp_abs  703.0  704.0  0.0   1.0 ;   wsp. after the step:  8.0
+[staircase]  wind_ramp_abs  804.0  805.0  0.0   1.0 ;   wsp. after the step:  9.0
+[staircase]  wind_ramp_abs  905.0  906.0  0.0   1.0 ;   wsp. after the step: 10.0
+[staircase]  wind_ramp_abs  1006.0  1007.0  0.0   1.0 ;   wsp. after the step: 11.0
+[staircase]  wind_ramp_abs  1107.0  1108.0  0.0   1.0 ;   wsp. after the step: 12.0
+[staircase]  wind_ramp_abs  1208.0  1209.0  0.0   1.0 ;   wsp. after the step: 13.0
+[staircase]  wind_ramp_abs  1309.0  1310.0  0.0   1.0 ;   wsp. after the step: 14.0
+[staircase]  wind_ramp_abs  1410.0  1411.0  0.0   1.0 ;   wsp. after the step: 15.0
+[staircase]  wind_ramp_abs  1511.0  1512.0  0.0   1.0 ;   wsp. after the step: 16.0
+[staircase]  wind_ramp_abs  1612.0  1613.0  0.0   1.0 ;   wsp. after the step: 17.0
+[staircase]  wind_ramp_abs  1713.0  1714.0  0.0   1.0 ;   wsp. after the step: 18.0
+[staircase]  wind_ramp_abs  1814.0  1815.0  0.0   1.0 ;   wsp. after the step: 19.0
+[staircase]  wind_ramp_abs  1915.0  1916.0  0.0   1.0 ;   wsp. after the step: 20.0
+[staircase]  wind_ramp_abs  2016.0  2017.0  0.0   1.0 ;   wsp. after the step: 21.0
+[staircase]  wind_ramp_abs  2117.0  2118.0  0.0   1.0 ;   wsp. after the step: 22.0
+[staircase]  wind_ramp_abs  2218.0  2219.0  0.0   1.0 ;   wsp. after the step: 23.0
+[staircase]  wind_ramp_abs  2319.0  2320.0  0.0   1.0 ;   wsp. after the step: 24.0
+[staircase]  wind_ramp_abs  2420.0  2421.0  0.0   1.0 ;   wsp. after the step: 25.0
+  ;
+[windramp]  wind_ramp_abs   400.0  2200.0  0.0   21.0 ;   wsp. after the step: 25.0
+[windramp]  wind_ramp_abs  2400.0  4200.0  0.0  -21.0 ;   wsp. after the step: 25.0
+  ;
+  begin mann ;
+    create_turb_parameters 29.4 1.0 3.9 [tu_seed] 1.0 ;      L, alfaeps, gamma, seed, highfrq compensation
+    filename_u    ./[turb_dir][Turb base name]u.bin ;
+    filename_v    ./[turb_dir][Turb base name]v.bin ;
+    filename_w    ./[turb_dir][Turb base name]w.bin ;
+    box_dim_u    8192 [turb_dx] ;
+    box_dim_v    32 7.5;
+    box_dim_w    32 7.5;
+    std_scaling   1.0 0.7 0.5 ;
+  end mann ;
+;
+  begin tower_shadow_potential_2;
+    tower_mbdy_link tower;
+    nsec  2;
+    radius      0.0  4.15 ;
+    radius     123.6 2.75 ; (radius)
+  end tower_shadow_potential_2;
+end wind;
+;
+begin aerodrag ;
+  begin aerodrag_element ;
+    mbdy_name tower;
+    aerodrag_sections uniform 10 ;
+    nsec 2 ;
+    sec 0.0 0.6 8.3 ;  tower bottom
+    sec 123.6 0.6 5.5 ;  tower top  (diameter)
+  end aerodrag_element;
+;
+  begin aerodrag_element ;        Nacelle drag side
+    mbdy_name shaft;
+    aerodrag_sections uniform 2 ;
+    nsec 2 ;
+    sec 0.0   0.8 10.0 ;
+    sec 7.01  0.8 10.0 ;
+  end aerodrag_element;
+end aerodrag;
+;
+begin aero ;
+  nblades  3;
+  hub_vec shaft -3 ;         rotor rotation vector (normally shaft composant directed from pressure to sustion side)
+  link 1 mbdy_c2_def blade1;
+  link 2 mbdy_c2_def blade2;
+  link 3 mbdy_c2_def blade3;
+  ae_filename        ./data/AVATAR_10MW_RWT_ae.dat ;
+  pc_filename        ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ;
+  induction_method   [Induction] ;     0=none, 1=normal
+  aerocalc_method    1 ;     0=ingen aerodynamic, 1=med aerodynamic
+  aero_distribution ae_file 1 ;
+  ae_sets            1 1 1;
+  tiploss_method     1 ;     0=none, 1=prandtl
+  dynstall_method    [Dyn stall] ;     0=none, 1=stig øye method,2=mhh method
+;
+; ; --- Flaps --- ;
+  ; begin dynstall_ateflap ;
+    ; Ais  0.165  0.335  0.0 ;
+    ; Bis  0.0455  0.30  0.30 ;
+      ; flap  59.5925   85.5023   ./data/Flap_dturwt1_Thk24.ds  ;  Flap Sec: 1
+   ; end dynstall_ateflap;
+end aero ;
+;-------------------------------------------------------------------------------------------------
+begin dll;
+;
+  begin type2_dll;
+    name risoe_controller ;
+    filename  ./control/risoe_controller.dll ;
+    dll_subroutine_init init_regulation ;
+    dll_subroutine_update update_regulation ;
+    arraysizes_init  52 1 ;
+    arraysizes_update  12 100 ;
+	begin init ;
+       ; Overall parameters
+      constant   1 10000.0    	; Rated power [kW]
+      constant   2   0.628    	; Minimum rotor speed [rad/s]
+      constant   3   1.005    	; Rated rotor speed [rad/s]
+      constant   4  15.6E+06  	; Maximum allowable generator torque [Nm]
+      constant   5  100.0    	; Minimum pitch angle, theta_min [deg],
+								; if |theta_min|>90, then a table of <wsp,theta_min> is read ;
+								; from a file named 'wpdata.n', where n=int(theta_min)
+      constant   6  90.0    	; Maximum pitch angle [deg]
+      constant   7  10.0    	; Maximum pitch velocity operation [deg/s]
+      constant   8   0.4    	; Frequency of generator speed filter [Hz]
+      constant   9   0.7    	; Damping ratio of speed filter [-]
+      constant  10   1.64   	; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used
+      ; Partial load control parameters
+      constant  11   0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ;
+                                ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3
+      constant  12   1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)]
+      constant  13   0.153367E+08 ; Integral gain of torque controller [Nm/rad]
+      constant  14   0.0    	; Differential gain of torque controller [Nm/(rad/s^2)]
+;     Full load control parameters
+      constant  15   1      	; Generator control switch [1=constant power, 2=constant torque]
+      constant  16   0.762489  ; Proportional gain of pitch controller [rad/(rad/s)]
+      constant  17   0.224086  ; Integral gain of pitch controller [rad/rad]
+      constant  18   0.0    ; Differential gain of pitch controller [rad/(rad/s^2)]
+      constant  19   0.4e-9 ; Proportional power error gain [rad/W]
+      constant  20   0.4e-9 ; Integral power error gain [rad/(Ws)]
+      constant  21  10.6824   ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg]
+      constant  22 601.25499  ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] &
+                            ; (if zero, KK1 = pitch angle at double gain)
+      constant  23   1.3    ; Relative speed for double nonlinear gain [-]
+;     Cut-in simulation parameters
+      constant  24  [Cut-in time]  ; Cut-in time [s]
+      constant  25  1.0   ; Time delay for soft start of torque [1/1P]
+;     Cut-out simulation parameters
+      constant  26  [Cut-out time]  ; Cut-out time [s]
+      constant  27   5.0  ; Time constant for linear torque cut-out [s]
+      constant  28  [Stop type]    ; Stop type [1=normal, 2=emergency]
+      constant  29  1.0  ; Time delay for pitch stop after shut-down signal [s]
+      constant  30  [Pitvel 1]  ; Maximum pitch velocity during initial period of stop [deg/s]
+      constant  31  3.0  ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30)
+      constant  32  [Pitvel 2]  ; Maximum pitch velocity during final phase of stop [deg/s]
+;     Expert parameters (keep default values unless otherwise given)
+      constant  33   2.0  	; Lower angle above lowest minimum pitch angle for switch [deg]
+      constant  34   2.0  	; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch
+      constant  35  95.0  	; Ratio between filtered speed and reference speed for fully open torque limits [%]
+      constant  36   2.0  	; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P]
+      constant  37   1.0  	; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P]
+;     Drivetrain damper
+      constant  38   0.0  	; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10
+;	  Over speed
+	  constant  39  25.0  	; Overspeed percentage before initiating turbine controller alarm (shut-down) [%]
+;     Additional non-linear pitch control term (not used when all zero)
+	  constant  40   0.0  	; Err0 [rad/s]
+	  constant  41   0.0  	; ErrDot0 [rad/s^2]
+	  constant  42   0.0  	; PitNonLin1 [rad/s]
+;     Storm control command
+	  constant 43   28.0  	; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s]
+	  constant 44   28.0  	; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s]
+;     Safety system parameters
+	  constant 45   25.0  ; Overspeed percentage before initiating safety system alarm (shut-down) [%]
+	  constant 46    1.5  ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2
+;     Turbine parameter
+	  constant 47  205.8  ; Nominal rotor diameter [m]
+;     Parameters for rotor inertia reduction in variable speed region
+      constant 48    0.0  ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero)
+;     Parameters for alternative partial load controller with PI regulated TSR tracking
+      constant 49    0.0  ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise  Qg=K*Omega^2 is used)
+;     Parameters for adding aerodynamic drivetrain damping on gain scheduling
+      constant 50    0.0  ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)]
+      constant 51    0.0  ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg]
+      constant 52    0.0  ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2]
+	end init ;
+;
+    begin output ;
+      general time ; [s]
+      constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s]
+      constraint bearing2 pitch1 1 only 1; [rad]
+      constraint bearing2 pitch2 1 only 1; [rad]
+      constraint bearing2 pitch3 1 only 1; [rad]
+      wind free_wind 1 0.0 0.0 -127 	 ; Global coordinates at hub height
+	  dll inpvec 2 2 					 ; Elec. power from generator servo .dll
+	  dll inpvec 2 8 					 ; Grid state flag from generator servo .dll
+	  mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2]
+	  mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2]
+    end output;
+  end type2_dll;
+;
+   begin type2_dll;
+     name generator_servo ;
+     filename  ./control/generator_servo.dll ;
+     dll_subroutine_init init_generator_servo ;
+     dll_subroutine_update update_generator_servo ;
+     arraysizes_init  7 1 ;
+     arraysizes_update  4 8 ;
+ 	begin init ;
+       constant 1  20.0    ; Frequency of 2nd order servo model of generator-converter system [Hz]
+       constant 2  0.9     ; Damping ratio 2nd order servo model of generator-converter system [-]
+       constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm]
+       constant 4 0.94     ; Generator efficiency [-]
+       constant 5 1.0      ; Gearratio [-]
+       constant 6 0.0      ; Time for half value in softstart of torque [s]
+       constant 7 [Grid loss time]    ; Time for grid loss [s]
+     end init ;
+;
+     begin output;
+       general time                          ;   Time [s]
+       dll inpvec 1 1                        ;   Electrical torque reference [Nm]
+       constraint bearing1 shaft_rot 1 only 2;   Generator LSS speed [rad/s]
+       mbdy momentvec shaft 1 1 shaft only 3 ;   Shaft moment [kNm] (Qshaft)
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+   begin type2_dll;
+     name mech_brake ;
+     filename  ./control/mech_brake.dll ;
+     dll_subroutine_init init_mech_brake ;
+     dll_subroutine_update update_mech_brake ;
+     arraysizes_init    7 1 ;
+     arraysizes_update  4 6 ;
+ 	begin init ;
+      constant 1   5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque)
+      constant 2    100.0  ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom
+      constant 3      0.5  ; Delay time for before brake starts to deploy [s]
+      constant 4      0.74 ; Time for brake to become fully deployed [s]
+     end init ;
+;
+     begin output;
+	   general time                           ; Time [s]
+	   constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s]
+	   dll inpvec 1 25                        ; Command to deploy mechanical disc brake [0,1]
+     end output;
+;
+     begin actions;
+        mbdy moment_int shaft 1 -3 shaft towertop 2 ;   Generator LSS torque [Nm]
+     end actions;
+   end type2_dll;
+;
+  begin type2_dll;
+    name servo_with_limits ;
+    filename  ./control/servo_with_limits.dll ;
+    dll_subroutine_init init_servo_with_limits ;
+    dll_subroutine_update update_servo_with_limits ;
+    arraysizes_init  10 1 ;
+    arraysizes_update  5 9 ;
+	begin init ;
+      constant 1   3    ; Number of blades [-]
+      constant 2   1.0  ; Frequency of 2nd order servo model of pitch system [Hz]
+      constant 3   0.7  ; Damping ratio 2nd order servo model of pitch system [-]
+      constant 4  10.0  ; Max. pitch speed [deg/s]
+      constant 5  15.0  ; Max. pitch acceleration [deg/s^2]
+      constant 6  -5.0  ; Min. pitch angle [deg]
+      constant  7 90.0  ; Max. pitch angle [deg]
+	  constant  8 [Time pitch runaway]   ; Time for pitch runaway [s]
+	  constant  9 [Time stuck DLC22b]    ; Time for stuck blade 1 [s]
+	  constant 10 [Pitch 1 DLC22b]       ; Angle of stuck blade 1 [deg]
+	end init ;
+    begin output;
+      general time        ;  Time                         [s]
+       dll inpvec 1 2     ;  Pitch1 demand angle          [rad]
+       dll inpvec 1 3     ;  Pitch2 demand angle          [rad]
+       dll inpvec 1 4     ;  Pitch3 demand angle          [rad]
+       dll inpvec 1 26    ;  Flag for emergency pitch stop         [0=off/1=on]
+    end output;
+;
+    begin actions;
+      constraint bearing2 angle pitch1 ; Angle pitch1 bearing    [rad]
+      constraint bearing2 angle pitch2 ; Angle pitch2 bearing    [rad]
+      constraint bearing2 angle pitch3 ; Angle pitch3 bearing    [rad]
+    end actions;
+  end type2_dll;
+;
+;	--- DLL for tower-blade tip distance -- ;
+  begin type2_dll;
+    name disttowtip ;
+    filename  ./control/towclearsens.dll ;
+    dll_subroutine_init initialize ;
+    dll_subroutine_update update ;
+    arraysizes_init  1 1 ;
+    arraysizes_update  12 4 ;
+	begin init ;
+	  constant  1  3.87  ; Tower radius close to downward blade tip [m]
+	end init ;
+    begin output;
+	  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+	  mbdy state pos blade1  26 1.0 global  ; [4,5,6]
+	  mbdy state pos blade2  26 1.0 global  ; [7,8,9]
+	  mbdy state pos blade3  26 1.0 global  ; [10,11,12]
+    end output;
+  end type2_dll;
+end dll;
+;
+;----------------------------------------------------------------------------------------------------------------------------------------------------------------
+;
+begin output;
+  filename ./res/[Case folder]/[Case id.] ;
+  time [t0] [time stop] ;
+  data_format  [out_format];
+  buffer 1 ;
+;
+  general time;
+  constraint bearing1 shaft_rot 2; angle and angle velocity
+  constraint bearing2 pitch1 5;    angle and angle velocity
+  constraint bearing2 pitch2 5;    angle and angle velocity
+  constraint bearing2 pitch3 5;    angle and angle velocity
+  aero omega ;
+  aero torque;
+  aero power;
+  aero thrust;
+  wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z
+  ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED
+  mbdy momentvec shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  mbdy forcevec  shaft 3 2  shaft_nonrotate # non rotating shaft tip ;
+  ; Moments:
+  mbdy momentvec tower  1 1  tower # tower base ;
+  mbdy momentvec tower  19 2 tower # tower yaw bearing ;
+  mbdy momentvec shaft  4 1  shaft # main bearing ;
+  mbdy momentvec blade1  3  2 blade1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 blade2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 blade3 # blade 3 root ;
+  ; blade 2,3 root section loads
+  mbdy momentvec blade2  3  2 local # blade 2 section root;
+  mbdy momentvec blade3  3  2 local # blade 3 section root;
+  ; blade 1 sectional loads in local coordinates
+  mbdy momentvec blade1  2  2 local # blade 1 section;
+  mbdy momentvec blade1  3  2 local # blade 1 section root;
+  mbdy momentvec blade1  4  2 local # blade 1 section;
+  mbdy momentvec blade1  5  2 local # blade 1 section;
+  mbdy momentvec blade1  6  2 local # blade 1 section;
+  mbdy momentvec blade1  7  2 local # blade 1 section;
+  mbdy momentvec blade1  8  2 local # blade 1 section;
+  mbdy momentvec blade1  9  2 local # blade 1 section;
+  mbdy momentvec blade1 10  2 local # blade 1 section;
+  mbdy momentvec blade1 11  2 local # blade 1 section;
+  mbdy momentvec blade1 12  2 local # blade 1 section;
+  mbdy momentvec blade1 13  2 local # blade 1 section;
+  mbdy momentvec blade1 14  2 local # blade 1 section;
+  mbdy momentvec blade1 15  2 local # blade 1 section;
+  mbdy momentvec blade1 16  2 local # blade 1 section;
+  mbdy momentvec blade1 17  2 local # blade 1 section;
+  mbdy momentvec blade1 18  2 local # blade 1 section;
+  mbdy momentvec blade1 19  2 local # blade 1 section;
+  mbdy momentvec blade1 20  2 local # blade 1 section;
+  mbdy momentvec blade1 21  2 local # blade 1 section;
+  mbdy momentvec blade1 22  2 local # blade 1 section;
+  mbdy momentvec blade1 23  2 local # blade 1 section;
+  mbdy momentvec blade1 24  2 local # blade 1 section;
+  mbdy momentvec blade1 25  2 local # blade 1 section;
+  mbdy momentvec blade1 26  2 local # blade 1 section;
+  ; blade root out and in of plane forces
+  mbdy momentvec blade1 3  2 hub1 # blade 1 root ;
+  mbdy momentvec blade2 3  2 hub2 # blade 2 root ;
+  mbdy momentvec blade3 3  2 hub3 # blade 3 root ;
+;  mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ;
+;  mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ;
+;  mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ;
+  ; Displacements and accellerations
+  mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ;
+  mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ;
+  mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc;
+  mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc;
+;
+  mbdy state pos blade1  26 1.0 global # gl blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 global # gl blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 global # gl blade 3 tip pos ;
+  mbdy state pos blade1  26 1.0 blade1 # blade 1 tip pos ;
+  mbdy state pos blade2  26 1.0 blade2 # blade 2 tip pos ;
+  mbdy state pos blade3  26 1.0 blade3 # blade 3 tip pos ;
+;
+  mbdy state pos tower    5 0.00 global ; [1,2,3]. Tower position: 24.58 m
+;
+  ; elastic twist (torsional deformation) along the blade
+  aero tors_ang 1  45.56;
+  aero tors_ang 1  59.19;
+  aero tors_ang 1  70.87;
+  aero tors_ang 1  80.61;
+  aero tors_ang 1  84.50;
+  aero tors_ang 1  88.40;
+  aero tors_ang 1  92.29;
+  aero tors_ang 1  96.19;
+  aero tors_ang 1  98.13;
+  aero tors_ang 1 100.08; tip
+;
+; - Monitor Aerodynamics - ;
+  aero windspeed 3 1 1 72.5;
+  aero alfa 1 72.5;
+  aero alfa 2 72.5;
+  aero alfa 3 72.5;
+  aero cl 1 72.5;
+  aero cl 2 72.5;
+  aero cl 3 72.5;
+  aero cd 1 72.5;
+  aero cd 2 72.5;
+  aero cd 3 72.5;
+; - Main Controller -
+; Output to controller
+  ; dll outvec 1 1 # time;
+  ; dll outvec 1 2 # slow speed shaft rad/s;
+  ; dll outvec 1 3 # pitch angle 1;
+  ; dll outvec 1 4 # pitch angle 2;
+  ; dll outvec 1 5 # pitch angle 3;
+  ; dll outvec 1 6 # WSP_x_global;
+  ; dll outvec 1 7 # WSP_y_global;
+  ; dll outvec 1 8 # WSP_z_global;
+  ; dll outvec 1 9 # Elec. pwr ;
+  ; dll outvec 1 10 # Grid flag ;
+; Input from controller
+  dll inpvec 1  1 # Generator torque reference            [Nm]   ;
+  dll inpvec 1  2 # Pitch angle reference of blade 1      [rad]  ;
+  dll inpvec 1  3 # Pitch angle reference of blade 2      [rad]  ;
+  dll inpvec 1  4 # Pitch angle reference of blade 3      [rad]  ;
+  ; dll inpvec 1  5 # Power reference                       [W]    ;
+  ; dll inpvec 1  6 # Filtered wind speed                   [m/s]  ;
+  ; dll inpvec 1  7 # Filtered rotor speed                  [rad/s];
+  ; dll inpvec 1  8 # Filtered rotor speed error for torque [rad/s];
+  ; dll inpvec 1  9 # Bandpass filtered rotor speed         [rad/s];
+  ; dll inpvec 1 10 # Proportional term of torque contr.    [Nm]   ;
+  ; dll inpvec 1 11 # Integral term of torque controller    [Nm]   ;
+  ; dll inpvec 1 12 # Minimum limit of torque               [Nm]   ;
+  ; dll inpvec 1 13 # Maximum limit of torque               [Nm]   ;
+  dll inpvec 1 14 # Torque limit switch based on pitch    [-]    ;
+  ; dll inpvec 1 15 # Filtered rotor speed error for pitch  [rad/s];
+  ; dll inpvec 1 16 # Power error for pitch                 [W]    ;
+  ; dll inpvec 1 17 # Proportional term of pitch controller [rad]  ;
+  ; dll inpvec 1 18 # Integral term of pitch controller     [rad]  ;
+  ; dll inpvec 1 19 # Minimum limit of pitch                [rad]  ;
+  ; dll inpvec 1 20 # Maximum limit of pitch                [rad]  ;
+  dll inpvec 1 21 # Torque reference from DT dammper      [Nm]  ;
+  dll inpvec 1 22 # Status signal                         [-]  ;
+  ; dll inpvec 1 23 # Total added pitch rate                [rad/s]  ;
+  dll inpvec 1 24 # Filtered Mean pitch for gain sch      [rad]  ;
+  dll inpvec 1 25 # Flag for mechnical brake              [0=off/1=on] ;
+  dll inpvec 1 26 # Flag for emergency pitch stop         [0=off/1=on] ;
+  dll inpvec 1 27 # LP filtered acceleration level        [m/s^2] ;
+; ; Output to generator model
+   ; dll outvec 2 1  # time ;
+   ; dll outvec 2 2  # Electrical torque reference [Nm] ;
+   ; dll outvec 2 3  # omega LSS ;
+; Input from generator model
+   dll inpvec 2 1  # Mgen LSS [Nm];
+   dll inpvec 2 2  # Pelec W ;
+   dll inpvec 2 3  # Mframe ;
+   dll inpvec 2 4  # Mgen HSS ;
+   dll inpvec 2 5  # Generator Pmech kW ;
+   dll inpvec 2 6  # Filtered Gen speed ;
+   dll inpvec 2 7  # Resulting Eff ;
+   dll inpvec 2 8  # Grid flag ;
+; Output to mechanical brake
+   dll inpvec 3 1 # Brake torque [Nm] ;
+; ; Input from mechanical brake
+   ; dll outvec 3 1 # Time [s] ;
+   ; dll outvec 3 2 # Generator LSS speed [rad/s] ;
+   ; dll outvec 3 3 # Deploy brake ;
+; ; Output to pitch servo
+   ; dll outvec 4 1 # time;
+   ; dll outvec 4 2 # pitchref 1;
+   ; dll outvec 4 3 # pitchref 2;
+   ; dll outvec 4 4 # pitchref 3;
+   ; dll outvec 4 5 # Emerg. stop;
+; Input from pitch servo
+   dll inpvec 4 1 # pitch 1;
+   dll inpvec 4 2 # pitch 2;
+   dll inpvec 4 3 # pitch 3;
+; Check tower clearence
+   dll inpvec 5 1 # Bltip tow min d [m];
+;   general constant 1.0 ;	constant 1.0 - to mesure activity of flap in terms of displacement
+; - Check on flap control:
+	; ; - From flap controller: -
+	; dll type2_dll cyclic_flap_controller inpvec 1	# Ref flap signal bl 1 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 2	# Ref flap signal bl 2 [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 3	# Ref flap signal bl 3 [deg] ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+	; ; - Check Gains - ;
+	; dll type2_dll cyclic_flap_controller inpvec 10	# lead angle [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 11	# scaling on rat pow [-] ;
+	; dll type2_dll cyclic_flap_controller inpvec 12	# actual kp [deg/kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 13	# actual ki [deg/kNms] ;
+	; dll type2_dll cyclic_flap_controller inpvec 14	# actual kd [deg s/kNm] ;
+	; ; - Actual deflections -
+	; [dis_setbeta] aero beta 1 1 ;
+	; [dis_setbeta] aero beta 2 1 ;
+	; [dis_setbeta] aero beta 3 1 ;
+	; ; - Mbc values
+	; dll type2_dll cyclic_flap_controller inpvec 4	# momvec mbc cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 5	# momvec mbc sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 6	# momvec mbc filt cos [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 7	# momvec mbc filt sin [kNm] ;
+	; dll type2_dll cyclic_flap_controller inpvec 8	# flap mbc cos [deg] ;
+	; dll type2_dll cyclic_flap_controller inpvec 9	# flap mbc sin [deg] ;
+end output;
+;
+exit;
diff --git a/wetb/prepost/tests/test_Simulations.py b/wetb/prepost/tests/test_Simulations.py
new file mode 100644
index 00000000..f4c9cfa4
--- /dev/null
+++ b/wetb/prepost/tests/test_Simulations.py
@@ -0,0 +1,55 @@
+'''
+Created on 05/11/2015
+
+@author: MMPE
+'''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
+
+import unittest
+import os
+import filecmp
+
+from wetb.prepost import dlctemplate as tmpl
+
+
+class TestGenerateInputs(unittest.TestCase):
+
+    def setUp(self):
+        self.basepath = os.path.dirname(__file__)
+
+    def test_launch_dlcs_excel(self):
+        # manually configure paths, HAWC2 model root path is then constructed as
+        # p_root_remote/PROJECT/sim_id, and p_root_local/PROJECT/sim_id
+        # adopt accordingly when you have configured your directories differently
+        p_root_remote = os.path.join(self.basepath, 'data/')
+        p_root_local = os.path.join(self.basepath, 'data/')
+        # project name, sim_id, master file name
+        tmpl.PROJECT = 'demo_dlc'
+        tmpl.MASTERFILE = 'demo_dlc_master_A0001.htc'
+        # MODEL SOURCES, exchanche file sources
+        tmpl.P_RUN = os.path.join(p_root_remote, tmpl.PROJECT, 'remote/')
+        tmpl.P_SOURCE = os.path.join(p_root_local, tmpl.PROJECT, 'source/')
+        # location of the master file
+        tmpl.P_MASTERFILE = os.path.join(p_root_local, tmpl.PROJECT,
+                                         'source', 'htc', '_master/')
+        # location of the pre and post processing data
+        tmpl.POST_DIR = os.path.join(p_root_remote, tmpl.PROJECT, 'remote',
+                                     'prepost/')
+        tmpl.force_dir = tmpl.P_RUN
+        tmpl.launch_dlcs_excel('remote', silent=True)
+
+        remote = os.path.join(p_root_remote, tmpl.PROJECT, 'remote')
+        ref = os.path.join(p_root_remote, tmpl.PROJECT, 'ref')
+        cmp = filecmp.dircmp(remote, ref)
+        self.assertTrue(len(cmp.diff_files)==0)
+        self.assertTrue(len(cmp.right_only)==0)
+        self.assertTrue(len(cmp.left_only)==0)
+
+
+if __name__ == "__main__":
+    unittest.main()
-- 
GitLab