subroutine waveit (u, error) use cesrv_struct use cesrv_interface implicit none type (universe_struct), target :: u logical error ! error = .false. call re_allocate (u%wave%p2%plot2%y, 250) call re_allocate (u%wave%p2%plot3%y, 250) u%wave%p2%x_axis_type = 'INDEX' select case (u%wave%wave_what) case ('PHASE') if (u%wave%plane == x_plane$) then call wave_phase(u%phase%x, u%tune%x, u%wave) else call wave_phase(u%phase%y, u%tune%y, u%wave) endif case ('ORBIT') if (u%wave%plane == x_plane$) then call wave_orbit(u%orbit%x, u%phase%x, u%tune%x, u%ring, u%wave) else call wave_orbit(u%orbit%y, u%phase%y, u%tune%y, u%ring, u%wave) endif case ('ETA') if (u%wave%plane == x_plane$) then call wave_orbit(u%eta%x, u%phase%x, u%tune%x, u%ring, u%wave) else call wave_orbit(u%eta%y, u%phase%y, u%tune%y, u%ring, u%wave) endif case ('AC_ETA') if (u%wave%plane == x_plane$) then call wave_orbit(u%ac_eta%x, u%phase%x, u%tune%x, u%ring, u%wave) else call wave_orbit(u%ac_eta%y, u%phase%y, u%tune%y, u%ring, u%wave) endif case ('CBAR') call wave_cbar (u%phase, u%tune, u%wave) case default print *, 'ERROR: YOU MUST FIRST SET WHAT TO WAVE USING "WAVE".' error = .true. end select end subroutine