Class TiebackReport
java.lang.Object
neqsim.process.fielddevelopment.tieback.TiebackReport
- All Implemented Interfaces:
Serializable
Report containing tieback analysis results for a discovery.
The TiebackReport aggregates all evaluated tieback options and provides methods for:
- Accessing ranked options (best NPV first)
- Filtering by feasibility
- Comparing options
- Generating summary text
Example Usage
TiebackAnalyzer analyzer = new TiebackAnalyzer();
TiebackReport report = analyzer.analyze(discovery, hosts, 61.5, 2.3);
// Get best option
TiebackOption best = report.getBestOption();
// Get all feasible options
List<TiebackOption> feasible = report.getFeasibleOptions();
// Print summary
System.out.println(report.getSummary());
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleDiscovery latitude.private doubleDiscovery longitude.private StringDiscovery name.private List<TiebackOption> All evaluated options (sorted by NPV, best first).private static final long -
Constructor Summary
ConstructorsConstructorDescriptionTiebackReport(String discoveryName, List<TiebackOption> options, double discoveryLatitude, double discoveryLongitude) Creates a new tieback report. -
Method Summary
Modifier and TypeMethodDescriptioncompareOptions(String host1, String host2) Compares two options.Gets the best feasible option.Gets the best option by NPV.double[]Gets the CAPEX range across all feasible options.doubleGets the discovery latitude.doubleGets the discovery longitude.Gets the discovery name.intGets the number of feasible options.Gets all feasible options.double[]Gets the NPV range across all feasible options.getOptionByHost(String hostName) Gets an option by host name.intGets the number of options.Gets all options.intGets the number of profitable options.Gets options with positive NPV.Gets a recommendation based on the analysis.Gets a short summary suitable for logging.Gets a summary of the tieback analysis.booleanChecks if any feasible option exists.booleanChecks if any profitable option exists.private static StringrepeatChar(char c, int n) Repeats a character n times (Java 8 compatible).toCsv()Gets a CSV representation of all options.Gets a markdown table representation.toString()private static StringTruncates a string to the specified length.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
discoveryName
Discovery name. -
options
All evaluated options (sorted by NPV, best first). -
discoveryLatitude
private double discoveryLatitudeDiscovery latitude. -
discoveryLongitude
private double discoveryLongitudeDiscovery longitude.
-
-
Constructor Details
-
TiebackReport
public TiebackReport(String discoveryName, List<TiebackOption> options, double discoveryLatitude, double discoveryLongitude) Creates a new tieback report.- Parameters:
discoveryName- name of the discoveryoptions- list of evaluated options (will be sorted by NPV)discoveryLatitude- discovery latitudediscoveryLongitude- discovery longitude
-
-
Method Details
-
getBestOption
Gets the best option by NPV.- Returns:
- the option with highest NPV, or null if no options
-
getBestFeasibleOption
Gets the best feasible option.- Returns:
- the feasible option with highest NPV, or null if none feasible
-
getFeasibleOptions
Gets all feasible options.- Returns:
- list of feasible options, sorted by NPV
-
getProfitableOptions
Gets options with positive NPV.- Returns:
- list of options with NPV > 0
-
getOptionCount
public int getOptionCount()Gets the number of options.- Returns:
- number of options evaluated
-
getFeasibleOptionCount
public int getFeasibleOptionCount()Gets the number of feasible options.- Returns:
- number of feasible options
-
getProfitableOptionCount
public int getProfitableOptionCount()Gets the number of profitable options.- Returns:
- number of options with NPV > 0
-
hasFeasibleOption
public boolean hasFeasibleOption()Checks if any feasible option exists.- Returns:
- true if at least one option is feasible
-
hasProfitableOption
public boolean hasProfitableOption()Checks if any profitable option exists.- Returns:
- true if at least one option has NPV > 0
-
getOptionByHost
Gets an option by host name.- Parameters:
hostName- name of the host facility- Returns:
- the option, or null if not found
-
getNpvRange
public double[] getNpvRange()Gets the NPV range across all feasible options.- Returns:
- array with [min NPV, max NPV] in MUSD
-
getCapexRange
public double[] getCapexRange()Gets the CAPEX range across all feasible options.- Returns:
- array with [min CAPEX, max CAPEX] in MUSD
-
compareOptions
-
getSummary
-
getShortSummary
Gets a short summary suitable for logging.- Returns:
- single-line summary
-
getRecommendation
Gets a recommendation based on the analysis.- Returns:
- recommendation text
-
toCsv
-
toMarkdownTable
-
getDiscoveryName
-
getOptions
Gets all options.- Returns:
- list of all options (sorted by NPV)
-
getDiscoveryLatitude
public double getDiscoveryLatitude()Gets the discovery latitude.- Returns:
- latitude in degrees
-
getDiscoveryLongitude
public double getDiscoveryLongitude()Gets the discovery longitude.- Returns:
- longitude in degrees
-
truncate
-
repeatChar
Repeats a character n times (Java 8 compatible).- Parameters:
c- character to repeatn- number of times- Returns:
- string with character repeated n times
-
toString
-