OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
matrx1.f
Go to the documentation of this file.
1  subroutine matrx1
2 c
3 c include the common statements.....................................
4  implicit real*8 (a-h,o-z)
5  include 'common_all.cmn'
6 c***********************************************************************
7 c
8 c write(6,*)'entering matrix'
9  amu=-bmu(ii)
10  anu=bnu(ii)
11  amup=-bmu(kk)
12  anup=bnu(kk)
13  amusq=amu**2
14  amumu=amu*amup
15  amups=amup**2
16  do 1 l=1,jpart
17  coosn=cosn(l)
18  siin=sn(l)
19  copsi=anu*anup+amu*amup*coosn
20  sisq=copsi**2
21  cfisq=coosn**2
22  sifi=copsi*coosn
23  sfisq=siin**2
24  if(amu-amup)17,212,17
25  17 if(amu+amup)16,213,16
26  212 if(l-1)16,11,16
27  213 if(l-jpart)16,214,16
28  11 if(ii-jjj)72,73,73
29  72 iq=4*(ii-1)
30  go to 75
31  73 iq=(nmum1-ii)*4
32  go to 75
33  214 if(ii-jjj)82,83,83
34  82 iq=4*(ii-1)
35  go to 76
36  83 iq=(nmum1-ii)*4
37  go to 76
38  16 continue
39  call mats(l)
40  go to 1
41  75 mn=0
42  do 350 ik=1,16
43  jp=((ik-1)/4)*4
44  ip=iq+jp/4+1
45  ir=ik-jp
46  350 p(ik,l)=pp(ip,ir)
47  351 p(17,l)=sisq
48  p(18,l)=amusq*sfisq
49  p(19,l)=amu*copsi*siin
50  p(20,l)=0.0d0
51  p(21,l)=amups*sfisq
52  p(22,l)=cfisq
53  p(23,l)=-amup*coosn*siin
54  p(24,l)=0.0d0
55  p(25,l)=-2.0d0*amup*copsi*siin
56  p(26,l)=2.0d0*amu*coosn*siin
57  p(27,l)=-amumu*sfisq+sifi
58  p(28,l)=0.0d0
59  p(29,l)=0.0d0
60  p(30,l)=0.0d0
61  p(31,l)=0.0d0
62  p(32,l)=amumu*sfisq+sifi
63 c apply molecular depolarization correction
64 c
65 c write(6,1501)ipol,rho,gamma,agm,bgm,cgm
66 1501 format('ipol,rho,gamma,agm,bgm,cgm'/i2,1x,1p5e11.3)
67 c
68  if(ipol.eq.1)then
69  do i=1,3
70  do j=1,3
71  k=16+(i-1)*4+j
72  dgm=bgm
73  if(i.eq.3 .or. j.eq.3)dgm=0.0d0
74  p(k,l)=agm*p(k,l)+dgm
75  enddo
76  enddo
77  p(32,l)=p(32,l)+cgm
78  endif
79 c
80  if(ii-jjj)1139,1,1
81  1139 if(l-1)1,1140,1
82  1140 lz=jjpart
83  call mats(lz)
84  go to 1
85  76 mn=nomat-31
86  mnz=nomat-32
87  mnn=mn+15
88  do 352 ik=mn,mnn
89  jp=((ik-mn)/4)*4
90  ip=iq+jp/4+1
91  ir=ik-jp-mn+1
92  352 p(ik-mnz,l)=qq(ip,ir)
93  mn=mn-1
94  go to 351
95  1 continue
96 c
97  return
98  end
99 c***********************************************************************
subroutine matrx1
Definition: matrx1.f:2
subroutine mats(l)
Definition: matrx.f:72