osdu-python-models 0.5.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (968) hide show
  1. osdu_models/__init__.py +0 -0
  2. osdu_models/abstract/__init__.py +2 -0
  3. osdu_models/abstract/abstract_access_control_list/__init__.py +2 -0
  4. osdu_models/abstract/abstract_access_control_list/v1_0_0.py +31 -0
  5. osdu_models/abstract/abstract_activity_parameter/__init__.py +2 -0
  6. osdu_models/abstract/abstract_activity_parameter/v1_0_0.py +113 -0
  7. osdu_models/abstract/abstract_activity_parameter/v1_1_0.py +117 -0
  8. osdu_models/abstract/abstract_activity_state/__init__.py +2 -0
  9. osdu_models/abstract/abstract_activity_state/v1_0_0.py +36 -0
  10. osdu_models/abstract/abstract_alias_names/__init__.py +2 -0
  11. osdu_models/abstract/abstract_alias_names/v1_0_0.py +45 -0
  12. osdu_models/abstract/abstract_any_crs_feature_collection/__init__.py +2 -0
  13. osdu_models/abstract/abstract_any_crs_feature_collection/v1_0_0.py +282 -0
  14. osdu_models/abstract/abstract_any_crs_feature_collection/v1_1_0.py +300 -0
  15. osdu_models/abstract/abstract_bin_grid/__init__.py +2 -0
  16. osdu_models/abstract/abstract_bin_grid/v1_0_0.py +103 -0
  17. osdu_models/abstract/abstract_bin_grid/v1_1_0.py +103 -0
  18. osdu_models/abstract/abstract_business_rule/__init__.py +2 -0
  19. osdu_models/abstract/abstract_business_rule/v1_0_0.py +69 -0
  20. osdu_models/abstract/abstract_collaboration_lifecycle_event/__init__.py +2 -0
  21. osdu_models/abstract/abstract_collaboration_lifecycle_event/v1_0_0.py +49 -0
  22. osdu_models/abstract/abstract_column_based_table/__init__.py +2 -0
  23. osdu_models/abstract/abstract_column_based_table/v1_0_0.py +94 -0
  24. osdu_models/abstract/abstract_column_based_table/v1_1_0.py +94 -0
  25. osdu_models/abstract/abstract_column_based_table/v1_2_0.py +103 -0
  26. osdu_models/abstract/abstract_column_based_table/v1_2_1.py +103 -0
  27. osdu_models/abstract/abstract_column_layer_grid_patch/__init__.py +2 -0
  28. osdu_models/abstract/abstract_column_layer_grid_patch/v1_0_0.py +94 -0
  29. osdu_models/abstract/abstract_common_resources/__init__.py +2 -0
  30. osdu_models/abstract/abstract_common_resources/v1_0_0.py +82 -0
  31. osdu_models/abstract/abstract_common_resources/v1_0_1.py +82 -0
  32. osdu_models/abstract/abstract_compression_info/__init__.py +2 -0
  33. osdu_models/abstract/abstract_compression_info/v1_0_0.py +32 -0
  34. osdu_models/abstract/abstract_compression_info/v1_1_0.py +44 -0
  35. osdu_models/abstract/abstract_contact/__init__.py +2 -0
  36. osdu_models/abstract/abstract_contact/v1_0_0.py +51 -0
  37. osdu_models/abstract/abstract_contact/v1_1_0.py +69 -0
  38. osdu_models/abstract/abstract_contact_user_profile/__init__.py +2 -0
  39. osdu_models/abstract/abstract_contact_user_profile/v1_0_0.py +27 -0
  40. osdu_models/abstract/abstract_coordinates/__init__.py +2 -0
  41. osdu_models/abstract/abstract_coordinates/v1_0_0.py +23 -0
  42. osdu_models/abstract/abstract_dataset/__init__.py +2 -0
  43. osdu_models/abstract/abstract_dataset/v1_0_0.py +78 -0
  44. osdu_models/abstract/abstract_dataset/v1_0_1.py +78 -0
  45. osdu_models/abstract/abstract_decision_quality_element/__init__.py +2 -0
  46. osdu_models/abstract/abstract_decision_quality_element/v1_0_0.py +51 -0
  47. osdu_models/abstract/abstract_downtime_context/__init__.py +2 -0
  48. osdu_models/abstract/abstract_downtime_context/v1_0_0.py +34 -0
  49. osdu_models/abstract/abstract_facet/__init__.py +2 -0
  50. osdu_models/abstract/abstract_facet/v1_0_0.py +31 -0
  51. osdu_models/abstract/abstract_facility/__init__.py +2 -0
  52. osdu_models/abstract/abstract_facility/v1_0_0.py +87 -0
  53. osdu_models/abstract/abstract_facility/v1_1_0.py +91 -0
  54. osdu_models/abstract/abstract_facility_event/__init__.py +2 -0
  55. osdu_models/abstract/abstract_facility_event/v1_0_0.py +32 -0
  56. osdu_models/abstract/abstract_facility_event/v1_1_0.py +36 -0
  57. osdu_models/abstract/abstract_facility_operator/__init__.py +2 -0
  58. osdu_models/abstract/abstract_facility_operator/v1_0_0.py +34 -0
  59. osdu_models/abstract/abstract_facility_operator/v1_1_0.py +38 -0
  60. osdu_models/abstract/abstract_facility_specification/__init__.py +2 -0
  61. osdu_models/abstract/abstract_facility_specification/v1_0_0.py +57 -0
  62. osdu_models/abstract/abstract_facility_state/__init__.py +2 -0
  63. osdu_models/abstract/abstract_facility_state/v1_0_0.py +32 -0
  64. osdu_models/abstract/abstract_facility_state/v1_1_0.py +36 -0
  65. osdu_models/abstract/abstract_facility_vertical_measurement/__init__.py +2 -0
  66. osdu_models/abstract/abstract_facility_vertical_measurement/v1_0_0.py +98 -0
  67. osdu_models/abstract/abstract_feature_collection/__init__.py +2 -0
  68. osdu_models/abstract/abstract_feature_collection/v1_0_0.py +227 -0
  69. osdu_models/abstract/abstract_file/__init__.py +2 -0
  70. osdu_models/abstract/abstract_file/v1_0_0.py +44 -0
  71. osdu_models/abstract/abstract_file/v1_0_1.py +44 -0
  72. osdu_models/abstract/abstract_file_collection/__init__.py +2 -0
  73. osdu_models/abstract/abstract_file_collection/v1_0_0.py +89 -0
  74. osdu_models/abstract/abstract_file_collection/v1_0_1.py +89 -0
  75. osdu_models/abstract/abstract_file_source_info/__init__.py +2 -0
  76. osdu_models/abstract/abstract_file_source_info/v1_0_0.py +92 -0
  77. osdu_models/abstract/abstract_file_source_info/v1_0_1.py +92 -0
  78. osdu_models/abstract/abstract_fluid_additive/__init__.py +2 -0
  79. osdu_models/abstract/abstract_fluid_additive/v1_0_0.py +79 -0
  80. osdu_models/abstract/abstract_generic_reservoir_unit/__init__.py +2 -0
  81. osdu_models/abstract/abstract_generic_reservoir_unit/v1_0_0.py +131 -0
  82. osdu_models/abstract/abstract_generic_reservoir_unit/v1_1_0.py +131 -0
  83. osdu_models/abstract/abstract_generic_reservoir_unit/v2_0_0.py +133 -0
  84. osdu_models/abstract/abstract_geo_basin_context/__init__.py +2 -0
  85. osdu_models/abstract/abstract_geo_basin_context/v1_0_0.py +28 -0
  86. osdu_models/abstract/abstract_geo_context/__init__.py +2 -0
  87. osdu_models/abstract/abstract_geo_context/v1_0_0.py +31 -0
  88. osdu_models/abstract/abstract_geo_field_context/__init__.py +2 -0
  89. osdu_models/abstract/abstract_geo_field_context/v1_0_0.py +26 -0
  90. osdu_models/abstract/abstract_geo_play_context/__init__.py +2 -0
  91. osdu_models/abstract/abstract_geo_play_context/v1_0_0.py +28 -0
  92. osdu_models/abstract/abstract_geo_political_context/__init__.py +2 -0
  93. osdu_models/abstract/abstract_geo_political_context/v1_0_0.py +33 -0
  94. osdu_models/abstract/abstract_geo_prospect_context/__init__.py +2 -0
  95. osdu_models/abstract/abstract_geo_prospect_context/v1_0_0.py +31 -0
  96. osdu_models/abstract/abstract_geologic_unit_interpretation/__init__.py +2 -0
  97. osdu_models/abstract/abstract_geologic_unit_interpretation/v1_0_0.py +45 -0
  98. osdu_models/abstract/abstract_geologic_unit_interpretation/v1_1_0.py +94 -0
  99. osdu_models/abstract/abstract_grid_representation/__init__.py +2 -0
  100. osdu_models/abstract/abstract_grid_representation/v1_0_0.py +117 -0
  101. osdu_models/abstract/abstract_ijk_grid_flow_simulation_boundary_connection/__init__.py +2 -0
  102. osdu_models/abstract/abstract_ijk_grid_flow_simulation_boundary_connection/v1_0_0.py +71 -0
  103. osdu_models/abstract/abstract_ijk_grid_patch/__init__.py +2 -0
  104. osdu_models/abstract/abstract_ijk_grid_patch/v1_0_0.py +32 -0
  105. osdu_models/abstract/abstract_interpretation/__init__.py +2 -0
  106. osdu_models/abstract/abstract_interpretation/v1_0_0.py +51 -0
  107. osdu_models/abstract/abstract_interpretation/v1_1_0.py +55 -0
  108. osdu_models/abstract/abstract_label_and_value/__init__.py +2 -0
  109. osdu_models/abstract/abstract_label_and_value/v1_0_0.py +109 -0
  110. osdu_models/abstract/abstract_legal_tags/__init__.py +2 -0
  111. osdu_models/abstract/abstract_legal_tags/v1_0_0.py +31 -0
  112. osdu_models/abstract/abstract_location_uncertainty/__init__.py +2 -0
  113. osdu_models/abstract/abstract_location_uncertainty/v1_0_0.py +23 -0
  114. osdu_models/abstract/abstract_master/__init__.py +2 -0
  115. osdu_models/abstract/abstract_master/v1_0_0.py +47 -0
  116. osdu_models/abstract/abstract_master/v1_1_0.py +47 -0
  117. osdu_models/abstract/abstract_master/v1_2_0.py +54 -0
  118. osdu_models/abstract/abstract_project/__init__.py +2 -0
  119. osdu_models/abstract/abstract_project/v1_0_0.py +244 -0
  120. osdu_models/abstract/abstract_project_activity/__init__.py +2 -0
  121. osdu_models/abstract/abstract_project_activity/v1_0_0.py +40 -0
  122. osdu_models/abstract/abstract_project_activity/v1_1_0.py +51 -0
  123. osdu_models/abstract/abstract_project_activity/v1_2_0.py +51 -0
  124. osdu_models/abstract/abstract_property_type/__init__.py +2 -0
  125. osdu_models/abstract/abstract_property_type/v1_0_0.py +34 -0
  126. osdu_models/abstract/abstract_proppant_agent/__init__.py +2 -0
  127. osdu_models/abstract/abstract_proppant_agent/v1_0_0.py +233 -0
  128. osdu_models/abstract/abstract_ptcondition/__init__.py +2 -0
  129. osdu_models/abstract/abstract_ptcondition/v1_0_0.py +23 -0
  130. osdu_models/abstract/abstract_ptcondition/v1_1_0.py +35 -0
  131. osdu_models/abstract/abstract_quality_metric/__init__.py +2 -0
  132. osdu_models/abstract/abstract_quality_metric/v1_0_0.py +59 -0
  133. osdu_models/abstract/abstract_quality_metric/v1_1_0.py +63 -0
  134. osdu_models/abstract/abstract_reference_level/__init__.py +2 -0
  135. osdu_models/abstract/abstract_reference_level/v1_0_0.py +94 -0
  136. osdu_models/abstract/abstract_reference_property_type/__init__.py +2 -0
  137. osdu_models/abstract/abstract_reference_property_type/v1_1_0.py +72 -0
  138. osdu_models/abstract/abstract_reference_property_type/v1_2_0.py +89 -0
  139. osdu_models/abstract/abstract_reference_property_type/v1_2_1.py +91 -0
  140. osdu_models/abstract/abstract_reference_property_type/v1_2_2.py +91 -0
  141. osdu_models/abstract/abstract_remark/__init__.py +2 -0
  142. osdu_models/abstract/abstract_remark/v1_0_0.py +33 -0
  143. osdu_models/abstract/abstract_representation/__init__.py +2 -0
  144. osdu_models/abstract/abstract_representation/v1_0_0.py +104 -0
  145. osdu_models/abstract/abstract_sample_properties/__init__.py +2 -0
  146. osdu_models/abstract/abstract_sample_properties/v1_0_0.py +15 -0
  147. osdu_models/abstract/abstract_sample_properties/v1_1_0.py +44 -0
  148. osdu_models/abstract/abstract_seismic_precision/__init__.py +2 -0
  149. osdu_models/abstract/abstract_seismic_precision/v1_0_0.py +28 -0
  150. osdu_models/abstract/abstract_spatial_location/__init__.py +2 -0
  151. osdu_models/abstract/abstract_spatial_location/v1_0_0.py +94 -0
  152. osdu_models/abstract/abstract_spatial_location/v1_1_0.py +94 -0
  153. osdu_models/abstract/abstract_spatial_reference/__init__.py +2 -0
  154. osdu_models/abstract/abstract_spatial_reference/v1_0_0.py +75 -0
  155. osdu_models/abstract/abstract_stim_material_quantity/__init__.py +2 -0
  156. osdu_models/abstract/abstract_stim_material_quantity/v1_0_0.py +66 -0
  157. osdu_models/abstract/abstract_storage_location/__init__.py +2 -0
  158. osdu_models/abstract/abstract_storage_location/v1_0_0.py +47 -0
  159. osdu_models/abstract/abstract_technical_assurance/__init__.py +2 -0
  160. osdu_models/abstract/abstract_technical_assurance/v1_0_0.py +158 -0
  161. osdu_models/abstract/abstract_technical_assurance/v1_1_0.py +200 -0
  162. osdu_models/abstract/abstract_technical_assurance/v1_2_0.py +290 -0
  163. osdu_models/abstract/abstract_time_series_link/__init__.py +2 -0
  164. osdu_models/abstract/abstract_time_series_link/v1_0_0.py +31 -0
  165. osdu_models/abstract/abstract_trigger/__init__.py +2 -0
  166. osdu_models/abstract/abstract_trigger/v1_0_0.py +35 -0
  167. osdu_models/abstract/abstract_tubular_component_bend/__init__.py +2 -0
  168. osdu_models/abstract/abstract_tubular_component_bend/v1_0_0.py +23 -0
  169. osdu_models/abstract/abstract_tubular_component_bit_record/__init__.py +2 -0
  170. osdu_models/abstract/abstract_tubular_component_bit_record/v1_1_0.py +307 -0
  171. osdu_models/abstract/abstract_tubular_component_connection/__init__.py +2 -0
  172. osdu_models/abstract/abstract_tubular_component_connection/v1_0_0.py +81 -0
  173. osdu_models/abstract/abstract_tubular_component_hole_opener/__init__.py +2 -0
  174. osdu_models/abstract/abstract_tubular_component_hole_opener/v1_0_0.py +54 -0
  175. osdu_models/abstract/abstract_tubular_component_jar/__init__.py +2 -0
  176. osdu_models/abstract/abstract_tubular_component_jar/v1_0_0.py +55 -0
  177. osdu_models/abstract/abstract_tubular_component_motor/__init__.py +2 -0
  178. osdu_models/abstract/abstract_tubular_component_motor/v1_0_0.py +97 -0
  179. osdu_models/abstract/abstract_tubular_component_pressure_loss/__init__.py +2 -0
  180. osdu_models/abstract/abstract_tubular_component_pressure_loss/v1_0_0.py +23 -0
  181. osdu_models/abstract/abstract_tubular_component_rss/__init__.py +2 -0
  182. osdu_models/abstract/abstract_tubular_component_rss/v1_0_0.py +107 -0
  183. osdu_models/abstract/abstract_tubular_component_stabiliser/__init__.py +2 -0
  184. osdu_models/abstract/abstract_tubular_component_stabiliser/v1_0_0.py +90 -0
  185. osdu_models/abstract/abstract_unstructured_column_layer_grid_patch/__init__.py +2 -0
  186. osdu_models/abstract/abstract_unstructured_column_layer_grid_patch/v1_0_0.py +29 -0
  187. osdu_models/abstract/abstract_unstructured_grid_patch/__init__.py +2 -0
  188. osdu_models/abstract/abstract_unstructured_grid_patch/v1_0_0.py +36 -0
  189. osdu_models/abstract/abstract_vector_header_mapping/__init__.py +2 -0
  190. osdu_models/abstract/abstract_vector_header_mapping/v1_0_0.py +85 -0
  191. osdu_models/abstract/abstract_vector_header_mapping/v1_1_0.py +236 -0
  192. osdu_models/abstract/abstract_well_license_condition/__init__.py +2 -0
  193. osdu_models/abstract/abstract_well_license_condition/v1_0_0.py +165 -0
  194. osdu_models/abstract/abstract_well_license_service/__init__.py +2 -0
  195. osdu_models/abstract/abstract_well_license_service/v1_0_0.py +101 -0
  196. osdu_models/abstract/abstract_well_license_status/__init__.py +2 -0
  197. osdu_models/abstract/abstract_well_license_status/v1_0_0.py +67 -0
  198. osdu_models/abstract/abstract_well_license_violation/__init__.py +2 -0
  199. osdu_models/abstract/abstract_well_license_violation/v1_0_0.py +105 -0
  200. osdu_models/abstract/abstract_wellbore_drilling_reason/__init__.py +2 -0
  201. osdu_models/abstract/abstract_wellbore_drilling_reason/v1_0_0.py +32 -0
  202. osdu_models/abstract/abstract_wellbore_drilling_reason/v1_1_0.py +43 -0
  203. osdu_models/abstract/abstract_wellbore_drilling_reason/v1_1_1.py +43 -0
  204. osdu_models/abstract/abstract_work_product_component/__init__.py +2 -0
  205. osdu_models/abstract/abstract_work_product_component/v1_0_0.py +84 -0
  206. osdu_models/abstract/abstract_work_product_component/v1_1_0.py +84 -0
  207. osdu_models/abstract/abstract_wpcactivity/__init__.py +2 -0
  208. osdu_models/abstract/abstract_wpcactivity/v1_0_0.py +82 -0
  209. osdu_models/abstract/abstract_wpcactivity/v1_1_0.py +93 -0
  210. osdu_models/abstract/abstract_wpcactivity/v1_2_0.py +93 -0
  211. osdu_models/abstract/abstract_wpcactivity/v1_2_1.py +93 -0
  212. osdu_models/abstract/abstract_wpcgroup_type/__init__.py +2 -0
  213. osdu_models/abstract/abstract_wpcgroup_type/v1_0_0.py +72 -0
  214. osdu_models/abstract/abstract_wpcgroup_type/v1_1_0.py +97 -0
  215. osdu_models/abstract/abstract_wpcgroup_type/v1_2_0.py +97 -0
  216. osdu_models/dataset/__init__.py +2 -0
  217. osdu_models/dataset/connected_source_generic/__init__.py +2 -0
  218. osdu_models/dataset/connected_source_generic/v1_0_0.py +176 -0
  219. osdu_models/dataset/connected_source_generic/v1_0_1.py +176 -0
  220. osdu_models/dataset/etpdataspace/__init__.py +2 -0
  221. osdu_models/dataset/etpdataspace/v1_0_0.py +174 -0
  222. osdu_models/dataset/etpdataspace/v1_0_1.py +174 -0
  223. osdu_models/dataset/file_collection_bluware_open_vds/__init__.py +2 -0
  224. osdu_models/dataset/file_collection_bluware_open_vds/v1_0_0.py +220 -0
  225. osdu_models/dataset/file_collection_bluware_open_vds/v1_1_0.py +264 -0
  226. osdu_models/dataset/file_collection_bluware_open_vds/v1_2_0.py +264 -0
  227. osdu_models/dataset/file_collection_epc/__init__.py +2 -0
  228. osdu_models/dataset/file_collection_epc/v1_0_0.py +167 -0
  229. osdu_models/dataset/file_collection_epc/v1_0_1.py +167 -0
  230. osdu_models/dataset/file_collection_epc/v1_0_2.py +167 -0
  231. osdu_models/dataset/file_collection_esri_shape/__init__.py +2 -0
  232. osdu_models/dataset/file_collection_esri_shape/v1_0_0.py +221 -0
  233. osdu_models/dataset/file_collection_esri_shape/v1_1_0.py +221 -0
  234. osdu_models/dataset/file_collection_generic/__init__.py +2 -0
  235. osdu_models/dataset/file_collection_generic/v1_0_0.py +214 -0
  236. osdu_models/dataset/file_collection_generic/v1_1_0.py +214 -0
  237. osdu_models/dataset/file_collection_sega/__init__.py +2 -0
  238. osdu_models/dataset/file_collection_sega/v1_0_0.py +304 -0
  239. osdu_models/dataset/file_collection_sega/v1_1_0.py +455 -0
  240. osdu_models/dataset/file_collection_segb/__init__.py +2 -0
  241. osdu_models/dataset/file_collection_segb/v1_0_0.py +304 -0
  242. osdu_models/dataset/file_collection_segb/v1_1_0.py +455 -0
  243. osdu_models/dataset/file_collection_segd/__init__.py +2 -0
  244. osdu_models/dataset/file_collection_segd/v1_0_0.py +308 -0
  245. osdu_models/dataset/file_collection_segd/v1_1_0.py +313 -0
  246. osdu_models/dataset/file_collection_segd/v1_2_0.py +464 -0
  247. osdu_models/dataset/file_collection_segy/__init__.py +2 -0
  248. osdu_models/dataset/file_collection_segy/v1_0_0.py +287 -0
  249. osdu_models/dataset/file_collection_segy/v1_1_0.py +292 -0
  250. osdu_models/dataset/file_collection_segy/v1_2_0.py +464 -0
  251. osdu_models/dataset/file_collection_segy/v1_3_0.py +464 -0
  252. osdu_models/dataset/file_collection_slb_open_zgy/__init__.py +2 -0
  253. osdu_models/dataset/file_collection_slb_open_zgy/v1_0_0.py +214 -0
  254. osdu_models/dataset/file_collection_slb_open_zgy/v1_1_0.py +224 -0
  255. osdu_models/dataset/file_collection_slb_open_zgy/v1_2_0.py +224 -0
  256. osdu_models/dataset/file_collection_tgs_mdio/__init__.py +2 -0
  257. osdu_models/dataset/file_collection_tgs_mdio/v1_0_0.py +262 -0
  258. osdu_models/dataset/file_compressed_vector_headers/__init__.py +2 -0
  259. osdu_models/dataset/file_compressed_vector_headers/v1_0_0.py +255 -0
  260. osdu_models/dataset/file_compressed_vector_headers/v1_1_0.py +418 -0
  261. osdu_models/dataset/file_eml/__init__.py +2 -0
  262. osdu_models/dataset/file_eml/v1_0_0.py +169 -0
  263. osdu_models/dataset/file_eml/v1_1_0.py +169 -0
  264. osdu_models/dataset/file_generic/__init__.py +2 -0
  265. osdu_models/dataset/file_generic/v1_0_0.py +169 -0
  266. osdu_models/dataset/file_generic/v1_1_0.py +169 -0
  267. osdu_models/dataset/file_geo_json/__init__.py +2 -0
  268. osdu_models/dataset/file_geo_json/v1_0_0.py +169 -0
  269. osdu_models/dataset/file_geo_json/v1_1_0.py +169 -0
  270. osdu_models/dataset/file_hdf5/__init__.py +2 -0
  271. osdu_models/dataset/file_hdf5/v1_0_0.py +169 -0
  272. osdu_models/dataset/file_hdf5/v1_1_0.py +169 -0
  273. osdu_models/dataset/file_image_jpeg/__init__.py +2 -0
  274. osdu_models/dataset/file_image_jpeg/v1_0_0.py +169 -0
  275. osdu_models/dataset/file_image_jpeg/v1_1_0.py +169 -0
  276. osdu_models/dataset/file_image_png/__init__.py +2 -0
  277. osdu_models/dataset/file_image_png/v1_0_0.py +169 -0
  278. osdu_models/dataset/file_image_png/v1_1_0.py +169 -0
  279. osdu_models/dataset/file_image_tiff/__init__.py +2 -0
  280. osdu_models/dataset/file_image_tiff/v1_0_0.py +169 -0
  281. osdu_models/dataset/file_image_tiff/v1_1_0.py +169 -0
  282. osdu_models/dataset/file_image_world_file/__init__.py +2 -0
  283. osdu_models/dataset/file_image_world_file/v1_0_0.py +176 -0
  284. osdu_models/dataset/file_image_world_file/v1_1_0.py +176 -0
  285. osdu_models/dataset/file_ogc_geo_tiff/__init__.py +2 -0
  286. osdu_models/dataset/file_ogc_geo_tiff/v1_0_0.py +219 -0
  287. osdu_models/dataset/file_ogc_geo_tiff/v1_1_0.py +219 -0
  288. osdu_models/dataset/file_prodml/__init__.py +2 -0
  289. osdu_models/dataset/file_prodml/v1_0_0.py +169 -0
  290. osdu_models/dataset/file_prodml/v1_1_0.py +169 -0
  291. osdu_models/dataset/file_seismic_histogram/__init__.py +2 -0
  292. osdu_models/dataset/file_seismic_histogram/v1_0_0.py +179 -0
  293. osdu_models/dataset/file_seismic_histogram/v1_1_0.py +179 -0
  294. osdu_models/dataset/file_seismic_line_geometry/__init__.py +2 -0
  295. osdu_models/dataset/file_seismic_line_geometry/v1_0_0.py +179 -0
  296. osdu_models/dataset/file_seismic_line_geometry/v1_1_0.py +179 -0
  297. osdu_models/dataset/file_tabular_data/__init__.py +2 -0
  298. osdu_models/dataset/file_tabular_data/v1_0_0.py +264 -0
  299. osdu_models/dataset/file_witsml/__init__.py +2 -0
  300. osdu_models/dataset/file_witsml/v1_0_0.py +175 -0
  301. osdu_models/dataset/file_witsml/v1_1_0.py +175 -0
  302. osdu_models/dataset/physical_media/__init__.py +2 -0
  303. osdu_models/dataset/physical_media/v1_0_0.py +194 -0
  304. osdu_models/dataset/physical_media/v1_0_1.py +194 -0
  305. osdu_models/masterdata/__init__.py +2 -0
  306. osdu_models/masterdata/activity_plan/__init__.py +2 -0
  307. osdu_models/masterdata/activity_plan/v1_0_0.py +236 -0
  308. osdu_models/masterdata/activity_plan/v1_1_0.py +240 -0
  309. osdu_models/masterdata/activity_plan/v1_2_0.py +240 -0
  310. osdu_models/masterdata/activity_template/__init__.py +2 -0
  311. osdu_models/masterdata/activity_template/v1_0_0.py +111 -0
  312. osdu_models/masterdata/activity_template/v1_1_0.py +111 -0
  313. osdu_models/masterdata/activity_template_arc/__init__.py +2 -0
  314. osdu_models/masterdata/activity_template_arc/v1_0_0.py +89 -0
  315. osdu_models/masterdata/activity_template_arc/v1_1_0.py +89 -0
  316. osdu_models/masterdata/agreement/__init__.py +2 -0
  317. osdu_models/masterdata/agreement/v1_0_0.py +113 -0
  318. osdu_models/masterdata/agreement/v1_1_0.py +121 -0
  319. osdu_models/masterdata/basin/__init__.py +2 -0
  320. osdu_models/masterdata/basin/v1_0_0.py +53 -0
  321. osdu_models/masterdata/basin/v1_1_0.py +53 -0
  322. osdu_models/masterdata/basin/v1_2_0.py +61 -0
  323. osdu_models/masterdata/bharun/__init__.py +2 -0
  324. osdu_models/masterdata/bharun/v1_0_0.py +1353 -0
  325. osdu_models/masterdata/bharun/v1_1_0.py +1353 -0
  326. osdu_models/masterdata/bharun/v1_2_0.py +1357 -0
  327. osdu_models/masterdata/bharun/v2_0_0.py +1504 -0
  328. osdu_models/masterdata/bharun/v2_1_0.py +1539 -0
  329. osdu_models/masterdata/blowout_preventer/__init__.py +2 -0
  330. osdu_models/masterdata/blowout_preventer/v1_0_0.py +319 -0
  331. osdu_models/masterdata/blowout_preventer_component/__init__.py +2 -0
  332. osdu_models/masterdata/blowout_preventer_component/v1_0_0.py +162 -0
  333. osdu_models/masterdata/boundary_feature/__init__.py +2 -0
  334. osdu_models/masterdata/boundary_feature/v1_0_0.py +23 -0
  335. osdu_models/masterdata/boundary_feature/v1_1_0.py +23 -0
  336. osdu_models/masterdata/business_associate/__init__.py +2 -0
  337. osdu_models/masterdata/business_associate/v1_0_0.py +348 -0
  338. osdu_models/masterdata/business_decision/__init__.py +2 -0
  339. osdu_models/masterdata/business_decision/v1_0_0.py +188 -0
  340. osdu_models/masterdata/casing_design/__init__.py +2 -0
  341. osdu_models/masterdata/casing_design/v1_0_0.py +59 -0
  342. osdu_models/masterdata/casing_design/v1_1_0.py +59 -0
  343. osdu_models/masterdata/casing_design/v1_2_0.py +63 -0
  344. osdu_models/masterdata/collaboration_project/__init__.py +2 -0
  345. osdu_models/masterdata/collaboration_project/v1_0_0.py +107 -0
  346. osdu_models/masterdata/column_based_table_template/__init__.py +2 -0
  347. osdu_models/masterdata/column_based_table_template/v1_0_0.py +46 -0
  348. osdu_models/masterdata/column_based_table_template/v1_0_1.py +46 -0
  349. osdu_models/masterdata/connected_source_data_job/__init__.py +2 -0
  350. osdu_models/masterdata/connected_source_data_job/v1_0_0.py +182 -0
  351. osdu_models/masterdata/connected_source_data_job/v1_1_0.py +197 -0
  352. osdu_models/masterdata/connected_source_data_job/v1_2_0.py +209 -0
  353. osdu_models/masterdata/connected_source_data_job/v1_3_0.py +183 -0
  354. osdu_models/masterdata/connected_source_data_job/v1_4_0.py +186 -0
  355. osdu_models/masterdata/connected_source_data_job/v1_5_0.py +222 -0
  356. osdu_models/masterdata/connected_source_data_job/v1_6_0.py +228 -0
  357. osdu_models/masterdata/connected_source_data_job/v1_7_0.py +258 -0
  358. osdu_models/masterdata/connected_source_data_job/v1_8_0.py +285 -0
  359. osdu_models/masterdata/connected_source_registry_entry/__init__.py +2 -0
  360. osdu_models/masterdata/connected_source_registry_entry/v1_0_0.py +180 -0
  361. osdu_models/masterdata/connected_source_registry_entry/v1_1_0.py +288 -0
  362. osdu_models/masterdata/connected_source_registry_entry/v1_2_0.py +289 -0
  363. osdu_models/masterdata/connected_source_registry_entry/v1_3_0.py +292 -0
  364. osdu_models/masterdata/connected_source_registry_entry/v1_4_0.py +316 -0
  365. osdu_models/masterdata/connected_source_registry_entry/v1_5_0.py +386 -0
  366. osdu_models/masterdata/coring/__init__.py +2 -0
  367. osdu_models/masterdata/coring/v1_0_0.py +332 -0
  368. osdu_models/masterdata/coring/v1_1_0.py +332 -0
  369. osdu_models/masterdata/coring/v1_1_1.py +332 -0
  370. osdu_models/masterdata/evaluation_plan/__init__.py +2 -0
  371. osdu_models/masterdata/evaluation_plan/v1_0_0.py +232 -0
  372. osdu_models/masterdata/evaluation_plan/v1_1_0.py +232 -0
  373. osdu_models/masterdata/field/__init__.py +2 -0
  374. osdu_models/masterdata/field/v1_0_0.py +44 -0
  375. osdu_models/masterdata/field/v1_1_0.py +44 -0
  376. osdu_models/masterdata/fluids_program/__init__.py +2 -0
  377. osdu_models/masterdata/fluids_program/v1_0_0.py +262 -0
  378. osdu_models/masterdata/fluids_program/v1_1_0.py +262 -0
  379. osdu_models/masterdata/fluids_program/v1_2_0.py +270 -0
  380. osdu_models/masterdata/fluids_program/v1_3_0.py +296 -0
  381. osdu_models/masterdata/fluids_report/__init__.py +2 -0
  382. osdu_models/masterdata/fluids_report/v1_0_0.py +458 -0
  383. osdu_models/masterdata/fluids_report/v1_1_0.py +465 -0
  384. osdu_models/masterdata/fluids_report/v1_2_0.py +465 -0
  385. osdu_models/masterdata/generic_facility/__init__.py +2 -0
  386. osdu_models/masterdata/generic_facility/v1_0_0.py +20 -0
  387. osdu_models/masterdata/generic_facility/v1_0_1.py +20 -0
  388. osdu_models/masterdata/generic_site/__init__.py +2 -0
  389. osdu_models/masterdata/generic_site/v1_0_0.py +35 -0
  390. osdu_models/masterdata/generic_site/v1_1_0.py +42 -0
  391. osdu_models/masterdata/generic_site/v1_1_1.py +42 -0
  392. osdu_models/masterdata/geo_political_entity/__init__.py +2 -0
  393. osdu_models/masterdata/geo_political_entity/v1_0_0.py +72 -0
  394. osdu_models/masterdata/geo_political_entity/v1_1_0.py +72 -0
  395. osdu_models/masterdata/geometric_target_set/__init__.py +2 -0
  396. osdu_models/masterdata/geometric_target_set/v1_0_0.py +190 -0
  397. osdu_models/masterdata/geometric_target_set/v1_1_0.py +190 -0
  398. osdu_models/masterdata/gravity_magnetic_acquisition_survey/__init__.py +2 -0
  399. osdu_models/masterdata/gravity_magnetic_acquisition_survey/v1_0_0.py +271 -0
  400. osdu_models/masterdata/hole_section/__init__.py +2 -0
  401. osdu_models/masterdata/hole_section/v1_0_0.py +45 -0
  402. osdu_models/masterdata/hole_section/v1_1_0.py +52 -0
  403. osdu_models/masterdata/hole_section/v1_2_0.py +105 -0
  404. osdu_models/masterdata/hole_section/v1_3_0.py +105 -0
  405. osdu_models/masterdata/hole_section/v1_4_0.py +122 -0
  406. osdu_models/masterdata/isolated_interval/__init__.py +2 -0
  407. osdu_models/masterdata/isolated_interval/v1_0_0.py +110 -0
  408. osdu_models/masterdata/isolated_interval/v1_1_0.py +110 -0
  409. osdu_models/masterdata/isolated_interval/v1_2_0.py +211 -0
  410. osdu_models/masterdata/model_feature/__init__.py +2 -0
  411. osdu_models/masterdata/model_feature/v1_0_0.py +23 -0
  412. osdu_models/masterdata/model_feature/v1_1_0.py +23 -0
  413. osdu_models/masterdata/operations_report/__init__.py +2 -0
  414. osdu_models/masterdata/operations_report/v1_0_0.py +1784 -0
  415. osdu_models/masterdata/operations_report/v1_1_0.py +2014 -0
  416. osdu_models/masterdata/operations_report/v1_2_0.py +2026 -0
  417. osdu_models/masterdata/operations_report/v1_3_0.py +2030 -0
  418. osdu_models/masterdata/operations_report/v1_4_0.py +2030 -0
  419. osdu_models/masterdata/organisation/__init__.py +2 -0
  420. osdu_models/masterdata/organisation/v1_0_0.py +61 -0
  421. osdu_models/masterdata/organisation/v1_1_0.py +68 -0
  422. osdu_models/masterdata/organisation/v1_2_0.py +68 -0
  423. osdu_models/masterdata/perforation_interval/__init__.py +2 -0
  424. osdu_models/masterdata/perforation_interval/v1_0_0.py +305 -0
  425. osdu_models/masterdata/perforation_interval/v1_1_0.py +305 -0
  426. osdu_models/masterdata/perforation_interval/v1_2_0.py +444 -0
  427. osdu_models/masterdata/perforation_job/__init__.py +2 -0
  428. osdu_models/masterdata/perforation_job/v1_0_0.py +259 -0
  429. osdu_models/masterdata/perforation_job/v1_1_0.py +259 -0
  430. osdu_models/masterdata/perforation_job/v1_2_0.py +263 -0
  431. osdu_models/masterdata/planned_cement_job/__init__.py +2 -0
  432. osdu_models/masterdata/planned_cement_job/v1_0_0.py +559 -0
  433. osdu_models/masterdata/planned_cement_job/v1_1_0.py +568 -0
  434. osdu_models/masterdata/planned_cement_job/v1_2_0.py +568 -0
  435. osdu_models/masterdata/planned_cement_job/v1_3_0.py +580 -0
  436. osdu_models/masterdata/planned_cement_job/v1_4_0.py +615 -0
  437. osdu_models/masterdata/play/__init__.py +2 -0
  438. osdu_models/masterdata/play/v1_0_0.py +51 -0
  439. osdu_models/masterdata/play/v1_1_0.py +51 -0
  440. osdu_models/masterdata/prospect/__init__.py +2 -0
  441. osdu_models/masterdata/prospect/v1_0_0.py +53 -0
  442. osdu_models/masterdata/prospect/v1_1_0.py +53 -0
  443. osdu_models/masterdata/reference_level/__init__.py +2 -0
  444. osdu_models/masterdata/reference_level/v1_0_0.py +32 -0
  445. osdu_models/masterdata/reference_level/v1_1_0.py +32 -0
  446. osdu_models/masterdata/reservoir/__init__.py +2 -0
  447. osdu_models/masterdata/reservoir/v0_0_0.py +23 -0
  448. osdu_models/masterdata/reservoir/v1_0_0.py +38 -0
  449. osdu_models/masterdata/reservoir/v1_1_0.py +38 -0
  450. osdu_models/masterdata/reservoir/v1_2_0.py +43 -0
  451. osdu_models/masterdata/reservoir/v2_0_0.py +38 -0
  452. osdu_models/masterdata/reservoir_segment/__init__.py +2 -0
  453. osdu_models/masterdata/reservoir_segment/v0_0_0.py +30 -0
  454. osdu_models/masterdata/reservoir_segment/v1_0_0.py +60 -0
  455. osdu_models/masterdata/reservoir_segment/v1_1_0.py +292 -0
  456. osdu_models/masterdata/reservoir_segment/v1_2_0.py +298 -0
  457. osdu_models/masterdata/reservoir_segment/v2_0_0.py +83 -0
  458. osdu_models/masterdata/rig/__init__.py +2 -0
  459. osdu_models/masterdata/rig/v1_0_0.py +38 -0
  460. osdu_models/masterdata/rig/v1_1_0.py +38 -0
  461. osdu_models/masterdata/rig/v1_2_0.py +38 -0
  462. osdu_models/masterdata/rig_utilization/__init__.py +2 -0
  463. osdu_models/masterdata/rig_utilization/v1_0_0.py +119 -0
  464. osdu_models/masterdata/rig_utilization/v1_1_0.py +119 -0
  465. osdu_models/masterdata/risk/__init__.py +2 -0
  466. osdu_models/masterdata/risk/v1_0_0.py +284 -0
  467. osdu_models/masterdata/risk/v1_1_0.py +284 -0
  468. osdu_models/masterdata/risk/v1_2_0.py +317 -0
  469. osdu_models/masterdata/rock_sample/__init__.py +2 -0
  470. osdu_models/masterdata/rock_sample/v1_0_0.py +187 -0
  471. osdu_models/masterdata/rock_sample/v1_1_0.py +187 -0
  472. osdu_models/masterdata/rock_sample/v1_1_1.py +187 -0
  473. osdu_models/masterdata/rock_volume_feature/__init__.py +2 -0
  474. osdu_models/masterdata/rock_volume_feature/v1_0_0.py +23 -0
  475. osdu_models/masterdata/rock_volume_feature/v1_1_0.py +23 -0
  476. osdu_models/masterdata/sample/__init__.py +2 -0
  477. osdu_models/masterdata/sample/v1_0_0.py +19 -0
  478. osdu_models/masterdata/sample/v2_0_0.py +740 -0
  479. osdu_models/masterdata/sample/v2_1_0.py +740 -0
  480. osdu_models/masterdata/sample/v3_0_0.py +775 -0
  481. osdu_models/masterdata/sample_acquisition_job/__init__.py +2 -0
  482. osdu_models/masterdata/sample_acquisition_job/v1_0_0.py +31 -0
  483. osdu_models/masterdata/sample_chain_of_custody_event/__init__.py +2 -0
  484. osdu_models/masterdata/sample_chain_of_custody_event/v1_0_0.py +189 -0
  485. osdu_models/masterdata/sample_chain_of_custody_event/v1_1_0.py +189 -0
  486. osdu_models/masterdata/sample_container/__init__.py +2 -0
  487. osdu_models/masterdata/sample_container/v1_0_0.py +188 -0
  488. osdu_models/masterdata/seismic2_dinterpretation_set/__init__.py +2 -0
  489. osdu_models/masterdata/seismic2_dinterpretation_set/v1_0_0.py +43 -0
  490. osdu_models/masterdata/seismic2_dinterpretation_set/v1_1_0.py +50 -0
  491. osdu_models/masterdata/seismic2_dinterpretation_set/v1_2_0.py +50 -0
  492. osdu_models/masterdata/seismic3_dinterpretation_set/__init__.py +2 -0
  493. osdu_models/masterdata/seismic3_dinterpretation_set/v1_0_0.py +29 -0
  494. osdu_models/masterdata/seismic3_dinterpretation_set/v1_1_0.py +32 -0
  495. osdu_models/masterdata/seismic3_dinterpretation_set/v1_2_0.py +32 -0
  496. osdu_models/masterdata/seismic_acquisition_survey/__init__.py +2 -0
  497. osdu_models/masterdata/seismic_acquisition_survey/v1_0_0.py +107 -0
  498. osdu_models/masterdata/seismic_acquisition_survey/v1_1_0.py +247 -0
  499. osdu_models/masterdata/seismic_acquisition_survey/v1_2_0.py +286 -0
  500. osdu_models/masterdata/seismic_acquisition_survey/v1_3_0.py +295 -0
  501. osdu_models/masterdata/seismic_acquisition_survey/v1_4_0.py +295 -0
  502. osdu_models/masterdata/seismic_processing_project/__init__.py +2 -0
  503. osdu_models/masterdata/seismic_processing_project/v1_0_0.py +31 -0
  504. osdu_models/masterdata/seismic_processing_project/v1_1_0.py +34 -0
  505. osdu_models/masterdata/seismic_processing_project/v1_2_0.py +43 -0
  506. osdu_models/masterdata/seismic_processing_project/v1_3_0.py +43 -0
  507. osdu_models/masterdata/seismic_processing_project/v1_4_0.py +64 -0
  508. osdu_models/masterdata/storage_facility/__init__.py +2 -0
  509. osdu_models/masterdata/storage_facility/v1_0_0.py +24 -0
  510. osdu_models/masterdata/storage_facility/v1_1_0.py +24 -0
  511. osdu_models/masterdata/storage_facility/v1_2_0.py +24 -0
  512. osdu_models/masterdata/survey_program/__init__.py +2 -0
  513. osdu_models/masterdata/survey_program/v1_0_0.py +104 -0
  514. osdu_models/masterdata/survey_program/v1_1_0.py +130 -0
  515. osdu_models/masterdata/survey_program/v1_2_0.py +137 -0
  516. osdu_models/masterdata/tubular_assembly/__init__.py +2 -0
  517. osdu_models/masterdata/tubular_assembly/v2_0_0.py +286 -0
  518. osdu_models/masterdata/tubular_assembly/v2_1_0.py +398 -0
  519. osdu_models/masterdata/tubular_component/__init__.py +2 -0
  520. osdu_models/masterdata/tubular_component/v2_0_0.py +188 -0
  521. osdu_models/masterdata/tubular_component/v2_1_0.py +382 -0
  522. osdu_models/masterdata/tubular_component/v2_2_0.py +482 -0
  523. osdu_models/masterdata/tubular_component/v2_3_0.py +533 -0
  524. osdu_models/masterdata/tubular_component/v2_4_0.py +587 -0
  525. osdu_models/masterdata/tubular_external_component/__init__.py +2 -0
  526. osdu_models/masterdata/tubular_external_component/v2_0_0.py +132 -0
  527. osdu_models/masterdata/tubular_umbilical/__init__.py +2 -0
  528. osdu_models/masterdata/tubular_umbilical/v2_0_0.py +130 -0
  529. osdu_models/masterdata/user_profile/__init__.py +2 -0
  530. osdu_models/masterdata/user_profile/v1_0_0.py +133 -0
  531. osdu_models/masterdata/well/__init__.py +2 -0
  532. osdu_models/masterdata/well/v1_0_0.py +59 -0
  533. osdu_models/masterdata/well/v1_1_0.py +165 -0
  534. osdu_models/masterdata/well/v1_2_0.py +165 -0
  535. osdu_models/masterdata/well/v1_3_0.py +165 -0
  536. osdu_models/masterdata/well/v1_4_0.py +189 -0
  537. osdu_models/masterdata/well_activity/__init__.py +2 -0
  538. osdu_models/masterdata/well_activity/v1_0_0.py +131 -0
  539. osdu_models/masterdata/well_activity/v1_1_0.py +163 -0
  540. osdu_models/masterdata/well_activity/v1_2_0.py +167 -0
  541. osdu_models/masterdata/well_activity_program/__init__.py +2 -0
  542. osdu_models/masterdata/well_activity_program/v1_0_0.py +157 -0
  543. osdu_models/masterdata/well_activity_program/v1_1_0.py +157 -0
  544. osdu_models/masterdata/well_barrier_element_test/__init__.py +2 -0
  545. osdu_models/masterdata/well_barrier_element_test/v1_0_0.py +383 -0
  546. osdu_models/masterdata/well_barrier_element_test/v1_1_0.py +383 -0
  547. osdu_models/masterdata/well_barrier_element_test/v1_2_0.py +385 -0
  548. osdu_models/masterdata/well_barrier_element_test/v1_3_0.py +592 -0
  549. osdu_models/masterdata/well_license/__init__.py +2 -0
  550. osdu_models/masterdata/well_license/v1_0_0.py +256 -0
  551. osdu_models/masterdata/well_log_acquisition/__init__.py +2 -0
  552. osdu_models/masterdata/well_log_acquisition/v1_0_0.py +239 -0
  553. osdu_models/masterdata/well_planning_well/__init__.py +2 -0
  554. osdu_models/masterdata/well_planning_well/v1_0_0.py +63 -0
  555. osdu_models/masterdata/well_planning_well/v1_1_0.py +64 -0
  556. osdu_models/masterdata/well_planning_wellbore/__init__.py +2 -0
  557. osdu_models/masterdata/well_planning_wellbore/v1_0_0.py +99 -0
  558. osdu_models/masterdata/well_planning_wellbore/v1_1_0.py +100 -0
  559. osdu_models/masterdata/well_planning_wellbore/v1_2_0.py +111 -0
  560. osdu_models/masterdata/well_planning_wellbore/v1_3_0.py +131 -0
  561. osdu_models/masterdata/well_planning_wellbore/v1_4_0.py +138 -0
  562. osdu_models/masterdata/well_pressure_test_acquisition_job/__init__.py +2 -0
  563. osdu_models/masterdata/well_pressure_test_acquisition_job/v1_0_0.py +202 -0
  564. osdu_models/masterdata/well_pressure_test_acquisition_job/v1_1_0.py +218 -0
  565. osdu_models/masterdata/well_pressure_test_acquisition_job/v1_2_0.py +250 -0
  566. osdu_models/masterdata/well_site_structure/__init__.py +2 -0
  567. osdu_models/masterdata/well_site_structure/v1_0_0.py +164 -0
  568. osdu_models/masterdata/wellbore/__init__.py +2 -0
  569. osdu_models/masterdata/wellbore/v1_0_0.py +105 -0
  570. osdu_models/masterdata/wellbore/v1_1_0.py +264 -0
  571. osdu_models/masterdata/wellbore/v1_1_1.py +264 -0
  572. osdu_models/masterdata/wellbore/v1_2_0.py +264 -0
  573. osdu_models/masterdata/wellbore/v1_3_0.py +304 -0
  574. osdu_models/masterdata/wellbore/v1_4_0.py +304 -0
  575. osdu_models/masterdata/wellbore/v1_5_0.py +304 -0
  576. osdu_models/masterdata/wellbore/v1_5_1.py +304 -0
  577. osdu_models/masterdata/wellbore_architecture/__init__.py +2 -0
  578. osdu_models/masterdata/wellbore_architecture/v1_0_0.py +75 -0
  579. osdu_models/masterdata/wellbore_architecture/v1_1_0.py +75 -0
  580. osdu_models/masterdata/wellbore_architecture/v1_2_0.py +79 -0
  581. osdu_models/masterdata/wellbore_hold_up_depth/__init__.py +2 -0
  582. osdu_models/masterdata/wellbore_hold_up_depth/v1_0_0.py +218 -0
  583. osdu_models/masterdata/wellbore_opening/__init__.py +2 -0
  584. osdu_models/masterdata/wellbore_opening/v1_0_0.py +129 -0
  585. osdu_models/masterdata/wellbore_opening/v1_1_0.py +138 -0
  586. osdu_models/masterdata/wellbore_opening/v1_2_0.py +138 -0
  587. osdu_models/workproductcomponent/__init__.py +2 -0
  588. osdu_models/workproductcomponent/activity/__init__.py +2 -0
  589. osdu_models/workproductcomponent/activity/v1_0_0.py +28 -0
  590. osdu_models/workproductcomponent/activity/v1_1_0.py +28 -0
  591. osdu_models/workproductcomponent/activity/v1_2_0.py +28 -0
  592. osdu_models/workproductcomponent/activity/v1_3_0.py +28 -0
  593. osdu_models/workproductcomponent/activity/v1_4_0.py +28 -0
  594. osdu_models/workproductcomponent/aquifer_interpretation/__init__.py +2 -0
  595. osdu_models/workproductcomponent/aquifer_interpretation/v1_0_0.py +246 -0
  596. osdu_models/workproductcomponent/aquifer_interpretation/v1_1_0.py +271 -0
  597. osdu_models/workproductcomponent/aquifer_interpretation/v1_2_0.py +275 -0
  598. osdu_models/workproductcomponent/biostratigraphic_study/__init__.py +2 -0
  599. osdu_models/workproductcomponent/biostratigraphic_study/v1_0_0.py +96 -0
  600. osdu_models/workproductcomponent/cement_job/__init__.py +2 -0
  601. osdu_models/workproductcomponent/cement_job/v1_0_0.py +2855 -0
  602. osdu_models/workproductcomponent/cement_job/v1_1_0.py +2875 -0
  603. osdu_models/workproductcomponent/cement_job/v1_2_0.py +2875 -0
  604. osdu_models/workproductcomponent/cement_job/v1_3_0.py +2934 -0
  605. osdu_models/workproductcomponent/collaboration_project_collection/__init__.py +2 -0
  606. osdu_models/workproductcomponent/collaboration_project_collection/v1_0_0.py +43 -0
  607. osdu_models/workproductcomponent/column_based_table/__init__.py +2 -0
  608. osdu_models/workproductcomponent/column_based_table/v1_0_0.py +101 -0
  609. osdu_models/workproductcomponent/column_based_table/v1_1_0.py +101 -0
  610. osdu_models/workproductcomponent/column_based_table/v1_2_0.py +101 -0
  611. osdu_models/workproductcomponent/column_based_table/v1_3_0.py +110 -0
  612. osdu_models/workproductcomponent/column_based_table/v1_4_0.py +126 -0
  613. osdu_models/workproductcomponent/data_quality/__init__.py +2 -0
  614. osdu_models/workproductcomponent/data_quality/v1_0_0.py +41 -0
  615. osdu_models/workproductcomponent/data_quality/v1_1_0.py +41 -0
  616. osdu_models/workproductcomponent/data_quality/v1_2_0.py +41 -0
  617. osdu_models/workproductcomponent/data_quality/v1_3_0.py +41 -0
  618. osdu_models/workproductcomponent/data_quality/v2_0_0.py +209 -0
  619. osdu_models/workproductcomponent/data_quality_summary/__init__.py +2 -0
  620. osdu_models/workproductcomponent/data_quality_summary/v1_0_0.py +151 -0
  621. osdu_models/workproductcomponent/document/__init__.py +2 -0
  622. osdu_models/workproductcomponent/document/v1_0_0.py +55 -0
  623. osdu_models/workproductcomponent/document/v1_1_0.py +55 -0
  624. osdu_models/workproductcomponent/document/v1_2_0.py +55 -0
  625. osdu_models/workproductcomponent/document/v1_3_0.py +88 -0
  626. osdu_models/workproductcomponent/document/v2_0_0.py +95 -0
  627. osdu_models/workproductcomponent/downtime_event/__init__.py +2 -0
  628. osdu_models/workproductcomponent/downtime_event/v1_0_0.py +323 -0
  629. osdu_models/workproductcomponent/earth_model_interpretation/__init__.py +2 -0
  630. osdu_models/workproductcomponent/earth_model_interpretation/v1_0_0.py +338 -0
  631. osdu_models/workproductcomponent/earth_model_interpretation/v1_1_0.py +363 -0
  632. osdu_models/workproductcomponent/earth_model_interpretation/v1_2_0.py +367 -0
  633. osdu_models/workproductcomponent/fault_interpretation/__init__.py +2 -0
  634. osdu_models/workproductcomponent/fault_interpretation/v1_0_0.py +118 -0
  635. osdu_models/workproductcomponent/fault_interpretation/v1_1_0.py +118 -0
  636. osdu_models/workproductcomponent/fault_interpretation/v1_2_0.py +118 -0
  637. osdu_models/workproductcomponent/fault_interpretation/v1_3_0.py +132 -0
  638. osdu_models/workproductcomponent/fault_system/__init__.py +2 -0
  639. osdu_models/workproductcomponent/fault_system/v1_0_0.py +217 -0
  640. osdu_models/workproductcomponent/fault_system/v1_1_0.py +256 -0
  641. osdu_models/workproductcomponent/fault_system/v1_2_0.py +267 -0
  642. osdu_models/workproductcomponent/fault_system/v1_3_0.py +267 -0
  643. osdu_models/workproductcomponent/fault_system/v1_4_0.py +267 -0
  644. osdu_models/workproductcomponent/fault_system/v1_4_1.py +267 -0
  645. osdu_models/workproductcomponent/flow_test/__init__.py +2 -0
  646. osdu_models/workproductcomponent/flow_test/v1_0_0.py +170 -0
  647. osdu_models/workproductcomponent/fluid_boundary_interpretation/__init__.py +2 -0
  648. osdu_models/workproductcomponent/fluid_boundary_interpretation/v1_0_0.py +261 -0
  649. osdu_models/workproductcomponent/fluid_boundary_interpretation/v1_1_0.py +286 -0
  650. osdu_models/workproductcomponent/fluid_boundary_interpretation/v1_2_0.py +290 -0
  651. osdu_models/workproductcomponent/fluid_model/__init__.py +2 -0
  652. osdu_models/workproductcomponent/fluid_model/v1_0_0.py +203 -0
  653. osdu_models/workproductcomponent/formation_integrity_test/__init__.py +2 -0
  654. osdu_models/workproductcomponent/formation_integrity_test/v1_0_0.py +745 -0
  655. osdu_models/workproductcomponent/formation_integrity_test/v1_1_0.py +745 -0
  656. osdu_models/workproductcomponent/formation_integrity_test/v1_2_0.py +757 -0
  657. osdu_models/workproductcomponent/generic_image/__init__.py +2 -0
  658. osdu_models/workproductcomponent/generic_image/v1_0_0.py +31 -0
  659. osdu_models/workproductcomponent/generic_image/v1_1_0.py +31 -0
  660. osdu_models/workproductcomponent/generic_image/v1_2_0.py +31 -0
  661. osdu_models/workproductcomponent/generic_property/__init__.py +2 -0
  662. osdu_models/workproductcomponent/generic_property/v1_0_0.py +111 -0
  663. osdu_models/workproductcomponent/generic_property/v1_1_0.py +111 -0
  664. osdu_models/workproductcomponent/generic_property/v1_2_0.py +111 -0
  665. osdu_models/workproductcomponent/generic_property/v1_3_0.py +111 -0
  666. osdu_models/workproductcomponent/generic_representation/__init__.py +2 -0
  667. osdu_models/workproductcomponent/generic_representation/v1_0_0.py +54 -0
  668. osdu_models/workproductcomponent/generic_representation/v1_1_0.py +54 -0
  669. osdu_models/workproductcomponent/generic_representation/v1_2_0.py +54 -0
  670. osdu_models/workproductcomponent/geo_label_set/__init__.py +2 -0
  671. osdu_models/workproductcomponent/geo_label_set/v1_0_0.py +38 -0
  672. osdu_models/workproductcomponent/geo_label_set/v1_1_0.py +46 -0
  673. osdu_models/workproductcomponent/geo_referenced_image/__init__.py +2 -0
  674. osdu_models/workproductcomponent/geo_referenced_image/v1_0_0.py +86 -0
  675. osdu_models/workproductcomponent/geo_referenced_image/v1_1_0.py +83 -0
  676. osdu_models/workproductcomponent/geo_referenced_image/v1_2_0.py +83 -0
  677. osdu_models/workproductcomponent/geo_referenced_image/v1_3_0.py +83 -0
  678. osdu_models/workproductcomponent/geobody_boundary_interpretation/__init__.py +2 -0
  679. osdu_models/workproductcomponent/geobody_boundary_interpretation/v1_0_0.py +37 -0
  680. osdu_models/workproductcomponent/geobody_boundary_interpretation/v1_1_0.py +37 -0
  681. osdu_models/workproductcomponent/geobody_boundary_interpretation/v1_2_0.py +37 -0
  682. osdu_models/workproductcomponent/geobody_interpretation/__init__.py +2 -0
  683. osdu_models/workproductcomponent/geobody_interpretation/v1_0_0.py +276 -0
  684. osdu_models/workproductcomponent/geobody_interpretation/v1_1_0.py +301 -0
  685. osdu_models/workproductcomponent/geobody_interpretation/v1_2_0.py +305 -0
  686. osdu_models/workproductcomponent/geobody_interpretation/v1_3_0.py +354 -0
  687. osdu_models/workproductcomponent/geologic_unit_occurrence_interpretation/__init__.py +2 -0
  688. osdu_models/workproductcomponent/geologic_unit_occurrence_interpretation/v1_0_0.py +76 -0
  689. osdu_models/workproductcomponent/geologic_unit_occurrence_interpretation/v1_1_0.py +76 -0
  690. osdu_models/workproductcomponent/geologic_unit_occurrence_interpretation/v1_2_0.py +76 -0
  691. osdu_models/workproductcomponent/gp_grid_representation/__init__.py +2 -0
  692. osdu_models/workproductcomponent/gp_grid_representation/v1_0_0.py +49 -0
  693. osdu_models/workproductcomponent/gp_grid_representation/v1_1_0.py +49 -0
  694. osdu_models/workproductcomponent/gp_grid_representation/v1_2_0.py +49 -0
  695. osdu_models/workproductcomponent/grid_connection_set_representation/__init__.py +2 -0
  696. osdu_models/workproductcomponent/grid_connection_set_representation/v1_0_0.py +72 -0
  697. osdu_models/workproductcomponent/grid_connection_set_representation/v1_1_0.py +72 -0
  698. osdu_models/workproductcomponent/grid_connection_set_representation/v1_2_0.py +72 -0
  699. osdu_models/workproductcomponent/horizon_interpretation/__init__.py +2 -0
  700. osdu_models/workproductcomponent/horizon_interpretation/v1_0_0.py +66 -0
  701. osdu_models/workproductcomponent/horizon_interpretation/v1_1_0.py +66 -0
  702. osdu_models/workproductcomponent/horizon_interpretation/v1_2_0.py +66 -0
  703. osdu_models/workproductcomponent/ijk_grid_numerical_aquifer_representation/__init__.py +2 -0
  704. osdu_models/workproductcomponent/ijk_grid_numerical_aquifer_representation/v1_0_0.py +375 -0
  705. osdu_models/workproductcomponent/ijk_grid_numerical_aquifer_representation/v1_1_0.py +400 -0
  706. osdu_models/workproductcomponent/ijk_grid_numerical_aquifer_representation/v1_2_0.py +400 -0
  707. osdu_models/workproductcomponent/ijk_grid_representation/__init__.py +2 -0
  708. osdu_models/workproductcomponent/ijk_grid_representation/v1_0_0.py +30 -0
  709. osdu_models/workproductcomponent/ijk_grid_representation/v1_1_0.py +30 -0
  710. osdu_models/workproductcomponent/ijk_grid_representation/v1_2_0.py +30 -0
  711. osdu_models/workproductcomponent/local_boundary_feature/__init__.py +2 -0
  712. osdu_models/workproductcomponent/local_boundary_feature/v1_0_0.py +31 -0
  713. osdu_models/workproductcomponent/local_boundary_feature/v1_1_0.py +31 -0
  714. osdu_models/workproductcomponent/local_boundary_feature/v1_2_0.py +31 -0
  715. osdu_models/workproductcomponent/local_model_compound_crs/__init__.py +2 -0
  716. osdu_models/workproductcomponent/local_model_compound_crs/v1_0_0.py +22 -0
  717. osdu_models/workproductcomponent/local_model_compound_crs/v1_1_0.py +22 -0
  718. osdu_models/workproductcomponent/local_model_compound_crs/v1_2_0.py +22 -0
  719. osdu_models/workproductcomponent/local_model_feature/__init__.py +2 -0
  720. osdu_models/workproductcomponent/local_model_feature/v1_0_0.py +29 -0
  721. osdu_models/workproductcomponent/local_model_feature/v1_1_0.py +29 -0
  722. osdu_models/workproductcomponent/local_model_feature/v1_2_0.py +29 -0
  723. osdu_models/workproductcomponent/local_rock_volume_feature/__init__.py +2 -0
  724. osdu_models/workproductcomponent/local_rock_volume_feature/v1_0_0.py +31 -0
  725. osdu_models/workproductcomponent/local_rock_volume_feature/v1_1_0.py +31 -0
  726. osdu_models/workproductcomponent/local_rock_volume_feature/v1_2_0.py +31 -0
  727. osdu_models/workproductcomponent/notional_seismic_line/__init__.py +2 -0
  728. osdu_models/workproductcomponent/notional_seismic_line/v1_0_0.py +26 -0
  729. osdu_models/workproductcomponent/notional_seismic_line/v1_1_0.py +26 -0
  730. osdu_models/workproductcomponent/notional_seismic_line/v1_2_0.py +26 -0
  731. osdu_models/workproductcomponent/notional_seismic_processing_product/__init__.py +2 -0
  732. osdu_models/workproductcomponent/notional_seismic_processing_product/v1_0_0.py +33 -0
  733. osdu_models/workproductcomponent/persisted_collection/__init__.py +2 -0
  734. osdu_models/workproductcomponent/persisted_collection/v1_0_0.py +260 -0
  735. osdu_models/workproductcomponent/persisted_collection/v1_1_0.py +285 -0
  736. osdu_models/workproductcomponent/persisted_collection/v1_2_0.py +285 -0
  737. osdu_models/workproductcomponent/planned_lithology/__init__.py +2 -0
  738. osdu_models/workproductcomponent/planned_lithology/v1_0_0.py +141 -0
  739. osdu_models/workproductcomponent/planned_lithology/v1_1_0.py +141 -0
  740. osdu_models/workproductcomponent/planned_lithology/v1_2_0.py +141 -0
  741. osdu_models/workproductcomponent/ppfgdataset/__init__.py +2 -0
  742. osdu_models/workproductcomponent/ppfgdataset/v1_0_0.py +199 -0
  743. osdu_models/workproductcomponent/ppfgdataset/v1_1_0.py +203 -0
  744. osdu_models/workproductcomponent/ppfgdataset/v1_2_0.py +203 -0
  745. osdu_models/workproductcomponent/processed_in_sar/__init__.py +2 -0
  746. osdu_models/workproductcomponent/processed_in_sar/v1_0_0.py +223 -0
  747. osdu_models/workproductcomponent/processed_in_sar/v1_1_0.py +223 -0
  748. osdu_models/workproductcomponent/processed_in_sar/v1_2_0.py +223 -0
  749. osdu_models/workproductcomponent/production_values/__init__.py +2 -0
  750. osdu_models/workproductcomponent/production_values/v1_0_0.py +212 -0
  751. osdu_models/workproductcomponent/production_values/v1_1_0.py +212 -0
  752. osdu_models/workproductcomponent/production_values/v1_1_1.py +212 -0
  753. osdu_models/workproductcomponent/reservoir_compartment_interpretation/__init__.py +2 -0
  754. osdu_models/workproductcomponent/reservoir_compartment_interpretation/v1_0_0.py +314 -0
  755. osdu_models/workproductcomponent/reservoir_compartment_interpretation/v1_1_0.py +339 -0
  756. osdu_models/workproductcomponent/reservoir_compartment_interpretation/v1_2_0.py +343 -0
  757. osdu_models/workproductcomponent/reservoir_estimated_volumes/__init__.py +2 -0
  758. osdu_models/workproductcomponent/reservoir_estimated_volumes/v1_0_0.py +67 -0
  759. osdu_models/workproductcomponent/reservoir_estimated_volumes/v1_1_0.py +67 -0
  760. osdu_models/workproductcomponent/reservoir_estimated_volumes/v1_1_1.py +67 -0
  761. osdu_models/workproductcomponent/reservoir_model_scenario/__init__.py +2 -0
  762. osdu_models/workproductcomponent/reservoir_model_scenario/v1_0_0.py +58 -0
  763. osdu_models/workproductcomponent/reservoir_simulation_equilibrium_model/__init__.py +2 -0
  764. osdu_models/workproductcomponent/reservoir_simulation_equilibrium_model/v1_0_0.py +397 -0
  765. osdu_models/workproductcomponent/reservoir_simulation_model/__init__.py +2 -0
  766. osdu_models/workproductcomponent/reservoir_simulation_model/v1_0_0.py +230 -0
  767. osdu_models/workproductcomponent/reservoir_simulation_rock_physics_model/__init__.py +2 -0
  768. osdu_models/workproductcomponent/reservoir_simulation_rock_physics_model/v1_0_0.py +131 -0
  769. osdu_models/workproductcomponent/reservoir_simulation_run_configuration/__init__.py +2 -0
  770. osdu_models/workproductcomponent/reservoir_simulation_run_configuration/v1_0_0.py +90 -0
  771. osdu_models/workproductcomponent/rock_fluid_organization_interpretation/__init__.py +2 -0
  772. osdu_models/workproductcomponent/rock_fluid_organization_interpretation/v1_0_0.py +263 -0
  773. osdu_models/workproductcomponent/rock_fluid_organization_interpretation/v1_1_0.py +288 -0
  774. osdu_models/workproductcomponent/rock_fluid_organization_interpretation/v1_2_0.py +292 -0
  775. osdu_models/workproductcomponent/rock_fluid_unit_interpretation/__init__.py +2 -0
  776. osdu_models/workproductcomponent/rock_fluid_unit_interpretation/v1_0_0.py +285 -0
  777. osdu_models/workproductcomponent/rock_fluid_unit_interpretation/v1_1_0.py +310 -0
  778. osdu_models/workproductcomponent/rock_fluid_unit_interpretation/v1_2_0.py +314 -0
  779. osdu_models/workproductcomponent/rock_fluid_unit_interpretation/v1_3_0.py +363 -0
  780. osdu_models/workproductcomponent/rock_image/__init__.py +2 -0
  781. osdu_models/workproductcomponent/rock_image/v1_0_0.py +130 -0
  782. osdu_models/workproductcomponent/rock_image/v1_1_0.py +130 -0
  783. osdu_models/workproductcomponent/rock_image/v1_2_0.py +130 -0
  784. osdu_models/workproductcomponent/rock_image/v1_3_0.py +137 -0
  785. osdu_models/workproductcomponent/rock_image/v1_3_1.py +137 -0
  786. osdu_models/workproductcomponent/rock_sample_analysis/__init__.py +2 -0
  787. osdu_models/workproductcomponent/rock_sample_analysis/v1_0_0.py +327 -0
  788. osdu_models/workproductcomponent/rock_sample_analysis/v1_1_0.py +391 -0
  789. osdu_models/workproductcomponent/rock_sample_analysis/v1_2_0.py +391 -0
  790. osdu_models/workproductcomponent/rock_sample_analysis/v1_3_0.py +391 -0
  791. osdu_models/workproductcomponent/rock_sample_analysis/v1_3_1.py +391 -0
  792. osdu_models/workproductcomponent/sample_image/__init__.py +2 -0
  793. osdu_models/workproductcomponent/sample_image/v1_0_0.py +129 -0
  794. osdu_models/workproductcomponent/sample_image/v1_1_0.py +269 -0
  795. osdu_models/workproductcomponent/samples_analyses_report/__init__.py +2 -0
  796. osdu_models/workproductcomponent/samples_analyses_report/v1_0_0.py +129 -0
  797. osdu_models/workproductcomponent/samples_analysis/__init__.py +2 -0
  798. osdu_models/workproductcomponent/samples_analysis/v1_0_0.py +143 -0
  799. osdu_models/workproductcomponent/samples_analysis/v2_0_0.py +137 -0
  800. osdu_models/workproductcomponent/saturation_function_set/__init__.py +2 -0
  801. osdu_models/workproductcomponent/saturation_function_set/v1_0_0.py +174 -0
  802. osdu_models/workproductcomponent/sealed_surface_framework/__init__.py +2 -0
  803. osdu_models/workproductcomponent/sealed_surface_framework/v1_0_0.py +310 -0
  804. osdu_models/workproductcomponent/sealed_surface_framework/v1_1_0.py +335 -0
  805. osdu_models/workproductcomponent/sealed_surface_framework/v1_2_0.py +335 -0
  806. osdu_models/workproductcomponent/sealed_volume_framework/__init__.py +2 -0
  807. osdu_models/workproductcomponent/sealed_volume_framework/v1_0_0.py +308 -0
  808. osdu_models/workproductcomponent/sealed_volume_framework/v1_1_0.py +333 -0
  809. osdu_models/workproductcomponent/sealed_volume_framework/v1_2_0.py +333 -0
  810. osdu_models/workproductcomponent/seismic_acquisition_documents/__init__.py +2 -0
  811. osdu_models/workproductcomponent/seismic_acquisition_documents/v1_0_0.py +116 -0
  812. osdu_models/workproductcomponent/seismic_acquisition_documents/v1_1_0.py +116 -0
  813. osdu_models/workproductcomponent/seismic_acquisition_documents/v2_0_0.py +139 -0
  814. osdu_models/workproductcomponent/seismic_bin_grid/__init__.py +2 -0
  815. osdu_models/workproductcomponent/seismic_bin_grid/v1_0_0.py +28 -0
  816. osdu_models/workproductcomponent/seismic_bin_grid/v1_1_0.py +28 -0
  817. osdu_models/workproductcomponent/seismic_bin_grid/v1_2_0.py +28 -0
  818. osdu_models/workproductcomponent/seismic_bin_grid/v1_3_0.py +28 -0
  819. osdu_models/workproductcomponent/seismic_fault/__init__.py +2 -0
  820. osdu_models/workproductcomponent/seismic_fault/v1_0_0.py +160 -0
  821. osdu_models/workproductcomponent/seismic_fault/v1_1_0.py +160 -0
  822. osdu_models/workproductcomponent/seismic_fault/v1_2_0.py +160 -0
  823. osdu_models/workproductcomponent/seismic_fault/v1_3_0.py +179 -0
  824. osdu_models/workproductcomponent/seismic_fault/v2_0_0.py +433 -0
  825. osdu_models/workproductcomponent/seismic_field_trace_data/__init__.py +2 -0
  826. osdu_models/workproductcomponent/seismic_field_trace_data/v1_0_0.py +272 -0
  827. osdu_models/workproductcomponent/seismic_field_trace_data/v1_1_0.py +272 -0
  828. osdu_models/workproductcomponent/seismic_horizon/__init__.py +2 -0
  829. osdu_models/workproductcomponent/seismic_horizon/v1_0_0.py +226 -0
  830. osdu_models/workproductcomponent/seismic_horizon/v1_1_0.py +258 -0
  831. osdu_models/workproductcomponent/seismic_horizon/v1_2_0.py +258 -0
  832. osdu_models/workproductcomponent/seismic_horizon/v1_3_0.py +258 -0
  833. osdu_models/workproductcomponent/seismic_horizon/v2_0_0.py +475 -0
  834. osdu_models/workproductcomponent/seismic_line_geometry/__init__.py +2 -0
  835. osdu_models/workproductcomponent/seismic_line_geometry/v1_0_0.py +82 -0
  836. osdu_models/workproductcomponent/seismic_line_geometry/v1_1_0.py +82 -0
  837. osdu_models/workproductcomponent/seismic_line_geometry/v1_2_0.py +82 -0
  838. osdu_models/workproductcomponent/seismic_trace_data/__init__.py +2 -0
  839. osdu_models/workproductcomponent/seismic_trace_data/v1_0_0.py +376 -0
  840. osdu_models/workproductcomponent/seismic_trace_data/v1_1_0.py +470 -0
  841. osdu_models/workproductcomponent/seismic_trace_data/v1_2_0.py +497 -0
  842. osdu_models/workproductcomponent/seismic_trace_data/v1_3_0.py +515 -0
  843. osdu_models/workproductcomponent/seismic_trace_data/v1_4_0.py +515 -0
  844. osdu_models/workproductcomponent/seismic_trace_data/v1_5_0.py +515 -0
  845. osdu_models/workproductcomponent/seismic_trace_data/v1_5_1.py +515 -0
  846. osdu_models/workproductcomponent/seismic_trace_data/v1_6_0.py +535 -0
  847. osdu_models/workproductcomponent/soil_gas_monitoring/__init__.py +2 -0
  848. osdu_models/workproductcomponent/soil_gas_monitoring/v1_0_0.py +119 -0
  849. osdu_models/workproductcomponent/soil_gas_monitoring/v1_1_0.py +119 -0
  850. osdu_models/workproductcomponent/stimulation_job/__init__.py +2 -0
  851. osdu_models/workproductcomponent/stimulation_job/v1_0_0.py +285 -0
  852. osdu_models/workproductcomponent/stimulation_job/v1_1_0.py +333 -0
  853. osdu_models/workproductcomponent/stimulation_stage/__init__.py +2 -0
  854. osdu_models/workproductcomponent/stimulation_stage/v1_0_0.py +1768 -0
  855. osdu_models/workproductcomponent/stratigraphic_column/__init__.py +2 -0
  856. osdu_models/workproductcomponent/stratigraphic_column/v1_0_0.py +57 -0
  857. osdu_models/workproductcomponent/stratigraphic_column/v1_1_0.py +57 -0
  858. osdu_models/workproductcomponent/stratigraphic_column/v1_2_0.py +57 -0
  859. osdu_models/workproductcomponent/stratigraphic_column_rank_interpretation/__init__.py +2 -0
  860. osdu_models/workproductcomponent/stratigraphic_column_rank_interpretation/v1_0_0.py +89 -0
  861. osdu_models/workproductcomponent/stratigraphic_column_rank_interpretation/v1_1_0.py +110 -0
  862. osdu_models/workproductcomponent/stratigraphic_column_rank_interpretation/v1_2_0.py +110 -0
  863. osdu_models/workproductcomponent/stratigraphic_column_rank_interpretation/v1_3_0.py +110 -0
  864. osdu_models/workproductcomponent/stratigraphic_unit_interpretation/__init__.py +2 -0
  865. osdu_models/workproductcomponent/stratigraphic_unit_interpretation/v1_0_0.py +340 -0
  866. osdu_models/workproductcomponent/stratigraphic_unit_interpretation/v1_1_0.py +365 -0
  867. osdu_models/workproductcomponent/stratigraphic_unit_interpretation/v1_2_0.py +369 -0
  868. osdu_models/workproductcomponent/stratigraphic_unit_interpretation/v1_3_0.py +418 -0
  869. osdu_models/workproductcomponent/structural_organization_interpretation/__init__.py +2 -0
  870. osdu_models/workproductcomponent/structural_organization_interpretation/v1_0_0.py +280 -0
  871. osdu_models/workproductcomponent/structural_organization_interpretation/v1_1_0.py +305 -0
  872. osdu_models/workproductcomponent/structural_organization_interpretation/v1_2_0.py +309 -0
  873. osdu_models/workproductcomponent/sub_representation/__init__.py +2 -0
  874. osdu_models/workproductcomponent/sub_representation/v1_0_0.py +77 -0
  875. osdu_models/workproductcomponent/sub_representation/v1_1_0.py +77 -0
  876. osdu_models/workproductcomponent/sub_representation/v1_2_0.py +77 -0
  877. osdu_models/workproductcomponent/time_series/__init__.py +2 -0
  878. osdu_models/workproductcomponent/time_series/v1_0_0.py +31 -0
  879. osdu_models/workproductcomponent/time_series/v1_1_0.py +31 -0
  880. osdu_models/workproductcomponent/time_series/v1_2_0.py +31 -0
  881. osdu_models/workproductcomponent/tubular_assembly/__init__.py +2 -0
  882. osdu_models/workproductcomponent/tubular_assembly/v1_0_0.py +178 -0
  883. osdu_models/workproductcomponent/tubular_assembly/v1_1_0.py +183 -0
  884. osdu_models/workproductcomponent/tubular_assembly/v1_2_0.py +216 -0
  885. osdu_models/workproductcomponent/tubular_assembly/v1_3_0.py +216 -0
  886. osdu_models/workproductcomponent/tubular_component/__init__.py +2 -0
  887. osdu_models/workproductcomponent/tubular_component/v1_0_0.py +187 -0
  888. osdu_models/workproductcomponent/tubular_component/v1_1_0.py +187 -0
  889. osdu_models/workproductcomponent/tubular_component/v1_2_0.py +187 -0
  890. osdu_models/workproductcomponent/tubular_component/v1_3_0.py +187 -0
  891. osdu_models/workproductcomponent/tubular_external_component/__init__.py +2 -0
  892. osdu_models/workproductcomponent/tubular_external_component/v1_0_0.py +317 -0
  893. osdu_models/workproductcomponent/tubular_external_component/v1_1_0.py +342 -0
  894. osdu_models/workproductcomponent/tubular_umbilical/__init__.py +2 -0
  895. osdu_models/workproductcomponent/tubular_umbilical/v1_0_0.py +74 -0
  896. osdu_models/workproductcomponent/tubular_umbilical/v1_1_0.py +74 -0
  897. osdu_models/workproductcomponent/tubular_umbilical/v1_2_0.py +74 -0
  898. osdu_models/workproductcomponent/unsealed_surface_framework/__init__.py +2 -0
  899. osdu_models/workproductcomponent/unsealed_surface_framework/v1_0_0.py +330 -0
  900. osdu_models/workproductcomponent/unsealed_surface_framework/v1_1_0.py +350 -0
  901. osdu_models/workproductcomponent/unsealed_surface_framework/v1_2_0.py +375 -0
  902. osdu_models/workproductcomponent/unsealed_surface_framework/v1_3_0.py +375 -0
  903. osdu_models/workproductcomponent/unsealed_surface_framework/v1_3_1.py +375 -0
  904. osdu_models/workproductcomponent/unstructured_column_layer_grid_representation/__init__.py +2 -0
  905. osdu_models/workproductcomponent/unstructured_column_layer_grid_representation/v1_0_0.py +32 -0
  906. osdu_models/workproductcomponent/unstructured_column_layer_grid_representation/v1_1_0.py +32 -0
  907. osdu_models/workproductcomponent/unstructured_column_layer_grid_representation/v1_2_0.py +32 -0
  908. osdu_models/workproductcomponent/unstructured_grid_representation/__init__.py +2 -0
  909. osdu_models/workproductcomponent/unstructured_grid_representation/v1_0_0.py +32 -0
  910. osdu_models/workproductcomponent/unstructured_grid_representation/v1_1_0.py +32 -0
  911. osdu_models/workproductcomponent/unstructured_grid_representation/v1_2_0.py +32 -0
  912. osdu_models/workproductcomponent/velocity_modeling/__init__.py +2 -0
  913. osdu_models/workproductcomponent/velocity_modeling/v1_0_0.py +218 -0
  914. osdu_models/workproductcomponent/velocity_modeling/v1_1_0.py +229 -0
  915. osdu_models/workproductcomponent/velocity_modeling/v1_2_0.py +229 -0
  916. osdu_models/workproductcomponent/velocity_modeling/v1_3_0.py +229 -0
  917. osdu_models/workproductcomponent/velocity_modeling/v1_4_0.py +265 -0
  918. osdu_models/workproductcomponent/voidage_group_interpretation/__init__.py +2 -0
  919. osdu_models/workproductcomponent/voidage_group_interpretation/v1_0_0.py +302 -0
  920. osdu_models/workproductcomponent/voidage_group_interpretation/v1_1_0.py +327 -0
  921. osdu_models/workproductcomponent/voidage_group_interpretation/v1_2_0.py +331 -0
  922. osdu_models/workproductcomponent/well_fluids_report/__init__.py +2 -0
  923. osdu_models/workproductcomponent/well_fluids_report/v2_0_0.py +679 -0
  924. osdu_models/workproductcomponent/well_log/__init__.py +2 -0
  925. osdu_models/workproductcomponent/well_log/v1_0_0.py +231 -0
  926. osdu_models/workproductcomponent/well_log/v1_1_0.py +295 -0
  927. osdu_models/workproductcomponent/well_log/v1_2_0.py +324 -0
  928. osdu_models/workproductcomponent/well_log/v1_3_0.py +342 -0
  929. osdu_models/workproductcomponent/well_log/v1_4_0.py +342 -0
  930. osdu_models/workproductcomponent/well_log/v1_5_0.py +424 -0
  931. osdu_models/workproductcomponent/well_maasp/__init__.py +2 -0
  932. osdu_models/workproductcomponent/well_maasp/v1_0_0.py +70 -0
  933. osdu_models/workproductcomponent/well_operations_report/__init__.py +2 -0
  934. osdu_models/workproductcomponent/well_operations_report/v2_0_0.py +1994 -0
  935. osdu_models/workproductcomponent/well_operations_report/v2_1_0.py +2063 -0
  936. osdu_models/workproductcomponent/well_ops_non_productive_time/__init__.py +2 -0
  937. osdu_models/workproductcomponent/well_ops_non_productive_time/v1_0_0.py +856 -0
  938. osdu_models/workproductcomponent/well_pressure_test_interpretation/__init__.py +2 -0
  939. osdu_models/workproductcomponent/well_pressure_test_interpretation/v1_0_0.py +354 -0
  940. osdu_models/workproductcomponent/well_pressure_test_raw_measurement/__init__.py +2 -0
  941. osdu_models/workproductcomponent/well_pressure_test_raw_measurement/v1_0_0.py +231 -0
  942. osdu_models/workproductcomponent/well_pressure_test_raw_measurement/v1_1_0.py +279 -0
  943. osdu_models/workproductcomponent/wellbore_interval_set/__init__.py +2 -0
  944. osdu_models/workproductcomponent/wellbore_interval_set/v1_0_0.py +222 -0
  945. osdu_models/workproductcomponent/wellbore_interval_set/v1_1_0.py +222 -0
  946. osdu_models/workproductcomponent/wellbore_interval_set/v1_2_0.py +222 -0
  947. osdu_models/workproductcomponent/wellbore_interval_set/v1_3_0.py +229 -0
  948. osdu_models/workproductcomponent/wellbore_interval_set/v1_3_1.py +229 -0
  949. osdu_models/workproductcomponent/wellbore_marker_set/__init__.py +2 -0
  950. osdu_models/workproductcomponent/wellbore_marker_set/v1_0_0.py +102 -0
  951. osdu_models/workproductcomponent/wellbore_marker_set/v1_1_0.py +157 -0
  952. osdu_models/workproductcomponent/wellbore_marker_set/v1_2_0.py +192 -0
  953. osdu_models/workproductcomponent/wellbore_marker_set/v1_2_1.py +195 -0
  954. osdu_models/workproductcomponent/wellbore_marker_set/v1_3_0.py +195 -0
  955. osdu_models/workproductcomponent/wellbore_marker_set/v1_4_0.py +195 -0
  956. osdu_models/workproductcomponent/wellbore_marker_set/v1_5_0.py +209 -0
  957. osdu_models/workproductcomponent/wellbore_marker_set/v1_5_1.py +209 -0
  958. osdu_models/workproductcomponent/wellbore_trajectory/__init__.py +2 -0
  959. osdu_models/workproductcomponent/wellbore_trajectory/v1_0_0.py +136 -0
  960. osdu_models/workproductcomponent/wellbore_trajectory/v1_1_0.py +200 -0
  961. osdu_models/workproductcomponent/wellbore_trajectory/v1_2_0.py +276 -0
  962. osdu_models/workproductcomponent/wellbore_trajectory/v1_3_0.py +282 -0
  963. osdu_models/workproductcomponent/wellbore_trajectory/v1_4_0.py +427 -0
  964. osdu_python_models-0.5.0.dist-info/METADATA +182 -0
  965. osdu_python_models-0.5.0.dist-info/RECORD +968 -0
  966. osdu_python_models-0.5.0.dist-info/WHEEL +5 -0
  967. osdu_python_models-0.5.0.dist-info/licenses/LICENSE +201 -0
  968. osdu_python_models-0.5.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2855 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workproductcomponent/cement_job/v1_0_0.json
3
+
4
+ from __future__ import annotations
5
+ from pydantic import BaseModel, ConfigDict, Field, constr
6
+ from typing import Any, Literal
7
+ from ...abstract.abstract_technical_assurance import v1_2_0
8
+ from ...abstract.abstract_alias_names import v1_0_0
9
+ from ...abstract.abstract_spatial_location import v1_1_0
10
+ from ...abstract.abstract_geo_context import v1_0_0 as v1_0_0_1
11
+ from ...abstract.abstract_facility_vertical_measurement import v1_0_0 as v1_0_0_2
12
+
13
+
14
+ class Artefact(BaseModel):
15
+ """
16
+ An array of Artefacts - each artefact has a Role, Resource tuple. An artefact is distinct from the file, in the sense certain valuable information is generated during loading process (Artefact generation process). Examples include retrieving location data, performing an OCR which may result in the generation of artefacts which need to be preserved distinctly
17
+ """
18
+
19
+ model_config = ConfigDict(
20
+ extra='allow',
21
+ )
22
+ RoleID: (
23
+ constr(
24
+ pattern=r'^[\w\-\.]+:reference-data\-\-ArtefactRole:[\w\-\.\:\%]+:[0-9]*$'
25
+ )
26
+ | None
27
+ ) = None
28
+ """
29
+ The record id of this artefact's role.
30
+ """
31
+ ResourceKind: (
32
+ constr(pattern=r'^[\w\-\.]+:[\w\-\.]+:[\w\-\.]+:[0-9]+.[0-9]+.[0-9]+$') | None
33
+ ) = None
34
+ """
35
+ The kind or schema ID of the artefact. Resolvable with the Schema Service.
36
+ """
37
+ ResourceID: (
38
+ constr(pattern=r'^[\w\-\.]+:dataset\-\-[\w\-\.]+:[\w\-\.\:\%]+:[0-9]*$') | None
39
+ ) = None
40
+ """
41
+ The SRN which identifies this OSDU Artefact resource.
42
+ """
43
+
44
+
45
+ class LineageAssertion(BaseModel):
46
+ """
47
+ Defines relationships with other objects (any kind of Resource) upon which this work product component depends. The assertion is directed only from the asserting WPC to ancestor objects, not children. It should not be used to refer to files or artefacts within the WPC -- the association within the WPC is sufficient and Artefacts are actually children of the main WPC file. They should be recorded in the data.Artefacts[] array.
48
+ """
49
+
50
+ model_config = ConfigDict(
51
+ extra='allow',
52
+ )
53
+ ID: constr(pattern=r'^[\w\-\.]+:[\w\-\.]+:[\w\-\.\:\%]+:[0-9]*$') | None = None
54
+ """
55
+ The object reference identifying the DIRECT, INDIRECT, REFERENCE dependency.
56
+ """
57
+ LineageRelationshipType: (
58
+ constr(
59
+ pattern=r'^[\w\-\.]+:reference-data\-\-LineageRelationshipType:[\w\-\.\:\%]+:[0-9]*$'
60
+ )
61
+ | None
62
+ ) = None
63
+ """
64
+ Used by LineageAssertion to describe the nature of the line of descent of a work product component from a prior Resource, such as DIRECT, INDIRECT, REFERENCE. It is not for proximity (number of nodes away), it is not to cover all the relationships in a full ontology or graph, and it is not to describe the type of activity that created the asserting WPC. LineageAssertion does not encompass a full provenance, process history, or activity model.
65
+ """
66
+
67
+
68
+ class CementPlugState(BaseModel):
69
+ """
70
+ Cement Plug status history
71
+ """
72
+
73
+ model_config = ConfigDict(
74
+ extra='allow',
75
+ )
76
+ PlugStatusTypeID: (
77
+ constr(
78
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPlugStatusType:[\w\-\.\:\%]+:[0-9]*$'
79
+ )
80
+ | None
81
+ ) = Field(None, title='Plug Status Type')
82
+ """
83
+ Status Type
84
+ """
85
+ PlugStatusDatetime: str | None = Field(None, title='Status Date/time')
86
+ """
87
+ Status date/time
88
+ """
89
+ PlugStatusRemarks: str | None = Field(None, title='Status Remarks')
90
+ """
91
+ Status Remarks
92
+ """
93
+ PlugStatusTopMeasuredDepth: float | None = Field(None, title='Plug Status Top MD')
94
+ """
95
+ Plug Status Top MD
96
+ """
97
+ PlugStatusBaseMeasuredDepth: float | None = Field(None, title='Plug Status Base MD')
98
+ """
99
+ Plug Status Base MD
100
+ """
101
+
102
+
103
+ class RheometerItem(BaseModel):
104
+ """
105
+ Fluid Fann Viscometer Rheology
106
+ """
107
+
108
+ model_config = ConfigDict(
109
+ extra='allow',
110
+ )
111
+ ViscometerIndex: int | None = Field(None, examples=[1], title='Viscometer Index')
112
+ """
113
+ Viscometer index or sequence number. Used to retain order.
114
+ """
115
+ ViscometerTemperature: float | None = Field(
116
+ None, examples=['80 degF'], title='Viscometer Temperature'
117
+ )
118
+ """
119
+ Viscometer Temperature
120
+ """
121
+ ViscometerTemperatureDirection: (
122
+ constr(
123
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidRheometerTempDirection:[\w\-\.\:\%]+:[0-9]*$'
124
+ )
125
+ | None
126
+ ) = Field(
127
+ None,
128
+ examples=['namespace:reference-data--FluidRheometerTempDirection:Up:'],
129
+ title='Viscometer Temperature Direction',
130
+ )
131
+ """
132
+ Viscometer Temperature Direction
133
+ """
134
+ ViscometerPressure: float | None = Field(None, title='Viscometer Pressure')
135
+ """
136
+ Viscometer Pressure
137
+ """
138
+ Viscometer3RPMDialReading: float | None = Field(
139
+ None, examples=[28], title='3 RPM Dial Reading'
140
+ )
141
+ """
142
+ 3 RPM Dial Reading
143
+ """
144
+ Viscometer6RPMDialReading: float | None = Field(
145
+ None, examples=[32], title='6 RPM Dial Reading'
146
+ )
147
+ """
148
+ 6 RPM Dial Reading
149
+ """
150
+ Viscometer30RPMDialReading: float | None = Field(
151
+ None, examples=[36], title='30 RPM Dial Reading'
152
+ )
153
+ """
154
+ 30 RPM Dial Reading
155
+ """
156
+ Viscometer60RPMDialReading: float | None = Field(
157
+ None, examples=[46], title='60 RPM Dial Reading'
158
+ )
159
+ """
160
+ 60 RPM Dial Reading
161
+ """
162
+ Viscometer100RPMDialReading: float | None = Field(
163
+ None, examples=[66], title='100 RPM Dial Reading'
164
+ )
165
+ """
166
+ 100 RPM Dial Reading
167
+ """
168
+ Viscometer200RPMDialReading: float | None = Field(
169
+ None, examples=[104], title='200 RPM Dial Reading'
170
+ )
171
+ """
172
+ 200 RPM Dial Reading
173
+ """
174
+ Viscometer300RPMDialReading: float | None = Field(
175
+ None, examples=[140], title='300 RPM Dial Reading'
176
+ )
177
+ """
178
+ 300 RPM Dial Reading
179
+ """
180
+ Viscometer600RPMDialReading: float | None = Field(
181
+ None, examples=[238], title='600 RPM Dial Reading'
182
+ )
183
+ """
184
+ 600 RPM Dial Reading
185
+ """
186
+
187
+
188
+ class CompressiveStrengthTestItem(BaseModel):
189
+ """
190
+ Fluid Compressive Strength Test data
191
+ """
192
+
193
+ model_config = ConfigDict(
194
+ extra='allow',
195
+ )
196
+ CompressiveStrengthIndex: int = Field(
197
+ ..., examples=[1], title='Compressive Strength Index'
198
+ )
199
+ """
200
+ Compressive Strength Index
201
+ """
202
+ CompressiveStrengthTestPressure: float | None = Field(
203
+ None, examples=['4600 psi'], title='Compressive Strength Test Pressure'
204
+ )
205
+ """
206
+ Pressure held during Compressive Strength test
207
+ """
208
+ CompressiveStrengthTemperature: float | None = Field(
209
+ None, examples=['60 degF'], title='Compressive Strength Temperature'
210
+ )
211
+ """
212
+ Compressive strength temperature
213
+ """
214
+ CompressiveStrengthElapsedTime: float | None = Field(
215
+ None, examples=['15 h'], title='Compressive Strength Elapsed Time'
216
+ )
217
+ """
218
+ Compressive Strength Elapsed Time
219
+ """
220
+ CompressiveStrengthTransitTime: float | None = Field(
221
+ None, examples=['13 usec/in'], title='Compressive Strength Transit Time'
222
+ )
223
+ """
224
+ Transit Time measured over a set length (microseconds)
225
+ """
226
+ CompressiveStrength: float | None = Field(
227
+ None, examples=['400 psi'], title='Compressive Strength'
228
+ )
229
+ """
230
+ Compressive Strength
231
+ """
232
+
233
+
234
+ class ThickeningTimeTestItem(BaseModel):
235
+ """
236
+ Thickening Time Test data
237
+ """
238
+
239
+ model_config = ConfigDict(
240
+ extra='allow',
241
+ )
242
+ TestIndex: int = Field(..., examples=[1], title='Thickening Test Index')
243
+ """
244
+ Compressive Strength Index
245
+ """
246
+ ThickeningTestConsistency: int | None = Field(
247
+ None, examples=[28], title='Thickening Test Consistency'
248
+ )
249
+ """
250
+ Thickening text consistency/slurry viscosity: Bearden Consistency (Bc) 0 to 100.
251
+ """
252
+ ThickeningTestTemperature: float | None = Field(
253
+ None, examples=['60 degF'], title='Thickening Test Temperature'
254
+ )
255
+ """
256
+ Thickening Test Temperature
257
+ """
258
+ ThickeningTestPressure: float | None = Field(
259
+ None, examples=['5232 psi'], title='Thickening Test Pressure'
260
+ )
261
+ """
262
+ Thickening Test Pressure
263
+ """
264
+ ThickeningTestElapsedTime: float | None = Field(
265
+ None, examples=['90 min'], title='Thickening Test Elapsed Time'
266
+ )
267
+ """
268
+ Thickening Test Elapsed Time
269
+ """
270
+
271
+
272
+ class CementAdditive(BaseModel):
273
+ """
274
+ Additives/chemicals added to a Fluid during a cement job
275
+ """
276
+
277
+ model_config = ConfigDict(
278
+ extra='allow',
279
+ )
280
+ AdditiveIndex: int = Field(..., examples=[1], title='Additive Index')
281
+ """
282
+ Additive index or sequence number. Used to retain order.
283
+ """
284
+ AdditiveNameID: constr(
285
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidAdditiveName:[\w\-\.\:\%]+:[0-9]*$'
286
+ ) = Field(
287
+ ...,
288
+ examples=[
289
+ 'namespace:reference-data--FluidAdditiveName:EZ-Flo_II.PB.percent-bwoc:'
290
+ ],
291
+ title='Additive Name ID',
292
+ )
293
+ """
294
+ Relationship to a FluidAdditiveName reference-data record.
295
+ """
296
+ AdditiveCode: str | None = Field(None, examples=['EZFloII'], title='Additive Code')
297
+ """
298
+ Additive Code
299
+ """
300
+ AdditiveTypeID: (
301
+ constr(
302
+ pattern=r'^[\w\-\.]+:reference-data\-\-AdditiveType:[\w\-\.\:\%]+:[0-9]*$'
303
+ )
304
+ | None
305
+ ) = Field(None, title='Additive Type ID')
306
+ """
307
+ The liquid, solid or gaseous substance used to manipulate the function or properties of a fluid.
308
+ """
309
+ AdditiveRoleID: (
310
+ constr(
311
+ pattern=r'^[\w\-\.]+:reference-data\-\-AdditiveRole:[\w\-\.\:\%]+:[0-9]*$'
312
+ )
313
+ | None
314
+ ) = Field(None, title='Additive Role ID')
315
+ """
316
+ The chief purpose or reason for adding a substance to a fluid used in a downhole operation.
317
+ """
318
+ AdditiveFormulationID: (
319
+ constr(
320
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidAdditiveFormulationType:[\w\-\.\:\%]+:[0-9]*$'
321
+ )
322
+ | None
323
+ ) = Field(None, title='Additive Formulation')
324
+ """
325
+ Additive Formulation - Wet or Dry.
326
+ """
327
+ AdditiveDensity: float | None = Field(None, title='Additive Density')
328
+ """
329
+ Additive density
330
+ """
331
+ AdditiveAmount: float | None = Field(None, title='Additive Amount')
332
+ """
333
+ Additive Amount Used
334
+ """
335
+ AdditiveAmountUoM: (
336
+ constr(
337
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidAdditiveUnitOfMeasure:[\w\-\.\:\%]+:[0-9]*$'
338
+ )
339
+ | None
340
+ ) = Field(
341
+ None,
342
+ examples=['namespace:reference-data--FluidAdditiveUnitOfMeasure:scf:'],
343
+ title='Additive Amount Unit',
344
+ )
345
+ """
346
+ Additive Amount Unit
347
+ """
348
+ AdditiveTypeConcentrationID: (
349
+ constr(
350
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidAdditiveConcentrationType:[\w\-\.\:\%]+:[0-9]*$'
351
+ )
352
+ | None
353
+ ) = Field(None, title='Type Conc')
354
+ """
355
+ ConcentrationType: %BWOC (%By weight of Cement), %BWOB (%By weight of blend), %BWOW (%By weight of water), %BWOBF (%By weight of base fluid)
356
+ """
357
+ AdditiveConcentrationAmount: float | None = Field(
358
+ None, title='Concentration Amount'
359
+ )
360
+ """
361
+ Concentration Amount: unit type depends of typeConc.
362
+ """
363
+ AdditiveConcentrationUnitOfMeasureID: (
364
+ constr(
365
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidAdditiveConcUnitOfMeasure:[\w\-\.\:\%]+:[0-9]*$'
366
+ )
367
+ | None
368
+ ) = Field(None, title='Additive Concentration Unit Of Measure ID')
369
+ """
370
+ Additive Concentration Unit Of Measure
371
+ """
372
+ AdditiveSackMass: float | None = Field(
373
+ None, examples=['94 lbs'], title='Mass of Sack'
374
+ )
375
+ """
376
+ Mass of Sack
377
+ """
378
+ AdditiveLiquidVolume: float | None = Field(None, title='Volume of container')
379
+ """
380
+ Volume of container
381
+ """
382
+ AdditiveMSDSID: str | None = Field(None, title='Additive MSDS ID')
383
+ """
384
+ ID of or URL to Material Safety Data Sheet
385
+ """
386
+ AdditiveRemark: str | None = Field(
387
+ None,
388
+ examples=[
389
+ 'Mix Water was batch mixed, extra chemicals to account for dead volume in the batch mixer'
390
+ ],
391
+ title='Remark',
392
+ )
393
+ """
394
+ Comments or Remarks.
395
+ """
396
+
397
+
398
+ class CementPumpSchedule(BaseModel):
399
+ """
400
+ Cement Pump Schedule Parameters
401
+ """
402
+
403
+ model_config = ConfigDict(
404
+ extra='allow',
405
+ )
406
+ SequenceNumber: int | None = Field(None, examples=[2], title='Sequence Number')
407
+ """
408
+ Sequence Number
409
+ """
410
+ StartDatetime: str | None = Field(
411
+ None, examples=['2020-04-20T08:15:00+0000'], title='Start Date/Time'
412
+ )
413
+ """
414
+ Date/time when the pump schedule interval started.
415
+ """
416
+ EndDatetime: str | None = Field(
417
+ None, examples=['2020-04-20T08:27:30+0000'], title='End Date/Time'
418
+ )
419
+ """
420
+ Date/time when the pump schedule interval ended.
421
+ """
422
+ ElapsedTime: float | None = Field(None, examples=['12.5 min'], title='Elapsed Time')
423
+ """
424
+ Duration of the pumping schedule interval
425
+ """
426
+ PlacementMethod: (
427
+ constr(
428
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPlacementMethod:[\w\-\.\:\%]+:[0-9]*$'
429
+ )
430
+ | None
431
+ ) = Field(
432
+ None,
433
+ examples=[
434
+ 'namespace:reference-data--CementPlacementMethod:ForwardCirculation:'
435
+ ],
436
+ title='Placement Method',
437
+ )
438
+ """
439
+ Placement Method to land cement
440
+ """
441
+ PumpEquipmentType: (
442
+ constr(
443
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPumpEquipmentType:[\w\-\.\:\%]+:[0-9]*$'
444
+ )
445
+ | None
446
+ ) = Field(
447
+ None,
448
+ examples=['namespace:reference-data--CementPumpEquipmentType:CementUnit:'],
449
+ title='Pumping Equipment Type',
450
+ )
451
+ """
452
+ Pumping Equipment Type
453
+ """
454
+ PumpRateMin: float | None = Field(
455
+ None, examples=['2 bbl/min'], title='Pump Rate Minimum'
456
+ )
457
+ """
458
+ Minimum Rate fluid is pumped. 0 means it is a pause.
459
+ """
460
+ PumpRateMax: float | None = Field(
461
+ None, examples=['4 bbl/min'], title='Pump Rate Maximum'
462
+ )
463
+ """
464
+ Maximum Rate fluid is pumped. 0 means it is a pause.
465
+ """
466
+ PumpRateAvg: float | None = Field(
467
+ None, examples=['4 bbl/min'], title='Pump Rate Average'
468
+ )
469
+ """
470
+ Average Rate fluid is pumped. 0 means it is a pause.
471
+ """
472
+ PumpPressureMin: float | None = Field(None, title='Pump Pressure Minimum')
473
+ """
474
+ Pump Pressure Minimum
475
+ """
476
+ PumpPressureMax: float | None = Field(None, title='Pump Pressure Maximum')
477
+ """
478
+ Pump Pressure Maximum
479
+ """
480
+ PumpPressureAvg: float | None = Field(None, title='Pump Pressure Average')
481
+ """
482
+ Pump Pressure Average
483
+ """
484
+ PumpVolume: float | None = Field(None, examples=['50 bbls'], title='Pump Volume')
485
+ """
486
+ Volume pumped = eTimPump * ratePump.
487
+ """
488
+ MixRate: float | None = Field(None, title='Mix Rate')
489
+ """
490
+ Cement slurry mix rate
491
+ """
492
+ PumpStrokesEstimated: int | None = Field(None, title='Pump Strokes Estimated')
493
+ """
494
+ Number of Pump strokes estimated for the fluid to be pumped (assumed pump output known)
495
+ """
496
+ PumpStrokesActual: int | None = Field(None, title='Pump Strokes Actual')
497
+ """
498
+ Number of actual Pump strokes for the fluid to be pumped (assumed pump output known)
499
+ """
500
+ PumpStrokeRate: float | None = Field(None, title='Pump Stroke Rate')
501
+ """
502
+ Pump stroke rate (SPM)
503
+ """
504
+ BackPressure: float | None = Field(None, title='Back Pressure')
505
+ """
506
+ Back pressure applied during pumping stage.
507
+ """
508
+ ShutdownElapsedTime: float | None = Field(None, title='Shutdown Elapsed Time')
509
+ """
510
+ Shutdown Elapsed Time
511
+ """
512
+ ExcessFluidRatio: float | None = Field(None, title='Excess Fluid Ratio')
513
+ """
514
+ The ratio of excess fluid to total fluid pumped during the step
515
+ """
516
+ Remark: str | None = Field(None, title='Remark')
517
+ """
518
+ Remarks
519
+ """
520
+
521
+
522
+ class CementingFluidItem(BaseModel):
523
+ """
524
+ Original mud, washes, spacers, cement and displacement fluid properties.
525
+ """
526
+
527
+ model_config = ConfigDict(
528
+ extra='allow',
529
+ )
530
+ FluidIndex: int = Field(..., examples=[1], title='Fluid Index')
531
+ """
532
+ Cement pumping schedule index or sequence number. Fluid Index: 1: first fluid pumped (=original mud)
533
+ (last-1)=Tail cement, last= displacement mud
534
+ """
535
+ FluidTypeID: (
536
+ constr(
537
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementFluidType:[\w\-\.\:\%]+:[0-9]*$'
538
+ )
539
+ | None
540
+ ) = Field(
541
+ None,
542
+ examples=['namespace:reference-data--CementFluidType:LeadSlurry:'],
543
+ title='Fluid Type',
544
+ )
545
+ """
546
+ High level fluid type
547
+ """
548
+ MudTypeID: (
549
+ constr(
550
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementMudType:[\w\-\.\:\%]+:[0-9]*$'
551
+ )
552
+ | None
553
+ ) = Field(None, title='Mud Type')
554
+ """
555
+ Detailed level fluid type
556
+ """
557
+ FluidName: str | None = Field(None, examples=['LeadSlurry'], title='Name of Fluid')
558
+ """
559
+ Name of Fluid e.g. Lead or Tail Slurry
560
+ """
561
+ FluidCommercialNameID: (
562
+ constr(
563
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementFluidProductName:[\w\-\.\:\%]+:[0-9]*$'
564
+ )
565
+ | None
566
+ ) = Field(
567
+ None,
568
+ examples=['namespace:reference-data--CementFluidProductName:TXI:'],
569
+ title='Commercial name of Fluid',
570
+ )
571
+ """
572
+ Commercial product or trade name of fluid
573
+ """
574
+ FluidDescription: str | None = Field(None, title='Fluid Description')
575
+ """
576
+ Fluid description.
577
+ """
578
+ FluidSupplier: (
579
+ constr(pattern=r'^[\w\-\.]+:master-data\-\-Organisation:[\w\-\.\:\%]+:[0-9]*$')
580
+ | None
581
+ ) = Field(
582
+ None,
583
+ examples=['namespace:master-data--Organisation:Halliburton:'],
584
+ title='Fluid Supplier',
585
+ )
586
+ """
587
+ Fluid Supplier.
588
+ """
589
+ FluidPurpose: str | None = Field(
590
+ None,
591
+ examples=['Primary cementation, seal off formation.'],
592
+ title='Fluid Purpose',
593
+ )
594
+ """
595
+ Fluid purpose description.
596
+ """
597
+ SlurryTypeID: (
598
+ constr(
599
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSlurryType:[\w\-\.\:\%]+:[0-9]*$'
600
+ )
601
+ | None
602
+ ) = Field(
603
+ None,
604
+ examples=['namespace:reference-data--CementSlurryType:ProductionSlurry:'],
605
+ title='Slurry Type',
606
+ )
607
+ """
608
+ Slurry Type
609
+ """
610
+ TopMeasuredDepth: float | None = Field(
611
+ None, examples=['10507 ft'], title='Fluid Top Measured Depth'
612
+ )
613
+ """
614
+ Estimated Measured depth at top of fluid placement at end of Stage.
615
+ """
616
+ BaseMeasuredDepth: float | None = Field(
617
+ None, examples=['11162 ft'], title='Fluid Base Measured Depth'
618
+ )
619
+ """
620
+ Estimate Measured depth at bottom of fluid placement at end of Stage
621
+ """
622
+ SlurryHeight: float | None = Field(None, examples=['665 ft'], title='SlurryHeight')
623
+ """
624
+ Measured depth interval between the top and base of the slurry placement.
625
+ """
626
+ MixFluidRatio: float | None = Field(None, title='Mix Fluid Ratio')
627
+ """
628
+ Mix Fluid Ratio
629
+ """
630
+ SlurryMixMethodID: (
631
+ constr(
632
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSlurryMixMethod:[\w\-\.\:\%]+:[0-9]*$'
633
+ )
634
+ | None
635
+ ) = Field(
636
+ None,
637
+ examples=['namespace:reference-data--CementSlurryMixMethod:Batch:'],
638
+ title='Slurry Mix Method',
639
+ )
640
+ """
641
+ Slurry Mix Method
642
+ """
643
+ MixFluidConcentration: float | None = Field(
644
+ None, examples=['6.42 gal[US]/sack[94lbm]'], title='Mix Fluid Concentration'
645
+ )
646
+ """
647
+ Mix Fluid Concentration
648
+ """
649
+ OpenHoleExcessPercent: float | None = Field(
650
+ None, examples=[0.05], title='Open Hole Excess Percent'
651
+ )
652
+ """
653
+ Open Hole Excess Slurry Volume Percent
654
+ """
655
+ CasedHoleExcessPercent: float | None = Field(
656
+ None, examples=[0], title='Cased Hole Excess Percent'
657
+ )
658
+ """
659
+ Cased Hole Excess Slurry Volume Percent
660
+ """
661
+ TotalFluidVolume: float | None = Field(
662
+ None, examples=['50 bbl'], title='Total Fluid Volume'
663
+ )
664
+ """
665
+ Total Fluid/Slurry Volume. If CementingFluid is NOT a cement slurry, then report the total fluid volume created of the fluid in question.
666
+ """
667
+ PumpedVolume: float | None = Field(None, examples=['50 bbl'], title='Pumped Volume')
668
+ """
669
+ Volume Pumped
670
+ """
671
+ DesignVolume: float | None = Field(None, examples=['50 bbl'], title='Design Volume')
672
+ """
673
+ DesignVolume
674
+ """
675
+ ReservedVolume: float | None = Field(
676
+ None, examples=['0 bbl'], title='Reserved Volume'
677
+ )
678
+ """
679
+ Reserved (Unpumped) Volume
680
+ """
681
+ TotalSlurryVolume: float | None = Field(
682
+ None, examples=['50 bbl'], title='Total Slurry Volume'
683
+ )
684
+ """
685
+ Total Slurry Volume
686
+ """
687
+ ExcessSlurryVolume: float | None = Field(
688
+ None, examples=['2.5 bbl'], title='Excess Slurry Volume'
689
+ )
690
+ """
691
+ Excess Slurry Volume
692
+ """
693
+ ExcessSlurryVolumeMeasureTypeID: (
694
+ constr(
695
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementExcessVolCalcMethod:[\w\-\.\:\%]+:[0-9]*$'
696
+ )
697
+ | None
698
+ ) = Field(
699
+ None,
700
+ examples=['namespace:reference-data--CementExcessVolCalcMethod:Estimate:'],
701
+ title='Excess Slurry Volume Measurement Type',
702
+ )
703
+ """
704
+ Excess Slurry Volume Measurement Type
705
+ """
706
+ GaugeHoleSize: float | None = Field(
707
+ None, examples=['12.25 in'], title='Gauge Hole Size'
708
+ )
709
+ """
710
+ Gauge Hole Size for estimating annular volume
711
+ """
712
+ FluidRheologicalModelID: (
713
+ constr(
714
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidRheologicalModelType:[\w\-\.\:\%]+:[0-9]*$'
715
+ )
716
+ | None
717
+ ) = Field(None, title='Fluid Rheological Model ID')
718
+ """
719
+ Fluid Rheological Model - Newtonian/Bingham/Power Law/Herschel Bulkley.
720
+ """
721
+ Rheometer: list[RheometerItem] | None = Field(None, title='Fluid Rheometer')
722
+ """
723
+ Fluid Fann Viscometer Rheology
724
+ """
725
+ DesignDensity: float | None = Field(
726
+ None, examples=['15.6 lbm/gal[US]'], title='Design Fluid Density'
727
+ )
728
+ """
729
+ Design fluid density
730
+ """
731
+ Density: float | None = Field(
732
+ None, examples=['15.6 lbm/gal[US]'], title='Fluid Density'
733
+ )
734
+ """
735
+ Fluid density
736
+ """
737
+ DensityMethodID: (
738
+ constr(
739
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidDensityMeasurementMethod:[\w\-\.\:\%]+:[0-9]*$'
740
+ )
741
+ | None
742
+ ) = Field(None, title='Density Method')
743
+ """
744
+ Density Method
745
+ """
746
+ DensityTemperature: float | None = Field(
747
+ None, title='Fluid Density Measurement Temperature'
748
+ )
749
+ """
750
+ Fluid Density Measurement Temperature
751
+ """
752
+ DensityPressure: float | None = Field(
753
+ None, title='Fluid Density Measurement Pressure'
754
+ )
755
+ """
756
+ Fluid Density Measurement Pressure
757
+ """
758
+ Viscosity: float | None = Field(None, title='Viscosity')
759
+ """
760
+ Viscosity (Newtonian) or Plastic Viscosity if Bingham. Not relevant for other rheological models.
761
+ """
762
+ YieldPoint: float | None = Field(None, title='Yield Point')
763
+ """
764
+ Yield point (Bingham and Herschel Bulkley models).
765
+ """
766
+ N: float | None = Field(None, title='N')
767
+ """
768
+ Power Law index (Power Law and Herschel-Bulkley).
769
+ """
770
+ K: float | None = Field(None, title='K')
771
+ """
772
+ Consistency index (Power Law and Herschel-Bulkley).
773
+ """
774
+ Gel10SecReading: float | None = Field(None, title='Gel 10 Second Reading')
775
+ """
776
+ Gel reading after 10 seconds.
777
+ """
778
+ Gel10SecStrength: float | None = Field(None, title='Gel 10 Second Strength')
779
+ """
780
+ Gel strength after 10 seconds.
781
+ """
782
+ Gel1MinReading: float | None = Field(None, title='Gel 1 Minute Reading')
783
+ """
784
+ Gel reading after 1 minute.
785
+ """
786
+ Gel1MinStrength: float | None = Field(None, title='Gel 1 Minute Strength')
787
+ """
788
+ Gel strength after 1 minute.
789
+ """
790
+ Gel10MinReading: float | None = Field(None, title='Gel 10 Minute Reading')
791
+ """
792
+ Gel reading after 10 minutes.
793
+ """
794
+ Gel10MinStrength: float | None = Field(None, title='Gel 10 Minute Strength')
795
+ """
796
+ Gel strength after 10 minutes.
797
+ """
798
+ Gel30MinReading: float | None = Field(None, title='Gel 30 Minute Reading')
799
+ """
800
+ Gel reading after 30 minutes.
801
+ """
802
+ Gel30MinStrength: float | None = Field(None, title='Gel 30 Minute Strength')
803
+ """
804
+ Gel strength after 30 minutes.
805
+ """
806
+ BaseFluidTypeID: (
807
+ constr(pattern=r'^[\w\-\.]+:reference-data\-\-FluidType:[\w\-\.\:\%]+:[0-9]*$')
808
+ | None
809
+ ) = Field(
810
+ None,
811
+ examples=['namespace:reference-data--FluidType:WBM-Synthetic:'],
812
+ title='Base Fluid Type ID',
813
+ )
814
+ """
815
+ Drilling fluid base type
816
+ """
817
+ BaseFluidDensity: float | None = Field(
818
+ None, examples=['9.2 lbm/gal[US]'], title='Base Fluid Density'
819
+ )
820
+ """
821
+ Density of base fluid.
822
+ """
823
+ MixFluidTypeID: (
824
+ constr(
825
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementMixFluidType:[\w\-\.\:\%]+:[0-9]*$'
826
+ )
827
+ | None
828
+ ) = Field(
829
+ None,
830
+ examples=['namespace:reference-data--CementMixFluidType:Water:'],
831
+ title='Mix Fluid Type',
832
+ )
833
+ """
834
+ Mix Fluid Type
835
+ """
836
+ DryBlendName: str | None = Field(
837
+ None, examples=['Microsphere Blend'], title='Dry Blend Name'
838
+ )
839
+ """
840
+ Name of dry blend.
841
+ """
842
+ DryBlendDescription: str | None = Field(
843
+ None, examples=['Class A'], title='Dry Blend Description'
844
+ )
845
+ """
846
+ Description of dry blend.
847
+ """
848
+ DryBlendCementSlurryClassID: (
849
+ constr(
850
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSlurryClass:[\w\-\.\:\%]+:[0-9]*$'
851
+ )
852
+ | None
853
+ ) = Field(
854
+ None,
855
+ examples=['namespace:reference-data--CementSlurryClass:A:'],
856
+ title='Dry Blend Cement Slurry Class',
857
+ )
858
+ """
859
+ Dry blend cement slurry class
860
+ """
861
+ DryBlendMass: float | None = Field(None, title='Dry Blend Mass')
862
+ """
863
+ Total mass of dry blend including additives: the volume is not constant.
864
+ """
865
+ DryBlendDensity: float | None = Field(None, title='Dry Blend Density')
866
+ """
867
+ Density of Dry blend.
868
+ """
869
+ DryBlendMassPerUnit: float | None = Field(None, title='Dry Blend Mass per Unit')
870
+ """
871
+ Weight of a sack of dry blend aka Sack Size or Tonnes
872
+ """
873
+ CementMassUnitTypeID: (
874
+ constr(
875
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementMassUnitType:[\w\-\.\:\%]+:[0-9]*$'
876
+ )
877
+ | None
878
+ ) = Field(
879
+ None,
880
+ examples=['namespace:reference-data--CementMassUnitType:Sacks:'],
881
+ title='Cement Mass Unit Type',
882
+ )
883
+ """
884
+ Cement Mass Unit Type (Sacks or Tonnes)
885
+ """
886
+ UnitsCalculated: int | None = Field(None, examples=[177], title='Amount Calculated')
887
+ """
888
+ Units/Amount of Dry Blend Calculated
889
+ """
890
+ UnitsUsed: int | None = Field(None, examples=[177], title='Amount Used')
891
+ """
892
+ Units/Amount of Dry Blend Used
893
+ """
894
+ CementYield: float | None = Field(
895
+ None, examples=['1.59 ft3/sk'], title='Cement Slurry Yield'
896
+ )
897
+ """
898
+ Cement Yield per Unit
899
+ """
900
+ YieldVolume: float | None = Field(
901
+ None, examples=['50 bbl'], title='Slurry Yield Volume'
902
+ )
903
+ """
904
+ Cement Slurry Yield Volume. Calculated - Sacks Used * CementYield
905
+ """
906
+ IsFoamUsed: bool | None = Field(None, examples=[False], title='Is Foam Used')
907
+ """
908
+ Foam used indicator
909
+ """
910
+ GasFoamTypeID: (
911
+ constr(
912
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementGasFoamType:[\w\-\.\:\%]+:[0-9]*$'
913
+ )
914
+ | None
915
+ ) = Field(None, title='Gas Foam Type')
916
+ """
917
+ Gas type used for foam job.
918
+ """
919
+ GasFoamVolume: float | None = Field(None, title='GasFoam Volume')
920
+ """
921
+ Volume of gas used for foam job
922
+ """
923
+ FoamInjectionPressure: float | None = Field(None, title='Foam Injection Pressure')
924
+ """
925
+ Foam Injection Pressure
926
+ """
927
+ ConstantGasFoamDensity: float | None = Field(
928
+ None, title='Constant Gas Foam Method Density'
929
+ )
930
+ """
931
+ Constant Gas Foam Method Density
932
+ """
933
+ DensityConstantGasMethodID: (
934
+ constr(
935
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementConstantGasMethod:[\w\-\.\:\%]+:[0-9]*$'
936
+ )
937
+ | None
938
+ ) = Field(None, title='Density Constant Gas Ratio Method')
939
+ """
940
+ Constant gas ratio method for measuring average density.
941
+ """
942
+ GasMethodAverageRatio: float | None = Field(None, title='Gas Method Average Ratio')
943
+ """
944
+ Gas foam method ratio
945
+ """
946
+ GasMethodStartRatio: float | None = Field(None, title='Gas Method Start Ratio')
947
+ """
948
+ Gas foam method: initial method ratio
949
+ """
950
+ GasMethodEndRatio: float | None = Field(None, title='Gas Method End Ratio')
951
+ """
952
+ Gas foam method: final method ratio
953
+ """
954
+ CompressiveStrengthTest: list[CompressiveStrengthTestItem] | None = Field(
955
+ None, title='Compressive Strength Test'
956
+ )
957
+ """
958
+ Compressive Strength Pressure/Temperature/Thickening
959
+ """
960
+ ThickeningTimeTest: list[ThickeningTimeTestItem] | None = Field(
961
+ None, title='Thickening Test'
962
+ )
963
+ """
964
+ Thickening Test - Pressure, Temperature, Consistency (Bc) v Elapsed Time
965
+ """
966
+ ZeroGelElapsedTime: float | None = Field(None, title='Zero Gel Elapsed Time')
967
+ """
968
+ The elapsed time from initiation of the static portion of the test until the slurry attains a gel strength of 100lbf/100sq ft.
969
+ """
970
+ TransitionElapsedTime: float | None = Field(None, title='Transition Elapsed Time')
971
+ """
972
+ The elapsed time between the development of 100lbf/100sq ft gel strength and 500lbf/100 sq ft gel strength.
973
+ """
974
+ FreeFluidPercent: float | None = Field(
975
+ None, examples=[0], title='Free Fluid Percent'
976
+ )
977
+ """
978
+ Test free fluid (mL/250ML) API 10B-2
979
+ """
980
+ FreeFluidTemperature: float | None = Field(
981
+ None, examples=['60 degF'], title='Free Fluid Temperature'
982
+ )
983
+ """
984
+ Test free fluid temperature
985
+ """
986
+ FreeFluidTestAngle: float | None = Field(
987
+ None, examples=['45 deg'], title='Free Fluid Test Angle'
988
+ )
989
+ """
990
+ Free Fluid Test Angle e.g. 0 or 45 degrees
991
+ """
992
+ FluidLossPressure: float | None = Field(
993
+ None, examples=['1000 psi'], title='Fluid Loss Pressure'
994
+ )
995
+ """
996
+ Fluid loss pressure
997
+ """
998
+ FluidLossTemperature: float | None = Field(
999
+ None, examples=['60 degF'], title='Fluid Loss Temperature'
1000
+ )
1001
+ """
1002
+ Fluid loss temperature
1003
+ """
1004
+ FluidLossElapsedTime: float | None = Field(
1005
+ None, examples=['30 min'], title='Fluid Loss Elapsed Time'
1006
+ )
1007
+ """
1008
+ Fluid loss dehydrating test period, used to compute the API fluid loss.
1009
+ """
1010
+ FluidLossVolume: float | None = Field(
1011
+ None, examples=['64 cm3'], title='Fluid Loss Volume'
1012
+ )
1013
+ """
1014
+ Fluid loss volume
1015
+ """
1016
+ APIFluidLossRate: float | None = Field(
1017
+ None, examples=['128 1/30 cm3/min'], title='API Fluid Loss Rate'
1018
+ )
1019
+ """
1020
+ API fluid loss = 2 * volTestFluidLoss * SQRT(30/timeFluidLoss).
1021
+ """
1022
+ APIFluidLoss30Min: float | None = Field(
1023
+ None, examples=['128 cm3'], title='API Fluid Loss @ 30 Min'
1024
+ )
1025
+ """
1026
+ API Fluid Loss @ 30 Min
1027
+ """
1028
+ SolidVolumeFraction: float | None = Field(
1029
+ None, title='Solid Volume Per Volume Measure'
1030
+ )
1031
+ """
1032
+ Solid Volume Per Volume Measure
1033
+ """
1034
+ SourceWaterDescription: str | None = Field(
1035
+ None, examples=['Field (Fresh) Water'], title='Water Source Description'
1036
+ )
1037
+ """
1038
+ Water source description
1039
+ """
1040
+ SourceWaterTemperature: float | None = Field(None, title='Source Water Temperature')
1041
+ """
1042
+ Source Water Temperature
1043
+ """
1044
+ SourceWaterpH: float | None = Field(None, title='Source Water pH')
1045
+ """
1046
+ Source Water pH
1047
+ """
1048
+ SourceWaterpHTemperature: float | None = Field(
1049
+ None, title='Source Water pH Temperature'
1050
+ )
1051
+ """
1052
+ Source Water pH Temperature
1053
+ """
1054
+ SourceWaterChlorides: float | None = Field(
1055
+ None, examples=['31 ppm'], title='Source Water Chlorides'
1056
+ )
1057
+ """
1058
+ Source Water Chlorides
1059
+ """
1060
+ MixabilityRating: int | None = Field(None, examples=[4], title='Mixability Rating')
1061
+ """
1062
+ Mixability (0 - 5) - 0 is not mixable
1063
+ """
1064
+ CementAdditives: list[CementAdditive] | None = Field(None, title='Cement Additives')
1065
+ """
1066
+ Cement Additives list. Additives can be added in slurry but also in spacers, washes, mud.
1067
+ """
1068
+ CementPumpSchedules: list[CementPumpSchedule] | None = Field(
1069
+ None, title='Cement Pump Schedules'
1070
+ )
1071
+ """
1072
+ Set of (Time / Rate / Back Pressure).
1073
+ """
1074
+ CementTestLabID: str | None = Field(
1075
+ None, examples=[638808.1], title='Cement Test Lab ID'
1076
+ )
1077
+ """
1078
+ Cement Test Lab ID Number
1079
+ """
1080
+ CementFluidRemark: str | None = Field(None, title='Remarks')
1081
+ """
1082
+ Comments or Remarks
1083
+ """
1084
+
1085
+
1086
+ class HesitationSqueezeItem(BaseModel):
1087
+ """
1088
+ Hesitation Squeeze History
1089
+ """
1090
+
1091
+ model_config = ConfigDict(
1092
+ extra='allow',
1093
+ )
1094
+ SequenceNo: int | None = Field(None, title='Sequence Number')
1095
+ """
1096
+ Sequence Number
1097
+ """
1098
+ InitialPressure: float | None = Field(None, title='Initial Pressure')
1099
+ """
1100
+ Initial Pressure
1101
+ """
1102
+ FinalPressure: float | None = Field(None, title='Final Pressure')
1103
+ """
1104
+ Final Pressure
1105
+ """
1106
+ Volume: float | None = Field(None, title='Volume Pumped')
1107
+ """
1108
+ Volume Pumped
1109
+ """
1110
+ HesitationTime: float | None = Field(None, title='Hesitation Time')
1111
+ """
1112
+ Duration between pumping stages
1113
+ """
1114
+ Remarks: str | None = Field(None, title='Remarks')
1115
+ """
1116
+ Remarks
1117
+ """
1118
+
1119
+
1120
+ class CementStage(BaseModel):
1121
+ """
1122
+ A single cement stage performed within a Job.
1123
+ """
1124
+
1125
+ model_config = ConfigDict(
1126
+ extra='allow',
1127
+ )
1128
+ StageNumber: float = Field(..., examples=[1], title='Stage Number')
1129
+ """
1130
+ Stage number.
1131
+ """
1132
+ StageTypeID: constr(
1133
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementStageType:[\w\-\.\:\%]+:[0-9]*$'
1134
+ ) = Field(
1135
+ ...,
1136
+ examples=['namespace:reference-data--CementStageType:Casing:'],
1137
+ title='Stage Type',
1138
+ )
1139
+ """
1140
+ Stage type.
1141
+ """
1142
+ IntervalTopMeasuredDepth: float | None = Field(
1143
+ None, examples=[11007], title='Interval Top Measured Depth'
1144
+ )
1145
+ """
1146
+ Final placement measured depth at top of interval.
1147
+ """
1148
+ IntervalBaseMeasuredDepth: float | None = Field(
1149
+ None, examples=[11162], title='Interval Base Measured Depth'
1150
+ )
1151
+ """
1152
+ Final placement measured depth of base of interval.
1153
+ """
1154
+ IntervalTopTrueVerticalDepth: float | None = Field(
1155
+ None, title='Interval Top True Vertical Depth'
1156
+ )
1157
+ """
1158
+ Final placement True Vertical depth at top of interval.
1159
+ """
1160
+ IntervalBaseTrueVerticalDepth: float | None = Field(
1161
+ None, title='Interval Base True Vertical Depth'
1162
+ )
1163
+ """
1164
+ Final placement True Vertical depth of base of interval.
1165
+ """
1166
+ StageIntervalLength: float | None = Field(
1167
+ None, examples=[11007], title='Stage Interval Length'
1168
+ )
1169
+ """
1170
+ Measured depth interval for the cement stage (Base MD - Top MD).
1171
+ """
1172
+ MixStartDate: str | None = Field(
1173
+ None, examples=['2020-04-20T06:30:00+0000'], title='Mix Start Date/time'
1174
+ )
1175
+ """
1176
+ Date/time when mixing of cement started.
1177
+ """
1178
+ PumpStartDate: str | None = Field(
1179
+ None, examples=['2020-04-20T08:15:00+0000'], title='Pump Start Date/time'
1180
+ )
1181
+ """
1182
+ Date/time when pumping cement started.
1183
+ """
1184
+ PumpEndDate: str | None = Field(
1185
+ None, examples=['2020-04-20T11:15:00+0000'], title='Pump End Date/time'
1186
+ )
1187
+ """
1188
+ Date/time when pumping cement ended.
1189
+ """
1190
+ DisplaceStartDate: str | None = Field(
1191
+ None,
1192
+ examples=['2020-04-20T11:15:00+0000'],
1193
+ title='Displacement Start Date/time',
1194
+ )
1195
+ """
1196
+ Date/time when displacing of cement started.
1197
+ """
1198
+ MudCirculationElapsedTime: float | None = Field(
1199
+ None, examples=['54 min'], title='Mud Circulation Elapsed Time'
1200
+ )
1201
+ """
1202
+ Mud Circulation Elapsed Time
1203
+ """
1204
+ DisplacementFluidName: str | None = Field(
1205
+ None, examples=['SBM'], title='Displacement Fluid Name'
1206
+ )
1207
+ """
1208
+ Displacement fluid name.
1209
+ """
1210
+ DisplacementFluidDensity: float | None = Field(
1211
+ None, examples=['9.4 lbm/gal[US]'], title='Displacement Fluid Density'
1212
+ )
1213
+ """
1214
+ Density of displacement fluid.
1215
+ """
1216
+ DisplacementFluidVolume: float | None = Field(
1217
+ None, examples=['50 bbl'], title='Displacement Fluid volume'
1218
+ )
1219
+ """
1220
+ Volume of displacement fluid.
1221
+ """
1222
+ DisplacementFlowrateAvg: float | None = Field(
1223
+ None, examples=['2 bbl/min'], title='Displacement Flowrate Average'
1224
+ )
1225
+ """
1226
+ Average (or actual) displacement rate
1227
+ """
1228
+ DisplacementFlowrateMax: float | None = Field(
1229
+ None, examples=['2 bbl/min'], title='Displacement Flowrate Maximum'
1230
+ )
1231
+ """
1232
+ Maximum displacement rate
1233
+ """
1234
+ DisplacementFlowrateFinal: float | None = Field(
1235
+ None, examples=['2 bbl/min'], title='Final Displacement Flowrate'
1236
+ )
1237
+ """
1238
+ Final displacement rate
1239
+ """
1240
+ DisplacementPressureFinal: float | None = Field(
1241
+ None, examples=['230 psi'], title='Final Displacement Pressure'
1242
+ )
1243
+ """
1244
+ Final displacement pressure
1245
+ """
1246
+ MudCirculationFlowRate: float | None = Field(
1247
+ None, examples=['2.38 bbl/min'], title='Mud Circulation Flowrate'
1248
+ )
1249
+ """
1250
+ Mud Circulation Flowrate during the job
1251
+ """
1252
+ MudCirculationPressure: float | None = Field(
1253
+ None, examples=['300 psi'], title='Mud Circulation Pressure'
1254
+ )
1255
+ """
1256
+ Mud circulation pressure
1257
+ """
1258
+ CementingFluid: list[CementingFluidItem] | None = Field(
1259
+ None, title='Cementing Fluid'
1260
+ )
1261
+ """
1262
+ Array of fluids worked in the stage - displaced mud, washers and spacers, cement (lead & tail)
1263
+ """
1264
+ StringMeasuredDepth: float | None = Field(None, title='String Measured Depth')
1265
+ """
1266
+ Bottom measured depth in primary cement job (multi-stage cement job).
1267
+ """
1268
+ StageToolMeasuredDepth: float | None = Field(
1269
+ None, title='Stage Tool Measured Depth'
1270
+ )
1271
+ """
1272
+ Mid measured depth of stage tool (multi-stage cement job) e.g. circulation port.
1273
+ """
1274
+ StageToolTrueVerticalDepth: float | None = Field(
1275
+ None, title='Stage Tool True Vertical Depth'
1276
+ )
1277
+ """
1278
+ Mid true vertical depth of stage tool (multi-stage cement job) e.g. circulation port.
1279
+ """
1280
+ CoilTubingMeasuredDepth: float | None = Field(
1281
+ None, title='Coil Tubing Measured Depth'
1282
+ )
1283
+ """
1284
+ Bottom Measured depth of Coiled Tubing
1285
+ """
1286
+ InsideCasingVolume: float | None = Field(
1287
+ None, examples=['218 bbl'], title='Inside Casing Volume'
1288
+ )
1289
+ """
1290
+ Estimated volume inside casing
1291
+ """
1292
+ OutsideCasingVolume: float | None = Field(
1293
+ None, examples=['112 bbl'], title='Outside Casing Volume'
1294
+ )
1295
+ """
1296
+ Estimated volume outside casing for this stage placement
1297
+ """
1298
+ OriginalMudTypeID: (
1299
+ constr(
1300
+ pattern=r'^[\w\-\.]+:reference-data\-\-MudBaseType:[\w\-\.\:\%]+:[0-9]*$'
1301
+ )
1302
+ | None
1303
+ ) = Field(
1304
+ None,
1305
+ examples=['namespace:reference-data--MudBaseType:Synthetic:'],
1306
+ title='Type Original Mud',
1307
+ )
1308
+ """
1309
+ Type of mud in hole
1310
+ """
1311
+ PriorCirculatingVolume: float | None = Field(
1312
+ None, examples=['40 bbl'], title='Prior Circulating Volume'
1313
+ )
1314
+ """
1315
+ Volume of mud circulated prior to cement job
1316
+ """
1317
+ MudDensity: float | None = Field(
1318
+ None, examples=['9.2 lbm/gal[US]'], title='Mud Density'
1319
+ )
1320
+ """
1321
+ Mud density (weight)
1322
+ """
1323
+ MudFunnelViscosity: float | None = Field(
1324
+ None, examples=[42], title='Mud Funnel Viscosity'
1325
+ )
1326
+ """
1327
+ Marsh funnel viscosity measured in a conical-shaped funnel
1328
+ """
1329
+ MudPlasticViscosity: float | None = Field(
1330
+ None, examples=[20], title='Mud Plastic Viscosity'
1331
+ )
1332
+ """
1333
+ Plastic viscosity (in hole at start of job).
1334
+ """
1335
+ MudYieldPoint: float | None = Field(None, examples=[19], title='Mud Yield Point')
1336
+ """
1337
+ Yield point (in hole at start of job).
1338
+ """
1339
+ MudGel10Sec: float | None = Field(None, title='Mud Gel10 Sec')
1340
+ """
1341
+ Gels-10Sec (in hole at start of job).
1342
+ """
1343
+ MudGel10Min: float | None = Field(None, title='Mud Gel10 Min')
1344
+ """
1345
+ Gels-10Min (in hole at start of job).
1346
+ """
1347
+ IsAnnularFlowAfter: bool | None = Field(
1348
+ None, examples=[False], title='Annular Flow After'
1349
+ )
1350
+ """
1351
+ Annular flow (back flow) present after the stage was completed?
1352
+ """
1353
+ IsAnnularPressureHeld: bool | None = Field(
1354
+ None, examples=[True], title='Annular Pressure Held'
1355
+ )
1356
+ """
1357
+ Annular Pressure Held after job?
1358
+ """
1359
+ IsFloatHeld: bool | None = Field(None, examples=[True], title='Float Held')
1360
+ """
1361
+ Float Held?
1362
+ """
1363
+ IsTopPlugUsed: bool | None = Field(None, examples=[True], title='Top Plug Used')
1364
+ """
1365
+ Top plug used?
1366
+ """
1367
+ IsBottomPlugUsed: bool | None = Field(
1368
+ None, examples=[True], title='Bottom Plug Used'
1369
+ )
1370
+ """
1371
+ Bottom plug used?
1372
+ """
1373
+ BottomPlugNumber: int | None = Field(
1374
+ None, examples=[1], title='Number of Bottom Plugs'
1375
+ )
1376
+ """
1377
+ Number of Bottom Plugs
1378
+ """
1379
+ IsPlugBumped: bool | None = Field(None, examples=[True], title='Is Plug Bumped')
1380
+ """
1381
+ Is Plug Bumped?
1382
+ """
1383
+ BumpPlugPressure: float | None = Field(
1384
+ None, examples=['2400 psi'], title='Bump Plug Pressure'
1385
+ )
1386
+ """
1387
+ Bump Plug Pressure
1388
+ """
1389
+ MixMethod: (
1390
+ constr(
1391
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSlurryMixMethod:[\w\-\.\:\%]+:[0-9]*$'
1392
+ )
1393
+ | None
1394
+ ) = Field(
1395
+ None,
1396
+ examples=['namespace:reference-data--CementSlurryMixMethod:Batch:'],
1397
+ title='Mix Method',
1398
+ )
1399
+ """
1400
+ Mix Method
1401
+ """
1402
+ IsPillBelowPlug: bool | None = Field(
1403
+ None, examples=[False], title='Pill Below Plug'
1404
+ )
1405
+ """
1406
+ Pill below cement plug?
1407
+ """
1408
+ IsPlugCatcher: bool | None = Field(None, examples=[True], title='Plug Catcher')
1409
+ """
1410
+ Plug or Dart catcher?
1411
+ """
1412
+ IsHesitation: bool | None = Field(None, title='Hesitation')
1413
+ """
1414
+ Hesitation when squeezing?
1415
+ """
1416
+ HesitationReason: str | None = Field(None, title='Hesitation Reason')
1417
+ """
1418
+ Hesitation Reason during operation
1419
+ """
1420
+ HesitationSqueeze: list[HesitationSqueezeItem] | None = Field(
1421
+ None, title='Hesitation Squeeze'
1422
+ )
1423
+ """
1424
+ Hesitation Squeeze array
1425
+ """
1426
+ PlugManufacturer: (
1427
+ constr(pattern=r'^[\w\-\.]+:master-data\-\-Organisation:[\w\-\.\:\%]+:[0-9]*$')
1428
+ | None
1429
+ ) = Field(
1430
+ None,
1431
+ examples=['namespace:master-data--Organisation:Weatherford:'],
1432
+ title='Plug Manufacturer',
1433
+ )
1434
+ """
1435
+ Plug Manufacturer
1436
+ """
1437
+ BottomDartLandVolume: float | None = Field(None, title='Bottom Dart Landed Volume')
1438
+ """
1439
+ Volume pumped to landing Bottom Dart
1440
+ """
1441
+ TopDartLandVolume: float | None = Field(None, title='Top Dart Landed Volume')
1442
+ """
1443
+ Volume pumped to landing Top Dart
1444
+ """
1445
+ TopDartShearPressure: float | None = Field(
1446
+ None, examples=['2140 psi'], title='Top Dart Shear Pressure'
1447
+ )
1448
+ """
1449
+ Top Dart Shear Pressure
1450
+ """
1451
+ BottomDartShearPressure: float | None = Field(
1452
+ None, examples=['464 psi'], title='Bottom Dart Shear Pressure'
1453
+ )
1454
+ """
1455
+ Bottom Dart Shear Pressure
1456
+ """
1457
+ BackPressure: float | None = Field(None, title='Surface Back Pressure')
1458
+ """
1459
+ Constant back pressure applied at surface while pumping the job (can be superseded by a back pressure per pumping stage).
1460
+ """
1461
+ HeldPressure: float | None = Field(
1462
+ None, examples=['5000 psi'], title='Held Pressure'
1463
+ )
1464
+ """
1465
+ Pressure held to.
1466
+ """
1467
+ PressureHeldTime: float | None = Field(
1468
+ None, examples=['30 min'], title='Pressure Held Time'
1469
+ )
1470
+ """
1471
+ Pressure Held time at end of stage
1472
+ """
1473
+ InitialCasingPressure: float | None = Field(None, title='Initial Casing Pressure')
1474
+ """
1475
+ Initial Casing Pressure
1476
+ """
1477
+ FinalCasingPressure: float | None = Field(None, title='Final Casing Pressure')
1478
+ """
1479
+ Final Casing Pressure
1480
+ """
1481
+ InitialTubingPressure: float | None = Field(None, title='Initial Tubing Pressure')
1482
+ """
1483
+ Tubing Start Pressure (not CT)
1484
+ """
1485
+ FinalTubingPressure: float | None = Field(None, title='Final Tubing Pressure')
1486
+ """
1487
+ Tubing End Pressure (not CT)
1488
+ """
1489
+ InitialCoilTubingPressure: float | None = Field(
1490
+ None, title='Initial Coiled Tubing Pressure'
1491
+ )
1492
+ """
1493
+ Initial Coiled Tubing Pressure
1494
+ """
1495
+ FinalCoilTubingPressure: float | None = Field(
1496
+ None, title='Final Coiled Tubing Pressure'
1497
+ )
1498
+ """
1499
+ Final Coiled Tubing Pressure
1500
+ """
1501
+ BreakdownPressure: float | None = Field(None, title='Breakdown Pressure')
1502
+ """
1503
+ Breakdown Pressure
1504
+ """
1505
+ BreakdownFlowRate: float | None = Field(None, title='Breakdown Flow Rate')
1506
+ """
1507
+ Breakdown Flow Rate
1508
+ """
1509
+ PumpPressureAverage: float | None = Field(
1510
+ None, examples=['162 psi'], title='Average Pumping Pressure'
1511
+ )
1512
+ """
1513
+ Average Pump Pressure
1514
+ """
1515
+ InitialPumpRate: float | None = Field(
1516
+ None, examples=['3.62 bbl/min'], title='Initial Pump Rate'
1517
+ )
1518
+ """
1519
+ Initial Pump Rate
1520
+ """
1521
+ FinalPumpRate: float | None = Field(
1522
+ None, examples=['3.62 bbl/min'], title='Final Pump Rate'
1523
+ )
1524
+ """
1525
+ Final Pump Rate
1526
+ """
1527
+ PumpRateMax: float | None = Field(
1528
+ None, examples=['3.62 bbl/min'], title='Pump Rate Max'
1529
+ )
1530
+ """
1531
+ Pump Rate Maximum
1532
+ """
1533
+ ReturnsVolume: float | None = Field(
1534
+ None, examples=['5 bbls'], title='Returns Volume'
1535
+ )
1536
+ """
1537
+ Volume of mud returned
1538
+ """
1539
+ LostVolume: float | None = Field(None, examples=['0 bbls'], title='Lost Volume')
1540
+ """
1541
+ Volume of mud lost
1542
+ """
1543
+ ExcessVolume: float | None = Field(None, title='Excess Volume')
1544
+ """
1545
+ Excess Volume used
1546
+ """
1547
+ ExcessVolumeCalcMethodID: (
1548
+ constr(
1549
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementExcessVolCalcMethod:[\w\-\.\:\%]+:[0-9]*$'
1550
+ )
1551
+ | None
1552
+ ) = Field(None, title='Excess Volume Calculation Method')
1553
+ """
1554
+ Excess Volume Calculation Method
1555
+ """
1556
+ CirculateOutMeasuredDepth: float | None = Field(
1557
+ None, title='Circulate Out Measured Depth.'
1558
+ )
1559
+ """
1560
+ Circulate out measured depth from top of cement plug
1561
+ """
1562
+ BHCT: float | None = Field(
1563
+ None, examples=['60 degF'], title='Bottomhole Circulating Temperature'
1564
+ )
1565
+ """
1566
+ Circulating Bottomhole temperature
1567
+ """
1568
+ BHST: float | None = Field(
1569
+ None, examples=['82 degF'], title='Bottomhole Static Temperature'
1570
+ )
1571
+ """
1572
+ Static Bottomhole temperature
1573
+ """
1574
+ IsTailPipeUsed: bool | None = Field(None, title='Is Tail Pipe Used')
1575
+ """
1576
+ Tail pipe/stinger used for setting a plug?
1577
+ """
1578
+ TailPipeDiameter: float | None = Field(None, title='Diameter of Tail Pipe')
1579
+ """
1580
+ Tailpipe/stinger size (diameter).
1581
+ """
1582
+ IsTailPipePerforated: bool | None = Field(None, title='Is Tail Pipe Perforated')
1583
+ """
1584
+ Tailpipe/stringer perforated?
1585
+ """
1586
+ WorkstringMeasuredDepth: float | None = Field(
1587
+ None, title='Workstring Measured Depth'
1588
+ )
1589
+ """
1590
+ Workstring Bottom Measured Depth during displacement for Plugs & Squeezes
1591
+ """
1592
+ WorkstringTrueVerticalDepth: float | None = Field(
1593
+ None, title='Workstring True Vertical Depth'
1594
+ )
1595
+ """
1596
+ Workstring Bottom True Vertical Depth during displacement for Plugs & Squeezes
1597
+ """
1598
+ ReciprocationOverpull: float | None = Field(
1599
+ None, examples=['10 tons'], title='ReciprocationOverpull'
1600
+ )
1601
+ """
1602
+ Maximum overpull applied during reciprocating
1603
+ """
1604
+ ReciprocationSlackoff: float | None = Field(
1605
+ None, examples=['10 tons'], title='ReciprocationSlackoff'
1606
+ )
1607
+ """
1608
+ Maximum slackoff applied during reciprocating
1609
+ """
1610
+ SqueezeObjective: (
1611
+ constr(
1612
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSqueezeObjective:[\w\-\.\:\%]+:[0-9]*$'
1613
+ )
1614
+ | None
1615
+ ) = Field(None, title='Squeeze Objective')
1616
+ """
1617
+ Squeeze objective
1618
+ """
1619
+ SqueezeToolMeasuredDepth: float | None = Field(
1620
+ None, title='Squeeze Tool Measured Depth'
1621
+ )
1622
+ """
1623
+ Squeeze Tool Measured Depth e.g. Packer or Retainer
1624
+ """
1625
+ SqueezeToolTrueVerticalDepth: float | None = Field(
1626
+ None, title='Squeeze Tool True Vertical Depth'
1627
+ )
1628
+ """
1629
+ Squeeze Tool True Vertical Depth e.g. Packer or Retainer
1630
+ """
1631
+ SqueezeInCasingVolume: float | None = Field(None, title='Squeeze In Casing Volume')
1632
+ """
1633
+ Squeezed cement volume left inside casing
1634
+ """
1635
+ SqueezeOutCasingVolume: float | None = Field(
1636
+ None, title='Squeeze Out Casing Volume'
1637
+ )
1638
+ """
1639
+ Squeezed cement volume outside/behind
1640
+ """
1641
+ SqueezeReverseVolume: float | None = Field(None, title='Squeeze Reverse Volume')
1642
+ """
1643
+ Volume of cement that was returned to surface during squeeze operation
1644
+ """
1645
+ SqueezeFlowRateAverage: float | None = Field(
1646
+ None, title='Squeeze Flow Rate Average'
1647
+ )
1648
+ """
1649
+ Squeeze average flowrate
1650
+ """
1651
+ SqueezeFlowRateMax: float | None = Field(None, title='Squeeze Flow Rate Maximum')
1652
+ """
1653
+ Squeeze maximum flowrate
1654
+ """
1655
+ SqueezePressureInitial: float | None = Field(None, title='Squeeze Pressure Initial')
1656
+ """
1657
+ Squeeze Pressure Initial
1658
+ """
1659
+ SqueezePressureAverage: float | None = Field(None, title='Squeeze Pressure Average')
1660
+ """
1661
+ Squeeze Pressure Average
1662
+ """
1663
+ SqueezePressureFinal: float | None = Field(None, title='Squeeze Pressure Final')
1664
+ """
1665
+ Squeeze Pressure Final
1666
+ """
1667
+ SqueezeHeldPressure: float | None = Field(None, title='Squeeze Held Pressure')
1668
+ """
1669
+ Squeeze pressure left (held) on pipe while waiting on cement.
1670
+ """
1671
+ SqueezeHeldPressureDuration: float | None = Field(
1672
+ None, title='Squeeze Held Pressure Duration'
1673
+ )
1674
+ """
1675
+ Squeeze Held Pressure Elapsed Time
1676
+ """
1677
+ IsSqueezeObtained: bool | None = Field(None, title='Squeeze Obtained')
1678
+ """
1679
+ Is Squeeze Obtained/Successful?
1680
+ """
1681
+ SqueezeRemarks: str | None = Field(None, title='Squeeze Remarks')
1682
+ """
1683
+ Squeeze Remarks
1684
+ """
1685
+ ShoeTrackLength: float | None = Field(
1686
+ None, examples=['100 ft'], title='Shoe Track Length'
1687
+ )
1688
+ """
1689
+ Shoe Track Length
1690
+ """
1691
+ ShoeTrackVolume: float | None = Field(
1692
+ None, examples=['7.2 bbl'], title='Shoe Track Volume'
1693
+ )
1694
+ """
1695
+ Shoe Track Volume
1696
+ """
1697
+ FluidTemperatureIn: float | None = Field(None, title='Fluid Temperature In')
1698
+ """
1699
+ Pre-circulation Fluid Temperature In (Pit)
1700
+ """
1701
+ FluidTemperatureOut: float | None = Field(None, title='Fluid Temperature Out')
1702
+ """
1703
+ Pre-circulation Fluid Temperature Out (Return Line)
1704
+ """
1705
+ TotalOperatingTime: float | None = Field(None, title='Total Operating Time')
1706
+ """
1707
+ Total operating hours from at depth ready for cement job. Included but not limited to: Pre-circulation, NPT, rig up/down, line-up and pumping operations.
1708
+ """
1709
+ TotalPumpingTime: float | None = Field(
1710
+ None, examples=['569.22 min'], title='Total Pumping Time'
1711
+ )
1712
+ """
1713
+ Total pumping hours from at depth ready for cement job. Included but not limited to: Pre-circulation, washing, spacer, cement and displacement.
1714
+ """
1715
+ UnderDisplacementVolumePlanned: float | None = Field(
1716
+ None, title='Under Displacement Volume Planned'
1717
+ )
1718
+ """
1719
+ Under Displacement Volume Planned
1720
+ """
1721
+ UnderDisplacementVolumeActual: float | None = Field(
1722
+ None, title='Under Displacement Volume Actual'
1723
+ )
1724
+ """
1725
+ Under Displacement Volume Actual
1726
+ """
1727
+ BehindCementSpacerVolume: float | None = Field(
1728
+ None, title='Behind Cement Spacer Volume'
1729
+ )
1730
+ """
1731
+ Behind Cement Spacer Volume
1732
+ """
1733
+ MinWOCTimeBeforeTagging: float | None = Field(
1734
+ None, title='Min WOC Time Before Tagging'
1735
+ )
1736
+ """
1737
+ Min WOC Time Before Tagging/Testing
1738
+ """
1739
+ MinWOCTimeBeforeLogging: float | None = Field(
1740
+ None, title='Min WOC Time Before Logging'
1741
+ )
1742
+ """
1743
+ Min WOC Time Before Logging
1744
+ """
1745
+ MaxStaticTimeSurface: float | None = Field(None, title='Max Static Time Surface')
1746
+ """
1747
+ Max Static Time Surface - cement unit and surface lines
1748
+ """
1749
+ MaxStaticTimeDuringPlacement: float | None = Field(
1750
+ None, title='Max Static Time During Placement'
1751
+ )
1752
+ """
1753
+ Max Static Time During Placement
1754
+ """
1755
+ MaxStaticTimeAfterDisplacement: float | None = Field(
1756
+ None, title='Max Static Time After Displacement'
1757
+ )
1758
+ """
1759
+ Max Static Time After Displacement
1760
+ """
1761
+ StageRemarks: str | None = Field(
1762
+ None,
1763
+ examples=[
1764
+ 'Circulating rates were established prior to the start of the cement job. Controlled Mud Level was \nmaintained at a Downhole Mud Weight of 9.2 ppg for the entire circulation and cement job.'
1765
+ ],
1766
+ title='Stage Remarks',
1767
+ )
1768
+ """
1769
+ Remarks
1770
+ """
1771
+
1772
+
1773
+ class CasingPressureTest(BaseModel):
1774
+ """
1775
+ Casing Pressure Test
1776
+ """
1777
+
1778
+ model_config = ConfigDict(
1779
+ extra='allow',
1780
+ )
1781
+ CasingTestDate: str | None = Field(
1782
+ None, examples=['2020-04-21T17:30:00+0000'], title='Test Date'
1783
+ )
1784
+ """
1785
+ Test Date/time
1786
+ """
1787
+ CasingTestElapsedTime: float | None = Field(
1788
+ None, examples=['12 hours'], title='Casing Test Elapsed Time'
1789
+ )
1790
+ """
1791
+ Casing Test Elapsed Time following end of cement job
1792
+ """
1793
+ CasingTestPressure: float | None = Field(
1794
+ None, examples=['9000 psi'], title='Test Pressure'
1795
+ )
1796
+ """
1797
+ Test Pressure
1798
+ """
1799
+ CasingTestStableRate: float | None = Field(None, title='Casing Test Stable Rate')
1800
+ """
1801
+ Casing Test Stable Flow Rate
1802
+ """
1803
+ CasingTestDuration: float | None = Field(
1804
+ None, examples=['5 min'], title='Test Duration'
1805
+ )
1806
+ """
1807
+ Test Duration
1808
+ """
1809
+ MaintainPressurePercent: float | None = Field(
1810
+ None, examples=['90 %'], title='Maintained Pressure Percent'
1811
+ )
1812
+ """
1813
+ Maintained Pressure % of Initial Test Pressure
1814
+ """
1815
+ PressureChangePerTime: float | None = Field(None, title='Pressure Change/Time')
1816
+ """
1817
+ Incremental Pressure Over Defined Time Interval
1818
+ """
1819
+ PackerMeasuredDepth: float | None = Field(None, title='Packer Measured Depth')
1820
+ """
1821
+ Packer Depth
1822
+ """
1823
+ FluidDensity: float | None = Field(
1824
+ None, examples=['9.2 lbm/gal[US]'], title='Fluid Density'
1825
+ )
1826
+ """
1827
+ Fluid Density
1828
+ """
1829
+ FloatMeasuredDepth: float | None = Field(None, title='Float Measured Depth')
1830
+ """
1831
+ Float Depth
1832
+ """
1833
+ PumpedVolume: float | None = Field(None, title='Pumped Volume')
1834
+ """
1835
+ Pumped Volume
1836
+ """
1837
+ BledBackVolume: float | None = Field(None, title='BledBackVolume')
1838
+ """
1839
+ Bled Back Volume
1840
+ """
1841
+ TestCriteria: str | None = Field(None, title='Test Criteria')
1842
+ """
1843
+ Test Criteria
1844
+ """
1845
+ Remarks: str | None = Field(
1846
+ None,
1847
+ examples=[
1848
+ 'Set the seal assembly as per FMC direction. Closed the MPR and apply 9,000 psi to set seal assembly. Held for 5 minutes to verify the seal integrity. Bled pressure off and open the MPR. tank.'
1849
+ ],
1850
+ title='Remarks',
1851
+ )
1852
+ """
1853
+ Comments or Remarks
1854
+ """
1855
+
1856
+
1857
+ class LogEvaluationDepth(BaseModel):
1858
+ """
1859
+ Log Evaluation Depth
1860
+ """
1861
+
1862
+ model_config = ConfigDict(
1863
+ extra='allow',
1864
+ )
1865
+ EvaluatedIntervalMeasuredDepthTop: float | None = Field(
1866
+ None, title='Evaluated Interval Top Measured Depth'
1867
+ )
1868
+ """
1869
+ Evaluated Interval Top Measured Depth
1870
+ """
1871
+ EvaluatedIntervalMeasuredDepthBase: float | None = Field(
1872
+ None, title='Evaluated Interval Base Measured Depth'
1873
+ )
1874
+ """
1875
+ Evaluated Interval Base Measured Depth
1876
+ """
1877
+ IsIsolated: bool | None = Field(None, title='Is Isolated')
1878
+ """
1879
+ Is Isolated
1880
+ """
1881
+ Remarks: str | None = Field(None, title='Remarks')
1882
+ """
1883
+ Remarks
1884
+ """
1885
+
1886
+
1887
+ class LogEvaluationItem(BaseModel):
1888
+ """
1889
+ Log Evaluation parameters
1890
+ """
1891
+
1892
+ model_config = ConfigDict(
1893
+ extra='allow',
1894
+ )
1895
+ EvaluationDate: str | None = Field(None, title='Evaluation Date')
1896
+ """
1897
+ Evaluation Date/time
1898
+ """
1899
+ LogType: (
1900
+ constr(
1901
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementEvalLogType:[\w\-\.\:\%]+:[0-9]*$'
1902
+ )
1903
+ | None
1904
+ ) = Field(None, title='Log Type')
1905
+ """
1906
+ Log type
1907
+ """
1908
+ IsBHTRun: bool | None = Field(None, title='Is BHT Run')
1909
+ """
1910
+ Bottom Hole Temperature Log Run?
1911
+ """
1912
+ IsCETRun: bool | None = Field(None, title='Is CET Run')
1913
+ """
1914
+ Cement Evaluation Tool Run?
1915
+ """
1916
+ IsCBLRun: bool | None = Field(None, title='Is CBL Run')
1917
+ """
1918
+ Cement Bond Log tool run?
1919
+ """
1920
+ CBLPressure: float | None = Field(None, title='CBL Pressure')
1921
+ """
1922
+ Cement Bond Log Pressure
1923
+ """
1924
+ CBLLogQuality: str | None = Field(None, title='CBL Log Quality')
1925
+ """
1926
+ Cement bond log quality description.
1927
+ """
1928
+ BeforeLogElapsedTime: float | None = Field(None, title='Elapsed Time Before Log')
1929
+ """
1930
+ Elapsed Time Before Log from end of Cement Job
1931
+ """
1932
+ LogID: (
1933
+ constr(
1934
+ pattern=r'^[\w\-\.]+:work-product-component\-\-WellLog:[\w\-\.\:\%]+:[0-9]*$'
1935
+ )
1936
+ | None
1937
+ ) = Field(None, title='Log ID')
1938
+ """
1939
+ ID to evaluation Log
1940
+ """
1941
+ LogEvaluationDepths: list[LogEvaluationDepth] | None = Field(
1942
+ None, title='Log Evaluation Depths'
1943
+ )
1944
+ """
1945
+ Log Evaluation Depths
1946
+ """
1947
+ IsCementFoundOnTool: bool | None = Field(None, title='Cement Found On Tool')
1948
+ """
1949
+ Cement Found On Tool during Evaluation Log run
1950
+ """
1951
+ IsCementFoundBetweenShoeCollar: bool | None = Field(
1952
+ None, title='Cement Found Between Shoe Collar'
1953
+ )
1954
+ """
1955
+ Cement Found Between Shoe Collar during Evaluation Log run
1956
+ """
1957
+ LogEvaluationResults: str | None = Field(None, title='Log Evaluation Results')
1958
+ """
1959
+ Log Evaluation Results
1960
+ """
1961
+
1962
+
1963
+ class ShoeTest(BaseModel):
1964
+ """
1965
+ Shoe Test
1966
+ """
1967
+
1968
+ model_config = ConfigDict(
1969
+ extra='allow',
1970
+ )
1971
+ ShoeTestEquivalentMudWeight: float | None = Field(
1972
+ None, examples=['9.39 lbm/gal[US]'], title='Shoe Test Equivalent Mud Weight'
1973
+ )
1974
+ """
1975
+ Shoe Test Equivalent Mud Weight
1976
+ """
1977
+ OpenHoleLength: float | None = Field(
1978
+ None, examples=['10 ft'], title='Open Hole Length'
1979
+ )
1980
+ """
1981
+ Open Hole Length
1982
+ """
1983
+ IsShoeTestToolUsed: bool | None = Field(
1984
+ None, examples=[True], title='Shoe Test Tool Used'
1985
+ )
1986
+ """
1987
+ Shoe Test Tool Used
1988
+ """
1989
+ ShoeTestElapsedTime: float | None = Field(
1990
+ None, examples=['72 h'], title='Elapsed Time Before Shoe Test'
1991
+ )
1992
+ """
1993
+ Elapsed Time Before Shoe Test following end of cement job
1994
+ """
1995
+ ShoeTestTypeID: (
1996
+ constr(
1997
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementShoeTestType:[\w\-\.\:\%]+:[0-9]*$'
1998
+ )
1999
+ | None
2000
+ ) = Field(
2001
+ None,
2002
+ examples=['namespace:reference-data--CementShoeTestType:FIT:'],
2003
+ title='Shoe Test Type',
2004
+ )
2005
+ """
2006
+ Shoe Test Type
2007
+ """
2008
+ ShoeTestComments: str | None = Field(
2009
+ None,
2010
+ examples=[
2011
+ 'Perform FIT on 9 5/8” casing shoe. Shoe depth, 11,141’ MD/ 10,219’ TVD. XACT downhole static MW was 9.39 ppg. Cement unit began pumping at .5 bbl/min and pumped a total of .9 bbls. Wellhead pressure increased from 390 psi to 490 psi (100 psi Increase) and pump was stopped. Xact ECD recorded a maximum of 9.58 EMW (45 second delay). Pressure was bled off .9 bbls back. FIT result = 9.39 ppg 100 psi applied at 10,219’ TVD. PWD pumped up 9.62 EMW.'
2012
+ ],
2013
+ title='Shoe Test Remarks',
2014
+ )
2015
+ """
2016
+ Comments or Remarks
2017
+ """
2018
+
2019
+
2020
+ class TOCInterpretation(BaseModel):
2021
+ """
2022
+ TOC Interpretation
2023
+ """
2024
+
2025
+ model_config = ConfigDict(
2026
+ extra='allow',
2027
+ )
2028
+ TopOfCementMeasuredDepth: float | None = Field(
2029
+ None, title='Top of Cement Measured Depth'
2030
+ )
2031
+ """
2032
+ Top of Cement (TOC) Measured Depth
2033
+ """
2034
+ PlannedTopMeasuredDepth: float | None = Field(
2035
+ None, title='Planned Top of Cement Measured Depth'
2036
+ )
2037
+ """
2038
+ Planned Top of Cement (TOC) Measured Depth
2039
+ """
2040
+ TopOfCementTrueVerticalDepth: float | None = Field(
2041
+ None, title='Top of Cement True Vertical Depth'
2042
+ )
2043
+ """
2044
+ Top of Cement (TOC) True Vertical Depth
2045
+ """
2046
+ IsTopOfCementSufficient: bool | None = Field(None, title='Top of Cement Sufficient')
2047
+ """
2048
+ TOC Sufficient?
2049
+ """
2050
+ IsRemedialCementRequired: bool | None = Field(
2051
+ None, title='Remedial Cement Required'
2052
+ )
2053
+ """
2054
+ Remedial Cement Required?
2055
+ """
2056
+ NumberOfRemedial: int | None = Field(None, title='# Remedial')
2057
+ """
2058
+ Number of remedial Squeezes required
2059
+ """
2060
+ RemedialType: str | None = Field(None, title='Remedial Type')
2061
+ """
2062
+ Remedial Type
2063
+ """
2064
+ TopOfCementLocateMethodID: (
2065
+ constr(
2066
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementTOCLocateMethod:[\w\-\.\:\%]+:[0-9]*$'
2067
+ )
2068
+ | None
2069
+ ) = Field(None, title='Top of Cement Locate Method')
2070
+ """
2071
+ Top of Cement Locate Method
2072
+ """
2073
+ Interpreter: str | None = Field(None, title='Interpreter')
2074
+ """
2075
+ Interpreter
2076
+ """
2077
+ Interpretation: str | None = Field(None, title='Interpretation')
2078
+ """
2079
+ TOC Interpretation
2080
+ """
2081
+ InterpretationRemarks: str | None = Field(None, title='Remarks')
2082
+ """
2083
+ Comments or Remarks of the TOC Interpretation
2084
+ """
2085
+
2086
+
2087
+ class LinerTopTest(BaseModel):
2088
+ """
2089
+ Liner Top Test
2090
+ """
2091
+
2092
+ model_config = ConfigDict(
2093
+ extra='allow',
2094
+ )
2095
+ TestTopMeasuredDepth: float | None = Field(None, title='Test Top Measured Depth')
2096
+ """
2097
+ Test Top Measured Depth
2098
+ """
2099
+ TestTopTrueVerticalDepth: float | None = Field(
2100
+ None, title='Test Top True Vertical Depth'
2101
+ )
2102
+ """
2103
+ Test Top True Vertical Depth
2104
+ """
2105
+ TestBaseMeasuredDepth: float | None = Field(None, title='Test Base Measured Depth')
2106
+ """
2107
+ Test Base Measured Depth
2108
+ """
2109
+ TestBaseTrueVerticalDepth: float | None = Field(
2110
+ None, title='Test Base True Vertical Depth'
2111
+ )
2112
+ """
2113
+ Test Base True Vertical Depth
2114
+ """
2115
+ LinerOverlap: float | None = Field(None, title='Liner Overlap')
2116
+ """
2117
+ Liner Overlap
2118
+ """
2119
+ LinerTopTestElapsedTime: float | None = Field(
2120
+ None, title='Elapsed Time Before Test'
2121
+ )
2122
+ """
2123
+ Elapsed Time Before Test following end of cement job
2124
+ """
2125
+ LinerNegativeTestTool: str | None = Field(None, title='Liner Negative Test Tool')
2126
+ """
2127
+ Liner Negative Test Tool
2128
+ """
2129
+ NegativeTestEquivalentMudWeight: float | None = Field(
2130
+ None, title='Liner Negative Test Equivalent Mud Weight'
2131
+ )
2132
+ """
2133
+ Liner Negative Test Equivalent Mud Weight
2134
+ """
2135
+ LinerPositiveTestTool: str | None = Field(None, title='Liner Positive Test Tool')
2136
+ """
2137
+ Liner Positive Test Tool
2138
+ """
2139
+ PositiveTestEquivalentMudWeight: float | None = Field(
2140
+ None, title='Liner Positive Test Equivalent Mud Weight'
2141
+ )
2142
+ """
2143
+ Liner Positive Test Equivalent Mud Weight
2144
+ """
2145
+ IsCementFoundOnTool: bool | None = Field(None, title='Cement Found On Tool')
2146
+ """
2147
+ Cement Found On Tool?
2148
+ """
2149
+ LinerTopTestRemarks: str | None = Field(None, title='Remarks')
2150
+ """
2151
+ Comments or Remarks
2152
+ """
2153
+
2154
+
2155
+ class ShoetrackCement(BaseModel):
2156
+ """
2157
+ Shoetrack Cement
2158
+ """
2159
+
2160
+ model_config = ConfigDict(
2161
+ extra='allow',
2162
+ )
2163
+ ShoetrackMeasuredDepth: float | None = Field(
2164
+ None, examples=['11121 ft'], title='Shoetrack Measured Depth'
2165
+ )
2166
+ """
2167
+ Shoetrack Measured Depth
2168
+ """
2169
+ ShoetrackTrueVerticalDepth: float | None = Field(
2170
+ None, title='Shoetrack True Vertical Depth'
2171
+ )
2172
+ """
2173
+ Shoetrack True Vertical Depth
2174
+ """
2175
+ ShoetrackLength: float | None = Field(
2176
+ None, examples=['20 ft'], title='Shoetrack Length'
2177
+ )
2178
+ """
2179
+ Shoetrack Length
2180
+ """
2181
+ IsHardCement: bool | None = Field(None, examples=[True], title='Is Hard Cement')
2182
+ """
2183
+ Is Hard Cement?
2184
+ """
2185
+ ShoetrackDrillDate: str | None = Field(
2186
+ None, examples=['2020-04-26T21:30:00+0000'], title='Shoetrack Drill Date'
2187
+ )
2188
+ """
2189
+ Shoetrack Drill Date
2190
+ """
2191
+ ShoetrackDrillMeasuredDepth: float | None = Field(
2192
+ None, examples=['11121 ft'], title='Shoetrack Drill Measured Depth'
2193
+ )
2194
+ """
2195
+ Shoetrack Drill Measured Depth
2196
+ """
2197
+ ShoetrackDrillTrueVerticalDepth: float | None = Field(
2198
+ None, title='Shoetrack Drill True Vertical Depth'
2199
+ )
2200
+ """
2201
+ Shoetrack Drill True Vertical Depth
2202
+ """
2203
+ ShoetrackCementTestRemarks: str | None = Field(
2204
+ None,
2205
+ examples=[
2206
+ 'Drill cement and shoe track F/ 11,121’ T/ 11,141’. Circulated 9.2ppg SMW DIF at 500gpm, 1,200psi. Rotated 50rpm, 9-11k torque. 15-20k WOB. P/U-515k S/O-470k. Boosted riser with 400gpm, 250psi. Top Fill pump at 160gpm.'
2207
+ ],
2208
+ title='Shoetrack Cement Test Remarks',
2209
+ )
2210
+ """
2211
+ Comments or Remarks
2212
+ """
2213
+
2214
+
2215
+ class Data(BaseModel):
2216
+ """
2217
+ Generic reference object containing the universal properties of a Work Product Component for inclusion in data type specific Work Product Component objects
2218
+ """
2219
+
2220
+ model_config = ConfigDict(
2221
+ extra='allow',
2222
+ )
2223
+ ResourceHomeRegionID: (
2224
+ constr(pattern=r'^[\w\-\.]+:reference-data\-\-OSDURegion:[\w\-\.\:\%]+:[0-9]*$')
2225
+ | None
2226
+ ) = Field(None, title='Resource Home Region ID')
2227
+ """
2228
+ The name of the home [cloud environment] region for this OSDU resource object.
2229
+ """
2230
+ ResourceHostRegionIDs: (
2231
+ list[
2232
+ constr(
2233
+ pattern=r'^[\w\-\.]+:reference-data\-\-OSDURegion:[\w\-\.\:\%]+:[0-9]*$'
2234
+ )
2235
+ ]
2236
+ | None
2237
+ ) = Field(None, title='Resource Host Region ID')
2238
+ """
2239
+ The name of the host [cloud environment] region(s) for this OSDU resource object.
2240
+ """
2241
+ ResourceCurationStatus: (
2242
+ constr(
2243
+ pattern=r'^[\w\-\.]+:reference-data\-\-ResourceCurationStatus:[\w\-\.\:\%]+:[0-9]*$'
2244
+ )
2245
+ | None
2246
+ ) = Field(None, title='Resource Curation Status')
2247
+ """
2248
+ Describes the current Curation status.
2249
+ """
2250
+ ResourceLifecycleStatus: (
2251
+ constr(
2252
+ pattern=r'^[\w\-\.]+:reference-data\-\-ResourceLifecycleStatus:[\w\-\.\:\%]+:[0-9]*$'
2253
+ )
2254
+ | None
2255
+ ) = Field(None, title='Resource Lifecycle Status')
2256
+ """
2257
+ Describes the current Resource Lifecycle status.
2258
+ """
2259
+ ResourceSecurityClassification: (
2260
+ constr(
2261
+ pattern=r'^[\w\-\.]+:reference-data\-\-ResourceSecurityClassification:[\w\-\.\:\%]+:[0-9]*$'
2262
+ )
2263
+ | None
2264
+ ) = Field(None, title='Resource Security Classification')
2265
+ """
2266
+ Classifies the security level of the resource.
2267
+ """
2268
+ Source: str | None = Field(None, title='Data Source')
2269
+ """
2270
+ The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.
2271
+ """
2272
+ ExistenceKind: (
2273
+ constr(
2274
+ pattern=r'^[\w\-\.]+:reference-data\-\-ExistenceKind:[\w\-\.\:\%]+:[0-9]*$'
2275
+ )
2276
+ | None
2277
+ ) = Field(None, title='Existence Kind')
2278
+ """
2279
+ Where does this data resource sit in the cradle-to-grave span of its existence?
2280
+ """
2281
+ TechnicalAssuranceID: (
2282
+ constr(
2283
+ pattern=r'^[\w\-\.]+:reference-data\-\-TechnicalAssuranceType:[\w\-\.\:\%]+:[0-9]*$'
2284
+ )
2285
+ | None
2286
+ ) = Field(None, title='Technical Assurance ID')
2287
+ """
2288
+ DEPRECATED: Describes a record's overall suitability for general business consumption based on data quality. Clarifications: Since Certified is the highest classification of suitable quality, any further change or versioning of a Certified record should be carefully considered and justified. If a Technical Assurance value is not populated then one can assume the data has not been evaluated or its quality is unknown (=Unevaluated). Technical Assurance values are not intended to be used for the identification of a single "preferred" or "definitive" record by comparison with other records.
2289
+ """
2290
+ Datasets: (
2291
+ list[constr(pattern=r'^[\w\-\.]+:dataset\-\-[\w\-\.]+:[\w\-\.\:\%]+:[0-9]*$')]
2292
+ | None
2293
+ ) = None
2294
+ """
2295
+ The record id, which identifies this OSDU File or dataset resource.
2296
+ """
2297
+ DDMSDatasets: (
2298
+ list[
2299
+ constr(
2300
+ pattern=r'^(([^:/?#]+):)(\/\/([^/?#]+))(\/[^?#]+)(\?([^#]*))?(#(.*))?'
2301
+ )
2302
+ ]
2303
+ | None
2304
+ ) = Field(
2305
+ None,
2306
+ examples=[
2307
+ [
2308
+ 'urn://wddms-3/uuid:20840361-adc0-4842-999b-5639bd07bb38',
2309
+ "eml://rddms-1/dataspace('demo/Volve')/resqml20.obj_ContinuousProperty(1615d8d2-2a2d-482c-885e-14225b89e90c)",
2310
+ ]
2311
+ ],
2312
+ title='DDMS Datasets',
2313
+ )
2314
+ """
2315
+ An array of references to content in Domain Data Management Services represented by this work-product-component. The references are formed as URI following https://www.rfc-editor.org/rfc/rfc3986#page-16. This property is exclusively populated by DDMSs. If a work-product-component is represented in more than one DDMS, DDMSs are obliged to find the specific reference by inspecting the URI's authority values matching the DDMS id.
2316
+ """
2317
+ Artefacts: list[Artefact] | None = None
2318
+ """
2319
+ An array of Artefacts - each artefact has a Role, Resource tuple. An artefact is distinct from the file, in the sense certain valuable information is generated during loading process (Artefact generation process). Examples include retrieving location data, performing an OCR which may result in the generation of artefacts which need to be preserved distinctly
2320
+ """
2321
+ IsExtendedLoad: bool | None = None
2322
+ """
2323
+ A flag that indicates if the work product component is undergoing an extended load. It reflects the fact that the work product component is in an early stage and may be updated before finalization.
2324
+ """
2325
+ IsDiscoverable: bool | None = None
2326
+ """
2327
+ A flag that indicates if the work product component is searchable, which means covered in the search index.
2328
+ """
2329
+ TechnicalAssurances: list[v1_2_0.AbstractTechnicalAssurance] | None = Field(
2330
+ None, title='Technical Assurances'
2331
+ )
2332
+ """
2333
+ Describes a record's overall suitability for general business consumption based on data quality. Clarifications: Since Certified is the highest classification of suitable quality, any further change or versioning of a Certified record should be carefully considered and justified. If a Technical Assurance value is not populated then one can assume the data has not been evaluated or its quality is unknown (=Unevaluated). Technical Assurance values are not intended to be used for the identification of a single "preferred" or "definitive" record by comparison with other records.
2334
+ """
2335
+ NameAliases: list[v1_0_0.AbstractAliasNames] | None = None
2336
+ """
2337
+ Alternative names, including historical, by which this work-product-component is/has been known (it should include all the identifiers).
2338
+ """
2339
+ Name: str = Field(
2340
+ ..., examples=['9-5/8" Production Casing Cement Job'], title='Name'
2341
+ )
2342
+ """
2343
+ Name of the cement job.
2344
+ """
2345
+ Description: str | None = None
2346
+ """
2347
+ Description. Summary of the work product component. Not the same as Remark which captures thoughts of creator about the wpc.
2348
+ """
2349
+ CreationDateTime: str | None = None
2350
+ """
2351
+ Date that a resource (work product component here) is formed outside of OSDU before loading (e.g. publication date).
2352
+ """
2353
+ Tags: list[str] | None = None
2354
+ """
2355
+ Array of key words to identify the work product, especially to help in search.
2356
+ """
2357
+ SpatialPoint: v1_1_0.AbstractSpatialLocation | None = None
2358
+ """
2359
+ A centroid point that reflects the locale of the content of the work product component (location of the subject matter).
2360
+ """
2361
+ SpatialArea: v1_1_0.AbstractSpatialLocation | None = None
2362
+ """
2363
+ A polygon boundary that reflects the locale of the content of the work product component (location of the subject matter).
2364
+ """
2365
+ GeoContexts: list[v1_0_0_1.AbstractGeoContext] | None = None
2366
+ """
2367
+ List of geographic entities which provide context to the WPC. This may include multiple types or multiple values of the same type.
2368
+ """
2369
+ SubmitterName: str | None = None
2370
+ """
2371
+ Name of the person that first submitted the work product component to OSDU.
2372
+ """
2373
+ BusinessActivities: list[str] | None = None
2374
+ """
2375
+ Array of business processes/workflows that the work product component has been through (ex. well planning, exploration).
2376
+ """
2377
+ AuthorIDs: list[str] | None = Field(None, title='Author IDs')
2378
+ """
2379
+ Array of Authors' names of the work product component. Could be a person or company entity.
2380
+ """
2381
+ LineageAssertions: list[LineageAssertion] | None = None
2382
+ """
2383
+ Defines relationships with other objects (any kind of Resource) upon which this work product component depends. The assertion is directed only from the asserting WPC to ancestor objects, not children. It should not be used to refer to files or artefacts within the WPC -- the association within the WPC is sufficient and Artefacts are actually children of the main WPC file. They should be recorded in the data.Artefacts[] array.
2384
+ """
2385
+ WellboreID: constr(
2386
+ pattern=r'^[\w\-\.]+:master-data\-\-Wellbore:[\w\-\.\:\%]+:[0-9]*$'
2387
+ ) = Field(
2388
+ ...,
2389
+ examples=['namespace:master-data--Wellbore:11000091175501:'],
2390
+ title='Wellbore ID',
2391
+ )
2392
+ """
2393
+ Reference to the parent Wellbore. Cemented TubularAssembly would be installed to same Wellbore.
2394
+ """
2395
+ WellActivityID: constr(
2396
+ pattern=r'^[\w\-\.]+:master-data\-\-WellActivity:[\w\-\.\:\%]+:[0-9]*$'
2397
+ ) = Field(
2398
+ ...,
2399
+ examples=['namespace:master-data--WellActivity:110000911755.DRO:'],
2400
+ title='Well Activity',
2401
+ )
2402
+ """
2403
+ Identifier of the parent Well Activity in which the Cement Job was performed
2404
+ """
2405
+ VerticalMeasurement: v1_0_0_2.AbstractFacilityVerticalMeasurement = Field(
2406
+ ...,
2407
+ examples=[
2408
+ {
2409
+ 'VerticalReferenceEntityID': 'namespace:master-data--Wellbore:11000091175501:',
2410
+ 'VerticalReferenceID': 'DFE',
2411
+ }
2412
+ ],
2413
+ title='Depth Reference Elevation',
2414
+ )
2415
+ """
2416
+ ID to the Zero Depth Point Vertical Measure elevation for depths contained in the Cement Job, Stages and Pumping Schedule, depth correction used to correlate MDs to original drilling rig MD. References an entry in the Vertical Measurement array for the Well parented by the wellbore via WellboreID.
2417
+ """
2418
+ WellboreTubularID: (
2419
+ constr(
2420
+ pattern=r'^[\w\-\.]+:work-product-component\-\-TubularAssembly:[\w\-\.\:\%]+:[0-9]*$'
2421
+ )
2422
+ | None
2423
+ ) = Field(
2424
+ None,
2425
+ examples=['namespace:work-product-component--TubularAssembly:9_58ProdCasing:'],
2426
+ title='Cemented Tubular Assembly',
2427
+ )
2428
+ """
2429
+ Installed Casing/Liner or other Tubular Assembly on which the Cement Job is performed. Not entered for Plug jobs in open hole.
2430
+ """
2431
+ HoleSectionID: (
2432
+ constr(pattern=r'^[\w\-\.]+:master-data\-\-HoleSection:[\w\-\.\:\%]+:[0-9]*$')
2433
+ | None
2434
+ ) = Field(
2435
+ None,
2436
+ examples=['namespace:master-data--HoleSection:11000091175501.12_14HoleSect:'],
2437
+ title='Hole Section Identifier',
2438
+ )
2439
+ """
2440
+ Hole Section Assembly installed in and cement job performed in
2441
+ """
2442
+ WorkStringID: (
2443
+ constr(
2444
+ pattern=r'^[\w\-\.]+:work-product-component\-\-TubularAssembly:[\w\-\.\:\%]+:[0-9]*$'
2445
+ )
2446
+ | None
2447
+ ) = Field(None, title='Work String ID')
2448
+ """
2449
+ Identifier of the TubularAssembly that describes the cement work string
2450
+ """
2451
+ JobTypeID: constr(
2452
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementJobType:[\w\-\.\:\%]+:[0-9]*$'
2453
+ ) = Field(
2454
+ ...,
2455
+ examples=['namespace:reference-data--CementJobType:Primary:'],
2456
+ title='Job Type ID',
2457
+ )
2458
+ """
2459
+ Type of cement job
2460
+ """
2461
+ JobStartDatetime: str | None = Field(
2462
+ None, examples=['2020-04-20T08:00:00+0000'], title='Job Start Date/time'
2463
+ )
2464
+ """
2465
+ Job Start Date/time
2466
+ """
2467
+ JobEndDatetime: str | None = Field(
2468
+ None, examples=['2020-04-20T12:30:00+0000'], title='Job End Date/time'
2469
+ )
2470
+ """
2471
+ Job End Date/time
2472
+ """
2473
+ JobConfiguration: str | None = Field(None, title='Job Configuration')
2474
+ """
2475
+ Job configuration/description
2476
+ """
2477
+ PlannedCementJobID: (
2478
+ constr(
2479
+ pattern=r'^[\w\-\.]+:master-data\-\-PlannedCementJob:[\w\-\.\:\%]+:[0-9]*$'
2480
+ )
2481
+ | None
2482
+ ) = Field(None, title='Planned Cement Job ID')
2483
+ """
2484
+ Association to Planned Cement Job
2485
+ """
2486
+ PumpThroughEquipmentID: (
2487
+ constr(
2488
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPumpThroughEquipmentType:[\w\-\.\:\%]+:[0-9]*$'
2489
+ )
2490
+ | None
2491
+ ) = Field(
2492
+ None,
2493
+ examples=[
2494
+ 'namespace:reference-data--CementPumpThroughEquipmentType:CementHead:'
2495
+ ],
2496
+ title='Pump Through Equipment',
2497
+ )
2498
+ """
2499
+ Pump Through Equipment
2500
+ """
2501
+ ContractorID: (
2502
+ constr(pattern=r'^[\w\-\.]+:master-data\-\-Organisation:[\w\-\.\:\%]+:[0-9]*$')
2503
+ | None
2504
+ ) = Field(
2505
+ None,
2506
+ examples=['namespace:master-data--Organisation:Halliburton:'],
2507
+ title='Contractor ID',
2508
+ )
2509
+ """
2510
+ Identifier of cementing contractor.
2511
+ """
2512
+ LeadCementerName: str | None = Field(
2513
+ None, examples=['Joe Bloggs'], title='Lead Cementer Name'
2514
+ )
2515
+ """
2516
+ Name of lead cementer
2517
+ """
2518
+ OperatorRepresentative: str | None = Field(
2519
+ None, examples=['Jane Bloggs'], title='Operator Representative'
2520
+ )
2521
+ """
2522
+ Name of Operator Representative/Supervisor
2523
+ """
2524
+ ContractorJobID: str | None = Field(
2525
+ None, examples=['H099999'], title='Contractor Job ID'
2526
+ )
2527
+ """
2528
+ Contractor Job ID
2529
+ """
2530
+ OperatorRepresentativeRemarks: str | None = Field(
2531
+ None,
2532
+ examples=[
2533
+ 'Performed 9 5/8” cement job as per Halliburton Procedure: Total Spacer: 60 bbls of 9.2 ppg tuned spacer lll. Cement recipe as follows; 177 sks at 1.59 cuft/sk for 281 cu/ft (50 bbls) of 15.6 ppg Class A cement. 0.07% EZ-FLO II, 2.3 lb/sk KCl, 0.12 gps Halad 344, 0.01 gps SA-640L, 0.14 gps HR-6L, 35% SS-200. Water requirement-6.42 gps, total mix fluid-6.69 gps. Total cement volume-50 bbls, 281 cu/ft. Shoe depth: 11,141’ MD, 10,219’ TVD. CML maintaining 9.2 ppg DHMW throughout cement job.'
2534
+ ],
2535
+ title='Operator Representative Remarks',
2536
+ )
2537
+ """
2538
+ Operator Representative Remarks
2539
+ """
2540
+ IsReturnsToSeabed: bool | None = Field(
2541
+ None, examples=[False], title='Is Returns To Seabed'
2542
+ )
2543
+ """
2544
+ Were fluid circulated/returned to seabed. Values are "true" (or "1") and "false" (or "0").
2545
+ """
2546
+ IsReciprocating: bool | None = Field(
2547
+ None, examples=[False], title='Is Reciprocating'
2548
+ )
2549
+ """
2550
+ Pipe being reciprocated. Values are "true" (or "1") and "false" (or "0").
2551
+ """
2552
+ IsRotating: bool | None = Field(None, examples=[False], title='Is Rotating')
2553
+ """
2554
+ Is pipe rotated during job. Values are "true" (or "1") and "false" (or "0").
2555
+ """
2556
+ WaitOnCementDuration: float | None = Field(
2557
+ None, examples=['180 min'], title='Waiting On Cement time'
2558
+ )
2559
+ """
2560
+ Duration from cement placement and left
2561
+ undisturbed until disturbed again.
2562
+ """
2563
+ HoleMeasuredDepth: float | None = Field(
2564
+ None, examples=['11162 ft'], title='Hole Measured Depth'
2565
+ )
2566
+ """
2567
+ Measured depth at bottom of hole.
2568
+ """
2569
+ StringSetMeasuredDepth: float | None = Field(
2570
+ None, examples=['11141 ft'], title='String Set Measured Depth'
2571
+ )
2572
+ """
2573
+ Measured depth of cemented string casing/liner shoe.
2574
+ """
2575
+ StringSetTrueVerticalDepth: float | None = Field(
2576
+ None, examples=['10200 ft'], title='String Set True Vertical Depth'
2577
+ )
2578
+ """
2579
+ True vertical depth of cement string shoe.
2580
+ """
2581
+ StageCollarMeasuredDepth: float | None = Field(
2582
+ None, examples=['9802.50 ft'], title='StageCollarMeasuredDepth'
2583
+ )
2584
+ """
2585
+ Measured depth of the stage collar
2586
+ """
2587
+ LandingFloatCollarMeasuredDepth: float | None = Field(
2588
+ None, examples=['11041.5 ft'], title='LandingCollarMeasuredDepth'
2589
+ )
2590
+ """
2591
+ Measured depth of the landing/float collar
2592
+ """
2593
+ RatholeLength: float | None = Field(
2594
+ None, examples=['21 ft'], title='Rathole Length'
2595
+ )
2596
+ """
2597
+ Distance from shoe to hole section bottom depth (Rathole)
2598
+ """
2599
+ PreviousShoeMeasuredDepth: float | None = Field(
2600
+ None, examples=['10120 ft'], title='Previous Shoe Measured Depth'
2601
+ )
2602
+ """
2603
+ Measured depth of the previous casing/liner shoe.
2604
+ """
2605
+ PreviousShoeTrueVerticalDepth: float | None = Field(
2606
+ None, examples=['9916.40 ft'], title='Previous Shoe True Vertical Depth'
2607
+ )
2608
+ """
2609
+ Estimated True Vertical Depth of previous casing/liner shoe.
2610
+ """
2611
+ PlugTopMeasuredDepth: float | None = Field(None, title='Plug Top Measured Depth')
2612
+ """
2613
+ If Plug, measured depth of top of plug
2614
+ """
2615
+ PlugTopTrueVerticalDepth: float | None = Field(
2616
+ None, title='Plug Top True Vertical Depth'
2617
+ )
2618
+ """
2619
+ If Plug, true vertical depth of top of plug. TVDs needed for estimating hydrostatic pressure and temperature.
2620
+ """
2621
+ PlugBaseMeasuredDepth: float | None = Field(None, title='Plug Base Measured Depth')
2622
+ """
2623
+ If Plug, measured depth of bottom of plug.
2624
+ """
2625
+ PlugBaseTrueVerticalDepth: float | None = Field(
2626
+ None, title='Plug Base True Vertical Depth'
2627
+ )
2628
+ """
2629
+ If Plug, true vertical depth of bottom of plug.
2630
+ """
2631
+ PlugInclinationAverage: float | None = Field(
2632
+ None, examples=['86 dega'], title='Plug Inclination Average'
2633
+ )
2634
+ """
2635
+ If Plug, average inclination of wellbore across plug depth calculated from directional survey
2636
+ """
2637
+ PlugInclinationMaximum: float | None = Field(None, title='Plug Inclination Maximum')
2638
+ """
2639
+ If Plug, maximum inclination of wellbore across plug depth calculated from directional survey
2640
+ """
2641
+ PlugTaggedMeasuredDepth: float | None = Field(
2642
+ None, title='Plug Tagged Measured Depth'
2643
+ )
2644
+ """
2645
+ Plug tagged MD
2646
+ """
2647
+ PlugTaggedWeight: float | None = Field(None, title='Plug Tagged Weight')
2648
+ """
2649
+ Plug tagged weight
2650
+ """
2651
+ PlugPositiveTestPressure: float | None = Field(
2652
+ None, title='Plug Positive Test Pressure'
2653
+ )
2654
+ """
2655
+ Plug Positive Test Pressure
2656
+ """
2657
+ PlugNegativeTestPressure: float | None = Field(
2658
+ None, title='Plug Negative Test Pressure'
2659
+ )
2660
+ """
2661
+ Plug negative test pressure
2662
+ """
2663
+ PlugTypeID: (
2664
+ constr(
2665
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPlugType:[\w\-\.\:\%]+:[0-9]*$'
2666
+ )
2667
+ | None
2668
+ ) = Field(None, title='Plug Type ID')
2669
+ """
2670
+ Cement plug type.
2671
+ """
2672
+ IsPlugDrilledOut: bool | None = Field(None, title='Plug Drilled Out')
2673
+ """
2674
+ Plug fully drilled out
2675
+ """
2676
+ PlugDrillOutDate: str | None = Field(None, title='Plug Drill Out Date')
2677
+ """
2678
+ Date when Cement Plug fully drilled out (not partial drill out).
2679
+ """
2680
+ PlugBaseSupportTypeID: (
2681
+ constr(
2682
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPlugBaseSupportType:[\w\-\.\:\%]+:[0-9]*$'
2683
+ )
2684
+ | None
2685
+ ) = Field(None, title='Plug Base Support Type')
2686
+ """
2687
+ Cement Plug Support Base Type
2688
+ """
2689
+ CementPlugStates: list[CementPlugState] | None = Field(
2690
+ None, title='Cement Plug States'
2691
+ )
2692
+ """
2693
+ Cement Plug Status History
2694
+ """
2695
+ SqueezeTypeID: (
2696
+ constr(
2697
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSqueezeType:[\w\-\.\:\%]+:[0-9]*$'
2698
+ )
2699
+ | None
2700
+ ) = Field(None, title='Squeeze Type')
2701
+ """
2702
+ Type of squeeze.
2703
+ """
2704
+ SqueezeMethodID: (
2705
+ constr(
2706
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSqueezeMethod:[\w\-\.\:\%]+:[0-9]*$'
2707
+ )
2708
+ | None
2709
+ ) = Field(None, title='Squeeze method')
2710
+ """
2711
+ Method used to perform squeeze
2712
+ """
2713
+ SqueezeTopMeasuredDepth: float | None = Field(
2714
+ None, title='Squeeze Top Measured Depth'
2715
+ )
2716
+ """
2717
+ Top Measured depth of squeeze e.g. long perforated interval. Single depth when specific point squeezed (top & base are same).
2718
+ """
2719
+ SqueezeWellboreOpeningID: (
2720
+ list[
2721
+ constr(
2722
+ pattern=r'^[\w\-\.]+:master-data\-\-WellboreOpening:[\w\-\.\:\%]+:[0-9]*$'
2723
+ )
2724
+ ]
2725
+ | None
2726
+ ) = Field(None, title='Wellbore Opening')
2727
+ """
2728
+ ID of Wellbore Opening(s) through which Cement Squeezed
2729
+ """
2730
+ IsCoilTubing: bool | None = Field(None, examples=[False], title='Is Coil Tubing')
2731
+ """
2732
+ Coiled Tubing Used in the job (true=CTU used). Values are "true" (or "1") and "false" (or "0").
2733
+ """
2734
+ EstimatedCementTopMeasuredDepth: float | None = Field(
2735
+ None, examples=['11000 ft'], title='Estimated Cement Top Measured Depth'
2736
+ )
2737
+ """
2738
+ The estimated Measured depth of the Top of Cement (TOC) based on volume pumped.
2739
+ """
2740
+ CementToolTubularComponentID: (
2741
+ constr(
2742
+ pattern=r'^[\w\-\.]+:work-product-component\-\-TubularComponent:[\w\-\.\:\%]+:[0-9]*$'
2743
+ )
2744
+ | None
2745
+ ) = Field(None, title='Cement Tool Tubular Component ID')
2746
+ """
2747
+ The identifier of the TubularComponent within the Cemented String TubularAssembly used for Cementing the wellbore
2748
+ """
2749
+ IsPipePulledWet: bool | None = Field(
2750
+ None, examples=[False], title='Pipe Pulled Wet'
2751
+ )
2752
+ """
2753
+ Is the pipe pulled wet (or dry) from cementing operation depth to surface for Plugs
2754
+ """
2755
+ PipePulledRate: Literal['ft/min not std/min'] | None = Field(
2756
+ None, title='Pipe Pulled Rate'
2757
+ )
2758
+ """
2759
+ Rate pulled from cementing operation depth to surface
2760
+ """
2761
+ IsViscousPillUsed: bool | None = Field(
2762
+ None, examples=[False], title='Viscous Pilled Used'
2763
+ )
2764
+ """
2765
+ Is Viscous Pilled Used
2766
+ """
2767
+ PackerStingerMeasuredDepth: Literal['?? In SLB PlannedCementJob?'] | None = Field(
2768
+ None, title='Packer Stinger Measured Depth'
2769
+ )
2770
+ """
2771
+ Packer or Stinger Measured Depth
2772
+ """
2773
+ CementToolTypeID: (
2774
+ constr(
2775
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementToolType:[\w\-\.\:\%]+:[0-9]*$'
2776
+ )
2777
+ | None
2778
+ ) = Field(
2779
+ None,
2780
+ examples=['nmespace:reference-data--CementToolType:Retainer:'],
2781
+ title='Cement Tool Type',
2782
+ )
2783
+ """
2784
+ Cement Tool Type
2785
+ """
2786
+ CementStages: list[CementStage] | None = Field(None, title='Cement Stages')
2787
+ """
2788
+ Set of stages for the job (usually 1 or 2).
2789
+ """
2790
+ CasingPressureTest_1: CasingPressureTest | None = Field(
2791
+ None, alias='CasingPressureTest', title='Casing Pressure Test'
2792
+ )
2793
+ """
2794
+ Casing Pressure Test
2795
+ """
2796
+ LogEvaluation: list[LogEvaluationItem] | None = Field(None, title='Log Evaluation')
2797
+ """
2798
+ Log Evaluation
2799
+ """
2800
+ ShoeTest_1: ShoeTest | None = Field(None, alias='ShoeTest', title='Shoe Test')
2801
+ """
2802
+ Shoe Test
2803
+ """
2804
+ TOCInterpretation_1: TOCInterpretation | None = Field(
2805
+ None, alias='TOCInterpretation', title='TOC Interpretation'
2806
+ )
2807
+ """
2808
+ TOC Interpretation
2809
+ """
2810
+ LinerTopTest_1: LinerTopTest | None = Field(
2811
+ None, alias='LinerTopTest', title='Liner Top Test'
2812
+ )
2813
+ """
2814
+ Liner Top Test
2815
+ """
2816
+ ShoetrackCement_1: ShoetrackCement | None = Field(
2817
+ None, alias='ShoetrackCement', title='Shoetrack Cement'
2818
+ )
2819
+ """
2820
+ Shoetrack Cement
2821
+ """
2822
+ CementJobRating: (
2823
+ constr(
2824
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementJobQuality:[\w\-\.\:\%]+:[0-9]*$'
2825
+ )
2826
+ | None
2827
+ ) = Field(
2828
+ None,
2829
+ examples=['namespace:reference-data--CementJobQuality:Good:'],
2830
+ title='Cement Job Rating',
2831
+ )
2832
+ """
2833
+ Cement Job Rating
2834
+ """
2835
+ PhROVMeasured: float | None = Field(None, examples=[6], title='ROV Measured pH')
2836
+ """
2837
+ ROV Measured pH at Seabed
2838
+ """
2839
+ CementFluidLineConfiguration: str | None = Field(
2840
+ None, title='Cement Fluid Line Configuration'
2841
+ )
2842
+ """
2843
+ Cement Fluid Line Configuration
2844
+ """
2845
+ Remarks: str | None = Field(
2846
+ None,
2847
+ examples=[
2848
+ 'Halliburton displaced cement with 364 bbls of 9.2 ppg SBM SMW followed by 50 bbls of 6.8 ppg base oil at 4 bpm, 130-240 psi. Full returns observed during job. CML maintaining 9.2 ppg DHMW throughout cement job. Cement in place at 0115 hours, bled back 5 bbls, Floats holding.'
2849
+ ],
2850
+ title='Remarks',
2851
+ )
2852
+ """
2853
+ Remarks
2854
+ """
2855
+ ExtensionProperties: dict[str, Any] | None = None