Releases: NCAR/DART
CLM bug-fixes
CLM5-DART SourceMods path variable correction
dart_to_clm:
- Resolved compiler error by changing the arrays for number of snow layers (snlsno and clm_SNLSNO) to integer types
- Forcing h2oliq_po to be slightly larger than zero to be consistent with h2oice_po and dzsno_po
- Adding checks to ensure that the values for h2oliq_po, h2oice_po, dzsno_po, and snowdp_po are never negative
QCEFF
Nonlinear and Non-Gaussian Data Assimilation Capabilities in DART
-
Adds a Quantile-Conserving Ensemble Filtering Framework (QCEFF) to DART.
Publications: QCEFF part1, QCEFF part 2, QCEFF part3 -
The default QCEFF options are EAKF, normal distribution (no bounds).
-
User interface changes:
-
filter_kind is now a per-qty option through QCEFF table, not a namelist option
-
Two new required namelists (add to input.nml files):
- probit_transform_nml
- algorithm_info_nml
-
assim_tools_mod namelist:
- filter_kind removed from namelist
- sort_obs_inc namelist option applied to ENKF only, so default is now .true.
spread_restoration
is not supported in this version
-
algorithm_info_mod QCEFF options read at runtime from .csv or .txt file
-
-
New probability distribution modules:
-
beta_distribution_mod contributed by Chris Riedel
-
bnrh_distribution_mod (bounded normal rank histogram)
-
gamma_distribution_mod
-
normal_distribution_mod
-
probit_transform_mod
-
distribution_params_mod
-
-
Update to lorenz_96_tracer_advection:
- positive_tracer
- more tracer namelist options available and changed defaults
- updated perturbation routine
- bug-fix: real(r8) rather than real(i8)
-
Fix: obs_def_1d_state_mod (oned forward operators):
- For non-integer powers, fix up values for negative bases
-
Documentation:
- main page section on Nonlinear and Non-Gaussian Data Assimilation Capabilities in DART
- QCEFF instructions: Quantile-Conserving Ensemble Filter Framework
- Example to work through: QCEFF: Examples with the Lorenz 96 Tracer Model
Derecho CLM-DART
- CLM-DART scripting updated for Derecho.
- CLM-DART SourceMods packaged with DART.
- Reinstituted both 'complete' and 'single_year' datm streamlist files in shell scripts
due to delays when initializing the CAM reanalysis files through campaign/collections directory.
bug-fixes:
- Fixed format statement in assert_mod to conform to Fortran standards.
- Fixed debugging output for failed forward operators.
doc-fixes:
- Remove broken link for register for dart.
Developer tests and bug fixes
- new developer tests to run all builds for all compilers on NSF NCAR machine
Derecho. - removed redundant nc_check routine from utilities_mod in favor of
netcdf_utilities_mod::nc_check - Improved default thinning options for AIRS L2 converter.
bug-fixes:
- AIRS L2 converter message prints correct number of obs.
- MOM6 model_mod .eqv. used for logical comparison to conform to Fortran standard.
Note to developers: if you have your own code that makes use of DART's nc_check
replace use utilities_mod, only :: nc_check
with use netcdf_utilities_mod, only :: nc_check
NSF documentation update
- Following official Policy on Brand Standards of the U.S. National Science Foundation for DART documentation.
- Changes instances of “NCAR” to “NSF NCAR” and adds NSF logo to the DART logo in the navigation menu.
Github Actions MPI f08 check
Adds a new check to the Github Actions workflow that uses the mpif08 module (compiles with ./quickbuild mpif08 and runs filter on 2 mpi tasks with the lorenz_96 model). #563
MPI f08 quickbuild option
Quantile methods pre-release: QCEFF Table
Pre-release version of the quantile conserving and probit transform tools, including the new functionality of the QCEFF Table
The documentation for this branch is available online
Please contact [email protected] if you would like to develop scientific collaborations using these new capabilities.
Below is a list of the changes to quantile_methods that are included with this release:
- The QCEFF input table allows for the specification of QCEFF/probit input options, per QTY, at runtime.
- This replaces the functionality of using an algorithm_info_mod specific to the model, which meant editing algorithm_info_mod.f90 to specify which distribution should be used for which quantity.
- The algorithm_info_mod files for the lorenz_96_tracer_advection model examples have been replaced with set QCF tables (all_bnrhf_qcf_table.csv, all_eakf_qcf_table.csv, state_eakf_tracer_bnrhf_qcf_table.csv, neg_qcf_table.csv) and can be found in lorenz_96_tracer_advection/work.
- Removed the ‘global’ version of filter_kind from assim_tools_mod.f90 and the &assim_tools_nml
Hybrid EnKF-OI filter
A hybrid ensemble and optimal interpolation filter, combining flow-dependent ensemble covariances with time-invariant climatological backgrounds. The combination is done linearly and adaptively both in space and time.
For detail see El Gharamti, et al. (2024): Leveraging a Novel Hybrid Ensemble and Optimal Interpolation Approach for Enhanced Streamflow and Flood Prediction.
Note: This release is supported for WRF-Hydro only and is based on DART version v9.11.7