API Reference

Core Modules

exception main.TimeoutException[source]

Bases: Exception

class main.ViewerApp[source]

Bases: object

get_metadata_summary()[source]
run()[source]
setup_callbacks()[source]
setup_help_modal_callback()[source]
setup_variable_metadata_callback()[source]
update_variable_dropdown()[source]

Data Loading and Processing

class data.DataManager(app, dataset_getter)[source]

Bases: object

Unified data management class that handles subsetting, statistics, and plotting. This consolidates the previously scattered functionality into a clean, simple API.

create_raster_image(data_array, variable_name, lat_dim, lon_dim)[source]

Create a raster image from the data array and save it

setup_callbacks()[source]

Setup all data-related callbacks in one place

class data.DataPlot(app, data_array, dimension_selection, dataseturl_getter, dataset_engine_getter)[source]

Bases: object

Legacy class - use DataManager instead

setup_callbacks()[source]
class data.DataQuickStats(app, ds_getter, dataseturl_getter, dataset_engine_getter)[source]

Bases: object

Legacy class - use DataManager instead

setup_callbacks()[source]
class data.DataSubsetter(dataset)[source]

Bases: object

Legacy class - use DataManager instead

subset_data(selected_var, user_selection, compute=True)[source]
class data.DatasetLoader[source]

Bases: object

Handles dataset loading with multiple backends and error handling

clear_logs()[source]

Clear the log output buffer

get_logs()[source]

Get the current log output

load_dataset(url, backend='xarray', engine='auto', **kwargs)[source]

Load dataset with specified backend and engine

Parameters:
  • url – Dataset URL or path

  • backend – Backend to use (‘xarray’, ‘copernicusmarine’, etc.)

  • engine – Engine to use with the backend

  • **kwargs – Additional arguments passed to the dataset loader

setup_logging()[source]

Setup logging to capture output

Variable and Dimension Handling

class variables.VariableSelection(app, ds_getter)[source]

Bases: object

setup_callbacks()[source]
class dimension.DimensionSelection(app, ds_getter)[source]

Bases: object

create_dropdown(ds, dim, selected_var)[source]
create_range_slider(ds, dim, selected_var)[source]
generate_dimension_checklist(ds, selected_var)[source]
generate_dimension_controls(ds, selected_dims, selected_var)[source]
setup_callbacks()[source]

Main Application Class

The main application class ViewerApp provides the following key methods:

  • setup_layout(): Creates the main application layout

  • setup_callbacks(): Sets up all interactive callbacks

  • load_dataset(): Handles dataset loading with error handling

  • run(): Starts the Dash application server

For detailed implementation, see the source code in src/main.py.