Changeset 952 for codes


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

devel : temperature diagnostics for unstructured mesh

Location:
codes/icosagcm/devel/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/src/base/init_grid_param.f90

    r949 r952  
    44  USE compute_rhodz_mod 
    55  USE compute_pression_mod 
     6  USE compute_temperature_mod 
    67 
    78  USE compute_caldyn_mod 
     
    6869    compute_pression     => compute_pression_hex 
    6970    compute_pression_mid => compute_pression_mid_hex 
     71    compute_temperature  => compute_temperature_hex 
    7072    ! dynamics 
    7173    compute_pvort_only        => compute_pvort_only_hex 
     
    8284    compute_pression     => compute_pression_unst 
    8385    compute_pression_mid => compute_pression_mid_unst 
     86    compute_temperature  => compute_temperature_unst 
    8487    ! dynamics 
    8588    compute_pvort_only         => compute_pvort_only_unst 
  • 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 
  • codes/icosagcm/devel/src/diagnostics/compute_temperature.F90

    r916 r952  
    88  SAVE 
    99 
    10   PUBLIC :: temperature, compute_temperature 
     10  PUBLIC :: temperature, compute_temperature_unst, compute_temperature_hex, compute_temperature_manual 
    1111 
    1212#include "../unstructured/unstructured.h90" 
     
    1515   
    1616  SUBROUTINE temperature(f_pmid,f_q,f_temp) 
     17    USE compute_diagnostics_mod, ONLY : compute_temperature 
    1718    USE icosa 
    1819    TYPE(t_field), POINTER :: f_pmid(:)         ! IN 
     
    117118  END SUBROUTINE compute_temperature_hex 
    118119 
    119   SUBROUTINE compute_temperature(pmid,q,temp) 
     120  SUBROUTINE compute_temperature_manual(pmid,q,temp) 
    120121    USE icosa 
    121122    USE omp_para 
     
    147148       END DO 
    148149    END DO 
    149   END SUBROUTINE compute_temperature 
     150  END SUBROUTINE compute_temperature_manual 
    150151 
    151152  SUBROUTINE Tv2T(f_Tv, f_q, f_T) 
Note: See TracChangeset for help on using the changeset viewer.