Changeset 274f9ef in flex_extract.git for documentation/Sphinx/build/html/_modules/tools.html
- Timestamp:
- Oct 22, 2018, 11:44:47 AM (5 years ago)
- Branches:
- master, ctbto, dev
- Children:
- db27c09
- Parents:
- 708c667
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
documentation/Sphinx/build/html/_modules/tools.html
r708c667 r274f9ef 213 213 <span class="c1"># ------------------------------------------------------------------------------</span> 214 214 215 <div class="viewcode-block" id="none_or_str"><a class="viewcode-back" href="../ code.html#tools.none_or_str">[docs]</a><span class="k">def</span> <span class="nf">none_or_str</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>216 <span class="sd">''' </span>217 <span class="sd"> @Description:</span>218 <span class="sd"> Converts the input string into pythons None-type if the string</span> 219 <span class="sd"> contains "None".</span>220 221 <span class="sd"> @Input:</span>222 <span class="sd"> value: string</span>223 <span class="sd"> String to be checked for the "None" word.</span> 224 225 <span class="sd"> @Return:</span>226 <span class="sd"> 227 <span class="sd"> 228 <span class="sd"> 215 <div class="viewcode-block" id="none_or_str"><a class="viewcode-back" href="../api.html#tools.none_or_str">[docs]</a><span class="k">def</span> <span class="nf">none_or_str</span><span class="p">(</span><span class="n">value</span><span class="p">):</span> 216 <span class="sd">'''Converts the input string into pythons None-type if the string</span> 217 <span class="sd"> contains string "None".</span> 218 219 <span class="sd"> Parameters</span> 220 <span class="sd"> ----------</span> 221 <span class="sd"> value : :obj:`string`</span> 222 <span class="sd"> String to be checked for the "None" word.</span> 223 224 <span class="sd"> Return</span> 225 <span class="sd"> ------</span> 226 <span class="sd"> None or value:</span> 227 <span class="sd"> Return depends on the content of the input value. If it was "None",</span> 228 <span class="sd"> then the python type None is returned. Otherwise the string itself.</span> 229 229 <span class="sd"> '''</span> 230 230 <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s1">'None'</span><span class="p">:</span> … … 232 232 <span class="k">return</span> <span class="n">value</span></div> 233 233 234 <div class="viewcode-block" id="none_or_int"><a class="viewcode-back" href="../ code.html#tools.none_or_int">[docs]</a><span class="k">def</span> <span class="nf">none_or_int</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>235 <span class="sd">''' </span>236 <span class="sd"> @Description:</span>237 <span class="sd"> Converts the input string into pythons None-type if the string</span> 238 <span class="sd"> contains "None". Otherwise it is converted to an integer value.</span>239 240 <span class="sd"> @Input:</span>241 <span class="sd"> value: string</span>242 <span class="sd"> String to be checked for the "None" word.</span> 243 244 <span class="sd"> @Return:</span>245 <span class="sd"> 246 <span class="sd"> 247 <span class="sd"> 248 <span class="sd"> 234 <div class="viewcode-block" id="none_or_int"><a class="viewcode-back" href="../api.html#tools.none_or_int">[docs]</a><span class="k">def</span> <span class="nf">none_or_int</span><span class="p">(</span><span class="n">value</span><span class="p">):</span> 235 <span class="sd">'''Converts the input string into pythons None-type if the string</span> 236 <span class="sd"> contains string "None". Otherwise it is converted to an integer value.</span> 237 238 <span class="sd"> Parameters</span> 239 <span class="sd"> ----------</span> 240 <span class="sd"> value : :obj:`string`</span> 241 <span class="sd"> String to be checked for the "None" word.</span> 242 243 <span class="sd"> Return</span> 244 <span class="sd"> ------</span> 245 <span class="sd"> None or int(value):</span> 246 <span class="sd"> Return depends on the content of the input value. If it was "None",</span> 247 <span class="sd"> then the python type None is returned. Otherwise the string is</span> 248 <span class="sd"> converted into an integer value.</span> 249 249 <span class="sd"> '''</span> 250 250 <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s1">'None'</span><span class="p">:</span> … … 252 252 <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">)</span></div> 253 253 254 <div class="viewcode-block" id="get_cmdline_arguments"><a class="viewcode-back" href="../code.html#tools.get_cmdline_arguments">[docs]</a><span class="k">def</span> <span class="nf">get_cmdline_arguments</span><span class="p">():</span> 255 <span class="sd">'''</span> 256 <span class="sd"> @Description:</span> 257 <span class="sd"> Decomposes the command line arguments and assigns them to variables.</span> 258 <span class="sd"> Apply default values for non mentioned arguments.</span> 259 260 <span class="sd"> @Input:</span> 261 <span class="sd"> <nothing></span> 262 263 <span class="sd"> @Return:</span> 264 <span class="sd"> args: instance of ArgumentParser</span> 265 <span class="sd"> Contains the commandline arguments from script/program call.</span> 254 <div class="viewcode-block" id="get_cmdline_arguments"><a class="viewcode-back" href="../api.html#tools.get_cmdline_arguments">[docs]</a><span class="k">def</span> <span class="nf">get_cmdline_arguments</span><span class="p">():</span> 255 <span class="sd">'''Decomposes the command line arguments and assigns them to variables.</span> 256 <span class="sd"> Apply default values for non mentioned arguments.</span> 257 258 <span class="sd"> Parameters</span> 259 <span class="sd"> ----------</span> 260 261 <span class="sd"> Return</span> 262 <span class="sd"> ------</span> 263 <span class="sd"> args : :obj:`Namespace`</span> 264 <span class="sd"> Contains the commandline arguments from script/program call.</span> 266 265 <span class="sd"> '''</span> 267 266 … … 342 341 <span class="k">return</span> <span class="n">args</span></div> 343 342 344 <div class="viewcode-block" id="read_ecenv"><a class="viewcode-back" href="../ code.html#tools.read_ecenv">[docs]</a><span class="k">def</span> <span class="nf">read_ecenv</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>345 <span class="sd">''' </span>346 <span class="sd"> @Description:</span>347 <span class="sd"> Reads the file into a dictionary where the key values are the parameter</span> 348 <span class="sd"> names.</span>349 350 <span class="sd"> @Input:</span>351 <span class="sd"> filename: string</span>352 <span class="sd"> Path to file where the ECMWV environment parameters are stored.</span> 353 354 <span class="sd"> @Return:</span>355 <span class="sd"> envs: dict</span>356 <span class="sd"> 357 <span class="sd"> 343 <div class="viewcode-block" id="read_ecenv"><a class="viewcode-back" href="../api.html#tools.read_ecenv">[docs]</a><span class="k">def</span> <span class="nf">read_ecenv</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span> 344 <span class="sd">'''Reads the file into a dictionary where the key values are the parameter</span> 345 <span class="sd"> names.</span> 346 347 <span class="sd"> Parameters</span> 348 <span class="sd"> ----------</span> 349 <span class="sd"> filename : :obj:`string`</span> 350 <span class="sd"> Path to file where the ECMWF environment parameters are stored.</span> 351 352 <span class="sd"> Return</span> 353 <span class="sd"> ------</span> 354 <span class="sd"> envs : :obj:`dictionary`</span> 355 <span class="sd"> Contains the environment parameter ecuid, ecgid, gateway</span> 356 <span class="sd"> and destination for ECMWF server environments.</span> 358 357 <span class="sd"> '''</span> 359 358 <span class="n">envs</span><span class="o">=</span> <span class="p">{}</span> … … 366 365 <span class="k">return</span> <span class="n">envs</span></div> 367 366 368 <div class="viewcode-block" id="clean_up"><a class="viewcode-back" href="../code.html#tools.clean_up">[docs]</a><span class="k">def</span> <span class="nf">clean_up</span><span class="p">(</span><span class="n">c</span><span class="p">):</span> 369 <span class="sd">'''</span> 370 <span class="sd"> @Description:</span> 371 <span class="sd"> Remove all files from intermediate directory</span> 372 <span class="sd"> (inputdir from CONTROL file).</span> 373 374 <span class="sd"> @Input:</span> 375 <span class="sd"> c: instance of class ControlFile</span> 376 <span class="sd"> Contains all the parameters of CONTROL file and</span> 377 <span class="sd"> command line.</span> 378 <span class="sd"> For more information about format and content of the parameter</span> 379 <span class="sd"> see documentation.</span> 380 381 <span class="sd"> @Return:</span> 382 <span class="sd"> <nothing></span> 367 <div class="viewcode-block" id="clean_up"><a class="viewcode-back" href="../api.html#tools.clean_up">[docs]</a><span class="k">def</span> <span class="nf">clean_up</span><span class="p">(</span><span class="n">c</span><span class="p">):</span> 368 <span class="sd">'''Remove all files from intermediate directory (inputdir).</span> 369 370 <span class="sd"> Parameters</span> 371 <span class="sd"> ----------</span> 372 <span class="sd"> c : :obj:`ControlFile`</span> 373 <span class="sd"> Contains all the parameters of CONTROL file and</span> 374 <span class="sd"> command line.</span> 375 376 <span class="sd"> Return</span> 377 <span class="sd"> ------</span> 378 383 379 <span class="sd"> '''</span> 384 380 … … 397 393 398 394 399 <div class="viewcode-block" id="my_error"><a class="viewcode-back" href="../ code.html#tools.my_error">[docs]</a><span class="k">def</span> <span class="nf">my_error</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s1">'ERROR'</span><span class="p">):</span>400 <span class="sd">''' </span>401 <span class="sd"> @Description:</span>402 <span class="sd"> Prints a specified error message which can be passed to the function</span> 403 <span class="sd"> before exiting the program.</span>404 405 <span class="sd"> @Input:</span>406 <span class="sd"> user: list of strings</span>407 <span class="sd"> Contains all email addresses which should be notified.</span>408 <span class="sd"> It might also contain just the ecmwf user name which wil trigger</span>409 <span class="sd"> mailing to the associated email address for this user.</span> 410 411 <span class="sd"> message: string, optional</span>412 <span class="sd"> Error message. Default value is "ERROR".</span> 413 414 <span class="sd"> @Return:</span>415 <span class="sd"> <nothing></span> 395 <div class="viewcode-block" id="my_error"><a class="viewcode-back" href="../api.html#tools.my_error">[docs]</a><span class="k">def</span> <span class="nf">my_error</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s1">'ERROR'</span><span class="p">):</span> 396 <span class="sd">'''Prints a specified error message which can be passed to the function</span> 397 <span class="sd"> before exiting the program.</span> 398 399 <span class="sd"> Parameters</span> 400 <span class="sd"> ----------</span> 401 <span class="sd"> user : :obj:`list` of :obj:`string`</span> 402 <span class="sd"> Contains all email addresses which should be notified.</span> 403 <span class="sd"> It might also contain just the ecmwf user name which wil trigger</span> 404 <span class="sd"> mailing to the associated email address for this user.</span> 405 406 <span class="sd"> message : :obj:`string`, optional</span> 407 <span class="sd"> Error message. Default value is "ERROR".</span> 408 409 <span class="sd"> Return</span> 410 <span class="sd"> ------</span> 411 416 412 <span class="sd"> '''</span> 417 413 … … 443 439 444 440 445 <div class="viewcode-block" id="normal_exit"><a class="viewcode-back" href="../code.html#tools.normal_exit">[docs]</a><span class="k">def</span> <span class="nf">normal_exit</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s1">'Done!'</span><span class="p">):</span> 446 <span class="sd">'''</span> 447 <span class="sd"> @Description:</span> 448 <span class="sd"> Prints a specific exit message which can be passed to the function.</span> 449 450 <span class="sd"> @Input:</span> 451 <span class="sd"> user: list of strings</span> 452 <span class="sd"> Contains all email addresses which should be notified.</span> 453 <span class="sd"> It might also contain just the ecmwf user name which wil trigger</span> 454 <span class="sd"> mailing to the associated email address for this user.</span> 455 456 <span class="sd"> message: string, optional</span> 457 <span class="sd"> Message for exiting program. Default value is "Done!".</span> 458 459 <span class="sd"> @Return:</span> 460 <span class="sd"> <nothing></span> 441 <div class="viewcode-block" id="normal_exit"><a class="viewcode-back" href="../api.html#tools.normal_exit">[docs]</a><span class="k">def</span> <span class="nf">normal_exit</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s1">'Done!'</span><span class="p">):</span> 442 <span class="sd">'''Prints a specific exit message which can be passed to the function.</span> 443 444 <span class="sd"> Parameters</span> 445 <span class="sd"> ----------</span> 446 <span class="sd"> user : :obj:`list` of :obj:`string`</span> 447 <span class="sd"> Contains all email addresses which should be notified.</span> 448 <span class="sd"> It might also contain just the ecmwf user name which wil trigger</span> 449 <span class="sd"> mailing to the associated email address for this user.</span> 450 451 <span class="sd"> message : :obj:`string`, optional</span> 452 <span class="sd"> Message for exiting program. Default value is "Done!".</span> 453 454 <span class="sd"> Return</span> 455 <span class="sd"> ------</span> 461 456 462 457 <span class="sd"> '''</span> … … 485 480 486 481 487 <div class="viewcode-block" id="product"><a class="viewcode-back" href="../code.html#tools.product">[docs]</a><span class="k">def</span> <span class="nf">product</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwds</span><span class="p">):</span> 488 <span class="sd">'''</span> 489 <span class="sd"> @Description:</span> 490 <span class="sd"> This method is taken from an example at the ECMWF wiki website.</span> 491 <span class="sd"> https://software.ecmwf.int/wiki/display/GRIB/index.py; 2018-03-16</span> 492 493 <span class="sd"> This method combines the single characters of the passed arguments</span> 494 <span class="sd"> with each other. So that each character of each argument value</span> 495 <span class="sd"> will be combined with each character of the other arguments as a tuple.</span> 496 497 <span class="sd"> Example:</span> 498 <span class="sd"> product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy</span> 499 <span class="sd"> product(range(2), repeat = 3) --> 000 001 010 011 100 101 110 111</span> 500 501 <span class="sd"> @Input:</span> 502 <span class="sd"> *args: tuple</span> 503 <span class="sd"> Positional arguments (arbitrary number).</span> 504 505 <span class="sd"> **kwds: dictionary</span> 506 <span class="sd"> Contains all the keyword arguments from *args.</span> 507 508 <span class="sd"> @Return:</span> 509 <span class="sd"> prod: tuple</span> 510 <span class="sd"> Return will be done with "yield". A tuple of combined arguments.</span> 511 <span class="sd"> See example in description above.</span> 482 <div class="viewcode-block" id="product"><a class="viewcode-back" href="../api.html#tools.product">[docs]</a><span class="k">def</span> <span class="nf">product</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwds</span><span class="p">):</span> 483 <span class="sd">'''This method combines the single characters of the passed arguments</span> 484 <span class="sd"> with each other. So that each character of each argument value</span> 485 <span class="sd"> will be combined with each character of the other arguments as a tuple.</span> 486 487 <span class="sd"> Note</span> 488 <span class="sd"> ----</span> 489 <span class="sd"> This method is taken from an example at the ECMWF wiki website.</span> 490 <span class="sd"> https://software.ecmwf.int/wiki/display/GRIB/index.py; 2018-03-16</span> 491 492 <span class="sd"> Example</span> 493 <span class="sd"> -------</span> 494 <span class="sd"> product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy</span> 495 496 <span class="sd"> product(range(2), repeat = 3) --> 000 001 010 011 100 101 110 111</span> 497 498 <span class="sd"> Parameters</span> 499 <span class="sd"> ----------</span> 500 <span class="sd"> \*args : :obj:`tuple`</span> 501 <span class="sd"> Positional arguments (arbitrary number).</span> 502 503 <span class="sd"> \*\*kwds : :obj:`dictionary`</span> 504 <span class="sd"> Contains all the keyword arguments from \*args.</span> 505 506 <span class="sd"> Return</span> 507 <span class="sd"> ------</span> 508 <span class="sd"> prod : :obj:`tuple`</span> 509 <span class="sd"> Return will be done with "yield". A tuple of combined arguments.</span> 510 <span class="sd"> See example in description above.</span> 512 511 <span class="sd"> '''</span> 513 512 <span class="n">pools</span> <span class="o">=</span> <span class="nb">map</span><span class="p">(</span><span class="nb">tuple</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span> <span class="o">*</span> <span class="n">kwds</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'repeat'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> … … 521 520 522 521 523 <div class="viewcode-block" id="silent_remove"><a class="viewcode-back" href="../ code.html#tools.silent_remove">[docs]</a><span class="k">def</span> <span class="nf">silent_remove</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>524 <span class="sd">''' </span>525 <span class="sd"> @Description:</span>526 <span class="sd"> Remove file if it exists.</span> 527 <span class="sd"> The function does not fail if the file does not exist.</span>528 529 <span class="sd"> @Input:</span>530 <span class="sd"> filename: string</span>531 <span class="sd"> The name of the file to be removed without notification.</span> 532 533 <span class="sd"> @Return:</span>534 <span class="sd"> <nothing></span> 522 <div class="viewcode-block" id="silent_remove"><a class="viewcode-back" href="../api.html#tools.silent_remove">[docs]</a><span class="k">def</span> <span class="nf">silent_remove</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span> 523 <span class="sd">'''Remove file if it exists.</span> 524 <span class="sd"> The function does not fail if the file does not exist.</span> 525 526 <span class="sd"> Parameters</span> 527 <span class="sd"> ----------</span> 528 <span class="sd"> filename : :obj:`string`</span> 529 <span class="sd"> The name of the file to be removed without notification.</span> 530 531 <span class="sd"> Return</span> 532 <span class="sd"> ------</span> 533 535 534 <span class="sd"> '''</span> 536 535 <span class="k">try</span><span class="p">:</span> … … 544 543 545 544 546 <div class="viewcode-block" id="init128"><a class="viewcode-back" href="../ code.html#tools.init128">[docs]</a><span class="k">def</span> <span class="nf">init128</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>547 <span class="sd">''' </span>548 <span class="sd"> @Description:</span> 549 <span class="sd"> Opens and reads the grib file with table 128 information.</span>550 551 <span class="sd"> @Input:</span>552 <span class="sd"> filepath: string</span>553 <span class="sd"> Path to file of ECMWF grib table number 128.</span> 554 555 <span class="sd"> @Return:</span>556 <span class="sd"> table128: dictionary</span>557 <span class="sd"> 558 <span class="sd"> 559 <span class="sd"> 545 <div class="viewcode-block" id="init128"><a class="viewcode-back" href="../api.html#tools.init128">[docs]</a><span class="k">def</span> <span class="nf">init128</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span> 546 <span class="sd">'''Opens and reads the grib file with table 128 information.</span> 547 548 <span class="sd"> Parameters</span> 549 <span class="sd"> ----------</span> 550 <span class="sd"> filepath : :obj:`string`</span> 551 <span class="sd"> Path to file of ECMWF grib table number 128.</span> 552 553 <span class="sd"> Return</span> 554 <span class="sd"> ------</span> 555 <span class="sd"> table128 : :obj:`dictionary`</span> 556 <span class="sd"> Contains the ECMWF grib table 128 information.</span> 557 <span class="sd"> The key is the parameter number and the value is the</span> 558 <span class="sd"> short name of the parameter.</span> 560 559 <span class="sd"> '''</span> 561 560 <span class="n">table128</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span> … … 569 568 570 569 571 <div class="viewcode-block" id="to_param_id"><a class="viewcode-back" href="../code.html#tools.to_param_id">[docs]</a><span class="k">def</span> <span class="nf">to_param_id</span><span class="p">(</span><span class="n">pars</span><span class="p">,</span> <span class="n">table</span><span class="p">):</span> 572 <span class="sd">'''</span> 573 <span class="sd"> @Description:</span> 574 <span class="sd"> Transform parameter names to parameter ids</span> 575 <span class="sd"> with ECMWF grib table 128.</span> 576 577 <span class="sd"> @Input:</span> 578 <span class="sd"> pars: string</span> 579 <span class="sd"> Addpar argument from CONTROL file in the format of</span> 580 <span class="sd"> parameter names instead of ids. The parameter short</span> 581 <span class="sd"> names are sepearted with "/" and they are passed as</span> 582 <span class="sd"> one single string.</span> 583 584 <span class="sd"> table: dictionary</span> 585 <span class="sd"> Contains the ECMWF grib table 128 information.</span> 586 <span class="sd"> The key is the parameter number and the value is the</span> 587 <span class="sd"> short name of the parameter.</span> 588 589 <span class="sd"> @Return:</span> 590 <span class="sd"> ipar: list of integer</span> 591 <span class="sd"> List of addpar parameters from CONTROL file transformed to</span> 592 <span class="sd"> parameter ids in the format of integer.</span> 570 <div class="viewcode-block" id="to_param_id"><a class="viewcode-back" href="../api.html#tools.to_param_id">[docs]</a><span class="k">def</span> <span class="nf">to_param_id</span><span class="p">(</span><span class="n">pars</span><span class="p">,</span> <span class="n">table</span><span class="p">):</span> 571 <span class="sd">'''Transform parameter names to parameter ids with ECMWF grib table 128.</span> 572 573 <span class="sd"> Parameters</span> 574 <span class="sd"> ----------</span> 575 <span class="sd"> pars : :obj:`string`</span> 576 <span class="sd"> Addpar argument from CONTROL file in the format of</span> 577 <span class="sd"> parameter names instead of ids. The parameter short</span> 578 <span class="sd"> names are sepearted with "/" and they are passed as</span> 579 <span class="sd"> one single string.</span> 580 581 <span class="sd"> table : :obj:`dictionary`</span> 582 <span class="sd"> Contains the ECMWF grib table 128 information.</span> 583 <span class="sd"> The key is the parameter number and the value is the</span> 584 <span class="sd"> short name of the parameter.</span> 585 586 <span class="sd"> Return</span> 587 <span class="sd"> ------</span> 588 <span class="sd"> ipar : :obj:`list` of :obj:`integer`</span> 589 <span class="sd"> List of addpar parameters from CONTROL file transformed to</span> 590 <span class="sd"> parameter ids in the format of integer.</span> 593 591 <span class="sd"> '''</span> 594 592 <span class="n">cpar</span> <span class="o">=</span> <span class="n">pars</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'/'</span><span class="p">)</span> … … 604 602 <span class="k">return</span> <span class="n">ipar</span></div> 605 603 606 <div class="viewcode-block" id="get_list_as_string"><a class="viewcode-back" href="../ code.html#tools.get_list_as_string">[docs]</a><span class="k">def</span> <span class="nf">get_list_as_string</span><span class="p">(</span><span class="n">list_obj</span><span class="p">,</span> <span class="n">concatenate_sign</span><span class="o">=</span><span class="s1">', '</span><span class="p">):</span>607 <span class="sd">''' </span>608 <span class="sd"> @Description:</span> 609 <span class="sd"> Converts a list of arbitrary content into a single string.</span>610 611 <span class="sd"> @Input:</span>612 <span class="sd"> list_obj: list</span>613 <span class="sd"> A list with arbitrary content.</span> 614 615 <span class="sd"> concatenate_sign: string, optional</span>616 <span class="sd"> A string which is used to concatenate the single</span>617 <span class="sd"> list elements. Default value is ", ".</span> 618 619 <span class="sd"> @Return:</span>620 <span class="sd"> str_of_list: string</span>621 <span class="sd"> 604 <div class="viewcode-block" id="get_list_as_string"><a class="viewcode-back" href="../api.html#tools.get_list_as_string">[docs]</a><span class="k">def</span> <span class="nf">get_list_as_string</span><span class="p">(</span><span class="n">list_obj</span><span class="p">,</span> <span class="n">concatenate_sign</span><span class="o">=</span><span class="s1">', '</span><span class="p">):</span> 605 <span class="sd">'''Converts a list of arbitrary content into a single string.</span> 606 607 <span class="sd"> Parameters</span> 608 <span class="sd"> ----------</span> 609 <span class="sd"> list_obj : :obj:`list`</span> 610 <span class="sd"> A list with arbitrary content.</span> 611 612 <span class="sd"> concatenate_sign : :obj:`string`, optional</span> 613 <span class="sd"> A string which is used to concatenate the single</span> 614 <span class="sd"> list elements. Default value is ", ".</span> 615 616 <span class="sd"> Return</span> 617 <span class="sd"> ------</span> 618 <span class="sd"> str_of_list : :obj:`string`</span> 619 <span class="sd"> The content of the list as a single string.</span> 622 620 <span class="sd"> '''</span> 623 621 … … 626 624 <span class="k">return</span> <span class="n">str_of_list</span></div> 627 625 628 <div class="viewcode-block" id="make_dir"><a class="viewcode-back" href="../ code.html#tools.make_dir">[docs]</a><span class="k">def</span> <span class="nf">make_dir</span><span class="p">(</span><span class="n">directory</span><span class="p">):</span>629 <span class="sd">''' </span>630 <span class="sd"> @Description:</span>631 <span class="sd"> Creates a directory and gives a warning if the directory</span> 632 <span class="sd"> already exists. The program stops only if there is another problem.</span>633 634 <span class="sd"> @Input:</span>635 <span class="sd"> directory: string</span>636 <span class="sd"> The directory name including the path which should be created.</span> 637 638 <span class="sd"> @Return:</span>639 <span class="sd"> <nothing></span> 626 <div class="viewcode-block" id="make_dir"><a class="viewcode-back" href="../api.html#tools.make_dir">[docs]</a><span class="k">def</span> <span class="nf">make_dir</span><span class="p">(</span><span class="n">directory</span><span class="p">):</span> 627 <span class="sd">'''Creates a directory and gives a warning if the directory</span> 628 <span class="sd"> already exists. The program stops only if there is another problem.</span> 629 630 <span class="sd"> Parameters</span> 631 <span class="sd"> ----------</span> 632 <span class="sd"> directory : :obj:`string`</span> 633 <span class="sd"> The directory name including the path which should be created.</span> 634 635 <span class="sd"> Return</span> 636 <span class="sd"> ------</span> 637 640 638 <span class="sd"> '''</span> 641 639 <span class="k">try</span><span class="p">:</span> … … 650 648 <span class="k">return</span></div> 651 649 652 <div class="viewcode-block" id="put_file_to_ecserver"><a class="viewcode-back" href="../code.html#tools.put_file_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">put_file_to_ecserver</span><span class="p">(</span><span class="n">ecd</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span> <span class="n">target</span><span class="p">,</span> <span class="n">ecuid</span><span class="p">,</span> <span class="n">ecgid</span><span class="p">):</span> 653 <span class="sd">'''</span> 654 <span class="sd"> @Description:</span> 655 <span class="sd"> Uses the ecaccess-file-put command to send a file to the ECMWF servers.</span> 656 657 <span class="sd"> NOTE:</span> 658 <span class="sd"> The return value is just for testing reasons. It does not have</span> 659 <span class="sd"> to be used from the calling function since the whole error handling</span> 660 <span class="sd"> is done in here.</span> 661 662 <span class="sd"> @Input:</span> 663 <span class="sd"> ecd: string</span> 664 <span class="sd"> The path were the file is stored.</span> 665 666 <span class="sd"> filename: string</span> 667 <span class="sd"> The name of the file to send to the ECMWF server.</span> 668 669 <span class="sd"> target: string</span> 670 <span class="sd"> The target queue where the file should be sent to.</span> 671 672 <span class="sd"> ecuid: string</span> 673 <span class="sd"> The user id on ECMWF server.</span> 674 675 <span class="sd"> ecgid: string</span> 676 <span class="sd"> The group id on ECMWF server.</span> 677 678 <span class="sd"> @Return:</span> 679 <span class="sd"> rcode: string</span> 680 <span class="sd"> Resulting code of command execution. If successful the string</span> 681 <span class="sd"> will be empty.</span> 650 <div class="viewcode-block" id="put_file_to_ecserver"><a class="viewcode-back" href="../api.html#tools.put_file_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">put_file_to_ecserver</span><span class="p">(</span><span class="n">ecd</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span> <span class="n">target</span><span class="p">,</span> <span class="n">ecuid</span><span class="p">,</span> <span class="n">ecgid</span><span class="p">):</span> 651 <span class="sd">'''Uses the ecaccess-file-put command to send a file to the ECMWF servers.</span> 652 653 <span class="sd"> Note</span> 654 <span class="sd"> ----</span> 655 <span class="sd"> The return value is just for testing reasons. It does not have</span> 656 <span class="sd"> to be used from the calling function since the whole error handling</span> 657 <span class="sd"> is done in here.</span> 658 659 <span class="sd"> Parameters</span> 660 <span class="sd"> ----------</span> 661 <span class="sd"> ecd : :obj:`string`</span> 662 <span class="sd"> The path were the file is stored.</span> 663 664 <span class="sd"> filename : :obj:`string`</span> 665 <span class="sd"> The name of the file to send to the ECMWF server.</span> 666 667 <span class="sd"> target : :obj:`string`</span> 668 <span class="sd"> The target queue where the file should be sent to.</span> 669 670 <span class="sd"> ecuid : :obj:`string`</span> 671 <span class="sd"> The user id on ECMWF server.</span> 672 673 <span class="sd"> ecgid : :obj:`string`</span> 674 <span class="sd"> The group id on ECMWF server.</span> 675 676 <span class="sd"> Return</span> 677 <span class="sd"> ------</span> 678 <span class="sd"> rcode : :obj:`string`</span> 679 <span class="sd"> Resulting code of command execution. If successful the string</span> 680 <span class="sd"> will be empty.</span> 682 681 <span class="sd"> '''</span> 683 682 … … 698 697 <span class="k">return</span> <span class="n">rcode</span></div> 699 698 700 <div class="viewcode-block" id="submit_job_to_ecserver"><a class="viewcode-back" href="../code.html#tools.submit_job_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">submit_job_to_ecserver</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">jobname</span><span class="p">):</span> 701 <span class="sd">'''</span> 702 <span class="sd"> @Description:</span> 703 <span class="sd"> Uses ecaccess-job-submit command to submit a job to the ECMWF server.</span> 704 705 <span class="sd"> NOTE:</span> 706 <span class="sd"> The return value is just for testing reasons. It does not have</span> 707 <span class="sd"> to be used from the calling function since the whole error handling</span> 708 <span class="sd"> is done in here.</span> 709 710 <span class="sd"> @Input:</span> 711 <span class="sd"> target: string</span> 712 <span class="sd"> The target where the file should be sent to, e.g. the queue.</span> 713 714 <span class="sd"> jobname: string</span> 715 <span class="sd"> The name of the jobfile to be submitted to the ECMWF server.</span> 716 717 <span class="sd"> @Return:</span> 718 <span class="sd"> rcode: string</span> 719 <span class="sd"> Resulting code of command execution. If successful the string</span> 720 <span class="sd"> will contain an integer number, representing the id of the job</span> 721 <span class="sd"> at the ecmwf server.</span> 699 <div class="viewcode-block" id="submit_job_to_ecserver"><a class="viewcode-back" href="../api.html#tools.submit_job_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">submit_job_to_ecserver</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">jobname</span><span class="p">):</span> 700 <span class="sd">'''Uses ecaccess-job-submit command to submit a job to the ECMWF server.</span> 701 702 <span class="sd"> Note</span> 703 <span class="sd"> ----</span> 704 <span class="sd"> The return value is just for testing reasons. It does not have</span> 705 <span class="sd"> to be used from the calling function since the whole error handling</span> 706 <span class="sd"> is done in here.</span> 707 708 <span class="sd"> Parameters</span> 709 <span class="sd"> ----------</span> 710 <span class="sd"> target : :obj:`string`</span> 711 <span class="sd"> The target where the file should be sent to, e.g. the queue.</span> 712 713 <span class="sd"> jobname : :obj:`string`</span> 714 <span class="sd"> The name of the jobfile to be submitted to the ECMWF server.</span> 715 716 <span class="sd"> Return</span> 717 <span class="sd"> ------</span> 718 <span class="sd"> rcode : :obj:`string`</span> 719 <span class="sd"> Resulting code of command execution. If successful the string</span> 720 <span class="sd"> will contain an integer number, representing the id of the job</span> 721 <span class="sd"> at the ecmwf server.</span> 722 722 <span class="sd"> '''</span> 723 723
Note: See TracChangeset
for help on using the changeset viewer.