source: trunk/LMDZ.TITAN/libf/phytitan/heating.F @ 134

Last change on this file since 134 was 104, checked in by slebonnois, 14 years ago

SLebonnois: modification de makelmdz et create_make_gcm pour pouvoir
compiler la chimie titan. Pas de raison que ca gene les autres.
Dans cette version, les compilations de Venus et Titan fonctionnent.

Phytitan: modifications pour pouvoir compiler correctement.
Il ne manque plus que physiq.F a faire.

File size: 2.9 KB
Line 
1       SUBROUTINE heating(dist,rmu0,fract,sol_htg,swnet)
2
3
4c=======================================================================
5c
6c   Object:  Computation of the solar heating rate
7c                    SOL_HTG(klon,klev)
8c
9c   Arguments:
10c   ----------
11c
12c      Input:
13c      ------
14c
15c dist-----input-R- distance astronomique terre-soleil
16c rmu0-----input-R- cosinus de l'angle zenithal
17c fract----input-R- duree d'ensoleillement normalisee
18c        p(klon,nl)    pressure (level)
19c
20c      Output:
21c      -------
22c sol_htg-----output-R- echauffement atmospherique (visible) (K/s)
23c swnet-------output-R- flux solaire net (+ vers le bas)     (W/m2)
24c
25c=======================================================================
26c-----------------------------------------------------------------------
27c   Declarations:
28c   -------------
29
30      use dimphy
31      IMPLICIT NONE
32#include "dimensions.h"
33
34      INTEGER NLEVEL,NLAYER,NSPECV
35      PARAMETER(NLAYER=llm,NLEVEL=NLAYER+1)
36      PARAMETER (NSPECV=24)
37c
38c  ASTUCE POUR EVITER klon... EN ATTENDANT MIEUX
39      INTEGER   ngrid
40      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
41c
42
43c   Arguments:
44c   ----------
45
46
47      real dist, rmu0(klon), fract(klon)
48
49      real sol_htg(klon,klev)
50      real swnet(klon,klev+1)
51     
52c   Local:
53c   ------
54
55      INTEGER I,J,IG,K,IPRINT,ilat,nq
56 
57c   COMMONS for interface with local subroutines:
58c   ---------------------------------------------
59
60      REAL UBARI,UBARV,UBAR0
61      REAL  CH4(NLEVEL),XN2(NLEVEL),H2(NLEVEL),AR(NLEVEL)
62      REAL  XMU(NLEVEL),GAS1(NLAYER),COLDEN(NLAYER)
63      REAL FNETV(ngrid,NLEVEL),FUPV(ngrid,NLEVEL,NSPECV) 
64      REAL FDV(ngrid,NLEVEL,NSPECV),FMNETV(ngrid,NLEVEL)
65      REAL CSUBP,RSFI,RSFV,F0PI
66
67      COMMON /UBARED/ UBARI,UBARV,UBAR0
68
69      COMMON /GASS/ CH4,XN2
70     &              ,H2,AR
71     &              ,XMU,GAS1
72     &              ,COLDEN
73
74      COMMON /FLUXvV/ FNETV,     
75     &               FUPV,
76     &               FDV,
77     &               FMNETV
78
79      COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
80
81
82c==================================================================
83
84         fnetv  = 0.0
85         sol_htg= 0.0
86         swnet  = 0.0
87c pour sorties dans gfluxv...
88         iprint = 0
89
90         DO ig=1,klon
91            IF(fract(ig).LT.1.e-5) THEN
92               DO j=1,nlayer
93                  sol_htg(ig,j)=0.
94               ENDDO
95            ELSE
96               ubar0=rmu0(ig)
97
98               CALL sfluxv(iprint,ig,dist)           ! #3
99
100               fnetv(ig,:) = fnetv(ig,:) *fract(ig)   ! >0 vers le haut
101c >0 vers le bas + conversion en W/m2:
102               swnet(ig,:) = -1.e-3*fnetv(ig,:)         
103               
104               DO j=1,nlayer
105                  sol_htg(ig,j)=                           ! K/s
106     s            (fnetv(ig,j+1)-fnetv(ig,j))
107     s                              /(colden(j)*csubp)
108               ENDDO
109            ENDIF
110         ENDDO
111
112      RETURN
113 191  FORMAT(F8.2,1P10E10.2)
114 192  FORMAT(a8,1P10E10.2)
115      END
Note: See TracBrowser for help on using the repository browser.