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

Last change on this file since 1027 was 1027, checked in by dubos, 4 years ago

devel : towards conformity to F2008 standard

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