subroutine checkorder(order) c--- checks the value of nproc and part against a list of processes that c--- are calculable only at LO. If the calculation is not possible, c--- writes an error message and aborts implicit none include 'frag.f' include 'part.f' integer nproc character*1 order common/nproc/nproc c--- special cases where there is no LO calculation if ((part .ne. 'real') .and. (order .eq. 'R')) then write(6,*) write(6,*)'This process can only be calculated with part=real,' write(6,*)'it is a subset of a NLO calculation only.' stop endif c--- if we're calculating LO only, there's no problem if (part .eq. 'lord') return c--- otherwise, we must be performing a NLO calculation, and this list of c--- process numbers can't be calculated beyond LO if (order .eq. 'L') then write(6,*) write(6,*)'This process cannot be calculated beyond LO - please' write(6,*)'check the values of nproc and part then try again' stop endif c--- check that fragmentation is not turned on for a non-fragmentation process if ((frag) .and. (order .ne. 'F')) then write(6,*) write(6,*) 'This process does not include photon fragmentation.' write(6,*) 'Please set frag=.false. in the input file.' stop endif return end