From 9aad9e59e4141d5b0e3dd1de6cac225bad07405f Mon Sep 17 00:00:00 2001 From: mferrera Date: Wed, 3 Jul 2024 09:25:57 +0200 Subject: [PATCH] DOC: Add data/content docstrings Also contains some minor fixes to the items in `meta.py`. --- schema/definitions/0.8.0/schema/fmu_meta.json | 731 ++++++++---------- .../datastructure/_internal/internal.py | 6 +- src/fmu/dataio/datastructure/meta/content.py | 472 +++++++---- src/fmu/dataio/datastructure/meta/meta.py | 45 +- src/fmu/dataio/providers/objectdata/_base.py | 16 +- 5 files changed, 702 insertions(+), 568 deletions(-) diff --git a/schema/definitions/0.8.0/schema/fmu_meta.json b/schema/definitions/0.8.0/schema/fmu_meta.json index 0a07e878d..d6e36301b 100644 --- a/schema/definitions/0.8.0/schema/fmu_meta.json +++ b/schema/definitions/0.8.0/schema/fmu_meta.json @@ -106,7 +106,7 @@ "title": "Aggregation", "type": "object" }, - "AnyContent": { + "AnyData": { "dependencies": { "base": { "required": [ @@ -119,90 +119,91 @@ ] } }, + "description": "The ``data`` block contains information about the data contained in this object.\nThis class, ``AnyData``, is a root model that allows for data with more specific\ncontent types to be placed within it. It can contain the metadata for any data\nobject.\n\nSee :class:`Data` to get an overview of all of the subfields used in the ``data``\nblock. Between the different content types, only the ``data.content`` field will\ndiffer. This field indicates the type of content the data are representing.", "discriminator": { "propertyName": "content" }, "oneOf": [ { - "$ref": "#/$defs/DepthContent" + "$ref": "#/$defs/DepthData" }, { - "$ref": "#/$defs/FaciesThicknessContent" + "$ref": "#/$defs/FaciesThicknessData" }, { - "$ref": "#/$defs/FaultLinesContent" + "$ref": "#/$defs/FaultLinesData" }, { - "$ref": "#/$defs/FieldOutlineContent" + "$ref": "#/$defs/FieldOutlineData" }, { - "$ref": "#/$defs/FieldRegionContent" + "$ref": "#/$defs/FieldRegionData" }, { - "$ref": "#/$defs/FluidContactContent" + "$ref": "#/$defs/FluidContactData" }, { - "$ref": "#/$defs/KPProductContent" + "$ref": "#/$defs/KPProductData" }, { - "$ref": "#/$defs/LiftCurvesContent" + "$ref": "#/$defs/LiftCurvesData" }, { - "$ref": "#/$defs/NamedAreaContent" + "$ref": "#/$defs/NamedAreaData" }, { - "$ref": "#/$defs/ParametersContent" + "$ref": "#/$defs/ParametersData" }, { - "$ref": "#/$defs/PinchoutContent" + "$ref": "#/$defs/PinchoutData" }, { - "$ref": "#/$defs/PropertyContent" + "$ref": "#/$defs/PropertyData" }, { - "$ref": "#/$defs/FaultPropertiesContent" + "$ref": "#/$defs/FaultPropertiesData" }, { - "$ref": "#/$defs/PVTContent" + "$ref": "#/$defs/PVTData" }, { - "$ref": "#/$defs/RegionsContent" + "$ref": "#/$defs/RegionsData" }, { - "$ref": "#/$defs/RelpermContent" + "$ref": "#/$defs/RelpermData" }, { - "$ref": "#/$defs/RFTContent" + "$ref": "#/$defs/RFTData" }, { - "$ref": "#/$defs/SeismicContent" + "$ref": "#/$defs/SeismicData" }, { - "$ref": "#/$defs/SubcropContent" + "$ref": "#/$defs/SubcropData" }, { - "$ref": "#/$defs/ThicknessContent" + "$ref": "#/$defs/ThicknessData" }, { - "$ref": "#/$defs/TimeContent" + "$ref": "#/$defs/TimeData" }, { - "$ref": "#/$defs/TimeSeriesContent" + "$ref": "#/$defs/TimeSeriesData" }, { - "$ref": "#/$defs/VelocityContent" + "$ref": "#/$defs/VelocityData" }, { - "$ref": "#/$defs/VolumesContent" + "$ref": "#/$defs/VolumesData" }, { - "$ref": "#/$defs/WellPicksContent" + "$ref": "#/$defs/WellPicksData" } ], - "title": "AnyContent" + "title": "AnyData" }, "Asset": { - "description": "A block containing information about the owner asset of these data.", + "description": "The ``access.asset`` block contains information about the owner asset of\nthese data.", "properties": { "name": { "examples": [ @@ -506,7 +507,7 @@ "type": "object" }, "CoordinateSystem": { - "description": "Reference to coordinate system known to SMDA.", + "description": "The ``masterdata.smda.coordinate_system`` block contains the coordinate\nsystem known to SMDA.", "properties": { "identifier": { "examples": [ @@ -532,7 +533,7 @@ "type": "object" }, "CountryItem": { - "description": "Reference to a country known to SMDA.", + "description": "The ``smda.masterdata.country`` block contains a list of countries known\nto SMDA. This class represents one such country.", "properties": { "identifier": { "examples": [ @@ -650,7 +651,8 @@ "title": "CubeSpecification", "type": "object" }, - "DepthContent": { + "DepthData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for depth type.", "properties": { "alias": { "anyOf": [ @@ -751,11 +753,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -774,7 +776,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -820,7 +821,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -852,7 +852,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -871,7 +870,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -910,7 +908,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -936,25 +933,26 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", "is_prediction", - "name", - "stratigraphic", "depth_reference" ], - "title": "DepthContent", + "title": "DepthData", "type": "object" }, "DiscoveryItem": { - "description": "Reference to a discovery known to SMDA.", + "description": "The ``masterdata.smda.discovery`` block contains a list of\ndiscoveries known to SMDA. This class represents one such discovery.", "properties": { "short_identifier": { "examples": [ @@ -1096,47 +1094,8 @@ "title": "FMUCaseAttributes", "type": "object" }, - "FMUTimeObject": { - "description": "Time stamp for data object.", - "properties": { - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "examples": [ - "base", - "monitor", - "mylabel" - ], - "title": "Label" - }, - "value": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "examples": [ - "2020-10-28T14:28:02" - ], - "title": "Value" - } - }, - "title": "FMUTimeObject", - "type": "object" - }, - "FaciesThicknessContent": { + "FaciesThicknessData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for facies thickness.", "properties": { "alias": { "anyOf": [ @@ -1228,11 +1187,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -1251,7 +1210,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -1297,7 +1255,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -1329,7 +1286,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -1348,7 +1304,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -1387,7 +1342,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -1413,23 +1367,25 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "FaciesThicknessContent", + "title": "FaciesThicknessData", "type": "object" }, - "FaultLinesContent": { + "FaultLinesData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for fault lines.", "properties": { "alias": { "anyOf": [ @@ -1521,11 +1477,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -1544,7 +1500,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -1590,7 +1545,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -1622,7 +1576,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -1641,7 +1594,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -1680,7 +1632,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -1706,23 +1657,25 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "FaultLinesContent", + "title": "FaultLinesData", "type": "object" }, - "FaultPropertiesContent": { + "FaultPropertiesData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for fault properties.", "properties": { "alias": { "anyOf": [ @@ -1814,11 +1767,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -1837,7 +1790,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -1883,7 +1835,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -1915,7 +1866,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -1934,7 +1884,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -1973,7 +1922,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -1999,20 +1947,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "FaultPropertiesContent", + "title": "FaultPropertiesData", "type": "object" }, "FaultRoomSurfaceSpecification": { @@ -2076,7 +2025,7 @@ "type": "object" }, "FieldItem": { - "description": "Reference to a field known to SMDA.", + "description": "The ``masterdata.smda.field`` block contains a list of fields\nknown to SMDA. This class represents one such field.", "properties": { "identifier": { "examples": [ @@ -2115,7 +2064,8 @@ "title": "FieldOutline", "type": "object" }, - "FieldOutlineContent": { + "FieldOutlineData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for field outlines.", "properties": { "alias": { "anyOf": [ @@ -2210,11 +2160,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -2233,7 +2183,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -2279,7 +2228,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -2311,7 +2259,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -2330,7 +2277,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -2369,7 +2315,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -2395,21 +2340,22 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", "is_prediction", - "name", - "stratigraphic", "field_outline" ], - "title": "FieldOutlineContent", + "title": "FieldOutlineData", "type": "object" }, "FieldRegion": { @@ -2427,7 +2373,8 @@ "title": "FieldRegion", "type": "object" }, - "FieldRegionContent": { + "FieldRegionData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for field regions.", "properties": { "alias": { "anyOf": [ @@ -2522,11 +2469,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -2545,7 +2492,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -2591,7 +2537,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -2623,7 +2568,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -2642,7 +2586,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -2681,7 +2624,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -2707,21 +2649,22 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", "is_prediction", - "name", - "stratigraphic", "field_region" ], - "title": "FieldRegionContent", + "title": "FieldRegionData", "type": "object" }, "File": { @@ -2836,7 +2779,8 @@ "title": "FluidContact", "type": "object" }, - "FluidContactContent": { + "FluidContactData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for fluid contacts.", "properties": { "alias": { "anyOf": [ @@ -2931,11 +2875,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -2954,7 +2898,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -3000,7 +2943,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -3032,7 +2974,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -3051,7 +2992,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -3090,7 +3030,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -3116,21 +3055,22 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", "is_prediction", - "name", - "stratigraphic", "fluid_contact" ], - "title": "FluidContactContent", + "title": "FluidContactData", "type": "object" }, "FmuContext": { @@ -3236,7 +3176,8 @@ "title": "Iteration", "type": "object" }, - "KPProductContent": { + "KPProductData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for KP products.", "properties": { "alias": { "anyOf": [ @@ -3328,11 +3269,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -3351,7 +3292,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -3397,7 +3337,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -3429,7 +3368,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -3448,7 +3386,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -3487,7 +3424,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -3513,26 +3449,27 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "KPProductContent", + "title": "KPProductData", "type": "object" }, "Layer": { + "description": "Used to represent a layer, i.e. top or bottom, of a given stratigraphic\ninterval.", "properties": { "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -3546,7 +3483,6 @@ }, "stratigraphic": { "default": false, - "description": "True if data object represents an entity in the stratigraphic colum", "title": "Stratigraphic", "type": "boolean" } @@ -3569,7 +3505,8 @@ "title": "Layout", "type": "string" }, - "LiftCurvesContent": { + "LiftCurvesData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for lift curves.", "properties": { "alias": { "anyOf": [ @@ -3661,11 +3598,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -3684,7 +3621,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -3730,7 +3666,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -3762,7 +3697,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -3781,7 +3715,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -3820,7 +3753,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -3846,24 +3778,25 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "LiftCurvesContent", + "title": "LiftCurvesData", "type": "object" }, "Masterdata": { - "description": "The ``masterdata`` block contains information related to masterdata.\nCurrently, smda holds the masterdata.", + "description": "The ``masterdata`` block contains information related to masterdata.\nCurrently, SMDA holds the masterdata.", "properties": { "smda": { "$ref": "#/$defs/Smda" @@ -3915,7 +3848,8 @@ "title": "Model", "type": "object" }, - "NamedAreaContent": { + "NamedAreaData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for named areas.", "properties": { "alias": { "anyOf": [ @@ -4007,11 +3941,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -4030,7 +3964,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -4076,7 +4009,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -4108,7 +4040,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -4127,7 +4058,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -4166,7 +4096,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -4192,20 +4121,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "NamedAreaContent", + "title": "NamedAreaData", "type": "object" }, "ObjectMetadata": { @@ -4230,7 +4160,7 @@ "type": "string" }, "data": { - "$ref": "#/$defs/AnyContent" + "$ref": "#/$defs/AnyData" }, "display": { "$ref": "#/$defs/Display" @@ -4324,7 +4254,8 @@ "title": "OperatingSystem", "type": "object" }, - "PVTContent": { + "PVTData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for pvt data.", "properties": { "alias": { "anyOf": [ @@ -4416,11 +4347,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -4439,7 +4370,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -4485,7 +4415,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -4517,7 +4446,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -4536,7 +4464,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -4575,7 +4502,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -4601,20 +4527,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "PVTContent", + "title": "PVTData", "type": "object" }, "Parameters": { @@ -4638,7 +4565,8 @@ "title": "Parameters", "type": "object" }, - "ParametersContent": { + "ParametersData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for parameters.", "properties": { "alias": { "anyOf": [ @@ -4730,11 +4658,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -4753,7 +4681,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -4799,7 +4726,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -4831,7 +4757,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -4850,7 +4775,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -4889,7 +4813,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -4915,23 +4838,25 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "ParametersContent", + "title": "ParametersData", "type": "object" }, - "PinchoutContent": { + "PinchoutData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for pinchouts.", "properties": { "alias": { "anyOf": [ @@ -5023,11 +4948,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -5046,7 +4971,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -5092,7 +5016,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -5124,7 +5047,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -5143,7 +5065,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -5182,7 +5103,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -5208,20 +5128,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "PinchoutContent", + "title": "PinchoutData", "type": "object" }, "PointSpecification": { @@ -5274,7 +5195,8 @@ "title": "PolygonsSpecification", "type": "object" }, - "PropertyContent": { + "PropertyData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for property data.", "properties": { "alias": { "anyOf": [ @@ -5366,11 +5288,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -5389,7 +5311,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -5435,7 +5356,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -5467,7 +5387,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -5486,7 +5405,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -5525,7 +5443,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -5551,23 +5468,25 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "PropertyContent", + "title": "PropertyData", "type": "object" }, - "RFTContent": { + "RFTData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for rft data.", "properties": { "alias": { "anyOf": [ @@ -5659,11 +5578,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -5682,7 +5601,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -5728,7 +5646,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -5760,7 +5677,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -5779,7 +5695,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -5818,7 +5733,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -5844,20 +5758,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "RFTContent", + "title": "RFTData", "type": "object" }, "Realization": { @@ -5912,7 +5827,8 @@ "title": "Realization", "type": "object" }, - "RegionsContent": { + "RegionsData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for regions.", "properties": { "alias": { "anyOf": [ @@ -6004,11 +5920,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -6027,7 +5943,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -6073,7 +5988,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -6105,7 +6019,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -6124,7 +6037,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -6163,7 +6075,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -6189,23 +6100,25 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "RegionsContent", + "title": "RegionsData", "type": "object" }, - "RelpermContent": { + "RelpermData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for relperm.", "properties": { "alias": { "anyOf": [ @@ -6297,11 +6210,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -6320,7 +6233,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -6366,7 +6278,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -6398,7 +6309,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -6417,7 +6327,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -6456,7 +6365,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -6482,20 +6390,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "RelpermContent", + "title": "RelpermData", "type": "object" }, "Seismic": { @@ -6586,7 +6495,8 @@ "title": "Seismic", "type": "object" }, - "SeismicContent": { + "SeismicData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for seismics.", "properties": { "alias": { "anyOf": [ @@ -6678,11 +6588,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -6701,7 +6611,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -6750,7 +6659,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -6782,7 +6690,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -6801,7 +6708,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -6840,7 +6746,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -6866,25 +6771,26 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", "is_prediction", - "name", - "stratigraphic", "seismic" ], - "title": "SeismicContent", + "title": "SeismicData", "type": "object" }, "Smda": { - "description": "Block containing SMDA-related attributes.", + "description": "The ``masterdata.smda`` block contains SMDA-related attributes.", "properties": { "coordinate_system": { "$ref": "#/$defs/CoordinateSystem" @@ -6925,7 +6831,7 @@ "type": "object" }, "Ssdl": { - "description": "A block containing information related to SSDL. Note that this is kept due to\nlegacy.", + "description": "The ``access.ssdl`` block contains information related to SSDL.\nNote that this is kept due to legacy.", "properties": { "access_level": { "$ref": "#/$defs/Classification" @@ -6943,7 +6849,7 @@ "type": "object" }, "SsdlAccess": { - "description": "The ``access`` block contains information related to access control for\nthis data object, with legacy SSDL settings..", + "description": "The ``access`` block contains information related to access control for\nthis data object, with legacy SSDL settings.", "properties": { "asset": { "$ref": "#/$defs/Asset" @@ -6971,7 +6877,7 @@ "type": "object" }, "StratigraphicColumn": { - "description": "Reference to stratigraphic column known to SMDA.", + "description": "The ``masterdata.smda.stratigraphic_column`` block contains the\nstratigraphic column known to SMDA.", "properties": { "identifier": { "examples": [ @@ -6996,7 +6902,8 @@ "title": "StratigraphicColumn", "type": "object" }, - "SubcropContent": { + "SubcropData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for subcrops.", "properties": { "alias": { "anyOf": [ @@ -7088,11 +6995,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -7111,7 +7018,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -7157,7 +7063,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -7189,7 +7094,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -7208,7 +7112,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -7247,7 +7150,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -7273,20 +7175,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "SubcropContent", + "title": "SubcropData", "type": "object" }, "SurfaceSpecification": { @@ -7356,7 +7259,7 @@ "type": "object" }, "SystemInformation": { - "description": "The ```sysinfo`` block contains information about the system upon which these\ndata were exported from.", + "description": "The ``tracklog.sysinfo`` block contains information about the system upon which\nthese data were exported from.", "properties": { "fmu-dataio": { "anyOf": [ @@ -7429,7 +7332,8 @@ "title": "TableSpecification", "type": "object" }, - "ThicknessContent": { + "ThicknessData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for thickness.", "properties": { "alias": { "anyOf": [ @@ -7521,11 +7425,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -7544,7 +7448,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -7590,7 +7493,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -7622,7 +7524,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -7641,7 +7542,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -7680,7 +7580,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -7706,20 +7605,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "ThicknessContent", + "title": "ThicknessData", "type": "object" }, "Time": { @@ -7727,7 +7627,7 @@ "t0": { "anyOf": [ { - "$ref": "#/$defs/FMUTimeObject" + "$ref": "#/$defs/Timestamp" }, { "type": "null" @@ -7738,7 +7638,7 @@ "t1": { "anyOf": [ { - "$ref": "#/$defs/FMUTimeObject" + "$ref": "#/$defs/Timestamp" }, { "type": "null" @@ -7750,7 +7650,8 @@ "title": "Time", "type": "object" }, - "TimeContent": { + "TimeData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for time.", "properties": { "alias": { "anyOf": [ @@ -7842,11 +7743,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -7865,7 +7766,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -7911,7 +7811,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -7943,7 +7842,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -7962,7 +7860,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -8001,7 +7898,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -8027,23 +7923,25 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "TimeContent", + "title": "TimeData", "type": "object" }, - "TimeSeriesContent": { + "TimeSeriesData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for time series.", "properties": { "alias": { "anyOf": [ @@ -8135,11 +8033,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -8158,7 +8056,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -8204,7 +8101,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -8236,7 +8132,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -8255,7 +8150,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -8294,7 +8188,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -8320,20 +8213,61 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "TimeSeriesContent", + "title": "TimeSeriesData", + "type": "object" + }, + "Timestamp": { + "description": "Time stamp for data object.", + "properties": { + "label": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "examples": [ + "base", + "monitor", + "mylabel" + ], + "title": "Label" + }, + "value": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "examples": [ + "2020-10-28T14:28:02" + ], + "title": "Value" + } + }, + "title": "Timestamp", "type": "object" }, "TracklogEvent": { @@ -8396,7 +8330,8 @@ "title": "User", "type": "object" }, - "VelocityContent": { + "VelocityData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for velocities.", "properties": { "alias": { "anyOf": [ @@ -8488,11 +8423,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -8511,7 +8446,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -8557,7 +8491,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -8589,7 +8522,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -8608,7 +8540,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -8647,7 +8578,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -8673,20 +8603,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "VelocityContent", + "title": "VelocityData", "type": "object" }, "Version": { @@ -8703,7 +8634,8 @@ "title": "Version", "type": "object" }, - "VolumesContent": { + "VolumesData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for volumes.", "properties": { "alias": { "anyOf": [ @@ -8795,11 +8727,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -8818,7 +8750,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -8864,7 +8795,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -8896,7 +8826,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -8915,7 +8844,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -8954,7 +8882,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -8980,23 +8907,25 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "VolumesContent", + "title": "VolumesData", "type": "object" }, - "WellPicksContent": { + "WellPicksData": { + "description": "The ``data`` block contains information about the data contained in this object.\nThis class contains metadata for well picks.", "properties": { "alias": { "anyOf": [ @@ -9088,11 +9017,11 @@ "default": null }, "is_observation": { - "title": "Is observation flag", + "title": "Is Observation", "type": "boolean" }, "is_prediction": { - "title": "Is prediction flag", + "title": "Is Prediction", "type": "boolean" }, "layout": { @@ -9111,7 +9040,6 @@ ] }, "name": { - "description": "Name of the data object. If stratigraphic, match the entry in the stratigraphic column", "examples": [ "VIKING GP. Top" ], @@ -9157,7 +9085,6 @@ "title": "Spec" }, "stratigraphic": { - "description": "True if data object represents an entity in the stratigraphic column", "title": "Stratigraphic", "type": "boolean" }, @@ -9189,7 +9116,6 @@ } ], "default": null, - "description": "Column names in the table which can be used for indexing", "examples": [ [ "ZONE", @@ -9208,7 +9134,6 @@ } ], "default": null, - "description": "A semi-human readable tag for internal usage and uniqueness", "examples": [ "ds_extract_geogrid", "ds_post_strucmod" @@ -9247,7 +9172,6 @@ } ], "default": null, - "description": "Flag if undefined values are to be interpreted as zero", "title": "Undef Is Zero" }, "unit": { @@ -9273,20 +9197,21 @@ ], "default": null, "examples": [ - "depth" + "depth", + "time" ], "title": "Vertical Domain" } }, "required": [ "content", + "name", + "stratigraphic", "format", "is_observation", - "is_prediction", - "name", - "stratigraphic" + "is_prediction" ], - "title": "WellPicksContent", + "title": "WellPicksData", "type": "object" }, "Workflow": { diff --git a/src/fmu/dataio/datastructure/_internal/internal.py b/src/fmu/dataio/datastructure/_internal/internal.py index 2e781e9dd..da11946fa 100644 --- a/src/fmu/dataio/datastructure/_internal/internal.py +++ b/src/fmu/dataio/datastructure/_internal/internal.py @@ -117,7 +117,7 @@ class Context(BaseModel, use_enum_values=True): # Remove the two models below when content is required as input. -class UnsetContent(meta.content.Content): +class UnsetContent(meta.content.Data): content: Literal["unset"] # type: ignore @model_validator(mode="after") @@ -133,7 +133,7 @@ def _deprecation_warning(self) -> UnsetContent: return self -class UnsetAnyContent(meta.content.AnyContent): +class UnsetAnyContent(meta.content.AnyData): root: UnsetContent # type: ignore @@ -160,7 +160,7 @@ class DataClassMeta(JsonSchemaMetadata): fmu: Optional[FMUClassMetaData] masterdata: Optional[meta.Masterdata] access: Optional[meta.SsdlAccess] - data: Union[meta.content.AnyContent, UnsetAnyContent] + data: Union[meta.content.AnyData, UnsetAnyContent] file: meta.File display: meta.Display tracklog: List[meta.TracklogEvent] diff --git a/src/fmu/dataio/datastructure/meta/content.py b/src/fmu/dataio/datastructure/meta/content.py index 1bdfd9f56..d426b2fdc 100644 --- a/src/fmu/dataio/datastructure/meta/content.py +++ b/src/fmu/dataio/datastructure/meta/content.py @@ -19,7 +19,7 @@ from . import enums, specification -class FMUTimeObject(BaseModel): +class Timestamp(BaseModel): """ Time stamp for data object. """ @@ -35,8 +35,8 @@ class FMUTimeObject(BaseModel): class Time(BaseModel): - t0: Optional[FMUTimeObject] = None - t1: Optional[FMUTimeObject] = None + t0: Optional[Timestamp] = None + t1: Optional[Timestamp] = None class Seismic(BaseModel): @@ -121,23 +121,20 @@ class GridModel(BaseModel): class Layer(BaseModel): - name: str = Field( - description=( - "Name of the data object. If stratigraphic, " - "match the entry in the stratigraphic column" - ), - examples=["VIKING GP. Top"], - ) - offset: float = Field( - allow_inf_nan=False, - default=0, - ) - stratigraphic: bool = Field( - default=False, - description=( - "True if data object represents an entity in the stratigraphic colum" - ), - ) + """Used to represent a layer, i.e. top or bottom, of a given stratigraphic + interval.""" + + name: str = Field(examples=["VIKING GP. Top"]) + """This is the identifying name of this data object. For surfaces, this is typically + the horizon name or similar. Shall be compliant with the stratigraphic column if + applicable.""" + + offset: float = Field(allow_inf_nan=False, default=0) + """If a specific horizon is represented with an offset, e.g. + "2 m below Top Volantis".""" + + stratigraphic: bool = Field(default=False) + """True if this is defined in the stratigraphic column.""" class BoundingBox2D(BaseModel): @@ -180,228 +177,435 @@ class BoundingBox3D(BoundingBox2D): ) -class Content(BaseModel): - content: enums.ContentEnum = Field(description="The contents of this data object") +class Data(BaseModel): + """ + The ``data`` block contains information about the data contained in this object. + This class is derived from for more specific content types that are discriminated + upon by the ``data.content`` field. + """ + + content: enums.ContentEnum + """The type of content these data represent.""" + + name: str = Field(examples=["VIKING GP. Top"]) + """This is the identifying name of this data object. For surfaces, this is typically + the horizon name or similar. Shall be compliant with the stratigraphic column if + applicable. + """ alias: Optional[List[str]] = Field(default=None) + """Other known-as names for ``data.name``. Typically names used within specific + software, e.g. RMS and others.""" + + tagname: Optional[str] = Field( + default=None, + examples=["ds_extract_geogrid", "ds_post_strucmod"], + ) + """An identifier for this/these data object(s). Similar to the second part of the + generated filename in disk-oriented FMU data standard. + + You should avoid using tagname as metadata in queries since its value is free-form. + The intention with tagname is mostly backward compatibility with legacy scratch-file + naming rules in FMU. + """ + + stratigraphic_alias: Optional[List[str]] = Field(default=None) + """A list of strings representing stratigraphic aliases for this ``data.name``. E.g. + the top of the uppermost member of a formation will be alias to the top of the + formation.""" + + stratigraphic: bool + """True if this is defined in the stratigraphic column.""" + + description: Optional[List[str]] = Field(default=None) + """A list of strings, freetext description of this data, if applicable.""" - # only relevant for grid properties geometry: Optional[Geometry] = Field(default=None) + """The geometry of the object, i.e. the grid that an object representing a grid + property is derivative of. See :class:`Geometry`.""" - # Only valid for coordinate based meta. bbox: Optional[Union[BoundingBox3D, BoundingBox2D]] = Field(default=None) + """A block containing the bounding box for this data. Only applicable if the + object is coordinate-based. See :class:`BoundingBox3D` and :class:`BoudingBox2D`.""" + + format: str = Field(examples=["irap_binary"]) + """A reference to a known file format.""" - description: Optional[List[str]] = Field( - default=None, - ) - format: str = Field( - examples=["irap_binary"], - ) grid_model: Optional[GridModel] = Field(default=None) - is_observation: bool = Field( - title="Is observation flag", - ) - is_prediction: bool = Field( - title="Is prediction flag", - ) + """A block containing information pertaining to grid model content. + See :class:`GridModel`. + .. warning:: This has currently no function and is likely to be deprecated.""" + + is_observation: bool + """True if this is an observation.""" + + is_prediction: bool + """True if this is a prediction.""" + layout: Optional[enums.Layout] = Field( default=None, examples=["regular", "cornerpoint"], ) - name: str = Field( - description=( - "Name of the data object. If stratigraphic, " - "match the entry in the stratigraphic column" - ), - examples=["VIKING GP. Top"], - ) - offset: float = Field( - default=0.0, - allow_inf_nan=False, - ) + """A reference to the layout of the data object. See :class:`enums.Layout`.""" + + offset: float = Field(default=0.0, allow_inf_nan=False) + """If a specific horizon is represented with an offset, e.g. + "2 m below Top Volantis".""" + spec: Optional[specification.AnySpecification] = Field(default=None) - stratigraphic_alias: Optional[List[str]] = Field(default=None) - stratigraphic: bool = Field( - description=( - "True if data object represents an entity in the stratigraphic column" - ), - ) - tagname: Optional[str] = Field( - default=None, - description="A semi-human readable tag for internal usage and uniqueness", - examples=["ds_extract_geogrid", "ds_post_strucmod"], - ) + """A block containing the specs for this object, if applicable. + See :class:`specification.AnySpecification`.""" + time: Optional[Time] = Field(default=None) + """A block containing lists of objects describing timestamp information for this + data object, if applicable, like Flow simulator restart dates, or dates for seismic + 4D surveys. See :class:`Time`. + .. note:: ``data.time`` items can currently hold a maximum of two values.""" + + undef_is_zero: Optional[bool] = Field(default=None) + """Flag if undefined values are to be interpreted as zero""" + + unit: str = Field(default="", examples=["m"]) + """A reference to a known unit.""" - undef_is_zero: Optional[bool] = Field( - default=None, - description="Flag if undefined values are to be interpreted as zero", - ) - unit: str = Field( - default="", - examples=["m"], - ) vertical_domain: Optional[Literal["depth", "time"]] = Field( default=None, - examples=["depth"], + examples=["depth", "time"], ) - # Only valid for contents with class table + """A reference to a known vertical domain.""" + table_index: Optional[List[str]] = Field( default=None, - description="Column names in the table which can be used for indexing", examples=[["ZONE", "REGION"]], ) + """Column names in the table which can be used for indexing. Only applicable if the + data object is a table.""" - # Both must be set, or none. base: Optional[Layer] = None + """If the data represent an interval, this field can be used to represent its base. + See :class:`Layer`. + .. note:: ``top`` is required to use with this.""" + top: Optional[Layer] = None + """If the data represent an interval, this field can be used to represent its top. + See :class:`Layer`. + .. note:: ``base`` is required to use with this.""" + +class DepthData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for depth type. + """ -class DepthContent(Content): content: Literal[enums.ContentEnum.depth] + """The type of content these data represent.""" + depth_reference: Literal["msl", "sb", "rkb"] + """A reference to a known depth reference.""" + +class FaciesThicknessData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for facies thickness. + """ -class FaciesThicknessContent(Content): content: Literal[enums.ContentEnum.facies_thickness] + """The type of content these data represent.""" -class FaultLinesContent(Content): +class FaultLinesData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for fault lines. + """ + content: Literal[enums.ContentEnum.fault_lines] + """The type of content these data represent.""" -class FaultPropertiesContent(Content): +class FaultPropertiesData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for fault properties. + """ + content: Literal[enums.ContentEnum.fault_properties] + """The type of content these data represent.""" + +class FieldOutlineData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for field outlines. + """ -class FieldOutlineContent(Content): content: Literal[enums.ContentEnum.field_outline] - field_outline: FieldOutline = Field( - description="Conditional field", - ) + """The type of content these data represent.""" + + field_outline: FieldOutline + """A block describing a field outline. See :class:`FieldOutline`.""" + +class FieldRegionData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for field regions. + """ -class FieldRegionContent(Content): content: Literal[enums.ContentEnum.field_region] - field_region: FieldRegion = Field( - description="Conditional field", - ) + """The type of content these data represent.""" + + field_region: FieldRegion + """A block describing a field region. See :class:`FieldRegion`.""" + +class FluidContactData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for fluid contacts. + """ -class FluidContactContent(Content): content: Literal[enums.ContentEnum.fluid_contact] - fluid_contact: FluidContact = Field( - description="Conditional field", - ) + """The type of content these data represent.""" + + fluid_contact: FluidContact + """A block describing a fluid contact. See :class:`FluidContact`.""" + +class KPProductData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for KP products. + """ -class KPProductContent(Content): content: Literal[enums.ContentEnum.khproduct] + """The type of content these data represent.""" -class LiftCurvesContent(Content): +class LiftCurvesData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for lift curves. + """ + content: Literal[enums.ContentEnum.lift_curves] + """The type of content these data represent.""" -class NamedAreaContent(Content): +class NamedAreaData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for named areas. + """ + content: Literal[enums.ContentEnum.named_area] + """The type of content these data represent.""" + +class ParametersData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for parameters. + """ -class ParametersContent(Content): content: Literal[enums.ContentEnum.parameters] + """The type of content these data represent.""" -class PinchoutContent(Content): +class PinchoutData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for pinchouts. + """ + content: Literal[enums.ContentEnum.pinchout] + """The type of content these data represent.""" + +class PropertyData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for property data. + """ -class PropertyContent(Content): content: Literal[enums.ContentEnum.property] + """The type of content these data represent.""" + +class PVTData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for pvt data. + """ -class PVTContent(Content): content: Literal[enums.ContentEnum.pvt] + """The type of content these data represent.""" -class RegionsContent(Content): +class RegionsData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for regions. + """ + content: Literal[enums.ContentEnum.regions] + """The type of content these data represent.""" + +class RelpermData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for relperm. + """ -class RelpermContent(Content): content: Literal[enums.ContentEnum.relperm] + """The type of content these data represent.""" + +class RFTData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for rft data. + """ -class RFTContent(Content): content: Literal[enums.ContentEnum.rft] + """The type of content these data represent.""" -class SeismicContent(Content): +class SeismicData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for seismics. + """ + content: Literal[enums.ContentEnum.seismic] - seismic: Seismic = Field( - description="Conditional field", - ) + """The type of content these data represent.""" + + seismic: Seismic + """A block describing seismic data. See :class:`Seismic`.""" -class SubcropContent(Content): +class SubcropData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for subcrops. + """ + content: Literal[enums.ContentEnum.subcrop] + """The type of content these data represent.""" -class ThicknessContent(Content): +class ThicknessData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for thickness. + """ + content: Literal[enums.ContentEnum.thickness] + """The type of content these data represent.""" + +class TimeData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for time. + """ -class TimeContent(Content): content: Literal[enums.ContentEnum.time] + """The type of content these data represent.""" -class TimeSeriesContent(Content): +class TimeSeriesData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for time series. + """ + content: Literal[enums.ContentEnum.timeseries] + """The type of content these data represent.""" -class TransmissibilitiesContent(Content): +class TransmissibilitiesData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for transmissibilities. + """ + content: Literal[enums.ContentEnum.transmissibilities] + """The type of content these data represent.""" + +class VelocityData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for velocities. + """ -class VelocityContent(Content): content: Literal[enums.ContentEnum.velocity] + """The type of content these data represent.""" -class VolumesContent(Content): +class VolumesData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for volumes. + """ + content: Literal[enums.ContentEnum.volumes] + """The type of content these data represent.""" -class WellPicksContent(Content): +class WellPicksData(Data): + """ + The ``data`` block contains information about the data contained in this object. + This class contains metadata for well picks. + """ + content: Literal[enums.ContentEnum.wellpicks] + """The type of content these data represent.""" + +class AnyData(RootModel): + """ + The ``data`` block contains information about the data contained in this object. + This class, ``AnyData``, is a root model that allows for data with more specific + content types to be placed within it. It can contain the metadata for any data + object. + + See :class:`Data` to get an overview of all of the subfields used in the ``data`` + block. Between the different content types, only the ``data.content`` field will + differ. This field indicates the type of content the data are representing. + """ -class AnyContent(RootModel): root: Annotated[ Union[ - DepthContent, - FaciesThicknessContent, - FaultLinesContent, - FieldOutlineContent, - FieldRegionContent, - FluidContactContent, - KPProductContent, - LiftCurvesContent, - NamedAreaContent, - ParametersContent, - PinchoutContent, - PropertyContent, - FaultPropertiesContent, - PVTContent, - RegionsContent, - RelpermContent, - RFTContent, - SeismicContent, - SubcropContent, - ThicknessContent, - TimeContent, - TimeSeriesContent, - VelocityContent, - VolumesContent, - WellPicksContent, + DepthData, + FaciesThicknessData, + FaultLinesData, + FieldOutlineData, + FieldRegionData, + FluidContactData, + KPProductData, + LiftCurvesData, + NamedAreaData, + ParametersData, + PinchoutData, + PropertyData, + FaultPropertiesData, + PVTData, + RegionsData, + RelpermData, + RFTData, + SeismicData, + SubcropData, + ThicknessData, + TimeData, + TimeSeriesData, + VelocityData, + VolumesData, + WellPicksData, ], Field(discriminator="content"), ] diff --git a/src/fmu/dataio/datastructure/meta/meta.py b/src/fmu/dataio/datastructure/meta/meta.py index 6898f35c1..dcd5ac446 100644 --- a/src/fmu/dataio/datastructure/meta/meta.py +++ b/src/fmu/dataio/datastructure/meta/meta.py @@ -23,7 +23,8 @@ class Asset(BaseModel): - """A block containing information about the owner asset of these data.""" + """The ``access.asset`` block contains information about the owner asset of + these data.""" name: str = Field(examples=["Drogon"]) """A string referring to a known asset name.""" @@ -31,8 +32,8 @@ class Asset(BaseModel): class Ssdl(BaseModel): """ - A block containing information related to SSDL. Note that this is kept due to - legacy. + The ``access.ssdl`` block contains information related to SSDL. + Note that this is kept due to legacy. """ access_level: enums.Classification @@ -59,7 +60,7 @@ class Access(BaseModel): class SsdlAccess(Access): """ The ``access`` block contains information related to access control for - this data object, with legacy SSDL settings.. + this data object, with legacy SSDL settings. """ ssdl: Ssdl @@ -159,7 +160,7 @@ class User(BaseModel): """The ``user`` block holds information about the user.""" id: str = Field(examples=["peesv", "jriv"]) - """A user identity reference..""" + """A user identity reference.""" class Case(BaseModel): @@ -262,7 +263,8 @@ class Realization(BaseModel): class CountryItem(BaseModel): - """Reference to a country known to SMDA.""" + """The ``smda.masterdata.country`` block contains a list of countries known + to SMDA. This class represents one such country.""" identifier: str = Field(examples=["Norway"]) """Identifier known to SMDA.""" @@ -272,7 +274,8 @@ class CountryItem(BaseModel): class DiscoveryItem(BaseModel): - """Reference to a discovery known to SMDA.""" + """The ``masterdata.smda.discovery`` block contains a list of + discoveries known to SMDA. This class represents one such discovery.""" short_identifier: str = Field(examples=["SomeDiscovery"]) """Identifier known to SMDA.""" @@ -282,7 +285,8 @@ class DiscoveryItem(BaseModel): class FieldItem(BaseModel): - """Reference to a field known to SMDA.""" + """The ``masterdata.smda.field`` block contains a list of fields + known to SMDA. This class represents one such field.""" identifier: str = Field(examples=["OseFax"]) """Identifier known to SMDA.""" @@ -292,7 +296,8 @@ class FieldItem(BaseModel): class CoordinateSystem(BaseModel): - """Reference to coordinate system known to SMDA.""" + """The ``masterdata.smda.coordinate_system`` block contains the coordinate + system known to SMDA.""" identifier: str = Field(examples=["ST_WGS84_UTM37N_P32637"]) """Identifier known to SMDA.""" @@ -302,7 +307,8 @@ class CoordinateSystem(BaseModel): class StratigraphicColumn(BaseModel): - """Reference to stratigraphic column known to SMDA.""" + """The ``masterdata.smda.stratigraphic_column`` block contains the + stratigraphic column known to SMDA.""" identifier: str = Field(examples=["DROGON_2020"]) """Identifier known to SMDA.""" @@ -312,7 +318,7 @@ class StratigraphicColumn(BaseModel): class Smda(BaseModel): - """Block containing SMDA-related attributes.""" + """The ``masterdata.smda`` block contains SMDA-related attributes.""" coordinate_system: CoordinateSystem """Reference to coordinate system known to SMDA. @@ -337,12 +343,11 @@ class Smda(BaseModel): class Masterdata(BaseModel): """The ``masterdata`` block contains information related to masterdata. - Currently, smda holds the masterdata. + Currently, SMDA holds the masterdata. """ smda: Smda - """Block containing SMDA-related attributes. - See :class:`Smda`.""" + """Block containing SMDA-related attributes. See :class:`Smda`.""" class Version(BaseModel): @@ -379,8 +384,8 @@ class OperatingSystem(BaseModel): class SystemInformation(BaseModel): """ - The ```sysinfo`` block contains information about the system upon which these - data were exported from. + The ``tracklog.sysinfo`` block contains information about the system upon which + these data were exported from. """ fmu_dataio: Optional[Version] = Field( @@ -601,9 +606,9 @@ class ObjectMetadata(MetadataBase): """The ``access`` block contains information related to access control for this data object. See :class:`SsdlAccess`.""" - data: content.AnyContent - """The ``data`` block contains information about the data contains in this - object. See :class:`content.AnyContent`.""" + data: content.AnyData + """The ``data`` block contains information about the data contained in this + object. See :class:`content.AnyData`.""" file: File """ The ``file`` block contains references to this data object as a file on a disk. @@ -664,7 +669,7 @@ def _remove_discriminator_mapping(obj: Dict) -> Dict: failures in applications like `sumo-core`. """ del obj["discriminator"]["mapping"] - del obj["$defs"]["AnyContent"]["discriminator"]["mapping"] + del obj["$defs"]["AnyData"]["discriminator"]["mapping"] return obj diff --git a/src/fmu/dataio/providers/objectdata/_base.py b/src/fmu/dataio/providers/objectdata/_base.py index a7c00fa96..98259856e 100644 --- a/src/fmu/dataio/providers/objectdata/_base.py +++ b/src/fmu/dataio/providers/objectdata/_base.py @@ -12,9 +12,9 @@ from fmu.dataio._utils import generate_description from fmu.dataio.datastructure._internal.internal import AllowedContent, UnsetAnyContent from fmu.dataio.datastructure.meta.content import ( - AnyContent, - FMUTimeObject, + AnyData, Time, + Timestamp, ) from fmu.dataio.datastructure.meta.enums import ContentEnum from fmu.dataio.providers._base import Provider @@ -65,7 +65,7 @@ class ObjectDataProvider(Provider): # result properties; the most important is metadata which IS the 'data' part in # the resulting metadata. But other variables needed later are also given # as instance properties in addition (for simplicity in other classes/functions) - _metadata: AnyContent | UnsetAnyContent | None = field(default=None) + _metadata: AnyData | UnsetAnyContent | None = field(default=None) name: str = field(default="") time0: datetime | None = field(default=None) time1: datetime | None = field(default=None) @@ -120,7 +120,7 @@ def __post_init__(self) -> None: self._metadata = ( UnsetAnyContent.model_validate(metadata) if metadata["content"] == "unset" - else AnyContent.model_validate(metadata) + else AnyData.model_validate(metadata) ) logger.info("Derive all metadata for data object... DONE") @@ -166,7 +166,7 @@ def get_bbox(self) -> BoundingBox2D | BoundingBox3D | None: def get_spec(self) -> AnySpecification | None: raise NotImplementedError - def get_metadata(self) -> AnyContent | UnsetAnyContent: + def get_metadata(self) -> AnyData | UnsetAnyContent: assert self._metadata is not None return self._metadata @@ -231,14 +231,14 @@ def _get_named_stratigraphy(self) -> NamedStratigraphy: return rv - def _get_fmu_time_object(self, timedata_item: list[str]) -> FMUTimeObject: + def _get_fmu_time_object(self, timedata_item: list[str]) -> Timestamp: """ - Returns a FMUTimeObject from a timedata item on list + Returns a Timestamp from a timedata item on list format: ["20200101", "monitor"] where the first item is a date and the last item is an optional label """ value, *label = timedata_item - return FMUTimeObject( + return Timestamp( value=datetime.strptime(str(value), "%Y%m%d"), label=label[0] if label else None, )