source: trunk/MESOSCALE_DEV/SRC/ARWpost/src/module_calc_clfr.f90 @ 777

Last change on this file since 777 was 207, checked in by aslmd, 14 years ago

MESOSCALE: A GENERAL CLEAN-UP FOLLOWING UPDATING THE USER MANUAL. EVERYTHING ESSENTIAL IS IN MESOSCALE (much lighter than before). EVERYTHING FOR DEVELOPPERS OR EXPERTS IS IN MESOSCALE_DEV.

File size: 1.8 KB
Line 
1!! Diagnostics: low / mid / high cloud fraction
2!! Code originally from MM5toGrADS
3
4MODULE module_calc_clfr
5
6  CONTAINS
7  SUBROUTINE calc_clfr(SCR4, cname, cdesc, cunits, RH_in)
8
9  USE module_model_basics
10
11  IMPLICIT NONE
12
13  !Arguments
14  real, allocatable, dimension(:,:,:,:)                          :: SCR4
15  real, pointer, dimension(:,:,:)                                :: RH_in
16  character (len=128)                                            :: cname, cdesc, cunits
17
18  ! Local variables
19  integer                                                        :: i, j, k, kclo, kcmi, kchi
20
21 
22  SCR4 = 0.0
23
24   DO j = 1,south_north_dim   
25     DO i = 1,west_east_dim
26       DO k = 1,bottom_top_dim
27          IF ( PRES(i,j,k) .gt. 97000. ) kclo=k
28          IF ( PRES(i,j,k) .gt. 80000. ) kcmi=k
29          IF ( PRES(i,j,k) .gt. 45000. ) kchi=k
30       END DO
31       DO k = 1,bottom_top_dim
32          IF ( k .ge. kclo .AND. k .lt. kcmi ) &               !! low cloud
33               SCR4(i,j,1,1) = AMAX1(RH_in(i,j,k),SCR4(i,j,1,1))
34          IF ( k .ge. kcmi .AND. k .lt. kchi ) &               !! mid cloud
35               SCR4(i,j,1,2) = AMAX1(RH_in(i,j,k),SCR4(i,j,1,2))
36          IF ( k .ge. kchi ) &                                 !! high cloud
37               SCR4(i,j,1,3) = AMAX1(RH_in(i,j,k),SCR4(i,j,1,3))
38       END DO
39
40       SCR4(i,j,1,1)=4.0*SCR4(i,j,1,1)/100.-3.0
41       SCR4(i,j,1,2)=4.0*SCR4(i,j,1,2)/100.-3.0
42       SCR4(i,j,1,3)=2.5*SCR4(i,j,1,3)/100.-1.5
43
44       SCR4(i,j,1,1)=amin1(SCR4(i,j,1,1),1.0)
45       SCR4(i,j,1,1)=amax1(SCR4(i,j,1,1),0.0)
46       SCR4(i,j,1,2)=amin1(SCR4(i,j,1,2),1.0)
47       SCR4(i,j,1,2)=amax1(SCR4(i,j,1,2),0.0)
48       SCR4(i,j,1,3)=amin1(SCR4(i,j,1,3),1.0)
49       SCR4(i,j,1,3)=amax1(SCR4(i,j,1,3),0.0)
50
51     END DO
52   END DO
53
54
55  cname    = " "
56  cdesc    = " "
57  cunits   = "%"
58 
59
60  END SUBROUTINE calc_clfr
61
62END MODULE module_calc_clfr
Note: See TracBrowser for help on using the repository browser.