Changeset 397 for codes/icosagcm/trunk/src/physics_dcmip2016.f90
- Timestamp:
- 06/06/16 20:41:52 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/physics_dcmip2016.f90
r386 r397 120 120 REAL(rstd) :: qfi(ngrid,llm,5) 121 121 122 REAL(rstd) :: rho(llm), z(llm), theta(llm) 122 REAL(rstd) :: rho(llm), z(llm), theta(llm), qv(llm),qc(llm),qr(llm) 123 123 REAL(rstd) :: lastz 124 124 REAL(rstd) :: dcl1,dcl2 125 INTEGER :: l,ll,ij125 INTEGER :: l,ll,ij 126 126 REAL(rstd) :: dt_phys, inv_dt 127 127 INTEGER :: simple_physic_testcase 128 128 129 ! prepare input fields and mirror vertical index 129 130 ps(:) = p(:,1) ! surface pressure … … 147 148 ENDDO 148 149 150 149 151 IF (testcase==moist_baroclinic .OR. testcase==cyclone ) THEN 150 CALL simple_physics(ngrid, llm, dt_phys, lat, tfi, qfi(:,:,1) , ufi, vfi, pmid, pint, pdel, 1./pdel, ps, precl, 1, .FALSE., .FALSE.) 152 IF (testcase==moist_baroclinic) simple_physic_testcase=1 153 IF (testcase==cyclone) simple_physic_testcase=0 154 CALL simple_physics(ngrid, llm, dt_phys, lat, tfi, qfi(:,:,1) , ufi, vfi, pmid, pint, pdel, 1./pdel, ps, precl, & 155 simple_physic_testcase, .TRUE., .FALSE.) 151 156 ENDIF 152 157 … … 164 169 ENDDO 165 170 166 CALL KESSLER(theta(:), qfi(ij,llm:1:-1,1), qfi(ij,llm:1:-1,2), qfi(ij,llm:1:-1,3), rho(:), & 167 pk(ij,:), dt_phys, z(:), llm, precl(ij)) 171 qv(:)=qfi(ij,llm:1:-1,1) 172 qc(:)=qfi(ij,llm:1:-1,2) 173 qr(:)=qfi(ij,llm:1:-1,3) 174 175 ! CALL KESSLER(theta(:), qv, qc, qr, rho(:), & 176 ! pk(ij,:), dt_phys, z(:), llm, precl(ij)) 177 168 178 169 179 DO l=1,llm … … 172 182 Tfi(ij,ll) = theta(l) * ( pk(ij,l) / cpp) 173 183 ENDDO 184 185 qfi(ij,:,1)=qv(llm:1:-1) 186 qfi(ij,:,2)=qc(llm:1:-1) 187 qfi(ij,:,3)=qr(llm:1:-1) 188 174 189 ENDDO 175 190 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.