source: trunk/LMDZ.PLUTO/libf/phypluto/stelang.F @ 3506

Last change on this file since 3506 was 3184, checked in by afalco, 10 months ago

Pluto PCM:
Added LMDZ.PLUTO, a copy of the generic model,
cleaned from some unnecessary modules (water, ...)
AF

File size: 3.1 KB
Line 
1      subroutine stelang(kgrid,psilon,pcolon,psilat,pcolat,
2     &                ptim1,ptim2,ptim3,pmu0,pfract)
3      IMPLICIT NONE
4
5C
6C**** *LW*   - ORGANIZES THE LONGWAVE CALCULATIONS
7C
8C     PURPOSE.
9C     --------
10C          CALCULATES THE STELLAR ANGLE FOR ALL THE POINTS OF THE GRID
11C
12C**   INTERFACE.
13C     ----------
14C      SUBROUTINE STELANG ( KGRID )
15C
16C        EXPLICIT ARGUMENTS :
17C        --------------------
18C     ==== INPUTS  ===
19C
20C PSILON(KGRID)   : SINUS OF THE LONGITUDE
21C PCOLON(KGRID)   : COSINUS OF THE LONGITUDE
22C PSILAT(KGRID)   : SINUS OF THE LATITUDE
23C PCOLAT(KGRID)   : COSINUS OF THE LATITUDE
24C PTIM1           : SIN(DECLI)
25C PTIM2           : COS(DECLI)*COS(TIME)
26C PTIM3           : SIN(DECLI)*SIN(TIME)
27C
28C     ==== OUTPUTS ===
29C
30C PMU0 (KGRID)    : SOLAR ANGLE
31C PFRACT(KGRID)   : DAY FRACTION OF THE TIME INTERVAL
32C
33C        IMPLICIT ARGUMENTS :   NONE
34C        --------------------
35C
36C     METHOD.
37C     -------
38C
39C     EXTERNALS.
40C     ----------
41C
42C         NONE
43C
44C     REFERENCE.
45C     ----------
46C
47C         RADIATIVE PROCESSES IN METEOROLOGIE AND CLIMATOLOGIE
48C         PALTRIDGE AND PLATT
49C
50C     AUTHOR.
51C     -------
52C        FREDERIC HOURDIN
53C
54C     MODIFICATIONS.
55C     --------------
56C        ORIGINAL :90-01-14
57C                  92-02-14 CALCULATIONS DONE THE ENTIER GRID (J.Polcher)
58C-----------------------------------------------------------------------
59C
60C     ------------------------------------------------------------------
61
62C-----------------------------------------------------------------------
63C
64C*      0.1   ARGUMENTS
65C             ---------
66C
67      INTEGER,INTENT(IN) :: kgrid
68      REAL,INTENT(IN) :: ptim1,ptim2,ptim3
69      REAL,INTENT(IN) :: psilon(kgrid),pcolon(kgrid)
70      REAL,INTENT(IN) :: psilat(kgrid), pcolat(kgrid)
71      REAL,INTENT(OUT) :: pmu0(kgrid),pfract(kgrid)
72C
73      INTEGER jl
74      REAL ztim1,ztim2,ztim3, rap
75C------------------------------------------------------------------------
76C------------------------------------------------------------------------
77C------------------------------------------------------------------------
78C
79C------------------------------------------------------------------------
80C
81C*     1.     INITIALISATION
82C             --------------
83C
84c----- SG: geometry adapted to a flattened planet (Feb2014)
85c----- AF24: replaced flat param by 0
86
87      rap = 1./((1.-0)**2)
88
89 100  CONTINUE
90C
91      DO jl=1,kgrid
92        pmu0(jl)=0.
93        pfract(jl)=0.
94      ENDDO
95C
96C*     1.1     COMPUTATION OF THE SOLAR ANGLE
97C              ------------------------------
98C
99      DO jl=1,kgrid
100        ztim1=psilat(jl)*ptim1*rap
101        ztim2=pcolat(jl)*ptim2
102        ztim3=pcolat(jl)*ptim3
103        pmu0(jl)=ztim1+ztim2*pcolon(jl)+ztim3*psilon(jl)
104        pmu0(jl)=pmu0(jl)/SQRT(pcolat(jl)**2+(rap**2)*(psilat(jl)**2))
105
106      ENDDO
107C
108C*     1.2      DISTINCTION BETWEEN DAY AND NIGHT
109C               ---------------------------------
110C
111      DO jl=1,kgrid
112        IF (pmu0(jl).gt.0.) THEN
113          pfract(jl)=1.
114c       pmu0(jl)=sqrt(1224.*pmu0(jl)*pmu0(jl)+1.)/35.
115      ELSE
116c       pmu0(jl)=0.
117        pfract(jl)=0.
118        ENDIF
119      ENDDO
120C
121      RETURN
122      END
Note: See TracBrowser for help on using the repository browser.