Changeset 145
- Timestamp:
- 02/28/13 17:08:54 (11 years ago)
- Location:
- codes/icosagcm/trunk/src
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/advect_tracer.f90
r138 r145 39 39 USE advect_mod 40 40 USE mpipara 41 USE trace 41 42 IMPLICIT NONE 42 43 43 44 TYPE(t_field),POINTER :: f_hfluxt(:) ! time-integrated horizontal mass flux 44 45 TYPE(t_field),POINTER :: f_wfluxt(:) ! time-integrated vertical mass flux … … 51 52 REAL(rstd),POINTER :: rhodz(:,:), u(:,:) 52 53 INTEGER :: ind,k 54 55 CALL trace_start("advect_tracer") 53 56 54 57 CALL transfert_request(f_u,req_e1) … … 110 113 CALL transfert_request(f_q,req_i1) ! necessary ? 111 114 CALL transfert_request(f_rhodz,req_i1) ! necessary ? 115 116 CALL trace_end("advect_tracer") 117 112 118 113 119 ! horizontal transport - split in two to place transfer of gradq3d -
codes/icosagcm/trunk/src/caldyn_gcm.f90
r139 r145 91 91 USE theta2theta_rhodz_mod 92 92 USE mpipara 93 USE trace 93 94 IMPLICIT NONE 94 95 LOGICAL,INTENT(IN) :: write_out … … 109 110 INTEGER :: ind,ij 110 111 112 CALL trace_start("caldyn") 111 113 CALL transfert_request(f_phis,req_i1) 112 114 CALL transfert_request(f_ps,req_i1) … … 188 190 189 191 ! CALL check_mass_conservation(f_ps,f_dps) 192 CALL trace_end("caldyn") 190 193 191 194 END SUBROUTINE caldyn … … 195 198 USE disvert_mod 196 199 USE exner_mod 200 USE trace 197 201 IMPLICIT NONE 198 202 REAL(rstd),INTENT(IN) :: u(iim*3*jjm,llm) … … 208 212 LOGICAL,SAVE :: first=.TRUE. 209 213 !$OMP THREADPRIVATE(first) 210 214 215 216 CALL trace_start("compute_pvort") 211 217 !$OMP BARRIER 212 218 !$OMP MASTER … … 281 287 DEALLOCATE(qv) ! potential velocity 282 288 !!$OMP END MASTER 283 !!$OMP BARRIER 289 !!$OMP BARRIER 290 CALL trace_end("compute_pvort") 291 284 292 END SUBROUTINE compute_pvort 285 293 … … 288 296 USE disvert_mod 289 297 USE exner_mod 298 USE trace 290 299 IMPLICIT NONE 291 300 REAL(rstd),INTENT(IN) :: phis(iim*jjm) … … 315 324 LOGICAL,SAVE :: first=.TRUE. 316 325 !$OMP THREADPRIVATE(first) 317 326 327 CALL trace_start("compute_caldyn") 318 328 !$OMP BARRIER 319 329 !$OMP MASTER … … 644 654 !!$OMP END MASTER 645 655 !!$OMP BARRIER 656 CALL trace_end("compute_caldyn") 657 646 658 END SUBROUTINE compute_caldyn 647 659 -
codes/icosagcm/trunk/src/dissip_gcm.f90
r131 r145 430 430 USE exner_mod 431 431 USE geopotential_mod 432 USE trace 432 433 IMPLICIT NONE 433 434 TYPE(t_field),POINTER :: f_ue(:) … … 447 448 INTEGER :: l,i,j,n 448 449 450 CALL trace_start("dissip") 449 451 CALL gradiv(f_ue,f_due_diss1) 450 452 CALL gradrot(f_ue,f_due_diss2) … … 497 499 END IF 498 500 END DO 501 502 CALL trace_end("dissip") 499 503 500 504 CONTAINS … … 532 536 SUBROUTINE gradiv(f_ue,f_due) 533 537 USE icosa 538 USE trace 534 539 IMPLICIT NONE 535 540 TYPE(t_field),POINTER :: f_ue(:) … … 540 545 INTEGER :: it 541 546 547 CALL trace_start("gradiv") 548 542 549 DO ind=1,ndomain 543 550 CALL swap_dimensions(ind) … … 560 567 ENDDO 561 568 569 CALL trace_end("gradiv") 570 562 571 END SUBROUTINE gradiv 563 572 … … 565 574 SUBROUTINE gradrot(f_ue,f_due) 566 575 USE icosa 576 USE trace 567 577 IMPLICIT NONE 568 578 TYPE(t_field),POINTER :: f_ue(:) … … 573 583 INTEGER :: it 574 584 585 CALL trace_start("gradrot") 586 575 587 DO ind=1,ndomain 576 588 CALL swap_dimensions(ind) … … 594 606 ENDDO 595 607 608 CALL trace_end("gradrot") 609 596 610 END SUBROUTINE gradrot 597 611 598 612 SUBROUTINE divgrad(f_theta,f_dtheta) 599 613 USE icosa 614 USE trace 600 615 IMPLICIT NONE 601 616 TYPE(t_field),POINTER :: f_theta(:) … … 605 620 INTEGER :: ind 606 621 INTEGER :: it 622 623 CALL trace_start("divgrad") 607 624 608 625 DO ind=1,ndomain … … 626 643 627 644 ENDDO 645 646 CALL trace_end("divgrad") 628 647 629 648 END SUBROUTINE divgrad -
codes/icosagcm/trunk/src/timeloop_gcm.f90
r139 r145 18 18 USE physics_mod 19 19 USE mpipara 20 20 USE trace 21 21 IMPLICIT NONE 22 22 TYPE(t_field),POINTER :: f_phis(:) … … 222 222 LOGICAL :: with_dps 223 223 INTEGER :: ind 224 225 CALL trace_start("Euler_scheme") 226 224 227 DO ind=1,ndomain 225 228 CALL swap_dimensions(ind) … … 238 241 ENDDO 239 242 243 CALL trace_end("Euler_scheme") 244 240 245 END SUBROUTINE Euler_scheme 241 246 … … 245 250 REAL(rstd), DIMENSION(4), PARAMETER :: coef = (/ .25, 1./3., .5, 1. /) 246 251 REAL(rstd) :: tau 252 253 CALL trace_start("RK_scheme") 247 254 248 255 tau = dt*coef(stage) … … 268 275 END IF 269 276 END DO 277 278 CALL trace_end("RK_scheme") 279 270 280 END SUBROUTINE RK_scheme 271 281 … … 274 284 INTEGER :: ind 275 285 286 CALL trace_start("leapfrog_scheme") 287 276 288 DO ind=1,ndomain 277 289 CALL swap_dimensions(ind) … … 301 313 302 314 ENDDO 315 316 CALL trace_end("leapfrog_scheme") 317 303 318 END SUBROUTINE leapfrog_scheme 304 319 … … 307 322 INTEGER :: ind, stage 308 323 REAL :: tau 309 tau = dt/nb_stage 324 325 CALL trace_start("leapfrog_matsuno_scheme") 326 327 tau = dt/nb_stage 310 328 DO ind=1,ndomain 311 329 CALL swap_dimensions(ind) … … 347 365 348 366 ENDDO 367 CALL trace_end("leapfrog_matsuno_scheme") 349 368 350 369 END SUBROUTINE leapfrog_matsuno_scheme … … 353 372 IMPLICIT NONE 354 373 INTEGER :: ind 374 375 CALL trace_start("adam_bashforth_scheme") 355 376 356 377 DO ind=1,ndomain … … 375 396 376 397 ENDDO 398 399 CALL trace_end("adam_bashforth_scheme") 377 400 378 401 END SUBROUTINE adam_bashforth_scheme
Note: See TracChangeset
for help on using the changeset viewer.