source: CPL/oasis3-mct_5.0/doc/doxygen/latex/namespacemod__oasis__method.tex @ 6328

Last change on this file since 6328 was 6328, checked in by aclsce, 17 months ago

First import of oasis3-mct_5.0 (from oasis git server, branch OASIS3-MCT_5.0)

File size: 9.6 KB
Line 
1\hypertarget{namespacemod__oasis__method}{}\section{mod\+\_\+oasis\+\_\+method Module Reference}
2\label{namespacemod__oasis__method}\index{mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}}
3
4
5High level O\+A\+S\+IS user interfaces. 
6
7
8\subsection*{Functions/\+Subroutines}
9\begin{DoxyCompactItemize}
10\item 
11subroutine, public \hyperlink{namespacemod__oasis__method_ad266b77f6e75f2d150c80374a841a43c}{oasis\+\_\+init\+\_\+comp} (mynummod, cdnam, kinfo, coupled, commworld)
12\begin{DoxyCompactList}\small\item\em O\+A\+S\+IS user init method. \end{DoxyCompactList}\item 
13subroutine, public \hyperlink{namespacemod__oasis__method_a4fb881336906c9452b6a9f250af9c3d7}{oasis\+\_\+terminate} (kinfo)
14\begin{DoxyCompactList}\small\item\em O\+A\+S\+IS user finalize method. \end{DoxyCompactList}\item 
15subroutine, public \hyperlink{namespacemod__oasis__method_a093552f9f9895ac79a5fefa043fc5881}{oasis\+\_\+enddef} (kinfo)
16\begin{DoxyCompactList}\small\item\em O\+A\+S\+IS user interface specifying the O\+A\+S\+IS definition phase is complete. \end{DoxyCompactList}\item 
17subroutine \hyperlink{namespacemod__oasis__method_a13d6e469ea14642a2e1e6cb807d9b7de}{mod\+\_\+oasis\+\_\+setrootglobal} ()
18\begin{DoxyCompactList}\small\item\em Local method to compute each models\textquotesingle{} global task ids, exists for reuse in enddef. \end{DoxyCompactList}\end{DoxyCompactItemize}
19\subsection*{Variables}
20\begin{DoxyCompactItemize}
21\item 
22integer(kind=ip\+\_\+intwp\+\_\+p), parameter \hyperlink{namespacemod__oasis__method_a390290b92b6af57b2732cb7521532f1c}{debug} =1
23\item 
24logical \hyperlink{namespacemod__oasis__method_a405af91a0535e4ce70d55513bb4c3867}{lg\+\_\+mpiflag}
25\item 
26integer(kind=ip\+\_\+intwp\+\_\+p) \hyperlink{namespacemod__oasis__method_aff65fa61d2762374419fe4c44c0f9282}{mpi\+\_\+comm\+\_\+global\+\_\+world}
27\end{DoxyCompactItemize}
28
29
30\subsection{Detailed Description}
31High level O\+A\+S\+IS user interfaces.
32
33\subsection{Function/\+Subroutine Documentation}
34\mbox{\Hypertarget{namespacemod__oasis__method_a13d6e469ea14642a2e1e6cb807d9b7de}\label{namespacemod__oasis__method_a13d6e469ea14642a2e1e6cb807d9b7de}} 
35\index{mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}!mod\+\_\+oasis\+\_\+setrootglobal@{mod\+\_\+oasis\+\_\+setrootglobal}}
36\index{mod\+\_\+oasis\+\_\+setrootglobal@{mod\+\_\+oasis\+\_\+setrootglobal}!mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}}
37\subsubsection{\texorpdfstring{mod\+\_\+oasis\+\_\+setrootglobal()}{mod\_oasis\_setrootglobal()}}
38{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+method\+::mod\+\_\+oasis\+\_\+setrootglobal (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
39
40
41
42Local method to compute each models\textquotesingle{} global task ids, exists for reuse in enddef.
43
44
45
46Definition at line 939 of file mod\+\_\+oasis\+\_\+method.\+F90.
47
48\mbox{\Hypertarget{namespacemod__oasis__method_a093552f9f9895ac79a5fefa043fc5881}\label{namespacemod__oasis__method_a093552f9f9895ac79a5fefa043fc5881}} 
49\index{mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}!oasis\+\_\+enddef@{oasis\+\_\+enddef}}
50\index{oasis\+\_\+enddef@{oasis\+\_\+enddef}!mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}}
51\subsubsection{\texorpdfstring{oasis\+\_\+enddef()}{oasis\_enddef()}}
52{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+method\+::oasis\+\_\+enddef (\begin{DoxyParamCaption}\item[{integer (kind=ip\+\_\+intwp\+\_\+p), intent(inout), optional}]{kinfo }\end{DoxyParamCaption})}
53
54
55
56O\+A\+S\+IS user interface specifying the O\+A\+S\+IS definition phase is complete.
57
58
59\begin{DoxyParams}[1]{Parameters}
60\mbox{\tt in,out}  & {\em kinfo} & return code \\
61\hline
62\end{DoxyParams}
63
64\begin{DoxyItemize}
65\item Check enddef called only once per task
66\item Reset mpi\+\_\+comm\+\_\+global because active tasks might have been excluded
67\item For active tasks only
68\begin{DoxyItemize}
69\item Update mpi\+\_\+comm\+\_\+global
70\item Update mpi\+\_\+root\+\_\+global
71\item Document
72\item Reconcile partitions, call part\+\_\+setup
73\item Reconcile variables, call var\+\_\+setup
74\item Write grid info to files one model at a time
75\item M\+CT Initialization
76\item Initialize coupling via call to coupler\+\_\+setup
77\item Call advance\+\_\+init to initialize coupling fields from restarts
78\end{DoxyItemize}
79\end{DoxyItemize}
80
81Definition at line 730 of file mod\+\_\+oasis\+\_\+method.\+F90.
82
83\mbox{\Hypertarget{namespacemod__oasis__method_ad266b77f6e75f2d150c80374a841a43c}\label{namespacemod__oasis__method_ad266b77f6e75f2d150c80374a841a43c}} 
84\index{mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}!oasis\+\_\+init\+\_\+comp@{oasis\+\_\+init\+\_\+comp}}
85\index{oasis\+\_\+init\+\_\+comp@{oasis\+\_\+init\+\_\+comp}!mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}}
86\subsubsection{\texorpdfstring{oasis\+\_\+init\+\_\+comp()}{oasis\_init\_comp()}}
87{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+method\+::oasis\+\_\+init\+\_\+comp (\begin{DoxyParamCaption}\item[{integer (kind=ip\+\_\+intwp\+\_\+p), intent(out)}]{mynummod,  }\item[{character(len=$\ast$), intent(in)}]{cdnam,  }\item[{integer (kind=ip\+\_\+intwp\+\_\+p), intent(inout), optional}]{kinfo,  }\item[{logical, intent(in), optional}]{coupled,  }\item[{integer (kind=ip\+\_\+intwp\+\_\+p), intent(in), optional}]{commworld }\end{DoxyParamCaption})}
88
89
90
91O\+A\+S\+IS user init method.
92
93
94\begin{DoxyParams}[1]{Parameters}
95\mbox{\tt out}  & {\em mynummod} & $\ast$ This is C\+O\+L\+L\+E\+C\+T\+I\+VE, all pes must call\\
96\hline
97\mbox{\tt out}  & {\em mynummod} & component model ID\\
98\hline
99\mbox{\tt in}  & {\em cdnam} & model name\\
100\hline
101\mbox{\tt in,out}  & {\em kinfo} & return code\\
102\hline
103\mbox{\tt in}  & {\em coupled} & flag to specify whether this component is coupled in oasis\\
104\hline
105\mbox{\tt in}  & {\em commworld} & user defined mpi\+\_\+comm\+\_\+world to use in oasis \\
106\hline
107\end{DoxyParams}
108
109\begin{DoxyItemize}
110\item Initialize M\+PI
111\item Set initial output file, need mpi\+\_\+rank\+\_\+world
112\item Initialize namcouple. First on rank 0 to write error messages then on all other ranks. All tasks will read the namcouple file independently.
113\item Check if N\+F\+I\+E\+L\+DS=0, there is no coupling.
114\item Determine the total number of coupling fields from namcouple. Set maxvar parameter and allocate prism\+\_\+var.
115\item Store all the names of the fields exchanged in the namcouple
116\item Gather model names from all tasks to generate active model list on all tasks.
117\item Broadcast the model list to all M\+PI tasks
118\item Compute compid
119\item Re-\/\+Set M\+PI info based on active model tasks
120\item Reset debug levels
121\item Open log files
122\item Set mpi\+\_\+root\+\_\+global
123\item Memory Initialization
124\item Timer Initialization
125\item Diagnostics
126\end{DoxyItemize}
127
128Definition at line 46 of file mod\+\_\+oasis\+\_\+method.\+F90.
129
130\mbox{\Hypertarget{namespacemod__oasis__method_a4fb881336906c9452b6a9f250af9c3d7}\label{namespacemod__oasis__method_a4fb881336906c9452b6a9f250af9c3d7}} 
131\index{mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}!oasis\+\_\+terminate@{oasis\+\_\+terminate}}
132\index{oasis\+\_\+terminate@{oasis\+\_\+terminate}!mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}}
133\subsubsection{\texorpdfstring{oasis\+\_\+terminate()}{oasis\_terminate()}}
134{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+method\+::oasis\+\_\+terminate (\begin{DoxyParamCaption}\item[{integer (kind=ip\+\_\+intwp\+\_\+p), intent(inout), optional}]{kinfo }\end{DoxyParamCaption})}
135
136
137
138O\+A\+S\+IS user finalize method.
139
140
141\begin{DoxyParams}[1]{Parameters}
142\mbox{\tt in,out}  & {\em kinfo} & return code \\
143\hline
144\end{DoxyParams}
145
146\begin{DoxyItemize}
147\item Print timer information
148\item Call M\+PI finalize
149\item Write S\+U\+C\+C\+E\+S\+S\+F\+UL R\+UN
150\end{DoxyItemize}
151
152Definition at line 663 of file mod\+\_\+oasis\+\_\+method.\+F90.
153
154
155
156\subsection{Variable Documentation}
157\mbox{\Hypertarget{namespacemod__oasis__method_a390290b92b6af57b2732cb7521532f1c}\label{namespacemod__oasis__method_a390290b92b6af57b2732cb7521532f1c}} 
158\index{mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}!debug@{debug}}
159\index{debug@{debug}!mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}}
160\subsubsection{\texorpdfstring{debug}{debug}}
161{\footnotesize\ttfamily integer(kind=ip\+\_\+intwp\+\_\+p), parameter mod\+\_\+oasis\+\_\+method\+::debug =1\hspace{0.3cm}{\ttfamily [private]}}
162
163
164
165Definition at line 34 of file mod\+\_\+oasis\+\_\+method.\+F90.
166
167\mbox{\Hypertarget{namespacemod__oasis__method_a405af91a0535e4ce70d55513bb4c3867}\label{namespacemod__oasis__method_a405af91a0535e4ce70d55513bb4c3867}} 
168\index{mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}!lg\+\_\+mpiflag@{lg\+\_\+mpiflag}}
169\index{lg\+\_\+mpiflag@{lg\+\_\+mpiflag}!mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}}
170\subsubsection{\texorpdfstring{lg\+\_\+mpiflag}{lg\_mpiflag}}
171{\footnotesize\ttfamily logical mod\+\_\+oasis\+\_\+method\+::lg\+\_\+mpiflag\hspace{0.3cm}{\ttfamily [private]}}
172
173
174
175Definition at line 36 of file mod\+\_\+oasis\+\_\+method.\+F90.
176
177\mbox{\Hypertarget{namespacemod__oasis__method_aff65fa61d2762374419fe4c44c0f9282}\label{namespacemod__oasis__method_aff65fa61d2762374419fe4c44c0f9282}} 
178\index{mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}!mpi\+\_\+comm\+\_\+global\+\_\+world@{mpi\+\_\+comm\+\_\+global\+\_\+world}}
179\index{mpi\+\_\+comm\+\_\+global\+\_\+world@{mpi\+\_\+comm\+\_\+global\+\_\+world}!mod\+\_\+oasis\+\_\+method@{mod\+\_\+oasis\+\_\+method}}
180\subsubsection{\texorpdfstring{mpi\+\_\+comm\+\_\+global\+\_\+world}{mpi\_comm\_global\_world}}
181{\footnotesize\ttfamily integer(kind=ip\+\_\+intwp\+\_\+p) mod\+\_\+oasis\+\_\+method\+::mpi\+\_\+comm\+\_\+global\+\_\+world\hspace{0.3cm}{\ttfamily [private]}}
182
183
184
185Definition at line 37 of file mod\+\_\+oasis\+\_\+method.\+F90.
186
Note: See TracBrowser for help on using the repository browser.