Articles | Volume 17, issue 12
https://doi.org/10.5194/gmd-17-4837-2024
https://doi.org/10.5194/gmd-17-4837-2024
Development and technical paper
 | 
20 Jun 2024
Development and technical paper |  | 20 Jun 2024

RoadSurf 1.1: open-source road weather model library

Virve Eveliina Karsisto
Abstract

Icy and snowy road conditions cause problems in many countries where temperature often drops below 0 °C. Preventive actions are necessary to keep roads ice-free and to optimize maintenance operations. Accurate road surface temperature and road condition forecasts are essential help for road maintenance crews to plan their actions. The Finnish Meteorological Institute (FMI) has produced road weather forecasts for many years with the in-house road weather model RoadSurf to aid local road authorities. Recently, FMI published an open-source road weather model library that consists of RoadSurf functions. The open publication provides an opportunity for many institutes and companies to use the library in road weather forecasting. The evaluation of the library shows that it is well suited for forecasting road surface temperature.

1 Introduction

RoadSurf is an open-source library for predicting winter road conditions. It is published under the MIT license and contains code from the Finnish Meteorological Institute's road weather model (Kangas et al.2015), which is also named RoadSurf. In principle, it is the original RoadSurf model refactored into the library format. In this work, the model physics and algorithms are explained in detail. A model description paper of the original RoadSurf has been provided by Kangas et al. (2015), but the model has been further developed since then. Therefore, an updated model description is necessary. The newest version of the RoadSurf library is available in the FMI developers GitHub page (https://github.com/fmidev/RoadSurf, last access: 14 June 2024), and the version used in this study is available on Zenodo (Karsisto et al.2023). Functions in the library can be used to forecast road surface temperature and the amount of water, ice, snow, and black ice on the road. Accurate predictions of road surface temperature and road conditions are important for ensuring traffic safety, minimizing the economic impacts of hazardous weather events, and maintaining efficient traffic flow. For example, with accurate surface temperature forecasts, road maintenance crews can be prepared for situations where the surface temperature drops below zero and salt the roads before ice starts to form. In addition, unnecessary salting can be avoided, resulting in economic savings. Accurate forecasts are also important to transportation and logistics, as the forecasts allow companies to optimize transportation routes and prepare for eventual disruptions to supply chains.

Several different road weather models have been developed around the world (Rayer1987; Yang et al.2012; Karsisto et al.2017). Perhaps the most used one is the open-source METRo model developed in Canada (Crevier and Delage2001). The development of the RoadSurf model started in the late 1990s, and its operational use started in 2000. Since then, the model has been under continuous development. For example, friction calculation and the shadowing algorithm have been added to the model (Juga et al.2013; Karsisto and Horttanainen2023). The model can also be used to forecast sidewalk conditions (Hippi et al.2020). The RoadSurf library contains the physical functions used by the RoadSurf model to predict weather road conditions. It does not contain determination of all variables predicted by RoadSurf model, such as friction and road condition (wet, icy, snowy, etc.). However, the library is designed so that each user can make their own implementation. While the RoadSurf library provides the basic prediction functions, each user can make their own additions to the model simulation. The RoadSurf library Zenodo archive provides an example implementation, which can be used as a starting point.

The functions in the RoadSurf library model the ground temperature profile and surface energy balance in one dimension. Information about atmospheric variables, such as air temperature and wind speed, is required to make the simulation. These can be obtained from the forecasts made by numerical weather prediction (NWP) models. The workings of the RoadSurf model have already been presented in several publications (Kangas et al.2015; Karsisto et al.2016, 2017; Karsisto and Horttanainen2023), but this article provides an update on the new open-source RoadSurf library. In addition, a small evaluation study is included to assess the library's performance. More extensive evaluations of the original model are provided by, for example, Karsisto et al. (2016, 2017), Toivonen et al. (2019), Hippi et al. (2020), and Karsisto and Horttanainen (2023).

The RoadSurf library can be used anywhere with the condition that weather forecast data are available. The RoadSurf model has been run for several countries in addition to Finland, including, for example, Norway, Sweden, Estonia, and the Netherlands. When implementing the model in a new area, it is important to adjust the model variables such as asphalt heat capacity and density to fit to the local conditions. The model is not optimized to predict very high road surface temperatures, so it should not be used to predict damage caused to the road by excessive heat without further studies.

The next section describes technical requirements for using RoadSurf library and the data required as model input. Section 3 explains the library physics in detail. Section 4 starts the evaluation part of the paper, with explanations of the data used and an example hindcast. Section 5 presents the actual evaluation results. Finally, Sect. 6 presents conclusions and future perspectives.

2 Requirements

The RoadSurf library is coded in Fortran 2008 and tested with GNU Fortran (GCC) 8.5.0. The library is not guaranteed to work with older Fortran compilers. As input data, the RoadSurf library requires the following input variables:

  • air temperature (°C);

  • dew point temperature (°C) or relative humidity (%);

  • wind speed (m s−1);

  • precipitation intensity (mm h−1);

  • incoming long-wave radiation (W m−2);

  • incoming short-wave radiation (W m−2).

Optional values are road surface temperature (°C) and precipitation phase (0: none; 1: rain; 2: sleet; 3: snow; 4: freezing drizzle; 5: freezing rain; 6: hail). If sky view factors (SVFs) and local horizon angles are used to modify the incoming radiation, the model also requires surface net long-wave radiation (W m−2) and direct solar radiation (W m−2) as input values. SVF describes the fraction of the radiation flux reaching the surface versus the radiation from the whole sky hemisphere. The local horizon angle means the angle between the visible horizon and the ground in a certain direction.

The atmospheric variables listed above should form a time series for the simulation duration. Although the model simulation can be done by using only either observation or forecast data, it is intended that the input data for the first part of the simulation consist of observations. This way, the ground temperature profile can evolve and form a good starting state for the actual forecast. The forecast data are necessary for forecasting the evolution of the ground temperature profile. If road surface temperature observations are available, they can be used to force the simulated surface temperature to the observations during the initialization.

As the RoadSurf library contains only functions used by the RoadSurf model, the user is responsible for creating a program that implements them. Two examples of such a program are given in the RoadSurf library GitHub repository. The repository also contains example input datasets and a user manual. The user can write their own functions to read the input data or even include the calculation of additional variables in the simulation without modifying the original library.

3 RoadSurf physics

This section gives detailed explanations of the RoadSurf library physics. The notations used in this section are summarized in Appendix A for easier reference.

3.1 Surface energy balance

The most important equation in the RoadSurf library is the surface heat balance equation, which manages different energy flows in and out of the surface (Brutsaert1984):

(1) G = R n - LE + H + Tr ,

where G is ground heat flux (W m−2), Rn is net radiation (W m−2), LE is latent heat flux (W m−2), H is sensible heat flux (W m−2), and Tr is heating caused by traffic (W m−2).

Heating caused by traffic is just a constant value that can take on different values during daytime and nighttime. The following sections describe the calculation of ground heat flux, net radiation, latent heat flux, and sensible heat flux in detail. Figure 1 shows a schematic representation of the energy fluxes.

https://gmd.copernicus.org/articles/17/4837/2024/gmd-17-4837-2024-f01

Figure 1Schematic representation of model fluxes. SWdir is incoming direct short-wave radiation, SWdif is incoming diffuse short-wave radiation, LWdown is incoming long-wave radiation, Tr is traffic-induced heating, H is sensible heat flux, LE is latent heat flux, LWup is black body emission, SWref is reflected short-wave radiation from the surroundings, LWsur is long-wave radiation emitted by the surroundings, and G is ground heat flux.

Download

3.1.1 Net radiation

Net radiation consists of incoming long-wave and short-wave radiation, black body emission from the asphalt, and reflected short-wave radiation (Brutsaert1984):

(2) R n = SW down ( 1 - α s ) + LW down - LW up ,

where SWdown is incoming short-wave radiation (W m−2), αs is surface albedo, LWdown is incoming long-wave radiation (W m−2), and LWup is black body emission (W m−2).

If SVF and local horizon angles are given, they are used to modify radiation fluxes. Surrounding buildings, terrain, and vegetation reduce the amounts of incoming diffuse short-wave radiation and incoming long-wave radiation from the sky. However, they also emit some long-wave radiation and reflect short-wave radiation. SVF is used to take these effect into account. In addition, local horizon angles are used to determine whether the forecast point receives direct solar radiation (Karsisto and Horttanainen2023).

The input radiation values are from a numerical weather prediction model and describe values for the whole grid cell. Therefore, the net long-wave radiation or reflected solar radiation do not describe the values for a single road point well. However, when SVF is used, also the radiation from surrounding buildings, vegetation, and terrain is taken into account. The values from the numerical prediction model can be used to estimate the reflected/emitted radiation from the surrounding environment.

Diffuse solar radiation is not included in the input variables, so the amount of diffuse solar radiation is calculated as the difference between total downward short-wave radiation flux and the direct radiation flux:

(3) SW dif = SW down - SW dir .

SVF is used to reduce the diffuse solar radiation from the sky and to take into account the reflected solar radiation from the surrounding (Senkova et al.2007):

(4) SW dif , mod = SVF SW dif + ( 1 - SVF ) SW ref ,

where SWdif,mod (W m−2) is modified diffuse solar radiation and SWref (W m−2) is the reflected solar radiation from surroundings. It is calculated as the sum of reflected direct solar radiation and reflected diffuse solar radiation fluxes:

(5) SW ref = α sur SW dir + α sur SW dif ,

where αsur is the average albedo of the surrounding environment. The modified incoming solar radiation is then calculated as

(6) SW down = SW dif , mod + SW dir .

If local horizon angles are given, the model determines whether the point gets direct solar radiation based on the sun position. The calculation of the sun's position is based on the methods presented in the book by Jean Meeus (Meeus1991). If the local horizon angle in the direction of the sun is greater than the sun elevation angle, the direct solar radiation is set to zero.

SVF is used to modify the incoming long-wave radiation as (Senkova et al.2007)

(7) LW down = SVF LW down - ( 1 - SVF ) LW sur ,

where LWsur (W m−2) is long-wave radiation from the surrounding vegetation, terrain, and buildings. Smaller SVF decreases the amount of long-wave radiation from the sky but increases the long-wave radiation from surroundings. As an approximation of the radiation from the surroundings, the model uses upward radiation from an NWP model. As the radiation output from an NWP model represents the whole grid cell, the upward long-wave radiation can be assumed to present the road surroundings rather than the road that covers only small part of the grid. Although upward radiation is not the same as radiation towards the road point, it can be used as a rough approximation. It is calculated as the difference between the net long-wave radiation and incoming long-wave radiation:

(8) LW sur = LW net - LW down .

The long-wave radiation emitted by the road is calculated as black body emission (Campbell1986):

(9) LW up = ϵ σ SB T sK 4 ,

where ϵ is the emissivity factor, σSB is the Stefan–Boltzmann constant (W m-2K-4), and TsK is surface temperature (K).

3.1.2 Albedo

Albedo means the fraction of the short-wave radiation that is reflected by the surface. Both asphalt albedo and snow albedo are given to RoadSurf as input parameters. Default values are 0.1 and 0.6, respectively. Asphalt albedo is used when there is no ice, snow, or deposit on the road surface. When there is snow on the surface, the surface albedo is set to snow albedo as long as the snow storage exceeds the ice storage. When the ice storage is larger than the snow storage, the surface albedo is calculated with equation

(10) α s = α asp + St sum , ice / 1.5 α snow - α asp ,

where αasp is asphalt albedo, αsnow is snow albedo, and Stsum,ice is the total ice content (water equivalent millimeters). The total ice content is calculated as the sum of deposit storage and the average of the ice storage and the secondary ice storage. Secondary ice storage is explained in Sect. 3.5. If Stsum,ice is greater than 1.5 mm, the albedo is set to snow albedo.

3.1.3 Sensible heat flux

Sensible heat flux means the energy flux between air and surface. It is calculated as (Campbell1985)

(11) H = BLC ( T s - T a ) ,

where BLC is boundary layer conductance (J m−2 s−1 K−1), Ts is surface temperature (°C), and Ta is air temperature (°C). Boundary layer conductance describes how easily the heat is transferred between air and surface. It is calculated as (Campbell1985, 1986)

(12) BLC = c a ρ a k u * ln ( z T - d + z h z h ) + Ψ h ,

where ca is the specific heat of air (J kg−1 K−1), ρa is the density of dry air (kg m−3), k is von Karman's constant, u* is the friction velocity (m s−1), zT is the air temperature measurement height (m), d is the zero plane displacement height (m), zh is the surface roughness parameter for heat (m), and Ψh is the stability correction factor for heat (m).

An iterative process is applied to solve this equation as it cannot be solved directly because of connected variables.

ca is dependent on air temperature and is calculated as isobaric specific heat for dry air (Garratt1992):

(13) c a = 1005 + ( T aK - 250 ) 2 3364 ,

where TaK is air temperature (K). Air density is calculated according to the ideal gas law:

(14) ρ a = p R d T aK ,

where p is pressure (Pa) and Rd is the gas constant for dry air (287.05 J kg−1 K−1). Pressure is not included in the input of the simulation and is assumed to always be 1000 hPa.

u* is calculated with equation (Campbell1985)

(15) u * = k u ln ( z W - d + z m z m ) + Ψ m ,

where zW is the wind speed measurement height (m), zm is the surface roughness parameter for momentum (m), and Ψm is the stability correction factor for momentum. Values for zT, zW, d, zh, and zm are given as input. Default values are zT=2 m, zW=10 m , d=0, zh=0.001 m, and zm=0.4 m.

Boundary layer stability is an important factor in the sensible heat flux calculation. Mixing is larger in unstable conditions than in a stable boundary layer. The relative importance of the thermal and mechanical turbulence in boundary layer transport is described as (Campbell1985)

(16) ζ = - k z T g H c a ρ a T aK u * 3 ,

where g is the gravitational constant (9.81 m s−2). ζ is used to calculate stability correction factors. In stable conditions ζ is positive and

(17) Ψ h = Ψ m = 4.7 ζ .

In unstable conditions ζ is negative and

(18) Ψ h = - 2 ln 1 + 1 - 16 ζ 2 2

and

(19) Ψ m = 0.6 Ψ h .

Equations (18) and (19) are also used in neutral (ζ=0) conditions.

The equations above include several connected parameters, which is why BLC must be solved iteratively. First, Ψh and Ψm are set to zero and BLC, H, and ζ are calculated. Second, Ψh and Ψm are calculated using the obtained values. Then BLC, H, and ζ are calculated again using the new values. The iteration is continued until the absolute difference between two BLC values from the subsequent iteration rounds is smaller than 0.001 or the maximum amount of iterations (40) is reached.

3.1.4 Latent heat flux

Latent heat flux means the energy released in condensation or energy consumed in evaporation. It is calculated as (Calder1990)

(20) LE = ρ m c a γ e s - e a r o ,

where ρm is the density of moist air (kg m−3), γ is the psychrometric constant (kPa °C−1), es is the vapor pressure at the surface (kPa), ea is the vapor pressure of the air (kPa), and ro is the aerodynamic resistance (s m−1).

Positive latent heat flux means that water is evaporated from the surface and negative that water is condensed on the surface. In the calculation ρm is approximated as ρa. γ is dependent on air temperature and is calculated using equation developed from values in Calder (1990):

(21) γ = 0.1 ( 0.00063 T aK + 0.47496 ) .

Water vapor pressure at the surface is approximated as saturated water vapor pressure. Over water, this can be calculated as (Calder1990)

(22) e s = 0.61078 e 17.269 T s / ( T s + 237.3 )

and over ice as

(23) e s = 0.61078 e 21.875 T s / ( T s + 265.5 ) .

In the air, the water vapor pressure is calculated from the saturated vapor pressure as

(24) e a = RH 100 e s ,

where RH is relative humidity (%). In unstable conditions, aerodynamic resistance can be calculated as (Tourula and Heikinheimo1998)

(25) r o = ln ( h - d z m ) + Ψ ln ( h - d z h ) + Ψ k 2 u ,

where h is measurement height (m) and Ψ=Ψm=Ψh. However, the RoadSurf library uses modified version of this equation:

(26) r o = ( ln ( z W + z m z m ) + Ψ m ) ( ln ( z W + z h z h ) + Ψ h ) k 2 u .

Ψm and Ψh are not considered to be equal as in Tourula and Heikinheimo (1998), where stability correction was marked simply as Ψ. In addition, zero plane displacement is assumed to be small, but surface roughness for momentum is added to the equation. The aerodynamic resistance has maximum limit of 30 s m−1. The difference between Eqs. (25) and (26) causes only slight differences in aerodynamic resistance, so the modifications do not have much effect. Equation (26) is used also in stable conditions in the simulation for simplicity. As water vapor pressure in Eq. (20) is always estimated as saturated vapor pressure, LE can be positive even when there is no water on the surface. In the simulation, LE is set to zero if there is no water to evaporate and LE is positive.

3.2 Heat flow in the ground

The ground is divided into several layers for the heat flow calculation. The number of layers is 16. The heat transfer between the layers is based on equation (Patankar1980)

(27) ρ g c g T ( z , t ) t = z K T ( z , t ) z ,

where T is the ground layer temperature (°C), z is the vertical distance in the ground (m), t is time (s), K is heat conductivity (W m−1 K−1), ρg is the density of the ground (kg m−3), and cg is the specific heat capacity of the ground (J kg−1 K−1).

After integrating over the volume of the layer and time step, the equation is discretized and solved with the forward difference explicit method. This results in the following equation (Campbell1985):

(28) T i j + 1 = T i + 1 ρ g c g z i + 1 - z i - 1 2 Δ t K i T i + 1 j - T i j z i + 1 - z i - K i - 1 T i j - T i - 1 j z i - z i - 1 .

The index j refers to the time step and index i to the number of the ground layer. This equation is used to calculate temperature for each layer at each time step. The output surface temperature given by the model is calculated as the average temperature of the first two layers, because it matches better to the observations than the temperature of the topmost layer. The user can also set the height for which the output temperature is interpolated. The average surface temperature is often used in library functions for heat flow and storage term calculation instead of the temperature of the topmost layer.

3.2.1 Volumetric heat capacity and heat conductivity

Water in the ground is taken into account in the heat capacity calculation. The volumetric heat capacity of the ground (ρgcg) is calculated as a weighted average of the dry ground and water volumetric heat capacities:

(29) ρ g c g = ( 1 - ϕ ) ρ s c s + ϕ ρ w c w ,

where ρgcg is the volumetric heat capacity of wet ground (J m−3 K−1), ρscs is the volumetric heat capacity of dry ground (J m−3 K−1), ρwcw is the volumetric heat capacity of water (J m−3 K−1), and ϕ is the porosity of the ground.

Porosity means the fraction of empty spaces in the ground. The values are given as input to the library.

Water density and specific heat capacity are considered temperature dependent when water temperature is above 0 °C. They are calculated with equations that are derived from tables presented in Campbell (1986) and Weast (1975):

(30)ρw(Tw)=-0.0050Tw2+0.0079Tw+1000.0028(31)cw(Tw)=1.02×10-5Tw4-1.7169×10-3Tw3+0.11516Tw2-3.4739Tw+4217.2,

where ρw is water density (kg m3), cw is the specific heat capacity of water (J kg−1 K−1), and Tw is water temperature (°C).

Below 0 °C, ρw and cw are set to the values of ice density and specific heat capacity of ice (Oke1987):

ρw=920kgm-3,cw=2100Jkg-1K-1.

Heat conductivity in the ground is calculated as (Campbell1985)

(32) λ = A + B θ - ( A - D ) e - ( C θ ) E ,

where θ is the volumetric water content.

Coefficients AE depend on the density of the ground (Campbell1985):

(33)A=0.65-0.78ρg+0.60ρg2,(34)B=1.06ρg,(35)C=1+(2.6/mc),(36)E=4,

where mc is the clay fraction of the ground.

3.2.2 Temperature field and layer height initialization

The ground is divided into 16 layers in the model. The layer thickness grows towards the bottom according to the formula

(37)Zi+1=Zi+0.01442(i-1)+ZAdd,(38)Z(1)=0,

where Zi+1 (m) is the distance of the layer i midpoint from the surface and ZAdd (m) is constant. The temperature of the layers 1–4 is set to the observed surface temperature at the initialization. If observations are not available, the temperature of the ground layers 1–4 is set to the air temperature. The temperature of the lowest layer depends on the time of the year according to the equation (Monteith and Unsworth2013)

(39) T m + 1 = Tc m + 1 + A y sin Ω J + Ω Di - Z m + 1 d a ,

where Ay is the amplitude of variation during the year (°C), Ω is the frequency of the variation (2π/365), J is the Julian day, Tc is the climatological temperature average (°C), Di is the displacement of the curve, m is the number of the ground layers, and da is the damping depth. The example implementations uses Tc=6.4 °C, Ay=0.6, Di=-170, and da=2.7.

The temperature of the layers between the fourth layer and the bottom layer are initialized so that the temperature change is linear with depth.

3.3 Coupling

The coupling method can be used to improve the forecast during the first forecast hours (Crevier and Delage2001; Karsisto et al.2016). It is based on adjusting the amount of incoming radiation in the model. The model simulation consists of two phases. The first is the initialization phase, where the model is run with observation data. Radiation observations are often missing, so radiation data are taken from the past forecast data. After the initialization phase there is a forecast phase, where the model is run with forecast data. If road surface temperature observations are available, the temperature of the first two layers is set to the observed surface temperature during initialization.

The coupling phase in the simulation consists of the 3 h before the start of the actual forecast phase. During the coupling phase, the simulated surface temperature is not forced to the observed surface temperature as in the initialization phase. At the end of the coupling phase, the model checks whether the simulated surface temperature fits the latest observed surface temperature. If not, the model adjusts a radiation correction coefficient that modifies the incoming radiation and the simulation goes back 3 h. If the simulated surface temperature is too cold, the coefficient is increased, and if the simulated surface temperature is too warm, the coefficient is decreased. The model runs the 3 h period again and compares the new simulated surface temperature to the observation. This is continued until the simulated surface temperature is within ±0.1 °C from the observed surface temperature. Then, the simulation moves to the actual forecast phase. The radiation correction coefficient is used in the forecast phase so that it gradually approaches one as the forecast advances. The used coefficient is calculated as

(40) C f ( t ) = 1.0 + C R e - t t c ,

where Cf is the correcting coefficient at time t, CR is the original coefficient, and tc=4 h is a scaling constant. A more detailed explanation about the algorithm that determines the coupling coefficient can be found in the user manual.

3.4 Relaxation

When the simulation switches from the observation phase to the forecast phase, there can be considerable jumps in air temperature, relative humidity, and wind speed values as forecast data differ from observation data. Relaxation makes this transition smoother by modifying these values in the forecast phase with equation

(41) X ( t ) = X F ( t ) - ( X FO ( t ) - X O ) e - t t c ,

where X(t) is the forced value at time t, XFO is the forecasted value at the time of the last observation, and XO is the last observed value. tc is the same scaling constant as in Eq. (40). Relaxation can be turned on or off.

3.5 Storage terms

Storage terms in the RoadSurf library refer to the amounts of snow, ice, water, and deposit on the road (Kangas et al.2015). The amounts are calculated in water equivalent millimeters. Deposit means black ice that has formed on the road surface via deposition. Unlike the surface temperature calculation, where the model uses clear physical definitions, the storage term calculation contains more approximations and simplifications. There are two separate storages for ice that are otherwise similar, but the secondary ice storage is reduced faster by traffic. The secondary ice storage is included in the simulation output. Water storage consists partly of the water in the asphalt pores and partly of the water on the surface. Water is considered to be only in the pores until water storage exceeds the maximum porous water content, which is given as an input parameter. The default value is 1.0 mm.

Table 1Events that increase (+) or decrease () different storage terms. No sign means that the event does not affect that specific storage.

Download Print Version | Download XLSX

Table 1 shows which events increase or decrease the storage terms. Wearing by traffic reduces all storage terms gradually. Passing vehicles compress snow, and with time snow storage is transferred to ice storage. Black ice is transferred to ice storage when there is snow on the road, as black ice is assumed to exist only in snow-free situations.

3.5.1 Precipitation

The RoadSurf library uses three types of precipitation: water, sleet, and snow. When precipitation type is given as input, drizzle, rain, freezing drizzle, and freezing rain are classified as water. Hail is classified as snow. Water type precipitation increases the water storage, and snow type precipitation increases snow storage. If precipitation type is sleet, half of the precipitation goes to the water storage and half to the snow storage.

If precipitation type is not given, RoadSurf uses following equation to determine the type (Koistinen and Saltikoff1999):

(42) P rain = 1 1 + e P exp ,

where Pexp=22-2.7Ta-0.2RH. If Prain<0.3 precipitation is categorized as snow. When Prain>0.7, precipitation is categorized as water, and when 0.3Prain0.7, precipitation is categorized as sleet.

The storage terms have maximum limits that they cannot exceed. The default maximum limit for snow is 100 mm, for ice 50 mm, for deposit 2 mm, and for surface water 1 mm. Ice and water content are simply limited to the maximum amount, but snow storage is halved if it reaches the maximum amount. If deposit exceeds the maximum limit, excess deposit is turned to water.

3.5.2 Wear

Passing vehicles cause water, snow, and ice to gradually wear off from the road. RoadSurf has separate wear factors for each storage term that determine how fast they are reduced. The reduced amount in one time step can be calculated as

(43) Wear x = Wf x St x Δ t / 3600 s ,

where Wfx is the wear factor for storage x, Stx is storage x (water equivalent millimeters), and Δt is time step (s). The wear factors for different storages are

Wfsnow=0.45, Wfice=0.319, Wfice2=2.552, Wfdeposit=1.16, and Wfwater=0.145.

ice2 refers to secondary ice storage and deposit to black ice. Wearing simply reduces the amount of ice, deposit, and water on each time step during the simulation. However, part of the reduced snow storage is transformed to ice. This part is calculated by multiplying the reduced amount of snow by 0.556. Snow wear is greater when the snow storage is less than 0.2 mm. In that case, snow wear is multiplied by 3. To avoid wearing becoming too small, Wfx⋅Stx for the snow, ice and deposit wears have a minimum value of 0.01 mm and Wfwater⋅Stwater has minimum value of 0.06 mm. Deposit wear has an effect only in snow-free conditions. If Stsnow>0, then Wfdeposit=0.

Water wear is set to zero if the amount of water is less than one-tenth of the maximum porous water content. If the water content is less than 90 % of the porous water content, the water wear is reduced by half.

3.5.3 Evaporation and condensation

The amount of evaporated or condensed water in time each step is calculated with equation

(44) EV w = LE E m 3 Δ t ,

where Em3 (J) means the amount of energy needed to evaporate 1 m3 of water. It is calculated as

(45) E m 3 = L wat ρ w ,

where Lwat is the latent heat of water vaporization (J kg−1) and ρw is the density of water (kg m−3). Water is evaporated when LE is positive and condensed when LE is negative. Snow, ice, and deposit storages must be zero and surface temperature should be at least 0.25 °C for evaporation or condensation to occur in the simulation. If the water storage is less than the maximum porous water content, the evaporated amount of water is reduced by the pore resistance factor. This factor can be set by the user but is by default 1.0, which means it has no effect.

Deposit storage is increased by deposition. It is calculated similarly to condensation, but latent heat of evaporation is replaced by latent heat of sublimation in Eq. (45). Sublimation is not taken into account in the simulation.

3.6 Freezing and melting

Freezing happens in the simulation instantly when the surface temperature goes below the freezing limit. When freezing occurs, the entire water storage is added to the ice storage and water storage is set to zero. Freezing does not affect surface temperature in the simulation, and heat released by it is not taken into account. This may cause surface temperature that is too cold and ice formation that is too fast in the simulation. However, the phenomena's accurate modeling is difficult as it would require increasing surface temperature when freezing, which would cause temperature to rise above the freezing limit. This might cause surface temperature to bounce above and below the freezing limit during freezing.

Melting transforms ice, snow, and deposit storages into water storage. The entire deposit storage is simply added to the water storage when the surface temperature goes above the melting limit. The melting of ice and snow is slower in the simulation. The amount of melted snow and ice in one time step is calculated as

(46) Me snow = 1000 Q melt Δ t L melt ρ w ,

where Qmelt is the energy that is available for melting (J) and Lmelt is the latent heat for melting (J kg−1). The available energy for melting is considered the same as the energy that would be released if the surface cooled to the melting temperature. It is calculated as

(47) Q melt = ρ g c g z 2 - z 1 2 Δ t ( T 1 - T melt ) ,

where z1 is the depth of the uppermost ground layer (m), z2 is the depth of the second ground layer (m), T1 is the temperature of the uppermost ground layer (J kg−1), and Tmelt is the melting temperature (°C). After calculating the available energy, the temperature of the two uppermost layers is set to the melting temperature + 0.01 °C. The melted amount is removed from the ice/snow storage and added to the water storage. If surface temperature warms up on the next time step, the heat is again used for melting and temperature of the two uppermost layer is again set to the melting temperature +0.01 °C. This continues until the ice and snow storages are melted entirely. If the available energy is more than is needed to melt the whole ice or snow storage in one time step, the surface is not cooled to the melting temperature but remains warmer. The energy needed to melt the whole storage is calculated as

(48) Q all = L melt ρ w St x 1000 Δ t ,

where Stx is snow storage in water equivalent millimeters if there is snow on the road and ice storage if there is ice but not snow. The leftover energy can be calculated simply as the difference between Qmelt and Qall. The temperature for the uppermost layer is then calculated as

(49) T 1 = T melt + Q melt - Q all ( ρ c ) g z 2 - z 1 2 Δ t .

The temperature of the second layer is still set to Tmelt+0.01 °C.

The melting process is not entirely physically correct as the same energy is used to melt both snow and ice storages, and Qall includes only ice or snow storage, but the method can still be used to approximate the melting process.

Snow can also be transferred instantly to water if the water content is high enough compared to the snow content. The water-to-snow ratio is calculated as

(50) WS rat = St water , surf / ( St water , surf + St snow ) ,

where Stwater,surf (mm) is the part of water storage that is not located in the asphalt pores. If the water-to-snow ratio is larger than 0.6, snow is transferred to water instantly. Snow and water can also turn instantly to ice in the simulation if the snow is wet. When the water-to-snow ratio exceeds 0.1 and the surface temperature drops below the freezing limit, both water and snow storage are converted into ice storage.

4 Data

4.1 Forecast

Operational weather forecasts produced by Finnish Meteorological Institute (FMI) were used as input to the road weather model to generate road weather hindcasts. The operational weather forecast is generated by the Smartmet nowcast system (Ylhäisi et al.2017). It is a combination of a radar-based nowcast, a high-resolution NWP MetCoOp (Meteorological Cooperation on Operational NWP) nowcast, and an operational forecast edited by the on-duty meteorologist. The nowcast range (0–6 h) is updated once an hour, whereas the meteorologist-edited forecast is updated twice a day.

The radar-based nowcast is generated with the FMI Probabilistic Precipitation Nowcasting system (FMI-PPN, https://github.com/fmidev/fmippn-oper/, last access: 14 June 2024). It uses the pysteps ensemble prediction system (Pulkkinen et al.2019) to generate the ensemble forecast from radar data. The final precipitation nowcast is a weighted average of the ensemble members generated from perturbed radar data and the control forecast generated from non-perturbed data (Ylhäisi et al.2017). The MetCoOp nowcast model is based on the convection-permitting Applications of Research to Operations at Mesoscale (AROME) model (Seity et al.2011). Its horizontal resolution is 2.5 km, and it is run once an hour. The forecast length is 9 h. The meteorologists at FMI use the SmartMet workstation editing tool (https://github.com/fmidev/smartmet-workstation, last access: 14 June 2024) to edit the NWP forecast. The meteorologist can select the base forecast from several different options: ECMWF's high-resolution forecast, the MetCoOp Ensemble Prediction System's (MEPS) control member, and the National Centers for Environmental Prediction (NCEP) Global Forecast System (GFS) forecast. Optionally, they can use a mix of several forecasts. The FMI also has different options of post-processed data to use as a base forecast. One is based on model output statistics (MOS) (Ylhäisi et al.2017; Glahn and Lowry1972), and the other blends different models (Fritsch et al.2000; Woodcock and Engel2005). After selecting the base model or models, the meteorologist can edit the forecast based on their experience, for example, by making certain areas warmer or cooler. The horizontal resolution of the edited data is about 7.5 km, and the forecast length is 10 d.

The above-mentioned data sources are blended together to create a seamless forecast for 10 d, in which the first hours consist of nowcast data and the rest of the meteorologist-edited forecast. However, the hindcasts generated in this study used only the first 24 h of the forecast data. Because the data are in gridded format, the forecast data were interpolated to the road weather station points by using bilinear interpolation except for the precipitation phase, which was taken from the nearest point instead.

4.2 Road weather observations

Intelligent Traffic Management Finland maintains approximately 400 road weather stations in Finland (Fig. 2). Their data were used in the initialization of the road weather simulations and in the evaluation of the road surface temperature forecasts. The used variables measured by the stations were air temperature, relative humidity, wind speed, precipitation intensity, and road surface temperature. Road surface temperature is measured with either an asphalt-embedded Vaisala DRS511 or an optical Vaisala DST111 (Vaisala2021). Some road weather stations have multiple sensors, but only one sensor from each station was used. The observation frequency is usually about 5–10 min. The observations went through simple quality check routines before using them in the initialization and verification. First, air temperature, road surface temperature, dew point temperature, relative humidity, and wind speed values that remained constant for 10 or more consecutive observations were removed. Second, spikes were removed from the air temperature, road surface temperature, and dew point temperature observations by checking if the difference between two consecutive observations was more than 5 °C and whether there were two of those kinds of changes within four consecutive observations. Third, the values that were greater than 50 °C or lower than −50 °C were removed from the air temperature, road surface temperature, and dew point temperature observations. This might have caused the removal of some real data, but it is not expected to considerably affect the results. The road weather station observations and forecast data are available in the FMI research data repository METIS (Karsisto2023b).

https://gmd.copernicus.org/articles/17/4837/2024/gmd-17-4837-2024-f02

Figure 2Geographical locations of road weather stations in Finland operated by Intelligent Traffic Management Finland. Made with Natural Earth (https://www.naturalearthdata.com/, last access: 14 June 2024).

4.3 Simulation data structure

To evaluate the performance of the RoadSurf library, it was used to make simulations with historical data. These hindcasts were done for the time period from 1 October 2022 to 31 May 2023. The used program that implemented the RoadSurf functions and did the actual simulations can be found in the GitHub repository as “Example 2” in the examples folder (https://github.com/fmidev/RoadSurf/tree/master/examples/example2, last access: 14 June 2024). To get a good starting state for the ground temperature profile, the simulations done with the RoadSurf library were first run for 48 h with observation data. However, incoming long-wave and short-wave radiation were obtained from the latest available forecast during the initialization phase due to the lack of radiation observations. After the initialization, the simulation was run 24 h with forecast data. The hindcast starting times were 00:00, 06:00, 12:00, and 18:00 UTC (universal coordinated time) each day. The local time in Finland is UTC+2 h in winter and UTC+3 h when daylight saving time is in effect. For each hindcast, the latest operational forecast that would have been available at that time was selected as the forecast data. Due to technical issues forecasts were missing for the time period from 25 December, 02:00 UTC, to 26 December, 20:00 UTC. Hindcasts starting during that period were removed from the studied data.

https://gmd.copernicus.org/articles/17/4837/2024/gmd-17-4837-2024-f03

Figure 3An example hindcast made with the RoadSurf library. The forecast data start time was 29th December 2022, 00:00 UTC, and the simulation point was the road weather station in Porvoo (60.38° N, 25.59° E). Panel (a) shows simulated (blue line) and observed road surface temperature (T_surface) with two different sensors (red line and peach-colored line). Panel (b) shows the observed (dashed lines) and simulated (continuous lines) amount of water (blue line), snow (peach-colored line), and ice (light-blue line) on the road as water equivalent millimeters. RoadSurf also simulates black ice, which is shown by the red line.

Download

4.4 Example hindcast

Figure 3 shows an example hindcast done with the RoadSurf library. The road weather station had two surface temperature sensors. Sensor 2 gives somewhat colder measurements than sensor 1. The reason for this can be that sensor 2 is installed on a colder location on the road or that one of the sensors is calibrated incorrectly. The simulated surface temperature fits the observed ones quite well but is somewhat too warm at the end of the simulation. During daytime the surface temperature measured by sensor 1 is close to zero, whereas the simulated surface temperature is slightly colder. The observations show that there is water on the road, whereas in the simulation the road is icier. This turns around in the evening, when the simulated surface temperature rises above 0 °C but the measured surface temperature by sensor 1 drops below zero. According to the observations the road gets snowy and icy, but in the simulation the ice melts. This example shows that just a slight difference in predicted and observed surface temperature can lead to great differences in the predicted and observed road condition.

https://gmd.copernicus.org/articles/17/4837/2024/gmd-17-4837-2024-f04

Figure 4RMSE of the road surface temperature forecasts and of the dummy forecasts as a function of UTC time calculated over all road weather stations in Finland. Each panel shows results for 1 month from October 2022 to March 2023. The forecast start time was 00:00 UTC each day. Brown lines show the bias of the RoadSurf forecast, light-turquoise lines of the dummy forecast forecasting the same surface temperature as the day before at the same time, and the turquoise lines of the dummy forecast forecasting the same surface temperature as at the forecast start time.

Download

https://gmd.copernicus.org/articles/17/4837/2024/gmd-17-4837-2024-f05

Figure 5Same as Fig. 4 but for bias.

Download

https://gmd.copernicus.org/articles/17/4837/2024/gmd-17-4837-2024-f06

Figure 6RMSE of the road surface temperature forecasts as a function of forecast lead time calculated over all road weather stations in Finland. Each panel shows results for 1 month from October 2022 to March 2023. Brown lines show the bias of the RoadSurf forecast started at 00:00 UTC, light-brown lines of the forecasts started at 06:00 UTC, light-turquoise lines for the forecast started at 12:00 UTC, and turquoise lines for forecast started at 18:00 UTC.

Download

https://gmd.copernicus.org/articles/17/4837/2024/gmd-17-4837-2024-f07

Figure 7Same as Fig. 6 but for bias.

Download

5 RoadSurf evaluation

Simulations done with the RoadSurf library were evaluated against road surface temperature observations. Figures 4 and 5 show the root mean square error (RMSE) and bias (forecast  observation) for the 00:00 UTC started hindcasts for each month. These hindcasts are henceforth referred to as forecasts for simplicity. The figures also show results for two “dummy” forecasts as a reference. The first dummy forecast always forecasts the same surface temperature as observed on the previous day at the same time. From now on it will be referred to as SAY (same as yesterday). The second dummy forecast is a persistence forecast that always forecasts the same road surface temperature as the observation at the forecast start time. The RMSE of the RoadSurf forecast and the persistence forecast are quite similar in the first hours of the forecast. The persistence forecast gives slightly better results at first, but the error quickly increases to be much greater than for the RoadSurf forecast. The persistence forecast works better in wintertime than in autumn and spring because the daily surface temperature variation is smaller. The SAY forecast gives considerably greater RMSE error than the RoadSurf forecast for all months and lead times except during daytime in March, where they are quite similar. The RoadSurf library has difficulties forecasting maximum surface temperatures when the daily variation in surface temperature is large.

The bias of the RoadSurf forecast is generally quite small. From November to January the forecasts are a little too cold, but in October, February, and March there is some warm bias during daytime. The persistence forecast also has quite small bias during nighttime but has very negative values during daytime. The bias of the SAY forecast is also quite small. In October and in January it is generally a little positive, which indicates that there was a general decreasing trend in surface temperature during October and January.

As the daily surface temperature variation is quite large in autumn and spring, the forecasts with different starting times were evaluated separately. Figures 7 and 6 show the bias and RMSE for the forecasts started at 00:00, 06:00, 12:00, and 18:00 UTC. Similarly to 00:00 UTC started forecasts, the forecasts with other start times have RMSE maxima during daytime in October, February, and March. During those months the 12:00 UTC started forecast has a little higher RMSE at the forecast start time. This is because the forecast starts around the time of the daily surface temperature maximum. From November to January the RMSE values are rather similar, but there is some daily variation as well. The 00:00, 06:00, and 18:00 UTC forecasts seem to have smaller RMSE values when the actual forecast time is around 12:00 UTC. During those months, the daily temperature variation caused by solar radiation is rather small. However, there still is about 1.5 °C difference between minimum and maximum hourly mean temperatures calculated over the month. It seems that the simulation forecasts the slightly warmer daytime temperatures better.

All forecasts with different starting times have small positive bias in October. During November, December, and January the bias is mostly negative. In February, all forecasts with different start times have some positive bias during daytime. There is also some positive bias in March during daytime, but the bias seems to have a local minima around 12:00 UTC. During nighttime in March all forecast start times have negative bias.

The evaluation results were calculated over all road weather stations in Finland, but naturally the results vary from station to station. The evaluation focused only on road surface temperature because the amounts of water, ice, and snow measured by the road weather station are not considered reliable enough for proper evaluation. It should be noted that the simulations are very sensitive to the input data. If the atmospheric forecast given as input to the simulation is of poor quality, then probably so is the road weather forecast. In this evaluation, the atmospheric forecast data were from the FMI operational weather forecast, which is the best data FMI has to offer. The newest operational forecast is available as open data in the FMI open-data service (https://en.ilmatieteenlaitos.fi/open-data, last access: 14 June 2024).

6 Conclusions

RoadSurf is a Fortran library that contains functions for predicting winter road conditions. The functions of the library can be used to set up the road weather forecasting system. The most important predicted variable is road surface temperature, which is simulated by calculating surface heat balance and temperature transfer in the ground. The library is also able to forecast the amounts of water, ice, snow, and black ice on the road. Each of these has their own storage in the model, and they are increased and decreased through various processes, including precipitation, traffic wear, freezing, and melting. The requirements to use the library, as well as the main physics and evaluation against observations, have been presented in this paper. The evaluation showed that the RoadSurf library is well suited for predicting road surface temperature. The persistence forecast gives comparable results during the first forecast hours, but after 4–6 h the simulations done with RoadSurf perform clearly better. The evaluation results were better for months when there is less daily surface temperature variation, as forecasting daytime maximum surface temperatures is challenging when the daily surface temperature variation is great.

Forecasts created by RoadSurf can assist in keeping roads safe for drivers wherever wintry road conditions occur. The library allows flexible implementation. Each user can create their own program utilizing the library functions, or they can just implement a few functions in their own road weather model. RoadSurf allows users to create their own input and output handling functions, which makes it easier to implement the library in existing systems. It is advised to run the model with historical data before operational use and adjust the model parameters to fit into local conditions. The model results should also be evaluated regularly against observations. RoadSurf provides an alternative to a broadly used METRo road weather model, giving institutes and companies more options when creating and developing their forecasting systems. A version of the RoadSurf model in Python language is also under development. It will allow easier implementation for users not proficient in Fortran language. However, it still needs more validation and documentation before it can be published.

Appendix A

All notations used in Sect. 3 are explained in Tables A1A6 for easier reference.

Table A1Variables describing energy fluxes.

Download Print Version | Download XLSX

Table A2Variables describing physical properties of the ground, air, and local environment.

Download Print Version | Download XLSX

Table A3Variables describing the current state of the ground, surface, and atmosphere.

Download Print Version | Download XLSX

Table A4Physical constants.

Download Print Version | Download XLSX

Table A5Variables and parameters related to storage term calculation.

Download Print Version | Download XLSX

Table A6Variables related to time and space and miscellaneous variables.

Download Print Version | Download XLSX

Code and data availability

The RoadSurf code used in this study is available on Zenodo (https://doi.org/10.5281/zenodo.8246081Karsisto et al.2023) under the MIT license. The program used to run the simulation is located in the same archive under the examples folder as “Example2”. The newest version of the code is available in GitHub (https://github.com/fmidev/RoadSurf, last access: 14 June 2024). Road weather station observations, atmospheric forecast data, simulation results, and verification scores are available in the FMI data repository METIS (https://doi.org/10.57707/fmib2share.b88051bf2f9e4fb0b402a625 ac9155f0Karsisto2023b). Other data processing and plotting scripts are available on Zenodo (https://doi.org/10.5281/zenodo.8138113Karsisto2023a).

Competing interests

The author has declared that there are no competing interests.

Disclaimer

Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. While Copernicus Publications makes every effort to include appropriate place names, the final responsibility lies with the authors.

Acknowledgements

The support provided by the projects listed in the “Financial support” section is gratefully acknowledged. The colors for Figs. 47 were chosen with the help of colorbrewer2 (https://colorbrewer2.org, last access: 14 June 2014).

Financial support

This research has been supported by Business Finland (SafeTrucks project, 5G-Safe-Plus project) and the European Regional Development Fund, Interreg (Winter Premium project, Lapin 5G kiihdyttämö (Lapland's 5G accelerator) project).

Review statement

This paper was edited by Jinkyu Hong and reviewed by three anonymous referees.

References

Brutsaert, W.: Evaporation into the Atmosphere, D. Reidel Publishing Company, Dordrecht, the Netherlands, ISBN 978-90-277-1247-9, 1984. a, b

Calder, G.: Evaporation in the Uplands, John Wiley and Sons, ISBN 0471924873, 1990. a, b, c

Campbell, G.: Soil Physics with BASIC, Elsevier, ISBN 0-444-42557-8, 1985. a, b, c, d, e, f, g

Campbell, G.: An Introduction to Environmental Biophysics, Springer-Verlag, ISBN 0-387-90228-7, 1986. a, b, c

Crevier, L.-P. and Delage, Y.: METRo: A new model for road-condition forecasting in Canada, J. Appl. Meteorol. Climatol., 40, 2026–2037, https://doi.org/10.1175/1520-0450(2001)040<2026:MANMFR>2.0.CO;2, 2001. a, b

Fritsch, J., Hilliker, J., Ross, J., and Vislocky, R.: Model consensus, Weather Forecast., 15, 571–582, https://doi.org/10.1175/1520-0434(2000)015<0571:MC>2.0.CO;2, 2000. a

Garratt, J.: The atmospheric boundary layer, Cambridge University Press, ISBN 0-521-38052-9, 1992. a

Glahn, H. R. and Lowry, D. A.: The use of model output statistics (MOS) in objective weather forecasting, J. Appl. Meteorol. Climatol., 11, 1203–1211, https://doi.org/10.1175/1520-0450(1972)011<1203:TUOMOS>2.0.CO;2, 1972. a

Hippi, M., Kangas, M., Ruuhela, R., Ruotsalainen, J., and Hartonen, S.: RoadSurf-pedestrian: a sidewalk condition model to predict risk for wintertime slipping injuries, Meteorol. Appl., 27, e1955, https://doi.org/10.1002/met.1955, 2020. a, b

Juga, I., Nurmi, P., and Hippi, M.: Statistical modelling of wintertime road surface friction, Meteorol. Appl., 20, 318–329, https://doi.org/10.1002/met.1285, 2013. a

Kangas, M., Heikinheimo, M., and Hippi, M.: RoadSurf: a modelling system for predicting road weather and road surface conditions, Meteorol. Appl., 22, 544–553, https://doi.org/10.1002/met.1486, 2015. a, b, c, d

Karsisto, V.: Codes used in data processing in a study related to manuscript: RoadSurf 1.1: open-source road weather model library, Zenodo [code], https://doi.org/10.5281/zenodo.8138113, 2023a. a

Karsisto, V.: RoadSurf library evaluation study dataset, Finnish Meteorological Institute [data set], https://doi.org/10.57707/fmi-b2share.b88051bf2f9e4fb0b402a625ac9155f0, 2023b. a, b

Karsisto, V. and Horttanainen, M.: Sky View Factor and Screening Impacts on the Forecast Accuracy of Road Surface Temperatures in Finland, J. Appl. Meteorol. Climatol., 62, 121–138, https://doi.org/10.1175/JAMC-D-22-0026.1, 2023. a, b, c, d

Karsisto, V., Nurmi, P., Kangas, M., Hippi, M., Fortelius, C., Niemelä, S., and Järvinen, H.: Improving road weather model forecasts by adjusting the radiation input, Meteorol. Appl., 23, 503–513, https://doi.org/10.1002/met.1574, 2016. a, b, c

Karsisto, V., Tijm, S., and Nurmi, P.: Comparing the performance of two road weather models in the Netherlands, Weather Forecast., 32, 991–1006, https://doi.org/10.1175/WAF-D-16-0158.1, 2017. a, b, c

Karsisto, V., Kangas, M., Heiskanen, M., Hippi, M., Ruotsalainen, J., Heikinheimo, M., and Backman, L.: RoadSurf 1.1, Zenodo [code], https://doi.org/10.5281/zenodo.8246081, 2023. a, b

Koistinen, J. and Saltikoff, E.: Experience of customer products of accumulated snow, sleet and rain, in: COST75, Advanced weather radar systems, International seminar, 397–406, Locarno, 1999.  a

Meeus, J.: Astronomical algorithms, Richmond, ISBN 0943396352, 1991. a

Monteith, J. L. and Unsworth, M.: Principles of environmental physics: plants, animals, and the atmosphere, Academic press, 2013, ISBN 978-0-12-386910-4, 2013. a

Oke, T.: Boundary Layer Climates, Methuen, New York, ISBN 9780415043199, 1987. a

Patankar, S. V.: Numerical Heat Transfer and Fluid Flow, McGraw-Hill, ISBN 0-07-048740-5, 1980. a

Pulkkinen, S., Nerini, D., Pérez Hortal, A. A., Velasco-Forero, C., Seed, A., Germann, U., and Foresti, L.: Pysteps: an open-source Python library for probabilistic precipitation nowcasting (v1.0), Geosci. Model Dev., 12, 4185–4219, https://doi.org/10.5194/gmd-12-4185-2019, 2019. a

Rayer, P.: The Meteorological Office forecast road surface temperature model, The Meteorological Magazine, 116, 180–191, 1987. a

Seity, Y., Brousseau, P., Malardel, S., Hello, G., Bénard, P., Bouttier, F., Lac, C., and Masson, V.: The AROME-France Convective-Scale Operational Model, Mon. Weather Rev., 139, 976–991, https://doi.org/10.1175/2010MWR3425.1, 2011. a

Senkova, A., Rontu, L., and Savijärvi, H.: Parametrization of orographic effects on surface radiation in HIRLAM, Tellus A, 59, 279–291, https://doi.org/10.1111/j.1600-0870.2007.00235.x, 2007. a, b

Toivonen, E., Hippi, M., Korhonen, H., Laaksonen, A., Kangas, M., and Pietikäinen, J.-P.: The road weather model RoadSurf (v6.60b) driven by the regional climate model HCLIM38: evaluation over Finland, Geosci. Model Dev., 12, 3481–3501, https://doi.org/10.5194/gmd-12-3481-2019, 2019. a

Tourula, T. and Heikinheimo, M.: Modelling evapotranspiration from a barley field over the growing season, Agric. Forest Meteorol., 91, 237–250, 1998. a, b

Vaisala: RWS200 Product Catalog, Technical report, Vaisala, https://www.vaisala.com/sites/default/files/documents/RWS200-Product-Catalog-B211407EN.pdf (last access: 14 June 2024), 2021. a

Weast, R. C. (Ed.): CRC Handbook of Chemistry and Physics, CRC Press, ISBN 9780878194551, 1975. a

Woodcock, F. and Engel, C.: Operational consensus forecasts, Weather Forecast., 20, 101–111, https://doi.org/10.1175/WAF-831.1, 2005. a

Yang, C. H., Yun, D.-G., and Sung, J. G.: Validation of a road surface temperature prediction model using real-time weather forecasts, KSCE J. Civ. Eng., 16, 1289–1294, https://doi.org/10.1007/s12205-012-1649-7, 2012. a

Ylhäisi, J. S., Kilpinen, J., Laine, M., Hieta, L., Daniel, L., nd Mikko Aalto, M. P., and Rauhala, M.: Model output statistics (MOS) development at FMI, in: EMS Annual Meeting Abstracts, EMS2017–465, European Meteorological Society, 2017. a, b, c

Download
Short summary
RoadSurf is an open-source library that contains functions from the Finnish Meteorological Institute’s road weather model. The evaluation of the library shows that it is well suited for making road surface temperature forecasts. The evaluation was done by making forecasts for about 400 road weather stations in Finland with the library. Accurate forecasts help road authorities perform salting and plowing operations at the right time and keep roads safe for drivers.