FLEXPART Testing Environment CTBTO WO8
 All Classes Namespaces Files Functions Variables Pages
MetCase.py
Go to the documentation of this file.
1 # -*- coding: utf-8 -*-
2 """
3 Created on Wed Aug 12 00:25:32 2015
4 
5 @author: morton
6 Don Morton
7 Boreal Scientific Computing LLC, Fairbanks, Alaska, USA
8 Don.Morton@borealscicomp.com
9 
10 @contributors
11 Christian Maurer
12 Delia Arnold
13 ZAMG, Vienna, Austria
14 christian.maurer@zamg.ac.at
15 delia.arnold-arias@zamg.ac.at
16 
17 """
18 
19 import os
20 
21 import distrotest.BasicTest as BasicTest
22 import distrotest.RunCase as RunCase
23 
24 class MetCase(object):
25 
26 
27  """
28  MetCase.py - container that stores properties of a particular set of met data,
29  which may be used for one or more RunCases. Container includes
30  description, directory of met files, and a list of
31  RunCase objects to be applied.
32  """
33 
34  def __init__(self, descr=None, metfile_dir=None,
35  metnestfile_dir=None, run_case_list=None):
36 
37  """
38  descr : Description string
39  metfile_dir : directory where met files are located
40  run_case_list : (optional) List of RunCase objects. Defaults to empty.
41  metnestfile_dir : directory where possible nested met files are located
42  """
43 
44  if descr:
45  self._description = descr
46 
47  if metfile_dir:
48  if os.path.isdir(metfile_dir):
49  self._metfile_dir = metfile_dir
50  else:
51  raise Exception('Cannot find metfile_dir: ' + metfile_dir)
52  else:
53  raise Exception('metfile_dir not defined')
54 
55  if metnestfile_dir:
56  if os.path.isdir(metnestfile_dir):
57  self._metnestfile_dir = metnestfile_dir
58  else:
59  raise Exception('Cannot find a metnestfile_dir: ' + metnestfile_dir)
60  # Make sure all elements of test_list are indeed BasicTest objects
61  if run_case_list:
62  for the_case in run_case_list:
63  if not isinstance(the_case, (RunCase.RunCase)):
64  raise ValueError('item in run_case_list not a RunCase obj')
65  self._run_case_list = run_case_list
66  else:
67  self._run_case_list = []
68 
69 
70  def get_descr(self):
71  return self._description
72 
73  def get_metfile_dir(self):
74  return self._metfile_dir
75 
77  return self._metnestfile_dir
78 
79 
80  def get_run_case_list(self):
81  return self._run_case_list
82