You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, when optimizing well trajectories with NPV as objective funtion, the length-dependent well drilling cost is calculated by fm_well_trajectory forward job. The cost per km is provided in --config file:
wells:
- name: WELLNAME cost: COST_PER_KM
Then the calculated cost is inserted by fm_well_trajectory into the YAML input file --config to fm_npv replacing any values:
In addition fm_npv requires the standard transaction file --input (file passed between forward models, each adding information), i.e., JSON file with well names and dates at which to insert the drilling cost.
The issues with this approach are:
YAML config file for the fm_npv cannot be linked (instead of copied) with install_data in Everest config anymore since forward jobs for different realizations would be editing the same file with possibly different cost.
So far the standard was for forward model jobs to not edit users' YAML input files but only the transaction JSON file.
It's not clear which costs are per length and which are total.
There might be some cost in well_costs that will be unintentionally overwritten.
It's more natural for fm_npv to be responsible for calculating any costs instead of fm_well_trajectory which is responsible for geometric design.
One of possible solutions would be to move the drilling cost calculation to fm_npv:
fm_well_trajectory writes out well length for each well into the transaction JSON file. Field cost: COST_PER_KM is removed from the input.
fm_npv calculates the cost, a new input defining cost per length is introduced in the --config file:
Currently, when optimizing well trajectories with NPV as objective funtion, the length-dependent well drilling cost is calculated by
fm_well_trajectory
forward job. The cost per km is provided in--config
file:Then the calculated cost is inserted by
fm_well_trajectory
into the YAML input file--config
tofm_npv
replacing any values:In addition
fm_npv
requires the standard transaction file--input
(file passed between forward models, each adding information), i.e., JSON file with well names and dates at which to insert the drilling cost.The issues with this approach are:
fm_npv
cannot be linked (instead of copied) withinstall_data
in Everest config anymore since forward jobs for different realizations would be editing the same file with possibly different cost.well_costs
that will be unintentionally overwritten.fm_npv
to be responsible for calculating any costs instead offm_well_trajectory
which is responsible for geometric design.One of possible solutions would be to move the drilling cost calculation to
fm_npv
:fm_well_trajectory
writes out well length for each well into the transaction JSON file. Fieldcost: COST_PER_KM
is removed from the input.fm_npv
calculates the cost, a new input defining cost per length is introduced in the--config
file:If
value_per_km
andvalue
is specified then an error should be thrown at pydantic level. New approach would be backward compatible for thefm_npv
.The text was updated successfully, but these errors were encountered: