MODFLOW 6  version 6.8.0.dev0
USGS Modular Hydrologic Model
versionmodule Module Reference

This module contains version information. More...

Functions/Subroutines

subroutine write_listfile_header (iout, cmodel_type, write_sys_command, write_kind_info)
 @ brief Write program header More...
 
subroutine write_license (iout)
 @ brief Write program license More...
 

Variables

integer(i4b), parameter idevelopmode = 1
 
character(len= *), parameter versionnumber = '6.8.0.dev0'
 
character(len= *), parameter versionvcstag = ""
 
character(len= *), parameter versiontitle = ''
 
character(len= *), parameter version = VERSIONNUMBER//VERSIONVCSTAG
 
character(len= *), parameter fullversion = VERSIONNUMBER// VERSIONVCSTAG// VERSIONTITLE
 
character(len=2), parameter mfvnam = ' 6'
 
character(len= *), parameter mftitle = 'U.S. GEOLOGICAL SURVEY MODULAR HYDROLOGIC MODEL'
 
character(len= *), parameter fmtlicense = "(/,'As a work of the United States Government, this USGS product is ',/,'in the public domain within the United States. You can copy, ',/,'modify, distribute, and perform the work, even for commercial ',/,'purposes, all without asking permission. Additionally, USGS ',/,'waives copyright and related rights in the work worldwide ',/,'through CC0 1.0 Universal Public Domain Dedication ',/,'(https://creativecommons.org/publicdomain/zero/1.0/).',//,'The following GNU Lesser General Public License (LGPL) libraries',/,'are used in this USGS product:',//,"// "' SPARSKIT version 2.0',/,' ilut, luson, and qsplit ',/,' (https://www-users.cse.umn.edu/~saad/software/SPARSKIT/)',//,' RCM - Reverse Cuthill McKee Ordering',/,' (https://people.math.sc.edu/Burkardt/f_src/rcm/rcm.html)',//,' BLAS - Basic Linear Algebra Subprograms Level 1',/,' (https://people.math.sc.edu/Burkardt/f_src/blas1_d/','blas1_d.html)',//,"// "' SPARSEKIT - Sparse Matrix Utility Package',/,' amux, dperm, dvperm, rperm, and cperm',/,' (https://people.sc.fsu.edu/~jburkardt/f77_src/sparsekit/','sparsekit.html)',//,'The following BSD-3 License libraries are used in this USGS product:',//,' Modern Fortran DAG Library',/,' Copyright (c) 2018, Jacob Williams',/,' All rights reserved.',/,' (https://github.com/jacobwilliams/daglib)',/)"
 
character(len= *), parameter petsclicense = "('The following 2-clause BSD License library is used in this',/,'USGS product:',//,' PETSc, the Portable, Extensible Toolkit for Scientific',/,' Computation Library',/,' Copyright (c) 1991-2021, UChicago Argonne, LLC',/,' and the PETSc Development Team All rights reserved.',/,' (https://petsc.org/release/)',/)"
 
character(len= *), parameter netcdflicense = "('The following library is used in this USGS product:',//,' NetCDF, network Common Data Form software library',/,' Copyright (c) 1993-2014 University Corporation for Atmospheric',/,' Research/Unidata. Redistribution and use in source and binary',/,' forms, with or without modification, are permitted provided that',/,' the conditions in the NetCDF copyright are met',/,' (https://www.unidata.ucar.edu/software/netcdf/copyright.html)',/)"
 
character(len= *), parameter fmtdisclaimer = "(/,'This software is preliminary or provisional and is subject to ',/,'revision. It is being provided to meet the need for timely best ',/,'science. The software has not received final approval by the U.S. ',/,'Geological Survey (USGS). No warranty, expressed or implied, is made ',/,'by the USGS or the U.S. Government as to the functionality of the ',/,'software and related material nor shall the fact of release ',/,'constitute any such warranty. The software is provided on the ',/,'condition that neither the USGS nor the U.S. Government shall be held ',/,'liable for any damages resulting from the authorized or unauthorized ',/,'use of the software.',/)"
 

Detailed Description

This module contains subroutines for accessing version information and writing header information to the program listing files.

Function/Subroutine Documentation

◆ write_license()

subroutine versionmodule::write_license ( integer(i4b), intent(in), optional  iout)

Write license for program to the program listing file.

Parameters
[in]ioutprogram listing file

Definition at line 192 of file version.f90.

193  ! -- dummy variables
194  integer(I4B), intent(in), optional :: iout !< program listing file
195  !
196  ! - write standard license
197  if (present(iout)) then
198  write (iout, fmtlicense)
199  else
200  call write_message('', fmt=fmtlicense)
201  end if
202  !
203  ! -- write NetCDF license
204  if (using_netcdf()) then
205  if (present(iout)) then
206  write (iout, netcdflicense)
207  else
208  call write_message('', fmt=netcdflicense)
209  end if
210  end if
211  !
212  ! -- write PETSc license
213  if (using_petsc()) then
214  if (present(iout)) then
215  write (iout, petsclicense)
216  else
217  call write_message('', fmt=petsclicense)
218  end if
219  end if
220 
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_listfile_header()

subroutine versionmodule::write_listfile_header ( integer(i4b), intent(in)  iout,
character(len=*), intent(in), optional  cmodel_type,
logical(lgp), intent(in), optional  write_sys_command,
logical(lgp), intent(in), optional  write_kind_info 
)

Write header for program to the program listing file.

Parameters
[in]ioutprogram listing file
[in]cmodel_typeoptional model type string
[in]write_sys_commandboolean indicating if the system command should be written
[in]write_kind_infoboolean indicating in program data types should be written

Definition at line 101 of file version.f90.

103  ! -- dummy variables
104  integer(I4B), intent(in) :: iout !< program listing file
105  character(len=*), intent(in), optional :: cmodel_type !< optional model type string
106  logical(LGP), intent(in), optional :: write_sys_command !< boolean indicating if the system command should be written
107  logical(LGP), intent(in), optional :: write_kind_info !< boolean indicating in program data types should be written
108  ! -- local variables
109  integer(I4B), parameter :: iheader_width = 80
110  character(len=22) :: cheader
111  character(len=LENBIGLINE) :: syscmd
112  character(len=LENBIGLINE) :: compiler
113  character(len=LENBIGLINE) :: compiler_options
114  logical(LGP) :: wki
115  logical(LGP) :: wsc
116  !
117  ! -- set pro string
118  if (is_extended()) then
119  write (cheader, '(3a)') 'MODFLOW', mfvnam, ' EXTENDED'
120  else
121  write (cheader, '(2a)') 'MODFLOW', mfvnam
122  end if
123  !
124  ! -- Write title to iout
125  call write_message_centered(text=cheader, linelen=iheader_width, &
126  iunit=iout)
127  call write_message_centered(text=mftitle, linelen=iheader_width, &
128  iunit=iout)
129  !
130  ! -- Write model type to list file
131  if (present(cmodel_type)) then
132  call write_message_centered(text=cmodel_type, linelen=iheader_width, &
133  iunit=iout)
134  end if
135  !
136  ! -- Write version
137  call write_message_centered(text='VERSION '//fullversion, &
138  linelen=iheader_width, iunit=iout)
139  !
140  ! -- Write if develop mode
141  if (idevelopmode == 1) then
142  call write_message_centered(text='***DEVELOP MODE***', &
143  linelen=iheader_width, iunit=iout)
144  end if
145  !
146  ! -- Write compiler version
147  call get_compiler(compiler)
148  call write_message_centered(text=' ', linelen=iheader_width, &
149  iunit=iout)
150  call write_message_centered(text=trim(adjustl(compiler)), &
151  linelen=iheader_width, iunit=iout)
152  !
153  ! -- Write disclaimer
154  write (iout, fmtdisclaimer)
155  !
156  ! -- Write license information
157  if (iout /= istdout) then
158  call write_license(iout)
159  end if
160  !
161  ! -- write compiler options
162  if (iout /= istdout) then
163  call get_compile_options(compiler_options)
164  call write_message_counter(text=compiler_options, iunit=iout)
165  end if
166  !
167  ! -- Write the system command used to initiate simulation
168  wsc = .true.
169  if (present(write_sys_command)) wsc = write_sys_command
170  if (wsc) then
171  call get_command(syscmd)
172  write (iout, '(/,a,/,a)') &
173  'System command used to initiate simulation:', trim(syscmd)
174  end if
175  !
176  ! -- Write precision of real variables
177  wki = .true.
178  if (present(write_kind_info)) wki = write_kind_info
179  if (wki) then
180  write (iout, '(/,a)') 'MODFLOW was compiled using uniform precision.'
181  call write_kindinfo(iout)
182  end if
183  write (iout, *)
184 
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ fmtdisclaimer

character(len=*), parameter versionmodule::fmtdisclaimer = "(/,'This software is preliminary or provisional and is subject to ',/,'revision. It is being provided to meet the need for timely best ',/,'science. The software has not received final approval by the U.S. ',/,'Geological Survey (USGS). No warranty, expressed or implied, is made ',/,'by the USGS or the U.S. Government as to the functionality of the ',/,'software and related material nor shall the fact of release ',/,'constitute any such warranty. The software is provided on the ',/,'condition that neither the USGS nor the U.S. Government shall be held ',/,'liable for any damages resulting from the authorized or unauthorized ',/,'use of the software.',/)"

Definition at line 81 of file version.f90.

81  character(len=*), parameter :: FMTDISCLAIMER = &
82  "(/,&
83  &'This software is preliminary or provisional and is subject to ',/,&
84  &'revision. It is being provided to meet the need for timely best ',/,&
85  &'science. The software has not received final approval by the U.S. ',/,&
86  &'Geological Survey (USGS). No warranty, expressed or implied, is made ',/,&
87  &'by the USGS or the U.S. Government as to the functionality of the ',/,&
88  &'software and related material nor shall the fact of release ',/,&
89  &'constitute any such warranty. The software is provided on the ',/,&
90  &'condition that neither the USGS nor the U.S. Government shall be held ',/,&
91  &'liable for any damages resulting from the authorized or unauthorized ',/,&
92  &'use of the software.',/)"

◆ fmtlicense

character(len=*), parameter versionmodule::fmtlicense = "(/,'As a work of the United States Government, this USGS product is ',/,'in the public domain within the United States. You can copy, ',/,'modify, distribute, and perform the work, even for commercial ',/,'purposes, all without asking permission. Additionally, USGS ',/,'waives copyright and related rights in the work worldwide ',/,'through CC0 1.0 Universal Public Domain Dedication ',/,'(https://creativecommons.org/publicdomain/zero/1.0/).',//,'The following GNU Lesser General Public License (LGPL) libraries',/,'are used in this USGS product:',//,"// "' SPARSKIT version 2.0',/,' ilut, luson, and qsplit ',/,' (https://www-users.cse.umn.edu/~saad/software/SPARSKIT/)',//,' RCM - Reverse Cuthill McKee Ordering',/,' (https://people.math.sc.edu/Burkardt/f_src/rcm/rcm.html)',//,' BLAS - Basic Linear Algebra Subprograms Level 1',/,' (https://people.math.sc.edu/Burkardt/f_src/blas1_d/','blas1_d.html)',//,"// "' SPARSEKIT - Sparse Matrix Utility Package',/,' amux, dperm, dvperm, rperm, and cperm',/,' (https://people.sc.fsu.edu/~jburkardt/f77_src/sparsekit/','sparsekit.html)',//,'The following BSD-3 License libraries are used in this USGS product:',//,' Modern Fortran DAG Library',/,' Copyright (c) 2018, Jacob Williams',/,' All rights reserved.',/,' (https://github.com/jacobwilliams/daglib)',/)"

Definition at line 31 of file version.f90.

31  character(len=*), parameter :: FMTLICENSE = &
32  "(/,&
33  &'As a work of the United States Government, this USGS product is ',/,&
34  &'in the public domain within the United States. You can copy, ',/,&
35  &'modify, distribute, and perform the work, even for commercial ',/,&
36  &'purposes, all without asking permission. Additionally, USGS ',/,&
37  &'waives copyright and related rights in the work worldwide ',/,&
38  &'through CC0 1.0 Universal Public Domain Dedication ',/,&
39  &'(https://creativecommons.org/publicdomain/zero/1.0/).',//,&
40  &'The following GNU Lesser General Public License (LGPL) libraries',/,&
41  &'are used in this USGS product:',//,"// &
42  "' SPARSKIT version 2.0',/,&
43  &' ilut, luson, and qsplit ',/,&
44  &' (https://www-users.cse.umn.edu/~saad/software/SPARSKIT/)',//,&
45  &' RCM - Reverse Cuthill McKee Ordering',/,&
46  &' (https://people.math.sc.edu/Burkardt/f_src/rcm/rcm.html)',//,&
47  &' BLAS - Basic Linear Algebra Subprograms Level 1',/,&
48  &' (https://people.math.sc.edu/Burkardt/f_src/blas1_d/',&
49  &'blas1_d.html)',//,"// &
50  "' SPARSEKIT - Sparse Matrix Utility Package',/,&
51  &' amux, dperm, dvperm, rperm, and cperm',/,&
52  &' (https://people.sc.fsu.edu/~jburkardt/f77_src/sparsekit/',&
53  &'sparsekit.html)',//,&
54  &'The following BSD-3 License libraries are used in this USGS product:',//,&
55  &' Modern Fortran DAG Library',/,&
56  &' Copyright (c) 2018, Jacob Williams',/,&
57  &' All rights reserved.',/,&
58  &' (https://github.com/jacobwilliams/daglib)',/&
59  &)"

◆ fullversion

character(len=*), parameter versionmodule::fullversion = VERSIONNUMBER// VERSIONVCSTAG// VERSIONTITLE

Definition at line 24 of file version.f90.

24  character(len=*), parameter :: FULLVERSION = &
25  versionnumber// &
26  versionvcstag// &
27  versiontitle

◆ idevelopmode

integer(i4b), parameter versionmodule::idevelopmode = 1

Definition at line 19 of file version.f90.

19  integer(I4B), parameter :: IDEVELOPMODE = 1

◆ mftitle

character(len=*), parameter versionmodule::mftitle = 'U.S. GEOLOGICAL SURVEY MODULAR HYDROLOGIC MODEL'

Definition at line 29 of file version.f90.

29  character(len=*), parameter :: MFTITLE = &
30  &'U.S. GEOLOGICAL SURVEY MODULAR HYDROLOGIC MODEL'

◆ mfvnam

character(len=2), parameter versionmodule::mfvnam = ' 6'

Definition at line 28 of file version.f90.

28  character(len=2), parameter :: MFVNAM = ' 6'

◆ netcdflicense

character(len=*), parameter versionmodule::netcdflicense = "('The following library is used in this USGS product:',//,' NetCDF, network Common Data Form software library',/,' Copyright (c) 1993-2014 University Corporation for Atmospheric',/,' Research/Unidata. Redistribution and use in source and binary',/,' forms, with or without modification, are permitted provided that',/,' the conditions in the NetCDF copyright are met',/,' (https://www.unidata.ucar.edu/software/netcdf/copyright.html)',/)"

Definition at line 70 of file version.f90.

70  character(len=*), parameter :: NETCDFLICENSE = &
71  "(&
72  &'The following library is used in this USGS product:',//,&
73  &' NetCDF, network Common Data Form software library',/,&
74  &' Copyright (c) 1993-2014 University Corporation for Atmospheric',/,&
75  &' Research/Unidata. Redistribution and use in source and binary',/,&
76  &' forms, with or without modification, are permitted provided that',/,&
77  &' the conditions in the NetCDF copyright are met',/,&
78  &' (https://www.unidata.ucar.edu/software/netcdf/copyright.html)',/&
79  &)"

◆ petsclicense

character(len=*), parameter versionmodule::petsclicense = "('The following 2-clause BSD License library is used in this',/,'USGS product:',//,' PETSc, the Portable, Extensible Toolkit for Scientific',/,' Computation Library',/,' Copyright (c) 1991-2021, UChicago Argonne, LLC',/,' and the PETSc Development Team All rights reserved.',/,' (https://petsc.org/release/)',/)"

Definition at line 60 of file version.f90.

60  character(len=*), parameter :: PETSCLICENSE = &
61  "(&
62  &'The following 2-clause BSD License library is used in this',/,&
63  &'USGS product:',//,&
64  &' PETSc, the Portable, Extensible Toolkit for Scientific',/,&
65  &' Computation Library',/,&
66  &' Copyright (c) 1991-2021, UChicago Argonne, LLC',/,&
67  &' and the PETSc Development Team All rights reserved.',/,&
68  &' (https://petsc.org/release/)',/&
69  &)"

◆ version

character(len=*), parameter versionmodule::version = VERSIONNUMBER//VERSIONVCSTAG

Definition at line 23 of file version.f90.

23  character(len=*), parameter :: VERSION = versionnumber//versionvcstag

◆ versionnumber

character(len=*), parameter versionmodule::versionnumber = '6.8.0.dev0'

Definition at line 20 of file version.f90.

20  character(len=*), parameter :: VERSIONNUMBER = '6.8.0.dev0'

◆ versiontitle

character(len=*), parameter versionmodule::versiontitle = ''

Definition at line 22 of file version.f90.

22  character(len=*), parameter :: VERSIONTITLE = ''

◆ versionvcstag

character(len=*), parameter versionmodule::versionvcstag = ""

Definition at line 21 of file version.f90.

21  character(len=*), parameter :: VERSIONVCSTAG = ""