Skip to content
Snippets Groups Projects
lib_era5_land_pixel.py 38.2 KiB
Newer Older
    # Generate arguments for multiprocessing
    args = [(rain_path, shapefile, config_file), (ET0_path, shapefile, config_file)]
    
    print('\nStarting weather data extraction on two cores..\n')
    
    # Extract weather values for both weather varialbes
    with Pool(2) as p:
    
    # Collect results in a single dataframe
    weather_dataframe = pd.DataFrame(results[0], columns = ['date', 'id', 'Rain', 'LC'])
    weather_dataframe['ET0'] = pd.DataFrame(results[1], columns = ['date', 'id', 'ET0', 'LC'])['ET0']
    
    # Reorder columns
    weather_dataframe = weather_dataframe.reindex(columns = ['date', 'id', 'Rain', 'ET0', 'LC'])
    
    # Format datatypes
    weather_dataframe['Rain'] = np.round(weather_dataframe['Rain']).astype(int)
    weather_dataframe['ET0'] = np.round(weather_dataframe['ET0']).astype(int)
    
    # Change date type
    weather_dataframe['date'] = pd.to_datetime(weather_dataframe['date'])
    
    # Save dataframe to csv
    weather_dataframe.to_csv(save_path, index = False)
    
    return None