Last modified: Fri Feb 11 14:23:42 2005.
NAME:
Binary_File_Utility
PURPOSE:
Module for utility routines for "Binary" datafiles (unformatted,
sequential) that conform to the required format.
CATEGORY:
Utility
CALLING SEQUENCE:
USE Binary_File_Utility
OUTPUTS:
None.
MODULES:
Type_Kinds: Module containing data type kind definitions.
File_Utility: Module containing generic file utility routines
Error_Handler: Module to define error codes and handle error
conditions.
USEs: FILE_UTILITY module
Endian_Utility: Module containing functions to byte-swap intrinsic
data types.
USEs: TYPE_KINDS module
CONTAINS:
PUBLIC routines
---------------
Open_Binary_File: Function to open the sequential access
unformatted files.
PRIVATE routines
----------------
Check_Binary_File: Function to determine if the Binary
file is in the correct format, endian-wise.
EXTERNALS:
None
COMMON BLOCKS:
None.
SIDE EFFECTS:
None known.
RESTRICTIONS:
None.
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC 12-Jun-2000
paul.vandelst@ssec.wisc.edu
Copyright (C) 2000,2003,2004 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See binary_file_utility.f90)
NAME:
Compare_Float_Numbers
PURPOSE:
Module containing routines to perform equality and relational
comparisons on floating point numbers.
CATEGORY:
Utility
LANGUAGE:
Fortran-95
CALLING SEQUENCE:
USE Compare_Numbers
MODULES:
Type_Kinds: Module containing definitions for kinds
of variable types.
CONTAINS:
.EqualTo. Relational operator to test the equality of
floating point numbers.
.GreaterThan. Relational operator to test if one operand
is greater than another.
.LessThan. Relational operator to test if one operand
is less than another.
Compare_Float: Function to compare floating point scalars
and arrays with adjustible precision tolerance.
INCLUDE FILES:
None.
EXTERNALS:
None.
COMMON BLOCKS:
None.
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC 01-Apr-2003
paul.vandelst@ssec.wisc.edu
Copyright (C) 2003 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See compare_float_numbers.f90)
NAME:
Date_Utility
PURPOSE:
Module containing date conversion routines
CATEGORY:
Utility
LANGUAGE:
Fortran-95
CALLING SEQUENCE:
USE Date_Utility
MODULES:
Error_Handler: Module to define error codes and handle
error conditions
CONTAINS:
Is_Leap_year: Function to test if a year is a leap year.
Day_of_Year_to_Date: Function to convert the day of year into
either a numeric or character string date.
Date_to_Day_of_Year: Function to convert input numeric date
(e.g. DD,MM,YYYY) date information to
a day of year.
EXTERNALS:
None.
COMMON BLOCKS:
None.
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC 03-Apr-2000
paul.vandelst@ssec.wisc.edu
Copyright (C) 2000, 2004 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See date_utility.f90)
NAME:
Endian_Utility
PURPOSE:
Module containing functions to byte-swap intrinsic data types.
CATEGORY:
Utility
LANGUAGE:
Fortran-95
CALLING SEQUENCE:
USE Endian_Utility
MODULES:
Type_Kinds: Module to hold specification kinds for variable
declaration.
CONTAINS:
Big_Endian: Logical function that returns .TRUE. if platform
is big endian.
Swap_Endian: Function that byte-swaps input arguments.
INCLUDE FILES:
None.
EXTERNALS:
None.
COMMON BLOCKS:
None.
FILES ACCESSED:
None.
SIDE EFFECTS:
None.
RESTRICTIONS:
None.
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC, 17-Mar-2000
paul.vandelst@ssec.wisc.edu
Copyright (C) 2000 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See endian_utility.f90)
NAME:
Error_Handler
PURPOSE:
Module to define simple error codes and output messages.
CATEGORY:
Utility
LANGUAGE:
Fortran-95
CALLING SEQUENCE:
USE Error_Handler
OUTPUTS:
SUCCESS: Code specifying successful completion.
UNITS: N/A
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
INFORMATION: Code specifying information output.
UNITS: N/A
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
WARNING: Code specifying warning state. Execution can
continue but results may be incorrect.
UNITS: N/A
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
FAILURE: Code specifying severe error. Execution cannot
continue.
UNITS: N/A
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
UNDEFINED: Code specifying undefined completion status.
UNITS: N/A
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
MODULES:
File_Utility: Module containing generic file utility routines.
CONTAINS:
Display_Message: Subroutine to display error/status messages either
to standard output (default) or to a log file.
Open_Message_Log: Function to open the message log file.
EXTERNALS:
None
COMMON BLOCKS:
None.
SIDE EFFECTS:
None known.
RESTRICTIONS:
None.
EXAMPLE:
USE Error_Handler
Error_Status = calculate_widget_size()
IF ( Error_Status /= SUCCESS ) THEN
CALL Display_Message( Routine_Name, &
'Error calculating widget size', &
Error_Status, &
Message_Log = 'error_log.txt' )
RETURN
END IF
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC 12-Jun-2000
paul.vandelst@ssec.wisc.edu
Copyright (C) 2000, 2004 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See error_handler.f90)
NAME:
File_Utility
PURPOSE:
Module containing generic file utility routines
CATEGORY:
Utility
LANGUAGE:
Fortran-95
CALLING SEQUENCE:
USE File_Utility
MODULES:
None.
CONTAINS:
Get_Lun: Function to return a free logical unit number for
file access.
File_Exists: Function to determine if a named file exists.
File_Open: Function to determine if a file is open.
EXTERNALS:
None
COMMON BLOCKS:
None.
SIDE EFFECTS:
None.
RESTRICTIONS:
None.
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC 12-Jul-2000
paul.vandelst@ssec.wisc.edu
Copyright (C) 2000, 2004 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See file_utility.f90)
NAME:
Fundamental_Constants
PURPOSE:
Module containing various fundamental physical constants.
CATEGORY:
Utility
LANGUAGE:
Fortran-95
CALLING SEQUENCE:
USE Fundamental_Constants
MODULES:
Type_Kinds: Module containing definitions for kinds of variable
types
OUTPUTS:
Irrational numbers
------------------
PI: Value of pi.
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
PI_RECIPROCAL: Reciprocal value of pi, 1/pi.
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
PI_SQUARED: Squared value of pi, pi^2.
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
PI_SQUARE_ROOT: Square root value of pi, pi^0.5.
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
PI_LN: Natural logarithm of pi, LN(pi).
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
PI_LOG10: Base-10 logarithm of pi, LOG(pi).
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
E: Value of e, base of the natural logarithm.
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
E_RECIPROCAL: Reciprocal value of e, 1/e.
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
E_SQUARED: Squared value of e, e^2.
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
E_LOG10: Base-10 logarithm of e, LOG(e).
UNITS: N/A.
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Universal Constants
-------------------
SPEED_OF_LIGHT: Speed of light in a vacuum, c
UNITS: metres/second, m/s
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
PERMEABILITY: Permeability of free space, mu0, where
mu0 = 4.PI x 10^-7
UNITS: Newton/Ampere^2, N/A^2
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
PERMITTIVITY: Permittivity of free space, epsilon0, where
1
epsilon0 = -----------
mu0 . c^2
UNITS: Farad/metre, F/m
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
PLANCK_CONSTANT: Planck's constant, h
UNITS: Joule.seconds, Js
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
GRAVITATIONAL_CONSTANT: Universal, or Newtonian, gravitation
constant, G
UNITS: m^3/(kg.s^2)
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Conversion Factors
------------------
ELECTRON_VOLT: Electron volt, the work required to move
one electron through a potential difference
of one volt.
UNITS: Joules, J
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
UNIFIED_ATOMIC_MASS_UNIT: Unified atomic mass unit, u. This is a
unit of mass equal to the mass of 1/12 of
a mole of Carbon-12 atoms
UNITS: kg
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
STANDARD_ATMOSPHERE: Standard atmospheric pressure.
UNITS: Pascals, Pa
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
STANDARD_TEMPERATURE: Standard atmospheric temperature.
Note that the unit of thermodynamic temperature,
the Kelvin, is the fraction 1/273.16 of the
thermodynamic temperature of the triple point
of water. The standard temperature is the ice
point of water, 273.15, NOT the triple point.
UNITS: Kelvin, K
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
STANDARD_GRAVITY: Standard acceleration of gravity.
UNITS: m/s^2
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Physicochemical Constants
-------------------------
AVOGADRO_CONSTANT: Avogadro's number, N(A). The number of atoms or
molecules required such that the number of grams
of a substance equals its atomic mass. This number
of atoms or molecules is a mole.
UNITS: mol^-1
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
MOLAR_GAS_CONSTANT: Universal gas constant, R.
UNITS: J/(mol.K)
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
BOLTZMANN_CONSTANT: Boltzmann's constant, k, where
R
k = ------
N(A)
UNITS: J/K
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
STEFAN_BOLTZMANN_CONSTANT: Stefan-Boltzmann constant, sigma, where
pi^2
----.k^4
60 h
sigma = ------------ ( hbar = ----- )
hbar^3.c^2 2pi
UNITS: W/(m^2.K^4)
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
C_1: First radiation constant for spectral
radiance, c1, where
c1 = 2.h.c^2
UNITS: W.m^2.sr^-1
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
C_2: Second radiation constant, c2, where
h.c
c2 = -----
k
UNITS: K.m
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
STP_MOLAR_VOLUME: Molar volume, Vm, of an ideal gas at standard
temperature and pressure, where
R.T0
Vm = ------
P0
UNITS: m^3/mol
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
LOSCHMIDT_CONSTANT: The number density, n0, of one mole of an
ideal gas at standard temperature and
pressure, where
N(A).P0 N(A) P0
n0 = --------- = ------ = ------
R.T0 Vm k.T0
UNITS: m^-3
TYPE: REAL( fp_kind )
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
CONTAINS:
None.
INCLUDE FILES:
None.
EXTERNALS:
None.
COMMON BLOCKS:
None.
FILES ACCESSED:
None.
SIDE EFFECTS:
None.
RESTRICTIONS:
None.
PROCEDURE:
The fundamental constants and equations used are taken from the
NIST Reference on Constants, Units, and Uncertainty website:
http://physics.nist.gov/cuu/Constants/
See also:
Mohr, P.J. and B.N. Taylor, "CODATA recommended values of the
fundamental physical constants: 1998", Reviews of Modern Physics,
Vol.72, No.2, 2000.
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC 02-May-2000
paul.vandelst@ssec.wisc.edu
Copyright (C) 2000 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See fundamental_constants.f90)
NAME:
List_File_Utility
PURPOSE:
Module containing routines for reading list files, i.e. ASCII files
that contain lists of character or integer data, one item per line.
CATEGORY:
Utility
LANGUAGE:
Fortran-95
CALLING SEQUENCE:
USE List_File_Utility
MODULES:
Type_Kinds: Module containing definitions for kinds
of variable types.
File_Utility: Module containing generic file utility routines
Error_Handler: Module to define simple error codes and
handle error conditions
USEs: FILE_UTILITY module
CONTAINS:
PUBLIC routines
---------------
Read_List_File: Function to read a list file and populate
a List File structure.
Get_List_Size: Fucntion to return the size of the List File
structure.
Get_List_Entry: Function to return requested entries in a
populated List File structure.
PRIVATE routines
----------------
Clear_List: Subroutine to clear the scalar members of a
List_File structure.
Associated_List: Function to test the association status of
the pointer members of a List File structure.
Destroy_List: Function to re-initialize the scalar and
pointer members of List File data structures.
Allocate_List: Function to allocate the pointer members of
the List File data structure.
Open_List_File: Function to open a list file for reading.
Count_List_File_Entries: Function to count the number of entries in a
list file
DERIVED TYPES:
All derived types defined in this module are declared PUBLIC but
with PRIVATE components. The public routines above must be used to
access the contents of the structures.
Character_List_File_type: Definition of the List File structure for
character data. Fields are:
n_Entries: Number of list file entries.
UNITS: N/A
TYPE: INTEGER
DIMENSION: Scalar
Entry: Array of list file entries.
UNITS: N/A
TYPE: CHARACTER(5000)
DIMENSION: Rank-1 (n_Entries)
ATTRIBUTES: POINTER
Integer_List_File_type: Definition of the List File structure for
integer data. Fields are:
n_Entries: Number of list file entries.
UNITS: N/A
TYPE: INTEGER
DIMENSION: Scalar
Entry: Array of list file entries.
UNITS: N/A
TYPE: INTEGER
DIMENSION: Rank-1 (n_Entries)
ATTRIBUTES: POINTER
INCLUDE FILES:
None.
EXTERNALS:
None.
COMMON BLOCKS:
None.
FILES ACCESSED:
None.
SIDE EFFECTS:
None.
RESTRICTIONS:
None.
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC 07-Feb-2003
paul.vandelst@ssec.wisc.edu
Copyright (C) 2003, 2004 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See list_file_utility.f90)
NAME:
String_Utility
PURPOSE:
Module containing string utility routines
CATEGORY:
Utility
LANGUAGE:
Fortran-95
CALLING SEQUENCE:
USE String_Utility
MODULES:
None.
CONTAINS:
StrUpCase: Function to convert an input string to upper case.
StrLowCase: Function to convert an input string to lower case.
StrCompress: Function to return a copy of an input string
with all internal whitespace (spaces and tabs)
removed.
EXTERNALS:
None.
COMMON BLOCKS:
None.
SIDE EFFECTS:
None.
RESTRICTIONS:
None known.
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC 18-Oct-1999
paul.vandelst@ssec.wisc.edu
Copyright (C) 1999, 2004 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See string_utility.f90)
NAME:
Type_Kinds
PURPOSE:
Module to hold specification kinds for variable declaration.
CATEGORY:
Utility
LANGUAGE:
Fortran-95
CALLING SEQUENCE:
USE Type_Kinds
OUTPUTS:
Integer Kind Types
------------------
Byte: Kind type for byte (1-byte) integer variable
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Short: Kind type for short (2-byte) integer variable
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Long: Kind type for long (4-byte) integer variable
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
LLong: Kind type for double long (8-byte) integer variable
If this kind type is not supported by a compiler, the
value defaults to Long.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
IP_Kind: Kind type for a user specified default integer.
The actual kind type this value corresponds
to is determined by the PRIVATE IIP index.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Floating point Kind Types
-------------------------
Single: Kind type for single precision (4-byte) real variable
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Double: Kind type for double precision (8-byte) real variable
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Quad: Kind type for quad precision (16-byte) real variable
If this kind type is not supported by a compiler, the
value defaults to Double.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
FP_Kind: Kind for for a user specified default floating point
variable. The actual kind type this value corresponds
to is determined by the PRIVATE IFP index.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Integer Byte Sizes
------------------
n_Bytes_Byte: The expected size of a Byte kind integer in units
of 8-bit bytes.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
n_Bytes_Short: The expected size of a Short kind integer in units
of 8-bit bytes.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
n_Bytes_Long: The expected size of a Long kind integer in units
of 8-bit bytes.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
n_Bytes_LLong: The expected size of a LLong kind integer in units
of 8-bit bytes.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
n_Bytes_IP_kind: The expected size of the user specified default
integer kind in units of 8-bit bytes. The actual
kind type size this value corresponds to is
determined by the PRIVATE IIP index.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
Floating point Byte Sizes
-------------------------
n_Bytes_Single: The expected size of a Single kind real variable
in units of 8-bit bytes.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
n_Bytes_Double: The expected size of a Double kind real variable
in units of 8-bit bytes.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
n_Bytes_Quad: The expected size of a Quad kind real variable
in units of 8-bit bytes.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
n_Bytes_FP_kind: The expected size of the user specified default
real kind variable in units of 8-bit bytes. The
actual kind type size this value corresponds to
is determined by the PRIVATE IFP index.
UNITS: N/A.
TYPE: INTEGER
DIMENSION: Scalar
ATTRIBUTES: PARAMETER, PUBLIC
MODULES:
None
CONTAINS:
None.
SIDE EFFECTS:
If the LLong or Quad kind types are not available they default to the
Long and Double kind specifications.
RESTRICTIONS:
None
EXAMPLE:
USE Type_Kinds
INTEGER( Long ) :: i, j
REAL( Single ) :: x, y
CREATION HISTORY:
Written by: Paul van Delst, CIMSS/SSEC 12-Jun-2000
paul.vandelst@ssec.wisc.edu
Copyright (C) 2000, 2004 Paul van Delst
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(See type_kinds.f90)