Area (m^2) of a spherical quadrilateral with the four corners (1,2,3,4 counter-clockwise) given in degrees, via L’Huilier’s theorem on the two triangles (1,2,3) and (1,3,4).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | r | |||
| real(kind=wp), | intent(in) | :: | lat1 | |||
| real(kind=wp), | intent(in) | :: | lon1 | |||
| real(kind=wp), | intent(in) | :: | lat2 | |||
| real(kind=wp), | intent(in) | :: | lon2 | |||
| real(kind=wp), | intent(in) | :: | lat3 | |||
| real(kind=wp), | intent(in) | :: | lon3 | |||
| real(kind=wp), | intent(in) | :: | lat4 | |||
| real(kind=wp), | intent(in) | :: | lon4 |
pure function spherical_quad_area(r, lat1, lon1, lat2, lon2, & lat3, lon3, lat4, lon4) result(area) !! Area (m^2) of a spherical quadrilateral with the four corners !! (1,2,3,4 counter-clockwise) given in degrees, via L'Huilier's !! theorem on the two triangles (1,2,3) and (1,3,4). real(wp), intent(in) :: r real(wp), intent(in) :: lat1, lon1, lat2, lon2, lat3, lon3, lat4, lon4 real(wp) :: area area = (spherical_tri_area(r, lat1, lon1, lat2, lon2, lat3, lon3) & + spherical_tri_area(r, lat1, lon1, lat3, lon3, lat4, lon4)) end function spherical_quad_area