#ifdef BENCH INTEGER, EXTERNAL :: rsl_internal_microclock INTEGER btimex, solve_tim #define SOLVE_START solve_tim = rsl_internal_microclock() #define SOLVE_END solve_tim = rsl_internal_microclock() - solve_tim #define BENCH_DECL(A) integer A #define BENCH_INIT(A) A=0 #define BENCH_START(A) btimex=rsl_internal_microclock() #define BENCH_END(A) A=A+rsl_internal_microclock()-btimex #define BENCH_REPORT(A) write(0,*)'A= ',A BENCH_DECL(step_prep_tim) BENCH_DECL(set_phys_bc_tim) BENCH_DECL(init_zero_tend_tim) BENCH_DECL(phy_prep_tim) BENCH_DECL(rad_driver_tim) BENCH_DECL(surf_driver_tim) BENCH_DECL(pbl_driver_tim) BENCH_DECL(cu_driver_tim) BENCH_DECL(fdda_driver_tim) BENCH_DECL(cal_phy_tend) BENCH_DECL(comp_diff_metrics_tim) BENCH_DECL(tke_diff_bc_tim) BENCH_DECL(deform_div_tim) BENCH_DECL(calc_tke_tim) BENCH_DECL(phy_bc_tim) BENCH_DECL(update_phy_ten_tim) BENCH_DECL(tke_rhs_tim) BENCH_DECL(vert_diff_tim) BENCH_DECL(hor_diff_tim) BENCH_DECL(rk_tend_tim) BENCH_DECL(relax_bdy_dry_tim) BENCH_DECL(small_step_prep_tim) BENCH_DECL(set_phys_bc2_tim) BENCH_DECL(advance_uv_tim) BENCH_DECL(spec_bdy_uv_tim) BENCH_DECL(advance_mu_t_tim) BENCH_DECL(spec_bdy_t_tim) BENCH_DECL(sumflux_tim) BENCH_DECL(advance_w_tim) BENCH_DECL(spec_bdynhyd_tim) BENCH_DECL(cald_p_rho_tim) BENCH_DECL(phys_bc_tim) BENCH_DECL(calc_mu_uv_tim) BENCH_DECL(small_step_finish_tim) BENCH_DECL(rk_scalar_tend_tim) BENCH_DECL(rlx_bdy_scalar_tim) BENCH_DECL(update_scal_tim) BENCH_DECL(flow_depbdy_tim) BENCH_DECL(tke_adv_tim) BENCH_DECL(chem_adv_tim) BENCH_DECL(calc_p_rho_tim) BENCH_DECL(diag_w_tim) BENCH_DECL(bc_end_tim) BENCH_DECL(advance_ppt_tim) BENCH_DECL(moist_physics_prep_tim) BENCH_DECL(micro_driver_tim) BENCH_DECL(moist_phys_end_tim) BENCH_DECL(time_filt_tim) BENCH_DECL(bc_2d_tim) BENCH_DECL(microswap_1) BENCH_DECL(microswap_2) #else #define SOLVE_START #define SOLVE_END #define BENCH_INIT(A) #define BENCH_START(A) #define BENCH_END(A) #define BENCH_REPORT(A) #endif