From e80c1fc1392a54970fc9ef553d016223a4987101 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Thu, 5 Dec 2024 09:53:34 -0500 Subject: [PATCH 01/18] turn off g-w based ctest reference checks on WCOSS2 (#1400) --- test/gw-ci/atm/jcb-prototype_3dvar-fv3inc_ufs_hybatmDA.yaml.j2 | 2 +- test/gw-ci/atm/jcb-prototype_3dvar_ufs_hybatmDA.yaml.j2 | 2 +- test/gw-ci/atm/jcb-prototype_lgetkf-fv3inc_ufs_hybatmDA.yaml.j2 | 2 +- .../atm/jcb-prototype_lgetkf_observer_ufs_hybatmDA.yaml.j2 | 2 +- test/gw-ci/atm/jcb-prototype_lgetkf_solver_ufs_hybatmDA.yaml.j2 | 2 +- test/gw-ci/atm/jcb-prototype_lgetkf_ufs_hybatmDA.yaml.j2 | 2 +- test/gw-ci/soca/jcb-prototype_3dfgat_3DVarAOWCDA.yaml.j2 | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/test/gw-ci/atm/jcb-prototype_3dvar-fv3inc_ufs_hybatmDA.yaml.j2 b/test/gw-ci/atm/jcb-prototype_3dvar-fv3inc_ufs_hybatmDA.yaml.j2 index bb4ab8ff7..53e2fbe38 100644 --- a/test/gw-ci/atm/jcb-prototype_3dvar-fv3inc_ufs_hybatmDA.yaml.j2 +++ b/test/gw-ci/atm/jcb-prototype_3dvar-fv3inc_ufs_hybatmDA.yaml.j2 @@ -4,7 +4,7 @@ algorithm: fv3jedi_fv3inc_variational # Testing things # -------------- -{% if DO_TEST_MODE == true and RUN == 'gdas' and current_cycle | to_YMDH == '2024022400' %} +{% if DO_TEST_MODE == true and RUN == 'gdas' and current_cycle | to_YMDH == '2024022400' and machine != 'WCOSS2' %} do_testing: true test_reference_filename: {{ HOMEgfs }}/sorc/gdas.cd/test/testreference/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_3dvar-fv3inc.ref test_output_filename: {{ HOMEgfs }}/sorc/gdas.cd/build/gdas/test/testoutput/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_3dvar-fv3inc.test.out diff --git a/test/gw-ci/atm/jcb-prototype_3dvar_ufs_hybatmDA.yaml.j2 b/test/gw-ci/atm/jcb-prototype_3dvar_ufs_hybatmDA.yaml.j2 index 5f8c313dc..a3c63519b 100644 --- a/test/gw-ci/atm/jcb-prototype_3dvar_ufs_hybatmDA.yaml.j2 +++ b/test/gw-ci/atm/jcb-prototype_3dvar_ufs_hybatmDA.yaml.j2 @@ -33,7 +33,7 @@ observations: # Testing things # -------------- -{% if DO_TEST_MODE == true and RUN == 'gdas' and current_cycle | to_YMDH == '2024022400' %} +{% if DO_TEST_MODE == true and RUN == 'gdas' and current_cycle | to_YMDH == '2024022400' and machine != 'WCOSS2' %} do_testing: true test_reference_filename: {{ HOMEgfs }}/sorc/gdas.cd/test/testreference/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_3dvar.ref test_output_filename: {{ HOMEgfs }}/sorc/gdas.cd/build/gdas/test/testoutput/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_3dvar.test.out diff --git a/test/gw-ci/atm/jcb-prototype_lgetkf-fv3inc_ufs_hybatmDA.yaml.j2 b/test/gw-ci/atm/jcb-prototype_lgetkf-fv3inc_ufs_hybatmDA.yaml.j2 index 55f42ba54..8aa124b8b 100644 --- a/test/gw-ci/atm/jcb-prototype_lgetkf-fv3inc_ufs_hybatmDA.yaml.j2 +++ b/test/gw-ci/atm/jcb-prototype_lgetkf-fv3inc_ufs_hybatmDA.yaml.j2 @@ -4,7 +4,7 @@ algorithm: fv3jedi_fv3inc_lgetkf # Testing things # -------------- -{% if DO_TEST_MODE == true and RUN == 'enkfgdas' and current_cycle | to_YMDH == '2024022400' %} +{% if DO_TEST_MODE == true and RUN == 'enkfgdas' and current_cycle | to_YMDH == '2024022400' and machine != 'WCOSS2' %} do_testing: true test_reference_filename: {{ HOMEgfs }}/sorc/gdas.cd/test/testreference/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_lgetkf-fv3inc.ref test_output_filename: {{ HOMEgfs }}/sorc/gdas.cd/build/gdas/test/testoutput/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_lgetkf-fv3inc.test.out diff --git a/test/gw-ci/atm/jcb-prototype_lgetkf_observer_ufs_hybatmDA.yaml.j2 b/test/gw-ci/atm/jcb-prototype_lgetkf_observer_ufs_hybatmDA.yaml.j2 index 031ba0a51..5a8330587 100644 --- a/test/gw-ci/atm/jcb-prototype_lgetkf_observer_ufs_hybatmDA.yaml.j2 +++ b/test/gw-ci/atm/jcb-prototype_lgetkf_observer_ufs_hybatmDA.yaml.j2 @@ -47,7 +47,7 @@ distribution_type: RoundRobin # Testing things # -------------- -{% if DO_TEST_MODE == true and RUN == 'enkfgdas' and current_cycle | to_YMDH == '2024022400' %} +{% if DO_TEST_MODE == true and RUN == 'enkfgdas' and current_cycle | to_YMDH == '2024022400' and machine != 'WCOSS2' %} do_testing: true test_reference_filename: {{ HOMEgfs }}/sorc/gdas.cd/test/testreference/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_lgetkf_observer.ref test_output_filename: {{ HOMEgfs }}/sorc/gdas.cd/build/gdas/test/testoutput/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_lgetkf_observer.test.out diff --git a/test/gw-ci/atm/jcb-prototype_lgetkf_solver_ufs_hybatmDA.yaml.j2 b/test/gw-ci/atm/jcb-prototype_lgetkf_solver_ufs_hybatmDA.yaml.j2 index 3523bbcfe..fed452f20 100644 --- a/test/gw-ci/atm/jcb-prototype_lgetkf_solver_ufs_hybatmDA.yaml.j2 +++ b/test/gw-ci/atm/jcb-prototype_lgetkf_solver_ufs_hybatmDA.yaml.j2 @@ -50,7 +50,7 @@ distribution_type: Halo # Testing things # -------------- -{% if DO_TEST_MODE == true and RUN == 'enkfgdas' and current_cycle | to_YMDH == '2024022400' %} +{% if DO_TEST_MODE == true and RUN == 'enkfgdas' and current_cycle | to_YMDH == '2024022400' and machine != 'WCOSS2' %} do_testing: true test_reference_filename: {{ HOMEgfs }}/sorc/gdas.cd/test/testreference/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_lgetkf_solver.ref test_output_filename: {{ HOMEgfs }}/sorc/gdas.cd/build/gdas/test/testoutput/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_lgetkf_solver.test.out diff --git a/test/gw-ci/atm/jcb-prototype_lgetkf_ufs_hybatmDA.yaml.j2 b/test/gw-ci/atm/jcb-prototype_lgetkf_ufs_hybatmDA.yaml.j2 index befc637e9..907cbbcd7 100644 --- a/test/gw-ci/atm/jcb-prototype_lgetkf_ufs_hybatmDA.yaml.j2 +++ b/test/gw-ci/atm/jcb-prototype_lgetkf_ufs_hybatmDA.yaml.j2 @@ -41,7 +41,7 @@ observations: # Testing things # -------------- -{% if DO_TEST_MODE == true and RUN == 'enkfgdas' and current_cycle | to_YMDH == '2024022400' %} +{% if DO_TEST_MODE == true and RUN == 'enkfgdas' and current_cycle | to_YMDH == '2024022400' and machine != 'WCOSS2' %} do_testing: true test_reference_filename: {{ HOMEgfs }}/sorc/gdas.cd/test/testreference/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_lgetkf.ref test_output_filename: {{ HOMEgfs }}/sorc/gdas.cd/build/gdas/test/testoutput/{{ CASE }}{{ CASE_ENS }}_ufs_hybatmDA_lgetkf.test.out diff --git a/test/gw-ci/soca/jcb-prototype_3dfgat_3DVarAOWCDA.yaml.j2 b/test/gw-ci/soca/jcb-prototype_3dfgat_3DVarAOWCDA.yaml.j2 index bd17e8d19..2e38b9872 100644 --- a/test/gw-ci/soca/jcb-prototype_3dfgat_3DVarAOWCDA.yaml.j2 +++ b/test/gw-ci/soca/jcb-prototype_3dfgat_3DVarAOWCDA.yaml.j2 @@ -6,7 +6,7 @@ observations: !INC ${OBS_LIST_SHORT} # Testing things # -------------- -{% if DO_TEST_MODE == true and RUN == 'gdas' and current_cycle | to_YMDH == '2021032418' %} +{% if DO_TEST_MODE == true and RUN == 'gdas' and current_cycle | to_YMDH == '2021032418' and machine != 'WCOSS2' %} do_testing: true test_reference_filename: '{{HOMEgfs}}/sorc/gdas.cd/test/testreference/{{ CASE }}mx{{ OCNRES }}_3DVarAOWCDA_3dfgat.ref' test_output_filename: '{{HOMEgfs}}/sorc/gdas.cd/build/gdas/test/testoutput/{{ CASE }}mx{{ OCNRES }}_3DVarAOWCDA_3dfgat.test.out' From ea25002a066a42986ae5c5dd030713c39288bbca Mon Sep 17 00:00:00 2001 From: Guillaume Vernieres Date: Fri, 6 Dec 2024 09:09:35 -0500 Subject: [PATCH 02/18] Turn the GFSv17 test off (#1403) --- test/gw-ci/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/gw-ci/CMakeLists.txt b/test/gw-ci/CMakeLists.txt index a248310fa..b3095f76e 100644 --- a/test/gw-ci/CMakeLists.txt +++ b/test/gw-ci/CMakeLists.txt @@ -248,7 +248,7 @@ if (WORKFLOW_TESTS) option(TEST_GFS18 "Enable the GFSv18 Atmos JEDI tests" ON) option(TEST_AERO_LAND "Enable the GFSv17 Aero-Land JEDI tests" ON) option(TEST_MARINE "Enable the GFSv17 Marine JEDI tests" ON) - option(TEST_GFS17 "Enable the GFSv17 WCDA tests" ON) + option(TEST_GFS17 "Enable the GFSv17 WCDA tests" OFF) # Setup the environement set(HOMEgfs ${CMAKE_SOURCE_DIR}/../../..) From e39db4e8b5353bdf94406b3c048b9778b09745ee Mon Sep 17 00:00:00 2001 From: Guillaume Vernieres Date: Fri, 6 Dec 2024 16:06:37 -0500 Subject: [PATCH 03/18] Encapsulate the marine 3dvar and hyb ctests under different cmake conditionals (#1405) That's not fixing #1404 , but that should allow the nightly `ci` to not complain while @AndrewEichmann-NOAA or myself figure out a fix. --- test/gw-ci/CMakeLists.txt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/test/gw-ci/CMakeLists.txt b/test/gw-ci/CMakeLists.txt index b3095f76e..54f5d4637 100644 --- a/test/gw-ci/CMakeLists.txt +++ b/test/gw-ci/CMakeLists.txt @@ -247,7 +247,8 @@ if (WORKFLOW_TESTS) option(TEST_GSI "Enable the GFSv17 GSI tests" ON) option(TEST_GFS18 "Enable the GFSv18 Atmos JEDI tests" ON) option(TEST_AERO_LAND "Enable the GFSv17 Aero-Land JEDI tests" ON) - option(TEST_MARINE "Enable the GFSv17 Marine JEDI tests" ON) + option(TEST_MARINE_VAR "Enable the GFSv17 Marine JEDI 3D VAR FGAT tests" ON) + option(TEST_MARINE_HYB "Enable the GFSv17 Marine JEDI 3d HYB VAR tests" OFF) option(TEST_GFS17 "Enable the GFSv17 WCDA tests" OFF) # Setup the environement @@ -354,7 +355,7 @@ if (WORKFLOW_TESTS) add_cycling_tests(${pslot} ${YAML_PATH} ${HOMEgfs} ${WORKING_DIRECTORY} ${PROJECT_SOURCE_DIR} "${HALF_CYCLE_TASKS}" "${FULL_CYCLE_TASKS}") endif() # TEST_AERO_LAND - if(${TEST_MARINE}) + if(${TEST_MARINE_VAR}) # GSI Atm DA C48, JEDI Marine DA 500 # ---------------------------------- set(pslot "C48mx500_3DVarAOWCDA") @@ -376,11 +377,11 @@ if (WORKFLOW_TESTS) #"gdas_fcst" ) add_cycling_tests(${pslot} ${YAML_PATH} ${HOMEgfs} ${WORKING_DIRECTORY} ${PROJECT_SOURCE_DIR} "${HALF_CYCLE_TASKS}" "${FULL_CYCLE_TASKS}") + endif() # TEST_MARINE_VAR - + if(${TEST_MARINE_HYB}) # WCDA, low-res, ensemble da # ------------- - set(pslot "C48mx500_hybAOWCDA") set(letkf TRUE) set(YAML_PATH ${HOMEgfs}/ci/cases/pr/${pslot}.yaml) @@ -400,7 +401,7 @@ if (WORKFLOW_TESTS) ) add_cycling_tests(${pslot} ${YAML_PATH} ${HOMEgfs} ${WORKING_DIRECTORY} ${PROJECT_SOURCE_DIR} "${HALF_CYCLE_TASKS}" "${FULL_CYCLE_TASKS}") set(letkf FALSE) - endif() # TEST_MARINE + endif() # TEST_MARINE_HYB # GFSv17, 3DVAR prototype # ----------------------- From d9b40c9bde1e5e70451f309a5e010267aaadba00 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Wed, 11 Dec 2024 08:22:46 -0500 Subject: [PATCH 04/18] update C96C48_ufs_hybatmDA 3dvar and 3dvar-fv3inc reference files (#1412) This PR updates two references files for C96C48_ufs_hybatmDA g-w CI - atmanlvar: `C96C48_ufs_hybatmDA_3dvar.ref` - atmanlfv3inc: `C96C48_ufs_hybatmDA_3dvar-fv3inc.ref` Resolves #1411 g-w PR [#3120](https://github.com/NOAA-EMC/global-workflow/pull/3120) requires the changes in this PR be merged into GDASApp `develop` followed by an update to the `sorc/gdas.cd` hash in [#3120](https://github.com/NOAA-EMC/global-workflow/pull/3120). --- .../C96C48_ufs_hybatmDA_3dvar-fv3inc.ref | 50 +++--- .../C96C48_ufs_hybatmDA_3dvar.ref | 162 +++++++++--------- 2 files changed, 106 insertions(+), 106 deletions(-) diff --git a/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref b/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref index 6f3adb18d..13ea734e1 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref @@ -2,40 +2,40 @@ Background State: ---------------------------------------------------------------------------------------------------- State print | number of fields = 9 | cube sphere face size: C96 -eastward_wind | Min:-8.7593299865722656e+01 Max:+1.1421906280517578e+02 RMS:+1.7446423933066384e+01 -northward_wind | Min:-9.0978759765625000e+01 Max:+8.9302459716796875e+01 RMS:+9.8048456519148388e+00 -air_temperature | Min:+1.7290483093261719e+02 Max:+3.1017132568359375e+02 RMS:+2.5022377762999352e+02 -air_pressure_at_surface | Min:+5.1309082031250000e+04 Max:+1.0433011718750000e+05 RMS:+9.8914626690611054e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986069576607e-10 Max:+2.1381899714469910e-02 RMS:+5.0230919069545812e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.7223520707339048e-04 RMS:+9.4296924830407741e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6279185656458139e-03 RMS:+3.7809568286336720e-05 -ozone_mass_mixing_ratio | Min:+3.6120087476554374e-10 Max:+1.7313132048002444e-05 RMS:+4.4655432291945023e-06 +eastward_wind | Min:-8.7592788696289062e+01 Max:+1.1420372772216797e+02 RMS:+1.7446404472691281e+01 +northward_wind | Min:-9.0942382812500000e+01 Max:+8.9295417785644531e+01 RMS:+9.8048421589139405e+00 +air_temperature | Min:+1.7290422058105469e+02 Max:+3.1315420532226562e+02 RMS:+2.5022388437472281e+02 +air_pressure_at_surface | Min:+5.1310074218750000e+04 Max:+1.0433036718750000e+05 RMS:+9.8914635448501256e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986069576607e-10 Max:+2.1415401250123978e-02 RMS:+5.0229746689082278e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6551990564912558e-04 RMS:+9.4433791173374609e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6047930112108588e-03 RMS:+3.7857742029092217e-05 +ozone_mass_mixing_ratio | Min:+3.6144315318509257e-10 Max:+1.7313457647105679e-05 RMS:+4.4655429944475609e-06 geopotential_height_at_surface | Min:-2.9894643783569336e+01 Max:+5.3870561523437500e+03 RMS:+6.4442219321892003e+02 ---------------------------------------------------------------------------------------------------- JEDI Increment: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 8 | cube sphere face size: C48 -eastward_wind | Min:-2.1115621251510674e-07 Max:+1.1444664416160322e-07 RMS:+1.8401316033983295e-09 -northward_wind | Min:-1.0219621415785696e-07 Max:+2.6249988138715707e-07 RMS:+1.8295902505163720e-09 -air_temperature | Min:-5.2000757477799198e-08 Max:+6.6504355800134363e-08 RMS:+7.1626194815483433e-10 -air_pressure_at_surface | Min:-2.0445149857550859e-06 Max:+9.8957389127463102e-07 RMS:+4.2160438885855514e-08 -water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5212104499554586e-11 Max:+2.4915642032191654e-11 RMS:+2.7352479311235747e-13 -cloud_liquid_ice | Min:-5.2622388732733935e-13 Max:+3.8117236092690345e-13 RMS:+3.4198803820164734e-15 -cloud_liquid_water | Min:-1.1565164516162685e-11 Max:+3.1649457890922744e-12 RMS:+1.5995494806702646e-14 -ozone_mass_mixing_ratio | Min:-1.0346794247831136e-06 Max:+1.3451623930433847e-06 RMS:+3.6858146749007146e-08 +eastward_wind | Min:-2.1104214908973518e-07 Max:+1.1736051952482285e-07 RMS:+1.8431594710970867e-09 +northward_wind | Min:-1.0221288349043789e-07 Max:+2.6263771957246718e-07 RMS:+1.8329393452740470e-09 +air_temperature | Min:-5.2004679673700593e-08 Max:+6.6517316099634627e-08 RMS:+7.1801194123089184e-10 +air_pressure_at_surface | Min:-2.0490406313911080e-06 Max:+1.0001531336456537e-06 RMS:+4.2327499728681351e-08 +water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5231274061325868e-11 Max:+2.4874782355438496e-11 RMS:+2.7330286562520457e-13 +cloud_liquid_ice | Min:-5.3419200757732349e-13 Max:+3.8042151577058992e-13 RMS:+3.4015518165043927e-15 +cloud_liquid_water | Min:-1.1765328593099297e-11 Max:+3.1901271699210487e-12 RMS:+1.6320182492361654e-14 +ozone_mass_mixing_ratio | Min:-1.0347438083764173e-06 Max:+1.3451924489686076e-06 RMS:+3.6862408690065606e-08 ---------------------------------------------------------------------------------------------------- FV3 Increment: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 9 | cube sphere face size: C48 -eastward_wind | Min:-2.1115621251510674e-07 Max:+1.1444664416160322e-07 RMS:+1.8401316033983295e-09 -northward_wind | Min:-1.0219621415785696e-07 Max:+2.6249988138715707e-07 RMS:+1.8295902505163720e-09 -air_temperature | Min:-5.2000757477799198e-08 Max:+6.6504355800134363e-08 RMS:+7.1626194815483433e-10 -water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5212104499554586e-11 Max:+2.4915642032191654e-11 RMS:+2.7352479311235747e-13 -cloud_liquid_ice | Min:-5.2622388732733935e-13 Max:+3.8117236092690345e-13 RMS:+3.4198803820164734e-15 -cloud_liquid_water | Min:-1.1565164516162685e-11 Max:+3.1649457890922744e-12 RMS:+1.5995494806702646e-14 -ozone_mass_mixing_ratio | Min:-1.0346794247831136e-06 Max:+1.3451623930433847e-06 RMS:+3.6858146749007146e-08 -air_pressure_thickness | Min:-3.8906364352442324e-08 Max:+1.7884758563013747e-08 RMS:+4.2747856122164087e-10 -layer_thickness | Min:-1.9763365344260819e-07 Max:+1.8311084204469807e-07 RMS:+3.6402384455212584e-09 +eastward_wind | Min:-2.1104214908973518e-07 Max:+1.1736051952482285e-07 RMS:+1.8431594710970867e-09 +northward_wind | Min:-1.0221288349043789e-07 Max:+2.6263771957246718e-07 RMS:+1.8329393452740470e-09 +air_temperature | Min:-5.2004679673700593e-08 Max:+6.6517316099634627e-08 RMS:+7.1801194123089184e-10 +water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5231274061325868e-11 Max:+2.4874782355438496e-11 RMS:+2.7330286562520457e-13 +cloud_liquid_ice | Min:-5.3419200757732349e-13 Max:+3.8042151577058992e-13 RMS:+3.4015518165043927e-15 +cloud_liquid_water | Min:-1.1765328593099297e-11 Max:+3.1901271699210487e-12 RMS:+1.6320182492361654e-14 +ozone_mass_mixing_ratio | Min:-1.0347438083764173e-06 Max:+1.3451924489686076e-06 RMS:+3.6862408690065606e-08 +air_pressure_thickness | Min:-3.9065980672603473e-08 Max:+1.8055516193271615e-08 RMS:+4.2929160742721524e-10 +layer_thickness | Min:-1.9778599380515516e-07 Max:+1.8311129679204896e-07 RMS:+3.6422980752322292e-09 ---------------------------------------------------------------------------------------------------- diff --git a/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref b/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref index 711f08fb2..f40a76a14 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref @@ -1,53 +1,53 @@ CostJb : Nonlinear Jb = 0.0000000000000000e+00 -CostJo : Nonlinear Jo(Aircraft) = 6.0590797038184456e+05, nobs = 504555, Jo/n = 1.2008759607611550e+00, err = 2.2437239435917040e+00 -CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 1.5949936485170507e+04, nobs = 26314, Jo/n = 6.0613880387514274e-01, err = 1.8277692518568445e+00 -CostJo : Nonlinear Jo(ATMS N20) = 4.8387730216799086e+04, nobs = 156588, Jo/n = 3.0901301643037199e-01, err = 5.2594000470964719e+00 -CostJo : Nonlinear Jo(surface_ps) = 2.6308196193705146e+04, nobs = 107322, Jo/n = 2.4513330159431565e-01, err = 5.9305643428180190e+02 -CostJo : Nonlinear Jo(gnssrobndnbam) = 6.1501893265653157e+05, nobs = 473864, Jo/n = 1.2978806844506685e+00, err = 3.2933330370258057e-04 -CostJo : Nonlinear Jo(ompsnp_npp) = 2.1269336098572853e+03, nobs = 3087, Jo/n = 6.8899695816562534e-01, err = 2.4001367423170068e+00 -CostJo : Nonlinear Jo(ompstc_npp) = 3.3784707883660294e+03, nobs = 3696, Jo/n = 9.1408841676570063e-01, err = 6.0000000000000000e+00 -CostJo : Nonlinear Jo(satwind_goes-16) = 6.9383960384868606e+03, nobs = 193154, Jo/n = 3.5921575729660586e-02, err = 1.1892541771722902e+01 -CostFunction: Nonlinear J = 1.3240165663707610e+06 -DRPCGMinimizer: reduction in residual norm = 2.8257552285466486e-01 +CostJo : Nonlinear Jo(Aircraft) = 6.0606844576066174e+05, nobs = 504557, Jo/n = 1.2011892526724666e+00, err = 2.2437324101760723e+00 +CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 1.5968170448595794e+04, nobs = 26316, Jo/n = 6.0678562276165804e-01, err = 1.8364210519358450e+00 +CostJo : Nonlinear Jo(ATMS N20) = 4.8373816192326645e+04, nobs = 156530, Jo/n = 3.0903862641235957e-01, err = 5.2871810338770340e+00 +CostJo : Nonlinear Jo(surface_ps) = 2.6328077840545666e+04, nobs = 107321, Jo/n = 2.4532083972890362e-01, err = 5.9310900770540900e+02 +CostJo : Nonlinear Jo(gnssrobndnbam) = 6.1573402729585022e+05, nobs = 473864, Jo/n = 1.2993897559127729e+00, err = 3.2910028220139385e-04 +CostJo : Nonlinear Jo(ompsnp_npp) = 2.1269353856325674e+03, nobs = 3087, Jo/n = 6.8899753340867098e-01, err = 2.4001367423170068e+00 +CostJo : Nonlinear Jo(ompstc_npp) = 3.3788715965129627e+03, nobs = 3696, Jo/n = 9.1419686052839899e-01, err = 6.0000000000000000e+00 +CostJo : Nonlinear Jo(satwind_goes-16) = 6.9385876400056341e+03, nobs = 193154, Jo/n = 3.5922567692129773e-02, err = 1.1892549654020236e+01 +CostFunction: Nonlinear J = 1.3249169321601309e+06 +DRPCGMinimizer: reduction in residual norm = 2.8258370598410804e-01 CostFunction::addIncrement: Analysis: ---------------------------------------------------------------------------------------------------- State print | number of fields = 22 | cube sphere face size: C96 -eastward_wind | Min:-8.7593299865709369e+01 Max:+1.1421906280506562e+02 RMS:+1.7446423933063677e+01 -northward_wind | Min:-9.0978759765616502e+01 Max:+8.9302459716826505e+01 RMS:+9.8048456519093889e+00 -air_temperature | Min:+1.7290483093261747e+02 Max:+3.1017132568363934e+02 RMS:+2.5022377762999326e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837935791015625e+03 RMS:+9.5699700087025974e+02 -air_pressure_at_surface | Min:+5.1309082031249884e+04 Max:+1.0433011718749903e+05 RMS:+9.8914626690610530e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986088507587e-10 Max:+2.1381899714470930e-02 RMS:+5.0230919069543158e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.7223520707321528e-04 RMS:+9.4296924830162644e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6279185656660684e-03 RMS:+3.7809568286304757e-05 -ozone_mass_mixing_ratio | Min:+3.8859406171368113e-10 Max:+1.7313133576612057e-05 RMS:+4.4663053755671636e-06 +eastward_wind | Min:-8.7592788696275591e+01 Max:+1.1420372772205714e+02 RMS:+1.7446404472688581e+01 +northward_wind | Min:-9.0942382812491388e+01 Max:+8.9295417785674104e+01 RMS:+9.8048421589085084e+00 +air_temperature | Min:+1.7290422058105528e+02 Max:+3.1315420532226460e+02 RMS:+2.5022388437472264e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837974853515625e+03 RMS:+9.5699710058314167e+02 +air_pressure_at_surface | Min:+5.1310074218749884e+04 Max:+1.0433036718749903e+05 RMS:+9.8914635448500718e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986088807812e-10 Max:+2.1415401250122534e-02 RMS:+5.0229746689079710e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6551990564897021e-04 RMS:+9.4433791173126479e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6047930112247253e-03 RMS:+3.7857742029061107e-05 +ozone_mass_mixing_ratio | Min:+3.8882309781502605e-10 Max:+1.7313459163571451e-05 RMS:+4.4663044274321460e-06 geopotential_height_at_surface | Min:-2.9894643783569336e+01 Max:+5.3870561523437500e+03 RMS:+6.4442219321892003e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5312859958249614e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.6371386718750000e+02 RMS:+2.2054824502787593e+01 -skin_temperature_at_surface | Min:+2.1746235656738281e+02 Max:+3.2932260131835938e+02 RMS:+2.8737006087270038e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.6371386718750000e+02 RMS:+2.2054849675238717e+01 +skin_temperature_at_surface | Min:+2.1751564025878906e+02 Max:+3.2932901000976562e+02 RMS:+2.8737009990940771e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+5.8667091445155686e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.3549806522511076e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8026573181152344e+01 RMS:+1.9275201636346665e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.2045886230468750e+02 RMS:+2.8806776004459306e+02 -soilMoistureVolumetric | Min:+2.1923782303929329e-02 Max:+1.0000000000000000e+00 RMS:+8.6145451167852249e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327475547790527e+00 RMS:+1.5878111306662487e-01 -eastward_wind_at_surface | Min:-1.8106302261352539e+01 Max:+2.0922132492065430e+01 RMS:+5.2142386237867280e+00 -northward_wind_at_surface | Min:-2.0834318161010742e+01 Max:+1.9025196075439453e+01 RMS:+4.8322666159970842e+00 -f10m | Min:+9.3901658058166504e-01 Max:+1.0698120594024658e+00 RMS:+9.9592865511053685e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.2046487426757812e+02 RMS:+2.8806774790646296e+02 +soilMoistureVolumetric | Min:+2.1923899650573730e-02 Max:+1.0000000000000000e+00 RMS:+8.6145456848034108e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327471971511841e+00 RMS:+1.5878139626776816e-01 +eastward_wind_at_surface | Min:-1.8225927352905273e+01 Max:+2.0850345611572266e+01 RMS:+5.2152469416928211e+00 +northward_wind_at_surface | Min:-2.0722259521484375e+01 Max:+1.8973911285400391e+01 RMS:+4.8326658038230939e+00 +f10m | Min:+9.3893623352050781e-01 Max:+1.0697102546691895e+00 RMS:+9.9592863182329672e-01 ---------------------------------------------------------------------------------------------------- Obs bias coefficients: --------------------------------------------------------------- - constant: Min= -0.8381630182271099, Max= 0.8200770020481498, Norm= 2.2810923110282308 - lapseRate_order_2: Min= -0.2969009876260876, Max= 0.3889850080012900, Norm= 0.7014865852485521 - lapseRate: Min= -0.5954660177230082, Max= 1.6232719421370738, Norm= 2.1316868531033393 - emissivityJacobian: Min= -0.0097089996561411, Max= 8.3582897185072884, Norm= 10.2580018725806656 -sensorScanAngle_order_4: Min= -3.4036920070662289, Max= 0.8113600015621025, Norm= 4.8886281019448123 -sensorScanAngle_order_3: Min= -0.7697319984440882, Max= 0.3303030133246191, Norm= 0.9762309707883376 -sensorScanAngle_order_2: Min= -0.5401099920283099, Max= 2.2389800548543319, Norm= 2.4920946301939773 - sensorScanAngle: Min= -0.1069049984217430, Max= 0.4472059905526856, Norm= 0.8480380113023768 + constant: Min= -0.8381630182271103, Max= 0.8200770020481464, Norm= 2.2810923110282295 + lapseRate_order_2: Min= -0.2969009876260886, Max= 0.3889850080012888, Norm= 0.7014865852485507 + lapseRate: Min= -0.5954660177230053, Max= 1.6232719421370700, Norm= 2.1316868531033371 + emissivityJacobian: Min= -0.0097089996561411, Max= 8.3582897185071996, Norm= 10.2580018725806550 +sensorScanAngle_order_4: Min= -3.4036920070662386, Max= 0.8113600015621150, Norm= 4.8886281019448212 +sensorScanAngle_order_3: Min= -0.7697319984441006, Max= 0.3303030133246321, Norm= 0.9762309707883496 +sensorScanAngle_order_2: Min= -0.5401099920283077, Max= 2.2389800548543417, Norm= 2.4920946301939964 + sensorScanAngle: Min= -0.1069049984217376, Max= 0.4472059905526881, Norm= 0.8480380113023748 --------------------------------------------------------------- @@ -55,56 +55,56 @@ sensorScanAngle_order_2: Min= -0.5401099920283099, Max= 2.2389800548543319, N -CostJb : Nonlinear Jb = 0.0000000000001377 -CostJo : Nonlinear Jo(Aircraft) = 605907.9700265740975738, nobs = 504555, Jo/n = 1.2008759600570287, err = 2.2437239435917040 -CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15949.9364848986988363, nobs = 26314, Jo/n = 0.6061388038648133, err = 1.8277692518568445 -CostJo : Nonlinear Jo(ATMS N20) = 48387.7302149529932649, nobs = 156588, Jo/n = 0.3090130164185825, err = 5.2594000470964719 -CostJo : Nonlinear Jo(surface_ps) = 26308.1961930343022686, nobs = 107322, Jo/n = 0.2451333015880649, err = 593.0564342818018986 -CostJo : Nonlinear Jo(gnssrobndnbam) = 615018.9326265617273748, nobs = 473864, Jo/n = 1.2978806843874229, err = 0.0003293333037026 -CostJo : Nonlinear Jo(ompsnp_npp) = 1931.1242066182112467, nobs = 3087, Jo/n = 0.6255666364166541, err = 2.4001367423170068 -CostJo : Nonlinear Jo(ompstc_npp) = 1175.2354163386241908, nobs = 3696, Jo/n = 0.3179749503080693, err = 6.0000000000000000 -CostJo : Nonlinear Jo(satwind_goes-16) = 6938.3960383742578415, nobs = 193154, Jo/n = 0.0359215757290776, err = 11.8925417717229021 -CostFunction: Nonlinear J = 1321617.5212073526345193 -DRPCGMinimizer: reduction in residual norm = 0.8446076379600224 +CostJb : Nonlinear Jb = 0.0000000000001376 +CostJo : Nonlinear Jo(Aircraft) = 606068.4454102631425485, nobs = 504557, Jo/n = 1.2011892519779988, err = 2.2437324101760723 +CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15968.1704483220801194, nobs = 26316, Jo/n = 0.6067856227512570, err = 1.8364210519358450 +CostJo : Nonlinear Jo(ATMS N20) = 48373.8161910133785568, nobs = 156530, Jo/n = 0.3090386264039697, err = 5.2871810338770340 +CostJo : Nonlinear Jo(surface_ps) = 26328.0778398764305166, nobs = 107321, Jo/n = 0.2453208397226678, err = 593.1090077054089988 +CostJo : Nonlinear Jo(gnssrobndnbam) = 615734.0272653971333057, nobs = 473864, Jo/n = 1.2993897558485075, err = 0.0003291002822014 +CostJo : Nonlinear Jo(ompsnp_npp) = 1931.1360564953827179, nobs = 3087, Jo/n = 0.6255704750551936, err = 2.4001367423170068 +CostJo : Nonlinear Jo(ompstc_npp) = 1175.5942396372797702, nobs = 3696, Jo/n = 0.3180720345338960, err = 6.0000000000000000 +CostJo : Nonlinear Jo(satwind_goes-16) = 6938.5876398926775437, nobs = 193154, Jo/n = 0.0359225676915450, err = 11.8925496540202360 +CostFunction: Nonlinear J = 1322517.8550908972974867 +DRPCGMinimizer: reduction in residual norm = 0.8445199391454585 CostFunction::addIncrement: Analysis: ---------------------------------------------------------------------------------------------------- State print | number of fields = 22 | cube sphere face size: C96 -eastward_wind | Min:-8.7593299865597274e+01 Max:+1.1421906280413639e+02 RMS:+1.7446423933041416e+01 -northward_wind | Min:-9.0978759765544794e+01 Max:+8.9302459717076374e+01 RMS:+9.8048456518642482e+00 -air_temperature | Min:+1.7290483093261994e+02 Max:+3.1017132568402411e+02 RMS:+2.5022377762999653e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837935791015625e+03 RMS:+9.5699700087025974e+02 -air_pressure_at_surface | Min:+5.1309082031248872e+04 Max:+1.0433011718749085e+05 RMS:+9.8914626690605888e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986293294490e-10 Max:+2.1381899714479527e-02 RMS:+5.0230919069522385e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.7223520707173773e-04 RMS:+9.4296924828094189e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6279185658369072e-03 RMS:+3.7809568286035265e-05 -ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7393152519974760e-05 RMS:+4.4687802775349384e-06 +eastward_wind | Min:-8.7592788696161904e+01 Max:+1.1420372772112223e+02 RMS:+1.7446404472666426e+01 +northward_wind | Min:-9.0942382812418657e+01 Max:+8.9295417785923476e+01 RMS:+9.8048421588635115e+00 +air_temperature | Min:+1.7290422058106040e+02 Max:+3.1315420532225596e+02 RMS:+2.5022388437472588e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837974853515625e+03 RMS:+9.5699710058314167e+02 +air_pressure_at_surface | Min:+5.1310074218748872e+04 Max:+1.0433036718749083e+05 RMS:+9.8914635448496061e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986296092119e-10 Max:+2.1415401250110346e-02 RMS:+5.0229746689059735e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6551990564766006e-04 RMS:+9.4433791171032326e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6047930113416880e-03 RMS:+3.7857742028798947e-05 +ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7392912086162689e-05 RMS:+4.4687797542506526e-06 geopotential_height_at_surface | Min:-2.9894643783569336e+01 Max:+5.3870561523437500e+03 RMS:+6.4442219321892003e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5312859958249614e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.6371386718750000e+02 RMS:+2.2054824502787593e+01 -skin_temperature_at_surface | Min:+2.1746235656738281e+02 Max:+3.2932260131835938e+02 RMS:+2.8737006087270038e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.6371386718750000e+02 RMS:+2.2054849675238717e+01 +skin_temperature_at_surface | Min:+2.1751564025878906e+02 Max:+3.2932901000976562e+02 RMS:+2.8737009990940771e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+5.8667091445155686e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.3549806522511076e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8026573181152344e+01 RMS:+1.9275201636346665e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.2045886230468750e+02 RMS:+2.8806776004459306e+02 -soilMoistureVolumetric | Min:+2.1923782303929329e-02 Max:+1.0000000000000000e+00 RMS:+8.6145451167852249e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327475547790527e+00 RMS:+1.5878111306662487e-01 -eastward_wind_at_surface | Min:-1.8106302261352539e+01 Max:+2.0922132492065430e+01 RMS:+5.2142386237867280e+00 -northward_wind_at_surface | Min:-2.0834318161010742e+01 Max:+1.9025196075439453e+01 RMS:+4.8322666159970842e+00 -f10m | Min:+9.3901658058166504e-01 Max:+1.0698120594024658e+00 RMS:+9.9592865511053685e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.2046487426757812e+02 RMS:+2.8806774790646296e+02 +soilMoistureVolumetric | Min:+2.1923899650573730e-02 Max:+1.0000000000000000e+00 RMS:+8.6145456848034108e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327471971511841e+00 RMS:+1.5878139626776816e-01 +eastward_wind_at_surface | Min:-1.8225927352905273e+01 Max:+2.0850345611572266e+01 RMS:+5.2152469416928211e+00 +northward_wind_at_surface | Min:-2.0722259521484375e+01 Max:+1.8973911285400391e+01 RMS:+4.8326658038230939e+00 +f10m | Min:+9.3893623352050781e-01 Max:+1.0697102546691895e+00 RMS:+9.9592863182329672e-01 ---------------------------------------------------------------------------------------------------- Obs bias coefficients: --------------------------------------------------------------- - constant: Min= -0.8381630182312128, Max= 0.8200770020452602, Norm= 2.2810923110345662 - lapseRate_order_2: Min= -0.2969009876342316, Max= 0.3889850080009739, Norm= 0.7014865852476552 - lapseRate: Min= -0.5954660177223734, Max= 1.6232719421235957, Norm= 2.1316868530892328 - emissivityJacobian: Min= -0.0097089996561434, Max= 8.3582897174897202, Norm= 10.2580018711068170 -sensorScanAngle_order_4: Min= -3.4036920070781176, Max= 0.8113600015458797, Norm= 4.8886281019598847 -sensorScanAngle_order_3: Min= -0.7697319984481772, Max= 0.3303030133236201, Norm= 0.9762309707916220 -sensorScanAngle_order_2: Min= -0.5401099920369742, Max= 2.2389800548457712, Norm= 2.4920946301898259 - sensorScanAngle: Min= -0.1069049984223674, Max= 0.4472059905508586, Norm= 0.8480380112990616 + constant: Min= -0.8381630182312158, Max= 0.8200770020452273, Norm= 2.2810923110345529 + lapseRate_order_2: Min= -0.2969009876342417, Max= 0.3889850080009624, Norm= 0.7014865852476418 + lapseRate: Min= -0.5954660177223460, Max= 1.6232719421235593, Norm= 2.1316868530892110 + emissivityJacobian: Min= -0.0097089996561440, Max= 8.3582897174888426, Norm= 10.2580018711066714 +sensorScanAngle_order_4: Min= -3.4036920070782117, Max= 0.8113600015459965, Norm= 4.8886281019599771 +sensorScanAngle_order_3: Min= -0.7697319984482932, Max= 0.3303030133237422, Norm= 0.9762309707917334 +sensorScanAngle_order_2: Min= -0.5401099920369533, Max= 2.2389800548458663, Norm= 2.4920946301900089 + sensorScanAngle: Min= -0.1069049984223163, Max= 0.4472059905508821, Norm= 0.8480380112990435 --------------------------------------------------------------- @@ -112,13 +112,13 @@ sensorScanAngle_order_2: Min= -0.5401099920369742, Max= 2.2389800548457712, N -CostJb : Nonlinear Jb = 0.0000000000008880 -CostJo : Nonlinear Jo(Aircraft) = 605907.9670297848060727, nobs = 504555, Jo/n = 1.2008759541175587, err = 2.2437239435917040 -CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15949.9364826060973428, nobs = 26314, Jo/n = 0.6061388037776886, err = 1.8277692518568445 -CostJo : Nonlinear Jo(ATMS N20) = 48387.7301996692985995, nobs = 156588, Jo/n = 0.3090130163209780, err = 5.2594000470964719 -CostJo : Nonlinear Jo(surface_ps) = 26308.1961873747168283, nobs = 107322, Jo/n = 0.2451333015353303, err = 593.0564342818018986 -CostJo : Nonlinear Jo(gnssrobndnbam) = 615018.9323734971694648, nobs = 473864, Jo/n = 1.2978806838533781, err = 0.0003293333037026 -CostJo : Nonlinear Jo(ompsnp_npp) = 1105.2453930547394521, nobs = 3087, Jo/n = 0.3580321972966438, err = 2.4001367423170068 -CostJo : Nonlinear Jo(ompstc_npp) = 842.3521445536282499, nobs = 3696, Jo/n = 0.2279091300199211, err = 6.0000000000000000 -CostJo : Nonlinear Jo(satwind_goes-16) = 6938.3960374245170897, nobs = 193154, Jo/n = 0.0359215757241606, err = 11.8925417717229021 -CostFunction: Nonlinear J = 1320458.7558479649014771 +CostJb : Nonlinear Jb = 0.0000000000008884 +CostJo : Nonlinear Jo(Aircraft) = 606068.4424544476205483, nobs = 504557, Jo/n = 1.2011892461197597, err = 2.2437324101760723 +CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15968.1704460133005341, nobs = 26316, Jo/n = 0.6067856226635241, err = 1.8364210519358450 +CostJo : Nonlinear Jo(ATMS N20) = 48373.8161766625344171, nobs = 156530, Jo/n = 0.3090386263122886, err = 5.2871810338770340 +CostJo : Nonlinear Jo(surface_ps) = 26328.0778342283228994, nobs = 107321, Jo/n = 0.2453208396700396, err = 593.1090077054089988 +CostJo : Nonlinear Jo(gnssrobndnbam) = 615734.0270088119432330, nobs = 473864, Jo/n = 1.2993897553070330, err = 0.0003291002822014 +CostJo : Nonlinear Jo(ompsnp_npp) = 1105.1979338553026082, nobs = 3087, Jo/n = 0.3580168234063176, err = 2.4001367423170068 +CostJo : Nonlinear Jo(ompstc_npp) = 842.5716474092782846, nobs = 3696, Jo/n = 0.2279685193206922, err = 6.0000000000000000 +CostJo : Nonlinear Jo(satwind_goes-16) = 6938.5876389399190884, nobs = 193154, Jo/n = 0.0359225676866123, err = 11.8925496540202360 +CostFunction: Nonlinear J = 1321358.8911403683014214 From 547b82d77865973916b4f624e4cdb6084859dd03 Mon Sep 17 00:00:00 2001 From: JohnSteffen-NOAA <77806417+JohnSteffen-NOAA@users.noreply.github.com> Date: Wed, 11 Dec 2024 10:35:46 -0500 Subject: [PATCH 05/18] MIRS ICEC filename flexibility (#1409) The filename nomenclature for MIRS sea ice concentration is modified to use a wildcard in place of the hardcoded "revision" number since this changes annually from the data provider. --- parm/soca/obsprep/obsprep_config.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/parm/soca/obsprep/obsprep_config.yaml b/parm/soca/obsprep/obsprep_config.yaml index 3af8565e3..905f49be6 100644 --- a/parm/soca/obsprep/obsprep_config.yaml +++ b/parm/soca/obsprep/obsprep_config.yaml @@ -67,7 +67,7 @@ observations: provider: MIRS dmpdir subdir: ocean/icec type: nc - dmpdir regex: 'NPR-MIRS-IMG_v11r9_ma1_s*.nc' + dmpdir regex: 'NPR-MIRS-IMG_v11r?_ma1_s*.nc' ocean basin: RECCAP2_region_masks_all_v20221025.nc - obs space: @@ -75,7 +75,7 @@ observations: provider: MIRS dmpdir subdir: ocean/icec type: nc - dmpdir regex: 'NPR-MIRS-IMG_v11r9_n20_s*.nc' + dmpdir regex: 'NPR-MIRS-IMG_v11r?_n20_s*.nc' ocean basin: RECCAP2_region_masks_all_v20221025.nc - obs space: @@ -83,7 +83,7 @@ observations: provider: MIRS dmpdir subdir: ocean/icec type: nc - dmpdir regex: 'NPR-MIRS-IMG_v11r9_n21_s*.nc' + dmpdir regex: 'NPR-MIRS-IMG_v11r?_n21_s*.nc' ocean basin: RECCAP2_region_masks_all_v20221025.nc - obs space: @@ -91,7 +91,7 @@ observations: provider: MIRS dmpdir subdir: ocean/icec type: nc - dmpdir regex: 'NPR-MIRS-IMG_v11r4_npp_s*.nc' + dmpdir regex: 'NPR-MIRS-IMG_v11r?_npp_s*.nc' ocean basin: RECCAP2_region_masks_all_v20221025.nc - obs space: @@ -99,7 +99,7 @@ observations: provider: MIRS dmpdir subdir: ocean/icec type: nc - dmpdir regex: 'NPR-MIRS-IMG_v11r9_gpm_s*.nc' + dmpdir regex: 'NPR-MIRS-IMG_v11r?_gpm_s*.nc' ocean basin: RECCAP2_region_masks_all_v20221025.nc - obs space: @@ -107,7 +107,7 @@ observations: provider: MIRS dmpdir subdir: ocean/icec type: nc - dmpdir regex: 'NPR-MIRS-IMG_v11r4_f17_s*.nc' + dmpdir regex: 'NPR-MIRS-IMG_v11r?_f17_s*.nc' ocean basin: RECCAP2_region_masks_all_v20221025.nc # SST From a2ea3770aeb9d4308bde51bb1d8c9c94cc9534c8 Mon Sep 17 00:00:00 2001 From: Cory Martin Date: Wed, 11 Dec 2024 16:23:56 -0500 Subject: [PATCH 06/18] Update JCB-GDAS for Aerosol DA (#1389) Depends on https://github.com/NOAA-EMC/jcb-gdas/pull/48 --- parm/aero/berror/aero_diagb.yaml.j2 | 38 ++++++++++++++--------------- parm/aero/jcb-base.yaml.j2 | 17 +++++++------ 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/parm/aero/berror/aero_diagb.yaml.j2 b/parm/aero/berror/aero_diagb.yaml.j2 index c62947f1e..95be9e474 100644 --- a/parm/aero/berror/aero_diagb.yaml.j2 +++ b/parm/aero/berror/aero_diagb.yaml.j2 @@ -76,25 +76,25 @@ variables: - mass_fraction_of_sea_salt003_in_air - mass_fraction_of_sea_salt004_in_air -#global rescale: -# geometry: -# fms initialization: -# namelist filename: ./fv3jedi/fmsmpp.nml -# field table filename: ./fv3jedi/field_table -# akbk: ./fv3jedi/akbk.nc4 -# layout: -# - {{ layout_x }} -# - {{ layout_y }} -# npx: {{ npx_rescale }} -# npy: {{ npy_rescale }} -# npz: {{ npz_ges }} -# field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_restart.yaml -# rescale stddev: -# filetype: fms restart -# skip coupler file: true -# dateapath: ./stddev -# filename_trcr: rescale.fv_tracer.res.nc -# filename_cplr: rescale.coupler.res +global rescale: + geometry: + fms initialization: + namelist filename: ./fv3jedi/fmsmpp.nml + field table filename: ./fv3jedi/field_table + akbk: ./fv3jedi/akbk.nc4 + layout: + - {{ layout_x }} + - {{ layout_y }} + npx: {{ npx_rescale }} + npy: {{ npy_rescale }} + npz: {{ npz_ges }} + field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_restart.yaml + rescale stddev: + filetype: fms restart + skip coupler file: true + dateapath: ./stddev + filename_trcr: rescale.fv_tracer.res.nc + filename_cplr: rescale.coupler.res number of halo points: {{ aero_diagb_n_halo }} number of neighbors: {{ aero_diagb_n_neighbors }} diff --git a/parm/aero/jcb-base.yaml.j2 b/parm/aero/jcb-base.yaml.j2 index 86988206d..6d1cf7b7f 100644 --- a/parm/aero/jcb-base.yaml.j2 +++ b/parm/aero/jcb-base.yaml.j2 @@ -74,19 +74,22 @@ aero_background_error_time_fv3: "{{ background_time | to_fv3time }}" # Background error aero_berror_data_directory: "{{ DATA }}/berror" aero_berror_diffusion_directory: "{{ DATA }}/diffusion" -aero_standard_devation_path: ./stddev +aero_standard_deviation_path: ./stddev aero_climatological_b_path: ./clm_stddev +aero_rescale_b_path: ./rescale aero_diagb_weight: {{ aero_diagb_weight | default(1.0, true) }} aero_diagb_static_rescale_factor: {{aero_staticb_rescaling_factor | default(1.0, true) }} -aero_diagb_rescale_factor: {{aero_diagb_rescale | default(1.0, true) }} -aero_diagb_n_halo: {{ aero_diagb_n_halo | default(1, true) }} -aero_diagb_n_neighbors: {{ aero_diagb_n_neighbors | default(1, true) }} -aero_diagb_smooth_horiz_iter: {{ aero_diagb_smooth_horiz_iter | default(1, true) }} -aero_diagb_smooth_vert_iter: {{ aero_diagb_smooth_vert_iter | default(1, true) }} -aero_diffusion_iter: {{ aero_diffusion_iter | default(1, true) }} +aero_diagb_n_halo: {{ aero_diagb_n_halo | default(0) }} +aero_diagb_n_neighbors: {{ aero_diagb_n_neighbors | default(0) }} +aero_diagb_smooth_horiz_iter: {{ aero_diagb_smooth_horiz_iters | default(0) }} +aero_diagb_smooth_vert_iter: {{ aero_diagb_smooth_vert_iters | default(0) }} +aero_diffusion_iter: {{ aero_diffusion_iter | default(0) }} aero_diffusion_horiz_len: {{ aero_diffusion_horiz_len | default(1.0, true)}} aero_diffusion_fixed_val: {{ aero_diffusion_fixed_val | default(1.0, true)}} +# Analysis +aero_analysis_path: ./anl + # Forecasting aero_forecast_timestep: "{{ BKG_TSTEP }}" From 6659e33d17682b0883b4007289d54aa06a4ebf47 Mon Sep 17 00:00:00 2001 From: Guillaume Vernieres Date: Fri, 13 Dec 2024 11:29:47 -0500 Subject: [PATCH 07/18] Only run 2 members for the marine hybrid (#1413) # Automated CI tests to run in Global Workflow - [ ] atm_jjob - [ ] C96C48_ufs_hybatmDA - [ ] C96C48_hybatmaerosnowDA - [ ] C48mx500_3DVarAOWCDA - [x] C48mx500_hybAOWCDA - [ ] C96C48_hybatmDA --- test/gw-ci/CMakeLists.txt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/test/gw-ci/CMakeLists.txt b/test/gw-ci/CMakeLists.txt index 54f5d4637..35c66d0cd 100644 --- a/test/gw-ci/CMakeLists.txt +++ b/test/gw-ci/CMakeLists.txt @@ -6,16 +6,9 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo set(subtask_names_list "gdas_fcst_seg0") elseif("${task_name}" STREQUAL "enkfgdas_fcst") - if("${pslot}" STREQUAL "C48mx500_hybAOWCDA") - set(subtask_names_list - "enkfgdas_fcst_mem001" - "enkfgdas_fcst_mem002" - "enkfgdas_fcst_mem003") - else() set(subtask_names_list "enkfgdas_fcst_mem001" "enkfgdas_fcst_mem002") - endif() elseif("${task_name}" STREQUAL "gdas_atmos_prod") set(subtask_names_list "gdas_atmos_prod_f000" @@ -248,7 +241,7 @@ if (WORKFLOW_TESTS) option(TEST_GFS18 "Enable the GFSv18 Atmos JEDI tests" ON) option(TEST_AERO_LAND "Enable the GFSv17 Aero-Land JEDI tests" ON) option(TEST_MARINE_VAR "Enable the GFSv17 Marine JEDI 3D VAR FGAT tests" ON) - option(TEST_MARINE_HYB "Enable the GFSv17 Marine JEDI 3d HYB VAR tests" OFF) + option(TEST_MARINE_HYB "Enable the GFSv17 Marine JEDI 3d HYB VAR tests" ON) option(TEST_GFS17 "Enable the GFSv17 WCDA tests" OFF) # Setup the environement From d9a1af65f34ce410603e1880b33caf905adfba86 Mon Sep 17 00:00:00 2001 From: Cory Martin Date: Fri, 13 Dec 2024 14:06:39 -0500 Subject: [PATCH 08/18] Switch to 2DVar for snow DA + use JCB (#1410) Closes #1324 This PR, combined with a companion workflow PR, switches the snow analysis to be 2DVar for both deterministic and ensemble mean, to use JCB to generate YAMLs and to leverage the g-w Jedi class. It also updates the IMS snow cover processing hash to use `snodl` instead of `snwpdh` --- parm/jcb-gdas | 2 +- parm/snow/{letkfoi => }/apply_incr_nml.j2 | 0 parm/snow/{letkfoi => }/ens_apply_incr_nml.j2 | 4 +- parm/snow/jcb-base.yaml.j2 | 103 ++++++++-------- parm/snow/jcb-prototype_2dvar.yaml.j2 | 12 ++ parm/snow/letkfoi/letkfoi.yaml.j2 | 66 ----------- parm/snow/obs/config/adpsfc_snow.yaml.j2 | 109 ----------------- parm/snow/obs/config/ghcn_snow.yaml.j2 | 53 --------- parm/snow/obs/config/ims_snow.yaml.j2 | 46 -------- parm/snow/obs/config/sfcsno_snow.yaml.j2 | 110 ------------------ parm/snow/obs/config/snocvr_snow.yaml.j2 | 103 ---------------- parm/snow/prep/fims.nml.j2 | 2 +- parm/snow/prep/prep_ims.yaml.j2 | 4 +- sorc/land-imsproc | 2 +- 14 files changed, 67 insertions(+), 549 deletions(-) rename parm/snow/{letkfoi => }/apply_incr_nml.j2 (100%) rename parm/snow/{letkfoi => }/ens_apply_incr_nml.j2 (74%) create mode 100644 parm/snow/jcb-prototype_2dvar.yaml.j2 delete mode 100644 parm/snow/letkfoi/letkfoi.yaml.j2 delete mode 100644 parm/snow/obs/config/adpsfc_snow.yaml.j2 delete mode 100644 parm/snow/obs/config/ghcn_snow.yaml.j2 delete mode 100644 parm/snow/obs/config/ims_snow.yaml.j2 delete mode 100644 parm/snow/obs/config/sfcsno_snow.yaml.j2 delete mode 100644 parm/snow/obs/config/snocvr_snow.yaml.j2 diff --git a/parm/jcb-gdas b/parm/jcb-gdas index c9f2d7983..accd7a5bf 160000 --- a/parm/jcb-gdas +++ b/parm/jcb-gdas @@ -1 +1 @@ -Subproject commit c9f2d79833de83f342055140cac679e6e7ec9ff7 +Subproject commit accd7a5bf96524430d8d03a4b2d707eca4c48c13 diff --git a/parm/snow/letkfoi/apply_incr_nml.j2 b/parm/snow/apply_incr_nml.j2 similarity index 100% rename from parm/snow/letkfoi/apply_incr_nml.j2 rename to parm/snow/apply_incr_nml.j2 diff --git a/parm/snow/letkfoi/ens_apply_incr_nml.j2 b/parm/snow/ens_apply_incr_nml.j2 similarity index 74% rename from parm/snow/letkfoi/ens_apply_incr_nml.j2 rename to parm/snow/ens_apply_incr_nml.j2 index edd4b116f..4a85b8416 100644 --- a/parm/snow/letkfoi/ens_apply_incr_nml.j2 +++ b/parm/snow/ens_apply_incr_nml.j2 @@ -3,8 +3,8 @@ hour_str = "{{ current_cycle | strftime('%H') }}", res = {{ CASE_ENS[1:] }}, frac_grid = .true., - rst_path = "{{ DATAROOT }}/anl/mem{{ MYMEM }}", - inc_path = "{{ DATAROOT }}/inc/ensmean", + rst_path = "{{ DATA }}/anl/mem{{ MYMEM }}", + inc_path = "{{ DATA }}/anl", orog_path = "{{ HOMEgfs }}/fix/orog/{{ CASE_ENS }}", otype = "{{ CASE_ENS }}.mx{{ OCNRES }}_oro_data" / diff --git a/parm/snow/jcb-base.yaml.j2 b/parm/snow/jcb-base.yaml.j2 index 672b1bf8f..69e097d74 100644 --- a/parm/snow/jcb-base.yaml.j2 +++ b/parm/snow/jcb-base.yaml.j2 @@ -3,15 +3,13 @@ algorithm_path: "{{PARMgfs}}/gdas/jcb-algorithms" app_path_algorithm: "{{PARMgfs}}/gdas/jcb-gdas/algorithm/snow" app_path_model: "{{PARMgfs}}/gdas/jcb-gdas/model/snow" -app_path_observations: "{{PARMgfs}}/gdas/jcb-gdas/observations/atmosphere" -app_path_observation_chronicle: "{{PARMgfs}}/gdas/jcb-gdas/observation_chronicle/atmosphere" +app_path_observations: "{{PARMgfs}}/gdas/jcb-gdas/observations/snow" +app_path_observation_chronicle: "{{PARMgfs}}/gdas/jcb-gdas/observation_chronicle/snow" # Places where we deviate from the generic file name of a yaml # ------------------------------------------------------------ -#final_increment_file: final_increment_gaussian -final_increment_file: final_increment_cubed_sphere -output_ensemble_increments_file: output_ensemble_increments_gaussian +final_increment_file: snow_final_increment_fms model_file: model_pseudo initial_condition_file: background # Initial conditions for 4D apps is background @@ -23,60 +21,52 @@ window_length: "{{ SNOW_WINDOW_LENGTH }}" bound_to_include: begin # Default background time is for 3D applications -{% if DOIAU %} -{% set bkg_time_iso = SNOW_WINDOW_BEGIN | to_isotime %} -{% set bkg_time_fv3 = SNOW_WINDOW_BEGIN | to_fv3time %} -{% else %} {% set bkg_time_iso = current_cycle | to_isotime %} {% set bkg_time_fv3 = current_cycle | to_fv3time %} -{% endif %} snow_background_time_iso: "{{ bkg_time_iso }}" +snow_background_time_fv3: "{{ bkg_time_fv3 }}" snow_increment_time_iso: "{{ bkg_time_iso }}" snow_increment_time_fv3: "{{ bkg_time_fv3 }}" # Analysis standard things # ------------------------ -analysis_variables: [ua,va,t,ps,sphum,ice_wat,liq_wat,o3mr] +analysis_variables: [totalSnowDepth] minimizer: DRPCG final_diagnostics_departures: anlmob final_prints_frequency: PT3H cost_type: 3D-Var -number_of_outer_loops: 2 +number_of_outer_loops: 1 # Model things # ------------ # Geometry -layout_x: {{ layout_x | default(1, true) }} -layout_y: {{ layout_y | default(1, true) }} -npx_ges: {{ npx_ges | default(49, true) }} -npy_ges: {{ npy_ges | default(49, true) }} -npz_ges: {{ npz_ges | default(127, true) }} -npx_anl: {{ npx_anl | default(49, true) }} -npy_anl: {{ npy_anl | default(49, true) }} -npz_anl: {{ npz_anl | default(127, true) }} - -fv3jedi_files_path: ./fv3jedi # Ideally this would be {{DATA}}/fv3jedi but FMS +snow_layout_x: {{ layout_x | default(1, true) }} +snow_layout_y: {{ layout_y | default(1, true) }} +snow_npx_ges: {{ npx_ges | default(49, true) }} +snow_npy_ges: {{ npy_ges | default(49, true) }} +snow_npz_ges: {{ npz_ges | default(127, true) }} +snow_npx_anl: {{ npx_ges | default(49, true) }} +snow_npy_anl: {{ npy_ges | default(49, true) }} +snow_npz_anl: {{ npz_ges | default(127, true) }} + +snow_fv3jedi_files_path: ./fv3jedi # Ideally this would be {{DATA}}/fv3jedi but FMS +snow_orog_files_path: "{{ FIXgfs }}/orog/{{ CASE }}" +snow_orog_prefix: "{{ CASE }}.mx{{ OCNRES }}" # Background -background_path: ./bkg +snow_background_path: {{snow_bkg_path}} background_ensemble_path: ./ens/mem%mem% # Background error -bump_data_directory: "{{ DATA }}/berror" -gsibec_path: "{{ DATA }}/berror" +snow_bump_data_directory: "{{ DATA }}/berror" number_ensemble_members: {{ NMEM_ENS | default(1, true) }} -layout_gsib_x: {{ layout_gsib_x | default(1, true) }} -layout_gsib_y: {{ layout_gsib_y | default(1, true) }} -background_error_file: "{{BERROR_YAML}}" +snow_background_error_file: "{{BERROR_YAML}}" # Forecasting -forecast_length: "{{ ATM_WINDOW_LENGTH }}" -forecast_timestep: "{{ BKG_TSTEP }}" - -# Write final increment on Guassian grid in variational -final_increment_prefix: "./anl/atminc." +snow_forecast_length: "{{ SNOW_WINDOW_LENGTH }}" +snow_forecast_timestep: "{{ BKG_TSTEP }}" # Observation things @@ -86,29 +76,32 @@ observations: all_observations crtm_coefficient_path: "{{ DATA }}/crtm/" # Naming conventions for observational files -atm_obsdatain_path: "{{atm_obsdatain_path}}" -atm_obsdatain_prefix: "{{OPREFIX}}" -atm_obsdatain_suffix: ".tm00.nc" +snow_obsdataroot_path: "{{COMIN_OBS}}" +snow_obsdatain_path: "{{snow_obsdatain_path}}" +snow_obsdatain_prefix: "{{OPREFIX}}" +snow_obsdatain_suffix: ".tm00.bufr_d" -atm_obsdataout_path: "{{atm_obsdataout_path}}" -atm_obsdataout_prefix: diag_ -atm_obsdataout_suffix: "_{{ current_cycle | to_YMDH }}.nc" +snow_obsdataout_path: "{{snow_obsdataout_path}}" +snow_obsdataout_prefix: diag_ +snow_obsdataout_suffix: "_{{ current_cycle | to_YMDH }}.nc" # Naming conventions for bias correction files -atm_obsbiasin_path: "{{DATA}}/obs/" -atm_obsbiasin_prefix: "{{GPREFIX}}" -atm_obsbiasin_suffix: ".satbias.nc" -atm_obstlapsein_prefix: "{{GPREFIX}}" -atm_obstlapsein_suffix: ".tlapse.txt" -atm_obsbiascovin_prefix: "{{GPREFIX}}" -atm_obsbiascovin_suffix: ".satbias_cov.nc" - -atm_obsbiasout_path: "{{DATA}}/bc/" -atm_obsbiasout_prefix: "{{APREFIX}}" -atm_obsbiasout_suffix: ".satbias.nc" -atm_obsbiascovout_prefix: "{{APREFIX}}" -atm_obsbiascovout_suffix: ".satbias_cov.nc" - +snow_obsbiasin_path: "{{DATA}}/obs/" +snow_obsbiasin_prefix: "{{GPREFIX}}" +snow_obsbiasin_suffix: ".satbias.nc" +snow_obstlapsein_prefix: "{{GPREFIX}}" +snow_obstlapsein_suffix: ".tlapse.txt" +snow_obsbiascovin_prefix: "{{GPREFIX}}" +snow_obsbiascovin_suffix: ".satbias_cov.nc" + +snow_obsbiasout_path: "{{DATA}}/bc/" +snow_obsbiasout_prefix: "{{APREFIX}}" +snow_obsbiasout_suffix: ".satbias.nc" +snow_obsbiascovout_prefix: "{{APREFIX}}" +snow_obsbiascovout_suffix: ".satbias_cov.nc" + +# Ensemble mean things +snow_number_ensemble_members: {{NMEM_ENS}} # Local Ensemble DA (LETKF) # ------------------------- @@ -133,5 +126,5 @@ driver_save_posterior_mean_increment: false driver_save_posterior_ensemble_increments: true # Diagnostics -ensemble_increment_prefix: "./anl/mem%{member}%/atminc." -#posterior_output_gaussian: "./mem%{member}%/atmanl." +ensemble_increment_prefix: "./anl/mem%{member}%/snowinc." +#posterior_output_gaussian: "./mem%{member}%/snowanl." diff --git a/parm/snow/jcb-prototype_2dvar.yaml.j2 b/parm/snow/jcb-prototype_2dvar.yaml.j2 new file mode 100644 index 000000000..5fb43600c --- /dev/null +++ b/parm/snow/jcb-prototype_2dvar.yaml.j2 @@ -0,0 +1,12 @@ +# Algorithm +# --------- +algorithm: 3dvar + +# Observation things +# ------------------ +observations: +# - adpsfc_snow + - ims_snow +# - ghcn_snow + - sfcsno + - snocvr_snow diff --git a/parm/snow/letkfoi/letkfoi.yaml.j2 b/parm/snow/letkfoi/letkfoi.yaml.j2 deleted file mode 100644 index e96425581..000000000 --- a/parm/snow/letkfoi/letkfoi.yaml.j2 +++ /dev/null @@ -1,66 +0,0 @@ -geometry: - fms initialization: - namelist filename: ./fv3jedi/fmsmpp.nml - field table filename: ./fv3jedi/field_table - akbk: ./fv3jedi/akbk.nc4 - layout: - - {{ layout_x }} - - {{ layout_y }} - npx: {{ npx_ges }} - npy: {{ npy_ges }} - npz: {{ npz_ges }} - field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_restart.yaml - time invariant fields: - state fields: - datetime: '{{ SNOW_WINDOW_BEGIN | to_isotime }}' - filetype: fms restart - skip coupler file: true - state variables: [orog_filt] - datapath: {{ FIXgfs }}/orog/{{ CASE }}/ - filename_orog: {{ CASE }}.mx{{ OCNRES }}_oro_data.nc - -time window: - begin: '{{ SNOW_WINDOW_BEGIN | to_isotime }}' - length: {{ SNOW_WINDOW_LENGTH }} - bound to include: begin - -background: - datetime: '{{ current_cycle | to_isotime }}' - members from template: - template: - datetime: '{{ current_cycle | to_isotime }}' - filetype: fms restart - state variables: [snodl,vtype,slmsk] - datapath: ./bkg/mem%mem%/RESTART - filename_sfcd: '{{ current_cycle | to_fv3time }}.sfc_data.nc' - filename_cplr: '{{ current_cycle | to_fv3time }}.coupler.res' - pattern: '%mem%' - nmembers: 2 - zero padding: 3 - -observations: -{% filter indent(width=2) %} -{% set snow_obs_list = 'OBS_LIST' | getenv('snow/obs/lists/obs_list.yaml.j2') %} -{% include snow_obs_list %} -{% endfilter %} - -driver: - save posterior mean: false - save posterior ensemble: false - save posterior mean increment: true - -local ensemble DA: - solver: LETKF - inflation: - rtps: 0.0 - rtpp: 0.0 - mult: 1.0 - -output increment: - datapath: ./anl - prefix: snowinc - filetype: fms restart - filename_sfcd: '{{ current_cycle | to_fv3time }}.sfc_data.nc' - filename_cplr: '{{ current_cycle | to_fv3time }}.coupler.res' - state variables: [snodl,vtype,slmsk] - diff --git a/parm/snow/obs/config/adpsfc_snow.yaml.j2 b/parm/snow/obs/config/adpsfc_snow.yaml.j2 deleted file mode 100644 index 1ddcb7e21..000000000 --- a/parm/snow/obs/config/adpsfc_snow.yaml.j2 +++ /dev/null @@ -1,109 +0,0 @@ -- obs space: - name: adpsfc_snow - distribution: - name: Halo - halo size: 250e3 - obsdatain: - engine: - type: H5File - obsfile: './obs/{{ OPREFIX }}adpsfc_snow.nc4' - obsdataout: - engine: - type: H5File - obsfile: './diags/diag_adpsfc_snow.nc4' - simulated variables: [totalSnowDepth] - obs operator: - name: Composite - components: - - name: Identity - - name: BackgroundErrorIdentity - obs error: - covariance model: diagonal - obs localizations: - - localization method: Horizontal SOAR - lengthscale: 250e3 - soar horizontal decay: 0.000021 - max nobs: 50 - - localization method: Vertical Brasnett - vertical lengthscale: 700 - obs pre filters: - - filter: Perform Action - filter variables: - - name: totalSnowDepth - action: - name: assign error - error parameter: 40.0 - - filter: Variable Assignment - assignments: - - name: GrossErrorProbability/totalSnowDepth - type: float - value: 0.02 - - name: BkgError/totalSnowDepth_background_error - type: float - value: 30.0 - obs prior filters: - - filter: Bounds Check - filter variables: - - name: totalSnowDepth - minvalue: 0.0 - maxvalue: 2000.0 - action: - name: reject - - filter: Domain Check - where: - - variable: - name: MetaData/stationElevation - minvalue: -999.0 - - filter: Domain Check # land only - where: - - variable: - name: GeoVaLs/slmsk - minvalue: 0.5 - maxvalue: 1.5 - - filter: RejectList # no land-ice - where: - - variable: - name: GeoVaLs/vtype - minvalue: 14.5 - maxvalue: 15.5 - - filter: BlackList - where: - - variable: - name: MetaData/stationIdentification - is_in: [71120,71397,71621,71727,71816] - size where true: 5 - obs post filters: - - filter: Background Check # gross error check - filter variables: - - name: totalSnowDepth - threshold: 6.25 - action: - name: reject - - filter: Temporal Thinning - min_spacing: '{{ SNOW_WINDOW_LENGTH }}' - seed_time: '{{ current_cycle | to_isotime }}' - category_variable: - name: MetaData/stationIdentification - - filter: Met Office Buddy Check - filter variables: - - name: totalSnowDepth - rejection_threshold: 0.5 - traced_boxes: # trace all observations - min_latitude: -90 - max_latitude: 90 - min_longitude: -180 - max_longitude: 180 - search_radius: 150 # km - station_id_variable: - name: MetaData/stationIdentification - num_zonal_bands: 24 - sort_by_pressure: false - max_total_num_buddies: 15 - max_num_buddies_from_single_band: 10 - max_num_buddies_with_same_station_id: 5 - use_legacy_buddy_collector: false - horizontal_correlation_scale: { "-90": 150, "90": 150 } - temporal_correlation_scale: PT6H - damping_factor_1: 1.0 - damping_factor_2: 1.0 - background_error_group: BkgError diff --git a/parm/snow/obs/config/ghcn_snow.yaml.j2 b/parm/snow/obs/config/ghcn_snow.yaml.j2 deleted file mode 100644 index b2a037cf1..000000000 --- a/parm/snow/obs/config/ghcn_snow.yaml.j2 +++ /dev/null @@ -1,53 +0,0 @@ -- obs space: - name: ghcn_snow - distribution: - name: Halo - simulated variables: [totalSnowDepth] - obsdatain: - engine: - type: H5File - obsfile: './obs/{{ OPREFIX }}ghcn_snow_{{ current_cycle | to_YMDH }}.nc4' - obsdataout: - engine: - type: H5File - obsfile: './diags/diag_ghcn_snow_{{ current_cycle | to_YMDH }}.nc4' - - obs operator: - name: Identity - obs error: - covariance model: diagonal - obs localizations: - - localization method: Horizontal SOAR - lengthscale: 250e3 - soar horizontal decay: 0.000021 - max nobs: 50 - - localization method: Vertical Brasnett - vertical lengthscale: 700 - obs filters: - - filter: Bounds Check - filter variables: - - name: totalSnowDepth - minvalue: 0.0 - - filter: Domain Check - where: - - variable: - name: MetaData/height - minvalue: -999.0 - - filter: Domain Check # land only - where: - - variable: - name: GeoVaLs/slmsk - minvalue: 0.5 - maxvalue: 1.5 - - filter: RejectList # no land-ice - where: - - variable: - name: GeoVaLs/vtype - minvalue: 14.5 - maxvalue: 15.5 - - filter: Background Check - filter variables: - - name: totalSnowDepth - threshold: 6.25 - action: - name: reject diff --git a/parm/snow/obs/config/ims_snow.yaml.j2 b/parm/snow/obs/config/ims_snow.yaml.j2 deleted file mode 100644 index c222d0dfe..000000000 --- a/parm/snow/obs/config/ims_snow.yaml.j2 +++ /dev/null @@ -1,46 +0,0 @@ -- obs space: - name: ims_snow - distribution: - name: Halo - halo size: 250e3 - obsdatain: - engine: - type: H5File - obsfile: './obs/{{ OPREFIX }}ims_snow.nc4' - obsdataout: - engine: - type: H5File - obsfile: './diags/diag_ims_snow.nc4' - simulated variables: [totalSnowDepth] - obs operator: - name: Identity - obs error: - covariance model: diagonal - obs localizations: - - localization method: Horizontal SOAR - lengthscale: 250e3 - soar horizontal decay: 0.000021 - max nobs: 1 - obs filters: - - filter: Bounds Check - filter variables: - - name: totalSnowDepth - minvalue: 0.0 - - filter: Domain Check # land only - where: - - variable: - name: GeoVaLs/slmsk - minvalue: 0.5 - maxvalue: 1.5 - - filter: RejectList # no land-ice - where: - - variable: - name: GeoVaLs/vtype - minvalue: 14.5 - maxvalue: 15.5 - - filter: Background Check # gross error check - filter variables: - - name: totalSnowDepth - threshold: 6.25 - action: - name: reject diff --git a/parm/snow/obs/config/sfcsno_snow.yaml.j2 b/parm/snow/obs/config/sfcsno_snow.yaml.j2 deleted file mode 100644 index 960ea8f64..000000000 --- a/parm/snow/obs/config/sfcsno_snow.yaml.j2 +++ /dev/null @@ -1,110 +0,0 @@ -- obs space: - name: sfcsno_snow - distribution: - name: Halo - halo size: 250e3 - obsdatain: - engine: - type: bufr - obsfile: '{{ DATA }}/obs/{{ OPREFIX }}sfcsno.tm00.bufr_d' - mapping file: '{{ DATA }}/obs/bufr_sfcsno_mapping.yaml' - obsdataout: - engine: - type: H5File - obsfile: '{{ DATA }}/diags/diag_sfcsno_snow.nc4' - simulated variables: [totalSnowDepth] - obs operator: - name: Composite - components: - - name: Identity - - name: BackgroundErrorIdentity - obs error: - covariance model: diagonal - obs localizations: - - localization method: Horizontal SOAR - lengthscale: 250e3 - soar horizontal decay: 0.000021 - max nobs: 50 - - localization method: Vertical Brasnett - vertical lengthscale: 700 - obs pre filters: - - filter: Perform Action - filter variables: - - name: totalSnowDepth - action: - name: assign error - error parameter: 40.0 - - filter: Variable Assignment - assignments: - - name: GrossErrorProbability/totalSnowDepth - type: float - value: 0.02 - - name: BkgError/totalSnowDepth_background_error - type: float - value: 30.0 - obs prior filters: - - filter: Bounds Check - filter variables: - - name: totalSnowDepth - minvalue: 0.0 - maxvalue: 2000.0 - action: - name: reject - - filter: Domain Check - where: - - variable: - name: MetaData/stationElevation - minvalue: -999.0 - - filter: Domain Check # land only - where: - - variable: - name: GeoVaLs/slmsk - minvalue: 0.5 - maxvalue: 1.5 - - filter: RejectList # no land-ice - where: - - variable: - name: GeoVaLs/vtype - minvalue: 14.5 - maxvalue: 15.5 - - filter: BlackList - where: - - variable: - name: MetaData/stationIdentification - is_in: [71120,71397,71621,71727,71816] - size where true: 5 - obs post filters: - - filter: Background Check # gross error check - filter variables: - - name: totalSnowDepth - threshold: 6.25 - action: - name: reject - - filter: Temporal Thinning - min_spacing: '{{ SNOW_WINDOW_LENGTH }}' - seed_time: '{{ current_cycle | to_isotime }}' - category_variable: - name: MetaData/stationIdentification - - filter: Met Office Buddy Check - filter variables: - - name: totalSnowDepth - rejection_threshold: 0.5 - traced_boxes: # trace all observations - min_latitude: -90 - max_latitude: 90 - min_longitude: -180 - max_longitude: 180 - search_radius: 150 # km - station_id_variable: - name: MetaData/stationIdentification - num_zonal_bands: 24 - sort_by_pressure: false - max_total_num_buddies: 15 - max_num_buddies_from_single_band: 10 - max_num_buddies_with_same_station_id: 5 - use_legacy_buddy_collector: false - horizontal_correlation_scale: { "-90": 150, "90": 150 } - temporal_correlation_scale: PT6H - damping_factor_1: 1.0 - damping_factor_2: 1.0 - background_error_group: BkgError diff --git a/parm/snow/obs/config/snocvr_snow.yaml.j2 b/parm/snow/obs/config/snocvr_snow.yaml.j2 deleted file mode 100644 index 45a361f32..000000000 --- a/parm/snow/obs/config/snocvr_snow.yaml.j2 +++ /dev/null @@ -1,103 +0,0 @@ -- obs space: - name: snocvr_snow - distribution: - name: Halo - halo size: 250e3 - obsdatain: - engine: - type: H5File - obsfile: './obs/{{ OPREFIX }}snocvr_snow.nc4' - obsdataout: - engine: - type: H5File - obsfile: './diags/diag_snocvr_snow.nc4' - simulated variables: [totalSnowDepth] - obs operator: - name: Composite - components: - - name: Identity - - name: BackgroundErrorIdentity - obs error: - covariance model: diagonal - obs localizations: - - localization method: Horizontal SOAR - lengthscale: 250e3 - soar horizontal decay: 0.000021 - max nobs: 50 - - localization method: Vertical Brasnett - vertical lengthscale: 700 - obs pre filters: - - filter: Perform Action - filter variables: - - name: totalSnowDepth - action: - name: assign error - error parameter: 40.0 - - filter: Variable Assignment - assignments: - - name: GrossErrorProbability/totalSnowDepth - type: float - value: 0.02 - - name: BkgError/totalSnowDepth_background_error - type: float - value: 30.0 - obs prior filters: - - filter: Bounds Check - filter variables: - - name: totalSnowDepth - minvalue: 0.0 - maxvalue: 2000.0 - action: - name: reject - - filter: Domain Check - where: - - variable: - name: MetaData/stationElevation - minvalue: -999.0 - - filter: Domain Check # land only - where: - - variable: - name: GeoVaLs/slmsk - minvalue: 0.5 - maxvalue: 1.5 - - filter: RejectList # no land-ice - where: - - variable: - name: GeoVaLs/vtype - minvalue: 14.5 - maxvalue: 15.5 - obs post filters: - - filter: Background Check # gross error check - filter variables: - - name: totalSnowDepth - threshold: 6.25 - action: - name: reject - - filter: Temporal Thinning - min_spacing: '{{ SNOW_WINDOW_LENGTH }}' - seed_time: '{{ current_cycle | to_isotime }}' - category_variable: - name: MetaData/stationIdentification - - filter: Met Office Buddy Check - filter variables: - - name: totalSnowDepth - rejection_threshold: 0.5 - traced_boxes: # trace all observations - min_latitude: -90 - max_latitude: 90 - min_longitude: -180 - max_longitude: 180 - search_radius: 150 # km - station_id_variable: - name: MetaData/stationIdentification - num_zonal_bands: 24 - sort_by_pressure: false - max_total_num_buddies: 15 - max_num_buddies_from_single_band: 10 - max_num_buddies_with_same_station_id: 5 - use_legacy_buddy_collector: false - horizontal_correlation_scale: { "-90": 150, "90": 150 } - temporal_correlation_scale: PT6H - damping_factor_1: 1.0 - damping_factor_2: 1.0 - background_error_group: BkgError diff --git a/parm/snow/prep/fims.nml.j2 b/parm/snow/prep/fims.nml.j2 index 9b8408b32..b9a8ded59 100644 --- a/parm/snow/prep/fims.nml.j2 +++ b/parm/snow/prep/fims.nml.j2 @@ -6,7 +6,7 @@ yyyymmddhh = "{{ current_cycle | to_YMD }}.{{ current_cycle.strftime('%H') }}", imsformat = 1, imsversion = "1.3", - fcst_path = "./bkg/" + fcst_path = "{{ ims_fcst_path }}" IMS_OBS_PATH = "./obs/", IMS_IND_PATH = "./obs/" / diff --git a/parm/snow/prep/prep_ims.yaml.j2 b/parm/snow/prep/prep_ims.yaml.j2 index 0c2bbc163..938d0503c 100644 --- a/parm/snow/prep/prep_ims.yaml.j2 +++ b/parm/snow/prep/prep_ims.yaml.j2 @@ -2,9 +2,9 @@ calcfims: mkdir: - '{{ DATA }}/obs' copy: - - ['{{ COM_OBS }}/{{ OPREFIX }}imssnow96.asc', '{{ DATA }}/obs/ims{{ current_cycle | to_julian }}_4km_v1.3.asc'] + - ['{{ COMIN_OBS }}/{{ OPREFIX }}imssnow96.asc', '{{ DATA }}/obs/ims{{ current_cycle | to_julian }}_4km_v1.3.asc'] - ['{{ FIXgfs }}/gdas/obs/ims/IMS_4km_to_{{ CASE }}.mx{{ OCNRES }}.nc', '{{ DATA }}/obs/IMS4km_to_FV3_mapping.{{ CASE }}_oro_data.nc'] ims2ioda: copy: - - ['{{ DATA }}/ims_snow_{{ current_cycle | to_YMDH }}.nc4', '{{ COM_OBS }}/{{ OPREFIX }}ims_snow.nc4'] + - ['{{ DATA }}/ims_snow_{{ current_cycle | to_YMDH }}.nc4', '{{ DATA }}/obs/{{ OPREFIX }}ims_snow.tm00.nc'] diff --git a/sorc/land-imsproc b/sorc/land-imsproc index bbe3f311d..7ca1c7441 160000 --- a/sorc/land-imsproc +++ b/sorc/land-imsproc @@ -1 +1 @@ -Subproject commit bbe3f311dc310020319c313cde1a2ee8a3c47a36 +Subproject commit 7ca1c7441042558cf41a0753f80191a0026a1126 From d6097afdd435fe73cc99d8ddb594c3143b72820a Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Mon, 16 Dec 2024 08:09:14 -0500 Subject: [PATCH 09/18] update C96C48_ufs_hybatmDA reference files (#1416) --- .../C96C48_ufs_hybatmDA_3dvar-fv3inc.ref | 50 ++--- .../C96C48_ufs_hybatmDA_3dvar.ref | 162 +++++++------- .../C96C48_ufs_hybatmDA_lgetkf-fv3inc.ref | 100 ++++----- .../C96C48_ufs_hybatmDA_lgetkf_observer.ref | 136 ++++++------ .../C96C48_ufs_hybatmDA_lgetkf_solver.ref | 208 +++++++++--------- 5 files changed, 328 insertions(+), 328 deletions(-) diff --git a/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref b/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref index 13ea734e1..9f351467f 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref @@ -2,40 +2,40 @@ Background State: ---------------------------------------------------------------------------------------------------- State print | number of fields = 9 | cube sphere face size: C96 -eastward_wind | Min:-8.7592788696289062e+01 Max:+1.1420372772216797e+02 RMS:+1.7446404472691281e+01 -northward_wind | Min:-9.0942382812500000e+01 Max:+8.9295417785644531e+01 RMS:+9.8048421589139405e+00 -air_temperature | Min:+1.7290422058105469e+02 Max:+3.1315420532226562e+02 RMS:+2.5022388437472281e+02 -air_pressure_at_surface | Min:+5.1310074218750000e+04 Max:+1.0433036718750000e+05 RMS:+9.8914635448501256e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986069576607e-10 Max:+2.1415401250123978e-02 RMS:+5.0229746689082278e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6551990564912558e-04 RMS:+9.4433791173374609e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6047930112108588e-03 RMS:+3.7857742029092217e-05 -ozone_mass_mixing_ratio | Min:+3.6144315318509257e-10 Max:+1.7313457647105679e-05 RMS:+4.4655429944475609e-06 +eastward_wind | Min:-8.7592636108398438e+01 Max:+1.1416704559326172e+02 RMS:+1.7446457173999249e+01 +northward_wind | Min:-9.0989822387695312e+01 Max:+8.9292556762695312e+01 RMS:+9.8047448525826173e+00 +air_temperature | Min:+1.7290489196777344e+02 Max:+3.1016726684570312e+02 RMS:+2.5022379933353739e+02 +air_pressure_at_surface | Min:+5.1309156250000000e+04 Max:+1.0433031250000000e+05 RMS:+9.8914639246899416e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986069576607e-10 Max:+2.1401712670922279e-02 RMS:+5.0230810220772519e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6316837435588241e-04 RMS:+9.4319632692495166e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6321672592312098e-03 RMS:+3.7885306687823480e-05 +ozone_mass_mixing_ratio | Min:+3.6092406840992908e-10 Max:+1.7313830539933406e-05 RMS:+4.4655431091584869e-06 geopotential_height_at_surface | Min:-2.9894643783569336e+01 Max:+5.3870561523437500e+03 RMS:+6.4442219321892003e+02 ---------------------------------------------------------------------------------------------------- JEDI Increment: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 8 | cube sphere face size: C48 -eastward_wind | Min:-2.1104214908973518e-07 Max:+1.1736051952482285e-07 RMS:+1.8431594710970867e-09 -northward_wind | Min:-1.0221288349043789e-07 Max:+2.6263771957246718e-07 RMS:+1.8329393452740470e-09 -air_temperature | Min:-5.2004679673700593e-08 Max:+6.6517316099634627e-08 RMS:+7.1801194123089184e-10 -air_pressure_at_surface | Min:-2.0490406313911080e-06 Max:+1.0001531336456537e-06 RMS:+4.2327499728681351e-08 -water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5231274061325868e-11 Max:+2.4874782355438496e-11 RMS:+2.7330286562520457e-13 -cloud_liquid_ice | Min:-5.3419200757732349e-13 Max:+3.8042151577058992e-13 RMS:+3.4015518165043927e-15 -cloud_liquid_water | Min:-1.1765328593099297e-11 Max:+3.1901271699210487e-12 RMS:+1.6320182492361654e-14 -ozone_mass_mixing_ratio | Min:-1.0347438083764173e-06 Max:+1.3451924489686076e-06 RMS:+3.6862408690065606e-08 +eastward_wind | Min:-2.1094110991271009e-07 Max:+1.1717330217209110e-07 RMS:+1.8406442199343545e-09 +northward_wind | Min:-1.0218003509976370e-07 Max:+2.6284932985731757e-07 RMS:+1.8321568102519878e-09 +air_temperature | Min:-5.2967720876040403e-08 Max:+6.6442652268960956e-08 RMS:+7.1529564595995224e-10 +air_pressure_at_surface | Min:-2.0471925381571054e-06 Max:+9.5464929472655058e-07 RMS:+4.2656890498660969e-08 +water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5909499332409389e-11 Max:+2.5060615908845119e-11 RMS:+2.7346125979528040e-13 +cloud_liquid_ice | Min:-5.5298263899525562e-13 Max:+3.6544474506536037e-13 RMS:+3.3630266932071384e-15 +cloud_liquid_water | Min:-1.0711521106947577e-11 Max:+3.1052085273756969e-12 RMS:+1.7896344450957455e-14 +ozone_mass_mixing_ratio | Min:-1.0347839576407838e-06 Max:+1.3449736530190683e-06 RMS:+3.6860537521399650e-08 ---------------------------------------------------------------------------------------------------- FV3 Increment: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 9 | cube sphere face size: C48 -eastward_wind | Min:-2.1104214908973518e-07 Max:+1.1736051952482285e-07 RMS:+1.8431594710970867e-09 -northward_wind | Min:-1.0221288349043789e-07 Max:+2.6263771957246718e-07 RMS:+1.8329393452740470e-09 -air_temperature | Min:-5.2004679673700593e-08 Max:+6.6517316099634627e-08 RMS:+7.1801194123089184e-10 -water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5231274061325868e-11 Max:+2.4874782355438496e-11 RMS:+2.7330286562520457e-13 -cloud_liquid_ice | Min:-5.3419200757732349e-13 Max:+3.8042151577058992e-13 RMS:+3.4015518165043927e-15 -cloud_liquid_water | Min:-1.1765328593099297e-11 Max:+3.1901271699210487e-12 RMS:+1.6320182492361654e-14 -ozone_mass_mixing_ratio | Min:-1.0347438083764173e-06 Max:+1.3451924489686076e-06 RMS:+3.6862408690065606e-08 -air_pressure_thickness | Min:-3.9065980672603473e-08 Max:+1.8055516193271615e-08 RMS:+4.2929160742721524e-10 -layer_thickness | Min:-1.9778599380515516e-07 Max:+1.8311129679204896e-07 RMS:+3.6422980752322292e-09 +eastward_wind | Min:-2.1094110991271009e-07 Max:+1.1717330217209110e-07 RMS:+1.8406442199343545e-09 +northward_wind | Min:-1.0218003509976370e-07 Max:+2.6284932985731757e-07 RMS:+1.8321568102519878e-09 +air_temperature | Min:-5.2967720876040403e-08 Max:+6.6442652268960956e-08 RMS:+7.1529564595995224e-10 +water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5909499332409389e-11 Max:+2.5060615908845119e-11 RMS:+2.7346125979528040e-13 +cloud_liquid_ice | Min:-5.5298263899525562e-13 Max:+3.6544474506536037e-13 RMS:+3.3630266932071384e-15 +cloud_liquid_water | Min:-1.0711521106947577e-11 Max:+3.1052085273756969e-12 RMS:+1.7896344450957455e-14 +ozone_mass_mixing_ratio | Min:-1.0347839576407838e-06 Max:+1.3449736530190683e-06 RMS:+3.6860537521399650e-08 +air_pressure_thickness | Min:-3.8967755244811997e-08 Max:+1.7229922377737239e-08 RMS:+4.3178264898018102e-10 +layer_thickness | Min:-1.9750632418435998e-07 Max:+1.8317587091587484e-07 RMS:+3.6300478031517017e-09 ---------------------------------------------------------------------------------------------------- diff --git a/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref b/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref index f40a76a14..06cb7c5c8 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref @@ -1,53 +1,53 @@ CostJb : Nonlinear Jb = 0.0000000000000000e+00 -CostJo : Nonlinear Jo(Aircraft) = 6.0606844576066174e+05, nobs = 504557, Jo/n = 1.2011892526724666e+00, err = 2.2437324101760723e+00 -CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 1.5968170448595794e+04, nobs = 26316, Jo/n = 6.0678562276165804e-01, err = 1.8364210519358450e+00 -CostJo : Nonlinear Jo(ATMS N20) = 4.8373816192326645e+04, nobs = 156530, Jo/n = 3.0903862641235957e-01, err = 5.2871810338770340e+00 -CostJo : Nonlinear Jo(surface_ps) = 2.6328077840545666e+04, nobs = 107321, Jo/n = 2.4532083972890362e-01, err = 5.9310900770540900e+02 -CostJo : Nonlinear Jo(gnssrobndnbam) = 6.1573402729585022e+05, nobs = 473864, Jo/n = 1.2993897559127729e+00, err = 3.2910028220139385e-04 -CostJo : Nonlinear Jo(ompsnp_npp) = 2.1269353856325674e+03, nobs = 3087, Jo/n = 6.8899753340867098e-01, err = 2.4001367423170068e+00 -CostJo : Nonlinear Jo(ompstc_npp) = 3.3788715965129627e+03, nobs = 3696, Jo/n = 9.1419686052839899e-01, err = 6.0000000000000000e+00 -CostJo : Nonlinear Jo(satwind_goes-16) = 6.9385876400056341e+03, nobs = 193154, Jo/n = 3.5922567692129773e-02, err = 1.1892549654020236e+01 -CostFunction: Nonlinear J = 1.3249169321601309e+06 -DRPCGMinimizer: reduction in residual norm = 2.8258370598410804e-01 +CostJo : Nonlinear Jo(Aircraft) = 6.0586857580910716e+05, nobs = 504553, Jo/n = 1.2008026427533027e+00, err = 2.2437136734248115e+00 +CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 1.5969417839194493e+04, nobs = 26328, Jo/n = 6.0655643570322448e-01, err = 1.8362571773983374e+00 +CostJo : Nonlinear Jo(ATMS N20) = 4.8397895213825170e+04, nobs = 156648, Jo/n = 3.0895954760881195e-01, err = 5.2724142689429563e+00 +CostJo : Nonlinear Jo(surface_ps) = 2.6309839844535789e+04, nobs = 107320, Jo/n = 2.4515318528266669e-01, err = 5.9306444356854104e+02 +CostJo : Nonlinear Jo(gnssrobndnbam) = 6.1543420655506197e+05, nobs = 473850, Jo/n = 1.2987954132216144e+00, err = 3.2896403090661679e-04 +CostJo : Nonlinear Jo(ompsnp_npp) = 2.1270332920540864e+03, nobs = 3087, Jo/n = 6.8902924912668817e-01, err = 2.4001367423170068e+00 +CostJo : Nonlinear Jo(ompstc_npp) = 3.3787920743968766e+03, nobs = 3696, Jo/n = 9.1417534480434970e-01, err = 6.0000000000000000e+00 +CostJo : Nonlinear Jo(satwind_goes-16) = 6.9382686620861832e+03, nobs = 193152, Jo/n = 3.5921288219051231e-02, err = 1.1892539752006376e+01 +CostFunction: Nonlinear J = 1.3244240292902619e+06 +DRPCGMinimizer: reduction in residual norm = 2.8257030182760973e-01 CostFunction::addIncrement: Analysis: ---------------------------------------------------------------------------------------------------- State print | number of fields = 22 | cube sphere face size: C96 -eastward_wind | Min:-8.7592788696275591e+01 Max:+1.1420372772205714e+02 RMS:+1.7446404472688581e+01 -northward_wind | Min:-9.0942382812491388e+01 Max:+8.9295417785674104e+01 RMS:+9.8048421589085084e+00 -air_temperature | Min:+1.7290422058105528e+02 Max:+3.1315420532226460e+02 RMS:+2.5022388437472264e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837974853515625e+03 RMS:+9.5699710058314167e+02 -air_pressure_at_surface | Min:+5.1310074218749884e+04 Max:+1.0433036718749903e+05 RMS:+9.8914635448500718e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986088807812e-10 Max:+2.1415401250122534e-02 RMS:+5.0229746689079710e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6551990564897021e-04 RMS:+9.4433791173126479e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6047930112247253e-03 RMS:+3.7857742029061107e-05 -ozone_mass_mixing_ratio | Min:+3.8882309781502605e-10 Max:+1.7313459163571451e-05 RMS:+4.4663044274321460e-06 +eastward_wind | Min:-8.7592636108385108e+01 Max:+1.1416704559315106e+02 RMS:+1.7446457173996492e+01 +northward_wind | Min:-9.0989822387686885e+01 Max:+8.9292556762725127e+01 RMS:+9.8047448525772207e+00 +air_temperature | Min:+1.7290489196777401e+02 Max:+3.1016726684575099e+02 RMS:+2.5022379933353719e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837973632812500e+03 RMS:+9.5699713772439975e+02 +air_pressure_at_surface | Min:+5.1309156249999876e+04 Max:+1.0433031249999903e+05 RMS:+9.8914639246898892e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986073430897e-10 Max:+2.1401712670923338e-02 RMS:+5.0230810220769934e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6316837435572314e-04 RMS:+9.4319632692245291e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6321672592384501e-03 RMS:+3.7885306687792885e-05 +ozone_mass_mixing_ratio | Min:+3.8830337803893365e-10 Max:+1.7313832023368078e-05 RMS:+4.4663045051813113e-06 geopotential_height_at_surface | Min:-2.9894643783569336e+01 Max:+5.3870561523437500e+03 RMS:+6.4442219321892003e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5312859958249614e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.6371386718750000e+02 RMS:+2.2054849675238717e+01 -skin_temperature_at_surface | Min:+2.1751564025878906e+02 Max:+3.2932901000976562e+02 RMS:+2.8737009990940771e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.6371389770507812e+02 RMS:+2.2054840004716052e+01 +skin_temperature_at_surface | Min:+2.1746269226074219e+02 Max:+3.2931939697265625e+02 RMS:+2.8736957533345463e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+5.8667091445155686e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.3549806522511076e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8026573181152344e+01 RMS:+1.9275201636346665e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.2046487426757812e+02 RMS:+2.8806774790646296e+02 -soilMoistureVolumetric | Min:+2.1923899650573730e-02 Max:+1.0000000000000000e+00 RMS:+8.6145456848034108e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327471971511841e+00 RMS:+1.5878139626776816e-01 -eastward_wind_at_surface | Min:-1.8225927352905273e+01 Max:+2.0850345611572266e+01 RMS:+5.2152469416928211e+00 -northward_wind_at_surface | Min:-2.0722259521484375e+01 Max:+1.8973911285400391e+01 RMS:+4.8326658038230939e+00 -f10m | Min:+9.3893623352050781e-01 Max:+1.0697102546691895e+00 RMS:+9.9592863182329672e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.2046520996093750e+02 RMS:+2.8806775091395389e+02 +soilMoistureVolumetric | Min:+2.1923717111349106e-02 Max:+1.0000000000000000e+00 RMS:+8.6145441587921456e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327473163604736e+00 RMS:+1.5878116415501689e-01 +eastward_wind_at_surface | Min:-1.8027540206909180e+01 Max:+2.1014362335205078e+01 RMS:+5.2149711165295214e+00 +northward_wind_at_surface | Min:-2.0649587631225586e+01 Max:+1.8741132736206055e+01 RMS:+4.8319693225541691e+00 +f10m | Min:+9.3893665075302124e-01 Max:+1.0697331428527832e+00 RMS:+9.9592909655665096e-01 ---------------------------------------------------------------------------------------------------- Obs bias coefficients: --------------------------------------------------------------- - constant: Min= -0.8381630182271103, Max= 0.8200770020481464, Norm= 2.2810923110282295 - lapseRate_order_2: Min= -0.2969009876260886, Max= 0.3889850080012888, Norm= 0.7014865852485507 - lapseRate: Min= -0.5954660177230053, Max= 1.6232719421370700, Norm= 2.1316868531033371 - emissivityJacobian: Min= -0.0097089996561411, Max= 8.3582897185071996, Norm= 10.2580018725806550 -sensorScanAngle_order_4: Min= -3.4036920070662386, Max= 0.8113600015621150, Norm= 4.8886281019448212 -sensorScanAngle_order_3: Min= -0.7697319984441006, Max= 0.3303030133246321, Norm= 0.9762309707883496 -sensorScanAngle_order_2: Min= -0.5401099920283077, Max= 2.2389800548543417, Norm= 2.4920946301939964 - sensorScanAngle: Min= -0.1069049984217376, Max= 0.4472059905526881, Norm= 0.8480380113023748 + constant: Min= -0.8381630182271099, Max= 0.8200770020481515, Norm= 2.2810923110282304 + lapseRate_order_2: Min= -0.2969009876260582, Max= 0.3889850080012890, Norm= 0.7014865852485411 + lapseRate: Min= -0.5954660177230151, Max= 1.6232719421371147, Norm= 2.1316868531033766 + emissivityJacobian: Min= -0.0097089996561411, Max= 8.3582897185072635, Norm= 10.2580018725805822 +sensorScanAngle_order_4: Min= -3.4036920070662386, Max= 0.8113600015621431, Norm= 4.8886281019448230 +sensorScanAngle_order_3: Min= -0.7697319984441072, Max= 0.3303030133246302, Norm= 0.9762309707883602 +sensorScanAngle_order_2: Min= -0.5401099920282910, Max= 2.2389800548543497, Norm= 2.4920946301939995 + sensorScanAngle: Min= -0.1069049984217406, Max= 0.4472059905526843, Norm= 0.8480380113023683 --------------------------------------------------------------- @@ -55,56 +55,56 @@ sensorScanAngle_order_2: Min= -0.5401099920283077, Max= 2.2389800548543417, N -CostJb : Nonlinear Jb = 0.0000000000001376 -CostJo : Nonlinear Jo(Aircraft) = 606068.4454102631425485, nobs = 504557, Jo/n = 1.2011892519779988, err = 2.2437324101760723 -CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15968.1704483220801194, nobs = 26316, Jo/n = 0.6067856227512570, err = 1.8364210519358450 -CostJo : Nonlinear Jo(ATMS N20) = 48373.8161910133785568, nobs = 156530, Jo/n = 0.3090386264039697, err = 5.2871810338770340 -CostJo : Nonlinear Jo(surface_ps) = 26328.0778398764305166, nobs = 107321, Jo/n = 0.2453208397226678, err = 593.1090077054089988 -CostJo : Nonlinear Jo(gnssrobndnbam) = 615734.0272653971333057, nobs = 473864, Jo/n = 1.2993897558485075, err = 0.0003291002822014 -CostJo : Nonlinear Jo(ompsnp_npp) = 1931.1360564953827179, nobs = 3087, Jo/n = 0.6255704750551936, err = 2.4001367423170068 -CostJo : Nonlinear Jo(ompstc_npp) = 1175.5942396372797702, nobs = 3696, Jo/n = 0.3180720345338960, err = 6.0000000000000000 -CostJo : Nonlinear Jo(satwind_goes-16) = 6938.5876398926775437, nobs = 193154, Jo/n = 0.0359225676915450, err = 11.8925496540202360 -CostFunction: Nonlinear J = 1322517.8550908972974867 -DRPCGMinimizer: reduction in residual norm = 0.8445199391454585 +CostJb : Nonlinear Jb = 0.0000000000001371 +CostJo : Nonlinear Jo(Aircraft) = 605868.5754523422801867, nobs = 504553, Jo/n = 1.2008026420462117, err = 2.2437136734248115 +CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15969.4178389218141092, nobs = 26328, Jo/n = 0.6065564356928674, err = 1.8362571773983374 +CostJo : Nonlinear Jo(ATMS N20) = 48397.8952120999601902, nobs = 156648, Jo/n = 0.3089595475977986, err = 5.2724142689429563 +CostJo : Nonlinear Jo(surface_ps) = 26309.8398438642980182, nobs = 107320, Jo/n = 0.2451531852764098, err = 593.0644435685410372 +CostJo : Nonlinear Jo(gnssrobndnbam) = 615434.2065248880535364, nobs = 473850, Jo/n = 1.2987954131579362, err = 0.0003289640309066 +CostJo : Nonlinear Jo(ompsnp_npp) = 1931.2294941937966541, nobs = 3087, Jo/n = 0.6256007431790724, err = 2.4001367423170068 +CostJo : Nonlinear Jo(ompstc_npp) = 1175.5454767024434659, nobs = 3696, Jo/n = 0.3180588410991460, err = 6.0000000000000000 +CostJo : Nonlinear Jo(satwind_goes-16) = 6938.2686619732694453, nobs = 193152, Jo/n = 0.0359212882184666, err = 11.8925397520063765 +CostFunction: Nonlinear J = 1322024.9785049860365689 +DRPCGMinimizer: reduction in residual norm = 0.8446464058086658 CostFunction::addIncrement: Analysis: ---------------------------------------------------------------------------------------------------- State print | number of fields = 22 | cube sphere face size: C96 -eastward_wind | Min:-8.7592788696161904e+01 Max:+1.1420372772112223e+02 RMS:+1.7446404472666426e+01 -northward_wind | Min:-9.0942382812418657e+01 Max:+8.9295417785923476e+01 RMS:+9.8048421588635115e+00 -air_temperature | Min:+1.7290422058106040e+02 Max:+3.1315420532225596e+02 RMS:+2.5022388437472588e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837974853515625e+03 RMS:+9.5699710058314167e+02 -air_pressure_at_surface | Min:+5.1310074218748872e+04 Max:+1.0433036718749083e+05 RMS:+9.8914635448496061e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986296092119e-10 Max:+2.1415401250110346e-02 RMS:+5.0229746689059735e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6551990564766006e-04 RMS:+9.4433791171032326e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6047930113416880e-03 RMS:+3.7857742028798947e-05 -ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7392912086162689e-05 RMS:+4.4687797542506526e-06 +eastward_wind | Min:-8.7592636108272671e+01 Max:+1.1416704559221755e+02 RMS:+1.7446457173973780e+01 +northward_wind | Min:-9.0989822387615689e+01 Max:+8.9292556762976545e+01 RMS:+9.8047448525325454e+00 +air_temperature | Min:+1.7290489196777892e+02 Max:+3.1016726684615486e+02 RMS:+2.5022379933354054e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837973632812500e+03 RMS:+9.5699713772439975e+02 +air_pressure_at_surface | Min:+5.1309156249998850e+04 Max:+1.0433031249999082e+05 RMS:+9.8914639246894265e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986150945930e-10 Max:+2.1401712670932254e-02 RMS:+5.0230810220750072e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6316837435437916e-04 RMS:+9.4319632690136399e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6321672592995262e-03 RMS:+3.7885306687535055e-05 +ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7394005756664486e-05 RMS:+4.4687792881256477e-06 geopotential_height_at_surface | Min:-2.9894643783569336e+01 Max:+5.3870561523437500e+03 RMS:+6.4442219321892003e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5312859958249614e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.6371386718750000e+02 RMS:+2.2054849675238717e+01 -skin_temperature_at_surface | Min:+2.1751564025878906e+02 Max:+3.2932901000976562e+02 RMS:+2.8737009990940771e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.6371389770507812e+02 RMS:+2.2054840004716052e+01 +skin_temperature_at_surface | Min:+2.1746269226074219e+02 Max:+3.2931939697265625e+02 RMS:+2.8736957533345463e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+5.8667091445155686e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.3549806522511076e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8026573181152344e+01 RMS:+1.9275201636346665e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.2046487426757812e+02 RMS:+2.8806774790646296e+02 -soilMoistureVolumetric | Min:+2.1923899650573730e-02 Max:+1.0000000000000000e+00 RMS:+8.6145456848034108e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327471971511841e+00 RMS:+1.5878139626776816e-01 -eastward_wind_at_surface | Min:-1.8225927352905273e+01 Max:+2.0850345611572266e+01 RMS:+5.2152469416928211e+00 -northward_wind_at_surface | Min:-2.0722259521484375e+01 Max:+1.8973911285400391e+01 RMS:+4.8326658038230939e+00 -f10m | Min:+9.3893623352050781e-01 Max:+1.0697102546691895e+00 RMS:+9.9592863182329672e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.2046520996093750e+02 RMS:+2.8806775091395389e+02 +soilMoistureVolumetric | Min:+2.1923717111349106e-02 Max:+1.0000000000000000e+00 RMS:+8.6145441587921456e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327473163604736e+00 RMS:+1.5878116415501689e-01 +eastward_wind_at_surface | Min:-1.8027540206909180e+01 Max:+2.1014362335205078e+01 RMS:+5.2149711165295214e+00 +northward_wind_at_surface | Min:-2.0649587631225586e+01 Max:+1.8741132736206055e+01 RMS:+4.8319693225541691e+00 +f10m | Min:+9.3893665075302124e-01 Max:+1.0697331428527832e+00 RMS:+9.9592909655665096e-01 ---------------------------------------------------------------------------------------------------- Obs bias coefficients: --------------------------------------------------------------- - constant: Min= -0.8381630182312158, Max= 0.8200770020452273, Norm= 2.2810923110345529 - lapseRate_order_2: Min= -0.2969009876342417, Max= 0.3889850080009624, Norm= 0.7014865852476418 - lapseRate: Min= -0.5954660177223460, Max= 1.6232719421235593, Norm= 2.1316868530892110 - emissivityJacobian: Min= -0.0097089996561440, Max= 8.3582897174888426, Norm= 10.2580018711066714 -sensorScanAngle_order_4: Min= -3.4036920070782117, Max= 0.8113600015459965, Norm= 4.8886281019599771 -sensorScanAngle_order_3: Min= -0.7697319984482932, Max= 0.3303030133237422, Norm= 0.9762309707917334 -sensorScanAngle_order_2: Min= -0.5401099920369533, Max= 2.2389800548458663, Norm= 2.4920946301900089 - sensorScanAngle: Min= -0.1069049984223163, Max= 0.4472059905508821, Norm= 0.8480380112990435 + constant: Min= -0.8381630182312133, Max= 0.8200770020452758, Norm= 2.2810923110345596 + lapseRate_order_2: Min= -0.2969009876339544, Max= 0.3889850080009647, Norm= 0.7014865852475514 + lapseRate: Min= -0.5954660177224381, Max= 1.6232719421239783, Norm= 2.1316868530895849 + emissivityJacobian: Min= -0.0097089996561437, Max= 8.3582897174893915, Norm= 10.2580018711058969 +sensorScanAngle_order_4: Min= -3.4036920070782095, Max= 0.8113600015462609, Norm= 4.8886281019599895 +sensorScanAngle_order_3: Min= -0.7697319984483566, Max= 0.3303030133237251, Norm= 0.9762309707918347 +sensorScanAngle_order_2: Min= -0.5401099920367962, Max= 2.2389800548459413, Norm= 2.4920946301900422 + sensorScanAngle: Min= -0.1069049984223444, Max= 0.4472059905508466, Norm= 0.8480380112989835 --------------------------------------------------------------- @@ -112,13 +112,13 @@ sensorScanAngle_order_2: Min= -0.5401099920369533, Max= 2.2389800548458663, N -CostJb : Nonlinear Jb = 0.0000000000008884 -CostJo : Nonlinear Jo(Aircraft) = 606068.4424544476205483, nobs = 504557, Jo/n = 1.2011892461197597, err = 2.2437324101760723 -CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15968.1704460133005341, nobs = 26316, Jo/n = 0.6067856226635241, err = 1.8364210519358450 -CostJo : Nonlinear Jo(ATMS N20) = 48373.8161766625344171, nobs = 156530, Jo/n = 0.3090386263122886, err = 5.2871810338770340 -CostJo : Nonlinear Jo(surface_ps) = 26328.0778342283228994, nobs = 107321, Jo/n = 0.2453208396700396, err = 593.1090077054089988 -CostJo : Nonlinear Jo(gnssrobndnbam) = 615734.0270088119432330, nobs = 473864, Jo/n = 1.2993897553070330, err = 0.0003291002822014 -CostJo : Nonlinear Jo(ompsnp_npp) = 1105.1979338553026082, nobs = 3087, Jo/n = 0.3580168234063176, err = 2.4001367423170068 -CostJo : Nonlinear Jo(ompstc_npp) = 842.5716474092782846, nobs = 3696, Jo/n = 0.2279685193206922, err = 6.0000000000000000 -CostJo : Nonlinear Jo(satwind_goes-16) = 6938.5876389399190884, nobs = 193154, Jo/n = 0.0359225676866123, err = 11.8925496540202360 -CostFunction: Nonlinear J = 1321358.8911403683014214 +CostJb : Nonlinear Jb = 0.0000000000008861 +CostJo : Nonlinear Jo(Aircraft) = 605868.5724426389206201, nobs = 504553, Jo/n = 1.2008026360811230, err = 2.2437136734248115 +CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15969.4178366216237919, nobs = 26328, Jo/n = 0.6065564356055008, err = 1.8362571773983374 +CostJo : Nonlinear Jo(ATMS N20) = 48397.8951984271625406, nobs = 156648, Jo/n = 0.3089595475105151, err = 5.2724142689429563 +CostJo : Nonlinear Jo(surface_ps) = 26309.8398381981351122, nobs = 107320, Jo/n = 0.2451531852236129, err = 593.0644435685410372 +CostJo : Nonlinear Jo(gnssrobndnbam) = 615434.2062702839029953, nobs = 473850, Jo/n = 1.2987954126206265, err = 0.0003289640309066 +CostJo : Nonlinear Jo(ompsnp_npp) = 1105.2563637508856118, nobs = 3087, Jo/n = 0.3580357511340737, err = 2.4001367423170068 +CostJo : Nonlinear Jo(ompstc_npp) = 842.7302103307468997, nobs = 3696, Jo/n = 0.2280114205440333, err = 6.0000000000000000 +CostJo : Nonlinear Jo(satwind_goes-16) = 6938.2686610208002094, nobs = 193152, Jo/n = 0.0359212882135355, err = 11.8925397520063765 +CostFunction: Nonlinear J = 1320866.1868212721310556 diff --git a/test/testreference/C96C48_ufs_hybatmDA_lgetkf-fv3inc.ref b/test/testreference/C96C48_ufs_hybatmDA_lgetkf-fv3inc.ref index 103e05260..9e3d92b61 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_lgetkf-fv3inc.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_lgetkf-fv3inc.ref @@ -2,81 +2,81 @@ Background State for member 0: ---------------------------------------------------------------------------------------------------- State print | number of fields = 9 | cube sphere face size: C48 -eastward_wind | Min:-8.4384330749511719e+01 Max:+1.1146717834472656e+02 RMS:+1.7423407399233511e+01 -northward_wind | Min:-8.6144805908203125e+01 Max:+8.9331993103027344e+01 RMS:+1.0017299694477177e+01 -air_temperature | Min:+1.7350303649902344e+02 Max:+3.0961535644531250e+02 RMS:+2.5015669840056216e+02 -air_pressure_at_surface | Min:+5.2320046875000000e+04 Max:+1.0452482812500000e+05 RMS:+9.8914997456124955e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+1.6847316430812498e-08 Max:+2.2395884618163109e-02 RMS:+5.0107896876815721e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.1855275048874319e-04 RMS:+1.0354889627583217e-05 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3839458115398884e-03 RMS:+3.5588872198565466e-05 -ozone_mass_mixing_ratio | Min:+1.1339260641562987e-09 Max:+1.7277885490329936e-05 RMS:+4.4686682637740296e-06 +eastward_wind | Min:-8.4381935119628906e+01 Max:+1.1147341156005859e+02 RMS:+1.7423562537923519e+01 +northward_wind | Min:-8.6138259887695312e+01 Max:+8.9330894470214844e+01 RMS:+1.0017174203028123e+01 +air_temperature | Min:+1.7350219726562500e+02 Max:+3.0963690185546875e+02 RMS:+2.5015657367644263e+02 +air_pressure_at_surface | Min:+5.2319625000000000e+04 Max:+1.0452528906250000e+05 RMS:+9.8915012275401939e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+1.6836553484722572e-08 Max:+2.2505994886159897e-02 RMS:+5.0110427820345893e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2010331526398659e-04 RMS:+1.0363528039971751e-05 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3888616813346744e-03 RMS:+3.5573039146049825e-05 +ozone_mass_mixing_ratio | Min:+1.1367524699323894e-09 Max:+1.7277665392612107e-05 RMS:+4.4686688193802981e-06 geopotential_height_at_surface | Min:-2.7018375396728516e+01 Max:+5.2697558593750000e+03 RMS:+6.3772571434211386e+02 ---------------------------------------------------------------------------------------------------- JEDI Increment for member 0: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 8 | cube sphere face size: C48 -eastward_wind | Min:-2.6713170463703555e+01 Max:+2.7247719731829164e+01 RMS:+7.7003410130506966e-01 -northward_wind | Min:-2.2266548354929135e+01 Max:+2.4111106836816546e+01 RMS:+7.7874592260732178e-01 -air_temperature | Min:-1.0204740456386372e+01 Max:+1.0612363461439131e+01 RMS:+3.2383456606394428e-01 -air_pressure_at_surface | Min:-1.6632427368676872e-03 Max:+1.3842245934938546e-03 RMS:+8.3556099392947144e-05 -water_vapor_mixing_ratio_wrt_moist_air | Min:-1.0075023053001828e-02 Max:+1.3216991071147419e-02 RMS:+1.3161159034094137e-04 -cloud_liquid_ice | Min:-3.2384493993478425e-04 Max:+2.5782120798697029e-04 RMS:+3.5186992249237140e-06 -cloud_liquid_water | Min:-1.3410840615217380e-03 Max:+1.0793991164780980e-03 RMS:+1.2675198989331570e-05 -ozone_mass_mixing_ratio | Min:-1.7321578649115885e-06 Max:+2.2122365151317159e-06 RMS:+3.4501654041399942e-08 +eastward_wind | Min:-2.6755148704831090e+01 Max:+2.7445134265820300e+01 RMS:+7.6898038333711749e-01 +northward_wind | Min:-2.2178789491077385e+01 Max:+2.4185475371090597e+01 RMS:+7.7710948888854692e-01 +air_temperature | Min:-1.0784516433515279e+01 Max:+1.0549022663102676e+01 RMS:+3.2384375878820826e-01 +air_pressure_at_surface | Min:-1.6484601914328323e-03 Max:+1.3856849856779263e-03 RMS:+8.3530946702052195e-05 +water_vapor_mixing_ratio_wrt_moist_air | Min:-1.0021503370922452e-02 Max:+1.3243901954678224e-02 RMS:+1.3115100578902817e-04 +cloud_liquid_ice | Min:-3.2925003109779221e-04 Max:+3.0772213252633877e-04 RMS:+3.4572125152726005e-06 +cloud_liquid_water | Min:-1.3730991635473452e-03 Max:+1.0331594047075395e-03 RMS:+1.3213296694607966e-05 +ozone_mass_mixing_ratio | Min:-1.7236144371589322e-06 Max:+2.2084475912612794e-06 RMS:+3.4502781461392678e-08 ---------------------------------------------------------------------------------------------------- FV3 Increment for member 0: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 9 | cube sphere face size: C48 -eastward_wind | Min:-2.6713170463703555e+01 Max:+2.7247719731829164e+01 RMS:+7.7003410130506966e-01 -northward_wind | Min:-2.2266548354929135e+01 Max:+2.4111106836816546e+01 RMS:+7.7874592260732178e-01 -air_temperature | Min:-1.0204740456386372e+01 Max:+1.0612363461439131e+01 RMS:+3.2383456606394428e-01 -water_vapor_mixing_ratio_wrt_moist_air | Min:-1.0075023053001828e-02 Max:+1.3216991071147419e-02 RMS:+1.3161159034094137e-04 -cloud_liquid_ice | Min:-3.2384493993478425e-04 Max:+2.5782120798697029e-04 RMS:+3.5186992249237140e-06 -cloud_liquid_water | Min:-1.3410840615217380e-03 Max:+1.0793991164780980e-03 RMS:+1.2675198989331570e-05 -ozone_mass_mixing_ratio | Min:-1.7321578649115885e-06 Max:+2.2122365151317159e-06 RMS:+3.4501654041399942e-08 -air_pressure_thickness | Min:-3.7230194720905274e-05 Max:+3.0984621844254434e-05 RMS:+9.4295307947072803e-07 -layer_thickness | Min:-5.0314572597610095e+01 Max:+3.1207257614340051e+01 RMS:+6.5903625246599373e-01 +eastward_wind | Min:-2.6755148704831090e+01 Max:+2.7445134265820300e+01 RMS:+7.6898038333711749e-01 +northward_wind | Min:-2.2178789491077385e+01 Max:+2.4185475371090597e+01 RMS:+7.7710948888854692e-01 +air_temperature | Min:-1.0784516433515279e+01 Max:+1.0549022663102676e+01 RMS:+3.2384375878820826e-01 +water_vapor_mixing_ratio_wrt_moist_air | Min:-1.0021503370922452e-02 Max:+1.3243901954678224e-02 RMS:+1.3115100578902817e-04 +cloud_liquid_ice | Min:-3.2925003109779221e-04 Max:+3.0772213252633877e-04 RMS:+3.4572125152726005e-06 +cloud_liquid_water | Min:-1.3730991635473452e-03 Max:+1.0331594047075395e-03 RMS:+1.3213296694607966e-05 +ozone_mass_mixing_ratio | Min:-1.7236144371589322e-06 Max:+2.2084475912612794e-06 RMS:+3.4502781461392678e-08 +air_pressure_thickness | Min:-3.6899298720527440e-05 Max:+3.1017312721814960e-05 RMS:+9.4266922617364414e-07 +layer_thickness | Min:-5.0014265823861933e+01 Max:+3.0898151477016654e+01 RMS:+6.5848460245493412e-01 ---------------------------------------------------------------------------------------------------- Background State for member 1: ---------------------------------------------------------------------------------------------------- State print | number of fields = 9 | cube sphere face size: C48 -eastward_wind | Min:-8.5966735839843750e+01 Max:+1.1211631774902344e+02 RMS:+1.7425666524535583e+01 -northward_wind | Min:-8.5594192504882812e+01 Max:+8.9450973510742188e+01 RMS:+1.0012910607932993e+01 -air_temperature | Min:+1.7322386169433594e+02 Max:+3.1173611450195312e+02 RMS:+2.5015480177211401e+02 -air_pressure_at_surface | Min:+5.2300289062500000e+04 Max:+1.0443091406250000e+05 RMS:+9.8912612346289476e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+1.7588122958045460e-08 Max:+2.1704806014895439e-02 RMS:+4.9960608009716814e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2980920989066362e-04 RMS:+9.7698907168770129e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4689513482153416e-03 RMS:+3.5167035611299903e-05 -ozone_mass_mixing_ratio | Min:+2.9807353807420611e-10 Max:+1.7195472537423484e-05 RMS:+4.4692040486361164e-06 +eastward_wind | Min:-8.5966087341308594e+01 Max:+1.1214591979980469e+02 RMS:+1.7425599693772437e+01 +northward_wind | Min:-8.5568969726562500e+01 Max:+8.9453910827636719e+01 RMS:+1.0012870700458961e+01 +air_temperature | Min:+1.7322422790527344e+02 Max:+3.1173190307617188e+02 RMS:+2.5015468888662974e+02 +air_pressure_at_surface | Min:+5.2301363281250000e+04 Max:+1.0443097656250000e+05 RMS:+9.8912628070817751e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+1.7570943811051620e-08 Max:+2.1611798554658890e-02 RMS:+4.9962964224344337e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2922049760818481e-04 RMS:+9.7733563609262597e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4694335404783487e-03 RMS:+3.5085536774868749e-05 +ozone_mass_mixing_ratio | Min:+2.9826621728012981e-10 Max:+1.7195881810039282e-05 RMS:+4.4692050652263310e-06 geopotential_height_at_surface | Min:-2.7018375396728516e+01 Max:+5.2697558593750000e+03 RMS:+6.3772571434211386e+02 ---------------------------------------------------------------------------------------------------- JEDI Increment for member 1: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 8 | cube sphere face size: C48 -eastward_wind | Min:-2.7118603154153071e+01 Max:+2.5039255461317936e+01 RMS:+7.9016696986758683e-01 -northward_wind | Min:-1.9134521911266908e+01 Max:+1.8052220490594621e+01 RMS:+8.1416259656824774e-01 -air_temperature | Min:-1.0334410919697632e+01 Max:+1.0023267385714213e+01 RMS:+3.2993662752227909e-01 -air_pressure_at_surface | Min:-1.7015457730735761e-03 Max:+1.4328894367281464e-03 RMS:+8.3597529649529631e-05 -water_vapor_mixing_ratio_wrt_moist_air | Min:-1.0940498213010061e-02 Max:+1.4176037926216224e-02 RMS:+1.3345901067359821e-04 -cloud_liquid_ice | Min:-2.7333859171390946e-04 Max:+4.8852641654798684e-04 RMS:+3.6400194778040982e-06 -cloud_liquid_water | Min:-1.1354531767787950e-03 Max:+1.0641496243961217e-03 RMS:+1.3080375599165519e-05 -ozone_mass_mixing_ratio | Min:-1.8008616277179968e-06 Max:+2.4391037763833551e-06 RMS:+3.6841977469037158e-08 +eastward_wind | Min:-2.6410153938847341e+01 Max:+2.5235761322385869e+01 RMS:+7.8807971535887589e-01 +northward_wind | Min:-1.9157350680375867e+01 Max:+1.8014563258468129e+01 RMS:+8.1243167055864374e-01 +air_temperature | Min:-1.0920589024778607e+01 Max:+9.9577809464591880e+00 RMS:+3.3031798515011768e-01 +air_pressure_at_surface | Min:-1.6866912601756212e-03 Max:+1.4343651471904195e-03 RMS:+8.3571864435256723e-05 +water_vapor_mixing_ratio_wrt_moist_air | Min:-1.0886759940962830e-02 Max:+1.4203573478151255e-02 RMS:+1.3382079171167500e-04 +cloud_liquid_ice | Min:-4.8110709002814226e-04 Max:+4.7713624443900487e-04 RMS:+3.6873612628849232e-06 +cloud_liquid_water | Min:-1.4786335187316954e-03 Max:+1.0680992980876744e-03 RMS:+1.3548790780449636e-05 +ozone_mass_mixing_ratio | Min:-1.7924423988974384e-06 Max:+2.4353626139035565e-06 RMS:+3.6860276654647647e-08 ---------------------------------------------------------------------------------------------------- FV3 Increment for member 1: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 9 | cube sphere face size: C48 -eastward_wind | Min:-2.7118603154153071e+01 Max:+2.5039255461317936e+01 RMS:+7.9016696986758683e-01 -northward_wind | Min:-1.9134521911266908e+01 Max:+1.8052220490594621e+01 RMS:+8.1416259656824774e-01 -air_temperature | Min:-1.0334410919697632e+01 Max:+1.0023267385714213e+01 RMS:+3.2993662752227909e-01 -water_vapor_mixing_ratio_wrt_moist_air | Min:-1.0940498213010061e-02 Max:+1.4176037926216224e-02 RMS:+1.3345901067359821e-04 -cloud_liquid_ice | Min:-2.7333859171390946e-04 Max:+4.8852641654798684e-04 RMS:+3.6400194778040982e-06 -cloud_liquid_water | Min:-1.1354531767787950e-03 Max:+1.0641496243961217e-03 RMS:+1.3080375599165519e-05 -ozone_mass_mixing_ratio | Min:-1.8008616277179968e-06 Max:+2.4391037763833551e-06 RMS:+3.6841977469037158e-08 -air_pressure_thickness | Min:-3.8087571738287807e-05 Max:+3.2073941838461906e-05 RMS:+9.4342063209947081e-07 -layer_thickness | Min:-4.7521592877819785e+01 Max:+3.1680899109200254e+01 RMS:+6.5375317024288038e-01 +eastward_wind | Min:-2.6410153938847341e+01 Max:+2.5235761322385869e+01 RMS:+7.8807971535887589e-01 +northward_wind | Min:-1.9157350680375867e+01 Max:+1.8014563258468129e+01 RMS:+8.1243167055864374e-01 +air_temperature | Min:-1.0920589024778607e+01 Max:+9.9577809464591880e+00 RMS:+3.3031798515011768e-01 +water_vapor_mixing_ratio_wrt_moist_air | Min:-1.0886759940962830e-02 Max:+1.4203573478151255e-02 RMS:+1.3382079171167500e-04 +cloud_liquid_ice | Min:-4.8110709002814226e-04 Max:+4.7713624443900487e-04 RMS:+3.6873612628849232e-06 +cloud_liquid_water | Min:-1.4786335187316954e-03 Max:+1.0680992980876744e-03 RMS:+1.3548790780449636e-05 +ozone_mass_mixing_ratio | Min:-1.7924423988974384e-06 Max:+2.4353626139035565e-06 RMS:+3.6860276654647647e-08 +air_pressure_thickness | Min:-3.7755067751277238e-05 Max:+3.2106974686030298e-05 RMS:+9.4313099320621716e-07 +layer_thickness | Min:-4.7211113345212652e+01 Max:+3.1397032813900296e+01 RMS:+6.5379246729521723e-01 ---------------------------------------------------------------------------------------------------- diff --git a/test/testreference/C96C48_ufs_hybatmDA_lgetkf_observer.ref b/test/testreference/C96C48_ufs_hybatmDA_lgetkf_observer.ref index e85f63696..db8872787 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_lgetkf_observer.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_lgetkf_observer.ref @@ -1,126 +1,126 @@ Initial state for member 1: ---------------------------------------------------------------------------------------------------- State print | number of fields = 23 | cube sphere face size: C48 -eastward_wind | Min:-8.4384330749511719e+01 Max:+1.1146717834472656e+02 RMS:+1.7423407399233511e+01 -northward_wind | Min:-8.6144805908203125e+01 Max:+8.9331993103027344e+01 RMS:+1.0017299694477179e+01 -air_temperature | Min:+1.7350303649902344e+02 Max:+3.0961535644531250e+02 RMS:+2.5015669840056216e+02 -layer_thickness | Min:-3.0059777832031250e+03 Max:-1.6207923889160156e+01 RMS:+9.8503674614826332e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7881016845703125e+03 RMS:+9.5698921151558159e+02 -air_pressure_at_surface | Min:+5.2320046875000000e+04 Max:+1.0452482812500000e+05 RMS:+9.8914997456124955e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+1.6847316430812498e-08 Max:+2.2395884618163109e-02 RMS:+5.0107896876815721e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.1855275048874319e-04 RMS:+1.0354889627583219e-05 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3839458115398884e-03 RMS:+3.5588872198565459e-05 -ozone_mass_mixing_ratio | Min:+1.1339260641562987e-09 Max:+1.7277885490329936e-05 RMS:+4.4686682637740296e-06 +eastward_wind | Min:-8.4381935119628906e+01 Max:+1.1147341156005859e+02 RMS:+1.7423562537923519e+01 +northward_wind | Min:-8.6138259887695312e+01 Max:+8.9330894470214844e+01 RMS:+1.0017174203028123e+01 +air_temperature | Min:+1.7350219726562500e+02 Max:+3.0963690185546875e+02 RMS:+2.5015657367644260e+02 +layer_thickness | Min:-3.0061401367187500e+03 Max:-1.6210416793823242e+01 RMS:+9.8503668496048681e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7881135253906250e+03 RMS:+9.5698938964370029e+02 +air_pressure_at_surface | Min:+5.2319625000000000e+04 Max:+1.0452528906250000e+05 RMS:+9.8915012275401925e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+1.6836553484722572e-08 Max:+2.2505994886159897e-02 RMS:+5.0110427820345893e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2010331526398659e-04 RMS:+1.0363528039971752e-05 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3888616813346744e-03 RMS:+3.5573039146049825e-05 +ozone_mass_mixing_ratio | Min:+1.1367524699323894e-09 Max:+1.7277665392612107e-05 RMS:+4.4686688193802981e-06 geopotential_height_at_surface | Min:-2.7018375396728516e+01 Max:+5.2697558593750000e+03 RMS:+6.3772571434211386e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5462209907135938e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.5217851257324219e+02 RMS:+2.2019818126018798e+01 -skin_temperature_at_surface | Min:+2.1759780883789062e+02 Max:+3.2456860351562500e+02 RMS:+2.8741259834843908e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.5217852783203125e+02 RMS:+2.2019763739169889e+01 +skin_temperature_at_surface | Min:+2.1751763916015625e+02 Max:+3.2452719116210938e+02 RMS:+2.8741264670170318e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1568060302734375e+02 RMS:+2.8817196445239324e+02 -soilMoistureVolumetric | Min:+2.1992070600390434e-02 Max:+1.0000000000000000e+00 RMS:+8.4975035958924516e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0927191972732544e+00 RMS:+1.5092084570439257e-01 -eastward_wind_at_surface | Min:-1.8143459320068359e+01 Max:+2.0627843856811523e+01 RMS:+5.1169707890467366e+00 -northward_wind_at_surface | Min:-2.3821027755737305e+01 Max:+1.9497446060180664e+01 RMS:+4.8067548196805943e+00 -f10m | Min:+9.4103527069091797e-01 Max:+1.0685453414916992e+00 RMS:+9.9573423073115486e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.1583361816406250e+02 RMS:+2.8817190409943424e+02 +soilMoistureVolumetric | Min:+2.1991550922393799e-02 Max:+1.0000000000000000e+00 RMS:+8.4975027049775798e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0927191972732544e+00 RMS:+1.5092093358969108e-01 +eastward_wind_at_surface | Min:-1.8170446395874023e+01 Max:+2.1278623580932617e+01 RMS:+5.1168825419389767e+00 +northward_wind_at_surface | Min:-2.3760042190551758e+01 Max:+2.0148191452026367e+01 RMS:+4.8082957202774042e+00 +f10m | Min:+9.4115543365478516e-01 Max:+1.0684278011322021e+00 RMS:+9.9573250553770820e-01 ---------------------------------------------------------------------------------------------------- Initial state for member 2: ---------------------------------------------------------------------------------------------------- State print | number of fields = 23 | cube sphere face size: C48 -eastward_wind | Min:-8.5966735839843750e+01 Max:+1.1211631774902344e+02 RMS:+1.7425666524535583e+01 -northward_wind | Min:-8.5594192504882812e+01 Max:+8.9450973510742188e+01 RMS:+1.0012910607932993e+01 -air_temperature | Min:+1.7322386169433594e+02 Max:+3.1173611450195312e+02 RMS:+2.5015480177211401e+02 -layer_thickness | Min:-3.0079758300781250e+03 Max:-1.6234376907348633e+01 RMS:+9.8509317417150282e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7860076904296875e+03 RMS:+9.5696337286916196e+02 -air_pressure_at_surface | Min:+5.2300289062500000e+04 Max:+1.0443091406250000e+05 RMS:+9.8912612346289476e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+1.7588122958045460e-08 Max:+2.1704806014895439e-02 RMS:+4.9960608009716806e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2980920989066362e-04 RMS:+9.7698907168770146e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4689513482153416e-03 RMS:+3.5167035611299903e-05 -ozone_mass_mixing_ratio | Min:+2.9807353807420611e-10 Max:+1.7195472537423484e-05 RMS:+4.4692040486361164e-06 +eastward_wind | Min:-8.5966087341308594e+01 Max:+1.1214591979980469e+02 RMS:+1.7425599693772437e+01 +northward_wind | Min:-8.5568969726562500e+01 Max:+8.9453910827636719e+01 RMS:+1.0012870700458963e+01 +air_temperature | Min:+1.7322422790527344e+02 Max:+3.1173190307617188e+02 RMS:+2.5015468888662974e+02 +layer_thickness | Min:-3.0080390625000000e+03 Max:-1.6221441268920898e+01 RMS:+9.8509308795874222e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7860113525390625e+03 RMS:+9.5696357050818563e+02 +air_pressure_at_surface | Min:+5.2301363281250000e+04 Max:+1.0443097656250000e+05 RMS:+9.8912628070817751e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+1.7570943811051620e-08 Max:+2.1611798554658890e-02 RMS:+4.9962964224344337e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2922049760818481e-04 RMS:+9.7733563609262597e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4694335404783487e-03 RMS:+3.5085536774868749e-05 +ozone_mass_mixing_ratio | Min:+2.9826621728012981e-10 Max:+1.7195881810039282e-05 RMS:+4.4692050652263310e-06 geopotential_height_at_surface | Min:-2.7018375396728516e+01 Max:+5.2697558593750000e+03 RMS:+6.3772571434211386e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5462209907135938e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.4906845092773438e+02 RMS:+2.2004970461687567e+01 -skin_temperature_at_surface | Min:+2.1673643493652344e+02 Max:+3.2559057617187500e+02 RMS:+2.8745909600453388e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.4906773376464844e+02 RMS:+2.2005017974954740e+01 +skin_temperature_at_surface | Min:+2.1651719665527344e+02 Max:+3.2563174438476562e+02 RMS:+2.8745862236152567e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1603344726562500e+02 RMS:+2.8817511849953127e+02 -soilMoistureVolumetric | Min:+2.1997468546032906e-02 Max:+1.0000000000000000e+00 RMS:+8.4973303187978066e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0929538011550903e+00 RMS:+1.5094966458993353e-01 -eastward_wind_at_surface | Min:-1.9632795333862305e+01 Max:+2.2031156539916992e+01 RMS:+5.1474973436096771e+00 -northward_wind_at_surface | Min:-2.2859689712524414e+01 Max:+1.9478809356689453e+01 RMS:+4.7531537396512338e+00 -f10m | Min:+9.4079720973968506e-01 Max:+1.0689357519149780e+00 RMS:+9.9569948613238035e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.1595724487304688e+02 RMS:+2.8817510472919753e+02 +soilMoistureVolumetric | Min:+2.1997323259711266e-02 Max:+1.0000000000000000e+00 RMS:+8.4973291977355625e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0929540395736694e+00 RMS:+1.5094981321317086e-01 +eastward_wind_at_surface | Min:-1.9720079421997070e+01 Max:+2.2345537185668945e+01 RMS:+5.1457488184664619e+00 +northward_wind_at_surface | Min:-2.2769409179687500e+01 Max:+1.9396966934204102e+01 RMS:+4.7505626186338947e+00 +f10m | Min:+9.4070750474929810e-01 Max:+1.0689853429794312e+00 RMS:+9.9570180429785693e-01 ---------------------------------------------------------------------------------------------------- H(x) for member 1: -Aircraft nobs= 502771 Min=-80.55443499910179, Max=305.5072533751332, RMS=146.5850485230079 +Aircraft nobs= 502774 Min=-80.52688703818197, Max=305.4756140974109, RMS=146.5850912266714 -ascatw_ascat_metop-b nobs= 24988 Min=-14.90743210285059, Max=18.50735802131708, RMS=5.626101623328659 +ascatw_ascat_metop-b nobs= 24972 Min=-14.97150731725557, Max=18.59222631582299, RMS=5.627165086146203 -ATMS N20 nobs= 17107090 Min=129.7859007557375, Max=294.7571288275636, RMS=237.7675940436646 +ATMS N20 nobs= 17107090 Min=129.7979125777318, Max=294.748015146428, RMS=237.7681141030064 -surface_ps nobs= 199096 Min=481.5556154686088, Max=106952.1342381349, RMS=94358.04308199322 +surface_ps nobs= 199096 Min=482.3530572788997, Max=106952.1841934663, RMS=94358.02893089037 -gnssrobndnbam nobs= 792394 Min=3.54653995010946e-06, Max=0.05689811581521509, RMS=0.00729813001231048 +gnssrobndnbam nobs= 792396 Min=3.546380623890607e-06, Max=0.05865236134606326, RMS=0.007295936681788925 -ompsnp_npp nobs= 3652 Min=0.02233893266611933, Max=544.9735566336279, RMS=74.39666518228908 +ompsnp_npp nobs= 3652 Min=0.02233895704097705, Max=544.9716801848433, RMS=74.39669222502185 -ompstc_npp nobs= 29925 Min=232.08666141862, Max=578.874275460677, RMS=330.1687050473581 +ompstc_npp nobs= 29925 Min=232.1671140621541, Max=578.8735949356186, RMS=330.1688990810148 -satwind_goes-16 nobs= 192150 Min=-46.72026247379588, Max=73.49080322835941, RMS=13.50004896322415 +satwind_goes-16 nobs= 192150 Min=-46.73388629014798, Max=73.49052471774161, RMS=13.49994079700484 H(x) for member 2: -Aircraft nobs= 502771 Min=-83.52929132190421, Max=303.935382876328, RMS=146.5832501835669 +Aircraft nobs= 502774 Min=-83.50977510158438, Max=303.9081583779893, RMS=146.5836743742879 -ascatw_ascat_metop-b nobs= 24988 Min=-15.95012800292468, Max=19.32845599082289, RMS=5.590280602334444 +ascatw_ascat_metop-b nobs= 24972 Min=-15.9452064995462, Max=19.35646326739365, RMS=5.594172065839683 -ATMS N20 nobs= 17107090 Min=129.5870694672627, Max=294.7645909817928, RMS=237.7536249801317 +ATMS N20 nobs= 17107090 Min=129.597927951064, Max=294.7543239503619, RMS=237.7537725332559 -surface_ps nobs= 199096 Min=475.424805046184, Max=106814.5789947868, RMS=94338.64524856347 +surface_ps nobs= 199096 Min=475.4346559768398, Max=106815.2908050268, RMS=94338.51759672751 -gnssrobndnbam nobs= 792394 Min=3.535338326285228e-06, Max=0.05521000303350442, RMS=0.007290866963061116 +gnssrobndnbam nobs= 792396 Min=3.53531944084558e-06, Max=0.05504232119228934, RMS=0.007290074348817288 -ompsnp_npp nobs= 3652 Min=0.02236964099830396, Max=551.3730864849784, RMS=74.49227809990998 +ompsnp_npp nobs= 3652 Min=0.02236952634391419, Max=551.3696272280527, RMS=74.49290431963087 -ompstc_npp nobs= 29925 Min=232.3157492522477, Max=581.8884351421542, RMS=330.2400711699158 +ompstc_npp nobs= 29925 Min=232.2637157554366, Max=581.8883577567274, RMS=330.2398451750421 -satwind_goes-16 nobs= 192150 Min=-45.04364111939185, Max=72.45210083322863, RMS=13.31321129007812 +satwind_goes-16 nobs= 192150 Min=-45.04345261420303, Max=72.45073293453751, RMS=13.31522549257862 H(x) ensemble background mean: -Aircraft nobs= 670256 Min=-82.041863160503, Max=304.2592158533807, RMS=127.3605543707548 +Aircraft nobs= 670256 Min=-82.01833106988317, Max=304.2594069546965, RMS=127.3607013100371 -ascatw_ascat_metop-b nobs= 241220 Min=-15.81413469653508, Max=19.88922395519342, RMS=5.523473979723838 +ascatw_ascat_metop-b nobs= 241220 Min=-15.68963235075079, Max=19.92991820776015, RMS=5.523964770711358 -ATMS N20 nobs= 17107090 Min=129.6864851115001, Max=294.7608599046782, RMS=237.7603500470373 +ATMS N20 nobs= 17107090 Min=129.6979202643979, Max=294.751169548395, RMS=237.7606829611712 -surface_ps nobs= 199096 Min=486.4346696969737, Max=106883.3566164608, RMS=94348.33691646729 +surface_ps nobs= 199096 Min=487.1040468122645, Max=106883.7374992466, RMS=94348.2660116278 -gnssrobndnbam nobs= 792394 Min=3.540939138197344e-06, Max=0.04945358726186298, RMS=0.007290515506537144 +gnssrobndnbam nobs= 792396 Min=3.540850032368094e-06, Max=0.04986936990829795, RMS=0.007288979271240134 -ompsnp_npp nobs= 3652 Min=0.02235738516446045, Max=548.1733215593032, RMS=74.44382038546588 +ompsnp_npp nobs= 3652 Min=0.02235732977445982, Max=548.170653706448, RMS=74.44414609956667 -ompstc_npp nobs= 29925 Min=232.3457460802846, Max=580.3706053589909, RMS=330.2028035413688 +ompstc_npp nobs= 29925 Min=232.3594872699685, Max=580.3703615029328, RMS=330.2027869841414 -satwind_goes-16 nobs= 1605788 Min=-48.18299380448379, Max=74.78775267937297, RMS=10.02015189273681 +satwind_goes-16 nobs= 1605788 Min=-48.18851124449841, Max=74.78861376491878, RMS=10.02029611812022 background y - H(x): -Aircraft nobs= 514449 Min=-244.1546176605621, Max=114.0538314416612, RMS=3.825505485330922 +Aircraft nobs= 514449 Min=-244.1467098114697, Max=114.0025485386182, RMS=3.825349314118969 -ascatw_ascat_metop-b nobs= 241220 Min=-15.53489644753131, Max=19.32628866297402, RMS=2.327498313731722 +ascatw_ascat_metop-b nobs= 241220 Min=-15.49332374410524, Max=19.42541728513033, RMS=2.328319413300086 -ATMS N20 nobs= 17107090 Min=-139.4066954833384, Max=99999997810.8074, RMS=5096987910.765858 +ATMS N20 nobs= 17107090 Min=-139.4179788348109, Max=99999997810.81099, RMS=5096987910.765762 -surface_ps nobs= 116459 Min=-101684.8005703992, Max=75903.15428094343, RMS=2988.11265787499 +surface_ps nobs= 116459 Min=-101683.6161325038, Max=75904.41475640623, RMS=2988.090342492511 -gnssrobndnbam nobs= 791231 Min=-0.0302615994327759, Max=0.01662471709650585, RMS=0.0008693038108764198 +gnssrobndnbam nobs= 791233 Min=-0.02976546260592265, Max=0.01655246978054331, RMS=0.0008698553061021088 -ompsnp_npp nobs= 3652 Min=-30.64844591762643, Max=60.86103708368728, RMS=3.943997228450417 +ompsnp_npp nobs= 3652 Min=-30.64859598170479, Max=60.86158014936484, RMS=3.944311336450149 -ompstc_npp nobs= 28934 Min=-98.77455818390638, Max=716.7959660681558, RMS=17.05887006514246 +ompstc_npp nobs= 28934 Min=-98.77302432677061, Max=716.7980683684957, RMS=17.05901286939617 -satwind_goes-16 nobs= 1605788 Min=-51.62964751676423, Max=38.23192217860554, RMS=3.10218655904646 +satwind_goes-16 nobs= 1605788 Min=-51.49710944510686, Max=38.22800775116848, RMS=3.10195876364875 diff --git a/test/testreference/C96C48_ufs_hybatmDA_lgetkf_solver.ref b/test/testreference/C96C48_ufs_hybatmDA_lgetkf_solver.ref index 7c07c4dfa..1f8ac9fd5 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_lgetkf_solver.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_lgetkf_solver.ref @@ -1,180 +1,180 @@ Initial state for member 1: ---------------------------------------------------------------------------------------------------- State print | number of fields = 23 | cube sphere face size: C48 -eastward_wind | Min:-8.4384330749511719e+01 Max:+1.1146717834472656e+02 RMS:+1.7423407399233511e+01 -northward_wind | Min:-8.6144805908203125e+01 Max:+8.9331993103027344e+01 RMS:+1.0017299694477179e+01 -air_temperature | Min:+1.7350303649902344e+02 Max:+3.0961535644531250e+02 RMS:+2.5015669840056216e+02 -layer_thickness | Min:-3.0059777832031250e+03 Max:-1.6207923889160156e+01 RMS:+9.8503674614826332e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7881016845703125e+03 RMS:+9.5698921151558159e+02 -air_pressure_at_surface | Min:+5.2320046875000000e+04 Max:+1.0452482812500000e+05 RMS:+9.8914997456124955e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+1.6847316430812498e-08 Max:+2.2395884618163109e-02 RMS:+5.0107896876815721e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.1855275048874319e-04 RMS:+1.0354889627583219e-05 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3839458115398884e-03 RMS:+3.5588872198565459e-05 -ozone_mass_mixing_ratio | Min:+1.1339260641562987e-09 Max:+1.7277885490329936e-05 RMS:+4.4686682637740296e-06 +eastward_wind | Min:-8.4381935119628906e+01 Max:+1.1147341156005859e+02 RMS:+1.7423562537923519e+01 +northward_wind | Min:-8.6138259887695312e+01 Max:+8.9330894470214844e+01 RMS:+1.0017174203028123e+01 +air_temperature | Min:+1.7350219726562500e+02 Max:+3.0963690185546875e+02 RMS:+2.5015657367644260e+02 +layer_thickness | Min:-3.0061401367187500e+03 Max:-1.6210416793823242e+01 RMS:+9.8503668496048681e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7881135253906250e+03 RMS:+9.5698938964370029e+02 +air_pressure_at_surface | Min:+5.2319625000000000e+04 Max:+1.0452528906250000e+05 RMS:+9.8915012275401925e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+1.6836553484722572e-08 Max:+2.2505994886159897e-02 RMS:+5.0110427820345893e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2010331526398659e-04 RMS:+1.0363528039971752e-05 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3888616813346744e-03 RMS:+3.5573039146049825e-05 +ozone_mass_mixing_ratio | Min:+1.1367524699323894e-09 Max:+1.7277665392612107e-05 RMS:+4.4686688193802981e-06 geopotential_height_at_surface | Min:-2.7018375396728516e+01 Max:+5.2697558593750000e+03 RMS:+6.3772571434211386e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5462209907135938e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.5217851257324219e+02 RMS:+2.2019818126018798e+01 -skin_temperature_at_surface | Min:+2.1759780883789062e+02 Max:+3.2456860351562500e+02 RMS:+2.8741259834843908e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.5217852783203125e+02 RMS:+2.2019763739169889e+01 +skin_temperature_at_surface | Min:+2.1751763916015625e+02 Max:+3.2452719116210938e+02 RMS:+2.8741264670170318e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1568060302734375e+02 RMS:+2.8817196445239324e+02 -soilMoistureVolumetric | Min:+2.1992070600390434e-02 Max:+1.0000000000000000e+00 RMS:+8.4975035958924516e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0927191972732544e+00 RMS:+1.5092084570439257e-01 -eastward_wind_at_surface | Min:-1.8143459320068359e+01 Max:+2.0627843856811523e+01 RMS:+5.1169707890467366e+00 -northward_wind_at_surface | Min:-2.3821027755737305e+01 Max:+1.9497446060180664e+01 RMS:+4.8067548196805943e+00 -f10m | Min:+9.4103527069091797e-01 Max:+1.0685453414916992e+00 RMS:+9.9573423073115486e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.1583361816406250e+02 RMS:+2.8817190409943424e+02 +soilMoistureVolumetric | Min:+2.1991550922393799e-02 Max:+1.0000000000000000e+00 RMS:+8.4975027049775798e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0927191972732544e+00 RMS:+1.5092093358969108e-01 +eastward_wind_at_surface | Min:-1.8170446395874023e+01 Max:+2.1278623580932617e+01 RMS:+5.1168825419389767e+00 +northward_wind_at_surface | Min:-2.3760042190551758e+01 Max:+2.0148191452026367e+01 RMS:+4.8082957202774042e+00 +f10m | Min:+9.4115543365478516e-01 Max:+1.0684278011322021e+00 RMS:+9.9573250553770820e-01 ---------------------------------------------------------------------------------------------------- Initial state for member 2: ---------------------------------------------------------------------------------------------------- State print | number of fields = 23 | cube sphere face size: C48 -eastward_wind | Min:-8.5966735839843750e+01 Max:+1.1211631774902344e+02 RMS:+1.7425666524535583e+01 -northward_wind | Min:-8.5594192504882812e+01 Max:+8.9450973510742188e+01 RMS:+1.0012910607932993e+01 -air_temperature | Min:+1.7322386169433594e+02 Max:+3.1173611450195312e+02 RMS:+2.5015480177211401e+02 -layer_thickness | Min:-3.0079758300781250e+03 Max:-1.6234376907348633e+01 RMS:+9.8509317417150282e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7860076904296875e+03 RMS:+9.5696337286916196e+02 -air_pressure_at_surface | Min:+5.2300289062500000e+04 Max:+1.0443091406250000e+05 RMS:+9.8912612346289476e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+1.7588122958045460e-08 Max:+2.1704806014895439e-02 RMS:+4.9960608009716806e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2980920989066362e-04 RMS:+9.7698907168770146e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4689513482153416e-03 RMS:+3.5167035611299903e-05 -ozone_mass_mixing_ratio | Min:+2.9807353807420611e-10 Max:+1.7195472537423484e-05 RMS:+4.4692040486361164e-06 +eastward_wind | Min:-8.5966087341308594e+01 Max:+1.1214591979980469e+02 RMS:+1.7425599693772437e+01 +northward_wind | Min:-8.5568969726562500e+01 Max:+8.9453910827636719e+01 RMS:+1.0012870700458963e+01 +air_temperature | Min:+1.7322422790527344e+02 Max:+3.1173190307617188e+02 RMS:+2.5015468888662974e+02 +layer_thickness | Min:-3.0080390625000000e+03 Max:-1.6221441268920898e+01 RMS:+9.8509308795874222e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7860113525390625e+03 RMS:+9.5696357050818563e+02 +air_pressure_at_surface | Min:+5.2301363281250000e+04 Max:+1.0443097656250000e+05 RMS:+9.8912628070817751e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+1.7570943811051620e-08 Max:+2.1611798554658890e-02 RMS:+4.9962964224344337e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2922049760818481e-04 RMS:+9.7733563609262597e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4694335404783487e-03 RMS:+3.5085536774868749e-05 +ozone_mass_mixing_ratio | Min:+2.9826621728012981e-10 Max:+1.7195881810039282e-05 RMS:+4.4692050652263310e-06 geopotential_height_at_surface | Min:-2.7018375396728516e+01 Max:+5.2697558593750000e+03 RMS:+6.3772571434211386e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5462209907135938e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.4906845092773438e+02 RMS:+2.2004970461687567e+01 -skin_temperature_at_surface | Min:+2.1673643493652344e+02 Max:+3.2559057617187500e+02 RMS:+2.8745909600453388e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.4906773376464844e+02 RMS:+2.2005017974954740e+01 +skin_temperature_at_surface | Min:+2.1651719665527344e+02 Max:+3.2563174438476562e+02 RMS:+2.8745862236152567e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1603344726562500e+02 RMS:+2.8817511849953127e+02 -soilMoistureVolumetric | Min:+2.1997468546032906e-02 Max:+1.0000000000000000e+00 RMS:+8.4973303187978066e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0929538011550903e+00 RMS:+1.5094966458993353e-01 -eastward_wind_at_surface | Min:-1.9632795333862305e+01 Max:+2.2031156539916992e+01 RMS:+5.1474973436096771e+00 -northward_wind_at_surface | Min:-2.2859689712524414e+01 Max:+1.9478809356689453e+01 RMS:+4.7531537396512338e+00 -f10m | Min:+9.4079720973968506e-01 Max:+1.0689357519149780e+00 RMS:+9.9569948613238035e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.1595724487304688e+02 RMS:+2.8817510472919753e+02 +soilMoistureVolumetric | Min:+2.1997323259711266e-02 Max:+1.0000000000000000e+00 RMS:+8.4973291977355625e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0929540395736694e+00 RMS:+1.5094981321317086e-01 +eastward_wind_at_surface | Min:-1.9720079421997070e+01 Max:+2.2345537185668945e+01 RMS:+5.1457488184664619e+00 +northward_wind_at_surface | Min:-2.2769409179687500e+01 Max:+1.9396966934204102e+01 RMS:+4.7505626186338947e+00 +f10m | Min:+9.4070750474929810e-01 Max:+1.0689853429794312e+00 RMS:+9.9570180429785693e-01 ---------------------------------------------------------------------------------------------------- H(x) for member 1: -Aircraft nobs= 502771 Min=-80.55443572998047, Max=305.5072631835938, RMS=146.5850485206547 +Aircraft nobs= 502774 Min=-80.52688598632812, Max=305.4756164550781, RMS=146.5850912394751 -ascatw_ascat_metop-b nobs= 24988 Min=-14.90743255615234, Max=18.50735855102539, RMS=5.626101621409232 +ascatw_ascat_metop-b nobs= 24972 Min=-14.97150707244873, Max=18.59222602844238, RMS=5.62716508579711 -ATMS N20 nobs= 17107090 Min=129.7859039306641, Max=294.7571411132812, RMS=237.7675940456118 +ATMS N20 nobs= 17107090 Min=129.7979125976562, Max=294.7480163574219, RMS=237.7681141040336 -surface_ps nobs= 199096 Min=481.5556030273438, Max=106952.1328125, RMS=94358.04310219502 +surface_ps nobs= 199096 Min=482.3530578613281, Max=106952.1875, RMS=94358.02892149292 -gnssrobndnbam nobs= 792394 Min=3.546540028764866e-06, Max=0.05689811706542969, RMS=0.007298130011564753 +gnssrobndnbam nobs= 792396 Min=3.546380639818381e-06, Max=0.0586523599922657, RMS=0.0072959366825055 -ompsnp_npp nobs= 3652 Min=0.02233893238008022, Max=544.9735717773438, RMS=74.39666527674214 +ompsnp_npp nobs= 3652 Min=0.02233895659446716, Max=544.9716796875, RMS=74.39669225492921 -ompstc_npp nobs= 29925 Min=232.0866546630859, Max=578.874267578125, RMS=330.1687049872166 +ompstc_npp nobs= 29925 Min=232.1671142578125, Max=578.8735961914062, RMS=330.1688989797257 -satwind_goes-16 nobs= 192150 Min=-46.72026062011719, Max=73.49080657958984, RMS=13.50004896377961 +satwind_goes-16 nobs= 192150 Min=-46.73388671875, Max=73.49052429199219, RMS=13.49994079676702 H(x) for member 2: -Aircraft nobs= 502771 Min=-83.52928924560547, Max=303.9353942871094, RMS=146.5832501984888 +Aircraft nobs= 502774 Min=-83.50977325439453, Max=303.9081726074219, RMS=146.5836743666871 -ascatw_ascat_metop-b nobs= 24988 Min=-15.95012760162354, Max=19.32845687866211, RMS=5.590280603593994 +ascatw_ascat_metop-b nobs= 24972 Min=-15.94520664215088, Max=19.3564624786377, RMS=5.594172063865287 -ATMS N20 nobs= 17107090 Min=129.5870666503906, Max=294.7645874023438, RMS=237.7536249814979 +ATMS N20 nobs= 17107090 Min=129.5979309082031, Max=294.7543334960938, RMS=237.7537725343049 -surface_ps nobs= 199096 Min=475.4248046875, Max=106814.578125, RMS=94338.64525474468 +surface_ps nobs= 199096 Min=475.4346618652344, Max=106815.2890625, RMS=94338.51762073471 -gnssrobndnbam nobs= 792394 Min=3.53533823727048e-06, Max=0.05521000176668167, RMS=0.007290866961668531 +gnssrobndnbam nobs= 792396 Min=3.535319365255418e-06, Max=0.0550423227250576, RMS=0.007290074349441779 -ompsnp_npp nobs= 3652 Min=0.02236964181065559, Max=551.3731079101562, RMS=74.49227830514708 +ompsnp_npp nobs= 3652 Min=0.02236952632665634, Max=551.36962890625, RMS=74.49290437483097 -ompstc_npp nobs= 29925 Min=232.3157501220703, Max=581.888427734375, RMS=330.2400711798879 +ompstc_npp nobs= 29925 Min=232.2637176513672, Max=581.8883666992188, RMS=330.2398452061242 -satwind_goes-16 nobs= 192150 Min=-45.04364013671875, Max=72.45210266113281, RMS=13.31321128986013 +satwind_goes-16 nobs= 192150 Min=-45.04345321655273, Max=72.45072937011719, RMS=13.31522549128388 H(x) ensemble background mean: -Aircraft nobs= 502771 Min=-82.04186248779297, Max=304.2592163085938, RMS=146.582395066166 +Aircraft nobs= 502774 Min=-82.01832962036133, Max=304.2594146728516, RMS=146.5826289292741 -ascatw_ascat_metop-b nobs= 24988 Min=-15.35133123397827, Max=18.91790771484375, RMS=5.590053671147163 +ascatw_ascat_metop-b nobs= 24972 Min=-15.30188179016113, Max=18.95062828063965, RMS=5.592606120496843 -ATMS N20 nobs= 17107090 Min=129.6864852905273, Max=294.7608642578125, RMS=237.7603500486925 +ATMS N20 nobs= 17107090 Min=129.6979217529297, Max=294.7511749267578, RMS=237.7606829622101 -surface_ps nobs= 199096 Min=486.4346618652344, Max=106883.35546875, RMS=94348.33692965737 +surface_ps nobs= 199096 Min=487.1040496826172, Max=106883.73828125, RMS=94348.26601893629 -gnssrobndnbam nobs= 792394 Min=3.540939133017673e-06, Max=0.04945358820259571, RMS=0.007290515505449794 +gnssrobndnbam nobs= 792396 Min=3.540850002536899e-06, Max=0.04986936971545219, RMS=0.007288979271877694 -ompsnp_npp nobs= 3652 Min=0.02235738560557365, Max=548.17333984375, RMS=74.44382053535134 +ompsnp_npp nobs= 3652 Min=0.02235732972621918, Max=548.170654296875, RMS=74.44414614227075 -ompstc_npp nobs= 29925 Min=232.3457412719727, Max=580.37060546875, RMS=330.2028035163413 +ompstc_npp nobs= 29925 Min=232.359489440918, Max=580.370361328125, RMS=330.2027869490538 -satwind_goes-16 nobs= 192150 Min=-45.88195037841797, Max=72.75027465820312, RMS=13.36167441823028 +satwind_goes-16 nobs= 192150 Min=-45.88866996765137, Max=72.75020217895508, RMS=13.36273267218127 background y - H(x): -Aircraft nobs= 502771 Min=-18.89637756347656, Max=18.92713928222656, RMS=3.217299765305571 +Aircraft nobs= 502774 Min=-18.89226531982422, Max=18.92750930786133, RMS=3.217484448211873 -ascatw_ascat_metop-b nobs= 24988 Min=-4.990096844732761, Max=4.997781611979008, RMS=1.78136290653079 +ascatw_ascat_metop-b nobs= 24972 Min=-4.998656421899796, Max=4.998543858528137, RMS=1.781285394555728 -ATMS N20 nobs= 17107090 Min=-139.4066925048828, Max=99999997810.8074, RMS=5096987910.765857 +ATMS N20 nobs= 17107090 Min=-139.4179840087891, Max=99999997810.81099, RMS=5096987910.765761 -surface_ps nobs= 116459 Min=-101684.80078125, Max=75903.154296875, RMS=2988.112660654301 +surface_ps nobs= 116459 Min=-101683.6171875, Max=75904.4150390625, RMS=2988.090322213662 -gnssrobndnbam nobs= 791231 Min=-0.03026160039007664, Max=0.01662471704185009, RMS=0.000869303809760421 +gnssrobndnbam nobs= 791233 Min=-0.02976546250283718, Max=0.01655246969312429, RMS=0.0008698553066247312 -ompsnp_npp nobs= 3652 Min=-30.64844512939453, Max=60.86103820800781, RMS=3.943997189932038 +ompsnp_npp nobs= 3652 Min=-30.64859771728516, Max=60.86158752441406, RMS=3.944311410242143 -ompstc_npp nobs= 28934 Min=-98.7745361328125, Max=716.7959594726562, RMS=17.05887006085864 +ompstc_npp nobs= 28934 Min=-98.77304077148438, Max=716.7980804443359, RMS=17.05901287422818 -satwind_goes-16 nobs= 192150 Min=-17.58694839477539, Max=18.68439626693726, RMS=3.267043143712932 +satwind_goes-16 nobs= 192150 Min=-17.57823753356934, Max=18.68558120727539, RMS=3.266693383014099 Background mean : ---------------------------------------------------------------------------------------------------- State print | number of fields = 23 | cube sphere face size: C48 -eastward_wind | Min:-8.5175533294677734e+01 Max:+1.1179174804687500e+02 RMS:+1.7400557939433298e+01 -northward_wind | Min:-8.5735511779785156e+01 Max:+8.9157825469970703e+01 RMS:+9.9701645189144461e+00 -air_temperature | Min:+1.7338398742675781e+02 Max:+3.1067573547363281e+02 RMS:+2.5015547362929473e+02 -layer_thickness | Min:-3.0054658203125000e+03 Max:-1.6221150398254395e+01 RMS:+9.8506306362137718e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7870546875000000e+03 RMS:+9.5697619937906575e+02 -air_pressure_at_surface | Min:+5.2310167968750000e+04 Max:+1.0447787109375000e+05 RMS:+9.8913797930278190e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+2.9691944014587079e-08 Max:+2.1115131676197052e-02 RMS:+4.9994705712860729e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.6185300268698484e-04 RMS:+9.3862057121105856e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.2367462622933090e-03 RMS:+3.1415946634547486e-05 -ozone_mass_mixing_ratio | Min:+7.5237392704874395e-10 Max:+1.7233576727448963e-05 RMS:+4.4688532813447449e-06 +eastward_wind | Min:-8.5174011230468750e+01 Max:+1.1180966567993164e+02 RMS:+1.7400608166952363e+01 +northward_wind | Min:-8.5721366882324219e+01 Max:+8.9159130096435547e+01 RMS:+9.9701196901312930e+00 +air_temperature | Min:+1.7338367462158203e+02 Max:+3.1068440246582031e+02 RMS:+2.5015535491643763e+02 +layer_thickness | Min:-3.0056031494140625e+03 Max:-1.6219569206237793e+01 RMS:+9.8506299054041222e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7870624389648438e+03 RMS:+9.5697638726610160e+02 +air_pressure_at_surface | Min:+5.2310494140625000e+04 Max:+1.0447813281250000e+05 RMS:+9.8913813202294172e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+2.9699791959103550e-08 Max:+2.1151660010218620e-02 RMS:+4.9997254551270454e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.7693076592404395e-04 RMS:+9.3960454614081343e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.2183884391561151e-03 RMS:+3.1354590436484046e-05 +ozone_mass_mixing_ratio | Min:+7.5146595890362988e-10 Max:+1.7234122424270026e-05 RMS:+4.4688540296858567e-06 geopotential_height_at_surface | Min:-2.7018375396728516e+01 Max:+5.2697558593750000e+03 RMS:+6.3772571434211386e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5462209907135938e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.4910437774658203e+02 RMS:+2.2007651817656669e+01 -skin_temperature_at_surface | Min:+2.1716712188720703e+02 Max:+3.2174871826171875e+02 RMS:+2.8743544448926787e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.4910404968261719e+02 RMS:+2.2007648256514138e+01 +skin_temperature_at_surface | Min:+2.1701741790771484e+02 Max:+3.2172630310058594e+02 RMS:+2.8743523169966045e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1577014160156250e+02 RMS:+2.8817349407786276e+02 -soilMoistureVolumetric | Min:+2.1994769573211670e-02 Max:+1.0000000000000000e+00 RMS:+8.4973696890011863e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0928364992141724e+00 RMS:+1.5091512135815568e-01 -eastward_wind_at_surface | Min:-1.8888127326965332e+01 Max:+2.1329500198364258e+01 RMS:+5.1094029653114390e+00 -northward_wind_at_surface | Min:-2.3228111267089844e+01 Max:+1.8953988075256348e+01 RMS:+4.7537442465404594e+00 -f10m | Min:+9.4170856475830078e-01 Max:+1.0687405467033386e+00 RMS:+9.9571647867703006e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.1589543151855469e+02 RMS:+2.8817345707140311e+02 +soilMoistureVolumetric | Min:+2.1994437091052532e-02 Max:+1.0000000000000000e+00 RMS:+8.4973686886486732e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0928366184234619e+00 RMS:+1.5091517893438086e-01 +eastward_wind_at_surface | Min:-1.8945262908935547e+01 Max:+2.1812080383300781e+01 RMS:+5.1084993343462717e+00 +northward_wind_at_surface | Min:-2.3117747306823730e+01 Max:+1.9191046714782715e+01 RMS:+4.7533437996987020e+00 +f10m | Min:+9.4175148010253906e-01 Max:+1.0687065720558167e+00 RMS:+9.9571676746347482e-01 ---------------------------------------------------------------------------------------------------- Analysis mean : ---------------------------------------------------------------------------------------------------- State print | number of fields = 23 | cube sphere face size: C48 -eastward_wind | Min:-8.4774324321502988e+01 Max:+1.1170619450293722e+02 RMS:+1.7400375509763755e+01 -northward_wind | Min:-8.7214121288366655e+01 Max:+8.9233807495233577e+01 RMS:+9.9938074328966984e+00 -air_temperature | Min:+1.7338398731904834e+02 Max:+3.1021734492129713e+02 RMS:+2.5015182619184384e+02 -layer_thickness | Min:-3.0054658092822870e+03 Max:-1.6234013903099573e+01 RMS:+9.8506487778080520e+02 -air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7869309532732013e+03 RMS:+9.5697423778426378e+02 -air_pressure_at_surface | Min:+5.2310167956090001e+04 Max:+1.0447787101137359e+05 RMS:+9.8913797926518338e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+0.0000000000000000e+00 Max:+2.1115131089317944e-02 RMS:+4.9974721017221301e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.4276663301760246e-04 RMS:+9.6220406276590353e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3226195416814611e-03 RMS:+3.3209346549199534e-05 -ozone_mass_mixing_ratio | Min:+1.0218316416270972e-09 Max:+1.7364107739907706e-05 RMS:+4.4689530099725226e-06 +eastward_wind | Min:-8.4779904407685251e+01 Max:+1.1172180353384172e+02 RMS:+1.7399733262265904e+01 +northward_wind | Min:-8.7156319044549164e+01 Max:+8.9235399901256216e+01 RMS:+9.9932912802591378e+00 +air_temperature | Min:+1.7338367451587715e+02 Max:+3.1032383629093437e+02 RMS:+2.5015203636307027e+02 +layer_thickness | Min:-3.0056031368184022e+03 Max:-1.6220854925143144e+01 RMS:+9.8506512850054082e+02 +air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7869442799477661e+03 RMS:+9.5697446604705669e+02 +air_pressure_at_surface | Min:+5.2310494129060797e+04 Max:+1.0447813272925235e+05 RMS:+9.8913813198384218e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+0.0000000000000000e+00 Max:+2.1151662580462943e-02 RMS:+4.9987623813820079e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.1463521041293643e-04 RMS:+9.6091775193581227e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3255527472700904e-03 RMS:+3.3246424078544267e-05 +ozone_mass_mixing_ratio | Min:+1.0289921087641953e-09 Max:+1.7333251806676826e-05 RMS:+4.4689522890690314e-06 geopotential_height_at_surface | Min:-2.7018375396728516e+01 Max:+5.2697558593750000e+03 RMS:+6.3772571434211386e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5462209907135938e-01 -sheleg | Min:+0.0000000000000000e+00 Max:+2.4910437774658203e+02 RMS:+2.2007651817656669e+01 -skin_temperature_at_surface | Min:+2.1716712188720703e+02 Max:+3.2174871826171875e+02 RMS:+2.8743544448926787e+02 +sheleg | Min:+0.0000000000000000e+00 Max:+2.4910404968261719e+02 RMS:+2.2007648256514138e+01 +skin_temperature_at_surface | Min:+2.1701741790771484e+02 Max:+3.2172630310058594e+02 RMS:+2.8743523169966045e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1577014160156250e+02 RMS:+2.8817349407786276e+02 -soilMoistureVolumetric | Min:+2.1994769573211670e-02 Max:+1.0000000000000000e+00 RMS:+8.4973696890011863e-01 -totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0928364992141724e+00 RMS:+1.5091512135815568e-01 -eastward_wind_at_surface | Min:-1.8888127326965332e+01 Max:+2.1329500198364258e+01 RMS:+5.1094029653114390e+00 -northward_wind_at_surface | Min:-2.3228111267089844e+01 Max:+1.8953988075256348e+01 RMS:+4.7537442465404594e+00 -f10m | Min:+9.4170856475830078e-01 Max:+1.0687405467033386e+00 RMS:+9.9571647867703006e-01 +stc | Min:+2.0000000000000000e+02 Max:+3.1589543151855469e+02 RMS:+2.8817345707140311e+02 +soilMoistureVolumetric | Min:+2.1994437091052532e-02 Max:+1.0000000000000000e+00 RMS:+8.4973686886486732e-01 +totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0928366184234619e+00 RMS:+1.5091517893438086e-01 +eastward_wind_at_surface | Min:-1.8945262908935547e+01 Max:+2.1812080383300781e+01 RMS:+5.1084993343462717e+00 +northward_wind_at_surface | Min:-2.3117747306823730e+01 Max:+1.9191046714782715e+01 RMS:+4.7533437996987020e+00 +f10m | Min:+9.4175148010253906e-01 Max:+1.0687065720558167e+00 RMS:+9.9571676746347482e-01 ---------------------------------------------------------------------------------------------------- From aeabb9bcbb98dbd4c0d6768d43a8b64c410482da Mon Sep 17 00:00:00 2001 From: DavidNew-NOAA <134300700+DavidNew-NOAA@users.noreply.github.com> Date: Tue, 17 Dec 2024 11:39:44 -0500 Subject: [PATCH 10/18] Update CI driver (#1401) # Description This PR consolidates the ```run_ci.sh``` and ```run_gw_ci.sh``` as well as the ```driver.sh``` and ```gw_driver.sh``` scripts. Now, a ```-w``` option indicates whether testing is taking place in the Global Workflow. A ```-E ci_test1|ci_test2|...``` is added to ```driver.sh``` to exclude CI tests which don't need to be run. Those options are passed directly to the ```ctest``` command. The PR testing functionality in ```driver.sh``` knows which tests to exclude based on the check boxes below. The output from the EMC bot for PR testing will now show the exact CTest command to indicate which tests were indeed excluded, just in case the check boxes are changed after the CI testing has begun. A PR template is now added for GDASApp that includes the CI testing checkboxes. You can see below that I've tested the PR testing functionality. # Companion PRs # Issues # Automated CI tests to run in Global Workflow - [x] atm_jjob - [x] C96C48_ufs_hybatmDA - [x] C96C48_hybatmaerosnowDA - [x] C48mx500_3DVarAOWCDA - [x] C48mx500_hybAOWCDA - [ ] C96C48_hybatmDA --------- Co-authored-by: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> --- .github/pull_request_template.md | 24 ++++ ci/ci_tests.sh | 6 + ci/driver.sh | 170 +++++++++++++++++------- ci/gw_driver.sh | 169 ----------------------- ci/hera.sh | 1 + ci/hercules.sh | 13 ++ ci/orion.sh | 4 +- ci/run_ci.sh | 62 +++++++-- ci/run_gw_ci.sh | 80 ----------- ci/stable_driver.sh | 34 +++-- test/atm/global-workflow/CMakeLists.txt | 6 +- 11 files changed, 249 insertions(+), 320 deletions(-) create mode 100644 .github/pull_request_template.md create mode 100644 ci/ci_tests.sh delete mode 100755 ci/gw_driver.sh create mode 100644 ci/hercules.sh delete mode 100755 ci/run_gw_ci.sh diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..04832590e --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,24 @@ +# Description + + + +# Companion PRs + + + +# Issues + + + +# Automated CI tests to run in Global Workflow + +- [ ] atm_jjob +- [ ] C96C48_ufs_hybatmDA +- [ ] C96C48_hybatmaerosnowDA +- [ ] C48mx500_3DVarAOWCDA +- [ ] C48mx500_hybAOWCDA +- [ ] C96C48_hybatmDA diff --git a/ci/ci_tests.sh b/ci/ci_tests.sh new file mode 100644 index 000000000..43e8eb2fb --- /dev/null +++ b/ci/ci_tests.sh @@ -0,0 +1,6 @@ +CI_TESTS=("atm_jjob" + "C96C48_ufs_hybatmDA" + "C96C48_hybatmaerosnowDA" + "C48mx500_3DVarAOWCDA" + "C48mx500_hybAOWCDA" + "C96C48_hybatmDA") diff --git a/ci/driver.sh b/ci/driver.sh index 933b9223b..e66929350 100755 --- a/ci/driver.sh +++ b/ci/driver.sh @@ -1,6 +1,6 @@ #!/bin/bash --login -echo "Start at $(date)" +echo "Starting automated testing at $(date)" my_dir="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" echo "Set my_dir ${my_dir}" @@ -13,6 +13,7 @@ usage() { echo echo " -t target/machine script is running on DEFAULT: $(hostname)" echo " -h display this message and quit" + echo " -w run workflow tests on $(hostname)" echo exit 1 } @@ -22,7 +23,8 @@ usage() { export TARGET="$(hostname)" -while getopts "t:h" opt; do +TEST_WORKFLOW=0 +while getopts "t:h:w" opt; do case $opt in t) TARGET=$OPTARG @@ -30,12 +32,16 @@ while getopts "t:h" opt; do h|\?|:) usage ;; + w) + TEST_WORKFLOW=1 + ;; esac done +echo "Running automated testing on $TARGET" + case ${TARGET} in - hera | orion) - echo "Running Automated Testing on $TARGET" + hera | orion | hercules) source $MODULESHOME/init/sh source $my_dir/${TARGET}.sh module purge @@ -49,106 +55,176 @@ case ${TARGET} in ;; esac +# ============================================================================== +# set list of available CI tests to run on the Global Workflow +source $my_dir/ci_tests.sh + +# ============================================================================== +# set things that depend on whether running workflow tests or not +gdasapp_url="https://github.com/NOAA-EMC/GDASApp.git" +if [[ $TEST_WORKFLOW == 1 ]]; then + echo "Testing GDASApp inside the Global Workflow" + + CI_LABEL="${GDAS_CI_HOST}-GW-RT" + OPEN_PR_LIST_DIR=$GDAS_CI_ROOT/open_pr_list_gw + PR_TEST_DIR=$GDAS_CI_ROOT/workflow/PR + BASE_REPO=global-workflow + + # Default Global Workflow repo and branch if no companion PR found + workflow_url="https://github.com/NOAA-EMC/global-workflow.git" + workflow_branch="develop" +else + echo "Testing stand-alone GDASApp" + + CI_LABEL="${GDAS_CI_HOST}-RT" + OPEN_PR_LIST_DIR=$GDAS_CI_ROOT/open_pr_list + PR_TEST_DIR=$GDAS_CI_ROOT/PR + BASE_REPO=GDASApp +fi + # ============================================================================== # pull on the repo and get list of open PRs + cd $GDAS_CI_ROOT/repo -CI_LABEL="${GDAS_CI_HOST}-RT" -gh pr list --label "$CI_LABEL" --state "open" | awk '{print $1;}' > $GDAS_CI_ROOT/open_pr_list -open_pr=`cat $GDAS_CI_ROOT/open_pr_list | wc -l` +gh pr list --label "$CI_LABEL" --state "open" | awk '{print $1;}' > $OPEN_PR_LIST_DIR + +open_pr=`cat $OPEN_PR_LIST_DIR | wc -l` if (( $open_pr == 0 )); then echo "No open PRs with ${CI_LABEL}, exit." - echo "Finish at $(date)" + echo "Finished automated testing at $(date)" exit fi -open_pr_list=$(cat $GDAS_CI_ROOT/open_pr_list) +open_pr_list=$(cat $OPEN_PR_LIST_DIR) # ============================================================================== # clone, checkout, build, test, etc. -repo_url="https://github.com/NOAA-EMC/GDASApp.git" # loop through all open PRs for pr in $open_pr_list; do echo " " - echo "Start processing Pull Request #${pr} at $(date)" + echo "Starting processing of pull request #${pr} at $(date)" # get the branch name used for the PR gdasapp_branch=$(gh pr view $pr --json headRefName -q ".headRefName") - # get additional branch information - branch_owner=$(gh pr view $pr --repo ${repo_url} --json headRepositoryOwner --jq '.headRepositoryOwner.login') - branch_name=$(gh pr view $pr --repo ${repo_url} --json headRepository --jq '.headRepository.name') - pr_assignees=$(gh pr view $pr --repo ${repo_url} --json assignees --jq '.assignees[].login') - + # get additional branch informatio + branch_owner=$(gh pr view $pr --repo ${gdasapp_url} --json headRepositoryOwner --jq '.headRepositoryOwner.login') + branch_name=$(gh pr view $pr --repo ${gdasapp_url} --json headRepository --jq '.headRepository.name') + pr_assignees=$(gh pr view $pr --repo ${gdasapp_url} --json assignees --jq '.assignees[].login') + # check if any assignee is authorized to run CI - authorized_by="" + rc=1 for str in ${pr_assignees[@]}; do - grep $str /scratch1/NCEPDEV/da/role.jedipara/CI/GDASApp/authorized_users - rc=$? + grep $str $AUTHORIZED_USERS_FILE > /dev/null + if (( rc != 0 )); then + rc=$? + fi if (( rc == 0 )); then - authorized_by=${str} - echo "FOUND MATCH $str, rc $rc" - break + echo "Authorized user $str assigned to this PR" fi done # Authorized to run CI if (( rc == 0 )); then - echo "Run CI" + echo "CI authorized. Running CI..." # update PR label gh pr edit $pr --remove-label $CI_LABEL --add-label ${CI_LABEL}-Running - - # construct the fork URL - gdasapp_url="https://github.com/$branch_owner/${branch_name}.git" - + echo "GDASApp URL: $gdasapp_url" echo "GDASApp branch Name: $gdasapp_branch" - echo "CI authorized by $authorized_by at $(date)" + + if [[ $TEST_WORKFLOW == 1 ]]; then + # check for a companion PR in the global-workflow + companion_pr_exists=$(gh pr list --repo ${workflow_url} --head ${gdasapp_branch} --state open) + + if [ -n "$companion_pr_exists" ]; then + # get the PR number + companion_pr=$(echo "$companion_pr_exists" | awk '{print $1;}') + + # extract the necessary info + branch_owner=$(gh pr view $companion_pr --repo $workflow_url --json headRepositoryOwner --jq '.headRepositoryOwner.login') + branch_name=$(gh pr view $companion_pr --repo $workflow_url --json headRepository --jq '.headRepository.name') + + # Construct fork URL. Update workflow branch name + workflow_url="https://github.com/$branch_owner/$branch_name.git" + workflow_branch=$gdasapp_branch + fi + + echo "Found companion Global Workflow PR #${companion_pr}!" + echo "Global Workflow URL: $workflow_url" + echo "Global Workflow branch name: $workflow_branch" + fi - # create PR specific directory - if [ -d $GDAS_CI_ROOT/PR/$pr ]; then - rm -rf $GDAS_CI_ROOT/PR/$pr + # create PR specific directory + if [ -d $PR_TEST_DIR/$pr ]; then + rm -rf $PR_TEST_DIR/$pr fi - mkdir -p $GDAS_CI_ROOT/PR/$pr - cd $GDAS_CI_ROOT/PR/$pr + mkdir -p $PR_TEST_DIR/$pr + cd $PR_TEST_DIR/$pr pwd # clone copy of repo - git clone --recursive --jobs 8 --branch $gdasapp_branch $gdasapp_url - cd GDASApp + if [[ $TEST_WORKFLOW == 1 ]]; then + echo "Cloning Global Workflow branch $workflow_branch from $workflow_url at $(date)" + git clone --recursive --jobs 8 --branch $workflow_branch $workflow_url + cd global-workflow/sorc/gdas.cd + else + echo "Cloning GDASApp branch $workflow_branch at $(date)" + git clone --recursive --jobs 8 --branch $gdasapp_branch $gdasapp_url + cd GDASApp + fi pwd # checkout GDASApp pull request - git pull gh pr checkout $pr git submodule update --init --recursive # get commit hash commit=$(git log --pretty=format:'%h' -n 1) - echo "$commit" > $GDAS_CI_ROOT/PR/$pr/commit + echo "$commit" > $PR_TEST_DIR/$pr/commit # run build and testing command - echo "Execute $my_dir/run_ci.sh for $GDAS_CI_ROOT/PR/$pr/GDASApp at $(date)" - $my_dir/run_ci.sh -d $GDAS_CI_ROOT/PR/$pr/GDASApp -o $GDAS_CI_ROOT/PR/$pr/output_${commit} + echo "Running run_ci.sh for $PR_TEST_DIR/$pr/$BASE_REPO at $(date)" + run_ci_cmd="$my_dir/run_ci.sh -d $PR_TEST_DIR/$pr/$BASE_REPO -o $PR_TEST_DIR/$pr/output_${commit}" + if [[ $TEST_WORKFLOW == 1 ]]; then + # get ci tests from PR description and convert into a regular expressions to be excluded + branch_body=$(gh pr view $pr --repo ${gdasapp_url} --json body --jq '.body') + ci_checklist=$(echo "$branch_body" | grep '\[x\]') + ctest_regex_exclude="" + for ci_test in ${CI_TESTS[@]}; do + if ! echo "$ci_checklist" | grep -q "$ci_test"; then + ctest_regex_exclude+="${ctest_regex_exclude:+|}$ci_test" + fi + done + + # setup run_ci.sh arguments to test in the Global Workflow and exclude chosen CI tests + run_ci_cmd+=" -w" + if [ -n "$ctest_regex_exclude" ]; then + run_ci_cmd+=" -E $ctest_regex_exclude" + fi + fi + $run_ci_cmd ci_status=$? - echo "After run_ci.sh with ci_status ${ci_status} at $(date)" - gh pr comment $pr --repo ${repo_url} --body-file $GDAS_CI_ROOT/PR/$pr/output_${commit} + echo "Finished running run_ci.sh with ci_status ${ci_status} at $(date)" + + gh pr comment $pr --repo ${gdasapp_url} --body-file $PR_TEST_DIR/$pr/output_${commit} if [ $ci_status -eq 0 ]; then - gh pr edit $pr --repo ${repo_url} --remove-label ${CI_LABEL}-Running --add-label ${CI_LABEL}-Passed + gh pr edit $pr --repo ${gdasapp_url} --remove-label ${CI_LABEL}-Running --add-label ${CI_LABEL}-Passed else - gh pr edit $pr --repo ${repo_url} --remove-label ${CI_LABEL}-Running --add-label ${CI_LABEL}-Failed + gh pr edit $pr --repo ${gdasapp_url} --remove-label ${CI_LABEL}-Running --add-label ${CI_LABEL}-Failed fi # Not authorized to run CI else - echo "Do NOT run CI" + echo "No authorized users assigned to this PR. Aborting CI..." fi - echo "Finish processing Pull Request #{pr} at $(date)" + echo "Finished processing Pull Request #${pr} at $(date)" done # ============================================================================== # scrub working directory for older files -find $GDAS_CI_ROOT/PR/* -maxdepth 1 -mtime +3 -exec rm -rf {} \; -echo "Finish at $(date)" +find $PR_TEST_DIR/* -maxdepth 1 -mtime +3 -exec rm -rf {} \; +echo "Finished automated testing at $(date)" diff --git a/ci/gw_driver.sh b/ci/gw_driver.sh deleted file mode 100755 index c40ff4026..000000000 --- a/ci/gw_driver.sh +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/bash --login - -echo "Start at $(date)" - -my_dir="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -echo "Set my_dir ${my_dir}" - -# ============================================================================== -usage() { - set +x - echo - echo "Usage: $0 -t -h" - echo - echo " -t target/machine script is running on DEFAULT: $(hostname)" - echo " -h display this message and quit" - echo - exit 1 -} - -# ============================================================================== -# First, set up runtime environment - -export TARGET="$(hostname)" - -while getopts "t:h" opt; do - case $opt in - t) - TARGET=$OPTARG - ;; - h|\?|:) - usage - ;; - esac -done - -case ${TARGET} in - hera | orion) - echo "Running Automated GW Testing on $TARGET" - source $MODULESHOME/init/sh - source $my_dir/${TARGET}.sh - module purge - module use $GDAS_MODULE_USE - module load GDAS/$TARGET - module list - ;; - *) - echo "Unsupported platform. Exiting with error." - exit 1 - ;; -esac - -# ============================================================================== -# pull on the repo and get list of open PRs -cd $GDAS_CI_ROOT/repo -CI_LABEL="${GDAS_CI_HOST}-GW-RT" -gh pr list --label "$CI_LABEL" --state "open" | awk '{print $1;}' > $GDAS_CI_ROOT/open_pr_list_gw - -open_pr=`cat $GDAS_CI_ROOT/open_pr_list_gw | wc -l` -if (( $open_pr == 0 )); then - echo "No open PRs with ${CI_LABEL}, exit." - echo "Finish at $(date)" - exit -fi - -open_pr_list=$(cat $GDAS_CI_ROOT/open_pr_list_gw) - -# ============================================================================== -# clone, checkout, build, test, etc. -repo_url="https://github.com/NOAA-EMC/GDASApp.git" -workflow_url="https://github.com/NOAA-EMC/global-workflow.git" -workflow_branch="develop" -# loop through all open PRs -for pr in $open_pr_list; do - echo " " - echo "Start processing Pull Request #${pr} at $(date)" - - # get the branch name used for the PR - gdasapp_branch=$(gh pr view $pr --json headRefName -q ".headRefName") - - # get additional branch information - branch_owner=$(gh pr view $pr --repo ${repo_url} --json headRepositoryOwner --jq '.headRepositoryOwner.login') - branch_name=$(gh pr view $pr --repo ${repo_url} --json headRepository --jq '.headRepository.name') - pr_assignees=$(gh pr view $pr --repo ${repo_url} --json assignees --jq '.assignees[].login') - - # check if any assignee is authorized to run CI - authorized_by="" - for str in ${pr_assignees[@]}; do - grep $str /scratch1/NCEPDEV/da/role.jedipara/CI/GDASApp/authorized_users - rc=$? - if (( rc == 0 )); then - authorized_by=${str} - echo "FOUND MATCH $str, rc $rc" - break - fi - done - - # Authorized to run CI - if (( rc == 0 )); then - echo "Run CI" - - # update PR label - gh pr edit $pr --remove-label $CI_LABEL --add-label ${CI_LABEL}-Running - - # check for a companion PR in the global-workflow - companion_pr_exists=$(gh pr list --repo ${workflow_url} --head ${gdasapp_branch} --state open) - if [ -n "$companion_pr_exists" ]; then - # get the PR number - companion_pr=$(echo "$companion_pr_exists" | awk '{print $1;}') - - # extract the necessary info - branch_owner=$(gh pr view $companion_pr --repo $workflow_url --json headRepositoryOwner --jq '.headRepositoryOwner.login') - branch_name=$(gh pr view $companion_pr --repo $workflow_url --json headRepository --jq '.headRepository.name') - - # Construct fork URL. Update workflow branch name - workflow_url="https://github.com/$branch_owner/$branch_name.git" - workflow_branch=$gdasapp_branch - - fi - - echo "Workflow URL: $workflow_url" - echo "Workflow branch name: $workflow_branch" - echo "GDASApp branch name: $gdasapp_branch" - echo "CI authorized by $authorized_by at $(date)" - - # create PR specific directory - if [ -d $GDAS_CI_ROOT/workflow/PR/$pr ]; then - rm -rf $GDAS_CI_ROOT/workflow/PR/$pr - fi - mkdir -p $GDAS_CI_ROOT/workflow/PR/$pr - cd $GDAS_CI_ROOT/workflow/PR/$pr - pwd - - # clone global workflow develop branch - git clone --recursive --jobs 8 --branch $workflow_branch $workflow_url - - # checkout GDASApp pull request - cd $GDAS_CI_ROOT/workflow/PR/$pr/global-workflow/sorc/gdas.cd - git pull - gh pr checkout $pr - git submodule update --init --recursive - - # get commit hash - commit=$(git log --pretty=format:'%h' -n 1) - echo "$commit" > $GDAS_CI_ROOT/workflow/PR/$pr/commit - - # run build and testing command - echo "Execute $my_dir/run_gw_ci.sh for $GDAS_CI_ROOT/PR/workflow/PR/$pr/global-workflow at $(date)" - $my_dir/run_gw_ci.sh -d $GDAS_CI_ROOT/workflow/PR/$pr/global-workflow -o $GDAS_CI_ROOT/workflow/PR/$pr/output_${commit} - ci_status=$? - echo "After run_gw_ci.sh with ci_status ${ci_status} at $(date)" - gh pr comment $pr --body-file $GDAS_CI_ROOT/workflow/PR/$pr/output_${commit} - if [ $ci_status -eq 0 ]; then - gh pr edit $pr --remove-label ${CI_LABEL}-Running --add-label ${CI_LABEL}-Passed - else - gh pr edit $pr --remove-label ${CI_LABEL}-Running --add-label ${CI_LABEL}-Failed - fi - - # Not authorized to run CI - else - echo "Do NOT run CI" - fi - - echo "Finish processing Pull Request #{pr} at $(date)" -done - -# ============================================================================== -# scrub working directory for older files -find $GDAS_CI_ROOT/workflow/PR/* -maxdepth 1 -mtime +3 -exec rm -rf {} \; -echo "Finish at $(date)" diff --git a/ci/hera.sh b/ci/hera.sh index 8a9518f8b..c9c5f892c 100644 --- a/ci/hera.sh +++ b/ci/hera.sh @@ -7,3 +7,4 @@ export SBATCH_ACCOUNT=$SLURM_ACCOUNT export SLURM_QOS=debug export PATH=$PATH:/home/role.jedipara/bin export NTASKS_TESTS=12 +export AUTHORIZED_USERS_FILE=/scratch1/NCEPDEV/da/role.jedipara/CI/GDASApp/authorized_users diff --git a/ci/hercules.sh b/ci/hercules.sh new file mode 100644 index 000000000..663bc44c6 --- /dev/null +++ b/ci/hercules.sh @@ -0,0 +1,13 @@ +export GDAS_CI_ROOT=/work2/noaa/da/role-da/CI/hercules/GDASApp +export GDAS_CI_HOST='hercules' +export GDAS_MODULE_USE=$GDAS_CI_ROOT/repo/modulefiles +export SLURM_ACCOUNT=da-cpu +export SALLOC_ACCOUNT=$SLURM_ACCOUNT +export SBATCH_ACCOUNT=$SLURM_ACCOUNT +export SLURM_QOS=debug +export SLURM_EXCLUSIVE=user +export OMP_NUM_THREADS=1 +ulimit -s unlimited +export PATH=$PATH:/home/role-da/bin +export NTASKS_TESTS=12 +export AUTHORIZED_USERS_FILE=$GDAS_CI_ROOT/authorized_users diff --git a/ci/orion.sh b/ci/orion.sh index 8c2cf9a5f..9d0674688 100644 --- a/ci/orion.sh +++ b/ci/orion.sh @@ -1,4 +1,4 @@ -export GDAS_CI_ROOT=/work2/noaa/stmp/cmartin/CI/GDASApp +export GDAS_CI_ROOT=/work2/noaa/da/role-da/CI/orion/GDASApp export GDAS_CI_HOST='orion' export GDAS_MODULE_USE=$GDAS_CI_ROOT/repo/modulefiles export SLURM_ACCOUNT=da-cpu @@ -8,4 +8,6 @@ export SLURM_QOS=debug export SLURM_EXCLUSIVE=user export OMP_NUM_THREADS=1 ulimit -s unlimited +export PATH=$PATH:/home/role-da/bin export NTASKS_TESTS=12 +export AUTHORIZED_USERS_FILE=$GDAS_CI_ROOT/authorized_users diff --git a/ci/run_ci.sh b/ci/run_ci.sh index 917f70e90..e92d943ae 100755 --- a/ci/run_ci.sh +++ b/ci/run_ci.sh @@ -9,13 +9,17 @@ usage() { echo echo " -d Run build and ctest for clone in " echo " -o Path to output message detailing results of CI tests" + echo " -w Test GDASApp within the Global Workflow" + echo " -E Regular expression of CTests to exclude" echo " -h display this message and quit" echo exit 1 } # ============================================================================== -while getopts "d:o:h" opt; do +TEST_WORKFLOW=0 +ctest_regex_exclude="" +while getopts "d:o:h:E:w" opt; do case $opt in d) repodir=$OPTARG @@ -23,26 +27,54 @@ while getopts "d:o:h" opt; do o) outfile=$OPTARG ;; + E) + ctest_regex_exclude+=$OPTARG + ;; + w) + TEST_WORKFLOW=1 + ;; h|\?|:) usage ;; esac done +if [[ $TEST_WORKFLOW == 1 ]]; then + export WORKFLOW_BUILD="ON" + + workflow_dir=$repodir + gdasapp_dir=$workflow_dir/sorc/gdas.cd + + build_cmd_dir=$workflow_dir/sorc + build_cmd="./build_all.sh -ug &>> log.build" + build_dir=$workflow_dir/build +else + export BUILD_JOBS=8 + + gdasapp_dir=$repodir + + build_cmd_dir=$gdasapp_dir + build_cmd="./build.sh -t $TARGET &>> log.build" + build_dir=$gdasapp_dir/build +fi + # ============================================================================== # start output file -echo "Automated GDASApp Testing Results:" > $outfile +if [[ $TEST_WORKFLOW == 1 ]]; then + echo "Automated GW-GDASApp Testing Results:" > $outfile +else + echo "Automated GDASApp Testing Results:" > $outfile +fi echo "Machine: ${TARGET}" >> $outfile echo '```' >> $outfile echo "Start: $(date) on $(hostname)" >> $outfile echo "---------------------------------------------------" >> $outfile # ============================================================================== # run build script -cd $repodir +cd $build_cmd_dir module purge -export BUILD_JOBS=8 rm -rf log.build -./build.sh -t $TARGET &>> log.build +$build_cmd build_status=$? if [ $build_status -eq 0 ]; then echo "Build: *SUCCESS*" >> $outfile @@ -50,18 +82,27 @@ if [ $build_status -eq 0 ]; then else echo "Build: *FAILED*" >> $outfile echo "Build: Failed at $(date)" >> $outfile - echo "Build: see output at $repodir/log.build" >> $outfile + echo "Build: see output at $build_cmd_dir/log.build" >> $outfile echo '```' >> $outfile exit $build_status fi +if [[ $TEST_WORKFLOW == 1 ]]; then + ./link_workflow.sh +fi # ============================================================================== # run ctests -cd $repodir/build -module use $GDAS_MODULE_USE +cd $gdasapp_dir/build +module use $gdasapp_dir/modulefiles module load GDAS/$TARGET echo "---------------------------------------------------" >> $outfile rm -rf log.ctest -ctest -j${NTASKS_TESTS} -R gdasapp --output-on-failure &>> log.ctest +ctest_cmd="ctest -j${NTASKS_TESTS} -R gdasapp" +if [ -n "$ctest_regex_exclude" ]; then + ctest_cmd+=" -E $ctest_regex_exclude" +fi +pwd +echo "Tests: $ctest_cmd" >> $outfile +$ctest_cmd --timeout 7200 --output-on-failure &>> log.ctest ctest_status=$? npassed=$(cat log.ctest | grep "tests passed") if [ $ctest_status -eq 0 ]; then @@ -73,7 +114,8 @@ else echo "Tests: Failed at $(date)" >> $outfile echo "Tests: $npassed" >> $outfile cat log.ctest | grep "(Failed)" >> $outfile - echo "Tests: see output at $repodir/build/log.ctest" >> $outfile + cat log.ctest | grep "(Timeout)" >> $outfile + echo "Tests: see output at $gdasapp_dir/build/log.ctest" >> $outfile fi echo '```' >> $outfile exit $ctest_status diff --git a/ci/run_gw_ci.sh b/ci/run_gw_ci.sh deleted file mode 100755 index d3b7de9d0..000000000 --- a/ci/run_gw_ci.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash -set -u - -# ============================================================================== -usage() { - set +x - echo - echo "Usage: $0 -d -o -h" - echo - echo " -d Run build and ctest for clone in " - echo " -o Path to output message detailing results of CI tests" - echo " -h display this message and quit" - echo - exit 1 -} - -# ============================================================================== -while getopts "d:o:h" opt; do - case $opt in - d) - repodir=$OPTARG - ;; - o) - outfile=$OPTARG - ;; - h|\?|:) - usage - ;; - esac -done - -# ============================================================================== -# start output file -echo "Automated GW GDASApp Testing Results:" > $outfile -echo "Machine: ${TARGET}" >> $outfile -echo '```' >> $outfile -echo "Start: $(date) on $(hostname)" >> $outfile -echo "---------------------------------------------------" >> $outfile -# ============================================================================== -# run build and link as part of the workflow -export WORKFLOW_BUILD="ON" -cd $repodir/sorc -module purge -rm -rf log.build -./build_all.sh -u &>> log.build -build_status=$? -if [ $build_status -eq 0 ]; then - echo "Build: *SUCCESS*" >> $outfile - echo "Build: Completed at $(date)" >> $outfile -else - echo "Build: *FAILED*" >> $outfile - echo "Build: Failed at $(date)" >> $outfile - echo "Build: see output at $repodir/sorc/log.build" >> $outfile - echo '```' >> $outfile - exit $build_status -fi -./link_workflow.sh -# ============================================================================== -# run ctests -cd $repodir/sorc/gdas.cd/build -module use $repodir/sorc/gdas.cd/modulefiles -module load GDAS/$TARGET -echo "---------------------------------------------------" >> $outfile -rm -rf log.ctest -ctest -j${NTASKS_TESTS} -R gdasapp --output-on-failure &>> log.ctest -ctest_status=$? -npassed=$(cat log.ctest | grep "tests passed") -if [ $ctest_status -eq 0 ]; then - echo "Tests: *SUCCESS*" >> $outfile - echo "Tests: Completed at $(date)" >> $outfile - echo "Tests: $npassed" >> $outfile -else - echo "Tests: *Failed*" >> $outfile - echo "Tests: Failed at $(date)" >> $outfile - echo "Tests: $npassed" >> $outfile - cat log.ctest | grep "(Failed)" >> $outfile - echo "Tests: see output at $repodir/sorc/gdas.cd/build/log.ctest" >> $outfile -fi -echo '```' >> $outfile -exit $ctest_status diff --git a/ci/stable_driver.sh b/ci/stable_driver.sh index 4172d6659..ca51f6f7c 100755 --- a/ci/stable_driver.sh +++ b/ci/stable_driver.sh @@ -53,6 +53,7 @@ repo_url="https://github.com/NOAA-EMC/GDASApp.git" workflow_url="https://github.com/NOAA-EMC/global-workflow.git" stableroot=$GDAS_CI_ROOT/stable +[[ -d $stableroot/$datestr ]] && rm -rf $stableroot/$datestr mkdir -p $stableroot/$datestr cd $stableroot/$datestr @@ -63,15 +64,21 @@ git clone --recursive $workflow_url cd $stableroot/$datestr/global-workflow/sorc/gdas.cd git checkout develop git pull +git submodule update --init --recursive # ============================================================================== # update the hashes to the most recent gdasdir=$stableroot/$datestr/global-workflow/sorc/gdas.cd -$my_dir/../ush/submodules/update_develop.sh $gdasdir +$gdasdir/ush/submodules/update_develop.sh $gdasdir + +# ============================================================================== +# email information +PEOPLE="Cory.R.Martin@noaa.gov Russ.Treadon@noaa.gov Guillaume.Vernieres@noaa.gov David.New@noaa.gov" +BODY=$stableroot/$datestr/stable_nightly # ============================================================================== # run the automated testing -$my_dir/run_gw_ci.sh -d $stableroot/$datestr/global-workflow -o $stableroot/$datestr/output +$my_dir/run_ci.sh -d $stableroot/$datestr/global-workflow -o $stableroot/$datestr/output -w ci_status=$? total=0 if [ $ci_status -eq 0 ]; then @@ -106,7 +113,6 @@ if [ $ci_status -eq 0 ]; then fi git diff-index --quiet HEAD || git commit -m "Update to new stable build on $datestr" total=$(($total+$?)) - caution="" if [ $total -ne 0 ]; then echo "Unable to commit" >> $stableroot/$datestr/output fi @@ -116,22 +122,30 @@ if [ $ci_status -eq 0 ]; then echo "Unable to push" >> $stableroot/$datestr/output fi if [ $total -ne 0 ]; then - echo "Issue merging with develop. please manually fix" - PEOPLE="Cory.R.Martin@noaa.gov Russ.Treadon@noaa.gov Guillaume.Vernieres@noaa.gov" SUBJECT="Problem updating feature/stable-nightly branch of GDASApp" - BODY=$stableroot/$datestr/output_stable_nightly cat > $BODY << EOF -Problem updating feature/stable-nightly branch of GDASApp. Please check $stableroot/$datestr/GDASApp +Problem updating feature/stable-nightly branch of GDASApp. Please check $stableroot/$datestr/global-workflow EOF - mail -r "Darth Vader - NOAA Affiliate " -s "$SUBJECT" "$PEOPLE" < $BODY + else - echo "Stable branch updated" + SUBJECT="Success updating feature/stable-nightly branch of GDASApp" + cat > $BODY << EOF +feature/stable-nightly branch of GDASApp updated successfully. See $stableroot/$datestr/global-workflow for details. + +EOF + fi else # do nothing - echo "Testing failed, stable branch will not be updated" + SUBJECT="Testing or building of feature/stable-nightly branch of GDASApp failed" + cat > $BODY << EOF +Testing or building of feature/stable-nightly branch of GDASApp failed. Please check $stableroot/$datestr/global-workflow. + +EOF fi +echo $SUBJECT +mail -r "Darth Vader - NOAA Affiliate " -s "$SUBJECT" "$PEOPLE" < $BODY # ============================================================================== # publish some information to RZDM for quick viewing # THIS IS A TODO FOR NOW diff --git a/test/atm/global-workflow/CMakeLists.txt b/test/atm/global-workflow/CMakeLists.txt index daa5b8edf..1741a20f6 100644 --- a/test/atm/global-workflow/CMakeLists.txt +++ b/test/atm/global-workflow/CMakeLists.txt @@ -1,7 +1,7 @@ # test for creating an experiment directory within the global-workflow file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/test/atm/global-workflow/testrun) -ecbuild_add_test(TARGET test_gdasapp_setup_atm_cycled_exp +ecbuild_add_test(TARGET test_gdasapp_setup_atm_jjob_cycled_exp TYPE SCRIPT COMMAND ${PROJECT_SOURCE_DIR}/test/atm/global-workflow/setup_workflow_exp.sh ARGS ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR} @@ -12,7 +12,7 @@ ecbuild_add_test(TARGET test_gdasapp_atm_jjob_var_init COMMAND ${PROJECT_SOURCE_DIR}/test/atm/global-workflow/jjob_var_init.sh ARGS ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/atm/global-workflow/testrun - TEST_DEPENDS test_gdasapp_setup_atm_cycled_exp) + TEST_DEPENDS test_gdasapp_setup_atm_jjob_cycled_exp) ecbuild_add_test(TARGET test_gdasapp_atm_jjob_var_run TYPE SCRIPT @@ -40,7 +40,7 @@ ecbuild_add_test(TARGET test_gdasapp_atm_jjob_ens_init COMMAND ${PROJECT_SOURCE_DIR}/test/atm/global-workflow/jjob_ens_init.sh ARGS ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/atm/global-workflow/testrun - TEST_DEPENDS test_gdasapp_setup_atm_cycled_exp) + TEST_DEPENDS test_gdasapp_setup_atm_jjob_cycled_exp) ecbuild_add_test(TARGET test_gdasapp_atm_jjob_ens_letkf TYPE SCRIPT From 92750bedb5ec650fc77fdb305ae6021e23b841af Mon Sep 17 00:00:00 2001 From: Guillaume Vernieres Date: Wed, 18 Dec 2024 10:08:42 -0500 Subject: [PATCH 11/18] Add u,v to the MOM6 IAU increment if it is not part of the DA control variables (#1417) Mostly as the title says, this branch will be used for the next batch of experiments (cp4). Only a draft because I need to update the #'s for `jcb-algorithm` and `jcb-gdas`. # Automated CI tests to run in Global Workflow - [ ] atm_jjob - [ ] C96C48_ufs_hybatmDA - [ ] C96C48_hybatmaerosnowDA - [x] C48mx500_3DVarAOWCDA - [x] C48mx500_hybAOWCDA - [ ] C96C48_hybatmDA --- parm/jcb-algorithms | 2 +- parm/jcb-gdas | 2 +- parm/soca/marine-jcb-base.yaml | 12 ++++++++-- utils/soca/gdas_ens_handler.h | 6 ++--- utils/soca/gdas_incr_handler.h | 20 ++++++++++------ utils/soca/gdas_postprocincr.h | 44 ++++++++++++++++++++-------------- 6 files changed, 54 insertions(+), 32 deletions(-) diff --git a/parm/jcb-algorithms b/parm/jcb-algorithms index 0f4423943..e854bd87f 160000 --- a/parm/jcb-algorithms +++ b/parm/jcb-algorithms @@ -1 +1 @@ -Subproject commit 0f4423943e1c2bdd4b9d0a4218e30df83c5e2c66 +Subproject commit e854bd87ff18ca053b2fe558b57b212ff159fe72 diff --git a/parm/jcb-gdas b/parm/jcb-gdas index accd7a5bf..8ee71d261 160000 --- a/parm/jcb-gdas +++ b/parm/jcb-gdas @@ -1 +1 @@ -Subproject commit accd7a5bf96524430d8d03a4b2d707eca4c48c13 +Subproject commit 8ee71d26111a46d01f0dc9796d49e19fdcf2cf4f diff --git a/parm/soca/marine-jcb-base.yaml b/parm/soca/marine-jcb-base.yaml index 7ca450c7c..5bbabe4c5 100644 --- a/parm/soca/marine-jcb-base.yaml +++ b/parm/soca/marine-jcb-base.yaml @@ -24,7 +24,15 @@ minimizer: RPCG final_diagnostics_departures: oman final_prints_frequency: PT3H number_of_outer_loops: 1 -analysis_variables: [sea_ice_area_fraction, sea_ice_thickness, sea_ice_snow_thickness, sea_water_salinity, sea_water_potential_temperature, eastward_sea_water_velocity, northward_sea_water_velocity, sea_surface_height_above_geoid] +analysis_variables: +- sea_ice_area_fraction +- sea_ice_thickness +- sea_ice_snow_thickness +- sea_water_salinity +- sea_water_potential_temperature +#- eastward_sea_water_velocity +#- northward_sea_water_velocity +- sea_surface_height_above_geoid # Model things # ------------ @@ -49,7 +57,7 @@ marine_forecast_timestep: PT3H # Background error model background_error_file: '{{berror_model}}' marine_number_ensemble_members: '{{NMEM_ENS}}' -marine_stddev_time: '{{MARINE_WINDOW_MIDDLE}}' +marine_stddev_time: '{{ MARINE_WINDOW_MIDDLE | to_isotime }}' # Observations observations: all_observations diff --git a/utils/soca/gdas_ens_handler.h b/utils/soca/gdas_ens_handler.h index 34ac8113e..4aa1f51f6 100644 --- a/utils/soca/gdas_ens_handler.h +++ b/utils/soca/gdas_ens_handler.h @@ -151,14 +151,14 @@ namespace gdasapp { oops::Log::info() << "recentered incr " << i << ":" << incr << std::endl; // Append the vertical geometry (for MOM6 IAU) - soca::Increment mom6_incr = postProcIncr.appendLayer(incr); - oops::Log::info() << "incr " << i << ":" << mom6_incr << std::endl; + postProcIncr.appendLayer(incr); + oops::Log::info() << "incr " << i << ":" << incr << std::endl; // Set variables to zero if specified in the configuration postProcIncr.setToZero(incr); // Save the increments used to initialize the ensemble forecast - result = postProcIncr.save(mom6_incr, i+1); + result = postProcIncr.save(incr, i+1); } return result; } diff --git a/utils/soca/gdas_incr_handler.h b/utils/soca/gdas_incr_handler.h index bb2eccdc6..30d2502fe 100644 --- a/utils/soca/gdas_incr_handler.h +++ b/utils/soca/gdas_incr_handler.h @@ -35,6 +35,10 @@ namespace gdasapp { oops::Log::info() << "geometry: " << std::endl << geomConfig << std::endl; const soca::Geometry geom(geomConfig, this->getComm()); + // Check that we are using at least 2 mpi tasks + if (this->getComm().size() < 2) { + throw eckit::BadValue("This application requires at least 2 MPI tasks", Here()); + } // Initialize the post processing PostProcIncr postProcIncr(fullConfig, geom, this->getComm()); @@ -50,18 +54,20 @@ namespace gdasapp { // Read increment from file soca::Increment incr = postProcIncr.read(i); - // At the very minimum, we run this script to append the layers state, so do that! - soca::Increment incrWithLayer = postProcIncr.appendLayer(incr); - oops::Log::debug() << "========= after appending layer:" << std::endl; - oops::Log::debug() << incrWithLayer << std::endl; + // Append variables to the increment + oops::Variables extraVars(postProcIncr.socaZeroIncrVar_); + extraVars += postProcIncr.layerVar_; + soca::Increment incr_mom6 = postProcIncr.appendVar(incr, extraVars); // Zero out specified fields - postProcIncr.setToZero(incrWithLayer); + postProcIncr.setToZero(incr_mom6); + oops::Log::debug() << "========= after appending variables:" << std::endl; + oops::Log::debug() << incr_mom6 << std::endl; // Save final increment - result = postProcIncr.save(incrWithLayer, i); + result = postProcIncr.save(incr_mom6, i); oops::Log::debug() << "========= after appending layer and after saving:" << std::endl; - oops::Log::debug() << incrWithLayer << std::endl; + oops::Log::debug() << incr_mom6 << std::endl; } return result; } diff --git a/utils/soca/gdas_postprocincr.h b/utils/soca/gdas_postprocincr.h index 5245412ad..b8638a7b8 100644 --- a/utils/soca/gdas_postprocincr.h +++ b/utils/soca/gdas_postprocincr.h @@ -92,42 +92,49 @@ class PostProcIncr { } // ----------------------------------------------------------------------------- - // Append layer thicknesses to increment - // TODO(guillaume): There's got to be a better way to append a variable. - soca::Increment appendLayer(const soca::Increment& socaIncr) { + // Append variable to increment + soca::Increment appendVar(const soca::Increment& socaIncr, const oops::Variables varToAppend) { oops::Log::info() << "==========================================" << std::endl; - oops::Log::info() << "====== Append Layers" << std::endl; + oops::Log::info() << "====== Append " << varToAppend << std::endl; // make a copy of the input increment soca::Increment socaIncrOut(socaIncr); // concatenate variables oops::Variables outputIncrVar(socaIncrVar_); - outputIncrVar += layerVar_; + outputIncrVar += varToAppend; oops::Log::debug() << "-------------------- outputIncrVar: " << std::endl; oops::Log::debug() << outputIncrVar << std::endl; - // append layer variable to the soca increment + // append variable to the soca increment atlas::FieldSet socaIncrFs; socaIncrOut.toFieldSet(socaIncrFs); socaIncrOut.updateFields(outputIncrVar); // pad layer increment with zeros - soca::Increment layerThick(Layers_); - atlas::FieldSet socaLayerThickFs; - oops::Log::debug() << "-------------------- thickness field: " << std::endl; - oops::Log::debug() << layerThick << std::endl; - layerThick.toFieldSet(socaLayerThickFs); - layerThick.updateFields(outputIncrVar); - - // append layer thinckness to increment - socaIncrOut += layerThick; + soca::Increment incrToAppend(Layers_); // Assumes that Layers_ contains varToAppend + atlas::FieldSet incrToAppendFs; + oops::Log::debug() << "-------------------- incrToAppend fields: " << std::endl; + oops::Log::debug() << incrToAppend << std::endl; + incrToAppend.toFieldSet(incrToAppendFs); + incrToAppend.updateFields(outputIncrVar); + + // append variables to increment + socaIncrOut += incrToAppend; oops::Log::debug() << "-------------------- output increment: " << std::endl; oops::Log::debug() << socaIncrOut << std::endl; return socaIncrOut; } + // ----------------------------------------------------------------------------- + // Append layer thicknesses to increment + soca::Increment appendLayer(soca::Increment& socaIncr) { + // Append layer thicknesses to the increment + soca::Increment socaIncrOut = appendVar(socaIncr, layerVar_); + return socaIncrOut; + } + // ----------------------------------------------------------------------------- // Set specified variables to 0 @@ -138,18 +145,18 @@ class PostProcIncr { return; } oops::Log::info() << "====== Set specified increment variables to 0.0" << std::endl; - std::cout << socaZeroIncrVar_ << std::endl; atlas::FieldSet socaIncrFs; socaIncr.toFieldSet(socaIncrFs); + for (auto & field : socaIncrFs) { // only works if rank is 2 ASSERT(field.rank() == 2); // Set variable to zero if (socaZeroIncrVar_.has(field.name())) { - std::cout << "setting " << field.name() << " to 0" << std::endl; + oops::Log::info() << "setting " << field.name() << " to 0" << std::endl; auto view = atlas::array::make_view(field); view.assign(0.0); } @@ -170,7 +177,7 @@ class PostProcIncr { soca::LinearVariableChange lvc(this->geom_, lvcConfig); lvc.changeVarTraj(xTraj, socaIncrVar_); lvc.changeVarTL(socaIncr, socaIncrVar_); - oops::Log::info() << "$%^#& in var change:" << socaIncr << std::endl; + oops::Log::info() << " in var change:" << socaIncr << std::endl; } // ----------------------------------------------------------------------------- @@ -179,6 +186,7 @@ class PostProcIncr { int save(soca::Increment& socaIncr, int ensMem = 1) { oops::Log::info() << "==========================================" << std::endl; oops::Log::info() << "-------------------- save increment: " << std::endl; + oops::Log::info() << socaIncr << std::endl; socaIncr.write(outputIncrConfig_); // wait for everybody to be done From bd066909a9da13456958bd0b8182c78c1b2f89c6 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Fri, 20 Dec 2024 17:58:14 -0500 Subject: [PATCH 12/18] Update select JEDI hashes (#1377) --- parm/io/fv3jedi_fieldmetadata_history.yaml | 16 +-- parm/jcb-gdas | 2 +- sorc/da-utils | 2 +- sorc/fv3-jedi | 2 +- sorc/ioda | 2 +- sorc/iodaconv | 2 +- sorc/oops | 2 +- sorc/saber | 2 +- sorc/soca | 2 +- sorc/ufo | 2 +- sorc/vader | 2 +- test/gw-ci/CMakeLists.txt | 7 +- .../C96C48_ufs_hybatmDA_3dvar-fv3inc.ref | 34 ++--- .../C96C48_ufs_hybatmDA_3dvar.ref | 68 ++++----- .../C96C48_ufs_hybatmDA_lgetkf_observer.ref | 8 +- .../C96C48_ufs_hybatmDA_lgetkf_solver.ref | 16 +-- test/testreference/atm_jjob_3dvar.ref | 63 ++++----- test/testreference/atm_jjob_lgetkf.ref | 130 +++++++++--------- .../atm_jjob_lgetkf_observer.ref | 58 ++++---- test/testreference/atm_jjob_lgetkf_solver.ref | 96 ++++++------- utils/chem/chem_diagb.h | 2 +- utils/fv3jedi/fv3jedi_fv3inc.h | 2 +- utils/ioda_example/gdas_meanioda.h | 2 +- utils/land/land_ensrecenter.h | 2 +- .../applications/gdas_obsprovider2ioda.h | 2 +- utils/soca/gdas_ens_handler.h | 2 +- utils/soca/gdas_incr_handler.h | 2 +- utils/soca/gdas_soca_diagb.h | 2 +- utils/soca/gdas_socahybridweights.h | 2 +- utils/soca/gdassoca_obsstats.h | 2 +- 30 files changed, 265 insertions(+), 271 deletions(-) diff --git a/parm/io/fv3jedi_fieldmetadata_history.yaml b/parm/io/fv3jedi_fieldmetadata_history.yaml index 2e59dccb1..076373e82 100644 --- a/parm/io/fv3jedi_fieldmetadata_history.yaml +++ b/parm/io/fv3jedi_fieldmetadata_history.yaml @@ -58,16 +58,6 @@ field metadata: - long name: v_component_of_native_D_grid_wind io name: vd -- long name: stc - io name: soilt - -- long name: soilMoistureVolumetric - io name: soilw - -# Dummy IO name since stc and soilt are different in JEDI but same in UFS -- long name: soilt - io name: dummy_io_name - - long name: slmsk io name: land @@ -91,3 +81,9 @@ field metadata: - long name: northward_wind_at_surface io name: vgrd_hyblev1 + +- long name: soilm + io name: soilw1 + +- long name: soilt + io name: soilt1 diff --git a/parm/jcb-gdas b/parm/jcb-gdas index 8ee71d261..d75038349 160000 --- a/parm/jcb-gdas +++ b/parm/jcb-gdas @@ -1 +1 @@ -Subproject commit 8ee71d26111a46d01f0dc9796d49e19fdcf2cf4f +Subproject commit d7503834951a75ae12a1c38dfc884892f19905aa diff --git a/sorc/da-utils b/sorc/da-utils index 5c6080c3f..32b6d9ab4 160000 --- a/sorc/da-utils +++ b/sorc/da-utils @@ -1 +1 @@ -Subproject commit 5c6080c3f52e300ebba70075ca094ef5785df93a +Subproject commit 32b6d9ab4c68d6bf1332cdaefe4fbfbe5416ac43 diff --git a/sorc/fv3-jedi b/sorc/fv3-jedi index 136dfb9c2..d0f54bf94 160000 --- a/sorc/fv3-jedi +++ b/sorc/fv3-jedi @@ -1 +1 @@ -Subproject commit 136dfb9c2f8541584e62fa74c616d686602bcdad +Subproject commit d0f54bf94322a36734a3573061f6cc62396eece4 diff --git a/sorc/ioda b/sorc/ioda index 22cd20eae..4764d6151 160000 --- a/sorc/ioda +++ b/sorc/ioda @@ -1 +1 @@ -Subproject commit 22cd20eae0685914a5b967e13f95779b57bb448c +Subproject commit 4764d615138bc57d6c15ee7020ab9b75199d8563 diff --git a/sorc/iodaconv b/sorc/iodaconv index 6f87a0f27..c47953462 160000 --- a/sorc/iodaconv +++ b/sorc/iodaconv @@ -1 +1 @@ -Subproject commit 6f87a0f279e836fd604e5b313a25bd1e54bff80e +Subproject commit c47953462af2a2777849786cb853a445cbf7b15d diff --git a/sorc/oops b/sorc/oops index 1ba321ff9..40e6ecc2e 160000 --- a/sorc/oops +++ b/sorc/oops @@ -1 +1 @@ -Subproject commit 1ba321ff912c6338d7362667eff37ddbf569cb18 +Subproject commit 40e6ecc2e53b0744eb00d3ab3c4d4e7fcb5f0c9b diff --git a/sorc/saber b/sorc/saber index de5015c83..a2c7e4551 160000 --- a/sorc/saber +++ b/sorc/saber @@ -1 +1 @@ -Subproject commit de5015c8328f5b3d64acc99739fbaa64ef571172 +Subproject commit a2c7e45513b2d1280128703d6fc21ecb444cdc0e diff --git a/sorc/soca b/sorc/soca index 44c4d6e53..945b4ab57 160000 --- a/sorc/soca +++ b/sorc/soca @@ -1 +1 @@ -Subproject commit 44c4d6e53efa774bbaa038b0ecc4c34e3a33c9df +Subproject commit 945b4ab57d0a69306e7f91da94797a79e547331c diff --git a/sorc/ufo b/sorc/ufo index 85ef98cb9..c9e1c5558 160000 --- a/sorc/ufo +++ b/sorc/ufo @@ -1 +1 @@ -Subproject commit 85ef98cb99f3eae1ed15e39f0cb05046af36fef1 +Subproject commit c9e1c5558e904701cc3f5a822330a855d33875ac diff --git a/sorc/vader b/sorc/vader index 3049658d1..0792f6931 160000 --- a/sorc/vader +++ b/sorc/vader @@ -1 +1 @@ -Subproject commit 3049658d185c8095caf0e506795d0e5995fa92cf +Subproject commit 0792f693148c3d09a166021e6b8c2758cb8a1251 diff --git a/test/gw-ci/CMakeLists.txt b/test/gw-ci/CMakeLists.txt index 35c66d0cd..8b198c3be 100644 --- a/test/gw-ci/CMakeLists.txt +++ b/test/gw-ci/CMakeLists.txt @@ -23,6 +23,7 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo "gdas_atmos_prod_f009") elseif("${task_name}" STREQUAL "enkfgdas_epmn") set(subtask_names_list + "enkfgdas_epos000" "enkfgdas_epos001" "enkfgdas_epos002" "enkfgdas_epos003" @@ -141,7 +142,7 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo list(APPEND TEST_DEPENDS "${test_prefix}_gdas_analcalc_${FULL_CYCLE}") list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_eupd_${FULL_CYCLE}") endif() - elseif("${task_name}" STREQUAL "enkfgdas_esnowrecen") + elseif("${task_name}" STREQUAL "enkfgdas_esnowanl") list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_epmn_${HALF_CYCLE}") list(APPEND TEST_DEPENDS "${test_prefix}_gdas_snowanl_${FULL_CYCLE}") elseif("${task_name}" STREQUAL "enkfgdas_esfc") @@ -151,7 +152,7 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo elseif("${pslot}" STREQUAL "C96C48_hybatmaerosnowDA") list(APPEND TEST_DEPENDS "${test_prefix}_gdas_analcalc_${FULL_CYCLE}") list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_eupd_${FULL_CYCLE}") - list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_esnowrecen_${FULL_CYCLE}") + list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_esnowanl_${FULL_CYCLE}") else() list(APPEND TEST_DEPENDS "${test_prefix}_gdas_analcalc_${FULL_CYCLE}") list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_eupd_${FULL_CYCLE}") @@ -341,7 +342,7 @@ if (WORKFLOW_TESTS) "enkfgdas_ediag" "enkfgdas_eupd" "enkfgdas_ecmn" - "enkfgdas_esnowrecen" + "enkfgdas_esnowanl" "enkfgdas_esfc" "enkfgdas_fcst" ) diff --git a/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref b/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref index 9f351467f..3d2b72bc5 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_3dvar-fv3inc.ref @@ -16,26 +16,26 @@ JEDI Increment: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 8 | cube sphere face size: C48 -eastward_wind | Min:-2.1094110991271009e-07 Max:+1.1717330217209110e-07 RMS:+1.8406442199343545e-09 -northward_wind | Min:-1.0218003509976370e-07 Max:+2.6284932985731757e-07 RMS:+1.8321568102519878e-09 -air_temperature | Min:-5.2967720876040403e-08 Max:+6.6442652268960956e-08 RMS:+7.1529564595995224e-10 -air_pressure_at_surface | Min:-2.0471925381571054e-06 Max:+9.5464929472655058e-07 RMS:+4.2656890498660969e-08 -water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5909499332409389e-11 Max:+2.5060615908845119e-11 RMS:+2.7346125979528040e-13 -cloud_liquid_ice | Min:-5.5298263899525562e-13 Max:+3.6544474506536037e-13 RMS:+3.3630266932071384e-15 -cloud_liquid_water | Min:-1.0711521106947577e-11 Max:+3.1052085273756969e-12 RMS:+1.7896344450957455e-14 -ozone_mass_mixing_ratio | Min:-1.0347839576407838e-06 Max:+1.3449736530190683e-06 RMS:+3.6860537521399650e-08 +eastward_wind | Min:-2.1094110991271009e-07 Max:+1.1717330217209110e-07 RMS:+1.8406454262511763e-09 +northward_wind | Min:-1.0218003509976370e-07 Max:+2.6284932985731757e-07 RMS:+1.8321580793695034e-09 +air_temperature | Min:-5.2967720876040403e-08 Max:+6.6442652268960956e-08 RMS:+7.1529606676243097e-10 +air_pressure_at_surface | Min:-2.0471925381571054e-06 Max:+9.5464929472655058e-07 RMS:+4.2658503304032433e-08 +water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5909499332409389e-11 Max:+2.5060615908845119e-11 RMS:+2.7346183757612028e-13 +cloud_liquid_ice | Min:-5.5298263899525562e-13 Max:+3.6544474506536037e-13 RMS:+3.3630267261933008e-15 +cloud_liquid_water | Min:-1.0711521106947577e-11 Max:+3.1052085273756969e-12 RMS:+1.7896345144255639e-14 +ozone_mass_mixing_ratio | Min:-1.0347839576442363e-06 Max:+1.3449736530234745e-06 RMS:+3.6860537521507223e-08 ---------------------------------------------------------------------------------------------------- FV3 Increment: ---------------------------------------------------------------------------------------------------- Increment print | number of fields = 9 | cube sphere face size: C48 -eastward_wind | Min:-2.1094110991271009e-07 Max:+1.1717330217209110e-07 RMS:+1.8406442199343545e-09 -northward_wind | Min:-1.0218003509976370e-07 Max:+2.6284932985731757e-07 RMS:+1.8321568102519878e-09 -air_temperature | Min:-5.2967720876040403e-08 Max:+6.6442652268960956e-08 RMS:+7.1529564595995224e-10 -water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5909499332409389e-11 Max:+2.5060615908845119e-11 RMS:+2.7346125979528040e-13 -cloud_liquid_ice | Min:-5.5298263899525562e-13 Max:+3.6544474506536037e-13 RMS:+3.3630266932071384e-15 -cloud_liquid_water | Min:-1.0711521106947577e-11 Max:+3.1052085273756969e-12 RMS:+1.7896344450957455e-14 -ozone_mass_mixing_ratio | Min:-1.0347839576407838e-06 Max:+1.3449736530190683e-06 RMS:+3.6860537521399650e-08 -air_pressure_thickness | Min:-3.8967755244811997e-08 Max:+1.7229922377737239e-08 RMS:+4.3178264898018102e-10 -layer_thickness | Min:-1.9750632418435998e-07 Max:+1.8317587091587484e-07 RMS:+3.6300478031517017e-09 +eastward_wind | Min:-2.1094110991271009e-07 Max:+1.1717330217209110e-07 RMS:+1.8406454262511763e-09 +northward_wind | Min:-1.0218003509976370e-07 Max:+2.6284932985731757e-07 RMS:+1.8321580793695034e-09 +air_temperature | Min:-5.2967720876040403e-08 Max:+6.6442652268960956e-08 RMS:+7.1529606676243097e-10 +water_vapor_mixing_ratio_wrt_moist_air | Min:-3.5909499332409389e-11 Max:+2.5060615908845119e-11 RMS:+2.7346183757612028e-13 +cloud_liquid_ice | Min:-5.5298263899525562e-13 Max:+3.6544474506536037e-13 RMS:+3.3630267261933008e-15 +cloud_liquid_water | Min:-1.0711521106947577e-11 Max:+3.1052085273756969e-12 RMS:+1.7896345144255639e-14 +ozone_mass_mixing_ratio | Min:-1.0347839576442363e-06 Max:+1.3449736530234745e-06 RMS:+3.6860537521507223e-08 +air_pressure_thickness | Min:-3.8967755244811997e-08 Max:+1.7229922377737239e-08 RMS:+4.3180294207593410e-10 +layer_thickness | Min:-1.9750632418435998e-07 Max:+1.8317587091587484e-07 RMS:+3.6300476680474795e-09 ---------------------------------------------------------------------------------------------------- diff --git a/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref b/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref index 06cb7c5c8..c49d88bae 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_3dvar.ref @@ -1,26 +1,26 @@ CostJb : Nonlinear Jb = 0.0000000000000000e+00 CostJo : Nonlinear Jo(Aircraft) = 6.0586857580910716e+05, nobs = 504553, Jo/n = 1.2008026427533027e+00, err = 2.2437136734248115e+00 -CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 1.5969417839194493e+04, nobs = 26328, Jo/n = 6.0655643570322448e-01, err = 1.8362571773983374e+00 +CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 1.6021873483777719e+04, nobs = 26328, Jo/n = 6.0854882572841540e-01, err = 1.5018610066240663e+00 CostJo : Nonlinear Jo(ATMS N20) = 4.8397895213825170e+04, nobs = 156648, Jo/n = 3.0895954760881195e-01, err = 5.2724142689429563e+00 CostJo : Nonlinear Jo(surface_ps) = 2.6309839844535789e+04, nobs = 107320, Jo/n = 2.4515318528266669e-01, err = 5.9306444356854104e+02 CostJo : Nonlinear Jo(gnssrobndnbam) = 6.1543420655506197e+05, nobs = 473850, Jo/n = 1.2987954132216144e+00, err = 3.2896403090661679e-04 CostJo : Nonlinear Jo(ompsnp_npp) = 2.1270332920540864e+03, nobs = 3087, Jo/n = 6.8902924912668817e-01, err = 2.4001367423170068e+00 CostJo : Nonlinear Jo(ompstc_npp) = 3.3787920743968766e+03, nobs = 3696, Jo/n = 9.1417534480434970e-01, err = 6.0000000000000000e+00 CostJo : Nonlinear Jo(satwind_goes-16) = 6.9382686620861832e+03, nobs = 193152, Jo/n = 3.5921288219051231e-02, err = 1.1892539752006376e+01 -CostFunction: Nonlinear J = 1.3244240292902619e+06 -DRPCGMinimizer: reduction in residual norm = 2.8257030182760973e-01 +CostFunction: Nonlinear J = 1.3244764849348452e+06 +DRPCGMinimizer: reduction in residual norm = 2.8257030182794146e-01 CostFunction::addIncrement: Analysis: ---------------------------------------------------------------------------------------------------- State print | number of fields = 22 | cube sphere face size: C96 -eastward_wind | Min:-8.7592636108385108e+01 Max:+1.1416704559315106e+02 RMS:+1.7446457173996492e+01 +eastward_wind | Min:-8.7592636108385108e+01 Max:+1.1416704559315106e+02 RMS:+1.7446457173996489e+01 northward_wind | Min:-9.0989822387686885e+01 Max:+8.9292556762725127e+01 RMS:+9.8047448525772207e+00 air_temperature | Min:+1.7290489196777401e+02 Max:+3.1016726684575099e+02 RMS:+2.5022379933353719e+02 air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837973632812500e+03 RMS:+9.5699713772439975e+02 air_pressure_at_surface | Min:+5.1309156249999876e+04 Max:+1.0433031249999903e+05 RMS:+9.8914639246898892e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986073430897e-10 Max:+2.1401712670923338e-02 RMS:+5.0230810220769934e-03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986073430897e-10 Max:+2.1401712670923338e-02 RMS:+5.0230810220769943e-03 cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6316837435572314e-04 RMS:+9.4319632692245291e-06 cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6321672592384501e-03 RMS:+3.7885306687792885e-05 -ozone_mass_mixing_ratio | Min:+3.8830337803893365e-10 Max:+1.7313832023368078e-05 RMS:+4.4663045051813113e-06 +ozone_mass_mixing_ratio | Min:+3.8830337803895118e-10 Max:+1.7313832023368078e-05 RMS:+4.4663045051813113e-06 geopotential_height_at_surface | Min:-2.9894643783569336e+01 Max:+5.3870561523437500e+03 RMS:+6.4442219321892003e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5312859958249614e-01 sheleg | Min:+0.0000000000000000e+00 Max:+2.6371389770507812e+02 RMS:+2.2054840004716052e+01 @@ -28,8 +28,8 @@ skin_temperature_at_surface | Min:+2.1746269226074219e+02 Max:+ vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+5.8667091445155686e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.3549806522511076e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8026573181152344e+01 RMS:+1.9275201636346665e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.2046520996093750e+02 RMS:+2.8806775091395389e+02 -soilMoistureVolumetric | Min:+2.1923717111349106e-02 Max:+1.0000000000000000e+00 RMS:+8.6145441587921456e-01 +soilt | Min:+2.0000000000000000e+02 Max:+3.2046520996093750e+02 RMS:+2.8776276787358370e+02 +soilm | Min:+2.1923717111349106e-02 Max:+1.0000000000000000e+00 RMS:+8.6078349182928082e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327473163604736e+00 RMS:+1.5878116415501689e-01 eastward_wind_at_surface | Min:-1.8027540206909180e+01 Max:+2.1014362335205078e+01 RMS:+5.2149711165295214e+00 northward_wind_at_surface | Min:-2.0649587631225586e+01 Max:+1.8741132736206055e+01 RMS:+4.8319693225541691e+00 @@ -56,28 +56,28 @@ sensorScanAngle_order_2: Min= -0.5401099920282910, Max= 2.2389800548543497, N CostJb : Nonlinear Jb = 0.0000000000001371 -CostJo : Nonlinear Jo(Aircraft) = 605868.5754523422801867, nobs = 504553, Jo/n = 1.2008026420462117, err = 2.2437136734248115 -CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15969.4178389218141092, nobs = 26328, Jo/n = 0.6065564356928674, err = 1.8362571773983374 -CostJo : Nonlinear Jo(ATMS N20) = 48397.8952120999601902, nobs = 156648, Jo/n = 0.3089595475977986, err = 5.2724142689429563 -CostJo : Nonlinear Jo(surface_ps) = 26309.8398438642980182, nobs = 107320, Jo/n = 0.2451531852764098, err = 593.0644435685410372 -CostJo : Nonlinear Jo(gnssrobndnbam) = 615434.2065248880535364, nobs = 473850, Jo/n = 1.2987954131579362, err = 0.0003289640309066 -CostJo : Nonlinear Jo(ompsnp_npp) = 1931.2294941937966541, nobs = 3087, Jo/n = 0.6256007431790724, err = 2.4001367423170068 -CostJo : Nonlinear Jo(ompstc_npp) = 1175.5454767024434659, nobs = 3696, Jo/n = 0.3180588410991460, err = 6.0000000000000000 -CostJo : Nonlinear Jo(satwind_goes-16) = 6938.2686619732694453, nobs = 193152, Jo/n = 0.0359212882184666, err = 11.8925397520063765 -CostFunction: Nonlinear J = 1322024.9785049860365689 -DRPCGMinimizer: reduction in residual norm = 0.8446464058086658 +CostJo : Nonlinear Jo(Aircraft) = 605868.5754523423966020, nobs = 504553, Jo/n = 1.2008026420462119, err = 2.2437136734248115 +CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 16021.8734835041668703, nobs = 26328, Jo/n = 0.6085488257180252, err = 1.5018610066240663 +CostJo : Nonlinear Jo(ATMS N20) = 48397.8952121020556660, nobs = 156648, Jo/n = 0.3089595475978120, err = 5.2724142689429563 +CostJo : Nonlinear Jo(surface_ps) = 26309.8398438642325345, nobs = 107320, Jo/n = 0.2451531852764092, err = 593.0644435685410372 +CostJo : Nonlinear Jo(gnssrobndnbam) = 615434.2065248882863671, nobs = 473850, Jo/n = 1.2987954131579367, err = 0.0003289640309066 +CostJo : Nonlinear Jo(ompsnp_npp) = 1931.2294941937093427, nobs = 3087, Jo/n = 0.6256007431790441, err = 2.4001367423170068 +CostJo : Nonlinear Jo(ompstc_npp) = 1175.5454767025285037, nobs = 3696, Jo/n = 0.3180588410991690, err = 6.0000000000000000 +CostJo : Nonlinear Jo(satwind_goes-16) = 6938.2686619732712643, nobs = 193152, Jo/n = 0.0359212882184667, err = 11.8925397520063765 +CostFunction: Nonlinear J = 1322077.4341495707631111 +DRPCGMinimizer: reduction in residual norm = 0.8446464058124589 CostFunction::addIncrement: Analysis: ---------------------------------------------------------------------------------------------------- State print | number of fields = 22 | cube sphere face size: C96 eastward_wind | Min:-8.7592636108272671e+01 Max:+1.1416704559221755e+02 RMS:+1.7446457173973780e+01 -northward_wind | Min:-9.0989822387615689e+01 Max:+8.9292556762976545e+01 RMS:+9.8047448525325454e+00 +northward_wind | Min:-9.0989822387615689e+01 Max:+8.9292556762976545e+01 RMS:+9.8047448525325436e+00 air_temperature | Min:+1.7290489196777892e+02 Max:+3.1016726684615486e+02 RMS:+2.5022379933354054e+02 air_pressure_thickness | Min:+6.0599988698959351e-01 Max:+1.7837973632812500e+03 RMS:+9.5699713772439975e+02 -air_pressure_at_surface | Min:+5.1309156249998850e+04 Max:+1.0433031249999082e+05 RMS:+9.8914639246894265e+04 -water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986150945930e-10 Max:+2.1401712670932254e-02 RMS:+5.0230810220750072e-03 +air_pressure_at_surface | Min:+5.1309156249998850e+04 Max:+1.0433031249999082e+05 RMS:+9.8914639246894250e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.9999986150945930e-10 Max:+2.1401712670932254e-02 RMS:+5.0230810220750124e-03 cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.6316837435437916e-04 RMS:+9.4319632690136399e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6321672592995262e-03 RMS:+3.7885306687535055e-05 -ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7394005756664486e-05 RMS:+4.4687792881256477e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6321672592995262e-03 RMS:+3.7885306687535069e-05 +ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7394005756665005e-05 RMS:+4.4687792881256579e-06 geopotential_height_at_surface | Min:-2.9894643783569336e+01 Max:+5.3870561523437500e+03 RMS:+6.4442219321892003e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5312859958249614e-01 sheleg | Min:+0.0000000000000000e+00 Max:+2.6371389770507812e+02 RMS:+2.2054840004716052e+01 @@ -85,8 +85,8 @@ skin_temperature_at_surface | Min:+2.1746269226074219e+02 Max:+ vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+5.8667091445155686e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.3549806522511076e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8026573181152344e+01 RMS:+1.9275201636346665e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.2046520996093750e+02 RMS:+2.8806775091395389e+02 -soilMoistureVolumetric | Min:+2.1923717111349106e-02 Max:+1.0000000000000000e+00 RMS:+8.6145441587921456e-01 +soilt | Min:+2.0000000000000000e+02 Max:+3.2046520996093750e+02 RMS:+2.8776276787358370e+02 +soilm | Min:+2.1923717111349106e-02 Max:+1.0000000000000000e+00 RMS:+8.6078349182928082e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.2327473163604736e+00 RMS:+1.5878116415501689e-01 eastward_wind_at_surface | Min:-1.8027540206909180e+01 Max:+2.1014362335205078e+01 RMS:+5.2149711165295214e+00 northward_wind_at_surface | Min:-2.0649587631225586e+01 Max:+1.8741132736206055e+01 RMS:+4.8319693225541691e+00 @@ -113,12 +113,12 @@ sensorScanAngle_order_2: Min= -0.5401099920367962, Max= 2.2389800548459413, N CostJb : Nonlinear Jb = 0.0000000000008861 -CostJo : Nonlinear Jo(Aircraft) = 605868.5724426389206201, nobs = 504553, Jo/n = 1.2008026360811230, err = 2.2437136734248115 -CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 15969.4178366216237919, nobs = 26328, Jo/n = 0.6065564356055008, err = 1.8362571773983374 -CostJo : Nonlinear Jo(ATMS N20) = 48397.8951984271625406, nobs = 156648, Jo/n = 0.3089595475105151, err = 5.2724142689429563 -CostJo : Nonlinear Jo(surface_ps) = 26309.8398381981351122, nobs = 107320, Jo/n = 0.2451531852236129, err = 593.0644435685410372 -CostJo : Nonlinear Jo(gnssrobndnbam) = 615434.2062702839029953, nobs = 473850, Jo/n = 1.2987954126206265, err = 0.0003289640309066 -CostJo : Nonlinear Jo(ompsnp_npp) = 1105.2563637508856118, nobs = 3087, Jo/n = 0.3580357511340737, err = 2.4001367423170068 -CostJo : Nonlinear Jo(ompstc_npp) = 842.7302103307468997, nobs = 3696, Jo/n = 0.2280114205440333, err = 6.0000000000000000 -CostJo : Nonlinear Jo(satwind_goes-16) = 6938.2686610208002094, nobs = 193152, Jo/n = 0.0359212882135355, err = 11.8925397520063765 -CostFunction: Nonlinear J = 1320866.1868212721310556 +CostJo : Nonlinear Jo(Aircraft) = 605868.5724426392698660, nobs = 504553, Jo/n = 1.2008026360811239, err = 2.2437136734248115 +CostJo : Nonlinear Jo(ascatw_ascat_metop-b) = 16021.8734811965914560, nobs = 26328, Jo/n = 0.6085488256303779, err = 1.5018610066240663 +CostJo : Nonlinear Jo(ATMS N20) = 48397.8951984288505628, nobs = 156648, Jo/n = 0.3089595475105258, err = 5.2724142689429563 +CostJo : Nonlinear Jo(surface_ps) = 26309.8398381975894154, nobs = 107320, Jo/n = 0.2451531852236078, err = 593.0644435685410372 +CostJo : Nonlinear Jo(gnssrobndnbam) = 615434.2062702835537493, nobs = 473850, Jo/n = 1.2987954126206258, err = 0.0003289640309066 +CostJo : Nonlinear Jo(ompsnp_npp) = 1105.2563637489558914, nobs = 3087, Jo/n = 0.3580357511334486, err = 2.4001367423170068 +CostJo : Nonlinear Jo(ompstc_npp) = 842.7302103325815779, nobs = 3696, Jo/n = 0.2280114205445296, err = 6.0000000000000000 +CostJo : Nonlinear Jo(satwind_goes-16) = 6938.2686610208211277, nobs = 193152, Jo/n = 0.0359212882135356, err = 11.8925397520063765 +CostFunction: Nonlinear J = 1320918.6424658484756947 diff --git a/test/testreference/C96C48_ufs_hybatmDA_lgetkf_observer.ref b/test/testreference/C96C48_ufs_hybatmDA_lgetkf_observer.ref index db8872787..0d8f8c834 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_lgetkf_observer.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_lgetkf_observer.ref @@ -18,8 +18,8 @@ skin_temperature_at_surface | Min:+2.1751763916015625e+02 Max:+ vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1583361816406250e+02 RMS:+2.8817190409943424e+02 -soilMoistureVolumetric | Min:+2.1991550922393799e-02 Max:+1.0000000000000000e+00 RMS:+8.4975027049775798e-01 +soilt | Min:+2.0000000000000000e+02 Max:+3.1583361816406250e+02 RMS:+2.8790627675431688e+02 +soilm | Min:+2.1991550922393799e-02 Max:+1.0000000000000000e+00 RMS:+8.4877136843072631e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0927191972732544e+00 RMS:+1.5092093358969108e-01 eastward_wind_at_surface | Min:-1.8170446395874023e+01 Max:+2.1278623580932617e+01 RMS:+5.1168825419389767e+00 northward_wind_at_surface | Min:-2.3760042190551758e+01 Max:+2.0148191452026367e+01 RMS:+4.8082957202774042e+00 @@ -45,8 +45,8 @@ skin_temperature_at_surface | Min:+2.1651719665527344e+02 Max:+ vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1595724487304688e+02 RMS:+2.8817510472919753e+02 -soilMoistureVolumetric | Min:+2.1997323259711266e-02 Max:+1.0000000000000000e+00 RMS:+8.4973291977355625e-01 +soilt | Min:+2.0000000000000000e+02 Max:+3.1595724487304688e+02 RMS:+2.8791828012082459e+02 +soilm | Min:+2.1997323259711266e-02 Max:+1.0000000000000000e+00 RMS:+8.4874970856572773e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0929540395736694e+00 RMS:+1.5094981321317086e-01 eastward_wind_at_surface | Min:-1.9720079421997070e+01 Max:+2.2345537185668945e+01 RMS:+5.1457488184664619e+00 northward_wind_at_surface | Min:-2.2769409179687500e+01 Max:+1.9396966934204102e+01 RMS:+4.7505626186338947e+00 diff --git a/test/testreference/C96C48_ufs_hybatmDA_lgetkf_solver.ref b/test/testreference/C96C48_ufs_hybatmDA_lgetkf_solver.ref index 1f8ac9fd5..3884bb2ff 100644 --- a/test/testreference/C96C48_ufs_hybatmDA_lgetkf_solver.ref +++ b/test/testreference/C96C48_ufs_hybatmDA_lgetkf_solver.ref @@ -18,8 +18,8 @@ skin_temperature_at_surface | Min:+2.1751763916015625e+02 Max:+ vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1583361816406250e+02 RMS:+2.8817190409943424e+02 -soilMoistureVolumetric | Min:+2.1991550922393799e-02 Max:+1.0000000000000000e+00 RMS:+8.4975027049775798e-01 +soilt | Min:+2.0000000000000000e+02 Max:+3.1583361816406250e+02 RMS:+2.8790627675431688e+02 +soilm | Min:+2.1991550922393799e-02 Max:+1.0000000000000000e+00 RMS:+8.4877136843072631e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0927191972732544e+00 RMS:+1.5092093358969108e-01 eastward_wind_at_surface | Min:-1.8170446395874023e+01 Max:+2.1278623580932617e+01 RMS:+5.1168825419389767e+00 northward_wind_at_surface | Min:-2.3760042190551758e+01 Max:+2.0148191452026367e+01 RMS:+4.8082957202774042e+00 @@ -45,8 +45,8 @@ skin_temperature_at_surface | Min:+2.1651719665527344e+02 Max:+ vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1595724487304688e+02 RMS:+2.8817510472919753e+02 -soilMoistureVolumetric | Min:+2.1997323259711266e-02 Max:+1.0000000000000000e+00 RMS:+8.4973291977355625e-01 +soilt | Min:+2.0000000000000000e+02 Max:+3.1595724487304688e+02 RMS:+2.8791828012082459e+02 +soilm | Min:+2.1997323259711266e-02 Max:+1.0000000000000000e+00 RMS:+8.4874970856572773e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0929540395736694e+00 RMS:+1.5094981321317086e-01 eastward_wind_at_surface | Min:-1.9720079421997070e+01 Max:+2.2345537185668945e+01 RMS:+5.1457488184664619e+00 northward_wind_at_surface | Min:-2.2769409179687500e+01 Max:+1.9396966934204102e+01 RMS:+4.7505626186338947e+00 @@ -144,8 +144,8 @@ skin_temperature_at_surface | Min:+2.1701741790771484e+02 Max:+ vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1589543151855469e+02 RMS:+2.8817345707140311e+02 -soilMoistureVolumetric | Min:+2.1994437091052532e-02 Max:+1.0000000000000000e+00 RMS:+8.4973686886486732e-01 +soilt | Min:+2.0000000000000000e+02 Max:+3.1589543151855469e+02 RMS:+2.8791214043739762e+02 +soilm | Min:+2.1994437091052532e-02 Max:+1.0000000000000000e+00 RMS:+8.4875122761777866e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0928366184234619e+00 RMS:+1.5091517893438086e-01 eastward_wind_at_surface | Min:-1.8945262908935547e+01 Max:+2.1812080383300781e+01 RMS:+5.1084993343462717e+00 northward_wind_at_surface | Min:-2.3117747306823730e+01 Max:+1.9191046714782715e+01 RMS:+4.7533437996987020e+00 @@ -171,8 +171,8 @@ skin_temperature_at_surface | Min:+2.1701741790771484e+02 Max:+ vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.1246929250310931e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5755536879077185e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.8551864624023438e+01 RMS:+2.0170282476619530e+01 -stc | Min:+2.0000000000000000e+02 Max:+3.1589543151855469e+02 RMS:+2.8817345707140311e+02 -soilMoistureVolumetric | Min:+2.1994437091052532e-02 Max:+1.0000000000000000e+00 RMS:+8.4973686886486732e-01 +soilt | Min:+2.0000000000000000e+02 Max:+3.1589543151855469e+02 RMS:+2.8791214043739762e+02 +soilm | Min:+2.1994437091052532e-02 Max:+1.0000000000000000e+00 RMS:+8.4875122761777866e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.0928366184234619e+00 RMS:+1.5091517893438086e-01 eastward_wind_at_surface | Min:-1.8945262908935547e+01 Max:+2.1812080383300781e+01 RMS:+5.1084993343462717e+00 northward_wind_at_surface | Min:-2.3117747306823730e+01 Max:+1.9191046714782715e+01 RMS:+4.7533437996987020e+00 diff --git a/test/testreference/atm_jjob_3dvar.ref b/test/testreference/atm_jjob_3dvar.ref index b9fa27013..e213a3897 100644 --- a/test/testreference/atm_jjob_3dvar.ref +++ b/test/testreference/atm_jjob_3dvar.ref @@ -1,8 +1,7 @@ -CostJb : Nonlinear Jb = 0.0000000000000000e+00 -CostJo : Nonlinear Jo(AMSUA N19) = 3.9490015258335392e+04, nobs = 73667, Jo/n = 5.3606112992704180e-01, err = 6.2697697603632934e+00 +CostJo : Nonlinear Jo(AMSUA N19) = 3.9490015258314117e+04, nobs = 73667, Jo/n = 5.3606112992675303e-01, err = 6.2697697603634124e+00 CostJo : Nonlinear Jo(sondes) = 1.0738590249678713e+04, nobs = 4255, Jo/n = 2.5237579905237868e+00, err = 1.0981123140127320e+01 -CostFunction: Nonlinear J = 5.0228605508014109e+04 -DRPCGMinimizer: reduction in residual norm = 1.2654930990384508e+00 +CostFunction: Nonlinear J = 5.0228605507992834e+04 +DRPCGMinimizer: reduction in residual norm = 1.2654930990391811e+00 CostFunction::addIncrement: Analysis: ---------------------------------------------------------------------------------------------------- State print | number of fields = 22 | cube sphere face size: C48 @@ -10,23 +9,23 @@ eastward_wind | Min:-5.5495644220059390e+01 Max:+ northward_wind | Min:-7.3712421229093422e+01 Max:+7.6984825502186652e+01 RMS:+8.1424144891572610e+00 air_temperature | Min:+1.7482158077318425e+02 Max:+3.1467235233685437e+02 RMS:+2.4978424883106894e+02 air_pressure_thickness | Min:+6.0599999874109178e-01 Max:+1.7760098554198755e+03 RMS:+9.5680601590204810e+02 -surface_pressure | Min:+5.3298485514404747e+04 Max:+1.0398027192902798e+05 RMS:+9.8897229693652524e+04 -specific_humidity | Min:+0.0000000000000000e+00 Max:+2.0041369334954085e-02 RMS:+4.7792637035328151e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.2024285059501723e-03 RMS:+1.4396343608618137e-05 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5935686450466631e-03 RMS:+4.1864377574483124e-05 +air_pressure_at_surface | Min:+5.3298485514404747e+04 Max:+1.0398027192902798e+05 RMS:+9.8897229693652524e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+0.0000000000000000e+00 Max:+2.0041369334954085e-02 RMS:+4.7792637035328151e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.2024285059501723e-03 RMS:+1.4396343608618130e-05 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5935686450466631e-03 RMS:+4.1864377574483300e-05 ozone_mass_mixing_ratio | Min:+1.1998327271379204e-08 Max:+1.7808431790670831e-05 RMS:+4.4947917149861064e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+7.3450427349184144e-01 sheleg | Min:+0.0000000000000000e+00 Max:+1.8650088674622128e+02 RMS:+2.2457791153397761e+01 -sea_surface_temperature | Min:+2.1068090851678403e+02 Max:+3.3125178729099270e+02 RMS:+2.8949442340676961e+02 +skin_temperature_at_surface | Min:+2.1068090851678403e+02 Max:+3.3125178729099270e+02 RMS:+2.8949442340676961e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.5214489858466269e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5380018343041852e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+2.2249321391025326e-01 -stc | Min:+2.1550390656839755e+02 Max:+3.2609885436959308e+02 RMS:+2.8945169639231835e+02 -soilMoistureVolumetric | Min:+1.1321643448483208e-02 Max:+1.0000000000000000e+00 RMS:+8.3306585674111977e-01 +soilt | Min:+2.1702701898625730e+02 Max:+3.2609885436959308e+02 RMS:+2.9003519414114578e+02 +soilm | Min:+1.1321643448483208e-02 Max:+1.0000000000000000e+00 RMS:+8.3196734038084774e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.7098998490425443e+00 RMS:+1.8885640927654021e-01 -surface_eastward_wind | Min:-1.6966302087131233e+01 Max:+2.1273647117120184e+01 RMS:+5.4892133439475188e+00 -surface_northward_wind | Min:-1.7367330522224339e+01 Max:+2.2091894088184446e+01 RMS:+4.4723535847538756e+00 +eastward_wind_at_surface | Min:-1.6966302087131233e+01 Max:+2.1273647117120184e+01 RMS:+5.4892133439475188e+00 +northward_wind_at_surface | Min:-1.7367330522224339e+01 Max:+2.2091894088184446e+01 RMS:+4.4723535847538756e+00 f10m | Min:+9.4613586695410434e-01 Max:+1.0695628272426509e+00 RMS:+9.9526981313535046e-01 ---------------------------------------------------------------------------------------------------- @@ -43,11 +42,10 @@ sensorScanAngle_order_2: Min= -5.1097259521743421, Max= 2.8632600308748679, N --------------------------------------------------------------- -CostJb : Nonlinear Jb = 0.0000014612994971 -CostJo : Nonlinear Jo(AMSUA N19) = 39390.2547489576390944, nobs = 73667, Jo/n = 0.5347069209952575, err = 6.2697697603632934 -CostJo : Nonlinear Jo(sondes) = 10684.1056534407689469, nobs = 4255, Jo/n = 2.5109531500448341, err = 10.9811231401273197 -CostFunction: Nonlinear J = 50074.3604038597040926 -DRPCGMinimizer: reduction in residual norm = 1.3784563235297740 +CostJo : Nonlinear Jo(AMSUA N19) = 39390.2547489650969510, nobs = 73667, Jo/n = 0.5347069209953588, err = 6.2697697603634124 +CostJo : Nonlinear Jo(sondes) = 10684.1056534407562140, nobs = 4255, Jo/n = 2.5109531500448310, err = 10.9811231401273197 +CostFunction: Nonlinear J = 50074.3604024058513460 +DRPCGMinimizer: reduction in residual norm = 1.3784563235049998 CostFunction::addIncrement: Analysis: ---------------------------------------------------------------------------------------------------- State print | number of fields = 22 | cube sphere face size: C48 @@ -55,23 +53,23 @@ eastward_wind | Min:-5.5495644220059390e+01 Max:+ northward_wind | Min:-7.3712421229093422e+01 Max:+7.6984825502186652e+01 RMS:+8.1424144891590498e+00 air_temperature | Min:+1.7482158077318175e+02 Max:+3.1467235233685437e+02 RMS:+2.4978424883255175e+02 air_pressure_thickness | Min:+6.0599999874109178e-01 Max:+1.7760098554198755e+03 RMS:+9.5680601590204810e+02 -surface_pressure | Min:+5.3298485514404747e+04 Max:+1.0398027192902798e+05 RMS:+9.8897229693652524e+04 -specific_humidity | Min:+0.0000000000000000e+00 Max:+2.0041369334954085e-02 RMS:+4.7792636598075200e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.2023914586805969e-03 RMS:+1.4394270245713929e-05 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5935685862194550e-03 RMS:+4.1737200829311335e-05 +air_pressure_at_surface | Min:+5.3298485514404747e+04 Max:+1.0398027192902798e+05 RMS:+9.8897229693652524e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+0.0000000000000000e+00 Max:+2.0041369334954085e-02 RMS:+4.7792636598075139e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.2023914586805975e-03 RMS:+1.4394270245713919e-05 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5935685862194550e-03 RMS:+4.1737200829312616e-05 ozone_mass_mixing_ratio | Min:+1.1998327271379204e-08 Max:+1.7808431790670831e-05 RMS:+4.4947917149861064e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+7.3450427349184144e-01 sheleg | Min:+0.0000000000000000e+00 Max:+1.8650088674622128e+02 RMS:+2.2457791153397761e+01 -sea_surface_temperature | Min:+2.1068090851678403e+02 Max:+3.3125178729099270e+02 RMS:+2.8949442340676961e+02 +skin_temperature_at_surface | Min:+2.1068090851678403e+02 Max:+3.3125178729099270e+02 RMS:+2.8949442340676961e+02 vtype | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+01 RMS:+6.5214489858466269e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.5380018343041852e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+2.2249321391025326e-01 -stc | Min:+2.1550390656839755e+02 Max:+3.2609885436959308e+02 RMS:+2.8945169639231835e+02 -soilMoistureVolumetric | Min:+1.1321643448483208e-02 Max:+1.0000000000000000e+00 RMS:+8.3306585674111977e-01 +soilt | Min:+2.1702701898625730e+02 Max:+3.2609885436959308e+02 RMS:+2.9003519414114578e+02 +soilm | Min:+1.1321643448483208e-02 Max:+1.0000000000000000e+00 RMS:+8.3196734038084774e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.7098998490425443e+00 RMS:+1.8885640927654021e-01 -surface_eastward_wind | Min:-1.6966302087131233e+01 Max:+2.1273647117120184e+01 RMS:+5.4892133439475188e+00 -surface_northward_wind | Min:-1.7367330522224339e+01 Max:+2.2091894088184446e+01 RMS:+4.4723535847538756e+00 +eastward_wind_at_surface | Min:-1.6966302087131233e+01 Max:+2.1273647117120184e+01 RMS:+5.4892133439475188e+00 +northward_wind_at_surface | Min:-1.7367330522224339e+01 Max:+2.2091894088184446e+01 RMS:+4.4723535847538756e+00 f10m | Min:+9.4613586695410434e-01 Max:+1.0695628272426509e+00 RMS:+9.9526981313535046e-01 ---------------------------------------------------------------------------------------------------- @@ -88,7 +86,6 @@ sensorScanAngle_order_2: Min= -5.1097259522379295, Max= 2.8632600311870164, N --------------------------------------------------------------- -CostJb : Nonlinear Jb = 0.0000118072709876 -CostJo : Nonlinear Jo(AMSUA N19) = 39219.8814513386896579, nobs = 73667, Jo/n = 0.5323941717640014, err = 6.2697697603632934 -CostJo : Nonlinear Jo(sondes) = 10645.9197195859396743, nobs = 4255, Jo/n = 2.5019787825113844, err = 10.9811231401273197 -CostFunction: Nonlinear J = 49865.8011827318987343 +CostJo : Nonlinear Jo(AMSUA N19) = 39219.8814511483069509, nobs = 73667, Jo/n = 0.5323941717614170, err = 6.2697697603634124 +CostJo : Nonlinear Jo(sondes) = 10645.9197195851156721, nobs = 4255, Jo/n = 2.5019787825111903, err = 10.9811231401273197 +CostFunction: Nonlinear J = 49865.8011707334226230 diff --git a/test/testreference/atm_jjob_lgetkf.ref b/test/testreference/atm_jjob_lgetkf.ref index de5865fb4..2e9739541 100644 --- a/test/testreference/atm_jjob_lgetkf.ref +++ b/test/testreference/atm_jjob_lgetkf.ref @@ -6,23 +6,23 @@ northward_wind | Min:-7.3094846805319690e+01 Max:+ air_temperature | Min:+1.7646396818493386e+02 Max:+3.1441817730817547e+02 RMS:+2.4989439192167012e+02 layer_thickness | Min:-2.8728340670782936e+03 Max:-1.5844010522128334e+01 RMS:+9.8310890327340439e+02 air_pressure_thickness | Min:+6.0599999953541761e-01 Max:+1.7747677648323079e+03 RMS:+9.5676512006998769e+02 -surface_pressure | Min:+5.3259705655314101e+04 Max:+1.0392378167916714e+05 RMS:+9.8893465602866549e+04 -specific_humidity | Min:+9.5164908108891825e-09 Max:+2.0222136340880194e-02 RMS:+4.8552459174929334e-03 +air_pressure_at_surface | Min:+5.3259705655314101e+04 Max:+1.0392378167916714e+05 RMS:+9.8893465602866549e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.5164908108891825e-09 Max:+2.0222136340880194e-02 RMS:+4.8552459174929334e-03 cloud_liquid_ice | Min:-1.3545705512023003e-20 Max:+6.7304686933261399e-04 RMS:+1.0726563909939355e-05 cloud_liquid_water | Min:-5.4244251425755909e-20 Max:+1.2879383569881558e-03 RMS:+3.8382491358281577e-05 ozone_mass_mixing_ratio | Min:+2.9375003505643131e-08 Max:+1.8014885502109894e-05 RMS:+4.4946424525503736e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.3367721414977348e+02 RMS:+2.2844482914802999e+01 -sea_surface_temperature | Min:+2.0791388472150163e+02 Max:+3.4773327272108133e+02 RMS:+2.8888781974396971e+02 +skin_temperature_at_surface | Min:+2.0791388472150163e+02 Max:+3.4773327272108133e+02 RMS:+2.8888781974396971e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2044502210464319e+02 Max:+3.1531527244154063e+02 RMS:+2.8916372621979713e+02 -soilMoistureVolumetric | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7096638468255239e-01 +soilt | Min:+2.2171981453657514e+02 Max:+3.1531527244154063e+02 RMS:+2.8929101171094050e+02 +soilm | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7129824793386712e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8134236127502426e+00 RMS:+1.8222715253202781e-01 -surface_eastward_wind | Min:-2.0302650327509099e+01 Max:+2.1760551255897649e+01 RMS:+5.2972810149144989e+00 -surface_northward_wind | Min:-1.4968894650435200e+01 Max:+1.6765905429678224e+01 RMS:+4.2782356748931996e+00 +eastward_wind_at_surface | Min:-2.0302650327509099e+01 Max:+2.1760551255897649e+01 RMS:+5.2972810149144989e+00 +northward_wind_at_surface | Min:-1.4968894650435200e+01 Max:+1.6765905429678224e+01 RMS:+4.2782356748931996e+00 f10m | Min:+9.3257572069704375e-01 Max:+1.0782447572529907e+00 RMS:+9.9542831934707332e-01 ---------------------------------------------------------------------------------------------------- Initial state for member 2: @@ -33,23 +33,23 @@ northward_wind | Min:-7.2178651628585953e+01 Max:+ air_temperature | Min:+1.7660670217895057e+02 Max:+3.1526174222386965e+02 RMS:+2.4989392943476341e+02 layer_thickness | Min:-2.8750852837791022e+03 Max:-1.5794597440684603e+01 RMS:+9.8301208643901532e+02 air_pressure_thickness | Min:+6.0599999948625027e-01 Max:+1.7752652524725063e+03 RMS:+9.5675980922035808e+02 -surface_pressure | Min:+5.3317702550070273e+04 Max:+1.0394629485957995e+05 RMS:+9.8892949759388735e+04 -specific_humidity | Min:+2.1514597275760548e-08 Max:+1.9663168048133908e-02 RMS:+4.8569105861498299e-03 +air_pressure_at_surface | Min:+5.3317702550070273e+04 Max:+1.0394629485957995e+05 RMS:+9.8892949759388735e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+2.1514597275760548e-08 Max:+1.9663168048133908e-02 RMS:+4.8569105861498299e-03 cloud_liquid_ice | Min:-1.3544569699620215e-20 Max:+7.9557019872326799e-04 RMS:+1.0816147029169270e-05 cloud_liquid_water | Min:-5.4200711162051571e-20 Max:+1.2298889446687945e-03 RMS:+3.8689917911663205e-05 ozone_mass_mixing_ratio | Min:+1.6238717942558199e-08 Max:+1.8031521448783218e-05 RMS:+4.4947640660308833e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.3446253401369569e+02 RMS:+2.2874187237166272e+01 -sea_surface_temperature | Min:+2.0978258608237891e+02 Max:+3.4063292812032523e+02 RMS:+2.8892010225961866e+02 +skin_temperature_at_surface | Min:+2.0978258608237891e+02 Max:+3.4063292812032523e+02 RMS:+2.8892010225961866e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2042860927849489e+02 Max:+3.1556639379821877e+02 RMS:+2.8916436305504556e+02 -soilMoistureVolumetric | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7096997815200794e-01 +soilt | Min:+2.2178435270856400e+02 Max:+3.1556639379821877e+02 RMS:+2.8929677877056838e+02 +soilm | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7134611142086815e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8153278546401408e+00 RMS:+1.8214466028068999e-01 -surface_eastward_wind | Min:-1.9122075401123020e+01 Max:+2.1444683230863411e+01 RMS:+5.3022867151420767e+00 -surface_northward_wind | Min:-1.4756460531574159e+01 Max:+1.8507846311761583e+01 RMS:+4.2802135707024282e+00 +eastward_wind_at_surface | Min:-1.9122075401123020e+01 Max:+2.1444683230863411e+01 RMS:+5.3022867151420767e+00 +northward_wind_at_surface | Min:-1.4756460531574159e+01 Max:+1.8507846311761583e+01 RMS:+4.2802135707024282e+00 f10m | Min:+9.3238101450200428e-01 Max:+1.0793518217027296e+00 RMS:+9.9539536810295792e-01 ---------------------------------------------------------------------------------------------------- Initial state for member 3: @@ -60,51 +60,51 @@ northward_wind | Min:-7.0176400159320124e+01 Max:+ air_temperature | Min:+1.7648447482434227e+02 Max:+3.1491330999751426e+02 RMS:+2.4989313307279673e+02 layer_thickness | Min:-2.8748181022793874e+03 Max:-1.5822712660806282e+01 RMS:+9.8301820591439434e+02 air_pressure_thickness | Min:+6.0599999955059858e-01 Max:+1.7742011426782731e+03 RMS:+9.5675144888218676e+02 -surface_pressure | Min:+5.3350124363319999e+04 Max:+1.0389818047809265e+05 RMS:+9.8892179510558097e+04 -specific_humidity | Min:+2.1846447498856659e-08 Max:+2.0007929878326374e-02 RMS:+4.8392192734415156e-03 +air_pressure_at_surface | Min:+5.3350124363319999e+04 Max:+1.0389818047809265e+05 RMS:+9.8892179510558097e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+2.1846447498856659e-08 Max:+2.0007929878326374e-02 RMS:+4.8392192734415156e-03 cloud_liquid_ice | Min:-6.7740196346531239e-21 Max:+6.2473018245821010e-04 RMS:+1.0889666282638220e-05 cloud_liquid_water | Min:-5.4107584399974539e-20 Max:+1.2132298501853738e-03 RMS:+3.8405804865664137e-05 ozone_mass_mixing_ratio | Min:+1.2289325508931378e-08 Max:+1.8036413152177077e-05 RMS:+4.4950884931704925e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.0768588203961116e+02 RMS:+2.2922702270144551e+01 -sea_surface_temperature | Min:+2.0916406214271251e+02 Max:+3.4510570590652480e+02 RMS:+2.8892699554065905e+02 +skin_temperature_at_surface | Min:+2.0916406214271251e+02 Max:+3.4510570590652480e+02 RMS:+2.8892699554065905e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2045545733453196e+02 Max:+3.1492502526099332e+02 RMS:+2.8916655770658571e+02 -soilMoistureVolumetric | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7097084862976482e-01 +soilt | Min:+2.2179148729566896e+02 Max:+3.1492502526099332e+02 RMS:+2.8930134673298625e+02 +soilm | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7132012473590570e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8143247567290359e+00 RMS:+1.8207043992662716e-01 -surface_eastward_wind | Min:-1.8951406320589882e+01 Max:+2.1985111394345580e+01 RMS:+5.3062512116922882e+00 -surface_northward_wind | Min:-1.4183550286832059e+01 Max:+1.7289090100273199e+01 RMS:+4.2365567732484486e+00 +eastward_wind_at_surface | Min:-1.8951406320589882e+01 Max:+2.1985111394345580e+01 RMS:+5.3062512116922882e+00 +northward_wind_at_surface | Min:-1.4183550286832059e+01 Max:+1.7289090100273199e+01 RMS:+4.2365567732484486e+00 f10m | Min:+9.2995810057091766e-01 Max:+1.0787102983488339e+00 RMS:+9.9539268028154582e-01 ---------------------------------------------------------------------------------------------------- H(x) for member 1: -AMSUA N19 nobs= 83277 Min=201.804879948996, Max=282.3801121316517, RMS=233.8544109312049 +AMSUA N19 nobs= 83277 Min=201.804879948996, Max=282.3801121316517, RMS=233.8544109312044 sondes nobs= 8481 Min=-33.72854932079182, Max=309.9716288420037, RMS=141.2118598915683 H(x) for member 2: -AMSUA N19 nobs= 83277 Min=201.6471388000342, Max=281.937746664208, RMS=233.8545011749843 +AMSUA N19 nobs= 83277 Min=201.6471388000342, Max=281.937746664208, RMS=233.8545011749858 sondes nobs= 8481 Min=-30.53139157018941, Max=310.1652090473367, RMS=141.1987914521134 H(x) for member 3: -AMSUA N19 nobs= 83277 Min=201.5829490118361, Max=282.1251907433116, RMS=233.8561550394131 +AMSUA N19 nobs= 83277 Min=201.5829490118361, Max=282.1251907433048, RMS=233.8561550394141 sondes nobs= 8481 Min=-32.8575760671954, Max=310.4005466290033, RMS=141.1778598834968 H(x) ensemble background mean: -AMSUA N19 nobs= 83277 Min=201.7041828462218, Max=282.1338202533173, RMS=233.8549949917428 +AMSUA N19 nobs= 83277 Min=201.7041828462218, Max=282.1338202533128, RMS=233.8549949917435 sondes nobs= 8481 Min=-32.28649706124742, Max=310.1791281727812, RMS=141.1945767641295 background y - H(x): -AMSUA N19 nobs= 83254 Min=-40.12245710945035, Max=14.39199700014237, RMS=1.51953365174239 +AMSUA N19 nobs= 83254 Min=-40.12245710945035, Max=14.39199700003849, RMS=1.519533651743879 sondes nobs= 3950 Min=-16.7986628776744, Max=16.07421631717781, RMS=4.060196677972983 @@ -117,81 +117,81 @@ northward_wind | Min:-7.1281090590794832e+01 Max:+ air_temperature | Min:+1.7652661362892786e+02 Max:+3.1486440984318642e+02 RMS:+2.4989353796113025e+02 layer_thickness | Min:-2.8742236189948235e+03 Max:-1.5820440207873071e+01 RMS:+9.8304588977244248e+02 air_pressure_thickness | Min:+6.0599999954215089e-01 Max:+1.7745271604965960e+03 RMS:+9.5675867998450212e+02 -surface_pressure | Min:+5.3309177522901453e+04 Max:+1.0391290736184639e+05 RMS:+9.8892856412110239e+04 -specific_humidity | Min:+8.4477932715987172e-08 Max:+1.9531761470252519e-02 RMS:+4.8455165312756591e-03 +air_pressure_at_surface | Min:+5.3309177522901453e+04 Max:+1.0391290736184639e+05 RMS:+9.8892856412110239e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.4477932715987172e-08 Max:+1.9531761470252519e-02 RMS:+4.8455165312756591e-03 cloud_liquid_ice | Min:-4.5148565665400716e-21 Max:+4.1857236992490481e-04 RMS:+1.0081670582489738e-05 cloud_liquid_water | Min:-1.8646059632736959e-20 Max:+1.0447516732817988e-03 RMS:+3.3566571025591825e-05 ozone_mass_mixing_ratio | Min:+2.8043654425670649e-08 Max:+1.7892907435183836e-05 RMS:+4.4944974047442364e-06 -surface_geopotential_height | Min:-2.7018394470214840e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214840e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.2527521006769342e+02 RMS:+2.2874231579198337e+01 -sea_surface_temperature | Min:+2.0909325814222842e+02 Max:+3.4400445627039335e+02 RMS:+2.8891122950497800e+02 +skin_temperature_at_surface | Min:+2.0909325814222842e+02 Max:+3.4400445627039335e+02 RMS:+2.8891122950497800e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2044302957255664e+02 Max:+3.1448974639746052e+02 RMS:+2.8916485102080441e+02 -soilMoistureVolumetric | Min:+1.9999999999999997e-02 Max:+1.0000000000000000e+00 RMS:+8.7096039254926949e-01 +soilt | Min:+2.2176521818026936e+02 Max:+3.1448974639746052e+02 RMS:+2.8929629666452479e+02 +soilm | Min:+1.9999999999999997e-02 Max:+1.0000000000000000e+00 RMS:+8.7130333878441968e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8143587413731397e+00 RMS:+1.8203629732600013e-01 -surface_eastward_wind | Min:-1.9400969882086276e+01 Max:+2.1628152789536944e+01 RMS:+5.2804512030599353e+00 -surface_northward_wind | Min:-1.4483927323189917e+01 Max:+1.6910069485657925e+01 RMS:+4.2391121142819319e+00 +eastward_wind_at_surface | Min:-1.9400969882086276e+01 Max:+2.1628152789536944e+01 RMS:+5.2804512030599353e+00 +northward_wind_at_surface | Min:-1.4483927323189917e+01 Max:+1.6910069485657925e+01 RMS:+4.2391121142819319e+00 f10m | Min:+9.3258902621206641e-01 Max:+1.0787625575968645e+00 RMS:+9.9540515270826369e-01 ---------------------------------------------------------------------------------------------------- Analysis mean : ---------------------------------------------------------------------------------------------------- State print | number of fields = 23 | cube sphere face size: C48 -eastward_wind | Min:-5.0314296161789976e+01 Max:+8.9520282650030396e+01 RMS:+1.5969822704018254e+01 -northward_wind | Min:-7.0598055196095970e+01 Max:+7.7258707141286905e+01 RMS:+7.7152005497204881e+00 -air_temperature | Min:+1.7652661359986743e+02 Max:+3.1531108490172562e+02 RMS:+2.4990923387979842e+02 -layer_thickness | Min:-2.8742236222923871e+03 Max:-1.5807388968764794e+01 RMS:+9.8306096988346644e+02 -air_pressure_thickness | Min:+6.0599999954215089e-01 Max:+1.7748141582103747e+03 RMS:+9.5672395981275235e+02 -surface_pressure | Min:+5.3309177524829895e+04 Max:+1.0391290731760868e+05 RMS:+9.8892856413954039e+04 -specific_humidity | Min:+0.0000000000000000e+00 Max:+1.9531761470252519e-02 RMS:+4.8544729633241369e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.9113374236094355e-04 RMS:+1.0484802025718970e-05 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7687968066757195e-03 RMS:+3.5182102716659190e-05 -ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7891446519775333e-05 RMS:+4.4960850274903059e-06 -surface_geopotential_height | Min:-2.7018394470214840e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +eastward_wind | Min:-5.0314296112156832e+01 Max:+8.9520279552446652e+01 RMS:+1.5969822703207807e+01 +northward_wind | Min:-7.0598055192281535e+01 Max:+7.7258707141286905e+01 RMS:+7.7152005495603815e+00 +air_temperature | Min:+1.7652661359986743e+02 Max:+3.1531108490172562e+02 RMS:+2.4990923387983111e+02 +layer_thickness | Min:-2.8742236222923871e+03 Max:-1.5807388968764794e+01 RMS:+9.8306096988333059e+02 +air_pressure_thickness | Min:+6.0599999954215089e-01 Max:+1.7748141582103747e+03 RMS:+9.5672395981450165e+02 +air_pressure_at_surface | Min:+5.3309177524829895e+04 Max:+1.0391290731760871e+05 RMS:+9.8892856413954039e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+0.0000000000000000e+00 Max:+1.9531761470252519e-02 RMS:+4.8544729627207428e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.9113361316140739e-04 RMS:+1.0484801976711031e-05 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7687975294682452e-03 RMS:+3.5182102639781531e-05 +ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7891446519775333e-05 RMS:+4.4960850275426492e-06 +geopotential_height_at_surface | Min:-2.7018394470214840e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.2527521006769342e+02 RMS:+2.2874231579198337e+01 -sea_surface_temperature | Min:+2.0909325814222842e+02 Max:+3.4400445627039335e+02 RMS:+2.8891122950497800e+02 +skin_temperature_at_surface | Min:+2.0909325814222842e+02 Max:+3.4400445627039335e+02 RMS:+2.8891122950497800e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2044302957255664e+02 Max:+3.1448974639746052e+02 RMS:+2.8916485102080441e+02 -soilMoistureVolumetric | Min:+1.9999999999999997e-02 Max:+1.0000000000000000e+00 RMS:+8.7096039254926949e-01 +soilt | Min:+2.2176521818026936e+02 Max:+3.1448974639746052e+02 RMS:+2.8929629666452479e+02 +soilm | Min:+1.9999999999999997e-02 Max:+1.0000000000000000e+00 RMS:+8.7130333878441968e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8143587413731397e+00 RMS:+1.8203629732600013e-01 -surface_eastward_wind | Min:-1.9400969882086276e+01 Max:+2.1628152789536944e+01 RMS:+5.2804512030599353e+00 -surface_northward_wind | Min:-1.4483927323189917e+01 Max:+1.6910069485657925e+01 RMS:+4.2391121142819319e+00 +eastward_wind_at_surface | Min:-1.9400969882086276e+01 Max:+2.1628152789536944e+01 RMS:+5.2804512030599353e+00 +northward_wind_at_surface | Min:-1.4483927323189917e+01 Max:+1.6910069485657925e+01 RMS:+4.2391121142819319e+00 f10m | Min:+9.3258902621206641e-01 Max:+1.0787625575968645e+00 RMS:+9.9540515270826369e-01 ---------------------------------------------------------------------------------------------------- H(x) for member 1: -AMSUA N19 nobs= 83277 Min=201.9208586923343, Max=282.3579536884109, RMS=233.8976056764325 +AMSUA N19 nobs= 83277 Min=201.9208587558171, Max=282.3579536956852, RMS=233.8976056782551 -sondes nobs= 8481 Min=-32.66983240205785, Max=310.057050144996, RMS=141.183531676936 +sondes nobs= 8481 Min=-32.66983240205785, Max=310.0570501450555, RMS=141.1835316768552 H(x) for member 2: -AMSUA N19 nobs= 83277 Min=201.7345380392913, Max=281.902359891743, RMS=233.8960380177944 +AMSUA N19 nobs= 83277 Min=201.7345378218298, Max=281.9023598989941, RMS=233.8960380162931 -sondes nobs= 8481 Min=-30.07259215371427, Max=310.1599784786441, RMS=141.1676733560262 +sondes nobs= 8481 Min=-30.07259215371427, Max=310.1599784787079, RMS=141.1676733565381 H(x) for member 3: -AMSUA N19 nobs= 83277 Min=201.799876316516, Max=282.1840647488327, RMS=233.8985807536847 +AMSUA N19 nobs= 83277 Min=201.7998764855722, Max=282.1840647651843, RMS=233.8985807524506 -sondes nobs= 8481 Min=-32.27178142413072, Max=310.4911572014134, RMS=141.1517212149195 +sondes nobs= 8481 Min=-32.27178142413072, Max=310.4911572014771, RMS=141.1517212159099 H(x) ensemble analysis mean: -AMSUA N19 nobs= 83277 Min=201.8701779168237, Max=282.089655758135, RMS=233.8973851138749 +AMSUA N19 nobs= 83277 Min=201.8701780078857, Max=282.0896557388197, RMS=233.8973851135708 -sondes nobs= 8481 Min=-31.65584017186601, Max=310.2360619416845, RMS=141.1664306256692 +sondes nobs= 8481 Min=-31.65584017186601, Max=310.2360619417468, RMS=141.1664306261571 analysis y - H(x): -AMSUA N19 nobs= 83254 Min=-40.0356958028041, Max=14.39145832321501, RMS=1.500134697737108 +AMSUA N19 nobs= 83254 Min=-40.0356958028041, Max=14.39145832090179, RMS=1.500134697897491 -sondes nobs= 3950 Min=-17.36927867050949, Max=15.32061647997003, RMS=3.979033227366773 +sondes nobs= 3950 Min=-17.36927867050949, Max=15.32061647997003, RMS=3.979033227946894 -ombg RMS: 1.717879381940395 -oman RMS: 1.692816947531785 +ombg RMS: 1.717879381941653 +oman RMS: 1.692816947729241 diff --git a/test/testreference/atm_jjob_lgetkf_observer.ref b/test/testreference/atm_jjob_lgetkf_observer.ref index d3e4fbd8b..5f993f872 100644 --- a/test/testreference/atm_jjob_lgetkf_observer.ref +++ b/test/testreference/atm_jjob_lgetkf_observer.ref @@ -6,23 +6,23 @@ northward_wind | Min:-7.3094846805319690e+01 Max:+ air_temperature | Min:+1.7646396818493386e+02 Max:+3.1441817730817547e+02 RMS:+2.4989439192167012e+02 layer_thickness | Min:-2.8728340670782936e+03 Max:-1.5844010522128334e+01 RMS:+9.8310890327340439e+02 air_pressure_thickness | Min:+6.0599999953541761e-01 Max:+1.7747677648323079e+03 RMS:+9.5676512006998769e+02 -surface_pressure | Min:+5.3259705655314101e+04 Max:+1.0392378167916714e+05 RMS:+9.8893465602866549e+04 -specific_humidity | Min:+9.5164908108891825e-09 Max:+2.0222136340880194e-02 RMS:+4.8552459174929334e-03 +air_pressure_at_surface | Min:+5.3259705655314101e+04 Max:+1.0392378167916714e+05 RMS:+9.8893465602866549e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.5164908108891825e-09 Max:+2.0222136340880194e-02 RMS:+4.8552459174929334e-03 cloud_liquid_ice | Min:-1.3545705512023003e-20 Max:+6.7304686933261399e-04 RMS:+1.0726563909939355e-05 cloud_liquid_water | Min:-5.4244251425755909e-20 Max:+1.2879383569881558e-03 RMS:+3.8382491358281577e-05 ozone_mass_mixing_ratio | Min:+2.9375003505643131e-08 Max:+1.8014885502109894e-05 RMS:+4.4946424525503736e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.3367721414977348e+02 RMS:+2.2844482914802999e+01 -sea_surface_temperature | Min:+2.0791388472150163e+02 Max:+3.4773327272108133e+02 RMS:+2.8888781974396971e+02 +skin_temperature_at_surface | Min:+2.0791388472150163e+02 Max:+3.4773327272108133e+02 RMS:+2.8888781974396971e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2044502210464319e+02 Max:+3.1531527244154063e+02 RMS:+2.8916372621979713e+02 -soilMoistureVolumetric | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7096638468255239e-01 +soilt | Min:+2.2171981453657514e+02 Max:+3.1531527244154063e+02 RMS:+2.8929101171094050e+02 +soilm | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7129824793386712e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8134236127502426e+00 RMS:+1.8222715253202781e-01 -surface_eastward_wind | Min:-2.0302650327509099e+01 Max:+2.1760551255897649e+01 RMS:+5.2972810149144989e+00 -surface_northward_wind | Min:-1.4968894650435200e+01 Max:+1.6765905429678224e+01 RMS:+4.2782356748931996e+00 +eastward_wind_at_surface | Min:-2.0302650327509099e+01 Max:+2.1760551255897649e+01 RMS:+5.2972810149144989e+00 +northward_wind_at_surface | Min:-1.4968894650435200e+01 Max:+1.6765905429678224e+01 RMS:+4.2782356748931996e+00 f10m | Min:+9.3257572069704375e-01 Max:+1.0782447572529907e+00 RMS:+9.9542831934707332e-01 ---------------------------------------------------------------------------------------------------- Initial state for member 2: @@ -33,23 +33,23 @@ northward_wind | Min:-7.2178651628585953e+01 Max:+ air_temperature | Min:+1.7660670217895057e+02 Max:+3.1526174222386965e+02 RMS:+2.4989392943476341e+02 layer_thickness | Min:-2.8750852837791022e+03 Max:-1.5794597440684603e+01 RMS:+9.8301208643901532e+02 air_pressure_thickness | Min:+6.0599999948625027e-01 Max:+1.7752652524725063e+03 RMS:+9.5675980922035808e+02 -surface_pressure | Min:+5.3317702550070273e+04 Max:+1.0394629485957995e+05 RMS:+9.8892949759388735e+04 -specific_humidity | Min:+2.1514597275760548e-08 Max:+1.9663168048133908e-02 RMS:+4.8569105861498299e-03 +air_pressure_at_surface | Min:+5.3317702550070273e+04 Max:+1.0394629485957995e+05 RMS:+9.8892949759388735e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+2.1514597275760548e-08 Max:+1.9663168048133908e-02 RMS:+4.8569105861498299e-03 cloud_liquid_ice | Min:-1.3544569699620215e-20 Max:+7.9557019872326799e-04 RMS:+1.0816147029169270e-05 cloud_liquid_water | Min:-5.4200711162051571e-20 Max:+1.2298889446687945e-03 RMS:+3.8689917911663205e-05 ozone_mass_mixing_ratio | Min:+1.6238717942558199e-08 Max:+1.8031521448783218e-05 RMS:+4.4947640660308833e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.3446253401369569e+02 RMS:+2.2874187237166272e+01 -sea_surface_temperature | Min:+2.0978258608237891e+02 Max:+3.4063292812032523e+02 RMS:+2.8892010225961866e+02 +skin_temperature_at_surface | Min:+2.0978258608237891e+02 Max:+3.4063292812032523e+02 RMS:+2.8892010225961866e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2042860927849489e+02 Max:+3.1556639379821877e+02 RMS:+2.8916436305504556e+02 -soilMoistureVolumetric | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7096997815200794e-01 +soilt | Min:+2.2178435270856400e+02 Max:+3.1556639379821877e+02 RMS:+2.8929677877056838e+02 +soilm | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7134611142086815e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8153278546401408e+00 RMS:+1.8214466028068999e-01 -surface_eastward_wind | Min:-1.9122075401123020e+01 Max:+2.1444683230863411e+01 RMS:+5.3022867151420767e+00 -surface_northward_wind | Min:-1.4756460531574159e+01 Max:+1.8507846311761583e+01 RMS:+4.2802135707024282e+00 +eastward_wind_at_surface | Min:-1.9122075401123020e+01 Max:+2.1444683230863411e+01 RMS:+5.3022867151420767e+00 +northward_wind_at_surface | Min:-1.4756460531574159e+01 Max:+1.8507846311761583e+01 RMS:+4.2802135707024282e+00 f10m | Min:+9.3238101450200428e-01 Max:+1.0793518217027296e+00 RMS:+9.9539536810295792e-01 ---------------------------------------------------------------------------------------------------- Initial state for member 3: @@ -60,51 +60,51 @@ northward_wind | Min:-7.0176400159320124e+01 Max:+ air_temperature | Min:+1.7648447482434227e+02 Max:+3.1491330999751426e+02 RMS:+2.4989313307279673e+02 layer_thickness | Min:-2.8748181022793874e+03 Max:-1.5822712660806282e+01 RMS:+9.8301820591439434e+02 air_pressure_thickness | Min:+6.0599999955059858e-01 Max:+1.7742011426782731e+03 RMS:+9.5675144888218676e+02 -surface_pressure | Min:+5.3350124363319999e+04 Max:+1.0389818047809265e+05 RMS:+9.8892179510558097e+04 -specific_humidity | Min:+2.1846447498856659e-08 Max:+2.0007929878326374e-02 RMS:+4.8392192734415156e-03 +air_pressure_at_surface | Min:+5.3350124363319999e+04 Max:+1.0389818047809265e+05 RMS:+9.8892179510558097e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+2.1846447498856659e-08 Max:+2.0007929878326374e-02 RMS:+4.8392192734415156e-03 cloud_liquid_ice | Min:-6.7740196346531239e-21 Max:+6.2473018245821010e-04 RMS:+1.0889666282638220e-05 cloud_liquid_water | Min:-5.4107584399974539e-20 Max:+1.2132298501853738e-03 RMS:+3.8405804865664137e-05 ozone_mass_mixing_ratio | Min:+1.2289325508931378e-08 Max:+1.8036413152177077e-05 RMS:+4.4950884931704925e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.0768588203961116e+02 RMS:+2.2922702270144551e+01 -sea_surface_temperature | Min:+2.0916406214271251e+02 Max:+3.4510570590652480e+02 RMS:+2.8892699554065905e+02 +skin_temperature_at_surface | Min:+2.0916406214271251e+02 Max:+3.4510570590652480e+02 RMS:+2.8892699554065905e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2045545733453196e+02 Max:+3.1492502526099332e+02 RMS:+2.8916655770658571e+02 -soilMoistureVolumetric | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7097084862976482e-01 +soilt | Min:+2.2179148729566896e+02 Max:+3.1492502526099332e+02 RMS:+2.8930134673298625e+02 +soilm | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7132012473590570e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8143247567290359e+00 RMS:+1.8207043992662716e-01 -surface_eastward_wind | Min:-1.8951406320589882e+01 Max:+2.1985111394345580e+01 RMS:+5.3062512116922882e+00 -surface_northward_wind | Min:-1.4183550286832059e+01 Max:+1.7289090100273199e+01 RMS:+4.2365567732484486e+00 +eastward_wind_at_surface | Min:-1.8951406320589882e+01 Max:+2.1985111394345580e+01 RMS:+5.3062512116922882e+00 +northward_wind_at_surface | Min:-1.4183550286832059e+01 Max:+1.7289090100273199e+01 RMS:+4.2365567732484486e+00 f10m | Min:+9.2995810057091766e-01 Max:+1.0787102983488339e+00 RMS:+9.9539268028154582e-01 ---------------------------------------------------------------------------------------------------- H(x) for member 1: -AMSUA N19 nobs= 83277 Min=201.8068522604288, Max=282.1977354171605, RMS=233.8559301511747 +AMSUA N19 nobs= 83277 Min=201.8068522604288, Max=282.1977354171773, RMS=233.8559301511745 sondes nobs= 2812 Min=-33.46923510113491, Max=237.4511515234925, RMS=66.49450460686083 H(x) for member 2: -AMSUA N19 nobs= 83277 Min=201.6491448573896, Max=282.0443032111758, RMS=233.8543791644241 +AMSUA N19 nobs= 83277 Min=201.6491448573896, Max=282.0443032111742, RMS=233.8543791644236 sondes nobs= 2812 Min=-30.53144491152982, Max=237.5347783619015, RMS=66.47644691726953 H(x) for member 3: -AMSUA N19 nobs= 83277 Min=201.5822623085232, Max=282.1681017005377, RMS=233.8547828542549 +AMSUA N19 nobs= 83277 Min=201.5822623085232, Max=282.1681017005528, RMS=233.8547828542547 sondes nobs= 2812 Min=-32.86095389873932, Max=237.9311435831063, RMS=66.51314984035037 H(x) ensemble background mean: -AMSUA N19 nobs= 83277 Min=201.7046771524233, Max=282.1363019533287, RMS=233.8550114850208 +AMSUA N19 nobs= 83277 Min=201.7046771524233, Max=282.1363019533423, RMS=233.8550114850206 sondes nobs= 8481 Min=-32.28721130380135, Max=310.1791293864851, RMS=141.1946022453276 background y - H(x): -AMSUA N19 nobs= 83254 Min=-40.1226250672521, Max=14.39438798864788, RMS=1.520218815029863 +AMSUA N19 nobs= 83254 Min=-40.1226250672521, Max=14.39438798864788, RMS=1.520218815029816 sondes nobs= 3950 Min=-16.79891131775619, Max=16.07422994026274, RMS=4.060200040073279 diff --git a/test/testreference/atm_jjob_lgetkf_solver.ref b/test/testreference/atm_jjob_lgetkf_solver.ref index 37fc52c6b..09284dd42 100644 --- a/test/testreference/atm_jjob_lgetkf_solver.ref +++ b/test/testreference/atm_jjob_lgetkf_solver.ref @@ -6,23 +6,23 @@ northward_wind | Min:-7.3094846805319690e+01 Max:+ air_temperature | Min:+1.7646396818493386e+02 Max:+3.1441817730817547e+02 RMS:+2.4989439192167012e+02 layer_thickness | Min:-2.8728340670782936e+03 Max:-1.5844010522128334e+01 RMS:+9.8310890327340439e+02 air_pressure_thickness | Min:+6.0599999953541761e-01 Max:+1.7747677648323079e+03 RMS:+9.5676512006998769e+02 -surface_pressure | Min:+5.3259705655314101e+04 Max:+1.0392378167916714e+05 RMS:+9.8893465602866549e+04 -specific_humidity | Min:+9.5164908108891825e-09 Max:+2.0222136340880194e-02 RMS:+4.8552459174929334e-03 +air_pressure_at_surface | Min:+5.3259705655314101e+04 Max:+1.0392378167916714e+05 RMS:+9.8893465602866549e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.5164908108891825e-09 Max:+2.0222136340880194e-02 RMS:+4.8552459174929334e-03 cloud_liquid_ice | Min:-1.3545705512023003e-20 Max:+6.7304686933261399e-04 RMS:+1.0726563909939355e-05 cloud_liquid_water | Min:-5.4244251425755909e-20 Max:+1.2879383569881558e-03 RMS:+3.8382491358281577e-05 ozone_mass_mixing_ratio | Min:+2.9375003505643131e-08 Max:+1.8014885502109894e-05 RMS:+4.4946424525503736e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.3367721414977348e+02 RMS:+2.2844482914802999e+01 -sea_surface_temperature | Min:+2.0791388472150163e+02 Max:+3.4773327272108133e+02 RMS:+2.8888781974396971e+02 +skin_temperature_at_surface | Min:+2.0791388472150163e+02 Max:+3.4773327272108133e+02 RMS:+2.8888781974396971e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2044502210464319e+02 Max:+3.1531527244154063e+02 RMS:+2.8916372621979713e+02 -soilMoistureVolumetric | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7096638468255239e-01 +soilt | Min:+2.2171981453657514e+02 Max:+3.1531527244154063e+02 RMS:+2.8929101171094050e+02 +soilm | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7129824793386712e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8134236127502426e+00 RMS:+1.8222715253202781e-01 -surface_eastward_wind | Min:-2.0302650327509099e+01 Max:+2.1760551255897649e+01 RMS:+5.2972810149144989e+00 -surface_northward_wind | Min:-1.4968894650435200e+01 Max:+1.6765905429678224e+01 RMS:+4.2782356748931996e+00 +eastward_wind_at_surface | Min:-2.0302650327509099e+01 Max:+2.1760551255897649e+01 RMS:+5.2972810149144989e+00 +northward_wind_at_surface | Min:-1.4968894650435200e+01 Max:+1.6765905429678224e+01 RMS:+4.2782356748931996e+00 f10m | Min:+9.3257572069704375e-01 Max:+1.0782447572529907e+00 RMS:+9.9542831934707332e-01 ---------------------------------------------------------------------------------------------------- Initial state for member 2: @@ -33,23 +33,23 @@ northward_wind | Min:-7.2178651628585953e+01 Max:+ air_temperature | Min:+1.7660670217895057e+02 Max:+3.1526174222386965e+02 RMS:+2.4989392943476341e+02 layer_thickness | Min:-2.8750852837791022e+03 Max:-1.5794597440684603e+01 RMS:+9.8301208643901532e+02 air_pressure_thickness | Min:+6.0599999948625027e-01 Max:+1.7752652524725063e+03 RMS:+9.5675980922035808e+02 -surface_pressure | Min:+5.3317702550070273e+04 Max:+1.0394629485957995e+05 RMS:+9.8892949759388735e+04 -specific_humidity | Min:+2.1514597275760548e-08 Max:+1.9663168048133908e-02 RMS:+4.8569105861498299e-03 +air_pressure_at_surface | Min:+5.3317702550070273e+04 Max:+1.0394629485957995e+05 RMS:+9.8892949759388735e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+2.1514597275760548e-08 Max:+1.9663168048133908e-02 RMS:+4.8569105861498299e-03 cloud_liquid_ice | Min:-1.3544569699620215e-20 Max:+7.9557019872326799e-04 RMS:+1.0816147029169270e-05 cloud_liquid_water | Min:-5.4200711162051571e-20 Max:+1.2298889446687945e-03 RMS:+3.8689917911663205e-05 ozone_mass_mixing_ratio | Min:+1.6238717942558199e-08 Max:+1.8031521448783218e-05 RMS:+4.4947640660308833e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.3446253401369569e+02 RMS:+2.2874187237166272e+01 -sea_surface_temperature | Min:+2.0978258608237891e+02 Max:+3.4063292812032523e+02 RMS:+2.8892010225961866e+02 +skin_temperature_at_surface | Min:+2.0978258608237891e+02 Max:+3.4063292812032523e+02 RMS:+2.8892010225961866e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2042860927849489e+02 Max:+3.1556639379821877e+02 RMS:+2.8916436305504556e+02 -soilMoistureVolumetric | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7096997815200794e-01 +soilt | Min:+2.2178435270856400e+02 Max:+3.1556639379821877e+02 RMS:+2.8929677877056838e+02 +soilm | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7134611142086815e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8153278546401408e+00 RMS:+1.8214466028068999e-01 -surface_eastward_wind | Min:-1.9122075401123020e+01 Max:+2.1444683230863411e+01 RMS:+5.3022867151420767e+00 -surface_northward_wind | Min:-1.4756460531574159e+01 Max:+1.8507846311761583e+01 RMS:+4.2802135707024282e+00 +eastward_wind_at_surface | Min:-1.9122075401123020e+01 Max:+2.1444683230863411e+01 RMS:+5.3022867151420767e+00 +northward_wind_at_surface | Min:-1.4756460531574159e+01 Max:+1.8507846311761583e+01 RMS:+4.2802135707024282e+00 f10m | Min:+9.3238101450200428e-01 Max:+1.0793518217027296e+00 RMS:+9.9539536810295792e-01 ---------------------------------------------------------------------------------------------------- Initial state for member 3: @@ -60,23 +60,23 @@ northward_wind | Min:-7.0176400159320124e+01 Max:+ air_temperature | Min:+1.7648447482434227e+02 Max:+3.1491330999751426e+02 RMS:+2.4989313307279673e+02 layer_thickness | Min:-2.8748181022793874e+03 Max:-1.5822712660806282e+01 RMS:+9.8301820591439434e+02 air_pressure_thickness | Min:+6.0599999955059858e-01 Max:+1.7742011426782731e+03 RMS:+9.5675144888218676e+02 -surface_pressure | Min:+5.3350124363319999e+04 Max:+1.0389818047809265e+05 RMS:+9.8892179510558097e+04 -specific_humidity | Min:+2.1846447498856659e-08 Max:+2.0007929878326374e-02 RMS:+4.8392192734415156e-03 +air_pressure_at_surface | Min:+5.3350124363319999e+04 Max:+1.0389818047809265e+05 RMS:+9.8892179510558097e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+2.1846447498856659e-08 Max:+2.0007929878326374e-02 RMS:+4.8392192734415156e-03 cloud_liquid_ice | Min:-6.7740196346531239e-21 Max:+6.2473018245821010e-04 RMS:+1.0889666282638220e-05 cloud_liquid_water | Min:-5.4107584399974539e-20 Max:+1.2132298501853738e-03 RMS:+3.8405804865664137e-05 ozone_mass_mixing_ratio | Min:+1.2289325508931378e-08 Max:+1.8036413152177077e-05 RMS:+4.4950884931704925e-06 -surface_geopotential_height | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214844e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.0768588203961116e+02 RMS:+2.2922702270144551e+01 -sea_surface_temperature | Min:+2.0916406214271251e+02 Max:+3.4510570590652480e+02 RMS:+2.8892699554065905e+02 +skin_temperature_at_surface | Min:+2.0916406214271251e+02 Max:+3.4510570590652480e+02 RMS:+2.8892699554065905e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2045545733453196e+02 Max:+3.1492502526099332e+02 RMS:+2.8916655770658571e+02 -soilMoistureVolumetric | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7097084862976482e-01 +soilt | Min:+2.2179148729566896e+02 Max:+3.1492502526099332e+02 RMS:+2.8930134673298625e+02 +soilm | Min:+2.0000000000000000e-02 Max:+1.0000000000000000e+00 RMS:+8.7132012473590570e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8143247567290359e+00 RMS:+1.8207043992662716e-01 -surface_eastward_wind | Min:-1.8951406320589882e+01 Max:+2.1985111394345580e+01 RMS:+5.3062512116922882e+00 -surface_northward_wind | Min:-1.4183550286832059e+01 Max:+1.7289090100273199e+01 RMS:+4.2365567732484486e+00 +eastward_wind_at_surface | Min:-1.8951406320589882e+01 Max:+2.1985111394345580e+01 RMS:+5.3062512116922882e+00 +northward_wind_at_surface | Min:-1.4183550286832059e+01 Max:+1.7289090100273199e+01 RMS:+4.2365567732484486e+00 f10m | Min:+9.2995810057091766e-01 Max:+1.0787102983488339e+00 RMS:+9.9539268028154582e-01 ---------------------------------------------------------------------------------------------------- H(x) for member 1: @@ -117,49 +117,49 @@ northward_wind | Min:-7.1281090590794832e+01 Max:+ air_temperature | Min:+1.7652661362892786e+02 Max:+3.1486440984318642e+02 RMS:+2.4989353796113025e+02 layer_thickness | Min:-2.8742236189948235e+03 Max:-1.5820440207873071e+01 RMS:+9.8304588977244248e+02 air_pressure_thickness | Min:+6.0599999954215089e-01 Max:+1.7745271604965960e+03 RMS:+9.5675867998450212e+02 -surface_pressure | Min:+5.3309177522901453e+04 Max:+1.0391290736184639e+05 RMS:+9.8892856412110239e+04 -specific_humidity | Min:+8.4477932715987172e-08 Max:+1.9531761470252519e-02 RMS:+4.8455165312756591e-03 +air_pressure_at_surface | Min:+5.3309177522901453e+04 Max:+1.0391290736184639e+05 RMS:+9.8892856412110239e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.4477932715987172e-08 Max:+1.9531761470252519e-02 RMS:+4.8455165312756591e-03 cloud_liquid_ice | Min:-4.5148565665400716e-21 Max:+4.1857236992490481e-04 RMS:+1.0081670582489738e-05 cloud_liquid_water | Min:-1.8646059632736959e-20 Max:+1.0447516732817988e-03 RMS:+3.3566571025591825e-05 ozone_mass_mixing_ratio | Min:+2.8043654425670649e-08 Max:+1.7892907435183836e-05 RMS:+4.4944974047442364e-06 -surface_geopotential_height | Min:-2.7018394470214840e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +geopotential_height_at_surface | Min:-2.7018394470214840e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.2527521006769342e+02 RMS:+2.2874231579198337e+01 -sea_surface_temperature | Min:+2.0909325814222842e+02 Max:+3.4400445627039335e+02 RMS:+2.8891122950497800e+02 +skin_temperature_at_surface | Min:+2.0909325814222842e+02 Max:+3.4400445627039335e+02 RMS:+2.8891122950497800e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2044302957255664e+02 Max:+3.1448974639746052e+02 RMS:+2.8916485102080441e+02 -soilMoistureVolumetric | Min:+1.9999999999999997e-02 Max:+1.0000000000000000e+00 RMS:+8.7096039254926949e-01 +soilt | Min:+2.2176521818026936e+02 Max:+3.1448974639746052e+02 RMS:+2.8929629666452479e+02 +soilm | Min:+1.9999999999999997e-02 Max:+1.0000000000000000e+00 RMS:+8.7130333878441968e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8143587413731397e+00 RMS:+1.8203629732600013e-01 -surface_eastward_wind | Min:-1.9400969882086276e+01 Max:+2.1628152789536944e+01 RMS:+5.2804512030599353e+00 -surface_northward_wind | Min:-1.4483927323189917e+01 Max:+1.6910069485657925e+01 RMS:+4.2391121142819319e+00 +eastward_wind_at_surface | Min:-1.9400969882086276e+01 Max:+2.1628152789536944e+01 RMS:+5.2804512030599353e+00 +northward_wind_at_surface | Min:-1.4483927323189917e+01 Max:+1.6910069485657925e+01 RMS:+4.2391121142819319e+00 f10m | Min:+9.3258902621206641e-01 Max:+1.0787625575968645e+00 RMS:+9.9540515270826369e-01 ---------------------------------------------------------------------------------------------------- Analysis mean : ---------------------------------------------------------------------------------------------------- State print | number of fields = 23 | cube sphere face size: C48 -eastward_wind | Min:-5.0315151012088307e+01 Max:+8.9876394093713046e+01 RMS:+1.5970695781724695e+01 -northward_wind | Min:-7.0617201268531815e+01 Max:+7.7433449726355860e+01 RMS:+7.7146404801902495e+00 -air_temperature | Min:+1.7652661360280035e+02 Max:+3.1531640662494840e+02 RMS:+2.4990917048170724e+02 -layer_thickness | Min:-2.8742236232070200e+03 Max:-1.5810236377788424e+01 RMS:+9.8306082003736424e+02 -air_pressure_thickness | Min:+6.0599999954215089e-01 Max:+1.7748162500155472e+03 RMS:+9.5672871271644976e+02 -surface_pressure | Min:+5.3309177524748637e+04 Max:+1.0391290732286175e+05 RMS:+9.8892856414055801e+04 -specific_humidity | Min:+0.0000000000000000e+00 Max:+1.9548966528437035e-02 RMS:+4.8538262898511113e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2005729394313887e-04 RMS:+1.0456783107627359e-05 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.9000854625769038e-03 RMS:+3.5025871992245762e-05 -ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7891447711240337e-05 RMS:+4.4960701985916624e-06 -surface_geopotential_height | Min:-2.7018394470214840e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 +eastward_wind | Min:-5.0315150985467646e+01 Max:+8.9876393389687863e+01 RMS:+1.5970695781891864e+01 +northward_wind | Min:-7.0617194357709707e+01 Max:+7.7433452901272716e+01 RMS:+7.7146404816627436e+00 +air_temperature | Min:+1.7652661360280035e+02 Max:+3.1531640650599002e+02 RMS:+2.4990917048199378e+02 +layer_thickness | Min:-2.8742236232070104e+03 Max:-1.5810236370767129e+01 RMS:+9.8306082003772076e+02 +air_pressure_thickness | Min:+6.0599999954215089e-01 Max:+1.7748162499258074e+03 RMS:+9.5672871271407143e+02 +air_pressure_at_surface | Min:+5.3309177524748637e+04 Max:+1.0391290732286175e+05 RMS:+9.8892856414055801e+04 +water_vapor_mixing_ratio_wrt_moist_air | Min:+0.0000000000000000e+00 Max:+1.9548967653923610e-02 RMS:+4.8538262888901630e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+4.2005681939910546e-04 RMS:+1.0456782979133655e-05 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.9000848666799023e-03 RMS:+3.5025871976277917e-05 +ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+1.7891447711963811e-05 RMS:+4.4960701984732963e-06 +geopotential_height_at_surface | Min:-2.7018394470214840e+01 Max:+5.2697460937500000e+03 RMS:+6.3032575784066080e+02 slmsk | Min:+0.0000000000000000e+00 Max:+2.0000000000000000e+00 RMS:+6.5853328538727862e-01 sheleg | Min:+0.0000000000000000e+00 Max:+3.2527521006769342e+02 RMS:+2.2874231579198337e+01 -sea_surface_temperature | Min:+2.0909325814222842e+02 Max:+3.4400445627039335e+02 RMS:+2.8891122950497800e+02 +skin_temperature_at_surface | Min:+2.0909325814222842e+02 Max:+3.4400445627039335e+02 RMS:+2.8891122950497800e+02 vtype | Min:+0.0000000000000000e+00 Max:+1.9000000000000000e+01 RMS:+5.6602100164707281e+00 stype | Min:+0.0000000000000000e+00 Max:+1.6000000000000000e+01 RMS:+4.1039110890529598e+00 vfrac | Min:+0.0000000000000000e+00 Max:+9.7215068788150627e-01 RMS:+1.9167119887330206e-01 -stc | Min:+2.2044302957255664e+02 Max:+3.1448974639746052e+02 RMS:+2.8916485102080441e+02 -soilMoistureVolumetric | Min:+1.9999999999999997e-02 Max:+1.0000000000000000e+00 RMS:+8.7096039254926949e-01 +soilt | Min:+2.2176521818026936e+02 Max:+3.1448974639746052e+02 RMS:+2.8929629666452479e+02 +soilm | Min:+1.9999999999999997e-02 Max:+1.0000000000000000e+00 RMS:+8.7130333878441968e-01 totalSnowDepthMeters | Min:+0.0000000000000000e+00 Max:+1.8143587413731397e+00 RMS:+1.8203629732600013e-01 -surface_eastward_wind | Min:-1.9400969882086276e+01 Max:+2.1628152789536944e+01 RMS:+5.2804512030599353e+00 -surface_northward_wind | Min:-1.4483927323189917e+01 Max:+1.6910069485657925e+01 RMS:+4.2391121142819319e+00 +eastward_wind_at_surface | Min:-1.9400969882086276e+01 Max:+2.1628152789536944e+01 RMS:+5.2804512030599353e+00 +northward_wind_at_surface | Min:-1.4483927323189917e+01 Max:+1.6910069485657925e+01 RMS:+4.2391121142819319e+00 f10m | Min:+9.3258902621206641e-01 Max:+1.0787625575968645e+00 RMS:+9.9540515270826369e-01 ---------------------------------------------------------------------------------------------------- diff --git a/utils/chem/chem_diagb.h b/utils/chem/chem_diagb.h index 10fc6b5fe..d5456d3d6 100644 --- a/utils/chem/chem_diagb.h +++ b/utils/chem/chem_diagb.h @@ -49,7 +49,7 @@ namespace gdasapp { : Application(comm) {} static const std::string classname() {return "gdasapp::FV3ChemDiagB";} - int execute(const eckit::Configuration & fullConfig, bool /*validate*/) const { + int execute(const eckit::Configuration & fullConfig) const { /// Setup the fv3jedi geometry oops::Log::info() << "====================== geometry" << std::endl; const eckit::LocalConfiguration geomConfig(fullConfig, "geometry"); diff --git a/utils/fv3jedi/fv3jedi_fv3inc.h b/utils/fv3jedi/fv3jedi_fv3inc.h index 183e426aa..5e946d73b 100644 --- a/utils/fv3jedi/fv3jedi_fv3inc.h +++ b/utils/fv3jedi/fv3jedi_fv3inc.h @@ -29,7 +29,7 @@ namespace gdasapp { : Application(comm) {} static const std::string classname() {return "gdasapp::fv3inc";} - int execute(const eckit::Configuration & fullConfig, bool validate) const { + int execute(const eckit::Configuration & fullConfig) const { // Configurations // --------------------------------------------------------------------------------- diff --git a/utils/ioda_example/gdas_meanioda.h b/utils/ioda_example/gdas_meanioda.h index af1e76a40..24d3e8d4e 100644 --- a/utils/ioda_example/gdas_meanioda.h +++ b/utils/ioda_example/gdas_meanioda.h @@ -33,7 +33,7 @@ namespace gdasapp { : Application(comm) {} static const std::string classname() {return "gdasapp::IodaExample";} - int execute(const eckit::Configuration & fullConfig, bool /*validate*/) const { + int execute(const eckit::Configuration & fullConfig) const { // get the obs space configuration const eckit::LocalConfiguration obsConfig(fullConfig, "obs space"); oops::Log::info() << "obs space: " << std::endl << obsConfig << std::endl; diff --git a/utils/land/land_ensrecenter.h b/utils/land/land_ensrecenter.h index 6e14528f3..abcf6d607 100644 --- a/utils/land/land_ensrecenter.h +++ b/utils/land/land_ensrecenter.h @@ -39,7 +39,7 @@ namespace gdasapp { : Application(comm) {} static const std::string classname() {return "gdasapp::FV3LandEnsRecenter";} - int execute(const eckit::Configuration & fullConfig, bool /*validate*/) const { + int execute(const eckit::Configuration & fullConfig) const { /// Setup the FV3 geometry, we are going to assume that things are on the same grid /// as we do not fully trust OOPS interpolation for land compared to other tools const eckit::LocalConfiguration geomConfig(fullConfig, "geometry"); diff --git a/utils/obsproc/applications/gdas_obsprovider2ioda.h b/utils/obsproc/applications/gdas_obsprovider2ioda.h index fd924e4c6..c4c444a57 100644 --- a/utils/obsproc/applications/gdas_obsprovider2ioda.h +++ b/utils/obsproc/applications/gdas_obsprovider2ioda.h @@ -27,7 +27,7 @@ namespace gdasapp { static const std::string classname() {return "gdasapp::ObsProvider2IodaApp";} - int execute(const eckit::Configuration & fullConfig, bool /*validate*/) const { + int execute(const eckit::Configuration & fullConfig) const { // Get the file provider string identifier from the config std::string provider; fullConfig.get("provider", provider); diff --git a/utils/soca/gdas_ens_handler.h b/utils/soca/gdas_ens_handler.h index 4aa1f51f6..2355c9623 100644 --- a/utils/soca/gdas_ens_handler.h +++ b/utils/soca/gdas_ens_handler.h @@ -74,7 +74,7 @@ namespace gdasapp { // ----------------------------------------------------------------------------- - int execute(const eckit::Configuration & fullConfig, bool /*validate*/) const { + int execute(const eckit::Configuration & fullConfig) const { // Setup the soca geometry const eckit::LocalConfiguration geomConfig(fullConfig, "geometry"); oops::Log::info() << "geometry: " << std::endl << geomConfig << std::endl; diff --git a/utils/soca/gdas_incr_handler.h b/utils/soca/gdas_incr_handler.h index 30d2502fe..18cd19d90 100644 --- a/utils/soca/gdas_incr_handler.h +++ b/utils/soca/gdas_incr_handler.h @@ -29,7 +29,7 @@ namespace gdasapp { : Application(comm) {} static const std::string classname() {return "gdasapp::SocaIncrHandler";} - int execute(const eckit::Configuration & fullConfig, bool /*validate*/) const { + int execute(const eckit::Configuration & fullConfig) const { /// Setup the soca geometry const eckit::LocalConfiguration geomConfig(fullConfig, "geometry"); oops::Log::info() << "geometry: " << std::endl << geomConfig << std::endl; diff --git a/utils/soca/gdas_soca_diagb.h b/utils/soca/gdas_soca_diagb.h index 9ca6c8a9b..5a765355c 100644 --- a/utils/soca/gdas_soca_diagb.h +++ b/utils/soca/gdas_soca_diagb.h @@ -184,7 +184,7 @@ namespace gdasapp { /** * Implementation of the virtual execute method from the Application parent class */ - int execute(const eckit::Configuration & fullConfig, bool /*validate*/) const { + int execute(const eckit::Configuration & fullConfig) const { /// Initialize the paramters for D SocaDiagBConfig configD = setup(fullConfig); diff --git a/utils/soca/gdas_socahybridweights.h b/utils/soca/gdas_socahybridweights.h index 2aec656cf..8b90dcaa5 100644 --- a/utils/soca/gdas_socahybridweights.h +++ b/utils/soca/gdas_socahybridweights.h @@ -60,7 +60,7 @@ namespace gdasapp { : Application(comm) {} static const std::string classname() {return "gdasapp::SocaHybridWeights";} - int execute(const eckit::Configuration & fullConfig, bool /*validate*/) const { + int execute(const eckit::Configuration & fullConfig) const { /// Setup the soca geometry const eckit::LocalConfiguration geomConfig(fullConfig, "geometry"); oops::Log::info() << "geometry: " << std::endl << geomConfig << std::endl; diff --git a/utils/soca/gdassoca_obsstats.h b/utils/soca/gdassoca_obsstats.h index 010fe9ac0..bbe144704 100644 --- a/utils/soca/gdassoca_obsstats.h +++ b/utils/soca/gdassoca_obsstats.h @@ -43,7 +43,7 @@ namespace gdasapp { } // ----------------------------------------------------------------------------- - int execute(const eckit::Configuration & fullConfig, bool /*validate*/) const { + int execute(const eckit::Configuration & fullConfig) const { // time window const eckit::LocalConfiguration timeWindowConf(fullConfig, "time window"); const util::TimeWindow timeWindow(timeWindowConf); From be0cf45376854cb9a7c74cee9f74f1d61bd34d3f Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Mon, 23 Dec 2024 09:27:40 -0500 Subject: [PATCH 13/18] Bugfix/ctests (#1425) --- test/atm/global-workflow/jjob_ens_init_split.sh | 9 +++++---- test/gw-ci/CMakeLists.txt | 5 ++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/test/atm/global-workflow/jjob_ens_init_split.sh b/test/atm/global-workflow/jjob_ens_init_split.sh index 4128ac01c..07aaaece4 100755 --- a/test/atm/global-workflow/jjob_ens_init_split.sh +++ b/test/atm/global-workflow/jjob_ens_init_split.sh @@ -98,15 +98,16 @@ for imem in $(seq 1 $NMEM_ENS); do source=$GDASAPP_TESTDATA/lowres/$dpath/$memchar/model/atmos/history target=$COM_ATMOS_HISTORY_PREV_ENS mkdir -p $target - rm -rf $target/enkfgdas.t${gcyc}z.atmf006.nc - ln -fs $source/enkfgdas.t${gcyc}z.atmf006.nc $target/ + file=atmf006.nc + rm -rf $target/enkf${gprefix}.${file} + ln -fs $source/enkf${gprefix}.${file} $target/enkf${gprefix}.${file} source=$GDASAPP_TESTDATA/lowres/$dpath/$memchar/model/atmos/history target=$COM_ATMOS_HISTORY_PREV_ENS flist=("cubed_sphere_grid_atmf006.nc" "cubed_sphere_grid_sfcf006.nc") for file in "${flist[@]}"; do rm -rf $target/enkf${gprefix}.${file} - ln -fs $source/enkf${gprefix}.${file} $target/ + ln -fs $source/enkf${gprefix}.${file} $target/enkf${gprefix}.${file} done done @@ -116,7 +117,7 @@ cp $EXPDIR/config.base_lobsdiag_forenkf_true $EXPDIR/config.base # Execute j-job if [[ $machine = 'HERA' || $machine = 'ORION' || $machine = 'HERCULES' ]]; then - sbatch --ntasks=1 --account=$ACCOUNT --qos=batch --time=00:10:00 --export=ALL --wait --output=atmensanlinit-%j.out ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE + sbatch --ntasks=1 --account=$ACCOUNT --qos=batch --time=00:10:00 --export=ALL --wait --output=atmensanlinit_split-%j.out ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE else ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE fi diff --git a/test/gw-ci/CMakeLists.txt b/test/gw-ci/CMakeLists.txt index 8b198c3be..f9aece46b 100644 --- a/test/gw-ci/CMakeLists.txt +++ b/test/gw-ci/CMakeLists.txt @@ -85,7 +85,7 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo elseif("${task_name}" STREQUAL "gdas_atmanlfinal") list(APPEND TEST_DEPENDS "${test_prefix}_gdas_atmanlfv3inc_${FULL_CYCLE}") elseif("${task_name}" STREQUAL "gdas_aeroanlinit") - list(APPEND TEST_DEPENDS "${test_prefix}_aeroanlgenb_${HALF_CYCLE}") + list(APPEND TEST_DEPENDS "${test_prefix}_gdas_aeroanlgenb_${HALF_CYCLE}") list(APPEND TEST_DEPENDS "${test_prefix}_gdas_prep_${FULL_CYCLE}") elseif("${task_name}" STREQUAL "gdas_aeroanlvar") list(APPEND TEST_DEPENDS "${test_prefix}_gdas_aeroanlinit_${FULL_CYCLE}") @@ -164,6 +164,9 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo list(APPEND TEST_DEPENDS "${test_prefix}_gdas_fcst_${HALF_CYCLE}") elseif("${task_name}" STREQUAL "gdas_marinebmat") list(APPEND TEST_DEPENDS "${test_prefix}_gdas_fcst_${HALF_CYCLE}") + if("${pslot}" STREQUAL "C48mx500_hybAOWCDA") + list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_fcst_${HALF_CYCLE}") + endif() elseif("${task_name}" STREQUAL "gdas_marineanlinit") list(APPEND TEST_DEPENDS "${test_prefix}_gdas_fcst_${HALF_CYCLE}") list(APPEND TEST_DEPENDS "${test_prefix}_gdas_prepoceanobs_${FULL_CYCLE}") From eec2e1b595237b4162fb3bec60aa7ce671280b84 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Thu, 26 Dec 2024 10:13:10 -0500 Subject: [PATCH 14/18] update build_all.sh argument list (#1428) --- ci/run_ci.sh | 6 +++--- prototypes/gen_prototype.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ci/run_ci.sh b/ci/run_ci.sh index e92d943ae..9e67b1e12 100755 --- a/ci/run_ci.sh +++ b/ci/run_ci.sh @@ -46,7 +46,7 @@ if [[ $TEST_WORKFLOW == 1 ]]; then gdasapp_dir=$workflow_dir/sorc/gdas.cd build_cmd_dir=$workflow_dir/sorc - build_cmd="./build_all.sh -ug &>> log.build" + build_cmd="./build_all.sh gfs gsi gdas" build_dir=$workflow_dir/build else export BUILD_JOBS=8 @@ -54,7 +54,7 @@ else gdasapp_dir=$repodir build_cmd_dir=$gdasapp_dir - build_cmd="./build.sh -t $TARGET &>> log.build" + build_cmd="./build.sh -t $TARGET" build_dir=$gdasapp_dir/build fi @@ -74,7 +74,7 @@ echo "---------------------------------------------------" >> $outfile cd $build_cmd_dir module purge rm -rf log.build -$build_cmd +$build_cmd &>> log.build build_status=$? if [ $build_status -eq 0 ]; then echo "Build: *SUCCESS*" >> $outfile diff --git a/prototypes/gen_prototype.sh b/prototypes/gen_prototype.sh index c4716ccce..e224dc11d 100755 --- a/prototypes/gen_prototype.sh +++ b/prototypes/gen_prototype.sh @@ -47,7 +47,7 @@ if [[ $BUILD == 'YES' ]]; then cd gdas.cd git checkout $GDASHASH cd ../ - ./build_all.sh + ./build_all.sh gfs gsi gdas ./link_workflow.sh fi From bd97af961eb407234aab40beb02c5af9017ef684 Mon Sep 17 00:00:00 2001 From: Yaping Wang <49168260+ypwang19@users.noreply.github.com> Date: Thu, 2 Jan 2025 13:11:59 -0500 Subject: [PATCH 15/18] Update jcb-base for aerosol VarBC (#1426) # Description This PR adds the aerosol bias file names to the jcb-base template. # Companion PRs https://github.com/NOAA-EMC/global-workflow/pull/3189 # Issues Resolves #https://github.com/NOAA-EMC/global-workflow/issues/3172 # Automated CI tests to run in Global Workflow - [ ] C96C48_hybatmaerosnowDA --------- Co-authored-by: ypwang19 Co-authored-by: Cory Martin --- parm/aero/jcb-base.yaml.j2 | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/parm/aero/jcb-base.yaml.j2 b/parm/aero/jcb-base.yaml.j2 index 6d1cf7b7f..3c48b74b3 100644 --- a/parm/aero/jcb-base.yaml.j2 +++ b/parm/aero/jcb-base.yaml.j2 @@ -128,12 +128,6 @@ aero_obsbiascovout_prefix: "{{APREFIX}}" aero_obsbiascovout_suffix: ".satbias_cov.nc" bias_files: - atms_n20: rad_varbc_params.tar - atms_npp: rad_varbc_params.tar - mtiasi_metop-a: rad_varbc_params.tar - mtiasi_metop-b: rad_varbc_params.tar - amsua_n19: rad_varbc_params.tar - ssmis_f17: rad_varbc_params.tar - ssmis_f18: rad_varbc_params.tar - cris-fsr_n20: rad_varbc_params.tar - cris-fsr_npp: rad_varbc_params.tar + viirs_npp_aod: aero_varbc_params.tar + viirs_n20_aod: aero_varbc_params.tar + viirs_n21_aod: aero_varbc_params.tar From 322ce42e8c8d0126d88d2395d196222e5224a7ba Mon Sep 17 00:00:00 2001 From: Yaping Wang <49168260+ypwang19@users.noreply.github.com> Date: Fri, 3 Jan 2025 15:33:31 -0500 Subject: [PATCH 16/18] Update jcb-gdas hash for aerosol-Varbc (#1431) # Description # Companion PRs (https://github.com/NOAA-EMC/jcb-gdas/pull/61) # Issues https://github.com/NOAA-EMC/global-workflow/issues/3172 Co-authored-by: ypwang19 --- parm/jcb-gdas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/jcb-gdas b/parm/jcb-gdas index d75038349..10a744aa2 160000 --- a/parm/jcb-gdas +++ b/parm/jcb-gdas @@ -1 +1 @@ -Subproject commit d7503834951a75ae12a1c38dfc884892f19905aa +Subproject commit 10a744aa2a8103e523aba54bebc44a965c2ec466 From c665ec924ac8ca4f0f830bae4d72f56943073a08 Mon Sep 17 00:00:00 2001 From: Anna Shlyaeva Date: Mon, 6 Jan 2025 07:16:08 -0700 Subject: [PATCH 17/18] Bugfix for ensemble update: rollback changes in gdas_ens_handler (#1430) # Description Bugfix for https://github.com/NOAA-EMC/GDASApp/issues/1429. I am rolling back the change in `gdas_ens_handler` from https://github.com/NOAA-EMC/GDASApp/pull/1417 that resulted in ensemble increments missing ssh which is used (at least to check dimensions) in mom6 IAU. From looking at the original PR I don't think this change was intentional, and I _think_ it's OK to roll it back, although it would be good if someone with the knowledge of this workflow can review. # Issues Fixes https://github.com/NOAA-EMC/GDASApp/issues/1429 Co-authored-by: Anna Shlyaeva --- utils/soca/gdas_ens_handler.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/soca/gdas_ens_handler.h b/utils/soca/gdas_ens_handler.h index 2355c9623..89c6e2a2c 100644 --- a/utils/soca/gdas_ens_handler.h +++ b/utils/soca/gdas_ens_handler.h @@ -151,14 +151,14 @@ namespace gdasapp { oops::Log::info() << "recentered incr " << i << ":" << incr << std::endl; // Append the vertical geometry (for MOM6 IAU) - postProcIncr.appendLayer(incr); - oops::Log::info() << "incr " << i << ":" << incr << std::endl; + soca::Increment mom6_incr = postProcIncr.appendLayer(incr); + oops::Log::info() << "incr " << i << ":" << mom6_incr << std::endl; // Set variables to zero if specified in the configuration postProcIncr.setToZero(incr); // Save the increments used to initialize the ensemble forecast - result = postProcIncr.save(incr, i+1); + result = postProcIncr.save(mom6_incr, i+1); } return result; } From a36255a4322122a16b9614ac107a9d087f14a58d Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA <58948505+AndrewEichmann-NOAA@users.noreply.github.com> Date: Mon, 6 Jan 2025 10:32:44 -0500 Subject: [PATCH 18/18] Add observation window to Argo float obs and other BUFR-sourced obs (#1423) # Description Adds observation window to Argo float obs (4 cycles back and forward) and same facility for other BUFR-sourced obs. Since current BUFR to IODA converters handle one input file at a time, this is the interface this PR assumes, and so puts multiple argo IODA files, one per cycle, in the `obs` directory under `COM`. Tested with argo # Companion PRs NA # Issues Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1132 # Automated CI tests to run in Global Workflow - [ ] atm_jjob - [ ] C96C48_ufs_hybatmDA - [ ] C96C48_hybatmaerosnowDA - [x] C48mx500_3DVarAOWCDA - [ ] C48mx500_hybAOWCDA - [ ] C96C48_hybatmDA --- parm/soca/obsprep/obsprep_config.yaml | 3 ++ ush/soca/prep_ocean_obs.py | 57 +++++++++++++++++---------- ush/soca/prep_ocean_obs_utils.py | 31 +++++++++------ 3 files changed, 59 insertions(+), 32 deletions(-) diff --git a/parm/soca/obsprep/obsprep_config.yaml b/parm/soca/obsprep/obsprep_config.yaml index 905f49be6..02f4edb5d 100644 --- a/parm/soca/obsprep/obsprep_config.yaml +++ b/parm/soca/obsprep/obsprep_config.yaml @@ -244,6 +244,9 @@ observations: provider: GTS dmpdir subdir: atmos type: bufr + window: + back: 4 + forward: 4 dmpdir regex: 'gdas.*.subpfl.*.bufr_d' - obs space: diff --git a/ush/soca/prep_ocean_obs.py b/ush/soca/prep_ocean_obs.py index da7b2da6a..e751964ab 100644 --- a/ush/soca/prep_ocean_obs.py +++ b/ush/soca/prep_ocean_obs.py @@ -138,39 +138,51 @@ def initialize(self): interval = timedelta(hours=assim_freq * i) window_cdates.append(cdate + interval) - input_files = prep_ocean_obs_utils.obs_fetch(self.task_config, - self.task_config, - obsprep_space, - window_cdates) + # fetch the obs files to DATA directory and get the list of files and cycles + fetched_files = prep_ocean_obs_utils.obs_fetch(self.task_config, + self.task_config, + obsprep_space, + window_cdates) - if not input_files: + if not fetched_files: logger.warning(f"No files found for obs source {obtype}, skipping") break # go to next observer in OBS_YAML - obsprep_space['input files'] = input_files obsprep_space['window begin'] = self.window_begin obsprep_space['window end'] = self.window_end - ioda_filename = f"{RUN}.t{cyc:02d}z.{obs_space_name}.{cdatestr}.nc4" - obsprep_space['output file'] = ioda_filename ioda_config_file = obtype + '2ioda.yaml' + obsprep_space['conversion config file'] = ioda_config_file # set up the config file for conversion to IODA for bufr and # netcdf files respectively if obsprep_space['type'] == 'bufr': + # create a pre-filled template file for the bufr2ioda converter, + # which will be overwritten for each input cycle bufrconv_config = { 'RUN': RUN, 'current_cycle': cdate, 'DMPDIR': COMIN_OBS, 'COM_OBS': COMIN_OBS, 'OCEAN_BASIN_FILE': OCEAN_BASIN_FILE} - obsprep_space['conversion config file'] = ioda_config_file - bufr2iodapy = BUFR2IODA_PY_DIR + '/bufr2ioda_' + obtype + '.py' + bufr2iodapy = os.path.join(BUFR2IODA_PY_DIR, f'bufr2ioda_{obtype}.py') obsprep_space['bufr2ioda converter'] = bufr2iodapy - tmpl_filename = 'bufr2ioda_' + obtype + '.yaml' + tmpl_filename = f"bufr2ioda_{obtype}.yaml" bufrconv_template = os.path.join(BUFR2IODA_TMPL_DIR, tmpl_filename) + output_files = [] # files to save to COM directory + bufrconv_files = [] # files needed to populate the IODA converter config + # for each cycle of the retrieved obs bufr files... + for input_file, cycle in fetched_files: + cycletime = cycle[8:10] + ioda_filename = f"{RUN}.t{cycletime}z.{obs_space_name}.{cycle}.nc4" + output_files.append(ioda_filename) + bufrconv_files.append((cycle, input_file, ioda_filename)) + + obsprep_space['output file'] = output_files + obsprep_space['bufrconv files'] = bufrconv_files try: bufrconv = parse_j2yaml(bufrconv_template, bufrconv_config) + bufrconv.update(obsprep_space) bufrconv.save(ioda_config_file) except Exception as e: logger.warning(f"An exeception {e} occured while trying to create BUFR2IODA config") @@ -180,7 +192,10 @@ def initialize(self): obsspaces_to_convert.append({"obs space": obsprep_space}) elif obsprep_space['type'] == 'nc': - obsprep_space['conversion config file'] = ioda_config_file + + obsprep_space['input files'] = [f[0] for f in fetched_files] + ioda_filename = f"{RUN}.t{cyc:02d}z.{obs_space_name}.{cdatestr}.nc4" + obsprep_space['output file'] = [ioda_filename] save_as_yaml(obsprep_space, ioda_config_file) obsspaces_to_convert.append({"obs space": obsprep_space}) @@ -192,7 +207,7 @@ def initialize(self): logger.critical("Ill-formed OBS_YAML or OBSPREP_YAML file, exiting") raise - # yes, there is redundancy between the yamls fed to the ioda converter and here, + # yes, there is redundancy between the yamls fed to the ioda converters and here, # this seems safer and easier than being selective about the fields save_as_yaml({"observations": obsspaces_to_convert}, self.task_config.conversion_list_file) @@ -258,16 +273,18 @@ def finalize(self): obsspaces_to_save = YAMLFile(self.task_config.save_list_file) - for obsspace_to_save in obsspaces_to_save['observations']: - - output_file = os.path.basename(obsspace_to_save['output file']) - conv_config_file = os.path.basename(obsspace_to_save['conversion config file']) - output_file_dest = os.path.join(COMOUT_OBS, output_file) + for obs_space in obsspaces_to_save['observations']: + files_to_save = [] + conv_config_file = os.path.basename(obs_space['conversion config file']) conv_config_file_dest = os.path.join(COMOUT_OBS, conv_config_file) + files_to_save.append([conv_config_file, conv_config_file_dest]) + + for output_file in obs_space['output file']: + output_file_dest = os.path.join(COMOUT_OBS, output_file) + files_to_save.append([output_file, output_file_dest]) try: - FileHandler({'copy': [[output_file, output_file_dest]]}).sync() - FileHandler({'copy': [[conv_config_file, conv_config_file_dest]]}).sync() + FileHandler({'copy': files_to_save}).sync() except Exception as e: logger.warning(f"An exeception {e} occured while trying to run gen_bufr_json") except OSError: diff --git a/ush/soca/prep_ocean_obs_utils.py b/ush/soca/prep_ocean_obs_utils.py index 9ecb06464..c8f42a375 100755 --- a/ush/soca/prep_ocean_obs_utils.py +++ b/ush/soca/prep_ocean_obs_utils.py @@ -2,7 +2,7 @@ import os import fnmatch import subprocess -from wxflow import FileHandler, Logger +from wxflow import FileHandler, Logger, YAMLFile logger = Logger() @@ -36,10 +36,10 @@ def obs_fetch(config, task_config, obsprep_space, cycles): for root, _, files in os.walk(full_input_dir): for filename in fnmatch.filter(files, dumpdir_regex): - target_file = PDY + cyc + '-' + filename - matching_files.append((full_input_dir, filename, target_file)) + target_file = f"{PDY}{cyc}-{filename}" + matching_files.append((full_input_dir, filename, target_file, f"{PDY}{cyc}")) - for full_input_dir, filename, target_file in matching_files: + for full_input_dir, filename, target_file, _ in matching_files: file_path = os.path.join(full_input_dir, filename) file_destination = os.path.join(COMIN_OBS, target_file) file_copy.append([file_path, file_destination]) @@ -50,7 +50,7 @@ def obs_fetch(config, task_config, obsprep_space, cycles): FileHandler({'copy': file_copy}).sync() # return the modified file names for the IODA converters - return [f[2] for f in matching_files] + return [(f[2], f[3]) for f in matching_files] def run_netcdf_to_ioda(obsspace_to_convert, OCNOBS2IODAEXEC): @@ -69,11 +69,18 @@ def run_netcdf_to_ioda(obsspace_to_convert, OCNOBS2IODAEXEC): def run_bufr_to_ioda(obsspace_to_convert): logger.info(f"running run_bufr_to_ioda on {obsspace_to_convert['name']}") bufrconv_yaml = obsspace_to_convert['conversion config file'] + bufrconv_config = YAMLFile(bufrconv_yaml) bufr2iodapy = obsspace_to_convert['bufr2ioda converter'] - try: - subprocess.run(['python', bufr2iodapy, '-c', bufrconv_yaml], check=True) - return 0 - except subprocess.CalledProcessError as e: - logger.warning(f"bufr2ioda converter failed with error >{e}<, \ - return code {e.returncode}") - return e.returncode + obtype = obsspace_to_convert['name'] + + for cycle, input_file, output_file in obsspace_to_convert['bufrconv files']: + bufrconv_config['input_file'] = input_file + bufrconv_config['output_file'] = output_file + bufrconv_config['cycle_datetime'] = cycle + config_filename = f"{cycle}.{bufrconv_yaml}" + bufrconv_config.save(config_filename) + try: + subprocess.run(['python', bufr2iodapy, '-c', config_filename], check=True) + except subprocess.CalledProcessError as e: + logger.warning(f"bufr2ioda converter failed with error >{e}<, \ + return code {e.returncode}")