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

[WIP] pilot parameter refactor #62

Merged
merged 1 commit into from
May 18, 2022
Merged

[WIP] pilot parameter refactor #62

merged 1 commit into from
May 18, 2022

Commits on May 18, 2022

  1. Add new CLIMAParameters interface

    Enable get_parameter_values to deal with array-valued parameters
    
    - `get_parameter_values` extracts the requested parameter values and returns
      them as an array. The returned array contains the values corresponding
      to the given list of parameter names (unless a single scalar  parameter is
      requested, in which case the function returns a float), regardless of whether
      these parameters are all of the same type.
    - E.g., given a list of parameter names ["scalar_param", "array_param"] with
      `scalar_param` having a scalar value and `array_param` being array-valued,
      the first element of the returned array will be a float, and the second
      element will be an array
    - Added more tests to `toml_consistency.jl` to check if parsing, extracting,
      and writing of array-valued parameters works. Also added a test for
      `merge_override_default_values`
    
    Enforce types and move `array_parameters.toml` to test folder
    
    Add V0 of TOML file parsing for UQ parameters
    
    Add functionality to write parameter ensembles to toml files
    
    Move docstrings above functions
    
    Add improvements and updates
    
    - save_parameter_ensemble now creates a separate subdirectory for
      each ensemble member, while the name of the saved parameter file
      after each ensemble Kalman update is the same for all members.
      Example:
        iteration_01/member_01/test_parameters.toml
        iteration_01/member_02/test_parameters.toml
        etc
    - correct saving of multidimensional parameters using parameter slices
    
    Move dict version of `write_log_file` from file_parsing.jl to file_parsing_uq.jl
    
    Within the CES API, `write_log_file` will take a parameter dictionary as input
    (rather than a parameter struct containing a parameter dictionary, as in the
    running-the-climate-model API). Since the two APIs will go separate ways in the
    future, the CES version of `write_log_file` should be located in
    `file_parsing_uq.jl`.
    
    added typo-checks for overrides, provides warnings or error on parameter logs
    
    slightly more revealing test
    
    documentation and guides
    
    Modify parsing of UQ parameters to work with new `ParameterDistribution` API
    
    Make tests work
    
    Add regularization flags
    
    Revise based on Ollie's comments, and remove print commands from tests
    
    moved toml and old files into directories
    
    parameter box example (as test set)
    
    Improve create_parameter_struct interface
    
    warn_else_error -> warn_or_error, and docs update
    
    Fix some docs, minor adjustments
    
    Apply formatter
    
    WIP
    
    Refactor
    odunbar authored and charleskawczynski committed May 18, 2022
    Configuration menu
    Copy the full SHA
    b3839b5 View commit details
    Browse the repository at this point in the history