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

QCEFF Table #553

Merged
merged 131 commits into from
Nov 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
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
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
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
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
14 changes: 14 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,20 @@ individual files.

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

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

- Improvements:
Expand Down
Loading