New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
distance.h90 in branches/2014/dev_r4650_UKMO12_CFL_diags_take2/NEMOGCM/TOOLS/OBSTOOLS/src – NEMO

source: branches/2014/dev_r4650_UKMO12_CFL_diags_take2/NEMOGCM/TOOLS/OBSTOOLS/src/distance.h90 @ 5947

Last change on this file since 5947 was 5947, checked in by timgraham, 8 years ago

Reinstate svn Id keywords before merge

  • Property svn:keywords set to Id
File size: 1.1 KB
Line 
1   REAL FUNCTION distance( plon1, plat1, plon2, plat2 )
2      ! Arggumnts
3      REAL :: plon1,plat1,plat2,plon2
4      ! Local variables
5      REAL :: zplat1,zplon1,zplat2,zplon2
6      REAL :: za1,za2,zb1,zb2,zc1,zc2,zcos1,zcos2
7      REAL, PARAMETER :: zrad = 3.141592653589793/180.0
8      REAL, parameter :: rearth = 6371229
9
10      zplon1 = plon1
11      zplon2 = plon2
12      IF ( zplon1 <  -180 ) zplon1 = zplon1 + 360.0
13      IF ( zplon1 >=  180 ) zplon1 = zplon1 - 360.0
14      IF ( zplon2 <  -180 ) zplon2 = zplon2 + 360.0
15      IF ( zplon2 >=  180 ) zplon2 = zplon2 - 360.0
16
17      zplon1 = zplon1 * zrad
18      zplon2 = zplon2 * zrad
19      zplat1 = plat1  * zrad
20      zplat2 = plat2  * zrad
21      zcos1  = COS( zplat1 )
22      zcos2  = COS( zplat2 )
23      za1    = SIN( zplat1 )
24      za2    = SIN( zplat2 )
25      zb1    = zcos1 * COS( zplon1 )
26      zb2    = zcos2 * COS( zplon2 )
27      zc1    = zcos1 * SIN( zplon1 )
28      zc2    = zcos2 * SIN( zplon2 )
29
30      distance  =  rearth  *  &
31         &  ASIN( SQRT( ABS ( 1.0 - ( za1 * za2 + zb1 * zb2 + zc1 * zc2) ** 2) ) )
32     
33    END FUNCTION distance
Note: See TracBrowser for help on using the repository browser.