#include "dims.h" SUBROUTINE POTM use cons_module,only: pi use input_module,only: iamie use amie_module,only: tiepot implicit none C **** C **** CALCULATE HEELIS POTENTIAL IN GEOMAGNETIC COORDINATES C **** #include "params.h" #include "consdyn.h" #include "dynphi.h" C **** C **** WORK SPACE C **** integer :: iflag,ifn real :: dlat,dlon,ratio,psi,phi,phifun,colat,alon,sinlat, | coslat,sinlon,coslon,wk1,wk2,wk3 COMMON/flwv32_com/IFLAG(IMAXM), DLAT(IMAXM), DLON(IMAXM), + RATIO(IMAXM), PSI(8), PHI(IMAXM,8), IFN(IMAXM), PHIFUN(IMAXM), + COLAT(IMAXM), ALON(IMAXM), SINLAT(IMAXM), + COSLAT(IMAXM), SINLON(IMAXM), COSLON(IMAXM), WK1(IMAXM), + WK2(IMAXM),WK3(IMAXM) C **** C **** /TRGM/ CONTAINS MAGNETIC INFO #include "trgm.h" ! ! Local: integer :: i,j character(len=80) :: title real,dimension(imaxmp,-2:zkmxp) :: phihm_sech IF (IAMIE .EQ. 1) THEN ! write(6,"('POTM: calling AMIE potential for iamie=',i3)") ! | iamie do J=1,JMAXM do I=1,IMAXM PHIHM(I,J) = TIEPOT(I,J) enddo enddo GO TO 1 ENDIF C **** C **** LOOP OVER MAGNETIC LATITUDE C **** do J = 1,JMAXM C **** C **** FILL ARRAYS IFLAG, DLAT, DLON, RATIO C **** do I = 1,IMAXM IFLAG(I) = 1 DLAT(I) = YLATM(J) DLON(I) = YLONM(I)-DLONS(1) RATIO(I) = 1. enddo C **** C **** CALCULATE HEELIS POTENTIAL IN PHIHM(IMAXMP,JMAXM) C **** IF(ABS(YLATM(J)).GT.pi/6.)THEN CALL FLWV32(j,PHIHM(1,J)) ELSE do I = 1,IMAXM PHIHM(I,J) = 0. enddo ENDIF enddo 1 CONTINUE C **** C **** PERIODIC POINTS C **** DO 4 J = 1,JMAXM PHIHM(IMAXMP,J) = PHIHM(1,J) 4 CONTINUE C save into secondary history ! do j=1,jmaxm ! do i=1,imaxmp ! phihm_sech(i,:) = phihm(i,j) ! enddo ! call addfsech('PHIHM',' ',' ',phihm_sech, ! | imaxmp,zkmxp+3,zkmxp+3,j) ! enddo RETURN END