Skip to content

Commit 4a346cd

Browse files
committed
add variance and standard deviation error types
1 parent 02e0994 commit 4a346cd

24 files changed

+68
-64
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 standard deviation
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 standard deviation
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 variance' and"
30+
"'background 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

+3-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ 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("");
85+
nemo_file_name = params.ErrorFieldFile.value().value_or("");
86+
readFieldsFromFile(nemo_file_name, *geom_, validTime(), "background standard deviation",
87+
stateFields_);
8688
readFieldsFromFile(nemo_file_name, *geom_, validTime(), "background variance",
8789
stateFields_);
8890
}

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 standard deviation");
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 standard deviation"));
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 standard deviation"));
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
@@ -65,7 +65,7 @@ CASE("test interpolator") {
6565
nemo_var_mappings[1].set("name", "sea_ice_area_fraction_error")
6666
.set("nemo field name", "sic_tot_var")
6767
.set("model space", "surface")
68-
.set("variable type", "background variance");
68+
.set("variable type", "background standard deviation");
6969
nemo_var_mappings[2].set("name", "sea_surface_foundation_temperature")
7070
.set("nemo field name", "votemper")
7171
.set("model space", "surface");
@@ -85,7 +85,7 @@ CASE("test interpolator") {
8585
settings_map["ORCA2_T"].state_config.set("state variables", state_variables);
8686
settings_map["ORCA2_T"].state_config.set("date", "2021-06-30T00:00:00Z");
8787
settings_map["ORCA2_T"].state_config.set("nemo field file", "../Data/orca2_t_nemo.nc");
88-
settings_map["ORCA2_T"].state_config.set("variance field file", "../Data/orca2_t_bkg_var.nc");
88+
settings_map["ORCA2_T"].state_config.set("nemo error field file", "../Data/orca2_t_bkg_var.nc");
8989

9090
settings_map["ORCA2_T"].lons = std::vector<double>{0, 120, 270};
9191
settings_map["ORCA2_T"].lats = std::vector<double>{88, 0, 30};
@@ -135,7 +135,7 @@ CASE("test interpolator") {
135135
settings_map["AMM1"].state_config.set("state variables", state_variables);
136136
settings_map["AMM1"].state_config.set("date", "2021-06-30T00:00:00Z");
137137
settings_map["AMM1"].state_config.set("nemo field file", "../Data/amm1_nemo.nc");
138-
settings_map["AMM1"].state_config.set("variance field file", "../Data/amm1_nemo.nc");
138+
settings_map["AMM1"].state_config.set("nemo error field file", "../Data/amm1_nemo.nc");
139139

140140
settings_map["AMM1"].lons = std::vector<double>{-17.5, -6.78, -16.1};
141141
settings_map["AMM1"].lats = std::vector<double>{58.16, 58.91, 63.55};

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 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 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 standard deviation");
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.standard deviationFieldFile.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 standard deviation
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

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ geometry :
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 standard deviation
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_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 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_sst.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ geometry :
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 standard deviation
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_ice.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,18 @@ initial condition :
2626
state variables: [ ice_area_fraction, ice_area_fraction_background_error ]
2727
#analytic_init: zeroed state
2828
nemo field file: Data/orca2_t_nemo.nc
29-
variance field file: Data/orca2_t_bkg_var.nc
29+
nemo error field file: Data/orca2_t_bkg_var.nc
3030
model :
3131
name: PseudoModel
3232
tstep: P1D
3333
states:
3434
- date: 2021-06-29T23:00:00Z
3535
nemo field file: Data/orca2_t_nemo.nc
36-
variance field file: Data/orca2_t_bkg_var.nc
36+
nemo error field file: Data/orca2_t_bkg_var.nc
3737
state variables: [ ice_area_fraction ]
3838
- date: 2021-06-30T23:00:00Z
3939
nemo field file: Data/orca2_t_nemo.nc
40-
variance field file: Data/orca2_t_bkg_var.nc
40+
nemo error field file: Data/orca2_t_bkg_var.nc
4141
state variables: [ ice_area_fraction ]
4242
observations:
4343
observers:

src/tests/testinput/hofx_nc_ssh.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ geometry :
1212
- name: sea_surface_height_anomaly_background_error
1313
nemo field name: ssh_tot_std
1414
model space: surface
15-
variable type: background variance
15+
variable type: background standard deviation
1616
grid name: ORCA2_T
1717
number levels: 1
1818
partitioner: serial
@@ -22,18 +22,18 @@ initial condition :
2222
- sea_surface_height_anomaly
2323
- sea_surface_height_anomaly_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
model :
2727
name: PseudoModel
2828
tstep: P1D
2929
states:
3030
- date: 2021-06-29T23:00:00Z
3131
nemo field file: Data/orca2_t_nemo.nc
32-
variance field file: Data/orca2_t_bkg_var.nc
32+
nemo error field file: Data/orca2_t_bkg_var.nc
3333
state variables: &state_variables [ sea_surface_height_anomaly ]
3434
- date: 2021-06-30T23:00:00Z
3535
nemo field file: Data/orca2_t_nemo.nc
36-
variance field file: Data/orca2_t_bkg_var.nc
36+
nemo error field file: Data/orca2_t_bkg_var.nc
3737
state variables: *state_variables
3838
observations:
3939
observers:

src/tests/testinput/hofx_nc_ssh_amm1.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ geometry :
1212
- name: sea_surface_height_anomaly_background_error
1313
nemo field name: sossheig
1414
model space: surface
15-
variable type: background variance
15+
variable type: background standard deviation
1616
grid name: Data/amm1_atlas_grid_spec.yaml
1717
number levels: 1
1818
partitioner: serial
@@ -23,18 +23,18 @@ initial condition :
2323
- sea_surface_height_anomaly
2424
- sea_surface_height_anomaly_background_error
2525
nemo field file: &field_file Data/amm1_nemo.nc
26-
variance field file: *field_file
26+
nemo error field file: *field_file
2727
model :
2828
name: PseudoModel
2929
tstep: P1D
3030
states:
3131
- date: 2021-06-29T23:00:00Z
3232
nemo field file: *field_file
33-
variance field file: *field_file
33+
nemo error field file: *field_file
3434
state variables: &state_variables [ sea_surface_height_anomaly ]
3535
- date: 2021-06-30T23:00:00Z
3636
nemo field file: *field_file
37-
variance field file: *field_file
37+
nemo error field file: *field_file
3838
state variables: *state_variables
3939
observations:
4040
observers:

0 commit comments

Comments
 (0)