%! cmocorr.tex $ this file belongs to the Molcas repository $*/
\section{\program{cmocorr}}
\label{UG:sec:cmocorr}
\index{Program!Cmocorr@\program{Cmocorr}}\index{Cmocorr@\program{Cmocorr}}
%-------------------------------------------------------------------------------
\subsection{Description}
\label{UG:sec:cmocorr_description}
%%%<MODULE NAME="CMOCORR">
%%Description:
%%%<HELP>
%%+The CMOCORR program compares the orbital spaces of two orbitals files.
%%%</HELP>
The \program{CMOCORR} is a small utility that is used to compare
orbital spaces for two orbital vector files. This is useful for checking
that a calculation has maintained the orbital spaces intended by the user.
%-------------------------------------------------------------------------------
\subsection{Dependencies}
\label{UG:sec:cmocorr_dependencies}
The \program{CMOCORR} program requires two orbitals files as input
generated by any of the modules that produces orbitals.
%-------------------------------------------------------------------------------
\subsection{Files}
\label{UG:sec:cmocorr_files}
\index{Files!CMOCORR}\index{CMOCORR!Files}
%...............................................................................
\subsubsection{Input files}
Two orbitals files with the names \file{CMOREF} and \file{CMOCHK}
are needed by the program, and it is the responsability of the
user to make the proper links to these files, no links are
done automatically.
%...............................................................................
\subsubsection{Output files}
There are no output files.
%-------------------------------------------------------------------------------
\subsection{Input}
\label{UG:sec:cmocorr_input}
\index{Input!CMOCORR}\index{CMOCORR!Input}
Below follows a description of the input to \program{CMOCORR}
The input for each module is preceded by its name like:
\begin{inputlisting}
 &CMOCORR
\end{inputlisting}
Argument(s) to a keyword, either individual or composed by several entries, 
can be placed in a separated line or in the same line separated by a semicolon.
If in the same line, the first argument requires an equal sign after the
name of the keyword. Note that all character in a keyword is necessary,
not only the first four.
\begin{keywordlist}
%---
\item[DoMetric]
Compare the metric of the two files.
If the files correspond to different geometries the metric will be different.
%%%<GROUP MODULE="CMOCORR" NAME="COMPARE" APPEAR="Compare" KIND="BOX" LEVEL="BASIC" WINDOW="INPLACE">
%%%<KEYWORD MODULE="CMOCORR" NAME="DOME" APPEAR="Metric" KIND="SINGLE" LEVEL="BASIC" EXCLUSIVE="DOSP,DOOR">
%%Keyword: DoMetric <basic>
%%%<HELP>
%%+Compare the metric of the two files.
%%+If the files correspond to different geometries the metric will be different.
%%%</HELP></KEYWORD>
%---
\item[DoSpaces]
Compare the orbitals spaces of the two files.
This keyword implies \keyword{DoMetric}.
%%%<KEYWORD MODULE="CMOCORR" NAME="DOSP" APPEAR="Orbital spaces" KIND="SINGLE" LEVEL="BASIC" EXCLUSIVE="DOME,DOOR">
%%Keyword: DoSpaces <basic>
%%%<HELP>
%%+Compare the orbitals spaces of the two files.
%%+This keyword implies DoMetric.
%%%</HELP></KEYWORD>
%---
\item[DoOrbitals]
Compare the orbitals one by one in the two files.
This keyword implies \keyword{DoMetric} and \keyword{DoSpaces}.
%%%<KEYWORD MODULE="CMOCORR" NAME="DOOR" APPEAR="Orbitals" KIND="SINGLE" LEVEL="BASIC" EXCLUSIVE="DOME,DOSP">
%%Keyword: DoOrbitals <basic>
%%%<HELP>
%%+Compare the orbitals one by one in the two files.
%%+This keyword implies DoMetric and DoSpaces.
%%%</HELP></KEYWORD>
%%%</GROUP>
%---
\item[sortcmo]
Sort the orbitals according to the type index.
This might be necessary if one of the files are created by \program{LUSCUS} for example.
%%%<KEYWORD MODULE="CMOCORR" NAME="SORT" APPEAR="Sort orbitals" KIND="SINGLE" LEVEL="BASIC">
%%Keyword: SortCMO <basic>
%%%<HELP>
%%+Sort the orbitals according to the type index.
%%+This might be necessary if one of the files are created by LUSCUS for example.
%%%</HELP></KEYWORD>
%---
\item[Thresholds]
This keyword is followed by two parameters, $t_1$ and $t_2$, the first specifying at what overlap
to report that orbitals from the two files have a small overlap. In addition, orbitals in the reference
file with best match is located. The second parameter is similar, but no search for matching orbitals
is done. The defaults are $t_1=0.6$ and $t_2=0.8$.
%%%<KEYWORD MODULE="CMOCORR" NAME="THRE" APPEAR="Thresholds" KIND="REALS" SIZE="2" LEVEL="BASIC" DEFAULT_VALUES="0.6,0.8">
%%Keyword: Thresholds <basic>
%%%<HELP>
%%+Overlap values (two numbers) below which orbitals from the two files will be reported as having small overlap.
%%+For the first number the best match in the reference file is located, for the second number no search is done.
%%%</HELP></KEYWORD>
%---
\item[End of input]
This keyword terminates the reading of the input.
%%%<KEYWORD MODULE="CMOCORR" NAME="END" APPEAR="End of input" KIND="SINGLE" LEVEL="BASIC">
%%Keyword: End of input <basic>
%%%<HELP>
%%+This keyword terminates the reading of the input.
%%%</HELP></KEYWORD>
%---
\end{keywordlist}
%...............................................................................
\subsubsection{Input examples}
First we have the bare minimum of input. This will only check that the files
have the same buber of orbitals and symmetries.

\begin{inputlisting}
 &CMOCORR
\end{inputlisting}

The next example is almost as simple, and all checks are perfomed.

\begin{inputlisting}
 &CMOCORR
DoOrbitals   -- check everything
\end{inputlisting}
%%%</MODULE>
