69 use,
INTRINSIC :: iso_c_binding, only: c_bool
76#include "implicit_f.inc"
84 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
86 CHARACTER*(*),
INTENT(IN)::NAME
87 TYPE(),
INTENT(IN) :: LSUBMODEL(NSUBMOD)
90 LOGICAL,
INTENT(OUT) ::
94 INTEGER :: J,SUB_ID,IFLAGUNIT,UID
95 my_real :: fac_l,fac_m,fac_t,fac
96 real*8 :: dval,length_dim,mass_dim,time_dim
97 LOGICAL(KIND=C_BOOL) :: C_IS_AVAILABLE
99 c_is_available = .false.
105 CALL cpp_get_floatv_floatd_index(name(1:len_trim(name)),len_trim(name),dval,index,c_is_available,
106 . length_dim,mass_dim,time_dim,uid,sub_id)
107 is_available = c_is_available
111 IF(sub_id /= 0 .AND. uid == 0)
THEN
112 IF(lsubmodel(sub_id)%UID /= 0)
THEN
113 uid = lsubmodel(sub_id)%UID
124 IF (unitab%UNIT_ID(j) == uid)
THEN
125 fac_m = unitab%FAC_M(j)
126 fac_l = unitab%FAC_L(j)
127 fac_t = unitab%FAC_T(j)
132 IF (fac_m /= zero) fac = fac * (fac_m ** mass_dim )
133 IF (fac_l /= zero) fac = fac * (fac_l ** length_dim)
134 IF (fac_t /= zero) fac = fac * (fac_t ** time_dim )