*IF DEF,W08_1A GLW1F404.39 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.15779 C GTS2F400.15780 C Use, duplication or disclosure of this code is subject to the GTS2F400.15781 C restrictions as set forth in the contract. GTS2F400.15782 C GTS2F400.15783 C Meteorological Office GTS2F400.15784 C London Road GTS2F400.15785 C BRACKNELL GTS2F400.15786 C Berkshire UK GTS2F400.15787 C RG12 2SZ GTS2F400.15788 C GTS2F400.15789 C If no contract has been raised with this copy of the code, the use, GTS2F400.15790 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.15791 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.15792 C Modelling at the above address. GTS2F400.15793 C ******************************COPYRIGHT****************************** GTS2F400.15794 C GTS2F400.15795 MGRID.3SUBROUTINE MGRID (IA1, 1,4MGRID.4 *CALL ARGWVAL
MGRID.5 *CALL ARGWVMP
MGRID.6 *CALL ARGWVGD
MGRID.7 & icode) MGRID.8 MGRID.9 *CALL TYPWVMP
MGRID.10 *CALL TYPWVGD
MGRID.11 *CALL TYPWVAL
MGRID.12 MGRID.13 C ---------------------------------------------------------------------- MGRID.14 C MGRID.15 C**** *MGRID* - ROUTINE TO ARRANGE WAMODEL GRID. MGRID.16 C MGRID.17 C H.GUNTHER ECMWF 04/04/1990 MGRID.18 C MGRID.19 C* PURPOSE. MGRID.20 C ------- MGRID.21 C MGRID.22 C TO ARRANGE WAMODEL GRID FOR A GIVEN AREA AND COMPUTE VARIOUS MGRID.23 C MODEL CONSTANTS. MGRID.24 C MGRID.25 C** INTERFACE. MGRID.26 C ---------- MGRID.27 C MGRID.28 C *CALL* *MGRID (IA1)* MGRID.29 C *IA1* - TOPOGRAPHIC DATA OF PART MGRID.30 C MGRID.31 C METHOD. MGRID.32 C ------- MGRID.33 C MGRID.34 C THE NUMBER OF SEA POINTS PER LATITUDE IS COUNTED AND MODEL MGRID.35 C BLOCKS OF MAXIMUM LENGTH OF NIBLO ARE CONSTRUCTED. MGRID.36 C MGRID.37 C EXTERNALS. MGRID.38 C ---------- MGRID.39 C MGRID.40 C *MBLOCK* - SUB. TO GENERATE A BLOCK. MGRID.41 C MGRID.42 C REFERENCE. MGRID.43 C ---------- MGRID.44 C MGRID.45 C NONE. MGRID.46 C MGRID.47 C ---------------------------------------------------------------------- MGRID.48 C MGRID.49 logical ia1(ngx,ngy) ! in land-sea mask land=T WVV0F401.28 C MGRID.51 C ---------------------------------------------------------------------- MGRID.52 C MGRID.53 integer IPP(NGY) MGRID.54 C MGRID.55 C *IPP* INTEGER NUMBER OF SEA POINTS PER LATITUDE. MGRID.56 C MGRID.57 C ---------------------------------------------------------------------- MGRID.58 C MGRID.59 C* 1. COUNT NUMBER OF SEA POINTS PER LATITUDE. MGRID.60 C ---------------------------------------- MGRID.61 C MGRID.62 1000 CONTINUE MGRID.63 MGRID.64 DO 1001 K=1,NY MGRID.65 IPP(K) = 0 MGRID.66 DO 1002 I=1,NX MGRID.67 IF (.not.IA1(I,K)) THEN ! a sea point WVV0F401.29 IPP(K) = IPP(K) + 1 MGRID.69 ENDIF MGRID.70 1002 CONTINUE MGRID.71 1001 CONTINUE MGRID.72 MGRID.73 C ---------------------------------------------------------------------- MGRID.74 C MGRID.75 C* 2. MAKE BLOCKS. MGRID.76 C ------------ MGRID.77 C MGRID.78 IGL=0 MGRID.79 2000 CONTINUE MGRID.80 IL = 0 MGRID.81 KA = 1 MGRID.82 MGRID.83 DO 2001 K = 1,NY MGRID.84 IL = IL + IPP(K) MGRID.85 IF (IL.GT.NIBLO) THEN MGRID.86 KE = K-1 MGRID.87 MGRID.88 CALL MBLOCK
(KA, KE, IPP, ia1, MGRID.89 *CALL ARGWVAL
MGRID.90 *CALL ARGWVMP
MGRID.91 *CALL ARGWVGD
MGRID.92 & icode) MGRID.93 MGRID.94 if(icode.ne.0) then MGRID.95 WRITE(6,*)'calling abort in setupwv : mgrid'
GIE0F403.408 WRITE(6,*)'icode ',icode,' returned from mblock' GIE0F403.409 call abort
MGRID.98 endif MGRID.99 MGRID.100 KA = KE-1 MGRID.101 ccmh the line following starts counting from line ke-1 MGRID.102 ccmh (=ka for next block) MGRID.103 ccmh line ke+1 is the current line k in the loop MGRID.104 MGRID.105 IL = IPP(KA)+IPP(KE)+IPP(KE+1) MGRID.106 ENDIF MGRID.107 2001 CONTINUE MGRID.108 MGRID.109 CALL MBLOCK
(KA, NY, IPP, ia1, MGRID.110 *CALL ARGWVAL
MGRID.111 *CALL ARGWVMP
MGRID.112 *CALL ARGWVGD
MGRID.113 &icode) MGRID.114 MGRID.115 if(icode.ne.0) then MGRID.116 WRITE(6,*)'calling abort in setupwv : mgrid'
GIE0F403.410 WRITE(6,*)'icode ',icode,' returned from mblock' GIE0F403.411 call abort
MGRID.119 endif MGRID.120 MGRID.121 RETURN MGRID.122 END MGRID.123 *ENDIF MGRID.124