subroutine getmd1 c c----------------------------------------------------------------------- c c This routine loads complete irpa and imsh arrays fora whole 8 c second block of data, no mass slide adjustment. It gets the c decoded word 7 flags from the /i7flgs/ common block, which must be c defined by a call to deffgs. c c----------------------------------------------------------------------- c integer*2 hder1(100), ical(8), idat(2812), imdf(8), imsf(8), * imsmd(32), irpac(8), irpamd(32), irpf(8), i7flgs(8,22) c integer*4 imsh(32,2,8), irpa(32,2,8) c common /i7flgs/i7flgs, * /maf1/idat, * /rpamsh/irpa, imsh c equivalence (hder1(37), irpamd(1)), * (hder1(69), imsmd(1)), * (idat(1), hder1(1)), * (i7flgs(1,1), imdf), * (i7flgs(1,5), ical), * (i7flgs(1,7), irpac), * (i7flgs(1,18), irpf), * (i7flgs(1,19), imsf) c c----------------------------------------------------------------------- c *** loop over all 16 half seconds in current data record *** c----------------------------------------------------------------------- c do 2000 isec = 1, 8 do 1000 ihsec = 1, 2 if ((imdf(isec).eq.0) .and. (ical(isec).eq.0)) go to 100 c c----------------------------------------------------------------------- c *** a memory dump or a calibration sequence must be going on *** c----------------------------------------------------------------------- c do j = 1, 32 irpa(j, ihsec, isec) = -1 imsh(j, ihsec, isec) = -1 end do go to 1000 c c----------------------------------------------------------------------- c *** load in the memory dump rpa and ims *** c----------------------------------------------------------------------- c 100 continue do j = 1, 32 irpa(j, ihsec, isec) = irpamd(j) imsh(j, ihsec, isec) = imsmd(j) end do c c----------------------------------------------------------------------- c *** determine the actual rpa values *** c----------------------------------------------------------------------- c if (irpf(isec) .eq. 0) go to 200 c c----------------------------------------------------------------------- c *** ignore the rpa mem-dump settings and *** c *** set all rpa's to 0 *** c----------------------------------------------------------------------- c do j = 1, 32 irpa(j, ihsec, isec) = 0 end do c c----------------------------------------------------------------------- c *** determine the actual ims values *** c----------------------------------------------------------------------- c 200 continue if ((imsf(isec).eq.0) .and. (irpac(isec).eq.0)) go to 300 c c----------------------------------------------------------------------- c *** if irpac = 1 then the ims is ignored and *** c *** we are in the electrometer mode *** c----------------------------------------------------------------------- c imass = -1 c c----------------------------------------------------------------------- c *** if imsf = 1 then toggling on H+/HE+ *** c *** (load in HE+ into high ims) *** c----------------------------------------------------------------------- c if (imsf(isec) .eq. 1) imass = 3610 do j = 1, 32 imsh(j, ihsec, isec) = imass end do go to 1000 300 continue 1000 continue 2000 continue c c----------------------------------------------------------------------- c----------------------------------------------------------------------- c return end