/[MITgcm]/MITgcm/pkg/exf/exf_set_hfluxa.F
ViewVC logotype

Contents of /MITgcm/pkg/exf/exf_set_hfluxa.F

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


Revision 1.1 - (show annotations) (download)
Mon May 14 22:08:41 2001 UTC (23 years ago) by heimbach
Branch: MAIN
CVS Tags: ecco_c44_e19, ecco_c44_e18, ecco_c44_e17, ecco_c44_e16, checkpoint40pre7, checkpoint43a-release1mods, checkpoint44e_post, checkpoint46l_post, checkpoint46g_pre, chkpt44a_pre, ecco_c44_e22, ecco_c44_e23, ecco_c44_e20, ecco_c44_e21, ecco_c44_e24, checkpoint46f_post, checkpoint46d_pre, checkpoint46e_post, release1-branch_tutorials, checkpoint46c_post, checkpoint46b_post, ecco-branch-mod1, checkpoint46e_pre, ecco-branch-mod3, ecco-branch-mod4, ecco-branch-mod5, checkpoint45d_post, release1_beta1, checkpoint46j_pre, checkpoint45b_post, checkpoint44g_post, release1-branch-end, release1_final_v1, checkpoint44b_pre, checkpoint42, checkpoint43, checkpoint40, checkpoint41, checkpoint46, checkpoint44, checkpoint45, checkpoint44f_post, checkpoint40pre3, checkpoint40pre2, checkpoint40pre1, checkpoint44b_post, checkpoint40pre6, checkpoint40pre5, checkpoint46h_post, checkpoint40pre9, checkpoint40pre8, checkpoint46l_pre, checkpoint44h_pre, release1_b1, chkpt44d_post, chkpt44a_post, release1_p1, release1_p2, release1_p3, release1_p4, release1_p5, release1_p6, checkpoint46a_post, chkpt44c_post, checkpoint46m_post, checkpoint46j_post, checkpoint40pre4, checkpoint44f_pre, checkpoint46a_pre, checkpoint45c_post, checkpoint46k_post, checkpoint44e_pre, checkpoint46b_pre, checkpoint44h_post, checkpoint46d_post, ecco-branch-mod2, checkpoint46g_post, checkpoint45a_post, release1-branch_branchpoint, checkpoint46c_pre, checkpoint39, checkpoint46i_post, checkpoint46h_pre, release1_chkpt44d_post, chkpt44c_pre
Branch point for: release1_final, ecco-branch, release1, release1_coupled, release1-branch
Added external forcing package.
Not presently supported by mitgcm, i.e. disabled by default.

1 #include "EXF_CPPOPTIONS.h"
2
3 subroutine exf_set_hfluxa(
4 O hfluxa
5 I , mycurrenttime
6 I , mycurrentiter
7 I , mythid
8 & )
9
10 c ==================================================================
11 c SUBROUTINE exf_set_hfluxa
12 c ==================================================================
13 c
14 c o set external forcing hfluxa
15 c
16 c started: Ralf.Giering@FastOpt.de 25-Mai-2000
17
18 c ==================================================================
19 c SUBROUTINE exf_set_hfluxa
20 c ==================================================================
21
22 implicit none
23
24 c == global variables ==
25
26 #include "EEPARAMS.h"
27 #include "SIZE.h"
28 #include "GRID.h"
29
30 #include "exfa_param.h"
31 #include "exf_constants.h"
32
33 common /exfl_hfluxa_r/ hfluxa0, hfluxa1
34 _RL hfluxa0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
35 _RL hfluxa1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
36
37 c == routine arguments ==
38
39 _RL hfluxa(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
40 _RL mycurrenttime
41 integer mycurrentiter
42 integer mythid
43
44 c == local variables ==
45
46 logical first, changed
47 integer count0, count1
48 _RL fac
49
50 integer bi, bj
51 integer i, j
52
53 c == end of interface ==
54
55 c get record numbers and interpolation factor for hfluxa
56 call exf_GetFFieldRec(
57 I hfluxastartdate, hfluxaperiod
58 O , fac, first, changed
59 O , count0, count1
60 I , mycurrenttime, mycurrentiter, mythid
61 & )
62
63 #ifndef ALLOW_AUTODIFF_TAMC
64 if ( first ) then
65 #endif
66 call mdsreadfield( hfluxafile, exf_iprec, exf_yftype, 1
67 & , hfluxa1, count0, mythid
68 & )
69 if (exf_yftype .eq. 'RL') then
70 call exf_filter_rl( hfluxa1, hfluxamask, mythid )
71 else
72 call exf_filter_rs( hfluxa1, hfluxamask, mythid )
73 end if
74 #ifndef ALLOW_AUTODIFF_TAMC
75 endif
76 #endif
77
78 #ifndef ALLOW_AUTODIFF_TAMC
79 if (( first ) .or. ( changed )) then
80 #endif
81 call exf_SwapFFields( hfluxa0, hfluxa1, mythid )
82
83 call mdsreadfield( hfluxafile, exf_iprec, exf_yftype, 1
84 & , hfluxa1, count1, mythid
85 & )
86 if (exf_yftype .eq. 'RL') then
87 call exf_filter_rl( hfluxa1, hfluxamask, mythid )
88 else
89 call exf_filter_rs( hfluxa1, hfluxamask, mythid )
90 end if
91 #ifndef ALLOW_AUTODIFF_TAMC
92 endif
93 #endif
94
95 c Loop over tiles.
96 do bj = mybylo(mythid),mybyhi(mythid)
97 do bi = mybxlo(mythid),mybxhi(mythid)
98 do j = 1,sny
99 do i = 1,snx
100
101 c Interpolate linearly onto the current time.
102
103 hfluxa(i,j,bi,bj) = fac *hfluxa0(i,j,bi,bj)+
104 & (exf_one - fac) *hfluxa1(i,j,bi,bj)
105
106 enddo
107 enddo
108 enddo
109 enddo
110
111 end
112
113
114
115 subroutine exf_init_hfluxa(
116 I mythid
117 & )
118
119 c ==================================================================
120 c SUBROUTINE exf_init_hfluxa
121 c ==================================================================
122 c
123 c o
124 c
125 c started: Ralf.Giering@FastOpt.de 25-Mai-2000
126 c
127 c ==================================================================
128 c SUBROUTINE exf_init_hfluxa
129 c ==================================================================
130
131 implicit none
132
133 c == global variables ==
134
135 #include "EEPARAMS.h"
136 #include "SIZE.h"
137
138 #include "exfa_param.h"
139
140 common /exfl_hfluxa_r/ hfluxa0, hfluxa1
141 _RL hfluxa0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
142 _RL hfluxa1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
143
144 c == routine arguments ==
145
146 integer mythid
147
148 c == local variables ==
149
150 integer bi, bj
151 integer i, j
152
153 c == end of interface ==
154
155 do bj = mybylo(mythid), mybyhi(mythid)
156 do bi = mybxlo(mythid), mybxhi(mythid)
157 do j = 1, sny
158 do i = 1, snx
159 hfluxa0(i,j,bi,bj) = 0. _d 0
160 hfluxa1(i,j,bi,bj) = 0. _d 0
161 enddo
162 enddo
163 enddo
164 enddo
165
166 end

  ViewVC Help
Powered by ViewVC 1.1.22