**Last modified: **Fri Feb 11 14:23:42 2005.

- BINARY_FILE_UTILITY
- COMPARE_FLOAT_NUMBERS
- DATE_UTILITY
- ENDIAN_UTILITY
- ERROR_HANDLER
- FILE_UTILITY
- FUNDAMENTAL_CONSTANTS
- LIST_FILE_UTILITY
- STRING_UTILITY
- TYPE_KINDS

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)**