GNU WOCSS (gwocss)  2.2.4-pre
GNU version of Winds On Critical Streamline Surfaces (WOCSS)
input.f
Go to the documentation of this file.
1 C*********************************************************************
2  SUBROUTINE runrd(NITER,KFYL1,KFYL2)
3 C*********************************************************************
4 C
5 C ALLEN BECKER ADDED THIS TO READ VALUES OF MOST PARAMETERS FROM FILE
6 C 'RUNDAT.DAT'. THIS REPLACES THE OLD BLOCK DATA FILE.
7 C
8 C FLUDWIG REVISED 5/97
9 C
10  include 'NGRIDS.PAR'
11 C
12  include 'ANCHOR.CMM'
13  include 'FLOWER.CMM'
14  include 'LIMITS.CMM'
15  include 'STALOC.CMM'
16 C
17 C OPEN RUN DESCRIPTORS.
18 C
19 C
20  OPEN (22,file=chpath//'RUNSTF'//chmesh//'.DAT',
21  $ status='UNKNOWN',form='FORMATTED')
22  READ (22,*)
23  READ (22,6002) chpout
24  chpvex=chpout
25  WRITE (*,*) chpout
26 C
27  READ (22,*) dbug,dbug2
28  READ (22,*) dobin,doflat
29 C
30 C READ NUMBER OF VERTICAL FLOW SURFACES
31 C
32  READ (22,*) nlvl
33  IF (nlvl.GT.nzgrd .OR. nlvl .LT. 1) THEN
34  WRITE (*,*) 'BAD NUMBER OF LEVELS', nlvl, nzgrd
35  pause
36  stop
37  END IF
38 C
39 C READ FLOW LEVELS (FRACTION OF TOP LEVEL)
40 C
41  READ(22,*) (sigma(k),k=1,nlvl)
42  WRITE (*,*) (sigma(k),k=1,nlvl)
43 C
44  READ (22,*) nflat
45  IF (nflat.GT.nhoriz .OR. nflat .LT. 1) THEN
46  WRITE (*,*) 'BAD NUMBER OF LEVELS', nhoriz, nflat
47  pause
48  stop
49  END IF
50 C
51 C READ FLOW LEVELS IN M ABOVE LOW POINT
52 C
53  READ(22,*) (zchooz(k),k=1,nflat)
54 C
55 C READ FACTOR FOR CONVERTING TO M/S
56 C
57  READ (22,*) spdcnv
58 C
59 C READ NO. COLS,ROWS FOR GRID
60 C
61  READ (22,*) nrow,ncol
62  IF (nrow .GT. nygrd .OR. ncol .GT. nxgrd) THEN
63  WRITE (*,*) 'BAD X,Y DIMENSIONS ARE ',ncol,nrow
64  WRITE (*,*) 'THEY SHOULD NOT BE > ', nxgrd,nygrd
65  pause
66  stop
67  END IF
68 C
69 C READ GRID PT INTERVAL FOR ASCII OUTPUT -- IS ALL
70 C GRID PTS, 2, EVRY OTHER ONE ETC.
71 C
72  READ (22,*) nskip
73  READ (22,*) nrytx, nryty
74  READ (22,*) nascx0, nascy0
75 C
76 C CHECK FOR OUT-OF-BOUNDS ARRAY STUFF.
77 C
78  IF (nascx0-1+nrytx .GT. ncol) THEN
79  WRITE (*,*) 'WRITE GRID RUNS OVER CALC. GRID -- X DIRECT.'
80  nrytx=ncol-nascx0+1
81  WRITE (*,*) 'NO OF OUTPUT COLUMNS SET TO ',nrytx
82  END IF
83  IF (nascy0-1+nryty .GT. ncol) THEN
84  WRITE (*,*) 'WRITE GRID RUNS OVER CALC. GRID -- Y DIRECT.'
85  nryty=nrow-nascy0+1
86  WRITE (*,*) 'NO OF OUTPUT ROWS SET TO ',nryty
87  END IF
88 C
89 C READ GRID INTERVALS IN KM
90 C
91  READ (22,*) dscrs
92 C
93 C READ UTM COORDINATE OF REFERENCE POINT (1,1)--(X,Y)
94 C
95  READ (22,*) utmapx,utmapy
96  WRITE (*,*) utmapx,utmapy
97 C
98 C READ ANCHOR POINT GRID INDICES (IX,JY)
99 C
100  READ (22,*) kgridx,kgridy
101  xorig=utmapx-dscrs*float(kgridx)
102  yorig=utmapy-dscrs*float(kgridy)
103 C
104 C CONSTANTS USED TO DEFINE SURFACE SHAPES SUBROUTINE RESIG
105 C REDEFINES SURFACE SHAPES USING CRITICAL STREAMLINE METHODOLOGY.
106 C
107  READ (22,*) avthk
108  READ (22,*) slfac
109  READ (22,*) cmpres
110  READ (22,*) dpotmin
111  WRITE (*,*) avthk,slfac,cmpres,dpotmin
112 C
113 C CONSTANTS USED FOR INTERPOLATION -- D2MIN IS THE MINIMUM
114 C DISTANCE ALLOWED IN THE INVERSE WEIGHTING DENOMINATOR. HT2DIS
115 C DEFINES THE RELATIVE IMPORT OF CHANGES IN ELEVATION VERSUS
116 C HORIZONTAL DISTANCE IN THE INVERSE DISTANCE WEIGHTING. WHEN
117 C SET TO ZERO, VERTICAL TERRAIN EFFECT IS NOT INCLUDED.
118 C
119 C READ ROUGHNESS LENGTH (ZZERO) AND ANEMOMETER HEIGHT (Z10)
120 C
121  READ (22,*) zzero,z10
122  z0=zzero
123  zchooz(1)=z10
124  READ (22,*) d2min
125  READ (22,*) dtwt
126 C
127 C NITER IS THE UPPER LIMIT ON ITERATIONS TOWARD NONDIVERGENCE IN
128 C BAL5 ADJMAX IS THE FRACTION OF THE USUAL ITERATIVE ADJUSTMENT
129 C TOWARD NONDIVERGENCE THAT IS MADE AT GRID POINTS NEAR
130 C OBSERVATIONS IN SUBROUTINE BAL5.
131 C
132  READ (22,*) niter
133  READ (22,*) adjmax
134  WRITE (*,*) d2min,dtwt,niter,adjmax
135 C
136 C READ INDICES OF LOW POINTS TO BE USED IN CRITICAL STREAMLINE
137 C CALCULATIONS FOR EACH TEMPERATURE SOUNDING.
138 C
139  DO 97 lows=1,5
140  READ (22,*) lowix(lows),lowiy(lows)
141 97 CONTINUE
142 C
143  READ (22,*) nend
144  WRITE (*,*) 'number of files to do ', nend
145 C
146 C EXTRA VARIABLES TO OUTPUT -- VERTICAL MOTION (W), THETA
147 C
148  READ(22,*) dowcmp
149  READ(22,*) dothet
150  READ(22,*) dopres
151  READ(22,*) dobri
152  READ(22,*) dobvpd
153 C
154 C DISABLED PROFILES & TIME SERIES INSTEAD OF ARRAYS
155 C****************************************************
156 C
157 C READ (22,*) DOWVSZ
158 C READ (22,*) NPFYLS
159  dowvsz=.false.
160  npfyls=0
161  IF (npfyls.GT.nwndpt .AND. dowvsz) THEN
162  WRITE(*,*) npfyls,' IS TOO MANY WIND PROFILE OUTPUTS!'
163  stop
164  END IF
165 C****************************************************
166  IF (.NOT. dowvsz) THEN
167  npfyls=0
168  ELSE
169  IF (nend.GT.111) THEN
170  WRITE (*,*) 'TOO MANY CASES FOR PROFILE PLOTS. ',
171  $ 'MUST BE 111 OR FEWER.'
172  stop
173  END IF
174  DO 107 it=1,npfyls
175  READ (22,*) ptutmx,ptutmy
176  jprylx(it)=1+nint((ptutmx-xorig)/dscrs)
177  jpryly(it)=1+nint((ptutmy-yorig)/dscrs)
178 107 CONTINUE
179  END IF
180 C
181 6002 FORMAT (a7)
182 6006 FORMAT (1x, 20f10.2)
183 6011 FORMAT (1x, 'SIGMAS: ',20f8.4)
184 C
185  RETURN
186 C
187  END
188 
subroutine runrd(NITER, KFYL1, KFYL2)
Definition: input.f:3