Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/mains/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,9 @@ ecbuild_add_executable( TARGET soca_gen_hybrid_linear_model_coeffs.x
SOURCES GenHybridLinearModelCoeffs.cc
LIBS soca
)
ecbuild_add_executable( TARGET soca_linearization_error.x
SOURCES LinearizationError.cc

ecbuild_add_executable( TARGET soca_tlm_toolbox.x
SOURCES TLMToolbox.cc
LIBS soca
)

Expand Down
8 changes: 4 additions & 4 deletions src/mains/LinearizationError.cc → src/mains/TLMToolbox.cc
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
/*
* (C) Copyright 2024- UCAR.
* (C) Copyright 2025- 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.
*/


#include "oops/runs/Run.h"
#include "oops/runs/LinearizationError.h"
#include "oops/runs/TLMToolbox.h"

#include "soca/Traits.h"

int main(int argc, char ** argv) {
oops::Run run(argc, argv);
oops::LinearizationError<soca::Traits> linearizationError;
return run.execute(linearizationError);
oops::TLMToolbox<soca::Traits> tlmToolbox;
return run.execute(tlmToolbox);
}
8 changes: 4 additions & 4 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ set( soca_test_input
testinput/letkf_split_solver.yml
testinput/letkf.yml
testinput/letkf3d.yml
testinput/linearization_error.yml
testinput/linearmodel_oceaniceemulator.yml
testinput/makeobs.yml
testinput/model.yml
Expand All @@ -94,6 +93,7 @@ set( soca_test_input
testinput/setcorscales.yml
testinput/sqrtvertloc.yml
testinput/state.yml
testinput/tlm_toolbox_linearization_error.yml
testinput/varchange_ana2model.yml
testinput/varchange_balance_TSSSH.yml
testinput/varchange_balance.yml
Expand Down Expand Up @@ -148,7 +148,6 @@ set( soca_test_ref
testref/letkf_split_solver.test
testref/letkf.test
testref/letkf3d.test
testref/linearization_error.test
testref/makeobs.test
testref/oceanSmoother.test
testref/parameters_bump_cor_nicas_scales.test
Expand All @@ -157,6 +156,7 @@ set( soca_test_ref
testref/parameters_bump_loc.test
testref/setcorscales.test
testref/sqrtvertloc.test
testref/tlm_toolbox_linearization_error.test
)

# Create directory for test input/output/reference and symlink all files
Expand Down Expand Up @@ -593,8 +593,8 @@ soca_add_test( NAME gen_hybrid_linear_model_coeffs
test_soca_forecast_mom6_ens2
test_soca_forecast_mom6_ens3 )

soca_add_test( NAME linearization_error
EXE soca_linearization_error.x
soca_add_test( NAME tlm_toolbox_linearization_error
EXE soca_tlm_toolbox.x
TEST_DEPENDS test_soca_gridgen
test_soca_forecast_mom6
test_soca_forecast_mom6_ens1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ forecast length: PT12H
time resolution: PT6H

# Linear model (HTLM or TLM)
linear model geometry: &geom
geometry: &geom
geom_grid_file: data_generated/gridgen/soca_gridspec.72x35x25.nc
mom6_input_nml: data_static/72x35x25/input.nml
fields metadata: data_static/fields_metadata.yml
Expand Down Expand Up @@ -157,25 +157,22 @@ model:
state variables: *state_vars
ocn_filename: ocn.fcst_ens1.fc.2018-04-15T00:00:00Z.PT12H.nc

model geometry: *geom

model aux increment: {}
model aux control: {}
#model geometry: *geom

model aux increment: null
model aux control: null
compute error: true
output:
datadir: data_output/
exp: linearization_error
type: an

#output on latlon grid:
# local interpolator type: oops unstructured grid interpolator
# resolution in degrees: 5.0
# variables to output: [tocn,socn]
# model levels: [1]
# datapath: data_output
# filename prefix: linearization-error
dx:
datadir: data_output/
exp: linearization_error_dx
type: an
error:
datadir: data_output/
exp: linearization_error_error
type: an

test:
reference filename: testref/linearization_error.test
test output filename: testoutput/linearization_error.test
reference filename: testref/tlm_toolbox_linearization_error.test
test output filename: testoutput/tlm_toolbox_linearization_error.test
float absolute tolerance: 4e-4
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
fd at 2018-04-15T00:00:00Z:
dx at 2018-04-15T00:00:00Z:
Valid time: 2018-04-15T00:00:00Z
sea_water_salinity min=-2.4416591897031168 max=1.3230360133306505 mean=-0.0024271345954631
sea_water_potential_temperature min=-2.3910221032509291 max=3.3092213597659246 mean=0.0755122321363400
Expand All @@ -7,39 +7,39 @@ sea_water_potential_temperature min=-2.3910221032509291 max=3.30922135976592
sea_surface_height_above_geoid min=-0.3751396642347711 max=0.4474811141886338 mean=-0.0070871110169232
sea_water_cell_thickness min=0.0000000000000000 max=0.0000000000000000 mean=0.0000000000000000
sea_water_depth min=0.0000000000000000 max=0.0000000000000000 mean=0.0000000000000000
fd at 2018-04-15T06:00:00Z:
dx at 2018-04-15T06:00:00Z:
Valid time: 2018-04-15T06:00:00Z
sea_water_salinity min=-2.4416358677853163 max=1.1534824057034487 mean=-0.0066576331336771
sea_water_potential_temperature min=-2.3771291528248519 max=3.2135774101401080 mean=0.0706268112865332
sea_water_salinity min=-2.4416358677853567 max=1.1534824057032822 mean=-0.0066576331336723
sea_water_potential_temperature min=-2.3771291528245984 max=3.2135774101400543 mean=0.0706268112865569
eastward_sea_water_velocity min=-0.0156308673181528 max=0.0151426414195125 mean=-0.0000246839772978
northward_sea_water_velocity min=-0.0120443919614510 max=0.0125571658843872 mean=0.0000088038774601
sea_surface_height_above_geoid min=-0.3751396642347711 max=0.4474811141886338 mean=-0.0070871110169232
sea_water_cell_thickness min=0.0000000000000000 max=0.0000000000000000 mean=0.0000000000000000
sea_water_depth min=0.0000000000000000 max=0.0000000000000000 mean=0.0000000000000000
error at 2018-04-15T06:00:00Z:
Valid time: 2018-04-15T06:00:00Z
sea_water_salinity min=-0.6287769426164933 max=1.0218095112695806 mean=0.0046348378276148
sea_water_potential_temperature min=-1.9081933268636009 max=2.5014114191228192 mean=-0.0027609208080969
eastward_sea_water_velocity min=-0.3768127712514624 max=0.5726446123948353 mean=0.0002271385239813
northward_sea_water_velocity min=-0.8348533647988179 max=0.3457301759780138 mean=-0.0001815430546837
sea_surface_height_above_geoid min=-0.4339260897259428 max=0.2887292509849344 mean=-0.0045835768049616
sea_water_cell_thickness min=-1049.5886754000971450 max=859.4196733784333446 mean=0.0001140251676941
sea_water_depth min=-923.3373591595991456 max=1300.2270897745663660 mean=2.0504234514059227
fd at 2018-04-15T12:00:00Z:
sea_water_salinity min=-0.6287769426170158 max=1.0218095112622763 mean=0.0046348378276277
sea_water_potential_temperature min=-1.9081933268627753 max=2.5014114191035581 mean=-0.0027609208079935
eastward_sea_water_velocity min=-0.3768127712517751 max=0.5726446123929974 mean=0.0002271385239766
northward_sea_water_velocity min=-0.8348533647588463 max=0.3457301759569202 mean=-0.0001815430546738
sea_surface_height_above_geoid min=-0.4339260897257430 max=0.2887292509873182 mean=-0.0045835768049720
sea_water_cell_thickness min=-1049.5886753924626191 max=859.4196733767198566 mean=0.0001140251676931
sea_water_depth min=-923.3373591588422187 max=1300.2270897776716083 mean=2.0504234514056310
dx at 2018-04-15T12:00:00Z:
Valid time: 2018-04-15T12:00:00Z
sea_water_salinity min=-2.4416123564609222 max=1.0465779738787662 mean=-0.0086045353610376
sea_water_potential_temperature min=-3.3168640368174058 max=3.1867835301944289 mean=0.0694357865576276
sea_water_salinity min=-2.4416123564608756 max=1.0465779738784162 mean=-0.0086045353611034
sea_water_potential_temperature min=-3.3168640368172300 max=3.1867835301944178 mean=0.0694357865576074
eastward_sea_water_velocity min=-0.0156308673181528 max=0.0151426414195125 mean=-0.0000246839772978
northward_sea_water_velocity min=-0.0120443919614510 max=0.0125571658843872 mean=0.0000088038774601
sea_surface_height_above_geoid min=-0.3751396642347711 max=0.4474811141886338 mean=-0.0070871110169232
sea_water_cell_thickness min=0.0000000000000000 max=0.0000000000000000 mean=0.0000000000000000
sea_water_depth min=0.0000000000000000 max=0.0000000000000000 mean=0.0000000000000000
error at 2018-04-15T12:00:00Z:
Valid time: 2018-04-15T12:00:00Z
sea_water_salinity min=-0.5046573440158330 max=0.4636282194660545 mean=0.0046532672262387
sea_water_potential_temperature min=-1.5447141194653669 max=1.6602832100304346 mean=-0.0017315771190042
eastward_sea_water_velocity min=-0.5897328942585329 max=0.5648967059435075 mean=-0.0000630794310827
northward_sea_water_velocity min=-0.9255121645643122 max=0.5997522468680587 mean=0.0002343308665657
sea_surface_height_above_geoid min=-0.4439592639602647 max=0.3169346481338872 mean=-0.0041463458145450
sea_water_cell_thickness min=-1143.8905370290074188 max=877.6668696017160300 mean=0.0001279054606528
sea_water_depth min=-839.7087782350777161 max=1317.3185648236185443 mean=2.2373758266207657
sea_water_salinity min=-0.5046573440159772 max=0.4636282194660997 mean=0.0046532672264905
sea_water_potential_temperature min=-1.5447141194654319 max=1.6602832100324882 mean=-0.0017315771108859
eastward_sea_water_velocity min=-0.5897328942619443 max=0.5648967059346989 mean=-0.0000630794311334
northward_sea_water_velocity min=-0.9255121650760655 max=0.5997522468764696 mean=0.0002343308665230
sea_surface_height_above_geoid min=-0.4439592639588614 max=0.3169346481336918 mean=-0.0041463458145508
sea_water_cell_thickness min=-1143.8905370290988230 max=877.6668695993712390 mean=0.0001279054606518
sea_water_depth min=-839.7087782316186804 max=1317.3185648237404166 mean=2.2373758266178352