CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
|
Evaluates atmospheric variables and rainfall/snowfall rates over modelled area. More...
Functions/Subroutines | |
subroutine | atmosphericvarscalc (VPD, TADP, PADRY, RHOAIR, RHOSNI, RPCP, TRPCP, SPCP, TSPCP, TA, QA, PCPR, RRATE, SRATE, PRESSG, IPCP, NL, IL1, IL2) |
Evaluates atmospheric variables and rainfall/snowfall rates over modelled area.
subroutine atmosphericvarscalc | ( | real, dimension (nl), intent(out) | VPD, |
real, dimension (nl), intent(out) | TADP, | ||
real, dimension (nl), intent(out) | PADRY, | ||
real, dimension(nl), intent(out) | RHOAIR, | ||
real, dimension(nl), intent(out) | RHOSNI, | ||
real, dimension (nl), intent(out) | RPCP, | ||
real, dimension (nl), intent(out) | TRPCP, | ||
real, dimension (nl), intent(out) | SPCP, | ||
real, dimension (nl), intent(out) | TSPCP, | ||
real, dimension (nl), intent(in) | TA, | ||
real, dimension (nl), intent(in) | QA, | ||
real, dimension (nl), intent(in) | PCPR, | ||
real, dimension (nl), intent(in) | RRATE, | ||
real, dimension (nl), intent(in) | SRATE, | ||
real, dimension(nl), intent(in) | PRESSG, | ||
integer, intent(in) | IPCP, | ||
integer, intent(in) | NL, | ||
integer, intent(in) | IL1, | ||
integer, intent(in) | IL2 | ||
) |
[out] | vpd | Vapour pressure deficit of air \([mb] (e_d)\) |
[out] | tadp | Dew point temperature of air [K] |
[out] | padry | Partial pressure of dry air \([Pa] (p_{dry})\) |
[out] | rhoair | Density of air \([kg m^{-3}] (\rho_a)\) |
[out] | rhosni | Density of fresh snow \([kg m^{-3}] (\rho_{s, i})\) |
[out] | rpcp | Calculated rainfall rate over modelled area \([m s^{-1}]\) |
[out] | trpcp | Rainfall temperature over modelled area [C] |
[out] | spcp | Calculated snowfall rate over modelled area \([m s^{-1}]\) |
[out] | tspcp | Snowfall temperature over modelled area [C] |
[in] | ta | Air temperature at reference height \([K] (T_a)\) |
[in] | qa | Specific humidity at reference height \([kg kg^{-1}] (q_a)\) |
[in] | pressg | Surface atmospheric pressure \([Pa] (p)\) |
[in] | pcpr | Precipitation rate over modelled area \([kg m^{-2} s^{-1}]\) |
[in] | rrate | Input rainfall rate over modelled area \([kg m^{-2} s^{-1}]\) |
[in] | srate | Input snowfall rate over modelled area \([kg m^{-2} s^{-1}]\) |
In the first section, the air vapour pressure deficit, dry air pressure, air density and dew point temperature are calculated. The vapour pressure deficit \(e_d\) (in units of mb) is obtained from the saturated and actual vapour pressures of the air, \(e_a\) and \(e_{a, sat}\) respectively (in units of Pa), as \(e_d = [e_{a, sat} - e_a] /100.0\)
The air vapour pressure is obtained from the specific humidity \(q_a\) using the formula
\(e_a = q_a p /[0.622 + 0.378 q_a ]\)
where p is the surface atmospheric pressure. For the saturated vapour pressure, following Emanuel (1994) [34] \(e_{a, sat}\) is from the temperature \(T_a\) and the freezing point \(T_f\):
\(e_{sat} = exp[53.67957 - 6743.769 / T - 4.8451 * ln(T)] T \geq T_f\)
\(e_{sat} = exp[23.33086 - 6111.72784 / T + 0.15215 * log(T)] T < T_f\)
The partial pressure of dry air, \(p_{dry}\), is obtained by subtracting \(e_a\) from p, and the density of the air is calculated as the sum of the densities of the dry air and the water vapour: \(\rho_a = p_{dry} / R_d T_a + e_a / R_v T_a\)
where \(R_d\) and \(R_v\) are the gas constants for dry air and water vapour respectively. The dew point temperature of the air is evaluated by substituting \(e_a\) for \(e_{a, sat}\) on the left-hand side of the appropriate equation above, and solving for \(T_a\).
Finally, if IPCP = 4, this indicates that the partitioning between rainfall and snowfall has been done outside of CLASS. The rainfall and snowfall rates RRATE and SRATE that have been passed into the subroutine are therefore simply assigned to RPCP and SPCP.
In the next section, the density of fresh snow \(\rho_{s, i}\) is determined as an empirical function of the air temperature. For temperatures below 0 C, an equation presented by Hedstrom and Pomeroy (1998) is used. For temperatures >= 0 C, a relation following Pomeroy and Gray (1995) is used, with an upper limit of 200 kg m-3:
\(\rho_{s, i} = 67.92 + 51.25 exp[(T_a – T_f)/2.59]\) \(T_a < T_f\)
\(\rho_{s, i} = 119.17 + 20.0 (T_a – T_f)\) \(T_a \geq T_f\)
In the last section, the partitioning of precipitation between rainfall RPCP and snowfall SPCP is addressed. Four options for doing so are provided; the user’s selection is indicated by the flag IPCP. In each case the rainfall and snowfall rates are converted to units of \( m s^{-1}\), by dividing by the density of water in the case of rain and by \(\rho_{s, i}\) in the case of snow. The rainfall temperature is set to the maximum of 0 C and \(T_a\), and the snowfall temperature to the minimum of 0 C and \(T_a\). If IPCP = 1, the precipitation is simply diagnosed as rain if the air temperature is greater than 0 C, and as snow otherwise. If IPCP = 2, an empirical relation developed by Brown (2001) is used, where the precipitation is entirely snowfall when \(T_a \leq 0 C\), and entirely rainfall when \(T_a \geq 2.0 C\), and varies linearly between the two, with an equal mix of rain and snow at \(T_a = 1.0 C\). If IPCP = 3, the precipitation is assumed to be entirely snowfall when \(T_a \leq 0 C\), and entirely rainfall when \(T_a \geq 6.0 C\), and between the two a polynomial function presented by Auer (1974) [13] is used, relating the fraction of the precipitation that is snowfall, \(X_{sf}\), to \(T_a\):
\[ X_{sf} = [0.0202 T_a^6 – 0.3660 T_a^5 + 2.0399 T_a^4 – 1.5089 T_a^3 – 15.038 T_a^2 + 4.6664 T_a + 100.0]/100.0 \]