current version 1.0 - 4th June 2021
version | date | comment |
---|---|---|
1.0 | 4/Jun/2021 | Original code |
license: GNU GPL http://www.gnu.org/licenses/
Module to manage wind speed data with arbitrary time cumulation
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(ObservationalNetwork), | public | :: | anemometersWS |
wind speed stations network |
|||
integer(kind=short), | public | :: | dtWindSpeed | = | 0 |
cumulation deltat |
|
type(grid_real), | public | :: | windSpeed |
[m/s] |
|||
real(kind=float), | private, | parameter | :: | MISSING_DEF_REAL | = | -9999.9 | |
type(ObservationalNetwork), | private | :: | anemometersWD |
wind direction stations network |
|||
real(kind=float), | private | :: | cellsizeInterpolation |
spatial resolution of interpolated grid |
|||
type(grid_real), | private | :: | curvature | ||||
integer(kind=short), | private | :: | dtGrid |
dt of imported field |
|||
integer(kind=short), | private | :: | elevationDrift |
1 = use elevation to modify interpolated data |
|||
integer(kind=short), | private | :: | export |
activates grid exporting |
|||
type(CRS), | private | :: | exportGridMapping | ||||
integer(kind=short), | private | :: | export_dt |
time between two exportations |
|||
integer(kind=short), | private | :: | export_epsg |
coordinate reference system of exported grid |
|||
character(len=1000), | private | :: | export_file |
name of exported grid |
|||
character(len=1000), | private | :: | export_file_var |
name of exported variance grid |
|||
integer(kind=short), | private | :: | export_format |
1 = esri_ascii, 2 = esri_binary, 3 = netcdf |
|||
character(len=1000), | private | :: | export_path |
folder where to put exported grids |
|||
type(DateTime), | private | :: | export_start |
time and date to start exporting |
|||
type(DateTime), | private | :: | export_stop |
time and date to stop exporting |
|||
type(grid_real), | private | :: | exportedGrid | ||||
type(grid_real), | private | :: | exportedGridVar | ||||
character(len=300), | private | :: | fileGrid |
file containing grids |
|||
integer(kind=short), | private | :: | fileunit |
unit of file containing data |
|||
integer(kind=short), | private | :: | fileunitWD |
unit of file containing wind direction data |
|||
type(grid_real), | private | :: | grid_devst |
standard deviation of kriging interpolation |
|||
integer(kind=short), | private | :: | i |
loop index |
|||
real(kind=float), | private | :: | idw_power |
power to be used with IDW |
|||
type(grid_real), | private | :: | interpolatedMap(5) |
1 = map for thiessen, 2 = map for idw, & |
|||
integer(kind=short), | private | :: | interpolationMethod |
method to spatial interpolate site data |
|||
integer(kind=short), | private | :: | interpolationMethod_assignment |
method to assign spatial interpolation ! 1 = one method for the entire domain, 2 = a map with interpolation method codes |
|||
type(grid_integer), | private | :: | interpolationMethod_map | ||||
integer(kind=short), | private | :: | interpolationMethod_vector(5) |
defines active interpolation methods |
|||
integer(kind=short), | private | :: | j |
loop index |
|||
integer(kind=short), | private | :: | krige_anisotropy |
considers anisotropy, default = 0 excludes anisotropy |
|||
integer(kind=short), | private | :: | krige_lags |
number of lags for semivariogram. if undefined or set to 0 default to 15 |
|||
real(kind=float), | private | :: | krige_maxlag |
maximum distance to be considered for semivariogram assessment. If undefined or set to 0, it is computed automatically |
|||
integer(kind=short), | private | :: | krige_var |
when set to 1 a grid of kriging variance is generated and exported if export option is active, default to 0 |
|||
integer(kind=short), | private | :: | krige_varmodel |
1 = spherical, 2 = exponential, 3 = gaussian, 0 = automatic fitting. default to 2 |
|||
real(kind=float), | private | :: | micrometCurvatureWT |
Micromet curvature weighting factor. default = 0.5 |
|||
logical, | private | :: | micrometInUse |
algorithm micromet in use for interpolation |
|||
real(kind=float), | private | :: | micrometLengthScale |
length scale used by micromet to compute curvature. default = 5000 m |
|||
real(kind=float), | private | :: | micrometSlopeWT |
Micromet slope weighting factor. default = 0.5 |
|||
logical, | private | :: | needConversion | ||||
integer(kind=short), | private | :: | neighbors |
number of closest data to use for interpolation |
|||
real(kind=float), | private | :: | offset_value |
offset to apply to final map |
|||
real(kind=float), | private | :: | scale_factor |
scale factor to apply to final map |
|||
type(grid_real), | private | :: | slope | ||||
type(grid_real), | private | :: | slope_az | ||||
type(DateTime), | private | :: | timeNew |
time when new data must be read |
|||
type(DateTime), | private | :: | timeNewExport |
time when new exporting must occur |
|||
integer(kind=short), | private | :: | timezone |
local timezone |
|||
real(kind=float), | private | :: | valid_prcn |
when data from several time steps are read, this is the minimum percentage (0-1) of valid data that must be prresent to consider valid the aggregated value. |
Initialize air temperature
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(IniList), | intent(in) | :: | ini | |||
type(grid_integer), | intent(in) | :: | mask |
defines interpolation extent |
||
integer(kind=short), | intent(in) | :: | dtMeteo |
deltat of meteo data reading |
||
type(DateTime), | intent(in) | :: | tstart |
initial time |
||
type(grid_real), | intent(in) | :: | dem |
digital elevation model to be used to modify interpolated data |
||
logical, | intent(in) | :: | dem_loaded |
true if dem has been loaded |
set properties and initialize variables for each interpolation method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=short), | intent(in) | :: | method | |||
type(IniList), | intent(in) | :: | ini | |||
type(grid_integer), | intent(in) | :: | mask |