# Updating to a new version

This page lists the issues that may appear when updating to a new version of Octopus and how to solve them.

#### Octopus 12

##### Variables
• The variables TDIonicTimeScale and TDTimeStep are now disconected variables. TDTimeStep specifies the electronic time step, and the ionic timestep is given by TDTimeStep*TDIonicTimeScale

#### Octopus 11

##### Variables
• The syntax of the Output and TDOutput variables has been changed for greater flexibility.
• The LSize variable cannot be used anymore for periodic systems. Instead, the LatticeParameters variable is mandatory for periodic systems.
##### Execution
• Runs that do not use the GPU will now by default fail if the code was compiled with GPU support. It is possible to override this behavior using the AllowCPUonly input variable.
##### Installation
• This version supports libxc 5.1. Support for libxc 3 and libxc 5.0 has been removed. Note that if you are using libxc 5.1, the library needs to be compiled with support for third order derivatives in order for Octopus to be able to perform response calculations using the Casida or the Sternheimer methods.

#### Octopus 10

##### Execution
• The default convergence criteria have been changed:  ConvRelDens = 1e-6  and EigensolverTolerance = 1e-7 .
• The SCF loop is terminated only if the convergence criteria are fulfilled twice in subsequent iterations.

#### Octopus 8

##### Variables
• The Species block can now take a set option to choose which pseudopotential set to use.
• The default for XCFunctional is now taken, when possible, from the pseudopotentials.

#### Octopus 7

##### Variables
• The UnitsInput and Units variables have been removed. Input file values are now always in atomic units, unless explicitly stated otherwise in the corresponding variable description. A few constants are available to help using eV/Angstrom units in the input file, such that one can write  Spacing = 0.25*angstrom .
• Now by default the code assumes XYZ files to be in Angstrom. This can be changed by using the UnitsXYZFiles variable.

#### Octopus 6

##### Installation
• A compiler supporting Fortran 2003 iso_c_binding is now required.
• The executable is always called octopus , no longer octopus_mpi when compiled in parallel.
• This version supports libxc 3.0.0. Although it is still possible to use libxc 2.0.0 or any of the 2.x versions, updating to libxc 3.0.0 is highly recommended.
##### Variables
• There is a new format for the Species block and the names of the species options have been revised.
• The variable OutputHow has been renamed to OutputFormat.
• The variable ParallelizationStrategy and ParallelizationGroupRanks have been replaced with ParDomains, ParStates, ParKPoints, and ParOther.
##### Utilities

The oct-rotatory_strength utility has been removed. This utility is replaced by a new PropagationSpectrumType in oct-propagation_spectrum .

#### Octopus 5.0

##### Restart files

This version breaks the backwards compatibility of the restart files. Nevertheless, it is not too difficult to update the restart files generated with a previous version. Here is a summary of the changes and how to update the files:

• Casida restart data now goes to a directory restart/casida , and a file kernel or kernel_triplet . One then needs to create the directory and rename the files.
• The format of the occs file changed with the addition of an extra field for the imaginary part of the eigenvalues. To update the file one needs to add a column of zeros by hand after the column of eigenvalues.
• The line starting with fft_alpha was removed from the mesh file.

Note that the mesh partition restart is also not compatible any more. In this case the partition needs to be recalculated, which is usually not a problem.

##### Variables

Some variables changed name or changed format. If an obsolete variable is found, Octopus will stop and will tell you the variable that replaces it.

The datasets feature was removed. The input file of a calculation using datasets needs to be split into several independent input files.

#### Octopus 4.1

##### Installation

This version requires libxc 2.0.0 or higher, so it might be necessary to update libxc before installing Octopus.

##### Restart files

Casida restart file is incompatible with that generated by version 4.0. The new format avoids problems with restarting with a different number of states.

#### Octopus 4.0

##### Installation
• Libxc is now an independent library. To compile Octopus 4.0.0 you will have to compile libxc 1.1.0 first. These are the short instructions to compile it (we assume that libxc will be installed in $DIR, this can be the same directory where Octopus is going to be installed):  tar -xvzf libxc-1.1.0.tar.gz cd libxc-1.1.0 ./configure --prefix=$DIR
make
make install

Now, when configuring Octopus pass the option –with-libxc-prefix=\$DIR.

• The configure option for the location of netcdf and etsf_io are –with-netcdf-prefix and –with-etsf-io-prefix.

##### Utilities
• oct-cross_section was renamed to oct-propagation_spectrum .
• oct-broad was renamed to oct-casida_spectrum .
• The format for oct-help has changed. Now -s is used instead of search , -p instead of show , and -l instead of list .

#### Octopus 3.0

##### Input variables

Some variables changed name or changed format. If an obsolete variable is found, Octopus will stop and will tell you the variable that replaces it.


Units = "eVA"


should be replaced by



Units = eV_Angstrom


The code will stop if the old format is encountered.

• XFunctional and CFunctional were replaced by XCFunctional, for example

XFunctional = lda_x
CFunctional = lda_c_vwn


must be replaced with


XCFunctional = lda_x + lda_c_vwn

##### Output directories

Some directories in Octopus output were renamed, restart files now are stored under restart/ instead of tmp/ . Files previously found under status/ are now located in exec/ .

##### Restart file format

Octopus writes restart files in a binary format, this format has been updated and improved. As a result Octopus is no longer able to restart automatically the calculation of a run performed with older versions.

##### Recovering old restart files

If you really need to recover your old restart files, first you have to generate NetCDF restart files with your old version of Octopus. Then you will have to rename the tmp/ directory to restart/ and remove the restart_ prefix from its subdirectories, for example tmp/restart_gs/ now should be called restart/gs/ .

Now you can run Octopus 3.0 and it will find your restart information.