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