/[MITgcm]/MITgcm_contrib/darwin/pkg/radtrans/radtrans_sunmod.F
ViewVC logotype

Annotation of /MITgcm_contrib/darwin/pkg/radtrans/radtrans_sunmod.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Wed Jun 9 15:59:38 2010 UTC (15 years, 1 month ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin_ckpt63j_20120217, ctrb_darwin_ckpt62w_20110426, ctrb_darwin_ckpt62k_20101005, ctrb_darwin_ckpt63m_20120506, ctrb_darwin_ckpt66l_20171025, ctrb_darwin_ckpt66a_20161020, ctrb_darwin_ckpt62l_20101006, ctrb_darwin_ckpt65n_20150729, ctrb_darwin_ckpt64v_20140411, ctrb_darwin_ckpt62q_20110124, ctrb_darwin_ckpt65b_20140812, ctrb_darwin_ckpt62m_20101024, ctrb_darwin_ckpt63s_20120908, ctrb_darwin_ckpt62z_20110622, ctrb_darwin_ckpt65y_20160801, ctrb_darwin_ckpt66o_20180209, ctrb_darwin_ckpt63q_20120731, ctrb_darwin_ckpt62s_20110217, ctrb_darwin_ckpt63k_20120317, ctrb_darwin_ckpt64y_20140622, ctrb_darwin_ckpt64b_20121224, ctrb_darwin_ckpt64g_20130503, ctrb_darwin_ckpt65c_20140830, ctrb_darwin_ckpt62o_20101125, ctrb_darwin_ckpt64r_20131210, ctrb_darwin_ckpt65x_20160612, ctrb_darwin_ckpt66j_20170815, ctrb_darwin_ckpt64j_20130704, ctrb_darwin_ckpt65u_20160315, ctrb_darwin_ckpt62i_20100729, ctrb_darwin_ckpt62t_20110305, ctrb_darwin_ckpt62h_20100707, ctrb_darwin_ckpt64t_20140202, ctrb_darwin_ckpt64_20121012, ctrb_darwin_ckpt64s_20140105, ctrb_darwin_ckpt66k_20171025, ctrb_darwin_ckpt63i_20120124, ctrb_darwin_ckpt64h_20130528, ctrb_darwin_ckpt64u_20140308, ctrb_darwin_ckpt64k_20130723, ctrb_darwin_ckpt63g_20111220, ctrb_darwin_ckpt63b_20110830, ctrb_darwin_ckpt65s_20160114, ctrb_darwin_ckpt64a_20121116, ctrb_darwin_ckpt62p_20101217, ctrb_darwin_ckpt63_20110728, ctrb_darwin_ckpt62n_20101109, ctrb_darwin_ckpt62r_20110124, ctrb_darwin_ckpt62v_20110412, ctrb_darwin_ckpt64i_20130622, ctrb_darwin_ckpt65h_20141217, ctrb_darwin_ckpt65a_20140728, ctrb_darwin_ckpt63o_20120629, ctrb_darwin_ckpt63a_20110804, ctrb_darwin_ckpt66i_20170718, ctrb_darwin_ckpt62u_20110405, ctrb_darwin_ckpt66n_20180118, ctrb_darwin_ckpt65l_20150504, ctrb_darwin_ckpt63c_20111011, ctrb_darwin_ckpt65o_20150914, ctrb_darwin_ckpt62v_20110406, ctrb_darwin_ckpt65f_20141014, ctrb_darwin_ckpt63p_20120707, ctrb_darwin_ckpt64q_20131118, ctrb_darwin_ckpt65i_20150123, ctrb_darwin_ckpt63d_20111107, ctrb_darwin_ckpt66b_20161219, ctrb_darwin_ckpt65t_20160221, ctrb_darwin_ckpt65k_20150402, ctrb_darwin_ckpt64p_20131024, ctrb_darwin_ckpt65e_20140929, ctrb_darwin_ckpt64c_20130120, ctrb_darwin_ckpt64q_20131024, ctrb_darwin_ckpt65m_20150615, ctrb_darwin_ckpt64m_20130820, ctrb_darwin_ckpt66f_20170407, ctrb_darwin_ckpt63r_20120817, ctrb_darwin_ckpt65w_20160512, ctrb_darwin_ckpt62x_20110513, ctrb_darwin_ckpt65d_20140915, ctrb_darwin_ckpt63f_20111201, ctrb_darwin_ckpt64o_20131024, ctrb_darwin_ckpt64f_20130405, ctrb_darwin_ckpt65r_20151221, ctrb_darwin_ckpt65q_20151118, ctrb_darwin_ckpt66g_20170424, ctrb_darwin_ckpt65j_20150225, ctrb_darwin_ckpt64w_20140502, ctrb_darwin_ckpt62j_20100901, ctrb_darwin_ckpt63e_20111107, ctrb_darwin_ckpt64d_20130219, ctrb_darwin_ckpt63l_20120405, ctrb_darwin_ckpt66c_20170121, ctrb_darwin_ckpt64x_20140524, ctrb_darwin_ckpt66h_20170602, ctrb_darwin_ckpt66d_20170214, ctrb_darwin_ckpt63h_20111230, ctrb_darwin_ckpt64z_20140711, ctrb_darwin_ckpt65v_20160409, ctrb_darwin_ckpt65p_20151023, ctrb_darwin_ckpt65g_20141120, ctrb_darwin_ckpt63n_20120604, ctrb_darwin_ckpt64e_20130305, ctrb_darwin_ckpt66m_20171213, ctrb_darwin_ckpt66e_20170314, ctrb_darwin_ckpt64l_20130806, ctrb_darwin_ckpt65z_20160929, ctrb_darwin_ckpt62y_20110526, ctrb_darwin_ckpt65_20140718, ctrb_darwin_ckpt64n_20130826, HEAD
add radtrans package

1 jahn 1.1 C $Header$
2     C $Name$
3    
4     #include "RADTRANS_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: RADTRANS_SUNMOD
8    
9     C !INTERFACE: ======================================================
10     subroutine radtrans_sunmod(rad,iday,imon,iyr,gmt,up,no,ea,
11     O sunz,rs)
12    
13     C !DESCRIPTION:
14     c MODIFIED only by separating subroutines that were previously included
15     c
16     c Given year, day of year, time in hours (GMT) and latitude and
17     c longitude, returns an accurate solar zenith and azimuth angle.
18     c Based on IAU 1976 Earth ellipsoid. Method for computing solar
19     c vector and local vertical from Patt and Gregg, 1994, Int. J.
20     c Remote Sensing. Only outputs solar zenith angle. This version
21     c utilizes a pre-calculation of the local up, north, and east
22     c vectors, since the locations where the solar zenith angle are
23     c calculated in the model are fixed.
24     c
25     c Subroutines required: sun2000
26     c gha2000
27     c jd
28     c
29     C !USES: ===========================================================
30     IMPLICIT NONE
31    
32     C !INPUT PARAMETERS: ===============================================
33     INTEGER iday, imon, iyr
34     _RL rad, gmt, up(3), no(3), ea(3)
35     c INTEGER myThid
36    
37     C !OUTPUT PARAMETERS: ==============================================
38     _RL sunz, rs
39    
40     C !FUNCTIONS: ======================================================
41    
42     C !LOCAL VARIABLES: ================================================
43     INTEGER j
44     _RL radeg, sec, day, gha, ghar, sunv, sunn, sune
45     _RL suni(3),sung(3)
46     CEOP
47    
48    
49     radeg = rad
50     c Compute sun vector
51     c Compute unit sun vector in geocentric inertial coordinates
52     sec = gmt*3600.0D0
53     call radtrans_sun2000 (radeg, iyr, imon, iday, sec, suni, rs)
54    
55     c Get Greenwich mean sidereal angle
56     day = float(iday) + sec/86400.0D0
57     call radtrans_gha2000 (radeg, iyr, imon, day, gha)
58     ghar = gha/radeg
59    
60     c Transform Sun vector into geocentric rotating frame
61     sung(1) = suni(1)*cos(ghar) + suni(2)*sin(ghar)
62     sung(2) = suni(2)*cos(ghar) - suni(1)*sin(ghar)
63     sung(3) = suni(3)
64     c
65     c Compute components of spacecraft and sun vector in the
66     c vertical (up), North (no), and East (ea) vectors frame
67     sunv = 0.0
68     sunn = 0.0
69     sune = 0.0
70     do j = 1,3
71     sunv = sunv + sung(j)*up(j)
72     sunn = sunn + sung(j)*no(j)
73     sune = sune + sung(j)*ea(j)
74     enddo
75     c
76     c Compute the solar zenith
77     sunz = radeg*atan2(sqrt(sunn*sunn+sune*sune),sunv)
78     c
79     return
80     end
81     c
82     c *****************************************************************
83     c HERE SUBROUTINE sun2000 removed
84     c *********************************************************************
85     c HERE SUBROUTINE gha2000 removed
86     c HERE SUBROUTINE ephparms removed
87     c HERE SUBROUTINE nutate removed
88     c HERE FUNCTION jd removed
89     c ************************************************************************

  ViewVC Help
Powered by ViewVC 1.1.22