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  SebTsfc,
32  SebQsfc,
33  SebHfx,
34  SebLh,
35  SensFlux,
36  LatenFlux,
37  SurfPres,
54  ShocUStar,
55  ShocOlen,
86 };
87 
89 {
90  Geometry,
92  Radiation,
94  PBL,
100 };
101 
102 enum class MissingPolicy
103 {
107 };
108 
110 {
112  const char* name;
113  const char* long_name;
114  const char* units;
117 };
118 
119 const amrex::Vector<DiagnosticDescriptor>& diagnostic_catalog ();
120 
121 amrex::Vector<std::string> diagnostic_names ();
122 
123 const DiagnosticDescriptor* find_diagnostic (const std::string& name);
124 
125 // Runtime Noah-MP soil descriptors use the provider's actual configured layer
126 // count. Their IDs are unique within the returned runtime inventory.
127 amrex::Vector<std::string> dynamic_soil_diagnostic_names (int nsoil);
128 amrex::Vector<std::string>
129 dynamic_soil_diagnostic_names (const amrex::Vector<std::string>& active_lsm_names);
130 const DiagnosticDescriptor* find_dynamic_soil_diagnostic (const std::string& name);
131 bool is_dynamic_soil_diagnostic_name (const std::string& name);
132 
133 } // namespace plotfile2d
134 
135 #endif
std::string name
Definition: ERF_Plotfile2DCatalog.cpp:105
Definition: ERF.H:107
amrex::Vector< std::string > diagnostic_names()
Definition: ERF_Plotfile2DCatalog.cpp:160
amrex::Vector< std::string > dynamic_soil_diagnostic_names(int nsoil)
Definition: ERF_Plotfile2DCatalog.cpp:185
bool is_dynamic_soil_diagnostic_name(const std::string &name)
Definition: ERF_Plotfile2DCatalog.cpp:225
DiagnosticID
Definition: ERF_Plotfile2DCatalog.H:15
DiagnosticCategory
Definition: ERF_Plotfile2DCatalog.H:89
const amrex::Vector< DiagnosticDescriptor > & diagnostic_catalog()
Definition: ERF_Plotfile2DCatalog.cpp:154
MissingPolicy
Definition: ERF_Plotfile2DCatalog.H:103
const DiagnosticDescriptor * find_dynamic_soil_diagnostic(const std::string &name)
Definition: ERF_Plotfile2DCatalog.cpp:216
const DiagnosticDescriptor * find_diagnostic(const std::string &name)
Definition: ERF_Plotfile2DCatalog.cpp:173
Definition: ERF_Plotfile2DCatalog.H:110
DiagnosticID id
Definition: ERF_Plotfile2DCatalog.H:111
MissingPolicy missing_policy
Definition: ERF_Plotfile2DCatalog.H:116
const char * name
Definition: ERF_Plotfile2DCatalog.H:112
const char * units
Definition: ERF_Plotfile2DCatalog.H:114
DiagnosticCategory category
Definition: ERF_Plotfile2DCatalog.H:115
const char * long_name
Definition: ERF_Plotfile2DCatalog.H:113