Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quantile methods #588

Merged
merged 272 commits into from
Jan 11, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
272 commits
Select commit Hold shift + click to select a range
0d20642
Added logic as a function of oned quantities to define all the return…
jlaucar Nov 2, 2022
1b03c65
The bounded normal probit transforms now do nothing if all the prior …
jlaucar Nov 5, 2022
18ba0bd
Making perturbations consistent with stanard bounds for concentration…
jlaucar Nov 7, 2022
3bad435
Removed conflict on namelist.
jlaucar Nov 7, 2022
de4bbaf
Merge branch 'main' into quantile_methods
jlaucar Nov 7, 2022
93107d8
Added Molly's version of cice model_mod.
jlaucar Nov 7, 2022
792515c
local algorithm_info_mod.f90 for cice-scm2
hkershaw-brown Nov 7, 2022
cc4943f
change error message to match subroutine
hkershaw-brown Nov 7, 2022
f0bf36d
default of no bounds for kind - no sure if this is scienfically ok
hkershaw-brown Nov 7, 2022
544f124
Merge pull request #1 from hkershaw-brown/quantile_methods
jlaucar Nov 8, 2022
31b03fb
Corrected error in assim_tools_mod that use incorrect array for trans…
jlaucar Nov 9, 2022
2405017
Better default model parameters that lead to strong tracer gradients.…
jlaucar Nov 14, 2022
05298f6
Corrected subtle bug in bounded normal to probit. This could lead to …
jlaucar Nov 17, 2022
fc36012
Added a gamma distribution module and put to and from probit calls.
jlaucar Nov 21, 2022
0f00d8c
Added the required gamma definitions to the base algorithm_info_mod.
jlaucar Nov 21, 2022
4abfbff
Added Chris Riedel's beta distribution code in new module, revised the
jlaucar Nov 25, 2022
f4b97de
Added in a number of new distrubutions in quantile_distribution. Adde…
jlaucar Nov 28, 2022
f934f09
Adding bounds for beta and gamma. Beta is tested, gamma not fully imp…
jlaucar Dec 2, 2022
9cbab85
First phase of RH method for dealing with identical state variables.
jlaucar Dec 7, 2022
ae36496
Modified the case with an input RH ensemble to avoid possible divides…
jlaucar Dec 7, 2022
a37da0f
Fixed a small error in logic for the to_probit_bnrh. Modified tracer …
jlaucar Dec 7, 2022
cf40281
Fixed several errors in to_probit_bounded_normal_rh. These affected b…
jlaucar Dec 12, 2022
2eca71f
Added ability to deal with identity obs in algorithm_info_mod. Added
jlaucar Dec 22, 2022
546c1f2
Put some error checking back into the inverse of the probit bounded n…
jlaucar Dec 28, 2022
08225ef
Added capability to do a gamma gamma observation space increment. Not…
jlaucar Dec 29, 2022
3ccfbfe
Added namelist control for tracer parts of model. Added a namelist pa…
jlaucar Dec 30, 2022
7fb3b12
Removed state power information from algorithm_info to avoid clutter for
jlaucar Jan 1, 2023
f1c7ecc
Added the variants of the algorithm_info_mod for use in examples
jlaucar Jan 1, 2023
55a11d4
Merge branch 'main' into quantile_methods
hkershaw-brown Jan 3, 2023
1107ec2
doc: rst formatting and added to table of contents
hkershaw-brown Jan 3, 2023
319cc5e
bug-fix: intialize whole vector to zero
hkershaw-brown Jan 4, 2023
d89a9e5
bug-fix: initialize do_uniform_tail to false
hkershaw-brown Jan 4, 2023
ca1193a
chore: remove README describing paper results
hkershaw-brown Jan 5, 2023
c0fdba8
tag and README.rst for pre-release
hkershaw-brown Jan 5, 2023
df5d1b6
Bug fix: For case of bounded above variable, the observational error …
jlaucar Jan 23, 2023
02f73ba
Bug fix: Code now initializes all model state variables to 0 for star…
jlaucar Jan 23, 2023
e76b07c
Feature enhancement:
jlaucar Jan 23, 2023
37fd6cc
Feature: Added namelist control for model_mod feature that allows usi…
jlaucar Jan 23, 2023
4981dad
Bug fix: Fixed erroneous logic in RHF observation space that led to use
jlaucar Jan 23, 2023
359ce20
Feature enhancements: Added additional numerical robustness to the no…
jlaucar Jan 23, 2023
bb0f36a
Merge remote-tracking branch 'origin/quantile_methods' into quantile_…
jlaucar Jan 23, 2023
389dd19
Restored README file with information about QCEF paper part 2 L96 res…
jlaucar Jan 23, 2023
595111a
A number of independent changes
jlaucar Jan 29, 2023
76d5eae
Modified computations for normal distributions with a bound on the
jlaucar Jan 29, 2023
819a8d3
Added check on differences of to/from bounded_normal_rh probit in
jlaucar Jan 30, 2023
b8b0e93
Changed the threshold computation in the rhf filter in assim_tools to…
jlaucar Feb 3, 2023
ff20d9c
Began moving all the rank histogram stuff to module rh_distribution_m…
jlaucar Feb 6, 2023
748dcd0
Removed the pre-exisiting distribution code from to_probit_bounded_no…
jlaucar Feb 6, 2023
99f208d
Moved the guts of from_probit_bounded_rh to routine inv_rh_cdf in
jlaucar Feb 7, 2023
2a6e8de
Merge branch 'main' into quantile_methods
hkershaw-brown Feb 9, 2023
f8bf2f7
Completed moving all new rank histogram code to the rh_distribution_mod.
jlaucar Feb 10, 2023
36d1840
Merge remote-tracking branch 'jla/quantile_methods' into quantile_met…
hkershaw-brown Feb 17, 2023
6b49617
bug-fix: order of declarations for subroutine
hkershaw-brown Feb 17, 2023
797d170
Merge branch 'main' into quantile_methods
hkershaw-brown Feb 22, 2023
8540de2
Changed the normal_distributions_mod to use more accurate empirical d…
jlaucar Feb 24, 2023
32ce526
Merge remote-tracking branch 'jla/quantile_methods' into quantile_met…
hkershaw-brown Feb 24, 2023
d703de6
Modified the algorithms for the inverse CDF in normal_distribution_mo…
jlaucar Mar 3, 2023
0c4172d
Latest batch of changes from Jeff
hkershaw-brown Mar 3, 2023
9622690
Adding filter_mod.f90 that is cam-fv specific in the cam-fv/work dire…
jlaucar Mar 3, 2023
00f8875
Fixed an Intel problem with specifying smalle lower bound in normal_d…
jlaucar Mar 4, 2023
dcc482e
Merge remote-tracking branch 'jla/quantile_methods' into quantile_met…
hkershaw-brown Mar 6, 2023
1aa7fd5
remove temporary cam-fv testing version of filter_mod
hkershaw-brown Mar 6, 2023
1fd5e01
filter_mod.f90
jlaucar Mar 28, 2023
2179e1c
This commit bitwise duplicates tests with the lorenz96_tracer_advecti…
jlaucar Mar 30, 2023
22142ca
This is an intermediate state. Changing to more consistent, efficient…
jlaucar Apr 4, 2023
cbe0ca0
This commit has been tested for ens_size 20, 40, 80, 160, 320 and 640…
jlaucar Apr 5, 2023
f24be01
Fixed a long-standing (possibly always there) bug with the gaussian_l…
jlaucar Apr 20, 2023
c305a59
Removed three observation space update options that are no longer of
jlaucar Apr 24, 2023
a6050ab
INitial steps towards splitting the inverse cdf routines in bnrh module.
jlaucar Apr 26, 2023
7e259b6
Modified the inv_bnrh_cdf code to restore bitwise reproducing of base…
jlaucar May 8, 2023
d3e1705
Deleted unused old namelist for quantile_distributions.
jlaucar May 17, 2023
17a05e9
Merge branch 'main' into quantile_methods
jlaucar May 17, 2023
6990b86
Custom algorithm_info_mod for cam-fv
May 18, 2023
a40e964
Merge branch 'quantile_methods' of https://github.com/NCAR/DART into …
May 18, 2023
2ed64a1
Adding the custom input.nml that uses Kevin's rean options and qcf op…
May 18, 2023
b08eff5
updated cam-fv algorithm info mod
hkershaw-brown May 19, 2023
48a77b7
Corrects improper use of intent(out) for the distribution params type in
jlaucar May 19, 2023
b9d1797
Merge branch 'quantile_methods' of https://github.com/NCAR/DART into …
jlaucar May 19, 2023
0932d47
removed cice-scm2
hkershaw-brown May 22, 2023
1783853
Changed intent to inout for the distribution type in gamma, beta and …
jlaucar May 23, 2023
8c73e9d
Implemented the normal_distribution in probit_transform_mod.f90. It just
jlaucar Jun 5, 2023
9e46b6a
Merge branch 'quantile_methods' of https://github.com/NCAR/DART into …
jlaucar Jun 5, 2023
78b99d0
Merge branch 'main' into quantile_methods
hkershaw-brown Aug 17, 2023
fc48d9d
Merge branch 'main' of https://github.com/NCAR/DART into quantile_met…
Sep 20, 2023
0b24793
draft program to experiment with reading table values into correspond…
mjs2369 Aug 14, 2023
6746fa9
prototype table data file that uses CAM-FV QTYs
mjs2369 Aug 14, 2023
eb62190
adding new subroutine init_qcf_table to return number of rows in table
mjs2369 Aug 14, 2023
6d9b013
Adding a new namelist variable to the assim_tools_nml
mjs2369 Aug 14, 2023
5cca696
Adding QCF table type definitions to algorithm_info_mod
mjs2369 Aug 14, 2023
ce94286
adding type defs to use statement for algorithm_info_mod in assim_too…
mjs2369 Aug 14, 2023
51591c4
Adding allocatable variables for table data, allocating after determi…
mjs2369 Aug 14, 2023
9821eef
New subroutine to read through the values in the QCF table and assign…
mjs2369 Aug 14, 2023
6c52bcf
Removing qcf table data types from assim_tools_mod and reorganizing s…
mjs2369 Aug 14, 2023
a81234b
Fixing small inconsistencies/typos
mjs2369 Aug 14, 2023
ecacbe2
moving the location of draft program outside /assimilation_code/modul…
mjs2369 Aug 14, 2023
4b5312f
Adding draft subroutine write_qcf_table to test that values are being…
mjs2369 Aug 15, 2023
e90f049
replaicing conditionals and hardcoded values in probit_dist_info
mjs2369 Aug 15, 2023
705d9b4
using get_name_for_quantity to get generic quantity from integer index
mjs2369 Aug 16, 2023
9e1190f
Replacing conditionals and hard coded values with qcf_table_data in o…
mjs2369 Aug 16, 2023
6a78ae7
Replacing conditionals and hard coded values with qcf_table_data in o…
mjs2369 Aug 16, 2023
0bb0db8
add subroutine to deallocate qcf table data structures
mjs2369 Aug 16, 2023
0bc2492
making dealloc subroutine available to assim_tools_mod
mjs2369 Aug 17, 2023
384bd30
removing comment blocks of old code
mjs2369 Aug 17, 2023
b5d27b2
Adding call to deallocate routine, removing unused var and old commen…
mjs2369 Aug 21, 2023
fbfe5f3
Fixing typo in subroutine names
mjs2369 Aug 21, 2023
5a093b1
Moving the allocation and deallocation of qcf table data from assim_t…
mjs2369 Aug 22, 2023
54f7ea0
uncommenting call to end_alg_info_mod
mjs2369 Aug 22, 2023
399d08d
moving call to init_algortihm_info_mod out of conditional
mjs2369 Aug 23, 2023
2a1e7c5
Reorganizing the subroutines so that init_algorithm_info_mod is at th…
mjs2369 Aug 23, 2023
c93286a
Adding qcf_table_listed logical and module_initialized checks
mjs2369 Aug 23, 2023
39c9da1
Moving location of qcf_table_listed check to before data access from …
mjs2369 Aug 23, 2023
00e82ca
Using error_handler from utilities_mod; adding check for correct tabl…
mjs2369 Aug 28, 2023
08b853c
adding qcf_table_file_listed logical to two remaining subrountines; w…
mjs2369 Sep 5, 2023
ff04086
commenting out prints; remove these lines later
mjs2369 Sep 5, 2023
7e921e0
Moving initialize_modules call to be after read of filter_nml
mjs2369 Sep 11, 2023
73ded1d
Adding check that all QTYs in the table exist in DART using get_index…
mjs2369 Sep 11, 2023
61adbdc
Replacing open and close of qcf_table file with open_file and close_f…
mjs2369 Sep 11, 2023
58c61e4
Making quotations consistent - using single quote only
mjs2369 Sep 11, 2023
ef28acf
Adding checks for duplicate QTYs in the table
mjs2369 Sep 12, 2023
5721aa7
Switching to real(r8); experimenting in the log_qcf_table subroutine
mjs2369 Sep 13, 2023
9f4a6bd
reading in character strings from QCF table for filter_kind instead o…
mjs2369 Sep 13, 2023
a1aa775
Reading in dist_type from the table as a character string instead of int
mjs2369 Sep 14, 2023
a24743c
Fixing log format; cleaning code
mjs2369 Sep 19, 2023
fee0969
Removing unnecessary files
mjs2369 Sep 25, 2023
b97ff55
Adding the yaml_to_table.py script and example yaml file qcf_table_te…
mjs2369 Sep 25, 2023
cba8c14
Fixing deallocation by adding conditional to check if data types were…
mjs2369 Sep 25, 2023
eb6e97e
Adjusting the YAML template file; removing trailing spaces from possi…
mjs2369 Sep 25, 2023
22931cf
Adding documentaion file to repo
mjs2369 Sep 25, 2023
71d1190
Removing unused routines from utilities_mod use list
mjs2369 Sep 26, 2023
feb74c6
Adding &probit_transform_nml to input.nml files for lorenz 63 and 96 …
mjs2369 Sep 26, 2023
82aa5de
Removing the use_algorithm_info_mod logical from assim_tools_mod and …
mjs2369 Sep 26, 2023
80cd943
Fixing unintentional additions to lorenx 96 and 63 input.nml files; r…
mjs2369 Sep 26, 2023
bf92ac4
Adding spaces back in from unintentional removal
mjs2369 Sep 26, 2023
f3d1826
Adding &probit_transform_nml and qcf_table_filename option to model's…
mjs2369 Sep 26, 2023
78ccc5e
Fixing missing commas in nml files
mjs2369 Sep 27, 2023
64a9f74
add test cases for reading qcf table
hkershaw-brown Sep 28, 2023
f9e490c
test script to check return codes for various qcf_table cases
hkershaw-brown Sep 28, 2023
d4de789
remove stray /dev/null left in accidentally
hkershaw-brown Sep 28, 2023
7733026
add tests for various bounds options
hkershaw-brown Sep 28, 2023
7271768
test for bounds set to false, but bounds values in the table
hkershaw-brown Sep 28, 2023
23a60cf
fix: need to check that a qty is bounded above and below before check…
hkershaw-brown Sep 29, 2023
0960c67
fix: remove extra call to test_table read from runall.sh
hkershaw-brown Sep 29, 2023
aa03af1
replace kind with qty
hkershaw-brown Oct 2, 2023
fb53f56
add two tests for table read: incorrect filter kind, incorrect distri…
hkershaw-brown Oct 2, 2023
bcc657f
Fixing incorrect comments
mjs2369 Oct 3, 2023
040b82d
Using HEADER_LINES parameter to replace hardcoded number
mjs2369 Oct 3, 2023
d59e3c1
Changing the name of the logical qcf_table_listed to use_qty_defaults
mjs2369 Oct 3, 2023
d8addde
Changing the name of qcf_table_data_type to algorithm_info_type
mjs2369 Oct 3, 2023
6a5fbb6
Removing old alternatives for algorithm_info_mod.f90
mjs2369 Oct 3, 2023
320caed
Moving the conversions for dist_type and filter_kind from string to i…
mjs2369 Oct 3, 2023
b46a922
removing python script for yaml files - will be moved to a separate p…
mjs2369 Oct 3, 2023
f2d20b7
Changing the name of qcf_table_row_headers to specified_qtys
mjs2369 Oct 4, 2023
5f41368
Adding &probit_transform_nml to remaining model input.nml files
mjs2369 Oct 4, 2023
46dbd96
chore: pin requirements for readthedocs
hkershaw-brown Oct 5, 2023
42bec45
Removing rectangular_quadtrature and gaussian_likelihood_tails from t…
mjs2369 Oct 9, 2023
55e4c6e
Removed sort_obs_inc from the QCF table; removed code related to the …
mjs2369 Oct 10, 2023
b0a941c
Adding the code for sort_obs_inc into obs_increment_enkf
mjs2369 Oct 17, 2023
fb045f7
Logging the dist_type and filter_kind in their string formats instead…
mjs2369 Oct 17, 2023
85ecf53
Updating the documentationc- adding info on the QCF and probit transf…
mjs2369 Oct 17, 2023
5573b6d
Fixing the link to the QCF doc page
mjs2369 Oct 17, 2023
bd1aa85
Fixing some typos in the documentation
mjs2369 Oct 18, 2023
17fb9ed
Revoving global filter_kind from assim_tools_mod and &assim_tools_nml…
mjs2369 Oct 18, 2023
4d15ff8
Removing filter_kind from all input.nml files in the &assim_tools_mod…
mjs2369 Oct 18, 2023
f19bb1c
Fixing comment accidentally removed from MITgmc_ocean namelist
mjs2369 Oct 18, 2023
385777e
Adding documentation for the lorenz_96_tracer_advection examples with…
mjs2369 Oct 19, 2023
4b3dfb7
Doc fixes for lorenz_96_tracer_advection examples
mjs2369 Oct 19, 2023
5c03e3c
More doc fixes
mjs2369 Oct 19, 2023
f38ddc7
removing spread_restoration from the QCF table and related code from …
mjs2369 Oct 23, 2023
24c663c
Moving the code for sort_obs_inc to the end of obs_increment_enkf sub…
mjs2369 Oct 23, 2023
f45123c
Add call to finalize_utilities to developer_tests/qceff/test_table_re…
mjs2369 Oct 23, 2023
b96593b
Restoring lorenz_96_tracer_advection/readme.rst
mjs2369 Oct 23, 2023
9b3b6fb
Moving the QCF examples doc to /guide
mjs2369 Oct 23, 2023
a0ed835
Removing old comment from obs_inc_info
mjs2369 Oct 23, 2023
c529ecf
Removing another old comment from obs_inc_info
mjs2369 Oct 23, 2023
4481d2d
Removing old comment from assim_tools_mod
mjs2369 Oct 23, 2023
8eaeb5b
Small fixes to the main DART doc page (index.rst)
mjs2369 Oct 23, 2023
8fd9632
Adding earlier link to the QCF docs
mjs2369 Oct 23, 2023
8cb0ad8
Adding the pre-made .csv files for the lorenx 96 tracer examples to /…
mjs2369 Oct 23, 2023
8dd039a
Making the table version number be a parameter, not a magic number
mjs2369 Oct 24, 2023
bdfdbb9
Removing unnecessary setting of the bounds before the call to obs_inc…
mjs2369 Oct 24, 2023
360ab2c
Fixing extended link in the docs
mjs2369 Oct 24, 2023
dfb467f
Fixing the formatiing of code blocks in the docs
mjs2369 Oct 24, 2023
a597dd8
MISSING_R8 is now all in capitals
mjs2369 Oct 24, 2023
d9cbc8d
Fixing misleading comment placement
mjs2369 Oct 24, 2023
defd770
Using the public parameters from algorithm_info_mod.f90 for compariso…
mjs2369 Oct 24, 2023
c1f7921
Fixing and removing outdated comments
mjs2369 Oct 24, 2023
dc015b0
Removing one last reference to spread_rest from the QCF table docs
mjs2369 Oct 25, 2023
7c2b118
Merge branch 'main' into quantile_methods
hkershaw-brown Oct 26, 2023
9669bfb
fix: finalize utilities called last & need to be in use statement
hkershaw-brown Oct 26, 2023
4b8992a
Merge branch 'quantile_methods' into qcf_table
hkershaw-brown Oct 26, 2023
8764a11
updated developer tests for qceff to match latest qcf_table
hkershaw-brown Oct 26, 2023
728b0be
remove unused variable NORMAL_DISTRIBUTION
hkershaw-brown Oct 26, 2023
d0f2e30
swap magic number 8 for filter_kind paramter
hkershaw-brown Oct 26, 2023
461aa6b
fix qcf_table_lower_bound_only.txt to match latest
hkershaw-brown Oct 26, 2023
70e296f
store specified qtys as integers because qtys in dart are integer par…
hkershaw-brown Oct 26, 2023
7935f55
Comment tidy: kind, type, qty cleanup and remove out-of-date comment
hkershaw-brown Oct 26, 2023
c6300fb
Updating algorithm_info_mod files for tests B and C (all_eakf_algorit…
mjs2369 Oct 26, 2023
bbc3b40
Merge branch 'quantile_methods' into qcf_table
hkershaw-brown Oct 27, 2023
d6ff8f7
doc: describe the example qcf table files for the lorenz_96_tracer ex…
hkershaw-brown Oct 27, 2023
24c4880
doc: how-to for qcf table
hkershaw-brown Oct 27, 2023
c9b579e
doc-fix: example A QTY_TRACER_CONCENTRATION lower bound = 0
hkershaw-brown Oct 30, 2023
61c202b
probit_transform defaults
hkershaw-brown Oct 30, 2023
71cdaf0
two qtys are bounded
hkershaw-brown Oct 30, 2023
dac1f96
Jeff edits for index.html
hkershaw-brown Oct 30, 2023
5583e39
remove out-of-date cam-fv input.nml for testing quantile_methods
hkershaw-brown Oct 30, 2023
8b77d19
docs: sort_obs_inc only applied for ENKF, and default is true
hkershaw-brown Oct 30, 2023
7ad9f3c
doc: spread_restoration not available in this version
hkershaw-brown Oct 30, 2023
c95611e
doc: grammar
hkershaw-brown Oct 30, 2023
d67be0a
doc: remove filter_kind from assim_tools_mod namelist info
hkershaw-brown Oct 30, 2023
254f59a
rename all things qcf to qceff
hkershaw-brown Oct 30, 2023
072328a
developer test for lower case in qceff table
hkershaw-brown Oct 30, 2023
2704865
developer test for lower case dist_type
hkershaw-brown Oct 30, 2023
43f43a0
fix: upper case for string inputs
hkershaw-brown Oct 31, 2023
8851261
doc-fix: change code block for read_input_state_from_file to match th…
hkershaw-brown Oct 31, 2023
ae9b6d9
fix: qceff_table_filename now a namelist option in algorithm_info_mod
hkershaw-brown Oct 31, 2023
dd0a96b
Fixing typo in the qceff-examples doc
mjs2369 Nov 1, 2023
876963e
Updating the CHANGELOG and version # in conf.py
mjs2369 Nov 2, 2023
0c3012b
Merge pull request #553 from NCAR/qcf_table
mjs2369 Nov 2, 2023
7eb5610
Merge branch 'main' into quantile_methods
hkershaw-brown Nov 7, 2023
25b0ae2
Merge branch 'main' into quantile_methods
hkershaw-brown Nov 28, 2023
1b75b97
Merge branch 'main' into quantile_methods
hkershaw-brown Dec 4, 2023
4100a9a
revert filter_initialize_modules_used call to main
hkershaw-brown Dec 6, 2023
4fd58ef
Merge branch 'main' into quantile_methods
hkershaw-brown Dec 13, 2023
4e27dcf
Removed an amplitude adjustment factor from inv_bnrh_cdf. This was a …
jlaucar Dec 18, 2023
30bcd9b
Removed unused amp_adj declaration.
jlaucar Dec 18, 2023
387249d
Merge pull request #604 from NCAR/eliminate_amp_adjustment
hkershaw-brown Dec 18, 2023
db5e62b
remove unused routine, param from use lines
hkershaw-brown Dec 20, 2023
f0a824c
remove test_routines from public
hkershaw-brown Dec 21, 2023
587fe81
remove README from lorenz_96 work directory
hkershaw-brown Dec 21, 2023
e8bb1ac
updated CHANGELOG and version for release
hkershaw-brown Dec 21, 2023
7d0f8c6
update developer tests qceff table read tests to use algorithm_info_nml
hkershaw-brown Dec 21, 2023
d5c2164
missed filter_kind change from CHANGELOG
hkershaw-brown Dec 21, 2023
d03c987
Fix typos in QCEFF examples and probit description
johnsonbk Jan 4, 2024
dd7acb7
Substantive edits to improve the readability of the QCEFF introduction
johnsonbk Jan 4, 2024
3773782
Merge pull request #612 from NCAR/bkj_quantile_methods_edit
hkershaw-brown Jan 5, 2024
893f53b
fix typos in .rst files
hkershaw-brown Jan 5, 2024
8ed6c2e
add &probit_transform_nml &algorithm_info_nml to model input.nmls
hkershaw-brown Jan 5, 2024
114fe1b
doc: removed PARTICLE_FILTER_DISTRIBUTION from the available distibut…
hkershaw-brown Jan 5, 2024
a62c049
comments: removed outdated comment, since we are once again dividing …
hkershaw-brown Jan 5, 2024
f21a5a7
fix: real(r8) for kind not real(i8) see #615
hkershaw-brown Jan 5, 2024
aba0acc
doc: add default of -8888 for bounds
hkershaw-brown Jan 8, 2024
9e6b206
doc: example tool to examine output.
hkershaw-brown Jan 8, 2024
57652b2
doc: remove other - all state variables are updated
hkershaw-brown Jan 8, 2024
76202f3
doc: fix description of 'Observation error information'
hkershaw-brown Jan 8, 2024
11457de
doc: qceff part III pdf
hkershaw-brown Jan 8, 2024
20322de
Updating the headers in lorenz 96 tracer example csv files to match u…
mjs2369 Jan 8, 2024
94f4354
Merge branch 'main' into quantile_methods
hkershaw-brown Jan 9, 2024
72599f6
fix: prevent a user selecting PARTICLE_FILTER_DISTRIBUTION
hkershaw-brown Jan 9, 2024
d5d4248
bump version, changelog, remove warnings for release
hkershaw-brown Jan 11, 2024
28beb9e
conf.py remove pre-release
hkershaw-brown Jan 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ stacktest
obs_rwtest
test_quad_irreg_interp
test_quad_reg_interp
test_table_read
test_ran_unif

# Directories to NOT IGNORE ... same as executable names
Expand Down
70 changes: 67 additions & 3 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,57 @@ individual files.

The changes are now listed with the most recent at the top.

**January XX 2024 :: QCEFF. Tag v11.0.0**

Nonlinear and Non-Gaussian Data Assimilation Capabilities in DART

- Adds a Quantile-Conserving Ensemble Filtering Framework (QCEFF) to DART.
Publications: `QCEFF part1 <http://n2t.net/ark:/85065/d7mk6hm4>`_,
`QCEFF part 2 <http://n2t.net/ark:/85065/d7nv9pbt>`_.

- User interface changes:

- filter_kind is now a per-qty option through QCEFF table.

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

- probit_transform_nml
- algorithm_info_nml

- assim_tools_mod 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

- 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

**December 13 2023 :: Developer tests and bug fixes. Tag v10.10.0**

- new developer tests to run all builds for all compilers on NSF NCAR machine
Expand Down Expand Up @@ -58,13 +109,26 @@ bug-fixes:
bug-fixes:

- filter_mod.dopperlerfold in sync with filter_mod
- unnecessary loop removed from Mersenne twister developer test
- unnecessary loop removed from Mersenne twister developer test

doc-fixes:

- rename assim_model_mod.rst to match the module
- fix various Sphinx warnings and broken link

- fix various Sphinx warnings and broken link

**November 2 2023 :: QCEFF Input Table. Tag v11.1.0-alpha**

- 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

**October 5 2023 :: WRF-DART tutorial diagnostic section. Tag v10.8.5**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -722,8 +722,6 @@ subroutine update_varying_state_space_inflation(inflate, inflate_mean, inflate_s
logical, intent(in) :: inflate_only

real(r8) :: gamma, ens_var_deflate, r_var, r_mean
real(r8) :: diff_sd, outlier_ratio
logical :: do_adapt_inf_update

if(inflate_mean <= 0.0_r8 .or. inflate_sd <= 0.0_r8) return

Expand Down
Loading