5.3.7.1. gemini_application.reportgenerator.reportgenerator

PDF report generation for well performance analysis and monitoring data.

Classes

ReportGenerator()

Class for generating reports.

class gemini_application.reportgenerator.reportgenerator.ReportGenerator[source]

Bases: ApplicationAbstract

Class for generating reports.

The class retrieves data from the database and generates a report in pdf format.

Initialize report generator.

add_X_Y_plot_to_pdf(x_data, y_data)[source]

Add X-Y plot to PDF.

add_cross_plot(units, tagnames, plot_type)[source]

Add cross plot to PDF.

add_cross_plot_with_skin_lines(units, tagnames, inputs)[source]

Add cross plot with skin lines to PDF.

add_esp_report(esps, options)[source]

Add ESP report to PDF.

add_injection_report(inj_wells, tagnames)[source]

Add injection report to PDF.

add_nlog_data(LicenseHolder, NlogPeriod, df_prod, df_inj, table3_df)[source]

Load the NLOG EXCEL template and writes the data.

add_nlog_report(LicenseHolder, NlogPeriod, inj_wells, prod_wells, esps, hexs, prod_table_tagnames, inj_table_tagnames, esp_tagnames, hex_tagnames)[source]

Prepare NLOG report data and return Excel file as BytesIO.

add_production_report(prod_wells, tagnames)[source]

Add production report to PDF.

add_stats_plot(inj_wells, prod_wells)[source]

Add statistics plot to PDF.

add_stats_table(inj_wells, prod_wells)[source]

Add statistics table to PDF.

add_text_section_page(user_text, section_title='User Input Section')[source]

Include the text section as a page.

add_timeseries_plot_to_pdf(data, timestamps, xlabel, ylabel, title)[source]

Add timeseries plot to PDF.

add_title_page()[source]

Add title page to PDF.

calculate()[source]

Calculate report data.

calculate_esp_operational_hours_and_kwh(esp_data)[source]

Calculate the total number of operational hours and the total power consumption.

calculate_total_heat_extracted_MJ(hex_data)[source]

Calculate the total heat extracted from heat exchanger measured data.

calculate_total_volume(timestamps, flow_rates)[source]

Calculate total volume from timestamps and flow rates.

compute_skin_lines(inputs, flow_array, skin_array)[source]

Compute skin lines for plot.

convert_numeric_values(inputs)[source]

Convert numeric values in inputs.

export_pdf()[source]

Export PDF report.

format_value(val)[source]

Change the format of a value.

gather_stats(well_names, tagnames)[source]

Gather statistics for wells.

get_clean_list(value_list)[source]

Get clean list from value list.

get_data(tagname)[source]

Get data for given tagname.

get_esps()[source]

Get ESP data.

get_hexs()[source]

Get HEX data.

get_injection_wells()[source]

Get injection wells data.

get_production_wells()[source]

Get production wells data.

get_unit_data(units, table_tagnames, use_plant_units_fallback=False)[source]

Retrieve data for given units and tagnames from database.

get_units(tagname)[source]

Get units for given tagname.

init_parameters(**kwargs)[source]

Initialize parameters.

initialize_pdf_object()[source]

Initialize PDF object.

weighted_average_value_with_volume(values, timestamps, volume_intervals)[source]

Calculate the volume-weighted average of a value over time.

wrap_text(text, max_chars_per_line=90)[source]

Change line in text output.