Changeset 48 for trunk/angle.pro
- Timestamp:
- 03/16/14 20:38:39 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/angle.pro
r2 r48 16 16 ;; common 17 17 ;; /comcoh/ glamf, : longitudes and latitudes at F-points 18 ;; gphif 18 ;; gphif 19 19 ;; 20 20 ;; Output : 21 21 ;; ------- 22 22 ;; common 23 ;; /comcoh/ gsinu,gcosu : sinus and cosinus of the angle 24 ;; gsinv,gcosv between north-south direction 25 ;; 23 ;; /comcoh/ gsinu,gcosu : sinus and cosinus of the angle 24 ;; gsinv,gcosv between north-south direction 25 ;; and the j-direction of the mesh 26 26 ;; 27 27 ;; Modifications: … … 37 37 ;;;--------------------------------------------------------------------- 38 38 ; 39 ;40 39 ; I. Compute the cosinus and sinus 41 40 ; ================================ 42 ; 41 ; 43 42 ; ... north pole direction & modulous (at u-point) 44 43 zxnpu = 0. - fsxspp( glamu, gphiu ) 45 44 zynpu = 0. - fsyspp( glamu, gphiu ) 46 45 znnpu = zxnpu*zxnpu + zynpu*zynpu 47 ; 46 ; 48 47 ; ... north pole direction & modulous (at v-point) 49 48 zxnpv = 0. - fsxspp( glamv, gphiv ) 50 49 zynpv = 0. - fsyspp( glamv, gphiv ) 51 50 znnpv = zxnpv*zxnpv + zynpv*zynpv 52 ; 51 ; 53 52 ; ... j-direction: f-point segment direction (u-point) 54 53 zxffu= fsxspp( glamf, gphif ) - fsxspp( shift(glamf, 0, 1), shift(gphif, 0, 1) ) … … 56 55 zmnpfu= sqrt ( znnpu * ( zxffu*zxffu + zyffu*zyffu ) ) 57 56 58 59 ; 57 58 ; 60 59 ; ... i-direction: f-point segment direction (v-point) 61 60 zxffv= fsxspp( glamf, gphif ) - fsxspp( shift(glamf, 1, 0), shift(gphif, 1, 0) ) 62 61 zyffv= fsyspp( glamf, gphif ) - fsyspp( shift(glamf, 1, 0), shift(gphif, 1, 0) ) 63 62 zmnpfv= sqrt ( znnpv * ( zxffv*zxffv + zyffv*zyffv ) ) 64 65 ; 63 64 ; 66 65 ; ... cosinus and sinus using scalar and vectorial products 67 66 gsinu = ( zxnpu*zyffu - zynpu*zxffu ) / zmnpfu … … 69 68 70 69 71 ; 70 ; 72 71 ; ... cosinus and sinus using scalar and vectorial products 73 72 ; (caution, rotation of 90 degres) … … 75 74 gcosv =-( zxnpv*zyffv - zynpv*zxffv ) / zmnpfv 76 75 77 78 ; 79 ; 76 77 ; 78 ; 80 79 ; II. Geographic mesh 81 80 ; =================== 82 ; 83 ; 81 ; 82 ; 84 83 ind = where(abs(glamf-shift(glamf, 0, 1)) LT 1.e-8) 85 84 gsinu(ind) = 0.d 86 85 gcosu(ind) = 1.d 87 ; 86 ; 88 87 ind = where(abs(gphif-shift(gphif, 1, 0)) LT 1.e-8) 89 88 gsinv(ind) = 0.d … … 91 90 ; 92 91 return 93 END 92 END
Note: See TracChangeset
for help on using the changeset viewer.