source: codes/icosagcm/branches/SATURN_DYNAMICO/LMDZ.COMMON/libf/phystd/stelang.F @ 222

Last change on this file since 222 was 222, checked in by ymipsl, 10 years ago

Creating temporary dynamico/lmdz/saturn branche

YM

File size: 3.1 KB
Line 
1      subroutine stelang(kgrid,psilon,pcolon,psilat,pcolat,
2     &                ptim1,ptim2,ptim3,pmu0,pfract, pflat)
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, pflat
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)
85
86      rap = 1./((1.-pflat)**2)
87
88 100  CONTINUE
89C
90      DO jl=1,kgrid
91        pmu0(jl)=0.
92        pfract(jl)=0.
93      ENDDO
94C
95C*     1.1     COMPUTATION OF THE SOLAR ANGLE
96C              ------------------------------
97C
98      DO jl=1,kgrid
99        ztim1=psilat(jl)*ptim1*rap
100        ztim2=pcolat(jl)*ptim2
101        ztim3=pcolat(jl)*ptim3
102        pmu0(jl)=ztim1+ztim2*pcolon(jl)+ztim3*psilon(jl)
103        pmu0(jl)=pmu0(jl)/SQRT(pcolat(jl)**2+(rap**2)*(psilat(jl)**2))
104
105      ENDDO
106C
107C*     1.2      DISTINCTION BETWEEN DAY AND NIGHT
108C               ---------------------------------
109C
110      DO jl=1,kgrid
111        IF (pmu0(jl).gt.0.) THEN
112          pfract(jl)=1.
113c       pmu0(jl)=sqrt(1224.*pmu0(jl)*pmu0(jl)+1.)/35.
114      ELSE
115c       pmu0(jl)=0.
116        pfract(jl)=0.
117        ENDIF
118      ENDDO
119C
120      RETURN
121      END
Note: See TracBrowser for help on using the repository browser.