7.59. Property File

One of the files that ORCA produces, during a calculation, is the property file. The name of the file is basename.property.txt, where basename is the basename of the input file. As we will see later ORCA can also produce the property file with the extension .json.

Property file has mainly two usages in ORCA. The first usage is to work as basis for the Compound scripting language. Compound reads all its information concerning properties through the property file and not through parsing of the ORCA output. The second usage of property file is to make it easier for other programs, or potential GUIs, to create interfaces with ORCA.

The advantage of Property file compared to the normal ORCA output is that it’s syntax is well defined and so it is easier to parse it.

7.59.1. txt format

After any ORCA calculation a property file is created with the extension .property.txt. The file is a text file and one can read it and edit it with any available text editor. Below we will analyze the syntax of the file.

The file always starts with the following three lines:

*************************************************
******************* ORCA 6.0.x ******************
*************************************************

where, obviously the version of ORCA changes.

Then, the file consists of a list of properties. Each property starts with the symbol “$” followed by the name of the property and ends with the symbol “$” followed by “End”.

For example:

$SCF_Energy
   &GeometryIndex 1
   &ListStatus       OUT
   &SCF_ENERGY [&Type "Double"]      -1.1271129230772137e+00
$End

Each property consists of components. Each component starts with the symbol “&” and has not ending symbol.

For example:

   &SCF_ENERGY [&Type "Double"]      -1.1271129230772137e+00

Before proceeding to details about the property specific components, there are two components that exist in every property and always in the same order.

The first one is the GeometryIndex component. The syntax for this is quite simple, the normal “&” component start symbol, followed by “GeometryIndex” and then an integer.

For example:

&GeometryIndex 1

This is an easy way to know the geometry that the current property belongs to.

Then for all properties follows the ListStatus component. The syntax for this component is again the “&” component start symbol, followed by “ListStatus” follow by one the following 5 options:

  1. IN” when the property is inside a list properties

  2. OUT” when the property is not inside a list of properties

  3. FIRST” when the property is the first in a list of properties

  4. LAST” when the property is the last in a list of properties

  5. UNIQUE” when the property is the only one in a list of properties

For example:

 &ListStatus       OUT

Then for each property follows a series of components. Each component has the following syntax:

First the start of component symbol “&”.

Then follows the name of the component.

Then a bracket opens with various bracket information about the component. For details on the syntax of the bracket information please check Bracket information.

After the bracket there are different options.

If the type is a “Double” or an “Integer” then a number of the appropriate type is expected.

For example:

&NATOMS [&Type "Integer"] 2

If the type is a “String” then a string is expected starting with quotation marks.

For example:

&PROGNAME [&Type "String"] "ProgMDCI"

Finally if the type is a kind or Array then, unless there is a comment, that is enclosed inside quotation marks, an array is written starting from the next line. We should note here that after the column header there is an empty line. In addition there is always a first column with an integer giving just the row of the array.

For example:

   &DIPOLETOTAL [&Type "ArrayOfDoubles", &Dim (3,1)] "Total"
                                                         0

0                                      0.0000000000000000e+00
1                                      0.0000000000000000e+00
2                                     -5.1833121128553384e-12

7.59.1.1. Bracket information

Bracket information is a list of information separated with ‘,’. The first and most important bracket component is the “Type”. Type can be one of the following:

  1. “Double”

  2. “Integer

  3. “Boolean”

  4. “String”

  5. “ArrayOfDoubles”

  6. “ArrayOfIntegers”

  7. “ArrayOfBooleans”

  8. “MixedMatrix”

  9. “Coordinates”

For example:

&NATOMS [&Type "Integer"] 2

Then in case the “Type” is a kind of array the bracket must contain the dimension of the array, using the “Dim” component.

For example:

&ATNO [&Type "ArrayOfIntegers", &Dim (2,1)]

7.59.2. JSON format

The property file can be also produced in a JSON format. Internally this happens through transformation of the txt format to JSON format. There are two ways to create a JSON property file.

The first way is through the normal ORCA input using the WriteJSONPropertyFile command.

%Method
  WriteJSONPropertyfile True
End

this will create a basename.property.txt and in addition a basename.property.json file.

The second way is through the ORCA_2JSON command. For this one first has to run a normal ORCA input, that will create a basename.property.txt file, and then use the command:

orca_2json basename property

where basename is the name of the ORCA input.

Property File in JSON format is readable by any JSON library.