Skip to content

Commit cc01553

Browse files
authored
Merge branch 'develop' into feature/add_simple_dirac_3dvar
2 parents c8d3372 + 25aa2d1 commit cc01553

26 files changed

+83
-80
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ state :
5757
date: # ISO8601 datetime
5858
state variables: # list of the model state variables matching the `name` field above
5959
nemo field file: # input background data
60-
variance field file: # input error data
60+
nemo error field file: # input error data
6161
```
6262
6363
## Help

examples/hofx3d_nc_orca1_checker_ice_mpi.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ state :
1515
date: 2021-06-29T12:00:00Z
1616
state variables: [ ice_area_fraction ]
1717
nemo field file: your_example_data/orca1_sic.nc
18-
variance field file: your_example_data/orca1_sic_err.nc
18+
nemo error field file: your_example_data/orca1_sic_err.nc
1919
observations:
2020
observers:
2121
- obs space:

examples/hofx3d_odb_prof_example.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ geometry :
1111
- name: sea_water_temperature_background_error
1212
nemo field name: t_tot_var
1313
model space: volume
14-
variable type: background variance
14+
variable type: background error variance
1515
grid name: eORCA12_T
1616
number levels: 75
1717
state :
1818
date: 2021-08-21T00:00:00Z
1919
state variables: [ sea_water_temperature, sea_water_temperature_background_error, depth ]
2020
nemo field file: your_example_data/eorca12_20210630.nc
21-
variance field file: your_example_data/eorca12_err_20210630.nc
21+
nemo error field file: your_example_data/eorca12_err_20210630.nc
2222
time window:
2323
begin: 2021-08-20T00:00:00Z
2424
length: P2D

examples/hofx_nc_ice_mpi.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ geometry:
1515
- name: ice_area_fraction_background_error
1616
nemo field name: seaice_tot_var
1717
model space: surface
18-
variable type: background variance
18+
variable type: background error variance
1919
grid name: eORCA12_T
2020
source mesh halo: 0
2121
number levels: 2
@@ -24,23 +24,23 @@ initial condition :
2424
date: 2021-06-28T23:00:00Z
2525
state variables: [ ice_area_fraction, ice_area_fraction_background_error ]
2626
nemo field file: your_example_data/eorca12_20210630.nc
27-
variance field file: your_example_data/eorca12_err_20210630.nc
27+
nemo error field file: your_example_data/eorca12_err_20210630.nc
2828
model :
2929
name: PseudoModel
3030
tstep: P1D
3131
state variables: [ ice_area_fraction ]
3232
states:
3333
- date: 2021-06-28T23:00:00Z
3434
nemo field file: your_example_data/eorca12_20210630.nc
35-
variance field file: your_example_data/eorca12_err_20210630.nc
35+
nemo error field file: your_example_data/eorca12_err_20210630.nc
3636
state variables: [ ice_area_fraction ]
3737
- date: 2021-06-29T23:00:00Z
3838
nemo field file: your_example_data/eorca12_20210630.nc
39-
variance field file: your_example_data/eorca12_err_20210630.nc
39+
nemo error field file: your_example_data/eorca12_err_20210630.nc
4040
state variables: [ ice_area_fraction ]
4141
- date: 2021-07-01T23:00:00Z
4242
nemo field file: your_example_data/eorca12_20210630.nc
43-
variance field file: your_example_data/eorca12_err_20210630.nc
43+
nemo error field file: your_example_data/eorca12_err_20210630.nc
4444
state variables: [ ice_area_fraction ]
4545
observations:
4646
observers:

src/orca-jedi/geometry/Geometry.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ const oops::Variables & Geometry::variables() const {
226226
}
227227

228228
/// \brief Check if a variable's data is a member of a type (e.g if it can be
229-
/// sourced from the background file, variance file, or MDT file).
229+
/// sourced from the background file, error file, or MDT file).
230230
/// \param[in] variable_name Name of variable.
231231
/// \param[in] variable_type Type of variable.
232232
/// \return Boolean for membership.

src/orca-jedi/geometry/GeometryParameters.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ class NemoFieldParameters : public oops::Parameters {
2626
oops::RequiredParameter<std::string> nemoName {"nemo field name", this};
2727
oops::RequiredParameter<std::string> modelSpace {"model space", this};
2828
oops::Parameter<std::string> variableType {"variable type",
29-
"type of variable (default is 'background' other option is 'background variance')",
29+
"type of variable (default is 'background' other options are 'background error variance' and"
30+
"'background error standard deviation' both are included for clarity, but both variables are"
31+
" read from the error file",
3032
"background",
3133
this};
3234
oops::Parameter<FieldDType> fieldPrecision{"field precision",

src/orca-jedi/state/State.cc

+5-4
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,11 @@ State::State(const Geometry & geom,
8282
nemo_file_name = params.nemoFieldFile.value();
8383
readFieldsFromFile(nemo_file_name, *geom_, validTime(), "background",
8484
stateFields_);
85-
nemo_file_name = params.varianceFieldFile.value().value_or("");
86-
if (nemo_file_name != "") {
87-
readFieldsFromFile(nemo_file_name, *geom_, validTime(), "background variance",
88-
stateFields_); }
85+
nemo_file_name = params.errorFieldFile.value().value_or("");
86+
readFieldsFromFile(nemo_file_name, *geom_, validTime(), "background error standard deviation",
87+
stateFields_);
88+
readFieldsFromFile(nemo_file_name, *geom_, validTime(), "background error variance",
89+
stateFields_);
8990
}
9091
geom_->log_status();
9192
oops::Log::trace() << "State(ORCA)::State created." << std::endl;

src/orca-jedi/state/StateParameters.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ class OrcaStateParameters : public oops::Parameters {
2222

2323
public:
2424
oops::RequiredParameter<std::string> nemoFieldFile{"nemo field file", this};
25-
oops::OptionalParameter<std::string> varianceFieldFile{
26-
"variance field file", "", this};
25+
oops::OptionalParameter<std::string> errorFieldFile{
26+
"nemo error field file", "", this};
2727
oops::OptionalParameter<bool> analyticInit{"analytic initialisation", this};
2828
oops::OptionalParameter<std::string> outputNemoFieldFile{
2929
"output nemo field file", "", this};

src/tests/orca-jedi/test_geometry.cc

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ CASE("test basic geometry") {
3232
nemo_var_mappings[1].set("name", "sea_ice_area_fraction_error")
3333
.set("nemo field name", "sic_tot_var")
3434
.set("model space", "surface")
35-
.set("variable type", "background variance");
35+
.set("variable type", "background error variance");
3636
nemo_var_mappings[2].set("name", "sea_surface_foundation_temperature")
3737
.set("nemo field name", "votemper")
3838
.set("model space", "surface");
@@ -52,11 +52,11 @@ CASE("test basic geometry") {
5252
EXPECT(geometry.variable_in_variable_type("sea_ice_area_fraction",
5353
"background"));
5454
EXPECT(geometry.variable_in_variable_type("sea_ice_area_fraction_error",
55-
"background variance"));
55+
"background error variance"));
5656
EXPECT(!geometry.variable_in_variable_type("sea_ice_area_fraction_error",
5757
"background"));
5858
EXPECT(!geometry.variable_in_variable_type("sea_ice_area_fraction",
59-
"background variance"));
59+
"background error variance"));
6060
}
6161

6262
SECTION("test geometry variable sizes") {

src/tests/orca-jedi/test_interpolator.cc

+3-3
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ CASE("test interpolator") {
6666
nemo_var_mappings[1].set("name", "sea_ice_area_fraction_error")
6767
.set("nemo field name", "sic_tot_var")
6868
.set("model space", "surface")
69-
.set("variable type", "background variance");
69+
.set("variable type", "background error variance");
7070
nemo_var_mappings[2].set("name", "sea_surface_foundation_temperature")
7171
.set("nemo field name", "votemper")
7272
.set("model space", "surface");
@@ -87,7 +87,7 @@ CASE("test interpolator") {
8787
settings_map["ORCA2_T"].state_config.set("state variables", state_variables);
8888
settings_map["ORCA2_T"].state_config.set("date", "2021-06-30T00:00:00Z");
8989
settings_map["ORCA2_T"].state_config.set("nemo field file", "../Data/orca2_t_nemo.nc");
90-
settings_map["ORCA2_T"].state_config.set("variance field file", "../Data/orca2_t_bkg_var.nc");
90+
settings_map["ORCA2_T"].state_config.set("nemo error field file", "../Data/orca2_t_bkg_var.nc");
9191

9292
settings_map["ORCA2_T"].increment_config.set("date", "2021-06-30T00:00:00Z");
9393
settings_map["ORCA2_T"].increment_config.set("output path",
@@ -142,7 +142,7 @@ CASE("test interpolator") {
142142
settings_map["AMM1"].state_config.set("state variables", state_variables);
143143
settings_map["AMM1"].state_config.set("date", "2021-06-30T00:00:00Z");
144144
settings_map["AMM1"].state_config.set("nemo field file", "../Data/amm1_nemo.nc");
145-
settings_map["AMM1"].state_config.set("variance field file", "../Data/amm1_nemo.nc");
145+
settings_map["AMM1"].state_config.set("nemo error field file", "../Data/amm1_nemo.nc");
146146

147147
settings_map["AMM1"].increment_config.set("date", "2021-06-30T00:00:00Z");
148148
settings_map["AMM1"].increment_config.set("output path",

src/tests/orca-jedi/test_interpolator_parallel.cc

+4-4
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ CASE("test serial interpolator") {
4747
nemo_var_mappings[1].set("name", "sea_surface_height_anomaly_error")
4848
.set("nemo field name", "ssh_tot_std")
4949
.set("model space", "surface")
50-
.set("variable type", "background variance");
50+
.set("variable type", "background error standard deviation");
5151
nemo_var_mappings[2].set("name", "sea_surface_foundation_temperature")
5252
.set("nemo field name", "votemper")
5353
.set("model space", "surface");
@@ -103,7 +103,7 @@ CASE("test serial interpolator") {
103103
state_config.set("date", "2021-06-30T00:00:00Z");
104104
state_config.set("analytic initialisation", true);
105105
state_config.set("nemo field file", "../Data/orca2_t_nemo.nc");
106-
state_config.set("variance field file", "../Data/orca2_t_bkg_var.nc");
106+
state_config.set("nemo error field file", "../Data/orca2_t_bkg_var.nc");
107107
OrcaStateParameters stateParams;
108108
stateParams.validateAndDeserialize(state_config);
109109
State state(geometry, stateParams);
@@ -194,7 +194,7 @@ CASE("test checkerboard interpolator") {
194194
nemo_var_mappings[1].set("name", "sea_surface_height_anomaly_error")
195195
.set("nemo field name", "ssh_tot_std")
196196
.set("model space", "surface")
197-
.set("variable type", "background variance");
197+
.set("variable type", "background error standard deviation");
198198
nemo_var_mappings[2].set("name", "sea_surface_foundation_temperature")
199199
.set("nemo field name", "votemper")
200200
.set("model space", "surface");
@@ -249,7 +249,7 @@ CASE("test checkerboard interpolator") {
249249
state_config.set("date", "2021-06-30T00:00:00Z");
250250
state_config.set("analytic initialisation", true);
251251
state_config.set("nemo field file", "../Data/orca2_t_nemo.nc");
252-
state_config.set("variance field file", "../Data/orca2_t_bkg_var.nc");
252+
state_config.set("nemo error field file", "../Data/orca2_t_bkg_var.nc");
253253
OrcaStateParameters stateParams;
254254
stateParams.validateAndDeserialize(state_config);
255255
State state(geometry, stateParams);

src/tests/orca-jedi/test_state.cc

+5-5
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ CASE("test basic state") {
3939
.set("field precision", "double")
4040
.set("nemo field name", "sic_tot_var")
4141
.set("model space", "surface")
42-
.set("variable type", "background variance");
42+
.set("variable type", "background error variance");
4343
nemo_var_mappings[2].set("name", "sea_surface_foundation_temperature")
4444
.set("field precision", "double")
4545
.set("nemo field name", "votemper")
@@ -61,12 +61,12 @@ CASE("test basic state") {
6161

6262
SECTION("test state parameters") {
6363
state_config.set("nemo field file", "../Data/orca2_t_nemo.nc");
64-
state_config.set("variance field file", "../Data/orca2_t_bkg_var.nc");
64+
state_config.set("nemo error field file", "../Data/orca2_t_bkg_var.nc");
6565
params.validateAndDeserialize(state_config);
6666
EXPECT(params.nemoFieldFile.value() ==
6767
state_config.getString("nemo field file"));
68-
EXPECT(params.varianceFieldFile.value() ==
69-
state_config.getString("variance field file"));
68+
EXPECT(params.errorFieldFile.value() ==
69+
state_config.getString("nemo error field file"));
7070
EXPECT(params.analyticInit.value().value_or(true));
7171
auto datetime = static_cast<util::DateTime>(state_config.getString("date"));
7272
EXPECT(params.date.value() == datetime);
@@ -105,7 +105,7 @@ CASE("test basic state") {
105105
}
106106

107107
state_config.set("nemo field file", "../Data/orca2_t_nemo.nc");
108-
state_config.set("variance field file", "../Data/orca2_t_bkg_var.nc");
108+
state_config.set("nemo error field file", "../Data/orca2_t_bkg_var.nc");
109109
state_config.set("output nemo field file", "../testoutput/orca2_t_output.nc");
110110
params.validateAndDeserialize(state_config);
111111
State state(geometry, params);

src/tests/testinput/hofx3d_nc_potm.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ geometry :
1111
- name: sea_water_potential_temperature_background_error
1212
nemo field name: t_tot_var
1313
model space: volume
14-
variable type: background variance
14+
variable type: background error variance
1515
grid name: ORCA2_T
1616
number levels: 3
1717
state :
1818
date: 2021-06-30T00:00:00Z
1919
state variables: [ sea_water_potential_temperature, sea_water_potential_temperature_background_error, depth ]
2020
nemo field file: Data/orca2_t_nemo.nc
21-
variance field file: Data/orca2_t_bkg_var.nc
21+
nemo error field file: Data/orca2_t_bkg_var.nc
2222
time window:
2323
begin: 2021-06-29T12:00:00Z
2424
length: P1D

src/tests/testinput/hofx3d_nc_prof_2vars.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ geometry :
1111
- name: sea_water_potential_temperature_background_error
1212
nemo field name: t_tot_var
1313
model space: volume
14-
variable type: background variance
14+
variable type: background error variance
1515
- name: salinity
1616
nemo field name: vosaline
1717
model space: volume
1818
- name: salinity_background_error
1919
nemo field name: t_tot_var
2020
model space: volume
21-
variable type: background variance
21+
variable type: background error variance
2222
grid name: ORCA2_T
2323
number levels: 3
2424
state :
@@ -30,7 +30,7 @@ state :
3030
- salinity
3131
- salinity_background_error
3232
nemo field file: Data/orca2_t_nemo.nc
33-
variance field file: Data/orca2_t_bkg_var.nc
33+
nemo error field file: Data/orca2_t_bkg_var.nc
3434
time window:
3535
begin: 2021-06-29T12:00:00Z
3636
length: P1D

src/tests/testinput/hofx3d_nc_sic.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ geometry :
1414
- name: ice_area_fraction_background_error
1515
nemo field name: sic_tot_var
1616
model space: surface
17-
variable type: background variance
17+
variable type: background error variance
1818
grid name: ORCA2_T
1919
number levels: 10
2020
state :
2121
date: 2021-06-30T00:00:00Z
2222
state variables: [ ice_area_fraction, ice_area_fraction_background_error ]
2323
nemo field file: Data/orca2_t_nemo.nc
24-
variance field file: Data/orca2_t_bkg_var.nc
24+
nemo error field file: Data/orca2_t_bkg_var.nc
2525
time window:
2626
begin: 2021-06-29T12:00:00Z
2727
length: P1D

src/tests/testinput/hofx3d_nc_ssh_amm1.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ geometry :
1111
- name: sea_surface_height_anomaly_background_error
1212
nemo field name: sossheig
1313
model space: surface
14-
variable type: background variance
14+
variable type: background error standard deviation
1515
grid name: Data/amm1_atlas_grid_spec.yaml
1616
number levels: 1
1717
partitioner: serial
@@ -22,7 +22,7 @@ state :
2222
- sea_surface_height_anomaly
2323
- sea_surface_height_anomaly_background_error
2424
nemo field file: &field_file Data/amm1_nemo.nc
25-
variance field file: *field_file
25+
nemo error field file: *field_file
2626
observations:
2727
observers:
2828
- obs space:

src/tests/testinput/hofx3d_nc_ssh_amm1r.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ geometry :
1111
- name: sea_surface_height_anomaly_background_error
1212
nemo field name: sossheig
1313
model space: surface
14-
variable type: background variance
14+
variable type: background error variance
1515
grid name: Data/amm1r_atlas_grid_spec.yaml
1616
number levels: 1
1717
partitioner: serial
@@ -22,7 +22,7 @@ state :
2222
- sea_surface_height_anomaly
2323
- sea_surface_height_anomaly_background_error
2424
nemo field file: &field_file Data/amm1r_nemo.nc
25-
variance field file: *field_file
25+
nemo error field file: *field_file
2626
observations:
2727
observers:
2828
- obs space:

src/tests/testinput/hofx3d_nc_sst.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,18 @@ geometry :
1111
- name: ice_area_fraction_background_error
1212
nemo field name: sic_tot_var
1313
model space: surface
14-
variable type: background variance
14+
variable type: background error variance
1515
- name: sea_surface_temperature_background_error
1616
nemo field name: t_tot_var
1717
model space: surface
18-
variable type: background variance
18+
variable type: background error variance
1919
grid name: ORCA2_T
2020
number levels: 1
2121
state :
2222
date: 2021-06-30T00:00:00Z
2323
state variables: [ sea_surface_temperature, sea_surface_temperature_background_error ]
2424
nemo field file: Data/orca2_t_nemo.nc
25-
variance field file: Data/orca2_t_bkg_var.nc
25+
nemo error field file: Data/orca2_t_bkg_var.nc
2626
time window:
2727
begin: 2021-06-29T12:00:00Z
2828
length: P1D

src/tests/testinput/hofx_nc_potm_amm1r.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ geometry :
1515
- name: sea_water_potential_temperature_background_error
1616
nemo field name: vosaline
1717
model space: volume
18-
variable type: background variance
18+
variable type: background error variance
1919
grid name: Data/amm1r_atlas_grid_spec.yaml
2020
number levels: 1
2121
partitioner: serial
@@ -26,18 +26,18 @@ initial condition :
2626
- sea_water_potential_temperature
2727
- sea_water_potential_temperature_background_error
2828
nemo field file: &field_file Data/amm1r_nemo.nc
29-
variance field file: *field_file
29+
nemo error field file: *field_file
3030
model :
3131
name: PseudoModel
3232
tstep: P1D
3333
states:
3434
- date: 2021-06-29T23:00:00Z
3535
nemo field file: *field_file
36-
variance field file: *field_file
36+
nemo error field file: *field_file
3737
state variables: *state_variables
3838
- date: 2021-06-30T23:00:00Z
3939
nemo field file: *field_file
40-
variance field file: *field_file
40+
nemo error field file: *field_file
4141
state variables: *state_variables
4242
observations:
4343
observers:

0 commit comments

Comments
 (0)