For performing horizontal diffusion.
Adds horizontal diffusion tendency of field to spectral tendency fdt using damping coefficients dmp and dmp1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=p), | intent(in) | :: | field(mx,nx) | |||
| complex(kind=p), | intent(in) | :: | fdt_in(mx,nx) | |||
| real(kind=p), | intent(in) | :: | dmp_in(mx,nx) | |||
| real(kind=p), | intent(in) | :: | dmp1_in(mx,nx) |
Adds horizontal diffusion tendency of field to spectral tendency fdt at all model levels using damping coefficients dmp and dmp1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=p), | intent(in) | :: | field(mx,nx,kx) | |||
| complex(kind=p), | intent(in) | :: | fdt_in(mx,nx,kx) | |||
| real(kind=p), | intent(in) | :: | dmp_in(mx,nx) | |||
| real(kind=p), | intent(in) | :: | dmp1_in(mx,nx) |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=p), | private, | allocatable | :: | dmp(:,:) | Damping coefficient for temperature and vorticity (explicit) |
||
| real(kind=p), | private, | allocatable | :: | dmpd(:,:) | Damping coefficient for divergence (explicit) |
||
| real(kind=p), | private, | allocatable | :: | dmps(:,:) | Damping coefficient for extra diffusion in the stratosphere (explicit) |
||
| real(kind=p), | private, | allocatable | :: | dmp1(:,:) | Damping coefficient for temperature and vorticity (implicit) |
||
| real(kind=p), | private, | allocatable | :: | dmp1d(:,:) | Damping coefficient for divergence (implicit) |
||
| real(kind=p), | private, | allocatable | :: | dmp1s(:,:) | Damping coefficient for extra diffusion in the stratosphere (implicit) |
||
| real(kind=p), | private, | allocatable | :: | tcorv(:) | Vertical component of orographic correction for temperature |
||
| real(kind=p), | private, | allocatable | :: | qcorv(:) | Vertical component of orographic correction for humidity |
||
| complex(kind=p), | private, | allocatable | :: | tcorh(:,:) | Horizontal component of orographic correction for temperature |
||
| complex(kind=p), | private, | allocatable | :: | qcorh(:,:) | Horizontal component of orographic correction for humidity |
||
| logical, | private | :: | mod_diffusion_initialized | = | .false. | ||
| class(ModGeometry_t), | private, | pointer | :: | mod_geometry | => | null() | Spectral module instance |
| logical, | private | :: | mod_geometry_initialized | = | .false. |
| procedure, public :: initialize => ModHorizontalDiffusion_initialize | |
| procedure, public :: delete => ModHorizontalDiffusion_delete |
Adds horizontal diffusion tendency of field to spectral tendency fdt using damping coefficients dmp and dmp1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=p), | intent(in) | :: | field(mx,nx) | |||
| complex(kind=p), | intent(in) | :: | fdt_in(mx,nx) | |||
| real(kind=p), | intent(in) | :: | dmp_in(mx,nx) | |||
| real(kind=p), | intent(in) | :: | dmp1_in(mx,nx) |
Adds horizontal diffusion tendency of field to spectral tendency fdt at all model levels using damping coefficients dmp and dmp1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=p), | intent(in) | :: | field(mx,nx,kx) | |||
| complex(kind=p), | intent(in) | :: | fdt_in(mx,nx,kx) | |||
| real(kind=p), | intent(in) | :: | dmp_in(mx,nx) | |||
| real(kind=p), | intent(in) | :: | dmp1_in(mx,nx) |
Initializes the arrays used for horizontal diffusion.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModHorizontalDiffusion_t), | intent(inout) | :: | this | |||
| class(ModGeometry_t), | intent(in), | target | :: | mod_geometry |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModHorizontalDiffusion_t), | intent(inout) | :: | this |