Introduction
Today’s topic is about assets in Corva. Assets can mean many things to different companies. In order to better develop, test, deploy and maintain apps in Corva’s Dev Center and platform, it would benefit you to better understand what assets are, where to find them and how they are used in Corva in the development and testing of applications.
An asset in Corva is required for a Front End application to render on a dashboard and a Back End stream or scheduled application to invoke in order to execute CRUD (create, read, update, delete) operations and/or logic.
There are two types of companies in Corva:
E&P Companies (Operators): A company that is an Operator, is a company that owns the upstream data that is generated from drilling and completion operations.
Service Companies (Partners): A company that is a Service Company, is a company that is developing applications to market to Operators. A Service Company may own proprietary data that is generated from a specific upstream service that is provided to an Operator.
Companies that are created in Corva but do not have assets with actual data, will not be able to use Corva applications. Service Companies (Partners) in Corva will need placeholder data for assets that are created and relevant data uploaded in order to test and develop applications.
What are Corva assets?
Functional Assets - A functional asset is a well. A functional asset differentiates itself from non-functional assets because it has metadata.
Well - A well is a functional asset and is the lowest level on the asset tier. Everything ties back to a well. Each well has its own unique identifier.
Non-functional Assets - A non-functional asset is an asset in Corva that does not have metadata. A non-functional asset will have a relationship with a functional asset.
Program - A program is the second highest level of the asset tier. A program can describe a field development area or campaign e.g. Permian, Guyana. Each program has its own unique identifier.
Pad - A pad is then next level on the asset tier. A pad can include a single asset or multiple assets e.g. well 1, well 2. Each pad has its own unique identifier.
Corva functional and non-functional assets are structured as a tier of assets.
Tier of assets
Non-functional Working Unit Asset - A non-functional working unit asset is an asset that is assigned to a well, pad and program. Corva defines non-functional working unit assets as the following:
Rig - A rig is a drilling rig with auxiliary equipment that drills and constructs the well.
Frac Fleet - A frac fleet is a fleet of high pressure pump trucks and auxiliary equipment
that perform fracture stimulation operations after the drilling operations are complete.
Drillout Units - A drillout unit is a coil tubing unit and auxiliary equipment that drills out frac isolation plugs and cleans out the wellbore of debris and proppant after the fracture stimulation operations are complete.
Where are Corva assets located?
Corva Platform: Corva assets are located in the assets section of the Corva platform. The assets section can be accessed by clicking on the Assets
button located in the navigation list at the top of the page.
Assets location
Corva API: Corva assets can be accessed via API by utilizing the Corva API Swagger documentation.
Corva API swagger documentation
How are assets used in Corva?
Front End: In order for a Front End application to be added to a Completion or Drilling dashboard, a frac fleet or a drilling rig must be selected. When a frac fleet or drilling rig is selected, the Corva API is used to determine the associated program, pad and well(s). Once the associated well(s) is determined, the well(s)’s unique identifier, asset_id, is used for querying Corva’s collections for the desired data.
In order for a Front End application to be added to an asset dashboard, a frac fleet or drilling rig is not required because the user is already at the asset level. When the application is at the asset level, the well(s)’s unique identifier, asset_id, is already available for querying Corva’s collections.
Back End: In order for a Back End application, stream or scheduled, to be invoked, the application must be added to an asset and the asset must have a status of “Active”. Task apps do not need to be added to an asset.
Developing with assets: Back End stream and schedule apps typically communicate with Front End apps by storing an asset_id in the index of a dataset record. The Front End app will use the asset_id of the drilling or completion or asset dashboard that it is assigned in order to query the records of a dataset. This is how data flows from a Back End app to a Front End app.
Data flow from Back End to Front End app