initialize variables for tempo microphysics
includes a procedure to build and save tempo lookup tables
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(ty_tempo_table_cfgs), | private | :: | tempo_table_cfgs |
builds three lookup tables for tempo microphysics
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | build_tables_rank | |||
| integer, | intent(in) | :: | build_tables_num_proc |
build lookup table data for frozen cloud and rain water
write data for frozen cloud water and rain to a file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | filename |
build lookup table data for rain-snow collection
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | rank | |||
| integer, | intent(in) | :: | num_proc |
write data for rain-snow collection to a file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | filename |
build lookup table data for rain-graupel collection
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | rank | |||
| integer, | intent(in) | :: | num_proc |
write data for rain-graupel collection to a file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | filename |
wrapper to simplify MPI_Gatherv
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=table_dp), | intent(in), | dimension(:) | :: | local_flat | ||
| real(kind=table_dp), | intent(out), | dimension(:) | :: | global_flat | ||
| integer, | intent(in), | dimension(:) | :: | sendcounts | ||
| integer, | intent(in), | dimension(:) | :: | displacements | ||
| integer, | intent(inout) | :: | ierror |
returns start and end index values for an array dimension of size idx distributed over num_procs
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | idx | |||
| integer, | intent(in) | :: | rank | |||
| integer, | intent(in) | :: | num_proc | |||
| integer, | intent(out) | :: | start_idx | |||
| integer, | intent(out) | :: | end_idx |
calculates rain collecting snow (and inverse)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | local_start | |||
| integer, | intent(in) | :: | local_end | |||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltcs_racs1 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltmr_racs1 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltcs_racs2 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltmr_racs2 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltcr_sacr1 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltms_sacr1 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltcr_sacr2 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltms_sacr2 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltnr_racs1 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltnr_racs2 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltnr_sacr1 | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:) | :: | ltnr_sacr2 |
rain collecting graupel (and inverse) using explicit integration
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | local_start | |||
| integer, | intent(in) | :: | local_end | |||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:,:) | :: | ltcg_racg | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:,:) | :: | ltmr_racg | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:,:) | :: | ltcr_gacr | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:,:) | :: | ltnr_racg | ||
| real(kind=table_dp), | intent(out), | dimension(:,:,:,:,:) | :: | ltnr_gacr |
calculates the probability of drops of a particular volume freezing from Bigg (1953) https://doi.org/10.1002/qj.49707934207