CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
test_tempo_init_suite.F90
2 !! unit tests for module_mp_tempo_init
3 use testdrive, only : new_unittest, unittest_type, error_type, check
4 use module_mp_tempo_params, only : wp, sp, dp, &
5 initialize_graupel_vars, dim_nrhg, nrhg, nrhg1, rho_g, am_g, pi, &
6 initialize_parameters, ccg, &
7 initialize_bins_for_tables, dc, nbc
8 implicit none
9 private
10
11 public :: collect_tempo_init_suite
12
13 contains
14
15 ! collect all exported unit tests
16 subroutine collect_tempo_init_suite(testsuite)
17 ! collection of tests
18 type(unittest_type), allocatable, intent(out) :: testsuite(:)
19
20 testsuite = [ &
21 new_unittest("checking thatdim_nrhg=9 when hail-aware = true", &
22 initializegraupelvars_dimnrhg9_when_hailawaretrue), &
23 new_unittest("checking that dim_nrhg=1 with hail-aware = false", &
24 initializegraupelvars_dimnrhg1_when_hailawarefalse), &
25 new_unittest("checking that ccg(2,4) = 7! = 5040", &
26 initializeparameters_ccgvalue5040), &
27 new_unittest("checking the value of the last dc bin, dc(nbc) = 100 microns", &
28 initializebinsfortables_lastdcbin100microns) &
29 ]
30 end subroutine collect_tempo_init_suite
31
32
33 subroutine initializegraupelvars_dimnrhg9_when_hailawaretrue(error)
34 !! test hail-aware initialization
35 type(error_type), allocatable, intent(out) :: error
36
37 call initialize_graupel_vars(hail_flag=.true.)
38 call check(error, dim_nrhg, nrhg)
39 if (allocated(error)) return
40 end subroutine initializegraupelvars_dimnrhg9_when_hailawaretrue
41
42
43 subroutine initializegraupelvars_dimnrhg1_when_hailawarefalse(error)
44 !! test non-hail-aware initialization
45 type(error_type), allocatable, intent(out) :: error
46
47 call initialize_graupel_vars(hail_flag=.false.)
48 call check(error, dim_nrhg, nrhg1)
49 if (allocated(error)) return
50 end subroutine initializegraupelvars_dimnrhg1_when_hailawarefalse
51
52
53 subroutine initializeparameters_ccgvalue5040(error)
54 !! test value of ccg(2,4)
55 type(error_type), allocatable, intent(out) :: error
56
57 call initialize_parameters()
58 call check(error, ccg(2,4), 5040._wp)
59 if (allocated(error)) return
60 end subroutine initializeparameters_ccgvalue5040
61
62
63 subroutine initializebinsfortables_lastdcbin100microns(error)
64 ! test value of last dc bin, dc(nbc)
65 type(error_type), allocatable, intent(out) :: error
66
67 call initialize_bins_for_tables()
68 call check(error, dc(nbc), 100.e-6_wp)
69 if (allocated(error)) return
70 end subroutine initializebinsfortables_lastdcbin100microns
71
72end module test_tempo_init_suite