diff --git a/src/soca/CMakeLists.txt b/src/soca/CMakeLists.txt index 465873077..7b586daa7 100644 --- a/src/soca/CMakeLists.txt +++ b/src/soca/CMakeLists.txt @@ -57,6 +57,7 @@ add_subdirectory(Increment) add_subdirectory(LinearVariableChange) add_subdirectory(Model) add_subdirectory(ModelBias) +add_subdirectory(ModelData) add_subdirectory(ObsLocalization) add_subdirectory(State) add_subdirectory(Utils) diff --git a/src/soca/ModelData/CMakeLists.txt b/src/soca/ModelData/CMakeLists.txt new file mode 100644 index 000000000..4170ad99d --- /dev/null +++ b/src/soca/ModelData/CMakeLists.txt @@ -0,0 +1,3 @@ +soca_target_sources( + ModelData.h +) \ No newline at end of file diff --git a/src/soca/ModelData/ModelData.h b/src/soca/ModelData/ModelData.h new file mode 100644 index 000000000..04e09f204 --- /dev/null +++ b/src/soca/ModelData/ModelData.h @@ -0,0 +1,37 @@ +/* + * (C) Copyright 2023-2023 UCAR + * + * This software is licensed under the terms of the Apache Licence Version 2.0 + * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + */ + +#pragma once + +#include +#include "eckit/config/LocalConfiguration.h" +#include "oops/util/Printable.h" + +namespace soca { + class Geometry; +} + +// ----------------------------------------------------------------------------- + +namespace soca { + +class ModelData : public util::Printable { + public: + static const std::string classname() {return "soca::ModelData";} + + explicit ModelData(const Geometry &) {} + ~ModelData() {} + + const eckit::LocalConfiguration modelData() const {return eckit::LocalConfiguration();} + + private: + void print(std::ostream & os) const {} +}; + +// ----------------------------------------------------------------------------- + +} // namespace soca diff --git a/src/soca/Traits.h b/src/soca/Traits.h index 4bd7858ad..32d0f4463 100644 --- a/src/soca/Traits.h +++ b/src/soca/Traits.h @@ -18,6 +18,7 @@ #include "soca/ModelBias/ModelBias.h" #include "soca/ModelBias/ModelBiasCovariance.h" #include "soca/ModelBias/ModelBiasIncrement.h" +#include "soca/ModelData/ModelData.h" #include "soca/State/State.h" #include "soca/VariableChange/VariableChange.h" @@ -45,6 +46,7 @@ struct Traits { typedef soca::LinearVariableChange LinearVariableChange; typedef soca::VariableChange VariableChange; + typedef soca::ModelData ModelData; }; } // namespace soca