Ignore:
Timestamp:
07/15/19 12:23:41 (5 years ago)
Author:
dubos
Message:

devel : temperature diagnostics for unstructured mesh

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/src/diagnostics/compute_diagnostics.f90

    r913 r952  
    11MODULE compute_diagnostics_mod 
     2  USE icosa 
    23  IMPLICIT NONE 
    34  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 
    49 
    510  INTERFACE 
    611 
    712    SUBROUTINE comp_rhodz(flag,ps,rhodz) 
    8       USE prec, ONLY : rstd 
     13      IMPORT 
    914      LOGICAL, INTENT(IN) :: flag 
    10       REAL(rstd),INTENT(IN)  :: ps(1) 
    11       REAL(rstd),INTENT(OUT) :: rhodz(1,1) 
     15      REAL(rstd),INTENT(IN)  :: ps(iim_jjm_i) 
     16      REAL(rstd),INTENT(OUT) :: rhodz(iim_jjm_i,llm_) 
    1217    END SUBROUTINE comp_rhodz 
    1318 
    1419    SUBROUTINE comp_pression(ps, p, offset) 
    15       USE prec, ONLY : rstd 
     20      IMPORT 
    1621      INTEGER, INTENT(IN) :: offset 
    17       REAL(rstd), INTENT(IN) :: ps(1) 
    18       REAL(rstd), INTENT(OUT) :: p(1,1) 
     22      REAL(rstd), INTENT(IN) :: ps(iim_jjm_i) 
     23      REAL(rstd), INTENT(OUT) :: p(iim_jjm_i,llm_) 
    1924    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 
    2033  END INTERFACE 
    2134 
    22   PROCEDURE(comp_rhodz), POINTER :: compute_rhodz 
    23   PROCEDURE(comp_pression), POINTER :: compute_pression, compute_pression_mid 
     35  PROCEDURE(comp_rhodz),       POINTER :: compute_rhodz   => NULL() 
     36  PROCEDURE(comp_pression),    POINTER :: compute_pression => NULL(), compute_pression_mid => NULL() 
     37  PROCEDURE(comp_temperature), POINTER :: compute_temperature => NULL() 
     38 
     39  PUBLIC :: compute_rhodz, compute_pression, compute_pression_mid, compute_temperature 
    2440 
    2541END MODULE compute_diagnostics_mod 
Note: See TracChangeset for help on using the changeset viewer.