Conversation
- New tool: destine_retrieval_tool.py with two-step workflow: 1. search_destine_parameters: RAG semantic search over 82 DestinE parameters via Chroma vector store 2. retrieve_destine_data: download point time series via earthkit.data + polytope - Authentication via ~/.polytopeapirc token (from desp-authentication.py) - UI toggle for DestinE data with token file status check - DestinE test suite (pytest -m destine), skipped by default - Updated README with DestinE authentication instructions
Move os.chdir(REPO_ROOT) from module level to an autouse fixture that restores the original cwd after each test, preventing side effects on other test files that use relative paths.
… add utility scripts - Fix lat/lon swap in polytope request (was [lon, lat], now [lat, lon]) - Remove "keep date ranges SHORT" limits — default to full 2020-2039 period - Simplify intro_agent prompt - Add standalone DestinE download scripts (simple + parallel yearly) - Add ERA5 fetch script and test utilities
…ring - Guide data_analysis_agent to download ERA5/DestinE variables in parallel (all in one response) - Relax intro_agent exclusion rules to allow analysis instructions (download data, plot time series, compute statistics)
…gets - ANALYSIS_MODES dict defines presets for tool limits, max_iterations, and toggle defaults - resolve_analysis_config() merges mode defaults with explicit UI overrides - Mode radio selector outside form with on_change callback syncs toggles immediately - Prompt budgets (hard limit, max per response, reflect limit) adapt per mode
…n to Figures Track all generated datasets (climate model CSVs, ERA5 climatology JSON, ERA5/DestinE Zarr time series) through the agent pipeline via a new downloadable_datasets field on AgentState. Each agent node now returns the accumulated list so LangGraph properly merges state across stages. The UI gets a new Data tab with per-file download buttons (Zarr dirs are zipped on the fly).
# Conflicts: # src/climsight/data_analysis_agent.py # src/climsight/streamlit_interface.py
Collaborator
|
@kuivi Now the conflicts are here :) |
# Conflicts: # src/climsight/data_analysis_agent.py
Collaborator
Author
Done |
dmpantiu
approved these changes
Mar 3, 2026
Collaborator
dmpantiu
left a comment
There was a problem hiding this comment.
Data tab — new UI tab with download buttons for all datasets (CSV, JSON, Zarr) generated during a session
DestinE integration — two new tools: RAG search over 82 Climate DT parameters + data retrieval via polytope API
Analysis modes — fast / smart / deep presets controlling tool budgets and enabled features
Pipeline fix — every agent node now returns downloadable_datasets in its dict for proper LangGraph state merge
Tests & docs — DestinE test suite (auto-skipped by default), CLAUDE.md, climate data architecture docs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
FIRST ACCEPT PREVIOUS PR ;)
This PR is based on PR #197 (analysis modes) and must be merged after it.
Data Tab: Downloadable Datasets
Adds a new Data tab to the UI where users can download all datasets generated during a session. Also renames "Additional information" → "Figures".
What's new
downloadable_datasetstracking — a new field onAgentStatethat accumulates dataset entries ({label, path, source}) as they're created throughout the pipelinewrite_climate_data_manifest()indata_agentprepare_predefined_data()after extractiondata_analysis_agentafterretrieve_era5_datatool executiondata_analysis_agentafterretrieve_destine_datatool executionPipeline fix
Each agent node now returns
downloadable_datasetsin its return dict so LangGraph properly merges state across stages (in-place mutation alone is not enough).Files changed
climsight_classes.pydownloadable_datasets: list = []toAgentStateclimsight_engine.pydata_agent,prepare_predefined_data, pass throughcombine_agentdata_analysis_agent.pystreamlit_interface.pyWorks in all modes