UFO
Cal_PressureFromHeight.h
Go to the documentation of this file.
1 /*
2  * (C) Crown copyright 2020, Met Office
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef UFO_VARIABLETRANSFORMS_CAL_PRESSUREFROMHEIGHT_H_
9 #define UFO_VARIABLETRANSFORMS_CAL_PRESSUREFROMHEIGHT_H_
10 
11 #include <memory>
12 #include <ostream>
13 #include <string>
14 #include <vector>
15 
16 #include "oops/util/ObjectCounter.h"
18 
19 namespace ufo {
20 
21 /*!
22 * \brief Derive Pressure from height for vertical profile (e.g. sonde report)
23 *
24 * \details This is especially need for radiosonde using a 3 09 055 bufr
25 * template.
26 * To date there is only the UKMO formulation available.
27 *
28 * See VariableTransformsParameters for filter setup.
29 */
31  public:
33  const ObsFilterData &data,
34  const std::shared_ptr<ioda::ObsDataVector<int>> &flags);
35  // Run variable conversion
36  void runTransform(const std::vector<bool> &apply) override;
37 
38  private:
39  // list of specific implementation(s) - This is controlled by "method"
40  void methodUKMO(const std::vector<bool> &apply);
41 };
42 
43 /*!
44 * \brief Converts heights to pressures using the ICAO atmosphere.
45 *
46 * \details To date there is only the UKMO formulation available.
47 *
48 * See VariableTransformsParameters for filter setup.
49 */
51  public:
53  const ObsFilterData &data,
54  const std::shared_ptr<ioda::ObsDataVector<int>> &flags);
55  // Run check
56  void runTransform(const std::vector<bool> &apply) override;
57 
58  private:
59  // list of specific implementation(s) - This is controled by "method"
60  void methodUKMO(const std::vector<bool> &apply);
61 };
62 } // namespace ufo
63 
64 #endif // UFO_VARIABLETRANSFORMS_CAL_PRESSUREFROMHEIGHT_H_
Converts heights to pressures using the ICAO atmosphere.
void methodUKMO(const std::vector< bool > &apply)
void runTransform(const std::vector< bool > &apply) override
Run variable conversion.
Cal_PressureFromHeightForICAO(const VariableTransformsParameters &options, const ObsFilterData &data, const std::shared_ptr< ioda::ObsDataVector< int >> &flags)
Derive Pressure from height for vertical profile (e.g.
void runTransform(const std::vector< bool > &apply) override
Run variable conversion.
Cal_PressureFromHeightForProfile(const VariableTransformsParameters &options, const ObsFilterData &data, const std::shared_ptr< ioda::ObsDataVector< int >> &flags)
void methodUKMO(const std::vector< bool > &apply)
ObsFilterData provides access to all data related to an ObsFilter.
Base class for variable conversion.
Definition: TransformBase.h:53
Options controlling the operation of the variablestansform filter.
Definition: RunCRTM.h:27