Changeset 99


Ignore:
Timestamp:
08/04/12 02:33:28 (12 years ago)
Author:
ymipsl
Message:

Output precipitation in dcmip physics

YM

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

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/physics.f90

    r98 r99  
    2727  END SUBROUTINE init_physics 
    2828 
    29   SUBROUTINE physics(f_phis, f_ps, f_theta_rhodz, f_ue, f_q) 
     29  SUBROUTINE physics(it,f_phis, f_ps, f_theta_rhodz, f_ue, f_q) 
    3030  USE icosa 
    3131  USE physics_dcmip_mod, physics_dcmip=>physics 
    3232  IMPLICIT NONE 
     33    INTEGER, INTENT(IN)   :: it 
    3334    TYPE(t_field),POINTER :: f_phis(:) 
    3435    TYPE(t_field),POINTER :: f_ps(:) 
     
    4142     
    4243      CASE ('dcmip') 
    43         CALL physics_dcmip(f_phis, f_ps, f_theta_rhodz, f_ue, f_q) 
     44        CALL physics_dcmip(it, f_phis, f_ps, f_theta_rhodz, f_ue, f_q) 
    4445       
    4546      CASE DEFAULT 
  • codes/icosagcm/trunk/src/physics_dcmip.f90

    r98 r99  
    66  PUBLIC init_physics, physics 
    77  TYPE(t_field),POINTER :: f_out_i(:) 
     8  TYPE(t_field),POINTER :: f_precl(:) 
    89    REAL(rstd),POINTER :: out_i(:,:) 
    910 
     
    1617    CALL getin("dcmip_physics",testcase) 
    1718    CALL allocate_field(f_out_i,field_t,type_real,llm) 
     19    CALL allocate_field(f_precl,field_t,type_real) 
    1820         
    1921  END SUBROUTINE init_physics 
    2022 
    2123 
    22   SUBROUTINE physics( f_phis, f_ps, f_theta_rhodz, f_ue, f_q) 
     24  SUBROUTINE physics( it, f_phis, f_ps, f_theta_rhodz, f_ue, f_q) 
    2325  USE icosa 
    2426  IMPLICIT NONE 
     27    INTEGER,INTENT(IN)    :: it 
    2528    TYPE(t_field),POINTER :: f_phis(:) 
    2629    TYPE(t_field),POINTER :: f_ps(:) 
     
    3437    REAL(rstd),POINTER :: ue(:,:) 
    3538    REAL(rstd),POINTER :: q(:,:,:) 
     39    REAL(rstd),POINTER :: precl(:) 
    3640    INTEGER :: ind 
    3741 
     
    4650      q=f_q(ind) 
    4751      out_i=f_out_i(ind) 
     52      precl=f_precl(ind) 
    4853     
    49       CALL compute_physics( phis, ps, theta_rhodz, ue, q(:,:,3)) 
     54      CALL compute_physics( phis, ps, theta_rhodz, ue, q(:,:,3), precl) 
    5055   
    5156    ENDDO 
    52 !    CALL writefield("out_i",f_out_i) 
     57     
     58    IF (mod(it,itau_out)==0 ) THEN 
     59      CALL writefield("precl",f_precl) 
     60    ENDIF 
    5361 
    5462  END SUBROUTINE physics 
    5563   
    56   SUBROUTINE compute_physics(phis, ps, theta_rhodz, ue, q) 
     64  SUBROUTINE compute_physics(phis, ps, theta_rhodz, ue, q, precl) 
    5765  USE icosa 
    5866  USE pression_mod 
     
    6775    REAL(rstd) :: ue(3*iim*jjm,llm) 
    6876    REAL(rstd) :: q(iim*jjm,llm) 
     77    REAL(rstd) :: precl(iim*jjm) 
    6978 
    7079    REAL(rstd) :: p(iim*jjm,llm+1) 
     
    8493    REAL(rstd) :: pmid(iim*jjm,llm) 
    8594    REAL(rstd) :: pdel(iim*jjm,llm) 
    86     REAL(rstd) :: precl(iim*jjm) 
    8795    INTEGER :: i,j,l,ij 
    8896      
  • codes/icosagcm/trunk/src/timeloop_gcm.f90

    r98 r99  
    116116    CALL caldyn(it,f_phis,f_ps,f_theta_rhodz,f_u, f_dps, f_dtheta_rhodz, f_du) 
    117117    CALL advect_tracer(f_ps,f_u,f_q) 
    118     CALL physics(f_phis, f_ps, f_theta_rhodz, f_u, f_q) 
     118    CALL physics(it,f_phis, f_ps, f_theta_rhodz, f_u, f_q) 
    119119     
    120120    SELECT CASE (TRIM(scheme)) 
Note: See TracChangeset for help on using the changeset viewer.