(file-formats)= # File formats SHOP currently supports three different text file formats for reading in input data and writing output data. The [ASCII format](ascii-data) is the oldest format supported by SHOP, and is based on plain text files. SHOP also supports models based on [YAML](yaml-standard) and [JSON](json-standard) files, which are widely used structured file formats that are simple to parse in Python and other programming languages. YAML and JSON are open source standards which are not developed by SINTEF, see [](https://yaml.org/) and [](https://www.json.org/), but the way of defining the SHOP input and output data in YAML and JSON is maintained as part of the SHOP source code. JSON is usually faster to read and write for large SHOP models with long time series, while YAML is usually more human-readable and well suited for static topology data. The ASCII file format is kept for legacy compatibility and as an alternative that does not depend on third-party standards for reading and writing. SHOP also supports full serialization to a binary file format through the `SHOP_ONLINE_OPTIMIZATION` license, which is described in the [serialization example](serialize-example). As this is a binary format only readable by SHOP through the [cereal C++ library](https://uscilab.github.io/cereal/) library, no documentation of the format is provided. SHOP is usually coupled to a long-term model through end water values, and is therefore able to parse different [cut files](cut-standard) that are generated by SINTEF's [Prodrisk](https://prodrisk.sintef.energy) and [EOPS](https://ltm.sintef.energy) models.