48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
# Time weighted corrosion rate calculation
|
|
|
|
The objective of this calculation is to derive a final representative corrosion depth growth
|
|
rate (mm/year) at each point along a pipeline using multiple In-Line Inspection (ILI) data sets,
|
|
and to predict the likely depth of metal loss by a future target date (e.g. 24 October 2023)
|
|
|
|
## Input
|
|
|
|
### Arguments
|
|
|
|
- `org_id`: as string which should be a valid `uuid` for the organization
|
|
- `project_id`: the id of the data project where the pipeline data is found
|
|
- `pipeline_id`: an `array` of `strings` which should each be a valid uuid representing a pipeline.
|
|
- `target_date`: a `string` representing the date for which the corrosion growth rate should be predicted.
|
|
|
|
Note the pipeline_id array and route_file array should be the length such that
|
|
the first entry in each array corresponds to one another.
|
|
|
|
## Creating the function on the platform
|
|
|
|
To create this function on the platform using the `cli` set up the port forwarding as shown in README.
|
|
|
|
Then run the following command to create the function.
|
|
|
|
```bash
|
|
cargo run functions create \
|
|
-f functions/acr_time_weighted \
|
|
-d "Run the time weighted corrosion rate calculation" \
|
|
-i org_id=string \
|
|
-i project_id=string \
|
|
-i target_date=string \
|
|
-i pipeline_id=array
|
|
```
|
|
|
|
## Testing the function locally
|
|
|
|
You can run and test the function locally by running
|
|
|
|
```bash
|
|
cargo run
|
|
```
|
|
|
|
Then you can check it work with `curl` as follows
|
|
|
|
```bash
|
|
curl localhost:8080 -d $(jq '. | tojson' functions/acr_time_weighted/example_input.json)
|
|
```
|