Skip to content

Commit

Permalink
Update submodules and use spack-stack FMS (#1221)
Browse files Browse the repository at this point in the history
Update JEDI submodules to the latest develop as of today (7/12/2024) and
remove FMS and MOM6 from the submodule list and ecbuild_bundle. FMS is
now assumed to be a library loaded as a module and MOM6 is inside of
SOCA already.

Code compiles on Hera and WCOSS, have not tried to run any tests yet.

---------

Co-authored-by: cory martin <[email protected]>
Co-authored-by: Rahul Mahajan <[email protected]>
Co-authored-by: RussTreadon-NOAA <[email protected]>
  • Loading branch information
4 people authored Jul 17, 2024
1 parent b2ca01e commit ca18845
Show file tree
Hide file tree
Showing 24 changed files with 64 additions and 38 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -183,4 +183,5 @@ install*/
/sorc/gdas
/sorc/gdas-utils
!/bundle/CMakeLists.txt
!/bundle/fv3-interface.cmake
/bundle/*
8 changes: 0 additions & 8 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,6 @@
path = sorc/icepack
url = https://github.com/JCSDA-internal/Icepack.git
branch = feature/ecbuild-new
[submodule "sorc/mom6"]
path = sorc/mom6
url = https://github.com/jcsda-internal/MOM6.git
branch = main-ecbuild
[submodule "sorc/soca"]
path = sorc/soca
url = https://github.com/jcsda-internal/soca.git
Expand All @@ -73,10 +69,6 @@
path = sorc/crtm
url = https://github.com/jcsda/crtm.git
branch = release/crtm_jedi_v2.4.1
[submodule "sorc/fms"]
path = sorc/fms
url = https://github.com/jcsda/fms.git
branch = release-stable
[submodule "sorc/jcb"]
path = sorc/jcb
url = https://github.com/noaa-emc/jcb.git
Expand Down
18 changes: 15 additions & 3 deletions bundle/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,19 @@ option(BUILD_GDASBUNDLE "Build GDAS Bundle" ON)
option(CLONE_JCSDADATA "Clone JCSDA test data repositories" OFF)
option(WORKFLOW_TESTS "Include global-workflow dependent tests" OFF)

# Depend path for non-ecbuild packages
set(DEPEND_LIB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/Depends)
list(APPEND CMAKE_PREFIX_PATH ${DEPEND_LIB_ROOT})

# Library path for non-ecbuild packages
link_directories(${CMAKE_CURRENT_BINARY_DIR}/lib)

include( GNUInstallDirs )
if(APPLE)
list( APPEND CMAKE_INSTALL_RPATH $ENV{llvm_openmp_ROOT}/lib )
endif()
list( APPEND CMAKE_INSTALL_RPATH ${CMAKE_CURRENT_BINARY_DIR}/fv3 )

# Initialize bundle
# -----------------
ecbuild_bundle_initialize()
Expand Down Expand Up @@ -84,8 +97,8 @@ if(BUILD_GDASBUNDLE)
option(ENABLE_UFO_DATA "Obtain ufo test data from ufo-data repository (vs tarball)" ON)
ecbuild_bundle( PROJECT ufo SOURCE "../sorc/ufo" )

# FMS and FV3 dynamical core
ecbuild_bundle( PROJECT fms SOURCE "../sorc/fms" )
# FV3 dynamical core
include(fv3-interface.cmake)
ecbuild_bundle( PROJECT fv3 SOURCE "../sorc/fv3" )

# fv3-jedi and associated repositories
Expand All @@ -100,7 +113,6 @@ if(BUILD_GDASBUNDLE)
if ( BUILD_ICEPACK )
ecbuild_bundle( PROJECT icepack SOURCE "../sorc/icepack" )
endif()
ecbuild_bundle( PROJECT mom6 SOURCE "../sorc/mom6" )
ecbuild_bundle( PROJECT soca SOURCE "../sorc/soca" )

# Build JEDI/DA or other peripherals
Expand Down
18 changes: 18 additions & 0 deletions bundle/fv3-interface.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# FV3 dycore
set(OPENMP ON )
set(32BIT OFF)
set(DEBUG OFF)
set(MOVING_NEST OFF)
set(MULTI_GASES OFF)
set(USE_GFSL63 ON )
set(NO_PHYS ON )
set(GFS_PHYS OFF)
set(GFS_TYPES OFF)
set(use_WRTCOMP OFF)
set(INTERNAL_FILE_NML ON )
set(ENABLE_QUAD_PRECISION ON )

add_library(fv3dycore IMPORTED SHARED)
set_target_properties(fv3dycore PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/fv3/libfv3.${CMAKE_SHARED_LIBRARY_SUFFIX})

message(WARN "WE ARE USING fv3-interface.cmake")
1 change: 1 addition & 0 deletions modulefiles/GDAS/gaea.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ load("fftw/3.3.10")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("fms/2023.04")
load("atlas/0.35.1")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
Expand Down
1 change: 1 addition & 0 deletions modulefiles/GDAS/hera.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ load("fftw/3.3.10")
load("fckit/0.11.0")
load("fiat/1.2.0")
--load("ectrans/1.2.0")
load("fms/2023.04")
load("atlas/0.35.1")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
Expand Down
1 change: 1 addition & 0 deletions modulefiles/GDAS/hercules.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ load("fftw/3.3.10")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("fms/2023.04")
load("atlas/0.35.1")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
Expand Down
1 change: 1 addition & 0 deletions modulefiles/GDAS/noaacloud.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ load("fftw/3.3.10")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("fms/2023.04")
load("atlas/0.35.1")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
Expand Down
1 change: 1 addition & 0 deletions modulefiles/GDAS/orion.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ load("fftw/3.3.10")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("fms/2023.04")
load("atlas/0.35.1")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
Expand Down
4 changes: 4 additions & 0 deletions modulefiles/GDAS/wcoss2.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,17 @@ load("nco/5.0.6")
load("gsl/2.7")
load("prod_util/2.0.14")
load("bufr/12.0.1")
load("fms-C/2023.04")

-- hack for pybind11
setenv("pybind11_ROOT", "/apps/spack/python/3.8.6/intel/19.1.3.304/pjn2nzkjvqgmjw4hmyz43v5x4jbxjzpk/lib/python3.8/site-packages/pybind11/share/cmake/pybind11")

-- hack for git-lfs
prepend_path("PATH", "/apps/spack/git-lfs/2.11.0/gcc/11.2.0/m6b6nl5kfqngfteqbggydc7kflxere3s/bin")

-- hack for FMS
setenv('fms_ROOT', '/apps/prod/hpc-stack/i-19.1.3.304__m-8.1.12__h-1.14.0__n-4.9.2__p-2.5.10__e-8.6.0pnetcdf/intel-19.1.3.304/cray-mpich-8.1.12/fms/2023.04')

local mpiexec = '/pe/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/mpirun'
local mpinproc = '-n'
setenv('MPIEXEC_EXEC', mpiexec)
Expand Down
1 change: 0 additions & 1 deletion sorc/fms
Submodule fms deleted from 1f7391
2 changes: 1 addition & 1 deletion sorc/fv3
Submodule fv3 updated 96 files
+27 −0 .github/ISSUE_TEMPLATE/bug_report.md
+19 −0 .github/ISSUE_TEMPLATE/feature_request.md
+14 −0 .github/ISSUE_TEMPLATE/support_request.md
+23 −0 .github/pull_request_template.md
+7 −0 .gitignore
+199 −114 CMakeLists.txt
+127 −0 CODE_STYLE.md
+23 −13 README.md
+37 −0 cmake/FV3Config.cmake.in
+130 −0 cmake/FindESMF.cmake
+347 −0 cmake/FindNetCDF.cmake
+16 −0 cmake/compiler_flags_GNU_Fortran.cmake
+25 −0 cmake/compiler_flags_Intel_Fortran.cmake
+9 −58 cmake/fv3_compiler_flags.cmake
+366 −0 docs/Doxyfile
+0 −148 docs/FV3_citations.bib
+0 −2,436 docs/acs_fvGFS
+ docs/doc_source/CDgrid.pdf
+ docs/doc_source/FV3flowchart.pdf
+ docs/doc_source/GFDLLogo.png
+ docs/doc_source/KESpectra.pdf
+ docs/doc_source/PGF.pdf
+1 −0 docs/doc_source/README
+1,653 −0 docs/doc_source/fv3_technical_2021.tex
+ docs/doc_source/fv3logo.png
+1,289 −0 docs/doc_source/fv3references.bib
+ docs/doc_source/gridmetrics1D.pdf
+ docs/doc_source/gridmetricsCoordinates.pdf
+ docs/doc_source/gridmetricsReconstructions.pdf
+ docs/doc_source/phasespeedbad.pdf
+ docs/doc_source/phasespeedgood.pdf
+ docs/doc_source/twowayschematic.pdf
+679 −0 docs/examples/BCMoist.ipynb
+305 −0 docs/examples/BLvortex.ipynb
+402 −0 docs/examples/BTwave.ipynb
+757 −0 docs/examples/DPSupercell.ipynb
+558 −0 docs/examples/MountainWaveIC.ipynb
+47 −0 docs/examples/README.md
+279 −0 docs/examples/RHwave.ipynb
+2,280 −0 docs/examples/TC.ipynb
+1,095 −0 docs/examples/mtn_rest_100km.ipynb
+415 −0 docs/examples/mtn_wave_tests_1km.ipynb
+532 −0 docs/examples/tp_core.ipynb
+ docs/fv3_technical_2021.pdf
+1 −1 driver/fvGFS/DYCORE_typedefs.F90
+465 −171 driver/fvGFS/atmosphere.F90
+370 −66 driver/fvGFS/fv_nggps_diag.F90
+527 −0 driver/fvGFS/fv_ufs_restart_io.F90
+0 −122 makefile
+14 −532 model/a2b_edge.F90
+114 −153 model/boundary.F90
+294 −93 model/dyn_core.F90
+645 −610 model/fv_arrays.F90
+0 −1,209 model/fv_cmp.F90
+168 −109 model/fv_control.F90
+313 −145 model/fv_dynamics.F90
+21 −16 model/fv_fill.F90
+284 −200 model/fv_grid_utils.F90
+257 −224 model/fv_mapz.F90
+322 −293 model/fv_nesting.F90
+649 −326 model/fv_regional_bc.F90
+519 −143 model/fv_sg.F90
+848 −822 model/fv_tracer2d.F90
+39 −32 model/fv_update_phys.F90
+0 −4,975 model/gfdl_cloud_microphys.F90
+0 −614 model/module_mp_radar.F90
+333 −0 model/molecular_diffusion.F90
+66 −21 model/multi_gases.F90
+19 −15 model/nh_core.F90
+2,384 −2,218 model/nh_utils.F90
+3,470 −3,372 model/sw_core.F90
+1,717 −1,242 model/tp_core.F90
+1,388 −0 tools/coarse_grained_diagnostics.F90
+689 −0 tools/coarse_grained_restart_files.F90
+881 −0 tools/coarse_graining.F90
+4,381 −3,886 tools/external_ic.F90
+7 −7 tools/external_sst.F90
+577 −0 tools/fv_diag_column.F90
+1,646 −1,280 tools/fv_diagnostics.F90
+108 −0 tools/fv_diagnostics.h
+184 −111 tools/fv_eta.F90
+44 −5 tools/fv_eta.h
+1,029 −212 tools/fv_grid_tools.F90
+48 −34 tools/fv_iau_mod.F90
+606 −320 tools/fv_io.F90
+492 −408 tools/fv_mp_mod.F90
+303 −228 tools/fv_nudge.F90
+153 −113 tools/fv_restart.F90
+42 −53 tools/fv_surf_map.F90
+7 −7 tools/fv_timing.F90
+30 −32 tools/fv_treat_da_inc.F90
+40 −27 tools/init_hydro.F90
+1,798 −0 tools/module_diag_hailcast.F90
+6 −6 tools/sim_nc_mod.F90
+34 −34 tools/sorted_index.F90
+266 −2,499 tools/test_cases.F90
2 changes: 1 addition & 1 deletion sorc/fv3-jedi
Submodule fv3-jedi updated 102 files
2 changes: 1 addition & 1 deletion sorc/fv3-jedi-lm
Submodule fv3-jedi-lm updated 1 files
+6 −3 CMakeLists.txt
2 changes: 1 addition & 1 deletion sorc/ioda
Submodule ioda updated 83 files
+5 −0 CMakeLists.txt
+2 −0 share/CMakeLists.txt
+27 −0 share/ioda/yaml/iodatest_odb_radar_doppler_wind.yaml
+15 −0 share/ioda/yaml/iodatest_odb_scatwindchosen_write.yaml
+30 −2 share/ioda/yaml/odb_default_name_map.yaml
+3 −0 share/ioda/yaml/validation/ObsSpace.yaml
+4 −4 src/CMakeLists.txt
+5 −0 src/ObsDataIoParameters.h
+56 −3 src/ObsDataVector.h
+94 −13 src/ObsSpace.cc
+54 −15 src/ObsSpace.h
+40 −0 src/ObsVector.cc
+7 −2 src/ObsVector.h
+0 −29 src/c_obsspace_get_group.cpp
+0 −18 src/c_obsspace_get_group.hpp
+51 −27 src/containers/ColumnMetadata.cpp
+21 −5 src/containers/ColumnMetadata.h
+17 −16 src/containers/ColumnMetadatum.cpp
+4 −2 src/containers/ColumnMetadatum.h
+2 −0 src/containers/Constants.h
+44 −0 src/containers/Data.cpp
+63 −0 src/containers/Data.h
+43 −0 src/containers/DataBase.h
+22 −22 src/containers/DataRow.cpp
+8 −5 src/containers/DataRow.h
+27 −25 src/containers/Datum.cpp
+9 −8 src/containers/Datum.h
+0 −14 src/containers/DatumBase.cpp
+6 −2 src/containers/DatumBase.h
+81 −4 src/containers/ObsDataFrame.cpp
+34 −34 src/containers/ObsDataFrame.h
+963 −0 src/containers/ObsDataFrameCols.cpp
+137 −0 src/containers/ObsDataFrameCols.h
+391 −552 src/containers/ObsDataFrameRows.cpp
+70 −78 src/containers/ObsDataFrameRows.h
+23 −0 src/engines/ioda/CMakeLists.txt
+46 −0 src/engines/ioda/include/ioda/Engines/Bufr.h
+73 −0 src/engines/ioda/include/ioda/Engines/Bufr/Encoder.h
+2 −0 src/engines/ioda/include/ioda/Engines/GenList.h
+2 −0 src/engines/ioda/include/ioda/Engines/GenRandom.h
+1 −0 src/engines/ioda/include/ioda/Engines/ODC.h
+70 −0 src/engines/ioda/include/ioda/Engines/ReadBufrFile.h
+6 −1 src/engines/ioda/include/ioda/Engines/ReadH5File.h
+7 −1 src/engines/ioda/include/ioda/Engines/ReadOdbFile.h
+2 −0 src/engines/ioda/include/ioda/Engines/ReadScriptFile.h
+5 −0 src/engines/ioda/include/ioda/Engines/ReaderBase.h
+4 −0 src/engines/ioda/include/ioda/Engines/WriteOdbFile.h
+2 −1 src/engines/ioda/include/ioda/ObsGroup.h
+1 −1 src/engines/ioda/include/ioda/Variables/Variable.h
+1 −0 src/engines/ioda/include/ioda/config.h.in
+31 −12 src/engines/ioda/python/CMakeLists.txt
+47 −0 src/engines/ioda/python/py_bufr_ioda_encoder.cpp
+11 −0 src/engines/ioda/python/py_engines.cpp
+2 −0 src/engines/ioda/python/pyioda/ioda/Engines/Bufr/__init__.py
+1 −0 src/engines/ioda/python/pyioda/ioda/Engines/HH/__init__.py
+1 −0 src/engines/ioda/python/pyioda/ioda/Engines/ObsStore/__init__.py
+1 −0 src/engines/ioda/python/pyioda/ioda/Engines/__init__.py
+149 −0 src/engines/ioda/src/ioda/Engines/Bufr/Bufr.cpp
+592 −0 src/engines/ioda/src/ioda/Engines/Bufr/Encoder.cpp
+26 −25 src/engines/ioda/src/ioda/Engines/ODC/DataFromSQL.h
+5 −4 src/engines/ioda/src/ioda/Engines/ODC/ODC.cpp
+70 −0 src/engines/ioda/src/ioda/Engines/ReadBufrFile.cpp
+78 −29 src/engines/ioda/src/ioda/Engines/Script/Script.cpp
+1 −0 src/engines/ioda/src/ioda/Engines/WriteOdbFile.cpp
+75 −5 src/engines/ioda/src/ioda/ObsGroup.cpp
+6 −0 src/engines/test/ioda/obsgroup/CMakeLists.txt
+227 −0 src/engines/test/ioda/obsgroup/test_append_function.cpp
+125 −54 src/mains/odfDemo/odfDemo.cpp
+0 −28 src/obsspace_group_mod.f90
+3 −3 src/obsspace_mod.F90
+193 −0 test/CMakeLists.txt
+1 −1 test/ioda/ObsDataFrame.h
+76 −1 test/ioda/ObsSpaceReduce.h
+3 −3 test/ioda/obsspace.F90
+19 −0 test/testinput/iodatest_bufr_mhs.yaml
+167 −0 test/testinput/iodatest_bufr_mhs_mapping.yaml
+12 −0 test/testinput/iodatest_bufr_python_encoder.py
+19 −0 test/testinput/iodatest_bufr_python_encoder.yaml
+168 −0 test/testinput/iodatest_obsspace_index_recnum_multiple_input_files.yaml
+54 −0 test/testinput/iodatest_time_io_multiple_input_files.yaml
+54 −0 test/testinput/iodatest_time_io_multiple_input_files_mpi_2.yaml
+54 −0 test/testinput/iodatest_time_io_multiple_input_files_mpi_4.yaml
+20 −0 test/testinput/iodatest_writer_scatwindchosen.yaml
2 changes: 1 addition & 1 deletion sorc/land-imsproc
1 change: 0 additions & 1 deletion sorc/mom6
Submodule mom6 deleted from 51ec48
2 changes: 1 addition & 1 deletion sorc/oops
Submodule oops updated 83 files
+1 −11 .github/workflows/ci.yml
+0 −1 CI/meto/CMakeLists.txt
+2 −1 CI/meto/check-build-group.sh
+1 −0 CMakeLists.txt
+4 −3 l95/src/lorenz95/GomL95.cc
+3 −2 l95/src/lorenz95/GomL95.h
+6 −0 l95/test/CMakeLists.txt
+62 −0 l95/test/testinput/getkf_linearobserver.yaml
+6 −4 qg/model/GomQG.cc
+3 −2 qg/model/GomQG.h
+3 −3 qg/model/qg_fields_mod.F90
+8 −0 qg/test/CMakeLists.txt
+11 −2 qg/test/testinput/eda_4dvar_control_pert.yaml
+2 −1 qg/test/testinput/gen_ens_pert_B.yaml
+94 −0 qg/test/testinput/gen_hybrid_linear_model_coeffs_pseudo_multimodel_multigeometry.yaml
+3 −0 qg/test/testinput/variable_change.yaml
+21 −18 qg/test/testoutput/eda_4dvar_control_pert.test
+38 −26 qg/test/testoutput/gen_ens_pert_B.test
+56 −0 qg/test/testoutput/variable_change.test
+1 −0 share/CMakeLists.txt
+1 −0 share/oops/CMakeLists.txt
+19 −0 share/oops/suppressions/CMakeLists.txt
+10 −0 share/oops/suppressions/lsan.supp
+24 −0 share/oops/suppressions/valgrind.supp
+12 −4 src/CMakeLists.txt
+7 −6 src/oops/assimilation/CostFunction.h
+8 −7 src/oops/assimilation/CostJo.h
+2 −2 src/oops/assimilation/CostPert.h
+4 −2 src/oops/base/FieldSet3D.cc
+3 −0 src/oops/base/FieldSet3D.h
+127 −37 src/oops/base/GeometryData.cc
+10 −0 src/oops/base/GeometryData.h
+112 −0 src/oops/base/GetValuePerts.h
+11 −1 src/oops/base/GetValuePosts.h
+4 −0 src/oops/base/GetValueTLADs.h
+4 −0 src/oops/base/GetValues.h
+4 −4 src/oops/base/Increment.h
+3 −3 src/oops/base/Locations.h
+1 −10 src/oops/base/ObsOperatorPert.h
+36 −18 src/oops/base/Observer.h
+3 −10 src/oops/base/ObserverTLAD.h
+18 −0 src/oops/base/ObserverUtils.h
+18 −8 src/oops/base/Observers.h
+1 −1 src/oops/base/ObserversTLAD.h
+3 −3 src/oops/base/SamplingMethodSelector.h
+20 −18 src/oops/base/StructuredGridWriter.h
+3 −3 src/oops/base/TrivialSamplingMethodSelector.h
+132 −0 src/oops/base/Variable.cc
+137 −0 src/oops/base/Variable.h
+141 −79 src/oops/base/Variables.cc
+38 −99 src/oops/base/Variables.h
+2 −2 src/oops/base/variables_f.cc
+2 −2 src/oops/coupled/GeometryCoupled.h
+1 −0 src/oops/coupled/GetValuesCoupled.h
+13 −13 src/oops/generic/AtlasInterpolator.cc
+8 −7 src/oops/generic/HtlmCalculator.h
+39 −17 src/oops/generic/HtlmEnsemble.h
+11 −10 src/oops/generic/HybridLinearModelCoeffs.h
+2 −2 src/oops/generic/LocalInterpolatorBase.cc
+3 −3 src/oops/generic/UnstructuredInterpolator.cc
+5 −4 src/oops/interface/GeoVaLs.h
+23 −15 src/oops/runs/ControlPert.h
+18 −15 src/oops/runs/GenEnsPertB.h
+6 −1 src/oops/runs/LocalEnsembleDA.h
+7 −1 src/oops/runs/Variational.h
+283 −23 src/oops/util/AtlasArrayUtil.cc
+77 −3 src/oops/util/AtlasArrayUtil.h
+10 −11 src/oops/util/FieldSetHelpers.cc
+115 −14 src/oops/util/FunctionSpaceHelpers.cc
+35 −0 src/oops/util/FunctionSpaceHelpers.h
+0 −15 src/oops/util/linkedList_c.f
+0 −1 src/oops/util/linkedList_i.f
+11 −3 src/test/base/FieldSets.h
+130 −61 src/test/base/Variables.h
+19 −15 src/test/coupled/SplitVariables.cc
+1 −1 src/test/interface/Increment.h
+30 −0 src/test/interface/VariableChange.h
+39 −47 src/test/testinput/unstructured_global_interpolator.yaml
+0 −9 src/test/testinput/unstructured_interpolator.yaml
+168 −30 src/test/util/ArrayUtil.h
+10 −16 src/test/util/FieldSetHelpersAndOperations.h
+36 −15 src/test/util/FunctionSpaceHelpers.h
+1 −1 src/test/util/Parameters.h
2 changes: 1 addition & 1 deletion sorc/saber
Submodule saber updated 236 files
2 changes: 1 addition & 1 deletion sorc/ufo
Submodule ufo updated 216 files
2 changes: 1 addition & 1 deletion sorc/vader
Submodule vader updated 85 files
+3 −0 src/CMakeLists.txt
+36 −24 src/vader/DefaultCookbook.h
+3 −2 src/vader/RecipeBase.h
+2 −2 src/vader/recipe.cc
+7 −3 src/vader/recipe.h
+6 −6 src/vader/recipes/AirDensityLevelsMinusOne.h
+6 −6 src/vader/recipes/AirDensityLevelsMinusOne_A.cc
+6 −6 src/vader/recipes/AirDensityLevelsMinusOne_B.cc
+6 −6 src/vader/recipes/AirPotentialTemperature.h
+5 −5 src/vader/recipes/AirPotentialTemperature_A.cc
+5 −5 src/vader/recipes/AirPotentialTemperature_B.cc
+3 −3 src/vader/recipes/AirPressure.h
+42 −6 src/vader/recipes/AirPressureAtInterface.h
+5 −4 src/vader/recipes/AirPressureAtInterface_A.cc
+5 −4 src/vader/recipes/AirPressureAtInterface_B.cc
+148 −0 src/vader/recipes/AirPressureAtInterface_C.cc
+6 −3 src/vader/recipes/AirPressureExtendedUpByOne.h
+4 −3 src/vader/recipes/AirPressureExtendedUpByOne_A.cc
+3 −3 src/vader/recipes/AirPressureThickness.h
+5 −4 src/vader/recipes/AirPressureThickness_A.cc
+3 −3 src/vader/recipes/AirPressureToKappa.h
+5 −5 src/vader/recipes/AirPressureToKappa_A.cc
+4 −4 src/vader/recipes/AirPressure_A.cc
+6 −6 src/vader/recipes/AirTemperature.h
+4 −4 src/vader/recipes/AirTemperature_A.cc
+5 −5 src/vader/recipes/AirTemperature_B.cc
+3 −3 src/vader/recipes/AirVirtualTemperature.h
+5 −5 src/vader/recipes/AirVirtualTemperature_A.cc
+3 −3 src/vader/recipes/CloudIceMixingRatio.h
+5 −5 src/vader/recipes/CloudIceMixingRatio_A.cc
+3 −3 src/vader/recipes/CloudLiquidMixingRatio.h
+5 −5 src/vader/recipes/CloudLiquidMixingRatio_A.cc
+3 −3 src/vader/recipes/DryAirDensity.h
+3 −3 src/vader/recipes/DryAirDensityLevelsMinusOne.h
+6 −6 src/vader/recipes/DryAirDensityLevelsMinusOne_A.cc
+5 −5 src/vader/recipes/DryAirDensity_A.cc
+3 −3 src/vader/recipes/HydrostaticExnerLevels.h
+6 −6 src/vader/recipes/HydrostaticExnerLevels_A.cc
+2 −2 src/vader/recipes/HydrostaticPressureLevels.h
+4 −4 src/vader/recipes/HydrostaticPressureLevels_A.cc
+3 −3 src/vader/recipes/LnAirPressureAtInterface.h
+5 −4 src/vader/recipes/LnAirPressureAtInterface_A.cc
+2 −2 src/vader/recipes/LogDerivativeSaturationVaporPressure.h
+4 −4 src/vader/recipes/LogDerivativeSaturationVaporPressure_A.cc
+6 −6 src/vader/recipes/ParticulateMatter2p5.h
+5 −5 src/vader/recipes/ParticulateMatter2p5_A.cc
+5 −5 src/vader/recipes/ParticulateMatter2p5_B.cc
+3 −3 src/vader/recipes/RainMixingRatio.h
+5 −5 src/vader/recipes/RainMixingRatio_A.cc
+3 −3 src/vader/recipes/RelativeHumidity.h
+5 −5 src/vader/recipes/RelativeHumidity_A.cc
+2 −2 src/vader/recipes/SaturationSpecificHumidity.h
+5 −5 src/vader/recipes/SaturationSpecificHumidity_A.cc
+2 −2 src/vader/recipes/SaturationVaporPressure.h
+4 −4 src/vader/recipes/SaturationVaporPressure_A.cc
+3 −3 src/vader/recipes/SeaWaterPotentialTemperature.h
+5 −5 src/vader/recipes/SeaWaterPotentialTemperature_A.cc
+3 −3 src/vader/recipes/SeaWaterTemperature.h
+6 −6 src/vader/recipes/SeaWaterTemperature_A.cc
+3 −3 src/vader/recipes/SurfaceAirPressure.h
+5 −4 src/vader/recipes/SurfaceAirPressure_A.cc
+25 −15 src/vader/recipes/TestRecipes.h
+3 −3 src/vader/recipes/TotalMixingRatio.h
+8 −8 src/vader/recipes/TotalMixingRatio_A.cc
+2 −2 src/vader/recipes/TotalRelativeHumidity.h
+5 −5 src/vader/recipes/TotalRelativeHumidity_A.cc
+3 −3 src/vader/recipes/TotalWater.h
+7 −7 src/vader/recipes/TotalWater_A.cc
+6 −6 src/vader/recipes/VirtualPotentialTemperature.h
+5 −5 src/vader/recipes/VirtualPotentialTemperature_A.cc
+5 −5 src/vader/recipes/VirtualPotentialTemperature_B.cc
+3 −3 src/vader/recipes/WaterVaporMixingRatioWrtMoistAirAndCondensedWater.h
+3 −3 src/vader/recipes/WaterVaporMixingRatioWrtMoistAirAndCondensedWater2m.h
+5 −5 src/vader/recipes/WaterVaporMixingRatioWrtMoistAirAndCondensedWater2m_A.cc
+5 −5 src/vader/recipes/WaterVaporMixingRatioWrtMoistAirAndCondensedWater_A.cc
+61 −0 src/vader/recipes/WindReductionFactorAt10m.h
+128 −0 src/vader/recipes/WindReductionFactorAt10m_A.cc
+3 −3 src/vader/recipes/uwind_at_10m.h
+4 −4 src/vader/recipes/uwind_at_10m_A.cc
+3 −3 src/vader/recipes/vwind_at_10m.h
+4 −4 src/vader/recipes/vwind_at_10m_A.cc
+61 −44 src/vader/vader.cc
+8 −7 src/vader/vader.h
+22 −22 test/vader/Recipe.h
+12 −11 test/vader/Vader.h
24 changes: 10 additions & 14 deletions test/atm/global-workflow/3dvar.ref
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
CostJb : Nonlinear Jb = 0.0000000000000000e+00
CostJo : Nonlinear Jo(AMSUA N19) = 3.9490015258330794e+04, nobs = 73667, Jo/n = 5.3606112992697941e-01, err = 6.2697697603629345e+00
CostJo : Nonlinear Jo(sondes) = 1.0738490911289638e+04, nobs = 4255, Jo/n = 2.5237346442513839e+00, err = 1.0981085630539836e+01
CostFunction: Nonlinear J = 5.0228506169620436e+04
DRPCGMinimizer: reduction in residual norm = 9.6305250910882700e-01
CostJo : Nonlinear Jo(AMSUA N19) = 3.9490015258335385e+04, nobs = 73667, Jo/n = 5.3606112992704180e-01, err = 6.2697697603632934e+00
CostJo : Nonlinear Jo(sondes) = 1.0738490911289642e+04, nobs = 4255, Jo/n = 2.5237346442513848e+00, err = 1.0981085630539836e+01
CostFunction: Nonlinear J = 5.0228506169625027e+04
DRPCGMinimizer: reduction in residual norm = 9.6305250910880502e-01
CostFunction::addIncrement: Analysis:
----------------------------------------------------------------------------------------------------
State print | number of fields = 22 | cube sphere face size: C48
Expand All @@ -11,7 +11,7 @@ northward_wind | Min:-7.3712421229093422e+01 Max:+
air_temperature | Min:+1.7482158077318448e+02 Max:+3.1467235233685437e+02 RMS:+2.4978424883092669e+02
air_pressure_thickness | Min:+6.0599999874109178e-01 Max:+1.7760098554198755e+03 RMS:+9.5680601590204810e+02
surface_pressure | Min:+5.3297486514404744e+04 Max:+1.0397927292902800e+05 RMS:+9.8896232762674656e+04
specific_humidity | Min:+0.0000000000000000e+00 Max:+2.0041369334954085e-02 RMS:+4.7792636816418408e-03
specific_humidity | Min:+0.0000000000000000e+00 Max:+2.0041369334954085e-02 RMS:+4.7792636816418417e-03
cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.2024392024662985e-03 RMS:+1.4396968866569995e-05
cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5935686618789048e-03 RMS:+4.1931345590543333e-05
ozone_mass_mixing_ratio | Min:+1.1998327271379204e-08 Max:+1.7808431790670831e-05 RMS:+4.4947917149861064e-06
Expand Down Expand Up @@ -44,10 +44,10 @@ sensorScanAngle_order_2: Min= -5.1097259521664853, Max= 2.8632600308292808, N


CostJb : Nonlinear Jb = 0.0000003247124839
CostJo : Nonlinear Jo(AMSUA N19) = 39487.6033905208023498, nobs = 73667, Jo/n = 0.5360283897881114, err = 6.2697697603629345
CostJo : Nonlinear Jo(sondes) = 10687.3021478507725988, nobs = 4255, Jo/n = 2.5117043825736247, err = 10.9810856305398357
CostFunction: Nonlinear J = 50174.9055386962863849
DRPCGMinimizer: reduction in residual norm = 1.0067413227955442
CostJo : Nonlinear Jo(AMSUA N19) = 39487.6033905211515957, nobs = 73667, Jo/n = 0.5360283897881162, err = 6.2697697603632934
CostJo : Nonlinear Jo(sondes) = 10687.3021478507798747, nobs = 4255, Jo/n = 2.5117043825736265, err = 10.9810856305398357
CostFunction: Nonlinear J = 50174.9055386966429069
DRPCGMinimizer: reduction in residual norm = 1.0067413227975508
CostFunction::addIncrement: Analysis:
----------------------------------------------------------------------------------------------------
State print | number of fields = 22 | cube sphere face size: C48
Expand All @@ -56,7 +56,7 @@ northward_wind | Min:-7.3712421229093422e+01 Max:+
air_temperature | Min:+1.7482158077318232e+02 Max:+3.1467235233685437e+02 RMS:+2.4978424883219918e+02
air_pressure_thickness | Min:+6.0599999874109178e-01 Max:+1.7760098554198755e+03 RMS:+9.5680601590204810e+02
surface_pressure | Min:+5.3297486514404744e+04 Max:+1.0397927292902800e+05 RMS:+9.8896232762674656e+04
specific_humidity | Min:+0.0000000000000000e+00 Max:+2.0041369334954085e-02 RMS:+4.7792637405692116e-03
specific_humidity | Min:+0.0000000000000000e+00 Max:+2.0041369334954085e-02 RMS:+4.7792637405692090e-03
cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.2024392024662985e-03 RMS:+1.4396968866569995e-05
cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5935686618789048e-03 RMS:+4.1931345590543333e-05
ozone_mass_mixing_ratio | Min:+1.1998327271379204e-08 Max:+1.7808431790670831e-05 RMS:+4.4947917149861064e-06
Expand Down Expand Up @@ -88,7 +88,3 @@ sensorScanAngle_order_2: Min= -5.1097259522434877, Max= 2.8632600312042698, N
---------------------------------------------------------------


CostJb : Nonlinear Jb = 0.0000033199535370
CostJo : Nonlinear Jo(AMSUA N19) = 39476.8510820809169672, nobs = 73667, Jo/n = 0.5358824315104581, err = 6.2697697603629345
CostJo : Nonlinear Jo(sondes) = 10639.1482810630404856, nobs = 4255, Jo/n = 2.5003873751029473, err = 10.9810856305398357
CostFunction: Nonlinear J = 50115.9993664639114286

0 comments on commit ca18845

Please sign in to comment.