*IF DEF,C91_2A ISMIN2A.2 C ******************************COPYRIGHT****************************** GTS2F400.5095 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.5096 C GTS2F400.5097 C Use, duplication or disclosure of this code is subject to the GTS2F400.5098 C restrictions as set forth in the contract. GTS2F400.5099 C GTS2F400.5100 C Meteorological Office GTS2F400.5101 C London Road GTS2F400.5102 C BRACKNELL GTS2F400.5103 C Berkshire UK GTS2F400.5104 C RG12 2SZ GTS2F400.5105 C GTS2F400.5106 C If no contract has been raised with this copy of the code, the use, GTS2F400.5107 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.5108 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.5109 C Modelling at the above address. GTS2F400.5110 C ******************************COPYRIGHT****************************** GTS2F400.5111 C GTS2F400.5112 CLL Function ISMIN ISMIN2A.3 CLL ISMIN2A.4 CLL Purpose: Portable version of Cray library function to find the TS220993.45 CLL index of the minimum value. TS220993.46 CLL TS220993.47 CLL Tested under compiler: fort77 TS220993.48 CLL Tested under OS version: HP-UX A.08.07 TS220993.49 CLL ISMIN2A.6 CLL Model Modification history : ISMIN2A.7 CLL version Date ISMIN2A.8 CLL 3.2 16/07/93 New deck. Tracey Smith. ISMIN2A.9 CLL 3.3 22/09/93 Improved comments Tracey Smith TS220993.50 CLL 4.0 06/12/95 Fixed incorrect loop bounds P.Burton ANF3F400.5 CLL 4.4 24/04/97 Returns the index of the min value within GIE1F403.5 CLL the field of selected points. Ian Edmond GIE1F403.6 CLL TS220993.51 CLL Programming Standard: UM Doc Paper 3, version 5 (08/12/92) TS220993.52 CLL ISMIN2A.10INTEGER FUNCTION ISMIN(N,SX,INCX) 31ISMIN2A.11 IMPLICIT NONE ISMIN2A.12 INTEGER TS220993.53 & N ! IN number of elements to searched TS220993.54 & ,INCX ! IN increment between elements TS220993.55 & ,I ! loop counter TS220993.56 REAL TS220993.57 & SX(1+(N-1)*INCX) ! IN real vector to be searched TS220993.58 ISMIN=1 ISMIN2A.15 IF(N.LE.0) THEN ISMIN2A.16 ISMIN=0 ISMIN2A.17 ELSE ISMIN2A.18 DO 100 I=1,N GIE1F403.7 IF(SX(1+INCX*(I-1)).LT.SX(1+INCX*(ISMIN-1))) ISMIN=I GIE1F403.8 100 CONTINUE ISMIN2A.21 END IF ISMIN2A.22 END ISMIN2A.23 *ENDIF ISMIN2A.24