source: CONFIG_DEVT/IPSLCM6.5_work_ENSEMBLES/oasis3-mct/doc/doxygen/latex/namespacemod__oasis__part.tex @ 5725

Last change on this file since 5725 was 5725, checked in by aclsce, 3 years ago

Added new oasis3-MCT version to be used to handle ensembles simulations with XIOS.

File size: 12.2 KB
Line 
1\hypertarget{namespacemod__oasis__part}{}\section{mod\+\_\+oasis\+\_\+part Module Reference}
2\label{namespacemod__oasis__part}\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
3
4
5O\+A\+S\+IS partition data and methods. 
6
7
8\subsection*{Data Types}
9\begin{DoxyCompactItemize}
10\item 
11type \hyperlink{structmod__oasis__part_1_1prism__part__type}{prism\+\_\+part\+\_\+type}
12\begin{DoxyCompactList}\small\item\em Partition (decomposition) data for variables. \end{DoxyCompactList}\end{DoxyCompactItemize}
13\subsection*{Functions/\+Subroutines}
14\begin{DoxyCompactItemize}
15\item 
16subroutine, public \hyperlink{namespacemod__oasis__part_af070605328f2b705735d7fbf8b838ff4}{oasis\+\_\+def\+\_\+partition} (id\+\_\+part, kparal, kinfo, ig\+\_\+size, name)
17\begin{DoxyCompactList}\small\item\em The O\+A\+S\+IS user interface to define partitions. \end{DoxyCompactList}\item 
18subroutine, public \hyperlink{namespacemod__oasis__part_a80f66cc0ce5857aa53d070861f05b521}{oasis\+\_\+part\+\_\+setup} ()
19\begin{DoxyCompactList}\small\item\em Synchronize partitions across all tasks, called at oasis enddef. \end{DoxyCompactList}\item 
20subroutine \hyperlink{namespacemod__oasis__part_a17c747bc29d25b558df42524bd63ac90}{oasis\+\_\+part\+\_\+zero} (s\+\_\+prism\+\_\+part)
21\begin{DoxyCompactList}\small\item\em Zero partition information. \end{DoxyCompactList}\item 
22subroutine \hyperlink{namespacemod__oasis__part_a12edb4b0248a3f562fe5f6e16eede06a}{oasis\+\_\+part\+\_\+write} (s\+\_\+prism\+\_\+part, npart)
23\begin{DoxyCompactList}\small\item\em Print parition information. \end{DoxyCompactList}\item 
24subroutine, public \hyperlink{namespacemod__oasis__part_aacc20c24f42edbef4ec2610bf98aadfc}{oasis\+\_\+part\+\_\+create} (id\+\_\+part, T\+Y\+PE, gsize, nx, ny, gridname, gscomm, mpicom, grid\+ID)
25\begin{DoxyCompactList}\small\item\em Create a new partition internally, needed for mapping. \end{DoxyCompactList}\end{DoxyCompactItemize}
26\subsection*{Variables}
27\begin{DoxyCompactItemize}
28\item 
29integer(kind=ip\+\_\+intwp\+\_\+p), parameter \hyperlink{namespacemod__oasis__part_ab68d087792db0351181c9a97025d793b}{mpart} = 100
30\begin{DoxyCompactList}\small\item\em maximum number of partitions allowed \end{DoxyCompactList}\item 
31integer(kind=ip\+\_\+intwp\+\_\+p), public \hyperlink{namespacemod__oasis__part_ac8340e63b159a9786ad8fffabd1d47f8}{prism\+\_\+npart} = 0
32\begin{DoxyCompactList}\small\item\em number of partitions defined \end{DoxyCompactList}\item 
33type(\hyperlink{structmod__oasis__part_1_1prism__part__type}{prism\+\_\+part\+\_\+type}), dimension(\hyperlink{namespacemod__oasis__part_ab68d087792db0351181c9a97025d793b}{mpart}), public \hyperlink{namespacemod__oasis__part_a326ce52f630ba7e71905af864a6cb2dc}{prism\+\_\+part}
34\begin{DoxyCompactList}\small\item\em list of defined partitions \end{DoxyCompactList}\item 
35integer(kind=ip\+\_\+intwp\+\_\+p) \hyperlink{namespacemod__oasis__part_a8cee930f023feb7bcad4a0cab0b490a1}{part\+\_\+name\+\_\+cnt} = 0
36\begin{DoxyCompactList}\small\item\em used to define partition names internally \end{DoxyCompactList}\end{DoxyCompactItemize}
37
38
39\subsection{Detailed Description}
40O\+A\+S\+IS partition data and methods.
41
42\subsection{Function/\+Subroutine Documentation}
43\mbox{\Hypertarget{namespacemod__oasis__part_af070605328f2b705735d7fbf8b838ff4}\label{namespacemod__oasis__part_af070605328f2b705735d7fbf8b838ff4}} 
44\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}!oasis\+\_\+def\+\_\+partition@{oasis\+\_\+def\+\_\+partition}}
45\index{oasis\+\_\+def\+\_\+partition@{oasis\+\_\+def\+\_\+partition}!mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
46\subsubsection{\texorpdfstring{oasis\+\_\+def\+\_\+partition()}{oasis\_def\_partition()}}
47{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+part\+::oasis\+\_\+def\+\_\+partition (\begin{DoxyParamCaption}\item[{integer(kind=ip\+\_\+intwp\+\_\+p), intent(out)}]{id\+\_\+part,  }\item[{integer(kind=ip\+\_\+intwp\+\_\+p), dimension(\+:), intent(in)}]{kparal,  }\item[{integer(kind=ip\+\_\+intwp\+\_\+p), intent(out), optional}]{kinfo,  }\item[{integer(kind=ip\+\_\+intwp\+\_\+p), intent(in), optional}]{ig\+\_\+size,  }\item[{character(len=$\ast$), intent(in), optional}]{name }\end{DoxyParamCaption})}
48
49
50
51The O\+A\+S\+IS user interface to define partitions.
52
53
54\begin{DoxyParams}[1]{Parameters}
55\mbox{\tt out}  & {\em id\+\_\+part} & partition id\\
56\hline
57\mbox{\tt in}  & {\em kparal} & decomposition information\\
58\hline
59\mbox{\tt out}  & {\em kinfo} & return code\\
60\hline
61\mbox{\tt in}  & {\em ig\+\_\+size} & total size of partition\\
62\hline
63\mbox{\tt in}  & {\em name} & name of partition \\
64\hline
65\end{DoxyParams}
66
67\begin{DoxyItemize}
68\item Increment partition number and store user values
69\end{DoxyItemize}
70
71Definition at line 60 of file mod\+\_\+oasis\+\_\+part.\+F90.
72
73\mbox{\Hypertarget{namespacemod__oasis__part_aacc20c24f42edbef4ec2610bf98aadfc}\label{namespacemod__oasis__part_aacc20c24f42edbef4ec2610bf98aadfc}} 
74\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}!oasis\+\_\+part\+\_\+create@{oasis\+\_\+part\+\_\+create}}
75\index{oasis\+\_\+part\+\_\+create@{oasis\+\_\+part\+\_\+create}!mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
76\subsubsection{\texorpdfstring{oasis\+\_\+part\+\_\+create()}{oasis\_part\_create()}}
77{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+part\+::oasis\+\_\+part\+\_\+create (\begin{DoxyParamCaption}\item[{integer(ip\+\_\+i4\+\_\+p), intent(out)}]{id\+\_\+part,  }\item[{character(len=$\ast$), intent(in)}]{T\+Y\+PE,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{gsize,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{nx,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{ny,  }\item[{character(len=$\ast$), intent(in)}]{gridname,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{gscomm,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{mpicom,  }\item[{integer(ip\+\_\+i4\+\_\+p), dimension(\+:), optional}]{grid\+ID }\end{DoxyParamCaption})}
78
79
80
81Create a new partition internally, needed for mapping.
82
83
84\begin{DoxyParams}[1]{Parameters}
85\mbox{\tt out}  & {\em id\+\_\+part} & partition id\\
86\hline
87\mbox{\tt in}  & {\em type} & type of decomposition specified\\
88\hline
89\mbox{\tt in}  & {\em gsize} & global size of grid\\
90\hline
91\mbox{\tt in}  & {\em nx} & global nx size\\
92\hline
93\mbox{\tt in}  & {\em ny} & global ny size\\
94\hline
95\mbox{\tt in}  & {\em gridname} & grid name\\
96\hline
97\mbox{\tt in}  & {\em gscomm} & global seg map communicator\\
98\hline
99\mbox{\tt in}  & {\em mpicom} & local mpi comm\\
100\hline
101 & {\em gridid} & gridcell ID \\
102\hline
103\end{DoxyParams}
104
105\begin{DoxyItemize}
106\item Check if an existing gsmap can be reused
107\item Check that all tasks agree and if so, return with that partition id
108\item Instantiate a decomposition based on gsize and type
109\begin{DoxyItemize}
110\item Create a new partition and set values
111\item Initialize the partition gsmap and pgsmap
112\end{DoxyItemize}
113\end{DoxyItemize}
114
115Definition at line 444 of file mod\+\_\+oasis\+\_\+part.\+F90.
116
117\mbox{\Hypertarget{namespacemod__oasis__part_a80f66cc0ce5857aa53d070861f05b521}\label{namespacemod__oasis__part_a80f66cc0ce5857aa53d070861f05b521}} 
118\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}!oasis\+\_\+part\+\_\+setup@{oasis\+\_\+part\+\_\+setup}}
119\index{oasis\+\_\+part\+\_\+setup@{oasis\+\_\+part\+\_\+setup}!mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
120\subsubsection{\texorpdfstring{oasis\+\_\+part\+\_\+setup()}{oasis\_part\_setup()}}
121{\footnotesize\ttfamily subroutine, public mod\+\_\+oasis\+\_\+part\+::oasis\+\_\+part\+\_\+setup (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
122
123
124
125Synchronize partitions across all tasks, called at oasis enddef.
126
127
128\begin{DoxyItemize}
129\item Generate reduced partname list
130\item Define all partitions on all tasks
131\item Convert kparal information to data for the gsmap
132\item Initialize the local gsmap and partition gsmap
133\end{DoxyItemize}
134
135Definition at line 142 of file mod\+\_\+oasis\+\_\+part.\+F90.
136
137\mbox{\Hypertarget{namespacemod__oasis__part_a12edb4b0248a3f562fe5f6e16eede06a}\label{namespacemod__oasis__part_a12edb4b0248a3f562fe5f6e16eede06a}} 
138\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}!oasis\+\_\+part\+\_\+write@{oasis\+\_\+part\+\_\+write}}
139\index{oasis\+\_\+part\+\_\+write@{oasis\+\_\+part\+\_\+write}!mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
140\subsubsection{\texorpdfstring{oasis\+\_\+part\+\_\+write()}{oasis\_part\_write()}}
141{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+part\+::oasis\+\_\+part\+\_\+write (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmod__oasis__part_1_1prism__part__type}{prism\+\_\+part\+\_\+type}), intent(in)}]{s\+\_\+prism\+\_\+part,  }\item[{integer(ip\+\_\+i4\+\_\+p), intent(in)}]{npart }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
142
143
144
145Print parition information.
146
147
148
149Definition at line 390 of file mod\+\_\+oasis\+\_\+part.\+F90.
150
151\mbox{\Hypertarget{namespacemod__oasis__part_a17c747bc29d25b558df42524bd63ac90}\label{namespacemod__oasis__part_a17c747bc29d25b558df42524bd63ac90}} 
152\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}!oasis\+\_\+part\+\_\+zero@{oasis\+\_\+part\+\_\+zero}}
153\index{oasis\+\_\+part\+\_\+zero@{oasis\+\_\+part\+\_\+zero}!mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
154\subsubsection{\texorpdfstring{oasis\+\_\+part\+\_\+zero()}{oasis\_part\_zero()}}
155{\footnotesize\ttfamily subroutine mod\+\_\+oasis\+\_\+part\+::oasis\+\_\+part\+\_\+zero (\begin{DoxyParamCaption}\item[{type(\hyperlink{structmod__oasis__part_1_1prism__part__type}{prism\+\_\+part\+\_\+type}), intent(inout)}]{s\+\_\+prism\+\_\+part }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
156
157
158
159Zero partition information.
160
161
162
163Definition at line 361 of file mod\+\_\+oasis\+\_\+part.\+F90.
164
165
166
167\subsection{Variable Documentation}
168\mbox{\Hypertarget{namespacemod__oasis__part_ab68d087792db0351181c9a97025d793b}\label{namespacemod__oasis__part_ab68d087792db0351181c9a97025d793b}} 
169\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}!mpart@{mpart}}
170\index{mpart@{mpart}!mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
171\subsubsection{\texorpdfstring{mpart}{mpart}}
172{\footnotesize\ttfamily integer(kind=ip\+\_\+intwp\+\_\+p), parameter mod\+\_\+oasis\+\_\+part\+::mpart = 100\hspace{0.3cm}{\ttfamily [private]}}
173
174
175
176maximum number of partitions allowed
177
178
179
180Definition at line 26 of file mod\+\_\+oasis\+\_\+part.\+F90.
181
182\mbox{\Hypertarget{namespacemod__oasis__part_a8cee930f023feb7bcad4a0cab0b490a1}\label{namespacemod__oasis__part_a8cee930f023feb7bcad4a0cab0b490a1}} 
183\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}!part\+\_\+name\+\_\+cnt@{part\+\_\+name\+\_\+cnt}}
184\index{part\+\_\+name\+\_\+cnt@{part\+\_\+name\+\_\+cnt}!mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
185\subsubsection{\texorpdfstring{part\+\_\+name\+\_\+cnt}{part\_name\_cnt}}
186{\footnotesize\ttfamily integer(kind=ip\+\_\+intwp\+\_\+p) mod\+\_\+oasis\+\_\+part\+::part\+\_\+name\+\_\+cnt = 0\hspace{0.3cm}{\ttfamily [private]}}
187
188
189
190used to define partition names internally
191
192
193
194Definition at line 51 of file mod\+\_\+oasis\+\_\+part.\+F90.
195
196\mbox{\Hypertarget{namespacemod__oasis__part_ac8340e63b159a9786ad8fffabd1d47f8}\label{namespacemod__oasis__part_ac8340e63b159a9786ad8fffabd1d47f8}} 
197\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}!prism\+\_\+npart@{prism\+\_\+npart}}
198\index{prism\+\_\+npart@{prism\+\_\+npart}!mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
199\subsubsection{\texorpdfstring{prism\+\_\+npart}{prism\_npart}}
200{\footnotesize\ttfamily integer(kind=ip\+\_\+intwp\+\_\+p), public mod\+\_\+oasis\+\_\+part\+::prism\+\_\+npart = 0}
201
202
203
204number of partitions defined
205
206
207
208Definition at line 46 of file mod\+\_\+oasis\+\_\+part.\+F90.
209
210\mbox{\Hypertarget{namespacemod__oasis__part_a326ce52f630ba7e71905af864a6cb2dc}\label{namespacemod__oasis__part_a326ce52f630ba7e71905af864a6cb2dc}} 
211\index{mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}!prism\+\_\+part@{prism\+\_\+part}}
212\index{prism\+\_\+part@{prism\+\_\+part}!mod\+\_\+oasis\+\_\+part@{mod\+\_\+oasis\+\_\+part}}
213\subsubsection{\texorpdfstring{prism\+\_\+part}{prism\_part}}
214{\footnotesize\ttfamily type(\hyperlink{structmod__oasis__part_1_1prism__part__type}{prism\+\_\+part\+\_\+type}), dimension(\hyperlink{namespacemod__oasis__part_ab68d087792db0351181c9a97025d793b}{mpart}), public mod\+\_\+oasis\+\_\+part\+::prism\+\_\+part}
215
216
217
218list of defined partitions
219
220
221
222Definition at line 47 of file mod\+\_\+oasis\+\_\+part.\+F90.
223
Note: See TracBrowser for help on using the repository browser.