1 | MODULE compute_diagnostics_mod |
---|
2 | USE icosa |
---|
3 | IMPLICIT NONE |
---|
4 | PRIVATE |
---|
5 | |
---|
6 | INTERFACE |
---|
7 | |
---|
8 | SUBROUTINE comp_rhodz(flag,ps,rhodz) |
---|
9 | IMPORT |
---|
10 | LOGICAL, INTENT(IN) :: flag |
---|
11 | REAL(rstd),INTENT(IN) :: ps(:) |
---|
12 | REAL(rstd),INTENT(INOUT) :: rhodz(:,:) |
---|
13 | END SUBROUTINE comp_rhodz |
---|
14 | |
---|
15 | SUBROUTINE comp_pression(ps, p, offset) |
---|
16 | IMPORT |
---|
17 | INTEGER, INTENT(IN) :: offset |
---|
18 | REAL(rstd), INTENT(IN) :: ps(:) |
---|
19 | REAL(rstd), INTENT(OUT) :: p(:,:) |
---|
20 | END SUBROUTINE comp_pression |
---|
21 | |
---|
22 | SUBROUTINE comp_temperature(pmid,q,temp) |
---|
23 | IMPORT |
---|
24 | REAL(rstd),INTENT(IN) :: pmid(:,:) |
---|
25 | REAL(rstd),INTENT(IN) :: q(:,:,:) |
---|
26 | REAL(rstd),INTENT(INOUT) :: temp(:,:) |
---|
27 | END SUBROUTINE comp_temperature |
---|
28 | |
---|
29 | SUBROUTINE comp_hydro_press(rhodz, theta_rhodz, ps, p) |
---|
30 | IMPORT |
---|
31 | REAL(rstd),INTENT(IN) :: rhodz(:,:) |
---|
32 | REAL(rstd),INTENT(IN) :: theta_rhodz(:,:,:) |
---|
33 | REAL(rstd),INTENT(OUT) :: ps(:) |
---|
34 | REAL(rstd),INTENT(OUT) :: p(:,:) |
---|
35 | END SUBROUTINE comp_hydro_press |
---|
36 | |
---|
37 | SUBROUTINE comp_vert_interp(pmid,in,out,pval) |
---|
38 | IMPORT |
---|
39 | REAL(rstd),INTENT(IN) :: pmid(:,:) |
---|
40 | REAL(rstd),INTENT(IN) :: in(:,:) |
---|
41 | REAL(rstd),INTENT(OUT):: out(:) |
---|
42 | REAL(rstd),INTENT(IN) :: pval |
---|
43 | END SUBROUTINE comp_vert_interp |
---|
44 | |
---|
45 | END INTERFACE |
---|
46 | |
---|
47 | PROCEDURE(comp_rhodz), POINTER, SAVE :: compute_rhodz => NULL() |
---|
48 | PROCEDURE(comp_pression), POINTER, SAVE :: compute_pression => NULL(), compute_pression_mid => NULL() |
---|
49 | PROCEDURE(comp_temperature), POINTER, SAVE :: compute_temperature => NULL() |
---|
50 | PROCEDURE(comp_hydro_press), POINTER, SAVE :: compute_hydrostatic_pressure => NULL() |
---|
51 | PROCEDURE(comp_vert_interp), POINTER, SAVE :: compute_vertical_interp => NULL() |
---|
52 | |
---|
53 | PUBLIC :: compute_rhodz, compute_pression, compute_pression_mid, compute_temperature, compute_hydrostatic_pressure, & |
---|
54 | compute_vertical_interp |
---|
55 | |
---|
56 | END MODULE compute_diagnostics_mod |
---|