Initial commit, copying files from bitbicket
This commit is contained in:
parent
560951fb3d
commit
d45361d7a3
5
Documents/RMuso.aux
Normal file
5
Documents/RMuso.aux
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\relax
|
||||||
|
\catcode \string ``=12
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {1}A csomag alapf\IeC {\"u}ggv\IeC {\'e}nyei}{1}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {2}Tartalmazott f\IeC {\"u}ggv\IeC {\'e}ny-csoportok \IeC {\'a}ttekint\IeC {\'e}se}{1}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {3}Haszn\IeC {\'a}lat}{2}}
|
||||||
589
Documents/RMuso.log
Normal file
589
Documents/RMuso.log
Normal file
@ -0,0 +1,589 @@
|
|||||||
|
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=pdflatex 2016.10.24) 2 NOV 2016 11:20
|
||||||
|
entering extended mode
|
||||||
|
restricted \write18 enabled.
|
||||||
|
file:line:error style messages enabled.
|
||||||
|
%&-line parsing enabled.
|
||||||
|
**\input RMuso.tex
|
||||||
|
(./RMuso.tex (/usr/share/texmf-dist/tex/latex/base/article.cls
|
||||||
|
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/size12.clo
|
||||||
|
File: size12.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
|
||||||
|
)
|
||||||
|
\c@part=\count79
|
||||||
|
\c@section=\count80
|
||||||
|
\c@subsection=\count81
|
||||||
|
\c@subsubsection=\count82
|
||||||
|
\c@paragraph=\count83
|
||||||
|
\c@subparagraph=\count84
|
||||||
|
\c@figure=\count85
|
||||||
|
\c@table=\count86
|
||||||
|
\abovecaptionskip=\skip41
|
||||||
|
\belowcaptionskip=\skip42
|
||||||
|
\bibindent=\dimen102
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/inputenc.sty
|
||||||
|
Package: inputenc 2014/04/30 v1.2b Input encoding file
|
||||||
|
\inpenc@prehook=\toks14
|
||||||
|
\inpenc@posthook=\toks15
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/utf8.def
|
||||||
|
File: utf8.def 2008/04/05 v1.1m UTF-8 support for inputenc
|
||||||
|
Now handling font encoding OML ...
|
||||||
|
... no UTF-8 mapping file for font encoding OML
|
||||||
|
Now handling font encoding T1 ...
|
||||||
|
... processing UTF-8 mapping file for font encoding T1
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/t1enc.dfu
|
||||||
|
File: t1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
|
||||||
|
defining Unicode char U+00A1 (decimal 161)
|
||||||
|
defining Unicode char U+00A3 (decimal 163)
|
||||||
|
defining Unicode char U+00AB (decimal 171)
|
||||||
|
defining Unicode char U+00BB (decimal 187)
|
||||||
|
defining Unicode char U+00BF (decimal 191)
|
||||||
|
defining Unicode char U+00C0 (decimal 192)
|
||||||
|
defining Unicode char U+00C1 (decimal 193)
|
||||||
|
defining Unicode char U+00C2 (decimal 194)
|
||||||
|
defining Unicode char U+00C3 (decimal 195)
|
||||||
|
defining Unicode char U+00C4 (decimal 196)
|
||||||
|
defining Unicode char U+00C5 (decimal 197)
|
||||||
|
defining Unicode char U+00C6 (decimal 198)
|
||||||
|
defining Unicode char U+00C7 (decimal 199)
|
||||||
|
defining Unicode char U+00C8 (decimal 200)
|
||||||
|
defining Unicode char U+00C9 (decimal 201)
|
||||||
|
defining Unicode char U+00CA (decimal 202)
|
||||||
|
defining Unicode char U+00CB (decimal 203)
|
||||||
|
defining Unicode char U+00CC (decimal 204)
|
||||||
|
defining Unicode char U+00CD (decimal 205)
|
||||||
|
defining Unicode char U+00CE (decimal 206)
|
||||||
|
defining Unicode char U+00CF (decimal 207)
|
||||||
|
defining Unicode char U+00D0 (decimal 208)
|
||||||
|
defining Unicode char U+00D1 (decimal 209)
|
||||||
|
defining Unicode char U+00D2 (decimal 210)
|
||||||
|
defining Unicode char U+00D3 (decimal 211)
|
||||||
|
defining Unicode char U+00D4 (decimal 212)
|
||||||
|
defining Unicode char U+00D5 (decimal 213)
|
||||||
|
defining Unicode char U+00D6 (decimal 214)
|
||||||
|
defining Unicode char U+00D8 (decimal 216)
|
||||||
|
defining Unicode char U+00D9 (decimal 217)
|
||||||
|
defining Unicode char U+00DA (decimal 218)
|
||||||
|
defining Unicode char U+00DB (decimal 219)
|
||||||
|
defining Unicode char U+00DC (decimal 220)
|
||||||
|
defining Unicode char U+00DD (decimal 221)
|
||||||
|
defining Unicode char U+00DE (decimal 222)
|
||||||
|
defining Unicode char U+00DF (decimal 223)
|
||||||
|
defining Unicode char U+00E0 (decimal 224)
|
||||||
|
defining Unicode char U+00E1 (decimal 225)
|
||||||
|
defining Unicode char U+00E2 (decimal 226)
|
||||||
|
defining Unicode char U+00E3 (decimal 227)
|
||||||
|
defining Unicode char U+00E4 (decimal 228)
|
||||||
|
defining Unicode char U+00E5 (decimal 229)
|
||||||
|
defining Unicode char U+00E6 (decimal 230)
|
||||||
|
defining Unicode char U+00E7 (decimal 231)
|
||||||
|
defining Unicode char U+00E8 (decimal 232)
|
||||||
|
defining Unicode char U+00E9 (decimal 233)
|
||||||
|
defining Unicode char U+00EA (decimal 234)
|
||||||
|
defining Unicode char U+00EB (decimal 235)
|
||||||
|
defining Unicode char U+00EC (decimal 236)
|
||||||
|
defining Unicode char U+00ED (decimal 237)
|
||||||
|
defining Unicode char U+00EE (decimal 238)
|
||||||
|
defining Unicode char U+00EF (decimal 239)
|
||||||
|
defining Unicode char U+00F0 (decimal 240)
|
||||||
|
defining Unicode char U+00F1 (decimal 241)
|
||||||
|
defining Unicode char U+00F2 (decimal 242)
|
||||||
|
defining Unicode char U+00F3 (decimal 243)
|
||||||
|
defining Unicode char U+00F4 (decimal 244)
|
||||||
|
defining Unicode char U+00F5 (decimal 245)
|
||||||
|
defining Unicode char U+00F6 (decimal 246)
|
||||||
|
defining Unicode char U+00F8 (decimal 248)
|
||||||
|
defining Unicode char U+00F9 (decimal 249)
|
||||||
|
defining Unicode char U+00FA (decimal 250)
|
||||||
|
defining Unicode char U+00FB (decimal 251)
|
||||||
|
defining Unicode char U+00FC (decimal 252)
|
||||||
|
defining Unicode char U+00FD (decimal 253)
|
||||||
|
defining Unicode char U+00FE (decimal 254)
|
||||||
|
defining Unicode char U+00FF (decimal 255)
|
||||||
|
defining Unicode char U+0102 (decimal 258)
|
||||||
|
defining Unicode char U+0103 (decimal 259)
|
||||||
|
defining Unicode char U+0104 (decimal 260)
|
||||||
|
defining Unicode char U+0105 (decimal 261)
|
||||||
|
defining Unicode char U+0106 (decimal 262)
|
||||||
|
defining Unicode char U+0107 (decimal 263)
|
||||||
|
defining Unicode char U+010C (decimal 268)
|
||||||
|
defining Unicode char U+010D (decimal 269)
|
||||||
|
defining Unicode char U+010E (decimal 270)
|
||||||
|
defining Unicode char U+010F (decimal 271)
|
||||||
|
defining Unicode char U+0110 (decimal 272)
|
||||||
|
defining Unicode char U+0111 (decimal 273)
|
||||||
|
defining Unicode char U+0118 (decimal 280)
|
||||||
|
defining Unicode char U+0119 (decimal 281)
|
||||||
|
defining Unicode char U+011A (decimal 282)
|
||||||
|
defining Unicode char U+011B (decimal 283)
|
||||||
|
defining Unicode char U+011E (decimal 286)
|
||||||
|
defining Unicode char U+011F (decimal 287)
|
||||||
|
defining Unicode char U+0130 (decimal 304)
|
||||||
|
defining Unicode char U+0131 (decimal 305)
|
||||||
|
defining Unicode char U+0132 (decimal 306)
|
||||||
|
defining Unicode char U+0133 (decimal 307)
|
||||||
|
defining Unicode char U+0139 (decimal 313)
|
||||||
|
defining Unicode char U+013A (decimal 314)
|
||||||
|
defining Unicode char U+013D (decimal 317)
|
||||||
|
defining Unicode char U+013E (decimal 318)
|
||||||
|
defining Unicode char U+0141 (decimal 321)
|
||||||
|
defining Unicode char U+0142 (decimal 322)
|
||||||
|
defining Unicode char U+0143 (decimal 323)
|
||||||
|
defining Unicode char U+0144 (decimal 324)
|
||||||
|
defining Unicode char U+0147 (decimal 327)
|
||||||
|
defining Unicode char U+0148 (decimal 328)
|
||||||
|
defining Unicode char U+014A (decimal 330)
|
||||||
|
defining Unicode char U+014B (decimal 331)
|
||||||
|
defining Unicode char U+0150 (decimal 336)
|
||||||
|
defining Unicode char U+0151 (decimal 337)
|
||||||
|
defining Unicode char U+0152 (decimal 338)
|
||||||
|
defining Unicode char U+0153 (decimal 339)
|
||||||
|
defining Unicode char U+0154 (decimal 340)
|
||||||
|
defining Unicode char U+0155 (decimal 341)
|
||||||
|
defining Unicode char U+0158 (decimal 344)
|
||||||
|
defining Unicode char U+0159 (decimal 345)
|
||||||
|
defining Unicode char U+015A (decimal 346)
|
||||||
|
defining Unicode char U+015B (decimal 347)
|
||||||
|
defining Unicode char U+015E (decimal 350)
|
||||||
|
defining Unicode char U+015F (decimal 351)
|
||||||
|
defining Unicode char U+0160 (decimal 352)
|
||||||
|
defining Unicode char U+0161 (decimal 353)
|
||||||
|
defining Unicode char U+0162 (decimal 354)
|
||||||
|
defining Unicode char U+0163 (decimal 355)
|
||||||
|
defining Unicode char U+0164 (decimal 356)
|
||||||
|
defining Unicode char U+0165 (decimal 357)
|
||||||
|
defining Unicode char U+016E (decimal 366)
|
||||||
|
defining Unicode char U+016F (decimal 367)
|
||||||
|
defining Unicode char U+0170 (decimal 368)
|
||||||
|
defining Unicode char U+0171 (decimal 369)
|
||||||
|
defining Unicode char U+0178 (decimal 376)
|
||||||
|
defining Unicode char U+0179 (decimal 377)
|
||||||
|
defining Unicode char U+017A (decimal 378)
|
||||||
|
defining Unicode char U+017B (decimal 379)
|
||||||
|
defining Unicode char U+017C (decimal 380)
|
||||||
|
defining Unicode char U+017D (decimal 381)
|
||||||
|
defining Unicode char U+017E (decimal 382)
|
||||||
|
defining Unicode char U+200C (decimal 8204)
|
||||||
|
defining Unicode char U+2013 (decimal 8211)
|
||||||
|
defining Unicode char U+2014 (decimal 8212)
|
||||||
|
defining Unicode char U+2018 (decimal 8216)
|
||||||
|
defining Unicode char U+2019 (decimal 8217)
|
||||||
|
defining Unicode char U+201A (decimal 8218)
|
||||||
|
defining Unicode char U+201C (decimal 8220)
|
||||||
|
defining Unicode char U+201D (decimal 8221)
|
||||||
|
defining Unicode char U+201E (decimal 8222)
|
||||||
|
defining Unicode char U+2030 (decimal 8240)
|
||||||
|
defining Unicode char U+2031 (decimal 8241)
|
||||||
|
defining Unicode char U+2039 (decimal 8249)
|
||||||
|
defining Unicode char U+203A (decimal 8250)
|
||||||
|
defining Unicode char U+2423 (decimal 9251)
|
||||||
|
)
|
||||||
|
Now handling font encoding OT1 ...
|
||||||
|
... processing UTF-8 mapping file for font encoding OT1
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/ot1enc.dfu
|
||||||
|
File: ot1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
|
||||||
|
defining Unicode char U+00A1 (decimal 161)
|
||||||
|
defining Unicode char U+00A3 (decimal 163)
|
||||||
|
defining Unicode char U+00B8 (decimal 184)
|
||||||
|
defining Unicode char U+00BF (decimal 191)
|
||||||
|
defining Unicode char U+00C5 (decimal 197)
|
||||||
|
defining Unicode char U+00C6 (decimal 198)
|
||||||
|
defining Unicode char U+00D8 (decimal 216)
|
||||||
|
defining Unicode char U+00DF (decimal 223)
|
||||||
|
defining Unicode char U+00E6 (decimal 230)
|
||||||
|
defining Unicode char U+00EC (decimal 236)
|
||||||
|
defining Unicode char U+00ED (decimal 237)
|
||||||
|
defining Unicode char U+00EE (decimal 238)
|
||||||
|
defining Unicode char U+00EF (decimal 239)
|
||||||
|
defining Unicode char U+00F8 (decimal 248)
|
||||||
|
defining Unicode char U+0131 (decimal 305)
|
||||||
|
defining Unicode char U+0141 (decimal 321)
|
||||||
|
defining Unicode char U+0142 (decimal 322)
|
||||||
|
defining Unicode char U+0152 (decimal 338)
|
||||||
|
defining Unicode char U+0153 (decimal 339)
|
||||||
|
defining Unicode char U+2013 (decimal 8211)
|
||||||
|
defining Unicode char U+2014 (decimal 8212)
|
||||||
|
defining Unicode char U+2018 (decimal 8216)
|
||||||
|
defining Unicode char U+2019 (decimal 8217)
|
||||||
|
defining Unicode char U+201C (decimal 8220)
|
||||||
|
defining Unicode char U+201D (decimal 8221)
|
||||||
|
)
|
||||||
|
Now handling font encoding OMS ...
|
||||||
|
... processing UTF-8 mapping file for font encoding OMS
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/omsenc.dfu
|
||||||
|
File: omsenc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
|
||||||
|
defining Unicode char U+00A7 (decimal 167)
|
||||||
|
defining Unicode char U+00B6 (decimal 182)
|
||||||
|
defining Unicode char U+00B7 (decimal 183)
|
||||||
|
defining Unicode char U+2020 (decimal 8224)
|
||||||
|
defining Unicode char U+2021 (decimal 8225)
|
||||||
|
defining Unicode char U+2022 (decimal 8226)
|
||||||
|
)
|
||||||
|
Now handling font encoding OMX ...
|
||||||
|
... no UTF-8 mapping file for font encoding OMX
|
||||||
|
Now handling font encoding U ...
|
||||||
|
... no UTF-8 mapping file for font encoding U
|
||||||
|
defining Unicode char U+00A9 (decimal 169)
|
||||||
|
defining Unicode char U+00AA (decimal 170)
|
||||||
|
defining Unicode char U+00AE (decimal 174)
|
||||||
|
defining Unicode char U+00BA (decimal 186)
|
||||||
|
defining Unicode char U+02C6 (decimal 710)
|
||||||
|
defining Unicode char U+02DC (decimal 732)
|
||||||
|
defining Unicode char U+200C (decimal 8204)
|
||||||
|
defining Unicode char U+2026 (decimal 8230)
|
||||||
|
defining Unicode char U+2122 (decimal 8482)
|
||||||
|
defining Unicode char U+2423 (decimal 9251)
|
||||||
|
))
|
||||||
|
(/usr/share/texmf-dist/tex/generic/babel/babel.sty
|
||||||
|
Package: babel 2014/09/25 3.9l The Babel package
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/generic/babel-hungarian/magyar.ldf
|
||||||
|
Language: magyar 2007/10/19 v1.5 Magyar support from the babel v3.7 system
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/generic/babel/babel.def
|
||||||
|
File: babel.def 2014/09/25 3.9l Babel common definitions
|
||||||
|
\babel@savecnt=\count87
|
||||||
|
\U@D=\dimen103
|
||||||
|
)
|
||||||
|
Package babel Info: Making ` an active character on input line 2732.
|
||||||
|
\c@footnote@add=\count88
|
||||||
|
\c@footnote@ch=\count89
|
||||||
|
))
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/fontenc.sty
|
||||||
|
Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/t1enc.def
|
||||||
|
File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
|
||||||
|
LaTeX Font Info: Redeclaring font encoding T1 on input line 43.
|
||||||
|
))
|
||||||
|
(/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
|
||||||
|
Package: amsmath 2013/01/14 v2.14 AMS math features
|
||||||
|
\@mathmargin=\skip43
|
||||||
|
|
||||||
|
For additional information on amsmath, use the `?' option.
|
||||||
|
(/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
|
||||||
|
Package: amstext 2000/06/29 v2.01
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
|
||||||
|
File: amsgen.sty 1999/11/30 v2.0
|
||||||
|
\@emptytoks=\toks16
|
||||||
|
\ex@=\dimen104
|
||||||
|
))
|
||||||
|
(/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
|
||||||
|
Package: amsbsy 1999/11/29 v1.2d
|
||||||
|
\pmbraise@=\dimen105
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
|
||||||
|
Package: amsopn 1999/12/14 v2.01 operator names
|
||||||
|
)
|
||||||
|
\inf@bad=\count90
|
||||||
|
LaTeX Info: Redefining \frac on input line 210.
|
||||||
|
\uproot@=\count91
|
||||||
|
\leftroot@=\count92
|
||||||
|
LaTeX Info: Redefining \overline on input line 306.
|
||||||
|
\classnum@=\count93
|
||||||
|
\DOTSCASE@=\count94
|
||||||
|
LaTeX Info: Redefining \ldots on input line 378.
|
||||||
|
LaTeX Info: Redefining \dots on input line 381.
|
||||||
|
LaTeX Info: Redefining \cdots on input line 466.
|
||||||
|
\Mathstrutbox@=\box26
|
||||||
|
\strutbox@=\box27
|
||||||
|
\big@size=\dimen106
|
||||||
|
LaTeX Font Info: Redeclaring font encoding OML on input line 566.
|
||||||
|
LaTeX Font Info: Redeclaring font encoding OMS on input line 567.
|
||||||
|
\macc@depth=\count95
|
||||||
|
\c@MaxMatrixCols=\count96
|
||||||
|
\dotsspace@=\muskip10
|
||||||
|
\c@parentequation=\count97
|
||||||
|
\dspbrk@lvl=\count98
|
||||||
|
\tag@help=\toks17
|
||||||
|
\row@=\count99
|
||||||
|
\column@=\count100
|
||||||
|
\maxfields@=\count101
|
||||||
|
\andhelp@=\toks18
|
||||||
|
\eqnshift@=\dimen107
|
||||||
|
\alignsep@=\dimen108
|
||||||
|
\tagshift@=\dimen109
|
||||||
|
\tagwidth@=\dimen110
|
||||||
|
\totwidth@=\dimen111
|
||||||
|
\lineht@=\dimen112
|
||||||
|
\@envbody=\toks19
|
||||||
|
\multlinegap=\skip44
|
||||||
|
\multlinetaggap=\skip45
|
||||||
|
\mathdisplay@stack=\toks20
|
||||||
|
LaTeX Info: Redefining \[ on input line 2665.
|
||||||
|
LaTeX Info: Redefining \] on input line 2666.
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
|
||||||
|
Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
|
||||||
|
\symAMSa=\mathgroup4
|
||||||
|
\symAMSb=\mathgroup5
|
||||||
|
LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
|
||||||
|
(Font) U/euf/m/n --> U/euf/b/n on input line 106.
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
|
||||||
|
Package: amssymb 2013/01/14 v3.01 AMS font symbols
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
|
||||||
|
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty
|
||||||
|
Package: keyval 2014/05/08 v1.15 key=value parser (DPC)
|
||||||
|
\KV@toks@=\toks21
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/latex/graphics/graphics.sty
|
||||||
|
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/graphics/trig.sty
|
||||||
|
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/latex/latexconfig/graphics.cfg
|
||||||
|
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
|
||||||
|
)
|
||||||
|
Package graphics Info: Driver file: pdftex.def on input line 91.
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/pdftex-def/pdftex.def
|
||||||
|
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/generic/oberdiek/infwarerr.sty
|
||||||
|
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
|
||||||
|
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
|
||||||
|
)
|
||||||
|
\Gread@gobject=\count102
|
||||||
|
))
|
||||||
|
\Gin@req@height=\dimen113
|
||||||
|
\Gin@req@width=\dimen114
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/latex/geometry/geometry.sty
|
||||||
|
Package: geometry 2010/09/12 v5.6 Page Geometry
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/generic/oberdiek/ifpdf.sty
|
||||||
|
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
|
||||||
|
Package ifpdf Info: pdfTeX in PDF mode is detected.
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/generic/oberdiek/ifvtex.sty
|
||||||
|
Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
|
||||||
|
Package ifvtex Info: VTeX not detected.
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/generic/ifxetex/ifxetex.sty
|
||||||
|
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
|
||||||
|
)
|
||||||
|
\Gm@cnth=\count103
|
||||||
|
\Gm@cntv=\count104
|
||||||
|
\c@Gm@tempcnt=\count105
|
||||||
|
\Gm@bindingoffset=\dimen115
|
||||||
|
\Gm@wd@mp=\dimen116
|
||||||
|
\Gm@odd@mp=\dimen117
|
||||||
|
\Gm@even@mp=\dimen118
|
||||||
|
\Gm@layoutwidth=\dimen119
|
||||||
|
\Gm@layoutheight=\dimen120
|
||||||
|
\Gm@layouthoffset=\dimen121
|
||||||
|
\Gm@layoutvoffset=\dimen122
|
||||||
|
\Gm@dimlist=\toks22
|
||||||
|
)
|
||||||
|
No file RMuso.aux.
|
||||||
|
\openout1 = `RMuso.aux'.
|
||||||
|
|
||||||
|
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 16.
|
||||||
|
LaTeX Font Info: ... okay on input line 16.
|
||||||
|
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 16.
|
||||||
|
LaTeX Font Info: ... okay on input line 16.
|
||||||
|
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 16.
|
||||||
|
LaTeX Font Info: ... okay on input line 16.
|
||||||
|
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 16.
|
||||||
|
LaTeX Font Info: ... okay on input line 16.
|
||||||
|
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 16.
|
||||||
|
LaTeX Font Info: ... okay on input line 16.
|
||||||
|
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 16.
|
||||||
|
LaTeX Font Info: ... okay on input line 16.
|
||||||
|
|
||||||
|
LaTeX Warning: Please use \usepackage[latin2]{inputenc} with
|
||||||
|
\usepackage[magyar]{babel}.
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/context/base/supp-pdf.mkii
|
||||||
|
[Loading MPS to PDF converter (version 2006.09.02).]
|
||||||
|
\scratchcounter=\count106
|
||||||
|
\scratchdimen=\dimen123
|
||||||
|
\scratchbox=\box28
|
||||||
|
\nofMPsegments=\count107
|
||||||
|
\nofMParguments=\count108
|
||||||
|
\everyMPshowfont=\toks23
|
||||||
|
\MPscratchCnt=\count109
|
||||||
|
\MPscratchDim=\dimen124
|
||||||
|
\MPnumerator=\count110
|
||||||
|
\makeMPintoPDFobject=\count111
|
||||||
|
\everyMPtoPDFconversion=\toks24
|
||||||
|
) (/usr/share/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
|
||||||
|
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO
|
||||||
|
)
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/generic/oberdiek/ifluatex.sty
|
||||||
|
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
|
||||||
|
Package ifluatex Info: LuaTeX not detected.
|
||||||
|
)
|
||||||
|
Package pdftexcmds Info: LuaTeX not detected.
|
||||||
|
Package pdftexcmds Info: \pdf@primitive is available.
|
||||||
|
Package pdftexcmds Info: \pdf@ifprimitive is available.
|
||||||
|
Package pdftexcmds Info: \pdfdraftmode found.
|
||||||
|
)
|
||||||
|
(/usr/share/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
|
||||||
|
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/oberdiek/grfext.sty
|
||||||
|
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO)
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
|
||||||
|
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)
|
||||||
|
))
|
||||||
|
(/usr/share/texmf-dist/tex/latex/oberdiek/kvoptions.sty
|
||||||
|
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
|
||||||
|
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/generic/oberdiek/etexcmds.sty
|
||||||
|
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
|
||||||
|
Package etexcmds Info: Could not find \expanded.
|
||||||
|
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
|
||||||
|
(etexcmds) that some package has redefined \expanded.
|
||||||
|
(etexcmds) In the latter case, load this package earlier.
|
||||||
|
)))
|
||||||
|
Package grfext Info: Graphics extension search list:
|
||||||
|
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
|
||||||
|
G,.JBIG2,.JB2,.eps]
|
||||||
|
(grfext) \AppendGraphicsExtensions on input line 452.
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
|
||||||
|
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
|
||||||
|
e
|
||||||
|
))
|
||||||
|
*geometry* driver: auto-detecting
|
||||||
|
*geometry* detected driver: pdftex
|
||||||
|
*geometry* verbose mode - [ preamble ] result:
|
||||||
|
* driver: pdftex
|
||||||
|
* paper: a4paper
|
||||||
|
* layout: <same size as paper>
|
||||||
|
* layoutoffset:(h,v)=(0.0pt,0.0pt)
|
||||||
|
* modes:
|
||||||
|
* h-part:(L,W,R)=(56.9055pt, 483.69687pt, 56.9055pt)
|
||||||
|
* v-part:(T,H,B)=(56.9055pt, 731.23584pt, 56.9055pt)
|
||||||
|
* \paperwidth=597.50787pt
|
||||||
|
* \paperheight=845.04684pt
|
||||||
|
* \textwidth=483.69687pt
|
||||||
|
* \textheight=731.23584pt
|
||||||
|
* \oddsidemargin=-15.36449pt
|
||||||
|
* \evensidemargin=-15.36449pt
|
||||||
|
* \topmargin=-52.36449pt
|
||||||
|
* \headheight=12.0pt
|
||||||
|
* \headsep=25.0pt
|
||||||
|
* \topskip=12.0pt
|
||||||
|
* \footskip=30.0pt
|
||||||
|
* \marginparwidth=35.0pt
|
||||||
|
* \marginparsep=10.0pt
|
||||||
|
* \columnsep=10.0pt
|
||||||
|
* \skip\footins=10.8pt plus 4.0pt minus 2.0pt
|
||||||
|
* \hoffset=0.0pt
|
||||||
|
* \voffset=0.0pt
|
||||||
|
* \mag=1000
|
||||||
|
* \@twocolumnfalse
|
||||||
|
* \@twosidefalse
|
||||||
|
* \@mparswitchfalse
|
||||||
|
* \@reversemarginfalse
|
||||||
|
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/article.cls
|
||||||
|
LaTeX Info: Redefining \cal on input line 506.
|
||||||
|
LaTeX Info: Redefining \mit on input line 507.
|
||||||
|
)
|
||||||
|
LaTeX Font Info: Try loading font information for U+msa on input line 17.
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd
|
||||||
|
File: umsa.fd 2013/01/14 v3.01 AMS symbols A
|
||||||
|
)
|
||||||
|
LaTeX Font Info: Try loading font information for U+msb on input line 17.
|
||||||
|
|
||||||
|
(/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd
|
||||||
|
File: umsb.fd 2013/01/14 v3.01 AMS symbols B
|
||||||
|
)
|
||||||
|
|
||||||
|
LaTeX Warning: No \author given.
|
||||||
|
|
||||||
|
LaTeX Font Info: Try loading font information for OMS+cmr on input line 23.
|
||||||
|
(/usr/share/texmf-dist/tex/latex/base/omscmr.fd
|
||||||
|
File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
|
||||||
|
)
|
||||||
|
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <12> not available
|
||||||
|
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 23.
|
||||||
|
[1
|
||||||
|
|
||||||
|
|
||||||
|
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
|
||||||
|
Underfull \hbox (badness 10000) in paragraph at lines 53--57
|
||||||
|
|
||||||
|
[]
|
||||||
|
|
||||||
|
|
||||||
|
Underfull \hbox (badness 10000) in paragraph at lines 53--57
|
||||||
|
|
||||||
|
[]
|
||||||
|
|
||||||
|
|
||||||
|
./RMuso.tex:67: LaTeX Error: There's no line here to end.
|
||||||
|
|
||||||
|
See the LaTeX manual or LaTeX Companion for explanation.
|
||||||
|
Type H <return> for immediate help.
|
||||||
|
...
|
||||||
|
|
||||||
|
l.67 \newline
|
||||||
|
\newline
|
||||||
|
Your command was ignored.
|
||||||
|
Type I <command> <return> to replace it with another command,
|
||||||
|
or <return> to continue without it.
|
||||||
|
|
||||||
|
|
||||||
|
./RMuso.tex:67: LaTeX Error: There's no line here to end.
|
||||||
|
|
||||||
|
See the LaTeX manual or LaTeX Companion for explanation.
|
||||||
|
Type H <return> for immediate help.
|
||||||
|
...
|
||||||
|
|
||||||
|
l.67 \newline \newline
|
||||||
|
|
||||||
|
Your command was ignored.
|
||||||
|
Type I <command> <return> to replace it with another command,
|
||||||
|
or <return> to continue without it.
|
||||||
|
|
||||||
|
|
||||||
|
Underfull \hbox (badness 10000) in paragraph at lines 68--74
|
||||||
|
|
||||||
|
[]
|
||||||
|
|
||||||
|
[2] (./RMuso.aux) )
|
||||||
|
Here is how much of TeX's memory you used:
|
||||||
|
4613 strings out of 494011
|
||||||
|
64248 string characters out of 6160039
|
||||||
|
139041 words of memory out of 5000000
|
||||||
|
7925 multiletter control sequences out of 15000+600000
|
||||||
|
12103 words of font info for 34 fonts, out of 8000000 for 9000
|
||||||
|
600 hyphenation exceptions out of 8191
|
||||||
|
38i,6n,27p,336b,361s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||||
|
{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.
|
||||||
|
enc}</usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/shar
|
||||||
|
e/texmf-dist/fonts/type1/public/cm-super/sfbx1200.pfb></usr/share/texmf-dist/fo
|
||||||
|
nts/type1/public/cm-super/sfbx1728.pfb></usr/share/texmf-dist/fonts/type1/publi
|
||||||
|
c/cm-super/sfrm1200.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm
|
||||||
|
1440.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm2074.pfb></usr/
|
||||||
|
share/texmf-dist/fonts/type1/public/cm-super/sfti1200.pfb>
|
||||||
|
Output written on RMuso.pdf (2 pages, 109426 bytes).
|
||||||
|
PDF statistics:
|
||||||
|
40 PDF objects out of 1000 (max. 8388607)
|
||||||
|
28 compressed objects within 1 object stream
|
||||||
|
0 named destinations out of 1000 (max. 500000)
|
||||||
|
1 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||||
|
|
||||||
BIN
Documents/RMuso.pdf
Normal file
BIN
Documents/RMuso.pdf
Normal file
Binary file not shown.
75
Documents/RMuso.tex
Normal file
75
Documents/RMuso.tex
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
\documentclass[12pt,a4paper]{article}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[magyar]{babel}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amsfonts}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
|
||||||
|
\frenchspacing
|
||||||
|
|
||||||
|
\title{Az RMuso csomag használata}
|
||||||
|
%\author{Hollós Roland}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
\section{A csomag alapfüggvényei}
|
||||||
|
|
||||||
|
Az R-muso csomag az alábbi fő függvényeket használja:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item muso.R
|
||||||
|
\item changecontent.R
|
||||||
|
\item setup.R
|
||||||
|
\item other\_usefull\_functions.R
|
||||||
|
\item getOutput.R
|
||||||
|
\end{itemize}
|
||||||
|
\section{Tartalmazott függvény-csoportok áttekintése}
|
||||||
|
\subsubsection*{setup.R}
|
||||||
|
Ebben az R fileban találhatjuk a \textit{setup()} függvényt, amelyben beállíthatjuk a fő paramétereket, mint például a végrehajtható fájl(muso.exe) neve/elérési útvonala, az outputfile-ok elérési helye.
|
||||||
|
\subsubsection*{muso.R}
|
||||||
|
Itt olyan fügvények találhatók, mint a \textit{rungetMuso()}, valamint a \textit{spinupMuso()} és a \textit{normalMuso()}. Az előbbi bekéri a bemeneti paramétereket.
|
||||||
|
\subsubsection*{chagecontent.R}
|
||||||
|
Itt definiáltuk azt a függvényt( \textit{changemulline()}), ami alkalmas arra, hogy adott fájlnak, adott sorait, adott tartalmakra cserélje.
|
||||||
|
\subsubsection*{other\_usefull\_functions.R}
|
||||||
|
Két függvényt tartalmaz: \textit{getyearlycum()} és \textit{getyearlymax()} Az előbbi éves összegzést végez a megfelelő változóra vonatkozóan, az utóbbi pedig meghatározza az éves maximumértéket.
|
||||||
|
\subsubsection*{getOutput.R}
|
||||||
|
Ez a file felelős az output adadok beolvasásáért, a \textit{getdailyout()}, a \textit{getmonthlyout()} és a \textit{getyearlyout()} függvények nevüknek megfelelő formátum szerint adják vissza a kimeneti értékeket.
|
||||||
|
\section{Használat}
|
||||||
|
|
||||||
|
\subsubsection*{setup()}
|
||||||
|
A függvény, mely beállítja a környezetet a MuSo számára összesen 8 paramétert fogad el, ezek sorban: executable, parallel, calibrationpar, outputloc, inputloc, metinput, ininput, epcinput. Ezekből 11 elemű lista képződik, amit a rungetMuso igényel. Részletesebben:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{executable}: A muso/muso.exe file helye és neve.
|
||||||
|
\item \textbf{calibrationpar}: A kalibráláshoz kiválasztott változók sorszáma az epc file-ban.
|
||||||
|
\item \textbf{inputloc}: Az .ini file-ok helye.
|
||||||
|
\item \textbf{metinput}: A met. file-ok helye.
|
||||||
|
\item \textbf{epcinput}: Az epc file-ok helye.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Alapértelmezés szerint a végrehatjható fájl az ini, a met, és az epc fájlokkal megegyező helyen található.\\
|
||||||
|
\newline \newline
|
||||||
|
\textbf{Példa:}\\
|
||||||
|
settings=setup(executable = "executable", calibrationpar = c(,,,), inputloc = "inputloc", metimput = "metinput", ininput = "ininput", epcinput = "epcinput")
|
||||||
|
\subsubsection*{rungetMuso}
|
||||||
|
A rungetMuso az RMuso fő függvénye. 3 dolgot csinál: a felhasználó igényei alapján megváltoztatja a bemeneti paramétereket, futtatja spinup és normal módban a MuSo-t, kiírja a kimeneti fájlokat igény szerint. Elsődlegesen a képernyőre, de az könnyen átirányítható egy változóba. \par
|
||||||
|
|
||||||
|
Mindehhez az alábbi 3 bemenetre van szüksége:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{settings}: ez egy 11 elemű lista, amit akár a setup() függvénnyel is legenerálhatunk.
|
||||||
|
\item \textbf{parameters}: ez a változó tartalmazza az új értékeket.
|
||||||
|
\item \textbf{timee}: A változó tartalmazza, hogy az output milyen felbontásban érkezzen. 3 értéke lehet: "d"(napi) ,"m" (havi),"y" (évi). Az évi az alapértelmezett.
|
||||||
|
\end{itemize}
|
||||||
|
\newline \newline
|
||||||
|
\textbf{Példa:}\newline \newline
|
||||||
|
I. mód:\newline
|
||||||
|
settings<-setup(...)\\
|
||||||
|
rungetMuso(settings,parameters,timee="y")\\
|
||||||
|
II.mód:\newline
|
||||||
|
rungetMuso(setup(..),parameters,timee="y")
|
||||||
|
|
||||||
|
\end{document}
|
||||||
Binary file not shown.
BIN
RBBGCMuso.pdf
Normal file
BIN
RBBGCMuso.pdf
Normal file
Binary file not shown.
75
RBBGCMuso.tex
Normal file
75
RBBGCMuso.tex
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
\documentclass[12pt,a4paper]{article}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[magyar]{babel}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amsfonts}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
|
||||||
|
\frenchspacing
|
||||||
|
|
||||||
|
\title{Az RBBGCMuso csomag használata}
|
||||||
|
%\author{Hollós Roland}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
\section{A csomag alapfüggvényei}
|
||||||
|
|
||||||
|
Az R-muso csomag az alábbi fő függvényeket használja:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item muso.R
|
||||||
|
\item changecontent.R
|
||||||
|
\item setup.R
|
||||||
|
\item other\_usefull\_functions.R
|
||||||
|
\item getOutput.R
|
||||||
|
\end{itemize}
|
||||||
|
\section{Tartalmazott függvény-csoportok áttekintése}
|
||||||
|
\subsubsection*{setup.R}
|
||||||
|
Ebben az R fileban találhatjuk a \textit{setup()} függvényt, amelyben beállíthatjuk a fő paramétereket, mint például a végrehajtható fájl(muso.exe) neve/elérési útvonala, az outputfile-ok elérési helye.
|
||||||
|
\subsubsection*{muso.R}
|
||||||
|
Itt olyan fügvények találhatók, mint a \textit{rungetMuso()}, valamint a \textit{spinupMuso()} és a \textit{normalMuso()}. Az előbbi bekéri a bemeneti paramétereket.
|
||||||
|
\subsubsection*{chagecontent.R}
|
||||||
|
Itt definiáltuk azt a függvényt( \textit{changemulline()}), ami alkalmas arra, hogy adott fájlnak, adott sorait, adott tartalmakra cserélje.
|
||||||
|
\subsubsection*{other\_usefull\_functions.R}
|
||||||
|
Két függvényt tartalmaz: \textit{getyearlycum()} és \textit{getyearlymax()} Az előbbi éves összegzést végez a megfelelő változóra vonatkozóan, az utóbbi pedig meghatározza az éves maximumértéket.
|
||||||
|
\subsubsection*{getOutput.R}
|
||||||
|
Ez a file felelős az output adadok beolvasásáért, a \textit{getdailyout()}, a \textit{getmonthlyout()} és a \textit{getyearlyout()} függvények nevüknek megfelelő formátum szerint adják vissza a kimeneti értékeket.
|
||||||
|
\section{Használat}
|
||||||
|
|
||||||
|
\subsubsection*{setup()}
|
||||||
|
A függvény, mely beállítja a környezetet a MuSo számára összesen 8 paramétert fogad el, ezek sorban: executable, parallel, calibrationpar, outputloc, inputloc, metinput, ininput, epcinput. Ezekből 11 elemű lista képződik, amit a rungetMuso igényel. Részletesebben:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{executable}: A muso/muso.exe file helye és neve.
|
||||||
|
\item \textbf{calibrationpar}: A kalibráláshoz kiválasztott változók sorszáma az epc file-ban.
|
||||||
|
\item \textbf{inputloc}: Az .ini file-ok helye.
|
||||||
|
\item \textbf{metinput}: A met. file-ok helye.
|
||||||
|
\item \textbf{epcinput}: Az epc file-ok helye.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Alapértelmezés szerint a végrehatjható fájl az ini, a met, és az epc fájlokkal megegyező helyen található.\\
|
||||||
|
\newline \newline
|
||||||
|
\textbf{Példa:}\\
|
||||||
|
settings=setup(executable = "executable", calibrationpar = c(,,,), inputloc = "inputloc", metimput = "metinput", ininput = "ininput", epcinput = "epcinput")
|
||||||
|
\subsubsection*{rungetMuso}
|
||||||
|
A rungetMuso az RMuso fő függvénye. 3 dolgot csinál: a felhasználó igényei alapján megváltoztatja a bemeneti paramétereket, futtatja spinup és normal módban a MuSo-t, kiírja a kimeneti fájlokat igény szerint. Elsődlegesen a képernyőre, de az könnyen átirányítható egy változóba. \par
|
||||||
|
|
||||||
|
Mindehhez az alábbi 3 bemenetre van szüksége:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{settings}: ez egy 11 elemű lista, amit akár a setup() függvénnyel is legenerálhatunk.
|
||||||
|
\item \textbf{parameters}: ez a változó tartalmazza az új értékeket.
|
||||||
|
\item \textbf{timee}: A változó tartalmazza, hogy az output milyen felbontásban érkezzen. 3 értéke lehet: "d"(napi) ,"m" (havi),"y" (évi). Az évi az alapértelmezett.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\textbf{Példa:}\newline \newline
|
||||||
|
I. mód:\newline
|
||||||
|
settings<-setup(...)\\
|
||||||
|
rungetMuso(settings,parameters,timee="y")\\
|
||||||
|
II.mód:\newline
|
||||||
|
rungetMuso(setup(..),parameters,timee="y")
|
||||||
|
|
||||||
|
\end{document}
|
||||||
2
RBBGCMuso/.Rbuildignore
Normal file
2
RBBGCMuso/.Rbuildignore
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
^.*\.Rproj$
|
||||||
|
^\.Rproj\.user$
|
||||||
11
RBBGCMuso/DESCRIPTION
Normal file
11
RBBGCMuso/DESCRIPTION
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Package: RBBGCMuso
|
||||||
|
Title: What the Package Does (one line, title case)
|
||||||
|
Version: 0.1.7
|
||||||
|
Authors@R: person("Roland", "Hollos", , "hollorol@gmail.com", role = c("aut", "cre"))
|
||||||
|
Description: What the package does (one paragraph)
|
||||||
|
License: GPL-2
|
||||||
|
LazyData: true
|
||||||
|
NeedsCompilation: no
|
||||||
|
Packaged: 2016-11-15 13:58:04 UTC; hollorol
|
||||||
|
Author: First Last [aut, cre]
|
||||||
|
Maintainer: First Last <first.last@example.com>
|
||||||
1
RBBGCMuso/NAMESPACE
Normal file
1
RBBGCMuso/NAMESPACE
Normal file
@ -0,0 +1 @@
|
|||||||
|
exportPattern("^[^\\.]")
|
||||||
217
RBBGCMuso/R/#rungetmuso.R#
Normal file
217
RBBGCMuso/R/#rungetmuso.R#
Normal file
@ -0,0 +1,217 @@
|
|||||||
|
#' This runs the BBGC-MuSo model
|
||||||
|
#' @author Roland Hollós
|
||||||
|
#' @param filename Name of the initialisation files
|
||||||
|
#' @return No return, outputs are written to file
|
||||||
|
#' @usage The function works only, if ...
|
||||||
|
|
||||||
|
Linuxp <-(Sys.info()[1]=="Linux")
|
||||||
|
|
||||||
|
rungetMuso <- function(settings,parameters=NULL, timee="d", debugging=FALSE, logfilename=NULL, keepEpc=FALSE, export=FALSE, silent=FALSE, aggressive=FALSE){
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
############################spinup run############################
|
||||||
|
##########################################################
|
||||||
|
|
||||||
|
##Copy the variables from settings
|
||||||
|
inputloc <- settings$inputloc
|
||||||
|
executable <- settings$executable
|
||||||
|
ininput <- settings$ininput
|
||||||
|
epc <- settings$epcinput
|
||||||
|
calibrationpar <- settings$calibrationpar
|
||||||
|
|
||||||
|
|
||||||
|
##Sometimes a bug occure due to logfiles and controlfiles in the input loc directory
|
||||||
|
|
||||||
|
|
||||||
|
if(silent!=TRUE){
|
||||||
|
if(length(grep("(dayout$)|(log$)",list.files(inputloc)))>0){
|
||||||
|
cat(" \n \n WARMING: there is a log or dayout file nearby the ini files, that may cause problemes. \n \n If you want to avoid that possible problemes, please copy the log or dayout files into a save place, and after do a cleanupMuso(), or delete these manually, or run the rungetMuso(), with the agressive=TRUE parameter \n \n")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(aggressive==TRUE){
|
||||||
|
cleanupMuso()
|
||||||
|
}
|
||||||
|
|
||||||
|
##change the epc file if and only if there are given parameters
|
||||||
|
if(!is.null(parameters)){
|
||||||
|
changemulline(filename=epc[2],calibrationpar,parameters)
|
||||||
|
}
|
||||||
|
|
||||||
|
##We change the working directory becase of the model, but we want to avoid sideeffects, so we save the current location and after that we will change everything to it.
|
||||||
|
|
||||||
|
whereAmI<-getwd()
|
||||||
|
## Set the working directory to the inputloc temporary.
|
||||||
|
setwd(inputloc)
|
||||||
|
|
||||||
|
|
||||||
|
##Run the model for the spinup run.
|
||||||
|
|
||||||
|
if(silent){#silenc mode
|
||||||
|
if(Linuxp){
|
||||||
|
#In this case, in linux machines
|
||||||
|
system(paste(executable,ininput[1],"> /dev/null",sep=" "))
|
||||||
|
} else {
|
||||||
|
#In windows machines there is a show.output.on.console option
|
||||||
|
system(paste(executable,ininput[1],sep=" "),show.output.on.console = FALSE)
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
system(paste(executable,ininput[1],sep=" "))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logspinup<-list.files(inputloc)[grep("log$",list.files(inputloc))]#load the logfiles
|
||||||
|
if(length(logspinup)==0){
|
||||||
|
return("Modell Failure")#in that case the modell did not create even a logfile
|
||||||
|
}
|
||||||
|
|
||||||
|
spincrash<-tail(readLines(paste(inputloc,logspinup,sep=""),-1),1)==0 #If the last line in the logfile is 0 There are mistakes so the spinup crashes
|
||||||
|
|
||||||
|
if(!spincrash){##If spinup did not crashed, run the normal run.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
###########################normal run#########################
|
||||||
|
#################################################################
|
||||||
|
|
||||||
|
##for the sake of safe we set the location again
|
||||||
|
setwd(inputloc)
|
||||||
|
|
||||||
|
if(silent){
|
||||||
|
if(Linuxp){
|
||||||
|
system(paste(executable,ininput[2],"> /dev/null",sep=" "))
|
||||||
|
} else {
|
||||||
|
system(paste(executable,ininput[2],sep=" "),show.output.on.console = FALSE)
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
system(paste(executable,ininput[2],sep=" "))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
##read the output
|
||||||
|
|
||||||
|
switch(timee,
|
||||||
|
"d"=(Reva<-getdailyout(settings)),
|
||||||
|
"m"=(Reva<-getmonthlyout(settings)),
|
||||||
|
"y"=(Reva<-getyearlyout(settings))
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
logfiles <- list.files(inputloc)[grep("log$",list.files(inputloc))]#creating a vector for logfilenames
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
#############LOG SECTION#######################
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
perror<-as.numeric(as.vector(lapply(paste(inputloc,logfiles,sep=""),function(x) tail(readLines(x,-1),1)))) #vector of spinup and normalrun error
|
||||||
|
|
||||||
|
if((debugging=="stamplog")|(debugging==TRUE)){#If debugging option turned on
|
||||||
|
#If log or ERROR directory does not exists create it!
|
||||||
|
dirName<-paste(inputloc,"LOG",sep="")
|
||||||
|
dirERROR<-paste(inputloc,"ERROR",sep="")
|
||||||
|
|
||||||
|
if(!dir.exists(dirName)){
|
||||||
|
dir.create(dirName)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!dir.exists(dirERROR)){
|
||||||
|
dir.create(dirERROR)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
##if errorsign is 1 there is error, if it is 0 everything ok
|
||||||
|
if(length(perror)>sum(perror)){
|
||||||
|
errorsign <- 1
|
||||||
|
} else {
|
||||||
|
errorsign <- 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(keepEpc){#if keepepc option tured on
|
||||||
|
|
||||||
|
if(length(unique(dirname(epc)))>1){
|
||||||
|
print("Why are you playing with my nervs? Seriously? You hold your epc-s in different folders?")
|
||||||
|
} else {
|
||||||
|
epcdir <- dirname(epc[1])
|
||||||
|
|
||||||
|
WRONGEPC<-paste(inputloc,"WRONGEPC",sep="")
|
||||||
|
EPCS<-paste(inputloc,"EPCS",sep="")
|
||||||
|
|
||||||
|
if(!dir.exists(WRONGEPC)){
|
||||||
|
dir.create(WRONGEPC)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!dir.exists(EPCS)){
|
||||||
|
dir.create(EPCS)
|
||||||
|
}
|
||||||
|
|
||||||
|
epcfiles <- list.files(epcdir)[grep("epc$",list.files(epcdir))]
|
||||||
|
stampnum<-stamp(EPCS)
|
||||||
|
lapply(epcfiles,function (x) file.copy(from = paste(epcdir,"/",x,sep=""),to=paste(EPCS,"/",(stampnum+1),"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply(epcfiles,function (x) file.copy(from = paste(EPCS,"/",(stampnum+1),"-",x,sep=""), to=WRONGEPC))
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(debugging=="stamplog"){
|
||||||
|
stampnum<-stamp(dirName)
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName, "/",(stampnum+1),"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.copy(from=paste(dirName, "/",(stampnum+1),"-",x,sep=""), to=dirERROR ))}
|
||||||
|
|
||||||
|
} else { if(debugging){
|
||||||
|
if(is.null(logfilename)){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName,"/", x, sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(dirName,"/", x, sep=""), to=dirERROR))
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName, "/",logfilename,"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(dirName, "/",logfilename,"-",x,sep=""), to=dirERROR))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
cleanupMuso()
|
||||||
|
|
||||||
|
if(errorsign==1){
|
||||||
|
return("Modell Failure")
|
||||||
|
}
|
||||||
|
|
||||||
|
if(timee=="d"){
|
||||||
|
colnames(Reva) <- unlist(settings$outputvars[[1]])
|
||||||
|
} else {
|
||||||
|
if(timee=="y")
|
||||||
|
colnames(Reva) <- unlist(settings$outputvars[[2]])
|
||||||
|
}
|
||||||
|
|
||||||
|
if(export!=FALSE){
|
||||||
|
setwd(whereAmI)
|
||||||
|
|
||||||
|
## switch(fextension(export),
|
||||||
|
## "csv"=(write.csv(Reva,export)),
|
||||||
|
## "xlsx"=(),
|
||||||
|
## "odt"=
|
||||||
|
|
||||||
|
|
||||||
|
## )
|
||||||
|
|
||||||
|
|
||||||
|
} else{
|
||||||
|
setwd(whereAmI)
|
||||||
|
return(Reva)}
|
||||||
|
}
|
||||||
1
RBBGCMuso/R/.Rhistory
Normal file
1
RBBGCMuso/R/.Rhistory
Normal file
@ -0,0 +1 @@
|
|||||||
|
list.files()
|
||||||
30
RBBGCMuso/R/changcontent.R
Normal file
30
RBBGCMuso/R/changcontent.R
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#' This function calls the UNIX(-like) sed program to change specific line to other, using the row numbers.
|
||||||
|
#' @author Roland
|
||||||
|
#' @param The name of the file which is needed to be changed in some lines, the numbers of this lines(vector), and
|
||||||
|
#' the contents(vector).
|
||||||
|
#' @return void
|
||||||
|
|
||||||
|
|
||||||
|
changeSpecLine<-function(lineNumber,content,file){
|
||||||
|
TOT=readLines(file,-1)
|
||||||
|
TOT[lineNumber]<-content
|
||||||
|
writeLines(TOT,file)
|
||||||
|
}
|
||||||
|
|
||||||
|
changemulline <- function(filename,calibrationpar,contents){
|
||||||
|
#This is the function which is capable change multiple specific lines to other using their row numbers.
|
||||||
|
#The function uses the previous changspecline function to operate.
|
||||||
|
varnum <- length(calibrationpar)
|
||||||
|
if(length(contents)!=varnum)
|
||||||
|
{
|
||||||
|
cat("Error: number of the values is not the same as the number of the changed parameters")
|
||||||
|
}
|
||||||
|
|
||||||
|
TOT=readLines(filename,-1)
|
||||||
|
TOT[calibrationpar]<-contents
|
||||||
|
writeLines(TOT,filename)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
55
RBBGCMuso/R/cleanup.R
Normal file
55
RBBGCMuso/R/cleanup.R
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
cleanupMuso <- function(location=NULL,deep=FALSE){
|
||||||
|
|
||||||
|
whereAmI <- getwd()
|
||||||
|
if(!is.null(location)){
|
||||||
|
setwd(location)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(deep){
|
||||||
|
if(dir.exists("LOG")){
|
||||||
|
setwd("LOG")
|
||||||
|
file.remove(
|
||||||
|
grep("(out$)|(endpoint$)|(log$)",
|
||||||
|
list.files(), value = T)
|
||||||
|
)}
|
||||||
|
|
||||||
|
if(dir.exists("../ERROR")){
|
||||||
|
setwd("../ERROR")
|
||||||
|
|
||||||
|
file.remove(
|
||||||
|
grep("(out$)|(endpoint$)|(log$)",
|
||||||
|
list.files(), value = T)
|
||||||
|
)}
|
||||||
|
|
||||||
|
if(dir.exists("../EPCS")){
|
||||||
|
setwd("../EPCS")
|
||||||
|
|
||||||
|
file.remove(
|
||||||
|
grep("(out$)|(endpoint$)|(log$)|(epc$)",
|
||||||
|
list.files(), value = T)
|
||||||
|
)}
|
||||||
|
|
||||||
|
if(dir.exists("../WRONGEPC")){
|
||||||
|
setwd("../WRONGEPC")
|
||||||
|
|
||||||
|
file.remove(
|
||||||
|
grep("(out$)|(endpoint$)|(log$)|(epc$)",
|
||||||
|
list.files(), value = T)
|
||||||
|
)}
|
||||||
|
|
||||||
|
setwd("..")
|
||||||
|
file.remove(
|
||||||
|
grep("(out$)|(endpoint$)|(log$)",
|
||||||
|
list.files(), value = T)
|
||||||
|
)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
file.remove(
|
||||||
|
grep("(out$)|(endpoint$)|(log$)",
|
||||||
|
list.files(), value = T)
|
||||||
|
)
|
||||||
|
|
||||||
|
setwd(whereAmI)
|
||||||
|
|
||||||
|
}
|
||||||
39
RBBGCMuso/R/getOutput.R
Normal file
39
RBBGCMuso/R/getOutput.R
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
getthewholedata<-function(settings){
|
||||||
|
f1<-settings$ininput[2]
|
||||||
|
filename = paste(settings$inputloc,settings$outputname,"_ann.txt",sep="")
|
||||||
|
alloutput<-read.table(filename,skip=22, header = FALSE)
|
||||||
|
return(alloutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
getthespecdata<-function(settings,colnumbers){
|
||||||
|
filename<-paste(settings$inputloc,settings$outputname,"_ann.txt",sep="")
|
||||||
|
specoutput<-read.table(filename,skip=22, header = FALSE)[,colnumbers]
|
||||||
|
return(specoutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
getdailyout<-function(settings){
|
||||||
|
binaryname<-paste(settings$inputloc,settings$outputname,".dayout",sep="")
|
||||||
|
d<-file(binaryname,"rb")
|
||||||
|
dayoutput<-matrix(readBin(d,"double",size=4,n=(settings$numdata[1])),(settings$numyears*365),byrow=TRUE)
|
||||||
|
close(d)
|
||||||
|
return(dayoutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
getmonthlyout<-function(settings){
|
||||||
|
binaryname<-paste(settings$inputloc,settings$outputname,".monavgout",sep="")
|
||||||
|
d<-file(binaryname,"rb")
|
||||||
|
monoutput<-matrix(readBin(d,"double",size=4,n=(settings$numdata[2])),(settings$numyears*12),byrow=TRUE)
|
||||||
|
close(d)
|
||||||
|
return(monoutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
getyearlyout<-function(settings){
|
||||||
|
binaryname<-paste(settings$inputloc,settings$outputname,".annout",sep="")
|
||||||
|
d<-file(binaryname,"rb")
|
||||||
|
yearoutput<-matrix(readBin(d,"double",size=4,n=(settings$numdata[3])),(settings$numyears),byrow=TRUE)
|
||||||
|
close(d)
|
||||||
|
return(yearoutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
80
RBBGCMuso/R/musotime.R
Normal file
80
RBBGCMuso/R/musotime.R
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
|
||||||
|
isLeapyear <- function(year){
|
||||||
|
|
||||||
|
if(((year%%4==0)&(year%%100!=0))|(year%%400==0)){
|
||||||
|
return(TRUE)
|
||||||
|
} else {
|
||||||
|
return(FALSE)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dayOfMonths <- function(year){
|
||||||
|
|
||||||
|
dayMonths <- c(31,28,31,30,31,30,31,31,30,31,30,31)
|
||||||
|
|
||||||
|
if(isLeapyear(year)==TRUE){
|
||||||
|
dayMonths[2] <-29
|
||||||
|
}
|
||||||
|
|
||||||
|
return(dayMonths)
|
||||||
|
}
|
||||||
|
|
||||||
|
dayOfYears <- function(year){
|
||||||
|
|
||||||
|
if(isLeapyear(year)==TRUE){
|
||||||
|
return(366)
|
||||||
|
} else {
|
||||||
|
return(365)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
sumDaysOfPeriod <- function(year, periodlen){
|
||||||
|
years <- year:(year+periodlen)
|
||||||
|
years100 <-length(which(years%%100==0))
|
||||||
|
years400 <-length(which(years%%400==0))
|
||||||
|
years4 <- length(which(years%%4==0))
|
||||||
|
numberOfLeapdays <- years4-years100+years400
|
||||||
|
days <- periodlen*365+numberOfLeapdays
|
||||||
|
return(days)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
musoDate <- function(settings,timestep="d",combined=TRUE, corrigate=TRUE){
|
||||||
|
|
||||||
|
days <- sumDaysOfPeriod(settings$startyear,settings$numyears)
|
||||||
|
dates <- matrix(rep(NA,days*3),ncol=3)
|
||||||
|
dates[1,] <- c(settings$startyear,1,1)
|
||||||
|
|
||||||
|
for(i in 2:days){
|
||||||
|
dates[i,]<-dates[(i-1),]
|
||||||
|
if((dates[i-1,2]==12)&(dates[i-1,3]==31)){
|
||||||
|
dates[i,] <-c((dates[(i-1),1]+1),1,1)
|
||||||
|
} else {
|
||||||
|
if(dates[i-1,3]==(dayOfMonths(dates[(i-1),1])[dates[(i-1),2]] )){
|
||||||
|
dates[i,]<-c(dates[(i-1),1],(dates[(i-1),2]+1),1)
|
||||||
|
} else {
|
||||||
|
dates[i,3]<-dates[(i-1),3]+1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(corrigate==TRUE){
|
||||||
|
if(comined==TRUE){
|
||||||
|
dates <- apply(dates,1,function(x) paste(x,collapse="."))[1:(settings$numyears*365)]
|
||||||
|
return(dates)
|
||||||
|
}
|
||||||
|
|
||||||
|
dates<-dates[(1:(settings$numyears*365)),]
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(comined==TRUE){
|
||||||
|
dates <- apply(dates,1,function(x) paste(x,collapse="."))
|
||||||
|
return(dates)
|
||||||
|
}
|
||||||
|
|
||||||
|
return(dates)
|
||||||
|
|
||||||
|
}
|
||||||
79
RBBGCMuso/R/normalmuso.R
Normal file
79
RBBGCMuso/R/normalmuso.R
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
normalMuso<- function(settings,parameters=c(" ECOPHYS"),timee="d",debugging=FALSE,logfilename=NULL){
|
||||||
|
changemulline(settings,parameters)
|
||||||
|
|
||||||
|
inputloc<-settings$inputloc
|
||||||
|
executable<-settings$executable
|
||||||
|
ininput<-settings$ininput
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
setwd(inputloc)
|
||||||
|
#normal run
|
||||||
|
system(paste(executable,ininput[2],sep=" "))
|
||||||
|
|
||||||
|
switch(timee,
|
||||||
|
"d"=(Reva<-getdailyout(settings)),
|
||||||
|
"m"=(Reva<-getmonthlyout(settings)),
|
||||||
|
"y"=(Reva<-getyearlyout(settings))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
logfiles<-list.files(inputloc)[grep("log$",list.files(inputloc))]
|
||||||
|
|
||||||
|
#############LOG SECTION#######################
|
||||||
|
perror<-as.numeric(as.vector(lapply(paste(inputloc,logfiles,sep=""),function(x) tail(readLines(x,-1),1))))
|
||||||
|
dirName<-paste(inputloc,"/LOG",sep="")
|
||||||
|
dirERROR<-paste(inputloc,"/ERROR",sep="")
|
||||||
|
ERROR_EPC<-paste(inputloc,"/ERROR_EPC",sep="")
|
||||||
|
|
||||||
|
if(!dir.exists(dirName)){
|
||||||
|
dir.create(dirName)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!dir.exists(dirERROR)){
|
||||||
|
dir.create(dirERROR)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(length(perror)>sum(perror)){
|
||||||
|
errorsign <- 1
|
||||||
|
} else {
|
||||||
|
errorsign <- 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(debugging=="stamplog"){
|
||||||
|
stampnum<-stamp(dirName)
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName, "/",(stampnum+1),"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.copy(from=paste(dirName, "/",(stampnum+1),"-",x,sep=""), to=dirERROR ))}
|
||||||
|
|
||||||
|
} else { if(debugging){
|
||||||
|
if(is.null(logfilename)){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName,"/", x, sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(dirName,"/", x, sep=""), to=dirERROR))
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName, "/",logfilename,"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(dirName, "/",logfilename,"-",x,sep=""), to=dirERROR))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
cleanupMuso()
|
||||||
|
if(errorsign==1){
|
||||||
|
return("Modell Failure")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return(Reva)
|
||||||
|
|
||||||
|
}
|
||||||
53
RBBGCMuso/R/other_usefull_functions.R
Normal file
53
RBBGCMuso/R/other_usefull_functions.R
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
#' 'Funtion for getting cumulative yearly data from observations
|
||||||
|
#' @author Roland Hollós
|
||||||
|
#' @param A vector of the daily observations.
|
||||||
|
#' @return A vector of yearly data
|
||||||
|
|
||||||
|
|
||||||
|
getyearlycum<-function(daily_observations){
|
||||||
|
number_of_years<-length(daily_observations)/365
|
||||||
|
# daily_observations[is.na(daily_observations)]<-0 # 3+NA=NA
|
||||||
|
fr<-1
|
||||||
|
yearlycum<-rep(NA,number_of_years)
|
||||||
|
for(i in 1:number_of_years){
|
||||||
|
to<-i*365
|
||||||
|
yearlycum[i]<-sum(daily_observations[fr:to],na.rm = TRUE)
|
||||||
|
fr<-i*365+1
|
||||||
|
}
|
||||||
|
return(yearlycum)
|
||||||
|
}
|
||||||
|
|
||||||
|
#' 'Function for getting the maximum values of the years, from daily data
|
||||||
|
#' @author Roland Hollós
|
||||||
|
#' @param A vector of the daily observations
|
||||||
|
#' @return A vector of yearly data
|
||||||
|
|
||||||
|
getyearlymax<-function(daily_observations){
|
||||||
|
number_of_years<-length(daily_observations)/365
|
||||||
|
# daily_observations[is.na(daily_observations)]<-0 # 3+NA=NA
|
||||||
|
fr<-1
|
||||||
|
yearlycum<-rep(NA,number_of_years)
|
||||||
|
for(i in 1:number_of_years){
|
||||||
|
to<-i*365
|
||||||
|
yearlymax[i]<-max(daily_observations[fr:to],na.rm=TRUE)
|
||||||
|
fr<-i*365+1
|
||||||
|
}
|
||||||
|
return(yearlymax)
|
||||||
|
}
|
||||||
|
|
||||||
|
fextension <- function(x){
|
||||||
|
#this function gives back the given filenames extension
|
||||||
|
fextension <- tail(unlist(strsplit(x,"\\.")),1)
|
||||||
|
}
|
||||||
|
|
||||||
|
supportedMuso <- function(x="outputs"){
|
||||||
|
supportedFormats <- c("xls","xlsx","odt","csv","txt")
|
||||||
|
|
||||||
|
if(x=="outputs"){
|
||||||
|
#If you add new format supports, please expand the lists
|
||||||
|
return(supportedFormats)
|
||||||
|
}
|
||||||
|
if(x=="message"){
|
||||||
|
return(cat("Supported formats are ",supportedFormats,"If your fileformat is something else, we automaticle coerced it to csv.\n"))
|
||||||
|
}
|
||||||
|
}
|
||||||
5
RBBGCMuso/R/output_mapping.R
Normal file
5
RBBGCMuso/R/output_mapping.R
Normal file
File diff suppressed because one or more lines are too long
51
RBBGCMuso/R/plotMuso.R
Normal file
51
RBBGCMuso/R/plotMuso.R
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
plotMuso <- function(settings,
|
||||||
|
variable,
|
||||||
|
##compare,
|
||||||
|
##plotname,
|
||||||
|
parameters="ECOPHYS",
|
||||||
|
timee="d",
|
||||||
|
silent=TRUE,
|
||||||
|
debugging=FALSE,
|
||||||
|
keepEpc=FALSE,
|
||||||
|
logfilename=NULL,
|
||||||
|
export=FALSE){
|
||||||
|
|
||||||
|
|
||||||
|
musoData <- rungetMuso(settings=settings,
|
||||||
|
silent=silent,
|
||||||
|
timee=timee,
|
||||||
|
parameters=parameters,
|
||||||
|
debugging=debugging,
|
||||||
|
keepEpc=keepEpc,
|
||||||
|
logfilename=logfilename,
|
||||||
|
export=export)
|
||||||
|
|
||||||
|
xlab_muso<- switch(timee, "d"="days","y"="years","m"=months)
|
||||||
|
numVari <- ncol(musoData)
|
||||||
|
|
||||||
|
if(is.numeric(variable)){
|
||||||
|
if((variable>numVari)|(variable<1)){
|
||||||
|
return(print(paste("The variable parameter must be between 1 and ",numVari)))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
plot(musoData[,variable],pch=20,col = "dark blue",xlab=xlab_muso,ylab=colnames(musoData)[variable])
|
||||||
|
} else {
|
||||||
|
if(variable=="all"){
|
||||||
|
|
||||||
|
musoData <- rbind((1:ncol(musoData)),musoData) #creating the column indexes
|
||||||
|
par(mfrow = c(2,numVari/2))
|
||||||
|
|
||||||
|
apply(musoData, 2, function(x) plot(x[2:length(x)],pch=20,col="dark blue",xlab=xlab_muso,ylab = colnames(musoData)[x[1]]))
|
||||||
|
return(print("Everything was Ok. ;)"))
|
||||||
|
} else {
|
||||||
|
return(print("The variable option is the coloumn number of the output data-matrix, so it must be numeric, of if you want to plot the whole data matrix set it \"all\""))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
216
RBBGCMuso/R/rungetmuso.R
Normal file
216
RBBGCMuso/R/rungetmuso.R
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
#' This runs the BBGC-MuSo model
|
||||||
|
#' @author Roland Hollós
|
||||||
|
#' @param filename Name of the initialisation files
|
||||||
|
#' @return No return, outputs are written to file
|
||||||
|
#' @usage The function works only, if ...
|
||||||
|
|
||||||
|
Linuxp <-(Sys.info()[1]=="Linux")
|
||||||
|
|
||||||
|
rungetMuso <- function(settings,parameters=NULL, timee="d", debugging=FALSE, logfilename=NULL, keepEpc=FALSE, export=FALSE, silent=FALSE, aggressive=FALSE){
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
############################spinup run############################
|
||||||
|
##########################################################
|
||||||
|
|
||||||
|
##Copy the variables from settings
|
||||||
|
inputloc <- settings$inputloc
|
||||||
|
executable <- settings$executable
|
||||||
|
ininput <- settings$ininput
|
||||||
|
epc <- settings$epcinput
|
||||||
|
calibrationpar <- settings$calibrationpar
|
||||||
|
|
||||||
|
|
||||||
|
##Sometimes a bug occure due to logfiles and controlfiles in the input loc directory
|
||||||
|
##alma
|
||||||
|
|
||||||
|
if(silent!=TRUE){
|
||||||
|
if(length(grep("(dayout$)|(log$)",list.files(inputloc)))>0){
|
||||||
|
cat(" \n \n WARMING: there is a log or dayout file nearby the ini files, that may cause problemes. \n \n If you want to avoid that possible problemes, please copy the log or dayout files into a save place, and after do a cleanupMuso(), or delete these manually, or run the rungetMuso(), with the agressive=TRUE parameter \n \n")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(aggressive==TRUE){
|
||||||
|
cleanupMuso()
|
||||||
|
}
|
||||||
|
|
||||||
|
##change the epc file if and only if there are given parameters
|
||||||
|
if(!is.null(parameters)){
|
||||||
|
changemulline(filename=epc[2],calibrationpar,parameters)
|
||||||
|
}
|
||||||
|
|
||||||
|
##We change the working directory becase of the model, but we want to avoid sideeffects, so we save the current location and after that we will change everything to it.
|
||||||
|
|
||||||
|
whereAmI<-getwd()
|
||||||
|
## Set the working directory to the inputloc temporary.
|
||||||
|
setwd(inputloc)
|
||||||
|
|
||||||
|
|
||||||
|
##Run the model for the spinup run.
|
||||||
|
|
||||||
|
if(silent){#silenc mode
|
||||||
|
if(Linuxp){
|
||||||
|
#In this case, in linux machines
|
||||||
|
system(paste(executable,ininput[1],"> /dev/null",sep=" "))
|
||||||
|
} else {
|
||||||
|
#In windows machines there is a show.output.on.console option
|
||||||
|
system(paste(executable,ininput[1],sep=" "),show.output.on.console = FALSE)
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
system(paste(executable,ininput[1],sep=" "))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
logspinup<-list.files(inputloc)[grep("log$",list.files(inputloc))]#load the logfiles
|
||||||
|
if(length(logspinup)==0){
|
||||||
|
return("Modell Failure")#in that case the modell did not create even a logfile
|
||||||
|
}
|
||||||
|
|
||||||
|
spincrash<-tail(readLines(paste(inputloc,logspinup,sep=""),-1),1)==0 #If the last line in the logfile is 0 There are mistakes so the spinup crashes
|
||||||
|
|
||||||
|
if(!spincrash){##If spinup did not crashed, run the normal run.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
###########################normal run#########################
|
||||||
|
#################################################################
|
||||||
|
|
||||||
|
##for the sake of safe we set the location again
|
||||||
|
setwd(inputloc)
|
||||||
|
|
||||||
|
if(silent){
|
||||||
|
if(Linuxp){
|
||||||
|
system(paste(executable,ininput[2],"> /dev/null",sep=" "))
|
||||||
|
} else {
|
||||||
|
system(paste(executable,ininput[2],sep=" "),show.output.on.console = FALSE)
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
system(paste(executable,ininput[2],sep=" "))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
##read the output
|
||||||
|
|
||||||
|
switch(timee,
|
||||||
|
"d"=(Reva<-getdailyout(settings)),
|
||||||
|
"m"=(Reva<-getmonthlyout(settings)),
|
||||||
|
"y"=(Reva<-getyearlyout(settings))
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
logfiles <- list.files(inputloc)[grep("log$",list.files(inputloc))]#creating a vector for logfilenames
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
#############LOG SECTION#######################
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
perror<-as.numeric(as.vector(lapply(paste(inputloc,logfiles,sep=""),function(x) tail(readLines(x,-1),1)))) #vector of spinup and normalrun error
|
||||||
|
|
||||||
|
if((debugging=="stamplog")|(debugging==TRUE)){#If debugging option turned on
|
||||||
|
#If log or ERROR directory does not exists create it!
|
||||||
|
dirName<-paste(inputloc,"LOG",sep="")
|
||||||
|
dirERROR<-paste(inputloc,"ERROR",sep="")
|
||||||
|
|
||||||
|
if(!dir.exists(dirName)){
|
||||||
|
dir.create(dirName)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!dir.exists(dirERROR)){
|
||||||
|
dir.create(dirERROR)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
##if errorsign is 1 there is error, if it is 0 everything ok
|
||||||
|
if(length(perror)>sum(perror)){
|
||||||
|
errorsign <- 1
|
||||||
|
} else {
|
||||||
|
errorsign <- 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(keepEpc){#if keepepc option tured on
|
||||||
|
|
||||||
|
if(length(unique(dirname(epc)))>1){
|
||||||
|
print("Why are you playing with my nervs? Seriously? You hold your epc-s in different folders?")
|
||||||
|
} else {
|
||||||
|
epcdir <- dirname(epc[1])
|
||||||
|
|
||||||
|
WRONGEPC<-paste(inputloc,"WRONGEPC",sep="")
|
||||||
|
EPCS<-paste(inputloc,"EPCS",sep="")
|
||||||
|
|
||||||
|
if(!dir.exists(WRONGEPC)){
|
||||||
|
dir.create(WRONGEPC)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!dir.exists(EPCS)){
|
||||||
|
dir.create(EPCS)
|
||||||
|
}
|
||||||
|
|
||||||
|
epcfiles <- list.files(epcdir)[grep("epc$",list.files(epcdir))]
|
||||||
|
stampnum<-stamp(EPCS)
|
||||||
|
lapply(epcfiles,function (x) file.copy(from = paste(epcdir,"/",x,sep=""),to=paste(EPCS,"/",(stampnum+1),"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply(epcfiles,function (x) file.copy(from = paste(EPCS,"/",(stampnum+1),"-",x,sep=""), to=WRONGEPC))
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(debugging=="stamplog"){
|
||||||
|
stampnum<-stamp(dirName)
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName, "/",(stampnum+1),"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.copy(from=paste(dirName, "/",(stampnum+1),"-",x,sep=""), to=dirERROR ))}
|
||||||
|
|
||||||
|
} else { if(debugging){
|
||||||
|
if(is.null(logfilename)){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName,"/", x, sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(dirName,"/", x, sep=""), to=dirERROR))
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName, "/",logfilename,"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(dirName, "/",logfilename,"-",x,sep=""), to=dirERROR))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
cleanupMuso()
|
||||||
|
if(errorsign==1){
|
||||||
|
return("Modell Failure")
|
||||||
|
}
|
||||||
|
|
||||||
|
if(timee=="d"){
|
||||||
|
colnames(Reva) <- unlist(settings$outputvars[[1]])
|
||||||
|
} else {
|
||||||
|
if(timee=="y")
|
||||||
|
colnames(Reva) <- unlist(settings$outputvars[[2]])
|
||||||
|
}
|
||||||
|
|
||||||
|
if(export!=FALSE){
|
||||||
|
setwd(whereAmI)
|
||||||
|
|
||||||
|
## switch(fextension(export),
|
||||||
|
## "csv"=(write.csv(Reva,export)),
|
||||||
|
## "xlsx"=(),
|
||||||
|
## "odt"=
|
||||||
|
|
||||||
|
|
||||||
|
## )
|
||||||
|
|
||||||
|
|
||||||
|
} else{
|
||||||
|
setwd(whereAmI)
|
||||||
|
return(Reva)}
|
||||||
|
}
|
||||||
272
RBBGCMuso/R/setup.r
Normal file
272
RBBGCMuso/R/setup.r
Normal file
@ -0,0 +1,272 @@
|
|||||||
|
#' This runs the BBGC-MuSo model
|
||||||
|
#' @author Roland Hollós
|
||||||
|
#' @param calibrationpar vector with line numbers
|
||||||
|
#' @return No return, outputs are written to file
|
||||||
|
setup <- function(executable=NULL,
|
||||||
|
parallel = F,
|
||||||
|
calibrationpar =c(1),
|
||||||
|
outputloc=NULL,
|
||||||
|
inputloc=NULL,
|
||||||
|
metinput=NULL,
|
||||||
|
CO2input=NULL,
|
||||||
|
plantinput=NULL,
|
||||||
|
thininput=NULL,
|
||||||
|
mowinput=NULL,
|
||||||
|
grazinput=NULL,
|
||||||
|
harvinput=NULL,
|
||||||
|
plouginput=NULL,
|
||||||
|
fertinput=NULL,
|
||||||
|
irrinput=NULL,
|
||||||
|
nitinput=NULL,
|
||||||
|
ininput=NULL,
|
||||||
|
epcinput=NULL
|
||||||
|
){
|
||||||
|
|
||||||
|
Linuxp <-(Sys.info()[1]=="Linux")
|
||||||
|
|
||||||
|
if(is.null(inputloc)){
|
||||||
|
inputloc<- "./"
|
||||||
|
}
|
||||||
|
|
||||||
|
inp <- unlist(strsplit(inputloc,"")) #This is the charactervector of the given imput location
|
||||||
|
|
||||||
|
if(inp[length(inp)]!="/"){
|
||||||
|
inp<-c(inp,"/")
|
||||||
|
inputloc <- paste(inp,collapse = "")
|
||||||
|
rm(inp)
|
||||||
|
}# If inp not ends in / paste one at the end, then make a string, that will be the new inputloc
|
||||||
|
|
||||||
|
##Example: "a/b/c ==> a/b/c/"
|
||||||
|
|
||||||
|
if(is.null(outputloc)){
|
||||||
|
outputloc<-inputloc
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is.null(ininput)){
|
||||||
|
spinups<-grep("s.ini$",list.files(inputloc),value=TRUE)
|
||||||
|
normals<-grep("n.ini$",list.files(inputloc),value=TRUE)
|
||||||
|
|
||||||
|
if(length(spinups)==1){
|
||||||
|
ininput[1]<-paste(inputloc,spinups,sep="")
|
||||||
|
} else {return(print("There are multiple or no spinup files, please choose"))}
|
||||||
|
|
||||||
|
|
||||||
|
if(length(normals)==1){
|
||||||
|
ininput[2]<-paste(inputloc,normals,sep="")
|
||||||
|
} else {return(print("There are multiple or no normal files, please choose"))}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
##read the ini files for the further changes
|
||||||
|
|
||||||
|
inifiles<-lapply(ininput, function (x) readLines(x,-1))
|
||||||
|
|
||||||
|
if(is.null(epcinput)){
|
||||||
|
epcflag=TRUE
|
||||||
|
epcinput[1] <- unlist(strsplit(grep(" EPC file name",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
epcinput[2] <- unlist(strsplit(grep(" EPC file name",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep(" EPC file name",inifiles[[1]])]<-paste(epcinput[1],"\t EPC file name",sep="")
|
||||||
|
|
||||||
|
if(length(epcinput)==2){
|
||||||
|
inifiles[[2]][grep(" EPC file name",inifiles[[2]])]<-paste(epcinput[2],"\t EPC file name",sep="")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is.null(metinput)){
|
||||||
|
metflag=TRUE
|
||||||
|
metinput[1] <- unlist(strsplit(grep(" met file name",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
metinput[2] <- unlist(strsplit(grep(" met file name",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep(" met file name",inifiles[[1]])]<-paste(metinput[1],"\t met file name",sep="")
|
||||||
|
|
||||||
|
if(length(metinput)==2){
|
||||||
|
inifiles[[2]][grep(" met file name",inifiles[[2]])]<-paste(metinput[2],"\t EPC file name",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(CO2input)){
|
||||||
|
CO2flag=TRUE
|
||||||
|
CO2input[1] <- unlist(strsplit(grep(" CO2 file",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
CO2input[2] <- unlist(strsplit(grep(" CO2 file",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep(" CO2 file",inifiles[[1]])]<-paste(CO2input[1],"\t CO2 file",sep="")
|
||||||
|
|
||||||
|
if(length(CO2input)==2){
|
||||||
|
inifiles[[2]][grep(" CO2 file",inifiles[[2]])]<-paste(CO2input[2],"\t CO2 file",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(nitinput)){
|
||||||
|
nitflag=TRUE
|
||||||
|
nitinput[1] <- unlist(strsplit(grep("N-dep file",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
nitinput[2] <- unlist(strsplit(grep("N-dep file",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep("N-dep file",inifiles[[1]])]<-paste(nitinput[1],"N-dep file",sep="N-dep file")
|
||||||
|
|
||||||
|
if(length(epcinput)==2){
|
||||||
|
inifiles[[2]][grep("N-dep file",inifiles[[2]])]<-paste(nitinput[2],"N-dep file",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(thininput)){
|
||||||
|
thinflag=TRUE
|
||||||
|
thininput[1] <- unlist(strsplit(grep("do THINNING",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
thininput[2] <- unlist(strsplit(grep("do THINNING",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep("do THINNING",inifiles[[1]])]<-paste(thininput[1],"do THINNING",sep="")
|
||||||
|
|
||||||
|
if(length(thininput)==2){
|
||||||
|
inifiles[[2]][grep("do THINNING",inifiles[[2]])]<-paste(thininput[2],"do THINNING",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(plantinput)){
|
||||||
|
plantflag=TRUE
|
||||||
|
plantinput[1] <- unlist(strsplit(grep("do PLANTING",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
plantinput[2] <- unlist(strsplit(grep("do PLANTING",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep("do PLANTING",inifiles[[1]])]<-paste(plantinput[1],"do PLANTING",sep="")
|
||||||
|
|
||||||
|
if(length(plantinput)==2){
|
||||||
|
inifiles[[2]][grep("do PLANTING",inifiles[[2]])]<-paste(plantinput[2],"do PLANTING",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(mowinput)){
|
||||||
|
mowflag=TRUE
|
||||||
|
mowinput[1] <- unlist(strsplit(grep("do MOWING",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
mowinput[2] <- unlist(strsplit(grep("do MOWING",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep("do MOWING",inifiles[[1]])]<-paste(mowinput[1],"do MOWING",sep="")
|
||||||
|
|
||||||
|
if(length(mowinput)==2){
|
||||||
|
inifiles[[2]][grep("do MOWING",inifiles[[2]])]<-paste(mowinput[2],"do MOWING",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(grazinput)){
|
||||||
|
grazflag=TRUE
|
||||||
|
grazinput[1] <- unlist(strsplit(grep("do GRAZING",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
grazinput[2] <- unlist(strsplit(grep("do GRAZING",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep("do GRAZING",inifiles[[1]])]<-paste(grazinput[1],"do GRAZING",sep="")
|
||||||
|
|
||||||
|
if(length(grazinput)==2){
|
||||||
|
inifiles[[2]][grep("do GRAZING",inifiles[[2]])]<-paste(grazinput[2],"do GRAZING",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(harvinput)){
|
||||||
|
harvflag=TRUE
|
||||||
|
harvinput[1] <- unlist(strsplit(grep("do HARVESTING",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
harvinput[2] <- unlist(strsplit(grep("do HARVESTING",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep("do HARVESTING",inifiles[[1]])]<-paste(harvinput[1],"do HARVESTING",sep="")
|
||||||
|
|
||||||
|
if(length(harvinput)==2){
|
||||||
|
inifiles[[2]][grep("do HARVESTING",inifiles[[2]])]<-paste(harvinput[2],"do HARVESTING",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(plouginput)){
|
||||||
|
plougflag=TRUE
|
||||||
|
plouginput[1] <- unlist(strsplit(grep("do PLOUGHING",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
plouginput[2] <- unlist(strsplit(grep("do PLOUGHING",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep("do PLOUGHING",inifiles[[1]])]<-paste(plouginput[1],"do PLOUGHING",sep="")
|
||||||
|
|
||||||
|
if(length(plouginput)==2){
|
||||||
|
inifiles[[2]][grep("do PLOUGHING",inifiles[[2]])]<-paste(plouginput[2],"do PLOUGHING",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(fertinput)){
|
||||||
|
fertflag=TRUE
|
||||||
|
fertinput[1] <- unlist(strsplit(grep("do FERTILIZING",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
fertinput[2] <- unlist(strsplit(grep("do FERTILIZING",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep("do FERTILIZING",inifiles[[1]])]<-paste(fertinput[1],"do FERTILIZING",sep="")
|
||||||
|
|
||||||
|
if(length(fertinput)==2){
|
||||||
|
inifiles[[2]][grep("do FERTILIZING",inifiles[[2]])]<-paste(fertinput[2],"do FERTILIZING",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
if(is.null(irrinput)){
|
||||||
|
irrflag=TRUE
|
||||||
|
irrinput[1] <- unlist(strsplit(grep("do IRRIGATION",inifiles[[1]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
irrinput[2] <- unlist(strsplit(grep("do IRRIGATION",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
} else {
|
||||||
|
inifiles[[1]][grep("do IRRIGATION",inifiles[[1]])]<-paste(irrinput[1],"do IRRIGATION",sep="")
|
||||||
|
|
||||||
|
if(length(irrinput)==2){
|
||||||
|
inifiles[[2]][grep("do IRRIGATION",inifiles[[2]])]<-paste(irrinput[2],"do IRRIGATION",sep="")
|
||||||
|
}}
|
||||||
|
|
||||||
|
c<-grep("DAILY_OUTPUT",inifiles[[2]])+1
|
||||||
|
numVar<-as.numeric(unlist(strsplit(inifiles[[2]][c],"[\ \t]"))[1])
|
||||||
|
dailyVarCodes<-inifiles[[2]][(c+1):(c+numVar)]
|
||||||
|
dailyVarnames<-lapply(dailyVarCodes, function(x) musoMapping(unlist(strsplit(x,"[\ \t]"))[1]))
|
||||||
|
|
||||||
|
c<-grep("ANNUAL_OUTPUT",inifiles[[2]])+1
|
||||||
|
numVar<-as.numeric(unlist(strsplit(inifiles[[2]][c],"[\ \t]"))[1])
|
||||||
|
annualVarCodes<-inifiles[[2]][(c+1):(c+numVar)]
|
||||||
|
annualVarnames<-lapply(annualVarCodes, function(x) musoMapping(unlist(strsplit(x,"[\ \t]"))[1]))
|
||||||
|
outputvars<-list(dailyVarnames,annualVarnames)
|
||||||
|
|
||||||
|
|
||||||
|
if(is.null(executable)){
|
||||||
|
if(Linuxp){
|
||||||
|
executable<-paste(inputloc,"muso",sep="")
|
||||||
|
} else {
|
||||||
|
executable<-paste(inputloc,"muso.exe",sep="")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
file.copy(executable,inputloc)
|
||||||
|
if(Linuxp){
|
||||||
|
executable<-paste(inputloc,"muso",sep="")
|
||||||
|
} else {
|
||||||
|
executable<-paste(inputloc,"muso.exe",sep="")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
5+4
|
||||||
|
|
||||||
|
outputname <- unlist(strsplit(grep("prefix for output files",inifiles[[2]],value=TRUE),"[\ \t]"))[1]
|
||||||
|
## outputname<-unlist(read.table(ininput[2],skip=93,nrows = 1))[1]
|
||||||
|
inputfiles<-c(ininput,epcinput,metinput)
|
||||||
|
numdata<-rep(NA,3)
|
||||||
|
numyears <- as.numeric(unlist(strsplit(grep("simulation years",inifiles[[2]],value=TRUE),"[\ \t]"))[1])
|
||||||
|
## numyears<-unlist(read.table(ininput[2],skip = 14,nrows = 1)[1])
|
||||||
|
numvalues <- as.numeric(unlist(strsplit(grep("number of daily output variables",inifiles[[2]],value=TRUE),"[\ \t]"))[1])
|
||||||
|
## numvalues<-unlist(read.table(ininput[2],skip=102,nrows = 1)[1])
|
||||||
|
startyear <- as.numeric(unlist(strsplit(grep("first simulation year",inifiles[[2]],value=TRUE),"[\ \t]"))[1])
|
||||||
|
numdata[1]<-numyears*numvalues*365
|
||||||
|
numdata[2]<-numyears*numvalues*12
|
||||||
|
numdata[3]<-numyears*numvalues
|
||||||
|
|
||||||
|
settings = list(executable = executable,
|
||||||
|
calibrationpar = calibrationpar,
|
||||||
|
outputloc=outputloc,
|
||||||
|
outputnames=outputname,
|
||||||
|
inputloc=inputloc,
|
||||||
|
ininput=ininput,
|
||||||
|
metinput=metinput,
|
||||||
|
epcinput=epcinput,
|
||||||
|
thininput=thininput,
|
||||||
|
CO2input=CO2input,
|
||||||
|
mowinput=mowinput,
|
||||||
|
grazinput=grazinput,
|
||||||
|
harvinput=harvinput,
|
||||||
|
plouginput=plouginput,
|
||||||
|
fertinput=fertinput,
|
||||||
|
irrinput=irrinput,
|
||||||
|
nitinput=nitinput,
|
||||||
|
inputfiles=inputfiles,
|
||||||
|
numdata=numdata,
|
||||||
|
startyear=startyear,
|
||||||
|
numyears=numyears,
|
||||||
|
outputvars=outputvars
|
||||||
|
)
|
||||||
|
|
||||||
|
if(!(epcflag&CO2flag&nitflag&thinflag&plantflag&mowflag&grazflag&harvflag&plougflag&fertflag&irrflag)){
|
||||||
|
writeLines(inifiles[[1]],ininput[[1]])
|
||||||
|
if(epcinput[1]!=epcinput[2]){
|
||||||
|
writeLines(inifiles[[2]],ininput[[2]])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return(settings)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
1
RBBGCMuso/R/soilcalib.R
Normal file
1
RBBGCMuso/R/soilcalib.R
Normal file
@ -0,0 +1 @@
|
|||||||
|
soilMatrix <- function(numberOfLayers=)
|
||||||
119
RBBGCMuso/R/spinupmuso.R
Normal file
119
RBBGCMuso/R/spinupmuso.R
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
spinupMuso <- function(settings,parameters=NULL, timee="d", debugging=FALSE, logfilename=NULL, keepEpc=FALSE, silent=FALSE, aggressive=FALSE){
|
||||||
|
##Copy the variables from settings
|
||||||
|
inputloc <- settings$inputloc
|
||||||
|
executable <- settings$executable
|
||||||
|
ininput <- settings$ininput
|
||||||
|
epc <- settings$epcinput
|
||||||
|
calibrationpar <- settings$calibrationpar
|
||||||
|
|
||||||
|
##Sometimes a bug occure due to logfiles and controlfiles in the input loc directory
|
||||||
|
|
||||||
|
if(silent!=TRUE){
|
||||||
|
if(length(grep("(dayout$)|(log$)",list.files(inputloc)))>0){
|
||||||
|
cat(" \n \n WARMING: there is a log or dayout file nearby the ini files, that may cause problemes. \n \n If you want to avoid that possible problemes, please copy the log or dayout files into a save place, and after do a cleanupMuso(), or delete these manually, or run the rungetMuso(), with the agressive=TRUE parameter \n \n")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
##With the aggressive option every unneeded file will deleted
|
||||||
|
if(aggressive==TRUE){
|
||||||
|
cleanupMuso()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
##change the epc file if and only if there are given parameters
|
||||||
|
if(!is.null(parameters)){
|
||||||
|
changemulline(settings, parameters)
|
||||||
|
}
|
||||||
|
|
||||||
|
##We change the working directory becase of the model, but we want to avoid sideeffects, so we save the current location and after that we will change everything to it.
|
||||||
|
|
||||||
|
whereAmI<-getwd()
|
||||||
|
## Set the working directory to the inputloc temporary.
|
||||||
|
setwd(inputloc)
|
||||||
|
##Run the spinup
|
||||||
|
system(paste(executable,ininput[1],sep=" "))
|
||||||
|
|
||||||
|
logfiles<-list.files(inputloc)[grep("log$",list.files(inputloc))]
|
||||||
|
perror<-as.numeric(as.vector(lapply(paste(inputloc,logfiles,sep=""),function(x) tail(readLines(x,-1),1))))
|
||||||
|
dirName<-paste(inputloc,"/LOG",sep="")
|
||||||
|
dirERROR<-paste(inputloc,"/ERROR",sep="")
|
||||||
|
ERROR_EPC<-paste(inputloc,"/ERROR_EPC",sep="")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(!dir.exists(dirName)){
|
||||||
|
dir.create(dirName)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!dir.exists(dirERROR)){
|
||||||
|
dir.create(dirERROR)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(length(perror)>sum(perror)){
|
||||||
|
errorsign <- 1
|
||||||
|
} else {
|
||||||
|
errorsign <- 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(keepEpc){#if keepepc option tured on
|
||||||
|
|
||||||
|
if(length(unique(dirname(epc)))>1){
|
||||||
|
print("Why are you playing with my nervs? Seriously? You hold your epc-s in different folders?")
|
||||||
|
} else {
|
||||||
|
epcdir <- dirname(epc[1])
|
||||||
|
|
||||||
|
WRONGEPC<-paste(inputloc,"WRONGEPC",sep="")
|
||||||
|
EPCS<-paste(inputloc,"EPCS",sep="")
|
||||||
|
|
||||||
|
if(!dir.exists(WRONGEPC)){
|
||||||
|
dir.create(WRONGEPC)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!dir.exists(EPCS)){
|
||||||
|
dir.create(EPCS)
|
||||||
|
}
|
||||||
|
|
||||||
|
epcfiles <- list.files(epcdir)[grep("epc$",list.files(epcdir))]
|
||||||
|
stampnum<-stamp(EPCS)
|
||||||
|
lapply(epcfiles,function (x) file.copy(from = paste(epcdir,"/",x,sep=""),to=paste(EPCS,"/",(stampnum+1),"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply(epcfiles,function (x) file.copy(from = paste(EPCS,"/",(stampnum+1),"-",x,sep=""), to=WRONGEPC))
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(debugging=="stamplog"){
|
||||||
|
stampnum<-stamp(dirName)
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName, "/",(stampnum+1),"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.copy(from=paste(dirName, "/",(stampnum+1),"-",x,sep=""), to=dirERROR ))}
|
||||||
|
|
||||||
|
} else { if(debugging){
|
||||||
|
if(is.null(logfilename)){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName,"/", x, sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(dirName,"/", x, sep=""), to=dirERROR))
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(inputloc,x, sep=""), to=paste(dirName, "/",logfilename,"-",x,sep="")))
|
||||||
|
if(errorsign==1){
|
||||||
|
lapply( logfiles, function (x) file.rename(from=paste(dirName, "/",logfilename,"-",x,sep=""), to=dirERROR))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
cleanupMuso()
|
||||||
|
if(errorsign==1){
|
||||||
|
return("Modell Failure")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
17
RBBGCMuso/R/stamp.R
Normal file
17
RBBGCMuso/R/stamp.R
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
numcut<-function(string){
|
||||||
|
#This function returns only the starting numbers of a string
|
||||||
|
unlist(strsplit(grep("^[0-9]",string,value = TRUE),"[aAzZ-]"))[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
numcutall<-function(vector){
|
||||||
|
#numcall apply numcut for all elements of a string vector
|
||||||
|
as.numeric(unlist(apply(as.matrix(vector),1,numcut)))
|
||||||
|
}
|
||||||
|
|
||||||
|
stamp<-function(path="./"){
|
||||||
|
#It gives back a stamp wich is the maximum number of the output numcall
|
||||||
|
numbers<-numcutall(list.files(path))
|
||||||
|
if(length(numbers)==0){
|
||||||
|
return (0)} else {
|
||||||
|
return(max(numbers))}
|
||||||
|
}
|
||||||
16
RBBGCMuso/RBBGCMuso.Rproj
Normal file
16
RBBGCMuso/RBBGCMuso.Rproj
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Version: 1.0
|
||||||
|
|
||||||
|
RestoreWorkspace: Default
|
||||||
|
SaveWorkspace: Default
|
||||||
|
AlwaysSaveHistory: Default
|
||||||
|
|
||||||
|
EnableCodeIndexing: Yes
|
||||||
|
UseSpacesForTab: Yes
|
||||||
|
NumSpacesForTab: 2
|
||||||
|
Encoding: UTF-8
|
||||||
|
|
||||||
|
RnwWeave: Sweave
|
||||||
|
LaTeX: pdfLaTeX
|
||||||
|
|
||||||
|
BuildType: Package
|
||||||
|
PackageInstallArgs: --no-multiarch --with-keep.source
|
||||||
88
RBBGCMuso/forarcheologists
Normal file
88
RBBGCMuso/forarcheologists
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<TRASH FROM MUSO.R>
|
||||||
|
|
||||||
|
## runMuso <- function(settings, parameters=c(" ECOPHYS")){
|
||||||
|
## #changing section
|
||||||
|
## # for(i in changeinput){
|
||||||
|
## # changemulline(settings, parameters[[i]])
|
||||||
|
## # }
|
||||||
|
## changemulline(settings,parameters)
|
||||||
|
|
||||||
|
## #spinup run
|
||||||
|
## # changemulline(type=1,setup(), parameters[[2]])
|
||||||
|
## setwd(settings$inputloc)
|
||||||
|
## system(paste(settings$executable,settings$ininput[1],sep=" "))
|
||||||
|
## #normal run
|
||||||
|
## setwd(settings$inputloc)
|
||||||
|
## system(paste(settings$executable,settings$ininput[2],sep=" "))
|
||||||
|
## }
|
||||||
|
|
||||||
|
## rungetMusowc <- function(settings,parameters=c(" ECOPHYS"),timee="y",logfile=FALSE,logfilename=NULL){
|
||||||
|
## #spinup run
|
||||||
|
## # changemulline(type=1,setup(), parameters[[2]])
|
||||||
|
## changemulline(settings,parameters)
|
||||||
|
## setwd(settings$inputloc)
|
||||||
|
## system(paste(settings$executable,settings$ininput[1],sep=" "))
|
||||||
|
## #normal run
|
||||||
|
## setwd(settings$inputloc)
|
||||||
|
## system(paste(settings$executable,settings$ininput[2],sep=" "))
|
||||||
|
|
||||||
|
## switch(timee,
|
||||||
|
## "d"=(Reva<-getdailyout(settings)),
|
||||||
|
## "m"=(Reva<-getmonthlyout(settings)),
|
||||||
|
## "y"=(Reva<-getyearlyout(settings))
|
||||||
|
## )
|
||||||
|
## return(Reva)
|
||||||
|
## }
|
||||||
|
|
||||||
|
<TRASH FROM OTHER_USEFULL_FUNCTIONS.R>
|
||||||
|
|
||||||
|
##For this functions there is a built in dirname function in R, which do the same.
|
||||||
|
## splitstr <- function(string, sep){
|
||||||
|
## return(unlist(strsplit(string,sep)))
|
||||||
|
## }
|
||||||
|
|
||||||
|
## containerdir<-function(string){
|
||||||
|
## return(paste(splitstr(string,"/")[1:(length(splitstr(string,"/"))-1)],collapse = "/"))
|
||||||
|
##}
|
||||||
|
|
||||||
|
<TRASH FROM CHANGECONTENT.R>
|
||||||
|
|
||||||
|
## changspecline <- function(filename, line_number,content){
|
||||||
|
## #This function calls the UNIX(-like) sed program to change specific line to other, using the row numbers.
|
||||||
|
## for_command_line <- paste("sed -i '",line_number,"s/.*/",content,"/'"," ",filename, sep="")
|
||||||
|
## system(for_command_line)
|
||||||
|
## }
|
||||||
|
|
||||||
|
## changespecline<- function(filename,line_number,content){
|
||||||
|
## TOT=readLines(filename,-1)
|
||||||
|
## TOT[line_number]<-content
|
||||||
|
## writeLines(TOT,filename)
|
||||||
|
## }
|
||||||
|
|
||||||
|
## changemulline <- function(settings,contents){
|
||||||
|
## #This is the function which is capable change multiple specific lines to other using their row numbers.
|
||||||
|
## #The function uses the previous changspecline function to operate.
|
||||||
|
## varnum <- length(settings$calibrationpar)
|
||||||
|
## if(length(contents)!=varnum)
|
||||||
|
## {
|
||||||
|
## cat("Error: number of the values is not the same as the number of the changed parameters")
|
||||||
|
## }
|
||||||
|
|
||||||
|
## for(i in 1:varnum){
|
||||||
|
## changspecline(settings$epcinput,settings$calibrationpar[i], contents[i] )
|
||||||
|
## }
|
||||||
|
## }
|
||||||
|
|
||||||
|
## changmulline2 <- function(settings,contents){
|
||||||
|
## #This is the function which is capable change multiple specific lines to other using their row numbers.
|
||||||
|
## #The function uses the previous changspecline function to operate.
|
||||||
|
## varnum <- length(settings$calibrationpar)
|
||||||
|
## if(length(contents)!=varnum)
|
||||||
|
## {
|
||||||
|
## cat("Error: number of the values is not the same as the number of the changed parameters")
|
||||||
|
## }
|
||||||
|
|
||||||
|
## for(i in 1:varnum){
|
||||||
|
## changespecline(settings$epcinput,settings$calibrationpar[i], contents[i] )
|
||||||
|
## }
|
||||||
|
## }
|
||||||
23
RBBGCMuso/man/#setup.Rd#
Normal file
23
RBBGCMuso/man/#setup.Rd#
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
% Generated by roxygen2 (4.1.1): do not edit by hand
|
||||||
|
% Please edit documentation in R/setup.r
|
||||||
|
\name{setup}
|
||||||
|
\alias{setup}
|
||||||
|
\title{This runs the Muso model}
|
||||||
|
\usage{
|
||||||
|
setup(executable = NULL, parallel = F, calibrationpar = c(1),
|
||||||
|
outputloc = NULL, inputloc = NULL, metinput = NULL, ininput = NULL,
|
||||||
|
epcinput = NULL)
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{calibrationpar}{vector with line numbers}
|
||||||
|
}
|
||||||
|
\value{
|
||||||
|
No return, outputs are written to file
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
This runs the Muso model
|
||||||
|
}
|
||||||
|
\author{
|
||||||
|
Roland
|
||||||
|
}
|
||||||
|
|
||||||
22
RBBGCMuso/man/changspecline.Rd
Normal file
22
RBBGCMuso/man/changspecline.Rd
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
% Generated by roxygen2 (4.1.1): do not edit by hand
|
||||||
|
% Please edit documentation in R/changcontent.R
|
||||||
|
\name{changspecline}
|
||||||
|
\alias{changspecline}
|
||||||
|
\title{This function calls the UNIX(-like) sed program to change specific line to other, using the row numbers.}
|
||||||
|
\usage{
|
||||||
|
changspecline(filename, line_number, content)
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{The}{name of the file which is needed to be changed in some lines, the numbers of this lines(vector), and
|
||||||
|
the contents(vector).}
|
||||||
|
}
|
||||||
|
\value{
|
||||||
|
void
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
This function calls the UNIX(-like) sed program to change specific line to other, using the row numbers.
|
||||||
|
}
|
||||||
|
\author{
|
||||||
|
Roland
|
||||||
|
}
|
||||||
|
|
||||||
21
RBBGCMuso/man/getyearlycum.Rd
Normal file
21
RBBGCMuso/man/getyearlycum.Rd
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
% Generated by roxygen2 (4.1.1): do not edit by hand
|
||||||
|
% Please edit documentation in R/other_usefull_functions.R
|
||||||
|
\name{getyearlycum}
|
||||||
|
\alias{getyearlycum}
|
||||||
|
\title{'Funtion for getting cumulative yearly data from observations}
|
||||||
|
\usage{
|
||||||
|
getyearlycum(daily_observations)
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{A}{vector of the daily observations.}
|
||||||
|
}
|
||||||
|
\value{
|
||||||
|
A vector of yearly data
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
'Funtion for getting cumulative yearly data from observations
|
||||||
|
}
|
||||||
|
\author{
|
||||||
|
Roland Hollós
|
||||||
|
}
|
||||||
|
|
||||||
21
RBBGCMuso/man/getyearlymax.Rd
Normal file
21
RBBGCMuso/man/getyearlymax.Rd
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
% Generated by roxygen2 (4.1.1): do not edit by hand
|
||||||
|
% Please edit documentation in R/other_usefull_functions.R
|
||||||
|
\name{getyearlymax}
|
||||||
|
\alias{getyearlymax}
|
||||||
|
\title{'Function for getting the maximum values of the years, from daily data}
|
||||||
|
\usage{
|
||||||
|
getyearlymax(daily_observations)
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{A}{vector of the daily observations}
|
||||||
|
}
|
||||||
|
\value{
|
||||||
|
A vector of yearly data
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
'Function for getting the maximum values of the years, from daily data
|
||||||
|
}
|
||||||
|
\author{
|
||||||
|
Roland Hollós
|
||||||
|
}
|
||||||
|
|
||||||
21
RBBGCMuso/man/runMuso.Rd
Normal file
21
RBBGCMuso/man/runMuso.Rd
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
% Generated by roxygen2 (4.1.1): do not edit by hand
|
||||||
|
% Please edit documentation in R/muso.R
|
||||||
|
\name{runMuso}
|
||||||
|
\alias{runMuso}
|
||||||
|
\title{This runs the Muso model}
|
||||||
|
\usage{
|
||||||
|
The function works only, if ...
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{filename}{Name of the initialisation files}
|
||||||
|
}
|
||||||
|
\value{
|
||||||
|
No return, outputs are written to file
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
This runs the Muso model
|
||||||
|
}
|
||||||
|
\author{
|
||||||
|
Roland
|
||||||
|
}
|
||||||
|
|
||||||
23
RBBGCMuso/man/setup.Rd
Normal file
23
RBBGCMuso/man/setup.Rd
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
% Generated by roxygen2 (4.1.1): do not edit by hand
|
||||||
|
% Please edit documentation in R/setup.r
|
||||||
|
\name{setup}
|
||||||
|
\alias{setup}
|
||||||
|
\title{This runs the Muso model}
|
||||||
|
\usage{
|
||||||
|
setup(executable = NULL, parallel = F, calibrationpar = c(1),
|
||||||
|
outputloc = NULL, inputloc = NULL, metinput = NULL, ininput = NULL,
|
||||||
|
epcinput = NULL)
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{calibrationpar}{vector with line numbers}
|
||||||
|
}
|
||||||
|
\value{
|
||||||
|
No return, outputs are written to file
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
This runs the Muso model
|
||||||
|
}
|
||||||
|
\author{
|
||||||
|
Roland
|
||||||
|
}
|
||||||
|
|
||||||
BIN
RBBGCMuso_0.1.7.tar.gz
Normal file
BIN
RBBGCMuso_0.1.7.tar.gz
Normal file
Binary file not shown.
BIN
RBBGCMuso_0.1.7.tar.gz.bcg
Normal file
BIN
RBBGCMuso_0.1.7.tar.gz.bcg
Normal file
Binary file not shown.
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.1.tar.gz
Normal file
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.1.tar.gz
Normal file
Binary file not shown.
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.2.tar.gz
Normal file
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.2.tar.gz
Normal file
Binary file not shown.
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.3.tar.gz
Normal file
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.3.tar.gz
Normal file
Binary file not shown.
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.4.tar.gz
Normal file
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.4.tar.gz
Normal file
Binary file not shown.
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.5.tar.gz
Normal file
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.5.tar.gz
Normal file
Binary file not shown.
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.6.tar.gz
Normal file
BIN
RBBGCMuso_archive/RBBGCMuso_0.1.6.tar.gz
Normal file
Binary file not shown.
3
README
Normal file
3
README
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
README
|
||||||
|
|
||||||
|
This is one of the most important part of the package
|
||||||
7
RECOMENDATION
Normal file
7
RECOMENDATION
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
RECOMENDATIONS
|
||||||
|
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
Loading…
Reference in New Issue
Block a user