MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
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.5.0.dev2'
 
character(len= *), parameter versiontag = ' (preliminary) 05/08/2024'
 
character(len=40), parameter version = VERSIONNUMBER//VERSIONTAG
 
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 187 of file version.f90.

188  ! -- dummy variables
189  integer(I4B), intent(in), optional :: iout !< program listing file
190  !
191  ! - write standard license
192  if (present(iout)) then
193  write (iout, fmtlicense)
194  else
195  call write_message('', fmt=fmtlicense)
196  end if
197  !
198  ! -- write NetCDF license
199  if (using_netcdf()) then
200  if (present(iout)) then
201  write (iout, netcdflicense)
202  else
203  call write_message('', fmt=netcdflicense)
204  end if
205  end if
206  !
207  ! -- write PETSc license
208  if (using_petsc()) then
209  if (present(iout)) then
210  write (iout, petsclicense)
211  else
212  call write_message('', fmt=petsclicense)
213  end if
214  end if
215 
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 96 of file version.f90.

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

76  character(len=*), parameter :: FMTDISCLAIMER = &
77  "(/,&
78  &'This software is preliminary or provisional and is subject to ',/,&
79  &'revision. It is being provided to meet the need for timely best ',/,&
80  &'science. The software has not received final approval by the U.S. ',/,&
81  &'Geological Survey (USGS). No warranty, expressed or implied, is made ',/,&
82  &'by the USGS or the U.S. Government as to the functionality of the ',/,&
83  &'software and related material nor shall the fact of release ',/,&
84  &'constitute any such warranty. The software is provided on the ',/,&
85  &'condition that neither the USGS nor the U.S. Government shall be held ',/,&
86  &'liable for any damages resulting from the authorized or unauthorized ',/,&
87  &'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 26 of file version.f90.

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

◆ 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 24 of file version.f90.

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

◆ mfvnam

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

Definition at line 23 of file version.f90.

23  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 65 of file version.f90.

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

◆ 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 55 of file version.f90.

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

◆ version

character(len=40), parameter versionmodule::version = VERSIONNUMBER//VERSIONTAG

Definition at line 22 of file version.f90.

22  character(len=40), parameter :: VERSION = versionnumber//versiontag

◆ versionnumber

character(len=*), parameter versionmodule::versionnumber = '6.5.0.dev2'

Definition at line 20 of file version.f90.

20  character(len=*), parameter :: VERSIONNUMBER = '6.5.0.dev2'

◆ versiontag

character(len=*), parameter versionmodule::versiontag = ' (preliminary) 05/08/2024'

Definition at line 21 of file version.f90.

21  character(len=*), parameter :: VERSIONTAG = ' (preliminary) 05/08/2024'