gcpy.benchmark.modules.benchmark_models_vs_sondes

Plots ozone sonde data versus data from GEOS-Chem 1 year benchmark simulations.

Functions

get_nearest_model_data_to_obs(data, lon, ...)

Returns the nearest GEOS-Chem data to an observation.

get_obs_ozone_data(file_path)

Returns the ozone sonde observations as a pandas DataFrame object.

get_ref_and_dev_model_data(ref_filepaths, ...)

Returns GEOS-Chem model ozone data.

get_seasonal_means(obs_data, ref_data, ...)

Returns seasonally averaged data for the observations and models.

get_site_coords(obs_data, obs_site_metadata, ...)

Returns the lon, lat, and surface pressure at each sonde site.

make_benchmark_models_vs_sondes_plots(...[, ...])

Creates plots of sonde data vs.

page_adjustments(fig)

Adjusts the page settings after all the subplots have been made.

plot_one_site(axes_subplot, season, ...)

Plots ozonesonde vs.

plot_the_data(obs_data, obs_site_metadata, ...)

Creates plots of model data vs.

sort_sites_by_lat(obs_data)

Returns a list of sonde sites sorted from N to S in latitude.

gcpy.benchmark.modules.benchmark_models_vs_sondes.get_ref_and_dev_model_data(ref_filepaths, dev_filepaths, varname='SpeciesConcVV_O3')[source]

Returns GEOS-Chem model ozone data.

Parameters:
  • ref_filepaths (str or list) – Path(s) to the Ref model data files.

  • dev_filepaths (str or list) – Path(s) to the Dev model data files.

  • varname (str, optional) – Variable name to read.

Returns:

  • ref_data (xr.DataArray) – Ozone data from the Ref model [ppbv].

  • dev_data (xr.DataArray) – Ozone data from the Dev model [ppbv].

gcpy.benchmark.modules.benchmark_models_vs_sondes.get_obs_ozone_data(file_path)[source]

Returns the ozone sonde observations as a pandas DataFrame object.

Parameters:

file_path (str) – Path to ozone sonde file.

Returns:

data – Sonde observations (ppbv).

Return type:

pd.DataFrame

gcpy.benchmark.modules.benchmark_models_vs_sondes.get_site_coords(obs_data, obs_site_metadata, site_name)[source]

Returns the lon, lat, and surface pressure at each sonde site.

Parameters:
  • obs_data (pd.DataFrame) – Observational data.

  • obs_site_metadata (pd.DataFrame) – Surface pressure at observation sites.

  • site_name (str) – Observation site name.

Returns:

  • lat (float) – Latitude at observation site.

  • lon (float) – Longitude at observation site.

  • p_sfc (float) – Surface pressure (hPa) at obs site.

gcpy.benchmark.modules.benchmark_models_vs_sondes.get_seasonal_means(obs_data, ref_data, dev_data, months, varname='SpeciesConcVV_O3')[source]

Returns seasonally averaged data for the observations and models.

Parameters:
  • obs_data (pd.DataFrame) – O3 observations (ppbv).

  • ref_data (pd.DataFrame) – O3 from Ref model (ppbv).

  • dev_data (pd.DataFrame) – O3 from Dev model (ppbv).

  • months (list) – Months in each season.

  • varname (str, optional) – GEOS-Chem diagnostic variable name.

Returns:

  • obs_seas_mean (pd.DataFrame) – Seasonal mean O3 observations (ppbv).

  • std_dev (pd.DataFrame) – Standard deviation in mean_obs (ppbv).

  • ref_seas_mean (pd.DataFrame) – Seasonal mean O3 from Ref (ppbv).

  • dev_seas_mean (pd.DataFrame) – Seasonal mean O3 from Dev (ppbv).

gcpy.benchmark.modules.benchmark_models_vs_sondes.get_nearest_model_data_to_obs(data, lon, lat, p_sfc, cs_grid=None)[source]

Returns the nearest GEOS-Chem data to an observation. Also inserts the GEOS-Chem pressure levels into the dataset.

Parameters:
  • data (xr.DataArray) – GEOS-Chem data.

  • lon (float) – Longitude at obs site.

  • lat (float) – Latitude at obs site.

  • p_sfc (float) – Surface pressure at obs site.

  • cs_grid (xr.Dataset or None, optional) – Cubed-sphere grid metadata.

Returns:

nearest – GEOS-Chem data nearest to the observation site, with pressure and month columns added.

Return type:

pd.DataFrame

gcpy.benchmark.modules.benchmark_models_vs_sondes.plot_one_site(axes_subplot, season, season_idx, site_idx, obs_seas_mean, std_dev, ref_label, ref_seas_mean, dev_label, dev_seas_mean)[source]

Plots ozonesonde vs. model data for all seasons at a single site (i.e. one column of a page).

Parameters:
  • axes_subplot (matplotlib.axes.Axes) – The current subplot.

  • season (str) – Name of the season.

  • season_idx (int) – Index of the current season.

  • site_idx (int) – Index of the current site.

  • obs_seas_mean (pd.Series) – Seasonal mean O3 obs (ppbv).

  • std_dev (pd.Series) – Std dev of mean_obs (ppbv).

  • ref_label (str) – Label for the Ref version.

  • ref_seas_mean (pd.Series) – Seasonal mean O3 from Ref (ppbv).

  • dev_label (str) – Label for the Dev version.

  • dev_seas_mean (pd.Series) – Seasonal mean O3 from Dev (ppbv).

gcpy.benchmark.modules.benchmark_models_vs_sondes.page_adjustments(fig)[source]

Adjusts the page settings after all the subplots have been made.

Parameters:

fig (matplotlib.figure.Figure) – Figure object.

gcpy.benchmark.modules.benchmark_models_vs_sondes.sort_sites_by_lat(obs_data)[source]

Returns a list of sonde sites sorted from N to S in latitude.

Parameters:

obs_data (pd.DataFrame) – Observations from sondes (all sites).

Returns:

site_names – Sorted list of site names N to S.

Return type:

list

gcpy.benchmark.modules.benchmark_models_vs_sondes.plot_the_data(obs_data, obs_site_metadata, ref_label, ref_data, dev_label, dev_data, dst='./benchmark', varname='SpeciesConcVV_O3')[source]

Creates plots of model data vs. ozonesonde data.

Parameters:
  • obs_data (pd.DataFrame) – Observational data.

  • obs_site_metadata (pd.DataFrame) – Surface pressure at observation sites.

  • ref_label (str) – Label for Ref model data.

  • ref_data (xr.DataArray) – Ref model data.

  • dev_label (str) – Label for Dev model data.

  • dev_data (xr.DataArray) – Dev model data.

  • dst (str, optional) – Destination folder.

  • varname (str, optional) – Name of variable to plot.

gcpy.benchmark.modules.benchmark_models_vs_sondes.make_benchmark_models_vs_sondes_plots(obs_data_file, obs_site_file, ref_filepaths, ref_label, dev_filepaths, dev_label, dst='./benchmark', overwrite=False, varname='SpeciesConcVV_O3')[source]

Creates plots of sonde data vs. GEOS-Chem output. For use in the 1-year benchmark plotting workflow.

Parameters:
  • obs_data_file (str) – File containing sonde data.

  • obs_site_file (str) – File containing sonde site metadata.

  • ref_filepaths (str or list) – Files for the GEOS-Chem Ref version.

  • ref_label (str) – GEOS-Chem Ref version label.

  • dev_filepaths (str or list) – Files for the GEOS-Chem Dev version.

  • dev_label (str) – GEOS-Chem Dev version label.

  • dst (str, optional) – Folder where PDF w/ plots will be created.

  • overwrite (bool, optional) – Overwrite contents of dst folder?

  • varname (str, optional) – GEOS-Chem diagnostic variable name.