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.