NCAR / DART

Data Assimilation Research Testbed
https://dart.ucar.edu/
Apache License 2.0
187 stars 140 forks source link

Quantile methods #588

Closed hkershaw-brown closed 7 months ago

hkershaw-brown commented 8 months ago

Description:

Adds a Quantile-Conserving Ensemble Filtering Framework to DART Publications: QCEFF part1 QCEFF part 2.

The default QCEFF options are EAKF, normal distribution (no bounds).

This is a breaking change and will be v11 of DART Namelist item removed from filter_nml

Two new required namelists (added to input.nml files):

assim_tools_mod

algorithm_info_mod

New probability distribution modules:

Update to lorenz_96_tracer_advection:

1d forward operator updates:

Docs:

Fixes issue

review notes #458 Note this pull request includes the fix for #416

Todo:

Types of changes

Documentation changes needed?

Tests

Please describe any tests you ran to verify your changes. bitwise lorenz_96 with main for default qcf options Jeff has run many algorithm tests. Speed tests main vs. default qcf options Derecho

Timing:

Checklist for merging

Checklist for release

Testing Datasets

hkershaw-brown commented 8 months ago

note to reviewers, documentation for this pull request is here: https://dart-documentation--588.org.readthedocs.build/en/588/

hkershaw-brown commented 8 months ago

@jlaucar can you go ahead and add whoever you want to the list of reviewers. Cheers, Helen

mjs2369 commented 7 months ago

These comments are now incorrect and should be removed since we are once again dividing by sqrt(2 PI)

https://github.com/NCAR/DART/blob/d5c21646ebef17865cfe779fd68894cbe6a51112/assimilation_code/modules/assimilation/assim_tools_mod.f90#L1701C1-L1702C48

https://github.com/NCAR/DART/blob/d5c21646ebef17865cfe779fd68894cbe6a51112/assimilation_code/modules/assimilation/assim_tools_mod.f90#L1714C1-L1715C48

hkershaw-brown commented 7 months ago

I fixed the typos mentioned in the comments of this review in PR six twelve. Approving the six twelve merge will reconcile the typos and will add substantive edits to index.rst.

I added the substantive edits to index.rst because the quantile methods merge adds a lot of new information to the documentation that DART users may be unfamiliar with. It may be easier to read by following a standard practice in technical writing: using topic and stress positions in sentences. The topic position in a sentence contains information that a user already knows, or is presumed to know, while the stress position introduces new information.

doc changes merge in from #612 pull request.

hkershaw-brown commented 7 months ago

The &probit_transform_nml and &algorithm_info_nml are missing from models/MITgcm_ocean/work/input.nml

Add these in 8ed6c2e

Add for any model/input.nml that was missing these.

#!/bin/bash
files=$(find . -name input.nml)

for f in $files
do
   if ! grep -q probit_transform_nml  $f; then
     echo probit not found $f
   fi

done

for f in $files
do
  if ! grep -q algorithm_info_nml  $f; then
     echo algorithm not found $f
   fi  
done