Changeset 4191 for dynamico_lmdz/simple_physics/phyparam/param/zenang.F
- Timestamp:
- Dec 20, 2019, 12:41:10 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
dynamico_lmdz/simple_physics/phyparam/param/zenang.F
r4176 r4191 1 1 SUBROUTINE zenang(klon,longi,gmtime,pdtrad,lat,long, 2 2 s pmu0,frac) 3 USE astronomy 3 4 IMPLICIT none 4 5 c============================================================= … … 24 25 c frac-----OUTPUT: ensoleillement moyen entre gmtime et gmtime+pdtrad 25 26 c================================================================ 26 #include "comorbit.h"27 27 integer klon 28 28 c================================================================ … … 155 155 END 156 156 c=================================================================== 157 #ifdef PASLA158 SUBROUTINE zenith (klon,longi, gmtime, lat, long,159 s pmu0, fract)160 IMPLICIT none161 c162 c Auteur(s): Z.X. Li (LMD/ENS)163 c164 c Objet: calculer le cosinus de l'angle zenithal du soleil en165 c connaissant la declinaison du soleil, la latitude et la166 c longitude du point sur la terre, et le temps universel167 c168 c Arguments d'entree:169 c longi : declinaison du soleil (en degres)170 c gmtime : temps universel en second qui varie entre 0 et 86400171 c lat : latitude en degres172 c long : longitude en degres173 c Arguments de sortie:174 c pmu0 : cosinus de l'angle zenithal175 c176 c====================================================================177 #include "YOMCST.h"178 c====================================================================179 INTETER klon180 REAL longi, gmtime181 REAL lat(klon), long(klon), pmu0(klon), fract(klon)182 c=====================================================================183 INTEGER n184 REAL zpi, zpir, omega, zgmtime185 REAL incl, lat_sun, lon_sun186 c----------------------------------------------------------------------187 zpi = 4.0*ATAN(1.0)188 zpir = zpi / 180.0189 zgmtime=gmtime*86400.190 c191 incl=R_incl * zpir192 c193 lon_sun = longi * zpir194 lat_sun = ASIN (SIN(lon_sun)*SIN(incl) )195 c196 c--initialisation a la nuit197 c198 DO n =1, klon199 pmu0(n)=0.200 fract(n)=0.0201 ENDDO202 c203 c 1 degre en longitude = 240 secondes en temps204 c205 DO n = 1, klon206 omega = zgmtime + long(n)*86400.0/360.0207 omega = omega / 86400.0 * 2.0 * zpi208 omega = MOD(omega + 2.0 * zpi, 2.0 * zpi)209 omega = omega - zpi210 pmu0(n) = sin(lat(n)*zpir) * sin(lat_sun)211 . + cos(lat(n)*zpir) * cos(lat_sun)212 . * cos(omega)213 pmu0(n) = MAX (pmu0(n), 0.0)214 IF (pmu0(n).GT.1.E-6) fract(n)=1.0215 ENDDO216 c217 RETURN218 END219 #endif
Note: See TracChangeset
for help on using the changeset viewer.