<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264836</link>
    <title>MATLAB Central Newsreader - fortran mex file and common blocs</title>
    <description>Feed for thread: fortran mex file and common blocs</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Tue, 03 Nov 2009 13:24:03 -0500</pubDate>
      <title>fortran mex file and common blocs</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264836#691705</link>
      <author>abdelmoumen </author>
      <description>hi everybody&lt;br&gt;
&lt;br&gt;
i have split the source code of the 4nec2dx into many .f files containing each one a subroutine or a function&lt;br&gt;
&lt;br&gt;
the problem is that there are many &quot;COMMON&quot; blocs that in some tutorials i have to delete them&lt;br&gt;
but what i make in the place????????????????????&lt;br&gt;
please if you can give me an example it will be better because i dont know programming in fortran&lt;br&gt;
&lt;br&gt;
thank's </description>
    </item>
    <item>
      <pubDate>Tue, 03 Nov 2009 13:42:59 -0500</pubDate>
      <title>Re: fortran mex file and common blocs</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264836#691711</link>
      <author>dpb</author>
      <description>abdelmoumen wrote:&lt;br&gt;
&amp;gt; hi everybody&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; i have split the source code of the 4nec2dx into many .f files&lt;br&gt;
&amp;gt; containing each one a subroutine or a function&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; the problem is that there are many &quot;COMMON&quot; blocs that in some&lt;br&gt;
&amp;gt; tutorials i have to delete them but what i make in the&lt;br&gt;
&amp;gt; place???????????????????? please if you can give me an example it&lt;br&gt;
&amp;gt; will be better because i dont know programming in fortran&lt;br&gt;
&lt;br&gt;
What does this have to do w/ Matlab?  I've no clue what 4nec2dx is for &lt;br&gt;
starters but &quot;modern&quot; Fortran (defined as F90+) would USE module &lt;br&gt;
variables in place of COMMON.  Sounds like you need a Fortran text.&lt;br&gt;
&lt;br&gt;
--</description>
    </item>
    <item>
      <pubDate>Tue, 03 Nov 2009 14:30:05 -0500</pubDate>
      <title>Re: fortran mex file and common blocs</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264836#691725</link>
      <author>James Tursa</author>
      <description>&quot;abdelmoumen &quot; &amp;lt;bmoumen27@yahoo.fr&amp;gt; wrote in message &amp;lt;hcpatj$lf1$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; hi everybody&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; i have split the source code of the 4nec2dx into many .f files containing each one a subroutine or a function&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; the problem is that there are many &quot;COMMON&quot; blocs that in some tutorials i have to delete them&lt;br&gt;
&amp;gt; but what i make in the place????????????????????&lt;br&gt;
&amp;gt; please if you can give me an example it will be better because i dont know programming in fortran&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; thank's &lt;br&gt;
&lt;br&gt;
Post one of your short functions and we can offer specif advice. Basically, you can make a module with the common block stuff in the module. Add a flag to the module that remembers if the data in the common block is initialized or not. Add a function to the module that initializes the data if the flag is not set. Then have your function call that module function first thing upon entry. *However*, this will not work if the individual functions you are creating have to communicate amongst themselves. i.e., is it your intention that changes in common block variables in one function affect the common block variables of another function?&lt;br&gt;
&lt;br&gt;
James Tursa</description>
    </item>
    <item>
      <pubDate>Wed, 04 Nov 2009 13:32:04 -0500</pubDate>
      <title>Re: fortran mex file and common blocs</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/264836#692025</link>
      <author>abdelmoumen </author>
      <description>&quot;James Tursa&quot; &amp;lt;aclassyguy_with_a_k_not_a_c@hotmail.com&amp;gt; wrote in message &amp;lt;hcpepd$rfs$1@fred.mathworks.com&amp;gt;... &lt;br&gt;
&amp;gt; Post one of your short functions and we can offer specif advice. Basically, you can make a module with the common block stuff in the module. Add a flag to the module that remembers if the data in the common block is initialized or not. Add a function to the module that initializes the data if the flag is not set. Then have your function call that module function first thing upon entry. *However*, this will not work if the individual functions you are creating have to communicate amongst themselves. i.e., is it your intention that changes in common block variables in one function affect the common block variables of another function?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; James Tursa&lt;br&gt;
&lt;br&gt;
here is a sample file &lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SUBROUTINE FFLD (THET,PHI,ETH,EPH)&lt;br&gt;
C ***&lt;br&gt;
C     DOUBLE PRECISION 6/4/85&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INCLUDE 'NEC2DPAR.INC'&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IMPLICIT REAL*8(A-H,O-Z)&lt;br&gt;
C ***&lt;br&gt;
C&lt;br&gt;
C     FFLD CALCULATES THE FAR ZONE RADIATED ELECTRIC FIELDS,&lt;br&gt;
C     THE FACTOR EXP(J*K*R)/(R/LAMDA) NOT INCLUDED&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COMPLEX*16 CIX,CIY,CIZ,EXA,ETH,EPH,CONST,CCX,CCY,CCZ,CDP,CUR&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COMPLEX*16 ZRATI,ZRSIN,RRV,RRH,RRV1,RRH1,RRV2,RRH2,ZRATI2,TIX,TIY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,TIZ,T1,ZSCRN,EX,EY,EZ,GX,GY,GZ,FRATI&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COMMON /DATA/ X(MAXSEG),Y(MAXSEG),Z(MAXSEG),SI(MAXSEG),BI(MAXSEG),&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;ALP(MAXSEG),BET(MAXSEG),WLAM,ICON1(2*MAXSEG),ICON2(2*MAXSEG),&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;ITAG(2*MAXSEG),ICONX(MAXSEG),LD,N1,N2,N,NP,M1,M2,M,MP,IPSYM&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COMMON /ANGL/ SALP(MAXSEG)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COMMON /CRNT/ AIR(MAXSEG),AII(MAXSEG),BIR(MAXSEG),BII(MAXSEG),&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;CIR(MAXSEG),CII(MAXSEG),CUR(3*MAXSEG)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COMMON /GND/ZRATI,ZRATI2,FRATI,T1,T2,CL,CH,SCRWL,SCRWR,NRADL,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;KSYMP,IFAR,IPERF&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DIMENSION CAB(1), SAB(1), CONSX(2)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EQUIVALENCE (CAB,ALP), (SAB,BET), (CONST,CONSX)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DATA PI,TP,ETA/3.141592654D+0,6.283185308D+0,376.73/&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DATA CONSX/0.,-29.97922085D+0/&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PHX=-SIN(PHI)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PHY=COS(PHI)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ROZ=COS(THET)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ROZS=ROZ&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;THX=ROZ*PHY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;THY=-ROZ*PHX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;THZ=-SIN(THET)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ROX=-THZ*PHY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ROY=THZ*PHX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (N.EQ.0) GO TO 20&lt;br&gt;
C&lt;br&gt;
C     LOOP FOR STRUCTURE IMAGE IF ANY&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DO 19 K=1,KSYMP&lt;br&gt;
C&lt;br&gt;
C     CALCULATION OF REFLECTION COEFFECIENTS&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (K.EQ.1) GO TO 4&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (IPERF.NE.1) GO TO 1&lt;br&gt;
C&lt;br&gt;
C     FOR PERFECT GROUND&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRV=-(1.,0.)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRH=-(1.,0.)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 2&lt;br&gt;
C&lt;br&gt;
C     FOR INFINITE PLANAR GROUND&lt;br&gt;
C&lt;br&gt;
1     ZRSIN=SQRT(1.-ZRATI*ZRATI*THZ*THZ)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRV=-(ROZ-ZRATI*ZRSIN)/(ROZ+ZRATI*ZRSIN)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRH=(ZRATI*ROZ-ZRSIN)/(ZRATI*ROZ+ZRSIN)&lt;br&gt;
2     IF (IFAR.LE.1) GO TO 3&lt;br&gt;
C&lt;br&gt;
C     FOR THE CLIFF PROBLEM, TWO REFLCTION COEFFICIENTS CALCULATED&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRV1=RRV&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRH1=RRH&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TTHET=TAN(THET)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (IFAR.EQ.4) GO TO 3&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ZRSIN=SQRT(1.-ZRATI2*ZRATI2*THZ*THZ)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRV2=-(ROZ-ZRATI2*ZRSIN)/(ROZ+ZRATI2*ZRSIN)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRH2=(ZRATI2*ROZ-ZRSIN)/(ZRATI2*ROZ+ZRSIN)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DARG=-TP*2.*CH*ROZ&lt;br&gt;
3     ROZ=-ROZ&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CCX=CIX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CCY=CIY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CCZ=CIZ&lt;br&gt;
4     CIX=(0.,0.)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIY=(0.,0.)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIZ=(0.,0.)&lt;br&gt;
C&lt;br&gt;
C     LOOP OVER STRUCTURE SEGMENTS&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DO 17 I=1,N&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OMEGA=-(ROX*CAB(I)+ROY*SAB(I)+ROZ*SALP(I))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EL=PI*SI(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SILL=OMEGA*EL&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TOP=EL+SILL&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BOT=EL-SILL&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (ABS(OMEGA).LT.1.D-7) GO TO 5&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A=2.*SIN(SILL)/OMEGA&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 6&lt;br&gt;
5     A=(2.-OMEGA*OMEGA*EL*EL/3.)*EL&lt;br&gt;
6     IF (ABS(TOP).LT.1.D-7) GO TO 7&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TOO=SIN(TOP)/TOP&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 8&lt;br&gt;
7     TOO=1.-TOP*TOP/6.&lt;br&gt;
8     IF (ABS(BOT).LT.1.D-7) GO TO 9&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BOO=SIN(BOT)/BOT&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 10&lt;br&gt;
9     BOO=1.-BOT*BOT/6.&lt;br&gt;
10    B=EL*(BOO-TOO)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;C=EL*(BOO+TOO)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RR=A*AIR(I)+B*BII(I)+C*CIR(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RI=A*AII(I)-B*BIR(I)+C*CII(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ARG=TP*(X(I)*ROX+Y(I)*ROY+Z(I)*ROZ)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (K.EQ.2.AND.IFAR.GE.2) GO TO 11&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXA=DCMPLX(COS(ARG),SIN(ARG))*DCMPLX(RR,RI)&lt;br&gt;
C&lt;br&gt;
C     SUMMATION FOR FAR FIELD INTEGRAL&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIX=CIX+EXA*CAB(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIY=CIY+EXA*SAB(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIZ=CIZ+EXA*SALP(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 17&lt;br&gt;
C&lt;br&gt;
C     CALCULATION OF IMAGE CONTRIBUTION IN CLIFF AND GROUND SCREEN&lt;br&gt;
C     PROBLEMS.&lt;br&gt;
C&lt;br&gt;
11    DR=Z(I)*TTHET&lt;br&gt;
C&lt;br&gt;
C     SPECULAR POINT DISTANCE&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;D=DR*PHY+X(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (IFAR.EQ.2) GO TO 13&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;D=SQRT(D*D+(Y(I)-DR*PHX)**2)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (IFAR.EQ.3) GO TO 13&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF ((SCRWL-D).LT.0.) GO TO 12&lt;br&gt;
C&lt;br&gt;
C     RADIAL WIRE GROUND SCREEN REFLECTION COEFFICIENT&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;D=D+T2&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ZSCRN=T1*D*LOG(D/T2)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ZSCRN=(ZSCRN*ZRATI)/(ETA*ZRATI+ZSCRN)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ZRSIN=SQRT(1.-ZSCRN*ZSCRN*THZ*THZ)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRV=(ROZ+ZSCRN*ZRSIN)/(-ROZ+ZSCRN*ZRSIN)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRH=(ZSCRN*ROZ+ZRSIN)/(ZSCRN*ROZ-ZRSIN)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 16&lt;br&gt;
12    IF (IFAR.EQ.4) GO TO 14&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (IFAR.EQ.5) D=DR*PHY+X(I)&lt;br&gt;
13    IF ((CL-D).LE.0.) GO TO 15&lt;br&gt;
14    RRV=RRV1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRH=RRH1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 16&lt;br&gt;
15    RRV=RRV2&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRH=RRH2&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ARG=ARG+DARG&lt;br&gt;
16    EXA=DCMPLX(COS(ARG),SIN(ARG))*DCMPLX(RR,RI)&lt;br&gt;
C&lt;br&gt;
C     CONTRIBUTION OF EACH IMAGE SEGMENT MODIFIED BY REFLECTION COEF. ,&lt;br&gt;
C     FOR CLIFF AND GROUND SCREEN PROBLEMS&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TIX=EXA*CAB(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TIY=EXA*SAB(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TIZ=EXA*SALP(I)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CDP=(TIX*PHX+TIY*PHY)*(RRH-RRV)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIX=CIX+TIX*RRV+CDP*PHX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIY=CIY+TIY*RRV+CDP*PHY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIZ=CIZ-TIZ*RRV&lt;br&gt;
17    CONTINUE&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (K.EQ.1) GO TO 19&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (IFAR.GE.2) GO TO 18&lt;br&gt;
C&lt;br&gt;
C     CALCULATION OF CONTRIBUTION OF STRUCTURE IMAGE FOR INFINITE GROUND&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CDP=(CIX*PHX+CIY*PHY)*(RRH-RRV)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIX=CCX+CIX*RRV+CDP*PHX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIY=CCY+CIY*RRV+CDP*PHY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIZ=CCZ-CIZ*RRV&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 19&lt;br&gt;
18    CIX=CIX+CCX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIY=CIY+CCY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIZ=CIZ+CCZ&lt;br&gt;
19    CONTINUE&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (M.GT.0) GO TO 21&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETH=(CIX*THX+CIY*THY+CIZ*THZ)*CONST&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EPH=(CIX*PHX+CIY*PHY)*CONST&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RETURN&lt;br&gt;
20    CIX=(0.,0.)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIY=(0.,0.)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CIZ=(0.,0.)&lt;br&gt;
21    ROZ=ROZS&lt;br&gt;
C&lt;br&gt;
C     ELECTRIC FIELD COMPONENTS&lt;br&gt;
C&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RFL=-1.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DO 25 IP=1,KSYMP&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RFL=-RFL&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRZ=ROZ*RFL&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL FFLDS (ROX,ROY,RRZ,CUR(N+1),GX,GY,GZ)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF (IP.EQ.2) GO TO 22&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EX=GX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EY=GY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EZ=GZ&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 25&lt;br&gt;
22    IF (IPERF.NE.1) GO TO 23&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GX=-GX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GY=-GY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GZ=-GZ&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GO TO 24&lt;br&gt;
23    RRV=SQRT(1.-ZRATI*ZRATI*THZ*THZ)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRH=ZRATI*ROZ&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRH=(RRH-RRV)/(RRH+RRV)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRV=ZRATI*RRV&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RRV=-(ROZ-RRV)/(ROZ+RRV)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETH=(GX*PHX+GY*PHY)*(RRH-RRV)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GX=GX*RRV+ETH*PHX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GY=GY*RRV+ETH*PHY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GZ=GZ*RRV&lt;br&gt;
24    EX=EX+GX&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EY=EY+GY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EZ=EZ-GZ&lt;br&gt;
25    CONTINUE&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EX=EX+CIX*CONST&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EY=EY+CIY*CONST&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EZ=EZ+CIZ*CONST&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETH=EX*THX+EY*THY+EZ*THZ&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EPH=EX*PHX+EY*PHY&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RETURN&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;END</description>
    </item>
  </channel>
</rss>

