climakitae.explore package#
Submodules#
climakitae.explore.agnostic module#
Backend for agnostic tools.
- climakitae.explore.agnostic.agg_area_subset_sims(area_subset, cached_area, downscaling_method, variable, agg_func, units, years, months=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])#
This function combines all available WRF or LOCA simulation data that is filtered on the area_subset (a string from existing keys in Boundaries.boundary_dict()) and on one of the areas of the values in that area_subset (cached_area). It then extracts this data across all SSP pathways for specific years/months, and runs the passed in agg_func on all of this data. The results are then returned in 3 values, the first as a dict of statistic names to xr.DataArray single simulation objects (i.e. median), the second as a dict of statistic names to xr.DataArray objects consisting of multiple simulation objects (i.e. middle 10%), and the last as a xr.DataArray of simulations’ aggregated values sorted in ascending order.
- Parameters:
area_subset (
str
) – Describes the category of the boundaries of interest (i.e. “CA Electric Load Serving Entities (IOU & POU)”)cached_area (
str
) – Describes the specific area of interest (i.e. “Southern California Edison”)agg_func (
str
) – The metric to aggregate the simulations by.years (
tuple
) – The lower and upper year bounds (inclusive) to extract simulation data by.months (
list
, optional) – Specific months of interest. The default is all months.
- Returns:
single_stats (
dict
ofstr
:DataArray
) – Dictionary mapping string names of statistics to single simulation xr.DataArray objects.multiple_stats (
dict
ofstr
:DataArray
) – Dictionary mapping string names of statistics to multiple simulations xr.DataArray objects.results (
DataArray
) – Aggregated results of running the given aggregation function on the lat/lon gridcell of interest. Results are also sorted in ascending order.
- climakitae.explore.agnostic.agg_lat_lon_sims(lat: float | Tuple[float, float], lon: float | Tuple[float, float], downscaling_method, variable, agg_func, units, years, months=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])#
Gets aggregated WRF or LOCA simulation data for a lat/lon coordinate or lat/lon range for a given metric and timeframe (years, months). It combines all selected simulation data that is filtered by lat/lon, years, and specific months across SSP pathways and runs the passed in metric on all of the data. The results are then returned in ascending order, along with dictionaries mapping specific statistic names to the simulation objects themselves.
- Parameters:
lat (
float
) – Latitude for specific location of interest.lon (
float
) – Longitude for specific location of interest.agg_func (
str
) – The function to aggregate the simulations by.years (
tuple
) – The lower and upper year bounds (inclusive) to subset simulation data by.months (
list
, optional) – Specific months of interest. The default is all months.
- Returns:
single_stats (
dict
ofstr
:DataArray
) – Dictionary mapping string names of statistics to single simulation xr.DataArray objects.multiple_stats (
dict
ofstr
:DataArray
) – Dictionary mapping string names of statistics to multiple simulations xr.DataArray objects.results (
DataArray
) – Aggregated results of running the given aggregation function on the lat/lon gridcell of interest. Results are also sorted in ascending order.
- climakitae.explore.agnostic.create_conversion_function(lookup_tables)#
Create a function that converts between warming level and time.
- Parameters:
lookup_tables (
dict
ofpandas.DataFrame
) – Lookup tables for the conversions as output from the create_lookup_tables function. It is a dictionary with a “time lookup table” and a “warming level lookup table”.- Returns:
function
– The find_wl_or_time function preloaded with the given lookup_tables. Given either a warming level or a time, the function uses lookup_tables to find information about the other. Please see find_wl_or_time for details.
Notes
This saves time otherwise needed to remake the lookup tables for each call.
- climakitae.explore.agnostic.create_lookup_tables()#
Create lookup tables for converting between warming level and time.
- Returns:
dict
ofpandas.DataFrame
– A dictionary containing two dataframes: “time lookup table” which maps warming levels to their occurence times for each GCM simulation we catalog, and “warming level lookup table” which contains yearly warming levels for those simulations.
- climakitae.explore.agnostic.find_wl_or_time(lookup_tables, scenario='ssp370', warming_level=None, year=None)#
Given either a warming level or a time, find information about the other.
If given a warming_level, the function looks up the times when simulations under the specified scenario reach the warming level. It returns the median month across the simulations. It also plots a histogram of the years with a label for the median year. The lookup is based on the “time lookup table” in lookup_tables.
If given a year, the function looks up the warming levels reached in the year by simulations under the specified scenario. It plots a histogram of the warming levels. It also calculates the median warming level across the simulations and prints the major warming level nearest to the median. Guidance provided include a list of major warming levels considered (1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, and 4.5°C), and the 0.5 interval the median is in.
- Parameters:
lookup_tables (
dict
ofpandas.DataFrame
) – Lookup tables as output from the create_lookup_tables function. It is a dictionary with a “time lookup table” and a “warming level lookup table”.scenario (
str
, optional) – The scenario to consider. The default is “ssp370”.warming_level (
str
, optional) – The warming level to analyze (“1.5”, “2.0”, “3.0”). The default is None.year (
int
, optional) – The year to analyze. Must be between 2021 and 2089. The default is None.
- Returns:
str
orNone
– Given a warming level, returns a string representing the median month. Given a year, returns None. None is also returned if neither warming level nor year is given, or if both are given.
- climakitae.explore.agnostic.get_available_units(variable, downscaling_method)#
Get other available units available for the given unit
- climakitae.explore.agnostic.plot_LOCA(sim_vals, agg_func, time_slice, stats)#
Visualizes a histogram of LOCA simulations that are aggregated from agg_lat_lon_sims or agg_area_subset_sims. Used with results_gridcell or results_area as inputs, as well as the aggregated function, time slice, and simulation stats all predefined within agnostic_tools.ipynb.
- Parameters:
sim_vals (
DataArray
) – DataArray of the aggregated results of a climate variable.agg_func (
Function
) – Function that takes in a series of values and returns a statistic, like np.meantime_slice (
tuple
) – Years of intereststats (
dict
) – Statistics that are returned from single_stats_gridcell or single_stats_area in agnostic_tools.ipynb
- Returns:
- climakitae.explore.agnostic.plot_WRF(sim_vals, agg_func, years)#
Visualizes a barplot of WRF simulations that are aggregated from agg_lat_lon_sims or agg_area_subset_sims. Used with results_gridcell or results_area as inputs, as well as the aggregated function and time slice, all predefined within agnostic_tools.ipynb.
- climakitae.explore.agnostic.plot_climate_response_LOCA(var1, var2)#
Visualizes a scatterplot of two aggregated LOCA climate variables from agg_lat_lon_sims or agg_area_subset_sims. Used with results_gridcell or results_area as inputs, as seen within agnostic_tools.ipynb.
- climakitae.explore.agnostic.plot_climate_response_WRF(var1, var2)#
Visualizes a scatterplot of two aggregated WRF climate variables from agg_lat_lon_sims or agg_area_subset_sims. Used with results_gridcell or results_area as inputs, as seen within agnostic_tools.ipynb.
- climakitae.explore.agnostic.show_available_vars(downscaling_method)#
Function that shows the available variables based on the input downscaling method.
climakitae.explore.amy module#
Calculates the Average Meterological Year (AMY) and Severe Meteorological Year (SMY) for the Cal-Adapt: Analytics Engine using a standard climatological period (1981-2010) for the historical baseline, and uses a 30-year window around when a designated warming level is exceeded for the SSP3-7.0 future scenario for 1.5°C, 2°C, and 3°C. The AMY is comparable to a typical meteorological year, but not quite the same full methodology.
- class climakitae.explore.amy.AverageMetYearParameters(*args, **params)
Bases:
DataParametersWithPanes
params(amy_type=Selector, cmap=Selector, computation_method=Selector, reload_data=Action, tmy_computation_description=Selector, warmlevel=Selector, _data_warning=String, _station_data_info=String, area_average=Selector, area_subset=Selector, cached_area=ListSelector, data_type=Selector, downscaling_method=Selector, extended_description=Selector, latitude=Range, longitude=Range, resolution=Selector, scenario_historical=ListSelector, scenario_ssp=ListSelector, simulation=ListSelector, station=ListSelector, time_slice=Range, timescale=Selector, units=Selector, variable=Selector, variable_id=ListSelector, variable_type=Selector, name=String) An object that holds the data options parameters for the explore.tmy panel. [1;32mParameters of ‘AverageMetYearParameters’ ======================================== [0m [1;31mParameters changed from their default values are marked in red.[0m [1;36mSoft bound values are marked in cyan.[0m C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None
[1;34mName Value Type Bounds Mode [0m
area_subset None Selector V RW cached_area None ListSelector V RW latitude (32.5, 42) Range (10, 67) V RW longitude (-125.5, -114) Range (-156.82317, -84.18701) V RW variable_type ‘Variable’ Selector V RW time_slice (1980, 2015) Range (1950, 2100) V RW resolution ‘9 km’ Selector V RW timescale ‘monthly’ Selector V RW scenario_historical [‘Historical Climate’] ListSelector V RW area_average ‘No’ Selector V RW downscaling_method ‘Dynamical’ Selector V RW data_type ‘Gridded’ Selector V RW station None ListSelector V RW _station_data_info ‘’ String V RW scenario_ssp None ListSelector V RW simulation None ListSelector V RW variable None Selector V RW units None Selector V RW extended_description None Selector V RW variable_id None ListSelector V RW _data_warning ‘’ String V RW amy_type ‘Absolute’ Selector V RW computation_method None Selector V RW tmy_computation_description None Selector V RW cmap None Selector V RW warmlevel 1.5 Selector V RW reload_data <function AverageMetYearParameters.<l… Action V RW
[1;32mParameter docstrings: =====================[0m
[1;34marea_subset: < No docstring available >[0m [1;31mcached_area: < No docstring available >[0m [1;34mlatitude: < No docstring available >[0m [1;31mlongitude: < No docstring available >[0m [1;34mvariable_type: Choose between variable or AE derived index[0m [1;31mtime_slice: < No docstring available >[0m [1;34mresolution: < No docstring available >[0m [1;31mtimescale: < No docstring available >[0m [1;34mscenario_historical: < No docstring available >[0m [1;31marea_average: Compute an area average?[0m [1;34mdownscaling_method: < No docstring available >[0m [1;31mdata_type: < No docstring available >[0m [1;34mstation: < No docstring available >[0m [1;31m_station_data_info: Information about the bias correction process and resolution[0m [1;34mscenario_ssp: < No docstring available >[0m [1;31msimulation: < No docstring available >[0m [1;34mvariable: < No docstring available >[0m [1;31munits: < No docstring available >[0m [1;34mextended_description: < No docstring available >[0m [1;31mvariable_id: < No docstring available >[0m [1;34m_data_warning: Warning if user has made a bad selection[0m [1;31mamy_type: < No docstring available >[0m [1;34mcomputation_method: < No docstring available >[0m [1;31mtmy_computation_description: < No docstring available >[0m [1;34mcmap: < No docstring available >[0m [1;31mwarmlevel: < No docstring available >[0m [1;34mreload_data: < No docstring available >[0m
- amy_type = 'Absolute'
- cmap = None
- computatation_description_dict = {'Absolute': {'Historical': 'AMY computed using the historical baseline for 1981-2010.', 'Warming Level Future': 'AMY computed using the 30-year future period centered around when the selected warming level is reached.'}, 'Difference': {'Severe AMY': 'AMY computed by taking the difference between the 90th percentile of the 30-year future period centered around the selected warming level and the historical baseline.', 'Warming Level Future': 'AMY computed by taking the difference between the 30-year future period centered around the selected warming level and the historical baseline.'}}
- computation_method = None
- name = 'AverageMetYearParameters'
- reload_data()
- tmy_advanced_options_dict = {'Absolute': {'default': 'Historical', 'objects': ['Historical', 'Warming Level Future']}, 'Difference': {'default': 'Warming Level Future', 'objects': ['Warming Level Future', 'Severe AMY']}}
- tmy_computation_description = None
- warming_year_average_range = {1.5: (2034, 2063), 2: (2047, 2076), 3: (2061, 2090)}
- warmlevel = 1.5
- climakitae.explore.amy.amy_visualize(self)
Creates a new AMY focus panel object to display user selections
- climakitae.explore.amy.compute_amy(data, days_in_year=366, show_pbar=False)
Calculates the average meteorological year based on a designated period of time
Applicable for both the historical and future periods.
- Parameters:
data (
DataArray
) – Hourly data for one variabledays_in_year (
int
, optional) – Either 366 or 365, depending on whether or not the year is a leap year. Default to 366 days (leap year)show_pbar (
bool
, optional) – Show progress bar? Default to false. Progress bar is nice for using this function within a notebook.
- Returns:
DataFrame
– Average meteorological year table, with days of year as the index and hour of day as the columns.
- climakitae.explore.amy.compute_mean_monthly_meteo_yr(tmy_df, col_name='mean_value')
Compute mean monthly values for input meteorological year data.
- Parameters:
- Returns:
DataFrame
– Table with month as index and monthly mean as column
- climakitae.explore.amy.compute_severe_yr(data, days_in_year=366, show_pbar=False)
Calculate the severe meteorological year based on the 90th percentile of data.
Applicable for both the historical and future periods.
- Parameters:
data (
DataArray
) – Hourly data for one variabledays_in_year (
int
, optional) – Either 366 or 365, depending on whether or not the year is a leap year. Default to 366 days (leap year)show_pbar (
bool
, optional) – Show progress bar? Default to false. Progress bar is nice for using this function within a notebook.
- Returns:
DataFrame
– Severe meteorological year table, with days of year as the index and hour of day as the columns.
- climakitae.explore.amy.lineplot_from_amy_data(amy_data, computation_method=None, location_subset=None, warmlevel=None, variable=None)
Generate a lineplot of meteorological year data, with mon-day-hr on the x-axis
- Parameters:
amy_data (
DataFrame
) – Meteorological year dataframe, with hour of day as columns and day of year as index Output of either compute_severe_yr or compute_meteo_yrcomputation_method (
str
, optional) – Method used to compute the meteorological year. Used to add descriptive information to the plot title.location_subset (
str
, optional) – Location subset of data. Used to add descriptive information to the plot title.warmlevel (
str
, optional) – Warming level used to generate data. Used to add descriptive information to the plot title.variable (
str
, optional) – Name of data variable. Used to add descriptive information to the plot title.
- Returns:
matplotlib.figure.Figure
– Lineplot of the data
- climakitae.explore.amy.meteo_yr_heatmap(meteo_yr_df, title='Meteorological Year', cmap='ae_orange', clabel=None, width=500, height=250)
Create interactive (hvplot) meteorological year heatmap.
- Parameters:
meteo_yr_df (
DataFrame
) – Meteorological year dataframe, with hour of day as columns and day of year as index Output of either compute_severe_yr or compute_meteo_yrtitle (
str
, optional) – Title to give heatmap. Default to “Meteorological Year”cmap (matplotlib colormap name or
AE colormap names
, optional) – Colormap to apply to heatmap. Default to “ae_orange”clabel (
str
, optional) – Name of variable being plotted. Default to None. Will be applied to label of colorbar.width (
int
, optional) – Width of heatmap. Default to 500height (
int
, optional) – Height of heatmap. Default to 250.
- Returns:
holoviews.element.raster.HeatMap
– Interactive heatmap
- climakitae.explore.amy.meteo_yr_heatmap_static(meteo_yr_df, title='Meteorological Year', cmap='ae_orange', clabel=None)
Create static (matplotlib) meteorological year heatmap
- Parameters:
meteo_yr_df (
DataFrame
) – Meteorological year dataframe, with hour of day as columns and day of year as index Output of either compute_severe_yr or compute_meteo_yrtitle (
str
, optional) – Title to give heatmap. Default to “Meteorological Year”cmap (matplotlib colormap name or
AE colormap names
, optional) – Colormap to apply to heatmap. Default to “ae_orange”clabel (
str
, optional) – Name of variable being plotted. Default to None. Will be applied to label of colorbar.
- Returns:
matplotlib.figure.Figure
– Static heatmap
climakitae.explore.threshold_tools module#
Helper functions for performing analyses related to thresholds
- climakitae.explore.threshold_tools.calculate_ess(data, nlags=None)#
Function for calculating the effective sample size (ESS) of the provided data.
- Parameters:
- Returns:
DataArray
– Effective sample size. Returned as a DataArray object so it can be utilized by xr.groupby and xr.resample.
- climakitae.explore.threshold_tools.exceedance_plot_subtitle(exceedance_count)#
Function of build exceedance plot subtitle
Helper function for making the subtile for exceedance plots.
- Parameters:
exceedance_count (
xarray.DataArray
)- Returns:
Examples
‘Number of hours per year’ ‘Number of 4-hour events per 3-months’ ‘Number of days per year with conditions lasting at least 4-hours’
- climakitae.explore.threshold_tools.exceedance_plot_title(exceedance_count)#
Function to build title for exceedance plots
Helper function for making the title for exceedance plots.
- Parameters:
exceedance_count (
xarray.DataArray
)- Returns:
Examples
‘Air Temperatue at 2m: events above 35C’ ‘Preciptation (total): events below 10mm’
- climakitae.explore.threshold_tools.get_block_maxima(da_series, extremes_type='max', duration=None, groupby=None, grouped_duration=None, check_ess=True, block_size=1)#
Function that converts data into block maximums, defaulting to annual maximums (default block size = 1 year).
Takes input array and resamples by taking the maximum value over the specified block size.
Optional arguments duration, groupby, and grouped_duration define the type of event to find the annual maximums of. These correspond to the event types defined in the get_exceedance_count function.
- Parameters:
da (
xarray.DataArray
) – DataArray from retrieveextremes_type (
str
) – option for max or min Defaults to maxduration (
tuple
) – length of extreme event, specified as (4, ‘hour’)groupby (
tuple
) – group over which to look for max occurance, specified as (1, ‘day’)grouped_duration (
tuple
) – length of event after grouping, specified as (5, ‘day’)check_ess (
boolean
) – optional flag specifying whether to check the effective sample size (ESS) within the blocks of data, and throw a warning if the average ESS is too small. can be silenced with check_ess=False.block_size (
int
) – block size in years. default is 1 year.
- Returns:
- climakitae.explore.threshold_tools.get_exceedance_count(da, threshold_value, duration1=None, period=(1, 'year'), threshold_direction='above', duration2=None, groupby=None, smoothing=None)#
Calculate the number of occurances of exceeding the specified threshold within each period.
Returns an xarray.DataArray with the same coordinates as the input data except for the time dimension, which will be collapsed to one value per period (equal to the number of event occurances in each period).
- Parameters:
da (
xarray.DataArray
) – array of some climate variable. Can have multiple scenarios, simulations, or x and y coordinates.threshold_value (
float
) – value against which to test exceedanceperiod (
int
) – amount of time across which to sum the number of occurances, default is (1, “year”). Specified as a tuple: (x, time) where x is an integer, and time is one of: [“day”, “month”, “year”]threshold_direction (
str
) – either “above” or “below”, default is above.duration1 (
tuple
) – length of exceedance in order to qualify as an event (before grouping)groupby (
tuple
) – see examples for explanation. Typical grouping could be (1, “day”)duration2 (
tuple
) – length of exceedance in order to qualify as an event (after grouping)smoothing (
int
) – option to average the result across multiple periods with a rolling average; value is either None or the number of timesteps to use as the window size
- Returns:
- climakitae.explore.threshold_tools.get_geospatial_plot(ds, data_variable, bar_min=None, bar_max=None, border_color='black', line_width=0.5, cmap='ae_orange', hover_fill_color='blue')#
Returns an interactive map from inputed dataset and selected data variable.
- Parameters:
ds (
Dataset
) – Data to plotdata_variable (
str
) – Valid variable option in input dataset Valid options: “d_statistic”,”p_value”,”return_value”,”return_prob”,”return_period”bar_min (
float
, optional) – Colorbar minimum valuebar_max (
float
, optional) – Colorbar maximum valueborder_color (
str
, optional) – Color for state lines and international borders Default to blackcmap (matplotlib colormap name or
AE colormap names
, optional) – Colormap to apply to data Default to “ae_orange” for mapped data or color-blind friendly “categorical_cb” for timeseries data.hover_fill_color (
str
, optional) – Default to “blue”
- Returns:
holoviews.core.overlay.Overlay
– Map of input data
- climakitae.explore.threshold_tools.get_ks_stat(bms, distr='gev', multiple_points=True)#
Function to perform kstest on input DataArray
Creates a dataset of ks test d-statistics and p-values from an inputed maximum series.
- Parameters:
bms (
xarray.DataArray
) – Block maximum series, can be output from the function get_block_maxima()distr (
str
)multiple_points (
boolean
)
- Returns:
- climakitae.explore.threshold_tools.get_return_period(bms, return_value, distr='gev', bootstrap_runs=100, conf_int_lower_bound=2.5, conf_int_upper_bound=97.5, multiple_points=True)#
Creates xarray Dataset with return periods and confidence intervals from maximum series.
- Parameters:
bms (
xarray.DataArray
) – Block maximum series, can be output from the function get_block_maxima()return_value (
float
) – The threshold value for which to calculate the return period of occurancedistr (
str
) – The type of extreme value distribution to fitbootstrap_runs (
int
) – Number of bootstrap samplesconf_int_lower_bound (
float
) – Confidence interval lower boundconf_int_upper_bound (
float
) – Confidence interval upper boundmultiple_points (
boolean
) – Whether or not the data contains multiple points (has x, y dimensions)
- Returns:
xarray.Dataset
– Dataset with return periods and confidence intervals
- climakitae.explore.threshold_tools.get_return_prob(bms, threshold, distr='gev', bootstrap_runs=100, conf_int_lower_bound=2.5, conf_int_upper_bound=97.5, multiple_points=True)#
Creates xarray Dataset with return probabilities and confidence intervals from maximum series.
- Parameters:
bms (
xarray.DataArray
) – Block maximum series, can be output from the function get_block_maxima()threshold (
float
) – The threshold value for which to calculate the probability of exceedancedistr (
str
) – The type of extreme value distribution to fitbootstrap_runs (
int
) – Number of bootstrap samplesconf_int_lower_bound (
float
) – Confidence interval lower boundconf_int_upper_bound (
float
) – Confidence interval upper boundmultiple_points (
boolean
) – Whether or not the data contains multiple points (has x, y dimensions)
- Returns:
xarray.Dataset
– Dataset with return probabilities and confidence intervals
- climakitae.explore.threshold_tools.get_return_value(bms, return_period=10, distr='gev', bootstrap_runs=100, conf_int_lower_bound=2.5, conf_int_upper_bound=97.5, multiple_points=True)#
Creates xarray Dataset with return values and confidence intervals from maximum series.
- Parameters:
bms (
xarray.DataArray
) – Block maximum series, can be output from the function get_block_maxima()return_period (
float
) – The recurrence interval (in years) for which to calculate the return valuedistr (
str
) – The type of extreme value distribution to fitbootstrap_runs (
int
) – Number of bootstrap samplesconf_int_lower_bound (
float
) – Confidence interval lower boundconf_int_upper_bound (
float
) – Confidence interval upper boundmultiple_points (
boolean
) – Whether or not the data contains multiple points (has x, y dimensions)
- Returns:
xarray.Dataset
– Dataset with return values and confidence intervals
- climakitae.explore.threshold_tools.plot_exceedance_count(exceedance_count)#
Create panel column object with embedded plots
Plots each simulation as a different color line. Drop down option to select different scenario. Currently can only plot for one location, so is expecting input to already be subsetted or an area average.
- Parameters:
exceedance_count (
xarray.DataArray
)- Returns:
panel.Column
climakitae.explore.thresholds module#
Backend functions and classes for building the thresholds GUI.
- class climakitae.explore.thresholds.ThresholdParameters(*args, **params)
Bases:
DataParametersWithPanes
params(changed_loc_and_var=Boolean, changed_units=Boolean, duration1_length=Integer, duration1_type=Selector, duration2_length=Integer, duration2_type=Selector, group_length=Integer, group_type=Selector, num_timesteps=Integer, period_length=Integer, period_type=Selector, reload_data=Action, reload_plot=Action, smoothing=Selector, threshold_direction=Selector, threshold_value=Number, _data_warning=String, _station_data_info=String, area_average=Selector, area_subset=Selector, cached_area=ListSelector, data_type=Selector, downscaling_method=Selector, extended_description=Selector, latitude=Range, longitude=Range, resolution=Selector, scenario_historical=ListSelector, scenario_ssp=ListSelector, simulation=ListSelector, station=ListSelector, time_slice=Range, timescale=Selector, units=Selector, variable=Selector, variable_id=ListSelector, variable_type=Selector, name=String) An object that holds the data options parameters for theexplore.thresholds panel. [1;32mParameters of ‘ThresholdParameters’ =================================== [0m [1;31mParameters changed from their default values are marked in red.[0m [1;36mSoft bound values are marked in cyan.[0m C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None
[1;34mName Value Type Bounds Mode [0m
area_subset None Selector V RW cached_area None ListSelector V RW latitude (32.5, 42) Range (10, 67) V RW longitude (-125.5, -114) Range (-156.82317, -84.18701) V RW variable_type ‘Variable’ Selector V RW time_slice (1980, 2015) Range (1950, 2100) V RW resolution ‘9 km’ Selector V RW timescale ‘monthly’ Selector V RW scenario_historical [‘Historical Climate’] ListSelector V RW area_average ‘No’ Selector V RW downscaling_method ‘Dynamical’ Selector V RW data_type ‘Gridded’ Selector V RW station None ListSelector V RW _station_data_info ‘’ String V RW scenario_ssp None ListSelector V RW simulation None ListSelector V RW variable None Selector V RW units None Selector V RW extended_description None Selector V RW variable_id None ListSelector V RW _data_warning ‘’ String V RW threshold_direction ‘above’ Selector V RW threshold_value 0 Number V RW duration1_length 1 Integer (0, None) V RW duration1_type ‘hour’ Selector V RW period_length 1 Integer (0, None) V RW period_type ‘year’ Selector V RW group_length 1 Integer (0, None) V RW group_type ‘hour’ Selector V RW duration2_length 1 Integer (0, None) V RW duration2_type ‘hour’ Selector V RW smoothing ‘None’ Selector V RW num_timesteps 10 Integer (0, None) V RW reload_plot <function ThresholdParameters.<lambda… Action V RW reload_data <function ThresholdParameters.<lambda… Action V RW changed_loc_and_var True Boolean (0, 1) V RW changed_units False Boolean (0, 1) V RW
[1;32mParameter docstrings: =====================[0m
[1;34marea_subset: < No docstring available >[0m [1;31mcached_area: < No docstring available >[0m [1;34mlatitude: < No docstring available >[0m [1;31mlongitude: < No docstring available >[0m [1;34mvariable_type: Choose between variable or AE derived index[0m [1;31mtime_slice: < No docstring available >[0m [1;34mresolution: < No docstring available >[0m [1;31mtimescale: < No docstring available >[0m [1;34mscenario_historical: < No docstring available >[0m [1;31marea_average: Compute an area average?[0m [1;34mdownscaling_method: < No docstring available >[0m [1;31mdata_type: < No docstring available >[0m [1;34mstation: < No docstring available >[0m [1;31m_station_data_info: Information about the bias correction process and resolution[0m [1;34mscenario_ssp: < No docstring available >[0m [1;31msimulation: < No docstring available >[0m [1;34mvariable: < No docstring available >[0m [1;31munits: < No docstring available >[0m [1;34mextended_description: < No docstring available >[0m [1;31mvariable_id: < No docstring available >[0m [1;34m_data_warning: Warning if user has made a bad selection[0m [1;31mthreshold_direction: < No docstring available >[0m [1;34mthreshold_value: < No docstring available >[0m [1;31mduration1_length: < No docstring available >[0m [1;34mduration1_type: < No docstring available >[0m [1;31mperiod_length: < No docstring available >[0m [1;34mperiod_type: < No docstring available >[0m [1;31mgroup_length: < No docstring available >[0m [1;34mgroup_type: < No docstring available >[0m [1;31mduration2_length: < No docstring available >[0m [1;34mduration2_type: < No docstring available >[0m [1;31msmoothing: < No docstring available >[0m [1;34mnum_timesteps: < No docstring available >[0m [1;31mreload_plot: < No docstring available >[0m [1;34mreload_data: < No docstring available >[0m [1;31mchanged_loc_and_var: < No docstring available >[0m [1;34mchanged_units: < No docstring available >[0m
- changed_loc_and_var = True
- changed_units = False
- duration1_length = 1
- duration1_type = 'hour'
- duration2_length = 1
- duration2_row()
A reactive row for duration2 options that updates if group is updated
- duration2_type = 'hour'
- group_length = 1
- group_row()
A reactive row for duration2 options that updates if group is updated
- group_type = 'hour'
- name = 'ThresholdParameters'
- num_timesteps = 10
- period_length = 1
- period_type = 'year'
- reload_data()
- reload_plot()
- smoothing = 'None'
- smoothing_card()
A reactive panel card used by _exceedance_visualize that only displays the num_timesteps option if smoothing is selected.
- threshold_direction = 'above'
- threshold_value = 0
- transform_data()
- view()
- climakitae.explore.thresholds.thresholds_visualize(self, option=1)
Function for constructing and displaying the explore.thresholds() panel.
climakitae.explore.timeseries module#
- class climakitae.explore.timeseries.TimeSeries(data)#
Bases:
object
Holds the instance of TimeSeriesParameters that is used for the following purposes: 1) to display a panel that previews various time-series transforms (explore), and 2) to save the transform represented by the current state of that preview into a new variable (output_current).
- explore()#
Create an interactive visualization of the timeseries data, dependant on the attributes set in previous steps. Allows user to directly modify the data in the GUI. Only works in a jupyter notebook environment.
- Returns:
- class climakitae.explore.timeseries.TimeSeriesParameters(dataset, **params)#
Bases:
Parameterized
params(anomaly=Boolean, extremes=ListSelector, num_timesteps=Integer, percentile=Number, reference_range=CalendarDateRange, remove_seasonal_cycle=Boolean, resample_period=Selector, resample_window=Integer, separate_seasons=Boolean, smoothing=Selector, name=String) Class of python Param to hold parameters for Time Series. [1;32mParameters of ‘TimeSeriesParameters’ ==================================== [0m [1;31mParameters changed from their default values are marked in red.[0m [1;36mSoft bound values are marked in cyan.[0m C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None
[1;34mName Value Type Bounds Mode [0m
resample_period ‘years’ Selector V RW anomaly True Boolean (0, 1) V RW reference_range (datetime.datetime(1981, 1, 1, 0, 0),… CalendarDateRange (1980-01-01 00:00:00, 2021-12-31 00:00:00) V RW remove_seasonal_cycle False Boolean (0, 1) V RW smoothing ‘None’ Selector V RW num_timesteps 0 Integer (0, 240) V RW separate_seasons False Boolean (0, 1) V RW extremes [] ListSelector V RW resample_window 1 Integer (1, 30) V RW percentile 0 Number (0, 1) V RW
[1;32mParameter docstrings: =====================[0m
[1;34mresample_period: < No docstring available >[0m [1;31manomaly: < No docstring available >[0m [1;34mreference_range: < No docstring available >[0m [1;31mremove_seasonal_cycle: < No docstring available >[0m [1;34msmoothing: < No docstring available >[0m [1;31mnum_timesteps: < No docstring available >[0m [1;34mseparate_seasons: < No docstring available >[0m [1;31mextremes: < No docstring available >[0m [1;34mresample_window: < No docstring available >[0m [1;31mpercentile: Relevant if ‘running extremes’ is ‘percentile.[0m
- anomaly = True#
- extremes = []#
- name = 'TimeSeriesParameters'#
- num_timesteps = 0#
- percentile = 0#
- reference_range = (datetime.datetime(1981, 1, 1, 0, 0), datetime.datetime(2010, 12, 31, 0, 0))#
- remove_seasonal_cycle = False#
- resample_period = 'years'#
- resample_window = 1#
- separate_seasons = False#
- smoothing = 'None'#
- transform_data()#
Returns a dataset that has been transformed in the ways that the params indicate, ready to plot in the preview window (“view” method of this class), or be saved out.
- update_anom()#
- update_seasonal_cycle()#
- view()#
Does the main work of timeseries.explore(). Updating a plot in real-time to enable the user to preview the results of any timeseries transforms.
- climakitae.explore.timeseries.timeseries_visualize(choices)#
Uses holoviz ‘panel’ library to display the parameters and view defined in an instance of _TimeSeriesParams.
climakitae.explore.uncertainty module#
- class climakitae.explore.uncertainty.CmipOpt(variable='tas', area_subset='states', location='California', timescale='monthly', area_average=True)#
Bases:
object
A class for holding relevant data options for cmip preprocessing
- Parameters:
- _cmip_clip()#
CMIP6-specific subsetting
- climakitae.explore.uncertainty.calc_anom(ds_yr, base_start, base_end)#
Calculates the difference relative to a historical baseline.
First calculates a baseline per simulation using input (base_start, base_end). Then calculates the anomaly from baseline per simulation.
- climakitae.explore.uncertainty.cmip_mmm(ds)#
Calculate the CMIP6 multi-model mean by collapsing across simulations.
- climakitae.explore.uncertainty.compute_vmin_vmax(da_min, da_max)#
Computes min, max, and center for plotting.
- climakitae.explore.uncertainty.get_ensemble_data(variable, selections, cmip_names, warm_level=3.0)#
Returns processed data from multiple CMIP6 models for uncertainty analysis.
Searches the CMIP6 data catalog for data from models that have specific ensemble member id in the historical and ssp370 runs. Preprocessing includes subsetting for specific location and dropping the member_id for easier analysis.
Get’s future data at warming level range. Slices historical period to 1981-2010.
- climakitae.explore.uncertainty.get_ks_pval_df(sample1, sample2, sig_lvl=0.05)#
Performs a Kolmogorov-Smirnov test at all lat, lon points
- climakitae.explore.uncertainty.get_warm_level(warm_level, ds, multi_ens=False, ipcc=True)#
Subsets projected data centered to the year that the selected warming level is reached for a particular simulation/member_id
- Parameters:
- Returns:
Dataset
– Subset of projected data -14/+15 years from warming level threshold
- climakitae.explore.uncertainty.grab_multimodel_data(copt, alpha_sort=False)#
Returns processed data from multiple CMIP6 models for uncertainty analysis.
Searches the CMIP6 data catalog for data from models that have specific ensemble member id in the historical and ssp370 runs. Preprocessing includes subsetting for specific location and dropping the member_id for easier analysis.
- climakitae.explore.uncertainty.weighted_temporal_mean(ds)#
weight by days in each month
Function for calculating annual averages pulled + adapted from NCAR Link: https://ncar.github.io/esds/posts/2021/yearly-averages-xarray/
- Parameters:
ds (
xarray.DataArray
)- Returns:
obs_sum / ones_out (
xarray.Dataset
)
climakitae.explore.timeseries module#
- class climakitae.explore.timeseries.TimeSeries(data)#
Bases:
object
Holds the instance of TimeSeriesParameters that is used for the following purposes: 1) to display a panel that previews various time-series transforms (explore), and 2) to save the transform represented by the current state of that preview into a new variable (output_current).
- explore()#
Create an interactive visualization of the timeseries data, dependant on the attributes set in previous steps. Allows user to directly modify the data in the GUI. Only works in a jupyter notebook environment.
- Returns:
- class climakitae.explore.timeseries.TimeSeriesParameters(dataset, **params)#
Bases:
Parameterized
params(anomaly=Boolean, extremes=ListSelector, num_timesteps=Integer, percentile=Number, reference_range=CalendarDateRange, remove_seasonal_cycle=Boolean, resample_period=Selector, resample_window=Integer, separate_seasons=Boolean, smoothing=Selector, name=String) Class of python Param to hold parameters for Time Series. [1;32mParameters of ‘TimeSeriesParameters’ ==================================== [0m [1;31mParameters changed from their default values are marked in red.[0m [1;36mSoft bound values are marked in cyan.[0m C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None
[1;34mName Value Type Bounds Mode [0m
resample_period ‘years’ Selector V RW anomaly True Boolean (0, 1) V RW reference_range (datetime.datetime(1981, 1, 1, 0, 0),… CalendarDateRange (1980-01-01 00:00:00, 2021-12-31 00:00:00) V RW remove_seasonal_cycle False Boolean (0, 1) V RW smoothing ‘None’ Selector V RW num_timesteps 0 Integer (0, 240) V RW separate_seasons False Boolean (0, 1) V RW extremes [] ListSelector V RW resample_window 1 Integer (1, 30) V RW percentile 0 Number (0, 1) V RW
[1;32mParameter docstrings: =====================[0m
[1;34mresample_period: < No docstring available >[0m [1;31manomaly: < No docstring available >[0m [1;34mreference_range: < No docstring available >[0m [1;31mremove_seasonal_cycle: < No docstring available >[0m [1;34msmoothing: < No docstring available >[0m [1;31mnum_timesteps: < No docstring available >[0m [1;34mseparate_seasons: < No docstring available >[0m [1;31mextremes: < No docstring available >[0m [1;34mresample_window: < No docstring available >[0m [1;31mpercentile: Relevant if ‘running extremes’ is ‘percentile.[0m
- anomaly = True#
- extremes = []#
- name = 'TimeSeriesParameters'#
- num_timesteps = 0#
- percentile = 0#
- reference_range = (datetime.datetime(1981, 1, 1, 0, 0), datetime.datetime(2010, 12, 31, 0, 0))#
- remove_seasonal_cycle = False#
- resample_period = 'years'#
- resample_window = 1#
- separate_seasons = False#
- smoothing = 'None'#
- transform_data()#
Returns a dataset that has been transformed in the ways that the params indicate, ready to plot in the preview window (“view” method of this class), or be saved out.
- update_anom()#
- update_seasonal_cycle()#
- view()#
Does the main work of timeseries.explore(). Updating a plot in real-time to enable the user to preview the results of any timeseries transforms.
- climakitae.explore.timeseries.timeseries_visualize(choices)#
Uses holoviz ‘panel’ library to display the parameters and view defined in an instance of _TimeSeriesParams.
climakitae.explore.uncertainty module#
- class climakitae.explore.uncertainty.CmipOpt(variable='tas', area_subset='states', location='California', timescale='monthly', area_average=True)#
Bases:
object
A class for holding relevant data options for cmip preprocessing
- Parameters:
- _cmip_clip()#
CMIP6-specific subsetting
- climakitae.explore.uncertainty.calc_anom(ds_yr, base_start, base_end)#
Calculates the difference relative to a historical baseline.
First calculates a baseline per simulation using input (base_start, base_end). Then calculates the anomaly from baseline per simulation.
- climakitae.explore.uncertainty.cmip_mmm(ds)#
Calculate the CMIP6 multi-model mean by collapsing across simulations.
- climakitae.explore.uncertainty.compute_vmin_vmax(da_min, da_max)#
Computes min, max, and center for plotting.
- climakitae.explore.uncertainty.get_ensemble_data(variable, selections, cmip_names, warm_level=3.0)#
Returns processed data from multiple CMIP6 models for uncertainty analysis.
Searches the CMIP6 data catalog for data from models that have specific ensemble member id in the historical and ssp370 runs. Preprocessing includes subsetting for specific location and dropping the member_id for easier analysis.
Get’s future data at warming level range. Slices historical period to 1981-2010.
- climakitae.explore.uncertainty.get_ks_pval_df(sample1, sample2, sig_lvl=0.05)#
Performs a Kolmogorov-Smirnov test at all lat, lon points
- climakitae.explore.uncertainty.get_warm_level(warm_level, ds, multi_ens=False, ipcc=True)#
Subsets projected data centered to the year that the selected warming level is reached for a particular simulation/member_id
- Parameters:
- Returns:
Dataset
– Subset of projected data -14/+15 years from warming level threshold
- climakitae.explore.uncertainty.grab_multimodel_data(copt, alpha_sort=False)#
Returns processed data from multiple CMIP6 models for uncertainty analysis.
Searches the CMIP6 data catalog for data from models that have specific ensemble member id in the historical and ssp370 runs. Preprocessing includes subsetting for specific location and dropping the member_id for easier analysis.
- climakitae.explore.uncertainty.weighted_temporal_mean(ds)#
weight by days in each month
Function for calculating annual averages pulled + adapted from NCAR Link: https://ncar.github.io/esds/posts/2021/yearly-averages-xarray/
- Parameters:
ds (
xarray.DataArray
)- Returns:
obs_sum / ones_out (
xarray.Dataset
)
climakitae.explore.warming module#
Helper functions for performing analyses related to global warming levels, along with backend code for building the warming levels GUI
- climakitae.explore.warming.GCM_PostageStamps_MAIN_compute(wl_viz)#
Compute helper for main postage stamps. Returns dictionary of warming levels to stats visuals.
- climakitae.explore.warming.GCM_PostageStamps_STATS_compute(wl_viz)#
Compute helper for stats postage stamps. Returns dictionary of warming levels to stats visuals.
- class climakitae.explore.warming.WarmingLevelChoose(*args, **params)#
Bases:
DataParametersWithPanes
params(anom=Selector, window=Integer, _data_warning=String, _station_data_info=String, area_average=Selector, area_subset=Selector, cached_area=ListSelector, data_type=Selector, downscaling_method=Selector, extended_description=Selector, latitude=Range, longitude=Range, resolution=Selector, scenario_historical=ListSelector, scenario_ssp=ListSelector, simulation=ListSelector, station=ListSelector, time_slice=Range, timescale=Selector, units=Selector, variable=Selector, variable_id=ListSelector, variable_type=Selector, name=String) [1;32mParameters of ‘WarmingLevelChoose’ ================================== [0m [1;31mParameters changed from their default values are marked in red.[0m [1;36mSoft bound values are marked in cyan.[0m C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None
[1;34mName Value Type Bounds Mode [0m
area_subset None Selector V RW cached_area None ListSelector V RW latitude (32.5, 42) Range (10, 67) V RW longitude (-125.5, -114) Range (-156.82317, -84.18701) V RW variable_type ‘Variable’ Selector V RW time_slice (1980, 2015) Range (1950, 2100) V RW resolution ‘9 km’ Selector V RW timescale ‘monthly’ Selector V RW scenario_historical [‘Historical Climate’] ListSelector V RW area_average ‘No’ Selector V RW downscaling_method ‘Dynamical’ Selector V RW data_type ‘Gridded’ Selector V RW station None ListSelector V RW _station_data_info ‘’ String V RW scenario_ssp None ListSelector V RW simulation None ListSelector V RW variable None Selector V RW units None Selector V RW extended_description None Selector V RW variable_id None ListSelector V RW _data_warning ‘’ String V RW window 15 Integer (5, 25) V RW anom ‘Yes’ Selector V RW
[1;32mParameter docstrings: =====================[0m
[1;34marea_subset: < No docstring available >[0m [1;31mcached_area: < No docstring available >[0m [1;34mlatitude: < No docstring available >[0m [1;31mlongitude: < No docstring available >[0m [1;34mvariable_type: Choose between variable or AE derived index[0m [1;31mtime_slice: < No docstring available >[0m [1;34mresolution: < No docstring available >[0m [1;31mtimescale: < No docstring available >[0m [1;34mscenario_historical: < No docstring available >[0m [1;31marea_average: Compute an area average?[0m [1;34mdownscaling_method: < No docstring available >[0m [1;31mdata_type: < No docstring available >[0m [1;34mstation: < No docstring available >[0m [1;31m_station_data_info: Information about the bias correction process and resolution[0m [1;34mscenario_ssp: < No docstring available >[0m [1;31msimulation: < No docstring available >[0m [1;34mvariable: < No docstring available >[0m [1;31munits: < No docstring available >[0m [1;34mextended_description: < No docstring available >[0m [1;31mvariable_id: < No docstring available >[0m [1;34m_data_warning: Warning if user has made a bad selection[0m [1;31mwindow: Years around Global Warming Level (+/-) [0m [1;31m (e.g. 15 means a 30yr window)[0m [1;34manom: Return an anomaly [0m [1;34m (difference from historical reference period)?[0m
- anom = 'Yes'#
- name = 'WarmingLevelChoose'#
- window = 15#
- class climakitae.explore.warming.WarmingLevelVisualize(gwl_snapshots, wl_params, cmap, warming_levels)#
Bases:
Parameterized
params(ssp=Selector, warmlevel=Selector, name=String) Create Warming Levels panel GUI [1;32mParameters of ‘WarmingLevelVisualize’ ===================================== [0m [1;31mParameters changed from their default values are marked in red.[0m [1;36mSoft bound values are marked in cyan.[0m C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None
[1;34mName Value Type Mode [0m
warmlevel 1.5 Selector V RW ssp ‘All’ Selector V RW
[1;32mParameter docstrings: =====================[0m
[1;34mwarmlevel: Warming level in degrees Celcius.[0m [1;31mssp: Shared Socioeconomic Pathway.[0m
- GCM_PostageStamps_MAIN()#
- GCM_PostageStamps_STATS()#
- GMT_context_plot()#
Display GMT plot using package data that updates whenever the warming level or SSP is changed by the user.
- compute_stamps()#
- hist_data = 5% Mean 95% Year 1950 -0.060030 0.252242 0.608546 1951 -0.055686 0.274715 0.525308 1952 -0.042891 0.274303 0.540725 1953 -0.020530 0.253376 0.535419 1954 -0.127657 0.246369 0.553914 ... ... ... ... 2010 0.836971 1.002620 1.280120 2011 0.842644 1.036330 1.189250 2012 0.882825 1.061300 1.240670 2013 0.913046 1.084920 1.285700 2014 0.930436 1.100040 1.331640 [65 rows x 3 columns]#
- name = 'WarmingLevelVisualize'#
- ssp = 'All'#
- ssp119_data = 5% Mean 95% Year 2015.0 1.015465 1.098807 1.187129 2016.0 1.032164 1.123234 1.219922 2017.0 1.049922 1.148856 1.253968 2018.0 1.068048 1.175205 1.289161 2019.0 1.084379 1.200604 1.324116 ... ... ... ... 2095.0 1.075387 1.399596 1.791378 2096.0 1.070570 1.395932 1.787640 2097.0 1.065703 1.392231 1.782751 2098.0 1.061259 1.388403 1.778048 2099.0 1.056233 1.384914 1.774195 [85 rows x 3 columns]#
- ssp126_data = 5% Mean 95% Year 2015 1.010286 1.099248 1.196469 2016 1.027754 1.124936 1.232381 2017 1.045768 1.151127 1.267277 2018 1.063368 1.176867 1.302330 2019 1.081301 1.202266 1.340351 ... ... ... ... 2095 1.338565 1.738994 2.330311 2096 1.333901 1.734825 2.329501 2097 1.328776 1.731581 2.328148 2098 1.324557 1.727423 2.326610 2099 1.319652 1.723633 2.324613 [85 rows x 3 columns]#
- ssp245_data = 5% Mean 95% Year 2015.0 1.011145 1.103229 1.194782 2016.0 1.029888 1.126902 1.229157 2017.0 1.047698 1.151919 1.264238 2018.0 1.064357 1.177257 1.300236 2019.0 1.081322 1.202911 1.336965 ... ... ... ... 2095.0 2.121174 2.709810 3.504371 2096.0 2.126581 2.721367 3.520522 2097.0 2.132023 2.730281 3.536066 2098.0 2.138236 2.739834 3.550991 2099.0 2.144144 2.748134 3.565741 [85 rows x 3 columns]#
- ssp370_data = 5% Mean 95% Year 2015 1.004820 1.094355 1.191357 2016 1.020226 1.117929 1.223911 2017 1.037919 1.143451 1.257962 2018 1.055631 1.169831 1.293766 2019 1.072719 1.194816 1.333081 ... ... ... ... 2095 2.959685 3.758452 4.812138 2096 2.986875 3.796472 4.867173 2097 3.014037 3.835124 4.922075 2098 3.040392 3.872383 4.975588 2099 3.066457 3.908723 5.027863 [85 rows x 3 columns]#
- ssp585_data = 5% Mean 95% Year 2015.0 1.020885 1.110088 1.214465 2016.0 1.040535 1.136830 1.251050 2017.0 1.060933 1.166139 1.289023 2018.0 1.079272 1.195275 1.329559 2019.0 1.099179 1.223858 1.373857 ... ... ... ... 2095.0 3.429178 4.548681 5.950025 2096.0 3.462596 4.596716 6.018712 2097.0 3.494458 4.644481 6.086626 2098.0 3.526018 4.689658 6.153901 2099.0 3.556016 4.734679 6.219621 [85 rows x 3 columns]#
- warmlevel = 1.5#
- class climakitae.explore.warming.WarmingLevels(**params)#
Bases:
object
A container for all of the warming levels-related functionality: - A pared-down Select panel, under “choose_data” - a “calculate” step where most of the waiting occurs - an optional “visualize” panel, as an instance of WarmingLevelVisualize - postage stamps from visualize “main” tab are accessible via “gwl_snapshots” - data sliced around gwl window retrieved from “sliced_data”
- calculate()#
- catalog_data = <xarray.DataArray ()> array(nan)#
- choose_data()#
- find_warming_slice(level, gwl_times)#
Find the warming slice data for the current level from the catalog data.
- gwl_snapshots = <xarray.DataArray ()> array(nan)#
- sliced_data = <xarray.DataArray ()> array(nan)#
- visualize()#
- climakitae.explore.warming.clean_list(data, gwl_times)#
- climakitae.explore.warming.clean_warm_data(warm_data)#
- Cleaning the warming levels data in 3 parts:
Removing simulations where this warming level is not crossed. (centered_year)
Removing timestamps at the end to account for leap years (time)
Removing simulations that go past 2100 for its warming level window (all_sims)
- climakitae.explore.warming.fit_models_and_plots(new_data, trad_data, dist_name)#
Given a xr.DataArray and a distribution name, fit the distribution to the data, and generate a plot denoting a histogram of the data and the fitted distribution to the data.
- climakitae.explore.warming.get_sliced_data(y, level, years, window=15, anom='Yes')#
Calculating warming level anomalies.
- Parameters:
y (
DataArray
) – Data to compute warming level anomolies, one simulation at a time via groupbylevel (
str
) – Warming level amountyears (
DataFrame
) – Lookup table for the date a given simulation reaches each warming level.window (
int
, optional) – Number of years to generate time window for. Default to 15 years. For example, a 15 year window would generate a window of 15 years in the past from the central warming level date, and 15 years into the future. I.e. if a warming level is reached in 2030, the window would be (2015,2045).scenario (
str
,one
of"ssp370"
,"ssp585"
,"ssp245"
) – Shared Socioeconomic Pathway. Default to SSP 3-7.0
- Returns:
anomaly_da (
DataArray
) – Warming level anomalies at all warming levels for a scenario
- climakitae.explore.warming.process_item(y)#
- climakitae.explore.warming.relabel_axis(all_sims_dim)#
- climakitae.explore.warming.warming_levels_select(self)#
An initial pared-down version of the Select panel, with fewer options exposed, to help the user select a variable and location for further warming level steps.
- climakitae.explore.warming.warming_levels_visualize(wl_viz)#
Module contents#
Contains source code for the explore tools, used to access panel GUIs for exploring several climatological topics of interest: 1. Average meteorological year 2. Thresholds 3. Global warming levels
- class climakitae.explore.AverageMetYear(*args, **params)#
Bases:
AverageMetYearParameters
params(amy_type=Selector, cmap=Selector, computation_method=Selector, reload_data=Action, tmy_computation_description=Selector, warmlevel=Selector, _data_warning=String, _station_data_info=String, area_average=Selector, area_subset=Selector, cached_area=ListSelector, data_type=Selector, downscaling_method=Selector, extended_description=Selector, latitude=Range, longitude=Range, resolution=Selector, scenario_historical=ListSelector, scenario_ssp=ListSelector, simulation=ListSelector, station=ListSelector, time_slice=Range, timescale=Selector, units=Selector, variable=Selector, variable_id=ListSelector, variable_type=Selector, name=String) Display AMY panel. [1;32mParameters of ‘AverageMetYear’ ============================== [0m [1;31mParameters changed from their default values are marked in red.[0m [1;36mSoft bound values are marked in cyan.[0m C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None
[1;34mName Value Type Bounds Mode [0m
area_subset None Selector V RW cached_area None ListSelector V RW latitude (32.5, 42) Range (10, 67) V RW longitude (-125.5, -114) Range (-156.82317, -84.18701) V RW variable_type ‘Variable’ Selector V RW time_slice (1980, 2015) Range (1950, 2100) V RW resolution ‘9 km’ Selector V RW timescale ‘monthly’ Selector V RW scenario_historical [‘Historical Climate’] ListSelector V RW area_average ‘No’ Selector V RW downscaling_method ‘Dynamical’ Selector V RW data_type ‘Gridded’ Selector V RW station None ListSelector V RW _station_data_info ‘’ String V RW scenario_ssp None ListSelector V RW simulation None ListSelector V RW variable None Selector V RW units None Selector V RW extended_description None Selector V RW variable_id None ListSelector V RW _data_warning ‘’ String V RW amy_type ‘Absolute’ Selector V RW computation_method None Selector V RW tmy_computation_description None Selector V RW cmap None Selector V RW warmlevel 1.5 Selector V RW reload_data <function AverageMetYearParameters.<l… Action V RW
[1;32mParameter docstrings: =====================[0m
[1;34marea_subset: < No docstring available >[0m [1;31mcached_area: < No docstring available >[0m [1;34mlatitude: < No docstring available >[0m [1;31mlongitude: < No docstring available >[0m [1;34mvariable_type: Choose between variable or AE derived index[0m [1;31mtime_slice: < No docstring available >[0m [1;34mresolution: < No docstring available >[0m [1;31mtimescale: < No docstring available >[0m [1;34mscenario_historical: < No docstring available >[0m [1;31marea_average: Compute an area average?[0m [1;34mdownscaling_method: < No docstring available >[0m [1;31mdata_type: < No docstring available >[0m [1;34mstation: < No docstring available >[0m [1;31m_station_data_info: Information about the bias correction process and resolution[0m [1;34mscenario_ssp: < No docstring available >[0m [1;31msimulation: < No docstring available >[0m [1;34mvariable: < No docstring available >[0m [1;31munits: < No docstring available >[0m [1;34mextended_description: < No docstring available >[0m [1;31mvariable_id: < No docstring available >[0m [1;34m_data_warning: Warning if user has made a bad selection[0m [1;31mamy_type: < No docstring available >[0m [1;34mcomputation_method: < No docstring available >[0m [1;31mtmy_computation_description: < No docstring available >[0m [1;34mcmap: < No docstring available >[0m [1;31mwarmlevel: < No docstring available >[0m [1;34mreload_data: < No docstring available >[0m
- name = 'AverageMetYear'#
- show()#
- class climakitae.explore.Thresholds(*args, **params)#
Bases:
ThresholdParameters
params(changed_loc_and_var=Boolean, changed_units=Boolean, duration1_length=Integer, duration1_type=Selector, duration2_length=Integer, duration2_type=Selector, group_length=Integer, group_type=Selector, num_timesteps=Integer, period_length=Integer, period_type=Selector, reload_data=Action, reload_plot=Action, smoothing=Selector, threshold_direction=Selector, threshold_value=Number, _data_warning=String, _station_data_info=String, area_average=Selector, area_subset=Selector, cached_area=ListSelector, data_type=Selector, downscaling_method=Selector, extended_description=Selector, latitude=Range, longitude=Range, resolution=Selector, scenario_historical=ListSelector, scenario_ssp=ListSelector, simulation=ListSelector, station=ListSelector, time_slice=Range, timescale=Selector, units=Selector, variable=Selector, variable_id=ListSelector, variable_type=Selector, name=String) Display Thresholds panel. [1;32mParameters of ‘Thresholds’ ========================== [0m [1;31mParameters changed from their default values are marked in red.[0m [1;36mSoft bound values are marked in cyan.[0m C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None
[1;34mName Value Type Bounds Mode [0m
area_subset None Selector V RW cached_area None ListSelector V RW latitude (32.5, 42) Range (10, 67) V RW longitude (-125.5, -114) Range (-156.82317, -84.18701) V RW variable_type ‘Variable’ Selector V RW time_slice (1980, 2015) Range (1950, 2100) V RW resolution ‘9 km’ Selector V RW timescale ‘monthly’ Selector V RW scenario_historical [‘Historical Climate’] ListSelector V RW area_average ‘No’ Selector V RW downscaling_method ‘Dynamical’ Selector V RW data_type ‘Gridded’ Selector V RW station None ListSelector V RW _station_data_info ‘’ String V RW scenario_ssp None ListSelector V RW simulation None ListSelector V RW variable None Selector V RW units None Selector V RW extended_description None Selector V RW variable_id None ListSelector V RW _data_warning ‘’ String V RW threshold_direction ‘above’ Selector V RW threshold_value 0 Number V RW duration1_length 1 Integer (0, None) V RW duration1_type ‘hour’ Selector V RW period_length 1 Integer (0, None) V RW period_type ‘year’ Selector V RW group_length 1 Integer (0, None) V RW group_type ‘hour’ Selector V RW duration2_length 1 Integer (0, None) V RW duration2_type ‘hour’ Selector V RW smoothing ‘None’ Selector V RW num_timesteps 10 Integer (0, None) V RW reload_plot <function ThresholdParameters.<lambda… Action V RW reload_data <function ThresholdParameters.<lambda… Action V RW changed_loc_and_var True Boolean (0, 1) V RW changed_units False Boolean (0, 1) V RW
[1;32mParameter docstrings: =====================[0m
[1;34marea_subset: < No docstring available >[0m [1;31mcached_area: < No docstring available >[0m [1;34mlatitude: < No docstring available >[0m [1;31mlongitude: < No docstring available >[0m [1;34mvariable_type: Choose between variable or AE derived index[0m [1;31mtime_slice: < No docstring available >[0m [1;34mresolution: < No docstring available >[0m [1;31mtimescale: < No docstring available >[0m [1;34mscenario_historical: < No docstring available >[0m [1;31marea_average: Compute an area average?[0m [1;34mdownscaling_method: < No docstring available >[0m [1;31mdata_type: < No docstring available >[0m [1;34mstation: < No docstring available >[0m [1;31m_station_data_info: Information about the bias correction process and resolution[0m [1;34mscenario_ssp: < No docstring available >[0m [1;31msimulation: < No docstring available >[0m [1;34mvariable: < No docstring available >[0m [1;31munits: < No docstring available >[0m [1;34mextended_description: < No docstring available >[0m [1;31mvariable_id: < No docstring available >[0m [1;34m_data_warning: Warning if user has made a bad selection[0m [1;31mthreshold_direction: < No docstring available >[0m [1;34mthreshold_value: < No docstring available >[0m [1;31mduration1_length: < No docstring available >[0m [1;34mduration1_type: < No docstring available >[0m [1;31mperiod_length: < No docstring available >[0m [1;34mperiod_type: < No docstring available >[0m [1;31mgroup_length: < No docstring available >[0m [1;34mgroup_type: < No docstring available >[0m [1;31mduration2_length: < No docstring available >[0m [1;34mduration2_type: < No docstring available >[0m [1;31msmoothing: < No docstring available >[0m [1;34mnum_timesteps: < No docstring available >[0m [1;31mreload_plot: < No docstring available >[0m [1;34mreload_data: < No docstring available >[0m [1;31mchanged_loc_and_var: < No docstring available >[0m [1;34mchanged_units: < No docstring available >[0m
- name = 'Thresholds'#
- show()#
- climakitae.explore.amy()#
- climakitae.explore.thresholds(option=1)#
- climakitae.explore.warming_levels()#