subroutine ds2uv (d,s,u,v) c c convert direction (d) and speed (s) to u-component and v-component c c written by G. Walters - 1974 / CSU - Atmos c real*4 deg2rad, a, d, s, u, v data deg2rad / .0174532925 / a = d * deg2rad u = - s * sin(a) v = - s * cos(a) return end subroutine uv2ds (u,v,d,s) c c convert u-component and v-component to direction (d) and speed (s) c c written by G. Walters - 1974 / CSU - Atmos c real*4 rad2deg, u, v, d, s data rad2deg / 57.29577951 / if (v) 60, 10, 50 10 continue if (u) 30, 20, 40 20 continue d = 0 s = 0 return 30 continue d = 90 s = -u return 40 continue d = 270 s = u return 50 continue d = 180. + rad2deg*atan(u/v) go to 70 60 continue d = rad2deg*atan(u/v) if (u.ge.0.0) d = d + 360 70 continue s = sqrt(u*u + v*v) return end