[Proj] proj4 definition for transverse mercator projection from RegCM3 model for North America
haileye
haileyeckstrand at gmail.com
Tue Aug 10 18:02:06 EST 2010
The projection type was not originally named transverse mercator. The reason
that was entered was due to the netcdf metadata requirements not having
rotated mercator projection as an option. The projection is rotated
mercator. The RegCM3 source code Melita referred to when finding the earth
radius is included below. I am not very experienced with this level of
detail. Is anyone able to read this fortran code & properly define what the
projection type should be (ex. swiss oblique mercator, oblique mercator) and
what parameters I may be missing for the proj string (ex. +alpha ?, what
does S**-1 mean?)
Again, the parameters provided were:
"transverse_mercator" ;
Transverse_Mercator:longitude_of_central_meridian = -97. ;
Transverse_Mercator:latitude_of_projection_origin = 47.5 ;
Transverse_Mercator:scale_factor_at_central_meridian = 1. ;
Transverse_Mercator:false_easting = 3925000. ;
Transverse_Mercator:false_northing = 3175000. ;
Here is the fortran code:
This code was obtained from:
http://www.ictp.trieste.it/~pubregcm/RegCM3/regcm.tar.gz
This is a subroutine located within:
RegCM/PreProc/Terrain/terrain.f
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SUBROUTINE ROTMER( XLON, XLAT, XMAP, CORIOL, IY, JX
A , CLON,CLAT, POLLON, POLLAT, DS, IDOT)
implicit none
C---------------------------------------------------------------------
C COMPUTE LATS, LONS, MAP-SCALE FACTORS, AND CORIOLIS PARAMETER FOR
C ROTATED POLE MAP CENTERED AT CLON,CLAT. ORIGIN OF ROTATED GRID IS
C GIVEN BY POLLON AND POLLAT.
C IMX,JMX,KSV,KSH AND LSIG2 MUST CORRESPOND TO IY,JMAX,KSTRPV,KSTRPH
C AND NVERT2 IN THE MASTER INPUT FILE; OTHERWISE THE PROGRAM WILL
C ABORT:LMX MUST BE THE MAXIMUM NUMBER OF LEVELS (PRESSURE--OR--SIGMA)
C IMAXN AND IMXC ARE NESTED AND NON-EXPANDED GRID DIMENSIONS. IMXC IS
C EQUAL TO IMX IF YOU ARE NOT USING THE EXPANDED GRID. SAME FOR J.
INTEGER IY,JX,IDOT
REAL*4 XLAT(IY,JX),XLON(IY,JX), CORIOL(IY,JX),XMAP(IY,JX)
REAL*4 CLON,CLAT,POLLON,POLLAT,DS
C
REAL*4 XOMEGA,d2r,r2d,A,CNTRJ,CNTRI,DDEG,XOFF,YOFF
REAL*4 XR,YR,X,Y,FAI,XOMEGA2
INTEGER I,J
C
XOMEGA = 7.2722E-5 ! ANG. ROT OF EARTH IN S**-1
d2r = ATAN(1.)/45. ! CONVERT DEGREES TO RADIANS
r2d = 1./d2r ! CONVERT RADIANS TO DEGREES
A = 6371229. ! RADIUS OF EARTH IN METERS
C-----CENTER OF GRID
CNTRJ = (JX+IDOT)/2.
CNTRI = (IY+IDOT)/2.
DDEG=DS*r2d/A ! GRID SPACING IN DEGREES
XOFF=CLON-POLLON
YOFF=clat-pollat
C-----CALCULATE X AND Y POSITIONS OF GRID
DO 41 I=1,IY
DO 41 J=1,JX
XR = XOFF + (J-CNTRJ)*DDEG
YR = YOFF + (I-CNTRI)*DDEG
C-----NOW CALCULATE LAT AND LON OF THIS POINT
C----- ROTATE COORDINATES BACK TO NONRATED POLE
CALL ROT2NROT(XR,YR,POLLON,pollat,X,Y)
XLON(I,J) = X
XLAT(I,J) = Y
FAI = d2r*YR
XMAP(I,J) = 1.0/COS(FAI)
41 CONTINUE
IF(IDOT.EQ.1) THEN
XOMEGA2=2.*XOMEGA
DO 45 I=1,IY
DO 45 J=1,JX
CORIOL(I,J)=XOMEGA2*SIN(XLAT(I,J)*d2r)
45 CONTINUE
END IF
RETURN
END
--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/proj4-definition-for-transverse-mercator-projection-from-RegCM3-model-for-North-America-tp5322756p5410338.html
Sent from the PROJ.4 mailing list archive at Nabble.com.
More information about the Proj
mailing list