--- ray/src/cv/iso2klems.pl 2022/03/08 19:04:56 2.1 +++ ray/src/cv/iso2klems.pl 2022/03/10 17:26:04 2.3 @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# RCSid $Id: iso2klems.pl,v 2.1 2022/03/08 19:04:56 greg Exp $ +# RCSid $Id: iso2klems.pl,v 2.3 2022/03/10 17:26:04 greg Exp $ # # Convert tabulated isotropic direct-hemispherical and direct-direct to Klems XML # @@ -9,7 +9,7 @@ use strict; my $windoz = ($^O eq "MSWin32" or $^O eq "MSWin64"); use File::Temp qw/ :mktemp /; sub userror { - print STDERR "Usage: iso2klems [-t][-W][-s \"x=string;y=string\"] [input.dat]\n"; + print STDERR "Usage: iso2klems [-t][-f \"x=string;y=string\"][-u unit] [input.dat]\n"; exit 1; } my ($td,$rmtmp,$cmd); @@ -29,9 +29,12 @@ my $reverse = 0; while ($#ARGV >= 0) { if ("$ARGV[0]" eq "-t") { $reverse = ! $reverse; - } elsif ("$ARGV[0]" eq "-s") { + } elsif ("$ARGV[0]" =~ /^-[fs]$/) { $wrapper .= " -f \"$ARGV[1]\""; shift @ARGV; + } elsif ("$ARGV[0]" eq "-u") { + $wrapper .= " -u $ARGV[1]"; + shift @ARGV; } elsif ("$ARGV[0]" =~ /^-./) { userror(); } else { @@ -88,10 +91,10 @@ if ($windoz) { qq{-e "Rd1=if($h2h[1]-.001,Rdiff(tideg)*Rdiff(tsdeg)/$h2h[1],0)" } . qq{-e "Td2=if($h2h[2]-.001,Tdiff(180-tideg)*Tdiff(180-tsdeg)/$h2h[2],0)" } . qq{-e "Rd2=if($h2h[3]-.001,Rdiff(180-tideg)*Rdiff(180-tsdeg)/$h2h[3],0)" } . - qq{-e "\$1=if(Tspec(0),if(diag,Tspec(tideg)/om,Td1*corr),Td1)" } . - qq{-e "\$2=if(Rspec(0),if(diag,Rspec(tideg)/om,Rd1*corr),Rd1)" } . - qq{-e "\$3=if(Tspec(180),if(diag,Tspec(180-tideg)/om,Td2*corr),Td2)" } . - qq{-e "\$4=if(Rspec(180),if(diag,Rspec(180-tideg)/om,Rd2*corr),Rd2)" }; + q{-e "$1=if(Tspec(0),if(diag,Tspec(tideg)/om,Td1*corr),Td1)" } . + q{-e "$2=if(Rspec(0),if(diag,Rspec(tideg)/om,Rd1*corr),Rd1)" } . + q{-e "$3=if(Tspec(180),if(diag,Tspec(180-tideg)/om,Td2*corr),Td2)" } . + q{-e "$4=if(Rspec(180),if(diag,Rspec(180-tideg)/om,Rd2*corr),Rd2)" }; } else { $cmd = qq{cnt 145 145 } . qq{| rcalc -f $funcfile } . @@ -100,10 +103,10 @@ if ($windoz) { qq{-e 'Rd1=if($h2h[1]-.001,Rdiff(tideg)*Rdiff(tsdeg)/$h2h[1],0)' } . qq{-e 'Td2=if($h2h[2]-.001,Tdiff(180-tideg)*Tdiff(180-tsdeg)/$h2h[2],0)' } . qq{-e 'Rd2=if($h2h[3]-.001,Rdiff(180-tideg)*Rdiff(180-tsdeg)/$h2h[3],0)' } . - qq{-e '\$1=if(Tspec(0),if(diag,Tspec(tideg)/om,Td1*corr),Td1)' } . - qq{-e '\$2=if(Rspec(0),if(diag,Rspec(tideg)/om,Rd1*corr),Rd1)' } . - qq{-e '\$3=if(Tspec(180),if(diag,Tspec(180-tideg)/om,Td2*corr),Td2)' } . - qq{-e '\$4=if(Rspec(180),if(diag,Rspec(180-tideg)/om,Rd2*corr),Rd2)' }; + q{-e '$1=if(Tspec(0),if(diag,Tspec(tideg)/om,Td1*corr),Td1)' } . + q{-e '$2=if(Rspec(0),if(diag,Rspec(tideg)/om,Rd1*corr),Rd1)' } . + q{-e '$3=if(Tspec(180),if(diag,Tspec(180-tideg)/om,Td2*corr),Td2)' } . + q{-e '$4=if(Rspec(180),if(diag,Rspec(180-tideg)/om,Rd2*corr),Rd2)' }; } system qq{$cmd | rsplit "-t " $TK1dataf $RK1dataf $TK2dataf $RK2dataf}; die "Error running rcalc or rsplit" if ( $? );