For initializing and performing implicit computations. Implicit solver module. This module extends the ModHorizontalDiffusion module.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | private | :: | mod_implicit_initialize_flag | = | .false. | ||
| real(kind=p), | private, | allocatable, dimension(:) | :: | tref | |||
| real(kind=p), | private, | allocatable, dimension(:) | :: | tref2 | |||
| real(kind=p), | private, | allocatable, dimension(:) | :: | tref3 | |||
| real(kind=p), | private, | allocatable, dimension(:) | :: | dhsx | |||
| real(kind=p), | private, | allocatable, dimension(:, :) | :: | xc | |||
| real(kind=p), | private, | allocatable, dimension(:, :) | :: | xd | |||
| real(kind=p), | private, | allocatable, dimension(:, :) | :: | elz | |||
| real(kind=p), | private, | allocatable, dimension(:, :, :) | :: | xj |
| procedure, public :: initialize => ModImplicit_initialize | |
| procedure, public :: set_time_step => ModImplicit_set_time_step | |
| procedure, public :: delete => ModImplicit_delete | |
| procedure, public :: implicit_terms => ModImplicit_implicit_terms |
Initialize constants for implicit computation of horizontal diffusion and gravity waves.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModImplicit_t), | intent(inout) | :: | this | |||
| class(ModGeometry_t), | intent(in), | target | :: | mod_geometry |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModImplicit_t), | intent(inout), | target | :: | this | ||
| real(kind=p), | intent(in) | :: | dt | Time step |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModImplicit_t), | intent(inout) | :: | this |
Correct tendencies for implicit gravity wave model
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModImplicit_t), | intent(inout) | :: | this | |||
| complex(kind=p), | intent(inout) | :: | divdt(mx,nx,kx) | Divergence tendency |
||
| complex(kind=p), | intent(inout) | :: | tdt(mx,nx,kx) | Temperature tendency |
||
| complex(kind=p), | intent(inout) | :: | psdt(mx,nx) | log(surface pressure) tendency |