A Sea-Breeze Parametrisation
This is the documentation of a parametrisation of sub-grid scale land-sea-breeze circulation systems. The here described method can be applied in numerical weather prediction and climate model to inform cumulus parametrisations about the presence of any sub-grid scale sea-breezes or just to calculated global climatologies of sea-breeze occurrences.
Background
The overall dependence of the formation of clouds and rainfall near coasts on large-scale weather patterns is weaker than over the open ocean or inland areas Bergemann and Jakob (2016). This is due to the fact that clouds and rainfall are often influenced by land-sea-breezes; local winds that blow on and off-shore along the coastline. As these breezes are not included in current weather and climate models rainfall near coasts is poorly simulated in these models. This Git Hub page presents an algorithm, or trigger, that is used as a parametrisation of land-sea-breezes. The presented code can be applied to inform a cumulus parametrisation scheme model to increase the occurrence of convective clouds when land-see-breezes are diagnosed to be important. A detailed scientific description of the algorithm can be found in Bergemann et al. (2017)
The Algorithm
To inform the global model about the presence of meso-scale systems a simple filter algorithm is applied. The filter is based on large-scale atmospheric conditions in a climate model (g) and considers six criteria (see also Fig.1):
- Change of large-scale wind direction Δα
- Change in large-scale wind speed |ΔV|
- Magnitude of large-scale wind |V|
- Temperature contrast between land and ocean |ΔT|
Filtering of Coastal Areas
The above described algorithm is only applied in coastal areas that are influenced by land-sea-breeze circulation systems. This radius of influence is typically in the order of ≅ 150km on- and offshore along the coastline. The coastline is calculated by applying a Sobel Operator (S) to the models land-area ( L ) and sea-ice fraction data ( I ). Sea-ice is taken into account to avoid the calculation of coastlines that are covered by sea-ice. The coastline can defined by:
Where denotes the convolution operator.
Steep Terrain
Coastal areas with steep mountain terrain can cause problems to the algorithm, especially on a coarse resolution (≥ 75km). In areas with steep topography, large standard deviation of the sub-grid scale orography field, a moist adiabatic decent to sea-level height (z0) is performed and the theoretical temperature at z0 is calculated. To keep the temperature field continuous the sub-grid orography field is filtered by a sigmoid function and a simple moist adiabatic decent is performed to the field:
Implementation
The parametrisation is implemented using the Fortran 90 standard. The source code file :
sea_breeze_diag.f90
which contains the module sea_breeze_diag_mod
this module has the following subroutines:
- seabreeze_diag:
- Contains the sea-breeze filtering process
- get_edges:
- Applies the Sobel operator to create a coast line
- get_dist:
- Calculates the Euclidian distance to the closest coastline point calculated by
get_edges
get_dist is only called byget_edges
.
- Calculates the Euclidian distance to the closest coastline point calculated by
All subroutines make use of information from neighbouring grid points. It is therefore important that an inter processor communication for boundary swapping (e.g swap_bounds in case of UM) is established before calling the subroutines.
If you are considering implementing this routine take a look at the about section to learn more on how to contribute and improve this project. You are encouraged to get in touch via Git Hub. Bugs should be reported either on the Git Hub issues pages or by sending an email to the author of this page.