\hypertarget{structmom__sum__output_1_1sum__output__cs}{}\section{mom\+\_\+sum\+\_\+output\+::sum\+\_\+output\+\_\+cs Type Reference}
\label{structmom__sum__output_1_1sum__output__cs}\index{mom\_sum\_output::sum\_output\_cs@{mom\_sum\_output::sum\_output\_cs}}


\subsection{Detailed Description}
The control structure for the M\+O\+M\+\_\+sum\+\_\+output module. 

Definition at line 61 of file M\+O\+M\+\_\+sum\+\_\+output.\+F90.



Collaboration diagram for mom\+\_\+sum\+\_\+output\+::sum\+\_\+output\+\_\+cs\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structmom__sum__output_1_1sum__output__cs__coll__graph}
\end{center}
\end{figure}
\subsection*{Public variables and constants}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_ae9ea4eec70b371b7f2d0d21c4a745c3f}\label{structmom__sum__output_1_1sum__output__cs_ae9ea4eec70b371b7f2d0d21c4a745c3f}} 
type(\mbox{\hyperlink{structmom__sum__output_1_1depth__list}{depth\+\_\+list}}), dimension(\+:), pointer \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_ae9ea4eec70b371b7f2d0d21c4a745c3f}{dl}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The sorted depth list. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a3a2f03a43815f3fd2a662c7bb2ccd8cf}\label{structmom__sum__output_1_1sum__output__cs_a3a2f03a43815f3fd2a662c7bb2ccd8cf}} 
integer \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a3a2f03a43815f3fd2a662c7bb2ccd8cf}{list\+\_\+size}}
\begin{DoxyCompactList}\small\item\em length of sorting vector $<$= niglobal$\ast$njglobal \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a15d51869623a0a6afd798b621400da10}\label{structmom__sum__output_1_1sum__output__cs_a15d51869623a0a6afd798b621400da10}} 
integer, dimension(\+:), allocatable \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a15d51869623a0a6afd798b621400da10}{lh}}
\begin{DoxyCompactList}\small\item\em This saves the entry in DL with a volume just less than the volume of fluid below the interface. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a1c8277b110d3b709c235da73397264c8}\label{structmom__sum__output_1_1sum__output__cs_a1c8277b110d3b709c235da73397264c8}} 
logical \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a1c8277b110d3b709c235da73397264c8}{do\+\_\+ape\+\_\+calc}}
\begin{DoxyCompactList}\small\item\em If true, calculate the available potential energy of the interfaces. Disabling this reduces the memory footprint of high-\/\+P\+E-\/count models dramatically. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_ab6c33b379d0d103f66e72ccd8dbbb781}\label{structmom__sum__output_1_1sum__output__cs_ab6c33b379d0d103f66e72ccd8dbbb781}} 
logical \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_ab6c33b379d0d103f66e72ccd8dbbb781}{read\+\_\+depth\+\_\+list}}
\begin{DoxyCompactList}\small\item\em Read the depth list from a file if it exists and write it if it doesn\textquotesingle{}t. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a633cf61f5b8006076e1bb41e60a2bc43}\label{structmom__sum__output_1_1sum__output__cs_a633cf61f5b8006076e1bb41e60a2bc43}} 
character(len=200) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a633cf61f5b8006076e1bb41e60a2bc43}{depth\+\_\+list\+\_\+file}}
\begin{DoxyCompactList}\small\item\em The name of the depth list file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_adacd5b1b75f729f7d206425bd5cdf36e}\label{structmom__sum__output_1_1sum__output__cs_adacd5b1b75f729f7d206425bd5cdf36e}} 
real \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_adacd5b1b75f729f7d206425bd5cdf36e}{d\+\_\+list\+\_\+min\+\_\+inc}}
\begin{DoxyCompactList}\small\item\em The minimum increment \mbox{[}Z $\sim$$>$ m\mbox{]}, between the depths of the entries in the depth-\/list file, 0 by default. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_ac3fe8a63460dd2b62eec76d55be56d9b}\label{structmom__sum__output_1_1sum__output__cs_ac3fe8a63460dd2b62eec76d55be56d9b}} 
logical \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_ac3fe8a63460dd2b62eec76d55be56d9b}{require\+\_\+depth\+\_\+list\+\_\+chksum}}
\begin{DoxyCompactList}\small\item\em Require matching checksums in Depth\+\_\+list.\+nc when reading the file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a74865adb3ae3795b6777bf1c05699b33}\label{structmom__sum__output_1_1sum__output__cs_a74865adb3ae3795b6777bf1c05699b33}} 
logical \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a74865adb3ae3795b6777bf1c05699b33}{update\+\_\+depth\+\_\+list\+\_\+chksum}}
\begin{DoxyCompactList}\small\item\em Automatically update the Depth\+\_\+list.\+nc file if the checksums are missing or do not match current values. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a58be5c13a9bae3f793570da796b94766}\label{structmom__sum__output_1_1sum__output__cs_a58be5c13a9bae3f793570da796b94766}} 
logical \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a58be5c13a9bae3f793570da796b94766}{use\+\_\+temperature}}
\begin{DoxyCompactList}\small\item\em If true, temperature and salinity are state variables. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a4dfead5077466302e51edb234d78088d}\label{structmom__sum__output_1_1sum__output__cs_a4dfead5077466302e51edb234d78088d}} 
type(efp\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a4dfead5077466302e51edb234d78088d}{fresh\+\_\+water\+\_\+in\+\_\+efp}}
\begin{DoxyCompactList}\small\item\em The total mass of fresh water added by surface fluxes on this PE since the last time that write\+\_\+energy was called \mbox{[}kg\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a5841f19e84bea56607229755b6227a0e}\label{structmom__sum__output_1_1sum__output__cs_a5841f19e84bea56607229755b6227a0e}} 
type(efp\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a5841f19e84bea56607229755b6227a0e}{net\+\_\+salt\+\_\+in\+\_\+efp}}
\begin{DoxyCompactList}\small\item\em The total salt added by surface fluxes on this PE since the last time that write\+\_\+energy was called \mbox{[}ppt kg\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_af715b08fe4269a80b5d5aeb05cf696e8}\label{structmom__sum__output_1_1sum__output__cs_af715b08fe4269a80b5d5aeb05cf696e8}} 
type(efp\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_af715b08fe4269a80b5d5aeb05cf696e8}{net\+\_\+heat\+\_\+in\+\_\+efp}}
\begin{DoxyCompactList}\small\item\em The total heat added by surface fluxes on this PE since the last time that write\+\_\+energy was called \mbox{[}J\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_ae49c98c2868366d127738cb0e2e7dcd3}\label{structmom__sum__output_1_1sum__output__cs_ae49c98c2868366d127738cb0e2e7dcd3}} 
type(efp\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_ae49c98c2868366d127738cb0e2e7dcd3}{heat\+\_\+prev\+\_\+efp}}
\begin{DoxyCompactList}\small\item\em The total amount of heat in the ocean the last time that write\+\_\+energy was called \mbox{[}J\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a18269de746ebbe1b7053483cf4464e7b}\label{structmom__sum__output_1_1sum__output__cs_a18269de746ebbe1b7053483cf4464e7b}} 
type(efp\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a18269de746ebbe1b7053483cf4464e7b}{salt\+\_\+prev\+\_\+efp}}
\begin{DoxyCompactList}\small\item\em The total amount of salt in the ocean the last time that write\+\_\+energy was called \mbox{[}ppt kg\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a599916daf5a41a89fc8f7fd9defb9ef9}\label{structmom__sum__output_1_1sum__output__cs_a599916daf5a41a89fc8f7fd9defb9ef9}} 
type(efp\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a599916daf5a41a89fc8f7fd9defb9ef9}{mass\+\_\+prev\+\_\+efp}}
\begin{DoxyCompactList}\small\item\em The total ocean mass the last time that write\+\_\+energy was called \mbox{[}kg\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a322880c4033bab11e939afd8f4ada050}\label{structmom__sum__output_1_1sum__output__cs_a322880c4033bab11e939afd8f4ada050}} 
real \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a322880c4033bab11e939afd8f4ada050}{dt\+\_\+in\+\_\+t}}
\begin{DoxyCompactList}\small\item\em The baroclinic dynamics time step \mbox{[}T $\sim$$>$ s\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a4157c10ebdc23e9815863d1eeae5d98f}\label{structmom__sum__output_1_1sum__output__cs_a4157c10ebdc23e9815863d1eeae5d98f}} 
type(time\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a4157c10ebdc23e9815863d1eeae5d98f}{energysavedays}}
\begin{DoxyCompactList}\small\item\em The interval between writing the energies and other integral quantities of the run. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a5f278229bd1688fd5bcfa2e34038440d}\label{structmom__sum__output_1_1sum__output__cs_a5f278229bd1688fd5bcfa2e34038440d}} 
type(time\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a5f278229bd1688fd5bcfa2e34038440d}{energysavedays\+\_\+geometric}}
\begin{DoxyCompactList}\small\item\em The starting interval for computing a geometric progression of time deltas between calls to write\+\_\+energy. This interval will increase by a factor of 2. after each call to write\+\_\+energy. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a4c563d9bc5e21a74f6eec05d0810aa71}\label{structmom__sum__output_1_1sum__output__cs_a4c563d9bc5e21a74f6eec05d0810aa71}} 
logical \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a4c563d9bc5e21a74f6eec05d0810aa71}{energysave\+\_\+geometric}}
\begin{DoxyCompactList}\small\item\em Logical to control whether calls to write\+\_\+energy should follow a geometric progression. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a3cad15566b2e35fa48c45ce112f28342}\label{structmom__sum__output_1_1sum__output__cs_a3cad15566b2e35fa48c45ce112f28342}} 
type(time\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a3cad15566b2e35fa48c45ce112f28342}{write\+\_\+energy\+\_\+time}}
\begin{DoxyCompactList}\small\item\em The next time to write to the energy file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_afc5fb5eb08514b9de8b7b6dc4ff62f6e}\label{structmom__sum__output_1_1sum__output__cs_afc5fb5eb08514b9de8b7b6dc4ff62f6e}} 
type(time\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_afc5fb5eb08514b9de8b7b6dc4ff62f6e}{geometric\+\_\+end\+\_\+time}}
\begin{DoxyCompactList}\small\item\em Time at which to stop the geometric progression of calls to write\+\_\+energy and revert to the standard energysavedays interval. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_ae2642f4f73e7ed4ba6e3d317ecc0d4f3}\label{structmom__sum__output_1_1sum__output__cs_ae2642f4f73e7ed4ba6e3d317ecc0d4f3}} 
real \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_ae2642f4f73e7ed4ba6e3d317ecc0d4f3}{timeunit}}
\begin{DoxyCompactList}\small\item\em The length of the units for the time axis \mbox{[}s\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a10241c2ba68033c3e17a9462b768501c}\label{structmom__sum__output_1_1sum__output__cs_a10241c2ba68033c3e17a9462b768501c}} 
logical \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a10241c2ba68033c3e17a9462b768501c}{date\+\_\+stamped\+\_\+output}}
\begin{DoxyCompactList}\small\item\em If true, use dates (not times) in messages to stdout. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a9719a8f0e984084364bfb29800a56b5c}\label{structmom__sum__output_1_1sum__output__cs_a9719a8f0e984084364bfb29800a56b5c}} 
type(time\+\_\+type) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a9719a8f0e984084364bfb29800a56b5c}{start\+\_\+time}}
\begin{DoxyCompactList}\small\item\em The start time of the simulation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_abaeb5d87fc79c3755c4709b398a9a9fd}\label{structmom__sum__output_1_1sum__output__cs_abaeb5d87fc79c3755c4709b398a9a9fd}} 
integer, pointer \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_abaeb5d87fc79c3755c4709b398a9a9fd}{ntrunc}} =$>$ N\+U\+LL()
\begin{DoxyCompactList}\small\item\em The number of times the velocity has been truncated since the last call to write\+\_\+energy. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a8d9400901656d377b32560744253a2b5}\label{structmom__sum__output_1_1sum__output__cs_a8d9400901656d377b32560744253a2b5}} 
real \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a8d9400901656d377b32560744253a2b5}{max\+\_\+energy}}
\begin{DoxyCompactList}\small\item\em The maximum permitted energy per unit mass. If there is more energy than this, the model should stop \mbox{[}m2 s-\/2\mbox{]}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_aed515ec29a783eb1219bb9385acc7afd}\label{structmom__sum__output_1_1sum__output__cs_aed515ec29a783eb1219bb9385acc7afd}} 
integer \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_aed515ec29a783eb1219bb9385acc7afd}{maxtrunc}}
\begin{DoxyCompactList}\small\item\em The number of truncations per energy save interval at which the run is stopped. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_ac0a353eea03546bd8768f77be51108e6}\label{structmom__sum__output_1_1sum__output__cs_ac0a353eea03546bd8768f77be51108e6}} 
logical \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_ac0a353eea03546bd8768f77be51108e6}{write\+\_\+stocks}}
\begin{DoxyCompactList}\small\item\em If true, write the integrated tracer amounts to stdout when the energy files are written. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a4a0014840702312601ad431054609609}\label{structmom__sum__output_1_1sum__output__cs_a4a0014840702312601ad431054609609}} 
integer \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a4a0014840702312601ad431054609609}{previous\+\_\+calls}} = 0
\begin{DoxyCompactList}\small\item\em The number of times write\+\_\+energy has been called. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a42a71667f51face72294f4d8e33c607b}\label{structmom__sum__output_1_1sum__output__cs_a42a71667f51face72294f4d8e33c607b}} 
integer \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a42a71667f51face72294f4d8e33c607b}{prev\+\_\+n}} = 0
\begin{DoxyCompactList}\small\item\em The value of n from the last call. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a9f6b8111f344e0712bdea9a357b54b58}\label{structmom__sum__output_1_1sum__output__cs_a9f6b8111f344e0712bdea9a357b54b58}} 
integer \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a9f6b8111f344e0712bdea9a357b54b58}{fileenergy\+\_\+nc}}
\begin{DoxyCompactList}\small\item\em Net\+C\+DF id of the energy file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a251ef2727cac662fc7b35ea301e26903}\label{structmom__sum__output_1_1sum__output__cs_a251ef2727cac662fc7b35ea301e26903}} 
integer \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a251ef2727cac662fc7b35ea301e26903}{fileenergy\+\_\+ascii}}
\begin{DoxyCompactList}\small\item\em The unit number of the ascii version of the energy file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a5ac1a41de937c6ed0054c2ef9000dd9e}\label{structmom__sum__output_1_1sum__output__cs_a5ac1a41de937c6ed0054c2ef9000dd9e}} 
type(fieldtype), dimension(\mbox{\hyperlink{namespacemom__sum__output_a5191c3198dcd24f50da9279ce7ebbc60}{num\+\_\+fields}}+max\+\_\+fields\+\_\+) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a5ac1a41de937c6ed0054c2ef9000dd9e}{fields}}
\begin{DoxyCompactList}\small\item\em fieldtype variables for the output fields. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structmom__sum__output_1_1sum__output__cs_a4d4cb979084eaa566a816aaf1323f8b2}\label{structmom__sum__output_1_1sum__output__cs_a4d4cb979084eaa566a816aaf1323f8b2}} 
character(len=200) \mbox{\hyperlink{structmom__sum__output_1_1sum__output__cs_a4d4cb979084eaa566a816aaf1323f8b2}{energyfile}}
\begin{DoxyCompactList}\small\item\em The name of the energy file with path. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
The control structure for the M\+O\+M\+\_\+sum\+\_\+output module. 

Definition at line 61 of file M\+O\+M\+\_\+sum\+\_\+output.\+F90.



The documentation for this type was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/home/cermak/src/\+M\+O\+M6.\+devrob/src/diagnostics/M\+O\+M\+\_\+sum\+\_\+output.\+F90\end{DoxyCompactItemize}
