SUBROUTINE PAWLEVHLP (DUMMY) VECTOR XLIM VECTOR YLIM VECTOR VAL VECTOR NCLIM * NCA = 1 NCB = NCLIM (3) NCC = NCLIM (3) VALMN = 1.00001E+00 * VAL (1) VALMX = VAL (2) DIVN = VAL (3) HISMN = XLIM (5) HISMX = YLIM (5) * * Set divn in such a way to get a rounded number of colours per decade IF ( DIVN .GT. 1.00001E+00 ) THEN IDIVN = NINT (DIVN) DIVN = IDIVN ELSE IF ( DIVN .LT. 0.99999E+00 ) THEN IDIVN = NINT (1.E+00/DIVN) DIVN = 1.E+00 / REAL (IDIVN) ELSE DIVN = 1.E+00 END IF * Set valmn (corresponding to the the first non blank colour) AVALMN = LOG10 (VALMN) AVALMN = AVALMN * DIVN IVALMN = NINT (AVALMN) AVALMN = REAL (IVALMN) AVALMN = AVALMN / DIVN VALMN = 10.E+00**AVALMN * Set valmn (corresponding to white) and valmx DIVNN = REAL (NCC-1) / DIVN DELTA = 10.E+00**DIVNN VALMX = VALMN * DELTA DELTA = 10.E+00**(1.E+00/DIVN) VALMN = VALMN / DELTA * Check the minimum and the maximum colour actually used AHISMN = LOG10 (HISMN) AHISMX = LOG10 (HISMX) AVALMN = LOG10 (VALMN) AVALMX = LOG10 (VALMX) DO 100 IC = 1, NCC AVALIA = AVALMN + REAL (IC-1) / DIVN AVALIB = AVALMN + REAL (IC) / DIVN IF ( AHISMN .GT. AVALIB ) NCA = IC + 1 100 CONTINUE DO 200 IC = NCC, 1, -1 AVALIA = AVALMN + REAL (IC-1) / DIVN AVALIB = AVALMN + REAL (IC) / DIVN IF ( AHISMX .LT. AVALIA ) NCB = IC - 1 200 CONTINUE NCA = NCA - 1 NCB = NCB + 1 NCA = MAX ( NCA, 1 ) NCB = MIN ( NCB, NCC ) AAXIMN = AVALMN + REAL (NCA-1) / DIVN AAXIMX = AVALMX - REAL (NCC-NCB) / DIVN AXIMN = 10.E+00**AAXIMN AXIMX = 10.E+00**AAXIMX * NCLIM (1) = NCA NCLIM (2) = NCB VAL (1) = VALMN VAL (2) = VALMX VAL (3) = DIVN VAL (4) = AXIMN VAL (5) = AXIMX * RETURN END