\hypertarget{namespacedc__trace}{}\section{dc\+\_\+trace Module Reference}
\label{namespacedc__trace}\index{dc\+\_\+trace@{dc\+\_\+trace}}
\subsection*{Data Types}
\begin{DoxyCompactItemize}
\item 
interface \hyperlink{interfacedc__trace_1_1datadump}{datadump}
\item 
interface \hyperlink{interfacedc__trace_1_1debug}{debug}
\end{DoxyCompactItemize}
\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
integer function, public \hyperlink{namespacedc__trace_a13f09e0e6905ceed981de621dc8578f7}{sublevel} ()
\item 
subroutine, public \hyperlink{namespacedc__trace_a68d91867a691b18089c97e05294c18b2}{dbg\+\_\+scratch} (on)
\item 
subroutine, public \hyperlink{namespacedc__trace_a2482de8a6d7c583f851677ed1a17c240}{setdebug} (\hyperlink{interfacedc__trace_1_1debug}{debug})
\item 
subroutine \hyperlink{namespacedc__trace_a2584fc9f20932397efb50327d26e9a43}{dctracedebug} (dbg\+\_\+mode)
\item 
subroutine \hyperlink{namespacedc__trace_ad06d7c9d7432dfbadcc281e4644bcab3}{initialize}
\item 
subroutine, public \hyperlink{namespacedc__trace_aca1efe8bae50b85f74980a8c4d704dd8}{beginsub} (name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
\item 
subroutine, public \hyperlink{namespacedc__trace_ae44de97565a3bdd685789c7748b37e37}{endsub} (name, fmt, i, r, d, L, n, c1, c2, c3, ca)
\item 
subroutine, public \hyperlink{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}{dbgmessage} (fmt, i, r, d, L, n, c1, c2, c3, ca)
\item 
subroutine \hyperlink{namespacedc__trace_a4548ce19ca30fc47e599095ddeac4adb}{datad1dump} (header, d, strlen, multi)
\item 
subroutine \hyperlink{namespacedc__trace_a2ff89d0c6d4f9d74fa5b6cd3acfd1ab1}{datad2dump} (header, d, strlen, multi)
\item 
subroutine \hyperlink{namespacedc__trace_a6715888cbdd3dccc39af4c6638f17ddc}{datad3dump} (header, d, strlen, multi)
\item 
subroutine \hyperlink{namespacedc__trace_a0caa4df556979c3fa9375e9918499ab4}{append} (unit, ucur, val, stat, strlen)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
logical, save \hyperlink{namespacedc__trace_aa135acde65afa9d5ce0cd68f661e0a9b}{lfirst} = .true.
\item 
integer, save, public \hyperlink{namespacedc__trace_a7287aa4634a80f3f0cc053726ed8aef1}{dbg} = -\/1
\item 
integer, save \hyperlink{namespacedc__trace_a440535acd9a57f32c5ce2b24c4ba7494}{level} = 0
\item 
integer, parameter \hyperlink{namespacedc__trace_a13da6024325ece2a5c2072025d95fbd0}{trace\+\_\+stack\+\_\+size} = 128
\item 
character(token), dimension(\hyperlink{namespacedc__trace_a13da6024325ece2a5c2072025d95fbd0}{trace\+\_\+stack\+\_\+size}), save \hyperlink{namespacedc__trace_afd5824a85ddc3dacd499f5a52770c997}{table}
\item 
character(string), dimension(\+:), allocatable, save \hyperlink{namespacedc__trace_a5a1bffbb516c7b73f3b8b9264918c577}{called\+\_\+subname}
\item 
character(string), dimension(\+:), allocatable, save \hyperlink{namespacedc__trace_af52d2b739c24a81f237ff9bb0518eef2}{called\+\_\+subname\+\_\+tmp}
\item 
character(1), parameter \hyperlink{namespacedc__trace_add5678a684d5fded15c843d314f0a25f}{head} = \textquotesingle{}\#\textquotesingle{}
\item 
character(2), parameter \hyperlink{namespacedc__trace_af7ff560f63a734f6c7f473f422dc04f2}{indent} = \textquotesingle{}$\vert$ \textquotesingle{}
\item 
character(2), parameter \hyperlink{namespacedc__trace_a45d25e454d2c72452ae349cbd6a72d8e}{meshead} = \textquotesingle{}$\vert$-\/\textquotesingle{}
\end{DoxyCompactItemize}


\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespacedc__trace_a0caa4df556979c3fa9375e9918499ab4}\label{namespacedc__trace_a0caa4df556979c3fa9375e9918499ab4}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!append@{append}}
\index{append@{append}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{append()}{append()}}
{\footnotesize\ttfamily subroutine dc\+\_\+trace\+::append (\begin{DoxyParamCaption}\item[{character($\ast$), intent(inout)}]{unit,  }\item[{integer, intent(inout)}]{ucur,  }\item[{character($\ast$), intent(in)}]{val,  }\item[{integer, intent(out)}]{stat,  }\item[{integer, intent(in), optional}]{strlen }\end{DoxyParamCaption})}



Definition at line 722 of file dc\+\_\+trace.\+f90.



Referenced by datad1dump().


\begin{DoxyCode}
722     \textcolor{comment}{!}
723     \textcolor{comment}{! DataD1Dump の内部関数。}
724     \textcolor{comment}{! unit に val を付加。その際、unit がその最大文字列長を越えた場合}
725     \textcolor{comment}{! には stat = 2 を返す。}
726     \textcolor{comment}{!}
727     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(inout)}:: unit \textcolor{comment}{! 最終的に返される文字列}
728     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(inout)}:: ucur \textcolor{comment}{! unit の文字数}
729     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}   :: val  \textcolor{comment}{! unit に付加される文字列}
730     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(out)}  :: stat \textcolor{comment}{! ステータス}
731     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, &
732       &        optional     :: strlen \textcolor{comment}{! 文字数の手動指定}
733     \textcolor{keywordtype}{integer}                    :: wrsz \textcolor{comment}{! val の文字列}
734     \textcolor{keywordflow}{continue}
735     \textcolor{comment}{! unit の最大長を越えた場合には stat = 2 を返す。}
736     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(strlen)) \textcolor{keywordflow}{then}
737       \textcolor{keywordflow}{if} (ucur >= strlen) \textcolor{keywordflow}{then}
738         stat = 2
739         \textcolor{keywordflow}{return}
740 \textcolor{keywordflow}{      endif}
741     \textcolor{keywordflow}{else}
742       \textcolor{keywordflow}{if} (ucur >= len(unit)) \textcolor{keywordflow}{then}
743         stat = 2
744         \textcolor{keywordflow}{return}
745 \textcolor{keywordflow}{      endif}
746 \textcolor{keywordflow}{    endif}
747     \textcolor{comment}{! 正常時の処理。}
748     \textcolor{comment}{! unit の長さを越えた場合も考慮して unit に val を付加する。}
749     wrsz = \hyperlink{interfacedc__date__generic_1_1min}{min}(len(val), len(unit) - ucur)
750     unit(1+ucur: wrsz+ucur) = val(1: wrsz)
751     ucur = ucur + wrsz
752     stat = 0
753     \textcolor{keywordflow}{if} (wrsz < len(val)) stat = 1
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=321pt]{namespacedc__trace_a0caa4df556979c3fa9375e9918499ab4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacedc__trace_aca1efe8bae50b85f74980a8c4d704dd8}\label{namespacedc__trace_aca1efe8bae50b85f74980a8c4d704dd8}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!beginsub@{beginsub}}
\index{beginsub@{beginsub}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{beginsub()}{beginsub()}}
{\footnotesize\ttfamily subroutine, public dc\+\_\+trace\+::beginsub (\begin{DoxyParamCaption}\item[{character($\ast$), intent(in)}]{name,  }\item[{character($\ast$), intent(in), optional}]{fmt,  }\item[{integer, dimension(\+:), intent(in), optional}]{i,  }\item[{real, dimension(\+:), intent(in), optional}]{r,  }\item[{real(dp), dimension(\+:), intent(in), optional}]{d,  }\item[{logical, dimension(\+:), intent(in), optional}]{L,  }\item[{integer, dimension(\+:), intent(in), optional}]{n,  }\item[{character($\ast$), intent(in), optional}]{c1,  }\item[{character($\ast$), intent(in), optional}]{c2,  }\item[{character($\ast$), intent(in), optional}]{c3,  }\item[{character($\ast$), dimension(\+:), intent(in), optional}]{ca,  }\item[{character($\ast$), intent(in), optional}]{version }\end{DoxyParamCaption})}



Definition at line 351 of file dc\+\_\+trace.\+f90.



References called\+\_\+subname, called\+\_\+subname\+\_\+tmp, dbg, dc\+\_\+types\+::dp, head, indent, initialize(), level, lfirst, dc\+\_\+types\+::string, and table.



Referenced by adjust\+\_\+slice(), gtool\+\_\+history\+\_\+internal\+::append\+\_\+attrs(), gtool\+\_\+history\+\_\+internal\+::copy\+\_\+attrs(), dccalconvertbyunit1(), dccalconvertbyunit2(), dccalconverttoday1(), dccalconverttoday2(), dccalconverttohour1(), dccalconverttohour2(), dccalconverttomin1(), dccalconverttomin2(), dccalconverttosec1(), dccalconverttosec2(), dccalcreate1(), dccalcreate2(), dccaldatecreate1(), dccaldatecreate2(), dccaldatecurrent1(), dccaldatedifference1(), dccaldateevalid1(), dccaldateevalid2(), dccaldateevalym2ym1(), dccaldateevalym2ym2(), dccaldateevalymdhms1(), dccaldateevalymdhms2(), dccaldateinquire1(), dccaldateinquire2(), dccaldateparsestr1(), dccaldefault1(), dccalinquire1(), dccalparseunit1(), dc\+\_\+clock\+::dcclockclose0(), dc\+\_\+clock\+::dcclockcreate0(), dc\+\_\+clock\+::dcclockgetd(), dc\+\_\+clock\+::dcclockgetr(), dc\+\_\+clock\+::dcclockpredict0(), dc\+\_\+clock\+::dcclockputline0(), dc\+\_\+clock\+::dcclockresult0(), dc\+\_\+clock\+::dcclocksetname0(), dc\+\_\+clock\+::dcclockstart0(), dc\+\_\+clock\+::dcclockstop0(), dcdatetimecreate1(), dcdatetimeeval1(), dcdatetimeputline(), dcdatetimesetcaltype(), dcdatetimesetsecofday(), dcdatetimesetzone(), dcdifftimecreate1(), dcdifftimecreate2d(), dcdifftimeeval1(), dcdifftimeputline(), dc\+\_\+scaledsec\+::dcscaledseccreated(), dc\+\_\+scaledsec\+::dcscaledsecputline(), dc\+\_\+iounit\+::fileopen(), gdncattrgetchar(), gdncfileclose(), gdncfiledefinemode(), gdncfileinquirename(), gdncfileopen(), gdncfilereopen(), gdncsearchdim(), gdncvarcreate(), gdncvarcreated(), gdncvarinquire(), gdncvaropen(), gdncvarsearchinit(), gdncvarsearchnext(), getmatch(), gtvaradddim(), gtvarclose(), gtvarcopyattr(), gtvarcopyattrall(), gtvarcopydim(), gtvarcopyvalue(), gtvarcreate(), gtvarcreatecopyc(), gtvarcreated(), gtvardeldim(), gtvarexchdim(), gtvargetattrcc(), gtvarinquire(), gtvarinquire2(), gtvarinquirea(), gtvarinquired(), gtvarlimit(), gtvarlimit\+\_\+iiii(), gtvaropen(), gtvaropenbydimord(), gtvarputattrchar(), gtvarputline(), gtvarsearchinit(), gtvarsearchnext(), gtvarslice(), gtvarslicec(), gtvarslicenext(), gtvarxformbinary(), historyaddattrchar0(), historyaddattrdouble0(), historyaddattrdouble1(), historyaddattrint0(), historyaddattrint1(), historyaddattrlogical0(), historyaddattrreal0(), historyaddattrreal1(), historyaddvariable1(), historyaddvariable2(), historyautoaddattrchar0(), historyautoaddattrdouble0(), historyautoaddattrdouble1(), historyautoaddattrint0(), historyautoaddattrint1(), historyautoaddattrlogical0(), historyautoaddattrreal0(), historyautoaddattrreal1(), historyautoaddvariable1(), historyautoaddvariable2(), historyautoaddweightdouble(), historyautoaddweightint(), historyautoaddweightreal(), historyautoallvarfix(), historyautoclose1(), historyautocreate1(), historyautocreate2(), historyautocreate3(), historyautoputaxisdouble(), historyautoputaxisint(), historyautoputaxismpidouble(), historyautoputaxismpiint(), historyautoputaxismpireal(), historyautoputaxisreal(), historyautoputdouble0(), historyautoputdouble1(), historyautoputdouble2(), historyautoputdouble3(), historyautoputdouble4(), historyautoputdouble5(), historyautoputdouble6(), historyautoputdouble7(), historyautoputint0(), historyautoputint1(), historyautoputint2(), historyautoputint3(), historyautoputint4(), historyautoputint5(), historyautoputint6(), historyautoputint7(), historyautoputreal0(), historyautoputreal1(), historyautoputreal2(), historyautoputreal3(), historyautoputreal4(), historyautoputreal5(), historyautoputreal6(), historyautoputreal7(), historyaxisaddattr2char0(), historyaxisaddattr2double0(), historyaxisaddattr2double1(), historyaxisaddattr2int0(), historyaxisaddattr2int1(), historyaxisaddattr2logical0(), historyaxisaddattr2real0(), historyaxisaddattr2real1(), historyaxisaddattrchar0(), historyaxisaddattrdouble0(), historyaxisaddattrdouble1(), historyaxisaddattrint0(), historyaxisaddattrint1(), historyaxisaddattrlogical0(), historyaxisaddattrreal0(), historyaxisaddattrreal1(), historyaxisclear(), historyaxiscopy1(), historyaxiscopy2(), historyaxiscreate1(), historyaxiscreate2(), historyaxisinquire1(), historyaxisinquire2(), historyclose(), historycopy1(), historycopy2(), historycopyvariable1(), historycreate1(), historycreate2(), historycreate3(), historygettattrchar0(), historygettattrdouble0(), historygettattrdouble1(), historygettattrint0(), historygettattrint1(), historygettattrreal0(), historygettattrreal1(), historyinquire1(), historyinquire2(), historyinquire3(), historyinquire4(), historyputaxismpidouble(), historyputaxismpiint(), historyputaxismpireal(), historyputchar0(), historyputcharex(), historyputdouble0(), historyputdouble1(), historyputdouble2(), historyputdouble3(), historyputdouble4(), historyputdouble5(), historyputdouble6(), historyputdouble7(), historyputdoubleex(), historyputint0(), historyputint1(), historyputint2(), historyputint3(), historyputint4(), historyputint5(), historyputint6(), historyputint7(), historyputintex(), historyputline(), historyputreal0(), historyputreal1(), historyputreal2(), historyputreal3(), historyputreal4(), historyputreal5(), historyputreal6(), historyputreal7(), historyputrealex(), historysettime(), historyvarinfoaddattr2char0(), historyvarinfoaddattr2double0(), historyvarinfoaddattr2double1(), historyvarinfoaddattr2int0(), historyvarinfoaddattr2int1(), historyvarinfoaddattr2logical0(), historyvarinfoaddattr2real0(), historyvarinfoaddattr2real1(), historyvarinfoaddattrchar0(), historyvarinfoaddattrdouble0(), historyvarinfoaddattrdouble1(), historyvarinfoaddattrint0(), historyvarinfoaddattrint1(), historyvarinfoaddattrlogical0(), historyvarinfoaddattrreal0(), historyvarinfoaddattrreal1(), historyvarinfoclear0(), historyvarinfocopy1(), historyvarinfocopy2(), historyvarinfocreate1(), historyvarinfocreate2(), historyvarinfoinquire1(), historyvarinfoinquire2(), gtool\+\_\+historyauto\+\_\+internal\+::hstfilecreate(), hstnmlinfoadd(), hstnmlinfoallnamevalid(), hstnmlinfoallvarinicheck(), hstnmlinfoassocgthist(), hstnmlinfoclose(), hstnmlinfocreate(), hstnmlinfodelete(), hstnmlinfoenddefine(), hstnmlinfogetnames(), hstnmlinfoinquire(), gtool\+\_\+history\+\_\+nmlinfo\+\_\+internal\+::hstnmlinfolistlast(), gtool\+\_\+history\+\_\+nmlinfo\+\_\+internal\+::hstnmlinfolistnext(), gtool\+\_\+history\+\_\+nmlinfo\+\_\+internal\+::hstnmlinfolistsearch(), hstnmlinfooutputstepdisable(), hstnmlinfoputline(), hstnmlinforedefine(), hstnmlinforesetdefault(), hstnmlinfosetvalidname(), gtool\+\_\+historyauto\+\_\+internal\+::hstvarsoutputcheck(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+dimension(), lookup\+\_\+growable\+\_\+url(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+var\+\_\+or\+\_\+dim(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+variable(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+variable\+\_\+ord(), lookupequivalent(), map\+\_\+finished(), timegoahead(), dc\+\_\+url\+::url\+\_\+resolve\+\_\+c(), and value\+\_\+to\+\_\+index().


\begin{DoxyCode}
351     \textcolor{comment}{!}
352     \textcolor{comment}{!== 副プログラム開始のメッセージ出力}
353     \textcolor{comment}{!}
354     \textcolor{comment}{! 文字型変数 *name* に与えた副プログラム名を以下のように出力します.}
355     \textcolor{comment}{!}
356     \textcolor{comment}{!     # call name}
357     \textcolor{comment}{!}
358     \textcolor{comment}{! 複数回呼ぶ事で上記 (dc\_trace の Overview 参照) }
359     \textcolor{comment}{! のようにメッセージが出力されます.}
360     \textcolor{comment}{! 必ず BeginSub と同様な数だけ EndSub を呼ぶようにしてください.}
361     \textcolor{comment}{!}
362     \textcolor{comment}{! また, 文字型変数 *fmt* およびそれ以降の引数を与える事で,}
363     \textcolor{comment}{! 以下のように付加メッセージも出力可能です. *fmt*}
364     \textcolor{comment}{! とそれ以降の引数に関する書式は dc\_string#CPrintf}
365     \textcolor{comment}{! の説明を参照して下さい.}
366     \textcolor{comment}{!}
367     \textcolor{comment}{!     # call name : fmt}
368     \textcolor{comment}{!}
369     \textcolor{comment}{! 利用例に関しては dc\_trace の Usage および Example を参照してください.}
370     \textcolor{comment}{!}
371     \textcolor{comment}{! *version* には, 副プログラムのバージョンナンバーを与えます.}
372     \textcolor{comment}{! *version* に与えられた文字列は, ある副プログラム}
373     \textcolor{comment}{! が複数回呼び出されたうち, 初回に呼び出された時のみ表示されます.}
374     \textcolor{comment}{!}
375     \textcolor{comment}{!--}
376     \textcolor{comment}{!== 開発者向け解説}
377     \textcolor{comment}{!}
378     \textcolor{comment}{! このサブルーチンにより, このモジュール内で内部的に保持される}
379     \textcolor{comment}{! 整数型変数 level の値が 1 増えます。}
380     \textcolor{comment}{!}
381     \textcolor{comment}{!++}
382     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__types_adb76910ff05e3b9fe3436567f8f8dac6}{string}, \hyperlink{namespacedc__types_ac74a34430fcd3d0eb2344f19d536c086}{dp}
383     \textcolor{keywordtype}{use }\hyperlink{namespacedc__string}{dc\_string}\textcolor{keywordtype}{, only}: \hyperlink{interfacedc__string_1_1cprintf}{cprintf}, \hyperlink{interfacedc__string_1_1strinclude}{strinclude}
384     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}          :: name
385     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: fmt
386     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: i(:), n(:)
387     \textcolor{keywordtype}{real},         \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: r(:)
388     \textcolor{keywordtype}{real(DP)},     \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: d(:)
389     \textcolor{keywordtype}{logical},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: l(:)
390     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: c1, c2, c3
391     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: ca(:)
392     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: version
393     \textcolor{keywordtype}{character(STRING)} :: cbuf
394     \textcolor{keywordtype}{character(STRING)} :: name\_ver
395     \textcolor{keywordtype}{logical} :: dbg\_mode, print\_version
396     \textcolor{keywordtype}{integer} :: alloc\_size
397   \textcolor{keywordflow}{continue}
398     \textcolor{keywordflow}{if} ( dbg < 0 ) \textcolor{keywordflow}{return}
399     \textcolor{keywordflow}{if} (lfirst) \textcolor{keyword}{call }initialize
400     \textcolor{keyword}{call }\hyperlink{interfacedc__trace_1_1debug}{debug}( dbg\_mode )
401     \textcolor{keywordflow}{if} ( dbg\_mode ) \textcolor{keywordflow}{then}
402       name\_ver = name
403       print\_version = .false.
404       \textcolor{comment}{!---------------------------------}
405       \textcolor{comment}{!  Print Version check}
406       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(version)) \textcolor{keywordflow}{then}
407         \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{allocated}(called\_subname)) \textcolor{keywordflow}{then}
408           \textcolor{keyword}{allocate}(called\_subname(1))
409           called\_subname(1) = name
410           print\_version = .true.
411         \textcolor{keywordflow}{else}
412           \textcolor{keywordflow}{if} (.not. \hyperlink{interfacedc__string_1_1strinclude}{strinclude}(called\_subname, trim(name))) \textcolor{keywordflow}{then}
413             alloc\_size = \textcolor{keyword}{size}(called\_subname)
414             \textcolor{keyword}{allocate}(called\_subname\_tmp(alloc\_size))
415             called\_subname\_tmp = called\_subname
416             \textcolor{keyword}{deallocate}(called\_subname)
417             \textcolor{keyword}{allocate}(called\_subname(alloc\_size + 1))
418             called\_subname(1:alloc\_size) = called\_subname\_tmp
419             \textcolor{keyword}{deallocate}(called\_subname\_tmp)
420             called\_subname(alloc\_size + 1) = name
421             print\_version = .true.
422 \textcolor{keywordflow}{          end if}
423 \textcolor{keywordflow}{        end if}
424         \textcolor{keywordflow}{if} (print\_version) \textcolor{keywordflow}{then}
425           name\_ver = \hyperlink{interfacedc__string_1_1cprintf}{cprintf}(\textcolor{stringliteral}{'%c version=<%c>'}, &
426             & c1=trim(name), c2=trim(version))
427 \textcolor{keywordflow}{        end if}
428 \textcolor{keywordflow}{      end if}
429       \textcolor{comment}{!---------------------------------}
430       \textcolor{comment}{!  Print Debug message}
431       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(fmt)) \textcolor{keywordflow}{then}
432         cbuf = \hyperlink{interfacedc__string_1_1cprintf}{cprintf}(fmt, i, r, d, l, n, c1, c2, c3, ca)
433         \textcolor{keyword}{write}(dbg, \textcolor{stringliteral}{"(A, A, 'call ', A, ' : ', A)"}) trim(head), &
434           & repeat(indent, level), trim(name\_ver), trim(cbuf)
435       \textcolor{keywordflow}{else}
436         \textcolor{keyword}{write}(dbg, \textcolor{stringliteral}{"(A, A, 'call ',A)"}) trim(head), & 
437           & repeat(indent, level), trim(name\_ver)
438 \textcolor{keywordflow}{      endif}
439 \textcolor{keywordflow}{    endif}
440     \textcolor{comment}{! call errtra ! --- for Fujitsu debug}
441     \textcolor{keywordflow}{if} (level > \textcolor{keyword}{size}(table)) \textcolor{keywordflow}{return}
442     level = level + 1
443     table(level) = name
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=310pt]{namespacedc__trace_aca1efe8bae50b85f74980a8c4d704dd8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacedc__trace_a4548ce19ca30fc47e599095ddeac4adb}\label{namespacedc__trace_a4548ce19ca30fc47e599095ddeac4adb}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!datad1dump@{datad1dump}}
\index{datad1dump@{datad1dump}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{datad1dump()}{datad1dump()}}
{\footnotesize\ttfamily subroutine dc\+\_\+trace\+::datad1dump (\begin{DoxyParamCaption}\item[{character($\ast$), intent(in)}]{header,  }\item[{real(dp), dimension(\+:), intent(in)}]{d,  }\item[{integer, intent(in), optional}]{strlen,  }\item[{integer, dimension(\+:), intent(in), optional}]{multi }\end{DoxyParamCaption})}



Definition at line 552 of file dc\+\_\+trace.\+f90.



References append(), dbg, dc\+\_\+types\+::dp, head, indent, level, meshead, and dc\+\_\+types\+::string.


\begin{DoxyCode}
552     \textcolor{comment}{!}
553     \textcolor{comment}{!== 1 次元データ出力}
554     \textcolor{comment}{!}
555     \textcolor{comment}{! デバッグメッセージとして、多次元データ d (倍精度実数型)}
556     \textcolor{comment}{! を出力します。 文字型変数 header は出力時の頭文字として利用されます。}
557     \textcolor{comment}{! 整数型配列 strlen を与える事で、一行の文字数を指定できます}
558     \textcolor{comment}{! (デフォルトの文字数は dc\_types#STRING で指定されています)。}
559     \textcolor{comment}{! 整数型配列 multi(:) を与えることで、}
560     \textcolor{comment}{! header の後ろに次元添字をつける事が可能です。}
561     \textcolor{comment}{!}
562     \textcolor{comment}{! 利用例に関しては dc\_trace の Example を参照して下さい。}
563     \textcolor{comment}{!}
564     \textcolor{comment}{!--}
565     \textcolor{comment}{!== 開発者向け解説}
566     \textcolor{comment}{!}
567     \textcolor{comment}{! このサブルーチンを用いても、このモジュール内で内部的に保持される}
568     \textcolor{comment}{! 整数型変数 level の値は変化しません。}
569     \textcolor{comment}{!}
570     \textcolor{comment}{!++}
571     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{,      only}: \hyperlink{namespacedc__types_adb76910ff05e3b9fe3436567f8f8dac6}{string}, \hyperlink{namespacedc__types_ac74a34430fcd3d0eb2344f19d536c086}{dp}
572     \textcolor{keywordtype}{use }\hyperlink{namespacedc__string}{dc\_string}\textcolor{keywordtype}{,     only}: \hyperlink{interfacedc__string_1_1tochar}{tochar}
573     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}          :: header  \textcolor{comment}{! データの名称}
574     \textcolor{keywordtype}{real(DP)},     \textcolor{keywordtype}{intent(in)}          :: d(:)    \textcolor{comment}{! 倍精度実数１次元データ}
575     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: strlen  \textcolor{comment}{! 一行の文字数}
576     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: multi(:)\textcolor{comment}{! 上位の次元添字}
577     \textcolor{keywordtype}{integer}          :: i, j
578     \textcolor{keywordtype}{character(STRING)}:: unit    \textcolor{comment}{! データ文字列}
579     \textcolor{keywordtype}{character(STRING)}:: unitbuf \textcolor{comment}{! データ文字列バッファ}
580     \textcolor{keywordtype}{integer}          :: ucur    \textcolor{comment}{! unit に書かれた文字数}
581     \textcolor{keywordtype}{character(STRING)}:: cbuf    \textcolor{comment}{! read/write 文のバッファ}
582     \textcolor{keywordtype}{integer}          :: stat    \textcolor{comment}{! ステータス}
583     \textcolor{keywordtype}{logical}  :: first  \textcolor{comment}{! 1つ目のデータかどうか}
584     \textcolor{keywordtype}{integer}  :: begini \textcolor{comment}{! 1つ目のデータの添字}
585     \textcolor{keywordtype}{integer}  :: endi   \textcolor{comment}{! 最後のデータの添字}
586     \textcolor{keywordtype}{character(STRING)}:: cmulti \textcolor{comment}{! 次元添字用文字列}
587     \textcolor{keywordtype}{character(STRING)}:: cout   \textcolor{comment}{! 出力する文字列}
588     \textcolor{keywordtype}{character(STRING)}:: meshead\_tmp
589     \textcolor{keywordtype}{integer}          :: meshead\_len
590   \textcolor{keywordflow}{continue}
591     \textcolor{keywordflow}{if} ( dbg < 0 ) \textcolor{keywordflow}{return}
592     \textcolor{comment}{! 初期化}
593     unit    = \textcolor{stringliteral}{''}
594     unitbuf = \textcolor{stringliteral}{''}
595     ucur    = 0
596     stat    = 0
597     first = .true.
598     cmulti = \textcolor{stringliteral}{''}
599     \textcolor{comment}{! デバッグメッセージヘッダの作成。}
600     \textcolor{keywordflow}{if} (level < 1) \textcolor{keywordflow}{then}
601       meshead\_tmp = \textcolor{stringliteral}{''}
602       meshead\_len = 0
603     \textcolor{keywordflow}{else}
604       meshead\_tmp = meshead
605       meshead\_len = len(meshead)
606 \textcolor{keywordflow}{    endif}
607     \textcolor{comment}{! 次元添字用文字列を作成}
608     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(multi)) \textcolor{keywordflow}{then}
609       \textcolor{keywordflow}{do} j = 1, \textcolor{keyword}{size}(multi)
610         cmulti = trim(cmulti) // \textcolor{stringliteral}{', '} // trim(  \hyperlink{interfacedc__string_1_1tochar}{tochar}( multi(j) )  )
611 \textcolor{keywordflow}{      enddo}
612 \textcolor{keywordflow}{    endif}
613     i = 1
614     dim\_1\_loop : \textcolor{keywordflow}{do}
615       \textcolor{keywordflow}{if} (first) begini = i
616 \textcolor{keyword}{      end}i = i
617       \textcolor{keyword}{write}(cbuf, \textcolor{stringliteral}{"(g40.20)"}) d(i)
618       \textcolor{keywordflow}{if} (.not. first) cbuf = \textcolor{stringliteral}{', '} // adjustl(cbuf)
619       unitbuf = unit
620       \textcolor{keyword}{call }\hyperlink{dcstringsprintf_8f90_a2cd5d7358ae4c2f53624aced7d4e3ffc}{append}(unit, ucur, trim(adjustl(cbuf)), stat, strlen)
621       \textcolor{keywordflow}{if} ( stat /= 0 .or. i == \textcolor{keyword}{size}( d(:) ) ) \textcolor{keywordflow}{then}
622         \textcolor{comment}{! 一回目は、文字数オーバーでもそのまま出力。}
623         \textcolor{keywordflow}{if} (first) \textcolor{keywordflow}{then}
624           cout = header // \textcolor{stringliteral}{'('} &
625             &   // trim(\hyperlink{interfacedc__string_1_1tochar}{tochar}(begini)) &
626             &   // trim(cmulti) &
627             &   // \textcolor{stringliteral}{')='} // trim(unit)
628           \textcolor{comment}{! 二回目以降は、オーバーしたものは次回へ}
629         \textcolor{keywordflow}{elseif} (stat /= 0 .and. begini == endi-1) \textcolor{keywordflow}{then}
630           cout = header // \textcolor{stringliteral}{'('} &
631             &   // trim(\hyperlink{interfacedc__string_1_1tochar}{tochar}(begini)) &
632             &   // trim(cmulti) &
633             &   // \textcolor{stringliteral}{')='}// trim(unitbuf)
634           \textcolor{comment}{! 1つ巻戻す}
635           i = i - 1
636         \textcolor{keywordflow}{elseif} (stat /= 0 .and. begini /= endi-1) \textcolor{keywordflow}{then}
637           cout = header // \textcolor{stringliteral}{'('} &
638             &   // trim(\hyperlink{interfacedc__string_1_1tochar}{tochar}(begini)) // \textcolor{stringliteral}{'-'} &
639             &   // trim(\hyperlink{interfacedc__string_1_1tochar}{tochar}(endi-1)) &
640             &   // trim(cmulti) &
641             &   // \textcolor{stringliteral}{')='} // trim(unitbuf)
642           \textcolor{comment}{! 1つ巻戻す}
643           i = i - 1
644           \textcolor{comment}{! i が size(d) まで到達した場合もそのまま出力。}
645         \textcolor{keywordflow}{elseif} ( i == \textcolor{keyword}{size}( d(:) ) ) \textcolor{keywordflow}{then}
646           cout = header // \textcolor{stringliteral}{'('} &
647             &   // trim(\hyperlink{interfacedc__string_1_1tochar}{tochar}(begini)) // \textcolor{stringliteral}{'-'} &
648             &   // trim(\hyperlink{interfacedc__string_1_1tochar}{tochar}(endi))   &
649             &   // trim(cmulti) &
650             &   // \textcolor{stringliteral}{')='}// trim(unit)
651 \textcolor{keywordflow}{        endif}
652         \textcolor{keyword}{write}(dbg, \textcolor{stringliteral}{"(A, A, A, A)"}) & 
653           & trim(head), repeat( indent, \hyperlink{interfacedc__date__generic_1_1max}{max}(level-1, 0) ), &
654           & meshead\_tmp(1:meshead\_len), trim(cout)
655         \textcolor{comment}{! unit, unitbuf をクリア}
656         unit    = \textcolor{stringliteral}{''}
657         unitbuf = \textcolor{stringliteral}{''}
658         ucur    = 0
659         first = .true.
660       \textcolor{keywordflow}{else}
661         first = .false.
662 \textcolor{keywordflow}{      endif}
663       \textcolor{keywordflow}{if} (i == \textcolor{keyword}{size}( d(:) ) ) \textcolor{keywordflow}{exit} dim\_1\_loop
664       i = i + 1
665 \textcolor{keywordflow}{    enddo} dim\_1\_loop
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=321pt]{namespacedc__trace_a4548ce19ca30fc47e599095ddeac4adb_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacedc__trace_a2ff89d0c6d4f9d74fa5b6cd3acfd1ab1}\label{namespacedc__trace_a2ff89d0c6d4f9d74fa5b6cd3acfd1ab1}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!datad2dump@{datad2dump}}
\index{datad2dump@{datad2dump}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{datad2dump()}{datad2dump()}}
{\footnotesize\ttfamily subroutine dc\+\_\+trace\+::datad2dump (\begin{DoxyParamCaption}\item[{character($\ast$), intent(in)}]{header,  }\item[{real(dp), dimension(\+:,\+:), intent(in)}]{d,  }\item[{integer, intent(in), optional}]{strlen,  }\item[{integer, dimension(\+:), intent(in), optional}]{multi }\end{DoxyParamCaption})}



Definition at line 668 of file dc\+\_\+trace.\+f90.



References dbg, dc\+\_\+types\+::dp, and dc\+\_\+types\+::string.


\begin{DoxyCode}
668     \textcolor{comment}{!}
669     \textcolor{comment}{!== 2 次元データ出力}
670     \textcolor{comment}{!}
671     \textcolor{comment}{! 詳しくは DataDump または DataD1Dump を参照ください。}
672     \textcolor{comment}{!}
673     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{,      only}: \hyperlink{namespacedc__types_adb76910ff05e3b9fe3436567f8f8dac6}{string}, \hyperlink{namespacedc__types_ac74a34430fcd3d0eb2344f19d536c086}{dp}
674     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}          :: header  \textcolor{comment}{! データの名称}
675     \textcolor{keywordtype}{real(DP)},     \textcolor{keywordtype}{intent(in)}          :: d(:,:)  \textcolor{comment}{! 倍精度実数２次元データ}
676     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: strlen  \textcolor{comment}{! 一行の文字数}
677     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: multi(:)\textcolor{comment}{! 上位の次元添字}
678     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} :: total(:)
679     \textcolor{keywordtype}{integer}              :: j
680   \textcolor{keywordflow}{continue}
681     \textcolor{keywordflow}{if} ( dbg < 0 ) \textcolor{keywordflow}{return}
682     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(multi)) \textcolor{keywordflow}{then}
683       \textcolor{keyword}{allocate}( total(\textcolor{keyword}{size}(multi)+1) )
684       total(2:\textcolor{keyword}{size}(multi)+1) = multi(:)
685     \textcolor{keywordflow}{else}
686       \textcolor{keyword}{allocate}( total(1) )
687 \textcolor{keywordflow}{    endif}
688     \textcolor{keywordflow}{do} j = 1, \textcolor{keyword}{size}( d(:,:), 2 )
689       total(1) = j
690       \textcolor{keyword}{call }\hyperlink{interfacedc__trace_1_1datadump}{datadump}(header, d(:,j), strlen=strlen, multi=total(:))
691 \textcolor{keywordflow}{    enddo}
692     \textcolor{keyword}{deallocate}( total )
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_a6715888cbdd3dccc39af4c6638f17ddc}\label{namespacedc__trace_a6715888cbdd3dccc39af4c6638f17ddc}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!datad3dump@{datad3dump}}
\index{datad3dump@{datad3dump}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{datad3dump()}{datad3dump()}}
{\footnotesize\ttfamily subroutine dc\+\_\+trace\+::datad3dump (\begin{DoxyParamCaption}\item[{character($\ast$), intent(in)}]{header,  }\item[{real(dp), dimension(\+:,\+:,\+:), intent(in)}]{d,  }\item[{integer, intent(in), optional}]{strlen,  }\item[{integer, dimension(\+:), intent(in), optional}]{multi }\end{DoxyParamCaption})}



Definition at line 695 of file dc\+\_\+trace.\+f90.



References dbg, dc\+\_\+types\+::dp, and dc\+\_\+types\+::string.


\begin{DoxyCode}
695     \textcolor{comment}{!}
696     \textcolor{comment}{!== 3 次元データ出力}
697     \textcolor{comment}{!}
698     \textcolor{comment}{! 詳しくは DataDump または DataD1Dump を参照ください。}
699     \textcolor{comment}{!}
700     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{,      only}: \hyperlink{namespacedc__types_adb76910ff05e3b9fe3436567f8f8dac6}{string}, \hyperlink{namespacedc__types_ac74a34430fcd3d0eb2344f19d536c086}{dp}
701     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}          :: header  \textcolor{comment}{! データの名称}
702     \textcolor{keywordtype}{real(DP)},     \textcolor{keywordtype}{intent(in)}          :: d(:,:,:)\textcolor{comment}{! 倍精度実数３次元データ}
703     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: strlen  \textcolor{comment}{! 一行の文字数}
704     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: multi(:)\textcolor{comment}{! 上位の次元添字}
705     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{allocatable} :: total(:)
706     \textcolor{keywordtype}{integer}              :: k
707   \textcolor{keywordflow}{continue}
708     \textcolor{keywordflow}{if} ( dbg < 0 ) \textcolor{keywordflow}{return}
709     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(multi)) \textcolor{keywordflow}{then}
710       \textcolor{keyword}{allocate}( total(\textcolor{keyword}{size}(multi)+1) )
711       total(2:\textcolor{keyword}{size}(multi)+1) = multi(:)
712     \textcolor{keywordflow}{else}
713       \textcolor{keyword}{allocate}( total(1) )
714 \textcolor{keywordflow}{    endif}
715     \textcolor{keywordflow}{do} k = 1, \textcolor{keyword}{size}( d(:,:,:), 3 )
716       total(1) = k
717       \textcolor{keyword}{call }\hyperlink{interfacedc__trace_1_1datadump}{datadump}(header, d(:,:,k), strlen=strlen, multi=total(:))
718 \textcolor{keywordflow}{    enddo}
719     \textcolor{keyword}{deallocate}( total )
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_a68d91867a691b18089c97e05294c18b2}\label{namespacedc__trace_a68d91867a691b18089c97e05294c18b2}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!dbg\+\_\+scratch@{dbg\+\_\+scratch}}
\index{dbg\+\_\+scratch@{dbg\+\_\+scratch}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{dbg\+\_\+scratch()}{dbg\_scratch()}}
{\footnotesize\ttfamily subroutine, public dc\+\_\+trace\+::dbg\+\_\+scratch (\begin{DoxyParamCaption}\item[{logical, intent(in)}]{on }\end{DoxyParamCaption})}



Definition at line 219 of file dc\+\_\+trace.\+f90.



References dbg.



Referenced by sysdepabort().


\begin{DoxyCode}
219     \textcolor{comment}{!}
220     \textcolor{comment}{!== デバッグメッセージの抹消}
221     \textcolor{comment}{!}
222     \textcolor{comment}{! <b>動作未確認ですので利用の際にはご注意下さい。</b>}
223     \textcolor{comment}{!}
224     \textcolor{comment}{! 論理型変数 on に .true. を与える事で、}
225     \textcolor{comment}{! 以降の デバッグメッセージを抹消する事が出来ます。}
226     \textcolor{comment}{!}
227     \textcolor{comment}{! なお、論理型変数 on に <tt>.false.</tt> を 与える事で、}
228     \textcolor{comment}{! 直前に呼んだ Dbg\_Scratch 以降のメッセージを}
229     \textcolor{comment}{! デバッグメッセージとして再び出力し、}
230     \textcolor{comment}{! 以降のデバッグメッセージも 出力されるようにします。}
231     \textcolor{comment}{!}
232     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(in)}:: on
233     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{save}:: saved\_dbg = -1
234     \textcolor{keywordtype}{logical}:: x, p
235     \textcolor{keywordtype}{character(80)}:: line
236     \textcolor{keywordtype}{integer}:: ios
237   \textcolor{keywordflow}{continue}
238     \textcolor{keywordflow}{if} (on) \textcolor{keywordflow}{then}
239       \textcolor{keywordflow}{if} (dbg < 0) \textcolor{keywordflow}{return}
240       saved\_dbg = dbg
241       \textcolor{comment}{! 有効な 1 〜 99 の装置番号の内の大きめの値を設定 (?)}
242       dbg = 98
243       \textcolor{keywordflow}{do}
244         \textcolor{keyword}{inquire}(unit=dbg, exist=x, opened=p)
245         \textcolor{comment}{! 装置番号 dbg が接続可能で、かつ未接続の場合}
246         \textcolor{keywordflow}{if} (x .and. .not. p) \textcolor{keywordflow}{then}
247           \textcolor{comment}{! 装置番号 deg をスクラッチファイルとして開く。}
248           \textcolor{comment}{!   ※ スクラッチファイルとは、特殊な外部ファイルである。}
249           \textcolor{comment}{!      これは名前なしの一時ファイルであり、開いている}
250           \textcolor{comment}{!      間だけ存在する。つまり、プログラムが終了すると}
251           \textcolor{comment}{!      存在しなくなる。}
252           \textcolor{keyword}{open}(unit=dbg, status=\textcolor{stringliteral}{'SCRATCH'})
253           \textcolor{comment}{! 開く事が出来ればそれで終了。}
254           \textcolor{keywordflow}{return}
255 \textcolor{keywordflow}{        endif}
256         \textcolor{comment}{! 装置番号 dbg が利用不可、または利用済の場合は 0 以下に}
257         \textcolor{comment}{! なるまで dbg - 1 して繰り返す。}
258         dbg = dbg - 1
259         \textcolor{keywordflow}{if} (dbg < 0) \textcolor{keywordflow}{exit}
260 \textcolor{keywordflow}{      enddo}
261       \textcolor{comment}{! 装置番号 dbg が開けない場合、dbg と saved\_dbg を初期化}
262       dbg = saved\_dbg
263       saved\_dbg = -1
264     \textcolor{keywordflow}{else}
265       \textcolor{comment}{! 以前に装置番号 dbg = 98〜0 でスクラッチファイルを開けてい}
266       \textcolor{comment}{! なければそれで終了}
267       \textcolor{keywordflow}{if} (saved\_dbg < 0) \textcolor{keywordflow}{return}
268       \textcolor{comment}{! 装置番号 dbg に接続されたスクラッチファイルをその開始位置}
269       \textcolor{comment}{! に位置付ける。エラーが生じたら「100 continue」へ}
270       \hyperlink{interfacedc__hash_1_1rewind}{rewind}(dbg, err=100)
271       \textcolor{keywordflow}{do}
272         \textcolor{comment}{! 装置番号 dbg に接続されたスクラッチファイルの一行を}
273         \textcolor{comment}{! line へ}
274         \textcolor{keyword}{read}(dbg, \textcolor{stringliteral}{'(A)'}, iostat=ios) line
275         \textcolor{keywordflow}{if} (ios /= 0) \textcolor{keywordflow}{exit}
276         \textcolor{comment}{! line を装置番号 saved\_dbg へ書き出す。}
277         \textcolor{keyword}{write}(saved\_dbg, \textcolor{stringliteral}{'(A)'}, iostat=ios) trim(line)
278         \textcolor{keywordflow}{if} (ios /= 0) \textcolor{keywordflow}{exit}
279 \textcolor{keywordflow}{      enddo}
280   100 \textcolor{keywordflow}{continue}
281       \textcolor{keyword}{close}(dbg, iostat=ios)
282       \textcolor{comment}{! 最後に dbg と saved\_dbg を初期化}
283       dbg = saved\_dbg
284       saved\_dbg = -1
285 \textcolor{keywordflow}{    endif}
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=299pt]{namespacedc__trace_a68d91867a691b18089c97e05294c18b2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}\label{namespacedc__trace_a2a38fceb4cf9baf298d63456238c3fea}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!dbgmessage@{dbgmessage}}
\index{dbgmessage@{dbgmessage}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{dbgmessage()}{dbgmessage()}}
{\footnotesize\ttfamily subroutine, public dc\+\_\+trace\+::dbgmessage (\begin{DoxyParamCaption}\item[{character($\ast$), intent(in)}]{fmt,  }\item[{integer, dimension(\+:), intent(in), optional}]{i,  }\item[{real, dimension(\+:), intent(in), optional}]{r,  }\item[{real(dp), dimension(\+:), intent(in), optional}]{d,  }\item[{logical, dimension(\+:), intent(in), optional}]{L,  }\item[{integer, dimension(\+:), intent(in), optional}]{n,  }\item[{character($\ast$), intent(in), optional}]{c1,  }\item[{character($\ast$), intent(in), optional}]{c2,  }\item[{character($\ast$), intent(in), optional}]{c3,  }\item[{character($\ast$), dimension(\+:), intent(in), optional}]{ca }\end{DoxyParamCaption})}



Definition at line 509 of file dc\+\_\+trace.\+f90.



References dbg, dc\+\_\+types\+::dp, head, indent, level, meshead, and dc\+\_\+types\+::string.



Referenced by actual\+\_\+iorange\+\_\+dump(), gtool\+\_\+history\+\_\+internal\+::append\+\_\+attrs(), gtool\+\_\+history\+\_\+internal\+::copy\+\_\+attrs(), dccaldateparsestr1(), dc\+\_\+clock\+::dcclockcreate0(), dc\+\_\+clock\+::dcclockgetd(), dc\+\_\+clock\+::dcclockgetr(), dc\+\_\+clock\+::dcclockpredict0(), dc\+\_\+clock\+::dcclockputline0(), dc\+\_\+clock\+::dcclockresult0(), dc\+\_\+clock\+::dcclocksetname0(), dc\+\_\+clock\+::dcclockstart0(), dc\+\_\+clock\+::dcclockstop0(), gtdata\+\_\+internal\+\_\+map\+::dimord\+\_\+skip\+\_\+compact(), gdncfileclose(), gdncfiledatamode(), gdncfiledefinemode(), gdncfileinquirename(), gdncfilereopen(), gdncvarattrrewind(), gdncvarcreate(), gdncvarcreated(), gdncvarinquire(), gdncvarputchar(), gdncvarputdouble(), gdncvarputint(), gdncvarputreal(), gdncvarsearchinit(), gdncvarsearchnext(), getmatch(), gtdata\+\_\+internal\+\_\+map\+::gtvar\+\_\+dump(), gtvaradddim(), gtvarclose(), gtvarcopyattrall(), gtvarcreate(), gtvarcreated(), gtvardeldim(), gtvarexchdim(), gtvargetpointerdouble1(), gtvargetpointerdouble2(), gtvargetpointerdouble3(), gtvargetpointerdouble4(), gtvargetpointerdouble5(), gtvargetpointerdouble6(), gtvargetpointerdouble7(), gtvargetpointerint1(), gtvargetpointerint2(), gtvargetpointerint3(), gtvargetpointerint4(), gtvargetpointerint5(), gtvargetpointerint6(), gtvargetpointerint7(), gtvargetpointerreal1(), gtvargetpointerreal2(), gtvargetpointerreal3(), gtvargetpointerreal4(), gtvargetpointerreal5(), gtvargetpointerreal6(), gtvargetpointerreal7(), gtvarinquire(), gtvarlimit\+\_\+iiii(), gtvaropenbydimord(), gtvarputline(), gtvarslice(), gtvarslicenext(), gtvarxformbinary(), historyaddattrchar0(), historyaddattrdouble0(), historyaddattrdouble1(), historyaddattrint0(), historyaddattrint1(), historyaddattrlogical0(), historyaddattrreal0(), historyaddattrreal1(), historyaddvariable1(), historyaddvariable2(), historyautoaddvariable2(), historyaxisaddattr2char0(), historyaxisaddattr2double0(), historyaxisaddattr2double1(), historyaxisaddattr2int0(), historyaxisaddattr2int1(), historyaxisaddattr2logical0(), historyaxisaddattr2real0(), historyaxisaddattr2real1(), historyaxisaddattrchar0(), historyaxisaddattrdouble0(), historyaxisaddattrdouble1(), historyaxisaddattrint0(), historyaxisaddattrint1(), historyaxisaddattrlogical0(), historyaxisaddattrreal0(), historyaxisaddattrreal1(), historyaxisclear(), historyaxiscopy1(), historyaxiscopy2(), historyaxiscreate1(), historyaxiscreate2(), historyaxisinquire1(), historyaxisinquire2(), historyclose(), historycopy1(), historycopy2(), historycopyvariable1(), historycreate1(), historycreate2(), historycreate3(), historygetdouble0(), historygetdouble0pointer(), historygetdouble0pointertimed(), historygetdouble0pointertimei(), historygetdouble0pointertimer(), historygetdouble0timed(), historygetdouble0timei(), historygetdouble0timer(), historygetdouble1(), historygetdouble1pointer(), historygetdouble1pointertimed(), historygetdouble1pointertimei(), historygetdouble1pointertimer(), historygetdouble1timed(), historygetdouble1timei(), historygetdouble1timer(), historygetdouble2(), historygetdouble2pointer(), historygetdouble2pointertimed(), historygetdouble2pointertimei(), historygetdouble2pointertimer(), historygetdouble2timed(), historygetdouble2timei(), historygetdouble2timer(), historygetdouble3(), historygetdouble3pointer(), historygetdouble3pointertimed(), historygetdouble3pointertimei(), historygetdouble3pointertimer(), historygetdouble3timed(), historygetdouble3timei(), historygetdouble3timer(), historygetdouble4(), historygetdouble4pointer(), historygetdouble4pointertimed(), historygetdouble4pointertimei(), historygetdouble4pointertimer(), historygetdouble4timed(), historygetdouble4timei(), historygetdouble4timer(), historygetdouble5(), historygetdouble5pointer(), historygetdouble5pointertimed(), historygetdouble5pointertimei(), historygetdouble5pointertimer(), historygetdouble5timed(), historygetdouble5timei(), historygetdouble5timer(), historygetdouble6(), historygetdouble6pointer(), historygetdouble6pointertimed(), historygetdouble6pointertimei(), historygetdouble6pointertimer(), historygetdouble6timed(), historygetdouble6timei(), historygetdouble6timer(), historygetdouble7(), historygetdouble7pointer(), historygetdouble7pointertimed(), historygetdouble7pointertimei(), historygetdouble7pointertimer(), historygetdouble7timed(), historygetdouble7timei(), historygetdouble7timer(), historygetint0(), historygetint0pointer(), historygetint0pointertimed(), historygetint0pointertimei(), historygetint0pointertimer(), historygetint0timed(), historygetint0timei(), historygetint0timer(), historygetint1(), historygetint1pointer(), historygetint1pointertimed(), historygetint1pointertimei(), historygetint1pointertimer(), historygetint1timed(), historygetint1timei(), historygetint1timer(), historygetint2(), historygetint2pointer(), historygetint2pointertimed(), historygetint2pointertimei(), historygetint2pointertimer(), historygetint2timed(), historygetint2timei(), historygetint2timer(), historygetint3(), historygetint3pointer(), historygetint3pointertimed(), historygetint3pointertimei(), historygetint3pointertimer(), historygetint3timed(), historygetint3timei(), historygetint3timer(), historygetint4(), historygetint4pointer(), historygetint4pointertimed(), historygetint4pointertimei(), historygetint4pointertimer(), historygetint4timed(), historygetint4timei(), historygetint4timer(), historygetint5(), historygetint5pointer(), historygetint5pointertimed(), historygetint5pointertimei(), historygetint5pointertimer(), historygetint5timed(), historygetint5timei(), historygetint5timer(), historygetint6(), historygetint6pointer(), historygetint6pointertimed(), historygetint6pointertimei(), historygetint6pointertimer(), historygetint6timed(), historygetint6timei(), historygetint6timer(), historygetint7(), historygetint7pointer(), historygetint7pointertimed(), historygetint7pointertimei(), historygetint7pointertimer(), historygetint7timed(), historygetint7timei(), historygetint7timer(), historygetreal0(), historygetreal0pointer(), historygetreal0pointertimed(), historygetreal0pointertimei(), historygetreal0pointertimer(), historygetreal0timed(), historygetreal0timei(), historygetreal0timer(), historygetreal1(), historygetreal1pointer(), historygetreal1pointertimed(), historygetreal1pointertimei(), historygetreal1pointertimer(), historygetreal1timed(), historygetreal1timei(), historygetreal1timer(), historygetreal2(), historygetreal2pointer(), historygetreal2pointertimed(), historygetreal2pointertimei(), historygetreal2pointertimer(), historygetreal2timed(), historygetreal2timei(), historygetreal2timer(), historygetreal3(), historygetreal3pointer(), historygetreal3pointertimed(), historygetreal3pointertimei(), historygetreal3pointertimer(), historygetreal3timed(), historygetreal3timei(), historygetreal3timer(), historygetreal4(), historygetreal4pointer(), historygetreal4pointertimed(), historygetreal4pointertimei(), historygetreal4pointertimer(), historygetreal4timed(), historygetreal4timei(), historygetreal4timer(), historygetreal5(), historygetreal5pointer(), historygetreal5pointertimed(), historygetreal5pointertimei(), historygetreal5pointertimer(), historygetreal5timed(), historygetreal5timei(), historygetreal5timer(), historygetreal6(), historygetreal6pointer(), historygetreal6pointertimed(), historygetreal6pointertimei(), historygetreal6pointertimer(), historygetreal6timed(), historygetreal6timei(), historygetreal6timer(), historygetreal7(), historygetreal7pointer(), historygetreal7pointertimed(), historygetreal7pointertimei(), historygetreal7pointertimer(), historygetreal7timed(), historygetreal7timei(), historygetreal7timer(), historyinquire1(), historyinquire2(), historyinquire3(), historyinquire4(), historyputaxismpidouble(), historyputaxismpiint(), historyputaxismpireal(), historyputchar0(), historyputcharex(), historyputdouble0(), historyputdouble1(), historyputdouble2(), historyputdouble3(), historyputdouble4(), historyputdouble5(), historyputdouble6(), historyputdouble7(), historyputdoubleex(), historyputint0(), historyputint1(), historyputint2(), historyputint3(), historyputint4(), historyputint5(), historyputint6(), historyputint7(), historyputintex(), historyputreal0(), historyputreal1(), historyputreal2(), historyputreal3(), historyputreal4(), historyputreal5(), historyputreal6(), historyputreal7(), historyputrealex(), historysettime(), historyvarinfoaddattr2char0(), historyvarinfoaddattr2double0(), historyvarinfoaddattr2double1(), historyvarinfoaddattr2int0(), historyvarinfoaddattr2int1(), historyvarinfoaddattr2logical0(), historyvarinfoaddattr2real0(), historyvarinfoaddattr2real1(), historyvarinfoaddattrchar0(), historyvarinfoaddattrdouble0(), historyvarinfoaddattrdouble1(), historyvarinfoaddattrint0(), historyvarinfoaddattrint1(), historyvarinfoaddattrlogical0(), historyvarinfoaddattrreal0(), historyvarinfoaddattrreal1(), historyvarinfoclear0(), historyvarinfocopy1(), historyvarinfocopy2(), historyvarinfocreate1(), historyvarinfocreate2(), historyvarinfoinquire1(), historyvarinfoinquire2(), hstnmlinfoadd(), hstnmlinfoclose(), hstnmlinfodelete(), gtool\+\_\+historyauto\+\_\+internal\+::hstvarsoutputcheck(), internal\+\_\+get\+\_\+allcount(), internal\+\_\+get\+\_\+alldims(), internal\+\_\+get\+\_\+rank(), internal\+\_\+get\+\_\+size(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+dimension(), lookup\+\_\+growable\+\_\+url(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+var\+\_\+or\+\_\+dim(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+variable(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+variable\+\_\+ord(), gtdata\+\_\+internal\+\_\+map\+::map\+\_\+dup(), gtdata\+\_\+internal\+\_\+map\+::maptabdelete(), timegoahead(), dc\+\_\+url\+::url\+\_\+resolve\+\_\+c(), value\+\_\+to\+\_\+index(), gtdata\+\_\+internal\+\_\+vartable\+::vartable\+\_\+dump(), gtdata\+\_\+internal\+\_\+vartable\+::vartableadd(), gtdata\+\_\+netcdf\+\_\+internal\+::vtable\+\_\+add(), and gtdata\+\_\+netcdf\+\_\+internal\+::vtable\+\_\+delete().


\begin{DoxyCode}
509     \textcolor{comment}{!}
510     \textcolor{comment}{!== デバッグ用メッセージ出力}
511     \textcolor{comment}{!}
512     \textcolor{comment}{! フォーマット文字列 fmt に従ってデバッグメッセージを出力します。}
513     \textcolor{comment}{! fmt とそれ以降の引数に関する書式は dc\_string#CPrintf}
514     \textcolor{comment}{! の説明を参照して下さい。}
515     \textcolor{comment}{!}
516     \textcolor{comment}{! 利用例に関しては dc\_trace の Example を参照して下さい。}
517     \textcolor{comment}{!}
518     \textcolor{comment}{!--}
519     \textcolor{comment}{!== 開発者向け解説}
520     \textcolor{comment}{!}
521     \textcolor{comment}{! このサブルーチンを用いても、このモジュール内で内部的に保持される}
522     \textcolor{comment}{! 整数型変数 level の値は変化しません。}
523     \textcolor{comment}{!}
524     \textcolor{comment}{!++}
525     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__types_adb76910ff05e3b9fe3436567f8f8dac6}{string}, \hyperlink{namespacedc__types_ac74a34430fcd3d0eb2344f19d536c086}{dp}
526     \textcolor{keywordtype}{use }\hyperlink{namespacedc__string}{dc\_string}\textcolor{keywordtype}{, only}: \hyperlink{interfacedc__string_1_1cprintf}{cprintf}, \hyperlink{interfacedc__string_1_1tochar}{tochar}
527     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}          :: fmt
528     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: i(:), n(:)
529     \textcolor{keywordtype}{real},         \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: r(:)
530     \textcolor{keywordtype}{real(DP)},     \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: d(:)
531     \textcolor{keywordtype}{logical},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: l(:)
532     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: c1, c2, c3
533     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: ca(:)
534     \textcolor{keywordtype}{character(STRING)}:: cbuf
535     \textcolor{keywordtype}{character(STRING)}:: meshead\_tmp
536     \textcolor{keywordtype}{integer}          :: meshead\_len
537   \textcolor{keywordflow}{continue}
538     \textcolor{keywordflow}{if} ( dbg < 0 ) \textcolor{keywordflow}{return}
539     cbuf = \hyperlink{interfacedc__string_1_1cprintf}{cprintf}(fmt, i, r, d, l, n, c1, c2, c3, ca)
540     \textcolor{keywordflow}{if} (level < 1) \textcolor{keywordflow}{then}
541       meshead\_tmp = \textcolor{stringliteral}{''}
542       meshead\_len = 0
543     \textcolor{keywordflow}{else}
544       meshead\_tmp = meshead
545       meshead\_len = len(meshead)
546 \textcolor{keywordflow}{    endif}
547     \textcolor{keyword}{write}(dbg, \textcolor{stringliteral}{"(A, A, A, A)"}) & 
548       & trim(head), repeat( indent, \hyperlink{interfacedc__date__generic_1_1max}{max}(level-1, 0) ), &
549       & meshead\_tmp(1:meshead\_len), trim(cbuf)
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_a2584fc9f20932397efb50327d26e9a43}\label{namespacedc__trace_a2584fc9f20932397efb50327d26e9a43}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!dctracedebug@{dctracedebug}}
\index{dctracedebug@{dctracedebug}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{dctracedebug()}{dctracedebug()}}
{\footnotesize\ttfamily subroutine dc\+\_\+trace\+::dctracedebug (\begin{DoxyParamCaption}\item[{logical, intent(out)}]{dbg\+\_\+mode }\end{DoxyParamCaption})}



Definition at line 333 of file dc\+\_\+trace.\+f90.



References dbg.


\begin{DoxyCode}
333     \textcolor{comment}{!}
334     \textcolor{comment}{!== デバックモードかどうかの診断}
335     \textcolor{comment}{!}
336     \textcolor{comment}{! SetDebugでデバッグモードになっている場合には .true. が、}
337     \textcolor{comment}{! デバッグモードでない場合には .false. が返ります。}
338     \textcolor{comment}{!}
339     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(out)}:: dbg\_mode
340     dbg\_mode = dbg >= 0
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_ae44de97565a3bdd685789c7748b37e37}\label{namespacedc__trace_ae44de97565a3bdd685789c7748b37e37}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!endsub@{endsub}}
\index{endsub@{endsub}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{endsub()}{endsub()}}
{\footnotesize\ttfamily subroutine, public dc\+\_\+trace\+::endsub (\begin{DoxyParamCaption}\item[{character($\ast$), intent(in)}]{name,  }\item[{character($\ast$), intent(in), optional}]{fmt,  }\item[{integer, dimension(\+:), intent(in), optional}]{i,  }\item[{real, dimension(\+:), intent(in), optional}]{r,  }\item[{real(dp), dimension(\+:), intent(in), optional}]{d,  }\item[{logical, dimension(\+:), intent(in), optional}]{L,  }\item[{integer, dimension(\+:), intent(in), optional}]{n,  }\item[{character($\ast$), intent(in), optional}]{c1,  }\item[{character($\ast$), intent(in), optional}]{c2,  }\item[{character($\ast$), intent(in), optional}]{c3,  }\item[{character($\ast$), dimension(\+:), intent(in), optional}]{ca }\end{DoxyParamCaption})}



Definition at line 446 of file dc\+\_\+trace.\+f90.



References dbg, dc\+\_\+types\+::dp, head, indent, initialize(), level, lfirst, dc\+\_\+types\+::string, and table.



Referenced by adjust\+\_\+slice(), gtool\+\_\+history\+\_\+internal\+::append\+\_\+attrs(), gtool\+\_\+history\+\_\+internal\+::copy\+\_\+attrs(), dccalconvertbyunit1(), dccalconvertbyunit2(), dccalconverttoday1(), dccalconverttoday2(), dccalconverttohour1(), dccalconverttohour2(), dccalconverttomin1(), dccalconverttomin2(), dccalconverttosec1(), dccalconverttosec2(), dccalcreate1(), dccalcreate2(), dccaldatecreate1(), dccaldatecreate2(), dccaldatecurrent1(), dccaldatedifference1(), dccaldateevalid1(), dccaldateevalid2(), dccaldateevalym2ym1(), dccaldateevalym2ym2(), dccaldateevalymdhms1(), dccaldateevalymdhms2(), dccaldateinquire1(), dccaldateinquire2(), dccaldateparsestr1(), dccaldefault1(), dccalinquire1(), dccalparseunit1(), dc\+\_\+clock\+::dcclockclose0(), dc\+\_\+clock\+::dcclockcreate0(), dc\+\_\+clock\+::dcclockgetd(), dc\+\_\+clock\+::dcclockgetr(), dc\+\_\+clock\+::dcclockpredict0(), dc\+\_\+clock\+::dcclockputline0(), dc\+\_\+clock\+::dcclockresult0(), dc\+\_\+clock\+::dcclocksetname0(), dc\+\_\+clock\+::dcclockstart0(), dc\+\_\+clock\+::dcclockstop0(), dcdatetimecreate1(), dcdatetimeeval1(), dcdatetimeputline(), dcdatetimesetcaltype(), dcdatetimesetsecofday(), dcdatetimesetzone(), dcdifftimecreate1(), dcdifftimecreate2d(), dcdifftimeeval1(), dcdifftimeputline(), dc\+\_\+scaledsec\+::dcscaledseccreated(), dc\+\_\+scaledsec\+::dcscaledsecputline(), dc\+\_\+iounit\+::fileopen(), gdncattrgetchar(), gdncfileclose(), gdncfiledefinemode(), gdncfileinquirename(), gdncfileopen(), gdncfilereopen(), gdncsearchdim(), gdncvarcreate(), gdncvarcreated(), gdncvarinquire(), gdncvaropen(), gdncvarsearchinit(), gdncvarsearchnext(), getmatch(), gtvaradddim(), gtvarclose(), gtvarcopyattr(), gtvarcopyattrall(), gtvarcopydim(), gtvarcopyvalue(), gtvarcreate(), gtvarcreatecopyc(), gtvarcreated(), gtvardeldim(), gtvarexchdim(), gtvargetattrcc(), gtvarinquire(), gtvarinquire2(), gtvarinquirea(), gtvarinquired(), gtvarlimit(), gtvarlimit\+\_\+iiii(), gtvaropen(), gtvaropenbydimord(), gtvarputattrchar(), gtvarputline(), gtvarsearchinit(), gtvarsearchnext(), gtvarslice(), gtvarslicec(), gtvarslicenext(), gtvarxformbinary(), historyaddattrchar0(), historyaddattrdouble0(), historyaddattrdouble1(), historyaddattrint0(), historyaddattrint1(), historyaddattrlogical0(), historyaddattrreal0(), historyaddattrreal1(), historyaddvariable1(), historyaddvariable2(), historyautoaddattrchar0(), historyautoaddattrdouble0(), historyautoaddattrdouble1(), historyautoaddattrint0(), historyautoaddattrint1(), historyautoaddattrlogical0(), historyautoaddattrreal0(), historyautoaddattrreal1(), historyautoaddvariable1(), historyautoaddvariable2(), historyautoaddweightdouble(), historyautoaddweightint(), historyautoaddweightreal(), historyautoallvarfix(), historyautoclose1(), historyautocreate1(), historyautocreate2(), historyautocreate3(), historyautoputaxisdouble(), historyautoputaxisint(), historyautoputaxismpidouble(), historyautoputaxismpiint(), historyautoputaxismpireal(), historyautoputaxisreal(), historyautoputdouble0(), historyautoputdouble1(), historyautoputdouble2(), historyautoputdouble3(), historyautoputdouble4(), historyautoputdouble5(), historyautoputdouble6(), historyautoputdouble7(), historyautoputint0(), historyautoputint1(), historyautoputint2(), historyautoputint3(), historyautoputint4(), historyautoputint5(), historyautoputint6(), historyautoputint7(), historyautoputreal0(), historyautoputreal1(), historyautoputreal2(), historyautoputreal3(), historyautoputreal4(), historyautoputreal5(), historyautoputreal6(), historyautoputreal7(), historyaxisaddattr2char0(), historyaxisaddattr2double0(), historyaxisaddattr2double1(), historyaxisaddattr2int0(), historyaxisaddattr2int1(), historyaxisaddattr2logical0(), historyaxisaddattr2real0(), historyaxisaddattr2real1(), historyaxisaddattrchar0(), historyaxisaddattrdouble0(), historyaxisaddattrdouble1(), historyaxisaddattrint0(), historyaxisaddattrint1(), historyaxisaddattrlogical0(), historyaxisaddattrreal0(), historyaxisaddattrreal1(), historyaxisclear(), historyaxiscopy1(), historyaxiscopy2(), historyaxiscreate1(), historyaxiscreate2(), historyaxisinquire1(), historyaxisinquire2(), historyclose(), historycopy1(), historycopy2(), historycopyvariable1(), historycreate1(), historycreate2(), historycreate3(), historygettattrchar0(), historygettattrdouble0(), historygettattrdouble1(), historygettattrint0(), historygettattrint1(), historygettattrreal0(), historygettattrreal1(), historyinquire1(), historyinquire2(), historyinquire3(), historyinquire4(), historyputaxismpidouble(), historyputaxismpiint(), historyputaxismpireal(), historyputchar0(), historyputcharex(), historyputdouble0(), historyputdouble1(), historyputdouble2(), historyputdouble3(), historyputdouble4(), historyputdouble5(), historyputdouble6(), historyputdouble7(), historyputdoubleex(), historyputint0(), historyputint1(), historyputint2(), historyputint3(), historyputint4(), historyputint5(), historyputint6(), historyputint7(), historyputintex(), historyputline(), historyputreal0(), historyputreal1(), historyputreal2(), historyputreal3(), historyputreal4(), historyputreal5(), historyputreal6(), historyputreal7(), historyputrealex(), historysettime(), historyvarinfoaddattr2char0(), historyvarinfoaddattr2double0(), historyvarinfoaddattr2double1(), historyvarinfoaddattr2int0(), historyvarinfoaddattr2int1(), historyvarinfoaddattr2logical0(), historyvarinfoaddattr2real0(), historyvarinfoaddattr2real1(), historyvarinfoaddattrchar0(), historyvarinfoaddattrdouble0(), historyvarinfoaddattrdouble1(), historyvarinfoaddattrint0(), historyvarinfoaddattrint1(), historyvarinfoaddattrlogical0(), historyvarinfoaddattrreal0(), historyvarinfoaddattrreal1(), historyvarinfoclear0(), historyvarinfocopy1(), historyvarinfocopy2(), historyvarinfocreate1(), historyvarinfocreate2(), historyvarinfoinquire1(), historyvarinfoinquire2(), gtool\+\_\+historyauto\+\_\+internal\+::hstfilecreate(), hstnmlinfoadd(), hstnmlinfoallnamevalid(), hstnmlinfoallvarinicheck(), hstnmlinfoassocgthist(), hstnmlinfoclose(), hstnmlinfocreate(), hstnmlinfodelete(), hstnmlinfoenddefine(), hstnmlinfogetnames(), hstnmlinfoinquire(), gtool\+\_\+history\+\_\+nmlinfo\+\_\+internal\+::hstnmlinfolistlast(), gtool\+\_\+history\+\_\+nmlinfo\+\_\+internal\+::hstnmlinfolistnext(), gtool\+\_\+history\+\_\+nmlinfo\+\_\+internal\+::hstnmlinfolistsearch(), hstnmlinfooutputstepdisable(), hstnmlinfoputline(), hstnmlinforedefine(), hstnmlinforesetdefault(), hstnmlinfosetvalidname(), gtool\+\_\+historyauto\+\_\+internal\+::hstvarsoutputcheck(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+dimension(), lookup\+\_\+growable\+\_\+url(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+var\+\_\+or\+\_\+dim(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+variable(), gtool\+\_\+history\+\_\+internal\+::lookup\+\_\+variable\+\_\+ord(), lookupequivalent(), map\+\_\+finished(), timegoahead(), dc\+\_\+url\+::url\+\_\+resolve\+\_\+c(), and value\+\_\+to\+\_\+index().


\begin{DoxyCode}
446     \textcolor{comment}{!}
447     \textcolor{comment}{!== 副プログラム終了のメッセージ出力}
448     \textcolor{comment}{!}
449     \textcolor{comment}{! 文字型変数 name に与えた副プログラム名を以下のように出力します。}
450     \textcolor{comment}{!}
451     \textcolor{comment}{!     # end name}
452     \textcolor{comment}{!}
453     \textcolor{comment}{! BeginSub に対して一対一対応していますので、name には対応する}
454     \textcolor{comment}{! BeginSub の引数 name と同じものを与えて下さい。}
455     \textcolor{comment}{!}
456     \textcolor{comment}{! また、文字型変数 fmt およびそれ以降の引数を与える事で、}
457     \textcolor{comment}{! 以下のように付加メッセージも出力可能です。 fmt}
458     \textcolor{comment}{! とそれ以降の引数に関する書式は dc\_string#CPrintf}
459     \textcolor{comment}{! の説明を参照して下さい。}
460     \textcolor{comment}{!}
461     \textcolor{comment}{!     # end name fmt}
462     \textcolor{comment}{!}
463     \textcolor{comment}{! 利用例に関しては dc\_trace の Usage および Exampleを参照してください。}
464     \textcolor{comment}{!--}
465     \textcolor{comment}{!== 開発者向け解説}
466     \textcolor{comment}{!}
467     \textcolor{comment}{! このサブルーチンにより, このモジュール内で内部的に保持される}
468     \textcolor{comment}{! 整数型変数 level の値が 1 減ります。}
469     \textcolor{comment}{!}
470     \textcolor{comment}{!++}
471     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__types_adb76910ff05e3b9fe3436567f8f8dac6}{string}, \hyperlink{namespacedc__types_ac74a34430fcd3d0eb2344f19d536c086}{dp}
472     \textcolor{keywordtype}{use }\hyperlink{namespacedc__string}{dc\_string}\textcolor{keywordtype}{, only}: \hyperlink{interfacedc__string_1_1cprintf}{cprintf}
473     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}          :: name
474     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: fmt
475     \textcolor{keywordtype}{integer},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: i(:), n(:)
476     \textcolor{keywordtype}{real},         \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: r(:)
477     \textcolor{keywordtype}{real(DP)},     \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: d(:)
478     \textcolor{keywordtype}{logical},      \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: l(:)
479     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: c1, c2, c3
480     \textcolor{keywordtype}{character(*)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: ca(:)
481     \textcolor{keywordtype}{character(STRING)}:: cbuf
482     \textcolor{keywordtype}{logical}:: debug\_mode
483   \textcolor{keywordflow}{continue}
484     \textcolor{keywordflow}{if} ( dbg < 0 ) \textcolor{keywordflow}{return}
485     \textcolor{keywordflow}{if} (lfirst) \textcolor{keyword}{call }initialize
486     \textcolor{comment}{! call errtra ! --- for Fujitsu debug}
487     \textcolor{keywordflow}{if} (level <= 0) \textcolor{keywordflow}{then}
488       \textcolor{keyword}{write}(*, \textcolor{stringliteral}{"(A, 'Warning EndSub[',A,'] without BeginSub')"}) &
489         & trim(head), trim(name)
490     \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (name /= table(level)) \textcolor{keywordflow}{then}
491       \textcolor{keyword}{write}(*, \textcolor{stringliteral}{"(A, 'Warning EndSub[',A,'] but tos[',A,']')"}) &
492         & trim(head), trim(name), trim(table(level))
493     \textcolor{keywordflow}{else}
494       level = level - 1
495 \textcolor{keywordflow}{    endif}
496     \textcolor{keyword}{call }\hyperlink{interfacedc__trace_1_1debug}{debug}( debug\_mode )
497     \textcolor{keywordflow}{if} ( debug\_mode ) \textcolor{keywordflow}{then}
498       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(fmt)) \textcolor{keywordflow}{then}
499         cbuf = \hyperlink{interfacedc__string_1_1cprintf}{cprintf}(fmt, i, r, d, l, n, c1, c2, c3, ca)
500         \textcolor{keyword}{write}(dbg, \textcolor{stringliteral}{"(A, A, 'end ', A, ' : ', A)"}) trim(head), &
501           & repeat(indent, level), trim(name), trim(cbuf)
502       \textcolor{keywordflow}{else}
503         \textcolor{keyword}{write}(dbg, \textcolor{stringliteral}{"(A, A, 'end ', A)"}) trim(head), &
504           & repeat(indent, level), trim(name)
505 \textcolor{keywordflow}{      endif}
506 \textcolor{keywordflow}{    endif}
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=303pt]{namespacedc__trace_ae44de97565a3bdd685789c7748b37e37_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacedc__trace_ad06d7c9d7432dfbadcc281e4644bcab3}\label{namespacedc__trace_ad06d7c9d7432dfbadcc281e4644bcab3}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!initialize@{initialize}}
\index{initialize@{initialize}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{initialize()}{initialize()}}
{\footnotesize\ttfamily subroutine dc\+\_\+trace\+::initialize (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 343 of file dc\+\_\+trace.\+f90.



References lfirst, and table.



Referenced by beginsub(), and endsub().


\begin{DoxyCode}
343     \textcolor{comment}{!}
344     \textcolor{comment}{! 初期化}
345     \textcolor{comment}{!}
346     table(:) = \textcolor{stringliteral}{' '}
347     lfirst = .false.
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{namespacedc__trace_ad06d7c9d7432dfbadcc281e4644bcab3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacedc__trace_a2482de8a6d7c583f851677ed1a17c240}\label{namespacedc__trace_a2482de8a6d7c583f851677ed1a17c240}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!setdebug@{setdebug}}
\index{setdebug@{setdebug}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{setdebug()}{setdebug()}}
{\footnotesize\ttfamily subroutine, public dc\+\_\+trace\+::setdebug (\begin{DoxyParamCaption}\item[{integer, intent(in), optional}]{debug }\end{DoxyParamCaption})}



Definition at line 288 of file dc\+\_\+trace.\+f90.



References dbg, head, dc\+\_\+types\+::stderr, and dc\+\_\+types\+::stdout.



Referenced by dc\+\_\+args\+::dcargsdebug0().


\begin{DoxyCode}
288     \textcolor{keywordtype}{use }\hyperlink{namespacedc__types}{dc\_types}\textcolor{keywordtype}{, only}: \hyperlink{namespacedc__types_a5d5ccca8cc2b447f2a0546da0a22efdc}{stdout}, \hyperlink{namespacedc__types_af17f91282e30c86cfe4e45300c17edab}{stderr}
289     \textcolor{keywordtype}{implicit none}
290     \textcolor{comment}{!}
291     \textcolor{comment}{!== デバッグモードをオンオフ}
292     \textcolor{comment}{!}
293     \textcolor{comment}{! デバッグメッセージを出力したい時にこのサブルーチンを呼びます。}
294     \textcolor{comment}{!}
295     \textcolor{comment}{! 整数型変数 debug が与えられる場合は、その装置番号 debug に、}
296     \textcolor{comment}{! 以降のサブルーチンによるデバッグメッセージを出力するようにします。}
297     \textcolor{comment}{! debug が与えられない場合、装置番号 0 (標準エラー出力)}
298     \textcolor{comment}{! にデバッグメッセージが出力されるようになります。}
299     \textcolor{comment}{! 装置番号 0 への出力が成功しない場合は代わりに}
300     \textcolor{comment}{! 装置番号 6 (標準出力) にデバッグメッセージが出力されるようになります。}
301     \textcolor{comment}{!}
302     \textcolor{comment}{! debug に負の整数を与える場合、デバッグモードが解除され、}
303     \textcolor{comment}{! 以降デバッグメッセージは出力されません。}
304     \textcolor{comment}{!}
305     \textcolor{comment}{! なお、この SetDebug を呼んだ際にも、装置番号 debug}
306     \textcolor{comment}{! に以下のメッセージ が表示されます。}
307     \textcolor{comment}{!}
308     \textcolor{comment}{!     #SetDebug: dbg = debug}
309     \textcolor{comment}{!}
310     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}:: \hyperlink{interfacedc__trace_1_1debug}{debug}
311     \textcolor{keywordtype}{integer}:: ios
312   \textcolor{keywordflow}{continue}
313     \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(\hyperlink{interfacedc__trace_1_1debug}{debug})) \textcolor{keywordflow}{then}
314       \textcolor{comment}{! debug が与えられる時は装置番号として deg を用いる。}
315       dbg = \hyperlink{interfacedc__trace_1_1debug}{debug}
316       \textcolor{keyword}{write}(dbg, \textcolor{stringliteral}{"(A, 'SetDebug: dbg =', i4)"}, iostat=ios) &
317         & trim(head), dbg
318       \textcolor{keywordflow}{if} (ios == 0) \textcolor{keywordflow}{return}
319     \textcolor{keywordflow}{else}
320       \textcolor{comment}{! debug が与えられ無い時は装置番号 0 (標準エラー出力)}
321       dbg = \hyperlink{namespacedc__types_af17f91282e30c86cfe4e45300c17edab}{stderr}
322       \textcolor{keyword}{write}(dbg, \textcolor{stringliteral}{"(A, 'SetDebug: dbg = ', I0)"}, iostat=ios) trim(head), dbg
323       \textcolor{keywordflow}{if} (ios == 0) \textcolor{keywordflow}{return}
324       \textcolor{comment}{! 装置番号 0 への出力が失敗したら装置番号 6 (標準出力)}
325       dbg = \hyperlink{namespacedc__types_a5d5ccca8cc2b447f2a0546da0a22efdc}{stdout}
326       \textcolor{keyword}{write}(dbg, \textcolor{stringliteral}{"(A, 'SetDebug: dbg = ', I0)"}, iostat=ios) trim(head), dbg
327       \textcolor{keywordflow}{if} (ios == 0) \textcolor{keywordflow}{return}
328 \textcolor{keywordflow}{    endif}
329     \textcolor{comment}{! 例外処理として dbg の初期化}
330     dbg = -1
\end{DoxyCode}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=334pt]{namespacedc__trace_a2482de8a6d7c583f851677ed1a17c240_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespacedc__trace_a13f09e0e6905ceed981de621dc8578f7}\label{namespacedc__trace_a13f09e0e6905ceed981de621dc8578f7}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!sublevel@{sublevel}}
\index{sublevel@{sublevel}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{sublevel()}{sublevel()}}
{\footnotesize\ttfamily integer function, public dc\+\_\+trace\+::sublevel (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Definition at line 210 of file dc\+\_\+trace.\+f90.



References level.


\begin{DoxyCode}
210     \textcolor{comment}{!}
211     \textcolor{comment}{!== 副プログラムの階層レベルを返す}
212     \textcolor{comment}{!}
213     \textcolor{comment}{! 副プログラムの階層レベルを返します。 レベルのデフォルトは 0 で、}
214     \textcolor{comment}{! BeginSub によりレベルは 1 増え、 EndSub によりレベルは 1 減ります。}
215     \textcolor{comment}{!}
216     result = level
\end{DoxyCode}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespacedc__trace_a5a1bffbb516c7b73f3b8b9264918c577}\label{namespacedc__trace_a5a1bffbb516c7b73f3b8b9264918c577}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!called\+\_\+subname@{called\+\_\+subname}}
\index{called\+\_\+subname@{called\+\_\+subname}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{called\+\_\+subname}{called\_subname}}
{\footnotesize\ttfamily character(string), dimension(\+:), allocatable, save dc\+\_\+trace\+::called\+\_\+subname\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 192 of file dc\+\_\+trace.\+f90.



Referenced by beginsub().


\begin{DoxyCode}
192   \textcolor{keywordtype}{character(STRING)}, \textcolor{keywordtype}{save}, \textcolor{keywordtype}{allocatable}:: called\_subname(:), &
193     &                                    called\_subname\_tmp(:)
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_af52d2b739c24a81f237ff9bb0518eef2}\label{namespacedc__trace_af52d2b739c24a81f237ff9bb0518eef2}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!called\+\_\+subname\+\_\+tmp@{called\+\_\+subname\+\_\+tmp}}
\index{called\+\_\+subname\+\_\+tmp@{called\+\_\+subname\+\_\+tmp}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{called\+\_\+subname\+\_\+tmp}{called\_subname\_tmp}}
{\footnotesize\ttfamily character(string), dimension(\+:), allocatable, save dc\+\_\+trace\+::called\+\_\+subname\+\_\+tmp\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 192 of file dc\+\_\+trace.\+f90.



Referenced by beginsub().

\mbox{\Hypertarget{namespacedc__trace_a7287aa4634a80f3f0cc053726ed8aef1}\label{namespacedc__trace_a7287aa4634a80f3f0cc053726ed8aef1}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!dbg@{dbg}}
\index{dbg@{dbg}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{dbg}{dbg}}
{\footnotesize\ttfamily integer, save, public dc\+\_\+trace\+::dbg = -\/1}



Definition at line 184 of file dc\+\_\+trace.\+f90.



Referenced by beginsub(), datad1dump(), datad2dump(), datad3dump(), dbg\+\_\+scratch(), dbgmessage(), dctracedebug(), endsub(), and setdebug().


\begin{DoxyCode}
184   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{save}, \textcolor{keywordtype}{public} :: dbg = -1     \textcolor{comment}{! SetDebug で設定された}
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_add5678a684d5fded15c843d314f0a25f}\label{namespacedc__trace_add5678a684d5fded15c843d314f0a25f}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!head@{head}}
\index{head@{head}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{head}{head}}
{\footnotesize\ttfamily character(1), parameter dc\+\_\+trace\+::head = \textquotesingle{}\#\textquotesingle{}\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 197 of file dc\+\_\+trace.\+f90.



Referenced by beginsub(), datad1dump(), dbgmessage(), endsub(), and setdebug().


\begin{DoxyCode}
197   \textcolor{keywordtype}{character(1)}, \textcolor{keywordtype}{parameter}:: head    = \textcolor{stringliteral}{'#'}  \textcolor{comment}{! 行頭文字}
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_af7ff560f63a734f6c7f473f422dc04f2}\label{namespacedc__trace_af7ff560f63a734f6c7f473f422dc04f2}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!indent@{indent}}
\index{indent@{indent}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{indent}{indent}}
{\footnotesize\ttfamily character(2), parameter dc\+\_\+trace\+::indent = \textquotesingle{}$\vert$ \textquotesingle{}\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 198 of file dc\+\_\+trace.\+f90.



Referenced by beginsub(), datad1dump(), dbgmessage(), and endsub().


\begin{DoxyCode}
198   \textcolor{keywordtype}{character(2)}, \textcolor{keywordtype}{parameter} :: indent  = \textcolor{stringliteral}{'| '} \textcolor{comment}{! 字下げ文字}
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_a440535acd9a57f32c5ce2b24c4ba7494}\label{namespacedc__trace_a440535acd9a57f32c5ce2b24c4ba7494}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!level@{level}}
\index{level@{level}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{level}{level}}
{\footnotesize\ttfamily integer, save dc\+\_\+trace\+::level = 0\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 187 of file dc\+\_\+trace.\+f90.



Referenced by beginsub(), datad1dump(), dbgmessage(), endsub(), and sublevel().


\begin{DoxyCode}
187   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{save}         :: level = 0    \textcolor{comment}{! サブルーチンレベル}
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_aa135acde65afa9d5ce0cd68f661e0a9b}\label{namespacedc__trace_aa135acde65afa9d5ce0cd68f661e0a9b}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!lfirst@{lfirst}}
\index{lfirst@{lfirst}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{lfirst}{lfirst}}
{\footnotesize\ttfamily logical, save dc\+\_\+trace\+::lfirst = .true.\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 182 of file dc\+\_\+trace.\+f90.



Referenced by beginsub(), endsub(), and initialize().


\begin{DoxyCode}
182   \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{save}         :: lfirst = .true. 
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_a45d25e454d2c72452ae349cbd6a72d8e}\label{namespacedc__trace_a45d25e454d2c72452ae349cbd6a72d8e}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!meshead@{meshead}}
\index{meshead@{meshead}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{meshead}{meshead}}
{\footnotesize\ttfamily character(2), parameter dc\+\_\+trace\+::meshead = \textquotesingle{}$\vert$-\/\textquotesingle{}\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 199 of file dc\+\_\+trace.\+f90.



Referenced by datad1dump(), and dbgmessage().


\begin{DoxyCode}
199   \textcolor{keywordtype}{character(2)}, \textcolor{keywordtype}{parameter} :: meshead = \textcolor{stringliteral}{'|-'} \textcolor{comment}{! DbgMessage 用行頭文字}
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_afd5824a85ddc3dacd499f5a52770c997}\label{namespacedc__trace_afd5824a85ddc3dacd499f5a52770c997}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!table@{table}}
\index{table@{table}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{table}{table}}
{\footnotesize\ttfamily character(token), dimension(\hyperlink{namespacedc__trace_a13da6024325ece2a5c2072025d95fbd0}{trace\+\_\+stack\+\_\+size}), save dc\+\_\+trace\+::table\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 190 of file dc\+\_\+trace.\+f90.



Referenced by beginsub(), endsub(), and initialize().


\begin{DoxyCode}
190   \textcolor{keywordtype}{character(TOKEN)}, \textcolor{keywordtype}{save}:: table(trace\_stack\_size)
\end{DoxyCode}
\mbox{\Hypertarget{namespacedc__trace_a13da6024325ece2a5c2072025d95fbd0}\label{namespacedc__trace_a13da6024325ece2a5c2072025d95fbd0}} 
\index{dc\+\_\+trace@{dc\+\_\+trace}!trace\+\_\+stack\+\_\+size@{trace\+\_\+stack\+\_\+size}}
\index{trace\+\_\+stack\+\_\+size@{trace\+\_\+stack\+\_\+size}!dc\+\_\+trace@{dc\+\_\+trace}}
\subsubsection{\texorpdfstring{trace\+\_\+stack\+\_\+size}{trace\_stack\_size}}
{\footnotesize\ttfamily integer, parameter dc\+\_\+trace\+::trace\+\_\+stack\+\_\+size = 128\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 188 of file dc\+\_\+trace.\+f90.


\begin{DoxyCode}
188   \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{parameter}    :: trace\_stack\_size = 128
\end{DoxyCode}
