subroutine TD_WellGeoConfiguration Use TD_DrillStemComponents Use TD_WellElements Use TD_WellGeometry Use TD_GeneralData Use sROP_Variables Use CDataDisplayConsoleVariables Use CWarningsVariables implicit none !==================================================== ! Well Geometry Data Modification !==================================================== !=====> ROP Calculation if ( TD_DrillStems(1)%ComponentType==0 .and. Warmings%MaximumWellDepthExceeded==.false. ) then Call ROP_MainCalculation else ROP_Bit%RateOfPenetration = 0.d0 Call Set_ROP(ROP_Bit%RateOfPenetration) end if !=====> ROPHole Data correction TD_WellEl%ROP = (ROP_Bit%RateOfPenetration/3600.d0) ! [ft/s] TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%VerticalDepth = TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%VerticalDepth++((TD_WellEl%ROP*TD_General%TimeStep)*cos(TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%StartAngle)) TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%IntervalLength = TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%IntervalLength+(TD_WellEl%ROP*TD_General%TimeStep) !????????check TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%DownDepth = TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%TopDepth+TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%IntervalLength !=====> Well Total Length Calculation TD_WellGeneral%WellTotalLength = TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%DownDepth TD_WellGeneral%WellTotalVerticalLength = TD_WellGeneral%WellTotalVerticalLength+((TD_WellEl%ROP*TD_General%TimeStep)*cos(TD_WellGeo(TD_WellGeneral%WellIntervalsCount)%StartAngle)) Call Set_TotalDepth(real(TD_WellGeneral%WellTotalLength,8)) end subroutine