Ignore:
Timestamp:
Jan 7, 2019 8:28:54 PM (6 years ago)
Author:
knoop
Message:

OpenACC: flow_statistics partly ported to GPU

File:
1 edited

Legend:

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

    r3648 r3658  
    442442               rho_air_zw, rho_ocean, s, s_p, sa_p, te_m, tend, tpt_m, tu_m,   &
    443443               tv_m, tw_m, u, ug, u_init, u_p, u_stokes_zu, v, vg, v_init, vpt,&
    444                v_p, v_stokes_zu, w, w_p, zu
     444               v_p, v_stokes_zu, w, w_p, zu, heatflux_output_conversion,       &
     445               momentumflux_output_conversion
    445446
    446447    USE biometeorology_mod,                                                    &
     
    585586    USE statistics,                                                            &
    586587        ONLY:  flow_statistics_called, hom, pr_palm, sums_ls_l,                &
    587                rmask, statistic_regions, weight_substep, sums_l_l,             &
     588               rmask, statistic_regions, weight_substep, sums_l, sums_l_l,     &
    588589               sums_us2_ws_l, sums_wsus_ws_l, sums_vs2_ws_l, sums_wsvs_ws_l,   &
    589590               sums_ws2_ws_l, sums_wspts_ws_l, sums_wsqs_ws_l, sums_wssas_ws_l,&
     
    685686!$ACC COPYIN(ddzu(1:nzt+1), dd2zu(1:nzt)) &
    686687!$ACC COPYIN(ddzw(1:nzt+1)) &
     688!$ACC COPYIN(heatflux_output_conversion(nzb:nzt+1)) &
     689!$ACC COPYIN(momentumflux_output_conversion(nzb:nzt+1)) &
    687690!$ACC COPYIN(rdf(nzb+1:nzt), rdf_sc(nzb+1:nzt)) &
    688691!$ACC COPYIN(ptdf_x(nxlg:nxrg), ptdf_y(nysg:nyng)) &
     
    715718! Copy data from statistics
    716719!$ACC DATA &
    717 !$ACC COPYIN(hom(nzb+1:nzb_max,1,1:3,0)) &
     720!$ACC COPYIN(hom(0:nz+1,1:2,1:4,0)) &
    718721!$ACC COPYIN(rmask(nysg:nyng,nxlg:nxrg,0:statistic_regions)) &
    719722!$ACC COPYIN(weight_substep(1:intermediate_timestep_count_max)) &
     723!$ACC COPY(sums_l(nzb:nzt+1,1:pr_palm,0)) &
    720724!$ACC COPY(sums_l_l(nzb:nzt+1,0:statistic_regions,0)) &
    721725!$ACC COPY(sums_us2_ws_l(nzb:nzt+1,0)) &
     
    734738!$ACC COPY(sums_salsa_ws_l(nzb:nzt+1,0))
    735739
     740#ifdef _OPENACC
     741    CALL enter_surface_arrays
     742#endif
     743
    736744!
    737745!-- At beginning determine the first time step
     
    849857       ENDIF   
    850858       
    851 #ifdef _OPENACC
    852        CALL enter_surface_arrays
    853 #endif
    854        
    855859!
    856860!--    Start of intermediate step loop
     
    13691373!
    13701374!--    Will be used at some point by flow_statistics.
    1371        !$ACC UPDATE HOST(e, u, v, w, pt) &
    1372        !$ACC HOST(kh(nzb:nzt+1,nysg:nyng,nxlg:nxrg)) &
    1373        !$ACC HOST(km(nzb:nzt+1,nysg:nyng,nxlg:nxrg)) &
     1375       !$ACC UPDATE &
    13741376       !$ACC HOST(sums_l_l(nzb:nzt+1,0:statistic_regions,0)) &
    13751377       !$ACC HOST(sums_us2_ws_l(nzb:nzt+1,0)) &
     
    13871389       !$ACC HOST(sums_wsss_ws_l(nzb:nzt+1,0)) &
    13881390       !$ACC HOST(sums_salsa_ws_l(nzb:nzt+1,0))
    1389 #ifdef _OPENACC
    1390        CALL exit_surface_arrays
    1391 #endif
    13921391
    13931392!
     
    18101809    ENDDO   ! time loop
    18111810
     1811#ifdef _OPENACC
     1812    CALL exit_surface_arrays
     1813#endif
    18121814!$ACC END DATA
    18131815!$ACC END DATA
Note: See TracChangeset for help on using the changeset viewer.