[906] | 1 | MODULE compute_diagnostics_mod |
---|
[952] | 2 | USE icosa |
---|
[906] | 3 | IMPLICIT NONE |
---|
[952] | 4 | PRIVATE |
---|
[906] | 5 | |
---|
| 6 | INTERFACE |
---|
| 7 | |
---|
| 8 | SUBROUTINE comp_rhodz(flag,ps,rhodz) |
---|
[952] | 9 | IMPORT |
---|
[906] | 10 | LOGICAL, INTENT(IN) :: flag |
---|
[1027] | 11 | REAL(rstd),INTENT(IN) :: ps(:) |
---|
| 12 | REAL(rstd),INTENT(INOUT) :: rhodz(:,:) |
---|
[906] | 13 | END SUBROUTINE comp_rhodz |
---|
| 14 | |
---|
[913] | 15 | SUBROUTINE comp_pression(ps, p, offset) |
---|
[952] | 16 | IMPORT |
---|
[913] | 17 | INTEGER, INTENT(IN) :: offset |
---|
[1027] | 18 | REAL(rstd), INTENT(IN) :: ps(:) |
---|
| 19 | REAL(rstd), INTENT(OUT) :: p(:,:) |
---|
[913] | 20 | END SUBROUTINE comp_pression |
---|
[952] | 21 | |
---|
| 22 | SUBROUTINE comp_temperature(pmid,q,temp) |
---|
| 23 | IMPORT |
---|
[1027] | 24 | REAL(rstd),INTENT(IN) :: pmid(:,:) |
---|
| 25 | REAL(rstd),INTENT(IN) :: q(:,:,:) |
---|
| 26 | REAL(rstd),INTENT(INOUT) :: temp(:,:) |
---|
[952] | 27 | END SUBROUTINE comp_temperature |
---|
| 28 | |
---|
[1052] | 29 | SUBROUTINE comp_vorticity(ue, vort) |
---|
| 30 | IMPORT |
---|
| 31 | REAL(rstd),INTENT(IN) :: ue(:,:) |
---|
| 32 | REAL(rstd),INTENT(OUT) :: vort(:,:) |
---|
| 33 | END SUBROUTINE comp_vorticity |
---|
| 34 | |
---|
| 35 | SUBROUTINE comp_divergence(ue, div) |
---|
| 36 | IMPORT |
---|
| 37 | REAL(rstd),INTENT(IN) :: ue(:,:) |
---|
| 38 | REAL(rstd),INTENT(OUT) :: div(:,:) |
---|
| 39 | END SUBROUTINE comp_divergence |
---|
| 40 | |
---|
[955] | 41 | SUBROUTINE comp_hydro_press(rhodz, theta_rhodz, ps, p) |
---|
| 42 | IMPORT |
---|
[1027] | 43 | REAL(rstd),INTENT(IN) :: rhodz(:,:) |
---|
| 44 | REAL(rstd),INTENT(IN) :: theta_rhodz(:,:,:) |
---|
| 45 | REAL(rstd),INTENT(OUT) :: ps(:) |
---|
| 46 | REAL(rstd),INTENT(OUT) :: p(:,:) |
---|
[955] | 47 | END SUBROUTINE comp_hydro_press |
---|
| 48 | |
---|
[958] | 49 | SUBROUTINE comp_vert_interp(pmid,in,out,pval) |
---|
| 50 | IMPORT |
---|
[1027] | 51 | REAL(rstd),INTENT(IN) :: pmid(:,:) |
---|
| 52 | REAL(rstd),INTENT(IN) :: in(:,:) |
---|
| 53 | REAL(rstd),INTENT(OUT):: out(:) |
---|
[958] | 54 | REAL(rstd),INTENT(IN) :: pval |
---|
| 55 | END SUBROUTINE comp_vert_interp |
---|
| 56 | |
---|
[906] | 57 | END INTERFACE |
---|
| 58 | |
---|
[1034] | 59 | PROCEDURE(comp_rhodz), POINTER, SAVE :: compute_rhodz => NULL() |
---|
| 60 | PROCEDURE(comp_pression), POINTER, SAVE :: compute_pression => NULL(), compute_pression_mid => NULL() |
---|
| 61 | PROCEDURE(comp_temperature), POINTER, SAVE :: compute_temperature => NULL() |
---|
[1052] | 62 | PROCEDURE(comp_vorticity), POINTER, SAVE :: compute_vorticity => NULL() |
---|
| 63 | PROCEDURE(comp_divergence), POINTER, SAVE :: compute_divergence => NULL() |
---|
[1034] | 64 | PROCEDURE(comp_hydro_press), POINTER, SAVE :: compute_hydrostatic_pressure => NULL() |
---|
| 65 | PROCEDURE(comp_vert_interp), POINTER, SAVE :: compute_vertical_interp => NULL() |
---|
[906] | 66 | |
---|
[1052] | 67 | PUBLIC :: compute_rhodz, compute_pression, compute_pression_mid, compute_temperature, & |
---|
| 68 | compute_vorticity, compute_divergence, compute_hydrostatic_pressure, compute_vertical_interp |
---|
[952] | 69 | |
---|
[906] | 70 | END MODULE compute_diagnostics_mod |
---|