source: trunk/LMDZ.GENERIC/libf/phystd/stelang.F @ 1174

Last change on this file since 1174 was 1174, checked in by sglmd, 11 years ago

Calculation of the insolation for a flattened planet. New keyword flatten =(a-b)/a (default value =0.).

File size: 3.0 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 kgrid
68      REAL ptim1,ptim2,ptim3, pflat
69      REAL psilon(kgrid),pcolon(kgrid),pmu0(kgrid),pfract(kgrid)
70      REAL psilat(kgrid), pcolat(kgrid)
71C
72      INTEGER jl
73      REAL ztim1,ztim2,ztim3, rap
74C------------------------------------------------------------------------
75C------------------------------------------------------------------------
76C------------------------------------------------------------------------
77C
78C------------------------------------------------------------------------
79C
80C*     1.     INITIALISATION
81C             --------------
82C
83c----- SG: geometry adapted to a flattened planet (Feb2014)
84
85      rap = 1./((1.-pflat)**2)
86
87 100  CONTINUE
88C
89      DO jl=1,kgrid
90        pmu0(jl)=0.
91        pfract(jl)=0.
92      ENDDO
93C
94C*     1.1     COMPUTATION OF THE SOLAR ANGLE
95C              ------------------------------
96C
97      DO jl=1,kgrid
98        ztim1=psilat(jl)*ptim1*rap
99        ztim2=pcolat(jl)*ptim2
100        ztim3=pcolat(jl)*ptim3
101        pmu0(jl)=ztim1+ztim2*pcolon(jl)+ztim3*psilon(jl)
102        pmu0(jl)=pmu0(jl)/SQRT(pcolat(jl)**2 + (rap**2) * (psilat(jl)**2))
103
104      ENDDO
105C
106C*     1.2      DISTINCTION BETWEEN DAY AND NIGHT
107C               ---------------------------------
108C
109      DO jl=1,kgrid
110        IF (pmu0(jl).gt.0.) THEN
111          pfract(jl)=1.
112c       pmu0(jl)=sqrt(1224.*pmu0(jl)*pmu0(jl)+1.)/35.
113      ELSE
114c       pmu0(jl)=0.
115        pfract(jl)=0.
116        ENDIF
117      ENDDO
118C
119      RETURN
120      END
Note: See TracBrowser for help on using the repository browser.