Merge pull request #22 from wirc-sjsu/develop-w21
[WRF-Fire-merge.git] / phys / module_diag_refl.F
bloba8b776eb7a824b786aec99fed317662ce44fa060
1 !WRF:MEDIATION_LAYER:PHYSICS
4 MODULE module_diag_refl
5 CONTAINS
7 #if (NMM_CORE==1)
8    SUBROUTINE diagnostic_output_calc_refl(                            &
9                       ids,ide, jds,jde, kds,kde,                      &
10                       ims,ime, jms,jme, kms,kme,                      &
11                       its,ite, jts,jte, kts,kte,                      & ! tile dims
12                       diagflag,                                       &
13                       refd_max,refl_10cm                              &
14                                                                      )
15 !----------------------------------------------------------------------
18    IMPLICIT NONE
19 !======================================================================
20 ! Definitions
21 !-----------
22 !-- DIAGFLAG      logical flag to indicate if this is a history output time
23 !-- REF_MAX       max derived radar reflectivity
24 !-- REFL_10CM     model computed 3D reflectivity
26 !-- ids           start index for i in domain
27 !-- ide           end index for i in domain
28 !-- jds           start index for j in domain
29 !-- jde           end index for j in domain
30 !-- kds           start index for k in domain
31 !-- kde           end index for k in domain
32 !-- ims           start index for i in memory
33 !-- ime           end index for i in memory
34 !-- jms           start index for j in memory
35 !-- jme           end index for j in memory
36 !-- kms           start index for k in memory
37 !-- kme           end index for k in memory
38 !-- its           start index for i in tile
39 !-- ite           end index for i in tile
40 !-- jts           start index for j in tile
41 !-- jte           end index for j in tile
42 !-- kts           start index for k in tile
43 !-- kte           end index for k in tile
45 !======================================================================
47    INTEGER,      INTENT(IN   )    ::                             &
48                                       ids,ide, jds,jde, kds,kde, &
49                                       ims,ime, jms,jme, kms,kme, &
50                                       its,ite, jts,jte, kts,kte
52    LOGICAL,   INTENT(IN   )    ::   diagflag
55    INTEGER :: i,j,k
57    REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), INTENT(IN) ::   &
58                                                       refl_10cm
60    REAL, DIMENSION( ims:ime , jms:jme ), INTENT(INOUT) ::        &
61                                                        refd_max
63        DO j=jts,jte
64        DO i=its,ite
65          refd_max(i,j)    = -35.
66        ENDDO
67        ENDDO
69      DO j=jts,jte
70      DO k=kts,kte
71      DO i=its,ite
73 ! Calculate the max radar reflectivity between output times
75        IF ( refl_10cm(i,k,j) .GT. refd_max(i,j) ) THEN
76          refd_max(i,j) = refl_10cm(i,k,j)
77        ENDIF
78      ENDDO
79      ENDDO
80      ENDDO
81 !  !$OMP END PARALLEL DO
84    END SUBROUTINE diagnostic_output_calc_refl
85 #endif
89 END MODULE module_diag_refl