(datamodel)=

# Data Model

Modules in the `data_model` sections provide functionality for reading, writing, and validation of data.
Data products ingested or produced by simtools generally follows the CTAO data model.

(datareader)=

## data_reader

```{eval-rst}
.. automodule:: data_model.data_reader
   :members:
```

(format_checkers)=

## format_checkers

```{eval-rst}
.. automodule:: data_model.format_checkers
   :members:
```

(datamodelmetadatacollector)=

## metadata_collector

```{eval-rst}
.. automodule:: data_model.metadata_collector
   :members:
```

(datamodelmetadatamodel)=

## metadata_model

```{eval-rst}
.. automodule:: data_model.metadata_model
   :members:
```

(datamodelmodeldatawriter)=

## model_data_writer

```{eval-rst}
.. automodule:: data_model.model_data_writer
   :members:
```

(datamodelschema)=

## schema

```{eval-rst}
.. automodule:: data_model.schema
   :members:
```

(datamodelvalidatedata)=

## validate_data

```{eval-rst}
.. automodule:: data_model.validate_data
   :members:
```
