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
RevLine 
[906]1MODULE compute_diagnostics_mod
[952]2  USE icosa
[906]3  IMPLICIT NONE
4  SAVE
[952]5  PRIVATE
[906]6
[952]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
[906]10  INTERFACE
11
12    SUBROUTINE comp_rhodz(flag,ps,rhodz)
[952]13      IMPORT
[906]14      LOGICAL, INTENT(IN) :: flag
[952]15      REAL(rstd),INTENT(IN)  :: ps(iim_jjm_i)
16      REAL(rstd),INTENT(OUT) :: rhodz(iim_jjm_i,llm_)
[906]17    END SUBROUTINE comp_rhodz
18
[913]19    SUBROUTINE comp_pression(ps, p, offset)
[952]20      IMPORT
[913]21      INTEGER, INTENT(IN) :: offset
[952]22      REAL(rstd), INTENT(IN) :: ps(iim_jjm_i)
23      REAL(rstd), INTENT(OUT) :: p(iim_jjm_i,llm_)
[913]24    END SUBROUTINE comp_pression
[952]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
[955]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
[906]41  END INTERFACE
42
[952]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()
[955]46  PROCEDURE(comp_hydro_press), POINTER :: compute_hydrostatic_pressure => NULL()
[906]47
[955]48  PUBLIC :: compute_rhodz, compute_pression, compute_pression_mid, compute_temperature, compute_hydrostatic_pressure
[952]49
[906]50END MODULE compute_diagnostics_mod
Note: See TracBrowser for help on using the repository browser.