Skip to content

Feedback on wedsite #128

Description

@Rwema25

1. Documentation example lacks output verification on—no indication data was successfully fetched

Description:

When following the quickstart example from the Web documentation to fetch climate data:

import climate_toolkit as ct
from datetime import date

df = ct.fetch_climate_data(
    source="nasa_power",
    location_coord=(-1.286, 36.817),
    date_from=date(2020, 1, 1),
    date_to=date(2020, 12, 31),
)
df.head()

The script runs without error but prints only warnings about unavailable data fields (soil moisture, root depth, etc.), with no indication that data was actually fetched or what it contains.

Expected behavior:
Users should see the actual climate data returned, not just a list of unsupported fields.

Suggested improvement:
Add print statements in the documentation example to confirm successful data retrieval:

import climate_toolkit as ct
from datetime import date

print("Starting fetch...")
df = ct.fetch_climate_data(
    source="nasa_power",
    location_coord=(-1.286, 36.817),  # Nairobi
    date_from=date(2020, 1, 1),
    date_to=date(2020, 12, 31),
)
print("Fetch complete!")
print("Data shape:", df.shape)
print("\nFirst few rows:")
print(df.head())
print("\nColumn names:")
print(df.columns.tolist())

This would help new users verify the fetch succeeded and understand what data is available.

2. Output needs to be organised in clear table for easy interpretation

Description:

When following the 3. First analysis example from the Web documentation to fetch climate data:

import climate_toolkit as ct
from datetime import date

# Daily data — no credentials needed for nasa_power
df = ct.fetch_climate_data(
    source="nasa_power",
    location_coord=(-1.286, 36.817),
    date_from=date(2020, 1, 1),
    date_to=date(2020, 12, 31),
)

# Crop hazards for a season (uses Earth Engine sources by default)
hazards = ct.evaluate_hazards(
    crop_name="maize",
    location_coord=(-1.286, 36.817),
    date_from="2020-01-01",
    date_to="2020-12-31",
)

Expected behavior:
Users should see the table displaying output for different years, not just a mixed lists as below:

Image

3. API documentation "Fetching data" page examples missing output verification

Description:

The code examples in the Fetching data - Climate Toolkit documentation don't display the fetched data output.

Example code from docs:

from datetime import date
import climate_toolkit as ct
from climate_toolkit.fetch_data.source_data.sources.utils.models import (
     ClimateVariable,
 )
df = ct.fetch_climate_data(
     source="nex_gddp",
     location_coord=(-1.286, 36.817),
     variables=[ClimateVariable.precipitation,
                ClimateVariable.max_temperature],
     date_from=date(2050, 1, 1),
     date_to=date(2050, 12, 31),
     model="MIROC6",
     scenario="ssp585",
 )

Problem:
Running this code gives no visual confirmation that data was fetched. Users don't see what the returned DataFrame contains or if the operation succeeded.

Suggested fix:
Add print statements to show the results:

print("Fetch complete!")
print("Data shape:", df.shape)
print("\nFirst few rows:")
print(df.head())
print("\nColumn names:")
print(df.columns.tolist())

This would help users verify successful data retrieval and understand the output structure.

4. analyze_climate_statistics() needs fixed_season parameter to handle variable season counts

Description:

When calling analyze_climate_statistics() on data with varying season counts across years, the function returns a warning instead of results:

stats = ct.analyze_climate_statistics(
    location_coord=(-1.969, 30.139),
    start_year=1991, end_year=2020,
    source="agera5",
)
print(stats.keys())

Warning output:

[WARN] Auto-detected season counts differ across years, so LTM season windows by season_number would blend incomparable seasons. Counts by year: 1991:2, 1992:2, ..., 2020:2. Use --fixed-season for stable multi-year seasonal LTM output.

Problem:
The warning suggests using --fixed-season, but there's no documented way to pass this parameter to analyze_climate_statistics().

Expected behavior:
The function should accept a fixed_season parameter to enable stable multi-year seasonal analysis:

stats = ct.analyze_climate_statistics(
    location_coord=(-1.969, 30.139),
    start_year=1991, end_year=2020,
    source="agera5",
    fixed_season=True,  # or specify which season configuration
)

Request:

  1. Expose fixed_season as a parameter in the Python API
  2. Update documentation with example usage
  3. Clarify how to specify which season configuration to use when counts differ

Metadata

Metadata

Labels

documentationImprovements or additions to documentationenhancementNew feature or requestfetch-dataFetch pipeline and source retrieval layermichelIssue requested directly by Michel

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions