Ignore:
Timestamp:
Sep 27, 2012 9:23:24 AM (12 years ago)
Author:
raasch
Message:

Starting with changes required for GPU optimization. OpenACC statements for using NVIDIA GPUs added.
Adjustment of mixing length to the Prandtl mixing length at first grid point above ground removed.
mask array is set zero for ghost boundaries

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/time_integration.f90

    r1002 r1015  
    44! Current revisions:
    55! -----------------
    6 !
     6! +call of prognostic_equations_acc
    77!
    88! Former revisions:
     
    176176          IF ( loop_optimization == 'vector' )  THEN
    177177             CALL prognostic_equations_vector
     178          ELSEIF ( loop_optimization == 'acc' )  THEN
     179             CALL prognostic_equations_acc
    178180          ELSE
    179181             IF ( scalar_advec == 'bc-scheme' )  THEN
     
    284286             CALL pres
    285287          ENDIF
     288!
     289!--       Update device memory for calculating diffusion quantities and for next
     290!--       timestep
     291          !$acc update device( e, pt, u, v, w )
     292          !$acc update device( q )  if ( allocated( q ) )
    286293
    287294!
    288295!--       If required, compute virtuell potential temperature
    289           IF ( humidity ) CALL compute_vpt
     296          IF ( humidity )  THEN
     297             CALL compute_vpt
     298             !$acc update device( vpt )
     299          ENDIF
    290300
    291301!
    292302!--       If required, compute liquid water content
    293           IF ( cloud_physics ) CALL calc_liquid_water_content
     303          IF ( cloud_physics )  THEN
     304             CALL calc_liquid_water_content
     305             !$acc update device( ql )
     306          ENDIF
    294307
    295308!
     
    303316                CALL prandtl_fluxes
    304317                CALL cpu_log( log_point(19), 'prandtl_fluxes', 'stop' )
     318!
     319!++             Statistics still require updates on host
     320                !$acc update host( qs, qsws, rif, shf, ts )
    305321             ENDIF
    306322
     
    318334             ENDIF
    319335             CALL cpu_log( log_point(17), 'diffusivities', 'stop' )
     336!
     337!++          Statistics still require update of diffusivities on host
     338             !$acc update host( kh, km )
    320339
    321340          ENDIF
Note: See TracChangeset for help on using the changeset viewer.