<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.14">
  <compounddef id="namespacep1m__functions" kind="namespace" language="Fortran">
    <compoundname>p1m_functions</compoundname>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacep1m__functions_1a233a7aff25cf6581421f76bba053d758" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public p1m_functions::p1m_interpolation</definition>
        <argsstring>(N, h, u, edge_values, ppoly_coef, h_neglect, answers_2018)</argsstring>
        <name>p1m_interpolation</name>
        <param>
          <type>N</type>
          <defname>N</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>u</type>
          <defname>u</defname>
        </param>
        <param>
          <type>edge_values</type>
          <defname>edge_values</defname>
        </param>
        <param>
          <type>ppoly_coef</type>
          <defname>ppoly_coef</defname>
        </param>
        <param>
          <type>h_neglect</type>
          <defname>h_neglect</defname>
        </param>
        <param>
          <type>answers_2018</type>
          <defname>answers_2018</defname>
        </param>
        <briefdescription>
<para>Linearly interpolate between edge values. </para>        </briefdescription>
        <detaileddescription>
<para>The resulting piecewise interpolant is stored in &apos;ppoly&apos;. See &apos;ppoly.F90&apos; for a definition of this structure.</para><para>The edge values MUST have been estimated prior to calling this routine.</para><para>The estimated edge values must be limited to ensure monotonicity of the interpolant. We also make sure that edge values are NOT discontinuous.</para><para>It is assumed that the size of the array &apos;u&apos; is equal to the number of cells defining &apos;grid&apos; and &apos;ppoly&apos;. No consistency check is performed here.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">n</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of cells</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>cell widths (size N) [H]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">u</parametername>
</parameternamelist>
<parameterdescription>
<para>cell average properties (size N) [A]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">edge_values</parametername>
</parameternamelist>
<parameterdescription>
<para>Potentially modified edge values [A]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ppoly_coef</parametername>
</parameternamelist>
<parameterdescription>
<para>Potentially modified piecewise polynomial coefficients, mainly [A]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_neglect</parametername>
</parameternamelist>
<parameterdescription>
<para>A negligibly small width [H]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">answers_2018</parametername>
</parameternamelist>
<parameterdescription>
<para>If true use older, less acccurate expressions. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/ALE/P1M_functions.F90" line="27" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/ALE/P1M_functions.F90" bodystart="28" bodyend="58"/>
        <references refid="namespaceregrid__edge__values_1ad43eb7fa3a284e2b33068f47232521ca" compoundref="regrid__edge__values_8F90" startline="116" endline="133">regrid_edge_values::average_discontinuous_edge_values</references>
        <references refid="namespaceregrid__edge__values_1a8480933738145ee2525e1bf449f14097" compoundref="regrid__edge__values_8F90" startline="45" endline="108">regrid_edge_values::bound_edge_values</references>
        <referencedby refid="namespaceregrid__interp_1a3d1406836d089b4553421776277e1339" compoundref="regrid__interp_8F90" startline="80" endline="262">regrid_interp::regridding_set_ppolys</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacep1m__functions_1a1a45cb8f3f794172d2a19b53e10416c6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public p1m_functions::p1m_boundary_extrapolation</definition>
        <argsstring>(N, h, u, edge_values, ppoly_coef)</argsstring>
        <name>p1m_boundary_extrapolation</name>
        <param>
          <type>N</type>
          <defname>N</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>u</type>
          <defname>u</defname>
        </param>
        <param>
          <type>edge_values</type>
          <defname>edge_values</defname>
        </param>
        <param>
          <type>ppoly_coef</type>
          <defname>ppoly_coef</defname>
        </param>
        <briefdescription>
<para>Interpolation by linear polynomials within boundary cells. </para>        </briefdescription>
        <detaileddescription>
<para>The left and right edge values in the left and right boundary cells, respectively, are estimated using a linear extrapolation within the cells.</para><para>It is assumed that the size of the array &apos;u&apos; is equal to the number of cells defining &apos;grid&apos; and &apos;ppoly&apos;. No consistency check is performed here.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">n</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of cells</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>cell widths (size N) [H]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">u</parametername>
</parameternamelist>
<parameterdescription>
<para>cell averages (size N) [A]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">edge_values</parametername>
</parameternamelist>
<parameterdescription>
<para>edge values of piecewise polynomials [A]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ppoly_coef</parametername>
</parameternamelist>
<parameterdescription>
<para>coefficients of piecewise polynomials, mainly [A] </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/ALE/P1M_functions.F90" line="68" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/ALE/P1M_functions.F90" bodystart="69" bodyend="142"/>
        <referencedby refid="namespaceregrid__interp_1a3d1406836d089b4553421776277e1339" compoundref="regrid__interp_8F90" startline="80" endline="262">regrid_interp::regridding_set_ppolys</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Linear interpolation functions. </para>    </briefdescription>
    <detaileddescription>
<para>Date of creation: 2008.06.09 L. White.</para><para>This module contains p1m (linear) interpolation routines.</para><para>p1m interpolation is performed by estimating the edge values and linearly interpolating between them. </para>    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/ALE/P1M_functions.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
