source:
trunk/NEMO/TOP_SRC/SMS/h3copt.F
@
186
Last change on this file since 186 was 186, checked in by opalod, 19 years ago | |
---|---|
|
|
File size: 2.3 KB |
Line | |
---|---|
1 | C $Id$ |
2 | CDIR$ LIST |
3 | SUBROUTINE h3copt |
4 | #if defined key_passivetrc && defined key_trc_hamocc3 |
5 | CCC--------------------------------------------------------------------- |
6 | CCC |
7 | CCC ROUTINE h3copt |
8 | CCC ***************** |
9 | CCC |
10 | CCC PURPOSE : |
11 | CCC --------- |
12 | CCC Compute regional deviation from optimal productivity |
13 | CCC depending on the latitude and the month |
14 | CCC |
15 | CC METHOD : |
16 | CC ------- |
17 | CC |
18 | CC |
19 | CC INPUT : |
20 | CC ----- |
21 | CC argument |
22 | CC ktask : task identificator |
23 | CC common |
24 | CC all the common defined in opa |
25 | CC |
26 | CC |
27 | CC OUTPUT : : no |
28 | CC ------ |
29 | CC |
30 | CC WORKSPACE : |
31 | CC --------- |
32 | CC |
33 | CC EXTERNAL : |
34 | CC -------- |
35 | CC |
36 | CC MODIFICATIONS: |
37 | CC -------------- |
38 | CC original : E. Maier-Reimer (GBC 1993) |
39 | CC additions : C. Le Quere (1999) |
40 | CC---------------------------------------------------------------------- |
41 | CC parameters and commons |
42 | CC ====================== |
43 | CDIR$ NOLIST |
44 | USE oce_trc |
45 | USE trp_trc |
46 | USE sms |
47 | IMPLICIT NONE |
48 | CDIR$ LIST |
49 | CC---------------------------------------------------------------------- |
50 | CC local declarations |
51 | CC ================== |
52 | INTEGER ji, jj |
53 | INTEGER iyy, in |
54 | REAL rum, delta, codel, sidel, phi, argu, t1 |
55 | C |
56 | C Get year |
57 | C -------- |
58 | C |
59 | iyy = ndastp/10000 |
60 | C |
61 | # if defined key_off_tra |
62 | IF (nleapy.EQ.1 .AND. MOD(iyy,4).EQ.0) THEN |
63 | rum = FLOAT(ijulian)/366. |
64 | ELSE |
65 | rum = FLOAT(ijulian)/365. |
66 | ENDIF |
67 | # else |
68 | IF (nleapy.EQ.1 .AND. MOD(iyy,4).EQ.0) THEN |
69 | rum = FLOAT(nday_year)/366. |
70 | ELSE |
71 | rum = FLOAT(nday_year)/365. |
72 | ENDIF |
73 | # endif |
74 | C |
75 | delta = -COS(rum*rpi*2.)*rpi*23.5/180. |
76 | codel = COS(delta) |
77 | sidel = SIN(delta) |
78 | |
79 | DO jj = 1,jpj |
80 | DO ji = 1,jpi |
81 | phi = gphit(ji,jj)*rpi/180. |
82 | argu = -SIN(phi)*sidel/(COS(phi)*codel+1.e-10) |
83 | strn(ji,jj) = 0. |
84 | IF (argu.LE.-1.) THEN |
85 | str = rpi*SIN(phi)*sidel |
86 | ENDIF |
87 | IF (argu.GE.1.) str=0. |
88 | IF (ABS(argu).LT.1.) THEN |
89 | t1 = ACOS(argu) |
90 | str = t1*sin(phi)*sidel + sin(t1)*COS(phi)*codel |
91 | ENDIF |
92 | strn(ji,jj) = str/(30.5*24.*3600.) |
93 | END DO |
94 | END DO |
95 | C |
96 | #endif |
97 | RETURN |
98 | END |
99 |
Note: See TracBrowser
for help on using the repository browser.