Close Menu
    Trending
    • Topp 10 AI-filmer genom tiderna
    • OpenAIs nya webbläsare ChatGPT Atlas
    • Creating AI that matters | MIT News
    • Scaling Recommender Transformers to a Billion Parameters
    • Hidden Gems in NumPy: 7 Functions Every Data Scientist Should Know
    • Is RAG Dead? The Rise of Context Engineering and Semantic Layers for Agentic AI
    • ChatGPT Gets More Personal. Is Society Ready for It?
    • Why the Future Is Human + Machine
    ProfitlyAI
    • Home
    • Latest News
    • AI Technology
    • Latest AI Innovations
    • AI Tools & Technologies
    • Artificial Intelligence
    ProfitlyAI
    Home » How to Access NASA’s Climate Data — And How It’s Powering the Fight Against Climate Change Pt. 1
    Artificial Intelligence

    How to Access NASA’s Climate Data — And How It’s Powering the Fight Against Climate Change Pt. 1

    ProfitlyAIBy ProfitlyAIJuly 1, 2025No Comments12 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    can’t consider a extra essential dataset. Simply right now, I noticed a headline like this: ‘Warmth Waves Are Getting Extra Harmful with Local weather Change.’ You may’t say we haven’t been warned. In 1988, we noticed headlines like this: ‘International Warming Has Begun, Professional Tells Senate.’ And whereas information science has performed its position in revealing that we are going to seemingly surpass the 1.5 °C goal set by the Paris Settlement, there’s much more we could possibly be doing. For one, individuals don’t imagine it, but the information is available, free, and straightforward to entry. You may verify it your self! So on this episode, we’ll. We’ll additionally speak concerning the shocking and fascinating methods this information is at present being utilized to fight the consequences of local weather change. 

    However local weather information can be extremely fascinating. You’ve in all probability additionally seen headlines like: Blue Origin launch of 6 individuals to suborbital house delayed once more because of climate. Which makes you assume, if we are able to ship somebody to the moon, then why can’t we ensure concerning the climate? If tough doesn’t describe it, then a multidimensional stochastic course of would possibly. From an information science perspective, that is our Riemann Speculation, our P vs NP drawback. How effectively we are able to mannequin and perceive local weather information will form our subsequent many years on this earth. That is an important drawback we could possibly be engaged on. 

    And whereas New York simply went via a warmth wave, it’s vital to notice that local weather change is worse than simply hotter climate. 

    • Failing harvests undermine world meals safety, particularly in susceptible areas.
    • Vector-borne ailments increase into new areas as temperatures rise.
    • Mass extinctions disrupt ecosystems and erode planetary resilience.
    • Ocean acidification unravels marine meals chains, threatening fisheries and biodiversity.
    • Freshwater provides dwindle below the strain of drought, air pollution, and overuse.

    However not all is misplaced; we’ll speak about among the methods information has been used to handle these issues. Right here’s a abstract of among the information NASA retains monitor of. We’ll entry a few of these parameters.

    Picture by Writer

    Getting the information

    We’ll begin by selecting some fascinating places we’ll look at on this collection. All we’d like are their coordinates — a click on away on Google Maps. I take advantage of fairly a little bit of decimal locations right here, however the meteorological information supply decision is ½° x ⅝°, so there’s no have to be this correct. 

    interesting_climate_sites = {
        "Barrow, Alaska (Utqiaġvik)": (71.2906, -156.7886),    # Arctic warming, permafrost soften
        "Greenland Ice Sheet": (72.0000, -40.0000),            # Glacial soften, sea degree rise
        "Amazon Rainforest (Manaus)": (-3.1190, -60.0217),     # Carbon sink, deforestation affect
        "Sahara Desert (Tamanrasset, Algeria)": (22.7850, 5.5228),  # Warmth extremes, desertification
        "Sahel (Niamey, Niger)": (13.5128, 2.1127),            # Precipitation shifts, droughts
        "Sydney, Australia": (-33.8688, 151.2093),             # Heatwaves, bushfires, El Niño sensitivity
        "Mumbai, India": (19.0760, 72.8777),                   # Monsoon variability, coastal flooding
        "Bangkok, Thailand": (13.7563, 100.5018),              # Sea-level rise, warmth + humidity
        "Svalbard, Norway": (78.2232, 15.6469),                # Quickest Arctic warming
        "McMurdo Station, Antarctica": (-77.8419, 166.6863),   # Ice loss, ozone gap proximity
        "Cape City, South Africa": (-33.9249, 18.4241),        # Water shortage, shifting rainfall
        "Mexico Metropolis, Mexico": (19.4326, -99.1332),            # Air air pollution, altitude-driven climate
        "Reykjavík, Iceland": (64.1355, -21.8954),             # Glacial soften, geothermal dynamics
    }

    Subsequent, let’s choose some parameters. You may flip via them within the Parameter Dictionary https://power.larc.nasa.gov/parameters/

    Picture by Writer

    You may solely request from one neighborhood at a time, so we group the parameters by neighborhood.

    community_params = {
        "AG": ["T2M","T2M_MAX","T2M_MIN","WS2M","ALLSKY_SFC_SW_DWN","ALLSKY_SFC_LW_DWN",
               "CLRSKY_SFC_SW_DWN","T2MDEW","T2MWET","PS","RAIN","TS","RH2M","QV2M","CLOUD_AMT"],
        "RE": ["WD2M","WD50M","WS50M"],
        "SB": ["IMERG_PRECTOT"]
    }

    How is that this information used?

    • AG = Agricultural. Agroeconomists sometimes use this neighborhood in crop progress fashions, corresponding to DSSAT and APSIM, in addition to in irrigation planners like FAO CROPWAT. It’s additionally used for livestock warmth stress evaluation and in constructing meals safety early warning programs. This helps mitigate meals insecurity because of local weather change. This information follows agroeconomic conventions, permitting it to be ingested instantly by agricultural decision-support instruments.
    • RE = Renewable Power. Given the identify and the truth that you will get windspeed information from right here, you would possibly be capable of guess its use. This information is primarily used to forecast long-term vitality yields. Wind pace for generators, photo voltaic radiation for photo voltaic farms. This information may be fed into PVsyst, NREL-SAM and WindPRO to estimate annual vitality yields and prices. This information helps all the things from rooftop array design to nationwide clear vitality targets.
    • SB = Sustainable Buildings. Architects and HVAC engineers make the most of this information to make sure their buildings adjust to vitality efficiency laws, like IECC or ASHRAE 90.1. It may be instantly dropped into EnergyPlus, OpenStudio, RETScreen, or LEED/ASHRAE compliance calculators to confirm buildings are as much as code.

    Now we choose a begin and finish date. 

    start_date = "19810101"
    end_date   = "20241231"

    To make the API name one thing repeatable, we use a operate. We’ll work with each day information, however for those who want yearly, month-to-month, and even hourly information, you simply want to alter the URL to 

    …/temporal/{decision}/level.

    import requests
    import pandas as pd
    
    def get_nasa_power_data(lat, lon, parameters, neighborhood, begin, finish):
        """
        Fetch each day information from NASA POWER API for given parameters and placement.
        Dates have to be in YYYYMMDD format (e.g., "20100101", "20201231").
        """
        url = "https://energy.larc.nasa.gov/api/temporal/each day/level"
        params = {
            "parameters": ",".be a part of(parameters),
            "neighborhood": neighborhood,
            "latitude": lat,
            "longitude": lon,
            "begin": begin,
            "finish": finish,
            "format": "JSON"
        }
        response = requests.get(url, params=params)
        information = response.json()
    
        if "properties" not in information:
            print(f"Error fetching {neighborhood} information for lat={lat}, lon={lon}: {information}")
            return pd.DataFrame()
    
        # Construct one DataFrame per parameter, then mix
        param_data = information["properties"]["parameter"]
        dfs = [
            pd.DataFrame.from_dict(values, orient="index", columns=[param])
            for param, values in param_data.gadgets()
        ]
        df_combined = pd.concat(dfs, axis=1)
        df_combined.index.identify = "Date"
        return df_combined.sort_index().astype(float)

    This operate retrieves the parameters we requested from the neighborhood we specified. It additionally converts JSON right into a dataframe. Every response at all times accommodates a property key — if it’s lacking, we print an error.

    Let’s name this operate in a loop to fetch the information for all our places. 

    all_data = {}
    for metropolis, (lat, lon) in interesting_climate_sites.gadgets():
        print(f"Fetching each day information for {metropolis}...")
        city_data = {}
        for neighborhood, params in community_params.gadgets():
            df = get_nasa_power_data(lat, lon, params, neighborhood, start_date, end_date)
            city_data[community] = df
        all_data[city] = city_data

    Proper now, our information is a dictionary the place the values are additionally dictionaries. It seems to be like this:

    This makes utilizing the information difficult. Subsequent, we mix these into one dataframe. We be a part of on the information after which concatenate. Since there have been no lacking values, an internal be a part of would yield the identical outcome. 

    # 1) For every metropolis, be a part of its communities on the date index
    city_dfs = {
        metropolis: comms["AG"]
                    .be a part of(comms["RE"], how="outer")
                    .be a part of(comms["SB"], how="outer")
        for metropolis, comms in all_data.gadgets()
    }
    
    # 2) Concatenate into one MultiIndexed DF: index = (Metropolis, Date)
    combined_df = pd.concat(city_dfs, names=["City", "Date"])
    
    # 3) Reset the index so Metropolis and Date change into columns
    combined_df = combined_df.reset_index()
    
    # 4) Carry latitude/longitude in as columns
    coords = pd.DataFrame.from_dict(
        interesting_climate_sites, orient="index", columns=["Latitude", "Longitude"]
    ).reset_index().rename(columns={"index": "Metropolis"})
    
    combined_df = combined_df.merge(coords, on="Metropolis", how="left")
    
    # then save into your Drive folder
    combined_df.to_csv('/content material/drive/MyDrive/climate_data.csv', index=False)

    If you happen to’re bored with coding for the day, you may also use their information entry device. Simply click on anyplace on the map to retrieve the information. Right here I clicked on Venice. Then simply choose a Neighborhood, Temporal Common, and your most well-liked file sort, CSV, JSON, ASCII, NETCDF, and hit submit. A few clicks and you will get all of the climate information on this planet. 

    https://power.larc.nasa.gov/data-access-viewer

    Picture by Writer

    Sanity verify

    Now, let’s carry out a fast sanity verify to confirm that the information we’ve got is smart.  

    import matplotlib.pyplot as plt
    import seaborn as sns # Import seaborn
    
    # Load information
    climate_df = pd.read_csv('/content material/drive/MyDrive/TDS/Local weather/climate_data.csv')
    climate_df['Date'] = pd.to_datetime(climate_df['Date'].astype(str), format='%Ypercentmpercentd')
    
    # Filter for the desired cities
    selected_cities = [
        'McMurdo Station, Antarctica',
        'Bangkok, Thailand',
    ]
    df_selected_cities = climate_df[climate_df['City'].isin(selected_cities)].copy()
    
    # Create a scatter plot with totally different colours for every metropolis
    plt.determine(figsize=(12, 8))
    
    # Use a colormap for extra aesthetic colours
    colours = sns.color_palette("Set2", len(selected_cities)) # Utilizing a seaborn coloration palette
    
    for i, metropolis in enumerate(selected_cities):
        df_city = df_selected_cities[df_selected_cities['City'] == metropolis]
        plt.scatter(df_city['Date'], df_city['T2M'], label=metropolis, s=2, coloration=colours[i]) # Utilizing T2M for temperature and smaller dots
    
    plt.xlabel('Date')
    plt.ylabel('Temperature (°C)')
    plt.title('Every day Temperature (°C) for Chosen Cities')
    plt.legend()
    plt.grid(alpha=0.3)
    plt.tight_layout()
    plt.present()

    Sure, temperatures in Bangkok are fairly a bit hotter than within the Arctic.

    Picture by Writer
    # Filter for the desired cities
    selected_cities = [
        'Cape Town, South Africa',
        'Amazon Rainforest (Manaus)',
    ]
    df_selected_cities = climate_df[climate_df['City'].isin(selected_cities)].copy()
    
    # Arrange the colour palette
    colours = sns.color_palette("Set1", len(selected_cities))
    
    # Create vertically stacked subplots
    fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12, 10), sharex=True)
    
    for i, metropolis in enumerate(selected_cities):
        df_city = df_selected_cities[df_selected_cities['City'] == metropolis]
        axes[i].scatter(df_city['Date'], df_city['PRECTOTCORR'], s=2, coloration=colours[i])
        axes[i].set_title(f'Every day Precipitation in {metropolis}')
        axes[i].set_ylabel('Precipitation (mm)')
        axes[i].grid(alpha=0.3)
    
    # Label x-axis solely on the underside subplot
    axes[-1].set_xlabel('Date')
    
    plt.tight_layout()
    plt.present()

    Sure, it’s raining extra within the Amazon Rainforest than in South Africa. 

    South Africa experiences droughts, which place a big burden on the agricultural sector. 

    Picture by Writer
    # Filter for Mexico Metropolis
    df_mexico = climate_df[climate_df['City'] == 'Mexico Metropolis, Mexico'].copy()
    
    # Create the plot
    plt.determine(figsize=(12, 6))
    sns.set_palette("husl")
    
    plt.scatter(df_mexico['Date'], df_mexico['WS2M'], s=2, label='WS2M (2m Wind Velocity)')
    plt.scatter(df_mexico['Date'], df_mexico['WS50M'], s=2, label='WS50M (50m Wind Velocity)')
    
    plt.xlabel('Date')
    plt.ylabel('Wind Velocity (m/s)')
    plt.title('Every day Wind Speeds at 2m and 50m in Mexico Metropolis')
    plt.legend()
    plt.grid(alpha=0.3)
    plt.tight_layout()
    plt.present()

    Sure, wind speeds at 50 meters are so much sooner than at 2 meters. 

    Sometimes, the upper you go, the sooner the wind strikes. At flight altitude, the wind can attain speeds of 200 km/h. That’s, till you attain house at 100,000 meters. 

    Picture by Writer

    We’ll take a a lot nearer have a look at this information within the following chapters.

    It’s heating up

    We simply went via a warmth wave right here in Toronto. By the sounds my AC made, I believe it almost broke. However in a temperature graph, it is advisable look fairly rigorously to see that they’re rising. It is because there’s seasonality and vital variability. Issues change into clearer after we have a look at the yearly common. We name an anomaly the distinction between the typical for a selected yr and the baseline. The baseline being the typical temperature over 1981–2024, we are able to then see that the latest yearly common is considerably greater than the baseline, primarily because of the cooler temperatures current in earlier years. The converse is equally true; The early yearly common is considerably decrease than the baseline because of hotter temperatures lately. 

    With all of the technical articles current right here, headlines like ‘Grammar as an Injectable: A Trojan Horse to NLP Pure Language Processing’. I hope you’re not disillusioned by a easy linear regression. However that’s all it takes to point out that temperatures are rising. But individuals don’t imagine. 

    # 1) Filter for Sahara Desert and exclude 2024
    metropolis = 'Sahara Desert (Tamanrasset, Algeria)'
    df = (
        climate_df
        .loc[climate_df['City'] == metropolis]
        .set_index('Date')
        .sort_index()
    )
    
    # 2) Compute annual imply & anomaly
    annual = df['T2M'].resample('Y').imply()
    baseline = annual.imply()
    anomaly = annual - baseline
    
    # 3) 5-year rolling imply
    roll5 = anomaly.rolling(window=5, middle=True, min_periods=3).imply()
    
    # 4) Linear development
    years = anomaly.index.yr
    slope, intercept = np.polyfit(years, anomaly.values, 1)
    development = slope * years + intercept
    
    # 5) Plot
    plt.determine(figsize=(10, 6))
    plt.bar(years, anomaly, coloration='lightgray', label='Annual Anomaly')
    plt.plot(years, roll5, coloration='C0', linewidth=2, label='5-yr Rolling Imply')
    plt.plot(years, development, coloration='C3', linestyle='--', linewidth=2,
             label=f'Development: {slope:.3f}°C/yr')
    plt.axhline(0, coloration='ok', linewidth=0.8, alpha=0.6)
    
    plt.xlabel('Yr')
    plt.ylabel('Temperature Anomaly (°C)')
    plt.title(f'{metropolis} Annual Temperature Anomaly')
    plt.legend()
    plt.grid(alpha=0.3)
    plt.tight_layout()
    plt.present()
    Picture by Writer

    The Sahara is getting hotter by 0.03°C per yr. That’s the most well liked desert on this planet. We will even verify each location we picked and see that not a single one has a unfavorable development.

    Picture by Writer

    So sure, Temperatures are rising. 

    The forest for the timber

    An enormous motive NASA makes this information open-source is to fight the consequences of Local weather Change. We’ve talked about modelling crop yields, renewable vitality, and sustainable constructing compliance. Nevertheless, there are further methods information may be utilized to handle local weather change in a scientific and mathematically grounded method. If you happen to’re on this subject, this video by Luis Seco covers issues I didn’t get to handle on this article, like

    • The carbon commerce and the worth of carbon
    • Predictive biomass device optimizing tree planting
    • Protected consuming water in Kenya 
    • The socioeconomic prices of emissions
    • Managed burning of forests

    I hope you’ll be a part of me on this journey. Within the subsequent episode, we’ll talk about how differential equations have been used to mannequin local weather. And whereas a lot is being performed to handle local weather change, the sooner listing of results was not exhaustive. 

    • Melting ice sheets destabilize world local weather regulation and speed up sea-level rise.
    • Local weather-related damages cripple economies via escalating infrastructure and well being prices.
    • Rising numbers of local weather refugees pressure borders and gas geopolitical instability.
    • Coastal cities face submersion as seas rise relentlessly
    • Excessive climate occasions shatter data, displacing tens of millions.

    However there’s noise, and there’s sign, and they are often separated. 

    Sources

    • Local weather change impacts | Nationwide Oceanic and Atmospheric Administration. (n.d.). https://www.noaa.gov/schooling/resource-collections/local weather/climate-change-impacts
    • Freedman, A. (2025, June 23). Warmth waves are getting extra harmful with local weather change – and we should still be underestimating them. CNN. https://www.cnn.com/2025/06/23/local weather/heat-wave-global-warming-links
    • International local weather predictions present temperatures anticipated to stay at or close to document ranges in coming 5 years. World Meteorological Group. (2025, Might 26). https://wmo.int/information/media-centre/global-climate-predictions-show-temperatures-expected-remain-or-near-record-levels-coming-5-years
    • International warming has begun, professional tells Senate (printed 1988). The New York Instances. (1988, June 24). https://internet.archive.org/internet/20201202103915/https:/www.nytimes.com/1988/06/24/us/global-warming-has-begun-expert-tells-senate.html
    • NASA. (n.d.). NASA LARC POWER Mission. NASA. https://energy.larc.nasa.gov/
    • Wall, M. (2025, June 20). Blue Origin to launch 6 individuals to Suborbital House June 29 after climate delay. House. https://www.house.com/space-exploration/private-spaceflight/watch-blue-origin-launch-6-people-to-suborbital-space-on-june-21

    Code Available Here

    Linkedin



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleAn Introduction to Remote Model Context Protocol Servers
    Next Article How generative AI could help make construction sites safer
    ProfitlyAI
    • Website

    Related Posts

    Artificial Intelligence

    Creating AI that matters | MIT News

    October 21, 2025
    Artificial Intelligence

    Scaling Recommender Transformers to a Billion Parameters

    October 21, 2025
    Artificial Intelligence

    Hidden Gems in NumPy: 7 Functions Every Data Scientist Should Know

    October 21, 2025
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    MIT Learn offers “a whole new front door to the Institute” | MIT News

    July 21, 2025

    How to Protect Your Brand in an AI-Powered World with Jen Leonard [MAICON 2025 Speaker Series]

    October 2, 2025

    OpenAI släpper omfattande guide för att hjälpa användare förstå GPT-5 bättre

    August 11, 2025

    China Unveils World’s First AI Hospital: 14 Virtual Doctors Ready to Treat Thousands Daily

    May 7, 2025

    Model Context Protocol (MCP) Tutorial: Build Your First MCP Server in 6 Steps

    June 11, 2025
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    Most Popular

    Reducing Time to Value for Data Science Projects: Part 2

    June 4, 2025

    Estimating Disease Rates Without Diagnosis

    July 18, 2025

    5 Techniques to Prevent Hallucinations in Your RAG Question Answering

    September 23, 2025
    Our Picks

    Topp 10 AI-filmer genom tiderna

    October 22, 2025

    OpenAIs nya webbläsare ChatGPT Atlas

    October 22, 2025

    Creating AI that matters | MIT News

    October 21, 2025
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us
    Copyright © 2025 ProfitlyAI All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.