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

Annotation of /MITgcm/pkg/exf/exf_getobcs.F

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


Revision 1.3 - (hide annotations) (download)
Thu Feb 7 20:00:09 2002 UTC (22 years, 3 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint44b_post, checkpoint44h_pre, checkpoint46j_post, checkpoint46i_post, checkpoint44f_pre, checkpoint46f_post, checkpoint46d_pre, checkpoint46e_post, checkpoint46c_post, checkpoint44g_post, checkpoint46h_pre, checkpoint44h_post, checkpoint44e_post, checkpoint46k_post, checkpoint46e_pre, checkpoint45d_post, checkpoint46j_pre, checkpoint45b_post, checkpoint46b_pre, checkpoint46l_post, release1_final_v1, checkpoint46, checkpoint44f_post, checkpoint46l_pre, chkpt44d_post, checkpoint46g_pre, checkpoint46a_post, checkpoint46m_post, checkpoint46a_pre, checkpoint45c_post, checkpoint44e_pre, checkpoint46b_post, checkpoint46d_post, checkpoint46g_post, checkpoint45a_post, checkpoint46c_pre, checkpoint45, checkpoint46h_post, chkpt44c_pre, chkpt44c_post
Branch point for: release1_final
Changes since 1.2: +65 -19 lines
o merge of relevant stuff from the ecco-branch:
  - genmake: removed $S64 overwrite for case SunOS
  - pkg/exf: update and corrections for field swapping and obcs
  - pkg/ecco: parameter lists for the_model_main, the_main_loop
              harmonized between ECCO and MITgcm
  - pkg/autodiff: added flow directives for obcs, mdsio_gl_slice
                  updated checkpointing_lev... lists for obcs
  - model/src: minor changes in forward_step, plot_field
               added directive for divided adjoint in the_main_loop
  - pkg/mdsio: added mdsio_gl_slice

1 heimbach 1.1 #include "EXF_CPPOPTIONS.h"
2    
3     subroutine exf_getobcs ( mycurrenttime
4     I , mycurrentiter
5     I , mythid
6     & )
7    
8     c ==================================================================
9     c SUBROUTINE exf_getobcs
10     c ==================================================================
11     c
12     c o set open boundary conditions
13     c
14     c started: heimbach@mit.edu 01-May-2001
15    
16     c ==================================================================
17     c SUBROUTINE exf_getobcs
18     c ==================================================================
19    
20     implicit none
21    
22     c == global variables ==
23    
24     #include "EEPARAMS.h"
25     #include "SIZE.h"
26     #include "GRID.h"
27 heimbach 1.2 #ifdef ALLOW_OBCS
28 heimbach 1.1 #include "OBCS.h"
29 heimbach 1.2 #endif
30 heimbach 1.1 #include "exf_param.h"
31    
32     c == routine arguments ==
33    
34     _RL mycurrenttime
35     integer mycurrentiter
36     integer mythid
37    
38     #ifdef ALLOW_OBCS
39    
40     c == local variables ==
41    
42     logical first, changed
43     integer count0, count1
44     _RL fac
45    
46     c == end of interface ==
47    
48 heimbach 1.3 #ifdef ALLOW_OBCS_NORTH
49 heimbach 1.1 call exf_getffieldrec(
50 heimbach 1.3 I obcsNstartdate, obcsNperiod
51 heimbach 1.1 O , fac, first, changed, count0, count1
52     I , mycurrenttime, mycurrentiter, mythid
53     & )
54    
55 heimbach 1.3 call exf_set_obcs_xz( OBNu, OBNufile, 'u'
56 heimbach 1.1 I , fac, first, changed, count0, count1
57     I , mycurrenttime, mycurrentiter, mythid )
58 heimbach 1.3 call exf_set_obcs_xz( OBNv, OBNvfile, 'v'
59 heimbach 1.1 I , fac, first, changed, count0, count1
60     I , mycurrenttime, mycurrentiter, mythid )
61 heimbach 1.3 call exf_set_obcs_xz( OBNt, OBNtfile, 's'
62 heimbach 1.1 I , fac, first, changed, count0, count1
63     I , mycurrenttime, mycurrentiter, mythid )
64 heimbach 1.3 call exf_set_obcs_xz( OBNs, OBNsfile, 's'
65 heimbach 1.1 I , fac, first, changed, count0, count1
66     I , mycurrenttime, mycurrentiter, mythid )
67 heimbach 1.3 #endif
68    
69     #ifdef ALLOW_OBCS_SOUTH
70     call exf_getffieldrec(
71     I obcsSstartdate, obcsSperiod
72     O , fac, first, changed, count0, count1
73     I , mycurrenttime, mycurrentiter, mythid
74     & )
75    
76     call exf_set_obcs_xz( OBSu, OBSufile, 'u'
77 heimbach 1.1 I , fac, first, changed, count0, count1
78     I , mycurrenttime, mycurrentiter, mythid )
79 heimbach 1.3 call exf_set_obcs_xz( OBSv, OBSvfile, 'v'
80 heimbach 1.1 I , fac, first, changed, count0, count1
81     I , mycurrenttime, mycurrentiter, mythid )
82 heimbach 1.3 call exf_set_obcs_xz( OBSt, OBStfile, 's'
83 heimbach 1.1 I , fac, first, changed, count0, count1
84     I , mycurrenttime, mycurrentiter, mythid )
85 heimbach 1.3 call exf_set_obcs_xz( OBSs, OBSsfile, 's'
86 heimbach 1.1 I , fac, first, changed, count0, count1
87     I , mycurrenttime, mycurrentiter, mythid )
88    
89 heimbach 1.3 #endif
90    
91     #ifdef ALLOW_OBCS_EAST
92     call exf_getffieldrec(
93     I obcsEstartdate, obcsEperiod
94     O , fac, first, changed, count0, count1
95     I , mycurrenttime, mycurrentiter, mythid
96     & )
97    
98     call exf_set_obcs_yz( OBEu, OBEufile, 'u'
99 heimbach 1.1 I , fac, first, changed, count0, count1
100     I , mycurrenttime, mycurrentiter, mythid )
101 heimbach 1.3 call exf_set_obcs_yz( OBEv, OBEvfile, 'v'
102 heimbach 1.1 I , fac, first, changed, count0, count1
103     I , mycurrenttime, mycurrentiter, mythid )
104 heimbach 1.3 call exf_set_obcs_yz( OBEt, OBEtfile, 's'
105 heimbach 1.1 I , fac, first, changed, count0, count1
106     I , mycurrenttime, mycurrentiter, mythid )
107 heimbach 1.3 call exf_set_obcs_yz( OBEs, OBEsfile, 's'
108 heimbach 1.1 I , fac, first, changed, count0, count1
109     I , mycurrenttime, mycurrentiter, mythid )
110 heimbach 1.3
111     #endif
112    
113     #ifdef ALLOW_OBCS_WEST
114     call exf_getffieldrec(
115     I obcsWstartdate, obcsWperiod
116     O , fac, first, changed, count0, count1
117     I , mycurrenttime, mycurrentiter, mythid
118     & )
119    
120     call exf_set_obcs_yz( OBWu, OBWufile, 'u'
121 heimbach 1.1 I , fac, first, changed, count0, count1
122     I , mycurrenttime, mycurrentiter, mythid )
123 heimbach 1.3 call exf_set_obcs_yz( OBWv, OBWvfile, 'v'
124 heimbach 1.1 I , fac, first, changed, count0, count1
125     I , mycurrenttime, mycurrentiter, mythid )
126 heimbach 1.3 call exf_set_obcs_yz( OBWt, OBWtfile, 's'
127 heimbach 1.1 I , fac, first, changed, count0, count1
128     I , mycurrenttime, mycurrentiter, mythid )
129 heimbach 1.3 call exf_set_obcs_yz( OBWs, OBWsfile, 's'
130 heimbach 1.1 I , fac, first, changed, count0, count1
131     I , mycurrenttime, mycurrentiter, mythid )
132    
133     #endif
134 heimbach 1.3
135     #ifdef ALLOW_OBCSN_CONTROL
136     call ctrl_getobcsn ( mycurrenttime, mycurrentiter, mythid )
137     #endif
138    
139     #ifdef ALLOW_OBCSS_CONTROL
140     call ctrl_getobcss ( mycurrenttime, mycurrentiter, mythid )
141     #endif
142    
143     #ifdef ALLOW_OBCSW_CONTROL
144     call ctrl_getobcsw ( mycurrenttime, mycurrentiter, mythid )
145     #endif
146    
147     #ifdef ALLOW_OBCSE_CONTROL
148     call ctrl_getobcse ( mycurrenttime, mycurrentiter, mythid )
149     #endif
150    
151    
152     #endif /* ALLOW_OBCS */
153 heimbach 1.1
154     end
155    

  ViewVC Help
Powered by ViewVC 1.1.22