Changeset 130 for codes/icosagcm/trunk
- Timestamp:
- 02/06/13 18:56:56 (11 years ago)
- Location:
- codes/icosagcm/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/param_sets/dcmip2012/test4/test4.1/test4.1-0/run.def
r101 r130 32 32 nqtot=2 33 33 34 # timestep : real (default= 90s)35 dt = 45.34 # timestep : real (default=240s) 35 dt = 240. 36 36 37 37 # number of timestep (default 100) … … 62 62 # ------------------------------ Dynamics -------------------------------- 63 63 64 # scheme type : string ( default=' adam_bashforth') euler, leapfrog, leapfrog_matsuno, adam_bashforth)65 scheme = adam_bashforth64 # scheme type : string ( default='runge_kutta') euler, leapfrog_matsuno, runge_kutta ) 65 scheme = runge_kutta 66 66 67 67 # matsuno period : integer ( default=5) … … 70 70 # guided_type : string (default=none) : none, ncar 71 71 guided_type=none 72 73 caldyn_conserv=energy 72 74 73 75 # ---------------------------------------------------------------------- -
codes/icosagcm/trunk/src/timeloop_gcm.f90
r129 r130 133 133 SELECT CASE (TRIM(scheme)) 134 134 CASE('euler') 135 CALL euler_scheme 135 CALL euler_scheme(.TRUE.) 136 136 137 137 CASE ('runge_kutta') … … 156 156 END SELECT 157 157 END DO 158 159 ! CALL dissip(f_u,f_du,f_ps,f_phis, f_theta_rhodz,f_dtheta_rhodz) 160 ! CALL euler_scheme(.FALSE.) 161 158 162 ! CALL advect_tracer(f_ps,f_u,f_q) 159 ! CALL dissip(f_u,f_du,f_ps,f_phis, f_theta_rhodz,f_dtheta_rhodz)160 163 ! CALL physics(it,f_phis, f_ps, f_theta_rhodz, f_u, f_q) 161 164 ENDDO … … 163 166 CONTAINS 164 167 165 SUBROUTINE Euler_scheme 168 SUBROUTINE Euler_scheme(with_dps) 166 169 IMPLICIT NONE 167 INTEGER :: ind 168 169 DO ind=1,ndomain 170 ps=f_ps(ind) ; u=f_u(ind) ; theta_rhodz=f_theta_rhodz(ind) 171 dps=f_dps(ind) ; du=f_du(ind) ; dtheta_rhodz=f_dtheta_rhodz(ind) 172 ps(:)=ps(:)+dt*dps(:) 173 u(:,:)=u(:,:)+dt*du(:,:) 174 theta_rhodz(:,:)=theta_rhodz(:,:)+dt*dtheta_rhodz(:,:) 175 ENDDO 170 LOGICAL :: with_dps 171 INTEGER :: ind 172 173 DO ind=1,ndomain 174 IF(with_dps) THEN 175 ps=f_ps(ind) ; dps=f_dps(ind) ; 176 ps(:)=ps(:)+dt*dps(:) 177 END IF 178 u=f_u(ind) ; theta_rhodz=f_theta_rhodz(ind) 179 du=f_du(ind) ; dtheta_rhodz=f_dtheta_rhodz(ind) 180 u(:,:)=u(:,:)+dt*du(:,:) 181 theta_rhodz(:,:)=theta_rhodz(:,:)+dt*dtheta_rhodz(:,:) 182 ENDDO 176 183 177 184 END SUBROUTINE Euler_scheme
Note: See TracChangeset
for help on using the changeset viewer.