Type-Bound Procedures
-
public subroutine allocate_cloud_arrays(this, ncol, nlev, ntype, use_inhom_effective_size)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout), |
|
target
|
:: |
this |
|
|
integer,
|
intent(in) |
|
|
:: |
ncol |
|
|
integer,
|
intent(in) |
|
|
:: |
nlev |
|
|
integer,
|
intent(in), |
optional |
|
:: |
ntype |
|
|
logical,
|
intent(in), |
optional |
|
:: |
use_inhom_effective_size |
|
-
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
procedure, public :: set_overlap_param_fix
-
public subroutine set_overlap_param_fix(this, thermodynamics, decorrelation_length, istartcol, iendcol)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
type(thermodynamics_type),
|
intent(in) |
|
|
:: |
thermodynamics |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
decorrelation_length |
|
|
integer,
|
intent(in), |
optional |
|
:: |
istartcol |
|
|
integer,
|
intent(in), |
optional |
|
:: |
iendcol |
|
procedure, public :: set_overlap_param_var
-
public subroutine set_overlap_param_var(this, thermodynamics, decorrelation_length, istartcol, iendcol)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
type(thermodynamics_type),
|
intent(in) |
|
|
:: |
thermodynamics |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
decorrelation_length(istartcol:iendcol) |
|
|
integer,
|
intent(in) |
|
|
:: |
istartcol |
|
|
integer,
|
intent(in) |
|
|
:: |
iendcol |
|
-
public subroutine set_overlap_param_fix(this, thermodynamics, decorrelation_length, istartcol, iendcol)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
type(thermodynamics_type),
|
intent(in) |
|
|
:: |
thermodynamics |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
decorrelation_length |
|
|
integer,
|
intent(in), |
optional |
|
:: |
istartcol |
|
|
integer,
|
intent(in), |
optional |
|
:: |
iendcol |
|
-
public subroutine set_overlap_param_var(this, thermodynamics, decorrelation_length, istartcol, iendcol)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
type(thermodynamics_type),
|
intent(in) |
|
|
:: |
thermodynamics |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
decorrelation_length(istartcol:iendcol) |
|
|
integer,
|
intent(in) |
|
|
:: |
istartcol |
|
|
integer,
|
intent(in) |
|
|
:: |
iendcol |
|
procedure, public :: set_overlap_param_var2D
-
public subroutine set_overlap_param_var2D(this, thermodynamics, decorrelation_length, klev, istartcol, iendcol)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
type(thermodynamics_type),
|
intent(in) |
|
|
:: |
thermodynamics |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
decorrelation_length(istartcol:iendcol,klev) |
|
|
integer,
|
intent(in) |
|
|
:: |
klev |
|
|
integer,
|
intent(in) |
|
|
:: |
istartcol |
|
|
integer,
|
intent(in) |
|
|
:: |
iendcol |
|
procedure, public :: set_overlap_param_approx
-
public subroutine set_overlap_param_approx(this, thermodynamics, decorrelation_length, istartcol, iendcol)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
type(thermodynamics_type),
|
intent(in) |
|
|
:: |
thermodynamics |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
decorrelation_length |
|
|
integer,
|
intent(in), |
optional |
|
:: |
istartcol |
|
|
integer,
|
intent(in), |
optional |
|
:: |
iendcol |
|
procedure, public :: create_fractional_std
-
public subroutine create_fractional_std(this, ncol, nlev, frac_std)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
integer,
|
intent(in) |
|
|
:: |
ncol |
|
|
integer,
|
intent(in) |
|
|
:: |
nlev |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
frac_std |
|
procedure, public :: create_inv_cloud_effective_size
-
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
integer,
|
intent(in) |
|
|
:: |
ncol |
|
|
integer,
|
intent(in) |
|
|
:: |
nlev |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
inv_eff_size |
|
procedure, public :: create_inv_cloud_effective_size_eta
-
public subroutine create_inv_cloud_effective_size_eta(this, ncol, nlev, pressure_hl, inv_eff_size_low, inv_eff_size_mid, inv_eff_size_high, eta_low_mid, eta_mid_high, istartcol, iendcol)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
integer,
|
intent(in) |
|
|
:: |
ncol |
|
|
integer,
|
intent(in) |
|
|
:: |
nlev |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
pressure_hl(:,:) |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
inv_eff_size_low |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
inv_eff_size_mid |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
inv_eff_size_high |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
eta_low_mid |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
eta_mid_high |
|
|
integer,
|
intent(in), |
optional |
|
:: |
istartcol |
|
|
integer,
|
intent(in), |
optional |
|
:: |
iendcol |
|
procedure, public :: param_cloud_effective_separation_eta
-
public subroutine param_cloud_effective_separation_eta(this, ncol, nlev, pressure_hl, separation_surf, separation_toa, power, inhom_separation_factor, istartcol, iendcol)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
integer,
|
intent(in) |
|
|
:: |
ncol |
|
|
integer,
|
intent(in) |
|
|
:: |
nlev |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
pressure_hl(:,:) |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
separation_surf |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
separation_toa |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
power |
|
|
real(kind=jprb),
|
intent(in), |
optional |
|
:: |
inhom_separation_factor |
|
|
integer,
|
intent(in), |
optional |
|
:: |
istartcol |
|
|
integer,
|
intent(in), |
optional |
|
:: |
iendcol |
|
procedure, public :: param_cloud_effective_separation_tanh
-
public subroutine param_cloud_effective_separation_tanh(this, ncol, nlev, pressure_hl, lx_surf, lx_toa, gama, inhom_separation_factor, istartcol, iendcol)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
integer,
|
intent(in) |
|
|
:: |
ncol |
|
|
integer,
|
intent(in) |
|
|
:: |
nlev |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
pressure_hl(:,:) |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
lx_surf |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
lx_toa |
|
|
real(kind=jprb),
|
intent(in) |
|
|
:: |
gama |
|
|
real(kind=jprb),
|
intent(in), |
optional |
|
:: |
inhom_separation_factor |
|
|
integer,
|
intent(in), |
optional |
|
:: |
istartcol |
|
|
integer,
|
intent(in), |
optional |
|
:: |
iendcol |
|
procedure, public :: crop_cloud_fraction
-
public subroutine crop_cloud_fraction(this, istartcol, iendcol, cloud_fraction_threshold, cloud_mixing_ratio_threshold)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
integer,
|
intent(in) |
|
|
:: |
istartcol |
|
|
integer,
|
intent(in) |
|
|
:: |
iendcol |
|
|
real(kind=jprb)
|
|
|
|
:: |
cloud_fraction_threshold |
|
|
real(kind=jprb)
|
|
|
|
:: |
cloud_mixing_ratio_threshold |
|
procedure, public :: out_of_physical_bounds
-
public function out_of_physical_bounds(this, istartcol, iendcol, do_fix) result(is_bad)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(cloud_type),
|
intent(inout) |
|
|
:: |
this |
|
|
integer,
|
intent(in), |
optional |
|
:: |
istartcol |
|
|
integer,
|
intent(in), |
optional |
|
:: |
iendcol |
|
|
logical,
|
intent(in), |
optional |
|
:: |
do_fix |
|
Return Value
logical