CONGEN 5.0
Configuration generation for SCATCI
Loading...
Searching...
No Matches
congen.f90
Go to the documentation of this file.
1! Copyright 2019
2!
3! For a comprehensive list of the developers that contributed to these codes
4! see the UK-AMOR website.
5!
6! This file is part of UKRmol-in (UKRmol+ suite).
7!
8! UKRmol-in is free software: you can redistribute it and/or modify
9! it under the terms of the GNU General Public License as published by
10! the Free Software Foundation, either version 3 of the License, or
11! (at your option) any later version.
12!
13! UKRmol-in is distributed in the hope that it will be useful,
14! but WITHOUT ANY WARRANTY; without even the implied warranty of
15! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16! GNU General Public License for more details.
17!
18! You should have received a copy of the GNU General Public License
19! along with UKRmol-in (in source/COPYING). Alternatively, you can also visit
20! <https://www.gnu.org/licenses/>.
21!> \brief Program CONGEN
22!>
23!> This is the CONGEN entry point. Very little work is done here, actually, only retrieval of the current date
24!> and time, write-out of the program header with SVN revision information, and of used real and integer byte
25!> sizes. Otherwise, all work is done in the main subroutine \ref congen_driver::csfgen.
26!>
27!> Text written by the program before the call to \ref congen_driver::csfgen is printed to the standard output (or anywhere
28!> the initial \ref congen_data::nftw points to). Only later output can be redirected to a file by resetting the value of
29!> \ref congen_data::nftw in the namelist &state/.
30!>
31program congen
32
33 use global_utils, only : utils_get_bytesizes, utils_date_time, print_ukrmol_header
34 use congen_data, only : lratio, nftw
35 use congen_driver, only : csfgen
36
37 implicit none
38
39 integer :: linteg, lreal
40 character(len=8) :: curdat
41 character(len=10) :: tim
42
43 call utils_date_time (curdat, tim)
44 call print_ukrmol_header (nftw)
45
46 write(nftw,'("1",//," PROGRAM CONGEN :",//,24X," DATE = ",A8//,24X," TIME = ",A10,//)') curdat, tim
47
48 call utils_get_bytesizes (linteg, lreal)
49 lratio = lreal / linteg
50
51 write(nftw,'(//"Using ",I3,"-byte integers"/" and ",I3,"-byte reals"/)') linteg, lreal
52
53 call csfgen
54
55end program congen
program congen
Program CONGEN.
Definition congen.f90:31
Module containing parameters / data required throughout the CONGEN program.
integer lratio
Ratio of real size to integer size. Used to manage workspace data.
integer nftw
Unit number for printing; may be changed via the STATE namelist so not a parameter.
Main CONGEN subroutines.
subroutine, public csfgen
Central CONGEN subroutine.