-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add 3DVar and error covariance toolbox (dirac test) main programs.
- Loading branch information
Showing
13 changed files
with
325 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* | ||
* (C) British Crown Copyright 2024 MetOffice | ||
* | ||
* 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. | ||
*/ | ||
|
||
#include "atlas/library/Library.h" | ||
#include "oops/generic/instantiateModelFactory.h" | ||
|
||
#include "oops/runs/Run.h" | ||
#include "oops/runs/Variational.h" | ||
#include "saber/oops/instantiateCovarFactory.h" | ||
|
||
#include "ufo/ObsTraits.h" | ||
#include "ufo/instantiateObsFilterFactory.h" | ||
#if defined(NEMO_FEEDBACK_EXISTS) | ||
#include "nemo-feedback/instantiateObsFilterFactory.h" | ||
#endif | ||
|
||
#include "orca-jedi/utilities/OrcaModelTraits.h" | ||
|
||
int main(int argc, char ** argv) { | ||
oops::Run run(argc, argv); | ||
oops::instantiateModelFactory<orcamodel::OrcaModelTraits>(); | ||
atlas::Library::instance().initialise(); | ||
saber::instantiateCovarFactory<orcamodel::OrcaModelTraits>(); | ||
ufo::instantiateObsFilterFactory(); | ||
#if defined(NEMO_FEEDBACK_EXISTS) | ||
nemo_feedback::instantiateObsFilterFactory<ufo::ObsTraits>(); | ||
#endif | ||
oops::Variational<orcamodel::OrcaModelTraits , ufo::ObsTraits> var; | ||
int i = run.execute(var); | ||
atlas::Library::instance().finalise(); | ||
return i; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* | ||
* (C) British Crown Copyright 2024 MetOffice | ||
* | ||
* 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. | ||
*/ | ||
|
||
#include "atlas/library/Library.h" | ||
|
||
#include "saber/oops/ErrorCovarianceToolbox.h" | ||
#include "saber/oops/instantiateCovarFactory.h" | ||
|
||
#include "oops/runs/Run.h" | ||
#include "orca-jedi/utilities/OrcaModelTraits.h" | ||
|
||
int main(int argc, char ** argv) { | ||
oops::Run run(argc, argv); | ||
atlas::Library::instance().initialise(); | ||
saber::instantiateCovarFactory<orcamodel::OrcaModelTraits>(); | ||
|
||
saber::ErrorCovarianceToolbox<orcamodel::OrcaModelTraits> var; | ||
int i = run.execute(var); | ||
atlas::Library::instance().finalise(); | ||
return i; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
/* | ||
* (C) Crown Copyright 2023 Met Office. | ||
* | ||
* 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. | ||
*/ | ||
|
||
|
||
#include <ostream> | ||
|
||
#include "orca-jedi/utilities/ModelData.h" | ||
|
||
|
||
namespace orcamodel { | ||
|
||
|
||
const eckit::LocalConfiguration ModelData::modelData() const { | ||
eckit::LocalConfiguration model_data; | ||
|
||
// | ||
// retrieve data that need to be shared with other system components | ||
// and stored them into the data structure 'model_data' | ||
// | ||
|
||
return model_data; | ||
} | ||
|
||
|
||
void ModelData::print(std::ostream & os) const { | ||
os << "orcamodel::ModelData::ModelData(): " << modelData(); | ||
} | ||
|
||
|
||
} // namespace orcamodel | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
/* | ||
* (C) Crown Copyright 2023 Met Office. | ||
* | ||
* 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 <ostream> | ||
#include <string> | ||
|
||
#include "eckit/config/LocalConfiguration.h" | ||
|
||
#include "oops/util/Printable.h" | ||
|
||
#include "orca-jedi/geometry/Geometry.h" | ||
|
||
|
||
namespace orcamodel { | ||
|
||
class Geometry; | ||
|
||
|
||
class ModelData : public util::Printable { | ||
public: | ||
explicit ModelData(const Geometry &) {} | ||
~ModelData() {} | ||
|
||
static const std::string classname() {return "orcamodel::ModelData";} | ||
|
||
const eckit::LocalConfiguration modelData() const; | ||
|
||
private: | ||
void print(std::ostream &) const override; | ||
}; | ||
|
||
|
||
} // namespace orcamodel |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
/* | ||
* (C) British Crown Copyright 2021 Met Office | ||
* | ||
* 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. | ||
*/ | ||
|
||
#include <string> | ||
|
||
#include "eckit/exception/Exceptions.h" | ||
|
||
#include "orca-jedi/variablechanges/LinearVariableChange.h" | ||
|
||
#include "oops/util/Printable.h" | ||
#include "orca-jedi/geometry/Geometry.h" | ||
#include "orca-jedi/state/State.h" | ||
#include "orca-jedi/variablechanges/LinearVariableChangeParameters.h" | ||
|
||
namespace orcamodel { | ||
|
||
// ----------------------------------------------------------------------------- | ||
//LinearVariableChange::LinearVariableChange(const Parameters_ &, const Geometry &) {} | ||
LinearVariableChange::LinearVariableChange(const Geometry &, const Parameters_ &) {} | ||
LinearVariableChange::LinearVariableChange(const Geometry &, const eckit::Configuration &) {} | ||
// ----------------------------------------------------------------------------- | ||
//LinearVariableChange::~LinearVariableChange() {} | ||
|
||
void LinearVariableChange::changeVarTL(Increment & dx, const oops::Variables & vars) | ||
const { } | ||
|
||
void LinearVariableChange::changeVarInverseTL(Increment & dx, const oops::Variables & vars) | ||
const { } | ||
|
||
void LinearVariableChange::changeVarAD(Increment & dx, const oops::Variables & vars) | ||
const { } | ||
|
||
void LinearVariableChange::changeVarInverseAD(Increment & dx, const oops::Variables & vars) | ||
const { } | ||
|
||
void LinearVariableChange::changeVarTraj(const State & xbg, const oops::Variables & xfg) | ||
{ } | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
/* | ||
* (C) British Crown Copyright 2021 Met Office | ||
* | ||
* 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 <memory> | ||
#include <ostream> | ||
#include <string> | ||
|
||
#include "eckit/config/Configuration.h" | ||
|
||
#include "oops/util/Printable.h" | ||
#include "orca-jedi/geometry/Geometry.h" | ||
#include "orca-jedi/state/State.h" | ||
#include "orca-jedi/variablechanges/LinearVariableChangeParameters.h" | ||
|
||
// Forward declarations | ||
namespace oops { | ||
class Variables; | ||
} | ||
|
||
namespace orcamodel { | ||
|
||
// ----------------------------------------------------------------------------- | ||
|
||
class LinearVariableChange: public util::Printable { | ||
// private util::ObjectCounter<LinearVariableChange> | ||
public: | ||
typedef LinearVariableChangeParameters Parameters_; | ||
static const std::string classname() { | ||
return "orcamodel::LinearVariableChange"; | ||
} | ||
|
||
LinearVariableChange(const Geometry &, const Parameters_ &); | ||
LinearVariableChange(const Geometry &, const eckit::Configuration &); | ||
|
||
void changeVarTL(Increment &, const oops::Variables &) const; | ||
void changeVarInverseTL(Increment &, const oops::Variables &) const; | ||
void changeVarAD(Increment &, const oops::Variables &) const; | ||
void changeVarInverseAD(Increment &, const oops::Variables &) const; | ||
|
||
void changeVarTraj(const State &, const oops::Variables &); | ||
|
||
|
||
private: | ||
void print(std::ostream & out) const override { | ||
out << "orcamodel::LinearVariableChange::print Not Implemented"; }; | ||
}; | ||
|
||
} // namespace orcamodel | ||
|
||
|
28 changes: 28 additions & 0 deletions
28
src/orca-jedi/variablechanges/LinearVariableChangeParameters.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
/* | ||
* (C) Crown Copyright 2021, the Met Office. All rights reserved. | ||
* | ||
* Refer to COPYRIGHT.txt of this distribution for details. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include <string> | ||
#include <vector> | ||
|
||
#include "eckit/exception/Exceptions.h" | ||
#include "oops/util/DateTime.h" | ||
#include "oops/base/Variables.h" | ||
#include "oops/base/LinearVariableChangeParametersBase.h" | ||
#include "oops/util/parameters/Parameter.h" | ||
#include "oops/util/parameters/RequiredParameter.h" | ||
#include "oops/util/parameters/OptionalParameter.h" | ||
|
||
|
||
class LinearVariableChangeParameters : | ||
public oops::LinearVariableChangeParametersBase { | ||
OOPS_CONCRETE_PARAMETERS(LinearVariableChangeParameters, | ||
oops::LinearVariableChangeParametersBase) | ||
public: | ||
// No linear variable change. No additional parameters | ||
}; | ||
|