\hypertarget{interfacemom__eos_1_1calculate__spec__vol}{}\section{mom\+\_\+eos\+:\+:calculate\+\_\+spec\+\_\+vol Interface Reference}
\label{interfacemom__eos_1_1calculate__spec__vol}\index{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol@{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol}}


Calculates specific volume of sea water from T, S and P.  


\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{interfacemom__eos_1_1calculate__spec__vol_a738945d7ca218ddbf43bb32ead72be9a}{calc\+\_\+spec\+\_\+vol\+\_\+scalar} (T, S, pressure, specvol, E\+OS, spv\+\_\+ref, scale)
\begin{DoxyCompactList}\small\item\em Calls the appropriate subroutine to calculate specific volume of sea water for scalar inputs. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__eos_1_1calculate__spec__vol_a6a894de8c565f003dac2624118844c3c}{calculate\+\_\+spec\+\_\+vol\+\_\+array} (T, S, pressure, specvol, start, npts, E\+OS, spv\+\_\+ref, scale)
\begin{DoxyCompactList}\small\item\em Calls the appropriate subroutine to calculate the specific volume of sea water for 1-\/D array inputs. \end{DoxyCompactList}\item 
subroutine \hyperlink{interfacemom__eos_1_1calculate__spec__vol_a09bc44c37a1d952f42d9b01db8bc5267}{calc\+\_\+spec\+\_\+vol\+\_\+1d} (T, S, pressure, specvol, E\+OS, dom, spv\+\_\+ref, scale)
\begin{DoxyCompactList}\small\item\em Calls the appropriate subroutine to calculate the specific volume of sea water for 1-\/D array inputs, potentially limiting the domain of indices that are worked on. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Calculates specific volume of sea water from T, S and P. 

Definition at line \hyperlink{MOM__EOS_8F90_source_l00075}{75} of file \hyperlink{MOM__EOS_8F90_source}{M\+O\+M\+\_\+\+E\+O\+S.\+F90}.



\subsection{Member Function/\+Subroutine Documentation}
\mbox{\Hypertarget{interfacemom__eos_1_1calculate__spec__vol_a09bc44c37a1d952f42d9b01db8bc5267}\label{interfacemom__eos_1_1calculate__spec__vol_a09bc44c37a1d952f42d9b01db8bc5267}} 
\index{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol@{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol}!calc\+\_\+spec\+\_\+vol\+\_\+1d@{calc\+\_\+spec\+\_\+vol\+\_\+1d}}
\index{calc\+\_\+spec\+\_\+vol\+\_\+1d@{calc\+\_\+spec\+\_\+vol\+\_\+1d}!mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol@{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol}}
\subsubsection{\texorpdfstring{calc\+\_\+spec\+\_\+vol\+\_\+1d()}{calc\_spec\_vol\_1d()}}
{\footnotesize\ttfamily subroutine mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol\+::calc\+\_\+spec\+\_\+vol\+\_\+1d (\begin{DoxyParamCaption}\item[{real, dimension(\+:), intent(in)}]{T,  }\item[{real, dimension(\+:), intent(in)}]{S,  }\item[{real, dimension(\+:), intent(in)}]{pressure,  }\item[{real, dimension(\+:), intent(inout)}]{specvol,  }\item[{type(\hyperlink{structmom__eos_1_1eos__type}{eos\+\_\+type}), pointer}]{E\+OS,  }\item[{integer, dimension(2), intent(in), optional}]{dom,  }\item[{real, intent(in), optional}]{spv\+\_\+ref,  }\item[{real, intent(in), optional}]{scale }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Calls the appropriate subroutine to calculate the specific volume of sea water for 1-\/D array inputs, potentially limiting the domain of indices that are worked on. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em t} & Potential temperature referenced to the surface \mbox{[}degC\mbox{]}\\
\hline
\mbox{\tt in}  & {\em s} & Salinity \mbox{[}ppt\mbox{]}\\
\hline
\mbox{\tt in}  & {\em pressure} & Pressure \mbox{[}R L2 T-\/2 $\sim$$>$ Pa\mbox{]}\\
\hline
\mbox{\tt in,out}  & {\em specvol} & In situ specific volume \mbox{[}R-\/1 $\sim$$>$ m3 kg-\/1\mbox{]}\\
\hline
 & {\em eos} & Equation of state structure\\
\hline
\mbox{\tt in}  & {\em dom} & The domain of indices to work on, taking into account that arrays start at 1.\\
\hline
\mbox{\tt in}  & {\em spv\+\_\+ref} & A reference specific volume \mbox{[}R-\/1 $\sim$$>$ m3 kg-\/1\mbox{]}\\
\hline
\mbox{\tt in}  & {\em scale} & A multiplicative factor by which to scale output specific volume in combination with scaling given by US \mbox{[}various\mbox{]} \\
\hline
\end{DoxyParams}


Definition at line \hyperlink{MOM__EOS_8F90_source_l00571}{571} of file \hyperlink{MOM__EOS_8F90_source}{M\+O\+M\+\_\+\+E\+O\+S.\+F90}.


\begin{DoxyCode}
00571   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)},    \textcolor{keywordtype}{intent(in)}    :: t\textcolor{comment}{        !< Potential temperature referenced to the surface
       [degC]}
00572   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)},    \textcolor{keywordtype}{intent(in)}    :: s\textcolor{comment}{        !< Salinity [ppt]}
00573   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)},    \textcolor{keywordtype}{intent(in)}    :: pressure\textcolor{comment}{ !< Pressure [R L2 T-2 ~> Pa]}
00574   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)},    \textcolor{keywordtype}{intent(inout)} :: specvol\textcolor{comment}{  !< In situ specific volume [R-1 ~> m3 kg-1]}
00575   \textcolor{keywordtype}{type}(eos\_type),        \textcolor{keywordtype}{pointer}       :: eos\textcolor{comment}{      !< Equation of state structure}
00576   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(2)}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: dom\textcolor{comment}{   !< The domain of indices to work on, taking}
00577 \textcolor{comment}{                                                       !! into account that arrays start at 1.}
00578   \textcolor{keywordtype}{real},                  \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: spv\_ref\textcolor{comment}{ !< A reference specific volume [R-1 ~> m3 kg-1]}
00579   \textcolor{keywordtype}{real},                  \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)} :: scale\textcolor{comment}{ !< A multiplicative factor by which to scale}
00580 \textcolor{comment}{                                                       !! output specific volume in combination with}
00581 \textcolor{comment}{                                                       !! scaling given by US [various]}
00582   \textcolor{comment}{! Local variables}
00583   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(size(specvol))} :: pres  \textcolor{comment}{! Pressure converted to [Pa]}
00584   \textcolor{keywordtype}{real} :: p\_scale   \textcolor{comment}{! A factor to convert pressure to units of Pa [Pa T2 R-1 L-2 ~> 1]}
00585   \textcolor{keywordtype}{real} :: spv\_unscale \textcolor{comment}{! A factor to convert specific volume from R-1 to m3 kg-1 [m3 kg-1 R ~> 1]}
00586   \textcolor{keywordtype}{real} :: spv\_scale \textcolor{comment}{! A factor to convert specific volume from m3 kg-1 to the desired units [kg m-3 R-1 ~>
       1]}
00587   \textcolor{keywordtype}{real} :: spv\_reference \textcolor{comment}{! spv\_ref converted to [m3 kg-1]}
00588   \textcolor{keywordtype}{integer} :: i, is, ie, npts
00589 
00590   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{associated}(eos)) \textcolor{keyword}{call }mom\_error(fatal, &
00591     \textcolor{stringliteral}{"calc\_spec\_vol\_1d called with an unassociated EOS\_type EOS."})
00592 
00593   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(dom)) \textcolor{keywordflow}{then}
00594     is = dom(1) ; ie = dom(2) ; npts = 1 + ie - is
00595   \textcolor{keywordflow}{else}
00596     is = 1 ; ie = \textcolor{keyword}{size}(specvol) ; npts = 1 + ie - is
00597 \textcolor{keywordflow}{  endif}
00598 
00599   p\_scale = eos%RL2\_T2\_to\_Pa
00600   spv\_unscale = eos%kg\_m3\_to\_R
00601 
00602   \textcolor{keywordflow}{if} ((p\_scale == 1.0) .and. (spv\_unscale == 1.0)) \textcolor{keywordflow}{then}
00603     \textcolor{keyword}{call }calculate\_spec\_vol\_array(t, s, pressure, specvol, is, npts, eos, spv\_ref)
00604   \textcolor{keywordflow}{elseif} (\textcolor{keyword}{present}(spv\_ref)) \textcolor{keywordflow}{then} \textcolor{comment}{! This is the same as above, but with some extra work to rescale
       variables.}
00605     \textcolor{keywordflow}{do} i=is,ie ; pres(i) = p\_scale * pressure(i) ;\textcolor{keywordflow}{ enddo}
00606     spv\_reference = spv\_unscale*spv\_ref
00607     \textcolor{keyword}{call }calculate\_spec\_vol\_array(t, s, pres, specvol, is, npts, eos, spv\_reference)
00608   \textcolor{keywordflow}{else}  \textcolor{comment}{! There is rescaling of variables, but spv\_ref is not present. Passing a 0 value of spv\_ref}
00609         \textcolor{comment}{! changes answers at roundoff for some equations of state, like Wright and UNESCO.}
00610     \textcolor{keywordflow}{do} i=is,ie ; pres(i) = p\_scale * pressure(i) ;\textcolor{keywordflow}{ enddo}
00611     \textcolor{keyword}{call }calculate\_spec\_vol\_array(t, s, pres, specvol, is, npts, eos)
00612 \textcolor{keywordflow}{  endif}
00613 
00614   spv\_scale = eos%R\_to\_kg\_m3
00615   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scale)) spv\_scale = spv\_scale * scale
00616   \textcolor{keywordflow}{if} (spv\_scale /= 1.0) \textcolor{keywordflow}{then} ; \textcolor{keywordflow}{do} i=is,ie
00617     specvol(i) = spv\_scale * specvol(i)
00618 \textcolor{keywordflow}{  enddo} ;\textcolor{keywordflow}{ endif}
00619 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__eos_1_1calculate__spec__vol_a738945d7ca218ddbf43bb32ead72be9a}\label{interfacemom__eos_1_1calculate__spec__vol_a738945d7ca218ddbf43bb32ead72be9a}} 
\index{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol@{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol}!calc\+\_\+spec\+\_\+vol\+\_\+scalar@{calc\+\_\+spec\+\_\+vol\+\_\+scalar}}
\index{calc\+\_\+spec\+\_\+vol\+\_\+scalar@{calc\+\_\+spec\+\_\+vol\+\_\+scalar}!mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol@{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol}}
\subsubsection{\texorpdfstring{calc\+\_\+spec\+\_\+vol\+\_\+scalar()}{calc\_spec\_vol\_scalar()}}
{\footnotesize\ttfamily subroutine mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol\+::calc\+\_\+spec\+\_\+vol\+\_\+scalar (\begin{DoxyParamCaption}\item[{real, intent(in)}]{T,  }\item[{real, intent(in)}]{S,  }\item[{real, intent(in)}]{pressure,  }\item[{real, intent(out)}]{specvol,  }\item[{type(\hyperlink{structmom__eos_1_1eos__type}{eos\+\_\+type}), pointer}]{E\+OS,  }\item[{real, intent(in), optional}]{spv\+\_\+ref,  }\item[{real, intent(in), optional}]{scale }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Calls the appropriate subroutine to calculate specific volume of sea water for scalar inputs. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em t} & Potential temperature referenced to the surface \mbox{[}degC\mbox{]}\\
\hline
\mbox{\tt in}  & {\em s} & Salinity \mbox{[}ppt\mbox{]}\\
\hline
\mbox{\tt in}  & {\em pressure} & Pressure \mbox{[}Pa\mbox{]} or \mbox{[}R L2 T-\/2 $\sim$$>$ Pa\mbox{]}\\
\hline
\mbox{\tt out}  & {\em specvol} & In situ? specific volume \mbox{[}m3 kg-\/1\mbox{]} or \mbox{[}R-\/1 $\sim$$>$ m3 kg-\/1\mbox{]}\\
\hline
 & {\em eos} & Equation of state structure\\
\hline
\mbox{\tt in}  & {\em spv\+\_\+ref} & A reference specific volume \mbox{[}m3 kg-\/1\mbox{]} or \mbox{[}R-\/1 m3 kg-\/1\mbox{]}\\
\hline
\mbox{\tt in}  & {\em scale} & A multiplicative factor by which to scale specific volume in combination with scaling given by US \mbox{[}various\mbox{]} \\
\hline
\end{DoxyParams}


Definition at line \hyperlink{MOM__EOS_8F90_source_l00533}{533} of file \hyperlink{MOM__EOS_8F90_source}{M\+O\+M\+\_\+\+E\+O\+S.\+F90}.


\begin{DoxyCode}
00533   \textcolor{keywordtype}{real},           \textcolor{keywordtype}{intent(in)}  :: t\textcolor{comment}{        !< Potential temperature referenced to the surface [degC]}
00534   \textcolor{keywordtype}{real},           \textcolor{keywordtype}{intent(in)}  :: s\textcolor{comment}{        !< Salinity [ppt]}
00535   \textcolor{keywordtype}{real},           \textcolor{keywordtype}{intent(in)}  :: pressure\textcolor{comment}{ !< Pressure [Pa] or [R L2 T-2 ~> Pa]}
00536   \textcolor{keywordtype}{real},           \textcolor{keywordtype}{intent(out)} :: specvol\textcolor{comment}{  !< In situ? specific volume [m3 kg-1] or [R-1 ~> m3 kg-1]}
00537   \textcolor{keywordtype}{type}(eos\_type), \textcolor{keywordtype}{pointer}     :: eos\textcolor{comment}{      !< Equation of state structure}
00538   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}  :: spv\_ref\textcolor{comment}{  !< A reference specific volume [m3 kg-1] or [R-1 m3 kg-1]}
00539   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}  :: scale\textcolor{comment}{    !< A multiplicative factor by which to scale specific}
00540 \textcolor{comment}{                                          !! volume in combination with scaling given by US [various]}
00541 
00542   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(1)} :: ta, sa, pres, spv  \textcolor{comment}{! Rescaled single element array versions of the arguments.}
00543   \textcolor{keywordtype}{real} :: spv\_reference \textcolor{comment}{! spv\_ref converted to [m3 kg-1]}
00544   \textcolor{keywordtype}{real} :: spv\_scale \textcolor{comment}{! A factor to convert specific volume from m3 kg-1 to the desired units [kg R-1 m-3 ~>
       1]}
00545 
00546   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{associated}(eos)) \textcolor{keyword}{call }mom\_error(fatal, &
00547     \textcolor{stringliteral}{"calc\_spec\_vol\_scalar called with an unassociated EOS\_type EOS."})
00548 
00549   pres(1) = eos%RL2\_T2\_to\_Pa*pressure
00550   ta(1) = t ; sa(1) = s
00551 
00552   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(spv\_ref)) \textcolor{keywordflow}{then}
00553     spv\_reference = eos%kg\_m3\_to\_R*spv\_ref
00554     \textcolor{keyword}{call }calculate\_spec\_vol\_array(ta, sa, pres, spv, 1, 1, eos, spv\_reference)
00555   \textcolor{keywordflow}{else}
00556     \textcolor{keyword}{call }calculate\_spec\_vol\_array(ta, sa, pres, spv, 1, 1, eos)
00557 \textcolor{keywordflow}{  endif}
00558   specvol = spv(1)
00559 
00560   spv\_scale = eos%R\_to\_kg\_m3
00561   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scale)) spv\_scale = spv\_scale * scale
00562   \textcolor{keywordflow}{if} (spv\_scale /= 1.0) \textcolor{keywordflow}{then}
00563     specvol = spv\_scale * specvol
00564 \textcolor{keywordflow}{  endif}
00565 
\end{DoxyCode}
\mbox{\Hypertarget{interfacemom__eos_1_1calculate__spec__vol_a6a894de8c565f003dac2624118844c3c}\label{interfacemom__eos_1_1calculate__spec__vol_a6a894de8c565f003dac2624118844c3c}} 
\index{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol@{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol}!calculate\+\_\+spec\+\_\+vol\+\_\+array@{calculate\+\_\+spec\+\_\+vol\+\_\+array}}
\index{calculate\+\_\+spec\+\_\+vol\+\_\+array@{calculate\+\_\+spec\+\_\+vol\+\_\+array}!mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol@{mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol}}
\subsubsection{\texorpdfstring{calculate\+\_\+spec\+\_\+vol\+\_\+array()}{calculate\_spec\_vol\_array()}}
{\footnotesize\ttfamily subroutine mom\+\_\+eos\+::calculate\+\_\+spec\+\_\+vol\+::calculate\+\_\+spec\+\_\+vol\+\_\+array (\begin{DoxyParamCaption}\item[{real, dimension(\+:), intent(in)}]{T,  }\item[{real, dimension(\+:), intent(in)}]{S,  }\item[{real, dimension(\+:), intent(in)}]{pressure,  }\item[{real, dimension(\+:), intent(inout)}]{specvol,  }\item[{integer, intent(in)}]{start,  }\item[{integer, intent(in)}]{npts,  }\item[{type(\hyperlink{structmom__eos_1_1eos__type}{eos\+\_\+type}), pointer}]{E\+OS,  }\item[{real, intent(in), optional}]{spv\+\_\+ref,  }\item[{real, intent(in), optional}]{scale }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Calls the appropriate subroutine to calculate the specific volume of sea water for 1-\/D array inputs. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em t} & potential temperature relative to the surface \mbox{[}degC\mbox{]}\\
\hline
\mbox{\tt in}  & {\em s} & salinity \mbox{[}ppt\mbox{]}\\
\hline
\mbox{\tt in}  & {\em pressure} & pressure \mbox{[}Pa\mbox{]}\\
\hline
\mbox{\tt in,out}  & {\em specvol} & in situ specific volume \mbox{[}kg m-\/3\mbox{]}\\
\hline
\mbox{\tt in}  & {\em start} & the starting point in the arrays.\\
\hline
\mbox{\tt in}  & {\em npts} & the number of values to calculate.\\
\hline
 & {\em eos} & Equation of state structure\\
\hline
\mbox{\tt in}  & {\em spv\+\_\+ref} & A reference specific volume \mbox{[}m3 kg-\/1\mbox{]}\\
\hline
\mbox{\tt in}  & {\em scale} & A multiplicative factor by which to scale specific volume in combination with scaling given by US \mbox{[}various\mbox{]} \\
\hline
\end{DoxyParams}


Definition at line \hyperlink{MOM__EOS_8F90_source_l00486}{486} of file \hyperlink{MOM__EOS_8F90_source}{M\+O\+M\+\_\+\+E\+O\+S.\+F90}.


\begin{DoxyCode}
00486   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{intent(in)}    :: t\textcolor{comment}{        !< potential temperature relative to the surface [degC]}
00487   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{intent(in)}    :: s\textcolor{comment}{        !< salinity [ppt]}
00488   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{intent(in)}    :: pressure\textcolor{comment}{ !< pressure [Pa]}
00489   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{intent(inout)} :: specvol\textcolor{comment}{  !< in situ specific volume [kg m-3]}
00490   \textcolor{keywordtype}{integer},            \textcolor{keywordtype}{intent(in)}    :: start\textcolor{comment}{    !< the starting point in the arrays.}
00491   \textcolor{keywordtype}{integer},            \textcolor{keywordtype}{intent(in)}    :: npts\textcolor{comment}{     !< the number of values to calculate.}
00492   \textcolor{keywordtype}{type}(eos\_type),     \textcolor{keywordtype}{pointer}       :: eos\textcolor{comment}{      !< Equation of state structure}
00493   \textcolor{keywordtype}{real},     \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: spv\_ref\textcolor{comment}{  !< A reference specific volume [m3 kg-1]}
00494   \textcolor{keywordtype}{real},     \textcolor{keywordtype}{optional}, \textcolor{keywordtype}{intent(in)}    :: scale\textcolor{comment}{    !< A multiplicative factor by which to scale specific}
00495 \textcolor{comment}{                                                !! volume in combination with scaling given by US [various]}
00496 
00497   \textcolor{keywordtype}{real}, \textcolor{keywordtype}{dimension(size(specvol))}  :: rho   \textcolor{comment}{! Density [kg m-3]}
00498   \textcolor{keywordtype}{integer} :: j
00499 
00500   \textcolor{keywordflow}{if} (.not.\textcolor{keyword}{associated}(eos)) \textcolor{keyword}{call }mom\_error(fatal, &
00501     \textcolor{stringliteral}{"calculate\_spec\_vol\_array called with an unassociated EOS\_type EOS."})
00502 
00503   \textcolor{keywordflow}{select case} (eos%form\_of\_EOS)
00504     \textcolor{keywordflow}{case} (eos\_linear)
00505       \textcolor{keyword}{call }calculate\_spec\_vol\_linear(t, s, pressure, specvol, start, npts, &
00506                eos%rho\_T0\_S0, eos%drho\_dT, eos%drho\_dS, spv\_ref)
00507     \textcolor{keywordflow}{case} (eos\_unesco)
00508       \textcolor{keyword}{call }calculate\_spec\_vol\_unesco(t, s, pressure, specvol, start, npts, spv\_ref)
00509     \textcolor{keywordflow}{case} (eos\_wright)
00510       \textcolor{keyword}{call }calculate\_spec\_vol\_wright(t, s, pressure, specvol, start, npts, spv\_ref)
00511     \textcolor{keywordflow}{case} (eos\_teos10)
00512       \textcolor{keyword}{call }calculate\_spec\_vol\_teos10(t, s, pressure, specvol, start, npts, spv\_ref)
00513     \textcolor{keywordflow}{case} (eos\_nemo)
00514       \textcolor{keyword}{call }calculate\_density\_nemo(t, s, pressure, rho, start, npts)
00515       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(spv\_ref)) \textcolor{keywordflow}{then}
00516         specvol(:) = 1.0 / rho(:) - spv\_ref
00517       \textcolor{keywordflow}{else}
00518         specvol(:) = 1.0 / rho(:)
00519 \textcolor{keywordflow}{      endif}
00520 \textcolor{keywordflow}{    case default}
00521       \textcolor{keyword}{call }mom\_error(fatal, \textcolor{stringliteral}{"calculate\_spec\_vol\_array: EOS%form\_of\_EOS is not valid."})
00522 \textcolor{keywordflow}{  end select}
00523 
00524   \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(scale)) \textcolor{keywordflow}{then} ; \textcolor{keywordflow}{if} (scale /= 1.0) \textcolor{keywordflow}{then} ; \textcolor{keywordflow}{do} j=start,start+npts-1
00525     specvol(j) = scale * specvol(j)
00526 \textcolor{keywordflow}{  enddo} ;\textcolor{keywordflow}{ endif} ;\textcolor{keywordflow}{ endif}
00527 
\end{DoxyCode}


The documentation for this interface was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/home/cermak/src/\+M\+O\+M6/src/equation\+\_\+of\+\_\+state/\hyperlink{MOM__EOS_8F90}{M\+O\+M\+\_\+\+E\+O\+S.\+F90}\end{DoxyCompactItemize}
