SUBROUTINE W3FB06(ALAT,ALON,ALAT1,ALON1,DX,ALONV,XI,XJ) C$$$ SUBPROGRAM DOCUMENTATION BLOCK C C SUBPROGRAM: W3FB06 LAT/LON TO POLA (I,J) FOR GRIB C PRGMMR: STACKPOLE ORG: NMC42 DATE:88-04-05 C C ABSTRACT: CONVERTS THE COORDINATES OF A LOCATION ON EARTH GIVEN IN C THE NATURAL COORDINATE SYSTEM OF LATITUDE/LONGITUDE TO A GRID C COORDINATE SYSTEM OVERLAID ON A POLAR STEREOGRAPHIC MAP PRO- C JECTION TRUE AT 60 DEGREES N OR S LATITUDE. W3FB06 IS THE REVERSE C OF W3FB07. USES GRIB SPECIFICATION OF THE LOCATION OF THE GRID C C PROGRAM HISTORY LOG: C 88-01-01 ORIGINAL AUTHOR: STACKPOLE, W/NMC42 C 90-04-12 R.E.JONES CONVERT TO CRAY CFT77 FORTRAN C C USAGE: CALL W3FB06 (ALAT,ALON,ALAT1,ALON1,DX,ALONV,XI,XJ) C INPUT ARGUMENT LIST: C ALAT - LATITUDE IN DEGREES (NEGATIVE IN SOUTHERN HEMIS) C ALON - EAST LONGITUDE IN DEGREES, REAL*4 C ALAT1 - LATITUDE OF LOWER LEFT POINT OF GRID (POINT (1,1)) C ALON1 - LONGITUDE OF LOWER LEFT POINT OF GRID (POINT (1,1)) C ALL REAL*4 C DX - MESH LENGTH OF GRID IN METERS AT 60 DEG LAT C MUST BE SET NEGATIVE IF USING C SOUTHERN HEMISPHERE PROJECTION. C 190500.0 LFM GRID, C 381000.0 NH PE GRID, -381000.0 SH PE GRID, ETC. C ALONV - THE ORIENTATION OF THE GRID. I.E., C THE EAST LONGITUDE VALUE OF THE VERTICAL MERIDIAN C WHICH IS PARALLEL TO THE Y-AXIS (OR COLUMNS OF C OF THE GRID)ALONG WHICH LATITUDE INCREASES AS C THE Y-COORDINATE INCREASES. REAL*4 C FOR EXAMPLE: C 255.0 FOR LFM GRID, C 280.0 NH PE GRID, 100.0 SH PE GRID, ETC. C C OUTPUT ARGUMENT LIST: C XI - I COORDINATE OF THE POINT SPECIFIED BY ALAT, ALON C XJ - J COORDINATE OF THE POINT; BOTH REAL*4 C C REMARKS: FORMULAE AND NOTATION LOOSELY BASED ON HOKE, HAYES, C AND RENNINGER'S "MAP PROJECTIONS AND GRID SYSTEMS...", MARCH 1981 C AFGWC/TN-79/003 C C ATTRIBUTES: C LANGUAGE: CRAY CFT77 FORTRAN C MACHINE: CRAY Y-MP8/832 C C$$$ C DATA RERTH /6.3712E+6/, PI/3.1416/ DATA SS60 /1.86603/ C C PRELIMINARY VARIABLES AND REDIFINITIONS C C H = 1 FOR NORTHERN HEMISPHERE; = -1 FOR SOUTHERN C C REFLON IS LONGITUDE UPON WHICH THE POSITIVE X-COORDINATE C DRAWN THROUGH THE POLE AND TO THE RIGHT LIES C ROTATED AROUND FROM ORIENTATION (Y-COORDINATE) LONGITUDE C DIFFERENTLY IN EACH HEMISPHERE C IF (DX.LT.0) THEN H = -1.0 DXL = -DX REFLON = ALONV - 90.0 ELSE H = 1.0 DXL = DX REFLON = ALONV - 270.0 ENDIF C RADPD = PI / 180.0 REBYDX = RERTH/DXL C C RADIUS TO LOWER LEFT HAND (LL) CORNER C ALA1 = ALAT1 * RADPD RMLL = REBYDX * COS(ALA1) * SS60/(1. + H * SIN(ALA1)) C C USE LL POINT INFO TO LOCATE POLE POINT C ALO1 = (ALON1 - REFLON) * RADPD POLEI = 1. - RMLL * COS(ALO1) POLEJ = 1. - H * RMLL * SIN(ALO1) C C RADIUS TO DESIRED POINT AND THE I J TOO C ALA = ALAT * RADPD RM = REBYDX * COS(ALA) * SS60/(1. + H * SIN(ALA)) C ALO = (ALON - REFLON) * RADPD XI = POLEI + RM * COS(ALO) XJ = POLEJ + H * RM * SIN(ALO) C RETURN END