Skip to content

Conversation

CyprienBosserelle
Copy link
Owner

@CyprienBosserelle CyprienBosserelle commented Oct 26, 2021

Pathway to v1.0

BG-Flood is nearing a major milestone.

New major features

  • Add Buttinger et al. reconstruction with HLLC engine and wet slope limiter
  • Add Block average scheme elevation and roughness when block dx > forcing dx
  • Add Polygon domain for improved memory requirement
  • Allow Sub-region output to only output a smaller area than the full domain and save some HD space
  • Full implementation of adaptive grid
  • Initial and continuing loss
  • Spherical (lat lon) coordinates
  • Improve documentation and tutorials

New minor feature

  • Rain-on-grid internal test
  • Multiple Bathy file input
  • Revamped tests
  • Force initial dt for dry models to be small enough wrt forcing
  • Crash detection (for tiny dt)
  • Flag to select Kurganov vs Buttinger engine
  • Internal test for boundaries
  • Continuous integration with internal tests on CPU and GPU
  • Param file as an input to exec
  • Auto-copy of code to gitlab
  • Code optimization
  • Add NetCDF CRS and time metadata to output
  • Add param settings to NetCDF (metadata?)
  • Handle input forcing where dx != dy

minor Changes

  • General code cleanup and reduce compile-time warnings
  • Add Jupyter (Python) and Pluto (Julia) tutorial notebooks in demo
  • Add active cell to limit rain to within specify domain
  • Check/verify/Fix initial time step sanity
  • Fix wet/dry instabilities
  • Improve/fix absorbing bnds
  • Add tutorial/docs for tsunami initiation
  • Add tutorial/docs for wind/atmpress forcing
  • Add speed benchmark to compare with other codes (Tuflow benchmark?)
  • Rain depth forcing option (rain intensity is default)
  • Read time stamp from Netcdf and param file
  • Add user defined log file name
  • Fix nesting capability
  • Add/save parameters to Netcdf output

Major Fix

  • Bug fix for refine linear function
  • Full rewrite of gradient calculation to be in line with refine linear
  • Fix hotstart to use new variable name
  • Fix Timeseries Output
  • Fix compiling issues with older GCC
  • Fix rain map input

Minor Fix

  • Fix crash when specified river is outside the model domain (4a2513c)
  • Fix round-off error with small domain
  • Fix round-off error for bathy interpolation
  • Fix river footprint when the input discharge area is smaller than block resolution
  • Fix resetmax
  • Fix deform input
  • Fix atm pressure forcing engine
  • Fix absorbing bnd issues with wet/dry

@CyprienBosserelle CyprienBosserelle changed the title Development Pathway to v1.0 Oct 26, 2021
@CyprienBosserelle CyprienBosserelle marked this pull request as draft October 27, 2021 09:14
AliceHarang and others added 28 commits March 24, 2022 13:31
Comment all relative to the partially developped "vort" and "U" output variables
Add the capability to flip the x and y axis on the fly. this is automnatically done if x or y are not monotonically increasing
Adding special output needed for flood impact evaluation

* added wet/dry limiter for abs1d GPU only

DO CPU later if that appear to fix the issue of no conserving lake at rest near wet-dry

* Update Boundary.cu

* adding a simple proxy to velocity

* Trying something bolder

* Update Boundary.cu

* approx unbnd as avg between inside and i

* Return to 0.0 vel at bnd

* Add CPU fix
Still have to implement the scheme and create the variables to follow filling of the ground layer
Replaces Fu and Fv with Fux, Fuy, Fvx, and Fvy to explicitly represent fluxes in x and y directions for both u and v components. Updates all relevant memory allocation, initialization, kernel logic, and supported variable lists to use the new naming and structure. This change clarifies the handling of fluxes and prepares the code for more accurate and flexible flux computations.
Updated the flux calculation logic in the AdvecFluxML CUDA kernel by introducing new variables for gradient terms and applying them to the flux updates. Also cleaned up commented code and added minor formatting improvements for clarity.
Introduces the FlowbndFluxML function and its GPU kernel calls to handle machine learning-based boundary fluxes. Updates FlowMLGPU to apply ML boundary fluxes for each boundary segment. Also adds the necessary function declaration in Boundary.h and ensures proper CUDA synchronization after bottom friction and cleanup steps.
Modified the Raintest function to take an additional 'engine' parameter, updated its usage in Testing.cu, and simplified the output variables. Added engine-specific parameter checks in checkparamsanity. These changes improve test flexibility and ensure correct engine configuration during testing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants