Changeset 519 for codes/icosagcm/trunk/src/caldyn_gcm.f90
- Timestamp:
- 12/24/16 02:33:07 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/caldyn_gcm.f90
r413 r519 2 2 USE icosa 3 3 USE transfert_mod 4 USE caldyn_kernels_hevi_mod 4 5 USE caldyn_kernels_base_mod 5 6 USE caldyn_kernels_mod … … 190 191 191 192 ! temporary shared variable 192 REAL(rstd),POINTER :: theta(:,: )193 REAL(rstd),POINTER :: theta(:,:,:) 193 194 REAL(rstd),POINTER :: pk(:,:) 194 195 REAL(rstd),POINTER :: geopot(:,:) … … 225 226 IF(caldyn_eta==eta_mass) THEN 226 227 CALL send_message(f_ps,req_ps) ! COM00 228 CALL wait_message(req_ps) ! COM00 227 229 ELSE 228 230 CALL send_message(f_mass,req_mass) ! COM00 231 CALL wait_message(req_mass) ! COM00 229 232 END IF 230 233 231 234 CALL send_message(f_theta_rhodz,req_theta_rhodz) ! COM01 235 CALL wait_message(req_theta_rhodz) ! COM01 Moved from caldyn_pvort 232 236 CALL send_message(f_u,req_u) ! COM02 237 CALL wait_message(req_u) ! COM02 238 239 IF(.NOT.hydrostatic) THEN 240 STOP 'caldyn_gcm may not be used yet when non-hydrostatic' 241 END IF 233 242 234 243 SELECT CASE(caldyn_conserv) … … 245 254 qu=f_qu(ind) 246 255 qv=f_qv(ind) 256 pk = f_pk(ind) 257 geopot = f_geopot(ind) 258 hflux=f_hflux(ind) 259 convm = f_dmass(ind) 260 dtheta_rhodz=f_dtheta_rhodz(ind) 261 du=f_du(ind) 247 262 CALL compute_pvort(ps,u,theta_rhodz(:,:,1), mass,theta,qu,qv) ! COM00 COM01 COM02 248 ENDDO 249 ! CALL checksum(f_mass) 250 ! CALL checksum(f_theta) 251 252 CALL send_message(f_qu,req_qu) ! COM03 wait_message in caldyn_horiz 253 ! CALL wait_message(req_qu) 263 ! CALL compute_theta(ps,theta_rhodz, mass,theta) 264 ! CALL compute_pvort_only(u,mass,qu,qv) 265 266 CALL compute_geopot(mass,theta, ps,pk,geopot) 267 ! du(:,:)=0. 268 ! CALL compute_caldyn_fast(0.,u,mass,theta,pk,geopot,du) 269 ENDDO 270 271 CALL send_message(f_u,req_u) ! COM02 272 CALL wait_message(req_u) ! COM02 273 CALL send_message(f_qu,req_qu) ! COM03 274 CALL wait_message(req_qu) ! COM03 254 275 255 276 DO ind=1,ndomain … … 259 280 ps=f_ps(ind) 260 281 u=f_u(ind) 282 theta_rhodz = f_theta_rhodz(ind) 261 283 mass=f_mass(ind) 262 284 theta = f_theta(ind) 263 285 qu=f_qu(ind) 286 qv=f_qv(ind) 264 287 pk = f_pk(ind) 265 288 geopot = f_geopot(ind) 266 CALL compute_geopot(ps,mass,theta, pk,geopot)267 289 hflux=f_hflux(ind) 268 290 convm = f_dmass(ind) 269 291 dtheta_rhodz=f_dtheta_rhodz(ind) 270 292 du=f_du(ind) 293 271 294 CALL compute_caldyn_horiz(u,mass,qu,theta,pk,geopot, hflux,convm,dtheta_rhodz(:,:,1),du) 295 ! CALL compute_caldyn_slow_hydro(u,mass,hflux,du, .FALSE.) ! FIXME 296 ! CALL compute_caldyn_Coriolis(hflux,theta,qu, convm,dtheta_rhodz,du) 272 297 IF(caldyn_eta==eta_mass) THEN 273 298 wflux=f_wflux(ind) … … 278 303 ENDDO 279 304 280 ! CALL checksum(f_geopot)281 ! CALL checksum(f_dmass)282 ! CALL checksum(f_pk)283 ! CALL checksum(f_pk)284 285 305 CASE(enstrophy) ! enstrophy-conserving 286 306 DO ind=1,ndomain
Note: See TracChangeset
for help on using the changeset viewer.