*IF DEF,C94_1A,OR,DEF,RECON UIE3F404.10 C ******************************COPYRIGHT****************************** GTS2F400.3187 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.3188 C GTS2F400.3189 C Use, duplication or disclosure of this code is subject to the GTS2F400.3190 C restrictions as set forth in the contract. GTS2F400.3191 C GTS2F400.3192 C Meteorological Office GTS2F400.3193 C London Road GTS2F400.3194 C BRACKNELL GTS2F400.3195 C Berkshire UK GTS2F400.3196 C RG12 2SZ GTS2F400.3197 C GTS2F400.3198 C If no contract has been raised with this copy of the code, the use, GTS2F400.3199 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.3200 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.3201 C Modelling at the above address. GTS2F400.3202 C ******************************COPYRIGHT****************************** GTS2F400.3203 C GTS2F400.3204 CLL Subroutine FROM_LAND_POINTS--------------------------------------- FROMLA1A.3 CLL FROMLA1A.4 CLL Written by A. Dickinson FROMLA1A.5 CLL FROMLA1A.6 CLL Purpose: Selects successive values from input array FROMLA1A.7 CLL DATA_LAND_POINTS and writes them to land points FROMLA1A.8 CLL in horizontal field array DATA. FROMLA1A.9 CLL FROMLA1A.10 CLL Model Modification history from model version 3.0: FROMLA1A.11 CLL version date FROMLA1A.12 CLL FROMLA1A.13 CLL Documentation: None FROMLA1A.14 CLL FROMLA1A.15 CLL ------------------------------------------------------------------ FROMLA1A.16 C FROMLA1A.17 C*L Arguments:-------------------------------------------------------- FROMLA1A.18 FROMLA1A.19SUBROUTINE FROM_LAND_POINTS 65FROMLA1A.20 * (DATA,DATA_LAND_POINTS,LAND_SEA_MASK,POINTS,LAND_POINTS) FROMLA1A.21 FROMLA1A.22 IMPLICIT NONE FROMLA1A.23 FROMLA1A.24 INTEGER FROMLA1A.25 * POINTS !IN Total no of both land and sea points to be processed FROMLA1A.26 *,LAND_POINTS !OUT No of land points FROMLA1A.27 FROMLA1A.28 LOGICAL FROMLA1A.29 * LAND_SEA_MASK(POINTS) !IN Land-sea mask FROMLA1A.30 FROMLA1A.31 REAL FROMLA1A.32 * DATA_LAND_POINTS(POINTS) !IN Data on land points only FROMLA1A.33 *,DATA(POINTS) !OUT Data on land and sea points FROMLA1A.34 FROMLA1A.35 C Workspace usage:----------------------------------------------------- FROMLA1A.36 INTEGER INDEX_LAND_POINTS(POINTS) !Scatter index for land points FROMLA1A.37 C---------------------------------------------------------------------- FROMLA1A.38 C External subroutines called:----------------------------------------- FROMLA1A.39 C*--------------------------------------------------------------------- FROMLA1A.45 C Local varables:------------------------------------------------------ FROMLA1A.46 INTEGER I ! Integer index FROMLA1A.47 C---------------------------------------------------------------------- FROMLA1A.48 C Constants from comdecks:--------------------------------------------- FROMLA1A.49 *CALL C_MDI
FROMLA1A.50 C---------------------------------------------------------------------- FROMLA1A.51 FROMLA1A.52 CL Initialise sea points to MDI FROMLA1A.53 FROMLA1A.54 DO I=1,POINTS FROMLA1A.55 DATA(I)=RMDI FROMLA1A.56 ENDDO FROMLA1A.57 FROMLA1A.58 CL Calculate scatter index for land points FROMLA1A.59 FROMLA1A.60 LAND_POINTS = 0 GSS9F402.45 DO I=1,POINTS GSS9F402.46 IF(LAND_SEA_MASK(I))THEN GSS9F402.47 LAND_POINTS=LAND_POINTS + 1 GSS9F402.48 INDEX_LAND_POINTS(LAND_POINTS) = I GSS9F402.49 END IF GSS9F402.50 END DO GSS9F402.51 FROMLA1A.68 CL Scatter land points to array DATA FROMLA1A.69 CDIR$ IVDEP FROMLA1A.70 ! Fujitsu vectorization directive GRB0F405.315 !OCL NOVREC GRB0F405.316 DO I=1,LAND_POINTS FROMLA1A.71 DATA(INDEX_LAND_POINTS(I))=DATA_LAND_POINTS(I) FROMLA1A.72 ENDDO FROMLA1A.73 FROMLA1A.74 RETURN FROMLA1A.75 END FROMLA1A.76 *ENDIF FROMLA1A.77