Skip to content

Commit

Permalink
build based on 46b71aa
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Aug 4, 2023
1 parent 538cbff commit 6a930e5
Show file tree
Hide file tree
Showing 20 changed files with 411 additions and 411 deletions.
2 changes: 1 addition & 1 deletion previews/PR363/barotropic/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
w_{i+1} &= u_{i-1} + 2\Delta tF(v_i) \\
u_i &= v_i + \frac{\nu\alpha}{2}(w_{i+1} - 2v_i + u_{i-1}) \\
v_{i+1} &= w_{i+1} - \frac{\nu(1-\alpha)}{2}(w_{i+1} - 2v_i + u_{i-1})
\end{aligned}\]</p><p>with the Williams filter parameter <span>$\alpha \in [0.5,1]$</span>. For <span>$\alpha=1$</span> we&#39;re back with the Robert-Asselin filter (the first two lines).</p><p>The Laplacian in the parentheses is often called a <em>displacement</em>, meaning that the filtered value is displaced (or corrected) in the direction of the two surrounding time steps. The Williams filter now also applies the same displacement, but in the opposite direction to the next time step <span>$i+1$</span> as a correction step (line 3 above) for a once-filtered value <span>$v_{i+1}$</span> which will then be twice-filtered by the Robert-Asselin filter on the next iteration. For more details see the referenced publications.</p><p>The initial Euler step (see <a href="#leapfrog">Time integration</a>, Table) is not filtered. Both the the Robert-Asselin and Williams filter are then switched on for all following leapfrog time steps.</p><h2 id="References"><a class="docs-heading-anchor" href="#References">References</a><a id="References-1"></a><a class="docs-heading-anchor-permalink" href="#References" title="Permalink"></a></h2><section class="footnotes is-size-7"><ul><li class="footnote" id="footnote-1"><a class="tag is-link" href="#citeref-1">1</a>Geophysical Fluid Dynamics Laboratory, <a href="https://www.gfdl.noaa.gov/idealized-models-with-spectral-dynamics/">Idealized models with spectral dynamics</a></li><li class="footnote" id="footnote-2"><a class="tag is-link" href="#citeref-2">2</a>Geophysical Fluid Dynamics Laboratory, <a href="https://www.gfdl.noaa.gov/wp-content/uploads/files/user_files/pjp/barotropic.pdf">The barotropic vorticity equation</a>.</li><li class="footnote" id="footnote-Robert66"><a class="tag is-link" href="#citeref-Robert66">Robert66</a>Robert, André. “The Integration of a Low Order Spectral Form of the Primitive Meteorological Equations.” Journal of the Meteorological Society of Japan 44 (1966): 237-245.</li><li class="footnote" id="footnote-Asselin72"><a class="tag is-link" href="#citeref-Asselin72">Asselin72</a>ASSELIN, R., 1972: Frequency Filter for Time Integrations. Mon. Wea. Rev., 100, 487–490, doi:<a href="https://doi.org/10.1175/1520-0493(1972)100&lt;0487:FFFTI&gt;2.3.CO;2.">10.1175/1520-0493(1972)100&lt;0487:FFFTI&gt;2.3.CO;2</a></li><li class="footnote" id="footnote-Williams2009"><a class="tag is-link" href="#citeref-Williams2009">Williams2009</a>Williams, P. D., 2009: A Proposed Modification to the Robert–Asselin Time Filter. Mon. Wea. Rev., 137, 2538–2546, <a href="https://doi.org/10.1175/2009MWR2724.1">10.1175/2009MWR2724.1</a>.</li><li class="footnote" id="footnote-Amezcua2011"><a class="tag is-link" href="#citeref-Amezcua2011">Amezcua2011</a>Amezcua, J., E. Kalnay, and P. D. Williams, 2011: The Effects of the RAW Filter on the Climatology and Forecast Skill of the SPEEDY Model. Mon. Wea. Rev., 139, 608–619, doi:<a href="https://doi.org/10.1175/2010MWR3530.1">10.1175/2010MWR3530.1</a>. </li><li class="footnote" id="footnote-Williams2011"><a class="tag is-link" href="#citeref-Williams2011">Williams2011</a>Williams, P. D., 2011: The RAW Filter: An Improvement to the Robert–Asselin Filter in Semi-Implicit Integrations. Mon. Wea. Rev., 139, 1996–2007, doi:<a href="https://doi.org/10.1175/2010MWR3601.1">10.1175/2010MWR3601.1</a>. </li></ul></section></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../grids/">« Grids</a><a class="docs-footer-nextpage" href="../shallowwater/">Shallow water model »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Thursday 3 August 2023 22:18">Thursday 3 August 2023</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
\end{aligned}\]</p><p>with the Williams filter parameter <span>$\alpha \in [0.5,1]$</span>. For <span>$\alpha=1$</span> we&#39;re back with the Robert-Asselin filter (the first two lines).</p><p>The Laplacian in the parentheses is often called a <em>displacement</em>, meaning that the filtered value is displaced (or corrected) in the direction of the two surrounding time steps. The Williams filter now also applies the same displacement, but in the opposite direction to the next time step <span>$i+1$</span> as a correction step (line 3 above) for a once-filtered value <span>$v_{i+1}$</span> which will then be twice-filtered by the Robert-Asselin filter on the next iteration. For more details see the referenced publications.</p><p>The initial Euler step (see <a href="#leapfrog">Time integration</a>, Table) is not filtered. Both the the Robert-Asselin and Williams filter are then switched on for all following leapfrog time steps.</p><h2 id="References"><a class="docs-heading-anchor" href="#References">References</a><a id="References-1"></a><a class="docs-heading-anchor-permalink" href="#References" title="Permalink"></a></h2><section class="footnotes is-size-7"><ul><li class="footnote" id="footnote-1"><a class="tag is-link" href="#citeref-1">1</a>Geophysical Fluid Dynamics Laboratory, <a href="https://www.gfdl.noaa.gov/idealized-models-with-spectral-dynamics/">Idealized models with spectral dynamics</a></li><li class="footnote" id="footnote-2"><a class="tag is-link" href="#citeref-2">2</a>Geophysical Fluid Dynamics Laboratory, <a href="https://www.gfdl.noaa.gov/wp-content/uploads/files/user_files/pjp/barotropic.pdf">The barotropic vorticity equation</a>.</li><li class="footnote" id="footnote-Robert66"><a class="tag is-link" href="#citeref-Robert66">Robert66</a>Robert, André. “The Integration of a Low Order Spectral Form of the Primitive Meteorological Equations.” Journal of the Meteorological Society of Japan 44 (1966): 237-245.</li><li class="footnote" id="footnote-Asselin72"><a class="tag is-link" href="#citeref-Asselin72">Asselin72</a>ASSELIN, R., 1972: Frequency Filter for Time Integrations. Mon. Wea. Rev., 100, 487–490, doi:<a href="https://doi.org/10.1175/1520-0493(1972)100&lt;0487:FFFTI&gt;2.3.CO;2.">10.1175/1520-0493(1972)100&lt;0487:FFFTI&gt;2.3.CO;2</a></li><li class="footnote" id="footnote-Williams2009"><a class="tag is-link" href="#citeref-Williams2009">Williams2009</a>Williams, P. D., 2009: A Proposed Modification to the Robert–Asselin Time Filter. Mon. Wea. Rev., 137, 2538–2546, <a href="https://doi.org/10.1175/2009MWR2724.1">10.1175/2009MWR2724.1</a>.</li><li class="footnote" id="footnote-Amezcua2011"><a class="tag is-link" href="#citeref-Amezcua2011">Amezcua2011</a>Amezcua, J., E. Kalnay, and P. D. Williams, 2011: The Effects of the RAW Filter on the Climatology and Forecast Skill of the SPEEDY Model. Mon. Wea. Rev., 139, 608–619, doi:<a href="https://doi.org/10.1175/2010MWR3530.1">10.1175/2010MWR3530.1</a>. </li><li class="footnote" id="footnote-Williams2011"><a class="tag is-link" href="#citeref-Williams2011">Williams2011</a>Williams, P. D., 2011: The RAW Filter: An Improvement to the Robert–Asselin Filter in Semi-Implicit Integrations. Mon. Wea. Rev., 139, 1996–2007, doi:<a href="https://doi.org/10.1175/2010MWR3601.1">10.1175/2010MWR3601.1</a>. </li></ul></section></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../grids/">« Grids</a><a class="docs-footer-nextpage" href="../shallowwater/">Shallow water model »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Friday 4 August 2023 19:22">Friday 4 August 2023</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion previews/PR363/conventions/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
...</code></pre><h2 id="Preallocation"><a class="docs-heading-anchor" href="#Preallocation">Preallocation</a><a id="Preallocation-1"></a><a class="docs-heading-anchor-permalink" href="#Preallocation" title="Permalink"></a></h2><p>All arrays representing variables are preallocated and grouped into two structs</p><pre><code class="language-julia hljs"> Prog::PrognosticVariables
Diag::DiagnosticVariables</code></pre><p>The <code>Diag</code> struct contains further structs which represent the grid-point transformations of the prognostic variables and their tendencies.</p><pre><code class="language-julia hljs"> gridvars::GridVariables
tendencies::Tendencies
...</code></pre><p>Constant arrays are grouped into several structs</p><pre><code class="language-julia hljs">Boundaries</code></pre><h2 id="Julian-conventions"><a class="docs-heading-anchor" href="#Julian-conventions">Julian conventions</a><a id="Julian-conventions-1"></a><a class="docs-heading-anchor-permalink" href="#Julian-conventions" title="Permalink"></a></h2><p>We follow Julia&#39;s <a href="https://docs.julialang.org/en/v1/manual/style-guide/#Style-Guide">style guide</a> and highlight here some important aspects of it.</p><ul><li><strong>Bang (!) convention</strong>. A function <code>func</code> does not change its input arguments, however, <code>func!</code> does.</li></ul><p>Hence, <code>func!</code> is often the in-place version of <code>func</code>, avoiding as much memory allocation as possible and often changing its first argument, e.g. <code>func!(out,in)</code> so that argument <code>in</code> is used to calculate <code>out</code> which has been preallocated before function call.</p><ul><li><strong>Number format flexibility</strong>. Numeric literals such as <code>2.0</code> or <code>1/3</code> are only used in the model setup</li></ul><p>but avoided throughout the code to obtain a fully number format-flexible package using the number format <code>NF</code> as a compile-time variable throughout the code. This often leads to overly specific code whereas a <code>Real</code> would generally suffice. However, this is done to avoid any implicit type conversions.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../speedytransforms/">« Submodule: SpeedyTransforms</a><a class="docs-footer-nextpage" href="../development/">Development notes »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Thursday 3 August 2023 22:18">Thursday 3 August 2023</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
...</code></pre><p>Constant arrays are grouped into several structs</p><pre><code class="language-julia hljs">Boundaries</code></pre><h2 id="Julian-conventions"><a class="docs-heading-anchor" href="#Julian-conventions">Julian conventions</a><a id="Julian-conventions-1"></a><a class="docs-heading-anchor-permalink" href="#Julian-conventions" title="Permalink"></a></h2><p>We follow Julia&#39;s <a href="https://docs.julialang.org/en/v1/manual/style-guide/#Style-Guide">style guide</a> and highlight here some important aspects of it.</p><ul><li><strong>Bang (!) convention</strong>. A function <code>func</code> does not change its input arguments, however, <code>func!</code> does.</li></ul><p>Hence, <code>func!</code> is often the in-place version of <code>func</code>, avoiding as much memory allocation as possible and often changing its first argument, e.g. <code>func!(out,in)</code> so that argument <code>in</code> is used to calculate <code>out</code> which has been preallocated before function call.</p><ul><li><strong>Number format flexibility</strong>. Numeric literals such as <code>2.0</code> or <code>1/3</code> are only used in the model setup</li></ul><p>but avoided throughout the code to obtain a fully number format-flexible package using the number format <code>NF</code> as a compile-time variable throughout the code. This often leads to overly specific code whereas a <code>Real</code> would generally suffice. However, this is done to avoid any implicit type conversions.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../speedytransforms/">« Submodule: SpeedyTransforms</a><a class="docs-footer-nextpage" href="../development/">Development notes »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Friday 4 August 2023 19:22">Friday 4 August 2023</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 6a930e5

Please sign in to comment.