IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 25, 2016, 11:45:39 AM (10 years ago)
Author:
eugene
Message:

updated FitPM, FitPosPMfixed, FitPMandPar to use the modified concept for IRLS: the weight factor multiplies the error

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/relastro/test/mana.sh

    r39610 r39612  
    4040end
    4141
     42macro testobj3
     43  if ($0 != 3)
     44    echo "USAGE: testobj3 (Nstars) (foutliers)"
     45    break
     46  end
     47
     48  $Nmin:pos = 99
     49  $Nmin:pm  = 99
     50  $Nmin:plx = 99
     51
     52  foreach mode pos pm plx
     53    exec ../bin/fitobj3.lin64 $mode -Nstars $1 -foutliers $2 -Nminpoints $Nmin:$mode > test.$mode.dat
     54    checkstats test.$mode.dat $mode
     55  end
     56end
     57
    4258macro testobj2
    4359  if ($0 != 3)
     
    4662  end
    4763
    48   exec ../bin/fitobj2.lin64 plx -Nstars $1 -foutliers $2 > test.plx.dat
    49   checkstats test.plx.dat
     64  $Nmin:pos = 1
     65  $Nmin:pm  = 5
     66  $Nmin:plx = 7
     67
     68  foreach mode pos pm plx
     69    exec ../bin/fitobj2.lin64 $mode -Nstars $1 -foutliers $2 -Nminpoints $Nmin:$mode > test.$mode.dat
     70    checkstats test.$mode.dat $mode
     71  end
    5072end
    5173
     
    5880  foreach mode pos pm plx
    5981    exec ../bin/fitobj.lin64 $mode > test.$mode.dat
    60     if ("$mode" == "plx")
    61       echo "is plx"
    62       reload test.$mode.dat 1
    63     else
    64       reload test.$mode.dat 0
    65     end
    66 
     82    checkstats.obj test.$mode.dat $mode
    6783    fprintf "%5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %6.2f %5.2f" $value_dRf $value_dDf $value_duR $value_duD $value_dP $value_dRo $value_dDo $value_duRo $value_duDo $value_dPo $sigma_dRo $sigma_dDo $sigma_duRo $sigma_duDo $sigma_dPo $mean_Nfit $mean_chisq
    6884  end
     
    108124  data $1
    109125  if ($2)
    110     # read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 26
     126    read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 26
    111127    read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
    112128  else
     
    145161end
    146162
    147 macro teststats
    148   if ($0 != 2)
    149     echo "USAGE: teststats (file)"
     163macro checkstats.obj
     164  if ($0 != 3)
     165    echo "USAGE: checkstats.obj (file) (mode)"
    150166    break
    151167  end
    152168
    153169  data $1
    154   read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 26
    155   # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
    156   # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 22
     170  if ("$2" == "pos")
     171    read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 22
     172  end
     173  if ("$2" == "pm")
     174    read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 23
     175  end
     176  if ("$2" == "plx")
     177    read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
     178  end
    157179
    158180  foreach f R D uD uR P
     
    185207  # echo chisq
    186208  vstat -q chisq; $mean_chisq = $MEAN
    187 
    188   fprintf "%5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %6.2f %5.2f" $value_dRf $value_dDf $value_duR $value_duD $value_dP $value_dRo $value_dDo $value_duRo $value_duDo $value_dPo $sigma_dRo $sigma_dDo $sigma_duRo $sigma_duDo $sigma_dPo $mean_Nfit $mean_chisq
    189 
    190 end
    191 
    192 macro checkstats
    193   if ($0 != 2)
    194     echo "USAGE: checkstats (file)"
    195     break
    196   end
    197 
    198   teststats $1
    199  
    200   delete dRbin oRbin
    201   for i 0 100
    202     subset tmp = dRf if (Npts == $i)
    203     vstat tmp -q
    204     concat $SIGMA dRbin
    205     concat $MEAN oRbin
    206   end
    207 
    208   create n 0 dRbin[]
    209   set dRmod = 0.010 / sqrt (n)
    210   lim n -0.001 0.015; clear; box; plot n dRbin
    211   plot -c red -pt 7 n dRmod
    212 end
    213 
    214 macro load.stack
    215   if ($0 != 2)
    216     echo "USAGE: load.stack (file)"
     209end
     210
     211macro teststats
     212  if ($0 != 3)
     213    echo "USAGE: teststats (file) (mode)"
    217214    break
    218215  end
    219216
    220217  data $1
    221   read Npts 1 Nout 2 Nstk 3 Ro 4 Do 5 uRo 6 uDo 7 Po 8 Rx 10 Dx 11 uRx 12 uDx 3 Px 14 Tx 16 dRo 18 dDo 19 duRo 20 duDo 21 dPo 22 Nfit 23 Rstk 25 Dstk 26 dRstk 27 dDstk 28 chisq 32
    222   # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
    223   # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 22
    224 
    225   foreach f uD uR P
     218
     219  if ("$2" == "pos")
     220    read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 24
     221  end
     222  if ("$2" == "pm")
     223    read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 25
     224  end
     225  if ("$2" == "plx")
     226    read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 26
     227  end
     228
     229  foreach f R D uD uR P
    226230    set d$f = $f\o - $f\x
    227231  end
    228   set sdR = 3600*(Ro - Rstk)*dcos(Do)
    229   set sdD = 3600*(Do - Dstk)
    230232
    231233  set Rf = Rx - uRx*(Tx - $Tref)/3600.0/dcos(Dx)
     
    242244  vstat -q dP ;  $value_dP  =  $SIGMA*1000
    243245
    244   vstat -q sdR;  $value_sdR =  $SIGMA*1000
    245   vstat -q sdD;  $value_sdD =  $SIGMA*1000
    246 
    247246  # echo "fit errors"
    248247  vstat -q dRo;  $value_dRo  = $MEAN*1000; $sigma_dRo  = $SIGMA*1000
     
    259258
    260259  fprintf "%5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %6.2f %5.2f" $value_dRf $value_dDf $value_duR $value_duD $value_dP $value_dRo $value_dDo $value_duRo $value_duDo $value_dPo $sigma_dRo $sigma_dDo $sigma_duRo $sigma_duDo $sigma_dPo $mean_Nfit $mean_chisq
     260
     261end
     262
     263macro checkstats
     264  if ($0 != 3)
     265    echo "USAGE: checkstats (file) (mode)"
     266    break
     267  end
     268
     269  teststats $1 $2
    261270 
    262   delete dRbin oRbin
     271  delete -q dRbin oRbin
     272  for i 0 100
     273    subset tmp = dRf if (Npts == $i)
     274    vstat tmp -q
     275    concat $SIGMA dRbin
     276    concat $MEAN oRbin
     277  end
     278
     279  create n 0 dRbin[]
     280  set dRmod = 0.010 / sqrt (n)
     281  lim n -0.001 0.015; clear; box; plot n dRbin
     282  plot -c red -pt 7 n dRmod
     283end
     284
     285macro load.stack
     286  if ($0 != 2)
     287    echo "USAGE: load.stack (file)"
     288    break
     289  end
     290
     291  data $1
     292  read Npts 1 Nout 2 Nstk 3 Ro 4 Do 5 uRo 6 uDo 7 Po 8 Rx 10 Dx 11 uRx 12 uDx 3 Px 14 Tx 16 dRo 18 dDo 19 duRo 20 duDo 21 dPo 22 Nfit 23 Rstk 25 Dstk 26 dRstk 27 dDstk 28 chisq 32
     293  # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
     294  # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 22
     295
     296  foreach f uD uR P
     297    set d$f = $f\o - $f\x
     298  end
     299  set sdR = 3600*(Ro - Rstk)*dcos(Do)
     300  set sdD = 3600*(Do - Dstk)
     301
     302  set Rf = Rx - uRx*(Tx - $Tref)/3600.0/dcos(Dx)
     303  set Df = Dx - uDx*(Tx - $Tref)/3600.0
     304
     305  set dRf = 3600*(Ro - Rf)*dcos(Dx)
     306  set dDf = 3600*(Do - Df)
     307
     308  # echo "fit scatter"
     309  vstat -q dRf;  $value_dRf =  $SIGMA*1000
     310  vstat -q dDf;  $value_dDf =  $SIGMA*1000
     311  vstat -q duR;  $value_duR =  $SIGMA*1000
     312  vstat -q duD;  $value_duD =  $SIGMA*1000
     313  vstat -q dP ;  $value_dP  =  $SIGMA*1000
     314
     315  vstat -q sdR;  $value_sdR =  $SIGMA*1000
     316  vstat -q sdD;  $value_sdD =  $SIGMA*1000
     317
     318  # echo "fit errors"
     319  vstat -q dRo;  $value_dRo  = $MEAN*1000; $sigma_dRo  = $SIGMA*1000
     320  vstat -q dDo;  $value_dDo  = $MEAN*1000; $sigma_dDo  = $SIGMA*1000
     321  vstat -q duRo; $value_duRo = $MEAN*1000; $sigma_duRo = $SIGMA*1000
     322  vstat -q duDo; $value_duDo = $MEAN*1000; $sigma_duDo = $SIGMA*1000
     323  vstat -q dPo ; $value_dPo  = $MEAN*1000; $sigma_dPo  = $SIGMA*1000
     324
     325  # echo "Nfit"
     326  vstat -q Nfit; $mean_Nfit = $MEAN
     327
     328  # echo chisq
     329  vstat -q chisq; $mean_chisq = $MEAN
     330
     331  fprintf "%5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %6.2f %5.2f" $value_dRf $value_dDf $value_duR $value_duD $value_dP $value_dRo $value_dDo $value_duRo $value_duDo $value_dPo $sigma_dRo $sigma_dDo $sigma_duRo $sigma_duDo $sigma_dPo $mean_Nfit $mean_chisq
     332 
     333  delete -q dRbin oRbin
    263334  for i 0 100
    264335    subset tmp = dRf if (Npts == $i)
Note: See TracChangeset for help on using the changeset viewer.