1c 2c $Id: util_length_scale.F 24349 2013-06-23 04:30:58Z d3y133 $ 3c 4 subroutine util_convert_units(unitin,unitout,scale) 5 implicit none 6#include "util_params.fh" 7#include "errquit.fh" 8 double precision scale 9 character*(*) unitin,unitout 10c 11 character*3 test1,test2 12 character*7 test 13 character*20 msg 14 15 test1 = unitin 16 test2 = unitout 17 if (test1 .eq. test2) then 18 scale = 1.0 19 return 20 end if 21 test = trim(test1)//"_"//trim(test2) 22c write(*,*) "test=",test 23 select case (test) 24 case('au_boh') 25 scale = 1.0d0 26 case('ang_boh') 27 scale = cang2au 28 case('nm_au') 29 scale = cnm2au 30 case('nan_au') 31 scale = cnm2au 32 case('pm_au') 33 scale = cpm2au 34 case('pic_au') 35 scale = cpm2au 36 case('ang_au') 37 scale = cang2au 38 case('au_ang') 39 scale = cau2ang 40 case('kca_au') 41 scale = ckcal2au 42 case('au_kca') 43 scale = cau2kcal 44 case default 45 msg = "unknown units: "//trim(test) 46 call errquit(msg,0,-1) 47 end select 48 49 50 end subroutine 51