source: palm/trunk/SOURCE/biometeorology_utci_mod.f90 @ 3448

Last change on this file since 3448 was 3448, checked in by kanani, 5 years ago

Implementation of human thermal indices (from branch biomet_p2 at r3444)

  • Property svn:executable set to *
File size: 21.1 KB
Line 
1!> @file biometeorology_utci_mod.f90
2!------------------------------------------------------------------------------!
3! This file is part of PALM-4U.
4!
5! PALM-4U is free software: you can redistribute it and/or modify it under the
6! terms of the GNU General Public License as published by the Free Software
7! Foundation, either version 3 of the License, or (at your option) any later
8! version.
9!
10! PALM-4U is distributed in the hope that it will be useful, but WITHOUT ANY
11! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13!
14! You should have received a copy of the GNU General Public License along with
15! PALM. If not, see <http://www.gnu.org/licenses/>.
16!
17! Copyright 2018, Deutscher Wetterdienst (DWD) /
18! German Meteorological Service (DWD)
19!
20! UTCI regression equation after
21! Bröde P, Fiala D, Blazejczyk K, Holmér I, Jendritzky G, Kampmann B, Tinz B,
22! Havenith G (2012) Deriving the operational procedure for the Universal Thermal
23! Climate Index (UTCI). International Journal of Biometeorology 56 (3):481-494.
24! doi:10.1007/s00484-011-0454-1
25!
26! original regression source available at
27! www.utci.org
28!------------------------------------------------------------------------------!
29 MODULE biometeorology_utci_mod
30
31!-- Load required variables from existing modules
32    USE kinds
33
34    IMPLICIT NONE
35
36    PRIVATE
37
38!-- Add INTERFACES that must be available to other modules (alphabetical order)
39    PUBLIC calculate_utci_static
40
41
42    INTERFACE calculate_utci_static
43       MODULE PROCEDURE calculate_utci_static
44    END INTERFACE calculate_utci_static
45
46
47 CONTAINS
48
49!------------------------------------------------------------------------------!
50! Description:
51! ------------
52!> SUBROUTINE for calculating UTCI Temperature (UTCI)
53!> computed by a 6th order approximation
54!------------------------------------------------------------------------------!
55 SUBROUTINE calculate_utci_static( ta_in, ehpa, v_hag, tmrt, hag, utci )
56
57    IMPLICIT NONE
58!-- Type of input of the argument list
59    REAL(WP), INTENT ( IN )  ::  ta_in  !< Local air temperature (°C)
60    REAL(WP), INTENT ( IN )  ::  ehpa   !< Loacl vapour pressure (hPa)
61    REAL(WP), INTENT ( IN )  ::  v_hag  !< Incident wind speed (m/s)
62    REAL(WP), INTENT ( IN )  ::  tmrt   !< Local mean radiant temperature (°C)
63    REAL(WP), INTENT ( IN )  ::  hag    !< Height of wind speed input (m)
64!-- Type of output of the argument list
65    REAL(wp), INTENT ( OUT ) ::  utci   !< Universal Thermal Climate Index (°C)
66
67!-- Make sure precission is sufficient for regression equation
68    DOUBLE PRECISION ::  ta
69    DOUBLE PRECISION ::  pa
70    DOUBLE PRECISION ::  d_tmrt
71    DOUBLE PRECISION ::  va
72    DOUBLE PRECISION ::  utci_d
73    DOUBLE PRECISION ::  offset
74
75!-- Initialize
76    offset = 0.d0
77    ta = DBLE( ta_in )
78    d_tmrt = DBLE( tmrt - ta_in )
79
80!-- Use vapour pressure in kpa
81    pa = DBLE( ehpa / 10.0_wp )
82
83!-- Wind altitude correction from hag to 10m after Broede et al. (2012), eq.3
84!   z(0) is set to 0.01 according to UTCI definition
85    va = DBLE( v_hag *  log ( 10.0_wp / 0.01_wp ) / log ( hag / 0.01_wp ) )
86
87!-- Check if input values in range after Broede et al. (2012)
88    IF ( ( d_tmrt > 70.d0 ) .OR. ( d_tmrt < -30.d0 ) .OR.                      &
89       ( ehpa .GE. 50._wp ) ) THEN
90       utci = -999.0_wp
91       RETURN
92    ENDIF
93
94!-- Apply eq. 2 in Broede et al. (2012) for ta out of bounds
95    IF ( ta > 50.d0 ) THEN
96       offset = ta - 50.d0
97       ta = 50.d0
98    ENDIF
99    IF ( ta < -50.d0 ) THEN
100       offset = ta + 50.d0
101       ta = -50.d0
102    ENDIF
103
104!-- For routine application. For wind speeds and relative
105!   humidity values below 0.5 m/s or 5%, respectively, the
106!   user is advised to use the lower bounds for the calculations.
107    IF ( va < 0.5d0 ) va  = 0.5d0
108    IF ( va > 17.0d0 ) va = 17.0d0
109
110!-- Calculate 6th order polynomial as approximation
111    utci_d = ta +                                                              &
112       ( 6.07562052D-01 )   +                                                  &
113       ( -2.27712343D-02 ) * ta +                                              &
114       ( 8.06470249D-04 )  * ta * ta +                                         &
115       ( -1.54271372D-04 ) * ta * ta * ta +                                    &
116       ( -3.24651735D-06 ) * ta * ta * ta * ta +                               &
117       ( 7.32602852D-08 )  * ta * ta * ta * ta * ta +                          &
118       ( 1.35959073D-09 )  * ta * ta * ta * ta * ta * ta +                     &
119       ( -2.25836520D+00 ) * va +                                              &
120       ( 8.80326035D-02 )  * ta * va +                                         &
121       ( 2.16844454D-03 )  * ta * ta * va +                                    &
122       ( -1.53347087D-05 ) * ta * ta * ta * va +                               &
123       ( -5.72983704D-07 ) * ta * ta * ta * ta * va +                          &
124       ( -2.55090145D-09 ) * ta * ta * ta * ta * ta * va +                     &
125       ( -7.51269505D-01 ) * va * va +                                         &
126       ( -4.08350271D-03 ) * ta * va * va +                                    &
127       ( -5.21670675D-05 ) * ta * ta * va * va +                               &
128       ( 1.94544667D-06 )  * ta * ta * ta * va * va +                          &
129       ( 1.14099531D-08 )  * ta * ta * ta * ta * va * va +                     &
130       ( 1.58137256D-01 )  * va * va * va +                                    &
131       ( -6.57263143D-05 ) * ta * va * va * va +                               &
132       ( 2.22697524D-07 )  * ta * ta * va * va * va +                          &
133       ( -4.16117031D-08 ) * ta * ta * ta * va * va * va +                     &
134       ( -1.27762753D-02 ) * va * va * va * va +                               &
135       ( 9.66891875D-06 )  * ta * va * va * va * va +                          &
136       ( 2.52785852D-09 )  * ta * ta * va * va * va * va +                     &
137       ( 4.56306672D-04 )  * va * va * va * va * va +                          &
138       ( -1.74202546D-07 ) * ta * va * va * va * va * va +                     &
139       ( -5.91491269D-06 ) * va * va * va * va * va * va +                     &
140       ( 3.98374029D-01 )  * d_tmrt +                                          &
141       ( 1.83945314D-04 )  * ta * d_tmrt +                                     &
142       ( -1.73754510D-04 ) * ta * ta * d_tmrt +                                &
143       ( -7.60781159D-07 ) * ta * ta * ta * d_tmrt +                           &
144       ( 3.77830287D-08 )  * ta * ta * ta * ta * d_tmrt +                      &
145       ( 5.43079673D-10 )  * ta * ta * ta * ta * ta * d_tmrt +                 &
146       ( -2.00518269D-02 ) * va * d_tmrt +                                     &
147       ( 8.92859837D-04 )  * ta * va * d_tmrt +                                &
148       ( 3.45433048D-06 )  * ta * ta * va * d_tmrt +                           &
149       ( -3.77925774D-07 ) * ta * ta * ta * va * d_tmrt +                      &
150       ( -1.69699377D-09 ) * ta * ta * ta * ta * va * d_tmrt +                 &
151       ( 1.69992415D-04 )  * va * va * d_tmrt +                                &
152       ( -4.99204314D-05 ) * ta * va * va * d_tmrt +                           &
153       ( 2.47417178D-07 )  * ta * ta * va * va * d_tmrt +                      &
154       ( 1.07596466D-08 )  * ta * ta * ta * va * va * d_tmrt +                 &
155       ( 8.49242932D-05 )  * va * va * va * d_tmrt +                           &
156       ( 1.35191328D-06 )  * ta * va * va * va * d_tmrt +                      &
157       ( -6.21531254D-09 ) * ta * ta * va * va * va * d_tmrt +                 &
158       ( -4.99410301D-06 ) * va * va * va * va * d_tmrt +                      &
159       ( -1.89489258D-08 ) * ta * va * va * va * va * d_tmrt +                 &
160       ( 8.15300114D-08 )  * va * va * va * va * va * d_tmrt +                 &
161       ( 7.55043090D-04 )  * d_tmrt * d_tmrt +                                 &
162       ( -5.65095215D-05 ) * ta * d_tmrt * d_tmrt +                            &
163       ( -4.52166564D-07 ) * ta * ta * d_tmrt * d_tmrt +                       &
164       ( 2.46688878D-08 )  * ta * ta * ta * d_tmrt * d_tmrt +                  &
165       ( 2.42674348D-10 )  * ta * ta * ta * ta * d_tmrt * d_tmrt +             &
166       ( 1.54547250D-04 )  * va * d_tmrt * d_tmrt +                            &
167       ( 5.24110970D-06 )  * ta * va * d_tmrt * d_tmrt +                       &
168       ( -8.75874982D-08 ) * ta * ta * va * d_tmrt * d_tmrt +                  &
169       ( -1.50743064D-09 ) * ta * ta * ta * va * d_tmrt * d_tmrt +             &
170       ( -1.56236307D-05 ) * va * va * d_tmrt * d_tmrt +                       &
171       ( -1.33895614D-07 ) * ta * va * va * d_tmrt * d_tmrt +                  &
172       ( 2.49709824D-09 )  * ta * ta * va * va * d_tmrt * d_tmrt +             &
173       ( 6.51711721D-07 )  * va * va * va * d_tmrt * d_tmrt +                  &
174       ( 1.94960053D-09 )  * ta * va * va * va * d_tmrt * d_tmrt +             &
175       ( -1.00361113D-08 ) * va * va * va * va * d_tmrt * d_tmrt +             &
176       ( -1.21206673D-05 ) * d_tmrt * d_tmrt * d_tmrt +                        &
177       ( -2.18203660D-07 ) * ta * d_tmrt * d_tmrt * d_tmrt +                   &
178       ( 7.51269482D-09 )  * ta * ta * d_tmrt * d_tmrt * d_tmrt +              &
179       ( 9.79063848D-11 )  * ta * ta * ta * d_tmrt * d_tmrt * d_tmrt +         &
180       ( 1.25006734D-06 )  * va * d_tmrt * d_tmrt * d_tmrt +                   &
181       ( -1.81584736D-09 ) * ta * va * d_tmrt * d_tmrt * d_tmrt +              &
182       ( -3.52197671D-10 ) * ta * ta * va * d_tmrt * d_tmrt * d_tmrt +         &
183       ( -3.36514630D-08 ) * va * va * d_tmrt * d_tmrt * d_tmrt +              &
184       ( 1.35908359D-10 )  * ta * va * va * d_tmrt * d_tmrt * d_tmrt +         &
185       ( 4.17032620D-10 )  * va * va * va * d_tmrt * d_tmrt * d_tmrt +         &
186       ( -1.30369025D-09 ) * d_tmrt * d_tmrt * d_tmrt * d_tmrt +               &
187       ( 4.13908461D-10 )  * ta * d_tmrt * d_tmrt * d_tmrt * d_tmrt +          &
188       ( 9.22652254D-12 )  * ta * ta * d_tmrt * d_tmrt * d_tmrt * d_tmrt +     &
189       ( -5.08220384D-09 ) * va * d_tmrt * d_tmrt * d_tmrt * d_tmrt +          &
190       ( -2.24730961D-11 ) * ta * va * d_tmrt * d_tmrt * d_tmrt * d_tmrt +     &
191       ( 1.17139133D-10 )  * va * va * d_tmrt * d_tmrt * d_tmrt * d_tmrt +     &
192       ( 6.62154879D-10 )  * d_tmrt * d_tmrt * d_tmrt * d_tmrt * d_tmrt +      &
193       ( 4.03863260D-13 )  * ta * d_tmrt * d_tmrt * d_tmrt * d_tmrt * d_tmrt + &
194       ( 1.95087203D-12 )  * va * d_tmrt * d_tmrt * d_tmrt * d_tmrt * d_tmrt + &
195       ( -4.73602469D-12 ) * d_tmrt * d_tmrt * d_tmrt * d_tmrt * d_tmrt *      &
196       d_tmrt +                                                                &
197       ( 5.12733497D+00 )  * pa +                                              &
198       ( -3.12788561D-01 ) * ta * pa +                                         &
199       ( -1.96701861D-02 ) * ta * ta * pa +                                    &
200       ( 9.99690870D-04 )  * ta * ta * ta * pa +                               &
201       ( 9.51738512D-06 )  * ta * ta * ta * ta * pa +                          &
202       ( -4.66426341D-07 ) * ta * ta * ta * ta * ta * pa +                     &
203       ( 5.48050612D-01 )  * va * pa +                                         &
204       ( -3.30552823D-03 ) * ta * va * pa +                                    &
205       ( -1.64119440D-03 ) * ta * ta * va * pa +                               &
206       ( -5.16670694D-06 ) * ta * ta * ta * va * pa +                          &
207       ( 9.52692432D-07 )  * ta * ta * ta * ta * va * pa +                     &
208       ( -4.29223622D-02 ) * va * va * pa +                                    &
209       ( 5.00845667D-03 )  * ta * va * va * pa +                               &
210       ( 1.00601257D-06 )  * ta * ta * va * va * pa +                          &
211       ( -1.81748644D-06 ) * ta * ta * ta * va * va * pa +                     &
212       ( -1.25813502D-03 ) * va * va * va * pa +                               &
213       ( -1.79330391D-04 ) * ta * va * va * va * pa +                          &
214       ( 2.34994441D-06 )  * ta * ta * va * va * va * pa +                     &
215       ( 1.29735808D-04 )  * va * va * va * va * pa +                          &
216       ( 1.29064870D-06 )  * ta * va * va * va * va * pa +                     &
217       ( -2.28558686D-06 ) * va * va * va * va * va * pa +                     &
218       ( -3.69476348D-02 ) * d_tmrt * pa +                                     &
219       ( 1.62325322D-03 )  * ta * d_tmrt * pa +                                &
220       ( -3.14279680D-05 ) * ta * ta * d_tmrt * pa +                           &
221       ( 2.59835559D-06 )  * ta * ta * ta * d_tmrt * pa +                      &
222       ( -4.77136523D-08 ) * ta * ta * ta * ta * d_tmrt * pa +                 &
223       ( 8.64203390D-03 )  * va * d_tmrt * pa +                                &
224       ( -6.87405181D-04 ) * ta * va * d_tmrt * pa +                           &
225       ( -9.13863872D-06 ) * ta * ta * va * d_tmrt * pa +                      &
226       ( 5.15916806D-07 )  * ta * ta * ta * va * d_tmrt * pa +                 &
227       ( -3.59217476D-05 ) * va * va * d_tmrt * pa +                           &
228       ( 3.28696511D-05 )  * ta * va * va * d_tmrt * pa +                      &
229       ( -7.10542454D-07 ) * ta * ta * va * va * d_tmrt * pa +                 &
230       ( -1.24382300D-05 ) * va * va * va * d_tmrt * pa +                      &
231       ( -7.38584400D-09 ) * ta * va * va * va * d_tmrt * pa +                 &
232       ( 2.20609296D-07 )  * va * va * va * va * d_tmrt * pa +                 &
233       ( -7.32469180D-04 ) * d_tmrt * d_tmrt * pa +                            &
234       ( -1.87381964D-05 ) * ta * d_tmrt * d_tmrt * pa +                       &
235       ( 4.80925239D-06 )  * ta * ta * d_tmrt * d_tmrt * pa +                  &
236       ( -8.75492040D-08 ) * ta * ta * ta * d_tmrt * d_tmrt * pa +             &
237       ( 2.77862930D-05 )  * va * d_tmrt * d_tmrt * pa +                       &
238       ( -5.06004592D-06 ) * ta * va * d_tmrt * d_tmrt * pa +                  &
239       ( 1.14325367D-07 )  * ta * ta * va * d_tmrt * d_tmrt * pa +             &
240       ( 2.53016723D-06 )  * va * va * d_tmrt * d_tmrt * pa +                  &
241       ( -1.72857035D-08 ) * ta * va * va * d_tmrt * d_tmrt * pa +             &
242       ( -3.95079398D-08 ) * va * va * va * d_tmrt * d_tmrt * pa +             &
243       ( -3.59413173D-07 ) * d_tmrt * d_tmrt * d_tmrt * pa +                   &
244       ( 7.04388046D-07 )  * ta * d_tmrt * d_tmrt * d_tmrt * pa +              &
245       ( -1.89309167D-08 ) * ta * ta * d_tmrt * d_tmrt * d_tmrt * pa +         &
246       ( -4.79768731D-07 ) * va * d_tmrt * d_tmrt * d_tmrt * pa +              &
247       ( 7.96079978D-09 )  * ta * va * d_tmrt * d_tmrt * d_tmrt * pa +         &
248       ( 1.62897058D-09 )  * va * va * d_tmrt * d_tmrt * d_tmrt * pa +         &
249       ( 3.94367674D-08 )  * d_tmrt * d_tmrt * d_tmrt * d_tmrt * pa +          &
250       ( -1.18566247D-09 ) * ta * d_tmrt * d_tmrt * d_tmrt * d_tmrt * pa +     &
251       ( 3.34678041D-10 )  * va * d_tmrt * d_tmrt * d_tmrt * d_tmrt * pa +     &
252       ( -1.15606447D-10 ) * d_tmrt * d_tmrt * d_tmrt * d_tmrt * d_tmrt * pa + &
253       ( -2.80626406D+00 ) * pa * pa +                                         &
254       ( 5.48712484D-01 )  * ta * pa * pa +                                    &
255       ( -3.99428410D-03 ) * ta * ta * pa * pa +                               &
256       ( -9.54009191D-04 ) * ta * ta * ta * pa * pa +                          &
257       ( 1.93090978D-05 )  * ta * ta * ta * ta * pa * pa +                     &
258       ( -3.08806365D-01 ) * va * pa * pa +                                    &
259       ( 1.16952364D-02 )  * ta * va * pa * pa +                               &
260       ( 4.95271903D-04 )  * ta * ta * va * pa * pa +                          &
261       ( -1.90710882D-05 ) * ta * ta * ta * va * pa * pa +                     &
262       ( 2.10787756D-03 )  * va * va * pa * pa +                               &
263       ( -6.98445738D-04 ) * ta * va * va * pa * pa +                          &
264       ( 2.30109073D-05 )  * ta * ta * va * va * pa * pa +                     &
265       ( 4.17856590D-04 )  * va * va * va * pa * pa +                          &
266       ( -1.27043871D-05 ) * ta * va * va * va * pa * pa +                     &
267       ( -3.04620472D-06 ) * va * va * va * va * pa * pa +                     &
268       ( 5.14507424D-02 )  * d_tmrt * pa * pa +                                &
269       ( -4.32510997D-03 ) * ta * d_tmrt * pa * pa +                           &
270       ( 8.99281156D-05 )  * ta * ta * d_tmrt * pa * pa +                      &
271       ( -7.14663943D-07 ) * ta * ta * ta * d_tmrt * pa * pa +                 &
272       ( -2.66016305D-04 ) * va * d_tmrt * pa * pa +                           &
273       ( 2.63789586D-04 )  * ta * va * d_tmrt * pa * pa +                      &
274       ( -7.01199003D-06 ) * ta * ta * va * d_tmrt * pa * pa +                 &
275       ( -1.06823306D-04 ) * va * va * d_tmrt * pa * pa +                      &
276       ( 3.61341136D-06 )  * ta * va * va * d_tmrt * pa * pa +                 &
277       ( 2.29748967D-07 )  * va * va * va * d_tmrt * pa * pa +                 &
278       ( 3.04788893D-04 )  * d_tmrt * d_tmrt * pa * pa +                       &
279       ( -6.42070836D-05 ) * ta * d_tmrt * d_tmrt * pa * pa +                  &
280       ( 1.16257971D-06 )  * ta * ta * d_tmrt * d_tmrt * pa * pa +             &
281       ( 7.68023384D-06 )  * va * d_tmrt * d_tmrt * pa * pa +                  &
282       ( -5.47446896D-07 ) * ta * va * d_tmrt * d_tmrt * pa * pa +             &
283       ( -3.59937910D-08 ) * va * va * d_tmrt * d_tmrt * pa * pa +             &
284       ( -4.36497725D-06 ) * d_tmrt * d_tmrt * d_tmrt * pa * pa +              &
285       ( 1.68737969D-07 )  * ta * d_tmrt * d_tmrt * d_tmrt * pa * pa +         &
286       ( 2.67489271D-08 )  * va * d_tmrt * d_tmrt * d_tmrt * pa * pa +         &
287       ( 3.23926897D-09 )  * d_tmrt * d_tmrt * d_tmrt * d_tmrt * pa * pa +     &
288       ( -3.53874123D-02 ) * pa * pa * pa +                                    &
289       ( -2.21201190D-01 ) * ta * pa * pa * pa +                               &
290       ( 1.55126038D-02 )  * ta * ta * pa * pa * pa +                          &
291       ( -2.63917279D-04 ) * ta * ta * ta * pa * pa * pa +                     &
292       ( 4.53433455D-02 )  * va * pa * pa * pa +                               &
293       ( -4.32943862D-03 ) * ta * va * pa * pa * pa +                          &
294       ( 1.45389826D-04 )  * ta * ta * va * pa * pa * pa +                     &
295       ( 2.17508610D-04 )  * va * va * pa * pa * pa +                          &
296       ( -6.66724702D-05 ) * ta * va * va * pa * pa * pa +                     &
297       ( 3.33217140D-05 )  * va * va * va * pa * pa * pa +                     &
298       ( -2.26921615D-03 ) * d_tmrt * pa * pa * pa +                           &
299       ( 3.80261982D-04 )  * ta * d_tmrt * pa * pa * pa +                      &
300       ( -5.45314314D-09 ) * ta * ta * d_tmrt * pa * pa * pa +                 &
301       ( -7.96355448D-04 ) * va * d_tmrt * pa * pa * pa +                      &
302       ( 2.53458034D-05 )  * ta * va * d_tmrt * pa * pa * pa +                 &
303       ( -6.31223658D-06 ) * va * va * d_tmrt * pa * pa * pa +                 &
304       ( 3.02122035D-04 )  * d_tmrt * d_tmrt * pa * pa * pa +                  &
305       ( -4.77403547D-06 ) * ta * d_tmrt * d_tmrt * pa * pa * pa +             &
306       ( 1.73825715D-06 )  * va * d_tmrt * d_tmrt * pa * pa * pa +             &
307       ( -4.09087898D-07 ) * d_tmrt * d_tmrt * d_tmrt * pa * pa * pa +         &
308       ( 6.14155345D-01 )  * pa * pa * pa * pa +                               &
309       ( -6.16755931D-02 ) * ta * pa * pa * pa * pa +                          &
310       ( 1.33374846D-03 )  * ta * ta * pa * pa * pa * pa +                     &
311       ( 3.55375387D-03 )  * va * pa * pa * pa * pa +                          &
312       ( -5.13027851D-04 ) * ta * va * pa * pa * pa * pa +                     &
313       ( 1.02449757D-04 )  * va * va * pa * pa * pa * pa +                     &
314       ( -1.48526421D-03 ) * d_tmrt * pa * pa * pa * pa +                      &
315       ( -4.11469183D-05 ) * ta * d_tmrt * pa * pa * pa * pa +                 &
316       ( -6.80434415D-06 ) * va * d_tmrt * pa * pa * pa * pa +                 &
317       ( -9.77675906D-06 ) * d_tmrt * d_tmrt * pa * pa * pa * pa +             &
318       ( 8.82773108D-02 )  * pa * pa * pa * pa * pa +                          &
319       ( -3.01859306D-03 ) * ta * pa * pa * pa * pa * pa +                     &
320       ( 1.04452989D-03 )  * va * pa * pa * pa * pa * pa +                     &
321       ( 2.47090539D-04 )  * d_tmrt * pa * pa * pa * pa * pa +                 &
322       ( 1.48348065D-03 )  * pa * pa * pa * pa * pa * pa 
323
324!-- Cast result to working precision
325    utci = REAL( utci_d + offset, wp )
326
327 END SUBROUTINE calculate_utci_static
328
329
330 END MODULE biometeorology_utci_mod
Note: See TracBrowser for help on using the repository browser.