subroutine stcm1p(stcprm, x1, y1, xlat1, xlong1, C xlatrf, xlonrf, gridsz, orient) parameter (pi=3.14159265358979323846,radpdg=pi/180.) parameter (dgprad=180./pi) real stcprm(15) real enx,eny,enz,norm,x1a,y1a c_or = cos(RADPDG * orient) s_or = - sin(RADPDG * orient) C stcprm->x0 = stcprm->y0 = stcprm->srotate = 0; stcprm(11) = 0. stcprm(12) = 0. stcprm(13) = 1. stcprm(14) = 0. stcprm(15) = 1. C stcprm->crotate = stcprm -> gridszeq = 1.0; call cpolll(stcprm, xlatrf, xlonrf, enx, eny, enz) norm = sqrt(enx*enx + eny*eny) if (norm .eq. 0.) then call cgrnll(stcprm,xlatrf,xlonrf,enx,eny,enz) norm = sqrt (enx* enx + eny*eny) endif enx = enx/norm eny = eny/norm C stcprm->gridszeq *= gridsz / cgszll(stcprm, xlatrf,xlonrf); stcprm(15) = stcprm(15) * gridsz / cgszll(stcprm,xlatrf,xlonrf) C stcprm -> crotate = eny * c_or - enx * s_or; stcprm(13) = eny * c_or - enx * s_or C stcprm -> srotate = -eny * s_or - enx * c_or; stcprm(14) = -eny * s_or - enx * c_or call cll2xy(stcprm, xlat1,xlong1, x1a,y1a) C stcprm->x0 += x1 - x1a; C stcprm->y0 += y1 - y1a; stcprm(11) = stcprm(11) + x1 - x1a stcprm(12) = stcprm(12) + y1 - y1a return end