/[MITgcm]/MITgcm/pkg/ctrl/ctrl_map_forcing.F
ViewVC logotype

Annotation of /MITgcm/pkg/ctrl/ctrl_map_forcing.F

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


Revision 1.4 - (hide annotations) (download)
Fri Sep 28 15:15:53 2001 UTC (22 years, 8 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint47e_post, checkpoint44e_post, checkpoint46l_post, checkpoint46g_pre, checkpoint47c_post, release1_p13_pre, checkpoint46f_post, checkpoint44f_post, checkpoint46b_post, checkpoint43a-release1mods, release1_p13, checkpoint46l_pre, chkpt44d_post, release1_p8, release1_p9, release1_p1, release1_p2, release1_p3, release1_p4, release1_p5, release1_p6, release1_p7, checkpoint44e_pre, release1_b1, checkpoint43, checkpoint47d_pre, release1_chkpt44d_post, checkpoint47a_post, checkpoint47i_post, checkpoint47d_post, icebear5, icebear4, icebear3, icebear2, checkpoint46d_pre, release1-branch_tutorials, checkpoint45d_post, checkpoint46j_pre, chkpt44a_post, checkpoint44h_pre, checkpoint46a_post, checkpoint47g_post, checkpoint46j_post, checkpoint46k_post, chkpt44c_pre, checkpoint45a_post, ecco_c44_e19, ecco_c44_e18, ecco_c44_e17, ecco_c44_e16, release1_p12, release1_p10, release1_p11, release1_p16, release1_p17, release1_p14, release1_p15, branch-exfmods-tag, checkpoint44g_post, checkpoint46e_pre, checkpoint45b_post, checkpoint46b_pre, release1-branch-end, release1_final_v1, checkpoint46c_pre, checkpoint46, checkpoint47b_post, checkpoint44b_post, checkpoint46h_pre, checkpoint46m_post, checkpoint46a_pre, checkpoint45c_post, ecco_ice2, ecco_ice1, checkpoint44h_post, checkpoint46g_post, release1_p12_pre, ecco_c44_e22, ecco_c44_e25, checkpoint47f_post, chkpt44a_pre, checkpoint46i_post, ecco_c44_e23, ecco_c44_e20, ecco_c44_e21, ecco_c44_e26, ecco_c44_e27, ecco_c44_e24, checkpoint46c_post, ecco-branch-mod1, ecco-branch-mod2, ecco-branch-mod3, ecco-branch-mod4, ecco-branch-mod5, checkpoint46e_post, release1_beta1, checkpoint44b_pre, checkpoint47, checkpoint44, checkpoint45, checkpoint46h_post, chkpt44c_post, checkpoint47h_post, checkpoint44f_pre, checkpoint46d_post, release1-branch_branchpoint
Branch point for: c24_e25_ice, branch-exfmods-curt, release1_final, release1-branch, release1, ecco-branch, release1_50yr, icebear, release1_coupled
Changes since 1.3: +17 -6 lines
Adding basic comments to ctrl package.

1 heimbach 1.1
2     #include "CTRL_CPPOPTIONS.h"
3    
4 heimbach 1.4 CBOP
5     C !ROUTINE: ctrl_map_ini
6     C !INTERFACE:
7 heimbach 1.1 SUBROUTINE CTRL_MAP_FORCING(myThid)
8 heimbach 1.4
9     C !DESCRIPTION: \bv
10     c *=================================================================
11     c | SUBROUTINE CTRL_MAP_FORCING
12     c | Add the surface flux anomalies of the control vector
13     c | to the model flux fields and update the tile halos.
14     c | The control vector is defined in the header file "ctrl.h".
15     c *=================================================================
16     C \ev
17    
18     C !USES:
19 heimbach 1.1 IMPLICIT NONE
20    
21     C == Global variables ===
22     #include "SIZE.h"
23     #include "EEPARAMS.h"
24     #include "PARAMS.h"
25     #include "FFIELDS.h"
26 heimbach 1.3 #include "DYNVARS.h"
27 heimbach 1.1 #include "GRID.h"
28     #include "ctrl.h"
29     #include "ctrl_dummy.h"
30 heimbach 1.2 #include "optim.h"
31 heimbach 1.1
32 heimbach 1.4 C !INPUT/OUTPUT PARAMETERS:
33 heimbach 1.1 C == Routine arguments ==
34     C myThid - Thread number for this instance of the routine.
35     INTEGER myThid
36    
37 heimbach 1.4 C !LOCAL VARIABLES:
38 heimbach 1.1 C == Local variables ==
39     integer bi,bj
40     integer i,j,k
41     integer itlo,ithi
42     integer jtlo,jthi
43     integer jmin,jmax
44     integer imin,imax
45     integer il
46    
47     logical equal
48     logical doglobalread
49     logical ladinit
50    
51     character*( 80) fnametauu
52     character*( 80) fnametauv
53     character*( 80) fnamesflux
54     character*( 80) fnamehflux
55     character*( 80) fnamesss
56     character*( 80) fnamesst
57    
58     c == external ==
59     integer ilnblnk
60     external ilnblnk
61    
62     c == end of interface ==
63 heimbach 1.4 CEOP
64 heimbach 1.1
65     jtlo = mybylo(mythid)
66     jthi = mybyhi(mythid)
67     itlo = mybxlo(mythid)
68     ithi = mybxhi(mythid)
69     jmin = 1-oly
70     jmax = sny+oly
71     imin = 1-olx
72     imax = snx+olx
73    
74     doglobalread = .false.
75     ladinit = .false.
76    
77     #ifdef ALLOW_TAUU0_CONTROL
78     c-- tauu0.
79     il=ilnblnk( xx_tauu_file )
80     write(fnametauu(1:80),'(2a,i10.10)')
81     & xx_tauu_file(1:il),'.',optimcycle
82     call active_read_xy ( fnametauu, tmpfld2d, 1,
83     & doglobalread, ladinit, optimcycle,
84     & mythid, xx_tauu_dummy )
85     do bj = jtlo,jthi
86     do bi = itlo,ithi
87     do j = jmin,jmax
88     do i = imin,imax
89     fu(i,j,bi,bj) = fu(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
90     enddo
91     enddo
92     enddo
93     enddo
94     #endif
95    
96     #ifdef ALLOW_TAUV0_CONTROL
97     c-- tauv0.
98     il=ilnblnk( xx_tauv_file )
99     write(fnametauv(1:80),'(2a,i10.10)')
100     & xx_tauv_file(1:il),'.',optimcycle
101     call active_read_xy ( fnametauv, tmpfld2d, 1,
102     & doglobalread, ladinit, optimcycle,
103     & mythid, xx_tauv_dummy )
104     do bj = jtlo,jthi
105     do bi = itlo,ithi
106     do j = jmin,jmax
107     do i = imin,imax
108     fv(i,j,bi,bj) = fv(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
109     enddo
110     enddo
111     enddo
112     enddo
113     #endif
114    
115     #ifdef ALLOW_SFLUX0_CONTROL
116     c-- sflux0.
117     il=ilnblnk( xx_sflux_file )
118     write(fnamesflux(1:80),'(2a,i10.10)')
119     & xx_sflux_file(1:il),'.',optimcycle
120     call active_read_xy ( fnamesflux, tmpfld2d, 1,
121     & doglobalread, ladinit, optimcycle,
122     & mythid, xx_sflux_dummy )
123     do bj = jtlo,jthi
124     do bi = itlo,ithi
125     do j = jmin,jmax
126     do i = imin,imax
127     empmr(i,j,bi,bj) = empmr(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
128     enddo
129     enddo
130     enddo
131     enddo
132     #endif
133    
134     #ifdef ALLOW_HFLUX0_CONTROL
135     c-- hflux0.
136     il=ilnblnk( xx_hflux_file )
137     write(fnamehflux(1:80),'(2a,i10.10)')
138     & xx_hflux_file(1:il),'.',optimcycle
139     call active_read_xy ( fnamehflux, tmpfld2d, 1,
140     & doglobalread, ladinit, optimcycle,
141     & mythid, xx_hflux_dummy )
142     do bj = jtlo,jthi
143     do bi = itlo,ithi
144     do j = jmin,jmax
145     do i = imin,imax
146     qnet(i,j,bi,bj) = qnet(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
147     enddo
148     enddo
149     enddo
150     enddo
151     #endif
152    
153     #ifdef ALLOW_SSS0_CONTROL
154     c-- sss0.
155     il=ilnblnk( xx_sss_file )
156     write(fnamesss(1:80),'(2a,i10.10)')
157     & xx_sss_file(1:il),'.',optimcycle
158     call active_read_xy ( fnamesss, tmpfld2d, 1,
159     & doglobalread, ladinit, optimcycle,
160     & mythid, xx_sss_dummy )
161     do bj = jtlo,jthi
162     do bi = itlo,ithi
163     do j = jmin,jmax
164     do i = imin,imax
165     sss(i,j,bi,bj) = sss(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
166     enddo
167     enddo
168     enddo
169     enddo
170     #endif
171    
172     #ifdef ALLOW_SST0_CONTROL
173     c-- sst0.
174     il=ilnblnk( xx_sst_file )
175     write(fnamesst(1:80),'(2a,i10.10)')
176     & xx_sst_file(1:il),'.',optimcycle
177     call active_read_xy ( fnamesst, tmpfld2d, 1,
178     & doglobalread, ladinit, optimcycle,
179     & mythid, xx_sst_dummy )
180     do bj = jtlo,jthi
181     do bi = itlo,ithi
182     do j = jmin,jmax
183     do i = imin,imax
184     sst(i,j,bi,bj) = sst(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
185     enddo
186     enddo
187     enddo
188     enddo
189     #endif
190    
191     END

  ViewVC Help
Powered by ViewVC 1.1.22