ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_Plotfile2DCatalog.H
Go to the documentation of this file.
1 /**
2  * \file ERF_Plotfile2DCatalog.H
3  */
4 #ifndef ERF_PLOTFILE2DCATALOG_H_
5 #define ERF_PLOTFILE2DCATALOG_H_
6 
7 #include <string>
8 
9 #include <AMReX_Vector.H>
10 
11 namespace plotfile2d
12 {
13 
14 enum class DiagnosticID
15 {
16  ZSurf,
17  LandMask,
18  MapFac,
19  LatM,
20  LonM,
21  UStar,
22  WStar,
23  TStar,
24  QStar,
25  Olen,
26  Pblh,
27  TSurf,
28  QSurf,
29  Z0,
30  OLR,
31  SensFlux,
32  LatenFlux,
33  SurfPres,
50  ShocUStar,
51  ShocOlen,
82 };
83 
85 {
86  Geometry,
88  Radiation,
90  PBL,
96 };
97 
98 enum class MissingPolicy
99 {
103 };
104 
106 {
108  const char* name;
109  const char* long_name;
110  const char* units;
113 };
114 
115 const amrex::Vector<DiagnosticDescriptor>& diagnostic_catalog ();
116 
117 amrex::Vector<std::string> diagnostic_names ();
118 
119 const DiagnosticDescriptor* find_diagnostic (const std::string& name);
120 
121 // Runtime Noah-MP soil descriptors use the provider's actual configured layer
122 // count. Their IDs are unique within the returned runtime inventory.
123 amrex::Vector<std::string> dynamic_soil_diagnostic_names (int nsoil);
124 amrex::Vector<std::string>
125 dynamic_soil_diagnostic_names (const amrex::Vector<std::string>& active_lsm_names);
126 const DiagnosticDescriptor* find_dynamic_soil_diagnostic (const std::string& name);
127 bool is_dynamic_soil_diagnostic_name (const std::string& name);
128 
129 } // namespace plotfile2d
130 
131 #endif
std::string name
Definition: ERF_Plotfile2DCatalog.cpp:101
Definition: ERF_Plotfile2DCatalog.cpp:10
amrex::Vector< std::string > diagnostic_names()
Definition: ERF_Plotfile2DCatalog.cpp:156
amrex::Vector< std::string > dynamic_soil_diagnostic_names(int nsoil)
Definition: ERF_Plotfile2DCatalog.cpp:181
bool is_dynamic_soil_diagnostic_name(const std::string &name)
Definition: ERF_Plotfile2DCatalog.cpp:221
DiagnosticID
Definition: ERF_Plotfile2DCatalog.H:15
DiagnosticCategory
Definition: ERF_Plotfile2DCatalog.H:85
const amrex::Vector< DiagnosticDescriptor > & diagnostic_catalog()
Definition: ERF_Plotfile2DCatalog.cpp:150
MissingPolicy
Definition: ERF_Plotfile2DCatalog.H:99
const DiagnosticDescriptor * find_dynamic_soil_diagnostic(const std::string &name)
Definition: ERF_Plotfile2DCatalog.cpp:212
const DiagnosticDescriptor * find_diagnostic(const std::string &name)
Definition: ERF_Plotfile2DCatalog.cpp:169
Definition: ERF_Plotfile2DCatalog.H:106
DiagnosticID id
Definition: ERF_Plotfile2DCatalog.H:107
MissingPolicy missing_policy
Definition: ERF_Plotfile2DCatalog.H:112
const char * name
Definition: ERF_Plotfile2DCatalog.H:108
const char * units
Definition: ERF_Plotfile2DCatalog.H:110
DiagnosticCategory category
Definition: ERF_Plotfile2DCatalog.H:111
const char * long_name
Definition: ERF_Plotfile2DCatalog.H:109