-
Notifications
You must be signed in to change notification settings - Fork 33
How to map a single parameter to multiple tidal boundary points in OpenDA (Delft3D)? #476
Description
Description
I am using OpenDA to calibrate a Delft3D model and encountered an issue related to parameter mapping for tidal boundary conditions.
In my setup, I intended to optimize a total of six parameters:
- roughness-u
- roughness-v
- M2 amplitude (global)
- M2 phase (global)
- S2 amplitude (global)
- S2 phase (global)
In D3DStochModel.xml, only these six parameters are defined.
For the tidal boundary, I have 10 boundary points. In D3DModel.xml, I included all boundary points and their corresponding M2 and S2 amplitude and phase entries. However, these entries share the same vector IDs (e.g., "M2.Amplitude", "M2.Phase", etc.), because my intention was to apply a global adjustment (i.e., one parameter affecting all boundary points).
Issue
During calibration, OpenDA only updates the first boundary point (e.g., tide_805_359). The other boundary points remain unchanged, even though they are defined in the configuration.
This suggests that using identical vector IDs for multiple elements may not create a one-to-many mapping as expected.
Questions
- Does OpenDA support mapping a single parameter (e.g.,
"M2.Amplitude") to multiple boundary elements simultaneously? - If yes, what is the correct way to define such a one-to-many mapping in
D3DModel.xml/D3DStochModel.xml? - What is the recommended approach to implement a global amplitude/phase correction across multiple tidal boundary points?
Expected Behavior
A single parameter (e.g., M2 amplitude scaling) should be able to update all boundary points consistently.
Actual Behavior
Only the first boundary point is updated, while others remain unchanged.
Any suggestions or best practices would be greatly appreciated. I am happy to provide configuration files if needed.
Thank you!