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 
24    CALL nl_get_dyn_opt( 1, dyn_opt )
25   
26    CALL set_scalar_indices_from_config ( head_grid%id , idum1, idum2 )
27 
28    IF (      dyn_opt .eq. DYN_NODYN ) THEN
29 
30 #if ((EM_CORE == 1) && (DA_CORE != 1))
31    ELSE IF (      dyn_opt .eq. DYN_EM ) THEN
32      CALL start_domain_em( grid, allowed_to_read  &
33 !
34 # include <em_actual_new_args.inc>
35 !
36                          )
37 #endif
38 #if (NMM_CORE == 1)
39    ELSE IF (      dyn_opt .eq. DYN_NMM ) THEN
40      CALL start_domain_nmm( grid, allowed_to_read   &
41 !
42 # include <nmm_actual_args.inc>
43 !
44                          )
45 #endif
46 #if (COAMPS_CORE == 1)
47    ELSE IF (      dyn_opt .eq. DYN_COAMPS ) THEN
48      CALL start_domain_coamps( grid, allowed_to_read   &
49 !
50 # include <coamps_actual_args.inc>
51 !
52                          )
53 #endif
54 
55 !### 4a. edit share/start_domain.F to call domain inits for core if any
56 
57 #if (EXP_CORE == 1)
58    ELSE IF (      dyn_opt .eq. DYN_EXP ) THEN
59 #endif
60 
61    ELSE
62 
63      WRITE(0,*)' start_domain: unknown or unimplemented dyn_opt = ',dyn_opt
64      CALL wrf_error_fatal ( ' start_domain: unknown or unimplemented dyn_opt ' ) 
65    ENDIF
66 
67 
68 END SUBROUTINE start_domain
69