diff --git a/.github/scripts/generate_report.py b/.github/scripts/generate_report.py index 5d70191e..abce9829 100755 --- a/.github/scripts/generate_report.py +++ b/.github/scripts/generate_report.py @@ -6,9 +6,10 @@ import json import sys -import pandas as pd -from pathlib import Path from datetime import datetime, timedelta +from pathlib import Path + +import pandas as pd def generate_report(data_dir='/tmp/traffic-data'): @@ -16,27 +17,27 @@ def generate_report(data_dir='/tmp/traffic-data'): data_dir = Path(data_dir) parquet_file = data_dir / 'traffic_history.parquet' metadata_file = data_dir / 'metadata.json' - + if not parquet_file.exists(): print("❌ No historical data found") return False - + print("πŸ“ Generating markdown report...") - + # Load data df = pd.read_parquet(parquet_file) - + with open(metadata_file, 'r') as f: metadata = json.load(f) - + # Get all available data, sorted by date df = df.sort_values('date') - + # For display, show up to last 14 days (or all data if less than 14 days) last_date = df['date'].max() cutoff_date = last_date - timedelta(days=14) display_df = df[df['date'] > cutoff_date].copy() if len(df) > 14 else df.copy() - + # Create markdown report report = [ "# GitHub Traffic Analytics Report", @@ -47,34 +48,34 @@ def generate_report(data_dir='/tmp/traffic-data'): "| Date | Total | Unique |", "|------|-------|--------|" ] - + for _, row in display_df.iterrows(): report.append(f"| {row['date'].strftime('%Y-%m-%d')} | {row['clones_total']} | {row['clones_unique']} |") - + report.extend([ "\n### Views", "| Date | Total | Unique |", "|------|-------|--------|" ]) - + for _, row in display_df.iterrows(): report.append(f"| {row['date'].strftime('%Y-%m-%d')} | {row['views_total']} | {row['views_unique']} |") - + # Calculate week-over-week changes if we have enough data if len(display_df) >= 14: week1 = display_df.tail(7) week2 = display_df.iloc[-14:-7] # Week before last week - + clones_change = ((week1['clones_total'].sum() / max(week2['clones_total'].sum(), 1)) - 1) * 100 views_change = ((week1['views_total'].sum() / max(week2['views_total'].sum(), 1)) - 1) * 100 - + trend_section = [ "\n## Week-over-Week Trends", f"- **Clone Traffic:** {'+' if clones_change >= 0 else ''}{clones_change:.1f}%", f"- **View Traffic:** {'+' if views_change >= 0 else ''}{views_change:.1f}%" ] report.extend(trend_section) - + # Add summary statistics from ALL collected data report.extend([ "\n## Summary Statistics", @@ -90,19 +91,19 @@ def generate_report(data_dir='/tmp/traffic-data'): f"- **Collection Started:** {metadata['date_range']['start']}", f"- **Data Size:** {metadata['file_size_bytes'] / 1024:.1f} KB" ]) - + # Add peak days if len(df) > 0: peak_clones_day = df.loc[df['clones_total'].idxmax()] peak_views_day = df.loc[df['views_total'].idxmax()] - + report.extend([ "", "## Peak Days", f"- **Most Clones:** {peak_clones_day['clones_total']} on {peak_clones_day['date'].strftime('%Y-%m-%d')}", f"- **Most Views:** {peak_views_day['views_total']} on {peak_views_day['date'].strftime('%Y-%m-%d')}" ]) - + # Add missing dates if any if 'missing_dates' in metadata['collection_stats'] and metadata['collection_stats']['missing_dates']: missing_dates = metadata['collection_stats']['missing_dates'] @@ -115,25 +116,25 @@ def generate_report(data_dir='/tmp/traffic-data'): report.append(f" - Dates: {', '.join(missing_dates)}") else: report.append(f" - Recent missing: {', '.join(missing_dates[-5:])}") - + # Save report report_file = data_dir / 'REPORT.md' with open(report_file, 'w') as f: f.write('\n'.join(report)) - + print(f"βœ… Report saved to {report_file}") print(f" Displayed {len(display_df)} days in recent traffic section") print(f" Total historical data: {len(df)} days") - + return True if __name__ == '__main__': data_dir = sys.argv[1] if len(sys.argv) > 1 else '/tmp/traffic-data' - + try: success = generate_report(data_dir) sys.exit(0 if success else 1) except Exception as e: print(f"❌ Error generating report: {e}") - sys.exit(1) \ No newline at end of file + sys.exit(1) diff --git a/.github/scripts/generate_slack_report.py b/.github/scripts/generate_slack_report.py index ed750448..8b3c806e 100755 --- a/.github/scripts/generate_slack_report.py +++ b/.github/scripts/generate_slack_report.py @@ -7,11 +7,12 @@ import json import os import sys -import pandas as pd -from pathlib import Path -from datetime import datetime, timedelta -import urllib.request import urllib.parse +import urllib.request +from datetime import datetime, timedelta +from pathlib import Path + +import pandas as pd def format_number(num): @@ -37,70 +38,70 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): data_dir = Path(data_dir) parquet_file = data_dir / 'traffic_history.parquet' metadata_file = data_dir / 'metadata.json' - + if not parquet_file.exists(): print("❌ No data to report") return False - + print("πŸ“Š Generating weekly Slack report...") - + # Load data df = pd.read_parquet(parquet_file) with open(metadata_file, 'r') as f: metadata = json.load(f) - + # Get last 7 days for weekly report today = df['date'].max() week_ago = today - timedelta(days=7) two_weeks_ago = today - timedelta(days=14) - + this_week = df[(df['date'] > week_ago) & (df['date'] <= today)] last_week = df[(df['date'] > two_weeks_ago) & (df['date'] <= week_ago)] - + if len(this_week) == 0: print("⚠️ No data for this week") return False - + # Calculate metrics clones_total = this_week['clones_total'].sum() clones_unique = this_week['clones_unique'].sum() views_total = this_week['views_total'].sum() views_unique = this_week['views_unique'].sum() - + # Week-over-week changes clones_trend, clones_change = "πŸ†•", 0 views_trend, views_change = "πŸ†•", 0 - + if len(last_week) > 0: clones_prev = last_week['clones_total'].sum() views_prev = last_week['views_total'].sum() clones_trend, clones_change = calculate_trend(clones_total, clones_prev) views_trend, views_change = calculate_trend(views_total, views_prev) - + # Best day this week best_day = this_week.loc[this_week['clones_total'].idxmax()] if len(this_week) > 0 else None - + # Parse top paths and referrers from most recent day with data latest = this_week.iloc[-1] if len(this_week) > 0 else None top_paths = [] top_referrers = [] - + if latest is not None: try: paths_data = json.loads(latest['top_paths']) if latest['top_paths'] else [] top_paths = paths_data[:3] if paths_data else [] - except: + except Exception: pass - + try: refs_data = json.loads(latest['top_referrers']) if latest['top_referrers'] else [] top_referrers = refs_data[:3] if refs_data else [] - except: + except Exception: pass - + # Get repository name from environment or use default repo_name = os.environ.get('GITHUB_REPOSITORY', 'Repository') - + # Build Slack message blocks blocks = [ { @@ -137,11 +138,11 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): ] } ] - + # Add week-over-week changes if we have previous week data if len(last_week) > 0 and best_day is not None: change_fields = [] - + # Week-over-week changes wow_text = "*Week-over-week*\n" if clones_change != 0: @@ -152,24 +153,24 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): "type": "mrkdwn", "text": wow_text.strip() }) - + # Best day change_fields.append({ "type": "mrkdwn", "text": f"*Best day*\n{best_day['date'].strftime('%A')}\n`{best_day['clones_total']}` clones, `{best_day['views_total']}` views" }) - + blocks.append({ "type": "section", "fields": change_fields }) - + # Add top content if available if top_paths or top_referrers: blocks.append({"type": "divider"}) - + content_fields = [] - + if top_paths: paths_text = "*Top Pages*\n" for i, path in enumerate(top_paths, 1): @@ -182,7 +183,7 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): "type": "mrkdwn", "text": paths_text.strip() }) - + if top_referrers: refs_text = "*Top Referrers*\n" for i, ref in enumerate(top_referrers, 1): @@ -197,17 +198,17 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): "type": "mrkdwn", "text": refs_text.strip() }) - + if content_fields: blocks.append({ "type": "section", "fields": content_fields }) - + # Add daily breakdown as a compact chart if len(this_week) > 1: blocks.append({"type": "divider"}) - + daily_text = "*Daily Breakdown*\n```\n" for _, row in this_week.iterrows(): day = row['date'].strftime('%a') @@ -215,7 +216,7 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): clone_bar = 'β–ˆ' * min(int(row['clones_total'] / max(this_week['clones_total'].max(), 1) * 10), 10) daily_text += f"{day}: {clone_bar} {row['clones_total']}c/{row['views_total']}v\n" daily_text += "```" - + blocks.append({ "type": "section", "text": { @@ -223,7 +224,7 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): "text": daily_text } }) - + # Add footer with metadata blocks.extend([ { @@ -239,26 +240,26 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): ] } ]) - + # Prepare payload payload = { "text": f"Weekly GitHub Traffic Report: {format_number(clones_total)} clones, {format_number(views_total)} views", "blocks": blocks } - + # Send to Slack if webhook URL is provided if not webhook_url: webhook_url = os.environ.get('SLACK_WEBHOOK_URL') - + if webhook_url: - print(f"πŸ“€ Sending to Slack webhook...") - + print("πŸ“€ Sending to Slack webhook...") + req = urllib.request.Request( webhook_url, data=json.dumps(payload).encode('utf-8'), headers={'Content-Type': 'application/json'} ) - + try: with urllib.request.urlopen(req) as response: if response.status == 200: @@ -273,7 +274,7 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): try: error_body = e.read().decode('utf-8') print(f" Response: {error_body}") - except: + except Exception: pass return False except Exception as e: @@ -289,7 +290,7 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): if __name__ == '__main__': data_dir = sys.argv[1] if len(sys.argv) > 1 else '/tmp/traffic-data' webhook_url = sys.argv[2] if len(sys.argv) > 2 else None - + try: success = generate_slack_report(data_dir, webhook_url) sys.exit(0 if success else 1) @@ -297,4 +298,4 @@ def generate_slack_report(data_dir='/tmp/traffic-data', webhook_url=None): print(f"❌ Error generating Slack report: {e}") import traceback traceback.print_exc() - sys.exit(1) \ No newline at end of file + sys.exit(1) diff --git a/.github/scripts/process_traffic.py b/.github/scripts/process_traffic.py index 3b7897ff..6d90b11e 100755 --- a/.github/scripts/process_traffic.py +++ b/.github/scripts/process_traffic.py @@ -5,12 +5,11 @@ """ import json -import os import sys +from datetime import datetime from pathlib import Path -from datetime import datetime, timedelta + import pandas as pd -import pyarrow.parquet as pq def load_json_file(filepath): @@ -26,13 +25,13 @@ def load_json_file(filepath): def extract_daily_data(api_data, data_type='clones'): """Extract daily breakdown from API response.""" daily_records = [] - + if not api_data: return daily_records - + # Get the daily breakdown from the API response daily_data = api_data.get(data_type, []) # 'clones' or 'views' array - + for day in daily_data: date = pd.to_datetime(day['timestamp']).date() daily_records.append({ @@ -40,7 +39,7 @@ def extract_daily_data(api_data, data_type='clones'): f'{data_type}_total': day.get('count', 0), f'{data_type}_unique': day.get('uniques', 0) }) - + return daily_records @@ -48,33 +47,33 @@ def process_traffic_data(raw_dir='/tmp/traffic-data/raw', data_dir='/tmp/traffic """Process all available traffic data with intelligent merging.""" raw_dir = Path(raw_dir) data_dir = Path(data_dir) - + today = datetime.now().strftime('%Y-%m-%d') timestamp = datetime.utcnow().isoformat() + 'Z' - + print(f"πŸ“… Processing traffic data (collected on {today})") - + # Load the API responses clones_data = load_json_file(raw_dir / f'clones-{today}.json') views_data = load_json_file(raw_dir / f'views-{today}.json') paths_data = load_json_file(raw_dir / f'paths-{today}.json') referrers_data = load_json_file(raw_dir / f'referrers-{today}.json') - + # Extract ALL daily data from API responses clones_daily = extract_daily_data(clones_data, 'clones') views_daily = extract_daily_data(views_data, 'views') - + # Create DataFrame from daily data if clones_daily: df_clones = pd.DataFrame(clones_daily) else: df_clones = pd.DataFrame(columns=['date', 'clones_total', 'clones_unique']) - + if views_daily: df_views = pd.DataFrame(views_daily) else: df_views = pd.DataFrame(columns=['date', 'views_total', 'views_unique']) - + # Merge clones and views data on date if not df_clones.empty and not df_views.empty: df_new = pd.merge(df_clones, df_views, on='date', how='outer') @@ -95,69 +94,69 @@ def process_traffic_data(raw_dir='/tmp/traffic-data/raw', data_dir='/tmp/traffic 'views_total': 0, 'views_unique': 0 }]) - + # Fill NaN values with 0 df_new = df_new.fillna(0) - + # Add timestamp for when data was collected df_new['timestamp'] = pd.to_datetime(timestamp) - + # Add top paths and referrers (same for all days in this batch) df_new['top_paths'] = json.dumps(paths_data.get('paths', [])[:5] if paths_data else []) df_new['top_referrers'] = json.dumps(referrers_data.get('referrers', [])[:5] if referrers_data else []) - + # Convert date column to datetime df_new['date'] = pd.to_datetime(df_new['date']) - + print(f"πŸ“Š API provided {len(df_new)} days of data:") print(f" Date range: {df_new['date'].min().date()} to {df_new['date'].max().date()}") print(f" Total clones: {df_new['clones_total'].sum():.0f} ({df_new['clones_unique'].sum():.0f} unique)") print(f" Total views: {df_new['views_total'].sum():.0f} ({df_new['views_unique'].sum():.0f} unique)") - + # Load existing parquet file if it exists parquet_file = data_dir / 'traffic_history.parquet' if parquet_file.exists(): print("πŸ“‚ Loading existing Parquet file...") df_existing = pd.read_parquet(parquet_file) df_existing['date'] = pd.to_datetime(df_existing['date']) - + # Intelligent merge: update existing dates, add new ones # Keep the existing data for dates not in the new data existing_dates = set(df_existing['date'].dt.date) new_dates = set(df_new['date'].dt.date) - + # Dates to keep from existing (not in new data) keep_dates = existing_dates - new_dates df_keep = df_existing[df_existing['date'].dt.date.isin(keep_dates)] - + # Combine: kept old data + all new data df = pd.concat([df_keep, df_new], ignore_index=True) - + print(f" Merged data: {len(df_keep)} existing + {len(df_new)} new = {len(df)} total records") - + # Report on updates updated_dates = existing_dates & new_dates if updated_dates: print(f" Updated {len(updated_dates)} existing dates with fresh data") - + new_only_dates = new_dates - existing_dates if new_only_dates: print(f" Added {len(new_only_dates)} new dates") else: print("πŸ“„ Creating new Parquet file...") df = df_new - + # Sort by date df = df.sort_values('date').reset_index(drop=True) - + # Ensure integer types for count columns for col in ['clones_total', 'clones_unique', 'views_total', 'views_unique']: df[col] = df[col].fillna(0).astype(int) - + # Save as Parquet with compression df.to_parquet(parquet_file, compression='snappy', index=False) print(f"πŸ’Ύ Saved {len(df)} records to Parquet") - + # Create comprehensive metadata metadata = { 'last_updated': timestamp, @@ -180,14 +179,14 @@ def process_traffic_data(raw_dir='/tmp/traffic-data/raw', data_dir='/tmp/traffic 'avg_daily_views': float(df['views_total'].mean()) } } - + # Check for gaps in data collection if len(df) > 1: date_range = pd.date_range(start=df['date'].min(), end=df['date'].max(), freq='D') collected_dates = set(df['date'].dt.date) expected_dates = set(date_range.date) missing_dates = sorted(expected_dates - collected_dates) - + if missing_dates: metadata['collection_stats']['missing_dates'] = [d.isoformat() for d in missing_dates] metadata['collection_stats']['data_completeness'] = f"{(len(collected_dates) / len(expected_dates)) * 100:.1f}%" @@ -195,7 +194,7 @@ def process_traffic_data(raw_dir='/tmp/traffic-data/raw', data_dir='/tmp/traffic else: metadata['collection_stats']['data_completeness'] = "100%" print("βœ… No gaps in historical data") - + # Add weekly aggregates for quick reference if len(df) >= 7: last_week = df.tail(7) @@ -205,15 +204,15 @@ def process_traffic_data(raw_dir='/tmp/traffic-data/raw', data_dir='/tmp/traffic 'views_total': int(last_week['views_total'].sum()), 'views_unique': int(last_week['views_unique'].sum()) } - + # Save metadata metadata_file = data_dir / 'metadata.json' with open(metadata_file, 'w') as f: json.dump(metadata, f, indent=2) - + print(f"πŸ“‹ Metadata updated: {metadata['record_count']} total records") print(f" File size: {metadata['file_size_bytes'] / 1024:.1f} KB") - + return df, metadata @@ -221,7 +220,7 @@ def process_traffic_data(raw_dir='/tmp/traffic-data/raw', data_dir='/tmp/traffic # Allow command line args for directories raw_dir = sys.argv[1] if len(sys.argv) > 1 else '/tmp/traffic-data/raw' data_dir = sys.argv[2] if len(sys.argv) > 2 else '/tmp/traffic-data' - + try: df, metadata = process_traffic_data(raw_dir, data_dir) sys.exit(0) @@ -229,4 +228,4 @@ def process_traffic_data(raw_dir='/tmp/traffic-data/raw', data_dir='/tmp/traffic print(f"❌ Error processing traffic data: {e}") import traceback traceback.print_exc() - sys.exit(1) \ No newline at end of file + sys.exit(1) diff --git a/.github/scripts/visualize_traffic.py b/.github/scripts/visualize_traffic.py index 2adcd580..9a740f10 100755 --- a/.github/scripts/visualize_traffic.py +++ b/.github/scripts/visualize_traffic.py @@ -4,11 +4,10 @@ This script generates charts from the historical traffic data. """ +import argparse import json import sys from pathlib import Path -from datetime import datetime, timedelta -import argparse # Check for required packages try: @@ -18,7 +17,7 @@ except ImportError: print("πŸ“¦ Installing required packages...") import subprocess - subprocess.check_call([sys.executable, "-m", "pip", "install", + subprocess.check_call([sys.executable, "-m", "pip", "install", "matplotlib", "pandas", "seaborn"]) import matplotlib.pyplot as plt import pandas as pd @@ -33,26 +32,26 @@ def load_traffic_data(data_dir='/tmp/traffic-data'): """Load historical traffic data from Parquet file.""" parquet_file = Path(data_dir) / 'traffic_history.parquet' metadata_file = Path(data_dir) / 'metadata.json' - + if not parquet_file.exists(): print(f"❌ No historical data found at {parquet_file}") print(" Run the GitHub Action first to collect data.") return None, None - + # Load parquet df = pd.read_parquet(parquet_file) - + # Load metadata if exists metadata = None if metadata_file.exists(): with open(metadata_file, 'r') as f: metadata = json.load(f) - + print(f"βœ… Loaded {len(df)} days of traffic data") print(f" Date range: {df['date'].min().strftime('%Y-%m-%d')} to {df['date'].max().strftime('%Y-%m-%d')}") if metadata: print(f" File size: {metadata['file_size_bytes'] / 1024:.1f} KB") - + return df, metadata @@ -62,11 +61,11 @@ def prepare_dataframe(df): df = df.copy() df['date'] = pd.to_datetime(df['date']) df.set_index('date', inplace=True) - + # Add derived columns df['clone_rate'] = df['clones_unique'] / df['clones_total'].replace(0, 1) * 100 df['view_rate'] = df['views_unique'] / df['views_total'].replace(0, 1) * 100 - + return df @@ -74,7 +73,7 @@ def plot_traffic_overview(df, save_path=None): """Create overview plot with clones and views.""" fig, axes = plt.subplots(2, 2, figsize=(16, 10)) fig.suptitle('GitHub Repository Traffic Analytics', fontsize=16, fontweight='bold') - + # Plot 1: Clones over time ax1 = axes[0, 0] ax1.plot(df.index, df['clones_total'], label='Total Clones', marker='o', linewidth=2) @@ -84,7 +83,7 @@ def plot_traffic_overview(df, save_path=None): ax1.set_ylabel('Number of Clones') ax1.legend() ax1.grid(True, alpha=0.3) - + # Plot 2: Views over time ax2 = axes[0, 1] ax2.plot(df.index, df['views_total'], label='Total Views', marker='o', linewidth=2, color='green') @@ -94,7 +93,7 @@ def plot_traffic_overview(df, save_path=None): ax2.set_ylabel('Number of Views') ax2.legend() ax2.grid(True, alpha=0.3) - + # Plot 3: Combined bar chart ax3 = axes[1, 0] x_pos = range(len(df)) @@ -108,7 +107,7 @@ def plot_traffic_overview(df, save_path=None): ax3.set_xticklabels(df.index.strftime('%m/%d')[::max(1, len(df)//10)], rotation=45) ax3.legend() ax3.grid(True, alpha=0.3) - + # Plot 4: Unique visitor ratios ax4 = axes[1, 1] ax4.plot(df.index, df['clone_rate'], label='Unique Clone %', marker='o', linewidth=2, color='purple') @@ -119,14 +118,14 @@ def plot_traffic_overview(df, save_path=None): ax4.set_ylim(0, 105) ax4.legend() ax4.grid(True, alpha=0.3) - + # Adjust layout plt.tight_layout() - + if save_path: plt.savefig(save_path, dpi=150, bbox_inches='tight') print(f"πŸ’Ύ Chart saved to {save_path}") - + return fig @@ -139,14 +138,14 @@ def plot_weekly_trends(df, save_path=None): 'views_total': 'sum', 'views_unique': 'sum' }) - + if len(weekly) < 2: print("⚠️ Not enough data for weekly trends (need at least 2 weeks)") return None - + fig, axes = plt.subplots(1, 2, figsize=(14, 5)) fig.suptitle('Weekly Traffic Trends', fontsize=14, fontweight='bold') - + # Weekly clones ax1 = axes[0] ax1.bar(range(len(weekly)), weekly['clones_total'], alpha=0.7, label='Total') @@ -157,7 +156,7 @@ def plot_weekly_trends(df, save_path=None): ax1.set_xticks(range(len(weekly))) ax1.set_xticklabels(weekly.index.strftime('%m/%d'), rotation=45) ax1.legend() - + # Weekly views ax2 = axes[1] ax2.bar(range(len(weekly)), weekly['views_total'], alpha=0.7, label='Total', color='green') @@ -168,13 +167,13 @@ def plot_weekly_trends(df, save_path=None): ax2.set_xticks(range(len(weekly))) ax2.set_xticklabels(weekly.index.strftime('%m/%d'), rotation=45) ax2.legend() - + plt.tight_layout() - + if save_path: plt.savefig(save_path, dpi=150, bbox_inches='tight') print(f"πŸ’Ύ Weekly trends saved to {save_path}") - + return fig @@ -183,35 +182,35 @@ def print_statistics(df): print("\n" + "="*60) print("πŸ“Š TRAFFIC STATISTICS SUMMARY") print("="*60) - + print(f"\nπŸ“… Date Range: {df.index.min().strftime('%Y-%m-%d')} to {df.index.max().strftime('%Y-%m-%d')}") print(f" Total Days: {len(df)}") - + print("\nπŸ“¦ CLONES:") print(f" Total: {df['clones_total'].sum():,}") print(f" Unique: {df['clones_unique'].sum():,}") print(f" Daily Average: {df['clones_total'].mean():.1f} ({df['clones_unique'].mean():.1f} unique)") print(f" Peak Day: {df['clones_total'].max()} on {df['clones_total'].idxmax().strftime('%Y-%m-%d')}") - + print("\nπŸ‘€ VIEWS:") print(f" Total: {df['views_total'].sum():,}") print(f" Unique: {df['views_unique'].sum():,}") print(f" Daily Average: {df['views_total'].mean():.1f} ({df['views_unique'].mean():.1f} unique)") print(f" Peak Day: {df['views_total'].max()} on {df['views_total'].idxmax().strftime('%Y-%m-%d')}") - + print("\nπŸ“ˆ TRENDS (Last 7 days vs Previous 7 days):") if len(df) >= 14: last_week = df.tail(7) prev_week = df.tail(14).head(7) - + clone_change = ((last_week['clones_total'].sum() / prev_week['clones_total'].sum()) - 1) * 100 view_change = ((last_week['views_total'].sum() / prev_week['views_total'].sum()) - 1) * 100 - + print(f" Clone Traffic: {'+' if clone_change >= 0 else ''}{clone_change:.1f}%") print(f" View Traffic: {'+' if view_change >= 0 else ''}{view_change:.1f}%") else: print(" Not enough data for trend analysis (need 14+ days)") - + print("\n" + "="*60) @@ -223,39 +222,39 @@ def main(): help='Directory to save charts (default: current directory)') parser.add_argument('--no-show', action='store_true', help='Do not display charts (only save)') - + args = parser.parse_args() - + # Load data df, metadata = load_traffic_data(args.data_dir) if df is None: return 1 - + # Prepare DataFrame df = prepare_dataframe(df) - + # Print statistics print_statistics(df) - + # Create output directory if it doesn't exist output_dir = Path(args.output_dir) output_dir.mkdir(parents=True, exist_ok=True) - + # Generate plots overview_path = output_dir / 'traffic_overview.png' plot_traffic_overview(df, save_path=overview_path) - + if len(df) >= 14: weekly_path = output_dir / 'traffic_weekly.png' plot_weekly_trends(df, save_path=weekly_path) - + # Show plots if requested if not args.no_show: plt.show() - + print("\nβœ… Visualization complete!") return 0 if __name__ == '__main__': - sys.exit(main()) \ No newline at end of file + sys.exit(main()) diff --git a/.github/workflows/docs-preview-comment.yml b/.github/workflows/docs-preview-comment.yml index 19713327..b71dd2b0 100644 --- a/.github/workflows/docs-preview-comment.yml +++ b/.github/workflows/docs-preview-comment.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Check comment and get PR info id: check - uses: actions/github-script@v7 + uses: actions/github-script@v9 with: script: | const comment = context.payload.comment.body; @@ -147,7 +147,7 @@ jobs: echo "surge_url=https://$SURGE_DOMAIN/xopr/" >> $GITHUB_OUTPUT - name: Update comment with result - uses: actions/github-script@v7 + uses: actions/github-script@v9 with: script: | const prNumber = ${{ needs.check-comment.outputs.pr_number }}; diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 56478f4f..1c7b0e16 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -119,7 +119,7 @@ jobs: - name: Setup Google Cloud SDK if: github.ref == 'refs/heads/main' - uses: google-github-actions/setup-gcloud@v2 + uses: google-github-actions/setup-gcloud@v3 with: skip_install: false @@ -159,7 +159,7 @@ jobs: retention-days: 7 - name: Setup Pages - uses: actions/configure-pages@v5 + uses: actions/configure-pages@v6 if: github.ref == 'refs/heads/main' - name: Upload artifact @@ -245,7 +245,7 @@ jobs: echo "Deployment successful to: https://$SURGE_DOMAIN/xopr/" - name: Comment on PR with preview link - uses: actions/github-script@v7 + uses: actions/github-script@v9 with: script: | const prNumber = context.issue.number; @@ -309,4 +309,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 \ No newline at end of file + uses: actions/deploy-pages@v5 \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 54b0d182..21c8aceb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Generate App Token id: app-token - uses: actions/create-github-app-token@v2 + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.RELEASE_APP_ID }} private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} diff --git a/.github/workflows/traffic-analytics.yml b/.github/workflows/traffic-analytics.yml index 0a66ddb8..80fef2f1 100644 --- a/.github/workflows/traffic-analytics.yml +++ b/.github/workflows/traffic-analytics.yml @@ -49,7 +49,7 @@ jobs: echo "GOOGLE_APPLICATION_CREDENTIALS=/tmp/gcs-key.json" >> $GITHUB_ENV - name: Setup Google Cloud SDK - uses: google-github-actions/setup-gcloud@v2 + uses: google-github-actions/setup-gcloud@v3 - name: Authenticate gcloud with service account run: | diff --git a/.github/workflows/update-km-badge.yml b/.github/workflows/update-km-badge.yml index 9784851a..08a728e1 100644 --- a/.github/workflows/update-km-badge.yml +++ b/.github/workflows/update-km-badge.yml @@ -13,12 +13,19 @@ jobs: runs-on: ubuntu-latest permissions: contents: write - pull-requests: write steps: + - name: Generate App Token + id: app-token + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.RELEASE_APP_ID }} + private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} + - uses: actions/checkout@v6 with: - token: ${{ secrets.GITHUB_TOKEN }} + fetch-depth: 0 + token: ${{ steps.app-token.outputs.token }} - name: Set up Python uses: actions/setup-python@v6 @@ -108,41 +115,23 @@ jobs: # Update last updated date - only updates when km values change sed -i "s|.*|${CURRENT_DATE}|g" README.md - - name: Create PR if changed + - name: Commit and push to main if: steps.check.outputs.needs_update == 'true' env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ARCTIC_OLD: ${{ steps.current.outputs.arctic }} - ARCTIC_NEW: ${{ steps.calc.outputs.arctic }} - ANTARCTIC_OLD: ${{ steps.current.outputs.antarctic }} - ANTARCTIC_NEW: ${{ steps.calc.outputs.antarctic }} + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} TOTAL_OLD: ${{ steps.current.outputs.total }} TOTAL_NEW: ${{ steps.calc.outputs.total }} run: | - git config --global user.name 'github-actions[bot]' - git config --global user.email 'github-actions[bot]@users.noreply.github.com' + git config --local user.name "englacial-release-bot" + git config --local user.email "englacial-release-bot@users.noreply.github.com" - # Create a unique branch name - BRANCH_NAME="update-flight-badges-$(date +%Y%m%d-%H%M%S)" - git checkout -b "$BRANCH_NAME" + # Configure git to use the app token for authentication + git remote set-url origin https://x-access-token:${{ steps.app-token.outputs.token }}@github.com/${{ github.repository }}.git + + # Pull latest in case main moved during the run + git pull --rebase origin main - # Commit changes git add README.md git commit -m "Flight line coverage increased from: ${TOTAL_OLD} km β†’ ${TOTAL_NEW} km" - - # Push the branch - git push -u origin "$BRANCH_NAME" - - # Create PR (manual merge required) - gh pr create \ - --title "Flight line coverage increased from: ${TOTAL_OLD} km β†’ ${TOTAL_NEW} km" \ - --body "Automated badge update from workflow. - - **Flight distance changes:** - - Arctic: ${ARCTIC_OLD} km β†’ ${ARCTIC_NEW} km - - Antarctic: ${ANTARCTIC_OLD} km β†’ ${ANTARCTIC_NEW} km - - Total: ${TOTAL_OLD} km β†’ ${TOTAL_NEW} km - - πŸ€– Generated with GitHub Actions" \ - --base main \ - --head "$BRANCH_NAME" + git push origin main + echo "βœ… Badges updated and pushed to main" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index a77211d6..8328e57e 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -62,8 +62,8 @@ representative at an online or offline event. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at -\[INSERT CONTACT METHOD\]. -All complaints will be reviewed and investigated promptly and fairly. +tteisberg@gmail.com or refuge@rocktalus.com. All complaints will be reviewed +and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. diff --git a/docs/comparing_picks.md b/docs/comparing_picks.md new file mode 100644 index 00000000..7c5a2822 --- /dev/null +++ b/docs/comparing_picks.md @@ -0,0 +1,63 @@ +# Comparing OPR bed picks against external datasets + +A common xOPR workflow is "I have radar bed picks for a region β€” how do they compare to dataset X?". The right way to do that comparison depends on the *type* of geometry that dataset X represents. This page walks through the three matching strategies xOPR supports, the API for each, and the case-study notebook that demonstrates it. + +## The shared starting point: load OPR bed picks + +Every comparison workflow begins the same way: query a region for STAC items, then use [`OPRConnection.load_bed_picks`](api/xopr.opr_access.html#xopr.opr_access.OPRConnection.load_bed_picks) to load layer picks for every frame into one flat GeoDataFrame: + +```python +import xopr + +opr = xopr.OPRConnection(cache_dir="radar_cache") +region = xopr.geometry.get_antarctic_regions(name="Vincennes_Bay") +gdf = opr.query_frames(geometry=region) + +picks = opr.load_bed_picks(gdf, target_crs="EPSG:3031") +# picks columns: geometry, wgs84, twtt, slow_time, id, collection, +# opr:date, opr:segment, opr:frame, segment_path +``` + +The output schema is a strict superset of the canonical `layer_gdf` schema used by the matchers below. Once you have `picks`, the right strategy depends on what you're comparing against. + +## Strategy by reference-dataset shape + +| Reference dataset shape | Strategy | API | Case study | +|---|---|---|---| +| OPR flight lines (the same dataset, comparing to itself) | Spatial join on simplified line geometries β†’ nearest-pick lookup at each crossing | [`xopr.find_intersections`](api/xopr.opr_tools.html#xopr.opr_tools.find_intersections) + [`xopr.opr_tools.compute_crossover_error`](api/xopr.opr_tools.html#xopr.opr_tools.compute_crossover_error) | [`crossovers.ipynb`](notebooks/crossovers.ipynb) | +| Continuous gridded raster (e.g. BedMachine, Bedmap-DEM) | Bilinear interpolation at each pick coordinate | `xarray.DataArray.interp` (no xopr-specific API needed) | [`bedmachine_comparison.ipynb`](notebooks/bedmachine_comparison.ipynb) | +| External point cloud (e.g. Bedmap pick database) | Morton-prefix containment + along-track disambiguation | [`xopr.bedmap.match_bedmap_to_frames`](api/xopr.bedmap.html#xopr.bedmap.match_bedmap_to_frames) + [`disambiguate_matches`](api/xopr.bedmap.html#xopr.bedmap.disambiguate_matches) | [`bedmap_match.ipynb`](notebooks/bedmap_match.ipynb) | +| External polygon dataset (e.g. ICESat-2 ATL06 granules from CMR) | Morton-prefix containment OR shapely STRtree exact intersection | [`xopr.matching`](api/xopr.matching.html) | [`xopr_atl06_crossovers.ipynb`](notebooks/xopr_atl06_crossovers.ipynb) | + +## Why morton indexing for points and polygons + +For point and polygon comparisons we use the **`opr:mbox`** field that every xOPR STAC item carries: a list of 4 variable-resolution morton cells (default order 18) covering the frame's geometry, plus `opr:mpolygon` (12 cells) on every collection. These are computed at catalog-generation time by [`xopr.stac.morton.compute_mbox`](api/xopr.stac.morton.html#xopr.stac.morton.compute_mbox) and [`compute_mpolygon_from_items`](api/xopr.stac.morton.html#xopr.stac.morton.compute_mpolygon_from_items). + +The key invariant: **morton indices are hierarchical strings, so containment is prefix matching**. The encoding is base-4 β€” every digit narrows the spatial cell to one of four quadrants β€” so a digit can only be `1`, `2`, `3`, or `4`. A query point at order 18 has a 19-digit morton string. If a frame's mbox cell is the 5-digit prefix `12343`, every point whose order-18 morton starts with `12343` falls inside that cell. No polygon-polygon intersection β€” just `point_morton.startswith(cell_morton)`. This is the cheap inverted-index lookup that makes the bedmap and ATL06 backends fast even on millions of points. + +To turn morton cells back into shapely Polygons (for visualization or exact intersection), use [`mbox_to_polygons`](api/xopr.stac.morton.html#xopr.stac.morton.mbox_to_polygons): + +```python +from xopr.stac.morton import mbox_to_polygons +import geopandas as gpd + +polys = mbox_to_polygons(item['opr:mbox']) +gpd.GeoSeries(polys, crs='EPSG:4326').to_crs('EPSG:3031').plot() +``` + +## When morton is the wrong tool + +Morton-prefix matching is only useful when both sides of the comparison share the same coordinate system and one side has been pre-indexed. For OPR↔raster comparisons (BedMachine), there's no point indexing the raster β€” the natural interface is `xarray.DataArray.interp` at the OPR pick coordinates, which gives you exact bilinear sampling in one call. Skip morton; just project everything to a common CRS and interpolate. + +For OPR↔OPR self-intersection ([`crossovers.ipynb`](notebooks/crossovers.ipynb)), morton is also overkill: GeoPandas's spatial join handles the line-line intersection directly, and the per-pair work after that (compute the elevation difference at each crossing) is microseconds. Use [`find_intersections`](api/xopr.opr_tools.html#xopr.opr_tools.find_intersections) and skip the morton primitives. + +## Reproducibility notes + +- The bedmap and ATL06 case studies fetch external data over the network on first run; expect each notebook to take a few minutes end-to-end. +- [`bedmachine_comparison.ipynb`](notebooks/bedmachine_comparison.ipynb) requires NASA Earthdata credentials (via `earthaccess`) and is **not** re-executed by CI β€” see the warning at the top of that notebook for how to regenerate outputs locally. +- The morton primitives require a STAC catalog produced after [PR #77](https://github.com/englacial/xopr/pull/77). [`OPRConnection`](api/xopr.opr_access.html#xopr.opr_access.OPRConnection) syncs the catalog cache to your local machine on construction (cheap ETag check; no-op if nothing changed), so as new seasons are reprocessed under [issue #78](https://github.com/englacial/xopr/issues/78) you'll pick them up automatically. If you hit a missing-column error and suspect a stale cache, force a refresh manually: + +```python +from xopr.stac_cache import sync_opr_catalogs +sync_opr_catalogs() +``` diff --git a/docs/myst.yml b/docs/myst.yml index 3b3a8f6e..ec1a2823 100644 --- a/docs/myst.yml +++ b/docs/myst.yml @@ -21,6 +21,7 @@ project: - file: design.md - file: map.md - file: bedmap.md + - file: comparing_picks.md - title: API Docs url: /xopr/api/xopr.html - title: Notebooks @@ -28,13 +29,15 @@ project: - file: notebooks/demo_notebook.ipynb - file: notebooks/search_and_scaling.ipynb - file: notebooks/reading_params.ipynb - - file: notebooks/crossovers.ipynb - file: notebooks/bed_picks.ipynb + - file: notebooks/crossovers.ipynb + - file: notebooks/bedmachine_comparison.ipynb + - file: notebooks/bedmap_match.ipynb + - file: notebooks/xopr_atl06_crossovers.ipynb - file: notebooks/qc_demo.ipynb - file: notebooks/nonstandard_data_products.ipynb - file: notebooks/repicking.ipynb - - file: notebooks/xopr_atl06_crossovers.ipynb - + site: template: book-theme options: diff --git a/docs/notebooks/bed_picks.ipynb b/docs/notebooks/bed_picks.ipynb index b366ebdf..1de9e3ae 100644 --- a/docs/notebooks/bed_picks.ipynb +++ b/docs/notebooks/bed_picks.ipynb @@ -37,7 +37,6 @@ "import rioxarray\n", "from tqdm.notebook import tqdm\n", "import numpy as np\n", - "import verde as vd\n", "import pandas as pd\n", "import geopandas as gpd\n", "import matplotlib.pyplot as plt\n", @@ -162,24 +161,12 @@ "metadata": {}, "outputs": [], "source": [ - "layer_ds_list = []\n", - "\n", - "for id, frame in tqdm(gdf.iterrows(), total=len(gdf), mininterval=1.0, desc=\"Loading layers\"):\n", - " layers = opr.get_layers(frame)\n", - " bed_layer_name = None\n", - " if 'standard:bottom' in layers: # Generally, the picked bed should be in group \"standard\" with layer name \"bottom\"\n", - " bed_layer_name = 'standard:bottom'\n", - " elif ':bottom' in layers:\n", - " bed_layer_name = ':bottom' # But occasionally it seems to be missing the group\n", - " else:\n", - " continue # No bed layer found\n", - " # Layers are stored in terms of two-way travel time to avoid any questions about travel speed within ice\n", - " # This is different from how BedMap layers are stored, but it does make more sense when the radar data is availble to use twtt\n", - " layer_wgs84 = xopr.radar_util.layer_twtt_to_range(layers[bed_layer_name], layers[\"standard:surface\"], vertical_coordinate='wgs84').rename({'lat': 'Latitude', 'lon': 'Longitude'})\n", - " layer_wgs84 = xopr.geometry.project_dataset(layer_wgs84, target_crs='EPSG:3031')\n", - " layer_wgs84 = layer_wgs84.dropna('slow_time', subset=['wgs84'])\n", - " layer_wgs84['source'] = id\n", - " layer_ds_list.append(layer_wgs84)" + "# Load bed picks for every frame in one call.\n", + "# `load_bed_picks` returns a flat GeoDataFrame, one row per pick, tagged\n", + "# with the source frame's STAC id and (date, segment, frame) identifiers.\n", + "picks = opr.load_bed_picks(gdf, target_crs='EPSG:3031')\n", + "print(f\"Loaded {len(picks):,} bed picks from {picks['id'].nunique()} frames\")\n", + "picks.head()\n" ] }, { @@ -187,7 +174,7 @@ "id": "8326cee7", "metadata": {}, "source": [ - "We can now combine all of the layers to get a pointwise list of bed picks:" + "Each row of `picks` is one bed pick, with metadata so we can group by frame, segment, or date for any downstream analysis. Get the spatial extent of the picks for plot bounds:\n" ] }, { @@ -197,13 +184,8 @@ "metadata": {}, "outputs": [], "source": [ - "bed_merged = xr.concat(layer_ds_list, dim='slow_time')\n", - "\n", - "# Get extent of radar data for plots and bedmap comparison\n", - "xlim = (bed_merged.x.min().item(), bed_merged.x.max().item())\n", - "ylim = (bed_merged.y.min().item(), bed_merged.y.max().item())\n", - "\n", - "bed_merged" + "xlim = (picks.geometry.x.min(), picks.geometry.x.max())\n", + "ylim = (picks.geometry.y.min(), picks.geometry.y.max())\n" ] }, { @@ -213,8 +195,12 @@ "metadata": {}, "outputs": [], "source": [ - "bed_hv = bed_merged.hvplot.scatter(x='x', y='y', c='wgs84', cmap='turbo', s=2).opts(clabel='Bed Elevation WGS84 (m)')\n", - "(velocity_map.opts(colorbar=False) * coastline * region_hv * radar_frames_hv * bed_hv).opts(aspect='equal', legend_position='top_left', xlim=xlim, ylim=ylim)" + "bed_hv = picks.hvplot.points(\n", + " c='wgs84', cmap='turbo', s=2, hover_cols=['id'],\n", + ").opts(clabel='Bed Elevation WGS84 (m)')\n", + "(velocity_map.opts(colorbar=False) * coastline * region_hv * radar_frames_hv * bed_hv).opts(\n", + " aspect='equal', legend_position='top_left', xlim=xlim, ylim=ylim,\n", + ")\n" ] }, { @@ -244,81 +230,9 @@ "metadata": {}, "outputs": [], "source": [ - "def grid_dataarray(d: xr.DataArray, spacing=1000, aggregation_fns={'median': \"median\", 'std': 'std', 'count': \"count\"}):\n", - " \"\"\"\n", - " Grid a DataArray with x,y coordinates into a regular grid using block aggregation.\n", - " \n", - " Parameters\n", - " ----------\n", - " d : xr.DataArray\n", - " Input DataArray with 'x' and 'y' coordinates\n", - " spacing : float\n", - " Grid spacing in the same units as x,y coordinates\n", - " aggregation_fns : dict\n", - " Dictionary mapping aggregation function names to functions (e.g., {'median': np.median, 'std': np.std})\n", - " \n", - " Returns\n", - " -------\n", - " xr.Dataset\n", - " Dataset with variables named {d.name}_{fn_name} for each aggregation function\n", - " \"\"\"\n", - " # Get data extent\n", - " x_min = d['x'].min().values\n", - " x_max = d['x'].max().values\n", - " y_min = d['y'].min().values\n", - " y_max = d['y'].max().values\n", - " \n", - " # Extract coordinate and data values\n", - " x_data = d['x'].values\n", - " y_data = d['y'].values\n", - " data_values = d.values\n", - " \n", - " # Create grid coordinates\n", - " grid_x, grid_y = vd.grid_coordinates(\n", - " region=(x_min, x_max, y_min, y_max),\n", - " spacing=spacing\n", - " )\n", - " \n", - " # Dictionary to store gridded results for each aggregation function\n", - " data_vars = {}\n", - " \n", - " for fn_name, fn in aggregation_fns.items():\n", - " # Use Verde's BlockReduce with the specified aggregation function\n", - " gridder = vd.BlockReduce(\n", - " reduction=fn, \n", - " spacing=spacing, \n", - " region=(x_min, x_max, y_min, y_max),\n", - " center_coordinates=True\n", - " )\n", - " block_coords, block_values = gridder.filter(\n", - " coordinates=(x_data, y_data), \n", - " data=data_values\n", - " )\n", - " \n", - " # Initialize grid with NaN\n", - " grid_data = np.full(grid_x.shape, np.nan)\n", - " \n", - " # Vectorized approach: compute indices directly from coordinates\n", - " x_indices = np.floor((block_coords[0] - x_min) / spacing).astype(int)\n", - " y_indices = np.floor((block_coords[1] - y_min) / spacing).astype(int)\n", - " \n", - " for x_idx, y_idx, value in zip(x_indices.flatten(), y_indices.flatten(), block_values.flatten()):\n", - " grid_data[y_idx, x_idx] = value\n", - " \n", - " # Store in dictionary with name pattern\n", - " var_name = f\"{d.name}_{fn_name}\" if d.name else f\"data_{fn_name}\"\n", - " data_vars[var_name] = (['y', 'x'], grid_data)\n", - " \n", - " # Create Dataset with all aggregated variables\n", - " return xr.Dataset(\n", - " data_vars=data_vars,\n", - " coords={\n", - " 'y': grid_y[:, 0],\n", - " 'x': grid_x[0, :]\n", - " }\n", - " )\n", - "\n", - "gridded = grid_dataarray(bed_merged['wgs84'], spacing=5000)\n", + "from xopr.geometry import grid_points\n", + "\n", + "gridded = grid_points(picks, column='wgs84', spacing=5000)\n", "\n", "gridded_median_hv = hv.Image(gridded, kdims=['x', 'y'], vdims=['wgs84_median', 'wgs84_std', 'wgs84_count']).opts(\n", " cmap='turbo',\n", @@ -337,7 +251,7 @@ ")\n", "\n", "(velocity_map * region_hv * coastline * gridded_median_hv).opts(width=500, aspect='equal', xlim=xlim, ylim=ylim) + \\\n", - " (velocity_map * region_hv * coastline * gridded_std_hv).opts(width=500, aspect='equal', xlim=xlim, ylim=ylim)" + " (velocity_map * region_hv * coastline * gridded_std_hv).opts(width=500, aspect='equal', xlim=xlim, ylim=ylim)\n" ] }, { @@ -506,6 +420,22 @@ " title='Bedmap bed elevation in radar extent'\n", ")" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Comparing bed picks against external reference datasets\n", + "\n", + "The `picks` GeoDataFrame above is a flat, drop-in input for several comparison workflows in xopr. Each notebook starts from the same `opr.load_bed_picks(...)` call you just ran, then specializes:\n", + "\n", + "- **OPR \u2194 OPR self-intersection** \u2014 find places where flight lines cross each other and inspect bed-elevation differences at every crossover. See [`crossovers.ipynb`](./crossovers.ipynb).\n", + "- **OPR \u2194 BedMachine raster** \u2014 interpolate BedMachine at every pick location and map differences. See [`bedmachine_comparison.ipynb`](./bedmachine_comparison.ipynb).\n", + "- **OPR \u2194 Bedmap point cloud** \u2014 match every Bedmap point to its closest OPR frame via morton-prefix indexing. See [`bedmap_match.ipynb`](./bedmap_match.ipynb).\n", + "- **OPR \u2194 ICESat-2 ATL06** \u2014 find every ATL06 granule that overlaps each OPR frame. See [`xopr_atl06_crossovers.ipynb`](./xopr_atl06_crossovers.ipynb).\n", + "\n", + "For an overview of which matching strategy fits which problem, see [Comparing picks against external datasets](../comparing_picks.md).\n" + ] } ], "metadata": { @@ -529,4 +459,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/docs/notebooks/bedmachine_comparison.ipynb b/docs/notebooks/bedmachine_comparison.ipynb index 4775ab93..eb5e71d1 100644 --- a/docs/notebooks/bedmachine_comparison.ipynb +++ b/docs/notebooks/bedmachine_comparison.ipynb @@ -12,15 +12,1215 @@ "\n", "This notebook compares radar bed picks from OPR with the BedMachine Antarctica gridded data product. We load bed picks for the Vincennes Bay / Underwood region, fetch BedMachine via [earthaccess](https://earthaccess.readthedocs.io/), and visualize the differences on an interactive map.\n", "\n", - "Note that becuase this notebook relies on `earthaccess`, it does not run as part of our automated docs build." + ":::{note}\n", + "**To run this notebook yourself, you need a NASA Earthdata Login.** It's free \u2014 sign up at if you don't already have one.\n", + "\n", + "Once registered, authenticate `earthaccess` once and it will store credentials in `~/.netrc` for future use:\n", + "\n", + "```bash\n", + "python -c \"import earthaccess; earthaccess.login(persist=True)\"\n", + "```\n", + "\n", + "After that, the `earthaccess.login()` call in the cell below will pick up your stored credentials automatically.\n", + ":::\n", + "\n", + ":::{note}\n", + "Because this notebook depends on NASA Earthdata credentials, it does **not** execute as part of our automated docs build \u2014 the visualizations rendered here come from a recent local run. The notebook code is fully reproducible if you run it yourself.\n", + ":::\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "e4960391", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-28T23:42:26.878395Z", + "iopub.status.busy": "2026-04-28T23:42:26.877798Z", + "iopub.status.idle": "2026-04-28T23:42:32.971899Z", + "shell.execute_reply": "2026-04-28T23:42:32.970845Z" + }, + "tags": [ + "skip-execution" + ] + }, + "outputs": [ + { + "data": { + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " const force = true;\n", + " const version = '3.8.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", + " const reloading = false;\n", + " const Bokeh = root.Bokeh;\n", + " const BK_RE = /^https:\\/\\/cdn\\.bokeh\\.org\\/bokeh\\/(release|dev)\\/bokeh-/;\n", + " const PN_RE = /^https:\\/\\/cdn\\.holoviz\\.org\\/panel\\/[^/]+\\/dist\\/panel/i;\n", + "\n", + " // Set a timeout for this load but only if we are not already initializing\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks;\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, js_modules, js_exports, Bokeh, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + " if (js_modules == null) js_modules = [];\n", + " if (js_exports == null) js_exports = {};\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + "\n", + " if (root._bokeh_is_loading > 0) {\n", + " // Don't load bokeh if it is still initializing\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", + " // There is nothing to load\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + "\n", + " function on_load() {\n", + " root._bokeh_is_loading--;\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", + " run_callbacks()\n", + " }\n", + " }\n", + " window._bokeh_on_load = on_load\n", + "\n", + " function on_error(e) {\n", + " const src_el = e.srcElement\n", + " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", + " }\n", + "\n", + " const skip = [];\n", + " if (window.requirejs) {\n", + " window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n", + " root._bokeh_is_loading = css_urls.length + 0;\n", + " } else {\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n", + " }\n", + "\n", + " const existing_stylesheets = []\n", + " const links = document.getElementsByTagName('link')\n", + " for (let i = 0; i < links.length; i++) {\n", + " const link = links[i]\n", + " if (link.href != null) {\n", + " existing_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (let i = 0; i < css_urls.length; i++) {\n", + " const url = css_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", + " on_load()\n", + " continue;\n", + " }\n", + " const element = document.createElement(\"link\");\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.rel = \"stylesheet\";\n", + " element.type = \"text/css\";\n", + " element.href = url;\n", + " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", + " document.body.appendChild(element);\n", + " } var existing_scripts = []\n", + " const scripts = document.getElementsByTagName('script')\n", + " for (let i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + " existing_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (let i = 0; i < js_urls.length; i++) {\n", + " const url = js_urls[i];\n", + " const escaped = encodeURI(url)\n", + " const shouldSkip = skip.includes(escaped) || existing_scripts.includes(escaped)\n", + " const isBokehOrPanel = BK_RE.test(escaped) || PN_RE.test(escaped)\n", + " const missingOrBroken = Bokeh == null || Bokeh.Panel == null || (Bokeh.version != version && !Bokeh.versions?.has(version)) || Bokeh.versions?.get(version).Panel == null;\n", + " if (shouldSkip && !(isBokehOrPanel && missingOrBroken)) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " const element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (let i = 0; i < js_modules.length; i++) {\n", + " const url = js_modules[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (const name in js_exports) {\n", + " const url = js_exports[name];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " element.textContent = `\n", + " import ${name} from \"${url}\"\n", + " window.${name} = ${name}\n", + " window._bokeh_on_load()\n", + " `\n", + " document.head.appendChild(element);\n", + " }\n", + " if (!js_urls.length && !js_modules.length) {\n", + " on_load()\n", + " }\n", + " };\n", + "\n", + " function inject_raw_css(css) {\n", + " const element = document.createElement(\"style\");\n", + " element.appendChild(document.createTextNode(css));\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " const js_urls = [\"https://cdn.holoviz.org/panel/1.8.4/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.8.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.8.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.8.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.8.1.min.js\", \"https://cdn.holoviz.org/panel/1.8.4/dist/panel.min.js\"];\n", + " const js_modules = [];\n", + " const js_exports = {};\n", + " const css_urls = [];\n", + " const inline_js = [ function(Bokeh) {\n", + " Bokeh.set_log_level(\"info\");\n", + " },\n", + "function(Bokeh) {} // ensure no trailing comma for IE\n", + " ];\n", + "\n", + " function run_inline_js() {\n", + " if ((root.Bokeh !== undefined) || (force === true)) {\n", + " for (let i = 0; i < inline_js.length; i++) {\n", + " try {\n", + " inline_js[i].call(root, root.Bokeh);\n", + " } catch(e) {\n", + " if (!reloading) {\n", + " throw e;\n", + " }\n", + " }\n", + " }\n", + " } else if (Date.now() < root._bokeh_timeout) {\n", + " setTimeout(run_inline_js, 100);\n", + " } else if (!root._bokeh_failed_load) {\n", + " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", + " root._bokeh_failed_load = true;\n", + " }\n", + " root._bokeh_is_initializing = false;\n", + " }\n", + "\n", + " function load_or_wait() {\n", + " // Implement a backoff loop that tries to ensure we do not load multiple\n", + " // versions of Bokeh and its dependencies at the same time.\n", + " // In recent versions we use the root._bokeh_is_initializing flag\n", + " // to determine whether there is an ongoing attempt to initialize\n", + " // bokeh, however for backward compatibility we also try to ensure\n", + " // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n", + " // before older versions are fully initialized.\n", + " if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n", + " // If the timeout and bokeh was not successfully loaded we reset\n", + " // everything and try loading again\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_is_initializing = false;\n", + " root._bokeh_onload_callbacks = undefined;\n", + " root._bokeh_is_loading = 0;\n", + " console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n", + " load_or_wait();\n", + " } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n", + " setTimeout(load_or_wait, 100);\n", + " } else {\n", + " root._bokeh_is_initializing = true;\n", + " root._bokeh_onload_callbacks = [];\n", + " const bokeh_loaded = Bokeh != null && ((Bokeh.version === version && Bokeh.Panel) || (Bokeh.versions?.has(version) && Bokeh.versions.get(version).Panel));\n", + " if (!reloading && !bokeh_loaded) {\n", + " if (root.Bokeh) {\n", + " root.Bokeh = undefined;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\n", + " load_libs(css_urls, js_urls, js_modules, js_exports, Bokeh, function() {\n", + " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + " run_inline_js();\n", + " if (Bokeh != undefined && !reloading) {\n", + " const NewBokeh = root.Bokeh;\n", + " if (Bokeh.versions === undefined) {\n", + " Bokeh.versions = new Map();\n", + " }\n", + " if (NewBokeh.version !== Bokeh.version) {\n", + " Bokeh[NewBokeh.version] = NewBokeh;\n", + " Bokeh.versions.set(NewBokeh.version, NewBokeh);\n", + " }\n", + " root.Bokeh = Bokeh;\n", + " }\n", + " });\n", + " }\n", + " }\n", + " // Give older versions of the autoload script a head-start to ensure\n", + " // they initialize before we start loading newer version.\n", + " setTimeout(load_or_wait, 100)\n", + "}(window));" + ], + "application/vnd.holoviews_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n const version = '3.8.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = false;\n const Bokeh = root.Bokeh;\n const BK_RE = /^https:\\/\\/cdn\\.bokeh\\.org\\/bokeh\\/(release|dev)\\/bokeh-/;\n const PN_RE = /^https:\\/\\/cdn\\.holoviz\\.org\\/panel\\/[^/]+\\/dist\\/panel/i;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, Bokeh, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n root._bokeh_is_loading = css_urls.length + 0;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } var existing_scripts = []\n const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n const shouldSkip = skip.includes(escaped) || existing_scripts.includes(escaped)\n const isBokehOrPanel = BK_RE.test(escaped) || PN_RE.test(escaped)\n const missingOrBroken = Bokeh == null || Bokeh.Panel == null || (Bokeh.version != version && !Bokeh.versions?.has(version)) || Bokeh.versions?.get(version).Panel == null;\n if (shouldSkip && !(isBokehOrPanel && missingOrBroken)) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.holoviz.org/panel/1.8.4/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.8.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.8.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.8.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.8.1.min.js\", \"https://cdn.holoviz.org/panel/1.8.4/dist/panel.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false;\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0;\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n root._bokeh_is_initializing = true;\n root._bokeh_onload_callbacks = [];\n const bokeh_loaded = Bokeh != null && ((Bokeh.version === version && Bokeh.Panel) || (Bokeh.versions?.has(version) && Bokeh.versions.get(version).Panel));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, Bokeh, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n if (Bokeh != undefined && !reloading) {\n const NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh[NewBokeh.version] = NewBokeh;\n Bokeh.versions.set(NewBokeh.version, NewBokeh);\n }\n root.Bokeh = Bokeh;\n }\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "\n", + "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", + " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", + "}\n", + "\n", + "\n", + " function JupyterCommManager() {\n", + " }\n", + "\n", + " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", + " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " comm_manager.register_target(comm_id, function(comm) {\n", + " comm.on_msg(msg_handler);\n", + " });\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", + " comm.onMsg = msg_handler;\n", + " });\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " var content = {data: message.data, comm_id};\n", + " var buffers = []\n", + " for (var buffer of message.buffers || []) {\n", + " buffers.push(new DataView(buffer))\n", + " }\n", + " var metadata = message.metadata || {};\n", + " var msg = {content, buffers, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " })\n", + " }\n", + " }\n", + "\n", + " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", + " if (comm_id in window.PyViz.comms) {\n", + " return window.PyViz.comms[comm_id];\n", + " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", + " if (msg_handler) {\n", + " comm.on_msg(msg_handler);\n", + " }\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", + " let retries = 0;\n", + " const open = () => {\n", + " if (comm.active) {\n", + " comm.open();\n", + " } else if (retries > 3) {\n", + " console.warn('Comm target never activated')\n", + " } else {\n", + " retries += 1\n", + " setTimeout(open, 500)\n", + " }\n", + " }\n", + " if (comm.active) {\n", + " comm.open();\n", + " } else {\n", + " setTimeout(open, 500)\n", + " }\n", + " if (msg_handler) {\n", + " comm.onMsg = msg_handler;\n", + " }\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " var comm_promise = google.colab.kernel.comms.open(comm_id)\n", + " comm_promise.then((comm) => {\n", + " window.PyViz.comms[comm_id] = comm;\n", + " if (msg_handler) {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " var content = {data: message.data};\n", + " var metadata = message.metadata || {comm_id};\n", + " var msg = {content, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " })\n", + " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", + " return comm_promise.then((comm) => {\n", + " comm.send(data, metadata, buffers, disposeOnDone);\n", + " });\n", + " };\n", + " var comm = {\n", + " send: sendClosure\n", + " };\n", + " }\n", + " window.PyViz.comms[comm_id] = comm;\n", + " return comm;\n", + " }\n", + " window.PyViz.comm_manager = new JupyterCommManager();\n", + " \n", + "\n", + "\n", + "var JS_MIME_TYPE = 'application/javascript';\n", + "var HTML_MIME_TYPE = 'text/html';\n", + "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", + "var CLASS_NAME = 'output';\n", + "\n", + "/**\n", + " * Render data to the DOM node\n", + " */\n", + "function render(props, node) {\n", + " var div = document.createElement(\"div\");\n", + " var script = document.createElement(\"script\");\n", + " node.appendChild(div);\n", + " node.appendChild(script);\n", + "}\n", + "\n", + "/**\n", + " * Handle when a new output is added\n", + " */\n", + "function handle_add_output(event, handle) {\n", + " var output_area = handle.output_area;\n", + " var output = handle.output;\n", + " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", + " return\n", + " }\n", + " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", + " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", + " if (id !== undefined) {\n", + " var nchildren = toinsert.length;\n", + " var html_node = toinsert[nchildren-1].children[0];\n", + " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var scripts = [];\n", + " var nodelist = html_node.querySelectorAll(\"script\");\n", + " for (var i in nodelist) {\n", + " if (nodelist.hasOwnProperty(i)) {\n", + " scripts.push(nodelist[i])\n", + " }\n", + " }\n", + "\n", + " scripts.forEach( function (oldScript) {\n", + " var newScript = document.createElement(\"script\");\n", + " var attrs = [];\n", + " var nodemap = oldScript.attributes;\n", + " for (var j in nodemap) {\n", + " if (nodemap.hasOwnProperty(j)) {\n", + " attrs.push(nodemap[j])\n", + " }\n", + " }\n", + " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", + " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", + " oldScript.parentNode.replaceChild(newScript, oldScript);\n", + " });\n", + " if (JS_MIME_TYPE in output.data) {\n", + " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", + " }\n", + " output_area._hv_plot_id = id;\n", + " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", + " window.PyViz.plot_index[id] = Bokeh.index[id];\n", + " } else {\n", + " window.PyViz.plot_index[id] = null;\n", + " }\n", + " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", + " var bk_div = document.createElement(\"div\");\n", + " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var script_attrs = bk_div.children[0].attributes;\n", + " for (var i = 0; i < script_attrs.length; i++) {\n", + " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", + " }\n", + " // store reference to server id on output_area\n", + " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle when an output is cleared or removed\n", + " */\n", + "function handle_clear_output(event, handle) {\n", + " var id = handle.cell.output_area._hv_plot_id;\n", + " var server_id = handle.cell.output_area._bokeh_server_id;\n", + " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", + " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", + " if (server_id !== null) {\n", + " comm.send({event_type: 'server_delete', 'id': server_id});\n", + " return;\n", + " } else if (comm !== null) {\n", + " comm.send({event_type: 'delete', 'id': id});\n", + " }\n", + " delete PyViz.plot_index[id];\n", + " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", + " var doc = window.Bokeh.index[id].model.document\n", + " doc.clear();\n", + " const i = window.Bokeh.documents.indexOf(doc);\n", + " if (i > -1) {\n", + " window.Bokeh.documents.splice(i, 1);\n", + " }\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle kernel restart event\n", + " */\n", + "function handle_kernel_cleanup(event, handle) {\n", + " delete PyViz.comms[\"hv-extension-comm\"];\n", + " window.PyViz.plot_index = {}\n", + "}\n", + "\n", + "/**\n", + " * Handle update_display_data messages\n", + " */\n", + "function handle_update_output(event, handle) {\n", + " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", + " handle_add_output(event, handle)\n", + "}\n", + "\n", + "function register_renderer(events, OutputArea) {\n", + " function append_mime(data, metadata, element) {\n", + " // create a DOM node to render to\n", + " var toinsert = this.create_output_subarea(\n", + " metadata,\n", + " CLASS_NAME,\n", + " EXEC_MIME_TYPE\n", + " );\n", + " this.keyboard_manager.register_events(toinsert);\n", + " // Render to node\n", + " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", + " render(props, toinsert[0]);\n", + " element.append(toinsert);\n", + " return toinsert\n", + " }\n", + "\n", + " events.on('output_added.OutputArea', handle_add_output);\n", + " events.on('output_updated.OutputArea', handle_update_output);\n", + " events.on('clear_output.CodeCell', handle_clear_output);\n", + " events.on('delete.Cell', handle_clear_output);\n", + " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", + "\n", + " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", + " safe: true,\n", + " index: 0\n", + " });\n", + "}\n", + "\n", + "if (window.Jupyter !== undefined) {\n", + " try {\n", + " var events = require('base/js/events');\n", + " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", + " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", + " register_renderer(events, OutputArea);\n", + " }\n", + " } catch(err) {\n", + " }\n", + "}\n" + ], + "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n let retries = 0;\n const open = () => {\n if (comm.active) {\n comm.open();\n } else if (retries > 3) {\n console.warn('Comm target never activated')\n } else {\n retries += 1\n setTimeout(open, 500)\n }\n }\n if (comm.active) {\n comm.open();\n } else {\n setTimeout(open, 500)\n }\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n })\n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ] + }, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "e59e921b-146f-41bb-a32c-dff6a1e0b911" + } + }, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " const force = false;\n", + " const version = '3.8.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", + " const reloading = true;\n", + " const Bokeh = root.Bokeh;\n", + " const BK_RE = /^https:\\/\\/cdn\\.bokeh\\.org\\/bokeh\\/(release|dev)\\/bokeh-/;\n", + " const PN_RE = /^https:\\/\\/cdn\\.holoviz\\.org\\/panel\\/[^/]+\\/dist\\/panel/i;\n", + "\n", + " // Set a timeout for this load but only if we are not already initializing\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks;\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, js_modules, js_exports, Bokeh, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + " if (js_modules == null) js_modules = [];\n", + " if (js_exports == null) js_exports = {};\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + "\n", + " if (root._bokeh_is_loading > 0) {\n", + " // Don't load bokeh if it is still initializing\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", + " // There is nothing to load\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + "\n", + " function on_load() {\n", + " root._bokeh_is_loading--;\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", + " run_callbacks()\n", + " }\n", + " }\n", + " window._bokeh_on_load = on_load\n", + "\n", + " function on_error(e) {\n", + " const src_el = e.srcElement\n", + " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", + " }\n", + "\n", + " const skip = [];\n", + " if (window.requirejs) {\n", + " window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n", + " root._bokeh_is_loading = css_urls.length + 0;\n", + " } else {\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n", + " }\n", + "\n", + " const existing_stylesheets = []\n", + " const links = document.getElementsByTagName('link')\n", + " for (let i = 0; i < links.length; i++) {\n", + " const link = links[i]\n", + " if (link.href != null) {\n", + " existing_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (let i = 0; i < css_urls.length; i++) {\n", + " const url = css_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", + " on_load()\n", + " continue;\n", + " }\n", + " const element = document.createElement(\"link\");\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.rel = \"stylesheet\";\n", + " element.type = \"text/css\";\n", + " element.href = url;\n", + " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", + " document.body.appendChild(element);\n", + " } var existing_scripts = []\n", + " const scripts = document.getElementsByTagName('script')\n", + " for (let i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + " existing_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (let i = 0; i < js_urls.length; i++) {\n", + " const url = js_urls[i];\n", + " const escaped = encodeURI(url)\n", + " const shouldSkip = skip.includes(escaped) || existing_scripts.includes(escaped)\n", + " const isBokehOrPanel = BK_RE.test(escaped) || PN_RE.test(escaped)\n", + " const missingOrBroken = Bokeh == null || Bokeh.Panel == null || (Bokeh.version != version && !Bokeh.versions?.has(version)) || Bokeh.versions?.get(version).Panel == null;\n", + " if (shouldSkip && !(isBokehOrPanel && missingOrBroken)) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " const element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (let i = 0; i < js_modules.length; i++) {\n", + " const url = js_modules[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (const name in js_exports) {\n", + " const url = js_exports[name];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " element.textContent = `\n", + " import ${name} from \"${url}\"\n", + " window.${name} = ${name}\n", + " window._bokeh_on_load()\n", + " `\n", + " document.head.appendChild(element);\n", + " }\n", + " if (!js_urls.length && !js_modules.length) {\n", + " on_load()\n", + " }\n", + " };\n", + "\n", + " function inject_raw_css(css) {\n", + " const element = document.createElement(\"style\");\n", + " element.appendChild(document.createTextNode(css));\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " const js_urls = [\"https://cdn.holoviz.org/panel/1.8.4/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n", + " const js_modules = [];\n", + " const js_exports = {};\n", + " const css_urls = [];\n", + " const inline_js = [ function(Bokeh) {\n", + " Bokeh.set_log_level(\"info\");\n", + " },\n", + "function(Bokeh) {} // ensure no trailing comma for IE\n", + " ];\n", + "\n", + " function run_inline_js() {\n", + " if ((root.Bokeh !== undefined) || (force === true)) {\n", + " for (let i = 0; i < inline_js.length; i++) {\n", + " try {\n", + " inline_js[i].call(root, root.Bokeh);\n", + " } catch(e) {\n", + " if (!reloading) {\n", + " throw e;\n", + " }\n", + " }\n", + " }\n", + " } else if (Date.now() < root._bokeh_timeout) {\n", + " setTimeout(run_inline_js, 100);\n", + " } else if (!root._bokeh_failed_load) {\n", + " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", + " root._bokeh_failed_load = true;\n", + " }\n", + " root._bokeh_is_initializing = false;\n", + " }\n", + "\n", + " function load_or_wait() {\n", + " // Implement a backoff loop that tries to ensure we do not load multiple\n", + " // versions of Bokeh and its dependencies at the same time.\n", + " // In recent versions we use the root._bokeh_is_initializing flag\n", + " // to determine whether there is an ongoing attempt to initialize\n", + " // bokeh, however for backward compatibility we also try to ensure\n", + " // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n", + " // before older versions are fully initialized.\n", + " if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n", + " // If the timeout and bokeh was not successfully loaded we reset\n", + " // everything and try loading again\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_is_initializing = false;\n", + " root._bokeh_onload_callbacks = undefined;\n", + " root._bokeh_is_loading = 0;\n", + " console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n", + " load_or_wait();\n", + " } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n", + " setTimeout(load_or_wait, 100);\n", + " } else {\n", + " root._bokeh_is_initializing = true;\n", + " root._bokeh_onload_callbacks = [];\n", + " const bokeh_loaded = Bokeh != null && ((Bokeh.version === version && Bokeh.Panel) || (Bokeh.versions?.has(version) && Bokeh.versions.get(version).Panel));\n", + " if (!reloading && !bokeh_loaded) {\n", + " if (root.Bokeh) {\n", + " root.Bokeh = undefined;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\n", + " load_libs(css_urls, js_urls, js_modules, js_exports, Bokeh, function() {\n", + " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + " run_inline_js();\n", + " if (Bokeh != undefined && !reloading) {\n", + " const NewBokeh = root.Bokeh;\n", + " if (Bokeh.versions === undefined) {\n", + " Bokeh.versions = new Map();\n", + " }\n", + " if (NewBokeh.version !== Bokeh.version) {\n", + " Bokeh[NewBokeh.version] = NewBokeh;\n", + " Bokeh.versions.set(NewBokeh.version, NewBokeh);\n", + " }\n", + " root.Bokeh = Bokeh;\n", + " }\n", + " });\n", + " }\n", + " }\n", + " // Give older versions of the autoload script a head-start to ensure\n", + " // they initialize before we start loading newer version.\n", + " setTimeout(load_or_wait, 100)\n", + "}(window));" + ], + "application/vnd.holoviews_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = false;\n const version = '3.8.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = true;\n const Bokeh = root.Bokeh;\n const BK_RE = /^https:\\/\\/cdn\\.bokeh\\.org\\/bokeh\\/(release|dev)\\/bokeh-/;\n const PN_RE = /^https:\\/\\/cdn\\.holoviz\\.org\\/panel\\/[^/]+\\/dist\\/panel/i;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, Bokeh, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n root._bokeh_is_loading = css_urls.length + 0;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } var existing_scripts = []\n const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n const shouldSkip = skip.includes(escaped) || existing_scripts.includes(escaped)\n const isBokehOrPanel = BK_RE.test(escaped) || PN_RE.test(escaped)\n const missingOrBroken = Bokeh == null || Bokeh.Panel == null || (Bokeh.version != version && !Bokeh.versions?.has(version)) || Bokeh.versions?.get(version).Panel == null;\n if (shouldSkip && !(isBokehOrPanel && missingOrBroken)) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.holoviz.org/panel/1.8.4/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false;\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0;\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n root._bokeh_is_initializing = true;\n root._bokeh_onload_callbacks = [];\n const bokeh_loaded = Bokeh != null && ((Bokeh.version === version && Bokeh.Panel) || (Bokeh.versions?.has(version) && Bokeh.versions.get(version).Panel));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, Bokeh, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n if (Bokeh != undefined && !reloading) {\n const NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh[NewBokeh.version] = NewBokeh;\n Bokeh.versions.set(NewBokeh.version, NewBokeh);\n }\n root.Bokeh = Bokeh;\n }\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "\n", + "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", + " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", + "}\n", + "\n", + "\n", + " function JupyterCommManager() {\n", + " }\n", + "\n", + " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", + " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " comm_manager.register_target(comm_id, function(comm) {\n", + " comm.on_msg(msg_handler);\n", + " });\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", + " comm.onMsg = msg_handler;\n", + " });\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " var content = {data: message.data, comm_id};\n", + " var buffers = []\n", + " for (var buffer of message.buffers || []) {\n", + " buffers.push(new DataView(buffer))\n", + " }\n", + " var metadata = message.metadata || {};\n", + " var msg = {content, buffers, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " })\n", + " }\n", + " }\n", + "\n", + " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", + " if (comm_id in window.PyViz.comms) {\n", + " return window.PyViz.comms[comm_id];\n", + " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", + " if (msg_handler) {\n", + " comm.on_msg(msg_handler);\n", + " }\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", + " let retries = 0;\n", + " const open = () => {\n", + " if (comm.active) {\n", + " comm.open();\n", + " } else if (retries > 3) {\n", + " console.warn('Comm target never activated')\n", + " } else {\n", + " retries += 1\n", + " setTimeout(open, 500)\n", + " }\n", + " }\n", + " if (comm.active) {\n", + " comm.open();\n", + " } else {\n", + " setTimeout(open, 500)\n", + " }\n", + " if (msg_handler) {\n", + " comm.onMsg = msg_handler;\n", + " }\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " var comm_promise = google.colab.kernel.comms.open(comm_id)\n", + " comm_promise.then((comm) => {\n", + " window.PyViz.comms[comm_id] = comm;\n", + " if (msg_handler) {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " var content = {data: message.data};\n", + " var metadata = message.metadata || {comm_id};\n", + " var msg = {content, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " })\n", + " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", + " return comm_promise.then((comm) => {\n", + " comm.send(data, metadata, buffers, disposeOnDone);\n", + " });\n", + " };\n", + " var comm = {\n", + " send: sendClosure\n", + " };\n", + " }\n", + " window.PyViz.comms[comm_id] = comm;\n", + " return comm;\n", + " }\n", + " window.PyViz.comm_manager = new JupyterCommManager();\n", + " \n", + "\n", + "\n", + "var JS_MIME_TYPE = 'application/javascript';\n", + "var HTML_MIME_TYPE = 'text/html';\n", + "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", + "var CLASS_NAME = 'output';\n", + "\n", + "/**\n", + " * Render data to the DOM node\n", + " */\n", + "function render(props, node) {\n", + " var div = document.createElement(\"div\");\n", + " var script = document.createElement(\"script\");\n", + " node.appendChild(div);\n", + " node.appendChild(script);\n", + "}\n", + "\n", + "/**\n", + " * Handle when a new output is added\n", + " */\n", + "function handle_add_output(event, handle) {\n", + " var output_area = handle.output_area;\n", + " var output = handle.output;\n", + " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", + " return\n", + " }\n", + " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", + " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", + " if (id !== undefined) {\n", + " var nchildren = toinsert.length;\n", + " var html_node = toinsert[nchildren-1].children[0];\n", + " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var scripts = [];\n", + " var nodelist = html_node.querySelectorAll(\"script\");\n", + " for (var i in nodelist) {\n", + " if (nodelist.hasOwnProperty(i)) {\n", + " scripts.push(nodelist[i])\n", + " }\n", + " }\n", + "\n", + " scripts.forEach( function (oldScript) {\n", + " var newScript = document.createElement(\"script\");\n", + " var attrs = [];\n", + " var nodemap = oldScript.attributes;\n", + " for (var j in nodemap) {\n", + " if (nodemap.hasOwnProperty(j)) {\n", + " attrs.push(nodemap[j])\n", + " }\n", + " }\n", + " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", + " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", + " oldScript.parentNode.replaceChild(newScript, oldScript);\n", + " });\n", + " if (JS_MIME_TYPE in output.data) {\n", + " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", + " }\n", + " output_area._hv_plot_id = id;\n", + " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", + " window.PyViz.plot_index[id] = Bokeh.index[id];\n", + " } else {\n", + " window.PyViz.plot_index[id] = null;\n", + " }\n", + " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", + " var bk_div = document.createElement(\"div\");\n", + " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var script_attrs = bk_div.children[0].attributes;\n", + " for (var i = 0; i < script_attrs.length; i++) {\n", + " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", + " }\n", + " // store reference to server id on output_area\n", + " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle when an output is cleared or removed\n", + " */\n", + "function handle_clear_output(event, handle) {\n", + " var id = handle.cell.output_area._hv_plot_id;\n", + " var server_id = handle.cell.output_area._bokeh_server_id;\n", + " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", + " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", + " if (server_id !== null) {\n", + " comm.send({event_type: 'server_delete', 'id': server_id});\n", + " return;\n", + " } else if (comm !== null) {\n", + " comm.send({event_type: 'delete', 'id': id});\n", + " }\n", + " delete PyViz.plot_index[id];\n", + " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", + " var doc = window.Bokeh.index[id].model.document\n", + " doc.clear();\n", + " const i = window.Bokeh.documents.indexOf(doc);\n", + " if (i > -1) {\n", + " window.Bokeh.documents.splice(i, 1);\n", + " }\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle kernel restart event\n", + " */\n", + "function handle_kernel_cleanup(event, handle) {\n", + " delete PyViz.comms[\"hv-extension-comm\"];\n", + " window.PyViz.plot_index = {}\n", + "}\n", + "\n", + "/**\n", + " * Handle update_display_data messages\n", + " */\n", + "function handle_update_output(event, handle) {\n", + " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", + " handle_add_output(event, handle)\n", + "}\n", + "\n", + "function register_renderer(events, OutputArea) {\n", + " function append_mime(data, metadata, element) {\n", + " // create a DOM node to render to\n", + " var toinsert = this.create_output_subarea(\n", + " metadata,\n", + " CLASS_NAME,\n", + " EXEC_MIME_TYPE\n", + " );\n", + " this.keyboard_manager.register_events(toinsert);\n", + " // Render to node\n", + " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", + " render(props, toinsert[0]);\n", + " element.append(toinsert);\n", + " return toinsert\n", + " }\n", + "\n", + " events.on('output_added.OutputArea', handle_add_output);\n", + " events.on('output_updated.OutputArea', handle_update_output);\n", + " events.on('clear_output.CodeCell', handle_clear_output);\n", + " events.on('delete.Cell', handle_clear_output);\n", + " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", + "\n", + " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", + " safe: true,\n", + " index: 0\n", + " });\n", + "}\n", + "\n", + "if (window.Jupyter !== undefined) {\n", + " try {\n", + " var events = require('base/js/events');\n", + " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", + " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", + " register_renderer(events, OutputArea);\n", + " }\n", + " } catch(err) {\n", + " }\n", + "}\n" + ], + "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n let retries = 0;\n const open = () => {\n if (comm.active) {\n comm.open();\n } else if (retries > 3) {\n console.warn('Comm target never activated')\n } else {\n retries += 1\n setTimeout(open, 500)\n }\n }\n if (comm.active) {\n comm.open();\n } else {\n setTimeout(open, 500)\n }\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n })\n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n" + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import xopr\n", "import numpy as np\n", @@ -33,9 +1233,8 @@ "import geopandas as gpd\n", "import earthaccess\n", "import matplotlib.pyplot as plt\n", - "from tqdm.notebook import tqdm\n", "import warnings\n", - "warnings.filterwarnings('ignore')" + "warnings.filterwarnings('ignore')\n" ] }, { @@ -48,10 +1247,122 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "91d6427c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-28T23:42:32.976696Z", + "iopub.status.busy": "2026-04-28T23:42:32.976237Z", + "iopub.status.idle": "2026-04-28T23:42:36.514743Z", + "shell.execute_reply": "2026-04-28T23:42:36.514204Z" + }, + "tags": [ + "skip-execution" + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Area is 137441.2 km^2, automatically applying 1km simplification tolerance\n", + "To disable simplification, set simplify_tolerance=0\n" + ] + }, + { + "data": {}, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":NdOverlay [collection]\n", + " :Path [x,y] (id)" + ] + }, + "execution_count": 2, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "dbdb3e46-f99a-4e7c-9ba3-d44604f41a3f" + } + }, + "output_type": "execute_result" + } + ], "source": [ "# Create an OPRConnection object to load OPR radar data\n", "opr = xopr.OPRConnection(cache_dir='radar_cache')\n", @@ -64,27 +1375,45 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "4ada3c01", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-28T23:42:36.525546Z", + "iopub.status.busy": "2026-04-28T23:42:36.525149Z", + "iopub.status.idle": "2026-04-28T23:43:19.493278Z", + "shell.execute_reply": "2026-04-28T23:43:19.492299Z" + }, + "tags": [ + "skip-execution" + ] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "be26796ae5854b0e8802f5899193d7fc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading bed picks: 0%| | 0/268 [00:00\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'bed_wgs84' (y: 1743, x: 1584)> Size: 11MB\n",
+       "array([[ 247.13812  ,  240.19853  ,  235.23332  , ...,   44.13156  ,\n",
+       "          44.20701  ,   45.789177 ],\n",
+       "       [ 243.26938  ,  236.6479   ,  231.99176  , ...,   32.852192 ,\n",
+       "          35.070477 ,   40.090523 ],\n",
+       "       [ 238.38646  ,  232.07408  ,  227.68283  , ...,   25.552284 ,\n",
+       "          30.57069  ,   39.78161  ],\n",
+       "       ...,\n",
+       "       [  38.59071  ,   39.49646  ,   40.732956 , ..., -340.1119   ,\n",
+       "        -368.05136  , -390.17987  ],\n",
+       "       [   9.22772  ,   14.843224 ,   20.17106  , ..., -333.9134   ,\n",
+       "        -358.28726  , -388.18198  ],\n",
+       "       [ -12.904053 ,   -2.6473484,    6.9129467, ..., -339.09042  ,\n",
+       "        -371.57153  , -394.99426  ]], shape=(1743, 1584), dtype=float32)\n",
+       "Coordinates:\n",
+       "  * y        (y) int32 7kB -137500 -138000 -138500 ... -1008000 -1008500\n",
+       "  * x        (x) int32 6kB 1671500 1672000 1672500 ... 2462000 2462500 2463000\n",
+       "Attributes:\n",
+       "    units:         m\n",
+       "    source:        IBCSO v2 and Mathieu Morlighem\n",
+       "    grid_mapping:  mapping\n",
+       "    geoid:         eigen-6c4 (Forste et al 2014)
" + ], + "text/plain": [ + " Size: 11MB\n", + "array([[ 247.13812 , 240.19853 , 235.23332 , ..., 44.13156 ,\n", + " 44.20701 , 45.789177 ],\n", + " [ 243.26938 , 236.6479 , 231.99176 , ..., 32.852192 ,\n", + " 35.070477 , 40.090523 ],\n", + " [ 238.38646 , 232.07408 , 227.68283 , ..., 25.552284 ,\n", + " 30.57069 , 39.78161 ],\n", + " ...,\n", + " [ 38.59071 , 39.49646 , 40.732956 , ..., -340.1119 ,\n", + " -368.05136 , -390.17987 ],\n", + " [ 9.22772 , 14.843224 , 20.17106 , ..., -333.9134 ,\n", + " -358.28726 , -388.18198 ],\n", + " [ -12.904053 , -2.6473484, 6.9129467, ..., -339.09042 ,\n", + " -371.57153 , -394.99426 ]], shape=(1743, 1584), dtype=float32)\n", + "Coordinates:\n", + " * y (y) int32 7kB -137500 -138000 -138500 ... -1008000 -1008500\n", + " * x (x) int32 6kB 1671500 1672000 1672500 ... 2462000 2462500 2463000\n", + "Attributes:\n", + " units: m\n", + " source: IBCSO v2 and Mathieu Morlighem\n", + " grid_mapping: mapping\n", + " geoid: eigen-6c4 (Forste et al 2014)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Fetch BedMachine Antarctica v4 from NSIDC\n", - "xlim = (bed_merged.x.min().item(), bed_merged.x.max().item())\n", - "ylim = (bed_merged.y.min().item(), bed_merged.y.max().item())\n", + "xlim = (picks.geometry.x.min(), picks.geometry.x.max())\n", + "ylim = (picks.geometry.y.min(), picks.geometry.y.max())\n", "pad = 15e3 # 15 km padding\n", "\n", "earthaccess.login()\n", @@ -121,41 +2050,55 @@ ")\n", "bedmachine_bed = bm_sub['bed'] + bm_sub['geoid'] # geoid-referenced -> ellipsoidal\n", "bedmachine_bed.name = 'bed_wgs84'\n", - "bedmachine_bed" + "bedmachine_bed\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "a688a3ef", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-28T23:43:44.702026Z", + "iopub.status.busy": "2026-04-28T23:43:44.700737Z", + "iopub.status.idle": "2026-04-28T23:43:44.850123Z", + "shell.execute_reply": "2026-04-28T23:43:44.847885Z" + }, + "tags": [ + "skip-execution" + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "314110 points with valid comparison\n", + "Mean difference: 36.2 m\n", + "Median difference: 32.2 m\n", + "Std of difference: 138.6 m\n" + ] + } + ], "source": [ "# Interpolate BedMachine at each OPR bed pick location\n", "bm_at_picks = bedmachine_bed.interp(\n", - " x=xr.DataArray(bed_merged.x.values, dims='slow_time'),\n", - " y=xr.DataArray(bed_merged.y.values, dims='slow_time'),\n", + " x=xr.DataArray(picks.geometry.x.values, dims='pick'),\n", + " y=xr.DataArray(picks.geometry.y.values, dims='pick'),\n", " method='linear',\n", ")\n", "\n", - "# Compute difference: OPR pick minus BedMachine\n", - "diff = bed_merged['wgs84'].values - bm_at_picks.values\n", - "\n", - "# Build a GeoDataFrame for interactive plotting\n", - "pick_df = gpd.GeoDataFrame({\n", - " 'opr_bed_elev': bed_merged['wgs84'].values,\n", - " 'bedmachine_elev': bm_at_picks.values,\n", - " 'difference': diff,\n", - " 'x': bed_merged.x.values,\n", - " 'y': bed_merged.y.values,\n", - " 'source': bed_merged['source'].values,\n", - "}, geometry=gpd.points_from_xy(bed_merged.x.values, bed_merged.y.values), crs='EPSG:3031')\n", - "pick_df = pick_df.dropna(subset=['difference'])\n", + "# Augment picks GeoDataFrame with the comparison columns\n", + "picks = picks.assign(\n", + " bedmachine_elev=bm_at_picks.values,\n", + " difference=picks['wgs84'].values - bm_at_picks.values,\n", + ").rename(columns={'wgs84': 'opr_bed_elev'})\n", + "pick_df = picks.dropna(subset=['difference'])\n", "\n", "print(f\"{len(pick_df)} points with valid comparison\")\n", "print(f\"Mean difference: {pick_df['difference'].mean():.1f} m\")\n", "print(f\"Median difference: {pick_df['difference'].median():.1f} m\")\n", - "print(f\"Std of difference: {pick_df['difference'].std():.1f} m\")" + "print(f\"Std of difference: {pick_df['difference'].std():.1f} m\")\n" ] }, { @@ -170,23 +2113,129 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "2c942a66", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-28T23:43:44.855483Z", + "iopub.status.busy": "2026-04-28T23:43:44.854920Z", + "iopub.status.idle": "2026-04-28T23:44:35.102113Z", + "shell.execute_reply": "2026-04-28T23:44:35.100800Z" + }, + "tags": [ + "skip-execution" + ] + }, + "outputs": [ + { + "data": {}, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":Overlay\n", + " .Image.I :Image [x,y] (bed_wgs84)\n", + " .Coastline.I :Feature [Longitude,Latitude]\n", + " .Polygons.I :Polygons [x,y]\n", + " .Points.I :Points [x,y] (difference,opr_bed_elev,bedmachine_elev,id)" + ] + }, + "execution_count": 6, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "b0f23a37-cb56-41d7-8b33-186343fa079a" + } + }, + "output_type": "execute_result" + } + ], "source": [ "epsg_3031 = ccrs.Stereographic(central_latitude=-90, true_scale_latitude=-71)\n", "coastline = gf.coastline.options(scale='50m').opts(projection=epsg_3031)\n", "region_projected = xopr.geometry.project_geojson(region, source_crs='EPSG:4326', target_crs=\"EPSG:3031\")\n", "region_hv = hv.Polygons([region_projected]).opts(color='green', line_color='black', fill_alpha=0.2)\n", "\n", - "# Symmetric color limits\n", "vlim = pick_df['difference'].abs().quantile(0.95)\n", "\n", "diff_map = pick_df.hvplot.points(\n", - " x='x', y='y', c='difference', cmap='RdBu_r', s=3,\n", + " c='difference', cmap='RdBu_r', s=3,\n", " clim=(-vlim, vlim),\n", - " hover_cols=['opr_bed_elev', 'bedmachine_elev', 'difference', 'source'],\n", + " hover_cols=['opr_bed_elev', 'bedmachine_elev', 'difference', 'id'],\n", ").opts(\n", " clabel='OPR - BedMachine (m)',\n", " colorbar_position='right',\n", @@ -194,7 +2243,6 @@ " active_tools=['wheel_zoom'],\n", ")\n", "\n", - "# BedMachine background with its own colorbar on the left\n", "bm_bg = bedmachine_bed.hvplot.image(\n", " x='x', y='y', cmap='terrain', alpha=0.8,\n", ").opts(clabel='BedMachine Bed WGS84 (m)', colorbar_position='left')\n", @@ -202,7 +2250,7 @@ "(bm_bg * coastline * region_hv * diff_map).opts(\n", " width=700, height=600, aspect='equal',\n", " xlim=xlim, ylim=ylim, title='OPR Bed Picks minus BedMachine',\n", - ")" + ")\n" ] }, { @@ -217,10 +2265,1038 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "8657e3b3", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-28T23:44:35.233247Z", + "iopub.status.busy": "2026-04-28T23:44:35.232772Z", + "iopub.status.idle": "2026-04-28T23:44:40.184380Z", + "shell.execute_reply": "2026-04-28T23:44:40.182938Z" + }, + "tags": [ + "skip-execution" + ] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset> Size: 23MB\n",
+       "Dimensions:    (slow_time: 1818, twtt: 3198)\n",
+       "Coordinates:\n",
+       "  * slow_time  (slow_time) datetime64[ns] 15kB 2009-01-30T03:21:35.843876839 ...\n",
+       "  * twtt       (twtt) float64 26kB 8.4e-07 8.6e-07 ... 6.476e-05 6.478e-05\n",
+       "Data variables:\n",
+       "    Bottom     (slow_time) float64 15kB ...\n",
+       "    Data       (slow_time, twtt) float32 23MB ...\n",
+       "    Elevation  (slow_time) float64 15kB ...\n",
+       "    Heading    (slow_time) float64 15kB ...\n",
+       "    Latitude   (slow_time) float64 15kB -67.39 -67.39 -67.39 ... -66.96 -66.96\n",
+       "    Longitude  (slow_time) float64 15kB 109.8 109.8 109.8 ... 110.1 110.1 110.1\n",
+       "    Pitch      (slow_time) float64 15kB ...\n",
+       "    Roll       (slow_time) float64 15kB ...\n",
+       "    Surface    (slow_time) float64 15kB ...\n",
+       "Attributes: (12/28)\n",
+       "    file_version:         49\n",
+       "    radiometric_corr_dB:  nan\n",
+       "    file_type:            [ 97 114 114  97 121]\n",
+       "    source_url:           https://data.cresis.ku.edu/data/rds/2008_Antarctica...\n",
+       "    Conventions:          CF-1.8\n",
+       "    title:                Radar Echogram Data\n",
+       "    ...                   ...\n",
+       "    segment:              3\n",
+       "    frame:                20\n",
+       "    mimetype:             application/x-hdf5\n",
+       "    param_array:          {'array': {'DCM': {'bin_rng': array(-0.), 'line_rng...\n",
+       "    param_records:        {'array': {'bin_rng': array(0.), 'dline': array(11....\n",
+       "    param_sar:            {'array': {'bin_rng': array(0.), 'dline': array(11....
" + ], + "text/plain": [ + " Size: 23MB\n", + "Dimensions: (slow_time: 1818, twtt: 3198)\n", + "Coordinates:\n", + " * slow_time (slow_time) datetime64[ns] 15kB 2009-01-30T03:21:35.843876839 ...\n", + " * twtt (twtt) float64 26kB 8.4e-07 8.6e-07 ... 6.476e-05 6.478e-05\n", + "Data variables:\n", + " Bottom (slow_time) float64 15kB ...\n", + " Data (slow_time, twtt) float32 23MB ...\n", + " Elevation (slow_time) float64 15kB ...\n", + " Heading (slow_time) float64 15kB ...\n", + " Latitude (slow_time) float64 15kB -67.39 -67.39 -67.39 ... -66.96 -66.96\n", + " Longitude (slow_time) float64 15kB 109.8 109.8 109.8 ... 110.1 110.1 110.1\n", + " Pitch (slow_time) float64 15kB ...\n", + " Roll (slow_time) float64 15kB ...\n", + " Surface (slow_time) float64 15kB ...\n", + "Attributes: (12/28)\n", + " file_version: 49\n", + " radiometric_corr_dB: nan\n", + " file_type: [ 97 114 114 97 121]\n", + " source_url: https://data.cresis.ku.edu/data/rds/2008_Antarctica...\n", + " Conventions: CF-1.8\n", + " title: Radar Echogram Data\n", + " ... ...\n", + " segment: 3\n", + " frame: 20\n", + " mimetype: application/x-hdf5\n", + " param_array: {'array': {'DCM': {'bin_rng': array(-0.), 'line_rng...\n", + " param_records: {'array': {'bin_rng': array(0.), 'dline': array(11....\n", + " param_sar: {'array': {'bin_rng': array(0.), 'dline': array(11...." + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "frame_id = \"Data_20090129_03_020\"\n", "\n", @@ -230,9 +3306,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "b21a4b66", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-28T23:44:40.189077Z", + "iopub.status.busy": "2026-04-28T23:44:40.188554Z", + "iopub.status.idle": "2026-04-28T23:44:40.989829Z", + "shell.execute_reply": "2026-04-28T23:44:40.988615Z" + }, + "tags": [ + "skip-execution" + ] + }, "outputs": [], "source": [ "# Add WGS84 coordinate and project frame\n", @@ -257,10 +3343,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "a24a4502", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-28T23:44:40.993984Z", + "iopub.status.busy": "2026-04-28T23:44:40.993601Z", + "iopub.status.idle": "2026-04-28T23:44:41.379737Z", + "shell.execute_reply": "2026-04-28T23:44:41.378598Z" + }, + "tags": [ + "skip-execution" + ] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABVgAAAHqCAYAAADxtyW8AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsfXe4VNX59Toz996ZuQUQpYlKE0XRqGD52SDGgrE3EDQRu8beUGMDxd6xx27sXdFo7Bo19hh7wRYrIO32Nufs74/MOt+a9565XAhEk+z1PPe5M2fO2Wf3/e6113534Jxz8PDw8PDw8PDw8PDw8PDw8PDw8PDwWGSkfuoIeHh4eHh4eHh4eHh4eHh4eHh4eHj8p8ITrB4eHh4eHh4eHh4eHh4eHh4eHh4eiwlPsHp4eHh4eHh4eHh4eHh4eHh4eHh4LCY8werh4eHh4eHh4eHh4eHh4eHh4eHhsZjwBKuHh4eHh4eHh4eHh4eHh4eHh4eHx2LCE6weHh4eHh4eHh4eHh4eHh4eHh4eHosJT7B6eHh4eHh4eHh4eHh4eHh4eHh4eCwmPMHq4eHh4eHh4eHh4eHh4eHh4eHh4bGY8ASrh4eHh4eHh4eHh4eHh4eHh4eHh8diwhOsHh4eHh4eHh4eHksRAwcOxN57771Izzz//PMIggD33XffUovXfxOCIMCUKVN+6mh0wMCBA7Hddtst9D6W9/PPP/9viZeHh4eHh4fHkoUnWD08PDw8Foqbb74ZQRAk/p144ok/dfSWCGwas9ksll9+eYwZMwaXXXYZ6uvrFzvsv/71r5gyZQoWLFiwROOseOONN3DYYYdh+PDhqKqqwkorrYRx48bh008/Tbz/o48+wtZbb43q6mr07NkTv/3tb/Hjjz92uC+KIpx//vkYNGgQstksfvGLX+DOO+9MDPOKK67Aaquthkwmg/79++OYY45BY2PjYof5+uuv45BDDsHIkSNRXl6OIAgS3/vNN9/g9NNPx/rrr49lllkGyy23HH75y1/i6aefTrz/qaeewiabbILKykoss8wy2G233fDVV18l3rswfPfddxg3bhx69OiBbt26Yccdd8QXX3xRdE9zczP2228/rLHGGujevTuqq6ux1lprYdq0aWhvb1+s995www1YbbXVkM1mMXToUFx++eUd7nnggQew++67Y/DgwaisrMSqq66KY489tmQ9nD59OkaMGIFsNouVVloJkydPRj6fX6z4LUl88MEH+M1vfoP+/fsjk8lg+eWXx5577okPPvigw71J7XiVVVbBYYcdhlmzZsX3kcziXzqdRu/evbHbbrvho48++jen8L8TU6ZMKcrjVCqFfv36YbvttsOrr7661N+vdeGll17q8LtzDiuuuCKCIOgSAerh4eHh4eHh0RnKfuoIeHh4eHj85+CMM87AoEGDiq6tscYaP1l8lgaYxvb2dsycORPPP/88jjrqKFx88cWYPn06fvGLXyxymH/9619x+umnY++990aPHj2WSrzPO+88vPzyyxg7dix+8YtfYObMmbjiiiswYsQIvPrqq0Xl9O2332LUqFHo3r07zj77bDQ0NODCCy/Ee++9h9dffx0VFRXxvSeffDLOPfdcHHDAAVhvvfXw8MMPY4899kAQBBg/fnx83wknnIDzzz8fu+22G4488kh8+OGHuPzyy/HBBx/giSeeKIprV8N87LHHcP311+MXv/gFBg8eXJIsfvjhh3Heeedhp512wsSJE5HP5/HHP/4RW265JW688Ubss88+8b2PPvoodtxxR4wYMQLnnnsu6urqMG3aNGyyySZ4++230atXry7neUNDAzbbbDPU1tbipJNOQnl5OS655BKMHj0af//737HssssCBYL1gw8+wDbbbIOBAwcilUrhr3/9K44++mi89tpruOOOO7r8TgD4wx/+gIMPPhi77rorjjnmGLz44os44ogj0NTUhBNOOCG+78ADD8Tyyy+P3/zmN1hppZXw3nvv4YorrsBjjz2Gv/3tb8jlcvG9jz/+OHbaaSf88pe/xOWXX4733nsPZ555JmbPno2rr756keK3JPHAAw9gwoQJ6NmzJ/bbbz8MGjQIX331FW644Qbcd999uOuuu7Dzzjt3eI7tuKWlBS+99BKuvvpqPPbYY3j//fdRWVkZ33fEEUdgvfXWQ3t7O959911cc801eP755/H++++jb9++Sywdn3zyCVKp/01dw9VXX43q6mpEUYRvvvkG1113HUaNGoXXX38da6+99lJ/fzabxR133IFNNtmk6PoLL7yAb7/9FplMZqnHoSsYNWoUmpubi/pfDw8PDw8Pj/8gOA8PDw8Pj4XgpptucgDcG2+80eVnmpubXRiGSzVeSxKdpfGZZ55xuVzODRgwwDU1NS1y2BdccIED4L788sslFNuOePnll11ra2vRtU8//dRlMhm35557Fl3/3e9+53K5nPvHP/4RX3vqqaccAPeHP/whvvbtt9+68vJyd+ihh8bXoihym266qVthhRVcPp93zjn3/fffu7KyMvfb3/626D2XX365A+CmT5++yGE659zMmTPj/D700ENdKbPl/fffdz/++GPRtZaWFjds2DC3wgorFF1fffXV3corr1yUV3//+99dKpVyxxxzTGL4pXDeeec5AO7111+Pr3300UcunU673//+9wt9/rDDDnMA3A8//NDldzY1Nblll13WbbvttkXX99xzT1dVVeXmzZsXX3vuuec6PH/LLbc4AO66664rur766qu7tdZay7W3t8fXTj75ZBcEgfvoo4+6HL8lic8++8xVVla6YcOGudmzZxf99uOPP7phw4a5qqoq9/nnn8fXS7XjY445xgFwd9xxh3OFvAHg7r333qL7rr76agfAnXfeeUs1bV1BqTj+p2Dy5MkOQIe2+f777zsA7qSTTlqi7wPgJk+eHH9nXdhll13ccsstV1S3nXPugAMOcCNHjnQDBgzo0J6WJJZ2+B4eHh4eHh4/D/xvLqV7eHh4eCxRcLvtXXfdhVNOOQX9+/dHZWUl6urqMG/ePBx33HFYc801UV1djW7duuHXv/413nnnncQw7rnnHpx++uno378/ampqsNtuu6G2thatra046qij0Lt3b1RXV2OfffZBa2trh7jcdtttGDlyJHK5HHr27Inx48fjm2+++ZfS96tf/Qqnnnoq/vGPf+C2226Lr7/77rvYe++9MXjwYGSzWfTt2xf77rsv5s6dG98zZcoUTJo0CQAwaNCgeMsqt6TfdNNN+NWvfoXevXsjk8lg9dVXXyzF4EYbbdRB+TR06FAMHz68w5bn+++/H9tttx1WWmml+NoWW2yBVVZZBffcc0987eGHH0Z7ezsOOeSQ+FoQBPjd736Hb7/9Fq+88goA4JVXXkE+ny9SnwKIv991112LHCYA9OnTp0hlWQrDhw/HcsstV3Qtk8lgm222wbfffhu7d5g3bx4+/PBD7LzzzkV5tdZaa2G11VYrimdXcN9992G99dbDeuutF18bNmwYNt9886J8LIWBAwcCwCK5jnjuuecwd+7covwDgEMPPRSNjY3405/+FF/75S9/2eF5qj21Tnz44Yf48MMPceCBB6Ks7P9vbjrkkEPgnPvJfIBecMEFaGpqwrXXXttBWbzccsvhD3/4AxobG3H++ecvNKxf/epXAIAvv/yy0/s23XRTAMDnn3++0DC5Bf7jjz/GuHHj0K1bNyy77LI48sgj0dLSUnRvkg/WBQsW4Oijj8bAgQORyWSwwgorYK+99sKcOXNKvrO1tRXbbbcdunfvjr/+9a8AgPr6ehx11FFxOL1798aWW26Jv/3tbyXDue+++xAEAV544YUOv/3hD39AEAR4//33AQAzZ87EPvvsgxVWWAGZTAb9+vXDjjvuuNhuNagM1rrGtE2ePBkrr7wyMpkMVlxxRRx//PEd+vnW1lYcffTR6NWrF2pqarDDDjvg22+/Lfm+CRMmYO7cuXjqqafia21tbbjvvvuwxx57JD5z4YUXYqONNsKyyy6LXC6HkSNHlmwHt912G9Zff/3Y5cioUaPw5JNPdrjvpZdewvrrr49sNovBgwfjj3/8Y9HvST5Yf/nLX2KNNdbAhx9+iM022wyVlZXo379/Yp3vav55eHh4eHh4LB14FwEeHh4eHl1GbW1th8m/EltTp05FRUUFjjvuOLS2tqKiogIffvghHnroIYwdOxaDBg3CrFmz8Ic//AGjR4/Ghx9+iOWXX74ovHPOOQe5XA4nnngiPvvsM1x++eUoLy9HKpXC/PnzMWXKFLz66qu4+eabMWjQIJx22mnxs2eddRZOPfVUjBs3Dvvvvz9+/PFHXH755Rg1ahTefvvtf2l7/m9/+1ucdNJJePLJJ3HAAQcABV+eX3zxBfbZZx/07dsXH3zwAa699lp88MEHePXVVxEEAXbZZRd8+umnuPPOO3HJJZfE+UXC6Oqrr8bw4cOxww47oKysDI888ggOOeQQRFGEQw89dLHji4KPwVmzZmH48OHxte+++w6zZ8/Guuuu2+H+9ddfH4899lj8/e2330ZVVRVWW221Dvfx90022SSewFsylFux33rrrUUOc0lg5syZqKysjONRKp6M6wcffICZM2d2aWt4FEV49913se+++3b4bf3118eTTz6J+vp61NTUxNfb2tpQV1eH5uZmvPnmm7jwwgsxYMAArLzyyl1O09tvvw0AHcpv5MiRSKVSePvtt/Gb3/ym5PMzZ84ETLstFebyyy+PFVZYIf79341HHnkEAwcOjElPi1GjRmHgwIFFpHIpkDCl24ZSIGm4zDLLdDme48aNw8CBA3HOOefg1VdfxWWXXYb58+d3INAUDQ0N2HTTTfHRRx9h3333xYgRIzBnzhxMnz4d3377bYcFAxRcTey4445488038fTTT8fE/sEHH4z77rsPhx12GFZffXXMnTsXL730Ej766COMGDEi8f3bbrstqqurcc8992D06NFFv919990YPnx47FZk1113xQcffIDDDz8cAwcOxOzZs/HUU0/h66+/jhcJOsO8efOAQpv57rvvMHXqVGSzWYwbNy6+J4oi7LDDDnjppZdw4IEHYrXVVsN7772HSy65BJ9++ikeeuih+N79998ft912G/bYYw9stNFGePbZZ7HtttuWfP/AgQOx4YYb4s4778Svf/1roOASo7a2FuPHj8dll13W4Zlp06Zhhx12wJ577om2tjbcddddGDt2LB599NGid51++umYMmUKNtpoI5xxxhmoqKjAa6+9hmeffRZbbbVVfN9nn32G3XbbDfvttx8mTpyIG2+8EXvvvTdGjhxZ1D8nYf78+dh6662xyy67YNy4cbjvvvtwwgknYM0114zTsyj55+Hh4eHh4bGU8FNLaD08PDw8fv7gVsukPydbWQcPHtxhC31LS0sHVwFffvmly2Qy7owzzoivMYw11ljDtbW1xdcnTJjggiBwv/71r4vC2HDDDd2AAQPi71999ZVLp9PurLPOKrrvvffec2VlZR2ul0pjZ24Qunfv7tZZZ534e5K7gDvvvNMBcH/5y1/ia525CEgKY8yYMW7w4MGdxrcruPXWWx0Ad8MNN8TX3njjDQfA/fGPf+xw/6RJkxwA19LS4pxzbtttt02MR2NjowPgTjzxROecc2+99ZYD4KZOnVp035///GcHwFVXV8fXuhqmRWcuApIwY8YMl81mi9wWhGHoevTo4TbffPOie+fMmeOqqqocAPfmm292Kfwff/zRASiqw8SVV17pALiPP/646DrrBv/WXXdd9+6773Y5Ta6QD+l0OvG3Xr16ufHjx3f6/H777efS6bT79NNP42usn19//XWH+9dbbz33f//3f4sUxyWBBQsWOABuxx137PS+HXbYwQFwdXV1zkk7fvrpp92PP/7ovvnmG3fXXXe5ZZdd1uVyOfftt986J/3NjTfe6H788Uf3/fffuz//+c9u5ZVXdkEQFLl9KAVugd9hhx2Krh9yyCEOgHvnnXfiawMGDHATJ06Mv5922mkOgHvggQc6hBtFUVEc7733XldfX+9Gjx7tlltuOff2228X3d+9e/cilxtdxYQJE1zv3r2L3HL88MMPLpVKxfV6/vz5DoC74IILFjl85o/969Gjh/vzn/9cdO+tt97qUqmUe/HFF4uuX3PNNQ6Ae/nll50ruPMA4A455JCi+/bYY4+SLgLeeOMNd8UVV7iampq4vx07dqzbbLPNnCuxhd/2y21tbW6NNdZwv/rVr+JrM2bMcKlUyu28884dxjiWIcO3Y8Ls2bNdJpNxxx57bHyN5a2uPUaPHt2hv25tbXV9+/Z1u+666yLnn4eHh4eHh8fSg3cR4OHh4eHRZVx55ZV46qmniv4UEydO7KAOzGQy8eEuYRhi7ty5qK6uxqqrrpq4hXWvvfZCeXl5/H2DDTaAc66DUnCDDTbAN998E59y/sADDyCKIowbNw5z5syJ//r27YuhQ4fiueee+5fTX11dHW83h1FCtrS0YM6cOfi///s/AOh0e65Cw6BCePTo0fjiiy9QW1u72HH9+OOPceihh2LDDTfExIkT4+vNzc1AoVwsstls0T3Nzc1dum/EiBHYYIMNcN555+Gmm27CV199hccffxwHHXQQysvL4/sWJcx/BU1NTRg7dixyuRzOPffc+HoqlcJBBx2EZ555Br///e8xY8YMvPXWWxg3bhza2toW6f2Lko/EZptthqeeegr33nsvDj74YJSXl6OxsXGR0tbZITjZbLbT+N9xxx244YYbcOyxx2Lo0KFdTsuSKJNFBduZKoCTwN/r6uqKrm+xxRbo1asXVlxxRYwfPx7V1dV48MEH0b9//6L79t13X/Tq1QvLL788tt56a9TW1uLWW28tcvuwMFil+eGHHw4UDmkrhfvvvx9rrbVW4gFdQRAUfa+trcVWW22Fjz/+GM8//3yHg6F69OiB1157Dd9//32X4wwAu+++O2bPnl20Jf2+++5DFEXYfffdgUL/VFFRgeeffx7z589fpPCJ+++/H0899RSefPJJ3HTTTVhllVWw6667xi4OAODee+/FaquthmHDhhX133TtwP6beXrEEUcUveOoo47qNA7jxo1Dc3MzHn30UdTX1+PRRx8t6R4Apl+eP38+amtrsemmmxb16w899BCiKMJpp53W4QAzW4arr756kRK7V69eWHXVVfHFF190Gm8Uxh1VpVdUVGD99dcverar+efh4eHh4eGx9OBdBHh4eHh4dBnrr79+4tZyYtCgQR2uRVGEadOm4aqrrsKXX36JMAzj35K266pfUADo3r07AGDFFVfscD2KItTW1mLZZZfFjBkz4JwrIo4UStouLhoaGtC7d+/4+7x583D66afjrrvuwuzZs4vu7So5+vLLL2Py5Ml45ZVX0NTU1CEMpn9RMHPmTGy77bbo3r077rvvPqTT6fg3EgdJfvnoN5L35HK5Lt2HAomy++67x0R4Op3GMcccgxdeeAGffPJJ0fu7GubiIAxDjB8/Hh9++CEef/zxDi4ozjjjDMyZMwfnn39+TL5utdVW2G+//XDNNdegurq6S+9ZlHwk+vTpgz59+gAAdtttN5x99tnYcsstMWPGjC6fWJ/L5WIyOOm9pfLvxRdfxH777YcxY8bgrLPOWqS0dFYmYRjixx9/7FLcLdLpdAffqgSJU13QSEIpIvbKK6/EKqusgrKyMvTp0werrrpqBxIMAE477TRsuummaGhowIMPPoi77ror8b7OYPucIUOGIJVKdeqj9PPPP8euu+7apfCPOuootLS04O23307cTn7++edj4sSJWHHFFTFy5Ehss8022GuvvTB48OBOw916663RvXt33H333dh8882BgnuAtddeG6ussgpQIN3PO+88HHvssejTpw/+7//+D9tttx322muvLtfZUaNGFbk82G233TB06FAcfvjhsfuQGTNm4KOPPipZH9i//uMf/0AqlcKQIUOKfl911VU7jUOvXr2wxRZb4I477kBTUxPCMMRuu+1W8v5HH30UZ555Jv7+978XtQslTj///HOkUimsvvrqC80DO66h4IaiK6T1Cius0IGwXWaZZfDuu+/G37uafx4eHh4eHh5LD55g9fDw8PBYYkgiYs4++2yceuqp2HfffTF16lT07NkTqVQKRx11FKIo6nC/koFduf7Pw6P/SeQGQYDHH3888d6uEmel8O2336K2trbIX+a4cePw17/+FZMmTcLaa6+N6upqRFGErbfeOjFtFp9//jk233xzDBs2DBdffDFWXHFFVFRU4LHHHsMll1zSpTAsamtr8etf/xoLFizAiy++2IFg7NevHwDghx9+6PDsDz/8gJ49e8ZKxn79+uG5556Dc65ogs9nNez+/fvjpZdewowZMzBz5kwMHToUffv2xfLLLx+TNYsa5uLggAMOwKOPPorbb789Vm8pKioqcP311+Oss87Cp59+ij59+mCVVVbBHnvsgVQq1WV/qMynUvnYlbTstttuOPnkk/Hwww/joIMO6tJ7+/XrhzAMMXv27CKyv62tDXPnzk185zvvvIMddtgBa6yxBu67774OhwtpnbALGT/88EPsHzcJ33zzTeLCSlcwYMCAkiRk9+7d0a9fvyISKQnvvvsu+vfvj27duhVdX9hiELHmmmtiiy22AADstNNOaGpqwgEHHIBNNtmkQ150FZYM+1ex44474q677sK5556LP/7xjx0I4HHjxmHTTTfFgw8+iCeffBIXXHABzjvvPDzwwAOxj84kZDIZ7LTTTnjwwQdx1VVXYdasWXj55Zdx9tlnF9131FFHYfvtt8dDDz2EJ554AqeeeirOOeccPPvss1hnnXUWOT3V1dXYYIMN8PDDD6OxsRFVVVWIoghrrrkmLr744sRnFrcsFHvssQcOOOAAzJw5E7/+9a9L+uR+8cUXscMOO2DUqFG46qqr0K9fP5SXl+Omm27CHXfcsVjvXtj49a8+++/IPw8PDw8PD4/O4QlWDw8PD4+livvuuw+bbbYZbrjhhqLrCxYsSDzIZXExZMgQOOcwaNCgIkJvSeHWW28FAIwZMwYobBt95plncPrppxcdtDVjxowOz5YiXB555BG0trZi+vTpRQqnxd3O2dLSgu233x6ffvopnn766URlVf/+/dGrVy+8+eabHX57/fXXi7Yfr7322rj++uvx0UcfFYX12muvxb9bDB06NFb0ffjhh/jhhx+KTk9fnDC7ikmTJuGmm27CpZdeigkTJnR6r6pJwzDE888/jw022KDLRHwqlcKaa66ZmI+vvfYaBg8evNDt7dx6vyiuIJg/b775JrbZZpv4+ptvvokoijrk3+eff46tt94avXv3xmOPPZaYPg1TydTvv/8e3377LQ488MCS8enbt28HVyFdxcLUyttttx2uu+46vPTSS4kHn7344ov46quvukxOdwXnnnsuHnzwQZx11lm45ppruvTMjBkzikjmzz77DFEUdXoA1JAhQ/D+++93KfyddtoJW221Ffbee2/U1NTg6quv7nBPv379cMghh+CQQw7B7NmzMWLECJx11lmdEqwouAm45ZZb8Mwzz+Cjjz6Ccy52D2Dje+yxx+LYY4/FjBkzsPbaa+Oiiy7Cbbfd1qU0WNC1S0NDA6qqqjBkyBC888472HzzzTslqAcMGIAoivD5558XqVZVJV8KO++8Mw466CC8+uqruPvuu0ved//99yObzeKJJ54ocptx0003Fd03ZMgQRFGEDz/88F/qt5YEupp/Hh4eHh4eHksP3gerh4eHh8dSRTqd7qDSuffee/Hdd98t0ffssssuSKfTOP300zu8zzmHuXPnLnbYzz77LKZOnYpBgwZhzz33BERVZN916aWXdni+qqoKKJDKiqQwamtrO0zku4IwDLH77rvjlVdewb333osNN9yw5L277rorHn30UXzzzTfxtWeeeQaffvopxo4dG1/bcccdUV5ejquuuiq+5pzDNddcg/79+2OjjTYq+Y4oinD88cejsrISBx988BIJszNccMEFuPDCC3HSSSfhyCOPXKRnL7zwQvzwww849thjF+m53XbbDW+88UYRyfrJJ5/g2WefLcrHOXPmJCrVrr/+egDoktKS+NWvfoWePXt2INmuvvpqVFZWFp1wPnPmTGy11VZIpVJ44oknSm4fHj58OIYNG4Zrr722yIXH1VdfjSAIOt1Knc1mscUWWyzW38Ybb9xpWidNmoRcLoeDDjqoQ/udN28eDj74YFRWVmLSpEkLzbeuYsiQIdh1111x8803Y+bMmV165sorryz6fvnllwNAp+TmrrvuinfeeQcPPvhgh9+S6spee+2Fyy67DNdccw1OOOGE+HoYhh0I+t69e2P55ZdPdPlgscUWW6Bnz564++67cffdd2P99dcvIoubmppilxfEkCFDUFNT06XwkzBv3jz89a9/Rd++fWMV9rhx4/Ddd9/huuuu63B/c3Nz7KuYeXrZZZcV3ZPU71pUV1fj6quvxpQpU7D99tuXvC+dTiMIgqK28NVXX+Ghhx4qum+nnXZCKpXCGWec0WG3QVeUqUsSXc0/Dw8PDw8Pj6UHr2D18PDw8Fiq2G677XDGGWdgn332wUYbbYT33nsPt99++0L9Ay4qhgwZgjPPPBO///3v8dVXX2GnnXZCTU0NvvzySzz44IM48MADcdxxxy00nMcffxwff/wx8vk8Zs2ahWeffRZPPfUUBgwYgOnTp8cHGHXr1g2jRo3C+eefj/b2dvTv3x9PPvkkvvzyyw5hjhw5EgBw8sknY/z48SgvL8f222+PrbbaChUVFdh+++1x0EEHoaGhAddddx169+6duPW8Mxx77LGYPn06tt9+e8ybN6+DskwPSTnppJNw7733YrPNNsORRx6JhoYGXHDBBVhzzTWxzz77xPetsMIKOOqoo3DBBRegvb0d6623Hh566CG8+OKLuP3224u2rh555JFoaWnB2muvjfb2dtxxxx14/fXXccsttxSpcxclzH/84x+xcpgk5plnngkUlGy//e1vAQAPPvggjj/+eAwdOhSrrbZah7RvueWWsVr1tttuw/33349Ro0ahuroaTz/9NO655x7sv//+XfaJSRxyyCG47rrrsO222+K4445DeXk5Lr74YvTp06eIrL3ttttwzTXXYKeddsLgwYNRX1+PJ554Ak899RS23377RFcGpZDL5TB16lQceuihGDt2LMaMGYMXX3wRt912G8466yz07NkzvnfrrbfGF198geOPPx4vvfQSXnrppfi3Pn36YMstt4y/X3DBBdhhhx2w1VZbYfz48Xj//fdxxRVXYP/998dqq622SPmypDB06FDccsst2HPPPbHmmmtiv/32w6BBg/DVV1/hhhtuwJw5c3DnnXd28Mf5r2LSpEm45557cOmllxYdklYKX375JXbYYQdsvfXWeOWVV3Dbbbdhjz32wFprrdXpO+677z6MHTsW++67L0aOHIl58+Zh+vTpuOaaaxKfPeyww1BXV4eTTz4Z3bt3x0knnYT6+nqssMIK2G233bDWWmvFdfqNN97ARRddtNC4l5eXY5dddsFdd92FxsZGXHjhhUW/f/rpp9h8880xbtw4rL766igrK8ODDz6IWbNmYfz48QsNH4VdDNXV1XDO4fvvv8cNN9yA+fPn45prronVlr/97W9xzz334OCDD8Zzzz2HjTfeGGEY4uOPP8Y999yDJ554Auuuuy7WXnttTJgwAVdddRVqa2ux0UYb4ZlnnsFnn33WpbjogX+lsO222+Liiy/G1ltvjT322AOzZ8/GlVdeiZVXXrnIZcXKK6+Mk08+GVOnTsWmm26KXXbZBZlMBm+88QaWX355nHPOOV2K05JAV/PPw8PDw8PDYynCeXh4eHh4LAQ33XSTA+DeeOONxN+fe+45B8Dde++9HX5raWlxxx57rOvXr5/L5XJu4403dq+88oobPXq0Gz169ELDKPXuyZMnOwDuxx9/LLp+//33u0022cRVVVW5qqoqN2zYMHfooYe6Tz75pEtp5F9FRYXr27ev23LLLd20adNcXV1dh2e+/fZbt/POO7sePXq47t27u7Fjx7rvv//eAXCTJ08uunfq1Kmuf//+LpVKOQDuyy+/dM45N336dPeLX/zCZbNZN3DgQHfeeee5G2+8seiermD06NFF8bd/Fu+//77baqutXGVlpevRo4fbc8893cyZMzvcF4ahO/vss92AAQNcRUWFGz58uLvtttsS82+ttdZyVVVVrqamxm2++ebu2WefTYxrV8NknUj607rDulDq77nnnovvfe2119yoUaPcMsss47LZrFtrrbXcNddc46Io6nJeK7755hu32267uW7durnq6mq33XbbuRkzZhTd88Ybb7ixY8e6lVZayWUyGVdVVeVGjBjhLr74Ytfe3r5Y77322mvdqquu6ioqKtyQIUPcJZdc0iENneWJ5h/x4IMPurXXXttlMhm3wgoruFNOOcW1tbUtVvyWJN599103YcIE169fP1deXu769u3rJkyY4N57770O9y6sryI667Occ+6Xv/yl69atm1uwYEHJMFjvPvzwQ7fbbru5mpoat8wyy7jDDjvMNTc3F907YMAAN3HixKJrc+fOdYcddpjr37+/q6iocCussIKbOHGimzNnTqdxPP744x0Ad8UVV7jW1lY3adIkt9Zaa7mamhpXVVXl1lprLXfVVVd1mn7FU0895QC4IAjcN998U/TbnDlz3KGHHuqGDRvmqqqqXPfu3d0GG2zg7rnnnoWGm9Quq6qq3IYbbpj4fFtbmzvvvPPc8OHDXSaTccsss4wbOXKkO/30011tbW18X3NzszviiCPcsssu66qqqtz222/vvvnmmw79blfrwoABA9y2225bdO2GG25wQ4cOdZlMxg0bNszddNNNcXosbrzxRrfOOuvEcR49erR76qmnOg3fFfrspDFQ+6vRo0e74cOHd3h24sSJbsCAAYuVfx4eHh4eHh5LB4H7d+9h8fDw8PDw8PDw8PgPx5QpU3D66afjxx9/XKL+pD08PDw8PDw8PP7z4H2wenh4eHh4eHh4eHh4eHh4eHh4eHgsJrwPVg8PDw8Pj58xGhoa0NDQ0Ok9vXr1KvJd6vGvYd68eWhrayv5ezqdLnlg1OKira0N8+bN6/Se7t27I5fLLdH3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paf4yU9+Iscdd5zsuOOOkslk5Oqrr2763vM8+djHPiY77LCDDA4OyurVq+U3v/lN0zV/+ctf5KSTTpKxsTEZHx+Xt73tbTI1NdV0zT333COHHnqoDAwMyE477SSf+tSnFsTlO9/5juy1114yMDAg++67r1x33XUppVpRusN5550nBx10kIyOjsr2228vJ5xwgmzcuLHpmrm5OTnttNNk2223lZGREXn9618vTz75ZNM1jz/+uBx77LEyNDQk22+/vXzwgx+UarXadM2tt94q+++/v5RKJdl9993lkksuWRAffUcqi5mLLrpI9ttvPxkbG5OxsTFZtWqVXH/99eZ7bWuKkh7nn3++ZDIZee9732s+0zanKMnxT//0T5LJZJp+9tprL/O9tjdlq8dTEuXyyy/3isWi97Wvfc27//77vbe//e3e+Pi49+STT3Y7aorSM1x33XXehz/8Ye+qq67yRMT73ve+1/T9+eef7y1ZssS7+uqrvbvvvtt7zWte461cudKbnZ0117zqVa/yXvjCF3o///nPvZ/+9Kfe7rvv7q1du9Z8v2XLFm/58uXeSSed5N13333eZZdd5g0ODnpf+tKXzDW33367l8vlvE996lPeAw884H3kIx/xCoWCd++993YoJxQlfdasWeNdfPHF3n333edt2LDBO+aYY7ydd97Zm5qaMte8853v9HbaaSfvpptu8n71q195L33pS71DDjnEfF+tVr199tnHW716tXfXXXd51113nbds2TLv7LPPNtc88sgj3tDQkPf+97/fe+CBB7zPfe5zXi6X82644QZzjb4jlcXONddc4/3whz/0Hn74YW/jxo3eP/7jP3qFQsG77777PE/bmqKkxi9+8Qtv11139fbbbz/v9NNPN59rm1OU5DjnnHO8vffe23viiSfMz9NPP22+1/ambO2owJowL3nJS7zTTjvN/F+r1bwdd9zRO++887oaL0XpVWyBtV6veytWrPD+3//7f+azzZs3e6VSybvssss8z/O8Bx54wBMR75e//KW55vrrr/cymYz3xz/+0fM8z/vCF77gLV261CuXy+aaD33oQ96ee+5p/n/DG97gHXvssU3xOfjgg713vOMdKaVWUbrPU0895YmI9+Mf/9jzGu2rUCh43/nOd8w1Dz74oCci3vr16z2vsSiSzWa9TZs2mWsuuugib2xszLSxM88809t7772bnnXiiSd6a9asMf/rO1LZGlm6dKn3la98RduaoqTE5OSkt8cee3jr1q3zDjvsMCOwaptTlGQ555xzvBe+8IXO77S9KYrnqYuABKlUKnLnnXfK6tWrzWfZbFZWr14t69ev72rcFKVfePTRR2XTpk1N7WjJkiVy8MEHm3a0fv16GR8flwMPPNBcs3r1aslms3LHHXeYa17xildIsVg016xZs0Y2btwozz77rLmGn4NrtL0qi5ktW7aIiMg222wjIiJ33nmnzM/PN7WFvfbaS3beeeemNrfvvvvK8uXLzTVr1qyRiYkJuf/++801Qe1J35HK1katVpPLL79cpqenZdWqVdrWFCUlTjvtNDn22GMXtAttc4qSPL/5zW9kxx13lN12201OOukkefzxx0W0vSmKiPpgTZY///nPUqvVmjoMEZHly5fLpk2buhYvRekn0FaC2tGmTZtk++23b/o+n8/LNtts03SNKwx+ht812l6VxUq9Xpf3vve98rKXvUz22WcfkUY7KBaLMj4+3nSt3ebitqeJiQmZnZ3Vd6Sy1XDvvffKyMiIlEoleec73ynf+9735AUveIG2NUVJgcsvv1x+/etfy3nnnbfgO21zipIsBx98sFxyySVyww03yEUXXSSPPvqoHHrooTI5OantTVFEJN/tCCiKoiiK0hlOO+00ue++++S2227rdlQUZdGy5557yoYNG2TLli1y5ZVXypvf/Gb58Y9/3O1oKcqi4/e//72cfvrpsm7dOhkYGOh2dBRl0XP00Uebv/fbbz85+OCDZZdddpErrrhCBgcHuxo3RekF1II1QZYtWya5XG7BSXlPPvmkrFixomvxUpR+Am0lqB2tWLFCnnrqqabvq9Wq/OUvf2m6xhUGP8PvGm2vymLkXe96l1x77bVyyy23yHOf+1zz+YoVK6RSqcjmzZubrrfbXNz2NDY2JoODg/qOVLYaisWi7L777nLAAQfIeeedJy984Qvlwgsv1LamKAlz5513ylNPPSX777+/5PN5yefz8uMf/1g++9nPSj6fl+XLl2ubU5QUGR8fl+c973ny29/+Vt9xiqICa7IUi0U54IAD5KabbjKf1et1uemmm2TVqlVdjZui9AsrV66UFStWNLWjiYkJueOOO0w7WrVqlWzevFnuvPNOc83NN98s9XpdDj74YHPNT37yE5mfnzfXrFu3Tvbcc09ZunSpuYafg2u0vSqLCc/z5F3vepd873vfk5tvvllWrlzZ9P0BBxwghUKhqS1s3LhRHn/88aY2d++99zYtbKxbt07GxsbkBS94gbkmqD3pO1LZWqnX61Iul7WtKUrCHHnkkXLvvffKhg0bzM+BBx4oJ510kvlb25yipMfU1JT87ne/kx122EHfcYoi///ES0mQyy+/3CuVSt4ll1ziPfDAA94pp5zijY+PN52UpyhbO5OTk95dd93l3XXXXZ6IeP/2b//m3XXXXd7//M//eJ7neeeff743Pj7uff/73/fuuece7/jjj/dWrlzpzc7OmjBe9apXeS9+8Yu9O+64w7vtttu8PfbYw1u7dq35fvPmzd7y5cu9v/u7v/Puu+8+7/LLL/eGhoa8L33pS+aa22+/3cvn896nP/1p78EHH/TOOeccr1AoePfee2+Hc0RR0uPUU0/1lixZ4t16663eE088YX5mZmbMNe985zu9nXfe2bv55pu9X/3qV96qVau8VatWme+r1aq3zz77eK985Su9DRs2eDfccIO33XbbeWeffba55pFHHvGGhoa8D37wg96DDz7o/cd//IeXy+W8G264wVyj70hlsXPWWWd5P/7xj71HH33Uu+eee7yzzjrLy2Qy3o033uh52tYUJXUOO+ww7/TTTzf/a5tTlOQ444wzvFtvvdV79NFHvdtvv91bvXq1t2zZMu+pp57yPG1viuKpwJoCn/vc57ydd97ZKxaL3kte8hLv5z//ebejpCg9xS233OKJyIKfN7/5zZ7neV69Xvc++tGPesuXL/dKpZJ35JFHehs3bmwK45lnnvHWrl3rjYyMeGNjY95b3vIWb3Jysumau+++23v5y1/ulUol7znPeY53/vnnL4jLFVdc4T3vec/zisWit/fee3s//OEPU069onQWV1sTEe/iiy8218zOznr/8A//4C1dutQbGhryXvva13pPPPFEUziPPfaYd/TRR3uDg4PesmXLvDPOOMObn59vuuaWW27xXvSiF3nFYtHbbbfdmp4B9B2pLGbe+ta3ervssotXLBa97bbbzjvyyCONuOppW1OU1LEFVm1zipIcJ554orfDDjt4xWLRe85znuOdeOKJ3m9/+1vzvbY3ZWsn4/3/ky9FURRFURRFURRFURRFURQlIuqDVVEURVEURVEURVEURVEUJSYqsCqKoiiKoiiKoiiKoiiKosREBVZFURRFURRFURRFURRFUZSYqMCqKIqiKIqiKIqiKIqiKIoSExVYFUVRFEVRFEVRFEVRFEVRYqICq6IoiqIoiqIoiqIoiqIoSkxUYFUURVEURVEURVEURVEURYmJCqyKoiiKoiiKoiiKoiiKoigxUYFVURRFUZRFx6233iqZTEY2b97c7ah0lEsuuUTGx8fbDmfXXXeVf//3fzf/ZzIZufrqq9sOtxepVCqy++67y89+9rO2wjnrrLPk3e9+d2LxUhRFURRFUfoHFVgVRVEURelL1q9fL7lcTo499thuRyUQW6zsR5544gk5+uijQ13bb2LsF7/4RVm5cqUccsghbYXzgQ98QL7+9a/LI488kljcFEVRFEVRlP5ABVZFURRFUfqSr371q/Lud79bfvKTn8if/vSnbkenLWq1mtTr9W5Hw5cVK1ZIqVTqdjQSx/M8+fznPy9ve9vb2g5r2bJlsmbNGrnooosSiZuiKIqiKIrSP6jAqiiKoihK3zE1NSXf/va35dRTT5Vjjz1WLrnkkpb3fPe735W9995bSqWS7LrrrnLBBRc0fb/rrrvKv/7rv8pb3/pWGR0dlZ133ln+8z//s+man/3sZ/KiF71IBgYG5MADD5Srr75aMpmMbNiwwfnMv/7rv5b/+Z//kfe9732SyWQkk8mI0Fb+a665Rl7wghdIqVSSxx9/XH75y1/KUUcdJcuWLZMlS5bIYYcdJr/+9a+bwty8ebO84x3vkOXLl8vAwIDss88+cu211zqf//TTT8uBBx4or33ta6VcLjuveeqpp+S4446TwcFBWblypVx66aULrmGr1EqlIu9617tkhx12kIGBAdlll13kvPPOM3koIvLa175WMpmM+f93v/udHH/88bJ8+XIZGRmRgw46SP77v/87cv7/4Q9/kLVr18o222wjw8PDcuCBB8odd9xhvv/+978v+++/vwwMDMhuu+0m5557rlSrVWe6RUTuvPNO+d3vftdkBf3YY49JJpORK664Qg499FAZHByUgw46SB5++GH55S9/KQceeKCMjIzI0UcfLU8//XRTeMcdd5xcfvnlvs9TFEVRFEVRFicqsCqKoiiK0ndcccUVstdee8mee+4pb3rTm+RrX/uaeJ7ne/2dd94pb3jDG+Rv//Zv5d5775V/+qd/ko9+9KMLhNkLLrhADjzwQLnrrrvkH/7hH+TUU0+VjRs3iojIxMSEHHfccbLvvvvKr3/9a/nnf/5n+dCHPhQYz6uuukqe+9znysc//nF54okn5IknnjDfzczMyCc/+Un5yle+Ivfff79sv/32Mjk5KW9+85vltttuk5///Oeyxx57yDHHHCOTk5MiIlKv1+Xoo4+W22+/Xb71rW/JAw88IOeff77kcrkFz/79738vhx56qOyzzz5y5ZVX+lqgnnzyyfL73/9ebrnlFrnyyivlC1/4gjz11FO+afrsZz8r11xzjVxxxRWyceNGufTSS42Q+stf/lJERC6++GJ54oknzP9TU1NyzDHHyE033SR33XWXvOpVr5LjjjtOHn/88dD5PzU1JYcddpj88Y9/lGuuuUbuvvtuOfPMM43l709/+lP5v//3/8rpp58uDzzwgHzpS1+SSy65RD7xiU/4puWnP/2pPO95z5PR0dEF351zzjnykY98RH79619LPp+XN77xjXLmmWfKhRdeKD/96U/lt7/9rXzsYx9ruuclL3mJ/OEPf5DHHnvM95mKoiiKoijKIsRTFEVRFEXpMw455BDv3//93z3P87z5+Xlv2bJl3i233GK+v+WWWzwR8Z599lnP8zzvjW98o3fUUUc1hfHBD37Qe8ELXmD+32WXXbw3velN5v96ve5tv/323kUXXeR5nudddNFF3rbbbuvNzs6aa7785S97IuLdddddvnHdZZddvM985jNNn1188cWeiHgbNmwITGetVvNGR0e9H/zgB57ned6PfvQjL5vNehs3bnRef/HFF3tLlizxHnroIW+nnXby3vOe93j1et03/I0bN3oi4v3iF78wnz344IOeiDTFWUS8733ve57ned673/1u74gjjvANl68NYu+99/Y+97nPmf9b5f+XvvQlb3R01HvmmWec4R155JHev/7rvzZ99s1vftPbYYcdfONw+umne0cccUTTZ48++qgnIt5XvvIV89lll13miYh30003mc/OO+88b88992y6d8uWLZ6IeLfeemvL9CuKoiiKoiiLB7VgVRRFURSlr9i4caP84he/kLVr14qISD6flxNPPFG++tWv+t7z4IMPyste9rKmz172spfJb37zG6nVauaz/fbbz/ydyWRkxYoVxppz48aNst9++8nAwIC55iUveUnsdBSLxabniYg8+eST8va3v1322GMPWbJkiYyNjcnU1JSx9NywYYM897nPlec973m+4c7Ozsqhhx4qr3vd6+TCCy80bglcPPjgg5LP5+WAAw4wn+21114yPj7ue8/JJ58sGzZskD333FPe8573yI033tgyrVNTU/KBD3xAnv/858v4+LiMjIzIgw8+uMCCNSj/N2zYIC9+8Ytlm222cT7j7rvvlo9//OMyMjJift7+9rfLE088ITMzM857Zmdnm8rTLy7Lly8XEZF999236TPb0ndwcFCkYZ2sKIqiKIqibD3kux0BRVEURVGUKHz1q1+VarUqO+64o/nM8zwplUry+c9/XpYsWRI77EKh0PR/JpNJ7fCpwcHBBeLnm9/8ZnnmmWfkwgsvlF122UVKpZKsWrVKKpWKuacVpVJJVq9eLddee6188IMflOc85zmJxnv//feXRx99VK6//nr57//+b3nDG94gq1evliuvvNL3ng984AOybt06+fSnPy277767DA4Oyv/5P//HpAsE5X+rtE9NTcm5554rr3vd6xZ85yeiLlu2TO69917ndxwXlJP9mV03/vKXv4iIyHbbbRcYV0VRFEVRFGVxoRasiqIoiqL0DdVqVb7xjW/IBRdcIBs2bDA/d999t+y4445y2WWXOe97/vOfL7fffnvTZ7fffrs873nPc/ovdbHnnnvKvffe23RYFHyMBlEsFpusZIO4/fbb5T3veY8cc8wx5kCuP//5z+b7/fbbT/7whz/Iww8/7BtGNpuVb37zm3LAAQfI4YcfLn/60598r91rr72kWq3KnXfeaT7buHGjbN68OTCeY2NjcuKJJ8qXv/xl+fa3vy3f/e53jbhYKBQWpPf222+Xk08+WV772tfKvvvuKytWrIjsp3S//faTDRs2mOfY7L///rJx40bZfffdF/xks+4h74tf/GJ56KGHAv33RuG+++6TQqEge++9dyLhKYqiKIqiKP2BCqyKoiiKovQN1157rTz77LPytre9TfbZZ5+mn9e//vW+bgLOOOMMuemmm+Sf//mf5eGHH5avf/3r8vnPf14+8IEPhH72G9/4RqnX63LKKafIgw8+KD/60Y/k05/+tAhZOLrYdddd5Sc/+Yn88Y9/bBJLXeyxxx7yzW9+Ux588EG544475KSTTmqy3DzssMPkFa94hbz+9a+XdevWGUvSG264oSmcXC4nl156qbzwhS+UI444QjZt2uR83p577imvetWr5B3veIfccccdcuedd8rf//3fB1qL/tu//Ztcdtll8tBDD8nDDz8s3/nOd2TFihXGrcCuu+4qN910k2zatEmeffZZk66rrrrKiOHIyyisXbtWVqxYISeccILcfvvt8sgjj8h3v/tdWb9+vYiIfOxjH5NvfOMbcu6558r9998vDz74oFx++eXykY98xDfMww8/XKampuT++++PFBc/fvrTn8qhhx4aytJYURRFURRFWTyowKooiqIoSt/w1a9+VVavXu10A/D6179efvWrX8k999yz4Lv9999frrjiCrn88stln332kY997GPy8Y9/XE4++eTQzx4bG5Mf/OAHsmHDBnnRi14kH/7wh80p8n5b0EVEPv7xj8tjjz0mf/VXf9Vy6/hXv/pVefbZZ2X//feXv/u7v5P3vOc9sv322zdd893vflcOOuggWbt2rbzgBS+QM88802khm8/n5bLLLpO9995bjjjiiAX+QsHFF18sO+64oxx22GHyute9Tk455ZQFz2RGR0flU5/6lBx44IFy0EEHyWOPPSbXXXedsRK94IILZN26dbLTTjvJi1/8YpGGKLt06VI55JBD5LjjjpM1a9bI/vvvH5gXNsViUW688UbZfvvt5ZhjjpF9991Xzj//fGOBvGbNGrn22mvlxhtvlIMOOkhe+tKXymc+8xnZZZddfMPcdttt5bWvfa1ceumlkeLix+WXXy5vf/vbEwlLURRFURRF6R8yXlJ7ohRFURRFUbYyLr30UnnLW94iW7ZsUavFPuWee+6Ro446Sn73u9/JyMhI7HCuv/56OeOMM+See+6RfF6POVAURVEURdma0NGfoiiKoihKSL7xjW/IbrvtJs95znPk7rvvlg996EPyhje8QcXVPma//faTT37yk/Loo4/KvvvuGzuc6elpufjii1VcVRRFURRF2QpRC1ZFURRFUZSQfOpTn5IvfOELsmnTJtlhhx3khBNOkE984hMyNDTU7agpiqIoiqIoitIlVGBVFEVRFEVRFEVRFEVRFEWJiR5ypSiKoiiKoiiKoiiKoiiKEhMVWBVFURRFURRFURRFURRFUWKiAquiKIqiKIqiKIqiKIqiKEpMVGBVFEVRFEVRFEVRFEVRFEWJiQqsiqIoiqIoiqIoiqIoiqIoMVGBVVEURVEURVEURVEURVEUJSYqsCqKoiiKoiiKoiiKoiiKosREBVZFURRFURRFURRFURRFUZSYqMCqKIqiKIqiKIqiKIqiKIoSk/8PGUqIeLCca9oAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots(figsize=(15, 5))\n", "\n", @@ -278,7 +3385,7 @@ "# Plot BedMachine bed elevation along the track\n", "bm_along_track.plot(ax=ax, x='along_track', linewidth=1, color='red', label='BedMachine bed')\n", "\n", - "ax.set_title(f\"Frame {frame_id} β€” OPR picks vs BedMachine\")\n", + "ax.set_title(f\"Frame {frame_id} \u2014 OPR picks vs BedMachine\")\n", "ax.set_xlabel(\"Along track distance (m)\")\n", "ax.set_ylabel(\"WGS84 Elevation (m)\")\n", "ax.legend(loc='upper right')\n", @@ -289,7 +3396,7 @@ ], "metadata": { "kernelspec": { - "display_name": "xopr", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -304,6 +3411,1454 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.5" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": { + "02d0fcbe7188468e918ab1b453f5deee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_78cab3e2c3854cc0913baae146853f9e", + "placeholder": "\u200b", + "style": "IPY_MODEL_6f29f18ca6894a7ebfde06dd3ca09ea1", + "tabbable": null, + "tooltip": null, + "value": "\u20071/1\u2007[00:00<00:00,\u200765.33it/s]" + } + }, + "036bf09e187246af906f2c0d03512930": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "26c914dbe9bd45cc8a3b085e39b73499": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_8c17f250fdf4435f88b127634a3064ec", + "max": 1.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_e4e86bb759174879a7a77ca082b0f92e", + "tabbable": null, + "tooltip": null, + "value": 1.0 + } + }, + "2861dfd1986c46c086e5acf8a87bb65d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "369476d897e0425c8eabe96c77f6ce9e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_840ed81bd0b34e96a68c3645008b4617", + "IPY_MODEL_eaeb2514f18a45fca636471b4e49b6f5", + "IPY_MODEL_d96e111d0ce54d7a925b3f9d62ed1dd7" + ], + "layout": "IPY_MODEL_73c807e37ea14bb8908ee82656907990", + "tabbable": null, + "tooltip": null + } + }, + "3815de637a684e70812d60736a341abb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "39ecf07a4350413489610534028314e6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3f56cb29f88041ffa338825e7d7e7834": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4b64a3118b0e4f419bfe797ea96f442a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "5383047b28154665b98cc9267f5fc9b7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "6038b32c7e364cd6a793a88dcbfa849f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6f29f18ca6894a7ebfde06dd3ca09ea1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "714637853ad5419588e7a4616b4baf24": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_93b82984190d4eb89805d6d6bb5f826c", + "IPY_MODEL_8b1bfd7bde53401392589b756b26ff91", + "IPY_MODEL_e58e16789e6e470b8a9c4d991216f3c1" + ], + "layout": "IPY_MODEL_39ecf07a4350413489610534028314e6", + "tabbable": null, + "tooltip": null + } + }, + "73c807e37ea14bb8908ee82656907990": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "78cab3e2c3854cc0913baae146853f9e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7d4efe46df1e4d9091a626248ab44f41": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "81b999abefd643caac6d49cd6de6afcf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "821bb7191e1f4c9bac20dad5cc31abbc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "840ed81bd0b34e96a68c3645008b4617": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_d686da984ca449e997190e6dfe86970b", + "placeholder": "\u200b", + "style": "IPY_MODEL_4b64a3118b0e4f419bfe797ea96f442a", + "tabbable": null, + "tooltip": null, + "value": "COLLECTING\u2007RESULTS\u2007|\u2007:\u2007100%" + } + }, + "8b1bfd7bde53401392589b756b26ff91": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_949b80aa88af46b7a0d92253a1f985f9", + "max": 1.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_5383047b28154665b98cc9267f5fc9b7", + "tabbable": null, + "tooltip": null, + "value": 1.0 + } + }, + "8c17f250fdf4435f88b127634a3064ec": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8c6ca393e019497d8fc042bd1bcd7bd8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "8f3cbc54fd9a4d0abf1ddbd415316afb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_b8b18f5765cb4fe8bfe41dce3a942589", + "max": 268.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_deb448345bd34052aa42ff351e545a34", + "tabbable": null, + "tooltip": null, + "value": 268.0 + } + }, + "93b82984190d4eb89805d6d6bb5f826c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_3f56cb29f88041ffa338825e7d7e7834", + "placeholder": "\u200b", + "style": "IPY_MODEL_9fde0043c84948ecb6f77e21d24b6648", + "tabbable": null, + "tooltip": null, + "value": "PROCESSING\u2007TASKS\u2007|\u2007:\u2007100%" + } + }, + "9454414cd4594962aaf34574b07d530b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_7d4efe46df1e4d9091a626248ab44f41", + "placeholder": "\u200b", + "style": "IPY_MODEL_3815de637a684e70812d60736a341abb", + "tabbable": null, + "tooltip": null, + "value": "Loading\u2007bed\u2007picks:\u2007100%" + } + }, + "949b80aa88af46b7a0d92253a1f985f9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9e27ef5f534f4e9bbb6f66c1da7e5d88": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "9fde0043c84948ecb6f77e21d24b6648": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "aab4e62c1b62452fbdc144a542f4de0c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "b8b18f5765cb4fe8bfe41dce3a942589": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "be26796ae5854b0e8802f5899193d7fc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9454414cd4594962aaf34574b07d530b", + "IPY_MODEL_8f3cbc54fd9a4d0abf1ddbd415316afb", + "IPY_MODEL_da94c52003494c1e9c8f71a1291d3497" + ], + "layout": "IPY_MODEL_2861dfd1986c46c086e5acf8a87bb65d", + "tabbable": null, + "tooltip": null + } + }, + "ccce046ffc2c4320b1dc551f4c538959": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "d273be52eecc4f2ea62c38c5492a1da7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d686da984ca449e997190e6dfe86970b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d96e111d0ce54d7a925b3f9d62ed1dd7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_d273be52eecc4f2ea62c38c5492a1da7", + "placeholder": "\u200b", + "style": "IPY_MODEL_ccce046ffc2c4320b1dc551f4c538959", + "tabbable": null, + "tooltip": null, + "value": "\u20071/1\u2007[00:00<00:00,\u200787.59it/s]" + } + }, + "da94c52003494c1e9c8f71a1291d3497": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_fdb223a7e1c442edbb59589ab8123e01", + "placeholder": "\u200b", + "style": "IPY_MODEL_9e27ef5f534f4e9bbb6f66c1da7e5d88", + "tabbable": null, + "tooltip": null, + "value": "\u2007268/268\u2007[00:42<00:00,\u2007\u20078.42it/s]" + } + }, + "deb448345bd34052aa42ff351e545a34": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "e4e86bb759174879a7a77ca082b0f92e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "e58e16789e6e470b8a9c4d991216f3c1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_821bb7191e1f4c9bac20dad5cc31abbc", + "placeholder": "\u200b", + "style": "IPY_MODEL_8c6ca393e019497d8fc042bd1bcd7bd8", + "tabbable": null, + "tooltip": null, + "value": "\u20071/1\u2007[00:01<00:00,\u2007\u20071.37s/it]" + } + }, + "eaeb2514f18a45fca636471b4e49b6f5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_036bf09e187246af906f2c0d03512930", + "max": 1.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_81b999abefd643caac6d49cd6de6afcf", + "tabbable": null, + "tooltip": null, + "value": 1.0 + } + }, + "f0fd2cb31b6c474eb9f6e2389d29ded2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f3ce8e36cf85440cb108c67858fd2ac1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_f4fc3726bbd8422c8eaeb1f60e70e346", + "IPY_MODEL_26c914dbe9bd45cc8a3b085e39b73499", + "IPY_MODEL_02d0fcbe7188468e918ab1b453f5deee" + ], + "layout": "IPY_MODEL_6038b32c7e364cd6a793a88dcbfa849f", + "tabbable": null, + "tooltip": null + } + }, + "f4fc3726bbd8422c8eaeb1f60e70e346": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_f0fd2cb31b6c474eb9f6e2389d29ded2", + "placeholder": "\u200b", + "style": "IPY_MODEL_aab4e62c1b62452fbdc144a542f4de0c", + "tabbable": null, + "tooltip": null, + "value": "QUEUEING\u2007TASKS\u2007|\u2007:\u2007100%" + } + }, + "fdb223a7e1c442edbb59589ab8123e01": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + } + }, + "version_major": 2, + "version_minor": 0 + } } }, "nbformat": 4, diff --git a/docs/notebooks/bedmap_match.ipynb b/docs/notebooks/bedmap_match.ipynb new file mode 100644 index 00000000..a27f4da1 --- /dev/null +++ b/docs/notebooks/bedmap_match.ipynb @@ -0,0 +1,330 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "title: Matching Bedmap points to OPR frames\n", + "date: 2026-04-28\n", + "---\n", + "\n", + "Bedmap is a community-maintained point cloud of bed-elevation picks compiled from many surveys; xOPR exposes radar-derived bed picks frame-by-frame. To compare them or fuse them, we need a fast spatial join between two heterogeneous datasets:\n", + "\n", + "- **Bedmap** \u2014 millions of `(lat, lon, bed_elev)` points, no native frame association.\n", + "- **OPR** \u2014 flight-line GeoDataFrame whose every STAC item carries an `opr:mbox` (4 morton cells covering the line geometry).\n", + "\n", + "This notebook walks through the two-stage matching API:\n", + "\n", + "1. **Coarse match** (`xopr.bedmap.match_bedmap_to_frames`) \u2014 for each Bedmap point, encode an order-18 morton index and find every OPR frame whose `opr:mbox` contains that point via prefix-string containment. Same `bedmap_str.startswith(mbox_str)` invariant the morton extension is built around.\n", + "2. **Disambiguate** (`xopr.bedmap.disambiguate_matches`) \u2014 when a point matches multiple frames (typical at frame boundaries, or where flight lines self-intersect), use along-track runs to assign each point to a specific frame and compute the nearest OPR layer pick.\n", + "\n", + "We also use [`xopr.bedmap.classify_ambiguity`](../api/xopr.bedmap.html#xopr.bedmap.classify_ambiguity) to diagnose whether the multi-match cases are benign frame-boundary overlaps or genuine cross-segment overlaps from revisits.\n", + "\n", + ":::{note}\n", + "**Demo scope:** to keep the docs build fast, this notebook runs against a single segment (`20091104_01`, 59 frames) of the 2009_Antarctica_DC8 catalog rather than the full ~830-frame season. The same workflow scales to a whole season \u2014 just remove the segment filter at the top of cell 1 and expect the `load_bed_picks` step to take 30+ minutes instead of a couple. The disambiguation, matching, and classification logic is identical at any scale.\n", + ":::\n", + "\n", + "**Companion notebooks**: see [`bed_picks.ipynb`](./bed_picks.ipynb) for loading OPR bed picks generally, [`bedmachine_comparison.ipynb`](./bedmachine_comparison.ipynb) for OPR vs raster comparison, and [`xopr_atl06_crossovers.ipynb`](./xopr_atl06_crossovers.ipynb) for the polygon-vs-frame variant of this same prefix trick.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Load the catalog and Bedmap data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import time\n", + "\n", + "import fsspec\n", + "import geopandas as gpd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from collections import Counter\n", + "\n", + "import xopr\n", + "from xopr.bedmap import (\n", + " classify_ambiguity,\n", + " disambiguate_matches,\n", + " fetch_bedmap,\n", + " match_bedmap_to_frames,\n", + " query_bedmap,\n", + ")\n", + "from xopr.stac.morton import mbox_to_polygons" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Post-#78 catalog with opr:mbox per item. Pick a season covered by Bedmap.\n", + "CATALOG_URL = (\n", + " \"https://data.source.coop/englacial/xopr/catalog/\"\n", + " \"hemisphere=south/provider=cresis/collection=2009_Antarctica_DC8/stac.parquet\"\n", + ")\n", + "\n", + "# To run the full ~830-frame season, set DEMO_SEGMENT = None.\n", + "DEMO_SEGMENT = ('20091104', 1) # (opr:date, opr:segment) \u2014 59 frames, ~2-3 min to load picks.\n", + "\n", + "with fsspec.open(CATALOG_URL) as f:\n", + " stac_gdf = gpd.read_parquet(f)\n", + "\n", + "if 'opr:mbox' not in stac_gdf.columns:\n", + " raise RuntimeError(\n", + " 'Catalog has no opr:mbox column \u2014 it predates PR #77 / issue #78. '\n", + " 'Pick a reprocessed season from https://github.com/englacial/xopr/issues/78.'\n", + " )\n", + "\n", + "if DEMO_SEGMENT is not None:\n", + " date, segment = DEMO_SEGMENT\n", + " stac_gdf = stac_gdf[\n", + " (stac_gdf['opr:date'] == date) & (stac_gdf['opr:segment'] == segment)\n", + " ].reset_index(drop=True)\n", + " print(f\"Filtered to demo segment {date}_{segment:02d}: {len(stac_gdf)} frames\")\n", + "else:\n", + " print(f\"Loaded full season {stac_gdf['collection'].iloc[0]}: {len(stac_gdf)} frames\")\n", + "\n", + "stac_gdf[['id', 'opr:date', 'opr:segment', 'opr:frame', 'opr:mbox']].head(3)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Fetch matching Bedmap points within the catalog footprint.\n", + "# query_bedmap streams from source.coop and supports spatial pre-filtering.\n", + "footprint = stac_gdf.unary_union\n", + "fetch_bedmap('bedmap2')\n", + "bedmap_gdf = query_bedmap(\n", + " geometry=footprint,\n", + " collections=['bedmap2'],\n", + " local_cache=True,\n", + ")\n", + "# query_bedmap returns a DataFrame with lat/lon columns; build a GeoDataFrame.\n", + "bedmap_gdf = gpd.GeoDataFrame(\n", + " bedmap_gdf,\n", + " geometry=gpd.points_from_xy(bedmap_gdf['lon'], bedmap_gdf['lat']),\n", + " crs='EPSG:4326',\n", + ")\n", + "print(f\"Bedmap points in footprint: {len(bedmap_gdf):,}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Morton-prefix matching (the coarse stage)\n", + "\n", + "[`match_bedmap_to_frames`](../api/xopr.bedmap.html#xopr.bedmap.match_bedmap_to_frames) computes an order-18 morton index for every Bedmap point, then flags every OPR frame whose mbox cell is a prefix of that index. Variable-resolution cells: a 5-digit cell matches a wide swath of bedmap points; a 19-digit cell matches only points within ~5m of the frame line." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "t0 = time.time()\n", + "result = match_bedmap_to_frames(stac_gdf, bedmap_gdf)\n", + "print(f\"Matching: {time.time() - t0:.1f}s for {len(bedmap_gdf):,} points \u00d7 {len(stac_gdf)} frames\")\n", + "\n", + "total = len(result)\n", + "matched = (result['n_candidates'] > 0).sum()\n", + "unique = (result['n_candidates'] == 1).sum()\n", + "ambig = (result['n_candidates'] > 1).sum()\n", + "unmatched = (result['n_candidates'] == 0).sum()\n", + "\n", + "print(f\"\\n Matched (\u22651 candidate): {matched:>8,} ({matched/total:.1%})\")\n", + "print(f\" Unambiguous (1): {unique:>8,} ({unique/total:.1%})\")\n", + "print(f\" Ambiguous (>1): {ambig:>8,} ({ambig/total:.1%})\")\n", + "print(f\" Unmatched (0): {unmatched:>8,} ({unmatched/total:.1%})\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Why are points ambiguous?\n", + "\n", + "[`classify_ambiguity`](../api/xopr.bedmap.html#xopr.bedmap.classify_ambiguity) buckets each multi-match into one of:\n", + "\n", + "- `unique` \u2014 exactly one candidate (no ambiguity).\n", + "- `consecutive` \u2014 adjacent frames within a single segment (a benign frame-boundary overlap).\n", + "- `cross_segment` \u2014 multiple segments, multiple dates, or non-adjacent frames within one segment (overlapping flight lines or revisits)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "result['ambiguity'] = result['opr_candidates'].apply(classify_ambiguity)\n", + "print(result['ambiguity'].value_counts())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Visualize the mbox coverage and match outcome" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Materialize every frame's 4 mbox cells as shapely Polygons in EPSG:4326.\n", + "mbox_records = []\n", + "for _, row in stac_gdf.iterrows():\n", + " for poly in mbox_to_polygons(row['opr:mbox']):\n", + " mbox_records.append({\n", + " 'geometry': poly,\n", + " 'opr:frame': row['opr:frame'],\n", + " 'opr:date': row['opr:date'],\n", + " })\n", + "mbox_gdf = gpd.GeoDataFrame(mbox_records, crs='EPSG:4326').to_crs('EPSG:3031')\n", + "stac_proj = stac_gdf.to_crs('EPSG:3031')\n", + "\n", + "# Subsample bedmap for plotting speed.\n", + "sample_n = min(50_000, len(result))\n", + "plot_sample = result.sample(sample_n, random_state=42).to_crs('EPSG:3031')\n", + "groups = {\n", + " 'unmatched': (plot_sample[plot_sample['n_candidates'] == 0], '#e74c3c'),\n", + " 'unique': (plot_sample[plot_sample['n_candidates'] == 1], '#2ecc71'),\n", + " 'ambiguous': (plot_sample[plot_sample['n_candidates'] > 1], '#f39c12'),\n", + "}\n", + "\n", + "fig, ax = plt.subplots(figsize=(12, 12))\n", + "mbox_gdf.plot(ax=ax, facecolor='cornflowerblue', edgecolor='navy',\n", + " linewidth=0.2, alpha=0.15, label='mbox cells')\n", + "for label, (gdf, color) in groups.items():\n", + " gdf.plot(ax=ax, color=color, markersize=0.5, alpha=0.4,\n", + " label=f'{label} ({len(gdf):,})')\n", + "stac_proj.plot(ax=ax, color='blue', linewidth=0.3, alpha=0.5,\n", + " label=f'OPR frames ({len(stac_gdf)})')\n", + "ax.legend(loc='upper right', markerscale=15, fontsize=9)\n", + "ax.set_title('Morton mbox coverage and match results (EPSG:3031)')\n", + "ax.set_xlabel('Easting (m)')\n", + "ax.set_ylabel('Northing (m)')\n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Disambiguate: assign each point to a single frame\n", + "\n", + "[`disambiguate_matches`](../api/xopr.bedmap.html#xopr.bedmap.disambiguate_matches) takes the multi-candidate output, groups adjacent frames, and assigns each point to a specific frame using along-track contiguous runs. Within each assigned group, it then finds the nearest layer pick to compute distance.\n", + "\n", + "We need a layer-pick GeoDataFrame to feed in. [`OPRConnection.load_bed_picks`](../api/xopr.opr_access.html#xopr.opr_access.OPRConnection.load_bed_picks) produces exactly that schema \u2014 see the [bed_picks notebook](./bed_picks.ipynb) for details." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "opr = xopr.OPRConnection(cache_dir='radar_cache')\n", + "# Load bed picks for every frame in the (subsetted) catalog \u2014 one network\n", + "# call per frame. ~2-3 minutes for the demo segment; 30+ minutes for a full\n", + "# season if you set DEMO_SEGMENT = None above.\n", + "layer_gdf = opr.load_bed_picks(stac_gdf, target_crs='EPSG:3031')\n", + "print(f\"Loaded {len(layer_gdf):,} OPR layer picks\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "t0 = time.time()\n", + "disambig = disambiguate_matches(result, layer_gdf, stac_gdf, group_size=5)\n", + "print(f\"Disambiguation: {time.time() - t0:.1f}s\")\n", + "\n", + "d = disambig['nearest_distance_m']\n", + "print(f\"\\nDistance from each Bedmap point to its assigned OPR layer pick:\")\n", + "print(f\" median: {d.median():>7.0f} m\")\n", + "print(f\" p80: {d.quantile(0.80):>7.0f} m\")\n", + "print(f\" p95: {d.quantile(0.95):>7.0f} m\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Group-size sensitivity\n", + "\n", + "`group_size` controls how many adjacent frames are bundled together when forming along-track runs. Larger groups give a wider spatial filter (fewer, longer runs) but coarser frame assignment; smaller groups are finer but produce more, shorter runs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "rows = []\n", + "for gs in (3, 5, 7, 10):\n", + " t0 = time.time()\n", + " out = disambiguate_matches(result, layer_gdf, stac_gdf, group_size=gs)\n", + " elapsed = time.time() - t0\n", + " d = out['nearest_distance_m']\n", + " rl = out['run_length']\n", + " rl_pos = rl[rl > 0]\n", + " rows.append({\n", + " 'group_size': gs,\n", + " 'n_runs': int(out['run_id'].max() + 1),\n", + " 'median_run_len': int(rl_pos.median()),\n", + " 'p90_run_len': int(rl_pos.quantile(0.90)),\n", + " 'median_dist_m': int(d.median()),\n", + " 'p95_dist_m': int(d.quantile(0.95)),\n", + " 'time_s': round(elapsed, 1),\n", + " })\n", + "import pandas as pd\n", + "pd.DataFrame(rows).set_index('group_size')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6. Summary\n", + "\n", + "- **Coarse match** (`match_bedmap_to_frames`) is fast: ~$O(\\text{points} \\times \\text{distinct prefix lengths})$ via a string-prefix lookup, no polygon intersection.\n", + "- **Most ambiguity is benign**: `classify_ambiguity` shows the bulk of multi-match cases are `consecutive` frame-boundary overlaps. The interesting cases are `cross_segment` revisits.\n", + "- **Disambiguation** picks a single frame per point using contiguous along-track runs, then nearest-neighbor to the actual layer picks. The exact `nearest_distance_m` distribution is shown in the \u00a75 sweep above.\n", + "- The output schema `(assigned_segment_path, assigned_frame, nearest_distance_m, run_id, run_length)` is the basis for further analysis: filter by `nearest_distance_m` for high-confidence pairings, or by `run_length` for points belonging to long along-track segments.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "xopr", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/crossovers.ipynb b/docs/notebooks/crossovers.ipynb index 1770f70b..9f3a81eb 100644 --- a/docs/notebooks/crossovers.ipynb +++ b/docs/notebooks/crossovers.ipynb @@ -36,22 +36,15 @@ "import geoviews as gv\n", "import geoviews.feature as gf\n", "import cartopy.crs as ccrs\n", - "import cartopy.io.shapereader as shapereader\n", "import matplotlib.pyplot as plt\n", - "import shapely.geometry\n", - "import scipy.constants\n", "import geopandas as gpd\n", - "from tqdm import tqdm\n", - "\n", - "import requests\n", - "import time\n", "\n", "import xopr\n", "\n", "import holoviews as hv\n", "import hvplot.xarray\n", "import hvplot.pandas\n", - "hvplot.extension('bokeh')" + "hvplot.extension('bokeh')\n" ] }, { @@ -165,11 +158,11 @@ "xOPR includes a helper function to identify crossover points. Feel free to poke into the code and take a look. It takes advantage of GeoPandas's spatial join (`sjoin`) function, so it's actually quite concise.\n", "\n", "```{tip} Note about runtimes\n", - "This notebook can take quite some time to run if you have a lot of crossover points. It's parallelized with dask, so exactly how long will depend on your setup and it should be relatively efficient. If you're here to learn the library and experiment, we recommend limiting your queries to 100 or so intersection points. Some ways that you can limit the number of intersection points include:\n", + "This notebook can take quite some time to run if you have a lot of crossover points. The bottleneck is loading layer picks (one network round-trip per frame); the per-pair computation is microseconds. If you're here to learn the library, we recommend limiting your queries to 100 or so intersection points. Some ways to do that:\n", "- Choose a smaller geographic region or limit the date range of your query (above)\n", "- Filter the intersections dataframe by the crossing angle -- this will filter out nearly coincident lines which produce a lot of crossovers: `intersections = intersections[intersections['crossing_angle'] > 45]`\n", "- Just artificially limit the number of crossovers: `intersections = intersections.iloc[:100]`\n", - "```" + "```\n" ] }, { @@ -212,35 +205,13 @@ "id": "101c983e", "metadata": {}, "source": [ - "### Step 3: Load layer data and find the different in bed elevation\n", + "### Step 3: Load layer data and find the difference in bed elevation\n", "\n", - "Depending on how many intersection points you have, loading all of the layer data associated with each crossover may take quite some time. Luckily, this process can be parallelized fairly efficiently, so we'll use Dask to make this run a bit faster. Take a look at the \"Search and Scaling\" notebook for some tips on working with Dask.\n", + "[`OPRConnection.load_bed_picks`](../api/xopr.opr_access.html#xopr.opr_access.OPRConnection.load_bed_picks) loads bed picks for every frame in one call, returning a flat GeoDataFrame tagged with the source frame's STAC id. We then iterate over the intersection points, slice the picks for each frame, and call [`xopr.compute_crossover_error`](../api/xopr.opr_tools.html#xopr.opr_tools.compute_crossover_error) to get the elevation at each frame's nearest pick to the crossover.\n", "\n", - "This is a good time to check that you have a reasonable number of intersection points if you've modified anything. We recommend starting with about 100 or fewer intersection points so that this won't take more than about 5 minutes to run." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "59c1a9ed", - "metadata": {}, - "outputs": [], - "source": [ - "import dask\n", - "import dask.delayed as delayed\n", - "from dask import compute\n", - "from dask.distributed import LocalCluster\n", - "\n", - "client = LocalCluster().get_client()\n", - "client" - ] - }, - { - "cell_type": "markdown", - "id": "d2c38687", - "metadata": {}, - "source": [ - "By default, Dask will start a server at `http://127.0.0.1:8787/status`. If it can't use that port for some reason, the cell above should print out an alternative port. Visiting this status page is optional, but it will tell you about the progress of your job." + ":::{tip} Note about runtimes\n", + "Loading picks is one network round-trip per frame, so this can take a while for large catalogs. The picks-vs-picks computation is fast (microseconds per pair), so the total time is dominated by the network step. If you're experimenting, limit your initial query to ~100 intersection points.\n", + ":::\n" ] }, { @@ -250,41 +221,14 @@ "metadata": {}, "outputs": [], "source": [ - "@delayed\n", - "def safe_get_layers(stac_item, opr=xopr.opr_access.OPRConnection()):\n", - " \"\"\"Safely fetch layers using the unified get_layers interface with retries.\"\"\"\n", - " try:\n", - " retries = 1\n", - " backoff_time = 5\n", - " backoff_jitter = 30\n", - " while retries > 0:\n", - " try:\n", - " return opr.get_layers(stac_item, source='auto', include_geometry=True)\n", - " except requests.exceptions.RequestException as e:\n", - " sleep_time = backoff_time + np.random.uniform(0, backoff_jitter)\n", - " print(f\"Request error fetching layers for {stac_item['id']}: {e}. Retrying in {sleep_time:.1f} seconds...\")\n", - " time.sleep(sleep_time)\n", - " retries -= 1\n", - " backoff_time *= 2 # Exponential backoff\n", - " except Exception as e:\n", - " print(f\"Error fetching layers for {stac_item['id']}: {e}\")\n", - " return None\n", - "\n", - "def get_basal_layer_wgs84(stac_item, preloaded_layer=None, opr=xopr.opr_access.OPRConnection()):\n", - " if (preloaded_layer is None) or len(preloaded_layer) < 2:\n", - " layers = opr.get_layers(stac_item, source='auto')\n", - " else:\n", - " layers = preloaded_layer\n", - " \n", - " basal_layer = layers[\"standard:bottom\"]\n", - " surface_layer = layers[\"standard:surface\"]\n", - "\n", - " surface_wgs84 = layers[\"standard:surface\"]['elev'] - (layers[\"standard:surface\"]['twtt'] * (scipy.constants.c / 2))\n", - " delta_twtt = basal_layer['twtt'] - surface_layer['twtt']\n", - " basal_wgs84 = surface_wgs84 - (delta_twtt * ((scipy.constants.c / np.sqrt(3.15)) / 2))\n", - "\n", - " basal_layer['wgs84'] = basal_wgs84\n", - " return basal_layer" + "# Subset frames to those touching any intersection \u2014 saves loading picks for frames\n", + "# that don't participate in any crossover (mbox-based pre-filter when available).\n", + "frame_ids = set(intersections['id_1']).union(intersections['id_2'])\n", + "frames_used = stac_items_df.loc[stac_items_df['id'].isin(frame_ids)]\n", + "print(f\"Loading bed picks for {len(frames_used)} frames participating in {len(intersections)} crossovers\")\n", + "\n", + "picks = opr.load_bed_picks(frames_used, target_crs='EPSG:3031')\n", + "print(f\"Loaded {len(picks):,} bed picks\")\n" ] }, { @@ -294,38 +238,8 @@ "metadata": {}, "outputs": [], "source": [ - "@delayed\n", - "def compute_crossover_error_impl(stac_item_1, stac_item_2, intersection_geometry, layer_1, layer_2):\n", - " \"\"\"Implementation that receives actual layer values\"\"\"\n", - " try:\n", - " bed_1 = get_basal_layer_wgs84(stac_item_1, preloaded_layer=layer_1).rename({\"lat\": \"Latitude\", \"lon\": \"Longitude\"})\n", - " bed_2 = get_basal_layer_wgs84(stac_item_2, preloaded_layer=layer_2).rename({\"lat\": \"Latitude\", \"lon\": \"Longitude\"})\n", - "\n", - " bed_1 = xopr.geometry.project_dataset(bed_1, \"EPSG:3031\")\n", - " bed_2 = xopr.geometry.project_dataset(bed_2, \"EPSG:3031\")\n", - "\n", - " x, y = intersection_geometry.coords[0]\n", - "\n", - " dist_1 = np.sqrt((bed_1[\"x\"] - x)**2 + (bed_1[\"y\"] - y)**2)\n", - " dist_2 = np.sqrt((bed_2[\"x\"] - x)**2 + (bed_2[\"y\"] - y)**2)\n", - "\n", - " min_idx_1 = np.argmin(dist_1.data)\n", - " min_idx_2 = np.argmin(dist_2.data)\n", - "\n", - " dist_between_pts = np.sqrt((bed_1[\"x\"][min_idx_1] - bed_2[\"x\"][min_idx_2])**2 + (bed_1[\"y\"][min_idx_1] - bed_2[\"y\"][min_idx_2])**2)\n", - "\n", - " elev_1 = bed_1[\"wgs84\"][min_idx_1].item()\n", - " elev_2 = bed_2[\"wgs84\"][min_idx_2].item()\n", - "\n", - " return elev_1, elev_2, dist_between_pts\n", - " except Exception as e:\n", - " print(f\"Error in compute_crossover_error: {e}\")\n", - " return None, None, None # Return sentinel values on error\n", - "\n", - "def compute_crossover_error(stac_item_1, stac_item_2, intersection_geometry, preloaded_layer_1=None, preloaded_layer_2=None):\n", - " \"\"\"Wrapper that handles delayed objects properly\"\"\"\n", - " # These will be delayed objects or None\n", - " return compute_crossover_error_impl(stac_item_1, stac_item_2, intersection_geometry, preloaded_layer_1, preloaded_layer_2)" + "# Index picks by frame id for O(1) lookups in the loop below\n", + "picks_by_id = {fid: g for fid, g in picks.groupby('id')}\n" ] }, { @@ -335,62 +249,20 @@ "metadata": {}, "outputs": [], "source": [ - "future_layers = {}\n", - "future_results = {}\n", - "for idx, row in intersections.iterrows():\n", - " stac_item_1 = stac_items_df.loc[row[\"id_1\"]].to_dict()\n", - " stac_item_2 = stac_items_df.loc[row[\"id_2\"]].to_dict()\n", - " stac_item_1[\"id\"] = row[\"id_1\"]\n", - " stac_item_2[\"id\"] = row[\"id_2\"]\n", - "\n", - " # Fetch the layers using the unified get_layers interface\n", - " # Key by item ID (frame-level) since each frame has its own layer file\n", - " layer_key_1 = row[\"id_1\"]\n", - " layer_key_2 = row[\"id_2\"]\n", - " if layer_key_1 not in future_layers:\n", - " future_layers[layer_key_1] = safe_get_layers(stac_item_1)\n", - " if layer_key_2 not in future_layers:\n", - " future_layers[layer_key_2] = safe_get_layers(stac_item_2)\n", - "\n", - " # Create delayed task but DON'T compute yet\n", - " r = compute_crossover_error(\n", - " stac_item_1, stac_item_2, row.intersection_geometry,\n", - " preloaded_layer_1=future_layers.get(layer_key_1),\n", - " preloaded_layer_2=future_layers.get(layer_key_2)\n", - " )\n", - " future_results[idx] = r # Store the delayed object, not the computed result" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fcc54f36", - "metadata": {}, - "outputs": [], - "source": [ - "# Compute all results in parallel\n", - "results = compute(*future_results.values())\n", - "\n", - "# Process the results\n", - "for idx, result in zip(future_results.keys(), results):\n", - " try:\n", - " elev_1, elev_2, dist_between_pts = result\n", - " if elev_1 is not None and elev_2 is not None: # Skip failed computations\n", - " intersections.at[idx, 'wgs84_1'] = elev_1\n", - " intersections.at[idx, 'wgs84_2'] = elev_2\n", - " intersections.at[idx, 'layer_pt_distance'] = dist_between_pts\n", - " else:\n", - " print(f\"Skipping intersection {idx} due to computation error\")\n", - " except Exception as e:\n", - " print(f\"Error processing intersection {idx}: {repr(e)}\")" - ] - }, - { - "cell_type": "markdown", - "id": "bd589283", - "metadata": {}, - "source": [ - "We now have all of our crossovers. Don't worry about a few errors in the cell above. This is normal as it tries to load layer data from both possible sources (files and database)." + "from xopr.opr_tools import compute_crossover_error\n", + "\n", + "# Project intersections to EPSG:3031 to match the picks\n", + "intersections_proj = intersections.to_crs('EPSG:3031')\n", + "\n", + "for idx, row in intersections_proj.iterrows():\n", + " p1 = picks_by_id.get(row['id_1'])\n", + " p2 = picks_by_id.get(row['id_2'])\n", + " if p1 is None or p2 is None or len(p1) == 0 or len(p2) == 0:\n", + " continue\n", + " elev_1, elev_2, dist = compute_crossover_error(p1, p2, row.intersection_geometry)\n", + " intersections.at[idx, 'wgs84_1'] = elev_1\n", + " intersections.at[idx, 'wgs84_2'] = elev_2\n", + " intersections.at[idx, 'layer_pt_distance'] = dist\n" ] }, { diff --git a/docs/notebooks/xopr_atl06_crossovers.ipynb b/docs/notebooks/xopr_atl06_crossovers.ipynb index 0fd1c0a7..77bc297d 100644 --- a/docs/notebooks/xopr_atl06_crossovers.ipynb +++ b/docs/notebooks/xopr_atl06_crossovers.ipynb @@ -35,7 +35,7 @@ "import numpy as np\n", "import pandas as pd\n", "\n", - "from xopr import crossovers" + "from xopr import matching" ] }, { @@ -299,7 +299,7 @@ "\n", "if POINTS_OF_INTEREST is not None:\n", " n_before = len(frames)\n", - " frames = crossovers.subset_frames_by_points(frames, POINTS_OF_INTEREST)\n", + " frames = matching.subset_frames_by_points(frames, POINTS_OF_INTEREST)\n", " print(f\"Subset by {len(POINTS_OF_INTEREST)} points: {n_before} \u2192 {len(frames)} frames\")\n", "else:\n", " print(f\"No subset applied; working with all {len(frames)} frames\")\n", @@ -337,7 +337,7 @@ "source": [ "# Flatten every frame's 4 mbox cells into one list for the bbox computation.\n", "all_cells = [int(c) for mbox in frames[\"opr:mbox\"] for c in mbox]\n", - "bbox = crossovers.cmr_bbox_from_mpolygon(all_cells, step=16)\n", + "bbox = matching.cmr_bbox_from_mpolygon(all_cells, step=16)\n", "print(f\"CMR bbox (lon_min, lat_min, lon_max, lat_max): {bbox}\")" ] }, @@ -364,7 +364,7 @@ } ], "source": [ - "start_date, end_date = crossovers.resolve_temporal_window(\n", + "start_date, end_date = matching.resolve_temporal_window(\n", " frames_gdf=frames,\n", " mode=TEMPORAL_MODE or \"exact_year\",\n", " cycle=CYCLE,\n", @@ -399,7 +399,7 @@ ], "source": [ "t0 = time.perf_counter()\n", - "granules = crossovers.query_cmr_granules(\n", + "granules = matching.query_cmr_granules(\n", " start_date=start_date,\n", " end_date=end_date,\n", " short_name=\"ATL06\",\n", @@ -522,11 +522,11 @@ ], "source": [ "t0 = time.perf_counter()\n", - "tree, st_records = crossovers.build_granule_strtree(granules, crs=CRS)\n", + "tree, st_records = matching.build_granule_strtree(granules, crs=CRS)\n", "t_build_st = time.perf_counter() - t0\n", "\n", "t0 = time.perf_counter()\n", - "strtree_result = crossovers.match_frames_to_granules(\n", + "strtree_result = matching.match_frames_to_granules(\n", " frames, tree, st_records, crs=CRS, step=32,\n", ")\n", "t_match_st = time.perf_counter() - t0\n", @@ -1100,13 +1100,13 @@ ], "source": [ "t0 = time.perf_counter()\n", - "pf_records = crossovers.build_granule_prefix_index(\n", + "pf_records = matching.build_granule_prefix_index(\n", " granules, n_per_segment=PREFIX_N_PER_SEGMENT,\n", ")\n", "t_build_pf = time.perf_counter() - t0\n", "\n", "t0 = time.perf_counter()\n", - "prefix_result = crossovers.match_frames_to_granules_prefix(frames, pf_records)\n", + "prefix_result = matching.match_frames_to_granules_prefix(frames, pf_records)\n", "t_match_pf = time.perf_counter() - t0\n", "\n", "print(f\"Built prefix index over {len(pf_records)} granules in {t_build_pf:.2f}s\")\n", diff --git a/src/xopr/bedmap/__init__.py b/src/xopr/bedmap/__init__.py index 8718c799..5ab7f2c4 100644 --- a/src/xopr/bedmap/__init__.py +++ b/src/xopr/bedmap/__init__.py @@ -27,6 +27,11 @@ get_polar_bounds, simplify_multiline_geometry, ) +from .morton_match import ( + classify_ambiguity, + disambiguate_matches, + match_bedmap_to_frames, +) from .query import ( fetch_bedmap, get_bedmap_cache_path, @@ -58,6 +63,10 @@ 'query_bedmap_local', 'fetch_bedmap', 'get_bedmap_cache_path', + # Morton matching + 'match_bedmap_to_frames', + 'disambiguate_matches', + 'classify_ambiguity', ] __version__ = '0.1.0' diff --git a/src/xopr/bedmap/catalog.py b/src/xopr/bedmap/catalog.py index ea70bbf5..0c31f102 100644 --- a/src/xopr/bedmap/catalog.py +++ b/src/xopr/bedmap/catalog.py @@ -120,7 +120,7 @@ def build_bedmap_geoparquet_catalog( continue if not metadata: - print(f" Warning: No metadata found, skipping") + print(" Warning: No metadata found, skipping") continue # Get geometry - may be object or WKT string @@ -143,7 +143,7 @@ def build_bedmap_geoparquet_catalog( geometry = geometry.simplify(simplify_tolerance, preserve_topology=True) if geometry is None: - print(f" Warning: No geometry, skipping") + print(" Warning: No geometry, skipping") continue # Extract metadata fields diff --git a/src/xopr/bedmap/converter.py b/src/xopr/bedmap/converter.py index 4eba067a..c664a428 100644 --- a/src/xopr/bedmap/converter.py +++ b/src/xopr/bedmap/converter.py @@ -273,7 +273,7 @@ def create_timestamps(df: pd.DataFrame, metadata: Dict) -> pd.Series: if start_year is None: # No temporal information available - warnings.warn(f"No temporal information available, using current year as placeholder") + warnings.warn("No temporal information available, using current year as placeholder") start_year = end_year = datetime.now().year # Convert to timestamps diff --git a/src/xopr/bedmap/morton_match.py b/src/xopr/bedmap/morton_match.py index 3e417885..081c9da3 100644 --- a/src/xopr/bedmap/morton_match.py +++ b/src/xopr/bedmap/morton_match.py @@ -115,6 +115,56 @@ def match_bedmap_to_frames(stac_gdf, bedmap_gdf, order=18): return result +def classify_ambiguity(candidates): + """Classify a list of candidate frames as ``'unique'``, ``'consecutive'``, or ``'cross_segment'``. + + Useful for diagnosing why a bedmap point has multiple morton matches: + + - ``'unique'`` β€” exactly one candidate (no ambiguity). + - ``'consecutive'`` β€” every candidate is in the same ``(opr:date, opr:segment)`` + group AND their frame numbers form a contiguous run (a frame-boundary + overlap, expected and benign). + - ``'cross_segment'`` β€” candidates span multiple segments, multiple dates, + or non-adjacent frames within one segment (overlapping flight lines or + revisits). + + Parameters + ---------- + candidates : list of tuple + ``(segment, date, frame, item_id)`` tuples as produced by + :func:`match_bedmap_to_frames`. + + Returns + ------- + str + One of ``'unique'``, ``'consecutive'``, ``'cross_segment'``. + Returns ``'unique'`` for empty or single-candidate input. + + Examples + -------- + >>> result = match_bedmap_to_frames(stac_gdf, bedmap_gdf) + >>> result['ambiguity'] = result['opr_candidates'].apply(classify_ambiguity) + >>> result['ambiguity'].value_counts() + """ + if len(candidates) <= 1: + return 'unique' + + by_seg = {} + for seg, date, frame, _ in candidates: + by_seg.setdefault((seg, date), []).append(frame) + + # Multiple (segment, date) groups β†’ cross-segment + if len(by_seg) > 1: + return 'cross_segment' + + # Single group: are all frames adjacent? + frames_sorted = sorted(by_seg[next(iter(by_seg))]) + for i in range(1, len(frames_sorted)): + if frames_sorted[i] - frames_sorted[i - 1] > 1: + return 'cross_segment' + return 'consecutive' + + def _build_frame_groups(stac_gdf, group_size): """Group adjacent frames within each (date, segment). diff --git a/src/xopr/bedmap/tests/test_morton_match.py b/src/xopr/bedmap/tests/test_morton_match.py index 77a8b918..e3ba0b51 100644 --- a/src/xopr/bedmap/tests/test_morton_match.py +++ b/src/xopr/bedmap/tests/test_morton_match.py @@ -10,6 +10,7 @@ _build_mbox_lookup, _find_contiguous_runs, _morton_prefix_match, + classify_ambiguity, disambiguate_matches, match_bedmap_to_frames, ) @@ -178,3 +179,41 @@ def test_disambiguate_matches(): assert disambig.iloc[1]['assigned_frame'] == 2 # All distances should be finite assert np.all(np.isfinite(disambig['nearest_distance_m'])) + + +def test_classify_ambiguity_unique(): + assert classify_ambiguity([]) == 'unique' + assert classify_ambiguity([(5, '20091020', 1, 'X')]) == 'unique' + + +def test_classify_ambiguity_consecutive(): + cands = [ + (5, '20091020', 1, 'A'), + (5, '20091020', 2, 'B'), + (5, '20091020', 3, 'C'), + ] + assert classify_ambiguity(cands) == 'consecutive' + + +def test_classify_ambiguity_cross_segment_multiple_segments(): + cands = [ + (5, '20091020', 1, 'A'), + (6, '20091020', 1, 'B'), + ] + assert classify_ambiguity(cands) == 'cross_segment' + + +def test_classify_ambiguity_cross_segment_multiple_dates(): + cands = [ + (5, '20091020', 1, 'A'), + (5, '20091021', 1, 'B'), + ] + assert classify_ambiguity(cands) == 'cross_segment' + + +def test_classify_ambiguity_cross_segment_nonadjacent_frames(): + cands = [ + (5, '20091020', 1, 'A'), + (5, '20091020', 5, 'B'), # gap from 1 to 5 + ] + assert classify_ambiguity(cands) == 'cross_segment' diff --git a/src/xopr/geometry.py b/src/xopr/geometry.py index 478bc44f..10b5429c 100644 --- a/src/xopr/geometry.py +++ b/src/xopr/geometry.py @@ -26,9 +26,12 @@ """ import geopandas as gpd +import numpy as np import shapely import shapely.ops +import xarray as xr from pyproj import Transformer +from scipy.stats import binned_statistic_2d def get_antarctic_regions( @@ -255,11 +258,11 @@ def _get_regions( simplify_tolerance = 0 elif area_km2 < 100000: print(f"Area is {area_km2:.1f} km^2, automatically applying 100m simplification tolerance") - print(f"To disable simplification, set simplify_tolerance=0") + print("To disable simplification, set simplify_tolerance=0") simplify_tolerance = 100 else: print(f"Area is {area_km2:.1f} km^2, automatically applying 1km simplification tolerance") - print(f"To disable simplification, set simplify_tolerance=0") + print("To disable simplification, set simplify_tolerance=0") simplify_tolerance = 1000 if simplify_tolerance and (simplify_tolerance > 0): @@ -355,3 +358,82 @@ def project_geojson(geometry, source_crs="EPSG:4326", target_crs=None): transformer = Transformer.from_crs(source_crs, target_crs, always_xy=True) projected_geometry = shapely.ops.transform(transformer.transform, geometry) return projected_geometry + + +def grid_points(gdf, column, spacing, aggregations=('median', 'std', 'count'), + bounds=None): + """ + Block-aggregate point values onto a regular grid. + + Bins the points in ``gdf`` into square cells of side ``spacing`` (in + the GeoDataFrame's CRS units) and computes one or more aggregation + statistics per cell. Cells with no points are left as NaN. + + Parameters + ---------- + gdf : geopandas.GeoDataFrame + Point geometries with a numeric column to aggregate. Must have + a projected (non-geographic) CRS β€” pass through :meth:`to_crs` + first if necessary. + column : str + Name of the column in ``gdf`` to aggregate. + spacing : float + Cell size in CRS units (e.g. metres for ``EPSG:3031``). + aggregations : sequence of str or callable, default ('median', 'std', 'count') + Statistics to compute. Strings are passed through to + :func:`scipy.stats.binned_statistic_2d` and must be one of + ``{'mean', 'median', 'count', 'sum', 'min', 'max', 'std'}``. + Callables receive a 1-D array of values for one cell and must + return a scalar. + bounds : tuple of float, optional + ``(x_min, y_min, x_max, y_max)`` in CRS units. If None, derived + from the point cloud's extent. + + Returns + ------- + xarray.Dataset + Dataset with coordinates ``x``, ``y`` and one variable per + aggregation, named ``f"{column}_{agg}"``. + + Examples + -------- + >>> picks = opr.load_bed_picks(frames, target_crs='EPSG:3031') + >>> grid = grid_points(picks, column='wgs84', spacing=5000) + >>> grid['wgs84_median'] + """ + if gdf.crs is None: + raise ValueError("gdf must have a CRS set") + if gdf.crs.is_geographic: + raise ValueError( + f"gdf has a geographic CRS ({gdf.crs}); reproject to a projected " + f"CRS (e.g. EPSG:3031) before gridding" + ) + if column not in gdf.columns: + raise KeyError(f"column {column!r} not in gdf") + + x = gdf.geometry.x.values + y = gdf.geometry.y.values + vals = np.asarray(gdf[column].values, dtype=float) + + if bounds is None: + x_min, x_max = float(x.min()), float(x.max()) + y_min, y_max = float(y.min()), float(y.max()) + else: + x_min, y_min, x_max, y_max = (float(v) for v in bounds) + + x_edges = np.arange(x_min, x_max + spacing, spacing) + y_edges = np.arange(y_min, y_max + spacing, spacing) + + data_vars = {} + for agg in aggregations: + agg_name = agg if isinstance(agg, str) else getattr(agg, '__name__', 'agg') + stat, _, _, _ = binned_statistic_2d( + x, y, vals, statistic=agg, bins=[x_edges, y_edges], + ) + # binned_statistic_2d returns shape (nx-1, ny-1); transpose so the + # natural xarray order is (y, x). + data_vars[f"{column}_{agg_name}"] = (('y', 'x'), stat.T) + + x_centres = 0.5 * (x_edges[:-1] + x_edges[1:]) + y_centres = 0.5 * (y_edges[:-1] + y_edges[1:]) + return xr.Dataset(data_vars, coords={'x': x_centres, 'y': y_centres}) diff --git a/src/xopr/crossovers.py b/src/xopr/matching.py similarity index 94% rename from src/xopr/crossovers.py rename to src/xopr/matching.py index dca99506..78b25af2 100644 --- a/src/xopr/crossovers.py +++ b/src/xopr/matching.py @@ -1,15 +1,17 @@ -"""Map xopr STAC frames to ICESat-2 (or other CMR-indexed) granules. +"""Spatial matching of xopr STAC frames against external datasets. -One CMR query per invocation builds a local granule index; per-frame -matching then intersects each frame's ``opr:mbox`` cells (4 morton cells -per frame, variable resolution) against that index. Two backends are -provided and produce the same hits: +Provides primitives for matching xopr frames (with ``opr:mbox`` morton +coverage) against three classes of external geometry: -- :func:`match_frames_to_granules` β€” shapely STRtree over projected - granule polygons; exact polygon-polygon intersection per mbox cell. -- :func:`match_frames_to_granules_prefix` β€” bidirectional morton prefix - matching against each granule's own variable-resolution mbox - (generalizes :mod:`xopr.bedmap.morton_match`). +- **Polygon datasets indexed by NASA CMR** (e.g. ICESat-2 ATL06 granules). + One CMR query per invocation builds a local index; two backends + (:func:`match_frames_to_granules` via shapely STRtree, and + :func:`match_frames_to_granules_prefix` via bidirectional morton prefix + matching) produce the same hits. +- **Point sets** β€” see :func:`subset_frames_by_points` for the fast + prefix-based pre-filter (same containment test as + :mod:`xopr.bedmap.morton_match`). +- **Other STAC catalogs** β€” same building blocks apply. The CMR query helper is a minimal vendored subset of ``magg.catalog.query_cmr`` (englacial/magg) so xopr avoids a runtime @@ -22,19 +24,13 @@ import numpy as np import requests from mortie import geo2mort -from mortie.tools import mort2polygon from pyproj import Transformer from shapely import STRtree, make_valid from shapely.geometry import Polygon -CMR_GRANULES_URL = "https://cmr.earthdata.nasa.gov/search/granules.umm_json" - +from .stac.morton import mbox_to_polygons -def _cell_polygon_4326(cell, step=32): - """Reconstruct a shapely Polygon in EPSG:4326 from a morton cell id.""" - verts = mort2polygon(int(cell), step=step) # [[lat, lon], ...] - arr = np.asarray(verts) - return Polygon(zip(arr[:, 1], arr[:, 0])) # (lon, lat) +CMR_GRANULES_URL = "https://cmr.earthdata.nasa.gov/search/granules.umm_json" def _reproject_polygon(poly, transformer): @@ -60,7 +56,7 @@ def cmr_bbox_from_mpolygon(mpolygon, step=32): tuple of float Bounding box in lon/lat. """ - polys = [_cell_polygon_4326(c, step=step) for c in mpolygon] + polys = mbox_to_polygons(mpolygon, step=step) union = polys[0] for p in polys[1:]: union = union.union(p) @@ -272,8 +268,9 @@ def match_frames_to_granules( counts = [] for mbox in frames_gdf["opr:mbox"].values: seen = {} - for cell in mbox: - cell_poly = _reproject_polygon(_cell_polygon_4326(cell, step=step), transformer) + cell_polys_4326 = mbox_to_polygons(mbox, step=step) + for cell_poly_4326 in cell_polys_4326: + cell_poly = _reproject_polygon(cell_poly_4326, transformer) hits = granule_tree.query(cell_poly, predicate="intersects") for idx in hits: rec = granule_records[int(idx)] diff --git a/src/xopr/matlab_attribute_utils.py b/src/xopr/matlab_attribute_utils.py index a8925f6a..719c2bbd 100644 --- a/src/xopr/matlab_attribute_utils.py +++ b/src/xopr/matlab_attribute_utils.py @@ -52,7 +52,7 @@ def dereference_h5value(value, h5file, make_array=True): if make_array: try: return np.squeeze(np.array(v)) - except: + except Exception: return v else: return v diff --git a/src/xopr/opr_access.py b/src/xopr/opr_access.py index dbd18b21..884bdb75 100644 --- a/src/xopr/opr_access.py +++ b/src/xopr/opr_access.py @@ -70,6 +70,7 @@ decode_hdf5_matlab_variable, extract_legacy_mat_attributes, ) +from .radar_util import layer_twtt_to_range from .stac_cache import get_opr_catalog_path, sync_opr_catalogs @@ -1054,3 +1055,188 @@ def get_layers(self, ds : Union[xr.Dataset, dict], source: str = 'auto', include return None else: raise ValueError("Invalid source specified. Must be one of: 'auto', 'files', 'db'.") + + def _row_to_stac_dict(self, row): + """Convert a frames-gdf row (flat or nested) to a STAC-item-style dict. + + The :meth:`query_frames` form keeps STAC properties as a nested + ``properties`` column. Flattened catalogs (e.g. source.coop parquets) + instead have ``opr:date``/``opr:segment``/``opr:frame`` as top-level + columns. Both forms are normalized here. + """ + if 'properties' in row.index and isinstance(row.get('properties'), dict): + properties = row['properties'] + else: + properties = {} + for col in ('opr:date', 'opr:segment', 'opr:frame', 'opr:mbox'): + if col in row.index: + properties[col] = row[col] + return { + 'id': row.get('id'), + 'collection': row.get('collection'), + 'geometry': row.get('geometry'), + 'properties': properties, + 'assets': row.get('assets', {}) if 'assets' in row.index else {}, + } + + def _normalize_frames_input(self, frames): + """Normalize a frames input (gdf, Series, dict, pystac.Item) to a list of STAC dicts.""" + if isinstance(frames, gpd.GeoDataFrame) or isinstance(frames, pd.DataFrame): + return [self._row_to_stac_dict(row) for _, row in frames.iterrows()] + if isinstance(frames, pd.Series): + return [self._row_to_stac_dict(frames)] + if isinstance(frames, dict): + return [frames] + if hasattr(frames, 'to_dict'): # pystac.Item or compatible + return [frames.to_dict()] + raise TypeError( + f"frames must be GeoDataFrame, Series, dict, or pystac.Item; got {type(frames).__name__}" + ) + + def load_bed_picks( + self, + frames, + layer: str = 'standard:bottom', + vertical: str = 'wgs84', + target_crs: str = None, + keep_mbox: bool = False, + show_progress: bool = True, + ) -> gpd.GeoDataFrame: + """ + Load layer picks for one or many frames into a flat GeoDataFrame. + + For each input frame this fetches the requested layer plus the + ``standard:surface`` layer (needed to convert TWTT to elevation), + drops samples with missing layer data, and tags every pick with + the source frame's STAC id and frame identifiers. + + The output schema is a strict superset of the layer-parquet + schema, so it is a drop-in ``layer_gdf`` for + :func:`xopr.bedmap.morton_match.disambiguate_matches`. + + Parameters + ---------- + frames : gpd.GeoDataFrame, pd.Series, dict, or pystac.Item + One or many frames to load picks for. Accepts: + + - GeoDataFrame from :meth:`query_frames` (one row per frame) + - A single row of that GeoDataFrame (``pd.Series``) + - A STAC item as nested dict (e.g. ``item.to_dict()``) + - A ``pystac.Item`` instance + layer : str, default 'standard:bottom' + Layer name in the OPR layer file. + vertical : {'wgs84', 'range'}, default 'wgs84' + Vertical coordinate to compute. ``'wgs84'`` requires the + surface layer's ``elev`` field. + target_crs : str, optional + If given, project pick coordinates to this CRS (e.g. + ``'EPSG:3031'``). If None, picks stay in EPSG:4326. + keep_mbox : bool, default False + If True, attach the source frame's ``opr:mbox`` to every pick + row (handy for downstream morton filtering without re-loading + the catalog). + show_progress : bool, default True + Show a tqdm progress bar when loading multiple frames. + + Returns + ------- + gpd.GeoDataFrame + One row per pick. Columns: + + - ``geometry`` β€” Point in ``target_crs`` (or EPSG:4326) + - ```` β€” the requested vertical coordinate + - ``twtt`` β€” two-way travel time + - ``slow_time`` β€” pick timestamp + - ``id`` β€” STAC item id of the source frame + - ``collection`` β€” STAC collection name + - ``opr:date``, ``opr:segment``, ``opr:frame`` β€” frame identifiers + (STAC convention) + - ``frame`` β€” same value as ``opr:frame``, kept under the bare name + so the GeoDataFrame can be passed straight into + :func:`xopr.bedmap.morton_match.disambiguate_matches` + - ``segment_path`` β€” ``f"{opr:date}_{opr:segment:02d}"`` + - ``opr:mbox`` β€” only if ``keep_mbox=True`` + + Frames whose layer is unavailable are silently skipped. + + Examples + -------- + >>> opr = xopr.OPRConnection() + >>> frames = opr.query_frames(collections=['2009_Antarctica_DC8']) + >>> picks = opr.load_bed_picks(frames, target_crs='EPSG:3031') + >>> picks[['id', 'wgs84', 'segment_path']].head() + """ + frames_list = self._normalize_frames_input(frames) + + iterator = frames_list + if show_progress and len(frames_list) > 1: + try: + from tqdm.auto import tqdm + iterator = tqdm(frames_list, desc='Loading bed picks') + except ImportError: + pass + + pick_dfs = [] + for frame_dict in iterator: + try: + layers = self.get_layers(frame_dict, errors='warn') + except Exception: + continue + if layers is None or layer not in layers or 'standard:surface' not in layers: + continue + + ds = layer_twtt_to_range( + layers[layer], layers['standard:surface'], + vertical_coordinate=vertical, + ) + ds = ds.dropna('slow_time', subset=[vertical]) + n = ds.sizes.get('slow_time', 0) + if n == 0: + continue + + props = frame_dict.get('properties', {}) or {} + opr_date = props.get('opr:date') + opr_segment = int(props['opr:segment']) if props.get('opr:segment') is not None else None + opr_frame = int(props['opr:frame']) if props.get('opr:frame') is not None else None + segment_path = ( + f"{opr_date}_{opr_segment:02d}" + if opr_date is not None and opr_segment is not None + else None + ) + + df = pd.DataFrame({ + vertical: ds[vertical].values, + 'twtt': ds['twtt'].values if 'twtt' in ds else np.full(n, np.nan), + 'slow_time': ds['slow_time'].values, + 'id': frame_dict.get('id'), + 'collection': frame_dict.get('collection'), + 'opr:date': opr_date, + 'opr:segment': opr_segment, + 'opr:frame': opr_frame, + # 'frame' is an unprefixed alias matching the legacy layer-parquet + # schema consumed by xopr.bedmap.morton_match.disambiguate_matches. + 'frame': opr_frame, + 'segment_path': segment_path, + '_lon': ds['lon'].values, + '_lat': ds['lat'].values, + }) + if keep_mbox and 'opr:mbox' in props: + df['opr:mbox'] = [props['opr:mbox']] * n + pick_dfs.append(df) + + if not pick_dfs: + cols = [vertical, 'twtt', 'slow_time', 'id', 'collection', + 'opr:date', 'opr:segment', 'opr:frame', 'frame', 'segment_path'] + if keep_mbox: + cols.append('opr:mbox') + empty = pd.DataFrame({c: pd.Series(dtype='object') for c in cols}) + out = gpd.GeoDataFrame(empty, geometry=gpd.GeoSeries([], crs='EPSG:4326')) + return out.to_crs(target_crs) if target_crs else out + + combined = pd.concat(pick_dfs, ignore_index=True) + geom = gpd.points_from_xy(combined['_lon'], combined['_lat']) + combined = combined.drop(columns=['_lon', '_lat']) + out = gpd.GeoDataFrame(combined, geometry=geom, crs='EPSG:4326') + if target_crs is not None: + out = out.to_crs(target_crs) + return out diff --git a/src/xopr/opr_tools.py b/src/xopr/opr_tools.py index 9bdae282..96c51a8a 100644 --- a/src/xopr/opr_tools.py +++ b/src/xopr/opr_tools.py @@ -229,3 +229,76 @@ def get_line_angle(line, point): crossing_angle = 180 - crossing_angle return crossing_angle + + +def compute_crossover_error(picks_1, picks_2, point, vertical='wgs84'): + """Bed-elevation difference at a crossover point between two frames. + + Given two frames' worth of bed picks (typically from + :meth:`xopr.OPRConnection.load_bed_picks`) and the crossover point + where the flight lines cross (typically from :func:`find_intersections`), + this returns the elevation of each frame's nearest pick to that point + plus the distance between those two picks. The two pick GeoDataFrames + must share a CRS, and that CRS must be projected (e.g. EPSG:3031). + + Pure geometry β€” no I/O, no twtt arithmetic. + + Parameters + ---------- + picks_1, picks_2 : geopandas.GeoDataFrame + Bed picks for the two frames. Must have a ``vertical`` column + (default ``'wgs84'``) and a Point geometry. Both must use the + same projected CRS. + point : shapely.geometry.Point + Crossover point in the same CRS as the picks. + vertical : str, default 'wgs84' + Column to read elevation from. + + Returns + ------- + elev_1, elev_2 : float + Elevation of each frame's nearest pick to ``point``. + distance_between_picks : float + Distance between the two nearest picks, in CRS units. + + Examples + -------- + >>> picks = opr.load_bed_picks(frames, target_crs='EPSG:3031') + >>> intersections = xopr.find_intersections(frames.to_crs('EPSG:3031')) + >>> for _, row in intersections.iterrows(): + ... p1 = picks[picks['id'] == row['id_1']] + ... p2 = picks[picks['id'] == row['id_2']] + ... e1, e2, d = compute_crossover_error(p1, p2, row.intersection_geometry) + """ + import numpy as np + + if picks_1.crs is None or picks_2.crs is None: + raise ValueError("picks_1 and picks_2 must have a CRS set") + if picks_1.crs != picks_2.crs: + raise ValueError( + f"picks_1 and picks_2 have different CRSs: {picks_1.crs} vs {picks_2.crs}" + ) + if picks_1.crs.is_geographic: + raise ValueError( + f"picks have a geographic CRS ({picks_1.crs}); reproject to a " + f"projected CRS (e.g. EPSG:3031) before measuring distances" + ) + if vertical not in picks_1.columns or vertical not in picks_2.columns: + raise KeyError(f"vertical column {vertical!r} missing from picks") + if len(picks_1) == 0 or len(picks_2) == 0: + return np.nan, np.nan, np.nan + + px, py = float(point.x), float(point.y) + + x1 = picks_1.geometry.x.values + y1 = picks_1.geometry.y.values + i1 = int(np.argmin((x1 - px) ** 2 + (y1 - py) ** 2)) + + x2 = picks_2.geometry.x.values + y2 = picks_2.geometry.y.values + i2 = int(np.argmin((x2 - px) ** 2 + (y2 - py) ** 2)) + + elev_1 = float(picks_1[vertical].iloc[i1]) + elev_2 = float(picks_2[vertical].iloc[i2]) + dist = float(np.hypot(x1[i1] - x2[i2], y1[i1] - y2[i2])) + return elev_1, elev_2, dist diff --git a/src/xopr/ops_api.py b/src/xopr/ops_api.py index 2a550d93..9c3df91c 100644 --- a/src/xopr/ops_api.py +++ b/src/xopr/ops_api.py @@ -29,11 +29,29 @@ def get_layer_points(segment_name : str, season_name : str, location=None, layer Parameters ---------- segment_name : str - The segment name + OPS segment identifier in the form ``"YYYYMMDD_SS"`` β€” an + acquisition date plus a zero-padded two-digit segment number, + joined by an underscore. **Always a string**, not an int. This is + the same value xopr stores as ``segment_path`` on a STAC item, and + is the middle portion of a frame id (e.g. for the frame + ``"Data_20231229_02_017"``, the corresponding ``segment_name`` is + ``"20231229_02"``). + + Examples of valid values: + + - ``"20231229_02"`` + - ``"20230109_01"`` + - ``"20191105_01"`` + + Examples of values that look similar but are **not** valid segment + names: ``"20161014"`` (missing segment), ``"20161117_06_b"`` + (extra suffix), ``"Data_20231229_02_017"`` (full frame id, not a + segment). season_name : str - The season name + OPS season name, e.g. ``"2023_Antarctica_BaslerMKB"``. location : str, optional - The location, either 'arctic' or 'antarctic'. If None, inferred from season_name. + ``'arctic'`` or ``'antarctic'``. If None, inferred from + ``season_name``. layer_names : list of str, optional List of layer names to retrieve. If None, retrieves all layers. include_geometry : bool, optional @@ -47,7 +65,8 @@ def get_layer_points(segment_name : str, season_name : str, location=None, layer Raises ------ ValueError - If neither segment_id nor both segment_name and season_name are provided. + If ``location`` is not given and cannot be inferred from + ``season_name``. """ if location is None: @@ -73,7 +92,7 @@ def get_layer_points(segment_name : str, season_name : str, location=None, layer if layer_names: data_payload["properties"]["lyr_name"] = layer_names - return _ops_api_request(f"/get/layer/points", data_payload, request_type='POST') + return _ops_api_request("/get/layer/points", data_payload, request_type='POST') def get_layer_metadata(): """ @@ -85,7 +104,7 @@ def get_layer_metadata(): API response as JSON containing layer metadata, or None if request fails. """ - return _ops_api_request(f"/get/layers", {}, request_type='POST') + return _ops_api_request("/get/layers", {}, request_type='POST') def get_segment_metadata(segment_name : str, season_name : str): """ @@ -93,20 +112,32 @@ def get_segment_metadata(segment_name : str, season_name : str): Parameters ---------- - segment_name : str, optional - The segment name (alternative to segment_id). - season_name : str, optional - The season name (required if using segment_name). + segment_name : str + OPS segment identifier in the form ``"YYYYMMDD_SS"`` β€” an + acquisition date plus a zero-padded two-digit segment number, + joined by an underscore. **Always a string**, not an int. This is + the same value xopr stores as ``segment_path`` on a STAC item, and + is the middle portion of a frame id (e.g. for the frame + ``"Data_20231229_02_017"``, the corresponding ``segment_name`` is + ``"20231229_02"``). + + Examples of valid values: + + - ``"20231229_02"`` + - ``"20230109_01"`` + - ``"20191105_01"`` + + Examples of values that look similar but are **not** valid segment + names: ``"20161014"`` (missing segment), ``"20161117_06_b"`` + (extra suffix), ``"Data_20231229_02_017"`` (full frame id, not a + segment). + season_name : str + OPS season name, e.g. ``"2023_Antarctica_BaslerMKB"``. Returns ------- dict or None API response as JSON containing segment metadata, or None if request fails. - - Raises - ------ - ValueError - If neither segment_id nor both segment_name and season_name are provided. """ data_payload = { @@ -116,7 +147,7 @@ def get_segment_metadata(segment_name : str, season_name : str): } } - return _ops_api_request(f"/get/segment/metadata", data_payload) + return _ops_api_request("/get/segment/metadata", data_payload) def _ops_api_request(path, data, request_type='POST', headers=None, base_url=ops_base_url, retries=3, job_timeout=200, debug=False, initial_retry_time=1): diff --git a/src/xopr/stac/morton.py b/src/xopr/stac/morton.py index db88fd90..4ae468e3 100644 --- a/src/xopr/stac/morton.py +++ b/src/xopr/stac/morton.py @@ -1,7 +1,21 @@ -"""Morton geometry index computation for STAC items and collections.""" +"""Morton geometry index computation for STAC items and collections. + +Defines the two index primitives stored on xopr STAC objects: + +- ``opr:mbox`` β€” 4 variable-resolution morton cells per item (see + :func:`compute_mbox`). +- ``opr:mpolygon`` β€” 12 variable-resolution morton cells per collection + (see :func:`compute_mpolygon_from_items`). + +Plus :func:`mbox_to_polygons` for materializing the cells back into +shapely Polygons (e.g. for visualization or exact intersection tests). +""" import numpy as np from mortie import geo2mort, geo_morton_polygon, morton_polygon_from_array +from mortie.tools import mort2polygon +from shapely import make_valid +from shapely.geometry import Polygon def _extract_coords(geometry): @@ -91,3 +105,43 @@ def compute_mpolygon_from_items(items, order=18): merged = np.concatenate(all_morton) cells = morton_polygon_from_array(merged, n_cells=12) return _pad_cells(cells, 12) + + +def mbox_to_polygons(mbox, step=32): + """Materialize an ``opr:mbox`` (or ``opr:mpolygon``) as shapely Polygons in EPSG:4326. + + Each morton cell is reconstructed via :func:`mortie.tools.mort2polygon`, + which returns a list of ``(lat, lon)`` vertices traced along the cell + boundary. Polygons are returned in WGS84 ``(lon, lat)`` order. To + project them, wrap in a ``GeoSeries`` and call ``.to_crs(...)``. + + Parameters + ---------- + mbox : iterable of int + Morton cell characteristics (typically 4 cells for ``opr:mbox``, + 12 for ``opr:mpolygon``). Duplicates are preserved β€” the result + has one polygon per input integer. + step : int, default 32 + Per-side sampling for :func:`mortie.tools.mort2polygon`. Higher + values give smoother boundaries at higher cost. + + Returns + ------- + list of shapely.geometry.Polygon + One polygon per input cell, in input order, in EPSG:4326. + + Examples + -------- + >>> polys = mbox_to_polygons(item['opr:mbox']) + >>> import geopandas as gpd + >>> gpd.GeoSeries(polys, crs='EPSG:4326').to_crs('EPSG:3031') + """ + polys = [] + for cell in mbox: + verts = mort2polygon(int(cell), step=step) # [[lat, lon], ...] + arr = np.asarray(verts) + poly = Polygon(zip(arr[:, 1], arr[:, 0])) # (lon, lat) + if not poly.is_valid: + poly = make_valid(poly) + polys.append(poly) + return polys diff --git a/src/xopr/stac/tests/test_metadata.py b/src/xopr/stac/tests/test_metadata.py index d738dd77..485a8105 100644 --- a/src/xopr/stac/tests/test_metadata.py +++ b/src/xopr/stac/tests/test_metadata.py @@ -418,10 +418,8 @@ def test_with_multiple_dois_no_aggregation(self): ['sci:doi', 'sci:citation', 'sar:center_frequency', 'sar:bandwidth'] ) - # Should not have scientific extension due to non-uniform DOIs - sci_ext = 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json' - # Note: SAR extension might still be present, but not SCI for DOI reasons - + # Should not have scientific extension due to non-uniform DOIs. + # SAR extension might still be present, but not SCI for DOI reasons. # Extra fields should not have DOI (multiple unique values) assert 'sci:doi' not in extra_fields @@ -567,6 +565,7 @@ def test_frequency_error_when_no_config(self): def test_fallback_warning_only_when_verbose(self, caplog): """Test that fallback warning is only logged when verbose=true.""" import logging + from omegaconf import OmegaConf # Create dataset without wfs params @@ -733,6 +732,7 @@ def test_sci_no_config_returns_none(self): def test_sci_fallback_warning_only_when_verbose(self, caplog): """Test that fallback warning is only logged when verbose=true.""" import logging + from omegaconf import OmegaConf # Create dataset without sci metadata diff --git a/src/xopr/stac/tests/test_morton.py b/src/xopr/stac/tests/test_morton.py index a68be89b..b8fef29c 100644 --- a/src/xopr/stac/tests/test_morton.py +++ b/src/xopr/stac/tests/test_morton.py @@ -2,8 +2,14 @@ import numpy as np import pytest +from shapely.geometry import Polygon -from xopr.stac.morton import _extract_coords, compute_mbox, compute_mpolygon_from_items +from xopr.stac.morton import ( + _extract_coords, + compute_mbox, + compute_mpolygon_from_items, + mbox_to_polygons, +) class TestExtractCoords: @@ -124,3 +130,36 @@ def test_dict_items(self): result = compute_mpolygon_from_items(items) assert len(result) == 12 assert all(isinstance(v, int) for v in result) + + +class TestMboxToPolygons: + """Test mbox_to_polygons returns shapely Polygons in EPSG:4326.""" + + def test_returns_one_polygon_per_cell(self): + geom = { + "type": "LineString", + "coordinates": [[-69.86, -71.35], [-69.85, -71.36], [-69.84, -71.37]], + } + mbox = compute_mbox(geom) + polys = mbox_to_polygons(mbox) + assert len(polys) == 4 + assert all(isinstance(p, Polygon) for p in polys) + assert all(p.is_valid for p in polys) + + def test_round_trip_polygon_contains_source_point(self): + """A point used to build mbox should fall inside at least one cell polygon.""" + from shapely.geometry import Point + lat, lon = -75.0, -60.0 + geom = {"type": "Point", "coordinates": [lon, lat]} + mbox = compute_mbox(geom) + polys = mbox_to_polygons(mbox) + pt = Point(lon, lat) + assert any(p.contains(pt) or p.touches(pt) or p.distance(pt) < 1e-6 + for p in polys), "source point should fall inside at least one cell" + + def test_duplicates_preserved(self): + """If input has duplicate cells (from padding), output preserves them.""" + geom = {"type": "Point", "coordinates": [-60.0, -75.0]} + mbox = compute_mbox(geom) + polys = mbox_to_polygons(mbox) + assert len(polys) == len(mbox) diff --git a/src/xopr/stac_cache.py b/src/xopr/stac_cache.py index a714f737..d3bcef5f 100644 --- a/src/xopr/stac_cache.py +++ b/src/xopr/stac_cache.py @@ -130,7 +130,7 @@ def ensure_bedmap_catalogs(force_download: bool = False) -> Optional[Path]: success = False if success: - print(f"Bedmap catalogs cached successfully") + print("Bedmap catalogs cached successfully") return catalog_dir else: print("Warning: Some catalogs failed to download") diff --git a/src/xopr/tests/test_geometry.py b/src/xopr/tests/test_geometry.py index 8d6835c4..7b4a0fbb 100644 --- a/src/xopr/tests/test_geometry.py +++ b/src/xopr/tests/test_geometry.py @@ -1,6 +1,10 @@ +import geopandas as gpd +import numpy as np import pytest +from shapely.geometry import Point import xopr.geometry +from xopr.geometry import grid_points test_regions = [ pytest.param({'regions': 'East'}, {'projection': 'EPSG:3031', 'area': 10498117e6}, @@ -98,3 +102,73 @@ def test_get_greenland_regions_fields(): # Check that we have at least one region assert len(regions) > 0, "Expected at least one region" + + +# --------------------------------------------------------------------------- +# grid_points +# --------------------------------------------------------------------------- + + +def _random_points_gdf(n=200, box=10000.0, seed=42, mean=-1000.0, std=50.0): + """Random projected points with a numeric column for testing.""" + rng = np.random.default_rng(seed) + xs = rng.uniform(0, box, n) + ys = rng.uniform(0, box, n) + vals = rng.normal(loc=mean, scale=std, size=n) + return gpd.GeoDataFrame( + {'wgs84': vals}, + geometry=gpd.points_from_xy(xs, ys), + crs='EPSG:3031', + ) + + +def test_grid_points_returns_dataset_with_expected_vars(): + gdf = _random_points_gdf() + grid = grid_points(gdf, column='wgs84', spacing=2000) + assert set(grid.data_vars) == {'wgs84_median', 'wgs84_std', 'wgs84_count'} + assert dict(grid.sizes) == {'y': 5, 'x': 5} + assert int(grid['wgs84_count'].sum()) == len(gdf) + + +def test_grid_points_custom_aggregations(): + gdf = _random_points_gdf() + grid = grid_points(gdf, column='wgs84', spacing=2000, + aggregations=('mean', 'min', 'max')) + assert set(grid.data_vars) == {'wgs84_mean', 'wgs84_min', 'wgs84_max'} + valid = ~np.isnan(grid['wgs84_mean'].values) + assert np.all(grid['wgs84_min'].values[valid] <= grid['wgs84_mean'].values[valid]) + assert np.all(grid['wgs84_mean'].values[valid] <= grid['wgs84_max'].values[valid]) + + +def test_grid_points_empty_cells_are_nan(): + pts = gpd.GeoDataFrame( + {'wgs84': [-1000.0, -1010.0]}, + geometry=[Point(500, 500), Point(7500, 7500)], + crs='EPSG:3031', + ) + grid = grid_points(pts, column='wgs84', spacing=2000) + assert np.isnan(grid['wgs84_median'].values).sum() > 0 + assert int(grid['wgs84_count'].sum()) == 2 + + +def test_grid_points_rejects_geographic_crs(): + gdf = gpd.GeoDataFrame( + {'wgs84': [-1000.0]}, + geometry=[Point(0.0, -75.0)], + crs='EPSG:4326', + ) + with pytest.raises(ValueError, match='geographic CRS'): + grid_points(gdf, column='wgs84', spacing=1000) + + +def test_grid_points_rejects_missing_column(): + gdf = _random_points_gdf() + with pytest.raises(KeyError, match="'missing'"): + grid_points(gdf, column='missing', spacing=2000) + + +def test_grid_points_explicit_bounds(): + gdf = _random_points_gdf() + grid = grid_points(gdf, column='wgs84', spacing=2000, + bounds=(-2000, -2000, 12000, 12000)) + assert dict(grid.sizes) == {'y': 7, 'x': 7} diff --git a/src/xopr/tests/test_crossovers.py b/src/xopr/tests/test_matching.py similarity index 99% rename from src/xopr/tests/test_crossovers.py rename to src/xopr/tests/test_matching.py index ca3e0a18..496e025f 100644 --- a/src/xopr/tests/test_crossovers.py +++ b/src/xopr/tests/test_matching.py @@ -1,4 +1,4 @@ -"""Tests for xopr.crossovers β€” frame-to-granule mapping via morton cells.""" +"""Tests for xopr.matching β€” frame-to-granule mapping via morton cells.""" import geopandas as gpd import numpy as np @@ -7,7 +7,7 @@ from pyproj import Transformer from shapely.geometry import LineString, Polygon -from xopr.crossovers import ( +from xopr.matching import ( build_granule_prefix_index, build_granule_strtree, cmr_bbox_from_mpolygon, diff --git a/src/xopr/tests/test_opr_access.py b/src/xopr/tests/test_opr_access.py index 89deb820..f596f83b 100644 --- a/src/xopr/tests/test_opr_access.py +++ b/src/xopr/tests/test_opr_access.py @@ -256,3 +256,202 @@ def test_pickle_roundtrip(): opr2 = pickle.loads(data) assert opr2._duckdb_client is None assert opr2.stac_parquet_href == opr.stac_parquet_href + + +# --------------------------------------------------------------------------- +# load_bed_picks +# --------------------------------------------------------------------------- + + +def _fake_layers(n=10, lat0=-75.0, lon0=-60.0): + """Build a minimal {layer_name: xr.Dataset} dict matching get_layers' shape.""" + import numpy as np + import xarray as xr + + slow_time = np.arange(n) + lats = np.linspace(lat0, lat0 - 0.1, n) + lons = np.linspace(lon0, lon0 + 0.1, n) + + surface = xr.Dataset( + { + 'twtt': ('slow_time', np.full(n, 1e-6)), + 'elev': ('slow_time', np.full(n, 500.0)), + 'lat': ('slow_time', lats), + 'lon': ('slow_time', lons), + }, + coords={'slow_time': slow_time}, + ) + bottom = xr.Dataset( + { + 'twtt': ('slow_time', np.full(n, 5e-5)), + 'lat': ('slow_time', lats), + 'lon': ('slow_time', lons), + }, + coords={'slow_time': slow_time}, + ) + return {'standard:surface': surface, 'standard:bottom': bottom} + + +REAL_CATALOG_URL = ( + "https://data.source.coop/englacial/xopr/catalog/" + "hemisphere=south/provider=cresis/collection=2009_Antarctica_DC8/stac.parquet" +) + + +@pytest.fixture(scope='session') +def real_stac_gdf(tmp_path_factory): + """Real 2009_Antarctica_DC8 catalog from source.coop, downloaded once + per pytest session and cached in a session tmp dir. + + Returns the first 2 frames of the catalog. Two is enough to exercise + schema + multi-frame iteration; we slice to keep the fake-layers loop + cheap. Uses a real catalog (not a hand-rolled fake) so the test bench + stays honest about column names β€” schema drift between the catalog + and library code surfaces immediately rather than at notebook-build + time in CI. + """ + import geopandas as gpd + import requests + + cache = tmp_path_factory.mktemp('xopr_test_catalog') / 'stac.parquet' + if not cache.exists(): + resp = requests.get(REAL_CATALOG_URL, timeout=60) + resp.raise_for_status() + cache.write_bytes(resp.content) + return gpd.read_parquet(cache).head(2).reset_index(drop=True) + + +def _make_opr_with_mocked_layers(): + """OPRConnection with sync skipped and get_layers patched to a fake.""" + with patch('xopr.opr_access.sync_opr_catalogs'): + with patch('xopr.opr_access.get_opr_catalog_path', return_value=OPR_CATALOG_S3_GLOB): + opr = xopr.OPRConnection() + opr.get_layers = lambda *a, **kw: _fake_layers() + return opr + + +@pytest.mark.slow +def test_load_bed_picks_geodataframe(real_stac_gdf): + """Bulk form: full GeoDataFrame of frames returns picks for every frame.""" + opr = _make_opr_with_mocked_layers() + picks = opr.load_bed_picks(real_stac_gdf, target_crs='EPSG:3031', show_progress=False) + + expected_cols = {'geometry', 'wgs84', 'twtt', 'slow_time', 'id', 'collection', + 'opr:date', 'opr:segment', 'opr:frame', 'frame', 'segment_path'} + assert expected_cols.issubset(set(picks.columns)) + assert len(picks) == len(real_stac_gdf) * 10 # N frames Γ— 10 fake picks + assert picks.crs.to_string() == 'EPSG:3031' + assert set(picks['id'].unique()) == set(real_stac_gdf['id']) + + +@pytest.mark.slow +def test_load_bed_picks_series(real_stac_gdf): + """Single-row Series returns picks for that frame only.""" + opr = _make_opr_with_mocked_layers() + one_row = real_stac_gdf.iloc[0] + picks = opr.load_bed_picks(one_row, show_progress=False) + + assert len(picks) == 10 + assert (picks['id'] == real_stac_gdf['id'].iloc[0]).all() + assert picks.crs.to_string() == 'EPSG:4326' # no target_crs + + +def test_load_bed_picks_dict(): + """STAC-item-style dict input β€” exercises the nested-properties path.""" + opr = _make_opr_with_mocked_layers() + item_dict = { + 'id': 'Data_20091020_05_001', + 'collection': '2009_Antarctica_DC8', + 'properties': {'opr:date': '20091020', 'opr:segment': 5, 'opr:frame': 1}, + 'assets': {}, + } + picks = opr.load_bed_picks(item_dict, show_progress=False) + assert len(picks) == 10 + assert (picks['opr:frame'] == 1).all() + + +def test_load_bed_picks_pystac_item_like(): + """pystac.Item-like object (anything with .to_dict() returning a STAC dict).""" + class FakeItem: + def to_dict(self): + return { + 'id': 'Data_20091020_05_001', + 'collection': '2009_Antarctica_DC8', + 'properties': {'opr:date': '20091020', 'opr:segment': 5, 'opr:frame': 1}, + 'assets': {}, + } + + opr = _make_opr_with_mocked_layers() + picks = opr.load_bed_picks(FakeItem(), show_progress=False) + assert len(picks) == 10 + + +@pytest.mark.slow +def test_load_bed_picks_keep_mbox(real_stac_gdf): + """keep_mbox=True attaches the source frame's opr:mbox to every pick.""" + opr = _make_opr_with_mocked_layers() + picks = opr.load_bed_picks(real_stac_gdf, keep_mbox=True, show_progress=False) + + assert 'opr:mbox' in picks.columns + # Every pick from a given frame should carry that frame's exact mbox + for _, frame_row in real_stac_gdf.iterrows(): + f_picks = picks[picks['id'] == frame_row['id']] + expected = list(frame_row['opr:mbox']) + assert all(list(m) == expected for m in f_picks['opr:mbox']) + + +@pytest.mark.slow +def test_load_bed_picks_empty_when_no_layers(real_stac_gdf): + """When get_layers always returns None, the result is empty but well-formed.""" + with patch('xopr.opr_access.sync_opr_catalogs'): + with patch('xopr.opr_access.get_opr_catalog_path', return_value=OPR_CATALOG_S3_GLOB): + opr = xopr.OPRConnection() + opr.get_layers = lambda *a, **kw: None + + picks = opr.load_bed_picks(real_stac_gdf, show_progress=False) + assert len(picks) == 0 + assert 'wgs84' in picks.columns + assert 'segment_path' in picks.columns + + +def test_load_bed_picks_invalid_input(): + """Unsupported input types raise TypeError.""" + opr = _make_opr_with_mocked_layers() + with pytest.raises(TypeError, match="frames must be"): + opr.load_bed_picks(42, show_progress=False) + + +@pytest.mark.slow +def test_load_bed_picks_disambiguate_compatibility(real_stac_gdf): + """Output of load_bed_picks is a drop-in layer_gdf for disambiguate_matches. + + Regression guard: previously the schema only carried ``opr:frame``, but + disambiguate_matches reads ``frame`` (the legacy layer-parquet column), + causing a KeyError mid-build. Using the real catalog (which already has + ``opr:mbox``) means a schema drift in either dataset surfaces here + rather than in CI's notebook execution. + """ + import geopandas as gpd + from shapely.geometry import Point + + from xopr.bedmap.morton_match import disambiguate_matches, match_bedmap_to_frames + + opr = _make_opr_with_mocked_layers() + picks = opr.load_bed_picks(real_stac_gdf, target_crs='EPSG:3031', show_progress=False) + + # Both column names must be present and identical + assert 'frame' in picks.columns, "missing legacy 'frame' alias" + assert 'opr:frame' in picks.columns, "missing STAC 'opr:frame'" + assert (picks['frame'] == picks['opr:frame']).all() + + # Two arbitrary points anywhere β€” disambiguate_matches must not raise + # on load_bed_picks output regardless of whether they actually match. + bedmap = gpd.GeoDataFrame( + {'value': [100, 200], 'trajectory_id': ['0', '1']}, + geometry=[Point(-67.5, -76.0), Point(-62.5, -78.0)], + crs='EPSG:4326', + ) + result = match_bedmap_to_frames(real_stac_gdf, bedmap) + disambig = disambiguate_matches(result, picks, real_stac_gdf, group_size=5) + assert 'assigned_frame' in disambig.columns + assert 'nearest_distance_m' in disambig.columns diff --git a/src/xopr/tests/test_opr_tools.py b/src/xopr/tests/test_opr_tools.py new file mode 100644 index 00000000..111539d6 --- /dev/null +++ b/src/xopr/tests/test_opr_tools.py @@ -0,0 +1,63 @@ +"""Tests for xopr.opr_tools utilities.""" + +import geopandas as gpd +import numpy as np +import pytest +from shapely.geometry import Point + +from xopr.opr_tools import compute_crossover_error + + +def _picks(elev, xs, ys, crs='EPSG:3031'): + """Build a small picks GeoDataFrame for testing.""" + geom = [Point(x, y) for x, y in zip(xs, ys)] + return gpd.GeoDataFrame({'wgs84': elev}, geometry=geom, crs=crs) + + +def test_compute_crossover_error_basic(): + """Two perpendicular tracks crossing at origin; nearest picks have known elevations.""" + p1 = _picks(elev=[-1000.0, -1010.0, -1020.0], xs=[-10.0, 0.0, 10.0], ys=[0.0, 0.0, 0.0]) + p2 = _picks(elev=[-2000.0, -2050.0, -2100.0], xs=[0.0, 0.0, 0.0], ys=[-10.0, 0.0, 10.0]) + e1, e2, d = compute_crossover_error(p1, p2, Point(0.0, 0.0)) + assert e1 == -1010.0 + assert e2 == -2050.0 + assert d == pytest.approx(0.0) + + +def test_compute_crossover_error_offset(): + """When picks don't land exactly on the crossover, distance is non-zero.""" + p1 = _picks(elev=[-1000.0], xs=[5.0], ys=[5.0]) + p2 = _picks(elev=[-2000.0], xs=[-5.0], ys=[-5.0]) + e1, e2, d = compute_crossover_error(p1, p2, Point(0.0, 0.0)) + assert e1 == -1000.0 + assert e2 == -2000.0 + assert d == pytest.approx(np.hypot(10.0, 10.0)) + + +def test_compute_crossover_error_empty_picks(): + """Empty input returns NaN for every output.""" + p1 = _picks(elev=[], xs=[], ys=[]) + p2 = _picks(elev=[-2000.0], xs=[0.0], ys=[0.0]) + e1, e2, d = compute_crossover_error(p1, p2, Point(0.0, 0.0)) + assert all(np.isnan(v) for v in (e1, e2, d)) + + +def test_compute_crossover_error_different_crs_raises(): + p1 = _picks(elev=[-1000.0], xs=[0.0], ys=[0.0], crs='EPSG:3031') + p2 = _picks(elev=[-1000.0], xs=[0.0], ys=[0.0], crs='EPSG:3413') + with pytest.raises(ValueError, match='different CRSs'): + compute_crossover_error(p1, p2, Point(0.0, 0.0)) + + +def test_compute_crossover_error_geographic_crs_raises(): + p1 = _picks(elev=[-1000.0], xs=[-60.0], ys=[-75.0], crs='EPSG:4326') + p2 = _picks(elev=[-1000.0], xs=[-60.0], ys=[-75.0], crs='EPSG:4326') + with pytest.raises(ValueError, match='geographic CRS'): + compute_crossover_error(p1, p2, Point(-60.0, -75.0)) + + +def test_compute_crossover_error_missing_column_raises(): + p1 = _picks(elev=[-1000.0], xs=[0.0], ys=[0.0]) + p2 = _picks(elev=[-1000.0], xs=[0.0], ys=[0.0]) + with pytest.raises(KeyError, match='missing'): + compute_crossover_error(p1, p2, Point(0.0, 0.0), vertical='missing') diff --git a/src/xopr/tests/test_stac_cache.py b/src/xopr/tests/test_stac_cache.py index e226fdce..b917e5fc 100644 --- a/src/xopr/tests/test_stac_cache.py +++ b/src/xopr/tests/test_stac_cache.py @@ -84,7 +84,7 @@ def test_downloads_missing_catalogs(self): with patch('xopr.stac_cache._download_file') as mock_download: mock_download.return_value = True - result = ensure_bedmap_catalogs() + ensure_bedmap_catalogs() # Should have called download for each file assert mock_download.call_count == len(BEDMAP_CATALOG_FILES) diff --git a/src/xopr/xarray_accessor/formatting_html.py b/src/xopr/xarray_accessor/formatting_html.py index 33d67cff..5483cd17 100644 --- a/src/xopr/xarray_accessor/formatting_html.py +++ b/src/xopr/xarray_accessor/formatting_html.py @@ -104,7 +104,7 @@ def summarize_attrs(attrs) -> str: if isinstance(v, dict): attr_id = "attrs-" + str(uuid.uuid4()) - attrs_dl += f"
" + attrs_dl += "
" attrs_dl += f"" attrs_dl += f""