21 character(len=*),
parameter ::
versiontag =
' (preliminary) 12/20/2024'
23 character(len=2),
parameter ::
mfvnam =
' 6'
24 character(len=*),
parameter ::
mftitle = &
25 &
'U.S. GEOLOGICAL SURVEY MODULAR HYDROLOGIC MODEL'
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)',/&
57 &'The following 2-clause BSD License library is used in this',/,&
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/)',/&
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)',/&
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.',/)"
99 integer(I4B),
intent(in) :: iout
100 character(len=*),
intent(in),
optional :: cmodel_type
101 logical(LGP),
intent(in),
optional :: write_sys_command
102 logical(LGP),
intent(in),
optional :: write_kind_info
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
114 write (cheader,
'(3a)')
'MODFLOW',
mfvnam,
' EXTENDED'
116 write (cheader,
'(2a)')
'MODFLOW',
mfvnam
126 if (
present(cmodel_type))
then
133 linelen=iheader_width, iunit=iout)
138 linelen=iheader_width, iunit=iout)
146 linelen=iheader_width, iunit=iout)
164 if (
present(write_sys_command)) wsc = write_sys_command
166 call get_command(syscmd)
167 write (iout,
'(/,a,/,a)') &
168 'System command used to initiate simulation:', trim(syscmd)
173 if (
present(write_kind_info)) wki = write_kind_info
175 write (iout,
'(/,a)')
'MODFLOW was compiled using uniform precision.'
189 integer(I4B),
intent(in),
optional :: iout
192 if (
present(iout))
then
200 if (
present(iout))
then
209 if (
present(iout))
then
subroutine, public get_compiler(txt)
@ brief Get compiler information
subroutine, public get_compile_options(txt)
@ brief Get compilation options
This module contains simulation constants.
integer(i4b), parameter lenhugeline
maximum length of a huge line
integer(i4b), parameter lenbigline
maximum length of a big line
real(dp), parameter dzero
real constant zero
logical(lgp) function, public is_extended()
Determine if this is the extended version.
logical(lgp) function, public using_petsc()
Determine if using petsc.
logical(lgp) function, public using_netcdf()
Determine if using netcdf.
This module defines variable data types.
subroutine, public write_kindinfo(iout)
Write variable data types.
Store and issue logging messages to output units.
subroutine, public write_message_centered(text, linelen, iunit)
Write horizontally centered text, left-padding as needed.
subroutine, public write_message(text, iunit, fmt, skipbefore, skipafter, advance)
Write a message to an output unit.
subroutine, public write_message_counter(text, iunit, icount, iwidth, skipbefore, skipafter)
Write a message with configurable indentation and numbering.
This module contains simulation variables.
integer(i4b) istdout
unit number for stdout
This module contains version information.
character(len= *), parameter petsclicense
subroutine write_license(iout)
@ brief Write program license
subroutine write_listfile_header(iout, cmodel_type, write_sys_command, write_kind_info)
@ brief Write program header
character(len= *), parameter fmtlicense
character(len= *), parameter versiontag
character(len= *), parameter fmtdisclaimer
character(len= *), parameter mftitle
character(len=40), parameter version
integer(i4b), parameter idevelopmode
character(len= *), parameter netcdflicense
character(len= *), parameter versionnumber
character(len=2), parameter mfvnam