gray cooling of planetary atmospheres More...
Data Types | |
| type | sources_planetcooling |
Functions/Subroutines | |
| subroutine | initsources (this, Mesh, Physics, Fluxes, config, IO) |
| Constructor of the cooling module for a planetary atmosphere. More... | |
| subroutine | infosources (this, Mesh) |
| subroutine | updatecooling (this, Mesh, Physics, time, pvar) |
| Updates the cooling function of the planetary atmosphere. More... | |
| subroutine | setoutput (this, Mesh, config, IO) |
| Sets the output parameters. More... | |
| subroutine | finalize (this) |
| Destructor. More... | |
Variables | |
| character(len=32), parameter | source_name = "cooling of planetary atmosphere" |
Detailed Description
gray cooling of planetary atmospheres
Program and data initialization for gray cooling of geometrically thin planetary atmospheres. The cooling term is implemented as a sink in the energy equation and accounts for outgoing longwave radiation (OLR). For more details see updateplanetcooling .
References:
- [40] R. T. Pierrehumbert, Principles of Planetary Climate, Cambridge University Press (2010)
Function/Subroutine Documentation
◆ finalize()
|
private |
Destructor.
Definition at line 311 of file sources_planetcooling.f90.
◆ infosources()
| subroutine sources_planetcooling_mod::infosources | ( | class(sources_planetcooling), intent(in) | this, |
| class(mesh_base), intent(in) | Mesh | ||
| ) |
Definition at line 177 of file sources_planetcooling.f90.
◆ initsources()
| subroutine sources_planetcooling_mod::initsources | ( | class(sources_planetcooling), intent(inout) | this, |
| class(mesh_base), intent(in) | Mesh, | ||
| class(physics_base), intent(in) | Physics, | ||
| class(fluxes_base), intent(in) | Fluxes, | ||
| type(dict_typ), pointer | config, | ||
| type(dict_typ), pointer | IO | ||
| ) |
Constructor of the cooling module for a planetary atmosphere.
Definition at line 96 of file sources_planetcooling.f90.
◆ setoutput()
| subroutine sources_planetcooling_mod::setoutput | ( | class(sources_planetcooling), intent(inout) | this, |
| class(mesh_base), intent(in) | Mesh, | ||
| type(dict_typ), pointer | config, | ||
| type(dict_typ), pointer | IO | ||
| ) |
Sets the output parameters.
Output:
- cooling term: \( Q_{\mathrm{cool}} \)
- surface temperature: \( T_{\mathrm{s}} \)
- surface pressure: \( P_{\mathrm{s}} \)
- surface density: \( \varrho_{\mathrm{s}} \)
- Todo:
- allocate output arrays P_s and RHO_s only if requested
Definition at line 266 of file sources_planetcooling.f90.
◆ updatecooling()
|
private |
Updates the cooling function of the planetary atmosphere.
The cooling term is in its essence a modified Stefan-Boltzman law, but it includes many assumptions about the considered atmosphere (see [40] 199 pp.):
- all heating/cooling processes are within the troposphere
- the atmosphere is plane-parallel
- the vertical stratification is dry-adiabatic
- all the greenhouse gases are integrated and assumed to be in infrared
- a not to small optical depth \( \tau_{\infty} \) ( \( \geq 5 \)) (in infrared)
This two-stream approximation leads to the outgoing-longwave radiation (OLR)
\[ I_{+,\infty} = \sigma T_{\mathrm{s}}^4 \tau_{\infty}^{4\frac{\gamma - 1}{\gamma}} \Gamma \left( 1 + \frac{4(\gamma -1)}{\gamma} \right), \]
with \( T_{\mathrm{s}} \) the surface temperature and \( \Gamma \) the Gamma function
Definition at line 217 of file sources_planetcooling.f90.

Variable Documentation
◆ source_name
|
private |
Definition at line 67 of file sources_planetcooling.f90.
1.9.4