source: codes/icosagcm/devel/src/diagnostics/compute_diagnostics.f90 @ 955

Last change on this file since 955 was 955, checked in by dubos, 5 years ago

devel : fixed diagnosis of hydrostatic pressure for Lagrangian vertical coordinate

File size: 1.7 KB
Line 
1MODULE compute_diagnostics_mod
2  USE icosa
3  IMPLICIT NONE
4  SAVE
5  PRIVATE
6
7  ! fake array dimensions, for interfaces
8  INTEGER, PARAMETER :: iim_jjm_i=1, iim_jjm_u=1, iim_jjm_v=1, llm_=1, llm1=1, nqdyn_=1
9
10  INTERFACE
11
12    SUBROUTINE comp_rhodz(flag,ps,rhodz)
13      IMPORT
14      LOGICAL, INTENT(IN) :: flag
15      REAL(rstd),INTENT(IN)  :: ps(iim_jjm_i)
16      REAL(rstd),INTENT(OUT) :: rhodz(iim_jjm_i,llm_)
17    END SUBROUTINE comp_rhodz
18
19    SUBROUTINE comp_pression(ps, p, offset)
20      IMPORT
21      INTEGER, INTENT(IN) :: offset
22      REAL(rstd), INTENT(IN) :: ps(iim_jjm_i)
23      REAL(rstd), INTENT(OUT) :: p(iim_jjm_i,llm_)
24    END SUBROUTINE comp_pression
25
26    SUBROUTINE comp_temperature(pmid,q,temp)
27      IMPORT
28      REAL(rstd),INTENT(IN)    :: pmid(iim_jjm_i, llm_)
29      REAL(rstd),INTENT(IN)    :: q(iim_jjm_i, llm_, nqdyn_)
30      REAL(rstd),INTENT(INOUT) :: temp(iim_jjm_i, llm_)
31    END SUBROUTINE comp_temperature
32
33    SUBROUTINE comp_hydro_press(rhodz, theta_rhodz, ps, p)
34      IMPORT
35      REAL(rstd),INTENT(IN)  :: rhodz(iim_jjm_i, llm_)
36      REAL(rstd),INTENT(IN)  :: theta_rhodz(iim_jjm_i, llm_, nqdyn_)
37      REAL(rstd),INTENT(OUT) :: ps(iim_jjm_i)
38      REAL(rstd),INTENT(OUT) :: p(iim_jjm_i, llm_)
39    END SUBROUTINE comp_hydro_press
40
41  END INTERFACE
42
43  PROCEDURE(comp_rhodz),       POINTER :: compute_rhodz   => NULL()
44  PROCEDURE(comp_pression),    POINTER :: compute_pression => NULL(), compute_pression_mid => NULL()
45  PROCEDURE(comp_temperature), POINTER :: compute_temperature => NULL()
46  PROCEDURE(comp_hydro_press), POINTER :: compute_hydrostatic_pressure => NULL()
47
48  PUBLIC :: compute_rhodz, compute_pression, compute_pression_mid, compute_temperature, compute_hydrostatic_pressure
49
50END MODULE compute_diagnostics_mod
Note: See TracBrowser for help on using the repository browser.