Back to home page

darwin3

 
 

    


File indexing completed on 2024-12-17 18:38:03 UTC

view on githubraw file Latest commit b55e95f1 on 2018-09-19 15:37:37 UTC
b55e95f1ff Oliv*0001 #include "RADTRANS_OPTIONS.h"
                0002 
                0003 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0004 CBOP
                0005 C     !ROUTINE: RADTRANS_SOLZ_DAYTIME
                0006 
                0007 C     !INTERFACE:
                0008       SUBROUTINE RADTRANS_SOLZ_DAYTIME(
                0009      O                       solz,
                0010      I                       delta,
                0011      I                       bi, bj, iMin, iMax, jMin, jMax, myThid )
                0012 
                0013 C     !DESCRIPTION:
                0014 C     Compute solar zenith angle from declination
                0015 C     Cosine of zenith angle is averaged over day-time period
                0016 
                0017 C     !USES:
                0018       IMPLICIT NONE
                0019 #include "SIZE.h"
                0020 #include "EEPARAMS.h"
                0021 #include "PARAMS.h"
                0022 #include "GRID.h"
                0023 
                0024 C     !INPUT PARAMETERS:
                0025 C     delta :: declination in radians
                0026       _RL delta
                0027       integer bi, bj, iMin, iMax, jMin, jMax, myThid
                0028 
                0029 C     !OUTPUT PARAMETERS:
                0030 C     solz :: solar zenith angle in degrees
                0031       _RL solz(1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
                0032 CEOP
                0033 
                0034 #ifdef ALLOW_RADTRANS
                0035 
                0036 C     !LOCAL VARIABLES:
                0037       _RL lat, sun1, dayhrs, cosz
                0038       INTEGER i, j
                0039 
                0040       DO j=jMin,jMax
                0041        DO i=iMin,iMax
                0042           lat = YC(i,j,bi,bj)/180. _d 0*3.1416 _d 0
                0043           sun1 = -sin(delta)/cos(delta) * sin(lat)/cos(lat)
                0044           IF (sun1.le.-0.999 _d 0) sun1=-0.999 _d 0
                0045           IF (sun1.ge. 0.999 _d 0) sun1= 0.999 _d 0
                0046           dayhrs = abs(acos(sun1))
                0047           cosz = ( sin(delta)*sin(lat)+
                0048      &            (cos(delta)*cos(lat)*sin(dayhrs)/dayhrs) )
                0049           IF (cosz.le.0.005 _d 0) cosz=0.005 _d 0
                0050           IF (cosz.ge. 0.999 _d 0) cosz= 0.999 _d 0
                0051           solz(i,j) = acos(cosz)*180. _d 0/3.1416 _d 0
                0052        ENDDO
                0053       ENDDO
                0054 
                0055 #endif /* ALLOW_RADTRANS */
                0056 
                0057       RETURN
                0058       END