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,2934 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workproductcomponent/cement_job/v1_3_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=['namespace:reference-data--FluidAdditiveName:ZoneSeal%202000:'],
289
+ title='Additive Name ID',
290
+ )
291
+ """
292
+ Relationship to a FluidAdditiveName reference-data record.
293
+ """
294
+ AdditiveVendorID: (
295
+ constr(pattern=r'^[\w\-\.]+:master-data\-\-Organisation:[\w\-\.\:\%]+:[0-9]*$')
296
+ | None
297
+ ) = Field(
298
+ None,
299
+ examples=['namespace:master-data--Organisation:Halliburton:'],
300
+ title='Additive Vendor ID',
301
+ )
302
+ """
303
+ Vendor/Supplier of additive
304
+ """
305
+ AdditiveCode: str | None = Field(
306
+ None, examples=['ZoneSeal2000'], title='Additive Code'
307
+ )
308
+ """
309
+ Additive Code
310
+ """
311
+ AdditiveTypeID: (
312
+ constr(
313
+ pattern=r'^[\w\-\.]+:reference-data\-\-AdditiveType:[\w\-\.\:\%]+:[0-9]*$'
314
+ )
315
+ | None
316
+ ) = Field(
317
+ None,
318
+ examples=['namespace:reference-data--AdditiveType:Surfactant:'],
319
+ title='Additive Type ID',
320
+ )
321
+ """
322
+ The liquid, solid or gaseous substance used to manipulate the function or properties of a fluid.
323
+ """
324
+ AdditiveRoleID: (
325
+ constr(
326
+ pattern=r'^[\w\-\.]+:reference-data\-\-AdditiveRole:[\w\-\.\:\%]+:[0-9]*$'
327
+ )
328
+ | None
329
+ ) = Field(
330
+ None,
331
+ examples=['namespace:reference-data--AdditiveRole:Surfactant:'],
332
+ title='Additive Role ID',
333
+ )
334
+ """
335
+ The chief purpose or reason for adding a substance to a fluid used in a downhole operation.
336
+ """
337
+ AdditiveFormulationID: (
338
+ constr(
339
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidAdditiveFormulationType:[\w\-\.\:\%]+:[0-9]*$'
340
+ )
341
+ | None
342
+ ) = Field(
343
+ None,
344
+ examples=['namespace:reference-data--FluidAdditiveFormulationType:Wet:'],
345
+ title='Additive Formulation',
346
+ )
347
+ """
348
+ Additive Formulation - Wet or Dry.
349
+ """
350
+ AdditiveDensity: float | None = Field(
351
+ None, examples=['8.89 lb/ft3'], title='Additive Density'
352
+ )
353
+ """
354
+ Additive density
355
+ """
356
+ AdditiveAmount: float | None = Field(None, title='Additive Amount')
357
+ """
358
+ Additive Amount Used
359
+ """
360
+ AdditiveAmountUoM: (
361
+ constr(
362
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidAdditiveUnitOfMeasure:[\w\-\.\:\%]+:[0-9]*$'
363
+ )
364
+ | None
365
+ ) = Field(
366
+ None,
367
+ examples=['namespace:reference-data--FluidAdditiveUnitOfMeasure:gal:'],
368
+ title='Additive Amount Unit',
369
+ )
370
+ """
371
+ Additive Amount Unit
372
+ """
373
+ AdditiveTypeConcentrationID: (
374
+ constr(
375
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidAdditiveConcentrationType:[\w\-\.\:\%]+:[0-9]*$'
376
+ )
377
+ | None
378
+ ) = Field(
379
+ None,
380
+ examples=['namespace:reference-data--FluidAdditiveConcentrationType:%25BWOW:'],
381
+ title='Type Conc',
382
+ )
383
+ """
384
+ ConcentrationType: %BWOC (%By weight of Cement), %BWOB (%By weight of blend), %BWOW (%By weight of water), %BWOBF (%By weight of base fluid)
385
+ """
386
+ AdditiveConcentrationAmount: float | None = Field(
387
+ None, examples=[2], title='Concentration Amount'
388
+ )
389
+ """
390
+ Concentration Amount: unit type depends on typeConc.
391
+ """
392
+ AdditiveConcentrationUnitOfMeasureID: (
393
+ constr(
394
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidAdditiveConcUnitOfMeasure:[\w\-\.\:\%]+:[0-9]*$'
395
+ )
396
+ | None
397
+ ) = Field(
398
+ None,
399
+ examples=[
400
+ 'namespace:reference-data--FluidAdditiveConcUnitOfMeasure:percentbwow:'
401
+ ],
402
+ title='Additive Concentration Unit Of Measure ID',
403
+ )
404
+ """
405
+ Additive Concentration Unit Of Measure
406
+ """
407
+ AdditiveSackMass: float | None = Field(None, title='Mass of Sack')
408
+ """
409
+ Mass of Sack
410
+ """
411
+ AdditiveLiquidVolume: float | None = Field(
412
+ None, examples=['55 gal[US]'], title='Volume of container'
413
+ )
414
+ """
415
+ Volume of container
416
+ """
417
+ AdditiveMSDSID: str | None = Field(None, title='Additive MSDS ID')
418
+ """
419
+ ID of or URL to Material Safety Data Sheet
420
+ """
421
+ AdditiveRemark: str | None = Field(
422
+ None,
423
+ examples=[
424
+ 'Mix Water was batch mixed, extra chemicals to account for dead volume in the batch mixer'
425
+ ],
426
+ title='Remark',
427
+ )
428
+ """
429
+ Comments or Remarks.
430
+ """
431
+
432
+
433
+ class CementPumpSchedule(BaseModel):
434
+ """
435
+ Cement Pump Schedule Parameters
436
+ """
437
+
438
+ model_config = ConfigDict(
439
+ extra='allow',
440
+ )
441
+ SequenceNumber: int | None = Field(None, examples=[2], title='Sequence Number')
442
+ """
443
+ Sequence Number
444
+ """
445
+ StartDatetime: str | None = Field(
446
+ None, examples=['2020-04-20T08:15:00+0000'], title='Start Date/Time'
447
+ )
448
+ """
449
+ Date/time when the pump schedule interval started.
450
+ """
451
+ EndDatetime: str | None = Field(
452
+ None, examples=['2020-04-20T08:27:30+0000'], title='End Date/Time'
453
+ )
454
+ """
455
+ Date/time when the pump schedule interval ended.
456
+ """
457
+ ElapsedTime: float | None = Field(None, examples=['12.5 min'], title='Elapsed Time')
458
+ """
459
+ Duration of the pumping schedule interval
460
+ """
461
+ PlacementMethod: (
462
+ constr(
463
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPlacementMethod:[\w\-\.\:\%]+:[0-9]*$'
464
+ )
465
+ | None
466
+ ) = Field(
467
+ None,
468
+ examples=[
469
+ 'namespace:reference-data--CementPlacementMethod:ForwardCirculation:'
470
+ ],
471
+ title='Placement Method',
472
+ )
473
+ """
474
+ Placement Method to land cement
475
+ """
476
+ PumpEquipmentType: (
477
+ constr(
478
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPumpEquipmentType:[\w\-\.\:\%]+:[0-9]*$'
479
+ )
480
+ | None
481
+ ) = Field(
482
+ None,
483
+ examples=['namespace:reference-data--CementPumpEquipmentType:CementUnit:'],
484
+ title='Pumping Equipment Type',
485
+ )
486
+ """
487
+ Pumping Equipment Type
488
+ """
489
+ PumpRateMin: float | None = Field(
490
+ None, examples=['2 bbl/min'], title='Pump Rate Minimum'
491
+ )
492
+ """
493
+ Minimum Rate fluid is pumped. 0 means it is a pause.
494
+ """
495
+ PumpRateMax: float | None = Field(
496
+ None, examples=['4 bbl/min'], title='Pump Rate Maximum'
497
+ )
498
+ """
499
+ Maximum Rate fluid is pumped. 0 means it is a pause.
500
+ """
501
+ PumpRateAvg: float | None = Field(
502
+ None, examples=['4 bbl/min'], title='Pump Rate Average'
503
+ )
504
+ """
505
+ Average Rate fluid is pumped. 0 means it is a pause.
506
+ """
507
+ PumpPressureMin: float | None = Field(None, title='Pump Pressure Minimum')
508
+ """
509
+ Pump Pressure Minimum
510
+ """
511
+ PumpPressureMax: float | None = Field(None, title='Pump Pressure Maximum')
512
+ """
513
+ Pump Pressure Maximum
514
+ """
515
+ PumpPressureAvg: float | None = Field(None, title='Pump Pressure Average')
516
+ """
517
+ Pump Pressure Average
518
+ """
519
+ PumpVolume: float | None = Field(None, examples=['50 bbls'], title='Pump Volume')
520
+ """
521
+ Volume pumped = eTimPump * ratePump.
522
+ """
523
+ MixRate: float | None = Field(None, title='Mix Rate')
524
+ """
525
+ Cement slurry mix rate
526
+ """
527
+ PumpStrokesEstimated: int | None = Field(None, title='Pump Strokes Estimated')
528
+ """
529
+ Number of Pump strokes estimated for the fluid to be pumped (assumed pump output known)
530
+ """
531
+ PumpStrokesActual: int | None = Field(None, title='Pump Strokes Actual')
532
+ """
533
+ Number of actual Pump strokes for the fluid to be pumped (assumed pump output known)
534
+ """
535
+ PumpStrokeRate: float | None = Field(None, title='Pump Stroke Rate')
536
+ """
537
+ Pump stroke rate (SPM)
538
+ """
539
+ BackPressure: float | None = Field(None, title='Back Pressure')
540
+ """
541
+ Back pressure applied during pumping stage.
542
+ """
543
+ ShutdownElapsedTime: float | None = Field(None, title='Shutdown Elapsed Time')
544
+ """
545
+ Shutdown Elapsed Time
546
+ """
547
+ ExcessFluidRatio: float | None = Field(None, title='Excess Fluid Ratio')
548
+ """
549
+ The ratio of excess fluid to total fluid pumped during the step
550
+ """
551
+ Remark: str | None = Field(None, title='Remark')
552
+ """
553
+ Remarks
554
+ """
555
+
556
+
557
+ class CementingFluidItem(BaseModel):
558
+ """
559
+ Original mud, washes, spacers, cement and displacement fluid properties.
560
+ """
561
+
562
+ model_config = ConfigDict(
563
+ extra='allow',
564
+ )
565
+ FluidIndex: int = Field(..., examples=[1], title='Fluid Index')
566
+ """
567
+ Cement pumping schedule index or sequence number. Fluid Index: 1: first fluid pumped (=original mud)
568
+ (last-1)=Tail cement, last= displacement mud
569
+ """
570
+ FluidTypeID: (
571
+ constr(
572
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementFluidType:[\w\-\.\:\%]+:[0-9]*$'
573
+ )
574
+ | None
575
+ ) = Field(
576
+ None,
577
+ examples=['namespace:reference-data--CementFluidType:LeadSlurry:'],
578
+ title='Fluid Type',
579
+ )
580
+ """
581
+ High level fluid type
582
+ """
583
+ MudTypeID: (
584
+ constr(
585
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementMudType:[\w\-\.\:\%]+:[0-9]*$'
586
+ )
587
+ | None
588
+ ) = Field(None, title='Mud Type')
589
+ """
590
+ Detailed level fluid type
591
+ """
592
+ FluidName: str | None = Field(None, examples=['LeadSlurry'], title='Name of Fluid')
593
+ """
594
+ Name of Fluid e.g. Lead or Tail Slurry
595
+ """
596
+ FluidCommercialNameID: (
597
+ constr(
598
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementFluidProductName:[\w\-\.\:\%]+:[0-9]*$'
599
+ )
600
+ | None
601
+ ) = Field(
602
+ None,
603
+ examples=['namespace:reference-data--CementFluidProductName:TXI:'],
604
+ title='Commercial name of Fluid',
605
+ )
606
+ """
607
+ Commercial product or trade name of fluid
608
+ """
609
+ FluidDescription: str | None = Field(None, title='Fluid Description')
610
+ """
611
+ Fluid description.
612
+ """
613
+ FluidSupplier: (
614
+ constr(pattern=r'^[\w\-\.]+:master-data\-\-Organisation:[\w\-\.\:\%]+:[0-9]*$')
615
+ | None
616
+ ) = Field(
617
+ None,
618
+ examples=['namespace:master-data--Organisation:Halliburton:'],
619
+ title='Fluid Supplier',
620
+ )
621
+ """
622
+ Fluid Supplier.
623
+ """
624
+ FluidPurpose: str | None = Field(
625
+ None,
626
+ examples=['Primary cementation, seal off formation.'],
627
+ title='Fluid Purpose',
628
+ )
629
+ """
630
+ Fluid purpose description.
631
+ """
632
+ SlurryTypeID: (
633
+ constr(
634
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSlurryType:[\w\-\.\:\%]+:[0-9]*$'
635
+ )
636
+ | None
637
+ ) = Field(
638
+ None,
639
+ examples=['namespace:reference-data--CementSlurryType:ProductionSlurry:'],
640
+ title='Slurry Type',
641
+ )
642
+ """
643
+ Slurry Type
644
+ """
645
+ TopMeasuredDepth: float | None = Field(
646
+ None, examples=['10507 ft'], title='Fluid Top Measured Depth'
647
+ )
648
+ """
649
+ Estimated Measured depth at top of fluid placement at end of Stage.
650
+ """
651
+ BaseMeasuredDepth: float | None = Field(
652
+ None, examples=['11162 ft'], title='Fluid Base Measured Depth'
653
+ )
654
+ """
655
+ Estimate Measured depth at bottom of fluid placement at end of Stage
656
+ """
657
+ SlurryHeight: float | None = Field(None, examples=['665 ft'], title='SlurryHeight')
658
+ """
659
+ Measured depth interval between the top and base of the slurry placement.
660
+ """
661
+ MixFluidRatio: float | None = Field(None, title='Mix Fluid Ratio')
662
+ """
663
+ Mix Fluid Ratio
664
+ """
665
+ SlurryMixMethodID: (
666
+ constr(
667
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSlurryMixMethod:[\w\-\.\:\%]+:[0-9]*$'
668
+ )
669
+ | None
670
+ ) = Field(
671
+ None,
672
+ examples=['namespace:reference-data--CementSlurryMixMethod:Batch:'],
673
+ title='Slurry Mix Method',
674
+ )
675
+ """
676
+ Slurry Mix Method
677
+ """
678
+ MixFluidConcentration: float | None = Field(
679
+ None, examples=['6.42 gal[US]/sack[94lbm]'], title='Mix Fluid Concentration'
680
+ )
681
+ """
682
+ Mix Fluid Concentration
683
+ """
684
+ OpenHoleExcessPercent: float | None = Field(
685
+ None, examples=[0.05], title='Open Hole Excess Percent'
686
+ )
687
+ """
688
+ Open Hole Excess Slurry Volume Percent
689
+ """
690
+ CasedHoleExcessPercent: float | None = Field(
691
+ None, examples=[0], title='Cased Hole Excess Percent'
692
+ )
693
+ """
694
+ Cased Hole Excess Slurry Volume Percent
695
+ """
696
+ TotalFluidVolume: float | None = Field(
697
+ None, examples=['50 bbl'], title='Total Fluid Volume'
698
+ )
699
+ """
700
+ Total Fluid/Slurry Volume. If CementingFluid is NOT a cement slurry, then report the total fluid volume created of the fluid in question.
701
+ """
702
+ PumpedVolume: float | None = Field(None, examples=['50 bbl'], title='Pumped Volume')
703
+ """
704
+ Volume Pumped
705
+ """
706
+ DesignVolume: float | None = Field(None, examples=['50 bbl'], title='Design Volume')
707
+ """
708
+ DesignVolume
709
+ """
710
+ ReservedVolume: float | None = Field(
711
+ None, examples=['0 bbl'], title='Reserved Volume'
712
+ )
713
+ """
714
+ Reserved (Unpumped) Volume
715
+ """
716
+ TotalSlurryVolume: float | None = Field(
717
+ None, examples=['50 bbl'], title='Total Slurry Volume'
718
+ )
719
+ """
720
+ Total Slurry Volume
721
+ """
722
+ ExcessSlurryVolume: float | None = Field(
723
+ None, examples=['2.5 bbl'], title='Excess Slurry Volume'
724
+ )
725
+ """
726
+ Excess Slurry Volume
727
+ """
728
+ ExcessSlurryVolumeMeasureTypeID: (
729
+ constr(
730
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementExcessVolCalcMethod:[\w\-\.\:\%]+:[0-9]*$'
731
+ )
732
+ | None
733
+ ) = Field(
734
+ None,
735
+ examples=['namespace:reference-data--CementExcessVolCalcMethod:Estimate:'],
736
+ title='Excess Slurry Volume Measurement Type',
737
+ )
738
+ """
739
+ Excess Slurry Volume Measurement Type
740
+ """
741
+ GaugeHoleSize: float | None = Field(
742
+ None, examples=['12.25 in'], title='Gauge Hole Size'
743
+ )
744
+ """
745
+ Gauge Hole Size for estimating annular volume
746
+ """
747
+ FluidRheologicalModelID: (
748
+ constr(
749
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidRheologicalModelType:[\w\-\.\:\%]+:[0-9]*$'
750
+ )
751
+ | None
752
+ ) = Field(None, title='Fluid Rheological Model ID')
753
+ """
754
+ Fluid Rheological Model - Newtonian/Bingham/Power Law/Herschel Bulkley.
755
+ """
756
+ Rheometer: list[RheometerItem] | None = Field(None, title='Fluid Rheometer')
757
+ """
758
+ Fluid Fann Viscometer Rheology
759
+ """
760
+ DesignDensity: float | None = Field(
761
+ None, examples=['15.6 lbm/gal[US]'], title='Design Fluid Density'
762
+ )
763
+ """
764
+ Design fluid density
765
+ """
766
+ Density: float | None = Field(
767
+ None, examples=['15.6 lbm/gal[US]'], title='Fluid Density'
768
+ )
769
+ """
770
+ Fluid density
771
+ """
772
+ DensityMethodID: (
773
+ constr(
774
+ pattern=r'^[\w\-\.]+:reference-data\-\-FluidDensityMeasurementMethod:[\w\-\.\:\%]+:[0-9]*$'
775
+ )
776
+ | None
777
+ ) = Field(None, title='Density Method')
778
+ """
779
+ Density Method
780
+ """
781
+ DensityTemperature: float | None = Field(
782
+ None, title='Fluid Density Measurement Temperature'
783
+ )
784
+ """
785
+ Fluid Density Measurement Temperature
786
+ """
787
+ DensityPressure: float | None = Field(
788
+ None, title='Fluid Density Measurement Pressure'
789
+ )
790
+ """
791
+ Fluid Density Measurement Pressure
792
+ """
793
+ Viscosity: float | None = Field(None, title='Viscosity')
794
+ """
795
+ Viscosity (Newtonian) or Plastic Viscosity if Bingham. Not relevant for other rheological models.
796
+ """
797
+ YieldPoint: float | None = Field(None, title='Yield Point')
798
+ """
799
+ Yield point (Bingham and Herschel Bulkley models).
800
+ """
801
+ N: float | None = Field(None, title='N')
802
+ """
803
+ Power Law index (Power Law and Herschel-Bulkley).
804
+ """
805
+ K: float | None = Field(None, title='K')
806
+ """
807
+ Consistency index (Power Law and Herschel-Bulkley).
808
+ """
809
+ Gel10SecReading: float | None = Field(None, title='Gel 10 Second Reading')
810
+ """
811
+ Gel reading after 10 seconds.
812
+ """
813
+ Gel10SecStrength: float | None = Field(None, title='Gel 10 Second Strength')
814
+ """
815
+ Gel strength after 10 seconds.
816
+ """
817
+ Gel1MinReading: float | None = Field(None, title='Gel 1 Minute Reading')
818
+ """
819
+ Gel reading after 1 minute.
820
+ """
821
+ Gel1MinStrength: float | None = Field(None, title='Gel 1 Minute Strength')
822
+ """
823
+ Gel strength after 1 minute.
824
+ """
825
+ Gel10MinReading: float | None = Field(None, title='Gel 10 Minute Reading')
826
+ """
827
+ Gel reading after 10 minutes.
828
+ """
829
+ Gel10MinStrength: float | None = Field(None, title='Gel 10 Minute Strength')
830
+ """
831
+ Gel strength after 10 minutes.
832
+ """
833
+ Gel30MinReading: float | None = Field(None, title='Gel 30 Minute Reading')
834
+ """
835
+ Gel reading after 30 minutes.
836
+ """
837
+ Gel30MinStrength: float | None = Field(None, title='Gel 30 Minute Strength')
838
+ """
839
+ Gel strength after 30 minutes.
840
+ """
841
+ BaseFluidTypeID: (
842
+ constr(pattern=r'^[\w\-\.]+:reference-data\-\-FluidType:[\w\-\.\:\%]+:[0-9]*$')
843
+ | None
844
+ ) = Field(
845
+ None,
846
+ examples=['namespace:reference-data--FluidType:WBM-Synthetic:'],
847
+ title='Base Fluid Type ID',
848
+ )
849
+ """
850
+ Drilling fluid base type
851
+ """
852
+ BaseFluidDensity: float | None = Field(
853
+ None, examples=['9.2 lbm/gal[US]'], title='Base Fluid Density'
854
+ )
855
+ """
856
+ Density of base fluid.
857
+ """
858
+ MixFluidTypeID: (
859
+ constr(
860
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementMixFluidType:[\w\-\.\:\%]+:[0-9]*$'
861
+ )
862
+ | None
863
+ ) = Field(
864
+ None,
865
+ examples=['namespace:reference-data--CementMixFluidType:Water:'],
866
+ title='Mix Fluid Type',
867
+ )
868
+ """
869
+ Mix Fluid Type
870
+ """
871
+ DryBlendName: str | None = Field(
872
+ None, examples=['Microsphere Blend'], title='Dry Blend Name'
873
+ )
874
+ """
875
+ Name of dry blend.
876
+ """
877
+ DryBlendDescription: str | None = Field(
878
+ None, examples=['Class A'], title='Dry Blend Description'
879
+ )
880
+ """
881
+ Description of dry blend.
882
+ """
883
+ DryBlendCementSlurryClassID: (
884
+ constr(
885
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSlurryClass:[\w\-\.\:\%]+:[0-9]*$'
886
+ )
887
+ | None
888
+ ) = Field(
889
+ None,
890
+ examples=['namespace:reference-data--CementSlurryClass:A:'],
891
+ title='Dry Blend Cement Slurry Class',
892
+ )
893
+ """
894
+ Dry blend cement slurry class
895
+ """
896
+ DryBlendMass: float | None = Field(None, title='Dry Blend Mass')
897
+ """
898
+ Total mass of dry blend including additives: the volume is not constant.
899
+ """
900
+ DryBlendDensity: float | None = Field(None, title='Dry Blend Density')
901
+ """
902
+ Density of Dry blend.
903
+ """
904
+ DryBlendMassPerUnit: float | None = Field(None, title='Dry Blend Mass per Unit')
905
+ """
906
+ Weight of a sack of dry blend aka Sack Size or Tonnes
907
+ """
908
+ CementMassUnitTypeID: (
909
+ constr(
910
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementMassUnitType:[\w\-\.\:\%]+:[0-9]*$'
911
+ )
912
+ | None
913
+ ) = Field(
914
+ None,
915
+ examples=['namespace:reference-data--CementMassUnitType:Sacks:'],
916
+ title='Cement Mass Unit Type',
917
+ )
918
+ """
919
+ Cement Mass Unit Type (Sacks or Tonnes)
920
+ """
921
+ UnitsCalculated: int | None = Field(None, examples=[177], title='Amount Calculated')
922
+ """
923
+ Units/Amount of Dry Blend Calculated
924
+ """
925
+ UnitsUsed: int | None = Field(None, examples=[177], title='Amount Used')
926
+ """
927
+ Units/Amount of Dry Blend Used
928
+ """
929
+ CementYield: float | None = Field(
930
+ None, examples=['1.59 ft3/sk'], title='Cement Slurry Yield'
931
+ )
932
+ """
933
+ Cement Yield per Unit
934
+ """
935
+ YieldVolume: float | None = Field(
936
+ None, examples=['50 bbl'], title='Slurry Yield Volume'
937
+ )
938
+ """
939
+ Cement Slurry Yield Volume. Calculated - Sacks Used * CementYield
940
+ """
941
+ IsFoamUsed: bool | None = Field(None, examples=[False], title='Is Foam Used')
942
+ """
943
+ Foam used indicator
944
+ """
945
+ GasFoamTypeID: (
946
+ constr(
947
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementGasFoamType:[\w\-\.\:\%]+:[0-9]*$'
948
+ )
949
+ | None
950
+ ) = Field(None, title='Gas Foam Type')
951
+ """
952
+ Gas type used for foam job.
953
+ """
954
+ GasFoamVolume: float | None = Field(None, title='GasFoam Volume')
955
+ """
956
+ Volume of gas used for foam job
957
+ """
958
+ FoamInjectionPressure: float | None = Field(None, title='Foam Injection Pressure')
959
+ """
960
+ Foam Injection Pressure
961
+ """
962
+ ConstantGasFoamDensity: float | None = Field(
963
+ None, title='Constant Gas Foam Method Density'
964
+ )
965
+ """
966
+ Constant Gas Foam Method Density
967
+ """
968
+ DensityConstantGasMethodID: (
969
+ constr(
970
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementConstantGasMethod:[\w\-\.\:\%]+:[0-9]*$'
971
+ )
972
+ | None
973
+ ) = Field(None, title='Density Constant Gas Ratio Method')
974
+ """
975
+ Constant gas ratio method for measuring average density.
976
+ """
977
+ GasMethodAverageRatio: float | None = Field(None, title='Gas Method Average Ratio')
978
+ """
979
+ Gas foam method ratio
980
+ """
981
+ GasMethodStartRatio: float | None = Field(None, title='Gas Method Start Ratio')
982
+ """
983
+ Gas foam method: initial method ratio
984
+ """
985
+ GasMethodEndRatio: float | None = Field(None, title='Gas Method End Ratio')
986
+ """
987
+ Gas foam method: final method ratio
988
+ """
989
+ CompressiveStrengthTest: list[CompressiveStrengthTestItem] | None = Field(
990
+ None, title='Compressive Strength Test'
991
+ )
992
+ """
993
+ Compressive Strength Pressure/Temperature/Thickening
994
+ """
995
+ ThickeningTimeTest: list[ThickeningTimeTestItem] | None = Field(
996
+ None, title='Thickening Test'
997
+ )
998
+ """
999
+ Thickening Test - Pressure, Temperature, Consistency (Bc) v Elapsed Time
1000
+ """
1001
+ ZeroGelElapsedTime: float | None = Field(None, title='Zero Gel Elapsed Time')
1002
+ """
1003
+ The elapsed time from initiation of the static portion of the test until the slurry attains a gel strength of 100lbf/100sq ft.
1004
+ """
1005
+ TransitionElapsedTime: float | None = Field(None, title='Transition Elapsed Time')
1006
+ """
1007
+ The elapsed time between the development of 100lbf/100sq ft gel strength and 500lbf/100 sq ft gel strength.
1008
+ """
1009
+ FreeFluidPercent: float | None = Field(
1010
+ None, examples=[0], title='Free Fluid Percent'
1011
+ )
1012
+ """
1013
+ Test free fluid (mL/250ML) API 10B-2
1014
+ """
1015
+ FreeFluidTemperature: float | None = Field(
1016
+ None, examples=['60 degF'], title='Free Fluid Temperature'
1017
+ )
1018
+ """
1019
+ Test free fluid temperature
1020
+ """
1021
+ FreeFluidTestAngle: float | None = Field(
1022
+ None, examples=['45 deg'], title='Free Fluid Test Angle'
1023
+ )
1024
+ """
1025
+ Free Fluid Test Angle e.g. 0 or 45 degrees
1026
+ """
1027
+ FluidLossPressure: float | None = Field(
1028
+ None, examples=['1000 psi'], title='Fluid Loss Pressure'
1029
+ )
1030
+ """
1031
+ Fluid loss pressure
1032
+ """
1033
+ FluidLossTemperature: float | None = Field(
1034
+ None, examples=['60 degF'], title='Fluid Loss Temperature'
1035
+ )
1036
+ """
1037
+ Fluid loss temperature
1038
+ """
1039
+ FluidLossElapsedTime: float | None = Field(
1040
+ None, examples=['30 min'], title='Fluid Loss Elapsed Time'
1041
+ )
1042
+ """
1043
+ Fluid loss dehydrating test period, used to compute the API fluid loss.
1044
+ """
1045
+ FluidLossVolume: float | None = Field(
1046
+ None, examples=['64 cm3'], title='Fluid Loss Volume'
1047
+ )
1048
+ """
1049
+ Fluid loss volume
1050
+ """
1051
+ APIFluidLossRate: float | None = Field(
1052
+ None, examples=['128 1/30 cm3/min'], title='API Fluid Loss Rate'
1053
+ )
1054
+ """
1055
+ API fluid loss = 2 * volTestFluidLoss * SQRT(30/timeFluidLoss).
1056
+ """
1057
+ APIFluidLoss30Min: float | None = Field(
1058
+ None, examples=['128 cm3'], title='API Fluid Loss @ 30 Min'
1059
+ )
1060
+ """
1061
+ API Fluid Loss @ 30 Min
1062
+ """
1063
+ SolidVolumeFraction: float | None = Field(
1064
+ None, title='Solid Volume Per Volume Measure'
1065
+ )
1066
+ """
1067
+ Solid Volume Per Volume Measure
1068
+ """
1069
+ SourceWaterDescription: str | None = Field(
1070
+ None, examples=['Field (Fresh) Water'], title='Water Source Description'
1071
+ )
1072
+ """
1073
+ Water source description
1074
+ """
1075
+ SourceWaterTemperature: float | None = Field(None, title='Source Water Temperature')
1076
+ """
1077
+ Source Water Temperature
1078
+ """
1079
+ SourceWaterpH: float | None = Field(None, title='Source Water pH')
1080
+ """
1081
+ Source Water pH
1082
+ """
1083
+ SourceWaterpHTemperature: float | None = Field(
1084
+ None, title='Source Water pH Temperature'
1085
+ )
1086
+ """
1087
+ Source Water pH Temperature
1088
+ """
1089
+ SourceWaterChlorides: float | None = Field(
1090
+ None, examples=['31 ppm'], title='Source Water Chlorides'
1091
+ )
1092
+ """
1093
+ Source Water Chlorides
1094
+ """
1095
+ MixabilityRating: int | None = Field(None, examples=[4], title='Mixability Rating')
1096
+ """
1097
+ Mixability (0 - 5) - 0 is not mixable
1098
+ """
1099
+ CementAdditives: list[CementAdditive] | None = Field(None, title='Cement Additives')
1100
+ """
1101
+ Cement Additives list. Additives can be added in slurry but also in spacers, washes, mud.
1102
+ """
1103
+ CementPumpSchedules: list[CementPumpSchedule] | None = Field(
1104
+ None, title='Cement Pump Schedules'
1105
+ )
1106
+ """
1107
+ Set of (Time / Rate / Back Pressure).
1108
+ """
1109
+ CementTestLabID: str | None = Field(
1110
+ None, examples=[638808.1], title='Cement Test Lab ID'
1111
+ )
1112
+ """
1113
+ Cement Test Lab ID Number
1114
+ """
1115
+ CementFluidRemark: str | None = Field(None, title='Remarks')
1116
+ """
1117
+ Comments or Remarks
1118
+ """
1119
+ FluidTopTrueVerticalDepth: float | None = Field(
1120
+ None, title='Fluid Top True Vertical Depth'
1121
+ )
1122
+ """
1123
+ True Vertical Depth at top of fluid placement at the end of Stage.
1124
+ """
1125
+ FluidBaseTrueVerticalDepth: float | None = Field(
1126
+ None, title='Fluid BaseTrue Vertical Depth'
1127
+ )
1128
+ """
1129
+ True Vertical Depth at bottom of fluid placement at the end of Stage.
1130
+ """
1131
+ AnnularFluidVolume: float | None = Field(
1132
+ None, examples=['150 bbl'], title='Annular Fluid Volume'
1133
+ )
1134
+ """
1135
+ Volume of given fluid that resides in the annulus.
1136
+ """
1137
+
1138
+
1139
+ class HesitationSqueezeItem(BaseModel):
1140
+ """
1141
+ Hesitation Squeeze History
1142
+ """
1143
+
1144
+ model_config = ConfigDict(
1145
+ extra='allow',
1146
+ )
1147
+ SequenceNo: int | None = Field(None, title='Sequence Number')
1148
+ """
1149
+ Sequence Number
1150
+ """
1151
+ InitialPressure: float | None = Field(None, title='Initial Pressure')
1152
+ """
1153
+ Initial Pressure
1154
+ """
1155
+ FinalPressure: float | None = Field(None, title='Final Pressure')
1156
+ """
1157
+ Final Pressure
1158
+ """
1159
+ Volume: float | None = Field(None, title='Volume Pumped')
1160
+ """
1161
+ Volume Pumped
1162
+ """
1163
+ HesitationTime: float | None = Field(None, title='Hesitation Time')
1164
+ """
1165
+ Duration between pumping stages
1166
+ """
1167
+ Remarks: str | None = Field(None, title='Remarks')
1168
+ """
1169
+ Remarks
1170
+ """
1171
+
1172
+
1173
+ class CementStage(BaseModel):
1174
+ """
1175
+ A single cement stage performed within a Job.
1176
+ """
1177
+
1178
+ model_config = ConfigDict(
1179
+ extra='allow',
1180
+ )
1181
+ StageNumber: float = Field(..., examples=[1], title='Stage Number')
1182
+ """
1183
+ Stage number.
1184
+ """
1185
+ StageTypeID: constr(
1186
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementStageType:[\w\-\.\:\%]+:[0-9]*$'
1187
+ ) = Field(
1188
+ ...,
1189
+ examples=['namespace:reference-data--CementStageType:Casing:'],
1190
+ title='Stage Type',
1191
+ )
1192
+ """
1193
+ Stage type.
1194
+ """
1195
+ IntervalTopMeasuredDepth: float | None = Field(
1196
+ None, examples=[11007], title='Interval Top Measured Depth'
1197
+ )
1198
+ """
1199
+ Final placement measured depth at top of interval.
1200
+ """
1201
+ IntervalBaseMeasuredDepth: float | None = Field(
1202
+ None, examples=[11162], title='Interval Base Measured Depth'
1203
+ )
1204
+ """
1205
+ Final placement measured depth of base of interval.
1206
+ """
1207
+ IntervalTopTrueVerticalDepth: float | None = Field(
1208
+ None, title='Interval Top True Vertical Depth'
1209
+ )
1210
+ """
1211
+ Final placement True Vertical depth at top of interval.
1212
+ """
1213
+ IntervalBaseTrueVerticalDepth: float | None = Field(
1214
+ None, title='Interval Base True Vertical Depth'
1215
+ )
1216
+ """
1217
+ Final placement True Vertical depth of base of interval.
1218
+ """
1219
+ StageIntervalLength: float | None = Field(
1220
+ None, examples=[11007], title='Stage Interval Length'
1221
+ )
1222
+ """
1223
+ Measured depth interval for the cement stage (Base MD - Top MD).
1224
+ """
1225
+ MixStartDate: str | None = Field(
1226
+ None, examples=['2020-04-20T06:30:00+0000'], title='Mix Start Date/time'
1227
+ )
1228
+ """
1229
+ Date/time when mixing of cement started.
1230
+ """
1231
+ PumpStartDate: str | None = Field(
1232
+ None, examples=['2020-04-20T08:15:00+0000'], title='Pump Start Date/time'
1233
+ )
1234
+ """
1235
+ Date/time when pumping cement started.
1236
+ """
1237
+ PumpEndDate: str | None = Field(
1238
+ None, examples=['2020-04-20T11:15:00+0000'], title='Pump End Date/time'
1239
+ )
1240
+ """
1241
+ Date/time when pumping cement ended.
1242
+ """
1243
+ DisplaceStartDate: str | None = Field(
1244
+ None,
1245
+ examples=['2020-04-20T11:15:00+0000'],
1246
+ title='Displacement Start Date/time',
1247
+ )
1248
+ """
1249
+ Date/time when displacing of cement started.
1250
+ """
1251
+ MudCirculationElapsedTime: float | None = Field(
1252
+ None, examples=['54 min'], title='Mud Circulation Elapsed Time'
1253
+ )
1254
+ """
1255
+ Mud Circulation Elapsed Time
1256
+ """
1257
+ DisplacementFluidName: str | None = Field(
1258
+ None, examples=['SBM'], title='Displacement Fluid Name'
1259
+ )
1260
+ """
1261
+ Displacement fluid name.
1262
+ """
1263
+ DisplacementFluidDensity: float | None = Field(
1264
+ None, examples=['9.4 lbm/gal[US]'], title='Displacement Fluid Density'
1265
+ )
1266
+ """
1267
+ Density of displacement fluid.
1268
+ """
1269
+ DisplacementFluidVolume: float | None = Field(
1270
+ None, examples=['50 bbl'], title='Displacement Fluid volume'
1271
+ )
1272
+ """
1273
+ Volume of displacement fluid.
1274
+ """
1275
+ DisplacementFlowrateAvg: float | None = Field(
1276
+ None, examples=['2 bbl/min'], title='Displacement Flowrate Average'
1277
+ )
1278
+ """
1279
+ Average (or actual) displacement rate
1280
+ """
1281
+ DisplacementFlowrateMax: float | None = Field(
1282
+ None, examples=['2 bbl/min'], title='Displacement Flowrate Maximum'
1283
+ )
1284
+ """
1285
+ Maximum displacement rate
1286
+ """
1287
+ DisplacementFlowrateFinal: float | None = Field(
1288
+ None, examples=['2 bbl/min'], title='Final Displacement Flowrate'
1289
+ )
1290
+ """
1291
+ Final displacement rate
1292
+ """
1293
+ DisplacementPressureFinal: float | None = Field(
1294
+ None, examples=['230 psi'], title='Final Displacement Pressure'
1295
+ )
1296
+ """
1297
+ Final displacement pressure
1298
+ """
1299
+ MudCirculationFlowRate: float | None = Field(
1300
+ None, examples=['2.38 bbl/min'], title='Mud Circulation Flowrate'
1301
+ )
1302
+ """
1303
+ Mud Circulation Flowrate during the job
1304
+ """
1305
+ MudCirculationPressure: float | None = Field(
1306
+ None, examples=['300 psi'], title='Mud Circulation Pressure'
1307
+ )
1308
+ """
1309
+ Mud circulation pressure
1310
+ """
1311
+ CementingFluid: list[CementingFluidItem] | None = Field(
1312
+ None, title='Cementing Fluid'
1313
+ )
1314
+ """
1315
+ Array of fluids worked in the stage - displaced mud, washers and spacers, cement (lead & tail)
1316
+ """
1317
+ StringMeasuredDepth: float | None = Field(None, title='String Measured Depth')
1318
+ """
1319
+ Bottom measured depth in primary cement job (multi-stage cement job).
1320
+ """
1321
+ StageToolMeasuredDepth: float | None = Field(
1322
+ None, title='Stage Tool Measured Depth'
1323
+ )
1324
+ """
1325
+ Mid measured depth of stage tool (multi-stage cement job) e.g. circulation port.
1326
+ """
1327
+ StageToolTrueVerticalDepth: float | None = Field(
1328
+ None, title='Stage Tool True Vertical Depth'
1329
+ )
1330
+ """
1331
+ Mid true vertical depth of stage tool (multi-stage cement job) e.g. circulation port.
1332
+ """
1333
+ CoilTubingMeasuredDepth: float | None = Field(
1334
+ None, title='Coil Tubing Measured Depth'
1335
+ )
1336
+ """
1337
+ Bottom Measured depth of Coiled Tubing
1338
+ """
1339
+ InsideCasingVolume: float | None = Field(
1340
+ None, examples=['218 bbl'], title='Inside Casing Volume'
1341
+ )
1342
+ """
1343
+ Estimated volume inside casing
1344
+ """
1345
+ OutsideCasingVolume: float | None = Field(
1346
+ None, examples=['112 bbl'], title='Outside Casing Volume'
1347
+ )
1348
+ """
1349
+ Estimated volume outside casing for this stage placement
1350
+ """
1351
+ OriginalMudTypeID: (
1352
+ constr(
1353
+ pattern=r'^[\w\-\.]+:reference-data\-\-MudBaseType:[\w\-\.\:\%]+:[0-9]*$'
1354
+ )
1355
+ | None
1356
+ ) = Field(
1357
+ None,
1358
+ examples=['namespace:reference-data--MudBaseType:Synthetic:'],
1359
+ title='Type Original Mud',
1360
+ )
1361
+ """
1362
+ Type of mud in hole
1363
+ """
1364
+ PriorCirculatingVolume: float | None = Field(
1365
+ None, examples=['40 bbl'], title='Prior Circulating Volume'
1366
+ )
1367
+ """
1368
+ Volume of mud circulated prior to cement job
1369
+ """
1370
+ MudDensity: float | None = Field(
1371
+ None, examples=['9.2 lbm/gal[US]'], title='Mud Density'
1372
+ )
1373
+ """
1374
+ Mud density (weight)
1375
+ """
1376
+ MudFunnelViscosity: float | None = Field(
1377
+ None, examples=[42], title='Mud Funnel Viscosity'
1378
+ )
1379
+ """
1380
+ Marsh funnel viscosity measured in a conical-shaped funnel
1381
+ """
1382
+ MudPlasticViscosity: float | None = Field(
1383
+ None, examples=[20], title='Mud Plastic Viscosity'
1384
+ )
1385
+ """
1386
+ Plastic viscosity (in hole at start of job).
1387
+ """
1388
+ MudYieldPoint: float | None = Field(None, examples=[19], title='Mud Yield Point')
1389
+ """
1390
+ Yield point (in hole at start of job).
1391
+ """
1392
+ MudGel10Sec: float | None = Field(None, title='Mud Gel10 Sec')
1393
+ """
1394
+ Gels-10Sec (in hole at start of job).
1395
+ """
1396
+ MudGel10Min: float | None = Field(None, title='Mud Gel10 Min')
1397
+ """
1398
+ Gels-10Min (in hole at start of job).
1399
+ """
1400
+ IsAnnularFlowAfter: bool | None = Field(
1401
+ None, examples=[False], title='Annular Flow After'
1402
+ )
1403
+ """
1404
+ Annular flow (back flow) present after the stage was completed?
1405
+ """
1406
+ IsAnnularPressureHeld: bool | None = Field(
1407
+ None, examples=[True], title='Annular Pressure Held'
1408
+ )
1409
+ """
1410
+ Annular Pressure Held after job?
1411
+ """
1412
+ IsFloatHeld: bool | None = Field(None, examples=[True], title='Float Held')
1413
+ """
1414
+ Float Held?
1415
+ """
1416
+ IsTopPlugUsed: bool | None = Field(None, examples=[True], title='Top Plug Used')
1417
+ """
1418
+ Top plug used?
1419
+ """
1420
+ IsBottomPlugUsed: bool | None = Field(
1421
+ None, examples=[True], title='Bottom Plug Used'
1422
+ )
1423
+ """
1424
+ Bottom plug used?
1425
+ """
1426
+ BottomPlugNumber: int | None = Field(
1427
+ None, examples=[1], title='Number of Bottom Plugs'
1428
+ )
1429
+ """
1430
+ Number of Bottom Plugs
1431
+ """
1432
+ IsPlugBumped: bool | None = Field(None, examples=[True], title='Is Plug Bumped')
1433
+ """
1434
+ Is Plug Bumped?
1435
+ """
1436
+ BumpPlugPressure: float | None = Field(
1437
+ None, examples=['2400 psi'], title='Bump Plug Pressure'
1438
+ )
1439
+ """
1440
+ Bump Plug Pressure
1441
+ """
1442
+ MixMethod: (
1443
+ constr(
1444
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSlurryMixMethod:[\w\-\.\:\%]+:[0-9]*$'
1445
+ )
1446
+ | None
1447
+ ) = Field(
1448
+ None,
1449
+ examples=['namespace:reference-data--CementSlurryMixMethod:Batch:'],
1450
+ title='Mix Method',
1451
+ )
1452
+ """
1453
+ Mix Method
1454
+ """
1455
+ IsPillBelowPlug: bool | None = Field(
1456
+ None, examples=[False], title='Pill Below Plug'
1457
+ )
1458
+ """
1459
+ Pill below cement plug?
1460
+ """
1461
+ IsPlugCatcher: bool | None = Field(None, examples=[True], title='Plug Catcher')
1462
+ """
1463
+ Plug or Dart catcher?
1464
+ """
1465
+ IsHesitation: bool | None = Field(None, title='Hesitation')
1466
+ """
1467
+ Hesitation when squeezing?
1468
+ """
1469
+ HesitationReason: str | None = Field(None, title='Hesitation Reason')
1470
+ """
1471
+ Hesitation Reason during operation
1472
+ """
1473
+ HesitationSqueeze: list[HesitationSqueezeItem] | None = Field(
1474
+ None, title='Hesitation Squeeze'
1475
+ )
1476
+ """
1477
+ Hesitation Squeeze array
1478
+ """
1479
+ PlugManufacturer: (
1480
+ constr(pattern=r'^[\w\-\.]+:master-data\-\-Organisation:[\w\-\.\:\%]+:[0-9]*$')
1481
+ | None
1482
+ ) = Field(
1483
+ None,
1484
+ examples=['namespace:master-data--Organisation:Weatherford:'],
1485
+ title='Plug Manufacturer',
1486
+ )
1487
+ """
1488
+ Plug Manufacturer
1489
+ """
1490
+ BottomDartLandVolume: float | None = Field(None, title='Bottom Dart Landed Volume')
1491
+ """
1492
+ Volume pumped to landing Bottom Dart
1493
+ """
1494
+ TopDartLandVolume: float | None = Field(None, title='Top Dart Landed Volume')
1495
+ """
1496
+ Volume pumped to landing Top Dart
1497
+ """
1498
+ TopDartShearPressure: float | None = Field(
1499
+ None, examples=['2140 psi'], title='Top Dart Shear Pressure'
1500
+ )
1501
+ """
1502
+ Top Dart Shear Pressure
1503
+ """
1504
+ BottomDartShearPressure: float | None = Field(
1505
+ None, examples=['464 psi'], title='Bottom Dart Shear Pressure'
1506
+ )
1507
+ """
1508
+ Bottom Dart Shear Pressure
1509
+ """
1510
+ BackPressure: float | None = Field(None, title='Surface Back Pressure')
1511
+ """
1512
+ Constant back pressure applied at surface while pumping the job (can be superseded by a back pressure per pumping stage).
1513
+ """
1514
+ HeldPressure: float | None = Field(
1515
+ None, examples=['5000 psi'], title='Held Pressure'
1516
+ )
1517
+ """
1518
+ Pressure held to.
1519
+ """
1520
+ PressureHeldTime: float | None = Field(
1521
+ None, examples=['30 min'], title='Pressure Held Time'
1522
+ )
1523
+ """
1524
+ Pressure Held time at end of stage
1525
+ """
1526
+ InitialCasingPressure: float | None = Field(None, title='Initial Casing Pressure')
1527
+ """
1528
+ Initial Casing Pressure
1529
+ """
1530
+ FinalCasingPressure: float | None = Field(None, title='Final Casing Pressure')
1531
+ """
1532
+ Final Casing Pressure
1533
+ """
1534
+ InitialTubingPressure: float | None = Field(None, title='Initial Tubing Pressure')
1535
+ """
1536
+ Tubing Start Pressure (not CT)
1537
+ """
1538
+ FinalTubingPressure: float | None = Field(None, title='Final Tubing Pressure')
1539
+ """
1540
+ Tubing End Pressure (not CT)
1541
+ """
1542
+ InitialCoilTubingPressure: float | None = Field(
1543
+ None, title='Initial Coiled Tubing Pressure'
1544
+ )
1545
+ """
1546
+ Initial Coiled Tubing Pressure
1547
+ """
1548
+ FinalCoilTubingPressure: float | None = Field(
1549
+ None, title='Final Coiled Tubing Pressure'
1550
+ )
1551
+ """
1552
+ Final Coiled Tubing Pressure
1553
+ """
1554
+ BreakdownPressure: float | None = Field(None, title='Breakdown Pressure')
1555
+ """
1556
+ Breakdown Pressure
1557
+ """
1558
+ BreakdownFlowRate: float | None = Field(None, title='Breakdown Flow Rate')
1559
+ """
1560
+ Breakdown Flow Rate
1561
+ """
1562
+ PumpPressureAverage: float | None = Field(
1563
+ None, examples=['162 psi'], title='Average Pumping Pressure'
1564
+ )
1565
+ """
1566
+ Average Pump Pressure
1567
+ """
1568
+ InitialPumpRate: float | None = Field(
1569
+ None, examples=['3.62 bbl/min'], title='Initial Pump Rate'
1570
+ )
1571
+ """
1572
+ Initial Pump Rate
1573
+ """
1574
+ FinalPumpRate: float | None = Field(
1575
+ None, examples=['3.62 bbl/min'], title='Final Pump Rate'
1576
+ )
1577
+ """
1578
+ Final Pump Rate
1579
+ """
1580
+ PumpRateMax: float | None = Field(
1581
+ None, examples=['3.62 bbl/min'], title='Pump Rate Max'
1582
+ )
1583
+ """
1584
+ Pump Rate Maximum
1585
+ """
1586
+ ReturnsVolume: float | None = Field(
1587
+ None, examples=['5 bbls'], title='Returns Volume'
1588
+ )
1589
+ """
1590
+ Volume of mud returned
1591
+ """
1592
+ LostVolume: float | None = Field(None, examples=['0 bbls'], title='Lost Volume')
1593
+ """
1594
+ Volume of mud lost
1595
+ """
1596
+ ExcessVolume: float | None = Field(None, title='Excess Volume')
1597
+ """
1598
+ Excess Volume used
1599
+ """
1600
+ ExcessVolumeCalcMethodID: (
1601
+ constr(
1602
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementExcessVolCalcMethod:[\w\-\.\:\%]+:[0-9]*$'
1603
+ )
1604
+ | None
1605
+ ) = Field(None, title='Excess Volume Calculation Method')
1606
+ """
1607
+ Excess Volume Calculation Method
1608
+ """
1609
+ CirculateOutMeasuredDepth: float | None = Field(
1610
+ None, title='Circulate Out Measured Depth.'
1611
+ )
1612
+ """
1613
+ Circulate out measured depth from top of cement plug
1614
+ """
1615
+ BHCT: float | None = Field(
1616
+ None, examples=['60 degF'], title='Bottomhole Circulating Temperature'
1617
+ )
1618
+ """
1619
+ Circulating Bottomhole temperature
1620
+ """
1621
+ BHST: float | None = Field(
1622
+ None, examples=['82 degF'], title='Bottomhole Static Temperature'
1623
+ )
1624
+ """
1625
+ Static Bottomhole temperature
1626
+ """
1627
+ IsTailPipeUsed: bool | None = Field(None, title='Is Tail Pipe Used')
1628
+ """
1629
+ Tail pipe/stinger used for setting a plug?
1630
+ """
1631
+ TailPipeDiameter: float | None = Field(None, title='Diameter of Tail Pipe')
1632
+ """
1633
+ Tailpipe/stinger size (diameter).
1634
+ """
1635
+ IsTailPipePerforated: bool | None = Field(None, title='Is Tail Pipe Perforated')
1636
+ """
1637
+ Tailpipe/stringer perforated?
1638
+ """
1639
+ WorkstringMeasuredDepth: float | None = Field(
1640
+ None, title='Workstring Measured Depth'
1641
+ )
1642
+ """
1643
+ Workstring Bottom Measured Depth during displacement for Plugs & Squeezes
1644
+ """
1645
+ WorkstringTrueVerticalDepth: float | None = Field(
1646
+ None, title='Workstring True Vertical Depth'
1647
+ )
1648
+ """
1649
+ Workstring Bottom True Vertical Depth during displacement for Plugs & Squeezes
1650
+ """
1651
+ ReciprocationOverpull: float | None = Field(
1652
+ None, examples=['10 tons'], title='ReciprocationOverpull'
1653
+ )
1654
+ """
1655
+ Maximum overpull applied during reciprocating
1656
+ """
1657
+ ReciprocationSlackoff: float | None = Field(
1658
+ None, examples=['10 tons'], title='ReciprocationSlackoff'
1659
+ )
1660
+ """
1661
+ Maximum slackoff applied during reciprocating
1662
+ """
1663
+ SqueezeObjective: (
1664
+ constr(
1665
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSqueezeObjective:[\w\-\.\:\%]+:[0-9]*$'
1666
+ )
1667
+ | None
1668
+ ) = Field(None, title='Squeeze Objective')
1669
+ """
1670
+ Squeeze objective
1671
+ """
1672
+ SqueezeToolMeasuredDepth: float | None = Field(
1673
+ None, title='Squeeze Tool Measured Depth'
1674
+ )
1675
+ """
1676
+ Squeeze Tool Measured Depth e.g. Packer or Retainer
1677
+ """
1678
+ SqueezeToolTrueVerticalDepth: float | None = Field(
1679
+ None, title='Squeeze Tool True Vertical Depth'
1680
+ )
1681
+ """
1682
+ Squeeze Tool True Vertical Depth e.g. Packer or Retainer
1683
+ """
1684
+ SqueezeInCasingVolume: float | None = Field(None, title='Squeeze In Casing Volume')
1685
+ """
1686
+ Squeezed cement volume left inside casing
1687
+ """
1688
+ SqueezeOutCasingVolume: float | None = Field(
1689
+ None, title='Squeeze Out Casing Volume'
1690
+ )
1691
+ """
1692
+ Squeezed cement volume outside/behind
1693
+ """
1694
+ SqueezeReverseVolume: float | None = Field(None, title='Squeeze Reverse Volume')
1695
+ """
1696
+ Volume of cement that was returned to surface during squeeze operation
1697
+ """
1698
+ SqueezeFlowRateAverage: float | None = Field(
1699
+ None, title='Squeeze Flow Rate Average'
1700
+ )
1701
+ """
1702
+ Squeeze average flowrate
1703
+ """
1704
+ SqueezeFlowRateMax: float | None = Field(None, title='Squeeze Flow Rate Maximum')
1705
+ """
1706
+ Squeeze maximum flowrate
1707
+ """
1708
+ SqueezePressureInitial: float | None = Field(None, title='Squeeze Pressure Initial')
1709
+ """
1710
+ Squeeze Pressure Initial
1711
+ """
1712
+ SqueezePressureAverage: float | None = Field(None, title='Squeeze Pressure Average')
1713
+ """
1714
+ Squeeze Pressure Average
1715
+ """
1716
+ SqueezePressureFinal: float | None = Field(None, title='Squeeze Pressure Final')
1717
+ """
1718
+ Squeeze Pressure Final
1719
+ """
1720
+ SqueezeHeldPressure: float | None = Field(None, title='Squeeze Held Pressure')
1721
+ """
1722
+ Squeeze pressure left (held) on pipe while waiting on cement.
1723
+ """
1724
+ SqueezeHeldPressureDuration: float | None = Field(
1725
+ None, title='Squeeze Held Pressure Duration'
1726
+ )
1727
+ """
1728
+ Squeeze Held Pressure Elapsed Time
1729
+ """
1730
+ IsSqueezeObtained: bool | None = Field(None, title='Squeeze Obtained')
1731
+ """
1732
+ Is Squeeze Obtained/Successful?
1733
+ """
1734
+ SqueezeRemarks: str | None = Field(None, title='Squeeze Remarks')
1735
+ """
1736
+ Squeeze Remarks
1737
+ """
1738
+ ShoeTrackLength: float | None = Field(
1739
+ None, examples=['100 ft'], title='Shoe Track Length'
1740
+ )
1741
+ """
1742
+ Shoe Track Length
1743
+ """
1744
+ ShoeTrackVolume: float | None = Field(
1745
+ None, examples=['7.2 bbl'], title='Shoe Track Volume'
1746
+ )
1747
+ """
1748
+ Shoe Track Volume
1749
+ """
1750
+ FluidTemperatureIn: float | None = Field(None, title='Fluid Temperature In')
1751
+ """
1752
+ Pre-circulation Fluid Temperature In (Pit)
1753
+ """
1754
+ FluidTemperatureOut: float | None = Field(None, title='Fluid Temperature Out')
1755
+ """
1756
+ Pre-circulation Fluid Temperature Out (Return Line)
1757
+ """
1758
+ TotalOperatingTime: float | None = Field(None, title='Total Operating Time')
1759
+ """
1760
+ 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.
1761
+ """
1762
+ TotalPumpingTime: float | None = Field(
1763
+ None, examples=['569.22 min'], title='Total Pumping Time'
1764
+ )
1765
+ """
1766
+ Total pumping hours from at depth ready for cement job. Included but not limited to: Pre-circulation, washing, spacer, cement and displacement.
1767
+ """
1768
+ UnderDisplacementVolumePlanned: float | None = Field(
1769
+ None, title='Under Displacement Volume Planned'
1770
+ )
1771
+ """
1772
+ Under Displacement Volume Planned
1773
+ """
1774
+ UnderDisplacementVolumeActual: float | None = Field(
1775
+ None, title='Under Displacement Volume Actual'
1776
+ )
1777
+ """
1778
+ Under Displacement Volume Actual
1779
+ """
1780
+ BehindCementSpacerVolume: float | None = Field(
1781
+ None, title='Behind Cement Spacer Volume'
1782
+ )
1783
+ """
1784
+ Behind Cement Spacer Volume
1785
+ """
1786
+ MinWOCTimeBeforeTagging: float | None = Field(
1787
+ None, title='Min WOC Time Before Tagging'
1788
+ )
1789
+ """
1790
+ Min WOC Time Before Tagging/Testing
1791
+ """
1792
+ MinWOCTimeBeforeLogging: float | None = Field(
1793
+ None, title='Min WOC Time Before Logging'
1794
+ )
1795
+ """
1796
+ Min WOC Time Before Logging
1797
+ """
1798
+ MaxStaticTimeSurface: float | None = Field(None, title='Max Static Time Surface')
1799
+ """
1800
+ Max Static Time Surface - cement unit and surface lines
1801
+ """
1802
+ MaxStaticTimeDuringPlacement: float | None = Field(
1803
+ None, title='Max Static Time During Placement'
1804
+ )
1805
+ """
1806
+ Max Static Time During Placement
1807
+ """
1808
+ MaxStaticTimeAfterDisplacement: float | None = Field(
1809
+ None, title='Max Static Time After Displacement'
1810
+ )
1811
+ """
1812
+ Max Static Time After Displacement
1813
+ """
1814
+ StageRemarks: str | None = Field(
1815
+ None,
1816
+ examples=[
1817
+ '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.'
1818
+ ],
1819
+ title='Stage Remarks',
1820
+ )
1821
+ """
1822
+ Remarks
1823
+ """
1824
+ AnnularLength: float | None = Field(
1825
+ None, examples=['500 ft'], title='Annular Length'
1826
+ )
1827
+ """
1828
+ Length of the cement column
1829
+ """
1830
+
1831
+
1832
+ class CasingPressureTest(BaseModel):
1833
+ """
1834
+ Casing Pressure Test
1835
+ """
1836
+
1837
+ model_config = ConfigDict(
1838
+ extra='allow',
1839
+ )
1840
+ CasingTestDate: str | None = Field(
1841
+ None, examples=['2020-04-21T17:30:00+0000'], title='Test Date'
1842
+ )
1843
+ """
1844
+ Test Date/time
1845
+ """
1846
+ CasingTestElapsedTime: float | None = Field(
1847
+ None, examples=['12 hours'], title='Casing Test Elapsed Time'
1848
+ )
1849
+ """
1850
+ Casing Test Elapsed Time following end of cement job
1851
+ """
1852
+ CasingTestPressure: float | None = Field(
1853
+ None, examples=['9000 psi'], title='Test Pressure'
1854
+ )
1855
+ """
1856
+ Test Pressure
1857
+ """
1858
+ CasingTestStableRate: float | None = Field(None, title='Casing Test Stable Rate')
1859
+ """
1860
+ Casing Test Stable Flow Rate
1861
+ """
1862
+ CasingTestDuration: float | None = Field(
1863
+ None, examples=['5 min'], title='Test Duration'
1864
+ )
1865
+ """
1866
+ Test Duration
1867
+ """
1868
+ MaintainPressurePercent: float | None = Field(
1869
+ None, examples=['90 %'], title='Maintained Pressure Percent'
1870
+ )
1871
+ """
1872
+ Maintained Pressure % of Initial Test Pressure
1873
+ """
1874
+ PressureChangePerTime: float | None = Field(None, title='Pressure Change/Time')
1875
+ """
1876
+ Incremental Pressure Over Defined Time Interval
1877
+ """
1878
+ PackerMeasuredDepth: float | None = Field(None, title='Packer Measured Depth')
1879
+ """
1880
+ Packer Depth
1881
+ """
1882
+ FluidDensity: float | None = Field(
1883
+ None, examples=['9.2 lbm/gal[US]'], title='Fluid Density'
1884
+ )
1885
+ """
1886
+ Fluid Density
1887
+ """
1888
+ FloatMeasuredDepth: float | None = Field(None, title='Float Measured Depth')
1889
+ """
1890
+ Float Depth
1891
+ """
1892
+ PumpedVolume: float | None = Field(None, title='Pumped Volume')
1893
+ """
1894
+ Pumped Volume
1895
+ """
1896
+ BledBackVolume: float | None = Field(None, title='BledBackVolume')
1897
+ """
1898
+ Bled Back Volume
1899
+ """
1900
+ TestCriteria: str | None = Field(None, title='Test Criteria')
1901
+ """
1902
+ Test Criteria
1903
+ """
1904
+ Remarks: str | None = Field(
1905
+ None,
1906
+ examples=[
1907
+ '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.'
1908
+ ],
1909
+ title='Remarks',
1910
+ )
1911
+ """
1912
+ Comments or Remarks
1913
+ """
1914
+
1915
+
1916
+ class LogEvaluationDepth(BaseModel):
1917
+ """
1918
+ Log Evaluation Depth
1919
+ """
1920
+
1921
+ model_config = ConfigDict(
1922
+ extra='allow',
1923
+ )
1924
+ EvaluatedIntervalMeasuredDepthTop: float | None = Field(
1925
+ None, title='Evaluated Interval Top Measured Depth'
1926
+ )
1927
+ """
1928
+ Evaluated Interval Top Measured Depth
1929
+ """
1930
+ EvaluatedIntervalMeasuredDepthBase: float | None = Field(
1931
+ None, title='Evaluated Interval Base Measured Depth'
1932
+ )
1933
+ """
1934
+ Evaluated Interval Base Measured Depth
1935
+ """
1936
+ IsIsolated: bool | None = Field(None, title='Is Isolated')
1937
+ """
1938
+ Is Isolated
1939
+ """
1940
+ Remarks: str | None = Field(None, title='Remarks')
1941
+ """
1942
+ Remarks
1943
+ """
1944
+
1945
+
1946
+ class LogEvaluationItem(BaseModel):
1947
+ """
1948
+ Log Evaluation parameters
1949
+ """
1950
+
1951
+ model_config = ConfigDict(
1952
+ extra='allow',
1953
+ )
1954
+ EvaluationDate: str | None = Field(None, title='Evaluation Date')
1955
+ """
1956
+ Evaluation Date/time
1957
+ """
1958
+ LogType: (
1959
+ constr(
1960
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementEvalLogType:[\w\-\.\:\%]+:[0-9]*$'
1961
+ )
1962
+ | None
1963
+ ) = Field(None, title='Log Type')
1964
+ """
1965
+ Log type
1966
+ """
1967
+ IsBHTRun: bool | None = Field(None, title='Is BHT Run')
1968
+ """
1969
+ Bottom Hole Temperature Log Run?
1970
+ """
1971
+ IsCETRun: bool | None = Field(None, title='Is CET Run')
1972
+ """
1973
+ Cement Evaluation Tool Run?
1974
+ """
1975
+ IsCBLRun: bool | None = Field(None, title='Is CBL Run')
1976
+ """
1977
+ Cement Bond Log tool run?
1978
+ """
1979
+ CBLPressure: float | None = Field(None, title='CBL Pressure')
1980
+ """
1981
+ Cement Bond Log Pressure
1982
+ """
1983
+ CBLLogQuality: str | None = Field(None, title='CBL Log Quality')
1984
+ """
1985
+ Cement bond log quality description.
1986
+ """
1987
+ BeforeLogElapsedTime: float | None = Field(None, title='Elapsed Time Before Log')
1988
+ """
1989
+ Elapsed Time Before Log from end of Cement Job
1990
+ """
1991
+ LogID: (
1992
+ constr(
1993
+ pattern=r'^[\w\-\.]+:work-product-component\-\-WellLog:[\w\-\.\:\%]+:[0-9]*$'
1994
+ )
1995
+ | None
1996
+ ) = Field(None, title='Log ID')
1997
+ """
1998
+ ID to evaluation Log
1999
+ """
2000
+ LogEvaluationDepths: list[LogEvaluationDepth] | None = Field(
2001
+ None, title='Log Evaluation Depths'
2002
+ )
2003
+ """
2004
+ Log Evaluation Depths
2005
+ """
2006
+ IsCementFoundOnTool: bool | None = Field(None, title='Cement Found On Tool')
2007
+ """
2008
+ Cement Found On Tool during Evaluation Log run
2009
+ """
2010
+ IsCementFoundBetweenShoeCollar: bool | None = Field(
2011
+ None, title='Cement Found Between Shoe Collar'
2012
+ )
2013
+ """
2014
+ Cement Found Between Shoe Collar during Evaluation Log run
2015
+ """
2016
+ LogEvaluationResults: str | None = Field(None, title='Log Evaluation Results')
2017
+ """
2018
+ Log Evaluation Results
2019
+ """
2020
+
2021
+
2022
+ class ShoeTest(BaseModel):
2023
+ """
2024
+ Shoe Test
2025
+ """
2026
+
2027
+ model_config = ConfigDict(
2028
+ extra='allow',
2029
+ )
2030
+ ShoeTestEquivalentMudWeight: float | None = Field(
2031
+ None, examples=['9.39 lbm/gal[US]'], title='Shoe Test Equivalent Mud Weight'
2032
+ )
2033
+ """
2034
+ Shoe Test Equivalent Mud Weight
2035
+ """
2036
+ OpenHoleLength: float | None = Field(
2037
+ None, examples=['10 ft'], title='Open Hole Length'
2038
+ )
2039
+ """
2040
+ Open Hole Length
2041
+ """
2042
+ IsShoeTestToolUsed: bool | None = Field(
2043
+ None, examples=[True], title='Shoe Test Tool Used'
2044
+ )
2045
+ """
2046
+ Shoe Test Tool Used
2047
+ """
2048
+ ShoeTestElapsedTime: float | None = Field(
2049
+ None, examples=['72 h'], title='Elapsed Time Before Shoe Test'
2050
+ )
2051
+ """
2052
+ Elapsed Time Before Shoe Test following end of cement job
2053
+ """
2054
+ ShoeTestTypeID: (
2055
+ constr(
2056
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementShoeTestType:[\w\-\.\:\%]+:[0-9]*$'
2057
+ )
2058
+ | None
2059
+ ) = Field(
2060
+ None,
2061
+ examples=['namespace:reference-data--CementShoeTestType:FIT:'],
2062
+ title='Shoe Test Type',
2063
+ )
2064
+ """
2065
+ Shoe Test Type
2066
+ """
2067
+ ShoeTestComments: str | None = Field(
2068
+ None,
2069
+ examples=[
2070
+ '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.'
2071
+ ],
2072
+ title='Shoe Test Remarks',
2073
+ )
2074
+ """
2075
+ Comments or Remarks
2076
+ """
2077
+
2078
+
2079
+ class TOCInterpretation(BaseModel):
2080
+ """
2081
+ TOC Interpretation
2082
+ """
2083
+
2084
+ model_config = ConfigDict(
2085
+ extra='allow',
2086
+ )
2087
+ TopOfCementMeasuredDepth: float | None = Field(
2088
+ None, title='Top of Cement Measured Depth'
2089
+ )
2090
+ """
2091
+ Top of Cement (TOC) Measured Depth
2092
+ """
2093
+ PlannedTopMeasuredDepth: float | None = Field(
2094
+ None, title='Planned Top of Cement Measured Depth'
2095
+ )
2096
+ """
2097
+ Planned Top of Cement (TOC) Measured Depth
2098
+ """
2099
+ TopOfCementTrueVerticalDepth: float | None = Field(
2100
+ None, title='Top of Cement True Vertical Depth'
2101
+ )
2102
+ """
2103
+ Top of Cement (TOC) True Vertical Depth
2104
+ """
2105
+ IsTopOfCementSufficient: bool | None = Field(None, title='Top of Cement Sufficient')
2106
+ """
2107
+ TOC Sufficient?
2108
+ """
2109
+ IsRemedialCementRequired: bool | None = Field(
2110
+ None, title='Remedial Cement Required'
2111
+ )
2112
+ """
2113
+ Remedial Cement Required?
2114
+ """
2115
+ NumberOfRemedial: int | None = Field(None, title='# Remedial')
2116
+ """
2117
+ Number of remedial Squeezes required
2118
+ """
2119
+ RemedialType: str | None = Field(None, title='Remedial Type')
2120
+ """
2121
+ Remedial Type
2122
+ """
2123
+ TopOfCementLocateMethodID: (
2124
+ constr(
2125
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementTOCLocateMethod:[\w\-\.\:\%]+:[0-9]*$'
2126
+ )
2127
+ | None
2128
+ ) = Field(None, title='Top of Cement Locate Method')
2129
+ """
2130
+ Top of Cement Locate Method
2131
+ """
2132
+ Interpreter: str | None = Field(None, title='Interpreter')
2133
+ """
2134
+ Interpreter
2135
+ """
2136
+ Interpretation: str | None = Field(None, title='Interpretation')
2137
+ """
2138
+ TOC Interpretation
2139
+ """
2140
+ InterpretationRemarks: str | None = Field(None, title='Remarks')
2141
+ """
2142
+ Comments or Remarks of the TOC Interpretation
2143
+ """
2144
+
2145
+
2146
+ class LinerTopTest(BaseModel):
2147
+ """
2148
+ Liner Top Test
2149
+ """
2150
+
2151
+ model_config = ConfigDict(
2152
+ extra='allow',
2153
+ )
2154
+ TestTopMeasuredDepth: float | None = Field(None, title='Test Top Measured Depth')
2155
+ """
2156
+ Test Top Measured Depth
2157
+ """
2158
+ TestTopTrueVerticalDepth: float | None = Field(
2159
+ None, title='Test Top True Vertical Depth'
2160
+ )
2161
+ """
2162
+ Test Top True Vertical Depth
2163
+ """
2164
+ TestBaseMeasuredDepth: float | None = Field(None, title='Test Base Measured Depth')
2165
+ """
2166
+ Test Base Measured Depth
2167
+ """
2168
+ TestBaseTrueVerticalDepth: float | None = Field(
2169
+ None, title='Test Base True Vertical Depth'
2170
+ )
2171
+ """
2172
+ Test Base True Vertical Depth
2173
+ """
2174
+ LinerOverlap: float | None = Field(None, title='Liner Overlap')
2175
+ """
2176
+ Liner Overlap
2177
+ """
2178
+ LinerTopTestElapsedTime: float | None = Field(
2179
+ None, title='Elapsed Time Before Test'
2180
+ )
2181
+ """
2182
+ Elapsed Time Before Test following end of cement job
2183
+ """
2184
+ LinerNegativeTestTool: str | None = Field(None, title='Liner Negative Test Tool')
2185
+ """
2186
+ Liner Negative Test Tool
2187
+ """
2188
+ NegativeTestEquivalentMudWeight: float | None = Field(
2189
+ None, title='Liner Negative Test Equivalent Mud Weight'
2190
+ )
2191
+ """
2192
+ Liner Negative Test Equivalent Mud Weight
2193
+ """
2194
+ LinerPositiveTestTool: str | None = Field(None, title='Liner Positive Test Tool')
2195
+ """
2196
+ Liner Positive Test Tool
2197
+ """
2198
+ PositiveTestEquivalentMudWeight: float | None = Field(
2199
+ None, title='Liner Positive Test Equivalent Mud Weight'
2200
+ )
2201
+ """
2202
+ Liner Positive Test Equivalent Mud Weight
2203
+ """
2204
+ IsCementFoundOnTool: bool | None = Field(None, title='Cement Found On Tool')
2205
+ """
2206
+ Cement Found On Tool?
2207
+ """
2208
+ LinerTopTestRemarks: str | None = Field(None, title='Remarks')
2209
+ """
2210
+ Comments or Remarks
2211
+ """
2212
+
2213
+
2214
+ class ShoetrackCement(BaseModel):
2215
+ """
2216
+ Shoetrack Cement
2217
+ """
2218
+
2219
+ model_config = ConfigDict(
2220
+ extra='allow',
2221
+ )
2222
+ ShoetrackMeasuredDepth: float | None = Field(
2223
+ None, examples=['11121 ft'], title='Shoetrack Measured Depth'
2224
+ )
2225
+ """
2226
+ Shoetrack Measured Depth
2227
+ """
2228
+ ShoetrackTrueVerticalDepth: float | None = Field(
2229
+ None, title='Shoetrack True Vertical Depth'
2230
+ )
2231
+ """
2232
+ Shoetrack True Vertical Depth
2233
+ """
2234
+ ShoetrackLength: float | None = Field(
2235
+ None, examples=['20 ft'], title='Shoetrack Length'
2236
+ )
2237
+ """
2238
+ Shoetrack Length
2239
+ """
2240
+ IsHardCement: bool | None = Field(None, examples=[True], title='Is Hard Cement')
2241
+ """
2242
+ Is Hard Cement?
2243
+ """
2244
+ ShoetrackDrillDate: str | None = Field(
2245
+ None, examples=['2020-04-26T21:30:00+0000'], title='Shoetrack Drill Date'
2246
+ )
2247
+ """
2248
+ Shoetrack Drill Date
2249
+ """
2250
+ ShoetrackDrillMeasuredDepth: float | None = Field(
2251
+ None, examples=['11121 ft'], title='Shoetrack Drill Measured Depth'
2252
+ )
2253
+ """
2254
+ Shoetrack Drill Measured Depth
2255
+ """
2256
+ ShoetrackDrillTrueVerticalDepth: float | None = Field(
2257
+ None, title='Shoetrack Drill True Vertical Depth'
2258
+ )
2259
+ """
2260
+ Shoetrack Drill True Vertical Depth
2261
+ """
2262
+ ShoetrackCementTestRemarks: str | None = Field(
2263
+ None,
2264
+ examples=[
2265
+ '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.'
2266
+ ],
2267
+ title='Shoetrack Cement Test Remarks',
2268
+ )
2269
+ """
2270
+ Comments or Remarks
2271
+ """
2272
+
2273
+
2274
+ class Data(BaseModel):
2275
+ """
2276
+ Generic reference object containing the universal properties of a Work Product Component for inclusion in data type specific Work Product Component objects
2277
+ """
2278
+
2279
+ model_config = ConfigDict(
2280
+ extra='allow',
2281
+ )
2282
+ ResourceHomeRegionID: (
2283
+ constr(pattern=r'^[\w\-\.]+:reference-data\-\-OSDURegion:[\w\-\.\:\%]+:[0-9]*$')
2284
+ | None
2285
+ ) = Field(None, title='Resource Home Region ID')
2286
+ """
2287
+ The name of the home [cloud environment] region for this OSDU resource object.
2288
+ """
2289
+ ResourceHostRegionIDs: (
2290
+ list[
2291
+ constr(
2292
+ pattern=r'^[\w\-\.]+:reference-data\-\-OSDURegion:[\w\-\.\:\%]+:[0-9]*$'
2293
+ )
2294
+ ]
2295
+ | None
2296
+ ) = Field(None, title='Resource Host Region ID')
2297
+ """
2298
+ The name of the host [cloud environment] region(s) for this OSDU resource object.
2299
+ """
2300
+ ResourceCurationStatus: (
2301
+ constr(
2302
+ pattern=r'^[\w\-\.]+:reference-data\-\-ResourceCurationStatus:[\w\-\.\:\%]+:[0-9]*$'
2303
+ )
2304
+ | None
2305
+ ) = Field(None, title='Resource Curation Status')
2306
+ """
2307
+ Describes the current Curation status.
2308
+ """
2309
+ ResourceLifecycleStatus: (
2310
+ constr(
2311
+ pattern=r'^[\w\-\.]+:reference-data\-\-ResourceLifecycleStatus:[\w\-\.\:\%]+:[0-9]*$'
2312
+ )
2313
+ | None
2314
+ ) = Field(None, title='Resource Lifecycle Status')
2315
+ """
2316
+ Describes the current Resource Lifecycle status.
2317
+ """
2318
+ ResourceSecurityClassification: (
2319
+ constr(
2320
+ pattern=r'^[\w\-\.]+:reference-data\-\-ResourceSecurityClassification:[\w\-\.\:\%]+:[0-9]*$'
2321
+ )
2322
+ | None
2323
+ ) = Field(None, title='Resource Security Classification')
2324
+ """
2325
+ Classifies the security level of the resource.
2326
+ """
2327
+ Source: str | None = Field(None, title='Data Source')
2328
+ """
2329
+ 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.
2330
+ """
2331
+ ExistenceKind: (
2332
+ constr(
2333
+ pattern=r'^[\w\-\.]+:reference-data\-\-ExistenceKind:[\w\-\.\:\%]+:[0-9]*$'
2334
+ )
2335
+ | None
2336
+ ) = Field(None, title='Existence Kind')
2337
+ """
2338
+ Where does this data resource sit in the cradle-to-grave span of its existence?
2339
+ """
2340
+ TechnicalAssuranceID: (
2341
+ constr(
2342
+ pattern=r'^[\w\-\.]+:reference-data\-\-TechnicalAssuranceType:[\w\-\.\:\%]+:[0-9]*$'
2343
+ )
2344
+ | None
2345
+ ) = Field(None, title='Technical Assurance ID')
2346
+ """
2347
+ 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.
2348
+ """
2349
+ Datasets: (
2350
+ list[constr(pattern=r'^[\w\-\.]+:dataset\-\-[\w\-\.]+:[\w\-\.\:\%]+:[0-9]*$')]
2351
+ | None
2352
+ ) = None
2353
+ """
2354
+ The record id, which identifies this OSDU File or dataset resource.
2355
+ """
2356
+ DDMSDatasets: (
2357
+ list[
2358
+ constr(
2359
+ pattern=r'^(([^:/?#]+):)(\/\/([^/?#]+))(\/[^?#]+)(\?([^#]*))?(#(.*))?'
2360
+ )
2361
+ ]
2362
+ | None
2363
+ ) = Field(
2364
+ None,
2365
+ examples=[
2366
+ [
2367
+ 'urn://wddms-3/uuid:20840361-adc0-4842-999b-5639bd07bb38',
2368
+ "eml://rddms-1/dataspace('demo/Volve')/resqml20.obj_ContinuousProperty(1615d8d2-2a2d-482c-885e-14225b89e90c)",
2369
+ ]
2370
+ ],
2371
+ title='DDMS Datasets',
2372
+ )
2373
+ """
2374
+ 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.
2375
+ """
2376
+ Artefacts: list[Artefact] | None = None
2377
+ """
2378
+ 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
2379
+ """
2380
+ IsExtendedLoad: bool | None = None
2381
+ """
2382
+ 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.
2383
+ """
2384
+ IsDiscoverable: bool | None = None
2385
+ """
2386
+ A flag that indicates if the work product component is searchable, which means covered in the search index.
2387
+ """
2388
+ TechnicalAssurances: list[v1_2_0.AbstractTechnicalAssurance] | None = Field(
2389
+ None, title='Technical Assurances'
2390
+ )
2391
+ """
2392
+ 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.
2393
+ """
2394
+ NameAliases: list[v1_0_0.AbstractAliasNames] | None = None
2395
+ """
2396
+ Alternative names, including historical, by which this work-product-component is/has been known (it should include all the identifiers).
2397
+ """
2398
+ Name: str = Field(
2399
+ ..., examples=['9-5/8" Production Casing Cement Job'], title='Name'
2400
+ )
2401
+ """
2402
+ Name of the cement job.
2403
+ """
2404
+ Description: str | None = None
2405
+ """
2406
+ Description. Summary of the work product component. Not the same as Remark which captures thoughts of creator about the wpc.
2407
+ """
2408
+ CreationDateTime: str | None = None
2409
+ """
2410
+ Date that a resource (work product component here) is formed outside of OSDU before loading (e.g. publication date).
2411
+ """
2412
+ Tags: list[str] | None = None
2413
+ """
2414
+ Array of key words to identify the work product, especially to help in search.
2415
+ """
2416
+ SpatialPoint: v1_1_0.AbstractSpatialLocation | None = None
2417
+ """
2418
+ A centroid point that reflects the locale of the content of the work product component (location of the subject matter).
2419
+ """
2420
+ SpatialArea: v1_1_0.AbstractSpatialLocation | None = None
2421
+ """
2422
+ A polygon boundary that reflects the locale of the content of the work product component (location of the subject matter).
2423
+ """
2424
+ GeoContexts: list[v1_0_0_1.AbstractGeoContext] | None = None
2425
+ """
2426
+ List of geographic entities which provide context to the WPC. This may include multiple types or multiple values of the same type.
2427
+ """
2428
+ SubmitterName: str | None = None
2429
+ """
2430
+ Name of the person that first submitted the work product component to OSDU.
2431
+ """
2432
+ BusinessActivities: list[str] | None = None
2433
+ """
2434
+ Array of business processes/workflows that the work product component has been through (ex. well planning, exploration).
2435
+ """
2436
+ AuthorIDs: list[str] | None = Field(None, title='Author IDs')
2437
+ """
2438
+ Array of Authors' names of the work product component. Could be a person or company entity.
2439
+ """
2440
+ LineageAssertions: list[LineageAssertion] | None = None
2441
+ """
2442
+ 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.
2443
+ """
2444
+ WellboreID: constr(
2445
+ pattern=r'^[\w\-\.]+:master-data\-\-Wellbore:[\w\-\.\:\%]+:[0-9]*$'
2446
+ ) = Field(
2447
+ ...,
2448
+ examples=['namespace:master-data--Wellbore:11000091175501:'],
2449
+ title='Wellbore ID',
2450
+ )
2451
+ """
2452
+ Reference to the parent Wellbore. Cemented TubularAssembly would be installed to same Wellbore.
2453
+ """
2454
+ WellActivityID: constr(
2455
+ pattern=r'^[\w\-\.]+:master-data\-\-WellActivity:[\w\-\.\:\%]+:[0-9]*$'
2456
+ ) = Field(
2457
+ ...,
2458
+ examples=['namespace:master-data--WellActivity:110000911755.DRO:'],
2459
+ title='Well Activity',
2460
+ )
2461
+ """
2462
+ Identifier of the parent Well Activity in which the Cement Job was performed
2463
+ """
2464
+ VerticalMeasurement: v1_0_0_2.AbstractFacilityVerticalMeasurement = Field(
2465
+ ...,
2466
+ examples=[
2467
+ {
2468
+ 'VerticalReferenceEntityID': 'namespace:master-data--Wellbore:11000091175501:',
2469
+ 'VerticalReferenceID': 'DFE',
2470
+ }
2471
+ ],
2472
+ title='Depth Reference Elevation',
2473
+ )
2474
+ """
2475
+ 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.
2476
+ """
2477
+ WellboreTubularID: (
2478
+ constr(
2479
+ pattern=r'^[\w\-\.]+:(master-data\-\-TubularAssembly|work-product-component\-\-TubularAssembly):[\w\-\.\:\%]+:[0-9]*$'
2480
+ )
2481
+ | None
2482
+ ) = Field(
2483
+ None,
2484
+ examples=['namespace:master-data--TubularAssembly:9_58ProdCasing:'],
2485
+ title='Cemented Tubular Assembly',
2486
+ )
2487
+ """
2488
+ Installed Casing/Liner or other Tubular Assembly on which the Cement Job is performed. Not entered for Plug jobs in open hole.
2489
+ """
2490
+ HoleSectionID: (
2491
+ constr(pattern=r'^[\w\-\.]+:master-data\-\-HoleSection:[\w\-\.\:\%]+:[0-9]*$')
2492
+ | None
2493
+ ) = Field(
2494
+ None,
2495
+ examples=['namespace:master-data--HoleSection:11000091175501.12_14HoleSect:'],
2496
+ title='Hole Section Identifier',
2497
+ )
2498
+ """
2499
+ Hole Section Assembly installed in and cement job performed in
2500
+ """
2501
+ WorkStringID: (
2502
+ constr(
2503
+ pattern=r'^[\w\-\.]+:(master-data\-\-TubularAssembly|work-product-component\-\-TubularAssembly):[\w\-\.\:\%]+:[0-9]*$'
2504
+ )
2505
+ | None
2506
+ ) = Field(
2507
+ None,
2508
+ examples=['namespace:master-data--TubularAssembly:9_58Workstring-A:'],
2509
+ title='Work String ID',
2510
+ )
2511
+ """
2512
+ Identifier of the TubularAssembly that describes the cement work string
2513
+ """
2514
+ JobTypeID: constr(
2515
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementJobType:[\w\-\.\:\%]+:[0-9]*$'
2516
+ ) = Field(
2517
+ ...,
2518
+ examples=['namespace:reference-data--CementJobType:Primary:'],
2519
+ title='Job Type ID',
2520
+ )
2521
+ """
2522
+ Type of cement job
2523
+ """
2524
+ JobStartDatetime: str | None = Field(
2525
+ None, examples=['2020-04-20T08:00:00+0000'], title='Job Start Date/time'
2526
+ )
2527
+ """
2528
+ Job Start Date/time
2529
+ """
2530
+ JobEndDatetime: str | None = Field(
2531
+ None, examples=['2020-04-20T12:30:00+0000'], title='Job End Date/time'
2532
+ )
2533
+ """
2534
+ Job End Date/time
2535
+ """
2536
+ JobConfiguration: str | None = Field(None, title='Job Configuration')
2537
+ """
2538
+ Job configuration/description
2539
+ """
2540
+ PlannedCementJobID: (
2541
+ constr(
2542
+ pattern=r'^[\w\-\.]+:master-data\-\-PlannedCementJob:[\w\-\.\:\%]+:[0-9]*$'
2543
+ )
2544
+ | None
2545
+ ) = Field(None, title='Planned Cement Job ID')
2546
+ """
2547
+ Association to Planned Cement Job
2548
+ """
2549
+ PumpThroughEquipmentID: (
2550
+ constr(
2551
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPumpThroughEquipmentType:[\w\-\.\:\%]+:[0-9]*$'
2552
+ )
2553
+ | None
2554
+ ) = Field(
2555
+ None,
2556
+ examples=[
2557
+ 'namespace:reference-data--CementPumpThroughEquipmentType:CementHead:'
2558
+ ],
2559
+ title='Pump Through Equipment',
2560
+ )
2561
+ """
2562
+ Pump Through Equipment
2563
+ """
2564
+ ContractorID: (
2565
+ constr(pattern=r'^[\w\-\.]+:master-data\-\-Organisation:[\w\-\.\:\%]+:[0-9]*$')
2566
+ | None
2567
+ ) = Field(
2568
+ None,
2569
+ examples=['namespace:master-data--Organisation:Halliburton:'],
2570
+ title='Contractor ID',
2571
+ )
2572
+ """
2573
+ Identifier of cementing contractor.
2574
+ """
2575
+ LeadCementerName: str | None = Field(
2576
+ None, examples=['Joe Bloggs'], title='Lead Cementer Name'
2577
+ )
2578
+ """
2579
+ Name of lead cementer
2580
+ """
2581
+ OperatorRepresentative: str | None = Field(
2582
+ None, examples=['Jane Bloggs'], title='Operator Representative'
2583
+ )
2584
+ """
2585
+ Name of Operator Representative/Supervisor
2586
+ """
2587
+ ContractorJobID: str | None = Field(
2588
+ None, examples=['H099999'], title='Contractor Job ID'
2589
+ )
2590
+ """
2591
+ Contractor Job ID
2592
+ """
2593
+ OperatorRepresentativeRemarks: str | None = Field(
2594
+ None,
2595
+ examples=[
2596
+ '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.'
2597
+ ],
2598
+ title='Operator Representative Remarks',
2599
+ )
2600
+ """
2601
+ Operator Representative Remarks
2602
+ """
2603
+ IsReturnsToSeabed: bool | None = Field(
2604
+ None, examples=[False], title='Is Returns To Seabed'
2605
+ )
2606
+ """
2607
+ Were fluid circulated/returned to seabed. Values are "true" (or "1") and "false" (or "0").
2608
+ """
2609
+ IsReciprocating: bool | None = Field(
2610
+ None, examples=[False], title='Is Reciprocating'
2611
+ )
2612
+ """
2613
+ Pipe being reciprocated. Values are "true" (or "1") and "false" (or "0").
2614
+ """
2615
+ IsRotating: bool | None = Field(None, examples=[False], title='Is Rotating')
2616
+ """
2617
+ Is pipe rotated during job. Values are "true" (or "1") and "false" (or "0").
2618
+ """
2619
+ WaitOnCementDuration: float | None = Field(
2620
+ None, examples=['180 min'], title='Waiting On Cement time'
2621
+ )
2622
+ """
2623
+ Duration from cement placement and left
2624
+ undisturbed until disturbed again.
2625
+ """
2626
+ HoleMeasuredDepth: float | None = Field(
2627
+ None, examples=['11162 ft'], title='Hole Measured Depth'
2628
+ )
2629
+ """
2630
+ Measured depth at bottom of hole.
2631
+ """
2632
+ StringSetMeasuredDepth: float | None = Field(
2633
+ None, examples=['11141 ft'], title='String Set Measured Depth'
2634
+ )
2635
+ """
2636
+ Measured depth of cemented string casing/liner shoe.
2637
+ """
2638
+ StringSetTrueVerticalDepth: float | None = Field(
2639
+ None, examples=['10200 ft'], title='String Set True Vertical Depth'
2640
+ )
2641
+ """
2642
+ True vertical depth of cement string shoe.
2643
+ """
2644
+ StageCollarMeasuredDepth: float | None = Field(
2645
+ None, examples=['9802.50 ft'], title='StageCollarMeasuredDepth'
2646
+ )
2647
+ """
2648
+ Measured depth of the stage collar
2649
+ """
2650
+ LandingFloatCollarMeasuredDepth: float | None = Field(
2651
+ None, examples=['11041.5 ft'], title='LandingCollarMeasuredDepth'
2652
+ )
2653
+ """
2654
+ Measured depth of the landing/float collar
2655
+ """
2656
+ RatholeLength: float | None = Field(
2657
+ None, examples=['21 ft'], title='Rathole Length'
2658
+ )
2659
+ """
2660
+ Distance from shoe to hole section bottom depth (Rathole)
2661
+ """
2662
+ PreviousShoeMeasuredDepth: float | None = Field(
2663
+ None, examples=['10120 ft'], title='Previous Shoe Measured Depth'
2664
+ )
2665
+ """
2666
+ Measured depth of the previous casing/liner shoe.
2667
+ """
2668
+ PreviousShoeTrueVerticalDepth: float | None = Field(
2669
+ None, examples=['9916.40 ft'], title='Previous Shoe True Vertical Depth'
2670
+ )
2671
+ """
2672
+ Estimated True Vertical Depth of previous casing/liner shoe.
2673
+ """
2674
+ PlugTopMeasuredDepth: float | None = Field(None, title='Plug Top Measured Depth')
2675
+ """
2676
+ If Plug, measured depth of top of plug
2677
+ """
2678
+ PlugTopTrueVerticalDepth: float | None = Field(
2679
+ None, title='Plug Top True Vertical Depth'
2680
+ )
2681
+ """
2682
+ If Plug, true vertical depth of top of plug. TVDs needed for estimating hydrostatic pressure and temperature.
2683
+ """
2684
+ PlugBaseMeasuredDepth: float | None = Field(None, title='Plug Base Measured Depth')
2685
+ """
2686
+ If Plug, measured depth of bottom of plug.
2687
+ """
2688
+ PlugBaseTrueVerticalDepth: float | None = Field(
2689
+ None, title='Plug Base True Vertical Depth'
2690
+ )
2691
+ """
2692
+ If Plug, true vertical depth of bottom of plug.
2693
+ """
2694
+ PlugInclinationAverage: float | None = Field(
2695
+ None, examples=['86 dega'], title='Plug Inclination Average'
2696
+ )
2697
+ """
2698
+ If Plug, average inclination of wellbore across plug depth calculated from directional survey
2699
+ """
2700
+ PlugInclinationMaximum: float | None = Field(None, title='Plug Inclination Maximum')
2701
+ """
2702
+ If Plug, maximum inclination of wellbore across plug depth calculated from directional survey
2703
+ """
2704
+ PlugTaggedMeasuredDepth: float | None = Field(
2705
+ None, title='Plug Tagged Measured Depth'
2706
+ )
2707
+ """
2708
+ Plug tagged MD
2709
+ """
2710
+ PlugTaggedWeight: float | None = Field(None, title='Plug Tagged Weight')
2711
+ """
2712
+ Plug tagged weight
2713
+ """
2714
+ PlugPositiveTestPressure: float | None = Field(
2715
+ None, title='Plug Positive Test Pressure'
2716
+ )
2717
+ """
2718
+ Plug Positive Test Pressure
2719
+ """
2720
+ PlugNegativeTestPressure: float | None = Field(
2721
+ None, title='Plug Negative Test Pressure'
2722
+ )
2723
+ """
2724
+ Plug negative test pressure
2725
+ """
2726
+ PlugTypeID: (
2727
+ constr(
2728
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPlugType:[\w\-\.\:\%]+:[0-9]*$'
2729
+ )
2730
+ | None
2731
+ ) = Field(None, title='Plug Type ID')
2732
+ """
2733
+ Cement plug type.
2734
+ """
2735
+ IsPlugDrilledOut: bool | None = Field(None, title='Plug Drilled Out')
2736
+ """
2737
+ Plug fully drilled out
2738
+ """
2739
+ PlugDrillOutDate: str | None = Field(None, title='Plug Drill Out Date')
2740
+ """
2741
+ Date when Cement Plug fully drilled out (not partial drill out).
2742
+ """
2743
+ PlugBaseSupportTypeID: (
2744
+ constr(
2745
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementPlugBaseSupportType:[\w\-\.\:\%]+:[0-9]*$'
2746
+ )
2747
+ | None
2748
+ ) = Field(None, title='Plug Base Support Type')
2749
+ """
2750
+ Cement Plug Support Base Type
2751
+ """
2752
+ CementPlugStates: list[CementPlugState] | None = Field(
2753
+ None, title='Cement Plug States'
2754
+ )
2755
+ """
2756
+ Cement Plug Status History
2757
+ """
2758
+ SqueezeTypeID: (
2759
+ constr(
2760
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSqueezeType:[\w\-\.\:\%]+:[0-9]*$'
2761
+ )
2762
+ | None
2763
+ ) = Field(None, title='Squeeze Type')
2764
+ """
2765
+ Type of squeeze.
2766
+ """
2767
+ SqueezeMethodID: (
2768
+ constr(
2769
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementSqueezeMethod:[\w\-\.\:\%]+:[0-9]*$'
2770
+ )
2771
+ | None
2772
+ ) = Field(None, title='Squeeze method')
2773
+ """
2774
+ Method used to perform squeeze
2775
+ """
2776
+ SqueezeTopMeasuredDepth: float | None = Field(
2777
+ None, title='Squeeze Top Measured Depth'
2778
+ )
2779
+ """
2780
+ Top Measured depth of squeeze e.g. long perforated interval. Single depth when specific point squeezed (top & base are same).
2781
+ """
2782
+ SqueezeWellboreOpeningID: (
2783
+ list[
2784
+ constr(
2785
+ pattern=r'^[\w\-\.]+:master-data\-\-WellboreOpening:[\w\-\.\:\%]+:[0-9]*$'
2786
+ )
2787
+ ]
2788
+ | None
2789
+ ) = Field(None, title='Wellbore Opening')
2790
+ """
2791
+ ID of Wellbore Opening(s) through which Cement Squeezed
2792
+ """
2793
+ IsCoilTubing: bool | None = Field(None, examples=[False], title='Is Coil Tubing')
2794
+ """
2795
+ Coiled Tubing Used in the job (true=CTU used). Values are "true" (or "1") and "false" (or "0").
2796
+ """
2797
+ EstimatedCementTopMeasuredDepth: float | None = Field(
2798
+ None, examples=['11000 ft'], title='Estimated Cement Top Measured Depth'
2799
+ )
2800
+ """
2801
+ The estimated Measured depth of the Top of Cement (TOC) based on volume pumped.
2802
+ """
2803
+ CementToolTubularComponentID: (
2804
+ constr(
2805
+ pattern=r'^[\w\-\.]+:(master-data\-\-TubularComponent|work-product-component\-\-TubularComponent):[\w\-\.\:\%]+:[0-9]*$'
2806
+ )
2807
+ | None
2808
+ ) = Field(
2809
+ None,
2810
+ examples=['namespace:master-data--TubularComponent:9_58CementTool-Ext56:'],
2811
+ title='Cement Tool Tubular Component ID',
2812
+ )
2813
+ """
2814
+ The identifier of the TubularComponent within the Cemented String TubularAssembly used for Cementing the wellbore
2815
+ """
2816
+ IsPipePulledWet: bool | None = Field(
2817
+ None, examples=[False], title='Pipe Pulled Wet'
2818
+ )
2819
+ """
2820
+ Is the pipe pulled wet (or dry) from cementing operation depth to surface for Plugs
2821
+ """
2822
+ PipePulledRateAvg: float | None = Field(
2823
+ None, examples=['90 ft/min'], title='Pipe Pulled Rate'
2824
+ )
2825
+ """
2826
+ Average rate pulled from cementing operation depth to surface
2827
+ """
2828
+ PipePulledRate: Literal['ft/min not std/min'] | None = Field(
2829
+ None, title='Pipe Pulled Rate'
2830
+ )
2831
+ """
2832
+ DEPRECATED: Use the new PipePulledRateAvg instead as this constant string property is malformed for the purpose. Rate pulled from cementing operation depth to surface
2833
+ """
2834
+ IsViscousPillUsed: bool | None = Field(
2835
+ None, examples=[False], title='Viscous Pilled Used'
2836
+ )
2837
+ """
2838
+ Is Viscous Pilled Used
2839
+ """
2840
+ PackerStingerMeasureDepth: float | None = Field(
2841
+ None, title='Packer Stinger Measured Depth'
2842
+ )
2843
+ """
2844
+ Packer or Stinger Measured Depth
2845
+ """
2846
+ PackerStingerMeasuredDepth: Literal['?? In SLB PlannedCementJob?'] | None = Field(
2847
+ None, title='Packer Stinger Measured Depth'
2848
+ )
2849
+ """
2850
+ DEPRECATED: Please use PackerStingerMeasureDepth instead as this string constant string property is malformed for the purpose. Packer or Stinger Measured Depth.
2851
+ """
2852
+ CementToolTypeID: (
2853
+ constr(
2854
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementToolType:[\w\-\.\:\%]+:[0-9]*$'
2855
+ )
2856
+ | None
2857
+ ) = Field(
2858
+ None,
2859
+ examples=['nmespace:reference-data--CementToolType:Retainer:'],
2860
+ title='Cement Tool Type',
2861
+ )
2862
+ """
2863
+ Cement Tool Type
2864
+ """
2865
+ CementStages: list[CementStage] | None = Field(None, title='Cement Stages')
2866
+ """
2867
+ Set of stages for the job (usually 1 or 2).
2868
+ """
2869
+ CasingPressureTest_1: CasingPressureTest | None = Field(
2870
+ None, alias='CasingPressureTest', title='Casing Pressure Test'
2871
+ )
2872
+ """
2873
+ Casing Pressure Test
2874
+ """
2875
+ LogEvaluation: list[LogEvaluationItem] | None = Field(None, title='Log Evaluation')
2876
+ """
2877
+ Log Evaluation
2878
+ """
2879
+ ShoeTest_1: ShoeTest | None = Field(None, alias='ShoeTest', title='Shoe Test')
2880
+ """
2881
+ Shoe Test
2882
+ """
2883
+ TOCInterpretation_1: TOCInterpretation | None = Field(
2884
+ None, alias='TOCInterpretation', title='TOC Interpretation'
2885
+ )
2886
+ """
2887
+ TOC Interpretation
2888
+ """
2889
+ LinerTopTest_1: LinerTopTest | None = Field(
2890
+ None, alias='LinerTopTest', title='Liner Top Test'
2891
+ )
2892
+ """
2893
+ Liner Top Test
2894
+ """
2895
+ ShoetrackCement_1: ShoetrackCement | None = Field(
2896
+ None, alias='ShoetrackCement', title='Shoetrack Cement'
2897
+ )
2898
+ """
2899
+ Shoetrack Cement
2900
+ """
2901
+ CementJobRating: (
2902
+ constr(
2903
+ pattern=r'^[\w\-\.]+:reference-data\-\-CementJobQuality:[\w\-\.\:\%]+:[0-9]*$'
2904
+ )
2905
+ | None
2906
+ ) = Field(
2907
+ None,
2908
+ examples=['namespace:reference-data--CementJobQuality:Good:'],
2909
+ title='Cement Job Rating',
2910
+ )
2911
+ """
2912
+ Cement Job Rating
2913
+ """
2914
+ PhROVMeasured: float | None = Field(None, examples=[6], title='ROV Measured pH')
2915
+ """
2916
+ ROV Measured pH at Seabed
2917
+ """
2918
+ CementFluidLineConfiguration: str | None = Field(
2919
+ None, title='Cement Fluid Line Configuration'
2920
+ )
2921
+ """
2922
+ Cement Fluid Line Configuration
2923
+ """
2924
+ Remarks: str | None = Field(
2925
+ None,
2926
+ examples=[
2927
+ '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.'
2928
+ ],
2929
+ title='Remarks',
2930
+ )
2931
+ """
2932
+ Remarks
2933
+ """
2934
+ ExtensionProperties: dict[str, Any] | None = None