MAIC-2  Revision 19
 All Classes Files Functions Variables
maic2_variables.F90
Go to the documentation of this file.
1 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 !
3 ! Module : m a i c 2 _ v a r i a b l e s
4 !
5 !> @file
6 !!
7 !! Declarations of global variables for MAIC-2.
8 !!
9 !! @section Copyright
10 !!
11 !! Copyright 2010-2013 Ralf Greve, Bjoern Grieger, Oliver J. Stenzel
12 !!
13 !! @section License
14 !!
15 !! This file is part of MAIC-2.
16 !!
17 !! MAIC-2 is free software: you can redistribute it and/or modify
18 !! it under the terms of the GNU General Public License as published by
19 !! the Free Software Foundation, either version 3 of the License, or
20 !! (at your option) any later version.
21 !!
22 !! MAIC-2 is distributed in the hope that it will be useful,
23 !! but WITHOUT ANY WARRANTY; without even the implied warranty of
24 !! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 !! GNU General Public License for more details.
26 !!
27 !! You should have received a copy of the GNU General Public License
28 !! along with MAIC-2. If not, see <http://www.gnu.org/licenses/>.
29 !<
30 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
31 
32 !-------------------------------------------------------------------------------
33 !> Declarations of global variables for MAIC-2.
34 !<------------------------------------------------------------------------------
36 
37 use maic2_types
38 
39 !-------- Field quantities --------
40 
41 !> phi_node(l): Latitude of grid point
42 real(dp), dimension(0:LMAX) :: phi_node
43 !> phi_cb1(l): Latitude of lower cell boundary
44 real(dp), dimension(0:LMAX) :: phi_cb1
45 !> phi_cb2(l): Latitude of upper cell boundary
46 real(dp), dimension(0:LMAX) :: phi_cb2
47 !> cos_phi_cb1(l): Cosine of phi_cb1(l)
48 real(dp), dimension(0:LMAX) :: cos_phi_cb1
49 !> cos_phi_cb2(l): Cosine of phi_cb2(l)
50 real(dp), dimension(0:LMAX) :: cos_phi_cb2
51 !> sin_phi_cb1(l): Sine of phi_cb1(l)
52 real(dp), dimension(0:LMAX) :: sin_phi_cb1
53 !> sin_phi_cb2(l): Sine of phi_cb2(l)
54 real(dp), dimension(0:LMAX) :: sin_phi_cb2
55 !> dphi(l): Grid spacing
56 real(dp), dimension(LMAX) :: dphi
57 !> dphi_inv(l): Inverse of the grid spacing
58 real(dp), dimension(LMAX) :: dphi_inv
59 !> temp_surf(l): Daily mean surface temperature
60 real(dp), dimension(0:LMAX) :: temp_surf
61 !> temp_surf_amp(l): Amplitude of the daily cycle of the surface temperature
62 real(dp), dimension(0:LMAX) :: temp_surf_amp
63 !> temp_co2(l): CO2 condensation temperature
64 real(dp), dimension(0:LMAX) :: temp_co2
65 !> p_surf(l): Surface pressure
66 real(dp), dimension(0:LMAX) :: p_surf
67 !> water(l): Water content in the atmosphere
68 real(dp), dimension(0:LMAX) :: water
69 !> (.)_new: New value of quantity (.) computed during an integration step
70 real(dp), dimension(0:LMAX) :: water_new
71 !> cond(l): Condensation rate
72 real(dp), dimension(0:LMAX) :: cond
73 !> evap(l): Evaporation rate
74 real(dp), dimension(0:LMAX) :: evap
75 !> a_net(l): Net surface mass balance of water ice
76 real(dp), dimension(0:LMAX) :: a_net
77 !> H(l): Ice thickness
78 real(dp), dimension(0:LMAX) :: H
79 !> (.)_new: New value of quantity (.) computed during an integration step
80 real(dp), dimension(0:LMAX) :: H_new
81 
82 !-------- Physical parameters --------
83 
84 !> RHO: Density of ice-dust mixture
85 real(dp) :: RHO
86 !> RHO_I: Density of ice
87 real(dp) :: RHO_I
88 !> RHO_W: Density of pure water
89 real(dp) :: RHO_W
90 !> G: Acceleration due to gravity
91 real(dp) :: G
92 !> R: Radius of Mars
93 real(dp) :: R
94 !> rho_inv: Inverse of the density of ice-dust mixture
95 real(dp) :: rho_inv
96 
97 !-------- Further quantities --------
98 
99 !> insol_time_min: Minimum time of the data values for the insolation etc.
100 integer(i4b) :: insol_time_min
101 !> insol_time_stp: Time step of the data values for the insolation etc.
102 integer(i4b) :: insol_time_stp
103 !> insol_time_max: Maximum time of the data values for the insolation etc.
104 integer(i4b) :: insol_time_max
105 !> itercount: Counter for the number of time integration steps
106 integer(i4b) :: itercount
107 
108 !> insol_ma_90(n): Data for the mean-annual north- or south-polar insolation
109 real(dp), dimension(0:100000) :: insol_ma_90
110 !> obl_data(n): Data for the obliquity
111 real(dp), dimension(0:100000) :: obl_data
112 !> ecc_data(n): Data for the eccentricity
113 real(dp), dimension(0:100000) :: ecc_data
114 !> ave_data(n): Data for the anomaly of vernal equinox
115 !> (= 360 deg - Ls of perihelion )
116 real(dp), dimension(0:100000) :: ave_data
117 !> cp_data(n): Data for Laskar's climate parameter
118 !> = eccentricity
119 !> *sin(Laskar's longitude of perihelion from moving equinox),
120 !> ( where Laskar's longitude of perihelion from moving equinox
121 !> = Ls of perihelion - 180 deg )
122 real(dp), dimension(0:100000) :: cp_data
123 
124 !> ls_tab(n): Solar longitudes (orbital positions with respect to vernal equinox)
125 !> over a Martian year
126 real(dp), dimension(0:NTIME) :: ls_tab
127 !> psi_tab(n): True anomalies (orbital positions with respect to perihelion)
128 !> over a Martian year
129 real(dp), dimension(0:NTIME) :: psi_tab
130 
131 !> diff_aux(l): Auxiliary quantity needed for the diffusional transport
132 real(dp), dimension(0:LMAX) :: diff_aux
133 
134 !> n_output: Number of specified times for data output
135 integer(i4b) :: n_output
136 !> dtime_out: Time step for data output
137 real(dp) :: dtime_out
138 !> time_output(n): Specified times for data output
139 real(dp), dimension(100) :: time_output
140 !> iter_out: Intervall of integration steps for data output
141 integer(i4b) :: iter_out
142 !> iter_output(n): Specified integration steps for data output
143 integer(i4b), dimension(100) :: iter_output
144 
145 !> pi: Mathematical constant
146 real(dp), parameter :: pi = 3.141592653589793_dp
147 !> pi_inv: Inverse of pi
148 real(dp), parameter :: pi_inv = 1.0_dp/pi
149 !> pi_180: pi divided by 180 (-> deg to rad)
150 real(dp), parameter :: pi_180 = pi/180.0_dp
151 !> pi_180_inv: 180 divided by pi (-> rad to deg)
152 real(dp), parameter :: pi_180_inv = 180.0_dp/pi
153 !> eps: Small number
154 real(dp), parameter :: eps = 1.0e-05_dp
155 
156 end module maic2_variables
157 !