Skip to content

Add support for vertical mod#606

Draft
otzi5300 wants to merge 15 commits intovertical-skillfrom
add_support_for_vertical_mod
Draft

Add support for vertical mod#606
otzi5300 wants to merge 15 commits intovertical-skillfrom
add_support_for_vertical_mod

Conversation

@otzi5300
Copy link

@otzi5300 otzi5300 commented Mar 12, 2026

Closes #596

Step 2 of 4 in implementation of vertical skills

General idea of vertical skill is to store data for model and obs in 1d (see below). Depth information is stored in auxilary coordinate z. Befinit of this compared to storing in 2d:

  • Similar to current data structures and current matching workflow can be used
  • Allowing varying z coordinates for obs and sigma layered models

Steps:

  1. BRANCHED FROM Support vertical obs
  2. Support vertical model items
  3. Matching to get comparer
  4. plotting/skill etc on vertical

Features added in this PR

Support vertical obs per commit

(see vertical skill notebook for more info)
VerticalObservation class
Stores timeseries data for vertical profiles.

Validate timeseries with geomtype=vertical.

  • Adds vertical geometry type
  • Adds additional check for zcoord if gtype is vertical

parse input for timeseries with vertical coordinate.
Very similar to parsing of tracks (_track.py) but z-coordinate is now needed.

  • remove duplicated (time,z) pairs. Note, duplicated time allowed ( obs with same time on multiple depth)

data structure:
time(time) = [t1, t1, t1, t2, t2, t2, t3 ...]
z(time) = [z1. z2, z3, z4, z5, z6, z7 ...]
data(time) = [d1, d2, d3, d4,d5,d6,d7....]

Testdata

  • 3d sigma model (cut to very small domain)
  • observations (2 locations) stored as dfs0 and csv

Tests of new features

observation: PointObservation | TrackObservation | VerticalObservation,
spatial_method: Optional[str] = None,
) -> PointModelResult | TrackModelResult: ...
) -> PointModelResult | TrackModelResult | VerticalModelResult: ...

def _extract_vertical_column(
self, observation: VerticalObservation, spatial_method: Optional[str] = None
) -> VerticalModelResult: ...
@otzi5300 otzi5300 self-assigned this Mar 12, 2026
@otzi5300 otzi5300 changed the base branch from main to vertical-skill March 15, 2026 16:46
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.

Add ModelResult for vertical column

1 participant