ehratm APIs
defaults.py
Go to the documentation of this file.
1 
2 
3 import datetime
4 import logging
5 import os
6 
7 import ehratm.syspaths
8 
9 class Defaults(object):
10 
11  def __init__(self):
12 
13 
14 
16 
17  self._LOG_LEVEL = logging.WARNING
18 
19 
20  #----------------------------------
21 
22  self._ECMWF_SFC_UNGRIB_PREFIX = 'ECMWF_SFC'
23  self._ECMWF_ML_UNGRIB_PREFIX = 'ECMWF_ML'
24 
25  # This value is forced by calc_ecmwf_p.exe - don't change it
27 
28  self._GFS_UNGRIB_PREFIX = 'GFS'
29 
31 
33 
34 
36 
37 
38  self._NUM_MPI_TASKS = 0 # 0 indicates serial, no MPI usage
39  self._MAX_MPI_TASKS = 16
40 
41  self._NUM_OPENMP_THREADS = 0 # 0 indicates serial, no OpenMP usage
43 
44 
45  # A couple of values for SRM production
46  self._SRM_MULTIPLIER = 1.0
47  self._SRM_COMPRESS = False
48 
49 
50 
53 
54  def log_level(self):
55  return self._LOG_LEVEL
56 
57 
58  def workflow_name(self):
59 
60  """
61  Return a name ehratmwf_YYYYMMDD_hhmmss.xxx
62  """
63 
64  return 'ehratmwf_' + \
65  datetime.datetime.utcnow().strftime('%Y%m%d_%H%M%S.%f')
66 
68  return self._ECMWF_SFC_UNGRIB_PREFIX
69 
71  return self._ECMWF_ML_UNGRIB_PREFIX
72 
74  return self._ECMWF_PRES_UNGRIB_PREFIX
75 
76  def gfs_ungrib_prefix(self):
77  return self._GFS_UNGRIB_PREFIX
78 
79  def max_grib_inputs(self):
80  return self._MAX_GRIB_INPUTS
81 
82  def wrf_spinup_hours(self):
83  return self._WRF_SPINUP_HOURS
84 
85  def max_dom_supported(self):
86  return self._MAX_DOM_SUPPORTED
87 
88  def num_mpi_tasks(self):
89  # Returns default number of MPI tasks
90  return self._NUM_MPI_TASKS
91 
92  def max_mpi_tasks(self):
93  return self._MAX_MPI_TASKS
94 
95  def num_openmp_threads(self):
96  # Returns default number of OpenMP threads
97  return self._NUM_OPENMP_THREADS
98 
99  def max_openmp_threads(self):
100  return self._MAX_OPENMP_THREADS
101 
102  def srm_multiplier(self):
103  return self._SRM_MULTIPLIER
104 
105  def srm_compress(self):
106  return self._SRM_COMPRESS
107 
108  #----------------------------------------------
109 
110  # These get their values by using methods in the ehratm.syspaths class
112  return self._SYSPATHS.wpswrf_distro_path()
113 
114  def wps_geog_data_dir(self):
115  return self._SYSPATHS.wps_geog_data_dir()
116 
118  return self._SYSPATHS.flexwrf_distro_path()
119 
121  return self._SYSPATHS.srm_flexpart2ctbt_path()
122 
123  def mpirun_path(self):
124  return self._SYSPATHS.mpirun_path()
125 
127  return self._SYSPATHS.working_scratch_rootdir()
128 
129  def workflow_rootdir(self):
130  return self._SYSPATHS.workflow_rootdir()
131 
132  def vtable_ecmwf_ml(self):
133  return self._SYSPATHS.vtable_ecmwf_ml()
134 
135  def vtable_ecmwf_sfc(self):
136  return self._SYSPATHS.vtable_ecmwf_sfc()
137 
138  def ecmwf_coeffs(self):
139  return self._SYSPATHS.ecmwf_coeffs()
140 
141  def ecmwf_metgrid_tbl(self):
142  return self._SYSPATHS.ecmwf_metgrid_tbl()
143  #-------------------------------------------------
ehratm.defaults.Defaults._ECMWF_ML_UNGRIB_PREFIX
_ECMWF_ML_UNGRIB_PREFIX
Definition: defaults.py:23
ehratm.defaults.Defaults.gfs_ungrib_prefix
def gfs_ungrib_prefix(self)
Definition: defaults.py:76
ehratm.defaults.Defaults.ecmwf_ml_ungrib_prefix
def ecmwf_ml_ungrib_prefix(self)
Definition: defaults.py:70
ehratm.defaults.Defaults.log_level
def log_level(self)
All default values "should" be available through the following methods.
Definition: defaults.py:54
ehratm.defaults.Defaults._ECMWF_SFC_UNGRIB_PREFIX
_ECMWF_SFC_UNGRIB_PREFIX
Definition: defaults.py:22
ehratm.defaults.Defaults.flexwrf_distro_path
def flexwrf_distro_path(self)
Definition: defaults.py:117
ehratm.defaults.Defaults._MAX_MPI_TASKS
_MAX_MPI_TASKS
Definition: defaults.py:39
ehratm.defaults.Defaults._LOG_LEVEL
_LOG_LEVEL
Definition: defaults.py:17
ehratm.defaults.Defaults.wps_geog_data_dir
def wps_geog_data_dir(self)
Definition: defaults.py:114
ehratm.defaults.Defaults._WRF_SPINUP_HOURS
_WRF_SPINUP_HOURS
Definition: defaults.py:32
ehratm.defaults.Defaults.srm_compress
def srm_compress(self)
Definition: defaults.py:105
ehratm.defaults.Defaults.workflow_rootdir
def workflow_rootdir(self)
Definition: defaults.py:129
ehratm.defaults.Defaults._NUM_OPENMP_THREADS
_NUM_OPENMP_THREADS
Definition: defaults.py:41
ehratm.defaults.Defaults.srm_multiplier
def srm_multiplier(self)
Definition: defaults.py:102
ehratm.syspaths
Definition: syspaths.py:1
ehratm.defaults.Defaults.wpswrf_distro_path
def wpswrf_distro_path(self)
Definition: defaults.py:111
ehratm.defaults.Defaults.ecmwf_sfc_ungrib_prefix
def ecmwf_sfc_ungrib_prefix(self)
Definition: defaults.py:67
ehratm.defaults.Defaults._MAX_DOM_SUPPORTED
_MAX_DOM_SUPPORTED
Definition: defaults.py:35
ehratm.defaults.Defaults.ecmwf_metgrid_tbl
def ecmwf_metgrid_tbl(self)
Definition: defaults.py:141
ehratm.defaults.Defaults.max_grib_inputs
def max_grib_inputs(self)
Definition: defaults.py:79
ehratm.defaults.Defaults
Definition: defaults.py:9
ehratm.defaults.Defaults._SRM_MULTIPLIER
_SRM_MULTIPLIER
Definition: defaults.py:46
ehratm.defaults.Defaults.max_mpi_tasks
def max_mpi_tasks(self)
Definition: defaults.py:92
ehratm.defaults.Defaults.workflow_name
def workflow_name(self)
Definition: defaults.py:58
ehratm.defaults.Defaults.__init__
def __init__(self)
Definition: defaults.py:11
ehratm.defaults.Defaults._ECMWF_PRES_UNGRIB_PREFIX
_ECMWF_PRES_UNGRIB_PREFIX
Definition: defaults.py:26
ehratm.defaults.Defaults.ecmwf_pres_ungrib_prefix
def ecmwf_pres_ungrib_prefix(self)
Definition: defaults.py:73
ehratm.defaults.Defaults._MAX_GRIB_INPUTS
_MAX_GRIB_INPUTS
Definition: defaults.py:30
ehratm.defaults.Defaults.mpirun_path
def mpirun_path(self)
Definition: defaults.py:123
ehratm.syspaths.SysSpecificPaths
Definition: syspaths.py:9
ehratm.defaults.Defaults._NUM_MPI_TASKS
_NUM_MPI_TASKS
Definition: defaults.py:38
ehratm.defaults.Defaults.max_dom_supported
def max_dom_supported(self)
Definition: defaults.py:85
ehratm.defaults.Defaults.num_openmp_threads
def num_openmp_threads(self)
Definition: defaults.py:95
ehratm.defaults.Defaults._SYSPATHS
_SYSPATHS
Definition: defaults.py:15
ehratm.defaults.Defaults.vtable_ecmwf_sfc
def vtable_ecmwf_sfc(self)
Definition: defaults.py:135
ehratm.defaults.Defaults._GFS_UNGRIB_PREFIX
_GFS_UNGRIB_PREFIX
Definition: defaults.py:28
ehratm.defaults.Defaults.srm_flexpart2ctbt_path
def srm_flexpart2ctbt_path(self)
Definition: defaults.py:120
ehratm.defaults.Defaults._SRM_COMPRESS
_SRM_COMPRESS
Definition: defaults.py:47
ehratm.defaults.Defaults.working_scratch_rootdir
def working_scratch_rootdir(self)
Definition: defaults.py:126
ehratm.defaults.Defaults.vtable_ecmwf_ml
def vtable_ecmwf_ml(self)
Definition: defaults.py:132
ehratm.defaults.Defaults.wrf_spinup_hours
def wrf_spinup_hours(self)
Definition: defaults.py:82
ehratm.defaults.Defaults.num_mpi_tasks
def num_mpi_tasks(self)
Definition: defaults.py:88
ehratm.defaults.Defaults.max_openmp_threads
def max_openmp_threads(self)
Definition: defaults.py:99
ehratm.defaults.Defaults.ecmwf_coeffs
def ecmwf_coeffs(self)
Definition: defaults.py:138
ehratm.defaults.Defaults._MAX_OPENMP_THREADS
_MAX_OPENMP_THREADS
Definition: defaults.py:42