OohPooPahDoo
Gold Member
I just thought I'd put this one to rest.
Moron deniers often make the claim that no GCM's model the Earth as a rotating sphere. THey are wrong.
The terms "spherical" and "coriolis" should give you a hint.
http://edgcm.columbia.edu/ModelII/modelII_source.zip
Moron deniers often make the claim that no GCM's model the Earth as a rotating sphere. THey are wrong.
SUBROUTINE GEOM 401.
C**** CALCULATE SPHERICAL GEOMETRY (for 4x5 or 7.8x10) 402.
C**** This is as in Model II'
INCLUDE 'BA94jalC9.COM'
COMMON U,V,T,P,Q 403.
DATA EDPERD/1./,EDPERY/365./ 404.
405.
LAT(1) = -.25*TWOPI 406.
LAT(JM) = -LAT(1) 407.
SINP(1) = -1. 408.
SINP(JM) = 1. 409.
COSP(1) = 0. 410.
COSP(JM) = 0. 411.
DXP(1) = 0. 412.
DXP(JM) = 0. 413.
FJEQ = .5*(1+JM) 414.
DO 620 J=2,JM-1 415.
LAT(J) = DLAT*(J-FJEQ) 416.
SINP(J) = SIN(LAT(J)) 417.
COSP(J) = COS(LAT(J)) 418.
620 DXP(J) = RADIUS*DLON*COSP(J) 419.
DO 640 J=2,JM 420.
COSV(J) = .5*(COSP(J-1)+COSP(J)) 421.
DXV(J) = .5*(DXP(J-1)+DXP(J)) 422.
640 DYV(J) = RADIUS*(LAT(J)-LAT(J-1)) 423.
DYP(1) = .5*DYV(2) 424.
DYP(JM) = .5*DYV(JM) 425.
DXYP(1) = .5*DXV(2)*DYP(1) 426.
DXYP(JM)= .5*DXV(JM)*DYP(JM) 427.
DXYS(1) = 0. 428.
DXYS(JM) = DXYP(JM) 429.
DXYN(1) = DXYP(1) 430.
DXYN(JM) = 0. 431.
AREAG = DXYP(1)+DXYP(JM) 432.
DO 660 J=2,JM-1 433.
DYP(J) = .5*(DYV(J)+DYV(J+1)) 434.
DXYP(J) = .5*(DXV(J)+DXV(J+1))*DYP(J) 435.
DXYS(J) = .5*DXYP(J) 436.
DXYN(J) = .5*DXYP(J) 437.
660 AREAG = AREAG+DXYP(J) 438.
AREAG = AREAG*FIM 439.
RAVPS(1) = 0. 440.
RAVPN(JM) = 0. 441.
DO 680 J=2,JM 442.
DXYV(J) = DXYN(J-1)+DXYS(J) 443.
RAPVS(J) = .5*DXYS(J)/DXYV(J) 444.
RAPVN(J-1) = .5*DXYN(J-1)/DXYV(J) 445.
RAVPS(J) = .5*DXYS(J)/DXYP(J) 446.
680 RAVPN(J-1) = .5*DXYN(J-1)/DXYP(J-1) 447.
C**** CALCULATE CORIOLIS PARAMETER 448.
OMEGA = TWOPI*(EDPERD+EDPERY)/(EDPERD*EDPERY*SDAY) 449.
F(1) = -RADIUS*OMEGA*.5*COSP(2)*DXV(2) 450.
F(JM) = -F(1) 451.
DO 690 J=2,JM-1 452.
690 F(J) = OMEGA*(DXV(J)*DXV(J)-DXV(J+1)*DXV(J+1))/DLON 453.
CLAT_DG latitude of mid points of primary and sec. grid boxs (deg)
C**** latitudinal spacing depends on whether you have even spacing or
C**** a partial box at the pole
DLAT_DG=180./(JM-1) ! 1/2 box at pole for 4x5 and 7.8x10
C**** LATITUDES (degrees); used extensively in the diagn. print routines
LAT_DG(1,1)=-90.
LAT_DG(1,2)=-90.
LAT_DG(JM,1)=90.
DO J=2,JM-1
LAT_DG(J,1)=DLAT_DG*(J-FJEQ) ! primary (tracer) latitudes
END DO
DO J=2,JM
LAT_DG(J,2)=DLAT_DG*(J-JM/2-1) ! secondary (velocity) latitudes
END DO
RETURN 454.
END 455.
The terms "spherical" and "coriolis" should give you a hint.
http://edgcm.columbia.edu/ModelII/modelII_source.zip