GNU WOCSS (gwocss)  2.2.4-pre
GNU version of Winds On Critical Streamline Surfaces (WOCSS)
Functions/Subroutines
geosig.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine geosig
 

Function/Subroutine Documentation

subroutine geosig ( )

Definition at line 3 of file geosig.f.

Referenced by wocss().

3 C*********************************************************************
4 C
5 C PREPARE SFC STATION REPORTS OF WIND DIRECTION, WIND SPEED
6 C (M/S), SEA LEVEL PRESSURE (MB), AND TEMPERATURE (DEG CELSIUS)
7 C FOR INPUT TO WIND ANALYSIS IF NO UPPER WINDS.
8 C COMPUTE GEOS WIND FROM PRESSURE AT THREE STATIONS AND
9 C CORRECT IT FOR THERMAL WIND COMPONENT (IF DESIRED).
10 C
11 C BY R M ENDLICH, SRI INTN'L, MENLO PARK CA 94025 DEC '84.
12 C VARIABLES.GEOSTROPHIC WIND CALCULATIONS WERE PUT IN THE SUBROUTINE
13 C GEOSTR AND A DIFFERENT METHOD OF WIND INTERPOLATION WAS INTRODUCED
14 C JANUARY 1988 BY F. LUDWIG.
15 C
16 C FURTHER MODIFIED MAY 1989 TO REINTERPOLATE TO FLOW SURFACES WITH
17 C SECOND CALLS TO DOPSIG, TOPWND, SFCTRP AND BETWIN --F. LUDWIG
18 C
19 C FURTHER MODIFIED NOVEMBER 1989 TO INTERPOLATE SFC TEMPERATURES AND
20 C UPPER LEVEL POTENT TEMP LAPSE RATES TO FLOW SURFACES
21 C -- F. LUDWIG
22 C
23 C FURTHER MODIFIED MARCH 1997 TO READ A LONG SEQUENCE OF INPUTS FROM
24 C THE SAME FILE (UNIT 12), NOT WINDS AND UPPER TEMPERATURES FROM
25 C SEPARATE FILES
26 C
27 C FURTHER MODIFIED 12/01 TO READ DIFFERENT FORMAT AS USED WITH
28 C VTMX SLC DATA
29 C
30 C
31 C -- F. LUDWIG 12/2001
32 C
33 C VARIABLES:
34 C NUMNWS = NUMBER OF SFC REPORTS
35 C WD = WIND DIRECTION (DEG CW FROM N-- METEOROL CONVENT.)
36 C SP = WIND SPEED (M/S)
37 C STLT = STATION LATITUDE IN DEGS AND HUNDREDTHS
38 C STLN = STATION LONGITUDE IN DEGS AND HUNDREDTHS
39 C PRESS = STATION SEA LEVEL PRESSURE IN MB
40 C TEMP = STATION TEMP IN DEG CELSIUS
41 C SPDCNV=CONVERSION FACTOR TO CONVERT SPEEDS TO M/S, IF IN OTHER
42 C UNITS
43 C DEG2R= FACTOR TO CONVERT DEGREES TO RADIANS
44 C
45  include 'NGRIDS.PAR'
46 C
47  parameter(pi=3.1415927,deg2r=pi/180.0)
48 C
49  include 'ANCHOR.CMM'
50  include 'FLOWER.CMM'
51  include 'LIMITS.CMM'
52  include 'STALOC.CMM'
53 C
54  INTEGER ncallz
55 C
56  SAVE
57 C
58  DATA ncallz /0/
59 C
60 C READ SURFACE STATION DATA: STATION ID, STATION COORDINATES (UTM)
61 C PRESSURE, TEMPERATURE, WIND DIRECTION, WIND SPEED (MPS)
62 C READ NUMBER OF SFC OBS,NUMBER OF UPPER WIND SITES & NUMBER
63 C OF TEMP, PROFILES. CHECK FOR ARRAY SIZES
64 C
65  READ (12,*) numnws, numdop, numtmp
66  IF (numnws.GT.nsites .OR. numnws.LT.1) THEN
67  WRITE (*,*) 'BAD NUMBER OF SFC OBS'
68  WRITE (*,*) numnws, ntsites
69  END IF
70  IF (numdop.GT.nwsite .OR. numdop.LT.1) THEN
71  WRITE (*,*) 'BAD NUMBER OF WIND PROFILES'
72  WRITE (*,*) numdop,nwsite
73  stop
74  END IF
75  IF (numtmp.GT.ntsite .OR. numtmp.LT.1) THEN
76  WRITE (*,*) 'BAD NUMBER OF TEMPERATURE PROFILES'
77  WRITE (*,*) numtmp,ntsite
78  stop
79  END IF
80 C
81 C SKIP COLUMN HEADINGS FOR SURFACE DATA
82 C
83  READ (12,*)
84 C
85 C READ SURFACE STATION DATA -- NEW FORMAT FOR SLC VTMX 12/01
86 C
87  DO 75 it=1,numnws
88  IF (it.LE.nsites) THEN
89  READ (12,6004) chstid(it),xs,ys,zg(it),press,tempc(it),
90  $ wd,ws,ylat,xlong,tempf,pmsl,altim(it)
91 C
92 C CONVERT PRESS ELEVATION INFO TO ALTIMETER SETTING, THIS FIXES THOSE
93 C AUTOMATED SITES WHERE RELATIVE HUMITY IS GIVEN IN THE ALTIMETER
94 C SETTING DATA FIELD.
95 C
96  IF (press.GT.0.0) THEN
97  altim(it)=altset(zg(it),press)
98  ELSE
99  altim(it)=-9999.0
100  END IF
101 C
102 C CONVERTING UTM COORDINATES (KM) AND ELEV. (M) TO GRID COORDINATES
103 C (KM). NOTE THAT ORIGIN IS AT POINT 1,1
104 C
105  xg(it)=1.0+(xs-xorig)/dscrs
106  yg(it)=1.0+(ys-yorig)/dscrs
107  ixg=nint(xg(it))
108  iyg=nint(yg(it))
109 C
110 C CONVERTING UNITS & GETTING COMPONENTS
111 C
112  IF (ws .GE. -9998.9) THEN
113  jgood(it)=.true.
114  ws=ws*spdcnv
115  ucomp(it)=-ws*sin(wd*deg2r)
116  vcomp(it)=-ws*cos(wd*deg2r)
117  ELSE
118  jgood(it)=.false.
119  ucomp(it)=-9999.0
120  vcomp(it)=-9999.0
121  END IF
122  END IF
123 75 CONTINUE
124 C
125  ncallz=ncallz+1
126 C
127 C INTERPOLATE TO LOWEST ABOVE GROUND GRID POINTS, USING SFC DATA.
128 C
129  nsfc=1
130  CALL sfctrp(nsfc)
131 C
132 C GET TOP WINDS BY INTERPOLATION BETWEEN UPPER SOUNDINGS IF AVAILABLE
133 C
134  icall=1
135  CALL dopsig (icall)
136  CALL topwnd
137 C
138 C READ TEMP PROFILE & GET LAPSE RATES AT FLOW LEVELS
139 C
140  CALL strat
141 C
142  CALL betwin
143 C
144 C RESHAPE THE FLOW SURFACES USING THE 1ST ESTIMATE WINDS &
145 C TEMPERATURE PROFILES.
146 C
147  CALL resig
148 C
149 C GO BACK AND REINTERPOLATE TO NEW SURFACES
150 C
151 C -- THE FOLLOWING CODE ADDED MAY 1989 TO GIVE BETTER VALUES
152 C FOR 1ST GUESS FIELD, F. LUDWIG
153 C
154  icall=2
155 C
156  CALL dopsig(icall)
157  CALL topwnd
158  nsfc=2
159  CALL sfctrp(nsfc)
160  CALL betwin
161 C
162  DO 350 j=1, nrow
163  DO 325 i=1, ncol
164  DO 300 lv=2,nlvl
165 C
166 C WHEN RHS NEGATIVE (BELOW TERRAIN) MAKE WINDS 0.
167 C
168  IF (rhs(i,j,lv).LE.z0) THEN
169  u(i,j,lv)=0.0
170  v(i,j,lv)=0.0
171  END IF
172 300 CONTINUE
173 325 CONTINUE
174 350 CONTINUE
175 C
176 6004 FORMAT (a5,12f10.2)
177 C
178  RETURN
179 C
subroutine betwin
Definition: windest.f:96
subroutine resig
Definition: resig.f:3
subroutine sfctrp(NCALL)
Definition: interp.f:3
subroutine strat
Definition: strat.f:3
subroutine dopsig(ICALL)
Definition: dopsig.f:3
real function altset(Z, P)
Definition: utils.f:94
subroutine topwnd
Definition: winterp.f:3

Here is the call graph for this function:

Here is the caller graph for this function: