File indexing completed on 2026-01-09 06:08:31 UTC
view on githubraw file Latest commit 2a2b7d0c on 2026-01-08 18:45:18 UTC
2a2b7d0c36 Mart*0001 #include "GCHEM_OPTIONS.h"
0002
0003
0004
0005
0006
0007 SUBROUTINE GCHEM_INSOLATION(
0008 O solar_radiation,
0009 I iMin, iMax, jMin, jMax, bi, bj,
0010 I myTime, myIter, myThid )
0011
0012
0013
0014
0015
0016
0017
0018 IMPLICIT NONE
0019
0020
0021 #include "SIZE.h"
0022 #include "EEPARAMS.h"
0023 #include "PARAMS.h"
0024 #include "GRID.h"
0025 #include "GCHEM.h"
0026
0027
0028
0029
0030
0031
0032
0033
0034 INTEGER bi, bj, iMin, iMax, jMin, jMax
0035 _RL myTime
0036 INTEGER myIter
0037 INTEGER myThid
0038
0039
0040 _RL solar_radiation(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0041
0042
0043
0044
0045 INTEGER i,j
0046 _RL solar, albedo
0047 _RL dayfrac, yday, delta
0048 _RL lat, sun1, dayhrs
0049 _RL cosz, frac
0050
0051
0052
0053 solar = 1360. _d 0
0054 albedo = 0.6 _d 0
0055
0056
0057
0058 dayfrac=MOD( myTime,gchem_secondsPerYear )/ gchem_secondsPerYear
0059
0060 yday = 2. _d 0*PI*dayfrac
0061
0062 delta = (0.006918 _d 0
0063 & -(0.399912 _d 0*COS(yday))
0064 & +(0.070257 _d 0*SIN(yday))
0065 & -(0.006758 _d 0*COS(2. _d 0*yday))
0066 & +(0.000907 _d 0*SIN(2. _d 0*yday))
0067 & -(0.002697 _d 0*COS(3. _d 0*yday))
0068 & +(0.001480 _d 0*SIN(3. _d 0*yday)) )
0069
0070 DO j = jMin, jMax
0071 DO i = iMin, iMax
0072
0073 lat=YC(i,j,bi,bj)*deg2rad
0074
0075
0076 IF ( usingCartesianGrid .OR. usingCylindricalGrid )
0077 & lat = ASIN( fCori(i,j,bi,bj)/(2. _d 0*omega) )
0078
0079 sun1 = -SIN(delta)/COS(delta) * SIN(lat)/COS(lat)
0080 IF (sun1.LE.-0.999 _d 0) sun1=-0.999 _d 0
0081 IF (sun1.GE. 0.999 _d 0) sun1= 0.999 _d 0
0082 dayhrs = ABS(ACOS(sun1))
0083
0084 cosz = ( SIN(delta)*SIN(lat)
0085 & +(COS(delta)*COS(lat)*SIN(dayhrs)/dayhrs) )
0086 IF (cosz.LE.5. _d -3) cosz= 5. _d -3
0087
0088 frac = dayhrs/PI
0089
0090 solar_radiation(i,j) = solar*(1. _d 0-albedo)*cosz*frac
0091
0092 ENDDO
0093 ENDDO
0094
0095 RETURN
0096 END