El presente reporte hace uso de la librería OpenAir (Carslaw and Ropkins 2012).

Importación de datos

A continuación se importan los datos observados y modelados estructurados en una sola hoja de cálculo de Excel. Cabe indicar que previamente se realizó el cómputo de los promedios horarios de las variables observadas.

## Rows: 35,064
## Columns: 10
## $ anio   <int> 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 201…
## $ mes    <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ dia    <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ hora   <int> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1…
## $ T_obs  <dbl> 26.3, 25.6, 25.2, 25.3, 25.3, 25.0, 25.1, 25.0, 25.5, 26.2, 27.…
## $ wd_obs <dbl> 220, 230, 230, 260, 230, 230, 240, 240, 270, 240, 230, 220, 210…
## $ ws_obs <dbl> 5.14, 5.14, 4.12, 3.09, 2.57, 3.09, 3.09, 3.09, 3.09, 2.06, 2.5…
## $ T_mod  <dbl> 23.92, 23.76, 23.46, 23.52, 23.12, 22.54, 22.82, 23.05, 23.44, …
## $ wd_mod <int> 199, 193, 196, 183, 314, 252, 286, 105, 28, 45, 18, 27, 30, 33,…
## $ ws_mod <dbl> 3.42, 2.67, 2.15, 1.01, 0.60, 0.26, 0.51, 0.19, 0.82, 1.28, 1.8…

Creación de columna tipo Date

Gráficas resumen (Summary Plots)

Gráfica resumen datos observados

##   [1]  7.72  7.72  7.72  7.72  7.72  9.26  7.72  7.72  7.72  8.23  7.72  7.72
##  [13] 13.38  8.75  8.23  8.23  7.72  8.75  8.75  8.23  7.72  8.23  7.72  7.72
##  [25]  8.23  7.72  8.23  7.72  7.72  7.72  7.72  7.72  8.23  8.23  9.26  8.23
##  [37]  7.72  7.72  7.72  7.72  7.72  7.72  8.23  8.23  7.72  7.72  7.72  7.72
##  [49]  7.72  7.72  7.72  8.75  8.23  7.72  8.23  7.72  8.23  8.23  7.72  7.72
##  [61]  7.72  7.72  7.72  7.72  7.72  7.72  7.72  7.72  8.23  7.72  7.72  7.72
##  [73]  7.72  7.72  8.75  8.75  8.23  8.23  7.72  7.72  8.23  9.26  8.23  7.72
##  [85]  7.72  7.72  7.72  7.72  7.72  7.72  7.72  8.75  8.23  7.72  7.72  7.72
##  [97]  7.72  7.72  7.72  7.72  7.72  8.75  7.72  7.72  7.72  8.23  7.72  9.26
## [109]  7.72  7.72  8.23  7.72  8.23  8.23  7.72  7.72  7.72  7.72  7.72  8.23
## [121]  7.72  8.23  8.23  8.75  7.72  8.23  8.75  7.72  7.72  8.23  7.72  7.72
## [133]  7.72  7.72  8.23  7.72  7.72  7.72  8.23  8.23  7.72  7.72  7.72  7.72
## [145]  7.72  7.72  8.23  7.72  7.72  7.72  7.72  7.72  8.75  7.72  7.72  8.23
## [157]  7.72  7.72  7.72  8.23  7.72  7.72  7.72  7.72  7.72  8.23  8.23  8.23
## [169]  7.72  8.75  7.72  8.23  7.72  8.23  8.23  7.72  7.72  7.72  8.23  7.72
## [181]  7.72  8.23  7.72  7.72  7.72  7.72  8.23  8.75  8.23  7.72  8.23  7.72
## [193]  8.23  7.72  7.72  8.23  8.23  7.72  8.23  8.23  8.23  7.72  7.72  7.72
## [205]  7.72  7.72  8.23  8.75  7.72  8.23  7.72  7.72  8.23  8.23  7.72  7.72
## [217]  8.23  9.26  8.23  8.23  7.72  7.72  7.72  7.72  7.72  8.23  7.72  8.23
## [229]  8.75  7.72  9.26  7.72  7.72  7.72  7.72  7.72  7.72  8.75  7.72  7.72
## [241]  7.72  7.72  7.72  7.72  7.72  8.23  8.75  7.72  7.72  7.72  8.23  8.23
## [253]  7.72  7.72  7.72  7.72  7.72  7.72  7.72  8.75  7.72  7.72  7.72  8.23
## [265]  7.72  7.72  7.72  7.72  8.23  7.72  7.72  7.72  7.72  7.72  7.72  8.23
## [277]  7.72  7.72  7.72  7.72  7.72  7.72  7.72  8.23  7.72  7.72  8.23  8.23
## [289]  7.72  7.72  7.72  8.23  7.72  8.23  7.72  9.77  9.26  7.72  7.72  7.72
## [301]  7.72  7.72  8.75  8.23  7.72  7.72  7.72  7.72  8.75  8.23  8.23  9.26
## [313]  8.23  8.23  7.72  7.72  9.26  8.23  7.72  7.72  8.23  7.72  7.72  7.72
## [325]  7.72  7.72  7.72  8.23  7.72  8.23  7.72  8.23

Gráficas resumen datos observados por año

Gráfica resumen datos modelados

Gráficas resumen datos modelados por año

Distribución de datos observados vs. modelados (histogramas)

Época lluviosa

Época seca

Gráfico calendario

Temperatura observada

Cálculos considerando media.

Viento

Distribución de datos observados vs. modelados (histogramas)

Época lluviosa

Época seca

Rosa de los Vientos

Datos observados

Se calcula la rosa de los vientos por año.

Época lluviosa

Época seca

Datos modelados

Época lluviosa

Época seca

Cálculo de estadísticas de ajuste

Variable Temperatura

## # A tibble: 1 × 12
##   default      n  FAC2      MB   MGE      NMB   NMGE  RMSE     r     P   COE
##   <fct>    <int> <dbl>   <dbl> <dbl>    <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 all data 35064     1 -0.0889  1.36 -0.00339 0.0519  1.73 0.832     0 0.424
## # ℹ 1 more variable: IOA <dbl>
MB MGE RMSE r COE
-0.0888587 1.360891 1.732451 0.8322945 0.4238666
Por años
## # A tibble: 4 × 12
##   year      n  FAC2      MB   MGE      NMB   NMGE  RMSE     r     P   COE   IOA
##   <fct> <int> <dbl>   <dbl> <dbl>    <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2015   8760     1 -0.378   1.35 -0.0141  0.0504  1.71 0.824     0 0.385 0.692
## 2 2016   8784     1 -0.253   1.28 -0.00953 0.0484  1.62 0.860     0 0.469 0.735
## 3 2017   8760     1 -0.0615  1.37 -0.00237 0.0528  1.74 0.823     0 0.402 0.701
## 4 2018   8760     1  0.337   1.44  0.0132  0.0563  1.86 0.828     0 0.408 0.704
year MB MGE RMSE r COE
2015 -0.3780879 1.354860 1.705235 0.8242616 0.3848179
2016 -0.2525512 1.281502 1.617104 0.8596207 0.4691749
2017 -0.0614589 1.370888 1.741495 0.8232933 0.4023972
2018 0.3371119 1.436532 1.857674 0.8276776 0.4081535
Por épocas
## # A tibble: 1 × 12
##   default      n  FAC2     MB   MGE     NMB   NMGE  RMSE     r     P   COE   IOA
##   <fct>    <int> <dbl>  <dbl> <dbl>   <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 all data 11544     1 -0.969  1.52 -0.0355 0.0556  1.85 0.802     0 0.252 0.626
MB MGE RMSE r COE
-0.9691329 1.517128 1.853946 0.802301 0.25206
## # A tibble: 1 × 12
##   default      n  FAC2    MB   MGE    NMB   NMGE  RMSE     r     P   COE   IOA
##   <fct>    <int> <dbl> <dbl> <dbl>  <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 all data 23520     1 0.343  1.28 0.0134 0.0500  1.67 0.868     0 0.475 0.737
MB MGE RMSE r COE
0.3431943 1.284207 1.669589 0.8677381 0.4749781
Por años-épocas
## # A tibble: 4 × 12
##   year      n  FAC2     MB   MGE     NMB   NMGE  RMSE     r     P   COE   IOA
##   <fct> <int> <dbl>  <dbl> <dbl>   <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2015   2880     1 -1.16   1.61 -0.0425 0.0587  1.93 0.816     0 0.216 0.608
## 2 2016   2904     1 -0.778  1.43 -0.0283 0.0518  1.75 0.783     0 0.229 0.614
## 3 2017   2880     1 -1.08   1.58 -0.0396 0.0579  1.93 0.772     0 0.183 0.591
## 4 2018   2880     1 -0.857  1.46 -0.0318 0.0541  1.79 0.830     0 0.359 0.679
year MB MGE RMSE r COE
2015 -1.1637569 1.608819 1.932059 0.8164163 0.2160505
2016 -0.7783953 1.425517 1.751158 0.7833214 0.2285100
2017 -1.0792257 1.578566 1.934927 0.7721052 0.1829421
2018 -0.8567431 1.456375 1.791144 0.8303856 0.3589090
## # A tibble: 4 × 12
##   year      n  FAC2      MB   MGE      NMB   NMGE  RMSE     r     P   COE   IOA
##   <fct> <int> <dbl>   <dbl> <dbl>    <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2015   5880     1 0.00673  1.23 0.000252 0.0462  1.58 0.853     0 0.455 0.728
## 2 2016   5880     1 0.00715  1.21 0.000275 0.0466  1.55 0.885     0 0.540 0.770
## 3 2017   5880     1 0.437    1.27 0.0172   0.0501  1.64 0.876     0 0.459 0.729
## 4 2018   5880     1 0.922    1.43 0.0371   0.0574  1.89 0.880     0 0.393 0.697
year MB MGE RMSE r COE
2015 0.0067296 1.230471 1.582319 0.8534161 0.4551721
2016 0.0071514 1.210376 1.546617 0.8852380 0.5396893
2017 0.4370391 1.269168 1.638441 0.8759938 0.4588580
2018 0.9218571 1.426813 1.889406 0.8803029 0.3933426
Por mes
## # A tibble: 12 × 12
##    month     n  FAC2      MB   MGE      NMB   NMGE  RMSE     r     P   COE   IOA
##    <ord> <int> <dbl>   <dbl> <dbl>    <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1 Janu…  2976     1 -0.811   1.43 -2.99e-2 0.0528  1.77 0.821     0 0.330 0.665
##  2 Febr…  2712     1 -0.856   1.51 -3.17e-2 0.0561  1.87 0.743     0 0.197 0.599
##  3 March  2976     1 -1.04    1.55 -3.79e-2 0.0566  1.88 0.797     0 0.193 0.596
##  4 April  2880     1 -1.17    1.57 -4.24e-2 0.0571  1.90 0.837     0 0.257 0.628
##  5 May    2976     1 -0.679   1.29 -2.50e-2 0.0474  1.58 0.861     0 0.400 0.700
##  6 June   2880     1 -0.0207  1.19 -8.01e-4 0.0462  1.54 0.858     0 0.457 0.728
##  7 July   2976     1  0.486   1.30  1.94e-2 0.0520  1.72 0.859     0 0.421 0.711
##  8 Augu…  2976     1  0.719   1.30  2.91e-2 0.0526  1.70 0.905     0 0.470 0.735
##  9 Sept…  2880     1  0.630   1.24  2.49e-2 0.0491  1.63 0.911     0 0.508 0.754
## 10 Octo…  2976     1  0.995   1.38  3.98e-2 0.0550  1.87 0.900     0 0.427 0.714
## 11 Nove…  2880     1  0.851   1.35  3.34e-2 0.0529  1.74 0.902     0 0.461 0.730
## 12 Dece…  2976     1 -0.221   1.22 -8.17e-3 0.0452  1.55 0.853     0 0.491 0.745
month MB MGE RMSE r COE
January -0.8109476 1.432997 1.770819 0.8206053 0.3300924
February -0.8560841 1.514897 1.872815 0.7433966 0.1972114
March -1.0370195 1.547819 1.875403 0.7971277 0.1926499
April -1.1688958 1.574451 1.897252 0.8371236 0.2568749
May -0.6793112 1.287577 1.584686 0.8611239 0.4001597
June -0.0207187 1.194816 1.536574 0.8577915 0.4566285
July 0.4856082 1.299351 1.715950 0.8587500 0.4213441
August 0.7188911 1.301304 1.695289 0.9053238 0.4698704
September 0.6298681 1.242826 1.629435 0.9111665 0.5080563
October 0.9954368 1.376371 1.869890 0.9003974 0.4272805
November 0.8506910 1.345892 1.741884 0.9018363 0.4609103
December -0.2210316 1.223290 1.553593 0.8532043 0.4905035
Gráfica

Variable Velocidad del Viento

## # A tibble: 1 × 12
##   default      n  FAC2     MB   MGE    NMB  NMGE  RMSE     r     P    COE   IOA
##   <fct>    <int> <dbl>  <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>
## 1 all data 35064 0.614 -0.896  1.61 -0.265 0.478  1.99 0.401     0 -0.262 0.369
MB MGE RMSE r COE
-0.8955923 1.614137 1.989791 0.4008634 -0.2616666
Por años
## # A tibble: 4 × 12
##   year      n  FAC2     MB   MGE    NMB  NMGE  RMSE     r         P    COE   IOA
##   <fct> <int> <dbl>  <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl>     <dbl>  <dbl> <dbl>
## 1 2015   8760 0.613 -0.823  1.53 -0.260 0.484  1.91 0.374 1.47e-289 -0.195 0.403
## 2 2016   8784 0.607 -0.945  1.63 -0.281 0.484  2.01 0.393 1.98e-322 -0.286 0.357
## 3 2017   8760 0.629 -0.848  1.60 -0.250 0.471  1.97 0.422 0         -0.238 0.381
## 4 2018   8760 0.607 -0.966  1.70 -0.270 0.476  2.07 0.402 0         -0.378 0.311
year MB MGE RMSE r COE
2015 -0.8228082 1.529808 1.908364 0.3743832 -0.1947044
2016 -0.9451082 1.625780 2.006626 0.3930714 -0.2858153
2017 -0.8483265 1.596747 1.973929 0.4222001 -0.2377530
2018 -0.9659909 1.704183 2.066906 0.4017199 -0.3783189
Por épocas
## # A tibble: 1 × 12
##   default      n  FAC2     MB   MGE    NMB  NMGE  RMSE     r         P    COE
##   <fct>    <int> <dbl>  <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl>     <dbl>  <dbl>
## 1 all data 11544 0.629 -0.466  1.28 -0.183 0.501  1.62 0.228 1.54e-135 -0.328
## # ℹ 1 more variable: IOA <dbl>
MB MGE RMSE r COE
-0.4664198 1.27874 1.617938 0.2276089 -0.3276006
## # A tibble: 1 × 12
##   default      n  FAC2    MB   MGE    NMB  NMGE  RMSE     r     P    COE   IOA
##   <fct>    <int> <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>
## 1 all data 23520 0.607 -1.11  1.78 -0.293 0.471  2.15 0.410     0 -0.389 0.306
MB MGE RMSE r COE
-1.106237 1.778756 2.148889 0.410167 -0.388928
Por años-épocas
## # A tibble: 4 × 12
##   year      n  FAC2     MB   MGE     NMB  NMGE  RMSE     r        P    COE   IOA
##   <fct> <int> <dbl>  <dbl> <dbl>   <dbl> <dbl> <dbl> <dbl>    <dbl>  <dbl> <dbl>
## 1 2015   2880 0.626 -0.124  1.21 -0.0557 0.544  1.55 0.213 8.93e-31 -0.263 0.369
## 2 2016   2904 0.632 -0.517  1.26 -0.201  0.490  1.59 0.195 2.80e-26 -0.396 0.302
## 3 2017   2880 0.638 -0.486  1.28 -0.188  0.496  1.63 0.247 2.62e-41 -0.339 0.331
## 4 2018   2880 0.620 -0.738  1.36 -0.261  0.481  1.70 0.269 7.84e-49 -0.368 0.316
MB MGE RMSE r COE
-0.4664198 1.27874 1.617938 0.2276089 -0.3276006
## # A tibble: 4 × 12
##   year      n  FAC2    MB   MGE    NMB  NMGE  RMSE     r         P    COE   IOA
##   <fct> <int> <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl>     <dbl>  <dbl> <dbl>
## 1 2015   5880 0.607 -1.16  1.68 -0.322 0.466  2.06 0.410 6.91e-237 -0.362 0.319
## 2 2016   5880 0.595 -1.16  1.81 -0.308 0.481  2.18 0.408 6.80e-235 -0.385 0.307
## 3 2017   5880 0.624 -1.03  1.75 -0.271 0.463  2.12 0.427 1.61e-259 -0.344 0.328
## 4 2018   5880 0.601 -1.08  1.87 -0.273 0.474  2.23 0.385 7.21e-207 -0.499 0.250
MB MGE RMSE r COE
-1.106237 1.778756 2.148889 0.410167 -0.388928
Por mes
## # A tibble: 12 × 12
##    month         n  FAC2     MB   MGE    NMB  NMGE  RMSE     r         P    COE
##    <ord>     <int> <dbl>  <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl>     <dbl>  <dbl>
##  1 January    2976 0.644 -0.621  1.34 -0.218 0.473  1.69 0.290 1.10e- 58 -0.286
##  2 February   2712 0.631 -0.314  1.21 -0.132 0.509  1.54 0.226 8.29e- 33 -0.324
##  3 March      2976 0.612 -0.329  1.26 -0.140 0.538  1.61 0.141 8.88e- 15 -0.344
##  4 April      2880 0.629 -0.592  1.29 -0.225 0.491  1.62 0.219 1.23e- 32 -0.340
##  5 May        2976 0.608 -0.874  1.44 -0.299 0.492  1.80 0.249 2.06e- 43 -0.323
##  6 June       2880 0.578 -1.14   1.67 -0.335 0.490  2.03 0.287 1.36e- 55 -0.452
##  7 July       2976 0.579 -1.24   1.82 -0.329 0.485  2.19 0.313 1.63e- 68 -0.510
##  8 August     2976 0.539 -1.34   2.08 -0.325 0.504  2.43 0.325 2.89e- 74 -0.707
##  9 September  2880 0.590 -1.24   2.03 -0.294 0.483  2.37 0.401 9.10e-112 -0.542
## 10 October    2976 0.636 -1.03   1.87 -0.250 0.455  2.24 0.437 3.35e-139 -0.446
## 11 November   2880 0.650 -0.999  1.78 -0.244 0.435  2.14 0.480 5.50e-166 -0.398
## 12 December   2976 0.673 -0.992  1.53 -0.277 0.428  1.91 0.469 1.42e-162 -0.193
## # ℹ 1 more variable: IOA <dbl>
month MB MGE RMSE r COE
January -0.6211761 1.344919 1.691322 0.2898281 -0.2857600
February -0.3137205 1.213824 1.539537 0.2262060 -0.3244274
March -0.3292876 1.261989 1.613601 0.1414887 -0.3436874
April -0.5920000 1.288792 1.616903 0.2190762 -0.3399308
May -0.8737802 1.437913 1.797172 0.2493449 -0.3234567
June -1.1435903 1.671736 2.034385 0.2866360 -0.4516128
July -1.2357224 1.818088 2.194771 0.3127118 -0.5096627
August -1.3433501 2.084029 2.434145 0.3252159 -0.7072299
September -1.2375347 2.034965 2.372571 0.4010855 -0.5420134
October -1.0263642 1.873528 2.238681 0.4372054 -0.4456167
November -0.9991007 1.779698 2.138659 0.4801098 -0.3982554
December -0.9924395 1.534933 1.905852 0.4688950 -0.1926555
Gráfica
Gráfica por hora y mes

Variable Dirección del Viento

## # A tibble: 1 × 12
##   default      n  FAC2    MB   MGE     NMB  NMGE  RMSE     r     P    COE   IOA
##   <fct>    <int> <dbl> <dbl> <dbl>   <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>
## 1 all data 34869 0.717  1.52  71.4 0.00814 0.382  103. 0.274     0 -0.273 0.364

Por años

## # A tibble: 4 × 12
##   year      n  FAC2    MB   MGE     NMB  NMGE  RMSE     r         P    COE   IOA
##   <fct> <int> <dbl> <dbl> <dbl>   <dbl> <dbl> <dbl> <dbl>     <dbl>  <dbl> <dbl>
## 1 2015   8678 0.688 -3.65  75.7 -0.0196 0.408 107.  0.274 5.97e-149 -0.278 0.361
## 2 2016   8741 0.707  4.32  72.5  0.0236 0.395 103.  0.303 1.61e-184 -0.266 0.367
## 3 2017   8716 0.722  2.59  71.5  0.0138 0.381 104.  0.265 3.39e-140 -0.261 0.369
## 4 2018   8734 0.752  2.80  65.8  0.0146 0.344  96.1 0.246 5.35e-121 -0.295 0.353

Por épocas

## # A tibble: 1 × 12
##   default     n  FAC2    MB   MGE    NMB  NMGE  RMSE     r        P    COE   IOA
##   <fct>   <int> <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl>    <dbl>  <dbl> <dbl>
## 1 all da… 11380 0.578  4.07  101. 0.0238 0.590  134. 0.181 5.56e-84 -0.245 0.378
## # A tibble: 1 × 12
##   default      n  FAC2    MB   MGE     NMB  NMGE  RMSE     r     P    COE   IOA
##   <fct>    <int> <dbl> <dbl> <dbl>   <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>
## 1 all data 23489 0.785 0.288  57.1 0.00148 0.293  83.7 0.357     0 -0.373 0.313

Los estadísticos calculados son:

  • n, el número de pares de datos comparados.

  • FAC2, la fracción de las predicciones con un factor de 2.

  • MB, el sesgo medio.

  • MGE, el residual medio bruto.

  • NMB, el sesgo medio normalizado.

  • NMGE, el residual medio bruto normalizado.

  • RMSE, la raíz del error medio cuadrático.

  • r, el coeficiente de correlación de Pearson o de Spearman.

  • COE, el coficiente de eficiencia.

  • IOA, el índice de acuerdo.

Gráfica o serie temporal

Variable Temperatura

Por años

Por épocas

Variable Velocidad del Viento

Por años

Por épocas

Variable Dirección del Viento

Por años

Por épocas

Gráficos de dispersión (scatter plot)

Recordemos que automáticamente, las funciones de la librería Openair excluyen los registros con valores NA.

Temperatura

Velocidad del Viento

Gráfico Quantil-Quantil

Temperatura

Velocidad del viento

Gráfico de tendencia

Datos observados

Velocidad del viento

Por defecto presenta las unidades de hora y mes, con promedio.

Con variación en unidades temporales de ejes.

Gráfico de correlación

Diagrama de Taylor

Temperatura

Velocidad del tiempo

Referencias bibliográficas

Carslaw, David C, and Karl Ropkins. 2012. “Openair—an r Package for Air Quality Data Analysis.” Environmental Modelling & Software 27: 52–61.