@@ -7,7 +7,7 @@ program Test
77
88implicit none
99
10- ! type(Ellipsoid), parameter :: spheroid = wgs84Ellipsoid
10+ type (Ellipsoid), parameter :: spheroid = wgs84Ellipsoid
1111
1212real (wp), parameter :: lat = 42 , lon= - 82 , alt = 200 , &
1313 az = 33 , el= 70 , rng= 1e3_wp , &
@@ -45,8 +45,6 @@ program Test
4545
4646nan = ieee_value(0._wp , ieee_quiet_nan)
4747
48- ! print*,'Default WGS84 Ellipsoid:',spheroid
49-
5048! --------- scalar degrees
5149az5 = [0._wp , 10._wp , 125._wp ];
5250tilt = [30 , 45 , 90 ];
@@ -64,7 +62,7 @@ program Test
6462call assert_allclose(rng5, [230.9413173_wp , 282.84715651_wp , nan], rtol= 0.01_wp , equal_nan= .true. )
6563
6664
67- !- ------
65+ ! ! Scalar degrees
6866
6967call geodetic2ecef(lat,lon,alt, x1,y1,z1)
7068call assert_allclose([x1,y1,z1],[x0,y0,z0], &
@@ -76,10 +74,23 @@ program Test
7674call aer2ecef(az,el,rng,lat,lon,alt,x2,y2,z2)
7775call assert_allclose([x2,y2,z2],[xl,yl,zl])
7876
77+ ! > ECEF2GEODETIC tests
7978call ecef2geodetic(x1,y1,z1,lat2,lon2,alt2)
8079call assert_allclose([lat2,lon2,alt2],[lat,lon,alt], &
8180 rtol= 0.01_wp , err_msg= ' ecef2geodetic-degrees' )
8281
82+ call ecef2geodetic(spheroid% SemimajorAxis-1._wp , 0._wp , 0._wp , lat2, lon2, alt2)
83+ call assert_allclose([lat2,lon2,alt2],[0._wp , 0._wp , - 1._wp ], &
84+ rtol= 0.01_wp , err_msg= ' ecef2geodetic-degrees' )
85+
86+ call ecef2geodetic(0._wp , spheroid% SemimajorAxis-1._wp , 0._wp , lat2, lon2, alt2)
87+ call assert_allclose([lat2,lon2,alt2],[0._wp , 90._wp , - 1._wp ], &
88+ rtol= 0.01_wp , err_msg= ' ecef2geodetic-degrees' )
89+
90+ call ecef2geodetic(0._wp , 0._wp , spheroid% SemiminorAxis-1._wp , lat2, lon2, alt2)
91+ call assert_allclose([lat2,lon2,alt2],[90._wp , 0._wp , - 1._wp ], &
92+ rtol= 0.01_wp , err_msg= ' ecef2geodetic-degrees' )
93+
8394call enu2aer(e1,n1,u1, az2, el2, rng2)
8495call assert_allclose([az2,el2,rng2],[az,el,rng],err_msg= ' enu2aer-degrees' )
8596
0 commit comments