127 use,
INTRINSIC :: iso_c_binding, only: c_bool
134#include "implicit_f.inc"
142 TYPE (UNIT_TYPE_),
INTENT(IN) :: UNITAB
143 INTEGER,
INTENT(IN) :: INDEX
144 CHARACTER*(*),
INTENT(IN) :: NAME
148 LOGICAL,
INTENT(OUT) :: IS_AVAILABLE
152 INTEGER J,SUB_ID,IFLAGUNIT,UID
153 my_real :: fac_l,fac_m,fac_t,fac
154 real*8 dval,length_dim,mass_dim,time_dim
155 LOGICAL(KIND=C_BOOL) C_IS_AVAILABLE
157 c_is_available = .false.
163 CALL cpp_get_floatv_floatd_index
164 . length_dim,mass_dim,time_dim,uid,sub_id)
165 is_available = c_is_available
169 IF(sub_id /= 0 .AND. uid
THEN
170 IF(lsubmodel(sub_id)%UID /= 0)
THEN
171 uid = lsubmodel(sub_id)%UID
182 IF (unitab%UNIT_ID(j) == uid)
THEN
183 fac_m = unitab%FAC_M(j)
184 fac_l = unitab%FAC_L(j)
185 fac_t = unitab%FAC_T(j)
190 IF (fac_m /= zero) fac = fac * (fac_m ** mass_dim )
191 IF (fac_l /= zero) fac = fac * (fac_l ** length_dim)
192 IF (fac_t /= zero) fac = fac * (fac_t ** time_dim )