geoips.plugins.modules.output_formatters package#

Submodules#

geoips.plugins.modules.output_formatters.cogeotiff module#

Geotiff image rasterio-based output format.

geoips.plugins.modules.output_formatters.cogeotiff.call(area_def, xarray_obj, product_name, output_fnames, product_name_title=None, mpl_colors_info=None, existing_image=None, cog=True)[source]#

Create standard geotiff output using rasterio.

geoips.plugins.modules.output_formatters.cogeotiff.get_geotiff_transform(area_def)[source]#

Get the appropriate GeoTIFF transform and projectio information.

geoips.plugins.modules.output_formatters.cogeotiff.get_rasterio_cmap_dict(mpl_cmap, scale_data_min=1, scale_data_max=255, missing_value=0)[source]#

Get rasterio cmap dict, with vals between scale_data_min and scale_data_max.

geoips.plugins.modules.output_formatters.cogeotiff.get_scales_and_offsets(bands, requested_data_min, requested_data_max, scale_data_min, scale_data_max)[source]#

Get scale and offset information from dataset.

These values are written to the geotiff file metadata in order to use for retrieving quantitative values from the scaled data when rendering.

geoips.plugins.modules.output_formatters.cogeotiff.scale_geotiff_data(plot_data, mpl_colors_info, scale_data_min=1, scale_data_max=255, missing_value=0)[source]#

Scale geotiff data between scale_data_min and scale_data_max.

geoips.plugins.modules.output_formatters.cogeotiff_rgba module#

Geotiff image rasterio-based output format.

geoips.plugins.modules.output_formatters.cogeotiff_rgba.call(area_def, xarray_obj, product_name, output_fnames, product_name_title=None, mpl_colors_info=None, existing_image=None)[source]#

Create standard geotiff output using rasterio.

geoips.plugins.modules.output_formatters.full_disk_image module#

Full disk image matplotlib-based output format.

geoips.plugins.modules.output_formatters.full_disk_image.call(area_def, xarray_obj, product_name, output_fnames, clean_fname=None, product_name_title=None, mpl_colors_info=None, feature_annotator=None, gridline_annotator=None, product_datatype_title=None, bg_data=None, bg_mpl_colors_info=None, bg_xarray=None, bg_product_name_title=None, bg_datatype_title=None, remove_duplicate_minrange=None)[source]#

Plot full disk image.

geoips.plugins.modules.output_formatters.geotiff_standard module#

Geotiff image rasterio-based output format.

geoips.plugins.modules.output_formatters.geotiff_standard.call(area_def, xarray_obj, product_name, output_fnames, product_name_title=None, mpl_colors_info=None, existing_image=None)[source]#

Create standard geotiff output using rasterio.

geoips.plugins.modules.output_formatters.histogram_csv module#

Produce histogram from the given dataset with specified bin size.

geoips.plugins.modules.output_formatters.histogram_csv.call(xarray_obj, product_names, output_fnames, min_val=None, max_val=None, num_bins=501)[source]#

Produce histogram.

Parameters:

xarray_obj (xarray Dataset) –

Returns:

Resulting histogram

Return type:

xarray.Dataset

geoips.plugins.modules.output_formatters.histogram_netcdf module#

Produce histogram from the given dataset with specified bin size.

geoips.plugins.modules.output_formatters.histogram_netcdf.call(xarray_obj, product_names, output_fnames, min_val=None, max_val=None, num_bins=501)[source]#

Produce histogram.

Parameters:

xarray_obj (xarray Dataset) –

Returns:

Resulting histogram

Return type:

xarray.Dataset

geoips.plugins.modules.output_formatters.imagery_annotated module#

Matplot-lib based annotated image output.

geoips.plugins.modules.output_formatters.imagery_annotated.call(area_def, xarray_obj, product_name, output_fnames, clean_fname=None, product_name_title=None, mpl_colors_info=None, feature_annotator=None, gridline_annotator=None, product_datatype_title=None, bg_data=None, bg_mpl_colors_info=None, bg_xarray=None, bg_product_name_title=None, bg_datatype_title=None, remove_duplicate_minrange=None, title_copyright=None, title_formatter=None, output_dict=None)[source]#

Plot annotated imagery.

geoips.plugins.modules.output_formatters.imagery_clean module#

Matplotlib-based clean image output.

geoips.plugins.modules.output_formatters.imagery_clean.call(area_def, xarray_obj, product_name, output_fnames, product_name_title=None, mpl_colors_info=None, existing_image=None, remove_duplicate_minrange=None, fig=None, main_ax=None, mapobj=None)[source]#

Plot clean image on matplotlib figure.

geoips.plugins.modules.output_formatters.imagery_windbarbs module#

Matplotlib-based windbarb annotated image output.

geoips.plugins.modules.output_formatters.imagery_windbarbs.call(area_def, xarray_obj, product_name, output_fnames, clean_fname=None, product_name_title=None, mpl_colors_info=None, feature_annotator=None, gridline_annotator=None, product_datatype_title=None, bg_data=None, bg_mpl_colors_info=None, bg_xarray=None, bg_product_name_title=None, bg_datatype_title=None, remove_duplicate_minrange=None, title_copyright=None, title_formatter=None)[source]#

Plot annotated windbarbs on matplotlib figure.

geoips.plugins.modules.output_formatters.imagery_windbarbs.format_windbarb_data(xarray_obj, product_name)[source]#

Format windbarb data before plotting.

geoips.plugins.modules.output_formatters.imagery_windbarbs.output_clean_windbarbs(area_def, clean_fnames, mpl_colors_info, image_datetime, formatted_data_dict, fig=None, main_ax=None, mapobj=None, barb_color_variable='speed')[source]#

Plot and save “clean” windbarb imagery.

No background imagery, coastlines, gridlines, titles, etc.

Returns:

Full paths to all resulting output files.

Return type:

list of str

geoips.plugins.modules.output_formatters.imagery_windbarbs.plot_barbs(main_ax, mapobj, mpl_colors_info, formatted_data_dict, barb_color_variable='speed')[source]#

Plot windbarbs on matplotlib figure.

geoips.plugins.modules.output_formatters.imagery_windbarbs_clean module#

Matplotlib-based windbarb clean image output (no overlays or backgrounds).

geoips.plugins.modules.output_formatters.imagery_windbarbs_clean.call(area_def, xarray_obj, product_name, output_fnames, product_name_title=None, mpl_colors_info=None, existing_image=None, remove_duplicate_minrange=None, fig=None, main_ax=None, mapobj=None)[source]#

Plot clean windbarb imagery on matplotlib figure.

geoips.plugins.modules.output_formatters.imagery_windbarbs_multi_level module#

Matplotlib-based windbarb annotated image output.

geoips.plugins.modules.output_formatters.imagery_windbarbs_multi_level.assign_height_levels(windbarb_data_dict, pressure_range_dict)[source]#

Assing derived motion winds to specified height levels.

Using the pressure associated with each retrieved wind observation, assign to a specified level (e.g. Low/Mid/High) based on predefined pressure ranges. Each pressure level is assigned an integer, and any unassigned are set to 0

Parameters:
  • formatted_data_dict (dict) – Dictionary holding DMW data - must include a pressure key

  • pressure_range_dict (dict) – Dictionary specifying pressure range for each defined level. e.g. {“Low”: [701, 1013.25], “Mid”: [401, 700], “High”: [0, 400]}

Returns:

Array of assigned level numbers, and list of associated labels that can be used to set the ticks on a colorbar

Return type:

tuple

geoips.plugins.modules.output_formatters.imagery_windbarbs_multi_level.call(area_def, xarray_obj, product_name, output_fnames, clean_fname=None, product_name_title=None, mpl_colors_info=None, feature_annotator=None, gridline_annotator=None, product_datatype_title=None, bg_data=None, bg_mpl_colors_info=None, bg_xarray=None, bg_product_name_title=None, bg_datatype_title=None, remove_duplicate_minrange=None, title_copyright=None, title_formatter=None, pressure_range_dict=None)[source]#

Plot annotated windbarbs on matplotlib figure.

geoips.plugins.modules.output_formatters.metadata_default module#

Default YAML metadata output format.

geoips.plugins.modules.output_formatters.metadata_default.call(area_def, xarray_obj, metadata_yaml_filename, product_filename, metadata_dir='metadata', basedir='preprocessed/tcwww', output_dict=None, include_metadata_filename=False)[source]#

Produce metadata yaml file of sector info associated with final_product.

Parameters:
  • area_def (AreaDefinition) – Pyresample AreaDefintion object

  • final_product (str) – Product that is associated with the passed area_def

  • metadata_dir (str, default='metadata') – Subdirectory name for metadata (using non-default allows for non-operational outputs)

Returns:

Metadata yaml filename, if one was produced.

Return type:

str

geoips.plugins.modules.output_formatters.metadata_default.output_metadata_yaml(metadata_fname, area_def, xarray_obj, product_filename=None, output_dict=None, include_metadata_filename=False)[source]#

Write out yaml file “metadata_fname” of sector info found in “area_def”.

Parameters:
  • metadata_fname (str) – Path to output metadata_fname

  • area_def (AreaDefinition) – Pyresample AreaDefinition of sector information

  • xarray_obj (xarray.Dataset) – xarray Dataset object that was used to produce product

  • productname (str) – Full path to full product filename that this YAML file refers to

Returns:

Path to metadata filename if successfully produced.

Return type:

str

geoips.plugins.modules.output_formatters.metadata_default.update_sector_info_with_default_metadata(area_def, xarray_obj, product_filename=None, metadata_filename=None)[source]#

Update sector info found in “area_def” with standard metadata output.

Parameters:
  • area_def (AreaDefinition) – Pyresample AreaDefinition of sector information

  • xarray_obj (xarray.Dataset) – xarray Dataset object that was used to produce product

  • product_filename (str) – Full path to full product filename that this YAML file refers to

Returns:

sector_info dict with standard metadata added
  • bounding box

  • product filename with wildcards

  • basename of original source filenames

Return type:

dict

geoips.plugins.modules.output_formatters.metadata_tc module#

TC product YAML metadata output format.

geoips.plugins.modules.output_formatters.metadata_tc.call(area_def, xarray_obj, metadata_yaml_filename, product_filename, metadata_dir='metadata', basedir='preprocessed/tcwww', output_dict=None, metadata_fname_dict=None, output_fname_dict=None)[source]#

Produce metadata yaml file of sector info associated with final_product.

Parameters:
  • area_def (AreaDefinition) – Pyresample AreaDefintion object

  • final_product (str) – Product that is associated with the passed area_def

  • metadata_dir (str, default="metadata") – Subdirectory name for metadata (using non-default allows for non-operational outputs)

Returns:

Metadata yaml filename, if one was produced.

Return type:

str

geoips.plugins.modules.output_formatters.metadata_tc.output_tc_metadata_yaml(metadata_fname, area_def, xarray_obj, product_filename=None, output_dict=None, metadata_fname_dict=None, output_fname_dict=None)[source]#

Write out yaml file “metadata_fname” of sector info found in “area_def”.

Parameters:
  • metadata_fname (str) – Path to output metadata_fname

  • area_def (AreaDefinition) – Pyresample AreaDefinition of sector information

  • xarray_obj (xarray.Dataset) – xarray Dataset object that was used to produce product

  • productname (str) – Full path to full product filename that this YAML file refers to

Returns:

Path to metadata filename if successfully produced.

Return type:

str

geoips.plugins.modules.output_formatters.metadata_tc.update_sector_info_with_coverage(sector_info, product_name, xarray_obj, area_def, output_dict)[source]#

Update sector info with coverage, for YAML metadata output.

geoips.plugins.modules.output_formatters.metadata_tc.update_sector_info_with_data_times(sector_info, xarray_obj)[source]#

Update sector info with data times, for YAML metadata output.

geoips.plugins.modules.output_formatters.netcdf_full module#

Full NetCDF output format, writing out all channels in full dataset.

geoips.plugins.modules.output_formatters.netcdf_full.call(xarray_obj, product_names, output_fnames, clobber=False)[source]#

Write GeoIPS style NetCDF to disk.

geoips.plugins.modules.output_formatters.netcdf_geoips module#

Geoips style NetCDF output format.

geoips.plugins.modules.output_formatters.netcdf_geoips.call(xarray_obj, product_names, output_fnames, clobber=False)[source]#

Write GeoIPS style NetCDF to disk.

geoips.plugins.modules.output_formatters.netcdf_xarray module#

Standard xarray-based NetCDF output format.

geoips.plugins.modules.output_formatters.netcdf_xarray.call(xarray_obj, product_names, output_fnames, clobber=False)[source]#

Write xarray-based NetCDF outputs to disk.

geoips.plugins.modules.output_formatters.netcdf_xarray.write_xarray_netcdf(xarray_obj, ncdf_fname, clobber=False)[source]#

Write out xarray_obj to netcdf file named ncdf_fname.

geoips.plugins.modules.output_formatters.text_winds module#

Routines for outputting formatted text wind speed and vector data files.

geoips.plugins.modules.output_formatters.text_winds.call(xarray_dict, varlist, output_fnames, append=False, overwrite=True, source_names=None)[source]#

Write text windspeed output file.

geoips.plugins.modules.output_formatters.text_winds.write_text_winds(xarray_obj, varlist, output_fnames, append=False, overwrite=True, source_names=None)[source]#

Write out TC formatted text file of wind speeds.

Parameters:
  • text_fname (str) – String full path to output filename

  • speed_array (ndarray) – array of windspeeds

  • time_array (ndarray) – array of POSIX time stamps same length as speed_array

  • lon_array (ndarray) – array of longitudes of same length as speed_array

  • lat_array (ndarray) – array of latitudes of same length as speed_array

  • platform_name (str) – String platform name

geoips.plugins.modules.output_formatters.unprojected_image module#

Matplotlib-based unprojected image output.

geoips.plugins.modules.output_formatters.unprojected_image.call(xarray_obj, product_name, output_fnames, product_name_title=None, mpl_colors_info=None, x_size=None, y_size=None, savefig_kwargs=None, is_3d=False)[source]#

Plot unprojected image to matplotlib figure.

geoips.plugins.modules.output_formatters.windspeed_awips2_formatter module#

Routines for writing SMAP or SMOS windspeed data in AWIPS2 compatible format.

geoips.plugins.modules.output_formatters.windspeed_awips2_formatter.call(xarray_dict, working_directory='')[source]#

Write AWIPS2 compatible NetCDF files from SMAP or SMOS windspeed data.

Parameters:
  • xarray_dict (Dict[str, xarray.Dataset]) –

  • working_directory (str) –

Return type:

List[str]

geoips.plugins.modules.output_formatters.windspeed_awips2_formatter.get_min_max_times_from_two_nodes(ascending_nodes: Dataset | DataArray, descending_nodes: Dataset | DataArray, varname: str)[source]#

Find the minimum and maximum time values from two xarray objects.

Parameters:
  • ascending_nodes (xarray.Dataset or xarray.DataArray) –

  • descending_nodes (xarray.Dataset or xarray.DataArray) –

  • varname (Timestamp variable name from which to extract the min/max values) –

Returns:

  • mintime (datetime.datetime)

  • maxtime (datetime.datetime)

geoips.plugins.modules.output_formatters.windspeed_awips2_formatter.make_smap_data_mask(times, split_start, split_end)[source]#

Create a mask for only the valid times between the defined start and end.

Parameters:
  • times (xarray.Dataset) –

  • split_start (datetime.datetime) –

  • split_end (datetime.datetime) –

Return type:

tuple[NDArray[intp], …]

geoips.plugins.modules.output_formatters.windspeed_awips2_formatter.make_smap_dataset(lat: DataArray, lon: DataArray, new_smap_data: ndarray, timestamp_data: ndarray, acquisition_time: str)[source]#

Create an xarray.Dataset with the final SMAP data.

Parameters:
  • lat (xarray.Dataset or xarray.DataArray) –

  • lon (xarray.Dataset or xarray.DataArray) –

  • new_smap_data (np.ndarray with the smap windspeeds) –

  • timestamp_data (np.ndarray with valid timestamps) –

  • acquisition_time (str datetime formatted for AWIPS2) –

Returns:

new_dataset

Return type:

xarray.Dataset

geoips.plugins.modules.output_formatters.windspeed_awips2_formatter.make_smos_dataset(lat, lon, smos_data, timestamp_data)[source]#

Create an xarray.Dataset with the final SMOS data.

Parameters:
  • lat (xarray.Dataset or xarray.DataArray) –

  • lon (xarray.Dataset or xarray.DataArray) –

  • smos_data (np.ndarray with the smos windspeeds) –

  • timestamp_data (np.ndarray with valid timestamps) –

  • acquisition_time (str datetime formatted for AWIPS2) –

Returns:

new_dataset

Return type:

xarray.Dataset

geoips.plugins.modules.output_formatters.windspeed_awips2_formatter.write_smap_awips2(xarray_dict, working_dir, utc_date_format)[source]#

Write AWIPS2 style NetCDF file containing SMAP data to the disk.

Parameters:
  • xarray_dict (dict[str, xarray.Dataset]) –

  • working_dir (Path) –

  • utc_date_format (str) –

Return type:

List[str]

geoips.plugins.modules.output_formatters.windspeed_awips2_formatter.write_smos_awips2(xarray_dict, working_dir, utc_date_format)[source]#

Write AWIPS2 style NetCDF file containing SMOS data to the disk.

Parameters:
  • xarray_dict (dict[str, xarray.Dataset]) –

  • working_dir (Path) –

  • utc_date_format (str) –

Return type:

List[str]

Module contents#

Geoips output formatter init file.