1 | !! Diagnostics: low / mid / high cloud fraction |
---|
2 | !! Code originally from MM5toGrADS |
---|
3 | |
---|
4 | MODULE 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 | |
---|
62 | END MODULE module_calc_clfr |
---|