\hypertarget{namespacetee__mpi__module}{}\section{tee\+\_\+mpi\+\_\+module Module Reference}
\label{namespacetee__mpi__module}\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_a721db618e32d67de07f6f4f66b6c982f}{tee\+\_\+mpi\+\_\+initial} (i, j, k, l, m, n, xmin, xmax, ymin, ymax, zmin, zmax)
\item 
real(8) function, dimension(0\+:km, jc(ip), 0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_a52a5cee2f559f39a28411da9604f7da8}{zvx\+\_\+tef} (tef)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a54324533c479d17a2e8f8a95efa68878}{tef\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:km, jc(ip), 0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_aaca0feffea494ce509d0f113b0f0bc49}{zvx\+\_\+zef} (zef)
\item 
real(8) function, dimension(0\+:km,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_abf59e4f08f088a4c0f056834f970134f}{zef\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:km,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a06ad93ca4c582c44f42833ca914a0418}{zef\+\_\+tef} (tef)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_af7ef55a3fd909c7ea5e103fcfdc0ef02}{tef\+\_\+zef} (zef)
\item 
real(8) function, dimension(2 $\ast$lc(ip) $\ast$(2 $\ast$mm+1), 0\+:km), public \hyperlink{namespacetee__mpi__module_a9e855ab5ed84fc4eaa6347726ff7cf8f}{e2z\+\_\+e2t} (e2t)
\item 
real(8) function, dimension(2 $\ast$lc(ip) $\ast$(2 $\ast$mm+1), 0\+:nm), public \hyperlink{namespacetee__mpi__module_acd65d82097c87b2b7988fa8fd4d89299}{e2t\+\_\+e2z} (e2z)
\item 
real(8) function, dimension(2 $\ast$lc(ip) $\ast$(2 $\ast$mm+1), size(aef, 1)), public \hyperlink{namespacetee__mpi__module_a101bf6ae11f6a3c29fc8b76872eed75d}{e2a\+\_\+aef} (aef)
\item 
real(8) function, dimension(size(e2a, 2),-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a67a9c02fc4d5519c53b0a4d82d014540}{aef\+\_\+e2a} (e2a)
\item 
real(8) function, dimension(2 $\ast$lc(ip) $\ast$(2 $\ast$mm+1)), public \hyperlink{namespacetee__mpi__module_a3962c926bf5bad44daa2c3853eacc101}{e2\+\_\+ef} (ef)
\item 
real(8) function, dimension(-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_aa514443e9e95261751550ff96fbd985d}{ef\+\_\+e2} (e2)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_ae6f5dc0cb11ae1e3e76388df42f3e2a0}{tef\+\_\+dx\+\_\+tef} (tef)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_ad77033a27d3502a168173e2cc263f352}{tef\+\_\+dy\+\_\+tef} (tef)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a6251571bd3132fdf10c1da1821f7a1ae}{tef\+\_\+dz\+\_\+tef} (tef)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a4a677eb3c37c7466d7877c140af5a711}{tef\+\_\+lapla\+\_\+tef} (tef)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_ae114a31df4ff3bc1092a499d291a60ce}{tef\+\_\+laplah\+\_\+tef} (tef)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a6a206d68cc731518d9aaf981b786550e}{tef\+\_\+laplahinv\+\_\+tef} (tef)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a6b3b65c5684940b3a7c63c314e8e6d35}{tef\+\_\+div\+\_\+zvx\+\_\+zvx\+\_\+zvx} (zvx\+\_\+\+VX, zvx\+\_\+\+VY, zvx\+\_\+\+VZ)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_aad78314f089dd6938beba71d5bf2a250}{tef\+\_\+laplainvtaudd\+\_\+tef} (tef, new)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_af1de4f561566dfcd7cde063eeb4b41c1}{tef\+\_\+laplainvtaunn\+\_\+tef} (tef, new)
\item 
real(8) function, dimension(0\+:km, jc(ip)), public \hyperlink{namespacetee__mpi__module_a209e0078182023d438d26adf060b677b}{zv\+\_\+intx\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:km, 0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_a1f23022432d98cc0227eef4ac1980a2f}{zx\+\_\+inty\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(jc(ip), 0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_a40dabf919da7038d2fe87abb901579ed}{vx\+\_\+intz\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_a90ecfd143d1dcbec222bf6f3dedd098f}{x\+\_\+intzy\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(jc(ip)), public \hyperlink{namespacetee__mpi__module_af42394b929198083836ed8a667c032e7}{v\+\_\+intzx\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:km), public \hyperlink{namespacetee__mpi__module_a33af793c7b1ae846733d2e1048ccec02}{z\+\_\+intyx\+\_\+zvx} (zvx)
\item 
real(8) function, public \hyperlink{namespacetee__mpi__module_a5b73373a9299e4f0a1e7f7bc47164f79}{intzyx\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:km), public \hyperlink{namespacetee__mpi__module_a01e3dd30cea15bdbb1b9f9e99832a14c}{z\+\_\+inty\+\_\+zv} (zv)
\item 
real(8) function, dimension(jc(ip)), public \hyperlink{namespacetee__mpi__module_af54d00ce30bbf3070eebc76ee0035fa5}{v\+\_\+intz\+\_\+zv} (zv)
\item 
real(8) function, public \hyperlink{namespacetee__mpi__module_ac6e4f77c0216e30bdafb2864cf87a744}{intzy\+\_\+zv} (zv)
\item 
real(8) function, dimension(0\+:km), public \hyperlink{namespacetee__mpi__module_a8a109506ce9f7c394aa4bcf8ff6d3fcd}{z\+\_\+intx\+\_\+zx} (zx)
\item 
real(8) function, dimension(0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_a8c57fc17bf8d438310f55a63b4dd88ce}{x\+\_\+intz\+\_\+zx} (zx)
\item 
real(8) function, public \hyperlink{namespacetee__mpi__module_ad3e4f653a3e8d17d38ea69b4c8bda4c4}{intzx\+\_\+zx} (zx)
\item 
real(8) function, public \hyperlink{namespacetee__mpi__module_af1e64c4cf01ffe960b006b3962402351}{intz\+\_\+z} (z)
\item 
real(8) function, dimension(0\+:km, jc(ip)), public \hyperlink{namespacetee__mpi__module_a5769898702a7ce86971cf1d338b89586}{zv\+\_\+avrx\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:km, 0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_a3116562b3b18e056a51a723f65b88d13}{zx\+\_\+avry\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(jc(ip), 0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_ad9be8fe651663dad54f775310ea923a5}{vx\+\_\+avrz\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_af17c2fb478c6fb4b58b843491b142f22}{x\+\_\+avrzy\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(jc(ip)), public \hyperlink{namespacetee__mpi__module_a14e83d957951f2b6b85a61873f21ac15}{v\+\_\+avrzx\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:km), public \hyperlink{namespacetee__mpi__module_a1923f51eddbb71695f4b7f34f26c5a67}{z\+\_\+avryx\+\_\+zvx} (zvx)
\item 
real(8) function, public \hyperlink{namespacetee__mpi__module_a2c732feabaa08ae5ecd1fcbfa9429fe9}{avrzyx\+\_\+zvx} (zvx)
\item 
real(8) function, dimension(0\+:km), public \hyperlink{namespacetee__mpi__module_a8cdb0fc865622297f57056a2c2d3e32a}{z\+\_\+avry\+\_\+zv} (zv)
\item 
real(8) function, dimension(jc(ip)), public \hyperlink{namespacetee__mpi__module_a5c33da6b58be1d665b26d967d4d0a15d}{v\+\_\+avrz\+\_\+zv} (zv)
\item 
real(8) function, public \hyperlink{namespacetee__mpi__module_a4241a279529f275148bb8b1c098396d5}{avrzy\+\_\+zv} (zv)
\item 
real(8) function, dimension(0\+:km), public \hyperlink{namespacetee__mpi__module_af578a64edb438818163aa034154cac17}{z\+\_\+avrx\+\_\+zx} (zx)
\item 
real(8) function, dimension(0\+:im-\/1), public \hyperlink{namespacetee__mpi__module_a6c4161d4c2b863b81eada9353d1e6a1f}{x\+\_\+avrz\+\_\+zx} (zx)
\item 
real(8) function, public \hyperlink{namespacetee__mpi__module_a739a19e59c4fdbb237f066ce47dea823}{avrzx\+\_\+zx} (zx)
\item 
real(8) function, public \hyperlink{namespacetee__mpi__module_a3cc96ac19561b53e7e7d6f3c9e0cdda9}{avrz\+\_\+z} (z)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a5b05c6ec47b32159945f525e2d0851ca}{tef\+\_\+zrot\+\_\+zvx\+\_\+zvx} (zvx\+\_\+\+VX, zvx\+\_\+\+VY)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_aa1e529d8a3f32002b842060793fe6139}{tef\+\_\+zrotrot\+\_\+zvx\+\_\+zvx\+\_\+zvx} (zvx\+\_\+\+VX, zvx\+\_\+\+VY, zvx\+\_\+\+VZ)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_a0c6ed0fe791de52c0da6bd4e5dd7076c}{tef\+\_\+potential2vector} (zvx\+\_\+\+VX, zvx\+\_\+\+VY, zvx\+\_\+\+VZ, tef\+\_\+\+Torvel, tef\+\_\+\+Polvel)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_a9c04148698561dad325a1495adcdcf90}{tef\+\_\+potential2rotation} (zvx\+\_\+\+Rot\+VX, zvx\+\_\+\+Rot\+VY, zvx\+\_\+\+Rot\+VZ, tef\+\_\+\+Torvel, tef\+\_\+\+Polvel)
\item 
real(8) function, public \hyperlink{namespacetee__mpi__module_a0d89b0102222137f41da295f7a2f58bb}{interpolate\+\_\+tef} (tef\+\_\+data, x, y, z)
\item 
real(8) function, dimension(0\+:km,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a41dc186125d7c456ec1fcdc8c0ff4d43}{zef\+\_\+toroidalenergyspectrum\+\_\+tef} (tef\+\_\+\+T\+O\+R\+P\+OT)
\item 
real(8) function, dimension(0\+:km,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a07ce09ba210e2488db8bf193cf507f73}{zef\+\_\+poloidalenergyspectrum\+\_\+tef} (tef\+\_\+\+P\+O\+L\+P\+OT)
\item 
real(8) function, dimension(0\+:km,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a1197a32c7d5922a182148bebc42dd236}{zef\+\_\+toroidalenstrophyspectrum\+\_\+tef} (tef\+\_\+\+T\+O\+R\+P\+OT)
\item 
real(8) function, dimension(0\+:km,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_adbce92a8746579edd67575735b74c6af}{zef\+\_\+poloidalenstrophyspectrum\+\_\+tef} (tef\+\_\+\+P\+O\+L\+P\+OT)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_aa86a6e150d12f70c8a29434a709f09cd}{tef\+\_\+boundariestau} (tef, values, cond)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_ae86d4572f4852ade438ee75b318c9a5a}{tef\+\_\+boundariesgrid} (tef, values, cond)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_a36db345350bd26a52d95977ced5f04a3}{tef\+\_\+torboundariestau} (tef\+\_\+\+T\+OR, cond, new)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_ad075c56ae5b9df66fbd4c4bb514571d9}{tef\+\_\+torboundariesgrid} (tef\+\_\+\+T\+OR, cond, new)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a054fc610db5481af016c7a602f05cae2}{tef\+\_\+laplapol2poltau\+\_\+tef} (tef, cond, new)
\item 
real(8) function, dimension(0\+:km,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_a241b9eaf571ddaa33cb0c27c93714206}{zef\+\_\+laplapol2pol\+\_\+zef} (zef, cond, new)
\item 
real(8) function, dimension(0\+:nm,-\/mm\+:mm, 2 $\ast$lc(ip)), public \hyperlink{namespacetee__mpi__module_aac5f72224f9b4345169e7a5dadd5a29d}{tef\+\_\+laplapol2polgrid\+\_\+tef} (tef, cond, new)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_a6f48f26f2236d66a3913a542d115bf05}{tef\+\_\+tormagboundariestau} (tef\+\_\+\+T\+OR, new)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_a1b3a97ab7e59029608119c3350dfc142}{tef\+\_\+tormagboundariesgrid} (tef\+\_\+\+T\+OR, new)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_afe89236ac24cbce82d4c8ec89ed2acd4}{tef\+\_\+polmagboundariestau} (tef\+\_\+\+P\+OL, new)
\item 
subroutine, public \hyperlink{namespacetee__mpi__module_aaff971a6757251a734d58873330fb10a}{tef\+\_\+polmagboundariesgrid} (tef\+\_\+\+P\+OL, new)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
real(8), dimension(\+:,\+:,\+:), allocatable, public \hyperlink{namespacetee__mpi__module_a820d2553ae2118a2a39a025cc136fc24}{zvx\+\_\+x}
\item 
real(8), dimension(\+:,\+:,\+:), allocatable, public \hyperlink{namespacetee__mpi__module_a5729f6e6f9e108f18c8754b35502aa93}{zvx\+\_\+y}
\item 
real(8), dimension(\+:,\+:,\+:), allocatable, public \hyperlink{namespacetee__mpi__module_a3c3569c5e0e132e8b50695ea459ed482}{zvx\+\_\+z}
\item 
real(8), dimension(\+:,\+:), allocatable, public \hyperlink{namespacetee__mpi__module_a3bb7df101a081177b0c7472fec2a09aa}{zv\+\_\+z}
\item 
real(8), dimension(\+:,\+:), allocatable, public \hyperlink{namespacetee__mpi__module_a959d7054f1e904711809ce8ffeabe719}{zv\+\_\+y}
\item 
real(8), dimension(\+:,\+:), allocatable, public \hyperlink{namespacetee__mpi__module_a69ed9e0d4fa5bb4278687fe473dd8e83}{zx\+\_\+z}
\item 
real(8), dimension(\+:,\+:), allocatable, public \hyperlink{namespacetee__mpi__module_afa8b07e4515b716bc85c5732cb603e32}{zx\+\_\+x}
\item 
real(8), dimension(\+:,\+:,\+:), allocatable, public \hyperlink{namespacetee__mpi__module_a77c187a6686cb4820f4bd6e44817b786}{zef\+\_\+z}
\item 
real(8), public \hyperlink{namespacetee__mpi__module_aa10b2efdaf38e4c089ec78d8bdf552fb}{tee\+\_\+vmiss} = -\/999.\+0
\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacetee__mpi__module_a67a9c02fc4d5519c53b0a4d82d014540}\label{namespacetee__mpi__module_a67a9c02fc4d5519c53b0a4d82d014540}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!aef\+\_\+e2a@{aef\+\_\+e2a}}
\index{aef\+\_\+e2a@{aef\+\_\+e2a}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{aef\+\_\+e2a()}{aef\_e2a()}}
{\footnotesize\ttfamily real(8) function, dimension(size(e2a,2),-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::aef\+\_\+e2a (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:,\+:), intent(in)}]{e2a }\end{DoxyParamCaption})}



Definition at line 606 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
606       \textcolor{comment}{!}
607       \textcolor{comment}{! 水平スペクトルを転置展開する.}
608       \textcolor{comment}{!}
609       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)},\textcolor{keywordtype}{intent(in)}                 :: e2a
610       \textcolor{comment}{!(in) 1 次元化された水平スペクトル・任意座標データ}
611       \textcolor{comment}{!     dimmension((2*mm*1)*(2*lm*1),:)}
612       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(size(e2a,2),-mm:mm,2*lc(ip))}      :: aef\_e2a
613       \textcolor{comment}{!(out) 任意座標・水平 2 次元スペクトルデータ}
614 
615       \textcolor{keywordtype}{integer} :: j,k,l,m
616 
617       \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(e2a,1) /= (2*mm+1)*2*lc(ip) ) &
618            \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'aef\_e2a'},&
619                               \textcolor{stringliteral}{'1st dimension of input data invalid'})
620 
621       \textcolor{comment}{!aee\_e2a = reshape(transpose(e2a),(/size(e2a,2),2*mm+1,2*lc(ip)/))}
622       \textcolor{comment}{!}
623       \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように書き直す}
624       \textcolor{comment}{!}
625 
626       \textcolor{keywordflow}{do} k=1,\textcolor{keyword}{size}(e2a,2)
627          \textcolor{keywordflow}{do} l=1,2*lc(ip)
628             \textcolor{keywordflow}{do} m=-mm,mm
629                j = (m+mm+1) + (2*mm+1)*(l-1)
630                aef\_e2a(k,m,l) = e2a(j,k)
631 \textcolor{keywordflow}{            enddo}
632 \textcolor{keywordflow}{         enddo}
633 \textcolor{keywordflow}{      enddo}
634 
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a3cc96ac19561b53e7e7d6f3c9e0cdda9}\label{namespacetee__mpi__module_a3cc96ac19561b53e7e7d6f3c9e0cdda9}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!avrz\+\_\+z@{avrz\+\_\+z}}
\index{avrz\+\_\+z@{avrz\+\_\+z}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{avrz\+\_\+z()}{avrz\_z()}}
{\footnotesize\ttfamily real(8) function, public tee\+\_\+mpi\+\_\+module\+::avrz\+\_\+z (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km), intent(in)}]{z }\end{DoxyParamCaption})}



Definition at line 1514 of file tee\+\_\+mpi\+\_\+module.\+f90.



References intz\+\_\+z().


\begin{DoxyCode}
1514       \textcolor{comment}{!}
1515       \textcolor{comment}{! 1 次元(Z)格子点データのZ方向平均.}
1516       \textcolor{comment}{!}
1517       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}, \textcolor{keywordtype}{intent(in)} :: z
1518       \textcolor{comment}{!(in) 1 次元Z格子点データ}
1519       \textcolor{keywordtype}{real(8)}                              :: avrz\_z
1520       \textcolor{comment}{!(out) 平均値}
1521 
1522       avrz\_z = intz\_z(z)/sum(z\_z\_weight)
1523 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a3cc96ac19561b53e7e7d6f3c9e0cdda9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a739a19e59c4fdbb237f066ce47dea823}\label{namespacetee__mpi__module_a739a19e59c4fdbb237f066ce47dea823}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!avrzx\+\_\+zx@{avrzx\+\_\+zx}}
\index{avrzx\+\_\+zx@{avrzx\+\_\+zx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{avrzx\+\_\+zx()}{avrzx\_zx()}}
{\footnotesize\ttfamily real(8) function, public tee\+\_\+mpi\+\_\+module\+::avrzx\+\_\+zx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,0\+:im-\/1), intent(in)}]{zx }\end{DoxyParamCaption})}



Definition at line 1500 of file tee\+\_\+mpi\+\_\+module.\+f90.



References intzx\+\_\+zx(), and ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight.


\begin{DoxyCode}
1500       \textcolor{comment}{!}
1501       \textcolor{comment}{! 2 次元(ZX)格子点データのZX平均}
1502       \textcolor{comment}{!}
1503       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zx
1504       \textcolor{comment}{! (in) 2 次元格子点データ}
1505       \textcolor{keywordtype}{real(8)}                                 :: avrzx\_zx
1506       \textcolor{comment}{! 平均値}
1507 
1508       avrzx\_zx = intzx\_zx(zx)/(sum(x\_x\_weight)*sum(z\_z\_weight))
1509 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a739a19e59c4fdbb237f066ce47dea823_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a4241a279529f275148bb8b1c098396d5}\label{namespacetee__mpi__module_a4241a279529f275148bb8b1c098396d5}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!avrzy\+\_\+zv@{avrzy\+\_\+zv}}
\index{avrzy\+\_\+zv@{avrzy\+\_\+zv}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{avrzy\+\_\+zv()}{avrzy\_zv()}}
{\footnotesize\ttfamily real(8) function, public tee\+\_\+mpi\+\_\+module\+::avrzy\+\_\+zv (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip)), intent(in)}]{zv }\end{DoxyParamCaption})}



Definition at line 1457 of file tee\+\_\+mpi\+\_\+module.\+f90.



References intzy\+\_\+zv().


\begin{DoxyCode}
1457       \textcolor{comment}{!}
1458       \textcolor{comment}{! 2 次元(ZV)格子点データのZV平均}
1459       \textcolor{comment}{!}
1460       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip))}, \textcolor{keywordtype}{intent(in)} :: zv
1461       \textcolor{comment}{!(in) 2 次元ZV(子午面)格子点データ}
1462 
1463       \textcolor{keywordtype}{real(8)}                   :: avrzy\_zv
1464       \textcolor{comment}{!(out) 平均値}
1465 
1466       avrzy\_zv = intzy\_zv(zv)/(yl*zl)
1467 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a4241a279529f275148bb8b1c098396d5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a2c732feabaa08ae5ecd1fcbfa9429fe9}\label{namespacetee__mpi__module_a2c732feabaa08ae5ecd1fcbfa9429fe9}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!avrzyx\+\_\+zvx@{avrzyx\+\_\+zvx}}
\index{avrzyx\+\_\+zvx@{avrzyx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{avrzyx\+\_\+zvx()}{avrzyx\_zvx()}}
{\footnotesize\ttfamily real(8) function, public tee\+\_\+mpi\+\_\+module\+::avrzyx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1414 of file tee\+\_\+mpi\+\_\+module.\+f90.



References intzyx\+\_\+zvx().


\begin{DoxyCode}
1414       \textcolor{comment}{!}
1415       \textcolor{comment}{! 3 次元格子点データのZVX(全領域)積分}
1416       \textcolor{comment}{!}
1417       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1418       \textcolor{comment}{!(in) 3 次元ZVX格子点データ}
1419 
1420       \textcolor{keywordtype}{real(8)}                     :: avrzyx\_zvx
1421       \textcolor{comment}{!(out) 全領域平均値}
1422 
1423       avrzyx\_zvx = intzyx\_zvx(zvx)/(xl*yl*zl)
1424 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a2c732feabaa08ae5ecd1fcbfa9429fe9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a3962c926bf5bad44daa2c3853eacc101}\label{namespacetee__mpi__module_a3962c926bf5bad44daa2c3853eacc101}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!e2\+\_\+ef@{e2\+\_\+ef}}
\index{e2\+\_\+ef@{e2\+\_\+ef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{e2\+\_\+ef()}{e2\_ef()}}
{\footnotesize\ttfamily real(8) function, dimension(2$\ast$lc(ip)$\ast$(2$\ast$mm+1)), public tee\+\_\+mpi\+\_\+module\+::e2\+\_\+ef (\begin{DoxyParamCaption}\item[{real(8), dimension(-\/mm\+:,\+:), intent(in)}]{ef }\end{DoxyParamCaption})}



Definition at line 638 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
638       \textcolor{comment}{!}
639       \textcolor{comment}{! 水平スペクトルを 1 次元化転置する.}
640       \textcolor{comment}{!}
641       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(-mm:,:)}, \textcolor{keywordtype}{intent(in)}        :: ef
642       \textcolor{comment}{!(in) 任意座標・水平 2 次元スペクトルデータ dimension(-mm:mm,2*lc(ip))}
643       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1))}            :: e2\_ef
644       \textcolor{comment}{!(out) 1 次元化された水平スペクトル・任意座標データ}
645 
646       \textcolor{keywordtype}{integer} :: j,l,m
647 
648       \textcolor{comment}{!e2\_ee = reshape(e2a\_aee(reshape(ee,(/1,2*mm+1,2*lc(ip)/))), &}
649       \textcolor{comment}{!                (/lm*(2*mm+1)/))}
650       \textcolor{comment}{!}
651       \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように書き直す}
652       \textcolor{comment}{!}
653 
654       \textcolor{keywordflow}{do} l=1,2*lc(ip)
655          \textcolor{keywordflow}{do} m=-mm,mm
656             j = (m+mm+1)+ (2*mm+1)*(l-1)
657             e2\_ef(j) = ef(m,l)
658 \textcolor{keywordflow}{         enddo}
659 \textcolor{keywordflow}{      enddo}
660 
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a101bf6ae11f6a3c29fc8b76872eed75d}\label{namespacetee__mpi__module_a101bf6ae11f6a3c29fc8b76872eed75d}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!e2a\+\_\+aef@{e2a\+\_\+aef}}
\index{e2a\+\_\+aef@{e2a\+\_\+aef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{e2a\+\_\+aef()}{e2a\_aef()}}
{\footnotesize\ttfamily real(8) function, dimension(2$\ast$lc(ip)$\ast$(2$\ast$mm+1),size(aef,1)), public tee\+\_\+mpi\+\_\+module\+::e2a\+\_\+aef (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:,-\/mm\+:,\+:), intent(in)}]{aef }\end{DoxyParamCaption})}



Definition at line 572 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
572       \textcolor{comment}{!}
573       \textcolor{comment}{! 水平スペクトルを 1 次元化転置する.}
574       \textcolor{comment}{!}
575       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,-mm:,:)}, \textcolor{keywordtype}{intent(in)}        :: aef
576       \textcolor{comment}{!(in) 任意座標・水平 2 次元スペクトルデータ dimension(:,-mm:mm,2*lc(ip))}
577       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),size(aef,1))}  :: e2a\_aef
578       \textcolor{comment}{!(out) 1 次元化された水平スペクトル・任意座標データ}
579 
580       \textcolor{keywordtype}{integer} :: j,k,l,m
581 
582       \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(aef,2) /= 2*mm+1 ) &
583            \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'e2a\_aef'},&
584                               \textcolor{stringliteral}{'2nd dimension of input data invalid'})
585       \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(aef,3) /= 2*lc(ip) ) &
586            \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'e2a\_aef'},&
587                               \textcolor{stringliteral}{'3rd dimension of input data invalid'})
588 
589       \textcolor{comment}{!e2a\_aee = transpose(reshape(aee,(/size(aee,1),2*lc(ip)*(2*mm+1)/)))}
590       \textcolor{comment}{!}
591       \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように書き直す}
592       \textcolor{comment}{!}
593 
594       \textcolor{keywordflow}{do} k=1,\textcolor{keyword}{size}(aef,1)
595          \textcolor{keywordflow}{do} l=1,2*lc(ip)
596             \textcolor{keywordflow}{do} m=-mm,mm
597                j = (m+mm+1) + (2*mm+1)*(l-1)
598                e2a\_aef(j,k) = aef(k,m,l)
599 \textcolor{keywordflow}{            enddo}
600 \textcolor{keywordflow}{         enddo}
601 \textcolor{keywordflow}{      enddo}
602 
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_acd65d82097c87b2b7988fa8fd4d89299}\label{namespacetee__mpi__module_acd65d82097c87b2b7988fa8fd4d89299}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!e2t\+\_\+e2z@{e2t\+\_\+e2z}}
\index{e2t\+\_\+e2z@{e2t\+\_\+e2z}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{e2t\+\_\+e2z()}{e2t\_e2z()}}
{\footnotesize\ttfamily real(8) function, dimension(2$\ast$lc(ip)$\ast$(2$\ast$mm+1),0\+:nm), public tee\+\_\+mpi\+\_\+module\+::e2t\+\_\+e2z (\begin{DoxyParamCaption}\item[{real(8), dimension(2$\ast$lc(ip)$\ast$(2$\ast$mm+1),0\+:km)}]{e2z }\end{DoxyParamCaption})}



Definition at line 559 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
559       \textcolor{comment}{!}
560       \textcolor{comment}{! 鉛直格子点をスペクトルに変換する}
561       \textcolor{comment}{!}
562       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)}  :: e2z
563       \textcolor{comment}{!(in)  1 次元化された水平スペクトル・鉛直格子座標}
564       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)}  :: e2t\_e2z
565       \textcolor{comment}{!(out) 1 次元化された水平スペクトル・鉛直スペクトル}
566 
567       e2t\_e2z = at\_az(e2z)
568 
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a9e855ab5ed84fc4eaa6347726ff7cf8f}\label{namespacetee__mpi__module_a9e855ab5ed84fc4eaa6347726ff7cf8f}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!e2z\+\_\+e2t@{e2z\+\_\+e2t}}
\index{e2z\+\_\+e2t@{e2z\+\_\+e2t}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{e2z\+\_\+e2t()}{e2z\_e2t()}}
{\footnotesize\ttfamily real(8) function, dimension(2$\ast$lc(ip)$\ast$(2$\ast$mm+1),0\+:km), public tee\+\_\+mpi\+\_\+module\+::e2z\+\_\+e2t (\begin{DoxyParamCaption}\item[{real(8), dimension(2$\ast$lc(ip)$\ast$(2$\ast$mm+1),0\+:nm)}]{e2t }\end{DoxyParamCaption})}



Definition at line 546 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
546       \textcolor{comment}{!}
547       \textcolor{comment}{! 鉛直スペクトルを格子点に変換する}
548       \textcolor{comment}{!}
549       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)}  :: e2t
550       \textcolor{comment}{!(in)  1 次元化された水平スペクトル・鉛直スペクトル}
551       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)}  :: e2z\_e2t
552       \textcolor{comment}{!(out) 1 次元化された水平スペクトル・鉛直格子座標}
553 
554       e2z\_e2t = az\_at(e2t)
555 
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_aa514443e9e95261751550ff96fbd985d}\label{namespacetee__mpi__module_aa514443e9e95261751550ff96fbd985d}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!ef\+\_\+e2@{ef\+\_\+e2}}
\index{ef\+\_\+e2@{ef\+\_\+e2}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{ef\+\_\+e2()}{ef\_e2()}}
{\footnotesize\ttfamily real(8) function, dimension(-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::ef\+\_\+e2 (\begin{DoxyParamCaption}\item[{real(8), dimension(\+:), intent(in)}]{e2 }\end{DoxyParamCaption})}



Definition at line 664 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
664       \textcolor{comment}{!}
665       \textcolor{comment}{! 水平スペクトルを転置展開する.}
666       \textcolor{comment}{!}
667       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:)},\textcolor{keywordtype}{intent(in)}                   :: e2
668       \textcolor{comment}{!(in) 1 次元化された水平スペクトル・任意座標データ}
669       \textcolor{comment}{!     dimmension((2*mm*1)*2*lc(ip),:)}
670       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(-mm:mm,2*lc(ip))}                  :: ef\_e2
671       \textcolor{comment}{!(out) 任意座標・水平 2 次元スペクトルデータ}
672 
673       \textcolor{keywordtype}{integer} :: j,l,m
674 
675       \textcolor{comment}{!ee\_e2 = reshape(aee\_e2a(reshape(e2,(/(2*mm+1)*2*lc(ip),1/))), &}
676       \textcolor{comment}{!                (/2*mm+1,2*lc(ip)/))}
677       \textcolor{comment}{!}
678       \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように書き直す}
679       \textcolor{comment}{!}
680 
681       \textcolor{keywordflow}{do} l=1,2*lc(ip)
682          \textcolor{keywordflow}{do} m=-mm,mm
683             j = (m+mm+1) + (2*mm+1)*(l-1)
684             ef\_e2(m,l) = e2(j)
685 \textcolor{keywordflow}{         enddo}
686 \textcolor{keywordflow}{      enddo}
687 
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a0d89b0102222137f41da295f7a2f58bb}\label{namespacetee__mpi__module_a0d89b0102222137f41da295f7a2f58bb}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!interpolate\+\_\+tef@{interpolate\+\_\+tef}}
\index{interpolate\+\_\+tef@{interpolate\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{interpolate\+\_\+tef()}{interpolate\_tef()}}
{\footnotesize\ttfamily real(8) function, public tee\+\_\+mpi\+\_\+module\+::interpolate\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef\+\_\+data,  }\item[{real(8), intent(in)}]{x,  }\item[{real(8), intent(in)}]{y,  }\item[{real(8), intent(in)}]{z }\end{DoxyParamCaption})}



Definition at line 1746 of file tee\+\_\+mpi\+\_\+module.\+f90.



References at\+\_\+module\+::a\+\_\+interpolate\+\_\+at(), e2a\+\_\+aef(), ef\+\_\+e2(), and ee\+\_\+mpi\+\_\+module\+::interpolate\+\_\+ef().


\begin{DoxyCode}
1746       \textcolor{comment}{!}
1747       \textcolor{comment}{! (x,y,z) における関数値を}
1748       \textcolor{comment}{! そのスペクトル係数 tef\_data から補間計算する}
1749       \textcolor{comment}{!}
1750       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(IN)} :: tef\_data(0:nm,-mm:mm,2*lc(ip))\textcolor{comment}{! スペクトルデータ}
1751       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(IN)} :: x                             \textcolor{comment}{! 補間する位置(X)}
1752       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(IN)} :: y                             \textcolor{comment}{! 補間する位置(Y)}
1753       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{intent(IN)} :: z                             \textcolor{comment}{! 補間する位置(Z)}
1754       \textcolor{keywordtype}{real(8)} :: interpolate\_tef                           \textcolor{comment}{! 補間した値}
1755 
1756       interpolate\_tef = &
1757            interpolate\_ef(ef\_e2(a\_interpolate\_at(e2a\_aef(tef\_data),z)),x,y)
1758 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a0d89b0102222137f41da295f7a2f58bb_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_af1e64c4cf01ffe960b006b3962402351}\label{namespacetee__mpi__module_af1e64c4cf01ffe960b006b3962402351}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!intz\+\_\+z@{intz\+\_\+z}}
\index{intz\+\_\+z@{intz\+\_\+z}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{intz\+\_\+z()}{intz\_z()}}
{\footnotesize\ttfamily real(8) function, public tee\+\_\+mpi\+\_\+module\+::intz\+\_\+z (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km), intent(in)}]{z }\end{DoxyParamCaption})}



Definition at line 1309 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
1309       \textcolor{comment}{!}
1310       \textcolor{comment}{! 1 次元(Z)格子点データのZ方向積分.}
1311       \textcolor{comment}{!}
1312       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}, \textcolor{keywordtype}{intent(in)} :: z
1313       \textcolor{comment}{!(in) 1 次元Z格子点データ}
1314 
1315       \textcolor{keywordtype}{real(8)}                              :: intz\_z
1316       \textcolor{comment}{!(out) 積分値}
1317 
1318       \textcolor{keywordtype}{integer} :: k
1319 
1320       intz\_z = 0.0d0
1321       \textcolor{keywordflow}{do} k=0,km
1322          intz\_z = intz\_z + z(k) * z\_z\_weight(k)
1323 \textcolor{keywordflow}{      enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_ad3e4f653a3e8d17d38ea69b4c8bda4c4}\label{namespacetee__mpi__module_ad3e4f653a3e8d17d38ea69b4c8bda4c4}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!intzx\+\_\+zx@{intzx\+\_\+zx}}
\index{intzx\+\_\+zx@{intzx\+\_\+zx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{intzx\+\_\+zx()}{intzx\_zx()}}
{\footnotesize\ttfamily real(8) function, public tee\+\_\+mpi\+\_\+module\+::intzx\+\_\+zx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,0\+:im-\/1), intent(in)}]{zx }\end{DoxyParamCaption})}



Definition at line 1287 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight.


\begin{DoxyCode}
1287       \textcolor{comment}{!}
1288       \textcolor{comment}{! 2 次元(ZX)格子点データのZX積分}
1289       \textcolor{comment}{!}
1290       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zx
1291       \textcolor{comment}{!(in) 2 次元ZV格子点データ}
1292 
1293       \textcolor{keywordtype}{real(8)}                                 :: intzx\_zx
1294       \textcolor{comment}{!(out) 積分値}
1295 
1296       \textcolor{keywordtype}{integer} :: i, k
1297 
1298       intzx\_zx = 0
1299       \textcolor{keywordflow}{do} i=0,im-1
1300          \textcolor{keywordflow}{do} k=0,km
1301             intzx\_zx = intzx\_zx &
1302                  + zx(k,i) * x\_x\_weight(i) * z\_z\_weight(k)
1303 \textcolor{keywordflow}{         enddo}
1304 \textcolor{keywordflow}{      enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_ac6e4f77c0216e30bdafb2864cf87a744}\label{namespacetee__mpi__module_ac6e4f77c0216e30bdafb2864cf87a744}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!intzy\+\_\+zv@{intzy\+\_\+zv}}
\index{intzy\+\_\+zv@{intzy\+\_\+zv}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{intzy\+\_\+zv()}{intzy\_zv()}}
{\footnotesize\ttfamily real(8) function, public tee\+\_\+mpi\+\_\+module\+::intzy\+\_\+zv (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip)), intent(in)}]{zv }\end{DoxyParamCaption})}



Definition at line 1221 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::jc, and ee\+\_\+mpi\+\_\+module\+::v\+\_\+y\+\_\+weight.


\begin{DoxyCode}
1221       \textcolor{comment}{!}
1222       \textcolor{comment}{! 2 次元(ZV)格子点データのZV積分}
1223       \textcolor{comment}{!}
1224       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip))}, \textcolor{keywordtype}{intent(in)} :: zv
1225       \textcolor{comment}{!(in) 2 次元ZV(子午面)格子点データ}
1226 
1227       \textcolor{keywordtype}{real(8)}                   :: intzy\_zv
1228       \textcolor{comment}{!(out) 積分値}
1229 
1230       \textcolor{keywordtype}{real(8)} :: intzytmp
1231       \textcolor{keywordtype}{integer} :: j, k, ierr
1232 
1233       intzytmp = 0
1234       \textcolor{keywordflow}{do} j=1,jc(ip)
1235          \textcolor{keywordflow}{do} k=0,km
1236             intzytmp = intzytmp &
1237                  + zv(k,j) * v\_y\_weight(j) * z\_z\_weight(k)
1238 \textcolor{keywordflow}{         enddo}
1239 \textcolor{keywordflow}{      enddo}
1240 
1241       \textcolor{keyword}{CALL }mpi\_allreduce(intzytmp,intzy\_zv,1,mpi\_real8, &
1242                          mpi\_sum,mpi\_comm\_world,ierr)
1243       
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a5b73373a9299e4f0a1e7f7bc47164f79}\label{namespacetee__mpi__module_a5b73373a9299e4f0a1e7f7bc47164f79}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!intzyx\+\_\+zvx@{intzyx\+\_\+zvx}}
\index{intzyx\+\_\+zvx@{intzyx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{intzyx\+\_\+zvx()}{intzyx\_zvx()}}
{\footnotesize\ttfamily real(8) function, public tee\+\_\+mpi\+\_\+module\+::intzyx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1149 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::jc, ee\+\_\+mpi\+\_\+module\+::v\+\_\+y\+\_\+weight, and ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight.


\begin{DoxyCode}
1149       \textcolor{comment}{!}
1150       \textcolor{comment}{! 3 次元格子点データのZVX(全領域)積分}
1151       \textcolor{comment}{!}
1152       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1153       \textcolor{comment}{!(in) 3 次元格子点データ}
1154 
1155       \textcolor{keywordtype}{real(8)}                     :: intzyx\_zvx
1156       \textcolor{comment}{!(out) 全領域積分値}
1157 
1158       \textcolor{keywordtype}{real(8)}                     :: intzyxtmp
1159       \textcolor{keywordtype}{integer} :: i, j, k, ierr
1160 
1161       intzyxtmp = 0
1162       \textcolor{keywordflow}{do} i=0,im-1
1163          \textcolor{keywordflow}{do} j=1,jc(ip)
1164             \textcolor{keywordflow}{do} k=0,km
1165                intzyxtmp = intzyxtmp &
1166                     + zvx(k,j,i) * x\_x\_weight(i) &
1167                          * v\_y\_weight(j) * z\_z\_weight(k)
1168 \textcolor{keywordflow}{            enddo}
1169 \textcolor{keywordflow}{         enddo}
1170 \textcolor{keywordflow}{      enddo}
1171       
1172       \textcolor{keyword}{CALL }mpi\_allreduce(intzyxtmp,intzyx\_zvx,1,mpi\_real8, &
1173                          mpi\_sum,mpi\_comm\_world,ierr)
1174       
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a721db618e32d67de07f6f4f66b6c982f}\label{namespacetee__mpi__module_a721db618e32d67de07f6f4f66b6c982f}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tee\+\_\+mpi\+\_\+initial@{tee\+\_\+mpi\+\_\+initial}}
\index{tee\+\_\+mpi\+\_\+initial@{tee\+\_\+mpi\+\_\+initial}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tee\+\_\+mpi\+\_\+initial()}{tee\_mpi\_initial()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tee\+\_\+mpi\+\_\+initial (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{i,  }\item[{integer, intent(in)}]{j,  }\item[{integer, intent(in)}]{k,  }\item[{integer, intent(in)}]{l,  }\item[{integer, intent(in)}]{m,  }\item[{integer, intent(in)}]{n,  }\item[{real(8), intent(in)}]{xmin,  }\item[{real(8), intent(in)}]{xmax,  }\item[{real(8), intent(in)}]{ymin,  }\item[{real(8), intent(in)}]{ymax,  }\item[{real(8), intent(in)}]{zmin,  }\item[{real(8), intent(in)}]{zmax }\end{DoxyParamCaption})}



Definition at line 383 of file tee\+\_\+mpi\+\_\+module.\+f90.



References at\+\_\+module\+::at\+\_\+initial(), ee\+\_\+mpi\+\_\+module\+::ee\+\_\+mpi\+\_\+initial(), ee\+\_\+mpi\+\_\+module\+::jc, ee\+\_\+mpi\+\_\+module\+::v\+\_\+y, ee\+\_\+mpi\+\_\+module\+::vx\+\_\+x, ee\+\_\+mpi\+\_\+module\+::vx\+\_\+y, ee\+\_\+mpi\+\_\+module\+::x\+\_\+x, zef\+\_\+z, zv\+\_\+y, zv\+\_\+z, zvx\+\_\+x, zvx\+\_\+y, zvx\+\_\+z, zx\+\_\+x, and zx\+\_\+z.


\begin{DoxyCode}
383      \textcolor{comment}{!}
384      \textcolor{comment}{! スペクトル変換の格子点数, 波数, 各座標の範囲を設定する.}
385      \textcolor{comment}{!}
386      \textcolor{comment}{! 他の関数を呼ぶ前に, 最初にこのサブルーチンを呼んで初期設定を}
387      \textcolor{comment}{! しなければならない.}
388      \textcolor{comment}{!}
389      \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: i              \textcolor{comment}{! 格子点数(水平X)}
390      \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: j              \textcolor{comment}{! 格子点数(水平Y)}
391      \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: k              \textcolor{comment}{! 格子点数(鉛直Z)}
392      \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: l              \textcolor{comment}{! 切断波数(水平X波数)}
393      \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: m              \textcolor{comment}{! 切断波数(水平Y波数)}
394      \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: n              \textcolor{comment}{! 切断波数(鉛直Z波数)}
395 
396      \textcolor{keywordtype}{real(8)},\textcolor{keywordtype}{intent(in)} :: xmin, xmax     \textcolor{comment}{! X 方向領域}
397      \textcolor{keywordtype}{real(8)},\textcolor{keywordtype}{intent(in)} :: ymin, ymax     \textcolor{comment}{! Y 方向領域}
398      \textcolor{keywordtype}{real(8)},\textcolor{keywordtype}{intent(in)} :: zmin, zmax     \textcolor{comment}{! Z 方向領域}
399 
400      \textcolor{keywordtype}{integer} :: ierr     
401 
402      im = i  ; jm = j ; km = k
403      lm = l  ; mm = m ; nm = n
404      xl = xmax - xmin
405      yl = ymax - ymin
406      zl = zmax - zmin
407 
408      \textcolor{keyword}{CALL }mpi\_comm\_rank(mpi\_comm\_world,ip,ierr)
409  
410      \textcolor{keyword}{call }ee\_mpi\_initial(im,jm,lm,mm,xmin,xmax,ymin,ymax)
411 
412      \textcolor{keyword}{call }at\_initial(km,nm,zmin,zmax)
413 
414      \textcolor{keyword}{allocate}(zvx\_x(0:km,jc(ip),0:im-1))
415      \textcolor{keyword}{allocate}(zvx\_y(0:km,jc(ip),0:im-1))
416      \textcolor{keyword}{allocate}(zvx\_z(0:km,jc(ip),0:im-1))
417 
418      \textcolor{keyword}{allocate}(zv\_z(0:km,jc(ip)))
419      \textcolor{keyword}{allocate}(zv\_y(0:km,jc(ip)))
420      \textcolor{keyword}{allocate}(zx\_z(0:km,0:im-1))
421      \textcolor{keyword}{allocate}(zx\_x(0:km,0:im-1))
422 
423      \textcolor{keyword}{allocate}(zef\_z(0:km,-mm:mm,2*lc(ip)))
424 
425      zvx\_x = spread(vx\_x,1,km+1)
426      zvx\_y = spread(vx\_y,1,km+1)
427      zvx\_z = spread(spread(z\_z,2,jc(ip)),3,im)
428 
429      zv\_z = spread(z\_z,2,jc(ip))
430      zv\_y = spread(v\_y,1,km+1)
431      zx\_z = spread(z\_z,2,im)
432      zx\_x = spread(x\_x,1,km+1)
433 
434      zef\_z = spread(spread(z\_z,2,2*mm+1),3,2*lc(ip))
435 
436      \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'tee\_mpi\_initial'}, &
437           \textcolor{stringliteral}{'tee\_mpi\_module (2022/03/29) is initialized'})
438 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=345pt]{namespacetee__mpi__module_a721db618e32d67de07f6f4f66b6c982f_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_ae86d4572f4852ade438ee75b318c9a5a}\label{namespacetee__mpi__module_ae86d4572f4852ade438ee75b318c9a5a}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+boundariesgrid@{tef\+\_\+boundariesgrid}}
\index{tef\+\_\+boundariesgrid@{tef\+\_\+boundariesgrid}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+boundariesgrid()}{tef\_boundariesgrid()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+boundariesgrid (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(inout)}]{tef,  }\item[{real(8), dimension(2,-\/mm\+:mm,2$\ast$lc(ip)), intent(in), optional}]{values,  }\item[{character(len=2), intent(in), optional}]{cond }\end{DoxyParamCaption})}



Definition at line 2069 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), and e2a\+\_\+aef().


\begin{DoxyCode}
2069       \textcolor{comment}{!}
2070       \textcolor{comment}{! スペクトルデータにディリクレ・ノイマン境界条件を適用する}
2071       \textcolor{comment}{! 実空間での境界条件適用}
2072       \textcolor{comment}{!}
2073       \textcolor{comment}{! 鉛直実格子点空間において内部領域の値と境界条件を満たすように}
2074       \textcolor{comment}{! 条件を課している(選点法). このルーチンを用いるためには}
2075       \textcolor{comment}{! tef\_Initial にて設定するチェビシェフ切断波数(nm)と鉛直格子点数(km)を}
2076       \textcolor{comment}{! 等しくしておく必要がある.}
2077       \textcolor{comment}{!}
2078       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(inout)}      :: tef
2079               \textcolor{comment}{!(inout) 境界条件を適用するデータ. 修正された値を返す.}
2080 
2081       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: values
2082               \textcolor{comment}{!(in) 境界での 値/勾配 分布を水平スペクトル変換したものを与える.}
2083               \textcolor{comment}{!     省略時は値/勾配 0 となる.}
2084 
2085       \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}             :: cond
2086               \textcolor{comment}{!(in) 境界条件. 省略時は 'DD'}
2087               \textcolor{comment}{!        DD : 両端ディリクレ条件}
2088               \textcolor{comment}{!        DN : 上端ディリクレ, 下端ノイマン条件}
2089               \textcolor{comment}{!        ND : 上端ノイマン, 下端ディリクレ条件}
2090               \textcolor{comment}{!        NN : 両端ノイマン条件}
2091 
2092       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)}         :: e2t
2093 
2094       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),2)}            :: e22\_values
2095       \textcolor{keywordtype}{character(len=2)}                                   :: bcond
2096 
2097       e2t = e2a\_aef(tef)
2098 
2099       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2100          e22\_values = e2a\_aef(values)
2101 \textcolor{keywordflow}{      endif}
2102 
2103       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(cond)) \textcolor{keywordflow}{then}
2104          bcond = \textcolor{stringliteral}{'DD'}
2105       \textcolor{keywordflow}{else}
2106          bcond = cond
2107 \textcolor{keywordflow}{      endif}
2108 
2109       \textcolor{keywordflow}{select case}(bcond)
2110       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'NN'})
2111          \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2112             \textcolor{keyword}{call }at\_boundariesgrid\_nn(e2t,e22\_values)
2113          \textcolor{keywordflow}{else}
2114             \textcolor{keyword}{call }at\_boundariesgrid\_nn(e2t)
2115 \textcolor{keywordflow}{         endif}
2116       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'DN'})
2117          \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2118             \textcolor{keyword}{call }at\_boundariesgrid\_dn(e2t,e22\_values)
2119          \textcolor{keywordflow}{else}
2120             \textcolor{keyword}{call }at\_boundariesgrid\_dn(e2t)
2121 \textcolor{keywordflow}{         endif}
2122       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'ND'})
2123          \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2124             \textcolor{keyword}{call }at\_boundariesgrid\_nd(e2t,e22\_values)
2125          \textcolor{keywordflow}{else}
2126             \textcolor{keyword}{call }at\_boundariesgrid\_nd(e2t)
2127 \textcolor{keywordflow}{         endif}
2128       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'DD'})
2129          \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2130             \textcolor{keyword}{call }at\_boundariesgrid\_dd(e2t,e22\_values)
2131          \textcolor{keywordflow}{else}
2132             \textcolor{keyword}{call }at\_boundariesgrid\_dd(e2t)
2133 \textcolor{keywordflow}{         endif}
2134 \textcolor{keywordflow}{      case default}
2135          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_BoundariesGrid'},\textcolor{stringliteral}{'B.C. not supported'})
2136 \textcolor{keywordflow}{      end select}
2137 
2138       tef = aef\_e2a(e2t)
2139 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=349pt]{namespacetee__mpi__module_ae86d4572f4852ade438ee75b318c9a5a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_aa86a6e150d12f70c8a29434a709f09cd}\label{namespacetee__mpi__module_aa86a6e150d12f70c8a29434a709f09cd}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+boundariestau@{tef\+\_\+boundariestau}}
\index{tef\+\_\+boundariestau@{tef\+\_\+boundariestau}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+boundariestau()}{tef\_boundariestau()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+boundariestau (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(inout)}]{tef,  }\item[{real(8), dimension(2,-\/mm\+:mm,2$\ast$lc(ip)), intent(in), optional}]{values,  }\item[{character(len=2), intent(in), optional}]{cond }\end{DoxyParamCaption})}



Definition at line 1997 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), and e2a\+\_\+aef().


\begin{DoxyCode}
1997       \textcolor{comment}{!}
1998       \textcolor{comment}{! スペクトルデータにディリクレ・ノイマン境界条件を適用する}
1999       \textcolor{comment}{! Chebyshev 空間での境界条件適用(タウ法)}
2000       \textcolor{comment}{!}
2001       \textcolor{comment}{! チェビシェフ空間において境界条件を満たすべく高次の係数を}
2002       \textcolor{comment}{! 定める方法をとっている(タウ法).}
2003       \textcolor{comment}{!}
2004       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(inout)}      :: tef
2005               \textcolor{comment}{!(inout) 境界条件を適用するデータ. 修正された値を返す.}
2006 
2007       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: values
2008               \textcolor{comment}{!(in) 境界での 値/勾配 分布を水平スペクトル変換したものを与える.}
2009               \textcolor{comment}{!     省略時は値/勾配 0 となる.}
2010 
2011       \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}             :: cond
2012               \textcolor{comment}{!(in) 境界条件. 省略時は 'DD'}
2013               \textcolor{comment}{!        DD : 両端ディリクレ条件}
2014               \textcolor{comment}{!        DN : 上端ディリクレ, 下端ノイマン条件}
2015               \textcolor{comment}{!        ND : 上端ノイマン, 下端ディリクレ条件}
2016               \textcolor{comment}{!        NN : 両端ノイマン条件}
2017 
2018       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)}         :: e2t
2019 
2020       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),2)}            :: e22\_values
2021       \textcolor{keywordtype}{character(len=2)}                                   :: bcond
2022 
2023       e2t = e2a\_aef(tef)
2024 
2025       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2026          e22\_values = e2a\_aef(values)
2027 \textcolor{keywordflow}{      endif}
2028 
2029       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(cond)) \textcolor{keywordflow}{then}
2030          bcond=\textcolor{stringliteral}{'DD'}
2031       \textcolor{keywordflow}{else}
2032          bcond = cond
2033 \textcolor{keywordflow}{      endif}
2034 
2035       \textcolor{keywordflow}{select case}(bcond)
2036       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'NN'})
2037          \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2038             \textcolor{keyword}{call }at\_boundariestau\_nn(e2t,e22\_values)
2039          \textcolor{keywordflow}{else}
2040             \textcolor{keyword}{call }at\_boundariestau\_nn(e2t)
2041 \textcolor{keywordflow}{         endif}
2042       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'DN'})
2043          \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2044             \textcolor{keyword}{call }at\_boundariestau\_dn(e2t,e22\_values)
2045          \textcolor{keywordflow}{else}
2046             \textcolor{keyword}{call }at\_boundariestau\_dn(e2t)
2047 \textcolor{keywordflow}{         endif}
2048       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'ND'})
2049          \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2050             \textcolor{keyword}{call }at\_boundariestau\_nd(e2t,e22\_values)
2051          \textcolor{keywordflow}{else}
2052             \textcolor{keyword}{call }at\_boundariestau\_nd(e2t)
2053 \textcolor{keywordflow}{         endif}
2054       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'DD'})
2055          \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
2056             \textcolor{keyword}{call }at\_boundariestau\_dd(e2t,e22\_values)
2057          \textcolor{keywordflow}{else}
2058             \textcolor{keyword}{call }at\_boundariestau\_dd(e2t)
2059 \textcolor{keywordflow}{         endif}
2060 \textcolor{keywordflow}{      case default}
2061          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_BoundariesTau'},\textcolor{stringliteral}{'B.C. not supported'})
2062 \textcolor{keywordflow}{      end select}
2063 
2064       tef = aef\_e2a(e2t)
2065 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=349pt]{namespacetee__mpi__module_aa86a6e150d12f70c8a29434a709f09cd_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a6b3b65c5684940b3a7c63c314e8e6d35}\label{namespacetee__mpi__module_a6b3b65c5684940b3a7c63c314e8e6d35}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+div\+\_\+zvx\+\_\+zvx\+\_\+zvx@{tef\+\_\+div\+\_\+zvx\+\_\+zvx\+\_\+zvx}}
\index{tef\+\_\+div\+\_\+zvx\+\_\+zvx\+\_\+zvx@{tef\+\_\+div\+\_\+zvx\+\_\+zvx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+div\+\_\+zvx\+\_\+zvx\+\_\+zvx()}{tef\_div\_zvx\_zvx\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+div\+\_\+zvx\+\_\+zvx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx\+\_\+\+VX,  }\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx\+\_\+\+VY,  }\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx\+\_\+\+VZ }\end{DoxyParamCaption})}



Definition at line 822 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+dx\+\_\+tef(), tef\+\_\+dy\+\_\+tef(), tef\+\_\+dz\+\_\+tef(), and tef\+\_\+zvx().


\begin{DoxyCode}
822       \textcolor{comment}{!}
823       \textcolor{comment}{! べクトル成分である 3 つの格子データに発散を作用させた}
824       \textcolor{comment}{! スペクトルデータを返す.}
825       \textcolor{comment}{!}
826       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx\_vx
827       \textcolor{comment}{!(in) ベクトル場のX成分}
828       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx\_vy
829       \textcolor{comment}{!(in) ベクトル場のY成分}
830 
831       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx\_vz
832       \textcolor{comment}{!(in) ベクトル場のZ成分}
833 
834       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}     :: tef\_div\_zvx\_zvx\_zvx
835       \textcolor{comment}{!(out) ベクトル場の発散}
836 
837       tef\_div\_zvx\_zvx\_zvx =   tef\_dx\_tef(tef\_zvx(zvx\_vx)) &
838                             + tef\_dy\_tef(tef\_zvx(zvx\_vy)) &
839                             + tef\_dz\_tef(tef\_zvx(zvx\_vz))
840 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a6b3b65c5684940b3a7c63c314e8e6d35_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_ae6f5dc0cb11ae1e3e76388df42f3e2a0}\label{namespacetee__mpi__module_ae6f5dc0cb11ae1e3e76388df42f3e2a0}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+dx\+\_\+tef@{tef\+\_\+dx\+\_\+tef}}
\index{tef\+\_\+dx\+\_\+tef@{tef\+\_\+dx\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+dx\+\_\+tef()}{tef\_dx\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+dx\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef }\end{DoxyParamCaption})}



Definition at line 692 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::ef\+\_\+dx\+\_\+ef().


\begin{DoxyCode}
692       \textcolor{comment}{!}
693       \textcolor{comment}{! 入力スペクトルデータに水平微分 ∂/∂x を作用する.}
694       \textcolor{comment}{!}
695       \textcolor{comment}{! スペクトルデータのX微分とは, 対応する格子点データにX微分を}
696       \textcolor{comment}{! 作用させたデータのスペクトル変換のことである.}
697       \textcolor{comment}{!}
698       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef
699       \textcolor{comment}{!(in) 入力スペクトルデータ}
700 
701       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}             :: tef\_dx\_tef
702       \textcolor{comment}{!(in) X微分されたスペクトルデータ}
703 
704       \textcolor{keywordtype}{integer} :: n
705 
706       \textcolor{keywordflow}{do} n=0,nm
707          tef\_dx\_tef(n,:,:) = ef\_dx\_ef(tef(n,:,:))
708 \textcolor{keywordflow}{      enddo}
709 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=349pt]{namespacetee__mpi__module_ae6f5dc0cb11ae1e3e76388df42f3e2a0_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_ad77033a27d3502a168173e2cc263f352}\label{namespacetee__mpi__module_ad77033a27d3502a168173e2cc263f352}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+dy\+\_\+tef@{tef\+\_\+dy\+\_\+tef}}
\index{tef\+\_\+dy\+\_\+tef@{tef\+\_\+dy\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+dy\+\_\+tef()}{tef\_dy\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+dy\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef }\end{DoxyParamCaption})}



Definition at line 713 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::ef\+\_\+dy\+\_\+ef().


\begin{DoxyCode}
713       \textcolor{comment}{!}
714       \textcolor{comment}{! 入力スペクトルデータに水平微分 ∂/∂y を作用する.}
715       \textcolor{comment}{!}
716       \textcolor{comment}{! スペクトルデータのY微分とは, 対応する格子点データにY微分を}
717       \textcolor{comment}{! 作用させたデータのスペクトル変換のことである.}
718       \textcolor{comment}{!}
719       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef
720       \textcolor{comment}{!(in) 入力スペクトルデータ}
721 
722       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}             :: tef\_dy\_tef
723       \textcolor{comment}{!(in) X微分されたスペクトルデータ}
724 
725       \textcolor{keywordtype}{integer} :: n
726 
727       \textcolor{keywordflow}{do} n=0,nm
728          tef\_dy\_tef(n,:,:) = ef\_dy\_ef(tef(n,:,:))
729 \textcolor{keywordflow}{      enddo}
730 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=349pt]{namespacetee__mpi__module_ad77033a27d3502a168173e2cc263f352_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a6251571bd3132fdf10c1da1821f7a1ae}\label{namespacetee__mpi__module_a6251571bd3132fdf10c1da1821f7a1ae}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+dz\+\_\+tef@{tef\+\_\+dz\+\_\+tef}}
\index{tef\+\_\+dz\+\_\+tef@{tef\+\_\+dz\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+dz\+\_\+tef()}{tef\_dz\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+dz\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef }\end{DoxyParamCaption})}



Definition at line 734 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), and e2a\+\_\+aef().


\begin{DoxyCode}
734       \textcolor{comment}{!}
735       \textcolor{comment}{! 入力スペクトルデータに鉛直微分 ∂/∂z を作用する.}
736       \textcolor{comment}{!}
737       \textcolor{comment}{! スペクトルデータの鉛直微分とは, 対応する格子点データに鉛直微分を}
738       \textcolor{comment}{! 作用させたデータのスペクトル変換のことである.}
739       \textcolor{comment}{!}
740       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef
741       \textcolor{comment}{!(in) 入力スペクトルデータ}
742 
743       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}             :: tef\_dz\_tef
744       \textcolor{comment}{!(in) 鉛直微分されたスペクトルデータ}
745 
746       tef\_dz\_tef = aef\_e2a(at\_dz\_at(e2a\_aef(tef)))
747 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=349pt]{namespacetee__mpi__module_a6251571bd3132fdf10c1da1821f7a1ae_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a4a677eb3c37c7466d7877c140af5a711}\label{namespacetee__mpi__module_a4a677eb3c37c7466d7877c140af5a711}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+lapla\+\_\+tef@{tef\+\_\+lapla\+\_\+tef}}
\index{tef\+\_\+lapla\+\_\+tef@{tef\+\_\+lapla\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+lapla\+\_\+tef()}{tef\_lapla\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+lapla\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef }\end{DoxyParamCaption})}



Definition at line 751 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+dz\+\_\+tef(), and tef\+\_\+laplah\+\_\+tef().


\begin{DoxyCode}
751       \textcolor{comment}{!}
752       \textcolor{comment}{! 入力スペクトルデータにラプラシアン}
753       \textcolor{comment}{!}
754       \textcolor{comment}{!     ▽^2 = ∂^2/∂X^2 + ∂^2/∂Y^2 + ∂^2/∂Z^2}
755       \textcolor{comment}{!}
756       \textcolor{comment}{! を作用する.}
757       \textcolor{comment}{!}
758       \textcolor{comment}{! スペクトルデータのラプラシアンとは, 対応する格子点データに}
759       \textcolor{comment}{! ラプラシアンを作用させたデータのスペクトル変換のことである.}
760       \textcolor{comment}{!}
761       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef
762       \textcolor{comment}{!(in) 2 次元球面調和函数チェビシェフスペクトルデータ}
763 
764       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}             :: tef\_lapla\_tef
765       \textcolor{comment}{!(out) ラプラシアンを作用された 2 次元スペクトルデータ}
766 
767       tef\_lapla\_tef = tef\_laplah\_tef(tef) + tef\_dz\_tef(tef\_dz\_tef(tef))
768 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a4a677eb3c37c7466d7877c140af5a711_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_ae114a31df4ff3bc1092a499d291a60ce}\label{namespacetee__mpi__module_ae114a31df4ff3bc1092a499d291a60ce}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+laplah\+\_\+tef@{tef\+\_\+laplah\+\_\+tef}}
\index{tef\+\_\+laplah\+\_\+tef@{tef\+\_\+laplah\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+laplah\+\_\+tef()}{tef\_laplah\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+laplah\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef }\end{DoxyParamCaption})}



Definition at line 772 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::ef\+\_\+lapla\+\_\+ef().


\begin{DoxyCode}
772       \textcolor{comment}{!}
773       \textcolor{comment}{! 入力スペクトルデータに水平ラプラシアン}
774       \textcolor{comment}{!}
775       \textcolor{comment}{!     ▽^2\_H = ∂^2/∂X^2 + ∂^2/∂Y^2}
776       \textcolor{comment}{!}
777       \textcolor{comment}{! を作用する.}
778       \textcolor{comment}{!}
779       \textcolor{comment}{! スペクトルデータの水平ラプラシアンとは, 対応する格子点データに}
780       \textcolor{comment}{! 水平ラプラシアンを作用させたデータのスペクトル変換のことである.}
781       \textcolor{comment}{!}
782       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef
783       \textcolor{comment}{!(in) 入力スペクトルデータ}
784 
785       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}             :: tef\_laplah\_tef
786       \textcolor{comment}{!(out) 水平ラプラシアンを作用された 2 次元スペクトルデータ}
787 
788       \textcolor{keywordtype}{integer} :: n
789 
790       \textcolor{keywordflow}{do} n=0,nm
791          tef\_laplah\_tef(n,:,:) = ef\_lapla\_ef(tef(n,:,:))
792 \textcolor{keywordflow}{      enddo}
793 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_ae114a31df4ff3bc1092a499d291a60ce_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a6a206d68cc731518d9aaf981b786550e}\label{namespacetee__mpi__module_a6a206d68cc731518d9aaf981b786550e}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+laplahinv\+\_\+tef@{tef\+\_\+laplahinv\+\_\+tef}}
\index{tef\+\_\+laplahinv\+\_\+tef@{tef\+\_\+laplahinv\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+laplahinv\+\_\+tef()}{tef\_laplahinv\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+laplahinv\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef }\end{DoxyParamCaption})}



Definition at line 797 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::ef\+\_\+laplainv\+\_\+ef().


\begin{DoxyCode}
797       \textcolor{comment}{!}
798       \textcolor{comment}{! 入力スペクトルデータに逆水平ラプラシアン}
799       \textcolor{comment}{!}
800       \textcolor{comment}{!     ▽^-2\_H = (∂^2/∂X^2 + ∂^2/∂Y^2)^-1}
801       \textcolor{comment}{!}
802       \textcolor{comment}{! を作用する.}
803       \textcolor{comment}{!}
804       \textcolor{comment}{! スペクトルデータの逆水平ラプラシアンとは, 対応する格子点データに}
805       \textcolor{comment}{! 逆水平ラプラシアンを作用させたデータのスペクトル変換のことである.}
806       \textcolor{comment}{!}
807       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef
808       \textcolor{comment}{!(in) 2 次元球面調和函数チェビシェフスペクトルデータ}
809 
810       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}             :: tef\_laplahinv\_tef
811       \textcolor{comment}{!(out) 逆水平ラプラシアンを作用された 2 次元スペクトルデータ}
812 
813       \textcolor{keywordtype}{integer} :: n
814 
815       \textcolor{keywordflow}{do} n=0,nm
816          tef\_laplahinv\_tef(n,:,:) = ef\_laplainv\_ef(tef(n,:,:))
817 \textcolor{keywordflow}{      enddo}
818 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a6a206d68cc731518d9aaf981b786550e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_aad78314f089dd6938beba71d5bf2a250}\label{namespacetee__mpi__module_aad78314f089dd6938beba71d5bf2a250}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+laplainvtaudd\+\_\+tef@{tef\+\_\+laplainvtaudd\+\_\+tef}}
\index{tef\+\_\+laplainvtaudd\+\_\+tef@{tef\+\_\+laplainvtaudd\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+laplainvtaudd\+\_\+tef()}{tef\_laplainvtaudd\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+laplainvtaudd\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 844 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), e2a\+\_\+aef(), and tef\+\_\+lapla\+\_\+tef().


\begin{DoxyCode}
844       \textcolor{comment}{!}
845       \textcolor{comment}{! ディリクレ境界条件でΦを▽^2Φから計算する. }
846       \textcolor{comment}{! チェビシェフ空間でタウ法による境界条件を適用している.}
847       \textcolor{comment}{!}
848       \textcolor{comment}{! Φを f = ▽^2Φから定める式は}
849       \textcolor{comment}{!}
850       \textcolor{comment}{!      ▽^2Φ = f,  Φ = 0. at boundaries.}
851       \textcolor{comment}{!}
852       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
853       \textcolor{comment}{!}
854       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(in)} :: tef
855       \textcolor{comment}{!(in) 入力▽^2φ分布}
856 
857       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}      :: tef\_laplainvtaudd\_tef
858       \textcolor{comment}{!(out) 出力ポロイダルポテンシャル分布}
859 
860       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
861       \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
862       \textcolor{comment}{!     default は false.}
863 
864       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
865       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
866 
867       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)}  :: e2t\_work
868       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)}  :: e2z\_work
869       \textcolor{keywordtype}{logical}                                     :: rigid1 = .true.
870       \textcolor{keywordtype}{logical}                                     :: rigid2 = .true.
871 
872       \textcolor{keywordtype}{logical} :: first = .true.
873       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
874       \textcolor{keywordtype}{integer} :: n
875       \textcolor{keywordtype}{save}    :: alu, kp, first
876 
877       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
878          new\_matrix=.false.
879       \textcolor{keywordflow}{else}
880          new\_matrix=new
881 \textcolor{keywordflow}{      endif}
882 
883       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
884          first = .false.
885 
886          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
887          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
888          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:nm,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
889 
890          alu = 0.0d0
891          \textcolor{keywordflow}{do} n=0,nm
892             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
893 
894             \textcolor{comment}{! 各水平波数に関して独立の式}
895             alu(:,:,n) = e2a\_aef(tef\_lapla\_tef(aef\_e2a(e2t\_work)))
896 \textcolor{keywordflow}{         enddo}
897 
898          \textcolor{keywordflow}{do} n=0,nm
899             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
900             e2z\_work = az\_at(e2t\_work)
901 
902             \textcolor{comment}{! ディリクレ条件. 境界で値が 0}
903             alu(:,nm,n)   = e2z\_work(:,0)
904             alu(:,nm-1,n) = e2z\_work(:,km)
905 \textcolor{keywordflow}{         enddo}
906 
907          \textcolor{keyword}{call }ludecomp(alu,kp)
908 
909          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'tef\_LaplaInvTauDD\_tef'},&
910               \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
911 \textcolor{keywordflow}{      endif}
912 
913       e2t\_work         = e2a\_aef(tef)
914       e2t\_work(:,nm)   = 0.0d0               \textcolor{comment}{! ディリクレ条件}
915       e2t\_work(:,nm-1) = 0.0d0               \textcolor{comment}{! ディリクレ条件}
916 
917       tef\_laplainvtaudd\_tef = aef\_e2a(lusolve(alu,kp,e2t\_work))
918 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_aad78314f089dd6938beba71d5bf2a250_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_af1de4f561566dfcd7cde063eeb4b41c1}\label{namespacetee__mpi__module_af1de4f561566dfcd7cde063eeb4b41c1}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+laplainvtaunn\+\_\+tef@{tef\+\_\+laplainvtaunn\+\_\+tef}}
\index{tef\+\_\+laplainvtaunn\+\_\+tef@{tef\+\_\+laplainvtaunn\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+laplainvtaunn\+\_\+tef()}{tef\_laplainvtaunn\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+laplainvtaunn\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 922 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), e2a\+\_\+aef(), and tef\+\_\+lapla\+\_\+tef().


\begin{DoxyCode}
922       \textcolor{comment}{!}
923       \textcolor{comment}{! ディリクレ境界条件でΦを▽^2Φから計算する. }
924       \textcolor{comment}{! チェビシェフ空間でタウ法による境界条件を適用している.}
925       \textcolor{comment}{!}
926       \textcolor{comment}{! Φを f = ▽^2Φから定める式は}
927       \textcolor{comment}{!}
928       \textcolor{comment}{!      ▽^2Φ = f,  dΦ/dz = 0. at boundaries.}
929       \textcolor{comment}{!}
930       \textcolor{comment}{! 直流成分は z 平均が 0 である制約を適用する. }
931       \textcolor{comment}{!}
932       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
933       \textcolor{comment}{!}
934       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(in)} :: tef
935       \textcolor{comment}{!(in) 入力▽^2φ分布}
936 
937       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}      :: tef\_laplainvtaunn\_tef
938       \textcolor{comment}{!(out) 出力ポロイダルポテンシャル分布}
939 
940       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
941       \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
942       \textcolor{comment}{!     default は false.}
943 
944       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
945       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
946 
947       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)}  :: e2t\_work
948       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)}  :: e2z\_work
949       \textcolor{keywordtype}{logical}                                     :: rigid1 = .true.
950       \textcolor{keywordtype}{logical}                                     :: rigid2 = .true.
951 
952       \textcolor{keywordtype}{logical} :: first = .true.
953       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
954       \textcolor{keywordtype}{integer} :: n,k
955       \textcolor{keywordtype}{save}    :: alu, kp, first
956 
957       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
958          new\_matrix=.false.
959       \textcolor{keywordflow}{else}
960          new\_matrix=new
961 \textcolor{keywordflow}{      endif}
962 
963       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
964          first = .false.
965 
966          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
967          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
968          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:nm,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
969 
970          alu = 0.0d0
971          \textcolor{keywordflow}{do} n=0,nm
972             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
973 
974             \textcolor{comment}{! 各水平波数に関して独立の式}
975             alu(:,:,n) = e2a\_aef(tef\_lapla\_tef(aef\_e2a(e2t\_work)))
976 \textcolor{keywordflow}{         enddo}
977 
978          \textcolor{keywordflow}{do} n=0,nm
979             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
980             e2z\_work = az\_at(at\_dz\_at(e2t\_work))
981 
982             \textcolor{comment}{! ノイマン条件. 境界で微分値が 0}
983             alu(:,nm,n)   = e2z\_work(:,0)
984             alu(:,nm-1,n) = e2z\_work(:,km)
985             
986             \textcolor{comment}{! 直流成分が決まらないので 1 点値を与える}
987             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
988             e2z\_work = az\_at(e2t\_work)
989             alu(:,0,n) = 0.0d0
990             \textcolor{keywordflow}{do} k=0,km
991                alu(:,0,n) = alu(:,0,n) + e2z\_work(:,k)*z\_z\_weight(k)
992 \textcolor{keywordflow}{            end do}
993 \textcolor{keywordflow}{         enddo}
994 
995          \textcolor{keyword}{call }ludecomp(alu,kp)
996 
997          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'tef\_LaplaInvTauDD\_tef'},&
998               \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
999 \textcolor{keywordflow}{      endif}
1000 
1001       e2t\_work         = e2a\_aef(tef)
1002       e2t\_work(:,nm)   = 0.0d0               \textcolor{comment}{! ノイマン条件}
1003       e2t\_work(:,nm-1) = 0.0d0               \textcolor{comment}{! ノイマン条件}
1004       e2t\_work(:,0)    = 0.0d0               \textcolor{comment}{! 直流成分}
1005 
1006       tef\_laplainvtaunn\_tef = aef\_e2a(lusolve(alu,kp,e2t\_work))
1007 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_af1de4f561566dfcd7cde063eeb4b41c1_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_aac5f72224f9b4345169e7a5dadd5a29d}\label{namespacetee__mpi__module_aac5f72224f9b4345169e7a5dadd5a29d}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+laplapol2polgrid\+\_\+tef@{tef\+\_\+laplapol2polgrid\+\_\+tef}}
\index{tef\+\_\+laplapol2polgrid\+\_\+tef@{tef\+\_\+laplapol2polgrid\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+laplapol2polgrid\+\_\+tef()}{tef\_laplapol2polgrid\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+laplapol2polgrid\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef,  }\item[{character(len=2), intent(in), optional}]{cond,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 2616 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), e2a\+\_\+aef(), tef\+\_\+lapla\+\_\+tef(), and zef\+\_\+tef().


\begin{DoxyCode}
2616       \textcolor{comment}{!}
2617       \textcolor{comment}{! 速度ポロイダルポテンシャルΦを▽^2Φから計算する.}
2618       \textcolor{comment}{! チェビシェフ格子点空間で境界条件を適用している.}
2619       \textcolor{comment}{!}
2620       \textcolor{comment}{! この関数を用いるためには tef\_Initial にて設定する}
2621       \textcolor{comment}{! チェビシェフ切断波数(lm)と鉛直格子点数(km)を等しく}
2622       \textcolor{comment}{! しておく必要がある.}
2623       \textcolor{comment}{!}
2624       \textcolor{comment}{! 速度ポロイダルポテンシャルΦを f = ▽^2Φから定める式は}
2625       \textcolor{comment}{!}
2626       \textcolor{comment}{!    ▽^2Φ = f}
2627       \textcolor{comment}{!      Φ = const. at boundaries.}
2628       \textcolor{comment}{!      ∂Φ/∂z = 0 at boundaries          (粘着条件)}
2629       \textcolor{comment}{!      or ∂^2Φ/∂z^2 = 0 at boundaries   (応力なし条件)}
2630       \textcolor{comment}{!}
2631       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
2632       \textcolor{comment}{!}
2633       \textcolor{comment}{! 最終的にチェビシェフ係数の解が欲しい場合には, tef\_LaplaPol2Pol\_tef に}
2634       \textcolor{comment}{! 比べてチェビシェフ -- 格子点変換が 1 回分少なくて済む.}
2635       \textcolor{comment}{!}
2636       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(in)} :: tef
2637               \textcolor{comment}{!(in) 入力▽^2φ分布}
2638 
2639       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}      :: tef\_laplapol2polgrid\_tef
2640               \textcolor{comment}{!(out) 出力ポロイダルポテンシャル分布}
2641 
2642       \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: cond
2643               \textcolor{comment}{!(in) 境界条件スイッチ. 省略時は 'RR'}
2644               \textcolor{comment}{!     RR    : 両端粘着条件}
2645               \textcolor{comment}{!     RF    : 上端粘着, 下端応力なし条件}
2646               \textcolor{comment}{!     FR    : 上端応力なし, 下端粘着条件}
2647               \textcolor{comment}{!     FF    : 両端応力なし条件}
2648 
2649       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
2650               \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
2651               \textcolor{comment}{!     default は false.}
2652 
2653       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
2654       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
2655 
2656       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)}  :: e2t\_work
2657       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)}  :: e2z\_work
2658       \textcolor{keywordtype}{logical}                                     :: rigid1 = .true.
2659       \textcolor{keywordtype}{logical}                                     :: rigid2 = .true.
2660 
2661       \textcolor{keywordtype}{logical} :: first = .true.
2662       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
2663       \textcolor{keywordtype}{integer} :: n
2664       \textcolor{keywordtype}{save}    :: alu, kp, first
2665 
2666       \textcolor{keywordflow}{select case} (cond)
2667       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RR'})
2668         rigid1 = .true.  ; rigid2 = .true.
2669       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RF'})
2670         rigid1 = .true.  ; rigid2 = .false.
2671       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FR'})
2672         rigid1 = .false. ; rigid2 = .true.
2673       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FF'})
2674         rigid1 = .false. ; rigid2 = .false.
2675 \textcolor{keywordflow}{      case default}
2676         \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_LaplaPol2PolGrid\_tef'},\textcolor{stringliteral}{'B.C. not supported'})
2677 \textcolor{keywordflow}{      end select}
2678 
2679       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
2680          new\_matrix=.false.
2681       \textcolor{keywordflow}{else}
2682          new\_matrix=new
2683 \textcolor{keywordflow}{      endif}
2684 
2685       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
2686          first = .false.
2687 
2688          \textcolor{keywordflow}{if} ( nm /= km ) \textcolor{keywordflow}{then}
2689             \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_LaplaPol2PolGrid\_tef'}, &
2690              \textcolor{stringliteral}{'Chebyshev truncation and number of grid points should be same.'})
2691 \textcolor{keywordflow}{         endif}
2692 
2693          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
2694          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
2695          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:km,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
2696 
2697          \textcolor{keywordflow}{do} n=0,nm
2698             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
2699 
2700             \textcolor{comment}{! 各水平波数に関して独立の式}
2701             alu(:,:,n) = e2a\_aef(zef\_tef(tef\_lapla\_tef(aef\_e2a(e2t\_work))))
2702 \textcolor{keywordflow}{         enddo}
2703 
2704          \textcolor{keywordflow}{do} n=0,nm
2705             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
2706             e2z\_work = az\_at(e2t\_work)
2707 
2708             \textcolor{comment}{! 運動学的条件. 流線は境界で一定}
2709             alu(:,0,n)   = e2z\_work(:,0)
2710             alu(:,km,n)  = e2z\_work(:,km)
2711 
2712             \textcolor{comment}{! 力学的条件粘着条件}
2713             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
2714             \textcolor{keywordflow}{if} ( rigid1 ) \textcolor{keywordflow}{then}
2715                e2z\_work=az\_at(at\_dz\_at(e2t\_work))
2716             \textcolor{keywordflow}{else}
2717                e2z\_work=az\_at(at\_dz\_at(at\_dz\_at(e2t\_work)))
2718 \textcolor{keywordflow}{            endif}
2719             alu(:,1,n) = e2z\_work(:,0)
2720 
2721             \textcolor{comment}{! 力学的条件粘着条件}
2722             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
2723             \textcolor{keywordflow}{if} ( rigid2 ) \textcolor{keywordflow}{then}
2724                e2z\_work=az\_at(at\_dz\_at(e2t\_work))
2725             \textcolor{keywordflow}{else}
2726                e2z\_work=az\_at(at\_dz\_at(at\_dz\_at(e2t\_work)))
2727 \textcolor{keywordflow}{            endif}
2728             alu(:,km-1,n) = e2z\_work(:,km)
2729 \textcolor{keywordflow}{         enddo}
2730 
2731          \textcolor{keyword}{call }ludecomp(alu,kp)
2732 
2733          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'tef\_LaplaPol2PolGrid\_tef'},&
2734                            \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
2735 \textcolor{keywordflow}{      endif}
2736 
2737       e2z\_work         = az\_at(e2a\_aef(tef))
2738       e2z\_work(:,1)    = 0.0d0               \textcolor{comment}{! 力学的条件}
2739       e2z\_work(:,km-1) = 0.0d0               \textcolor{comment}{! 力学的条件}
2740       e2z\_work(:,0)    = 0.0d0               \textcolor{comment}{! 運動学的条件}
2741       e2z\_work(:,km)   = 0.0d0               \textcolor{comment}{! 運動学的条件}
2742 
2743       tef\_laplapol2polgrid\_tef = aef\_e2a(lusolve(alu,kp,e2z\_work))
2744 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_aac5f72224f9b4345169e7a5dadd5a29d_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a054fc610db5481af016c7a602f05cae2}\label{namespacetee__mpi__module_a054fc610db5481af016c7a602f05cae2}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+laplapol2poltau\+\_\+tef@{tef\+\_\+laplapol2poltau\+\_\+tef}}
\index{tef\+\_\+laplapol2poltau\+\_\+tef@{tef\+\_\+laplapol2poltau\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+laplapol2poltau\+\_\+tef()}{tef\_laplapol2poltau\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+laplapol2poltau\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef,  }\item[{character(len=2), intent(in), optional}]{cond,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 2361 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), e2a\+\_\+aef(), and tef\+\_\+lapla\+\_\+tef().


\begin{DoxyCode}
2361       \textcolor{comment}{!}
2362       \textcolor{comment}{! 速度ポロイダルポテンシャルΦを▽^2Φから計算する.}
2363       \textcolor{comment}{! チェビシェフ空間でタウ法による境界条件を適用している.}
2364       \textcolor{comment}{!}
2365       \textcolor{comment}{! 速度ポロイダルポテンシャルΦを f = ▽^2Φから定める式は}
2366       \textcolor{comment}{!}
2367       \textcolor{comment}{!      ▽^2Φ = f}
2368       \textcolor{comment}{!      Φ = const. at boundaries.}
2369       \textcolor{comment}{!      ∂Φ/∂z = 0 at boundaries          (粘着条件)}
2370       \textcolor{comment}{!      or ∂^2Φ/∂z^2 = 0 at boundaries   (応力なし条件)}
2371       \textcolor{comment}{!}
2372       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
2373       \textcolor{comment}{!}
2374       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(in)} :: tef
2375               \textcolor{comment}{!(in) 入力▽^2φ分布}
2376 
2377       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}      :: tef\_laplapol2poltau\_tef
2378               \textcolor{comment}{!(out) 出力ポロイダルポテンシャル分布}
2379 
2380       \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: cond
2381               \textcolor{comment}{!(in) 境界条件スイッチ. 省略時は 'RR'}
2382               \textcolor{comment}{!     RR    : 両端粘着条件}
2383               \textcolor{comment}{!     RF    : 上端粘着, 下端応力なし条件}
2384               \textcolor{comment}{!     FR    : 上端応力なし, 下端粘着条件}
2385               \textcolor{comment}{!     FF    : 両端応力なし条件}
2386 
2387       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
2388               \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
2389               \textcolor{comment}{!     default は false.}
2390 
2391       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
2392       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
2393 
2394       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)}  :: e2t\_work
2395       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)}  :: e2z\_work
2396       \textcolor{keywordtype}{logical}                                     :: rigid1 = .true.
2397       \textcolor{keywordtype}{logical}                                     :: rigid2 = .true.
2398 
2399       \textcolor{keywordtype}{logical} :: first = .true.
2400       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
2401       \textcolor{keywordtype}{integer} :: n
2402       \textcolor{keywordtype}{save}    :: alu, kp, first
2403 
2404       \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(cond) ) \textcolor{keywordflow}{then}
2405          \textcolor{keywordflow}{select case} (cond)
2406          \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RR'})
2407             rigid1 = .true.  ; rigid2 = .true.
2408          \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RF'})
2409             rigid1 = .true.  ; rigid2 = .false.
2410          \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FR'})
2411             rigid1 = .false. ; rigid2 = .true.
2412          \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FF'})
2413             rigid1 = .false. ; rigid2 = .false.
2414 \textcolor{keywordflow}{         case default}
2415             \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_LaplaPol2PolTau\_tef'},\textcolor{stringliteral}{'B.C. not supported'})
2416 \textcolor{keywordflow}{         end select}
2417       \textcolor{keywordflow}{else}
2418          rigid1 = .true.  ; rigid2 = .true.
2419 \textcolor{keywordflow}{      endif}
2420 
2421       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
2422          new\_matrix=.false.
2423       \textcolor{keywordflow}{else}
2424          new\_matrix=new
2425 \textcolor{keywordflow}{      endif}
2426 
2427       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
2428          first = .false.
2429 
2430          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
2431          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
2432          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:nm,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
2433 
2434          alu = 0.0d0
2435          \textcolor{keywordflow}{do} n=0,nm-2
2436             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
2437 
2438             \textcolor{comment}{! 各水平波数に関して独立の式}
2439             alu(:,:,n) = e2a\_aef(tef\_lapla\_tef(aef\_e2a(e2t\_work)))
2440 \textcolor{keywordflow}{         enddo}
2441 
2442          \textcolor{keywordflow}{do} n=0,nm
2443             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
2444             e2z\_work = az\_at(e2t\_work)
2445 
2446             \textcolor{comment}{! 運動学的条件. 流線は境界で一定}
2447             alu(:,nm,n)   = e2z\_work(:,0)
2448             alu(:,nm-1,n) = e2z\_work(:,km)
2449 
2450             \textcolor{comment}{! 力学的条件粘着条件}
2451             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
2452             \textcolor{keywordflow}{if} ( rigid1 ) \textcolor{keywordflow}{then}
2453                e2z\_work=az\_at(at\_dz\_at(e2t\_work))
2454             \textcolor{keywordflow}{else}
2455                e2z\_work=az\_at(at\_dz\_at(at\_dz\_at(e2t\_work)))
2456 \textcolor{keywordflow}{            endif}
2457             alu(:,nm-2,n) = e2z\_work(:,0)
2458 
2459             \textcolor{comment}{! 力学的条件粘着条件}
2460             e2t\_work = 0.0d0 ; e2t\_work(:,n) = 1.0d0
2461             \textcolor{keywordflow}{if} ( rigid2 ) \textcolor{keywordflow}{then}
2462                e2z\_work=az\_at(at\_dz\_at(e2t\_work))
2463             \textcolor{keywordflow}{else}
2464                e2z\_work=az\_at(at\_dz\_at(at\_dz\_at(e2t\_work)))
2465 \textcolor{keywordflow}{            endif}
2466             alu(:,nm-3,n) = e2z\_work(:,km)
2467 \textcolor{keywordflow}{         enddo}
2468 
2469          \textcolor{keyword}{call }ludecomp(alu,kp)
2470 
2471          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'tef\_LaplaPol2PolTau\_tef'},&
2472                            \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
2473 \textcolor{keywordflow}{      endif}
2474 
2475       e2t\_work         = e2a\_aef(tef)
2476       e2t\_work(:,nm)   = 0.0d0               \textcolor{comment}{! 運動学的条件}
2477       e2t\_work(:,nm-1) = 0.0d0               \textcolor{comment}{! 運動学的条件}
2478       e2t\_work(:,nm-2) = 0.0d0               \textcolor{comment}{! 力学的条件}
2479       e2t\_work(:,nm-3) = 0.0d0               \textcolor{comment}{! 力学的条件}
2480 
2481       tef\_laplapol2poltau\_tef = aef\_e2a(lusolve(alu,kp,e2t\_work))
2482 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a054fc610db5481af016c7a602f05cae2_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_aaff971a6757251a734d58873330fb10a}\label{namespacetee__mpi__module_aaff971a6757251a734d58873330fb10a}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+polmagboundariesgrid@{tef\+\_\+polmagboundariesgrid}}
\index{tef\+\_\+polmagboundariesgrid@{tef\+\_\+polmagboundariesgrid}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+polmagboundariesgrid()}{tef\_polmagboundariesgrid()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+polmagboundariesgrid (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(inout)}]{tef\+\_\+\+P\+OL,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 3002 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), and e2a\+\_\+aef().


\begin{DoxyCode}
3002       \textcolor{comment}{!}
3003       \textcolor{comment}{! 磁場ポロイダルポテンシャルに対して境界条件を適用する.}
3004       \textcolor{comment}{! 鉛直実空間での境界条件適用.}
3005       \textcolor{comment}{!}
3006       \textcolor{comment}{! 鉛直実格子点空間において内部領域の値と境界条件を満たすように}
3007       \textcolor{comment}{! 条件を課している(選点法). このルーチンを用いるためには}
3008       \textcolor{comment}{! tef\_Initial にて設定するチェビシェフ切断波数(nm)と鉛直格子点数(km)を}
3009       \textcolor{comment}{! 等しくしておく必要がある.}
3010       \textcolor{comment}{!}
3011       \textcolor{comment}{! 現在のところ境界物質が非電気伝導体の場合のみ対応している.}
3012       \textcolor{comment}{! その場合, 磁場ポロイダルポテンシャルの各水平スペクトル成分 h に}
3013       \textcolor{comment}{! たいして境界条件が与えられ,}
3014       \textcolor{comment}{!}
3015       \textcolor{comment}{!  * 上側境界 : dh/dz + K h = 0}
3016       \textcolor{comment}{!  * 下側境界 : dh/dz - K h = 0}
3017       \textcolor{comment}{!}
3018       \textcolor{comment}{! である. ここで K=sqrt(l^2+m^2) は h の水平全波数である.}
3019       \textcolor{comment}{!}
3020       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
3021       \textcolor{comment}{!}
3022       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(inout)}   :: tef\_pol
3023               \textcolor{comment}{!(inout) 境界条件を適用するデータ. 修正された値を返す.}
3024 
3025       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
3026               \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
3027               \textcolor{comment}{!     default は false.}
3028 
3029       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
3030       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
3031 
3032       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)} :: e2t\_work
3033       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)} :: e2z\_work
3034 
3035       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)} :: e2t\_kh
3036 
3037       \textcolor{keywordtype}{logical} :: first = .true.
3038       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
3039       \textcolor{keywordtype}{real(8)} :: rl, rm
3040       \textcolor{keywordtype}{integer}  :: l, m, n, e2index
3041       \textcolor{keywordtype}{save}     :: alu, kp, first
3042 
3043       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
3044          new\_matrix=.false.
3045       \textcolor{keywordflow}{else}
3046          new\_matrix=new
3047 \textcolor{keywordflow}{      endif}
3048 
3049       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
3050          first = .false.
3051 
3052          \textcolor{keywordflow}{if} ( nm /= km ) \textcolor{keywordflow}{then}
3053             \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_PolMagBoundariesGrid'}, &
3054              \textcolor{stringliteral}{'Chebyshev truncation and number of grid points should be same.'})
3055 \textcolor{keywordflow}{         endif}
3056 
3057          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
3058          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) )  \textcolor{keyword}{deallocate}(kp)
3059          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:km,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
3060 
3061          \textcolor{keywordflow}{do} n=0,nm
3062             e2t\_work = 0.0d0 ; e2t\_work(:,n)=1.0d0
3063             e2z\_work = az\_at(e2t\_work)
3064 
3065             alu(:,:,n) = e2z\_work    \textcolor{comment}{! 内部領域は同じ}
3066 \textcolor{keywordflow}{         enddo}
3067 
3068          \textcolor{comment}{! 非電気伝導体}
3069          \textcolor{keywordflow}{do} m=-mm,mm
3070             \textcolor{keywordflow}{do} l=-lm,lm
3071                \textcolor{keywordflow}{if} ( lf\_l(l) > 0 ) \textcolor{keywordflow}{then}
3072                   e2index = (2*mm+1)*(lf\_l(l)-1) + (m+mm+1)
3073                   rl = 2*pi/xl*l ; rm = 2*pi/yl*m
3074                   e2t\_kh(e2index,:) = sqrt(rl**2+rm**2)
3075 \textcolor{keywordflow}{               endif}
3076 \textcolor{keywordflow}{            enddo}
3077             \textcolor{keywordflow}{if} ( lf\_l(0) > 0 ) \textcolor{keywordflow}{then}
3078                \textcolor{comment}{! e2index1 = (2*mm+1)*(lf\_l(0)-1)   + (m+mm+1)}
3079                \textcolor{comment}{! e2index2 = (2*mm+1)*(2*lc(ip))-1) + (m+mm+1)}
3080                \textcolor{comment}{! e2t\_kh(e2index2,:) = e2t\_kh(e2index1,:)}
3081                e2t\_kh((2*mm+1)*(2*lc(ip)-1)+(m+mm+1),:) = e2t\_kh(m+mm+1,:)
3082 \textcolor{keywordflow}{            end if}
3083 \textcolor{keywordflow}{         enddo}
3084          \textcolor{keywordflow}{do} n=0,nm
3085             e2t\_work = 0.0d0 ; e2t\_work(:,n)=1.0d0
3086 
3087             e2z\_work = az\_at(at\_dz\_at(e2t\_work) + e2t\_kh * e2t\_work)
3088             alu(:,0,n) = e2z\_work(:,0)
3089 
3090             e2z\_work = az\_at(at\_dz\_at(e2t\_work) - e2t\_kh * e2t\_work)
3091             alu(:,km,n)   = e2z\_work(:,km)
3092 \textcolor{keywordflow}{         enddo}
3093 
3094          \textcolor{keyword}{call }ludecomp(alu,kp)
3095 
3096          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'tef\_PolmagBoundariesGrid'},&
3097                            \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
3098 \textcolor{keywordflow}{      endif}
3099 
3100       e2z\_work = az\_at(e2a\_aef(tef\_pol))
3101       e2z\_work(:,0)  = 0.0d0
3102       e2z\_work(:,km) = 0.0d0
3103       tef\_pol = aef\_e2a(lusolve(alu,kp,e2z\_work))
3104 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_aaff971a6757251a734d58873330fb10a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_afe89236ac24cbce82d4c8ec89ed2acd4}\label{namespacetee__mpi__module_afe89236ac24cbce82d4c8ec89ed2acd4}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+polmagboundariestau@{tef\+\_\+polmagboundariestau}}
\index{tef\+\_\+polmagboundariestau@{tef\+\_\+polmagboundariestau}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+polmagboundariestau()}{tef\_polmagboundariestau()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+polmagboundariestau (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(inout)}]{tef\+\_\+\+P\+OL,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 2904 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), and e2a\+\_\+aef().


\begin{DoxyCode}
2904       \textcolor{comment}{!}
2905       \textcolor{comment}{! 磁場ポロイダルポテンシャルに対して境界条件を適用する.}
2906       \textcolor{comment}{! Chebyshev 空間での境界条件適用}
2907       \textcolor{comment}{!}
2908       \textcolor{comment}{! チェビシェフ空間において境界条件を満たすべく高次の係数を定める方法を}
2909       \textcolor{comment}{! とっている(タウ法). 現在のところ境界物質が非電気伝導体の場合のみ}
2910       \textcolor{comment}{! 対応している. その場合, 磁場ポロイダルポテンシャルの各水平スペクトル}
2911       \textcolor{comment}{! 成分 h にたいして境界条件が与えられ,}
2912       \textcolor{comment}{!}
2913       \textcolor{comment}{!  * 上側境界 : dh/dz + K h = 0}
2914       \textcolor{comment}{!  * 下側境界 : dh/dz - K h = 0}
2915       \textcolor{comment}{!}
2916       \textcolor{comment}{! である. ここで K=sqrt(l^2+m^2) は h の水平全波数である.}
2917       \textcolor{comment}{!}
2918       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
2919       \textcolor{comment}{!}
2920       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(inout)}   :: tef\_pol
2921               \textcolor{comment}{!(inout) 境界条件を適用するデータ. 修正された値を返す.}
2922 
2923       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
2924               \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
2925               \textcolor{comment}{!     default は false.}
2926 
2927       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
2928       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
2929 
2930       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)} :: e2t\_work
2931       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)} :: e2z\_work
2932 
2933       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)} :: e2t\_kh
2934 
2935       \textcolor{keywordtype}{logical} :: first = .true.
2936       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
2937       \textcolor{keywordtype}{real(8)} :: rl, rm
2938       \textcolor{keywordtype}{integer} :: l, m, n, e2index
2939       \textcolor{keywordtype}{save}    :: alu, kp, first
2940 
2941       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
2942          new\_matrix=.false.
2943       \textcolor{keywordflow}{else}
2944          new\_matrix=new
2945 \textcolor{keywordflow}{      endif}
2946 
2947       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
2948          first = .false.
2949 
2950          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
2951          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
2952 
2953          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:nm,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
2954 
2955          \textcolor{keywordflow}{do} n=0,nm
2956             e2t\_work = 0.0d0 ; e2t\_work(:,n)=1.0d0
2957 
2958             alu(:,:,n) = e2t\_work(:,:)    \textcolor{comment}{! 内部領域は同じ}
2959 \textcolor{keywordflow}{         enddo}
2960 
2961          \textcolor{comment}{! 非電気伝導体}
2962          \textcolor{comment}{!e2t\_kh = 0.0D0}
2963          \textcolor{keywordflow}{do} m=-mm,mm
2964             \textcolor{keywordflow}{do} l=-lm,lm
2965                \textcolor{keywordflow}{if} ( lf\_l(l) > 0 ) \textcolor{keywordflow}{then}
2966                   e2index = (2*mm+1)*(lf\_l(l)-1) + (m+mm+1)
2967                   rl = 2*pi/xl*l ; rm = 2*pi/yl*m
2968                   e2t\_kh(e2index,:) = sqrt(rl**2+rm**2)
2969 \textcolor{keywordflow}{               endif}
2970 \textcolor{keywordflow}{            enddo}
2971             \textcolor{keywordflow}{if} ( lf\_l(0) > 0 ) \textcolor{keywordflow}{then}
2972                \textcolor{comment}{! e2index1 = (2*mm+1)*(lf\_l(0)-1)   + (m+mm+1)}
2973                \textcolor{comment}{! e2index2 = (2*mm+1)*(2*lc(ip))-1) + (m+mm+1)}
2974                \textcolor{comment}{! e2t\_kh(e2index2,:) = e2t\_kh(e2index1,:)}
2975                e2t\_kh((2*mm+1)*(2*lc(ip)-1)+(m+mm+1),:) = e2t\_kh(m+mm+1,:)
2976 \textcolor{keywordflow}{            end if}
2977 \textcolor{keywordflow}{         enddo}
2978          \textcolor{keywordflow}{do} n=0,nm
2979             e2t\_work = 0.0d0 ; e2t\_work(:,n)=1.0d0
2980 
2981             e2z\_work = az\_at(at\_dz\_at(e2t\_work) + e2t\_kh * e2t\_work)
2982             alu(:,nm-1,n) = e2z\_work(:,0)
2983 
2984             e2z\_work = az\_at(at\_dz\_at(e2t\_work) - e2t\_kh * e2t\_work)
2985             alu(:,nm,n)   = e2z\_work(:,km)
2986 \textcolor{keywordflow}{         enddo}
2987 
2988          \textcolor{keyword}{call }ludecomp(alu,kp)
2989 
2990          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'tef\_PolmagBoundariesTau'},&
2991                            \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
2992 \textcolor{keywordflow}{      endif}
2993 
2994       e2t\_work = e2a\_aef(tef\_pol)
2995       e2t\_work(:,nm-1) = 0.0d0
2996       e2t\_work(:,nm)   = 0.0d0
2997       tef\_pol = aef\_e2a(lusolve(alu,kp,e2t\_work))
2998 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_afe89236ac24cbce82d4c8ec89ed2acd4_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a9c04148698561dad325a1495adcdcf90}\label{namespacetee__mpi__module_a9c04148698561dad325a1495adcdcf90}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+potential2rotation@{tef\+\_\+potential2rotation}}
\index{tef\+\_\+potential2rotation@{tef\+\_\+potential2rotation}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+potential2rotation()}{tef\_potential2rotation()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+potential2rotation (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(out)}]{zvx\+\_\+\+Rot\+VX,  }\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(out)}]{zvx\+\_\+\+Rot\+VY,  }\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(out)}]{zvx\+\_\+\+Rot\+VZ,  }\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef\+\_\+\+Torvel,  }\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef\+\_\+\+Polvel }\end{DoxyParamCaption})}



Definition at line 1710 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+lapla\+\_\+tef(), and tef\+\_\+potential2vector().


\begin{DoxyCode}
1710       \textcolor{comment}{!}
1711       \textcolor{comment}{! トロイダルポロイダルポテンシャルΨ,Φで表される非発散ベクトル場}
1712       \textcolor{comment}{!}
1713       \textcolor{comment}{!     v = ▽x(Ψz) + ▽x▽x(Φz)}
1714       \textcolor{comment}{!}
1715       \textcolor{comment}{! に対して, その回転}
1716       \textcolor{comment}{!}
1717       \textcolor{comment}{!     ▽xv = ▽x▽x(Ψz) + ▽x▽x▽x(Φz) = ▽x▽x(Ψz) - ▽x((▽^2Φ)z)}
1718       \textcolor{comment}{!}
1719       \textcolor{comment}{! を計算する.}
1720 
1721       \textcolor{comment}{! ベクトル場の回転}
1722       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(OUT)} :: zvx\_rotvx
1723       \textcolor{comment}{!(out) 回転のX成分}
1724 
1725       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(OUT)} :: zvx\_rotvy
1726       \textcolor{comment}{!(out) 回転のY成分}
1727 
1728       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(OUT)} :: zvx\_rotvz
1729       \textcolor{comment}{!(out) 回転のZ成分}
1730 
1731       \textcolor{comment}{! 入力ベクトル場を表すポテンシャル}
1732       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef\_torvel
1733       \textcolor{comment}{!(in) トロイダルポテンシャル}
1734 
1735       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef\_polvel
1736       \textcolor{comment}{!(in) ポロイダルポテンシャル}
1737 
1738       \textcolor{keyword}{call }tef\_potential2vector( &
1739            zvx\_rotvx,zvx\_rotvy,zvx\_rotvz, &
1740            -tef\_lapla\_tef(tef\_polvel), tef\_torvel)
1741 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a9c04148698561dad325a1495adcdcf90_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a0c6ed0fe791de52c0da6bd4e5dd7076c}\label{namespacetee__mpi__module_a0c6ed0fe791de52c0da6bd4e5dd7076c}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+potential2vector@{tef\+\_\+potential2vector}}
\index{tef\+\_\+potential2vector@{tef\+\_\+potential2vector}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+potential2vector()}{tef\_potential2vector()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+potential2vector (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1)}]{zvx\+\_\+\+VX,  }\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1)}]{zvx\+\_\+\+VY,  }\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1)}]{zvx\+\_\+\+VZ,  }\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef\+\_\+\+Torvel,  }\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef\+\_\+\+Polvel }\end{DoxyParamCaption})}



Definition at line 1678 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+dx\+\_\+tef(), tef\+\_\+dy\+\_\+tef(), tef\+\_\+dz\+\_\+tef(), tef\+\_\+laplah\+\_\+tef(), and zvx\+\_\+tef().


\begin{DoxyCode}
1678       \textcolor{comment}{!}
1679       \textcolor{comment}{! トロイダルポロイダルポテンシャルΨ,Φで表される非発散ベクトル場}
1680       \textcolor{comment}{!}
1681       \textcolor{comment}{!     v = ▽x(Ψz) + ▽x▽x(Φz)}
1682       \textcolor{comment}{!}
1683       \textcolor{comment}{! の各成分を計算する}
1684       \textcolor{comment}{!}
1685       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}     :: zvx\_vx
1686       \textcolor{comment}{!(out) ベクトル場のX成分}
1687 
1688       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}     :: zvx\_vy
1689       \textcolor{comment}{!(out) ベクトル場のY成分}
1690 
1691       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}     :: zvx\_vz
1692       \textcolor{comment}{!(out) ベクトル場のZ成分}
1693 
1694       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef\_torvel
1695       \textcolor{comment}{!(in) トロイダルポテンシャル}
1696 
1697       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef\_polvel
1698       \textcolor{comment}{!(in) ポロイダルポテンシャル}
1699 
1700       zvx\_vx = zvx\_tef(   tef\_dy\_tef(tef\_torvel) &
1701                         + tef\_dx\_tef(tef\_dz\_tef(tef\_polvel))  )
1702       zvx\_vy = zvx\_tef( - tef\_dx\_tef(tef\_torvel) &
1703                         + tef\_dy\_tef(tef\_dz\_tef(tef\_polvel))  )
1704       zvx\_vz = -zvx\_tef(tef\_laplah\_tef(tef\_polvel))
1705 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a0c6ed0fe791de52c0da6bd4e5dd7076c_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_ad075c56ae5b9df66fbd4c4bb514571d9}\label{namespacetee__mpi__module_ad075c56ae5b9df66fbd4c4bb514571d9}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+torboundariesgrid@{tef\+\_\+torboundariesgrid}}
\index{tef\+\_\+torboundariesgrid@{tef\+\_\+torboundariesgrid}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+torboundariesgrid()}{tef\_torboundariesgrid()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+torboundariesgrid (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(inout)}]{tef\+\_\+\+T\+OR,  }\item[{character(len=2), intent(in), optional}]{cond,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 2247 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), and e2a\+\_\+aef().


\begin{DoxyCode}
2247       \textcolor{comment}{!}
2248       \textcolor{comment}{! トロイダル速度ポテンシャルに対して境界条件を適用する.}
2249       \textcolor{comment}{! 鉛直実空間での境界条件適用.}
2250       \textcolor{comment}{!}
2251       \textcolor{comment}{! 鉛直実格子点空間において内部領域の値と境界条件を満たすように}
2252       \textcolor{comment}{! 条件を課している(選点法). このルーチンを用いるためには}
2253       \textcolor{comment}{! tef\_Initial にて設定するチェビシェフ切断波数(nm)と鉛直格子点数(km)を}
2254       \textcolor{comment}{! 等しくしておく必要がある.}
2255       \textcolor{comment}{!}
2256       \textcolor{comment}{! トロイダル速度ポテンシャルの境界条件は}
2257       \textcolor{comment}{!}
2258       \textcolor{comment}{!     ψ = 0 at boundaries           (粘着条件)}
2259       \textcolor{comment}{!     ∂ψ/∂z = 0 at boundaries    (応力なし条件)}
2260       \textcolor{comment}{!}
2261       \textcolor{comment}{! であるので tef\_Boundaries で対応可能だが, 将来のため別途作成しておく}
2262       \textcolor{comment}{!}
2263       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
2264       \textcolor{comment}{!}
2265       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(inout)}   :: tef\_tor
2266               \textcolor{comment}{!(inout) 境界条件を適用するデータ. 修正された値を返す.}
2267 
2268       \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: cond
2269               \textcolor{comment}{!(in) 境界条件スイッチ. 省略時は 'RR'}
2270               \textcolor{comment}{!     RR    : 両端粘着条件}
2271               \textcolor{comment}{!     RF    : 上端粘着, 下端応力なし条件}
2272               \textcolor{comment}{!     FR    : 上端応力なし, 下端粘着条件}
2273               \textcolor{comment}{!     FF    : 両端応力なし条件}
2274 
2275       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
2276               \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
2277               \textcolor{comment}{!     default は false.}
2278 
2279       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
2280       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
2281 
2282       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)} :: e2t\_work
2283       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)} :: e2z\_work
2284 
2285       \textcolor{keywordtype}{logical} :: rigid1 = .true.
2286       \textcolor{keywordtype}{logical} :: rigid2 = .true.
2287       \textcolor{keywordtype}{logical} :: first = .true.
2288       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
2289       \textcolor{keywordtype}{integer}  :: n
2290       \textcolor{keywordtype}{save}     :: alu, kp, first
2291 
2292       \textcolor{keywordflow}{select case} (cond)
2293       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RR'})
2294         rigid1 = .true.  ; rigid2 = .true.
2295       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RF'})
2296         rigid1 = .true.  ; rigid2 = .false.
2297       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FR'})
2298         rigid1 = .false. ; rigid2 = .true.
2299       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FF'})
2300         rigid1 = .false. ; rigid2 = .false.
2301 \textcolor{keywordflow}{      case default}
2302         \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_TorBoundariesGrid'},\textcolor{stringliteral}{'B.C. not supported'})
2303 \textcolor{keywordflow}{      end select}
2304 
2305       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
2306          new\_matrix=.false.
2307       \textcolor{keywordflow}{else}
2308          new\_matrix=new
2309 \textcolor{keywordflow}{      endif}
2310 
2311       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
2312          first = .false.
2313 
2314          \textcolor{keywordflow}{if} ( nm /= km ) \textcolor{keywordflow}{then}
2315             \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_TorBoundariesGrid'}, &
2316              \textcolor{stringliteral}{'Chebyshev truncation and number of grid points should be same.'})
2317 \textcolor{keywordflow}{         endif}
2318 
2319          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
2320          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
2321          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:km,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
2322 
2323          \textcolor{keywordflow}{do} n=0,nm
2324             e2t\_work = 0.0d0 ; e2t\_work(:,n)=1.0d0
2325             e2z\_work = az\_at(e2t\_work)
2326 
2327             alu(:,:,n) = e2z\_work          \textcolor{comment}{! 内部領域は値そのまま.}
2328 
2329 
2330             \textcolor{comment}{! 粘着条件}
2331             \textcolor{comment}{! 力学的条件粘着条件}
2332             \textcolor{keywordflow}{if} ( rigid1 ) \textcolor{keywordflow}{then}
2333                e2z\_work = az\_at(e2t\_work)
2334             \textcolor{keywordflow}{else}
2335                e2z\_work=az\_at(at\_dz\_at(e2t\_work))
2336 \textcolor{keywordflow}{            endif}
2337             alu(:,0,n) = e2z\_work(:,0)
2338 
2339             \textcolor{comment}{! 力学的条件粘着条件}
2340             \textcolor{keywordflow}{if} ( rigid2 ) \textcolor{keywordflow}{then}
2341                e2z\_work = az\_at(e2t\_work)
2342             \textcolor{keywordflow}{else}
2343                e2z\_work=az\_at(at\_dz\_at(e2t\_work))
2344 \textcolor{keywordflow}{            endif}
2345             alu(:,km,n)   = e2z\_work(:,km)
2346 
2347 \textcolor{keywordflow}{         enddo}
2348          \textcolor{keyword}{call }ludecomp(alu,kp)
2349          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'TorBoundariesGrid'},&
2350                             \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
2351 \textcolor{keywordflow}{      endif}
2352 
2353       e2z\_work = az\_at(e2a\_aef(tef\_tor))
2354       e2z\_work(:,0)  = 0.0d0
2355       e2z\_work(:,km) = 0.0d0
2356       tef\_tor = aef\_e2a(lusolve(alu,kp,e2z\_work))
2357 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=349pt]{namespacetee__mpi__module_ad075c56ae5b9df66fbd4c4bb514571d9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a36db345350bd26a52d95977ced5f04a3}\label{namespacetee__mpi__module_a36db345350bd26a52d95977ced5f04a3}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+torboundariestau@{tef\+\_\+torboundariestau}}
\index{tef\+\_\+torboundariestau@{tef\+\_\+torboundariestau}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+torboundariestau()}{tef\_torboundariestau()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+torboundariestau (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(inout)}]{tef\+\_\+\+T\+OR,  }\item[{character(len=2), intent(in), optional}]{cond,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 2143 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), and e2a\+\_\+aef().


\begin{DoxyCode}
2143 
2144       \textcolor{comment}{! トロイダル速度ポテンシャルに対して境界条件を適用する.}
2145       \textcolor{comment}{! Chebyshev 空間での境界条件適用}
2146       \textcolor{comment}{!}
2147       \textcolor{comment}{! チェビシェフ空間において境界条件を満たすべく高次の係数を定める方法を}
2148       \textcolor{comment}{! とっている(タウ法). トロイダルポテンシャルの境界条件は}
2149       \textcolor{comment}{!}
2150       \textcolor{comment}{!     ψ = 0 at boundaries           (粘着条件)}
2151       \textcolor{comment}{!     ∂ψ/∂z = 0 at boundaries    (応力なし条件)}
2152       \textcolor{comment}{!}
2153       \textcolor{comment}{! であるから tef\_Boundaries で対応可能だが, 将来のため別途作成しておく.}
2154       \textcolor{comment}{!}
2155       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
2156       \textcolor{comment}{!}
2157       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(inout)}   :: tef\_tor
2158               \textcolor{comment}{!(inout) 境界条件を適用するデータ. 修正された値を返す.}
2159 
2160       \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: cond
2161               \textcolor{comment}{!(in) 境界条件スイッチ. 省略時は 'RR'}
2162               \textcolor{comment}{!     RR    : 両端粘着条件}
2163               \textcolor{comment}{!     RF    : 上端粘着, 下端応力なし条件}
2164               \textcolor{comment}{!     FR    : 上端応力なし, 下端粘着条件}
2165               \textcolor{comment}{!     FF    : 両端応力なし条件}
2166 
2167       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
2168               \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
2169               \textcolor{comment}{!     default は false.}
2170 
2171       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
2172       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
2173 
2174       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)} :: e2t\_work
2175       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)} :: e2z\_work
2176 
2177       \textcolor{keywordtype}{logical} :: rigid1 = .true.
2178       \textcolor{keywordtype}{logical} :: rigid2 = .true.
2179       \textcolor{keywordtype}{logical} :: first = .true.
2180       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
2181       \textcolor{keywordtype}{integer} :: n
2182       \textcolor{keywordtype}{save}    :: alu, kp, first
2183 
2184       \textcolor{keywordflow}{select case} (cond)
2185       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RR'})
2186         rigid1 = .true.  ; rigid2 = .true.
2187       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RF'})
2188         rigid1 = .true.  ; rigid2 = .false.
2189       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FR'})
2190         rigid1 = .false. ; rigid2 = .true.
2191       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FF'})
2192         rigid1 = .false. ; rigid2 = .false.
2193 \textcolor{keywordflow}{      case default}
2194         \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_TorBoundariesTau'},\textcolor{stringliteral}{'B.C. not supported'})
2195 \textcolor{keywordflow}{      end select}
2196 
2197       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
2198          new\_matrix=.false.
2199       \textcolor{keywordflow}{else}
2200          new\_matrix=new
2201 \textcolor{keywordflow}{      endif}
2202 
2203       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
2204          first = .false.
2205 
2206          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
2207          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
2208          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:nm,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
2209 
2210          \textcolor{keywordflow}{do} n=0,nm
2211             e2t\_work= 0.0d0 ; e2t\_work(:,n)= 1.0d0
2212             alu(:,:,n) = e2t\_work
2213 
2214             \textcolor{comment}{! 粘着条件}
2215             \textcolor{comment}{! 力学的条件粘着条件}
2216             \textcolor{keywordflow}{if} ( rigid1 ) \textcolor{keywordflow}{then}
2217                e2z\_work = az\_at(e2t\_work)
2218             \textcolor{keywordflow}{else}
2219                e2z\_work = az\_at(at\_dz\_at(e2t\_work))
2220 \textcolor{keywordflow}{            endif}
2221             alu(:,nm-1,n) = e2z\_work(:,0)
2222 
2223             \textcolor{comment}{! 力学的条件粘着条件}
2224             \textcolor{keywordflow}{if} ( rigid2 ) \textcolor{keywordflow}{then}
2225                e2z\_work = az\_at(e2t\_work)
2226             \textcolor{keywordflow}{else}
2227                e2z\_work = az\_at(at\_dz\_at(e2t\_work))
2228 \textcolor{keywordflow}{            endif}
2229             alu(:,nm,n)   = e2z\_work(:,km)
2230 \textcolor{keywordflow}{         enddo}
2231 
2232          \textcolor{keyword}{call }ludecomp(alu,kp)
2233          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'tef\_TorBoundariesTau'},&
2234                             \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
2235 \textcolor{keywordflow}{      endif}
2236 
2237       e2t\_work = e2a\_aef(tef\_tor)
2238 
2239       e2t\_work(:,nm-1) = 0.0d0
2240       e2t\_work(:,nm)   = 0.0d0
2241 
2242       tef\_tor = aef\_e2a(lusolve(alu,kp,e2t\_work))
2243 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=349pt]{namespacetee__mpi__module_a36db345350bd26a52d95977ced5f04a3_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a1b3a97ab7e59029608119c3350dfc142}\label{namespacetee__mpi__module_a1b3a97ab7e59029608119c3350dfc142}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+tormagboundariesgrid@{tef\+\_\+tormagboundariesgrid}}
\index{tef\+\_\+tormagboundariesgrid@{tef\+\_\+tormagboundariesgrid}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+tormagboundariesgrid()}{tef\_tormagboundariesgrid()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+tormagboundariesgrid (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(inout)}]{tef\+\_\+\+T\+OR,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 2823 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), and e2a\+\_\+aef().


\begin{DoxyCode}
2823       \textcolor{comment}{!}
2824       \textcolor{comment}{! 磁場トロイダルポテンシャルに対して境界条件を適用する.}
2825       \textcolor{comment}{! 鉛直実空間での境界条件適用.}
2826       \textcolor{comment}{!}
2827       \textcolor{comment}{! 鉛直実格子点空間において内部領域の値と境界条件を満たすように}
2828       \textcolor{comment}{! 条件を課している(選点法). このルーチンを用いるためには}
2829       \textcolor{comment}{! tef\_Initial にて設定するチェビシェフ切断波数(nm)と鉛直格子点数(km)を}
2830       \textcolor{comment}{! 等しくしておく必要がある.}
2831       \textcolor{comment}{!}
2832       \textcolor{comment}{! 現在のところ境界物質が非電気伝導体の場合のみ対応している.}
2833       \textcolor{comment}{! その場合, 磁場トロイダルポテンシャルの境界条件は}
2834       \textcolor{comment}{!}
2835       \textcolor{comment}{! 上側}
2836       \textcolor{comment}{!    tef\_psi = 0   at the outer boundary}
2837       \textcolor{comment}{! 下側}
2838       \textcolor{comment}{!    tef\_psi = 0   at the inner boundary}
2839       \textcolor{comment}{!}
2840       \textcolor{comment}{! であるので tef\_Boundaries で対応可能だが, 将来のため別途作成しておく}
2841       \textcolor{comment}{!}
2842       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
2843       \textcolor{comment}{!}
2844       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(inout)}   :: tef\_tor
2845               \textcolor{comment}{!(inout) 境界条件を適用するデータ. 修正された値を返す.}
2846 
2847       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
2848               \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
2849               \textcolor{comment}{!     default は false.}
2850 
2851       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
2852       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
2853 
2854       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)} :: e2t\_work
2855       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)} :: e2z\_work
2856 
2857       \textcolor{keywordtype}{logical} :: first = .true.
2858       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
2859       \textcolor{keywordtype}{integer}  :: n
2860       \textcolor{keywordtype}{save}     :: alu, kp, first
2861 
2862       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
2863          new\_matrix=.false.
2864       \textcolor{keywordflow}{else}
2865          new\_matrix=new
2866 \textcolor{keywordflow}{      endif}
2867 
2868       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
2869          first = .false.
2870 
2871          \textcolor{keywordflow}{if} ( nm /= km ) \textcolor{keywordflow}{then}
2872             \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'tef\_TorMagBoundariesGrid'}, &
2873              \textcolor{stringliteral}{'Chebyshev truncation and number of grid points should be same.'})
2874 \textcolor{keywordflow}{         endif}
2875 
2876          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
2877          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
2878          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:km,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
2879 
2880          \textcolor{keywordflow}{do} n=0,nm
2881             e2t\_work = 0.0d0 ; e2t\_work(:,n)=1.0d0
2882             e2z\_work = az\_at(e2t\_work)
2883 
2884             alu(:,:,n) = e2z\_work          \textcolor{comment}{! 内部領域は値そのまま.}
2885 
2886             \textcolor{comment}{! 非電気伝導体}
2887             alu(:,0,n)  = e2z\_work(:,0)
2888             alu(:,km,n) = e2z\_work(:,km)
2889 
2890 \textcolor{keywordflow}{         enddo}
2891          \textcolor{keyword}{call }ludecomp(alu,kp)
2892          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'TormagBoundariesGrid'},&
2893                             \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
2894 \textcolor{keywordflow}{      endif}
2895 
2896       e2z\_work = az\_at(e2a\_aef(tef\_tor))
2897       e2z\_work(:,0)  = 0.0d0
2898       e2z\_work(:,km) = 0.0d0
2899       tef\_tor = aef\_e2a(lusolve(alu,kp,e2z\_work))
2900 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a1b3a97ab7e59029608119c3350dfc142_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a6f48f26f2236d66a3913a542d115bf05}\label{namespacetee__mpi__module_a6f48f26f2236d66a3913a542d115bf05}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+tormagboundariestau@{tef\+\_\+tormagboundariestau}}
\index{tef\+\_\+tormagboundariestau@{tef\+\_\+tormagboundariestau}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+tormagboundariestau()}{tef\_tormagboundariestau()}}
{\footnotesize\ttfamily subroutine, public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+tormagboundariestau (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(inout)}]{tef\+\_\+\+T\+OR,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 2748 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), and e2a\+\_\+aef().


\begin{DoxyCode}
2748 
2749       \textcolor{comment}{! 磁場トロイダルポテンシャルに対して境界条件を適用する.}
2750       \textcolor{comment}{! Chebyshev 空間での境界条件適用}
2751       \textcolor{comment}{!}
2752       \textcolor{comment}{! チェビシェフ空間において境界条件を満たすべく高次の係数を定める方法を}
2753       \textcolor{comment}{! とっている(タウ法). 現在のところ境界物質が非電気伝導体の場合のみ}
2754       \textcolor{comment}{! 対応している. その場合, 磁場トロイダルポテンシャルの境界条件は}
2755       \textcolor{comment}{!}
2756       \textcolor{comment}{! 上側}
2757       \textcolor{comment}{!    tef\_psi = 0   at the outer boundary}
2758       \textcolor{comment}{! 下側}
2759       \textcolor{comment}{!    tef\_psi = 0   at the inner boundary}
2760       \textcolor{comment}{!}
2761       \textcolor{comment}{! であるから tef\_Boundaries で対応可能だが, 将来のため別途作成しておく.}
2762       \textcolor{comment}{!}
2763       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
2764       \textcolor{comment}{!}
2765       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(inout)}   :: tef\_tor
2766               \textcolor{comment}{!(inout) 境界条件を適用するデータ. 修正された値を返す.}
2767 
2768       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
2769               \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
2770               \textcolor{comment}{!     default は false.}
2771 
2772       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
2773       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
2774 
2775       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:nm)} :: e2t\_work
2776       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)} :: e2z\_work
2777 
2778       \textcolor{keywordtype}{logical} :: first = .true.
2779       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
2780       \textcolor{keywordtype}{integer}  :: n
2781       \textcolor{keywordtype}{save}     :: alu, kp, first
2782 
2783       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
2784          new\_matrix=.false.
2785       \textcolor{keywordflow}{else}
2786          new\_matrix=new
2787 \textcolor{keywordflow}{      endif}
2788 
2789       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
2790          first = .false.
2791 
2792          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
2793          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
2794          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:nm,0:nm),kp(2*lc(ip)*(2*mm+1),0:nm))
2795 
2796          \textcolor{keywordflow}{do} n=0,nm
2797             e2t\_work= 0.0d0 ; e2t\_work(:,n)= 1.0d0
2798             alu(:,:,n) = e2t\_work
2799 
2800             \textcolor{comment}{! 非電気伝導体}
2801             e2z\_work = az\_at(e2t\_work)
2802             alu(:,nm-1,n) = e2z\_work(:,0)
2803             alu(:,nm,n)   = e2z\_work(:,km)
2804 
2805 \textcolor{keywordflow}{         enddo}
2806 
2807          \textcolor{keyword}{call }ludecomp(alu,kp)
2808          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'tef\_TormagBoundariesTau'},&
2809                             \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
2810 \textcolor{keywordflow}{      endif}
2811 
2812       e2t\_work = e2a\_aef(tef\_tor)
2813 
2814       e2t\_work(:,nm-1) = 0.0d0
2815       e2t\_work(:,nm)   = 0.0d0
2816 
2817 
2818       tef\_tor = aef\_e2a(lusolve(alu,kp,e2t\_work))
2819 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a6f48f26f2236d66a3913a542d115bf05_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_af7ef55a3fd909c7ea5e103fcfdc0ef02}\label{namespacetee__mpi__module_af7ef55a3fd909c7ea5e103fcfdc0ef02}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+zef@{tef\+\_\+zef}}
\index{tef\+\_\+zef@{tef\+\_\+zef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+zef()}{tef\_zef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+zef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{zef }\end{DoxyParamCaption})}



Definition at line 533 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), e2a\+\_\+aef(), and e2t\+\_\+e2z().


\begin{DoxyCode}
533       \textcolor{comment}{!}
534       \textcolor{comment}{! 水平スペクトル・鉛直格子点データからスペクトルデータへ(正)変換する.}
535       \textcolor{comment}{!}
536       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: zef
537       \textcolor{comment}{!(in) 2 次元水平スペクトル・鉛直格子点データ}
538       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}             :: tef\_zef
539       \textcolor{comment}{!(out) 2 次元水平鉛直チェビシェフスペクトルデータ}
540 
541       tef\_zef = aef\_e2a(e2t\_e2z(e2a\_aef(zef)))
542 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_af7ef55a3fd909c7ea5e103fcfdc0ef02_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a5b05c6ec47b32159945f525e2d0851ca}\label{namespacetee__mpi__module_a5b05c6ec47b32159945f525e2d0851ca}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+zrot\+\_\+zvx\+\_\+zvx@{tef\+\_\+zrot\+\_\+zvx\+\_\+zvx}}
\index{tef\+\_\+zrot\+\_\+zvx\+\_\+zvx@{tef\+\_\+zrot\+\_\+zvx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+zrot\+\_\+zvx\+\_\+zvx()}{tef\_zrot\_zvx\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+zrot\+\_\+zvx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx\+\_\+\+VX,  }\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx\+\_\+\+VY }\end{DoxyParamCaption})}



Definition at line 1622 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+dx\+\_\+tef(), tef\+\_\+dy\+\_\+tef(), and tef\+\_\+zvx().


\begin{DoxyCode}
1622       \textcolor{comment}{!}
1623       \textcolor{comment}{! ベクトルの渦度とZベクトルの内積 z・(▽×v) を計算する.}
1624       \textcolor{comment}{!}
1625       \textcolor{comment}{! 第 1, 2 引数(v[x], v[y])がそれぞれベクトルのX成分, Y成分を表す.}
1626       \textcolor{comment}{!}
1627       \textcolor{comment}{!    z・(▽×v) = ∂v[y]/∂x - ∂(v[x])/∂y}
1628       \textcolor{comment}{!}
1629       \textcolor{comment}{! のスペクトル データが返される.}
1630       \textcolor{comment}{!}
1631       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx\_vx
1632       \textcolor{comment}{!(in) ベクトルのX成分}
1633 
1634       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx\_vy
1635       \textcolor{comment}{!(in) ベクトルのY成分}
1636 
1637       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}     :: tef\_zrot\_zvx\_zvx
1638       \textcolor{comment}{!(out) ベクトルの渦度とZベクトルの内積}
1639 
1640       tef\_zrot\_zvx\_zvx = tef\_dx\_tef(tef\_zvx(zvx\_vy)) &
1641                        - tef\_dy\_tef(tef\_zvx(zvx\_vx))
1642 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a5b05c6ec47b32159945f525e2d0851ca_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_aa1e529d8a3f32002b842060793fe6139}\label{namespacetee__mpi__module_aa1e529d8a3f32002b842060793fe6139}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+zrotrot\+\_\+zvx\+\_\+zvx\+\_\+zvx@{tef\+\_\+zrotrot\+\_\+zvx\+\_\+zvx\+\_\+zvx}}
\index{tef\+\_\+zrotrot\+\_\+zvx\+\_\+zvx\+\_\+zvx@{tef\+\_\+zrotrot\+\_\+zvx\+\_\+zvx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+zrotrot\+\_\+zvx\+\_\+zvx\+\_\+zvx()}{tef\_zrotrot\_zvx\_zvx\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+zrotrot\+\_\+zvx\+\_\+zvx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx\+\_\+\+VX,  }\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx\+\_\+\+VY,  }\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx\+\_\+\+VZ }\end{DoxyParamCaption})}



Definition at line 1646 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+dx\+\_\+tef(), tef\+\_\+dy\+\_\+tef(), tef\+\_\+dz\+\_\+tef(), tef\+\_\+laplah\+\_\+tef(), and tef\+\_\+zvx().


\begin{DoxyCode}
1646       \textcolor{comment}{!}
1647       \textcolor{comment}{! ベクトル v に対して z・(▽×▽×v) を計算する.}
1648       \textcolor{comment}{!}
1649       \textcolor{comment}{! 第 1, 2, 3 引数(v[x], v[y], v[z])がそれぞれベクトルのX成分,}
1650       \textcolor{comment}{! Y成分, Z成分を表す.}
1651       \textcolor{comment}{!}
1652       \textcolor{comment}{!    z・(▽×▽×v)  = ∂/∂z (∂v[x]/∂x + ∂(v[y])/∂y ) )}
1653       \textcolor{comment}{!                    - ▽\_H^2 v[z]}
1654       \textcolor{comment}{!}
1655       \textcolor{comment}{! のスペクトルデータが返される.}
1656       \textcolor{comment}{!}
1657       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx\_vx
1658       \textcolor{comment}{!(in) ベクトルのX成分}
1659 
1660       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx\_vy
1661       \textcolor{comment}{!(in) ベクトルのY成分}
1662 
1663       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx\_vz
1664       \textcolor{comment}{!(in) ベクトルのZ成分}
1665 
1666       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}     :: tef\_zrotrot\_zvx\_zvx\_zvx
1667       \textcolor{comment}{!(out) ベクトル v の z・(▽×▽×v)}
1668 
1669       tef\_zrotrot\_zvx\_zvx\_zvx = &
1670                tef\_dz\_tef(   tef\_dx\_tef(tef\_zvx(zvx\_vx))   &
1671                            + tef\_dy\_tef(tef\_zvx(zvx\_vy)) ) &
1672              - tef\_laplah\_tef(tef\_zvx(zvx\_vz))
1673 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_aa1e529d8a3f32002b842060793fe6139_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a54324533c479d17a2e8f8a95efa68878}\label{namespacetee__mpi__module_a54324533c479d17a2e8f8a95efa68878}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tef\+\_\+zvx@{tef\+\_\+zvx}}
\index{tef\+\_\+zvx@{tef\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tef\+\_\+zvx()}{tef\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::tef\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 457 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+zef(), and zef\+\_\+zvx().


\begin{DoxyCode}
457       \textcolor{comment}{!}
458       \textcolor{comment}{! 3 次元格子点データからスペクトルデータへ(正)変換する.}
459       \textcolor{comment}{!}
460       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
461       \textcolor{comment}{!(in) 3 次元格子点データ}
462       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}             :: tef\_zvx
463       \textcolor{comment}{!(out) 2 重フーリエチェビシェフスペクトルデータ}
464 
465       tef\_zvx = tef\_zef(zef\_zvx(zvx))
466 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a54324533c479d17a2e8f8a95efa68878_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a5c33da6b58be1d665b26d967d4d0a15d}\label{namespacetee__mpi__module_a5c33da6b58be1d665b26d967d4d0a15d}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!v\+\_\+avrz\+\_\+zv@{v\+\_\+avrz\+\_\+zv}}
\index{v\+\_\+avrz\+\_\+zv@{v\+\_\+avrz\+\_\+zv}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{v\+\_\+avrz\+\_\+zv()}{v\_avrz\_zv()}}
{\footnotesize\ttfamily real(8) function, dimension(jc(ip)), public tee\+\_\+mpi\+\_\+module\+::v\+\_\+avrz\+\_\+zv (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip)), intent(in)}]{zv }\end{DoxyParamCaption})}



Definition at line 1443 of file tee\+\_\+mpi\+\_\+module.\+f90.



References v\+\_\+intz\+\_\+zv().


\begin{DoxyCode}
1443       \textcolor{comment}{!}
1444       \textcolor{comment}{! 2 次元(ZV)格子点データのZ方向平均.}
1445       \textcolor{comment}{!}
1446       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip))}, \textcolor{keywordtype}{intent(in)} :: zv
1447       \textcolor{comment}{!(in) 2 次元ZV格子点データ}
1448 
1449       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(jc(ip))}  :: v\_avrz\_zv
1450       \textcolor{comment}{!(out) Z平均された 1 次元Y格子点データ}
1451 
1452       v\_avrz\_zv = v\_intz\_zv(zv)/sum(z\_z\_weight)
1453 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a5c33da6b58be1d665b26d967d4d0a15d_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a14e83d957951f2b6b85a61873f21ac15}\label{namespacetee__mpi__module_a14e83d957951f2b6b85a61873f21ac15}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!v\+\_\+avrzx\+\_\+zvx@{v\+\_\+avrzx\+\_\+zvx}}
\index{v\+\_\+avrzx\+\_\+zvx@{v\+\_\+avrzx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{v\+\_\+avrzx\+\_\+zvx()}{v\_avrzx\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(jc(ip)), public tee\+\_\+mpi\+\_\+module\+::v\+\_\+avrzx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1385 of file tee\+\_\+mpi\+\_\+module.\+f90.



References v\+\_\+intzx\+\_\+zvx(), and ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight.


\begin{DoxyCode}
1385       \textcolor{comment}{!}
1386       \textcolor{comment}{! 3 次元格子点データのZX平均.}
1387       \textcolor{comment}{!}
1388       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1389       \textcolor{comment}{!(in) 3 次元格子点データ}
1390 
1391       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(jc(ip))}       :: v\_avrzx\_zvx
1392       \textcolor{comment}{!(out) ZX平均された 1 次元Y格子点データ}
1393 
1394       v\_avrzx\_zvx = v\_intzx\_zvx(zvx) &
1395                  /(sum(x\_x\_weight)*sum(z\_z\_weight))
1396 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a14e83d957951f2b6b85a61873f21ac15_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_af54d00ce30bbf3070eebc76ee0035fa5}\label{namespacetee__mpi__module_af54d00ce30bbf3070eebc76ee0035fa5}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!v\+\_\+intz\+\_\+zv@{v\+\_\+intz\+\_\+zv}}
\index{v\+\_\+intz\+\_\+zv@{v\+\_\+intz\+\_\+zv}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{v\+\_\+intz\+\_\+zv()}{v\_intz\_zv()}}
{\footnotesize\ttfamily real(8) function, dimension(jc(ip)), public tee\+\_\+mpi\+\_\+module\+::v\+\_\+intz\+\_\+zv (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip)), intent(in)}]{zv }\end{DoxyParamCaption})}



Definition at line 1202 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
1202       \textcolor{comment}{!}
1203       \textcolor{comment}{! 2 次元(ZV)格子点データのZ方向域積分.}
1204       \textcolor{comment}{!}
1205       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip))}, \textcolor{keywordtype}{intent(in)} :: zv
1206       \textcolor{comment}{!(in) 2 次元ZV格子点データ}
1207 
1208       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(jc(ip))}  :: v\_intz\_zv
1209       \textcolor{comment}{!(out) Z積分された 1 次元Y格子点データ}
1210 
1211       \textcolor{keywordtype}{integer} :: k
1212 
1213       v\_intz\_zv = 0.0d0
1214       \textcolor{keywordflow}{do} k=0,km
1215          v\_intz\_zv(:) = v\_intz\_zv(:) &
1216                        + zv(k,:) * z\_z\_weight(k)
1217 \textcolor{keywordflow}{      enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_af42394b929198083836ed8a667c032e7}\label{namespacetee__mpi__module_af42394b929198083836ed8a667c032e7}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!v\+\_\+intzx\+\_\+zvx@{v\+\_\+intzx\+\_\+zvx}}
\index{v\+\_\+intzx\+\_\+zvx@{v\+\_\+intzx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{v\+\_\+intzx\+\_\+zvx()}{v\_intzx\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(jc(ip)), public tee\+\_\+mpi\+\_\+module\+::v\+\_\+intzx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1102 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight.


\begin{DoxyCode}
1102       \textcolor{comment}{!}
1103       \textcolor{comment}{! 3 次元格子点データのZX積分.}
1104       \textcolor{comment}{!}
1105       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1106       \textcolor{comment}{!(in) 3 次元ZVX格子点データ}
1107 
1108       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(jc(ip))}       :: v\_intzx\_zvx
1109       \textcolor{comment}{!(out) ZX積分された 1 次元Y格子点データ}
1110 
1111       \textcolor{keywordtype}{integer} :: i, k
1112 
1113       v\_intzx\_zvx = 0
1114       \textcolor{keywordflow}{do} i=0,im-1
1115          \textcolor{keywordflow}{do} k=0,km
1116             v\_intzx\_zvx = v\_intzx\_zvx &
1117                  + zvx(k,:,i) * x\_x\_weight(i) * z\_z\_weight(k)
1118 \textcolor{keywordflow}{         enddo}
1119 \textcolor{keywordflow}{      enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_ad9be8fe651663dad54f775310ea923a5}\label{namespacetee__mpi__module_ad9be8fe651663dad54f775310ea923a5}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!vx\+\_\+avrz\+\_\+zvx@{vx\+\_\+avrz\+\_\+zvx}}
\index{vx\+\_\+avrz\+\_\+zvx@{vx\+\_\+avrz\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{vx\+\_\+avrz\+\_\+zvx()}{vx\_avrz\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(jc(ip),0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::vx\+\_\+avrz\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1357 of file tee\+\_\+mpi\+\_\+module.\+f90.



References vx\+\_\+intz\+\_\+zvx().


\begin{DoxyCode}
1357       \textcolor{comment}{!}
1358       \textcolor{comment}{! 3 次元格子点データのZ方向平均.}
1359       \textcolor{comment}{!}
1360       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1361       \textcolor{comment}{!(in) 3 次元格子点データ}
1362 
1363       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(jc(ip),0:im-1)}  :: vx\_avrz\_zvx
1364       \textcolor{comment}{!(out) Z平均された 2 次元VX(水平)格子点データ}
1365 
1366       vx\_avrz\_zvx = vx\_intz\_zvx(zvx)/sum(z\_z\_weight)
1367 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=324pt]{namespacetee__mpi__module_ad9be8fe651663dad54f775310ea923a5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a40dabf919da7038d2fe87abb901579ed}\label{namespacetee__mpi__module_a40dabf919da7038d2fe87abb901579ed}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!vx\+\_\+intz\+\_\+zvx@{vx\+\_\+intz\+\_\+zvx}}
\index{vx\+\_\+intz\+\_\+zvx@{vx\+\_\+intz\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{vx\+\_\+intz\+\_\+zvx()}{vx\_intz\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(jc(ip),0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::vx\+\_\+intz\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1057 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
1057       \textcolor{comment}{!}
1058       \textcolor{comment}{! 3 次元格子点データのZ方向積分.}
1059       \textcolor{comment}{!}
1060       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1061       \textcolor{comment}{!(in) 3 次元格子点データ}
1062 
1063       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(jc(ip),0:im-1)}  :: vx\_intz\_zvx
1064       \textcolor{comment}{!(out) Z積分された 2 次元VX(水平)格子点データ}
1065 
1066       \textcolor{keywordtype}{integer} :: k
1067 
1068       vx\_intz\_zvx = 0.0d0
1069       \textcolor{keywordflow}{do} k=0,km
1070          vx\_intz\_zvx(:,:) = vx\_intz\_zvx(:,:) &
1071                        + zvx(k,:,:) * z\_z\_weight(k)
1072 \textcolor{keywordflow}{      enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a6c4161d4c2b863b81eada9353d1e6a1f}\label{namespacetee__mpi__module_a6c4161d4c2b863b81eada9353d1e6a1f}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!x\+\_\+avrz\+\_\+zx@{x\+\_\+avrz\+\_\+zx}}
\index{x\+\_\+avrz\+\_\+zx@{x\+\_\+avrz\+\_\+zx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{x\+\_\+avrz\+\_\+zx()}{x\_avrz\_zx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::x\+\_\+avrz\+\_\+zx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,0\+:im-\/1), intent(in)}]{zx }\end{DoxyParamCaption})}



Definition at line 1486 of file tee\+\_\+mpi\+\_\+module.\+f90.



References x\+\_\+intz\+\_\+zx().


\begin{DoxyCode}
1486       \textcolor{comment}{!}
1487       \textcolor{comment}{! 2 次元(ZX)格子点データのZ方向平均.}
1488       \textcolor{comment}{!}
1489       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zx
1490       \textcolor{comment}{!(in) 2 次元ZV格子点データ}
1491 
1492       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1)}  :: x\_avrz\_zx
1493       \textcolor{comment}{!(out) Z平均された 1 次元X格子点データ}
1494 
1495       x\_avrz\_zx = x\_intz\_zx(zx)/sum(z\_z\_weight)
1496 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a6c4161d4c2b863b81eada9353d1e6a1f_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_af17c2fb478c6fb4b58b843491b142f22}\label{namespacetee__mpi__module_af17c2fb478c6fb4b58b843491b142f22}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!x\+\_\+avrzy\+\_\+zvx@{x\+\_\+avrzy\+\_\+zvx}}
\index{x\+\_\+avrzy\+\_\+zvx@{x\+\_\+avrzy\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{x\+\_\+avrzy\+\_\+zvx()}{x\_avrzy\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::x\+\_\+avrzy\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1371 of file tee\+\_\+mpi\+\_\+module.\+f90.



References x\+\_\+intzy\+\_\+zvx().


\begin{DoxyCode}
1371       \textcolor{comment}{!}
1372       \textcolor{comment}{! 3 次元格子点データのZV平均}
1373       \textcolor{comment}{!}
1374       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1375       \textcolor{comment}{!(in) 3 次元ZVX格子点データ}
1376 
1377       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1)}     :: x\_avrzy\_zvx
1378       \textcolor{comment}{!(out) ZV平均された 1 次元X格子点データ}
1379 
1380       x\_avrzy\_zvx = x\_intzy\_zvx(zvx)/(yl*zl)
1381 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_af17c2fb478c6fb4b58b843491b142f22_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a8c57fc17bf8d438310f55a63b4dd88ce}\label{namespacetee__mpi__module_a8c57fc17bf8d438310f55a63b4dd88ce}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!x\+\_\+intz\+\_\+zx@{x\+\_\+intz\+\_\+zx}}
\index{x\+\_\+intz\+\_\+zx@{x\+\_\+intz\+\_\+zx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{x\+\_\+intz\+\_\+zx()}{x\_intz\_zx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::x\+\_\+intz\+\_\+zx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,0\+:im-\/1), intent(in)}]{zx }\end{DoxyParamCaption})}



Definition at line 1267 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
1267       \textcolor{comment}{!}
1268       \textcolor{comment}{! 2 次元(ZX)格子点データのZ方向積分.}
1269       \textcolor{comment}{!}
1270       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zx
1271       \textcolor{comment}{!(in) 2 次元ZV格子点データ}
1272 
1273       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1)}  :: x\_intz\_zx
1274       \textcolor{comment}{!(out) Z積分された 1 次元X格子点データ}
1275 
1276       \textcolor{keywordtype}{integer} :: k
1277 
1278       x\_intz\_zx = 0.0d0
1279       \textcolor{keywordflow}{do} k=0,km
1280          x\_intz\_zx(:) = x\_intz\_zx(:) &
1281                        + zx(k,:) * z\_z\_weight(k)
1282 \textcolor{keywordflow}{      enddo}
1283 
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a90ecfd143d1dcbec222bf6f3dedd098f}\label{namespacetee__mpi__module_a90ecfd143d1dcbec222bf6f3dedd098f}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!x\+\_\+intzy\+\_\+zvx@{x\+\_\+intzy\+\_\+zvx}}
\index{x\+\_\+intzy\+\_\+zvx@{x\+\_\+intzy\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{x\+\_\+intzy\+\_\+zvx()}{x\_intzy\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::x\+\_\+intzy\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1076 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::jc, and ee\+\_\+mpi\+\_\+module\+::v\+\_\+y\+\_\+weight.


\begin{DoxyCode}
1076       \textcolor{comment}{!}
1077       \textcolor{comment}{! 3 次元格子点データのZV積分}
1078       \textcolor{comment}{!}
1079       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1080       \textcolor{comment}{!(in) 3 次元ZVX格子点データ}
1081 
1082       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1)}     :: x\_intzy\_zvx
1083       \textcolor{comment}{!(out) ZV(子午面)積分された 1 次元X格子点データ}
1084 
1085       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:im-1)}        :: x\_intzytmp
1086       \textcolor{keywordtype}{integer} :: j, k, ierr
1087 
1088       x\_intzytmp = 0.0d0
1089       \textcolor{keywordflow}{do} j=1,jc(ip)
1090          \textcolor{keywordflow}{do} k=0,km
1091             x\_intzytmp = x\_intzytmp &
1092                  + zvx(k,j,:) * v\_y\_weight(j) * z\_z\_weight(k)
1093 \textcolor{keywordflow}{         enddo}
1094 \textcolor{keywordflow}{      enddo}
1095 
1096       \textcolor{keyword}{CALL }mpi\_allreduce(x\_intzytmp,x\_intzy\_zvx,im,mpi\_real8, &
1097                          mpi\_sum,mpi\_comm\_world,ierr)
1098       
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_af578a64edb438818163aa034154cac17}\label{namespacetee__mpi__module_af578a64edb438818163aa034154cac17}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!z\+\_\+avrx\+\_\+zx@{z\+\_\+avrx\+\_\+zx}}
\index{z\+\_\+avrx\+\_\+zx@{z\+\_\+avrx\+\_\+zx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{z\+\_\+avrx\+\_\+zx()}{z\_avrx\_zx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km), public tee\+\_\+mpi\+\_\+module\+::z\+\_\+avrx\+\_\+zx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,0\+:im-\/1), intent(in)}]{zx }\end{DoxyParamCaption})}



Definition at line 1472 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight, and z\+\_\+intx\+\_\+zx().


\begin{DoxyCode}
1472       \textcolor{comment}{!}
1473       \textcolor{comment}{! 2 次元(ZX)格子点データのX方向平均.}
1474       \textcolor{comment}{!}
1475       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zx
1476       \textcolor{comment}{!(in) 2 次元ZV格子点データ}
1477 
1478       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}  :: z\_avrx\_zx
1479       \textcolor{comment}{!(out) X平均された 1 次元Z格子点データ}
1480 
1481       z\_avrx\_zx = z\_intx\_zx(zx)/sum(x\_x\_weight)
1482 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_af578a64edb438818163aa034154cac17_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a8cdb0fc865622297f57056a2c2d3e32a}\label{namespacetee__mpi__module_a8cdb0fc865622297f57056a2c2d3e32a}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!z\+\_\+avry\+\_\+zv@{z\+\_\+avry\+\_\+zv}}
\index{z\+\_\+avry\+\_\+zv@{z\+\_\+avry\+\_\+zv}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{z\+\_\+avry\+\_\+zv()}{z\_avry\_zv()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km), public tee\+\_\+mpi\+\_\+module\+::z\+\_\+avry\+\_\+zv (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip)), intent(in)}]{zv }\end{DoxyParamCaption})}



Definition at line 1429 of file tee\+\_\+mpi\+\_\+module.\+f90.



References z\+\_\+inty\+\_\+zv().


\begin{DoxyCode}
1429       \textcolor{comment}{!}
1430       \textcolor{comment}{! 2 次元(ZV)格子点データのY方向平均.}
1431       \textcolor{comment}{!}
1432       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip))}, \textcolor{keywordtype}{intent(in)} :: zv
1433       \textcolor{comment}{!(in) 2 次元ZV格子点データ}
1434 
1435       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}  :: z\_avry\_zv
1436       \textcolor{comment}{!(out) Y平均された 1 次元Z格子点データ}
1437 
1438       z\_avry\_zv = z\_inty\_zv(zv)/yl
1439 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a8cdb0fc865622297f57056a2c2d3e32a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a1923f51eddbb71695f4b7f34f26c5a67}\label{namespacetee__mpi__module_a1923f51eddbb71695f4b7f34f26c5a67}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!z\+\_\+avryx\+\_\+zvx@{z\+\_\+avryx\+\_\+zvx}}
\index{z\+\_\+avryx\+\_\+zvx@{z\+\_\+avryx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{z\+\_\+avryx\+\_\+zvx()}{z\_avryx\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km), public tee\+\_\+mpi\+\_\+module\+::z\+\_\+avryx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1400 of file tee\+\_\+mpi\+\_\+module.\+f90.



References z\+\_\+intyx\+\_\+zvx().


\begin{DoxyCode}
1400       \textcolor{comment}{!}
1401       \textcolor{comment}{! 3 次元格子点データのVX(水平)積分}
1402       \textcolor{comment}{!}
1403       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1404       \textcolor{comment}{!(in) 3 次元格子点データ}
1405 
1406       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}     :: z\_avryx\_zvx
1407       \textcolor{comment}{!(out) VX(水平)平均された 1 次元Z格子点データ}
1408 
1409       z\_avryx\_zvx = z\_intyx\_zvx(zvx)/(xl*yl)
1410 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a1923f51eddbb71695f4b7f34f26c5a67_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a8a109506ce9f7c394aa4bcf8ff6d3fcd}\label{namespacetee__mpi__module_a8a109506ce9f7c394aa4bcf8ff6d3fcd}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!z\+\_\+intx\+\_\+zx@{z\+\_\+intx\+\_\+zx}}
\index{z\+\_\+intx\+\_\+zx@{z\+\_\+intx\+\_\+zx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{z\+\_\+intx\+\_\+zx()}{z\_intx\_zx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km), public tee\+\_\+mpi\+\_\+module\+::z\+\_\+intx\+\_\+zx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,0\+:im-\/1), intent(in)}]{zx }\end{DoxyParamCaption})}



Definition at line 1248 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight.


\begin{DoxyCode}
1248       \textcolor{comment}{!}
1249       \textcolor{comment}{! 2 次元(ZX)格子点データのX方向積分.}
1250       \textcolor{comment}{!}
1251       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zx
1252       \textcolor{comment}{!(in) 2 次元ZV格子点データ}
1253 
1254       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}  :: z\_intx\_zx
1255       \textcolor{comment}{!(out) X積分された 1 次元Z格子点データ}
1256 
1257       \textcolor{keywordtype}{integer} :: i
1258 
1259       z\_intx\_zx = 0.0d0
1260       \textcolor{keywordflow}{do} i=0,im-1
1261          z\_intx\_zx(:) = z\_intx\_zx(:) + zx(:,i) * x\_x\_weight(i)
1262 \textcolor{keywordflow}{      enddo}
1263 
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a01e3dd30cea15bdbb1b9f9e99832a14c}\label{namespacetee__mpi__module_a01e3dd30cea15bdbb1b9f9e99832a14c}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!z\+\_\+inty\+\_\+zv@{z\+\_\+inty\+\_\+zv}}
\index{z\+\_\+inty\+\_\+zv@{z\+\_\+inty\+\_\+zv}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{z\+\_\+inty\+\_\+zv()}{z\_inty\_zv()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km), public tee\+\_\+mpi\+\_\+module\+::z\+\_\+inty\+\_\+zv (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip)), intent(in)}]{zv }\end{DoxyParamCaption})}



Definition at line 1179 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::jc, and ee\+\_\+mpi\+\_\+module\+::v\+\_\+y\+\_\+weight.


\begin{DoxyCode}
1179       \textcolor{comment}{!}
1180       \textcolor{comment}{! 2 次元(ZV)格子点データのY方向積分.}
1181       \textcolor{comment}{!}
1182       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip))}, \textcolor{keywordtype}{intent(in)} :: zv
1183       \textcolor{comment}{!(in) 2 次元ZV(子午面)格子点データ}
1184 
1185       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}  :: z\_inty\_zv
1186       \textcolor{comment}{!(out) Y積分された 1 次元Z格子点データ}
1187 
1188       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}  :: z\_intytmp
1189       \textcolor{keywordtype}{integer} :: j, ierr
1190 
1191       z\_intytmp = 0.0d0
1192       \textcolor{keywordflow}{do} j=1,jc(ip)
1193          z\_intytmp(:) = z\_intytmp(:) + zv(:,j) * v\_y\_weight(j)
1194 \textcolor{keywordflow}{      enddo}
1195 
1196       \textcolor{keyword}{CALL }mpi\_allreduce(z\_intytmp,z\_inty\_zv,km+1,mpi\_real8, &
1197                          mpi\_sum,mpi\_comm\_world,ierr)
1198 
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a33af793c7b1ae846733d2e1048ccec02}\label{namespacetee__mpi__module_a33af793c7b1ae846733d2e1048ccec02}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!z\+\_\+intyx\+\_\+zvx@{z\+\_\+intyx\+\_\+zvx}}
\index{z\+\_\+intyx\+\_\+zvx@{z\+\_\+intyx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{z\+\_\+intyx\+\_\+zvx()}{z\_intyx\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km), public tee\+\_\+mpi\+\_\+module\+::z\+\_\+intyx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1123 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::jc, ee\+\_\+mpi\+\_\+module\+::v\+\_\+y\+\_\+weight, and ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight.


\begin{DoxyCode}
1123       \textcolor{comment}{!}
1124       \textcolor{comment}{! 3 次元格子点データのVX(水平)積分}
1125       \textcolor{comment}{!}
1126       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1127       \textcolor{comment}{!(in) 3 次元ZVX格子点データ}
1128 
1129       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}     :: z\_intyx\_zvx
1130       \textcolor{comment}{!(out) VX(水平)積分された 1 次元Z格子点データ}
1131 
1132       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km)}     :: z\_intyxtmp
1133       \textcolor{keywordtype}{integer} :: i, j, ierr
1134 
1135       z\_intyxtmp = 0
1136       \textcolor{keywordflow}{do} j=1,jc(ip)
1137          \textcolor{keywordflow}{do} i=0,im-1
1138             z\_intyxtmp = z\_intyxtmp &
1139                  + zvx(:,j,i) * x\_x\_weight(i) * v\_y\_weight(j)
1140 \textcolor{keywordflow}{         enddo}
1141 \textcolor{keywordflow}{      enddo}
1142       
1143       \textcolor{keyword}{CALL }mpi\_allreduce(z\_intyxtmp,z\_intyx\_zvx,km+1,mpi\_real8, &
1144                          mpi\_sum,mpi\_comm\_world,ierr)
1145       
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a241b9eaf571ddaa33cb0c27c93714206}\label{namespacetee__mpi__module_a241b9eaf571ddaa33cb0c27c93714206}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zef\+\_\+laplapol2pol\+\_\+zef@{zef\+\_\+laplapol2pol\+\_\+zef}}
\index{zef\+\_\+laplapol2pol\+\_\+zef@{zef\+\_\+laplapol2pol\+\_\+zef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zef\+\_\+laplapol2pol\+\_\+zef()}{zef\_laplapol2pol\_zef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::zef\+\_\+laplapol2pol\+\_\+zef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{zef,  }\item[{character(len=2), intent(in), optional}]{cond,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Definition at line 2486 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), e2a\+\_\+aef(), tef\+\_\+lapla\+\_\+tef(), tef\+\_\+zef(), and zef\+\_\+tef().


\begin{DoxyCode}
2486       \textcolor{comment}{!}
2487       \textcolor{comment}{! 速度ポロイダルポテンシャルΦを▽^2Φから計算する.}
2488       \textcolor{comment}{!}
2489       \textcolor{comment}{! チェビシェフ格子点空間で境界条件を適用している.}
2490       \textcolor{comment}{! この関数を用いるためには wt\_Initial にて設定する}
2491       \textcolor{comment}{! チェビシェフ切断波数(lm)と鉛直格子点数(km)を等しく}
2492       \textcolor{comment}{! しておく必要がある.}
2493       \textcolor{comment}{!}
2494       \textcolor{comment}{! 速度ポロイダルポテンシャルΦを f = ▽^2Φから定める式は}
2495       \textcolor{comment}{!}
2496       \textcolor{comment}{!   ▽^2Φ = f}
2497       \textcolor{comment}{!     Φ = const. at boundaries.}
2498       \textcolor{comment}{!     ∂Φ/∂z = 0 at boundaries           (粘着条件)}
2499       \textcolor{comment}{!     or ∂^2Φ/∂z^2 = 0 at boundaries    (応力なし条件)}
2500       \textcolor{comment}{!}
2501       \textcolor{comment}{! 最初に呼ばれるときはオプショナル引数 new に関係なく行列が設定される.}
2502       \textcolor{comment}{!}
2503       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))},\textcolor{keywordtype}{intent(in)}  :: zef
2504               \textcolor{comment}{!(in) 入力▽^2φ分布}
2505 
2506       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))}             :: zef\_laplapol2pol\_zef
2507               \textcolor{comment}{!(out) 出力ポロイダルポテンシャル分布}
2508 
2509       \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: cond
2510               \textcolor{comment}{!(in) 境界条件スイッチ. 省略時は 'RR'}
2511               \textcolor{comment}{!     RR    : 両端粘着条件}
2512               \textcolor{comment}{!     RF    : 上端粘着, 下端応力なし条件}
2513               \textcolor{comment}{!     FR    : 上端応力なし, 下端粘着条件}
2514               \textcolor{comment}{!     FF    : 両端応力なし条件}
2515 
2516       \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
2517               \textcolor{comment}{!(in) true だと境界条件計算用行列を強制的に新たに作る.}
2518               \textcolor{comment}{!     default は false.}
2519 
2520       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
2521       \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
2522 
2523       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(2*lc(ip)*(2*mm+1),0:km)}  :: e2z\_work
2524       \textcolor{keywordtype}{logical}                                     :: rigid1 = .true.
2525       \textcolor{keywordtype}{logical}                                     :: rigid2 = .true.
2526 
2527       \textcolor{keywordtype}{logical} :: first = .true.
2528       \textcolor{keywordtype}{logical} :: new\_matrix = .false.
2529       \textcolor{keywordtype}{integer} :: k
2530       \textcolor{keywordtype}{save}    :: alu, kp, first
2531 
2532       \textcolor{keywordflow}{select case} (cond)
2533       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RR'})
2534         rigid1 = .true.  ; rigid2 = .true.
2535       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RF'})
2536         rigid1 = .true.  ; rigid2 = .false.
2537       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FR'})
2538         rigid1 = .false. ; rigid2 = .true.
2539       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FF'})
2540         rigid1 = .false. ; rigid2 = .false.
2541 \textcolor{keywordflow}{      case default}
2542         \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'zef\_laplapol2pol\_zef'},\textcolor{stringliteral}{'B.C. not supported'})
2543 \textcolor{keywordflow}{      end select}
2544 
2545       \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
2546          new\_matrix=.false.
2547       \textcolor{keywordflow}{else}
2548          new\_matrix=new
2549 \textcolor{keywordflow}{      endif}
2550 
2551       \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
2552          first = .false.
2553 
2554          \textcolor{keywordflow}{if} ( nm /= km ) \textcolor{keywordflow}{then}
2555             \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'zef\_LaplaPol2Pol\_zef'}, &
2556              \textcolor{stringliteral}{'Chebyshev truncation and number of grid points should be same.'})
2557 \textcolor{keywordflow}{         endif}
2558 
2559          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
2560          \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
2561          \textcolor{keyword}{allocate}(alu(2*lc(ip)*(2*mm+1),0:km,0:km),kp(2*lc(ip)*(2*mm+1),0:km))
2562 
2563          \textcolor{keywordflow}{do} k=0,km
2564             e2z\_work = 0.0d0 ; e2z\_work(:,k) = 1.0d0
2565 
2566             \textcolor{comment}{! 各水平波数に関して独立の式}
2567             alu(:,:,k) &
2568                  = e2a\_aef(zef\_tef(tef\_lapla\_tef(tef\_zef(aef\_e2a(e2z\_work)))))
2569 \textcolor{keywordflow}{         enddo}
2570 
2571          \textcolor{keywordflow}{do} k=0,km
2572             e2z\_work = 0.0d0 ; e2z\_work(:,k) = 1.0d0
2573 
2574             \textcolor{comment}{! 運動学的条件. 流線は境界で一定}
2575             alu(:,0,k)   = e2z\_work(:,0)
2576             alu(:,km,k)  = e2z\_work(:,km)
2577 
2578             \textcolor{comment}{! 力学的条件粘着条件}
2579             e2z\_work = 0.0d0 ; e2z\_work(:,k) = 1.0d0
2580             \textcolor{keywordflow}{if} ( rigid1 ) \textcolor{keywordflow}{then}
2581                e2z\_work=az\_at(at\_dz\_at(at\_az(e2z\_work)))
2582             \textcolor{keywordflow}{else}
2583                e2z\_work=az\_at(at\_dz\_at(at\_dz\_at(at\_az(e2z\_work))))
2584 \textcolor{keywordflow}{            endif}
2585             alu(:,1,k) = e2z\_work(:,0)
2586 
2587             \textcolor{comment}{! 力学的条件粘着条件}
2588             e2z\_work = 0.0d0 ; e2z\_work(:,k) = 1.0d0
2589             \textcolor{keywordflow}{if} ( rigid2 ) \textcolor{keywordflow}{then}
2590                e2z\_work=az\_at(at\_dz\_at(at\_az(e2z\_work)))
2591             \textcolor{keywordflow}{else}
2592                e2z\_work=az\_at(at\_dz\_at(at\_dz\_at(at\_az(e2z\_work))))
2593 \textcolor{keywordflow}{            endif}
2594             alu(:,km-1,k) = e2z\_work(:,km)
2595 \textcolor{keywordflow}{         enddo}
2596 
2597          \textcolor{keyword}{call }ludecomp(alu,kp)
2598 
2599          \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'zef\_LaplaPol2Pol\_zef'},&
2600                            \textcolor{stringliteral}{'Matrix to apply  b.c. newly produced.'})
2601 \textcolor{keywordflow}{      endif}
2602 
2603       e2z\_work        = e2a\_aef(zef)
2604       e2z\_work(:,1)    = 0.0d0               \textcolor{comment}{! 力学的条件}
2605       e2z\_work(:,km-1) = 0.0d0               \textcolor{comment}{! 力学的条件}
2606       e2z\_work(:,0)    = 0.0d0               \textcolor{comment}{! 運動学的条件}
2607       e2z\_work(:,km)   = 0.0d0               \textcolor{comment}{! 運動学的条件}
2608 
2609       e2z\_work = lusolve(alu,kp,e2z\_work)
2610 
2611       zef\_laplapol2pol\_zef = aef\_e2a(e2z\_work)
2612 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a241b9eaf571ddaa33cb0c27c93714206_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a07ce09ba210e2488db8bf193cf507f73}\label{namespacetee__mpi__module_a07ce09ba210e2488db8bf193cf507f73}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zef\+\_\+poloidalenergyspectrum\+\_\+tef@{zef\+\_\+poloidalenergyspectrum\+\_\+tef}}
\index{zef\+\_\+poloidalenergyspectrum\+\_\+tef@{zef\+\_\+poloidalenergyspectrum\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zef\+\_\+poloidalenergyspectrum\+\_\+tef()}{zef\_poloidalenergyspectrum\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::zef\+\_\+poloidalenergyspectrum\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef\+\_\+\+P\+O\+L\+P\+OT }\end{DoxyParamCaption})}



Definition at line 1829 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+dz\+\_\+tef(), and zef\+\_\+tef().


\begin{DoxyCode}
1829       \textcolor{comment}{!}
1830       \textcolor{comment}{! ポロイダルポテンシャルから, ポロイダルエネルギーの}
1831       \textcolor{comment}{! 水平 X 波数 l, Y 波数 m の各成分を計算する.}
1832       \textcolor{comment}{!}
1833       \textcolor{comment}{!  * X 波数 l, Y 波数 m のポロイダルポテンシャルのスペクトル成分}
1834       \textcolor{comment}{!    φ(l,m,z)から X 波数 l, Y 波数 m 成分のポロイダルエネルギー}
1835       \textcolor{comment}{!    スペクトルは}
1836       \textcolor{comment}{!}
1837       \textcolor{comment}{!      (1/2)(l**2+m**2)\{[dφ(n,m,z)/dz]^2 + (l**2+m**2)φ(n,m,z)^2\}}
1838       \textcolor{comment}{!}
1839       \textcolor{comment}{!    と計算される.}
1840       \textcolor{comment}{!}
1841       \textcolor{comment}{!  * 全てのエネルギースペクトル成分の和をZ積分したもの}
1842       \textcolor{comment}{!    が水平平均エネルギーに等しい.}
1843       \textcolor{comment}{!}
1844       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef\_polpot
1845       \textcolor{comment}{!(in) ポロイダルポテンシャル}
1846 
1847       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_poloidalenergyspectrum\_tef
1848       \textcolor{comment}{!(out) エネルギースペクトルポロイダル成分}
1849 
1850 
1851       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_data   \textcolor{comment}{! 作業領域}
1852       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_ddata  \textcolor{comment}{! 作業領域}
1853       \textcolor{keywordtype}{integer} :: l, m
1854 
1855       zef\_poloidalenergyspectrum\_tef = 0.0d0
1856       zef\_data = zef\_tef(tef\_polpot)
1857       zef\_ddata = zef\_tef(tef\_dz\_tef(tef\_polpot))
1858 
1859       \textcolor{keywordflow}{do} l=-lm,lm
1860          \textcolor{keywordflow}{do} m=-mm,mm
1861             \textcolor{keywordflow}{if} ( lf\_l(l) > 0 ) \textcolor{keywordflow}{then}
1862                zef\_poloidalenergyspectrum\_tef(:,m,lf\_l(l)) =             &
1863                     + 0.5* ((2*pi*l/xl)**2+(2*pi*m/yl)**2)               &
1864                     *(   zef\_ddata(:,m,lf\_l(l))**2 + zef\_ddata(:,-m,lf\_l(-l))**2     &
1865                        + ((2*pi*l/xl)**2+(2*pi*m/yl)**2)                 &
1866                            *( zef\_data(:,m,lf\_l(l))**2 + zef\_data(:,-m,lf\_l(-l))**2))
1867 \textcolor{keywordflow}{            endif}
1868 \textcolor{keywordflow}{         enddo}
1869 \textcolor{keywordflow}{      enddo}
1870 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a07ce09ba210e2488db8bf193cf507f73_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_adbce92a8746579edd67575735b74c6af}\label{namespacetee__mpi__module_adbce92a8746579edd67575735b74c6af}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zef\+\_\+poloidalenstrophyspectrum\+\_\+tef@{zef\+\_\+poloidalenstrophyspectrum\+\_\+tef}}
\index{zef\+\_\+poloidalenstrophyspectrum\+\_\+tef@{zef\+\_\+poloidalenstrophyspectrum\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zef\+\_\+poloidalenstrophyspectrum\+\_\+tef()}{zef\_poloidalenstrophyspectrum\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::zef\+\_\+poloidalenstrophyspectrum\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef\+\_\+\+P\+O\+L\+P\+OT }\end{DoxyParamCaption})}



Definition at line 1956 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+lapla\+\_\+tef(), and zef\+\_\+tef().


\begin{DoxyCode}
1956       \textcolor{comment}{!}
1957       \textcolor{comment}{! ポロイダルポテンシャルから, ポロイダルエンストロフィーの}
1958       \textcolor{comment}{! 水平 X 波数 l, Y 波数 m の各成分を計算する.}
1959       \textcolor{comment}{!}
1960       \textcolor{comment}{!  * X 波数 l, Y 波数 m のポロイダルポテンシャルエンストロフィーの}
1961       \textcolor{comment}{!    スペクトル成分 φ(l,m,z)から X 波数 l, Y 波数 m 成分の}
1962       \textcolor{comment}{!    ポロイダルエンストロフィースペクトルは}
1963       \textcolor{comment}{!}
1964       \textcolor{comment}{!      (1/2)(l**2+m**2)\{[d^φ(n,m,z)/dz^2] - (l**2+m**2)φ(n,m,z)]^2\}}
1965       \textcolor{comment}{!}
1966       \textcolor{comment}{!    と計算される.}
1967       \textcolor{comment}{!}
1968       \textcolor{comment}{!  * 全てのエネルギースペクトル成分の和をZ積分したもの}
1969       \textcolor{comment}{!    が水平平均エネルギーに等しい.}
1970       \textcolor{comment}{!}
1971       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef\_polpot
1972       \textcolor{comment}{!(in) ポロイダルポテンシャル}
1973 
1974       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_poloidalenstrophyspectrum\_tef
1975       \textcolor{comment}{!(out) エネルギースペクトルポロイダル成分}
1976 
1977       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_work
1978       \textcolor{keywordtype}{integer} :: l, m
1979 
1980       zef\_poloidalenstrophyspectrum\_tef = 0.0d0
1981       zef\_work = zef\_tef(tef\_lapla\_tef(tef\_polpot))
1982       \textcolor{keywordflow}{do} l=-lm,lm
1983          \textcolor{keywordflow}{do} m=-mm,mm
1984             \textcolor{keywordflow}{if} ( lf\_l(l) > 0 ) \textcolor{keywordflow}{then}
1985                zef\_poloidalenstrophyspectrum\_tef(:,m,lf\_l(l)) &
1986                     = 0.5 * ((2*pi*l/xl)**2+(2*pi*m/yl)**2) &
1987                     * ( zef\_work(:,m,lf\_l(l))**2 + zef\_work(:,-m,lf\_l(-l))**2 )
1988 \textcolor{keywordflow}{            endif}
1989 \textcolor{keywordflow}{         enddo}
1990 \textcolor{keywordflow}{      enddo}
1991 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_adbce92a8746579edd67575735b74c6af_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a06ad93ca4c582c44f42833ca914a0418}\label{namespacetee__mpi__module_a06ad93ca4c582c44f42833ca914a0418}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zef\+\_\+tef@{zef\+\_\+tef}}
\index{zef\+\_\+tef@{zef\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zef\+\_\+tef()}{zef\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::zef\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef }\end{DoxyParamCaption})}



Definition at line 520 of file tee\+\_\+mpi\+\_\+module.\+f90.



References aef\+\_\+e2a(), e2a\+\_\+aef(), and e2z\+\_\+e2t().


\begin{DoxyCode}
520       \textcolor{comment}{!}
521       \textcolor{comment}{! スペクトルデータから水平スペクトル・鉛直格子点データへ(正)変換する.}
522       \textcolor{comment}{!}
523       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef
524       \textcolor{comment}{!(in) 2 次元水平スペクトル鉛直チェビシェフスペクトルデータ}
525       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))}             :: zef\_tef
526       \textcolor{comment}{!(out) 2 次元水平スペクトル・鉛直格子点データ}
527 
528       zef\_tef = aef\_e2a(e2z\_e2t(e2a\_aef(tef)))
529 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a06ad93ca4c582c44f42833ca914a0418_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a41dc186125d7c456ec1fcdc8c0ff4d43}\label{namespacetee__mpi__module_a41dc186125d7c456ec1fcdc8c0ff4d43}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zef\+\_\+toroidalenergyspectrum\+\_\+tef@{zef\+\_\+toroidalenergyspectrum\+\_\+tef}}
\index{zef\+\_\+toroidalenergyspectrum\+\_\+tef@{zef\+\_\+toroidalenergyspectrum\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zef\+\_\+toroidalenergyspectrum\+\_\+tef()}{zef\_toroidalenergyspectrum\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::zef\+\_\+toroidalenergyspectrum\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef\+\_\+\+T\+O\+R\+P\+OT }\end{DoxyParamCaption})}



Definition at line 1764 of file tee\+\_\+mpi\+\_\+module.\+f90.



References zef\+\_\+tef().


\begin{DoxyCode}
1764       \textcolor{comment}{!}
1765       \textcolor{comment}{! トロイダルポテンシャルから, トロイダルエネルギーの}
1766       \textcolor{comment}{! 水平 X 波数 l, Y  波数 m の各成分を計算する}
1767       \textcolor{comment}{!}
1768       \textcolor{comment}{!  * X 波数 l, Y 波数 m のトロイダルポテンシャルのスペクトル成分}
1769       \textcolor{comment}{!    ψ(l,m,z)から水平 X 波数 l, Y 波数 m 成分のトロイダルエネルギー}
1770       \textcolor{comment}{!    スペクトルは  (1/2)(l**2+m**2)|ψ(l,m,z)|^2  と計算される.}
1771       \textcolor{comment}{!}
1772       \textcolor{comment}{!  * 全てのエネルギースペクトル成分の和をZ積分したものが領域内での}
1773       \textcolor{comment}{!    水平平均エネルギーに等しい.}
1774       \textcolor{comment}{!}
1775       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef\_torpot
1776       \textcolor{comment}{!(in) トロイダルポテンシャル}
1777 
1778       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_toroidalenergyspectrum\_tef
1779       \textcolor{comment}{!(out) エネルギースペクトルトロイダル成分}
1780 
1781       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_work
1782       \textcolor{keywordtype}{integer} :: l, m
1783 
1784       zef\_toroidalenergyspectrum\_tef = 0.0d0
1785       zef\_work = zef\_tef(tef\_torpot)
1786       \textcolor{keywordflow}{do} l=-lm,lm
1787          \textcolor{keywordflow}{do} m=-mm,mm
1788             \textcolor{keywordflow}{if} ( lf\_l(l) > 0 ) \textcolor{keywordflow}{then}
1789                zef\_toroidalenergyspectrum\_tef(:,m,lf\_l(l)) &
1790                     = 0.5 * ((2*pi*l/xl)**2+(2*pi*m/yl)**2) &
1791                     * ( zef\_work(:,m,lf\_l(l))**2 + zef\_work(:,-m,lf\_l(-l))**2 )
1792 \textcolor{keywordflow}{            endif}
1793 \textcolor{keywordflow}{         enddo}
1794 \textcolor{keywordflow}{      enddo}
1795 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a41dc186125d7c456ec1fcdc8c0ff4d43_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a1197a32c7d5922a182148bebc42dd236}\label{namespacetee__mpi__module_a1197a32c7d5922a182148bebc42dd236}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zef\+\_\+toroidalenstrophyspectrum\+\_\+tef@{zef\+\_\+toroidalenstrophyspectrum\+\_\+tef}}
\index{zef\+\_\+toroidalenstrophyspectrum\+\_\+tef@{zef\+\_\+toroidalenstrophyspectrum\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zef\+\_\+toroidalenstrophyspectrum\+\_\+tef()}{zef\_toroidalenstrophyspectrum\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::zef\+\_\+toroidalenstrophyspectrum\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef\+\_\+\+T\+O\+R\+P\+OT }\end{DoxyParamCaption})}



Definition at line 1913 of file tee\+\_\+mpi\+\_\+module.\+f90.



References tef\+\_\+dz\+\_\+tef(), and zef\+\_\+tef().


\begin{DoxyCode}
1913       \textcolor{comment}{!}
1914       \textcolor{comment}{! トロイダルポテンシャルから, トロイダルエンストロフィーの}
1915       \textcolor{comment}{! 水平 X 波数 l, Y  波数 m の各成分を計算する}
1916       \textcolor{comment}{!}
1917       \textcolor{comment}{!  * X 波数 l, Y 波数 m のトロイダルポテンシャルのスペクトル成分}
1918       \textcolor{comment}{!    ψ(l,m,z)から水平 X 波数 l, Y 波数 m 成分のトロイダルエネルギー}
1919       \textcolor{comment}{!    スペクトルは}
1920       \textcolor{comment}{!}
1921       \textcolor{comment}{!      (1/2)(l**2+m**2)\{[dψ(n,m,z)/dz]^2 + (l**2+m**2)ψ(n,m,z)^2\}}
1922       \textcolor{comment}{!}
1923       \textcolor{comment}{!  * 全てのエネルギースペクトル成分の和をZ積分したものが領域内での}
1924       \textcolor{comment}{!    水平平均エネルギーに等しい.}
1925       \textcolor{comment}{!}
1926       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef\_torpot
1927       \textcolor{comment}{!(in) トロイダルポテンシャル}
1928 
1929       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_toroidalenstrophyspectrum\_tef
1930       \textcolor{comment}{!(out) エンストロフィースペクトルトロイダル成分}
1931 
1932       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_data   \textcolor{comment}{! 作業領域}
1933       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))} :: zef\_ddata  \textcolor{comment}{! 作業領域}
1934       \textcolor{keywordtype}{integer} :: l, m
1935 
1936 
1937       zef\_toroidalenstrophyspectrum\_tef = 0.0d0
1938       zef\_data = zef\_tef(tef\_torpot)
1939       zef\_ddata = zef\_tef(tef\_dz\_tef(tef\_torpot))
1940 
1941       \textcolor{keywordflow}{do} l=-lm,lm
1942          \textcolor{keywordflow}{do} m=-mm,mm
1943             \textcolor{keywordflow}{if} ( lf\_l(l) > 0 ) \textcolor{keywordflow}{then}
1944                zef\_toroidalenstrophyspectrum\_tef(:,m,lf\_l(l)) =             &
1945                     + 0.5* ((2*pi*l/xl)**2+(2*pi*m/yl)**2)               &
1946                     *(   zef\_ddata(:,m,lf\_l(l))**2 + zef\_ddata(:,-m,lf\_l(-l))**2     &
1947                        + ((2*pi*l/xl)**2+(2*pi*m/yl)**2)                 &
1948                            *( zef\_data(:,m,lf\_l(l))**2 + zef\_data(:,-m,lf\_l(-l))**2))
1949 \textcolor{keywordflow}{            endif}
1950 \textcolor{keywordflow}{         enddo}
1951 \textcolor{keywordflow}{      enddo}
1952 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a1197a32c7d5922a182148bebc42dd236_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_abf59e4f08f088a4c0f056834f970134f}\label{namespacetee__mpi__module_abf59e4f08f088a4c0f056834f970134f}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zef\+\_\+zvx@{zef\+\_\+zvx}}
\index{zef\+\_\+zvx@{zef\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zef\+\_\+zvx()}{zef\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), public tee\+\_\+mpi\+\_\+module\+::zef\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 495 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::ef\+\_\+vx(), and ee\+\_\+mpi\+\_\+module\+::jc.


\begin{DoxyCode}
495       \textcolor{comment}{!}
496       \textcolor{comment}{! 3 次元格子データから水平スペクトル・鉛直格子点データへ(正)変換する.}
497       \textcolor{comment}{!}
498       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)}   :: zvx
499       \textcolor{comment}{!(in) 3 次元格子点データ}
500       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))}             :: zef\_zvx
501       \textcolor{comment}{!(out) 2 次元スペクトル・鉛直格子点データ}
502       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(-mm:mm,2*lc(ip))}                :: ef
503       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(jc(ip),0:im-1)}                  :: vx
504 
505       \textcolor{keywordtype}{integer} :: k
506 
507       \textcolor{keywordflow}{do} k = 0, km
508          \textcolor{comment}{!zef\_zyx(k,:,:) = ee\_yx(zyx(k,:,:))}
509          \textcolor{comment}{!}
510          \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように書き直す}
511          \textcolor{comment}{!}
512          vx = zvx(k,1:jc(ip),0:im-1)
513          ef = ef\_vx(vx)
514          zef\_zvx(k,:,:) = ef
515 \textcolor{keywordflow}{      enddo}
516 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_abf59e4f08f088a4c0f056834f970134f_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a5769898702a7ce86971cf1d338b89586}\label{namespacetee__mpi__module_a5769898702a7ce86971cf1d338b89586}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zv\+\_\+avrx\+\_\+zvx@{zv\+\_\+avrx\+\_\+zvx}}
\index{zv\+\_\+avrx\+\_\+zvx@{zv\+\_\+avrx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zv\+\_\+avrx\+\_\+zvx()}{zv\_avrx\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,jc(ip)), public tee\+\_\+mpi\+\_\+module\+::zv\+\_\+avrx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1329 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight, and zv\+\_\+intx\+\_\+zvx().


\begin{DoxyCode}
1329       \textcolor{comment}{!}
1330       \textcolor{comment}{! 3 次元格子点データのX方向平均.}
1331       \textcolor{comment}{!}
1332       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1333       \textcolor{comment}{!(in) 3 次元ZVX格子点データ}
1334 
1335       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip))}  :: zv\_avrx\_zvx
1336       \textcolor{comment}{!(out) X方向平均された 2 次元子午面格子点データ}
1337 
1338       zv\_avrx\_zvx = zv\_intx\_zvx(zvx)/sum(x\_x\_weight)
1339 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=324pt]{namespacetee__mpi__module_a5769898702a7ce86971cf1d338b89586_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a209e0078182023d438d26adf060b677b}\label{namespacetee__mpi__module_a209e0078182023d438d26adf060b677b}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zv\+\_\+intx\+\_\+zvx@{zv\+\_\+intx\+\_\+zvx}}
\index{zv\+\_\+intx\+\_\+zvx@{zv\+\_\+intx\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zv\+\_\+intx\+\_\+zvx()}{zv\_intx\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,jc(ip)), public tee\+\_\+mpi\+\_\+module\+::zv\+\_\+intx\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1014 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::x\+\_\+x\+\_\+weight.


\begin{DoxyCode}
1014       \textcolor{comment}{!}
1015       \textcolor{comment}{! 3 次元格子点データのX方向積分.}
1016       \textcolor{comment}{!}
1017       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1018       \textcolor{comment}{!(in) 3 次元格子点データ}
1019 
1020       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip))}  :: zv\_intx\_zvx
1021       \textcolor{comment}{!(out) X方向積分された 2 次元ZV格子点データ}
1022 
1023       \textcolor{keywordtype}{integer} :: i
1024 
1025       zv\_intx\_zvx = 0.0d0
1026       \textcolor{keywordflow}{do} i=0,im-1
1027          zv\_intx\_zvx(:,:) = zv\_intx\_zvx(:,:) &
1028                        + zvx(:,:,i) * x\_x\_weight(i)
1029 \textcolor{keywordflow}{      enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a52a5cee2f559f39a28411da9604f7da8}\label{namespacetee__mpi__module_a52a5cee2f559f39a28411da9604f7da8}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zvx\+\_\+tef@{zvx\+\_\+tef}}
\index{zvx\+\_\+tef@{zvx\+\_\+tef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zvx\+\_\+tef()}{zvx\_tef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,jc(ip),0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::zvx\+\_\+tef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:nm,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{tef }\end{DoxyParamCaption})}



Definition at line 444 of file tee\+\_\+mpi\+\_\+module.\+f90.



References zef\+\_\+tef(), and zvx\+\_\+zef().


\begin{DoxyCode}
444       \textcolor{comment}{!}
445       \textcolor{comment}{! スペクトルデータから 3 次元格子点データへ(逆)変換する.}
446       \textcolor{comment}{!}
447       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:nm,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: tef
448       \textcolor{comment}{!(in) 2 重フーリエチェビシェフスペクトルデータ}
449       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}             :: zvx\_tef
450       \textcolor{comment}{!(out) 3 次元格子点データ}
451 
452       zvx\_tef = zvx\_zef(zef\_tef(tef))
453 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_a52a5cee2f559f39a28411da9604f7da8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_aaca0feffea494ce509d0f113b0f0bc49}\label{namespacetee__mpi__module_aaca0feffea494ce509d0f113b0f0bc49}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zvx\+\_\+zef@{zvx\+\_\+zef}}
\index{zvx\+\_\+zef@{zvx\+\_\+zef}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zvx\+\_\+zef()}{zvx\_zef()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,jc(ip),0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::zvx\+\_\+zef (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,-\/mm\+:mm,2$\ast$lc(ip)), intent(in)}]{zef }\end{DoxyParamCaption})}



Definition at line 470 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::vx\+\_\+ef().


\begin{DoxyCode}
470       \textcolor{comment}{!}
471       \textcolor{comment}{! 水平スペクトル・鉛直格子点データから 3 次元格子点データへ(逆)変換する.}
472       \textcolor{comment}{!}
473       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,-mm:mm,2*lc(ip))}, \textcolor{keywordtype}{intent(in)} :: zef
474       \textcolor{comment}{!(in) 2 次元水平スペクトル・鉛直格子点データ}
475       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}               :: zvx\_zef
476       \textcolor{comment}{!(out) 3 次元格子点データ}
477       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(-mm:mm,2*lc(ip))}                :: ef
478       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(jc(ip),0:im-1)}                  :: vx
479 
480       \textcolor{keywordtype}{integer} :: k
481 
482       \textcolor{keywordflow}{do} k = 0, km
483          \textcolor{comment}{!zyx\_zef(k,:,:) = yx\_ee(zef(k,:,:))}
484          \textcolor{comment}{!}
485          \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように書き直す}
486          \textcolor{comment}{!}
487          ef = zef(k,-mm:mm,1:2*lc(ip))
488          vx = vx\_ef(ef)
489          zvx\_zef(k,:,:) = vx
490 \textcolor{keywordflow}{      enddo}
491 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespacetee__mpi__module_aaca0feffea494ce509d0f113b0f0bc49_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a3116562b3b18e056a51a723f65b88d13}\label{namespacetee__mpi__module_a3116562b3b18e056a51a723f65b88d13}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zx\+\_\+avry\+\_\+zvx@{zx\+\_\+avry\+\_\+zvx}}
\index{zx\+\_\+avry\+\_\+zvx@{zx\+\_\+avry\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zx\+\_\+avry\+\_\+zvx()}{zx\_avry\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::zx\+\_\+avry\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1343 of file tee\+\_\+mpi\+\_\+module.\+f90.



References zx\+\_\+inty\+\_\+zvx().


\begin{DoxyCode}
1343       \textcolor{comment}{!}
1344       \textcolor{comment}{! 3 次元格子点データのY方向域平均.}
1345       \textcolor{comment}{!}
1346       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1347       \textcolor{comment}{!(in) 3 次元格子点データ}
1348 
1349       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,0:im-1)}  :: zx\_avry\_zvx
1350       \textcolor{comment}{!(out) Y平均された 2 次元ZX格子点データ}
1351 
1352       zx\_avry\_zvx = zx\_inty\_zvx(zvx)/yl
1353 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=324pt]{namespacetee__mpi__module_a3116562b3b18e056a51a723f65b88d13_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacetee__mpi__module_a1f23022432d98cc0227eef4ac1980a2f}\label{namespacetee__mpi__module_a1f23022432d98cc0227eef4ac1980a2f}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zx\+\_\+inty\+\_\+zvx@{zx\+\_\+inty\+\_\+zvx}}
\index{zx\+\_\+inty\+\_\+zvx@{zx\+\_\+inty\+\_\+zvx}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zx\+\_\+inty\+\_\+zvx()}{zx\_inty\_zvx()}}
{\footnotesize\ttfamily real(8) function, dimension(0\+:km,0\+:im-\/1), public tee\+\_\+mpi\+\_\+module\+::zx\+\_\+inty\+\_\+zvx (\begin{DoxyParamCaption}\item[{real(8), dimension(0\+:km,jc(ip),0\+:im-\/1), intent(in)}]{zvx }\end{DoxyParamCaption})}



Definition at line 1033 of file tee\+\_\+mpi\+\_\+module.\+f90.



References ee\+\_\+mpi\+\_\+module\+::jc, and ee\+\_\+mpi\+\_\+module\+::v\+\_\+y\+\_\+weight.


\begin{DoxyCode}
1033       \textcolor{comment}{!}
1034       \textcolor{comment}{! 3 次元格子点データのY方向域積分.}
1035       \textcolor{comment}{!}
1036       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,jc(ip),0:im-1)}, \textcolor{keywordtype}{intent(in)} :: zvx
1037       \textcolor{comment}{!(in) 3 次元格子点データ}
1038 
1039       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,0:im-1)}  :: zx\_inty\_zvx
1040       \textcolor{comment}{!(out) Y積分された 2 次元ZV格子点データ.}
1041 
1042       \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(0:km,0:im-1)}  :: zx\_intytmp
1043       \textcolor{keywordtype}{integer} :: j, ierr
1044 
1045       zx\_intytmp = 0.0d0
1046       \textcolor{keywordflow}{do} j=1,jc(ip)
1047          zx\_intytmp(:,:) = zx\_intytmp(:,:) &
1048                        + zvx(:,j,:) * v\_y\_weight(j)
1049 \textcolor{keywordflow}{      enddo}
1050 
1051       \textcolor{keyword}{CALL }mpi\_allreduce(zx\_intytmp,zx\_inty\_zvx,im*(km+1),mpi\_real8, &
1052                          mpi\_sum,mpi\_comm\_world,ierr)
1053 
\end{DoxyCode}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespacetee__mpi__module_aa10b2efdaf38e4c089ec78d8bdf552fb}\label{namespacetee__mpi__module_aa10b2efdaf38e4c089ec78d8bdf552fb}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!tee\+\_\+vmiss@{tee\+\_\+vmiss}}
\index{tee\+\_\+vmiss@{tee\+\_\+vmiss}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{tee\+\_\+vmiss}{tee\_vmiss}}
{\footnotesize\ttfamily real(8), public tee\+\_\+mpi\+\_\+module\+::tee\+\_\+vmiss = -\/999.\+0}



Definition at line 373 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
373   \textcolor{keywordtype}{real(8)} :: tee\_vmiss = -999.0        \textcolor{comment}{! 欠損値}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a77c187a6686cb4820f4bd6e44817b786}\label{namespacetee__mpi__module_a77c187a6686cb4820f4bd6e44817b786}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zef\+\_\+z@{zef\+\_\+z}}
\index{zef\+\_\+z@{zef\+\_\+z}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zef\+\_\+z}{zef\_z}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:,\+:), allocatable, public tee\+\_\+mpi\+\_\+module\+::zef\+\_\+z}



Definition at line 371 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
371   \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable} :: zef\_z                  \textcolor{comment}{! 座標}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a959d7054f1e904711809ce8ffeabe719}\label{namespacetee__mpi__module_a959d7054f1e904711809ce8ffeabe719}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zv\+\_\+y@{zv\+\_\+y}}
\index{zv\+\_\+y@{zv\+\_\+y}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zv\+\_\+y}{zv\_y}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:), allocatable, public tee\+\_\+mpi\+\_\+module\+::zv\+\_\+y}



Definition at line 369 of file tee\+\_\+mpi\+\_\+module.\+f90.

\mbox{\Hypertarget{namespacetee__mpi__module_a3bb7df101a081177b0c7472fec2a09aa}\label{namespacetee__mpi__module_a3bb7df101a081177b0c7472fec2a09aa}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zv\+\_\+z@{zv\+\_\+z}}
\index{zv\+\_\+z@{zv\+\_\+z}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zv\+\_\+z}{zv\_z}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:), allocatable, public tee\+\_\+mpi\+\_\+module\+::zv\+\_\+z}



Definition at line 369 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
369   \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)},   \textcolor{keywordtype}{allocatable} :: zv\_z, zv\_y             \textcolor{comment}{! 座標}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a820d2553ae2118a2a39a025cc136fc24}\label{namespacetee__mpi__module_a820d2553ae2118a2a39a025cc136fc24}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zvx\+\_\+x@{zvx\+\_\+x}}
\index{zvx\+\_\+x@{zvx\+\_\+x}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zvx\+\_\+x}{zvx\_x}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:,\+:), allocatable, public tee\+\_\+mpi\+\_\+module\+::zvx\+\_\+x}



Definition at line 368 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
368   \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable} :: zvx\_x, zvx\_y, zvx\_z    \textcolor{comment}{! 座標}
\end{DoxyCode}
\mbox{\Hypertarget{namespacetee__mpi__module_a5729f6e6f9e108f18c8754b35502aa93}\label{namespacetee__mpi__module_a5729f6e6f9e108f18c8754b35502aa93}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zvx\+\_\+y@{zvx\+\_\+y}}
\index{zvx\+\_\+y@{zvx\+\_\+y}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zvx\+\_\+y}{zvx\_y}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:,\+:), allocatable, public tee\+\_\+mpi\+\_\+module\+::zvx\+\_\+y}



Definition at line 368 of file tee\+\_\+mpi\+\_\+module.\+f90.

\mbox{\Hypertarget{namespacetee__mpi__module_a3c3569c5e0e132e8b50695ea459ed482}\label{namespacetee__mpi__module_a3c3569c5e0e132e8b50695ea459ed482}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zvx\+\_\+z@{zvx\+\_\+z}}
\index{zvx\+\_\+z@{zvx\+\_\+z}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zvx\+\_\+z}{zvx\_z}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:,\+:), allocatable, public tee\+\_\+mpi\+\_\+module\+::zvx\+\_\+z}



Definition at line 368 of file tee\+\_\+mpi\+\_\+module.\+f90.

\mbox{\Hypertarget{namespacetee__mpi__module_afa8b07e4515b716bc85c5732cb603e32}\label{namespacetee__mpi__module_afa8b07e4515b716bc85c5732cb603e32}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zx\+\_\+x@{zx\+\_\+x}}
\index{zx\+\_\+x@{zx\+\_\+x}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zx\+\_\+x}{zx\_x}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:), allocatable, public tee\+\_\+mpi\+\_\+module\+::zx\+\_\+x}



Definition at line 370 of file tee\+\_\+mpi\+\_\+module.\+f90.

\mbox{\Hypertarget{namespacetee__mpi__module_a69ed9e0d4fa5bb4278687fe473dd8e83}\label{namespacetee__mpi__module_a69ed9e0d4fa5bb4278687fe473dd8e83}} 
\index{tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}!zx\+\_\+z@{zx\+\_\+z}}
\index{zx\+\_\+z@{zx\+\_\+z}!tee\+\_\+mpi\+\_\+module@{tee\+\_\+mpi\+\_\+module}}
\subsubsection{\texorpdfstring{zx\+\_\+z}{zx\_z}}
{\footnotesize\ttfamily real(8), dimension(\+:,\+:), allocatable, public tee\+\_\+mpi\+\_\+module\+::zx\+\_\+z}



Definition at line 370 of file tee\+\_\+mpi\+\_\+module.\+f90.


\begin{DoxyCode}
370   \textcolor{keywordtype}{real(8)}, \textcolor{keywordtype}{dimension(:,:)},   \textcolor{keywordtype}{allocatable} :: zx\_z, zx\_x             \textcolor{comment}{! 座標}
\end{DoxyCode}
