Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CWellSurveyData.f90 1.4 KiB

1 year ago
1 year ago
1 year ago
1 year ago
12345678910111213141516171819202122232425262728293031323334
  1. module CWellSurveyData
  2. use CWellSurveyDataVariables
  3. implicit none
  4. public
  5. contains
  6. integer function SetSurveyData(count, array)
  7. !DEC$ ATTRIBUTES DLLEXPORT::SetSurveyData
  8. !DEC$ ATTRIBUTES ALIAS: 'SetSurveyData' :: SetSurveyData
  9. implicit none
  10. integer, intent(in) :: count
  11. integer :: i
  12. type(CSurveyDataItem), intent(inout), target :: array(count)
  13. type(CSurveyDataItem), pointer :: item
  14. WellSurveyData%Count = count
  15. if(size(WellSurveyData%Items) > 0) then
  16. deallocate(WellSurveyData%Items)
  17. end if
  18. if(count > 0) then
  19. allocate(WellSurveyData%Items(count))
  20. do i = 1, count
  21. item => array(i)
  22. WellSurveyData%Items(i)%MeasuredDepth = item%MeasuredDepth
  23. WellSurveyData%Items(i)%Inclination = item%Inclination
  24. WellSurveyData%Items(i)%Azimoth = item%Azimoth
  25. WellSurveyData%Items(i)%TotalVerticalDepth = item%TotalVerticalDepth
  26. WellSurveyData%Items(i)%X = item%X
  27. WellSurveyData%Items(i)%Y = item%Y
  28. WellSurveyData%Items(i)%Z = item%Z
  29. end do
  30. end if
  31. SetSurveyData = 0
  32. end function SetSurveyData
  33. end module CWellSurveyData