source: trunk/LMDZ.MARS/libf/phymars/solang.F @ 308

Last change on this file since 308 was 38, checked in by emillour, 14 years ago

Ajout du modè Martien (mon LMDZ.MARS.BETA, du 28/01/2011) dans le rértoire mars, pour pouvoir suivre plus facilement les modifs.
EM

File size: 2.8 KB
Line 
1      subroutine solang ( 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 SOLAR ANGLE FOR ALL THE POINTS OF THE GRID
11C
12C**   INTERFACE.
13C     ----------
14C      SUBROUTINE SOLANG ( 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
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
74C------------------------------------------------------------------------
75C------------------------------------------------------------------------
76C------------------------------------------------------------------------
77C
78C------------------------------------------------------------------------
79C
80C*     1.     INITIALISATION
81C             --------------
82C
83 100  CONTINUE
84C
85      DO jl=1,kgrid
86        pmu0(jl)=0.
87        pfract(jl)=0.
88      ENDDO
89C
90C*     1.1     COMPUTATION OF THE SOLAR ANGLE
91C              ------------------------------
92C
93      DO jl=1,kgrid
94        ztim1=psilat(jl)*ptim1
95        ztim2=pcolat(jl)*ptim2
96        ztim3=pcolat(jl)*ptim3
97        pmu0(jl)=ztim1+ztim2*pcolon(jl)+ztim3*psilon(jl)
98      ENDDO
99C
100C*     1.2      DISTINCTION BETWEEN DAY AND NIGHT
101C               ---------------------------------
102C
103      DO jl=1,kgrid
104        IF (pmu0(jl).gt.0.) THEN
105          pfract(jl)=1.
106c       pmu0(jl)=sqrt(1224.*pmu0(jl)*pmu0(jl)+1.)/35.
107      ELSE
108c       pmu0(jl)=0.
109        pfract(jl)=0.
110        ENDIF
111      ENDDO
112C
113      RETURN
114      END
Note: See TracBrowser for help on using the repository browser.