Changeset 99
- Timestamp:
- 08/04/12 02:33:28 (12 years ago)
- Location:
- codes/icosagcm/trunk/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/physics.f90
r98 r99 27 27 END SUBROUTINE init_physics 28 28 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) 30 30 USE icosa 31 31 USE physics_dcmip_mod, physics_dcmip=>physics 32 32 IMPLICIT NONE 33 INTEGER, INTENT(IN) :: it 33 34 TYPE(t_field),POINTER :: f_phis(:) 34 35 TYPE(t_field),POINTER :: f_ps(:) … … 41 42 42 43 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) 44 45 45 46 CASE DEFAULT -
codes/icosagcm/trunk/src/physics_dcmip.f90
r98 r99 6 6 PUBLIC init_physics, physics 7 7 TYPE(t_field),POINTER :: f_out_i(:) 8 TYPE(t_field),POINTER :: f_precl(:) 8 9 REAL(rstd),POINTER :: out_i(:,:) 9 10 … … 16 17 CALL getin("dcmip_physics",testcase) 17 18 CALL allocate_field(f_out_i,field_t,type_real,llm) 19 CALL allocate_field(f_precl,field_t,type_real) 18 20 19 21 END SUBROUTINE init_physics 20 22 21 23 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) 23 25 USE icosa 24 26 IMPLICIT NONE 27 INTEGER,INTENT(IN) :: it 25 28 TYPE(t_field),POINTER :: f_phis(:) 26 29 TYPE(t_field),POINTER :: f_ps(:) … … 34 37 REAL(rstd),POINTER :: ue(:,:) 35 38 REAL(rstd),POINTER :: q(:,:,:) 39 REAL(rstd),POINTER :: precl(:) 36 40 INTEGER :: ind 37 41 … … 46 50 q=f_q(ind) 47 51 out_i=f_out_i(ind) 52 precl=f_precl(ind) 48 53 49 CALL compute_physics( phis, ps, theta_rhodz, ue, q(:,:,3) )54 CALL compute_physics( phis, ps, theta_rhodz, ue, q(:,:,3), precl) 50 55 51 56 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 53 61 54 62 END SUBROUTINE physics 55 63 56 SUBROUTINE compute_physics(phis, ps, theta_rhodz, ue, q )64 SUBROUTINE compute_physics(phis, ps, theta_rhodz, ue, q, precl) 57 65 USE icosa 58 66 USE pression_mod … … 67 75 REAL(rstd) :: ue(3*iim*jjm,llm) 68 76 REAL(rstd) :: q(iim*jjm,llm) 77 REAL(rstd) :: precl(iim*jjm) 69 78 70 79 REAL(rstd) :: p(iim*jjm,llm+1) … … 84 93 REAL(rstd) :: pmid(iim*jjm,llm) 85 94 REAL(rstd) :: pdel(iim*jjm,llm) 86 REAL(rstd) :: precl(iim*jjm)87 95 INTEGER :: i,j,l,ij 88 96 -
codes/icosagcm/trunk/src/timeloop_gcm.f90
r98 r99 116 116 CALL caldyn(it,f_phis,f_ps,f_theta_rhodz,f_u, f_dps, f_dtheta_rhodz, f_du) 117 117 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) 119 119 120 120 SELECT CASE (TRIM(scheme))
Note: See TracChangeset
for help on using the changeset viewer.