Ignore:
Timestamp:
Dec 20, 2019, 12:41:10 AM (5 years ago)
Author:
dubos
Message:

simple_physics : cleanup astronomy

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dynamico_lmdz/simple_physics/phyparam/param/zenang.F

    r4176 r4191  
    11      SUBROUTINE zenang(klon,longi,gmtime,pdtrad,lat,long,
    22     s                  pmu0,frac)
     3      USE astronomy
    34      IMPLICIT none
    45c=============================================================
     
    2425c frac-----OUTPUT: ensoleillement moyen entre gmtime et gmtime+pdtrad
    2526c================================================================
    26 #include "comorbit.h"
    2727      integer klon
    2828c================================================================
     
    155155      END
    156156c===================================================================
    157 #ifdef PASLA
    158       SUBROUTINE zenith (klon,longi, gmtime, lat, long,
    159      s                   pmu0, fract)
    160       IMPLICIT none
    161 c
    162 c Auteur(s): Z.X. Li (LMD/ENS)
    163 c
    164 c Objet: calculer le cosinus de l'angle zenithal du soleil en
    165 c        connaissant la declinaison du soleil, la latitude et la
    166 c        longitude du point sur la terre, et le temps universel
    167 c
    168 c Arguments d'entree:
    169 c     longi  : declinaison du soleil (en degres)
    170 c     gmtime : temps universel en second qui varie entre 0 et 86400
    171 c     lat    : latitude en degres
    172 c     long   : longitude en degres
    173 c Arguments de sortie:
    174 c     pmu0   : cosinus de l'angle zenithal
    175 c
    176 c====================================================================
    177 #include "YOMCST.h"
    178 c====================================================================
    179       INTETER klon
    180       REAL longi, gmtime
    181       REAL lat(klon), long(klon), pmu0(klon), fract(klon)
    182 c=====================================================================
    183       INTEGER n
    184       REAL zpi, zpir, omega, zgmtime
    185       REAL incl, lat_sun, lon_sun
    186 c----------------------------------------------------------------------
    187       zpi = 4.0*ATAN(1.0)
    188       zpir = zpi / 180.0
    189       zgmtime=gmtime*86400.
    190 c
    191       incl=R_incl * zpir
    192 c
    193       lon_sun = longi * zpir
    194       lat_sun = ASIN (SIN(lon_sun)*SIN(incl) )
    195 c
    196 c--initialisation a la nuit
    197 c
    198       DO n =1, klon
    199         pmu0(n)=0.
    200         fract(n)=0.0
    201       ENDDO
    202 c
    203 c 1 degre en longitude = 240 secondes en temps
    204 c
    205       DO n = 1, klon
    206          omega = zgmtime + long(n)*86400.0/360.0
    207          omega = omega / 86400.0 * 2.0 * zpi
    208          omega = MOD(omega + 2.0 * zpi, 2.0 * zpi)
    209          omega = omega - zpi
    210          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.0
    215       ENDDO
    216 c
    217       RETURN
    218       END
    219 #endif
Note: See TracChangeset for help on using the changeset viewer.