/[MITgcm]/MITgcm_contrib/darwin2/pkg/darwin/darwin_insol.F
ViewVC logotype

Contents of /MITgcm_contrib/darwin2/pkg/darwin/darwin_insol.F

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


Revision 1.1 - (show annotations) (download)
Wed Apr 13 18:56:24 2011 UTC (14 years, 3 months ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt64k_20130723, ctrb_darwin2_ckpt65w_20160512, ctrb_darwin2_ckpt65j_20150225, ctrb_darwin2_ckpt63l_20120405, ctrb_darwin2_ckpt66g_20170424, ctrb_darwin2_ckpt64h_20130528, ctrb_darwin2_ckpt66k_20171025, ctrb_darwin2_ckpt66n_20180118, ctrb_darwin2_ckpt62v_20110413, ctrb_darwin2_ckpt65v_20160409, ctrb_darwin2_ckpt65s_20160114, ctrb_darwin2_ckpt65_20140718, ctrb_darwin2_ckpt64m_20130820, ctrb_darwin2_ckpt66d_20170214, ctrb_darwin2_ckpt64r_20131210, ctrb_darwin2_ckpt65m_20150615, ctrb_darwin2_ckpt65q_20151118, ctrb_darwin2_ckpt65o_20150914, ctrb_darwin2_ckpt64f_20130405, ctrb_darwin2_ckpt63f_20111201, ctrb_darwin2_ckpt64a_20121116, ctrb_darwin2_ckpt65p_20151023, ctrb_darwin2_ckpt64n_20130826, ctrb_darwin2_ckpt65e_20140929, ctrb_darwin2_ckpt64o_20131024, ctrb_darwin2_ckpt64v_20140411, ctrb_darwin2_ckpt64z_20140711, ctrb_darwin2_ckpt65l_20150504, ctrb_darwin2_ckpt65z_20160929, ctrb_darwin2_ckpt65n_20150729, ctrb_darwin2_ckpt62y_20110526, ctrb_darwin2_ckpt64y_20140622, ctrb_darwin2_ckpt65d_20140915, ctrb_darwin2_ckpt64t_20140202, ctrb_darwin2_ckpt66h_20170602, ctrb_darwin2_ckpt64i_20130622, ctrb_darwin2_ckpt62x_20110513, ctrb_darwin2_ckpt64s_20140105, ctrb_darwin2_ckpt62w_20110426, ctrb_darwin2_ckpt64x_20140524, ctrb_darwin2_ckpt63o_20120629, ctrb_darwin2_ckpt64e_20130305, ctrb_darwin2_ckpt65x_20160612, ctrb_darwin2_ckpt66f_20170407, ctrb_darwin2_ckpt63c_20111011, ctrb_darwin2_ckpt63i_20120124, ctrb_darwin2_ckpt65g_20141120, ctrb_darwin2_ckpt63m_20120506, ctrb_darwin2_ckpt63s_20120908, ctrb_darwin2_ckpt65k_20150402, ctrb_darwin2_ckpt63e_20111107, ctrb_darwin2_ckpt64w_20140502, ctrb_darwin2_ckpt63b_20110830, ctrb_darwin2_ckpt63j_20120217, ctrb_darwin2_ckpt66a_20161020, ctrb_darwin2_ckpt63r_20120817, ctrb_darwin2_ckpt64g_20130503, ctrb_darwin2_ckpt64l_20130806, ctrb_darwin2_ckpt63g_20111220, ctrb_darwin2_ckpt65f_20141014, ctrb_darwin2_ckpt64c_20130120, ctrb_darwin2_ckpt63a_20110804, ctrb_darwin2_ckpt66b_20161219, ctrb_darwin2_ckpt64u_20140308, ctrb_darwin2_ckpt64j_20130704, ctrb_darwin2_ckpt65i_20150123, ctrb_darwin2_ckpt66j_20170815, ctrb_darwin2_ckpt65y_20160801, ctrb_darwin2_ckpt63h_20111230, ctrb_darwin2_ckpt63p_20120707, ctrb_darwin2_ckpt66c_20170121, ctrb_darwin2_ckpt65a_20140728, ctrb_darwin2_ckpt65b_20140812, ctrb_darwin2_ckpt65t_20160221, ctrb_darwin2_ckpt64p_20131118, ctrb_darwin2_ckpt63d_20111107, ctrb_darwin2_ckpt63q_20120731, ctrb_darwin2_ckpt63_20110728, ctrb_darwin2_ckpt64b_20121224, ctrb_darwin2_ckpt64d_20130219, ctrb_darwin2_ckpt66o_20180209, ctrb_darwin2_ckpt66e_20170314, ctrb_darwin2_ckpt64_20121012, ctrb_darwin2_ckpt64q_20131118, ctrb_darwin2_baseline, ctrb_darwin2_ckpt64p_20131024, ctrb_darwin2_ckpt65u_20160315, ctrb_darwin2_ckpt65r_20151221, ctrb_darwin2_ckpt66i_20170718, ctrb_darwin2_ckpt63n_20120604, ctrb_darwin2_ckpt63k_20120317, ctrb_darwin2_ckpt65c_20140830, ctrb_darwin2_ckpt62z_20110622, ctrb_darwin2_ckpt66l_20171025, ctrb_darwin2_ckpt65h_20141217, ctrb_darwin2_ckpt66m_20171213, HEAD
darwin2 initial checkin

1 C $Header$
2 C $Name$
3
4 #include "CPP_OPTIONS.h"
5
6 C Procedure name: DARWIN_INSOL
7 C Function: find time scale for plankton growth as
8 C function of light
9 c based on paltridge and parson
10 C Comments: swd, April 1998
11 C following code by mick
12 C============================================================================
13 CStartofinterface
14 SUBROUTINE darwin_insol(Time,sfac,bj)
15 IMPLICIT NONE
16 C === Global variables ===
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "PARAMS.h"
20 #include "FFIELDS.h"
21 #include "GRID.h"
22 #include "DYNVARS.h"
23 C =============== Global data ==========================================
24 _RL time
25 _RL sfac(1-OLy:sNy+OLy)
26 integer bj
27 C============== Local variables ============================================
28 _RL solar, albedo, par
29 _RL dayfrac, yday, delta
30 _RL lat, sun1, dayhrs
31 _RL cosz, frac, fluxi
32 integer j
33 c
34 solar = 1360. _d 0 !solar constant
35 albedo = 0.6 _d 0 !planetary albedo
36 par = 0.4 _d 0 !photosynthetically reactive frac
37 c
38 c find day (****NOTE for year starting in 1 Jan *****)
39 dayfrac=mod(Time,360. _d 0*86400. _d 0)
40 & /(360. _d 0*86400. _d 0) !fraction of year
41 yday = 2.0 _d 0*3.1416 _d 0*dayfrac !convert to radians
42 delta = (0.006918 _d 0- (0.399912 _d 0*cos(yday)) !cosine zenith angle
43 & +(0.070257 _d 0*sin(yday)) !(paltridge+platt)
44 & -(0.006758 _d 0*cos(2.0 _d 0*yday))
45 & +(0.000907 _d 0*sin(2.0 _d 0*yday))
46 & -(0.002697 _d 0*cos(3.0 _d 0*yday))
47 & +(0.001480 _d 0*sin(3.0 _d 0*yday)) )
48 do j=1-OLy,sNy+OLy
49 c latitude in radians
50 lat=YC(1,j,1,bj)/180. _d 0*3.1416 _d 0
51 sun1 = -sin(delta)/cos(delta) * sin(lat)/cos(lat)
52 if (sun1.le.-0.999 _d 0) sun1=-0.999 _d 0
53 if (sun1.ge. 0.999 _d 0) sun1= 0.999 _d 0
54 dayhrs = abs(acos(sun1))
55 cosz = ( sin(delta)*sin(lat)+ !average zenith angle
56 & (cos(delta)*cos(lat)*sin(dayhrs)/dayhrs) )
57 if (cosz.le.0.005 _d 0) cosz=0.005 _d 0
58 frac = dayhrs/3.1416 _d 0 !fraction of daylight in day
59 c daily average photosynthetically active solar radiation just below surface
60 fluxi = solar*(1.0 _d 0-albedo)*cosz*frac*par
61 c
62 c convert to sfac
63 if (fluxi.gt.0.0 _d 0) sfac(j)=fluxi
64 c very large for polar night
65 if (fluxi.lt.0.00001 _d 0) sfac(j)=0.00001 _d 0
66 enddo !j
67 c
68 return
69 end
70 c
71 C==========================================================================

  ViewVC Help
Powered by ViewVC 1.1.22