!> @file src/defs.f90 !------------------------------------------------------------------------------! ! This file is part of the PALM model system. ! ! PALM 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 3 of the License, or (at your option) any later ! version. ! ! PALM 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 ! PALM. If not, see . ! ! Copyright 2017-2018 Leibniz Universitaet Hannover ! Copyright 2017-2018 Deutscher Wetterdienst Offenbach !------------------------------------------------------------------------------! ! ! Current revisions: ! ----------------- ! ! ! Former revisions: ! ----------------- ! $Id: defs.f90 3183 2018-07-27 14:25:55Z sward $ ! Updated defaults for soil extrapolation steps and nudging time-scale ! Improved handling of the start date string ! Added gas constant for water vapor ! Bumped INIFOR version number ! ! ! 3182 2018-07-27 13:36:03Z suehring ! Initial revision ! ! ! ! Authors: ! -------- ! @author Eckhard Kadasch ! ! Description: ! ------------ !> The defs module provides global constants used in INIFOR. !------------------------------------------------------------------------------! MODULE defs IMPLICIT NONE ! Parameters for type definitions INTEGER, PARAMETER :: dp = 8 !< double precision (8 bytes = 64 bits) INTEGER, PARAMETER :: sp = 4 !< single precision (4 bytes = 32 bits) INTEGER, PARAMETER :: hp = 2 !< half precision (2 bytes = 16 bits) INTEGER, PARAMETER :: PATH = 140 !< length of file path strings INTEGER, PARAMETER :: LNAME = 150 !< length of long name strings INTEGER, PARAMETER :: SNAME = 40 !< length of short name strings INTEGER, PARAMETER :: DATE = 10 !< length of date strings ! Trigonomentry REAL(dp), PARAMETER :: PI = 3.14159265358979323846264338_dp !< Ratio of a circle's circumference to its diamter [-] REAL(dp), PARAMETER :: TO_RADIANS = PI / 180.0_dp !< Conversion factor from degrees to radiant [-] REAL(dp), PARAMETER :: TO_DEGREES = 180.0_dp / PI !< Conversion factor from radians to degrees [-] ! COSMO-DE parameters INTEGER, PARAMETER :: WATER_ID = 9 !< Integer corresponding to the water soil type in COSMO-DE [-] REAL(dp), PARAMETER :: EARTH_RADIUS = 6371229.0_dp !< Earth radius used in COSMO-DE [m] REAL(dp), PARAMETER :: P_SL = 1e5_dp !< Reference pressure for computation of COSMO-DE's basic state pressure [Pa] REAL(dp), PARAMETER :: T_SL = 288.15_dp !< Reference temperature for computation of COSMO-DE's basic state pressure [K] REAL(dp), PARAMETER :: BETA = 42.0_dp !< logarithmic lapse rate, dT / d ln(p), for computation of COSMO-DE's basic state pressure [K] REAL(dp), PARAMETER :: RD = 287.05_dp !< specific gas constant of dry air, used in computation of COSMO-DE's basic state [J/kg/K] REAL(dp), PARAMETER :: RV = 461.51_dp !< specific gas constant of water vapor [J/kg/K] REAL(dp), PARAMETER :: G = 9.80665_dp !< acceleration of Earth's gravity, used in computation of COSMO-DE's basic state [m/s/s] REAL(dp), PARAMETER :: RHO_L = 1e3_dp !< density of liquid water, used to convert W_SO from [kg/m^2] to [m^3/m^3], in [kg/m^3] ! PALM-4U parameters REAL(dp), PARAMETER :: P_REF = 1e5_dp !< Reference pressure for potential temperature [Pa] REAL(dp), PARAMETER :: RD_PALM = 287.0_dp !< specific gas constant of dry air, used in computation of PALM-4U's potential temperature [J/kg/K] REAL(dp), PARAMETER :: CP_PALM = 1005.0_dp !< heat capacity of dry air at constant pressure, used in computation of PALM-4U's potential temperature [J/kg/K] ! INIFOR parameters INTEGER, PARAMETER :: FILL_ITERATIONS = 5 !< Number of iterations for extrapolating soil data into COSMO-DE water cells [-] INTEGER, PARAMETER :: FORCING_STEP = 1 !< Number of hours between forcing time steps [h] REAL(dp), PARAMETER :: NUDGING_TAU = 21600.0_dp !< Nudging relaxation time scale [s] CHARACTER(LEN=*), PARAMETER :: VERSION = '1.3.0' !< INIFOR version number CHARACTER(LEN=*), PARAMETER :: COPYRIGHT = 'Copyright 2017-2018 Leibniz Universitaet Hannover' // & NEW_LINE(' ') // ' Copyright 2017-2018 Deutscher Wetterdienst Offenbach' !< Copyright notice END MODULE defs