Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Held suarez docs #189

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Held suarez docs #189

wants to merge 10 commits into from

Conversation

ntlewis
Copy link
Contributor

@ntlewis ntlewis commented Oct 7, 2020

This PR addresses issue #155 by adding documentation for hs_forcing_mod.

Geoff, you're down to review this. Brett, you're down for quality control.

Denis: I have requested you as a reviewer also as there are a couple of 'deleted' files in the commit that were carried over from my master, and I'd like to remove them so the P/R is tidy. Can you assist with this?

@ntlewis
Copy link
Contributor Author

ntlewis commented Oct 7, 2020

@dennissergeev: Ignore the comment in the description. The deleted files have left no trace on the P/R.

@dennissergeev dennissergeev added docs idealised Idealised setup: Single-Column, Held-Suarez, etc. priority:high High-priority task labels Oct 12, 2020
Copy link
Contributor

@wseviour wseviour left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really great @ntlewis - very impressively thorough! I've only made a few small edits/suggestions here.

I've made a bunch of additions to hs_forcing.F90 over here (Polvani-Kushner stratosphere, polar centred heating, QBO relaxation) and I'll be sure to update these docs when I eventually get around to a PR.

The subroutine ``rayleigh_damping`` contains options to apply a linear relaxation to the zonal and meridional winds.

| **Held and Suarez linear drag**
| The default option for the ``rayleigh_damping`` subroutine (selected with ``relax_to_specified_wind=.FALSE.``) applies a linear drag to the zonal and meridional wind within the model boundary layer. The drag takes the form
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the .FALSE. here (and elsewhere) might be better as a more pythonic False


where :math:`\mathbf{u}_{r}` is the specified relaxation wind profile, and the overline denotes a zonal average. :math:`k_{f}` is the same as above. Note that in this instance, the relaxation is applied at all model levels, not just in the boundary layer.

The name of the netCDF files are specified with the namelist options ``u_wind_file`` and ``v_wind_file``, and should exclude the ``.nc`` suffix. Note: in the netCDF file, the :math:`u` and :math:`v` variables must be the same name as their respective file names, i.e., ``u_wind_file`` and ``v_wind_file``. The path to the file should be configured in the model's python run script (see the test cases for examples of how to do this).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think there is actually a test case which takes in wind specified in a netCDF file.




Top-down Newtonian damping
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a note, I have found the stability of the top-down routine to be very dependent on the choice of sigma levels. I think I only managed to get it to converge using even_sigma (as it is in the test case). I'm not sure if this is more widely known, but perhaps it should be noted here if so?


**Other**

There are also optins for a tracer source and sink, ``trflux`` and ``trsink``. These are currently undocumented, however, as Isca only uses the ``hs_forcing`` when the model is dry and there are no tracers.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
There are also optins for a tracer source and sink, ``trflux`` and ``trsink``. These are currently undocumented, however, as Isca only uses the ``hs_forcing`` when the model is dry and there are no tracers.
There are also options for a tracer source and sink, ``trflux`` and ``trsink``. These are currently undocumented, however, as Isca only uses the ``hs_forcing`` when the model is dry and there are no tracers.


**Other**

There are also optins for a tracer source and sink, ``trflux`` and ``trsink``. These are currently undocumented, however, as Isca only uses the ``hs_forcing`` when the model is dry and there are no tracers.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps change there are no tracers to there are no active tracers, since it is possible to add passive tracers in the dry model.

**Top down**

:sigma_b: Top-of-boundary layer pressure, as for the Rayleigh damping. The same namelist variable is used for each of the ``rayleigh_damping``, ``newtonian_damping`` and ``top_down_newtonian_damping`` subroutines.
:lapse: Lapse rate :math:`\Gamma`. Units are :math:`\text{K}\,\text{km}^{-1}`. Default :math:`6\,\text{K}\,text{km}^{-1}`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing \ on final units

Suggested change
:lapse: Lapse rate :math:`\Gamma`. Units are :math:`\text{K}\,\text{km}^{-1}`. Default :math:`6\,\text{K}\,text{km}^{-1}`.
:lapse: Lapse rate :math:`\Gamma`. Units are :math:`\text{K}\,\text{km}^{-1}`. Default :math:`6\,\text{K}\,\text{km}^{-1}`.


Authors
----------
This documentation was written by Neil Lewis, peer reviewed by X, and quality controlled by Y.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This documentation was written by Neil Lewis, peer reviewed by X, and quality controlled by Y.
This documentation was written by Neil Lewis, peer reviewed by Will Seviour, and quality controlled by Y.


Summary
-------
This module is contains the 'physics options' used by Isca when the flag ``idealised_moist_model`` in ``atmosphere_nml`` is set to ``FALSE``.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we also want to make clear that if would be preferable to dofrom isca import DryCodeBase for this, not just setting the idealised_moist_model flag?


Summary
-------
This module is contains the 'physics options' used by Isca when the flag ``idealised_moist_model`` in ``atmosphere_nml`` is set to ``FALSE``.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need American spelling for this one...

Suggested change
This module is contains the 'physics options' used by Isca when the flag ``idealised_moist_model`` in ``atmosphere_nml`` is set to ``FALSE``.
This module is contains the 'physics options' used by Isca when the flag ``idealized_moist_model`` in ``atmosphere_nml`` is set to ``FALSE``.

Namelist options
----------------

``hs_forcing_mod`` is used when ``idealised_moist_model`` in ``atmosphere_nml`` is set to ``FALSE``.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
``hs_forcing_mod`` is used when ``idealised_moist_model`` in ``atmosphere_nml`` is set to ``FALSE``.
``hs_forcing_mod`` is used when ``idealized_moist_model`` in ``atmosphere_nml`` is set to ``FALSE``.

@rosscastle rosscastle removed priority:high High-priority task idealised Idealised setup: Single-Column, Held-Suarez, etc. labels Apr 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants