/[MITgcm]/MITgcm/model/src/swfrac.F
ViewVC logotype

Contents of /MITgcm/model/src/swfrac.F

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


Revision 1.1 - (show annotations) (download)
Tue May 18 18:01:13 1999 UTC (25 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint22, checkpoint23
Modifications/additions for KPP mixing scheme. Instigated by Dimitri.

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/ini_forcing.F,v 1.15 1998/12/15 00:20:34 adcroft Exp
2
3 #include "CPP_OPTIONS.h"
4
5 C I.Fukumori 8/24/98
6 CStartOfInterface
7 SUBROUTINE SWFRAC(
8 I imax, fact, z, jwtype,
9 O swdk )
10 C /==========================================================\
11 C | SUBROUTINE SWFRAC |
12 C | Compute fraction of solar short-wave flux penetrating to |
13 C | specified depth, z, due to exponential decay in |
14 C | Jerlov water type jwtype. |
15 C | Reference : Two band solar absorption model of Paulson |
16 C | and Simpson (1977, JPO, 7, 952-956) |
17 C | Notes |
18 C | ===== |
19 C | Below 200m the solar penetration gets set to zero, |
20 C | otherwise the limit for the exponent (+/- 5678) needs to |
21 C | be taken care of. |
22 C | Written by : Jan Morzel |
23 C | Date : July 12, 1995 |
24 C \==========================================================/
25
26 IMPLICIT NONE
27
28 integer nwtype
29 PARAMETER(nwtype=5) ! max number of different water types
30
31 C === Routine arguments ===
32
33 C input arguments
34 INTEGER imax ! number of vertical grid points
35 _RS fact ! scale factor to apply to depth array
36 _RS z(imax) ! vertical depth for desired sw fraction
37 ! (fact*z) is negative distance (m) from surface
38 INTEGER jwtype ! index for jerlov water type
39
40 C output arguments
41 _RS swdk(imax) ! short wave (radiation) fractional decay
42
43 C === Local variables ===
44 _RS facz
45 REAL rfac(nwtype),a1(nwtype),a2(nwtype)
46 INTEGER i
47 C
48 C Jerlov water type : I IA IB II III
49 C jwtype 1 2 3 4 5
50 C
51 DATA rfac / 0.58 , 0.62 , 0.67 , 0.77 , 0.78 /
52 DATA a1 / 0.35 , 0.6 , 1.0 , 1.5 , 1.4 /
53 DATA a2 / 23.0 , 20.0 , 17.0 , 14.0 , 7.9 /
54 C
55 DO i = 1,imax
56 facz = fact*z(i)
57 IF (facz .LT. (-200.)) THEN
58 swdk(i) = 0.
59 ELSE
60 swdk(i) = rfac(jwtype) * exp(facz/a1(jwtype))
61 $ + (1.-rfac(jwtype)) * exp(facz/a2(jwtype))
62 ENDIF
63 ENDDO
64
65 RETURN
66 END

  ViewVC Help
Powered by ViewVC 1.1.22