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

Summa initial NGen contribution #513

Open
wants to merge 45 commits into
base: master
Choose a base branch
from

Conversation

ashleymedin
Copy link

[Short description explaining the high-level reason for the pull request]
@jameshalgren

Additions

  • Summa model with Sundials capabilities in compiler directives, running test basin without yet using NGen forcing

Removals

Changes

  • Compiler directive to not use Python in BMI multi realization test if wasn't compiled with Python (needed for mac compilation, for some reason worked on linux without this)

Testing

  1. git submodule update --init -- extern/summa/summa
    
  2. There is an example of a bash script to build the ngen libraries at ngen/extern/summa/summa/build/cmake_ngen/build_ngen.[system_type].bash. Sundials is turned off here. These need to be run in the main ngen directory.
  3. To run a test basin, in the main ngen directory, run
    cmake_build/ngen data/catchment_data.geojson "celia" ./data/nexus_data.geojson "nex-26" ./extern/summa/summa/test_ngen/example_realization_config_w_summa_bmi.json
    or
    cmake_build/ngen data/catchment_data.geojson "cat-27" ./data/nexus_data.geojson "nex-26" ./extern/summa/summa/test_ngen/example_realization_config_w_summa_bmi__mac.json
    This command can be run as ./extern/summa/summa/test_ngen/example_run_celia.[system_type].sh also.

Screenshots

Notes

Todos

Checklist

  • PR has an informative and human-readable title
  • Changes are limited to a single goal (no scope creep)
  • Code can be automatically merged (no conflicts)
  • Code follows project standards (link if applicable)
  • Passes all existing automated tests
  • Any change in functionality is tested
  • New functions are documented (with a description, list of inputs, and expected output)
  • Placeholder code is flagged / future todos are captured in comments
  • Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
  • Reviewers requested with the Reviewers tool ➡️

Testing checklist (automated report can be put here)

Target Environment support

  • Linux

@ashleymedin ashleymedin reopened this Apr 26, 2023
ashleymedin added 24 commits May 1, 2023 13:23
…ing submodule branch that works for all builds too. Eventually this will be the master branch
* commit '90f6fc9bfa742f63b3d9194843527169b6a0664c': (307 commits)
  Replace unused boost/bind.hpp that was generating warnings with std's <functional>
  NullForcingProvider: Drop now-unnecessary private empty vector
  Add missing 'override' annotation
  Refactor get_available_variable_names to return a span<string> rather than a concrete vector<string>
  Cleanup from review feedback
  Removed requirement for `"path"` in forcing config
  Adjusted example file to use no new models or capabilities
  Delete a redundant code line
  Revise Bmi_Multi_Formulation and remove some include headers from NullForcingProvider
  Remove unused include header names
  Remove presetting available forcings
  Remove is_param_sum_over_time_step function.
  Revised NullForcingProvider incorporating Matt's comments
  Revise config jason to be force-less.
  Null/Constant Forcing Provider
  cmake: default python support to ON
  Another couple typos
  Random typo fix
  Remove commented-out code
  Remove dead code
  ...
* commit '72f121a5d12762d59c3870efd6d0598f2286886c':
  Fix a CMakelist.txt error.
  Add unit test for logging and other revisions
  Implement a logging function
  cmake: set NetCDF support to default to OFF
  Update test routing config to alleviate pydantic errors (NOAA-OWP#654)
* upstream/master: (193 commits)
  Routing test: Minor cleanups
  Drop 'using std::shared_ptr' from high-level header
  Fix all instances of typo recieve
  Fix all instances of typo interperter
  Typo fix
  Remove scalar overload of get_var_value_as_double
  Refactor Bmi_Formulation: Share duplicate implementations of scalar get_var_value_as_double
  Refactor: consolidate duplicate implementations into Bmi_Module_Formulation::get_response
  Bmi_Formulation: Share single copies of required and optional configuration parameter vectors
  Make non-overridden protected member functions non-virtual
  Refactor: Move virtual get_output_line_for_timestep from Formulation to Catchment_Formulation
  Refactor: Move virtual get_output_header_line from Formulation to Catchment_Formulation
  Refactor: Move virtual get_response from Formulation to Catchment_Formulation
  Test: Specify Catchment_Formulation when iterating over (catchment) Formulation_Manager entities
  Delete never-used Nexus_Manager code that uses class Formulation unexpectedly
  Incorporate reviwer's suggestions
  Add total time to the tables
  Update documentation
  Realization configs and routing config for ngen with routing
  fix(bmi): re-throw exceptions as std::runtime_error with original error message when getting time conversions
  ...

# Conflicts:
#	.gitmodules
#	extern/pybind11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant