start_domain.F
References to this file elsewhere.
1 !WRF:MEDIATION_LAYER:ADT_BARRIER
2 !
3
4 SUBROUTINE start_domain ( grid , allowed_to_read )
5
6 USE module_domain
7 USE module_configure
8
9 IMPLICIT NONE
10
11 ! Input Arguments.
12 TYPE (domain) :: grid
13 LOGICAL, INTENT(IN) :: allowed_to_read
14 ! Local data.
15 INTEGER :: dyn_opt
16 INTEGER :: idum1, idum2
17
18 #if ((EM_CORE == 1) && (DA_CORE != 1))
19 INTERFACE
20 # include "start_domain_em.int"
21 END INTERFACE
22 #endif
23 #if (NMM_CORE == 1)
24 INTERFACE
25 # include "start_domain_nmm.int"
26 END INTERFACE
27 #endif
28
29 CALL nl_get_dyn_opt( 1, dyn_opt )
30
31 CALL set_scalar_indices_from_config ( head_grid%id , idum1, idum2 )
32
33 IF ( dyn_opt .eq. DYN_NODYN ) THEN
34
35 #if ((EM_CORE == 1) && (DA_CORE != 1))
36 ELSE IF ( dyn_opt .eq. DYN_EM ) THEN
37 CALL start_domain_em( grid, allowed_to_read &
38 !
39 # include <em_actual_new_args.inc>
40 !
41 )
42 #endif
43 #if (NMM_CORE == 1)
44 ELSE IF ( dyn_opt .eq. DYN_NMM ) THEN
45 CALL start_domain_nmm( grid, allowed_to_read &
46 !
47 # include <nmm_actual_args.inc>
48 !
49 )
50 #endif
51 #if (COAMPS_CORE == 1)
52 ELSE IF ( dyn_opt .eq. DYN_COAMPS ) THEN
53 CALL start_domain_coamps( grid, allowed_to_read &
54 !
55 # include <coamps_actual_args.inc>
56 !
57 )
58 #endif
59
60 !### 4a. edit share/start_domain.F to call domain inits for core if any
61
62 #if (EXP_CORE == 1)
63 ELSE IF ( dyn_opt .eq. DYN_EXP ) THEN
64 #endif
65
66 ELSE
67
68 WRITE(0,*)' start_domain: unknown or unimplemented dyn_opt = ',dyn_opt
69 CALL wrf_error_fatal ( ' start_domain: unknown or unimplemented dyn_opt ' )
70 ENDIF
71
72
73 END SUBROUTINE start_domain
74