r = rho*h consistent with (ro,T), fast direct evaluation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | ro | |||
| real(kind=dp), | intent(in) | :: | T |
elemental function r_roT(ro, T) result(r) !! r = rho*h consistent with (ro,T), fast direct evaluation real(dp), intent(in) :: ro, T real(dp) :: r type(ThArrays_t) :: ThAr real(dp) :: ro_Arp integer :: n ro_Arp = ro/(MolMass*1000.0_dp) call fill_f_terms(ro_Arp, ThAr) call fill_ff_terms(ro_Arp, ThAr) call fill_g_Dreg_terms(T, ThAr) ThAr%hh = ro_Arp * ThAr%ff ThAr%gg = ThAr%g - T*ThAr%Derg r = (cp0_Arp*T + q0_Arp)*ro_Arp do n = 1, 14 r = r + ThAr%gg(n)*ThAr%hh(n) + ThAr%f(n)*ThAr%g(n) enddo r = r * 1.0e6_dp end function r_roT