geoips.plugins.classes.output_formatters package#

Submodules#

geoips.plugins.classes.output_formatters.cogeotiff module#

Geotiff image rasterio-based output format.

class geoips.plugins.classes.output_formatters.cogeotiff.CogeotiffOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Cogeotiff Output formatter plugin class.

call(xarray_obj, area_def, product_name, output_fnames, product_name_title=None, mpl_colors_info=None, existing_image=None, cog=True)[source]#

Create standard geotiff output using rasterio.

family = 'image'#
get_geotiff_transform(area_def)[source]#

Get the appropriate GeoTIFF transform and projectio information.

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.

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.

interface = 'output_formatters'#
name = '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.classes.output_formatters.cogeotiff.PLUGIN_CLASS#

alias of CogeotiffOutputFormatterPlugin

geoips.plugins.classes.output_formatters.cogeotiff_rgba module#

Geotiff image rasterio-based output format.

class geoips.plugins.classes.output_formatters.cogeotiff_rgba.CogeotiffRgbaOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Cogeotiff Rgba Output formatter plugin class.

call(xarray_obj, area_def, product_name, output_fnames, product_name_title=None, mpl_colors_info=None, existing_image=None)[source]#

Create standard geotiff output using rasterio.

family = 'image'#
interface = 'output_formatters'#
name = 'cogeotiff_rgba'#
geoips.plugins.classes.output_formatters.cogeotiff_rgba.PLUGIN_CLASS#

alias of CogeotiffRgbaOutputFormatterPlugin

geoips.plugins.classes.output_formatters.full_disk_image module#

Full disk image matplotlib-based output format.

class geoips.plugins.classes.output_formatters.full_disk_image.FullDiskImageOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Full Disk Image Output formatter plugin class.

call(xarray_obj, area_def, 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.

family = 'image_overlay'#
interface = 'output_formatters'#
name = 'full_disk_image'#
geoips.plugins.classes.output_formatters.full_disk_image.PLUGIN_CLASS#

alias of FullDiskImageOutputFormatterPlugin

geoips.plugins.classes.output_formatters.geotiff_standard module#

Geotiff image rasterio-based output format.

class geoips.plugins.classes.output_formatters.geotiff_standard.GeotiffStandardOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Geotiff Standard Output formatter plugin class.

call(xarray_obj, area_def, product_name, output_fnames, product_name_title=None, mpl_colors_info=None, existing_image=None)[source]#

Create standard geotiff output using rasterio.

family = 'image'#
interface = 'output_formatters'#
name = 'geotiff_standard'#
geoips.plugins.classes.output_formatters.geotiff_standard.PLUGIN_CLASS#

alias of GeotiffStandardOutputFormatterPlugin

geoips.plugins.classes.output_formatters.histogram_csv module#

Produce histogram from the given dataset with specified bin size.

class geoips.plugins.classes.output_formatters.histogram_csv.HistogramCsvOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Histogram CSV Output formatter plugin class.

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

family = 'xarray_data'#
interface = 'output_formatters'#
name = 'histogram_csv'#
geoips.plugins.classes.output_formatters.histogram_csv.PLUGIN_CLASS#

alias of HistogramCsvOutputFormatterPlugin

geoips.plugins.classes.output_formatters.histogram_netcdf module#

Produce histogram from the given dataset with specified bin size.

class geoips.plugins.classes.output_formatters.histogram_netcdf.HistogramJsonOutputFormatterPlugin(module=None)[source]#

Bases: NetcdfOutputFormatterPlugin

Histogram Json Output formatter plugin class.

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

family = 'xarray_data'#
interface = 'output_formatters'#
name = 'histogram_json'#
geoips.plugins.classes.output_formatters.histogram_netcdf.PLUGIN_CLASS#

alias of HistogramJsonOutputFormatterPlugin

geoips.plugins.classes.output_formatters.imagery_annotated module#

Matplot-lib based annotated image output.

class geoips.plugins.classes.output_formatters.imagery_annotated.ImageryAnnotatedOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Imagery Annotated Output formatter plugin class.

call(xarray_obj, area_def, product_name, output_fnames, clean_fname=None, product_name_title=None, mpl_colors_info=None, hist_colorbar=False, 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, var_name=None, x_size=None, y_size=None)[source]#

Plot annotated imagery.

family = 'image_overlay'#
interface = 'output_formatters'#
name = 'imagery_annotated'#
geoips.plugins.classes.output_formatters.imagery_annotated.PLUGIN_CLASS#

alias of ImageryAnnotatedOutputFormatterPlugin

geoips.plugins.classes.output_formatters.imagery_clean module#

Matplotlib-based clean image output.

class geoips.plugins.classes.output_formatters.imagery_clean.ImageryCleanOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Imagery Clean Output formatter plugin class.

call(xarray_obj, area_def, 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.

family = 'image'#
interface = 'output_formatters'#
name = 'imagery_clean'#
geoips.plugins.classes.output_formatters.imagery_clean.PLUGIN_CLASS#

alias of ImageryCleanOutputFormatterPlugin

geoips.plugins.classes.output_formatters.imagery_windbarbs module#

Matplotlib-based windbarb annotated image output.

class geoips.plugins.classes.output_formatters.imagery_windbarbs.ImageryWindbarbOutputFormatterPlugin(module=None)[source]#

Bases: WindbarbOutputFormatterPlugin

Imagery Windbarb Output formatter plugin class.

call(xarray_obj, area_def, 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.

family = 'image_overlay'#
interface = 'output_formatters'#
name = 'imagery_windbarbs'#
geoips.plugins.classes.output_formatters.imagery_windbarbs.PLUGIN_CLASS#

alias of ImageryWindbarbOutputFormatterPlugin

geoips.plugins.classes.output_formatters.imagery_windbarbs_clean module#

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

class geoips.plugins.classes.output_formatters.imagery_windbarbs_clean.ImageryWindbarbsCleanOutputFormatterPlugin(module=None)[source]#

Bases: WindbarbOutputFormatterPlugin

Imagery Windbarbs Clean Output formatter plugin class.

call(xarray_obj, area_def, 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.

family = 'image'#
interface = 'output_formatters'#
name = 'imagery_windbarbs_clean'#
geoips.plugins.classes.output_formatters.imagery_windbarbs_clean.PLUGIN_CLASS#

alias of ImageryWindbarbsCleanOutputFormatterPlugin

geoips.plugins.classes.output_formatters.imagery_windbarbs_multi_level module#

Matplotlib-based windbarb annotated image output.

class geoips.plugins.classes.output_formatters.imagery_windbarbs_multi_level.ImageryWindbarbsMultiLevelOutputFormatterPlugin(module=None)[source]#

Bases: WindbarbOutputFormatterPlugin

Imagery Windbarbs Multi Level Output formatter plugin class.

call(xarray_obj, area_def, 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.

family = 'image_overlay'#
interface = 'output_formatters'#
name = 'imagery_windbarbs_multi_level'#
geoips.plugins.classes.output_formatters.imagery_windbarbs_multi_level.PLUGIN_CLASS#

alias of ImageryWindbarbsMultiLevelOutputFormatterPlugin

geoips.plugins.classes.output_formatters.imagery_windbarbs_multi_level_clean module#

Matplotlib-based windbarb annotated image output clean.

class geoips.plugins.classes.output_formatters.imagery_windbarbs_multi_level_clean.ImageryWindbarbsMultiLevelCleanOutputFormatterPlugin(module=None)[source]#

Bases: WindbarbOutputFormatterPlugin

Imagery Windbarbs Multi Level Clean Output formatter plugin class.

call(xarray_obj, area_def, 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, pressure_range_dict=None)[source]#

Plot clean windbarb imagery on matplotlib figure.

family = 'image'#
interface = 'output_formatters'#
name = 'imagery_windbarbs_multi_level_clean'#
geoips.plugins.classes.output_formatters.imagery_windbarbs_multi_level_clean.PLUGIN_CLASS#

alias of ImageryWindbarbsMultiLevelCleanOutputFormatterPlugin

geoips.plugins.classes.output_formatters.metadata_default module#

Default YAML metadata output format.

class geoips.plugins.classes.output_formatters.metadata_default.MetadataDefaultOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Metadata Default Output formatter plugin class.

call(xarray_obj, area_def, metadata_yaml_filename, product_filename, metadata_dir='metadata', basedir='/home/runner/geoips_outdirs/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

default_fields = ['adjustment_id', 'aid_type', 'archer_fdeck', 'bounding_box', 'clat', 'clon', 'deck_line', 'final_storm_name', 'interpolated_time', 'invest_number', 'parser_name', 'pressure', 'product_filename', 'recenter_type', 'sector_type', 'source_file_names', 'source_filename', 'source_sector_file', 'storm_basin', 'storm_name', 'storm_num', 'storm_start_datetime', 'storm_year', 'synoptic_time', 'vmax']#
family = 'standard_metadata'#
interface = 'output_formatters'#
name = '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

remove_non_default_metadata(sector_info)[source]#

Remove non default metadata from the sector_info dictionary.

Ensure we have a consistent set of metadata to include in the metadata default output, to reduce unnecessary YAML metadata output comparison changes.

geoips.plugins.classes.output_formatters.metadata_default.PLUGIN_CLASS#

alias of MetadataDefaultOutputFormatterPlugin

geoips.plugins.classes.output_formatters.metadata_tc module#

TC product YAML metadata output format.

class geoips.plugins.classes.output_formatters.metadata_tc.MetadataTcOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Metadata TC Output formatter plugin class.

call(xarray_obj, area_def, metadata_yaml_filename, product_filename, metadata_dir='metadata', basedir='/home/runner/geoips_outdirs/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

family = 'standard_metadata'#
interface = 'output_formatters'#
name = '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

update_sector_info_with_area_def_info(sector_info, area_def)[source]#

Update sector info with area_def info, for YAML metadata output.

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.

update_sector_info_with_data_attribution(sector_info, xarray_obj)[source]#

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

update_sector_info_with_data_times(sector_info, xarray_obj)[source]#

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

geoips.plugins.classes.output_formatters.metadata_tc.PLUGIN_CLASS#

alias of MetadataTcOutputFormatterPlugin

geoips.plugins.classes.output_formatters.netcdf_full module#

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

class geoips.plugins.classes.output_formatters.netcdf_full.NetcdfFullOutputFormatterPlugin(module=None)[source]#

Bases: NetcdfOutputFormatterPlugin

Netcdf Full Output formatter plugin class.

call(xarray_obj, product_names, output_fnames, clobber=False, use_compression=True, compression_kwargs=None)[source]#

Write GeoIPS style NetCDF to disk.

family = 'xarray_data'#
interface = 'output_formatters'#
name = 'netcdf_full'#
geoips.plugins.classes.output_formatters.netcdf_full.PLUGIN_CLASS#

alias of NetcdfFullOutputFormatterPlugin

geoips.plugins.classes.output_formatters.netcdf_geoips module#

Geoips style NetCDF output format.

class geoips.plugins.classes.output_formatters.netcdf_geoips.NetcdfGeoipOutputFormatterPlugin(module=None)[source]#

Bases: NetcdfOutputFormatterPlugin

Netcdf Geoip Output formatter plugin class.

call(xarray_obj, product_names, output_fnames, clobber=False, use_compression=True, compression_kwargs=None)[source]#

Write GeoIPS style NetCDF to disk.

family = 'xarray_data'#
interface = 'output_formatters'#
name = 'netcdf_geoips'#
geoips.plugins.classes.output_formatters.netcdf_geoips.PLUGIN_CLASS#

alias of NetcdfGeoipOutputFormatterPlugin

geoips.plugins.classes.output_formatters.netcdf_xarray module#

Standard xarray-based NetCDF output format.

class geoips.plugins.classes.output_formatters.netcdf_xarray.NetcdfXarrayOutputFormatterPlugin(module=None)[source]#

Bases: NetcdfOutputFormatterPlugin

Netcdf Xarray Output formatter plugin class.

call(xarray_obj, product_names, output_fnames, clobber=False, use_compression=True, compression_kwargs=None)[source]#

Write xarray-based NetCDF outputs to disk.

family = 'xarray_data'#
interface = 'output_formatters'#
make_json_friendly(value)[source]#

Return a JSON-serializable version of value.

name = 'netcdf_xarray'#
geoips.plugins.classes.output_formatters.netcdf_xarray.PLUGIN_CLASS#

alias of NetcdfXarrayOutputFormatterPlugin

geoips.plugins.classes.output_formatters.text_winds module#

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

geoips.plugins.classes.output_formatters.text_winds.PLUGIN_CLASS#

alias of TextWindOutputFormatterPlugin

class geoips.plugins.classes.output_formatters.text_winds.TextWindOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Text Wind Output formatter plugin class.

call(xarray_dict, varlist, output_fnames, append=False, overwrite=True, source_names=None)[source]#

Write text windspeed output file.

family = 'xrdict_varlist_outfnames_to_outlist'#
interface = 'output_formatters'#
name = '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.classes.output_formatters.unprojected_image module#

Matplotlib-based unprojected image output.

geoips.plugins.classes.output_formatters.unprojected_image.PLUGIN_CLASS#

alias of UnprojectedImageOutputFormatterPlugin

class geoips.plugins.classes.output_formatters.unprojected_image.UnprojectedImageOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Unprojected Image Output formatter plugin class.

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.

family = 'unprojected'#
interface = 'output_formatters'#
name = 'unprojected_image'#

geoips.plugins.classes.output_formatters.windspeed_awips2_formatter module#

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

geoips.plugins.classes.output_formatters.windspeed_awips2_formatter.PLUGIN_CLASS#

alias of WindspeedAwips2FormatterOutputFormatterPlugin

class geoips.plugins.classes.output_formatters.windspeed_awips2_formatter.WindspeedAwips2FormatterOutputFormatterPlugin(module=None)[source]#

Bases: BaseOutputFormatterPlugin

Windspeed Awips2 Formatter Output formatter plugin class.

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]

family = 'xrdict_to_outlist'#
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)

interface = 'output_formatters'#
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], …]

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

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

name = '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]

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.