get_high_tide_flooding_seasonal
Retrieve seasonal high tide flooding data for a specific station, including flood counts, threshold levels, and time periods, in JSON, XML, or CSV format.
Instructions
Get high tide flooding seasonal count data for a station
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| begin_date | No | Start date (YYYYMMDD format) | |
| datum | No | Datum reference for DPAPI | |
| end_date | No | End date (YYYYMMDD format) | |
| format | No | Output format (json, xml, csv) | |
| season_months | No | Season months (DJF-Winter, MAM-Spring, JJA-Summer, SON-Fall) | |
| station | Yes | Station ID | |
| threshold | No | Flood threshold level | |
| year | No | Year for analysis (YYYY format) |
Implementation Reference
- src/tools/derived-product-tools.ts:92-107 (registration)Registers the MCP tool 'get_high_tide_flooding_seasonal' with FastMCP server, including description, input schema, and a thin handler that calls the DpapiService and returns JSON.server.addTool({ name: 'get_high_tide_flooding_seasonal', description: 'Get high tide flooding seasonal count data for a station', parameters: HighTideFloodingSeasonalSchema, execute: async (params) => { try { const result = await dpapiService.getHighTideFloodingSeasonal(params); return JSON.stringify(result); } catch (error) { if (error instanceof Error) { throw new Error(`Failed to get high tide flooding seasonal data: ${error.message}`); } throw new Error('Failed to get high tide flooding seasonal data'); } } });
- src/schemas/dpapi.ts:51-60 (schema)Defines the Zod input validation schema for the tool's parameters, including station, format, datum, threshold, season, and date filters.export const HighTideFloodingSeasonalSchema = z.object({ station: StationSchema, format: FormatSchema, datum: DpapiDatumSchema, threshold: ThresholdSchema, season_months: SeasonSchema, begin_date: z.string().optional().describe('Start date (YYYYMMDD format)'), end_date: z.string().optional().describe('End date (YYYYMMDD format)'), year: YearSchema }).describe('Get high tide flooding seasonal count data');
- Service method that handles the core API call to NOAA's Derived Product API endpoint '/htf/seasonal' for seasonal high tide flooding data.async getHighTideFloodingSeasonal(params: Record<string, any>): Promise<any> { const { station, format = 'json', ...rest } = params; return this.fetchDpapi('/htf/seasonal', { station, format, ...rest }); }