Skip to content

Commit 9cc74ae

Browse files
committed
NDP MCP
1 parent 3078cc5 commit 9cc74ae

15 files changed

+821901
-0
lines changed

mcps/NDP/README.md

Lines changed: 585 additions & 0 deletions
Large diffs are not rendered by default.

mcps/NDP/earthscope_output/RHCL.CI.LY_.20.csv

Lines changed: 816589 additions & 0 deletions
Large diffs are not rendered by default.
335 KB
Loading
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# GNSS Station Data Analysis Report
2+
3+
## Dataset Information
4+
- **Station Name:** RHCL.CI.LY_.20
5+
- **Dataset ID:** fd1f52cd-6bed-46c8-a853-045b79da7981
6+
- **Organization:** earthscope_consortium
7+
- **Analysis Date:** 2025-08-20 23:57:07
8+
9+
## Data Overview
10+
- **Description:** GNSS station data for RHCL.CI.LY_.20 containing precise positioning information
11+
- **Spatial Coverage:** Continental United States
12+
- **Temporal Coverage:** 2024-12-03 to 2024-12-12
13+
14+
## Data Statistics
15+
- **Total Records:** 816,588
16+
- **Data Completeness:** 94.5%
17+
- **Standard Deviations (ENU):** 0.18, 0.08, 0.22 meters
18+
19+
## Data Quality Assessment
20+
- **Missing Values:** None detected
21+
- **Data Types:** time: datetime64[ns], east: float64, north: float64, up: float64, sigEE: float64, sigNN: float64, sigUU: float64, qChannel: int64
22+
23+
## Geospatial Information
24+
- **Features:** 2
25+
- **Geometry Type:** Point
26+
- **Coordinate Reference System:** EPSG:4326
27+
28+
## Analysis Summary
29+
This dataset contains precise GNSS positioning data for station RHCL.CI.LY_.20. The time series shows:
30+
- Stable baseline positioning with occasional excursions
31+
- High-frequency (1Hz) sampling rate
32+
- Three-component positioning (East, North, Up)
33+
- Good data quality with minimal gaps
34+
35+
## Files Generated
36+
1. **RHCL.CI.LY_.20.csv** - Raw time series data
37+
2. **rhcl.geojson** - Geospatial metadata
38+
3. **RHCL.CI.LY_.20.png** - Time series visualization
39+
4. **dataset_summary.md** - This documentation
40+
41+
## Technical Details
42+
- **Processing Tool:** NDP MCP Server + Pandas MCP
43+
- **Visualization:** Matplotlib with seaborn styling
44+
- **Data Format:** CSV for time series, GeoJSON for spatial data
45+
- **Coordinate System:** WGS84 (EPSG:4326)
46+
47+
## Recommendations
48+
1. **Data Validation:** Verify coordinate system and datum
49+
2. **Quality Control:** Investigate large excursions in the time series
50+
3. **Further Analysis:** Consider filtering and smoothing techniques
51+
4. **Integration:** Combine with other GNSS stations for network analysis
52+
53+
---
54+
*Generated by EarthScope NDP MCP Workflow*
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"type": "FeatureCollection", "features": [{"type": "Feature", "properties": {"station_code": "RHCL", "network_code": "CI", "location_code": "LY_", "channel_code": "20", "latitude": "34.01905274", "longitude": "-118.02617609"}, "geometry": {"type": "Point", "coordinates": [-118.02617609, 34.01905274]}}, {"type": "Feature", "properties": {"station_code": "RHCL", "network_code": "CI", "location_code": "LY_", "channel_code": "20", "latitude": "34.01905274", "longitude": "-118.02617609"}, "geometry": {"type": "Polygon", "coordinates": [[[-118.02627609000001, 34.018952739999996], [-118.02627609000001, 34.01915274], [-118.02607609, 34.01915274], [-118.02607609, 34.018952739999996], [-118.02627609000001, 34.018952739999996]]]}, "bbox": [-118.02627609000001, 34.018952739999996, -118.02607609, 34.01915274]}]}

mcps/NDP/pyproject.toml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
[build-system]
2+
requires = ["hatchling"]
3+
build-backend = "hatchling.build"
4+
5+
[project]
6+
name = "ndp-mcp-server"
7+
version = "1.0.0"
8+
description = "Model Context Protocol (MCP) server for National Data Platform integration"
9+
readme = "README.md"
10+
license = {text = "MIT"}
11+
authors = [
12+
{name = "NDP MCP Team", email = "[email protected]"}
13+
]
14+
maintainers = [
15+
{name = "NDP MCP Team", email = "[email protected]"}
16+
]
17+
keywords = ["mcp", "national-data-platform", "earthscope", "geospatial", "data-analysis"]
18+
classifiers = [
19+
"Development Status :: 4 - Beta",
20+
"Intended Audience :: Developers",
21+
"Intended Audience :: Science/Research",
22+
"License :: OSI Approved :: MIT License",
23+
"Operating System :: OS Independent",
24+
"Programming Language :: Python :: 3",
25+
"Programming Language :: Python :: 3.8",
26+
"Programming Language :: Python :: 3.9",
27+
"Programming Language :: Python :: 3.10",
28+
"Programming Language :: Python :: 3.11",
29+
"Topic :: Scientific/Engineering :: Information Analysis",
30+
"Topic :: Software Development :: Libraries :: Python Modules",
31+
]
32+
requires-python = ">=3.10"
33+
dependencies = [
34+
"mcp>=1.0.0",
35+
"aiohttp>=3.8.0",
36+
"pandas>=2.0.0",
37+
"geopandas>=0.13.0",
38+
"shapely>=2.0.0",
39+
"requests>=2.28.0",
40+
"asyncio-throttle>=1.0.0",
41+
"python-dotenv>=1.0.0",
42+
"pydantic>=2.0.0",
43+
"typing-extensions>=4.5.0",
44+
"matplotlib>=3.5.0",
45+
"seaborn>=0.11.0",
46+
"numpy>=1.21.0",
47+
]
48+
49+
[project.optional-dependencies]
50+
dev = [
51+
"pytest>=7.0.0",
52+
"pytest-asyncio>=0.21.0",
53+
"black>=22.0.0",
54+
"isort>=5.0.0",
55+
"flake8>=5.0.0",
56+
"mypy>=1.0.0",
57+
]
58+
59+
[project.urls]
60+
Homepage = "https://github.com/example/ndp-mcp-server"
61+
Documentation = "https://github.com/example/ndp-mcp-server#readme"
62+
Repository = "https://github.com/example/ndp-mcp-server"
63+
Issues = "https://github.com/example/ndp-mcp-server/issues"
64+
65+
[project.scripts]
66+
ndp-mcp-server = "ndp.src.ndp_mcp_server:main"
67+
68+
[project.entry-points."mcp.servers"]
69+
ndp = "ndp.src.ndp_mcp_server:main"
70+
71+
[tool.hatch.build.targets.wheel]
72+
packages = ["src"]
73+
74+
[tool.black]
75+
line-length = 88
76+
target-version = ['py38']
77+
78+
[tool.isort]
79+
profile = "black"
80+
line_length = 88
81+
82+
[tool.mypy]
83+
python_version = "3.8"
84+
warn_return_any = true
85+
warn_unused_configs = true
86+
disallow_untyped_defs = true
87+
88+
[tool.pytest.ini_options]
89+
testpaths = ["test"]
90+
python_files = ["test_*.py"]
91+
python_classes = ["Test*"]
92+
python_functions = ["test_*"]
93+
asyncio_mode = "auto"

mcps/NDP/requirements.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
mcp>=1.0.0
2+
aiohttp>=3.8.0
3+
pandas>=2.0.0
4+
geopandas>=0.13.0
5+
shapely>=2.0.0
6+
requests>=2.28.0
7+
asyncio-throttle>=1.0.0
8+
python-dotenv>=1.0.0
9+
pydantic>=2.0.0
10+
typing-extensions>=4.5.0
11+
matplotlib>=3.5.0
12+
seaborn>=0.11.0
13+
numpy>=1.21.0

mcps/NDP/src/__init__.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"""
2+
NDP MCP Server Package
3+
4+
A Model Context Protocol (MCP) server for National Data Platform integration.
5+
"""
6+
7+
__version__ = "1.0.0"
8+
__author__ = "NDP MCP Team"
9+
__email__ = "[email protected]"
10+
11+
from .ndp_mcp_server import NDPMCPServer, NDPClient
12+
13+
__all__ = ["NDPMCPServer", "NDPClient"]

0 commit comments

Comments
 (0)