Changeset 4444 for palm/trunk/SOURCE/time_integration.f90
- Timestamp:
- Mar 5, 2020 3:59:50 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/time_integration.f90
r4420 r4444 25 25 ! ----------------- 26 26 ! $Id$ 27 ! bugfix: cpp-directives for serial mode added 28 ! 29 ! 4420 2020-02-24 14:13:56Z maronga 27 30 ! Added output control for wind turbine model 28 31 ! … … 198 201 199 202 USE arrays_3d, & 200 ONLY: diss, diss_p, dzu, e, e_p, nc, nc_p, nr, nr_p, prho, pt, pt_p, pt_init, q_init, q, & 201 qc, qc_p, qr, qr_p, q_p, ref_state, rho_ocean, s, s_p, sa_p, & 202 tend, u, u_p, v, vpt, v_p, w, w_p 203 ONLY: diss, diss_p, dzu, e_p, nc_p, nr_p, prho, pt, pt_p, pt_init, q, qc_p, qr_p, q_init, & 204 q_p, ref_state, rho_ocean, sa_p, s_p, tend, u, u_p, v, vpt, v_p, w_p 205 206 #if defined( __parallel ) && ! defined( _OPENACC ) 207 USE arrays_3d, & 208 ONLY: e, nc, nr, qc, qr, s, w 209 #endif 203 210 204 211 USE biometeorology_mod, & … … 220 227 221 228 USE chem_modules, & 222 ONLY: bc_cs_t_val, chem_species, cs_name, & 223 emissions_anthropogenic, emiss_read_legacy_mode, & 229 ONLY: bc_cs_t_val, chem_species, emissions_anthropogenic, emiss_read_legacy_mode, & 224 230 n_matched_vars 231 232 #if defined( __parallel ) 233 USE chem_modules, & 234 ONLY: cs_name 235 #endif 225 236 226 237 USE chemistry_model_mod, & … … 242 253 multi_agent_system_end, multi_agent_system_start, nesting_offline, neutral, & 243 254 nr_timesteps_this_run, nudging, ocean_mode, passive_scalar, pt_reference, & 244 pt_slope_offset, random_heatflux, rans_ mode, rans_tke_e, run_coupled, salsa,&255 pt_slope_offset, random_heatflux, rans_tke_e, run_coupled, salsa, & 245 256 simulated_time, simulated_time_chr, skip_time_do2d_xy, skip_time_do2d_xz, & 246 257 skip_time_do2d_yz, skip_time_do3d, skip_time_domask, skip_time_dopr, & … … 254 265 virtual_flight, virtual_measurement, ws_scheme_mom, ws_scheme_sca, timestep_count 255 266 267 #if defined( __parallel ) 268 USE control_parameters, & 269 ONLY: rans_mode 270 #endif 271 256 272 USE cpulog, & 257 273 ONLY: cpu_log, log_point, log_point_s … … 311 327 USE pegrid 312 328 329 #if defined( __parallel ) 313 330 USE pmc_interface, & 314 331 ONLY: nested_run, nesting_mode, pmci_boundary_conds, pmci_datatrans, pmci_synchronize, & 315 332 pmci_ensure_nest_mass_conservation, pmci_ensure_nest_mass_conservation_vertical, & 316 333 pmci_set_swaplevel 334 #endif 317 335 318 336 USE progress_bar, & … … 361 379 362 380 USE vertical_nesting_mod, & 363 ONLY: vnested, vnest_anterpolate, vnest_anterpolate_e, vnest_boundary_conds, & 364 vnest_boundary_conds_khkm, vnest_deallocate, vnest_init, vnest_init_fine, & 365 vnest_start_time 381 ONLY: vnested, vnest_init 382 383 #if defined( __parallel ) 384 USE vertical_nesting_mod, & 385 ONLY: vnest_anterpolate, vnest_anterpolate_e, vnest_boundary_conds, & 386 vnest_boundary_conds_khkm, vnest_deallocate, vnest_init_fine, vnest_start_time 387 #endif 366 388 367 389 USE virtual_measurement_mod, & … … 377 399 378 400 #if defined( _OPENACC ) 379 USE arrays_3d, &380 ONLY: d, dd2zu, ddzu, ddzw, drho_air, drho_air_zw, dzw, heatflux_output_conversion, kh,&381 k m, momentumflux_output_conversion, p, ptdf_x, ptdf_y, rdf, rdf_sc, rho_air,&382 r ho_air_zw, tdiss_m, te_m, tpt_m, tu_m, tv_m, tw_m, ug, u_init, u_stokes_zu, vg,&383 v_init, v_stokes_zu, zu401 USE arrays_3d, & 402 ONLY: d, dd2zu, ddzu, ddzw, drho_air, drho_air_zw, dzw, e, heatflux_output_conversion, & 403 kh, km, momentumflux_output_conversion, nc, nr, p, ptdf_x, ptdf_y, qc, qr, rdf, & 404 rdf_sc, rho_air, rho_air_zw, s, tdiss_m, te_m, tpt_m, tu_m, tv_m, tw_m, ug, u_init, & 405 u_stokes_zu, vg, v_init, v_stokes_zu, w, zu 384 406 385 407 USE control_parameters, & … … 411 433 INTEGER(iwp) :: ig !< index for salsa gases 412 434 INTEGER(iwp) :: lsp !< 435 INTEGER(iwp) :: mid !< masked output running index 436 #if defined( __parallel ) 413 437 INTEGER(iwp) :: lsp_usr !< 414 INTEGER(iwp) :: mid !< masked output running index415 438 INTEGER(iwp) :: n !< loop counter for chemistry species 439 #endif 416 440 417 441 REAL(wp) :: dt_3d_old !< temporary storage of timestep to be used for … … 520 544 !-- At beginning determine the first time step 521 545 CALL timestep 546 547 #if defined( __parallel ) 522 548 ! 523 549 !-- Synchronize the timestep in case of nested run. … … 528 554 CALL pmci_synchronize 529 555 ENDIF 556 #endif 530 557 531 558 ! … … 558 585 559 586 CALL cpu_log( log_point_s(10), 'timesteps', 'start' ) 587 588 #if defined( __parallel ) 560 589 ! 561 590 !-- Vertical nesting: initialize fine grid … … 568 597 ENDIF 569 598 ENDIF 599 #endif 600 570 601 ! 571 602 !-- Determine ug, vg and w_subs in dependence on data from external file … … 764 795 !-- Set the swap level for all modules 765 796 CALL module_interface_swap_timelevel( MOD( timestep_count, 2) ) 797 798 #if defined( __parallel ) 766 799 ! 767 800 !-- Set the swap level for steering the pmc data transfer 768 801 IF ( nested_run ) CALL pmci_set_swaplevel( MOD( timestep_count, 2) + 1 ) !> @todo: why the +1 ? 802 #endif 769 803 770 804 CALL cpu_log( log_point(28), 'swap_timelevel', 'stop' ) 771 805 806 #if defined( __parallel ) 772 807 ! 773 808 !-- Vertical nesting: Interpolate fine grid data to the coarse grid … … 886 921 887 922 ENDIF 923 #endif 888 924 889 925 ! … … 962 998 963 999 IF ( vnest_init ) THEN 1000 #if defined( __parallel ) 964 1001 ! 965 1002 !-- Compute pressure in the CG, interpolate top boundary conditions … … 977 1014 CALL vnest_anterpolate_e 978 1015 CALL cpu_log( log_point_s(28), 'vnest_anter_e', 'stop' ) 1016 #else 1017 CONTINUE 1018 #endif 979 1019 980 1020 ELSE 1021 #if defined( __parallel ) 981 1022 ! 982 1023 !-- Mass (volume) flux correction to ensure global mass conservation for child domains. … … 988 1029 ENDIF 989 1030 ENDIF 990 1031 #endif 991 1032 CALL pres 992 1033 … … 1107 1148 ENDIF 1108 1149 CALL cpu_log( log_point(17), 'diffusivities', 'stop' ) 1150 1151 #if defined( __parallel ) 1109 1152 ! 1110 1153 !-- Vertical nesting: set fine grid eddy viscosity top boundary condition 1111 1154 IF ( vnest_init ) CALL vnest_boundary_conds_khkm 1155 #endif 1112 1156 1113 1157 ENDIF … … 1612 1656 CALL timestep 1613 1657 1658 #if defined( __parallel ) 1614 1659 ! 1615 1660 !-- Synchronize the timestep in case of nested run. … … 1620 1665 CALL pmci_synchronize 1621 1666 ENDIF 1667 #endif 1622 1668 1623 1669 ! … … 1653 1699 !$ACC END DATA 1654 1700 1701 #if defined( __parallel ) 1655 1702 ! 1656 1703 !-- Vertical nesting: Deallocate variables initialized for vertical nesting 1657 1704 IF ( vnest_init ) CALL vnest_deallocate 1705 #endif 1658 1706 1659 1707 IF ( myid == 0 ) CALL finish_progress_bar
Note: See TracChangeset
for help on using the changeset viewer.