SUBROUTINE retrieval_options_setup( & NCHN,ML,MGS,MDET,ngdo, NL, NDET, NREG, nsr, ner, & ZREG, ANER,VARY, ZA, ZSTART, ZEND, IEVENT, & tran, mt, zoffsun) c c a function that will determine the array index which bounds a value c external location CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C sets up some retrieval options C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC LOGICAL IEVENT(ML,MGS,NCHN) REAL*8 tran(ml,mt) DIMENSION ZA(ml),VARY(ML,MDET,NCHN),ANER(NCHN,NDET), & ZSTART(MGS,NCHN),ZEND(MGS,NCHN) if( zreg .ge. 0.) then call location(za, nl, zreg, nreg) c if(nreg .eq. 0) nreg = 1 if(nreg .eq. 0 .or. za(nreg) .ne. zreg) then do i = nl, nreg+1, -1 za(i+1)=za(i) enddo za(nreg+1) = zreg nreg=nreg+1 nl=nl+1 endif endif ner = 0 nsr = nl + 1 DO ICHN=1,NCHN c print*, aner(ichn,1) DO I=1,NL do j =1, ndet VARY(I,j,ICHN)=ANER(ICHN,j)**2 enddo DO IG=1, ngdo IEVENT(I,IG,ICHN)=.FALSE. IF(ZSTART(IG,ICHN).GT.0.0.AND.(ZA(I).LE.ZSTART(IG,ICHN).AND. & ZA(I).GE. max(ZEND(IG,ICHN),zoffsun) )) THEN IEVENT(I,IG,ICHN)=.TRUE. nsr = min(i, nsr) ner = max(i, ner) endif ENDDO ENDDO c print*, vary(1,1,ichn) ENDDO do i1 = 1, mt do i2 = 1,ml tran(i2,i1) = -999.0 enddo enddo WRITE(*,*) 'EXITING retrieval_options_setup.F, NSR,NER= ', & Nsr,Ner write(*,*) za(nsr), za(ner) RETURN END