MOM6
mom_document::doc_param Interface Reference

Detailed Description

Document parameter values.

Definition at line 16 of file MOM_document.F90.

Private functions

subroutine doc_param_none (doc, varname, desc, units)
 This subroutine handles parameter documentation with no value. More...
 
subroutine doc_param_logical (doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)
 This subroutine handles parameter documentation for logicals. More...
 
subroutine doc_param_logical_array (doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)
 This subroutine handles parameter documentation for arrays of logicals. More...
 
subroutine doc_param_int (doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)
 This subroutine handles parameter documentation for integers. More...
 
subroutine doc_param_int_array (doc, varname, desc, units, vals, default, layoutParam, debuggingParam, like_default)
 This subroutine handles parameter documentation for arrays of integers. More...
 
subroutine doc_param_real (doc, varname, desc, units, val, default, debuggingParam, like_default)
 This subroutine handles parameter documentation for reals. More...
 
subroutine doc_param_real_array (doc, varname, desc, units, vals, default, debuggingParam, like_default)
 This subroutine handles parameter documentation for arrays of reals. More...
 
subroutine doc_param_char (doc, varname, desc, units, val, default, layoutParam, debuggingParam, like_default)
 This subroutine handles parameter documentation for character strings. More...
 
subroutine doc_param_time (doc, varname, desc, val, default, units, debuggingParam, like_default)
 This subroutine handles parameter documentation for time-type variables. More...
 

Detailed Description

Document parameter values.

Definition at line 16 of file MOM_document.F90.

Functions and subroutines

◆ doc_param_char()

subroutine mom_document::doc_param::doc_param_char ( type(doc_type), pointer  doc,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  desc,
character(len=*), intent(in)  units,
character(len=*), intent(in)  val,
character(len=*), intent(in), optional  default,
logical, intent(in), optional  layoutParam,
logical, intent(in), optional  debuggingParam,
logical, intent(in), optional  like_default 
)
private

This subroutine handles parameter documentation for character strings.

Parameters
docA pointer to a structure that controls where the documentation occurs and its formatting
[in]varnameThe name of the parameter being documented
[in]descA description of the parameter being documented
[in]unitsThe units of the parameter being documented
[in]valThe value of the parameter
[in]defaultThe default value of this parameter
[in]layoutparamIf present and true, this is a layout parameter.
[in]debuggingparamIf present and true, this is a debugging parameter.
[in]like_defaultIf present and true, log this parameter as though it has the default value, even if there is no default.

Definition at line 348 of file MOM_document.F90.

348  type(doc_type), pointer :: doc !< A pointer to a structure that controls where the
349  !! documentation occurs and its formatting
350  character(len=*), intent(in) :: varname !< The name of the parameter being documented
351  character(len=*), intent(in) :: desc !< A description of the parameter being documented
352  character(len=*), intent(in) :: units !< The units of the parameter being documented
353  character(len=*), intent(in) :: val !< The value of the parameter
354  character(len=*), &
355  optional, intent(in) :: default !< The default value of this parameter
356  logical, optional, intent(in) :: layoutparam !< If present and true, this is a layout parameter.
357  logical, optional, intent(in) :: debuggingparam !< If present and true, this is a debugging parameter.
358  logical, optional, intent(in) :: like_default !< If present and true, log this parameter as though
359  !! it has the default value, even if there is no default.
360 ! This subroutine handles parameter documentation for character strings.
361  character(len=mLen) :: mesg
362  logical :: equalsdefault
363 
364  if (.not. (is_root_pe() .and. associated(doc))) return
365  call open_doc_file(doc)
366 
367  if (doc%filesAreOpen) then
368  mesg = define_string(doc, varname, '"'//trim(val)//'"', units)
369 
370  equalsdefault = .false.
371  if (present(like_default)) equalsdefault = like_default
372  if (present(default)) then
373  if (trim(val) == trim(default)) equalsdefault = .true.
374  mesg = trim(mesg)//' default = "'//trim(adjustl(default))//'"'
375  endif
376 
377  if (mesghasbeendocumented(doc, varname, mesg)) return ! Avoid duplicates
378  call writemessageanddesc(doc, mesg, desc, equalsdefault, &
379  layoutparam=layoutparam, debuggingparam=debuggingparam)
380  endif
381 

◆ doc_param_int()

subroutine mom_document::doc_param::doc_param_int ( type(doc_type), pointer  doc,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  desc,
character(len=*), intent(in)  units,
integer, intent(in)  val,
integer, intent(in), optional  default,
logical, intent(in), optional  layoutParam,
logical, intent(in), optional  debuggingParam,
logical, intent(in), optional  like_default 
)
private

This subroutine handles parameter documentation for integers.

Parameters
docA pointer to a structure that controls where the documentation occurs and its formatting
[in]varnameThe name of the parameter being documented
[in]descA description of the parameter being documented
[in]unitsThe units of the parameter being documented
[in]valThe value of this parameter
[in]defaultThe default value of this parameter
[in]layoutparamIf present and true, this is a layout parameter.
[in]debuggingparamIf present and true, this is a debugging parameter.
[in]like_defaultIf present and true, log this parameter as though it has the default value, even if there is no default.

Definition at line 187 of file MOM_document.F90.

187  type(doc_type), pointer :: doc !< A pointer to a structure that controls where the
188  !! documentation occurs and its formatting
189  character(len=*), intent(in) :: varname !< The name of the parameter being documented
190  character(len=*), intent(in) :: desc !< A description of the parameter being documented
191  character(len=*), intent(in) :: units !< The units of the parameter being documented
192  integer, intent(in) :: val !< The value of this parameter
193  integer, optional, intent(in) :: default !< The default value of this parameter
194  logical, optional, intent(in) :: layoutparam !< If present and true, this is a layout parameter.
195  logical, optional, intent(in) :: debuggingparam !< If present and true, this is a debugging parameter.
196  logical, optional, intent(in) :: like_default !< If present and true, log this parameter as though
197  !! it has the default value, even if there is no default.
198 ! This subroutine handles parameter documentation for integers.
199  character(len=mLen) :: mesg
200  character(len=doc%commentColumn) :: valstring
201  logical :: equalsdefault
202 
203  if (.not. (is_root_pe() .and. associated(doc))) return
204  call open_doc_file(doc)
205 
206  if (doc%filesAreOpen) then
207  valstring = int_string(val)
208  mesg = define_string(doc, varname, valstring, units)
209 
210  equalsdefault = .false.
211  if (present(like_default)) equalsdefault = like_default
212  if (present(default)) then
213  if (val == default) equalsdefault = .true.
214  mesg = trim(mesg)//" default = "//(trim(int_string(default)))
215  endif
216 
217  if (mesghasbeendocumented(doc, varname, mesg)) return ! Avoid duplicates
218  call writemessageanddesc(doc, mesg, desc, equalsdefault, &
219  layoutparam=layoutparam, debuggingparam=debuggingparam)
220  endif

◆ doc_param_int_array()

subroutine mom_document::doc_param::doc_param_int_array ( type(doc_type), pointer  doc,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  desc,
character(len=*), intent(in)  units,
integer, dimension(:), intent(in)  vals,
integer, intent(in), optional  default,
logical, intent(in), optional  layoutParam,
logical, intent(in), optional  debuggingParam,
logical, intent(in), optional  like_default 
)
private

This subroutine handles parameter documentation for arrays of integers.

Parameters
docA pointer to a structure that controls where the documentation occurs and its formatting
[in]varnameThe name of the parameter being documented
[in]descA description of the parameter being documented
[in]unitsThe units of the parameter being documented
[in]valsThe array of values to record
[in]defaultThe default value of this parameter
[in]layoutparamIf present and true, this is a layout parameter.
[in]debuggingparamIf present and true, this is a debugging parameter.
[in]like_defaultIf present and true, log this parameter as though it has the default value, even if there is no default.

Definition at line 226 of file MOM_document.F90.

226  type(doc_type), pointer :: doc !< A pointer to a structure that controls where the
227  !! documentation occurs and its formatting
228  character(len=*), intent(in) :: varname !< The name of the parameter being documented
229  character(len=*), intent(in) :: desc !< A description of the parameter being documented
230  character(len=*), intent(in) :: units !< The units of the parameter being documented
231  integer, intent(in) :: vals(:) !< The array of values to record
232  integer, optional, intent(in) :: default !< The default value of this parameter
233  logical, optional, intent(in) :: layoutparam !< If present and true, this is a layout parameter.
234  logical, optional, intent(in) :: debuggingparam !< If present and true, this is a debugging parameter.
235  logical, optional, intent(in) :: like_default !< If present and true, log this parameter as though
236  !! it has the default value, even if there is no default.
237 ! This subroutine handles parameter documentation for arrays of integers.
238  integer :: i
239  character(len=mLen) :: mesg
240  character(len=mLen) :: valstring
241  logical :: equalsdefault
242 
243  if (.not. (is_root_pe() .and. associated(doc))) return
244  call open_doc_file(doc)
245 
246  if (doc%filesAreOpen) then
247  valstring = int_string(vals(1))
248  do i=2,min(size(vals),128)
249  valstring = trim(valstring)//", "//trim(int_string(vals(i)))
250  enddo
251 
252  mesg = define_string(doc, varname, valstring, units)
253 
254  equalsdefault = .false.
255  if (present(default)) then
256  equalsdefault = .true.
257  do i=1,size(vals) ; if (vals(i) /= default) equalsdefault = .false. ; enddo
258  mesg = trim(mesg)//" default = "//(trim(int_string(default)))
259  endif
260  if (present(like_default)) then ; if (like_default) equalsdefault = .true. ; endif
261 
262  if (mesghasbeendocumented(doc, varname, mesg)) return ! Avoid duplicates
263  call writemessageanddesc(doc, mesg, desc, equalsdefault, &
264  layoutparam=layoutparam, debuggingparam=debuggingparam)
265  endif
266 

◆ doc_param_logical()

subroutine mom_document::doc_param::doc_param_logical ( type(doc_type), pointer  doc,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  desc,
character(len=*), intent(in)  units,
logical, intent(in)  val,
logical, intent(in), optional  default,
logical, intent(in), optional  layoutParam,
logical, intent(in), optional  debuggingParam,
logical, intent(in), optional  like_default 
)
private

This subroutine handles parameter documentation for logicals.

Parameters
docA pointer to a structure that controls where the documentation occurs and its formatting
[in]varnameThe name of the parameter being documented
[in]descA description of the parameter being documented
[in]unitsThe units of the parameter being documented
[in]valThe value of this parameter
[in]defaultThe default value of this parameter
[in]layoutparamIf present and true, this is a layout parameter.
[in]debuggingparamIf present and true, this is a debugging parameter.
[in]like_defaultIf present and true, log this parameter as though it has the default value, even if there is no default.

Definition at line 89 of file MOM_document.F90.

89  type(doc_type), pointer :: doc !< A pointer to a structure that controls where the
90  !! documentation occurs and its formatting
91  character(len=*), intent(in) :: varname !< The name of the parameter being documented
92  character(len=*), intent(in) :: desc !< A description of the parameter being documented
93  character(len=*), intent(in) :: units !< The units of the parameter being documented
94  logical, intent(in) :: val !< The value of this parameter
95  logical, optional, intent(in) :: default !< The default value of this parameter
96  logical, optional, intent(in) :: layoutparam !< If present and true, this is a layout parameter.
97  logical, optional, intent(in) :: debuggingparam !< If present and true, this is a debugging parameter.
98  logical, optional, intent(in) :: like_default !< If present and true, log this parameter as though
99  !! it has the default value, even if there is no default.
100 ! This subroutine handles parameter documentation for logicals.
101  character(len=mLen) :: mesg
102  logical :: equalsdefault
103 
104  if (.not. (is_root_pe() .and. associated(doc))) return
105  call open_doc_file(doc)
106 
107  if (doc%filesAreOpen) then
108  if (val) then
109  mesg = define_string(doc, varname, string_true, units)
110  else
111  mesg = undef_string(doc, varname, units)
112  endif
113 
114  equalsdefault = .false.
115  if (present(like_default)) equalsdefault = like_default
116  if (present(default)) then
117  if (val .eqv. default) equalsdefault = .true.
118  if (default) then
119  mesg = trim(mesg)//" default = "//string_true
120  else
121  mesg = trim(mesg)//" default = "//string_false
122  endif
123  endif
124 
125  if (mesghasbeendocumented(doc, varname, mesg)) return ! Avoid duplicates
126  call writemessageanddesc(doc, mesg, desc, equalsdefault, &
127  layoutparam=layoutparam, debuggingparam=debuggingparam)
128  endif

◆ doc_param_logical_array()

subroutine mom_document::doc_param::doc_param_logical_array ( type(doc_type), pointer  doc,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  desc,
character(len=*), intent(in)  units,
logical, dimension(:), intent(in)  vals,
logical, intent(in), optional  default,
logical, intent(in), optional  layoutParam,
logical, intent(in), optional  debuggingParam,
logical, intent(in), optional  like_default 
)
private

This subroutine handles parameter documentation for arrays of logicals.

Parameters
docA pointer to a structure that controls where the documentation occurs and its formatting
[in]varnameThe name of the parameter being documented
[in]descA description of the parameter being documented
[in]unitsThe units of the parameter being documented
[in]valsThe array of values to record
[in]defaultThe default value of this parameter
[in]layoutparamIf present and true, this is a layout parameter.
[in]debuggingparamIf present and true, this is a debugging parameter.
[in]like_defaultIf present and true, log this parameter as though it has the default value, even if there is no default.

Definition at line 134 of file MOM_document.F90.

134  type(doc_type), pointer :: doc !< A pointer to a structure that controls where the
135  !! documentation occurs and its formatting
136  character(len=*), intent(in) :: varname !< The name of the parameter being documented
137  character(len=*), intent(in) :: desc !< A description of the parameter being documented
138  character(len=*), intent(in) :: units !< The units of the parameter being documented
139  logical, intent(in) :: vals(:) !< The array of values to record
140  logical, optional, intent(in) :: default !< The default value of this parameter
141  logical, optional, intent(in) :: layoutparam !< If present and true, this is a layout parameter.
142  logical, optional, intent(in) :: debuggingparam !< If present and true, this is a debugging parameter.
143  logical, optional, intent(in) :: like_default !< If present and true, log this parameter as though
144  !! it has the default value, even if there is no default.
145 ! This subroutine handles parameter documentation for arrays of logicals.
146  integer :: i
147  character(len=mLen) :: mesg
148  character(len=mLen) :: valstring
149  logical :: equalsdefault
150 
151  if (.not. (is_root_pe() .and. associated(doc))) return
152  call open_doc_file(doc)
153 
154  if (doc%filesAreOpen) then
155  if (vals(1)) then ; valstring = string_true ; else ; valstring = string_false ; endif
156  do i=2,min(size(vals),128)
157  if (vals(i)) then
158  valstring = trim(valstring)//", "//string_true
159  else
160  valstring = trim(valstring)//", "//string_false
161  endif
162  enddo
163 
164  mesg = define_string(doc, varname, valstring, units)
165 
166  equalsdefault = .false.
167  if (present(default)) then
168  equalsdefault = .true.
169  do i=1,size(vals) ; if (vals(i) .neqv. default) equalsdefault = .false. ; enddo
170  if (default) then
171  mesg = trim(mesg)//" default = "//string_true
172  else
173  mesg = trim(mesg)//" default = "//string_false
174  endif
175  endif
176  if (present(like_default)) then ; if (like_default) equalsdefault = .true. ; endif
177 
178  if (mesghasbeendocumented(doc, varname, mesg)) return ! Avoid duplicates
179  call writemessageanddesc(doc, mesg, desc, equalsdefault, &
180  layoutparam=layoutparam, debuggingparam=debuggingparam)
181  endif

◆ doc_param_none()

subroutine mom_document::doc_param::doc_param_none ( type(doc_type), pointer  doc,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  desc,
character(len=*), intent(in)  units 
)
private

This subroutine handles parameter documentation with no value.

Parameters
docA pointer to a structure that controls where the documentation occurs and its formatting
[in]varnameThe name of the parameter being documented
[in]descA description of the parameter being documented
[in]unitsThe units of the parameter being documented

Definition at line 64 of file MOM_document.F90.

64  type(doc_type), pointer :: doc !< A pointer to a structure that controls where the
65  !! documentation occurs and its formatting
66  character(len=*), intent(in) :: varname !< The name of the parameter being documented
67  character(len=*), intent(in) :: desc !< A description of the parameter being documented
68  character(len=*), intent(in) :: units !< The units of the parameter being documented
69 ! This subroutine handles parameter documentation with no value.
70  integer :: numspc
71  character(len=mLen) :: mesg
72 
73  if (.not. (is_root_pe() .and. associated(doc))) return
74  call open_doc_file(doc)
75 
76  if (doc%filesAreOpen) then
77  numspc = max(1,doc%commentColumn-8-len_trim(varname))
78  mesg = "#define "//trim(varname)//repeat(" ",numspc)//"!"
79  if (len_trim(units) > 0) mesg = trim(mesg)//" ["//trim(units)//"]"
80 
81  if (mesghasbeendocumented(doc, varname, mesg)) return ! Avoid duplicates
82  call writemessageanddesc(doc, mesg, desc)
83  endif

◆ doc_param_real()

subroutine mom_document::doc_param::doc_param_real ( type(doc_type), pointer  doc,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  desc,
character(len=*), intent(in)  units,
real, intent(in)  val,
real, intent(in), optional  default,
logical, intent(in), optional  debuggingParam,
logical, intent(in), optional  like_default 
)
private

This subroutine handles parameter documentation for reals.

Parameters
docA pointer to a structure that controls where the documentation occurs and its formatting
[in]varnameThe name of the parameter being documented
[in]descA description of the parameter being documented
[in]unitsThe units of the parameter being documented
[in]valThe value of this parameter
[in]defaultThe default value of this parameter
[in]debuggingparamIf present and true, this is a debugging parameter.
[in]like_defaultIf present and true, log this parameter as though it has the default value, even if there is no default.

Definition at line 271 of file MOM_document.F90.

271  type(doc_type), pointer :: doc !< A pointer to a structure that controls where the
272  !! documentation occurs and its formatting
273  character(len=*), intent(in) :: varname !< The name of the parameter being documented
274  character(len=*), intent(in) :: desc !< A description of the parameter being documented
275  character(len=*), intent(in) :: units !< The units of the parameter being documented
276  real, intent(in) :: val !< The value of this parameter
277  real, optional, intent(in) :: default !< The default value of this parameter
278  logical, optional, intent(in) :: debuggingparam !< If present and true, this is a debugging parameter.
279  logical, optional, intent(in) :: like_default !< If present and true, log this parameter as though
280  !! it has the default value, even if there is no default.
281 ! This subroutine handles parameter documentation for reals.
282  character(len=mLen) :: mesg
283  character(len=doc%commentColumn) :: valstring
284  logical :: equalsdefault
285 
286  if (.not. (is_root_pe() .and. associated(doc))) return
287  call open_doc_file(doc)
288 
289  if (doc%filesAreOpen) then
290  valstring = real_string(val)
291  mesg = define_string(doc, varname, valstring, units)
292 
293  equalsdefault = .false.
294  if (present(like_default)) equalsdefault = like_default
295  if (present(default)) then
296  if (val == default) equalsdefault = .true.
297  mesg = trim(mesg)//" default = "//trim(real_string(default))
298  endif
299 
300  if (mesghasbeendocumented(doc, varname, mesg)) return ! Avoid duplicates
301  call writemessageanddesc(doc, mesg, desc, equalsdefault, debuggingparam=debuggingparam)
302  endif

◆ doc_param_real_array()

subroutine mom_document::doc_param::doc_param_real_array ( type(doc_type), pointer  doc,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  desc,
character(len=*), intent(in)  units,
real, dimension(:), intent(in)  vals,
real, intent(in), optional  default,
logical, intent(in), optional  debuggingParam,
logical, intent(in), optional  like_default 
)
private

This subroutine handles parameter documentation for arrays of reals.

Parameters
docA pointer to a structure that controls where the documentation occurs and its formatting
[in]varnameThe name of the parameter being documented
[in]descA description of the parameter being documented
[in]unitsThe units of the parameter being documented
[in]valsThe array of values to record
[in]defaultThe default value of this parameter
[in]debuggingparamIf present and true, this is a debugging parameter.
[in]like_defaultIf present and true, log this parameter as though it has the default value, even if there is no default.

Definition at line 307 of file MOM_document.F90.

307  type(doc_type), pointer :: doc !< A pointer to a structure that controls where the
308  !! documentation occurs and its formatting
309  character(len=*), intent(in) :: varname !< The name of the parameter being documented
310  character(len=*), intent(in) :: desc !< A description of the parameter being documented
311  character(len=*), intent(in) :: units !< The units of the parameter being documented
312  real, intent(in) :: vals(:) !< The array of values to record
313  real, optional, intent(in) :: default !< The default value of this parameter
314  logical, optional, intent(in) :: debuggingparam !< If present and true, this is a debugging parameter.
315  logical, optional, intent(in) :: like_default !< If present and true, log this parameter as though
316  !! it has the default value, even if there is no default.
317 ! This subroutine handles parameter documentation for arrays of reals.
318  integer :: i
319  character(len=mLen) :: mesg
320  character(len=mLen) :: valstring
321  logical :: equalsdefault
322 
323  if (.not. (is_root_pe() .and. associated(doc))) return
324  call open_doc_file(doc)
325 
326  if (doc%filesAreOpen) then
327  valstring = trim(real_array_string(vals(:)))
328 
329  mesg = define_string(doc, varname, valstring, units)
330 
331  equalsdefault = .false.
332  if (present(default)) then
333  equalsdefault = .true.
334  do i=1,size(vals) ; if (vals(i) /= default) equalsdefault = .false. ; enddo
335  mesg = trim(mesg)//" default = "//trim(real_string(default))
336  endif
337  if (present(like_default)) then ; if (like_default) equalsdefault = .true. ; endif
338 
339  if (mesghasbeendocumented(doc, varname, mesg)) return ! Avoid duplicates
340  call writemessageanddesc(doc, mesg, desc, equalsdefault, debuggingparam=debuggingparam)
341  endif
342 

◆ doc_param_time()

subroutine mom_document::doc_param::doc_param_time ( type(doc_type), pointer  doc,
character(len=*), intent(in)  varname,
character(len=*), intent(in)  desc,
type(time_type), intent(in)  val,
type(time_type), intent(in), optional  default,
character(len=*), intent(in), optional  units,
logical, intent(in), optional  debuggingParam,
logical, intent(in), optional  like_default 
)
private

This subroutine handles parameter documentation for time-type variables.

Parameters
docA pointer to a structure that controls where the documentation occurs and its formatting
[in]varnameThe name of the parameter being documented
[in]descA description of the parameter being documented
[in]valThe value of the parameter
[in]defaultThe default value of this parameter
[in]unitsThe units of the parameter being documented
[in]debuggingparamIf present and true, this is a debugging parameter.
[in]like_defaultIf present and true, log this parameter as though it has the default value, even if there is no default.

Definition at line 437 of file MOM_document.F90.

437  type(doc_type), pointer :: doc !< A pointer to a structure that controls where the
438  !! documentation occurs and its formatting
439  character(len=*), intent(in) :: varname !< The name of the parameter being documented
440  character(len=*), intent(in) :: desc !< A description of the parameter being documented
441  type(time_type), intent(in) :: val !< The value of the parameter
442  type(time_type), optional, intent(in) :: default !< The default value of this parameter
443  character(len=*), optional, intent(in) :: units !< The units of the parameter being documented
444  logical, optional, intent(in) :: debuggingparam !< If present and true, this is a debugging parameter.
445  logical, optional, intent(in) :: like_default !< If present and true, log this parameter as though
446  !! it has the default value, even if there is no default.
447 
448  ! Local varables
449  character(len=mLen) :: mesg ! The output message
450  character(len=doc%commentColumn) :: valstring ! A string with the formatted value.
451  logical :: equalsdefault ! True if val = default.
452 
453  if (.not. (is_root_pe() .and. associated(doc))) return
454  call open_doc_file(doc)
455 
456  if (doc%filesAreOpen) then
457  valstring = time_string(val)
458  if (present(units)) then
459  mesg = define_string(doc, varname, valstring, units)
460  else
461  mesg = define_string(doc, varname, valstring, "[days : seconds]")
462  endif
463 
464  equalsdefault = .false.
465  if (present(like_default)) equalsdefault = like_default
466  if (present(default)) then
467  if (val == default) equalsdefault = .true.
468  mesg = trim(mesg)//" default = "//trim(time_string(default))
469  endif
470 
471  if (mesghasbeendocumented(doc, varname, mesg)) return ! Avoid duplicates
472  call writemessageanddesc(doc, mesg, desc, equalsdefault, debuggingparam=debuggingparam)
473  endif
474 

The documentation for this interface was generated from the following file: