Changeset 1019 for palm/trunk
- Timestamp:
- Sep 28, 2012 6:46:45 AM (12 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/advec_ws.f90
r1017 r1019 194 194 195 195 ! 196 !-- Arrays needed for reasons of speed optimization for cache and noopt197 !-- version. For the vector version the buffer arrays are not necessary,196 !-- Arrays needed for reasons of speed optimization for cache version. 197 !-- For the vector version the buffer arrays are not necessary, 198 198 !-- because the the fluxes can swapped directly inside the loops of the 199 199 !-- advection routines. -
palm/trunk/SOURCE/check_parameters.f90
r1017 r1019 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! non-optimized version of prognostic_equations not allowed any more 7 7 ! 8 8 ! Former revisions: … … 488 488 SELECT CASE ( TRIM( loop_optimization ) ) 489 489 490 CASE ( 'acc', 'cache', ' noopt', 'vector' )490 CASE ( 'acc', 'cache', 'vector' ) 491 491 CONTINUE 492 492 … … 646 646 ! 647 647 !-- Advection schemes: 648 !649 !-- Set the LOGICALS to enhance the performance.650 IF ( momentum_advec == 'ws-scheme' ) ws_scheme_mom = .TRUE.651 IF ( scalar_advec == 'ws-scheme' ) ws_scheme_sca = .TRUE.652 653 648 IF ( momentum_advec /= 'pw-scheme' .AND. momentum_advec /= 'ws-scheme' ) & 654 649 THEN … … 673 668 CALL message( 'check_parameters', 'PA0024', 1, 2, 0, 6, 0 ) 674 669 ENDIF 670 IF ( scalar_advec == 'bc-scheme' .AND. loop_optimization == 'cache' ) & 671 THEN 672 message_string = 'advection_scheme scalar_advec = "' & 673 // TRIM( scalar_advec ) // '" not implemented for & loop_optimization = "' // & 674 TRIM( loop_optimization ) // '"' 675 CALL message( 'check_parameters', 'PA0026', 1, 2, 0, 6, 0 ) 676 ENDIF 675 677 676 678 IF ( use_sgs_for_particles .AND. .NOT. use_upstream_for_tke ) THEN … … 686 688 CALL message( 'check_parameters', 'PA0349', 1, 2, 0, 6, 0 ) 687 689 ENDIF 690 691 ! 692 !-- Set LOGICAL switches to enhance performance 693 IF ( momentum_advec == 'ws-scheme' ) ws_scheme_mom = .TRUE. 694 IF ( scalar_advec == 'ws-scheme' ) ws_scheme_sca = .TRUE. 688 695 689 696 ! -
palm/trunk/SOURCE/prognostic_equations.f90
r1017 r1019 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! non-optimized version of prognostic_equations removed 7 7 ! 8 8 ! Former revisions: … … 139 139 140 140 PRIVATE 141 PUBLIC prognostic_equations_noopt, prognostic_equations_cache, & 142 prognostic_equations_vector, prognostic_equations_acc 143 144 INTERFACE prognostic_equations_noopt 145 MODULE PROCEDURE prognostic_equations_noopt 146 END INTERFACE prognostic_equations_noopt 141 PUBLIC prognostic_equations_cache, prognostic_equations_vector, & 142 prognostic_equations_acc 147 143 148 144 INTERFACE prognostic_equations_cache … … 160 156 161 157 CONTAINS 162 163 164 SUBROUTINE prognostic_equations_noopt165 166 !------------------------------------------------------------------------------!167 ! Version with single loop optimization168 !169 ! (Optimized over each single prognostic equation.)170 !------------------------------------------------------------------------------!171 172 IMPLICIT NONE173 174 CHARACTER (LEN=9) :: time_to_string175 INTEGER :: i, i_omp_start, j, k, tn = 0176 REAL :: sbt177 178 !179 !-- Calculate those variables needed in the tendency terms which need180 !-- global communication181 IF ( .NOT. neutral ) CALL calc_mean_profile( pt, 4 )182 IF ( ocean ) CALL calc_mean_profile( rho, 64 )183 IF ( humidity ) CALL calc_mean_profile( vpt, 44 )184 IF ( ( ws_scheme_mom .OR. ws_scheme_sca ) .AND. &185 intermediate_timestep_count == 1 ) CALL ws_statistics186 187 !188 !-- u-velocity component189 CALL cpu_log( log_point(5), 'u-equation', 'start' )190 191 i_omp_start = nxlu192 DO i = nxlu, nxr193 DO j = nys, nyn194 !195 !-- Tendency terms196 tend(:,j,i) = 0.0197 IF ( timestep_scheme(1:5) == 'runge' ) THEN198 IF ( ws_scheme_mom ) THEN199 CALL advec_u_ws( i, j, i_omp_start, tn )200 ELSE201 CALL advec_u_pw( i, j )202 ENDIF203 ELSE204 CALL advec_u_up( i, j )205 ENDIF206 CALL diffusion_u( i, j )207 CALL coriolis( i, j, 1 )208 IF ( sloping_surface .AND. .NOT. neutral ) THEN209 CALL buoyancy( i, j, pt, pt_reference, 1, 4 )210 ENDIF211 212 !213 !-- Drag by plant canopy214 IF ( plant_canopy ) CALL plant_canopy_model( i, j, 1 )215 216 !217 !-- External pressure gradient218 IF ( dp_external ) THEN219 DO k = dp_level_ind_b+1, nzt220 tend(k,j,i) = tend(k,j,i) - dpdxy(1) * dp_smooth_factor(k)221 ENDDO222 ENDIF223 224 CALL user_actions( i, j, 'u-tendency' )225 226 !227 !-- Prognostic equation for u-velocity component228 DO k = nzb_u_inner(j,i)+1, nzt229 u_p(k,j,i) = u(k,j,i) + dt_3d * ( tsc(2) * tend(k,j,i) + &230 tsc(3) * tu_m(k,j,i) ) &231 - tsc(5) * rdf(k) * ( u(k,j,i) - ug(k) )232 ENDDO233 234 !235 !-- Calculate tendencies for the next Runge-Kutta step236 IF ( timestep_scheme(1:5) == 'runge' ) THEN237 IF ( intermediate_timestep_count == 1 ) THEN238 DO k = nzb_u_inner(j,i)+1, nzt239 tu_m(k,j,i) = tend(k,j,i)240 ENDDO241 ELSEIF ( intermediate_timestep_count < &242 intermediate_timestep_count_max ) THEN243 DO k = nzb_u_inner(j,i)+1, nzt244 tu_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tu_m(k,j,i)245 ENDDO246 ENDIF247 ENDIF248 249 ENDDO250 ENDDO251 252 CALL cpu_log( log_point(5), 'u-equation', 'stop' )253 254 !255 !-- v-velocity component256 CALL cpu_log( log_point(6), 'v-equation', 'start' )257 258 i_omp_start = nxl259 DO i = nxl, nxr260 DO j = nysv, nyn261 !262 !-- Tendency terms263 tend(:,j,i) = 0.0264 IF ( timestep_scheme(1:5) == 'runge' ) THEN265 IF ( ws_scheme_mom ) THEN266 CALL advec_v_ws( i, j, i_omp_start, tn )267 ELSE268 CALL advec_v_pw( i, j )269 ENDIF270 271 ELSE272 CALL advec_v_up( i, j )273 ENDIF274 CALL diffusion_v( i, j )275 CALL coriolis( i, j, 2 )276 277 !278 !-- Drag by plant canopy279 IF ( plant_canopy ) CALL plant_canopy_model( i, j, 2 )280 281 !282 !-- External pressure gradient283 IF ( dp_external ) THEN284 DO k = dp_level_ind_b+1, nzt285 tend(k,j,i) = tend(k,j,i) - dpdxy(2) * dp_smooth_factor(k)286 ENDDO287 ENDIF288 289 CALL user_actions( i, j, 'v-tendency' )290 291 !292 !-- Prognostic equation for v-velocity component293 DO k = nzb_v_inner(j,i)+1, nzt294 v_p(k,j,i) = v(k,j,i) + dt_3d * ( tsc(2) * tend(k,j,i) + &295 tsc(3) * tv_m(k,j,i) ) &296 - tsc(5) * rdf(k) * ( v(k,j,i) - vg(k) )297 ENDDO298 299 !300 !-- Calculate tendencies for the next Runge-Kutta step301 IF ( timestep_scheme(1:5) == 'runge' ) THEN302 IF ( intermediate_timestep_count == 1 ) THEN303 DO k = nzb_v_inner(j,i)+1, nzt304 tv_m(k,j,i) = tend(k,j,i)305 ENDDO306 ELSEIF ( intermediate_timestep_count < &307 intermediate_timestep_count_max ) THEN308 DO k = nzb_v_inner(j,i)+1, nzt309 tv_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tv_m(k,j,i)310 ENDDO311 ENDIF312 ENDIF313 314 ENDDO315 ENDDO316 317 CALL cpu_log( log_point(6), 'v-equation', 'stop' )318 319 !320 !-- w-velocity component321 CALL cpu_log( log_point(7), 'w-equation', 'start' )322 323 DO i = nxl, nxr324 DO j = nys, nyn325 !326 !-- Tendency terms327 tend(:,j,i) = 0.0328 IF ( timestep_scheme(1:5) == 'runge' ) THEN329 IF ( ws_scheme_mom ) THEN330 CALL advec_w_ws( i, j, i_omp_start, tn )331 ELSE332 CALL advec_w_pw( i, j )333 ENDIF334 335 ELSE336 CALL advec_w_up( i, j )337 ENDIF338 CALL diffusion_w( i, j )339 CALL coriolis( i, j, 3 )340 341 IF ( .NOT. neutral ) THEN342 IF ( ocean ) THEN343 CALL buoyancy( i, j, rho, rho_reference, 3, 64 )344 ELSE345 IF ( .NOT. humidity ) THEN346 CALL buoyancy( i, j, pt, pt_reference, 3, 4 )347 ELSE348 CALL buoyancy( i, j, vpt, pt_reference, 3, 44 )349 ENDIF350 ENDIF351 ENDIF352 353 !354 !-- Drag by plant canopy355 IF ( plant_canopy ) CALL plant_canopy_model( i, j, 3 )356 357 CALL user_actions( i, j, 'w-tendency' )358 359 !360 !-- Prognostic equation for w-velocity component361 DO k = nzb_w_inner(j,i)+1, nzt-1362 w_p(k,j,i) = w(k,j,i) + dt_3d * ( tsc(2) * tend(k,j,i) + &363 tsc(3) * tw_m(k,j,i) ) &364 - tsc(5) * rdf(k) * w(k,j,i)365 ENDDO366 367 !368 !-- Calculate tendencies for the next Runge-Kutta step369 IF ( timestep_scheme(1:5) == 'runge' ) THEN370 IF ( intermediate_timestep_count == 1 ) THEN371 DO k = nzb_w_inner(j,i)+1, nzt-1372 tw_m(k,j,i) = tend(k,j,i)373 ENDDO374 ELSEIF ( intermediate_timestep_count < &375 intermediate_timestep_count_max ) THEN376 DO k = nzb_w_inner(j,i)+1, nzt-1377 tw_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tw_m(k,j,i)378 ENDDO379 ENDIF380 ENDIF381 382 ENDDO383 ENDDO384 385 CALL cpu_log( log_point(7), 'w-equation', 'stop' )386 387 !388 !-- If required, compute prognostic equation for potential temperature389 IF ( .NOT. neutral ) THEN390 391 CALL cpu_log( log_point(13), 'pt-equation', 'start' )392 393 !394 !-- pt-tendency terms with communication395 sbt = tsc(2)396 IF ( scalar_advec == 'bc-scheme' ) THEN397 398 IF ( timestep_scheme(1:5) /= 'runge' ) THEN399 !400 !-- Bott-Chlond scheme always uses Euler time step. Thus:401 sbt = 1.0402 ENDIF403 tend = 0.0404 CALL advec_s_bc( pt, 'pt' )405 406 ENDIF407 408 !409 !-- pt-tendency terms with no communication410 DO i = nxl, nxr411 DO j = nys, nyn412 !413 !-- Tendency terms414 IF ( scalar_advec /= 'bc-scheme' ) THEN415 tend(:,j,i) = 0.0416 IF ( timestep_scheme(1:5) == 'runge' ) THEN417 IF ( ws_scheme_sca ) THEN418 CALL advec_s_ws( i, j, pt, 'pt', flux_s_pt, &419 diss_s_pt, flux_l_pt, diss_l_pt, &420 i_omp_start, tn )421 ELSE422 CALL advec_s_pw( i, j, pt )423 ENDIF424 ELSE425 CALL advec_s_up( i, j, pt )426 ENDIF427 ENDIF428 429 CALL diffusion_s( i, j, pt, shf, tswst, wall_heatflux )430 431 !432 !-- If required compute heating/cooling due to long wave radiation433 !-- processes434 IF ( radiation ) THEN435 CALL calc_radiation( i, j )436 ENDIF437 438 !439 !-- If required compute impact of latent heat due to precipitation440 IF ( precipitation ) THEN441 CALL impact_of_latent_heat( i, j )442 ENDIF443 444 !445 !-- Consideration of heat sources within the plant canopy446 IF ( plant_canopy .AND. ( cthf /= 0.0 ) ) THEN447 CALL plant_canopy_model( i, j, 4 )448 ENDIF449 450 !451 !-- If required compute influence of large-scale subsidence/ascent452 IF ( large_scale_subsidence ) THEN453 CALL subsidence( i, j, tend, pt, pt_init )454 ENDIF455 456 CALL user_actions( i, j, 'pt-tendency' )457 458 !459 !-- Prognostic equation for potential temperature460 DO k = nzb_s_inner(j,i)+1, nzt461 pt_p(k,j,i) = pt(k,j,i) + dt_3d * ( sbt * tend(k,j,i) + &462 tsc(3) * tpt_m(k,j,i) ) &463 - tsc(5) * ( pt(k,j,i) - pt_init(k) ) *&464 ( rdf_sc(k) + ptdf_x(i) + ptdf_y(j) )465 ENDDO466 467 !468 !-- Calculate tendencies for the next Runge-Kutta step469 IF ( timestep_scheme(1:5) == 'runge' ) THEN470 IF ( intermediate_timestep_count == 1 ) THEN471 DO k = nzb_s_inner(j,i)+1, nzt472 tpt_m(k,j,i) = tend(k,j,i)473 ENDDO474 ELSEIF ( intermediate_timestep_count < &475 intermediate_timestep_count_max ) THEN476 DO k = nzb_s_inner(j,i)+1, nzt477 tpt_m(k,j,i) = -9.5625 * tend(k,j,i) + &478 5.3125 * tpt_m(k,j,i)479 ENDDO480 ENDIF481 ENDIF482 483 ENDDO484 ENDDO485 486 CALL cpu_log( log_point(13), 'pt-equation', 'stop' )487 488 ENDIF489 490 !491 !-- If required, compute prognostic equation for salinity492 IF ( ocean ) THEN493 494 CALL cpu_log( log_point(37), 'sa-equation', 'start' )495 496 !497 !-- sa-tendency terms with communication498 sbt = tsc(2)499 IF ( scalar_advec == 'bc-scheme' ) THEN500 501 IF ( timestep_scheme(1:5) /= 'runge' ) THEN502 !503 !-- Bott-Chlond scheme always uses Euler time step. Thus:504 sbt = 1.0505 ENDIF506 tend = 0.0507 CALL advec_s_bc( sa, 'sa' )508 509 ENDIF510 511 !512 !-- sa terms with no communication513 DO i = nxl, nxr514 DO j = nys, nyn515 !516 !-- Tendency-terms517 IF ( scalar_advec /= 'bc-scheme' ) THEN518 tend(:,j,i) = 0.0519 IF ( timestep_scheme(1:5) == 'runge' ) THEN520 IF ( ws_scheme_sca ) THEN521 CALL advec_s_ws( i, j, sa, 'sa', flux_s_sa, &522 diss_s_sa, flux_l_sa, diss_l_sa, i_omp_start, tn )523 ELSE524 CALL advec_s_pw( i, j, sa )525 ENDIF526 527 ELSE528 CALL advec_s_up( i, j, sa )529 ENDIF530 ENDIF531 532 CALL diffusion_s( i, j, sa, saswsb, saswst, wall_salinityflux )533 534 CALL user_actions( i, j, 'sa-tendency' )535 536 !537 !-- Prognostic equation for salinity538 DO k = nzb_s_inner(j,i)+1, nzt539 sa_p(k,j,i) = sa(k,j,i) + dt_3d * ( sbt * tend(k,j,i) + &540 tsc(3) * tsa_m(k,j,i) ) &541 - tsc(5) * rdf_sc(k) * &542 ( sa(k,j,i) - sa_init(k) )543 IF ( sa_p(k,j,i) < 0.0 ) sa_p(k,j,i) = 0.1 * sa(k,j,i)544 ENDDO545 546 !547 !-- Calculate tendencies for the next Runge-Kutta step548 IF ( timestep_scheme(1:5) == 'runge' ) THEN549 IF ( intermediate_timestep_count == 1 ) THEN550 DO k = nzb_s_inner(j,i)+1, nzt551 tsa_m(k,j,i) = tend(k,j,i)552 ENDDO553 ELSEIF ( intermediate_timestep_count < &554 intermediate_timestep_count_max ) THEN555 DO k = nzb_s_inner(j,i)+1, nzt556 tsa_m(k,j,i) = -9.5625 * tend(k,j,i) + &557 5.3125 * tsa_m(k,j,i)558 ENDDO559 ENDIF560 ENDIF561 562 !563 !-- Calculate density by the equation of state for seawater564 CALL eqn_state_seawater( i, j )565 566 ENDDO567 ENDDO568 569 CALL cpu_log( log_point(37), 'sa-equation', 'stop' )570 571 ENDIF572 573 !574 !-- If required, compute prognostic equation for total water content / scalar575 IF ( humidity .OR. passive_scalar ) THEN576 577 CALL cpu_log( log_point(29), 'q/s-equation', 'start' )578 579 !580 !-- Scalar/q-tendency terms with communication581 sbt = tsc(2)582 IF ( scalar_advec == 'bc-scheme' ) THEN583 584 IF ( timestep_scheme(1:5) /= 'runge' ) THEN585 !586 !-- Bott-Chlond scheme always uses Euler time step. Thus:587 sbt = 1.0588 ENDIF589 tend = 0.0590 CALL advec_s_bc( q, 'q' )591 592 ENDIF593 594 !595 !-- Scalar/q-tendency terms with no communication596 DO i = nxl, nxr597 DO j = nys, nyn598 !599 !-- Tendency-terms600 IF ( scalar_advec /= 'bc-scheme' ) THEN601 tend(:,j,i) = 0.0602 IF ( timestep_scheme(1:5) == 'runge' ) THEN603 IF ( ws_scheme_sca ) THEN604 CALL advec_s_ws( i, j, q, 'q', flux_s_q, &605 diss_s_q, flux_l_q, diss_l_q, i_omp_start, tn )606 ELSE607 CALL advec_s_pw( i, j, q )608 ENDIF609 ELSE610 CALL advec_s_up( i, j, q )611 ENDIF612 ENDIF613 614 CALL diffusion_s( i, j, q, qsws, qswst, wall_qflux )615 616 !617 !-- If required compute decrease of total water content due to618 !-- precipitation619 IF ( precipitation ) THEN620 CALL calc_precipitation( i, j )621 ENDIF622 623 !624 !-- Sink or source of scalar concentration due to canopy elements625 IF ( plant_canopy ) CALL plant_canopy_model( i, j, 5 )626 627 !628 !-- If required compute influence of large-scale subsidence/ascent629 IF ( large_scale_subsidence ) THEN630 CALL subsidence( i, j, tend, q, q_init )631 ENDIF632 633 CALL user_actions( i, j, 'q-tendency' )634 635 !636 !-- Prognostic equation for total water content / scalar637 DO k = nzb_s_inner(j,i)+1, nzt638 q_p(k,j,i) = q(k,j,i) + dt_3d * ( sbt * tend(k,j,i) + &639 tsc(3) * tq_m(k,j,i) ) &640 - tsc(5) * rdf_sc(k) * &641 ( q(k,j,i) - q_init(k) )642 IF ( q_p(k,j,i) < 0.0 ) q_p(k,j,i) = 0.1 * q(k,j,i)643 ENDDO644 645 !646 !-- Calculate tendencies for the next Runge-Kutta step647 IF ( timestep_scheme(1:5) == 'runge' ) THEN648 IF ( intermediate_timestep_count == 1 ) THEN649 DO k = nzb_s_inner(j,i)+1, nzt650 tq_m(k,j,i) = tend(k,j,i)651 ENDDO652 ELSEIF ( intermediate_timestep_count < &653 intermediate_timestep_count_max ) THEN654 DO k = nzb_s_inner(j,i)+1, nzt655 tq_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * tq_m(k,j,i)656 ENDDO657 ENDIF658 ENDIF659 660 ENDDO661 ENDDO662 663 CALL cpu_log( log_point(29), 'q/s-equation', 'stop' )664 665 ENDIF666 667 !668 !-- If required, compute prognostic equation for turbulent kinetic669 !-- energy (TKE)670 IF ( .NOT. constant_diffusion ) THEN671 672 CALL cpu_log( log_point(16), 'tke-equation', 'start' )673 674 !675 !-- TKE-tendency terms with communication676 CALL production_e_init677 678 sbt = tsc(2)679 IF ( .NOT. use_upstream_for_tke ) THEN680 IF ( scalar_advec == 'bc-scheme' ) THEN681 682 IF ( timestep_scheme(1:5) /= 'runge' ) THEN683 !684 !-- Bott-Chlond scheme always uses Euler time step. Thus:685 sbt = 1.0686 ENDIF687 tend = 0.0688 CALL advec_s_bc( e, 'e' )689 ENDIF690 ENDIF691 692 !693 !-- TKE-tendency terms with no communication694 DO i = nxl, nxr695 DO j = nys, nyn696 !697 !-- Tendency-terms698 IF ( scalar_advec /= 'bc-scheme' .OR. use_upstream_for_tke ) THEN699 IF ( use_upstream_for_tke ) THEN700 tend(:,j,i) = 0.0701 CALL advec_s_up( i, j, e )702 ELSE703 tend(:,j,i) = 0.0704 IF ( timestep_scheme(1:5) == 'runge' ) THEN705 IF ( ws_scheme_sca ) THEN706 CALL advec_s_ws( i, j, e, 'e', flux_s_e, &707 diss_s_e, flux_l_e, diss_l_e, i_omp_start, tn )708 ELSE709 CALL advec_s_pw( i, j, e )710 ENDIF711 ELSE712 CALL advec_s_up( i, j, e )713 ENDIF714 ENDIF715 ENDIF716 717 IF ( .NOT. humidity ) THEN718 IF ( ocean ) THEN719 CALL diffusion_e( i, j, prho, prho_reference )720 ELSE721 CALL diffusion_e( i, j, pt, pt_reference )722 ENDIF723 ELSE724 CALL diffusion_e( i, j, vpt, pt_reference )725 ENDIF726 727 CALL production_e( i, j )728 729 !730 !-- Additional sink term for flows through plant canopies731 IF ( plant_canopy ) CALL plant_canopy_model( i, j, 6 )732 733 CALL user_actions( i, j, 'e-tendency' )734 735 !736 !-- Prognostic equation for TKE.737 !-- Eliminate negative TKE values, which can occur due to numerical738 !-- reasons in the course of the integration. In such cases the old TKE739 !-- value is reduced by 90%.740 DO k = nzb_s_inner(j,i)+1, nzt741 e_p(k,j,i) = e(k,j,i) + dt_3d * ( sbt * tend(k,j,i) + &742 tsc(3) * te_m(k,j,i) )743 IF ( e_p(k,j,i) < 0.0 ) e_p(k,j,i) = 0.1 * e(k,j,i)744 ENDDO745 746 !747 !-- Calculate tendencies for the next Runge-Kutta step748 IF ( timestep_scheme(1:5) == 'runge' ) THEN749 IF ( intermediate_timestep_count == 1 ) THEN750 DO k = nzb_s_inner(j,i)+1, nzt751 te_m(k,j,i) = tend(k,j,i)752 ENDDO753 ELSEIF ( intermediate_timestep_count < &754 intermediate_timestep_count_max ) THEN755 DO k = nzb_s_inner(j,i)+1, nzt756 te_m(k,j,i) = -9.5625 * tend(k,j,i) + 5.3125 * te_m(k,j,i)757 ENDDO758 ENDIF759 ENDIF760 761 ENDDO762 ENDDO763 764 CALL cpu_log( log_point(16), 'tke-equation', 'stop' )765 766 ENDIF767 768 769 END SUBROUTINE prognostic_equations_noopt770 158 771 159 -
palm/trunk/SOURCE/time_integration.f90
r1017 r1019 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! non-optimized version of prognostic_equations removed 7 7 ! 8 8 ! Former revisions: … … 177 177 !-- in the other versions a good vectorization is prohibited due to 178 178 !-- inlining problems. 179 IF ( loop_optimization == 'vector' ) THEN 179 IF ( loop_optimization == 'cache' ) THEN 180 CALL prognostic_equations_cache 181 ELSEIF ( loop_optimization == 'vector' ) THEN 180 182 CALL prognostic_equations_vector 181 183 ELSEIF ( loop_optimization == 'acc' ) THEN 182 184 CALL prognostic_equations_acc 183 ELSE184 IF ( scalar_advec == 'bc-scheme' ) THEN185 CALL prognostic_equations_noopt186 ELSE187 CALL prognostic_equations_cache188 ENDIF189 185 ENDIF 190 186
Note: See TracChangeset
for help on using the changeset viewer.