Last change
on this file since 305 was
305,
checked in by vondreele, 12 years ago
|
remove pypowder & powsubs - no longer needed
add texturesubs & pytexture
|
File size:
1.0 KB
|
Line | |
---|
1 | SUBROUTINE APLMS(L,M,S,AP) |
---|
2 | |
---|
3 | !PURPOSE: Compute A'(l,m,s) |
---|
4 | |
---|
5 | INCLUDE '../INCLDS/COPYRIGT.FOR' |
---|
6 | |
---|
7 | !CALLING ARGUMENTS: |
---|
8 | |
---|
9 | INTEGER*4 L,M,S !Order & subindices |
---|
10 | REAL*4 AP !Output value |
---|
11 | |
---|
12 | !INCLUDE STATEMENTS: |
---|
13 | |
---|
14 | !LOCAL VARIABLES: |
---|
15 | |
---|
16 | REAL*4 LNORM,ALM0S,A1,A2 |
---|
17 | |
---|
18 | !FUNCTION DEFINITIONS: |
---|
19 | |
---|
20 | !DATA STATEMENTS: |
---|
21 | |
---|
22 | !CODE: |
---|
23 | |
---|
24 | LNORM = SQRT((2.0*L+1.0)/2.0) |
---|
25 | CALL QLMN(L,M,S,A1) |
---|
26 | CALL QLMN(L,0,S,A2) |
---|
27 | ALM0S = A1*A2 |
---|
28 | IF ( MOD(ABS(M),2).EQ.0 ) THEN |
---|
29 | IF ( S.EQ.0 ) THEN |
---|
30 | AP = ALM0S*LNORM |
---|
31 | ELSE |
---|
32 | AP = 2.0*ALM0S*LNORM |
---|
33 | END IF |
---|
34 | IF ( MOD(ABS(M),4).EQ.2 ) AP = -AP |
---|
35 | ELSE |
---|
36 | IF ( S.EQ.0 ) THEN |
---|
37 | AP = 0.0 |
---|
38 | ELSE |
---|
39 | AP = 2.0*ALM0S*LNORM |
---|
40 | END IF |
---|
41 | IF ( MOD(ABS(M),4).EQ.1 ) AP = -AP |
---|
42 | END IF |
---|
43 | IF ( ABS(AP).LT.1.0E-6 ) AP = 0.0 |
---|
44 | RETURN |
---|
45 | END |
---|
46 | |
---|
Note: See
TracBrowser
for help on using the repository browser.