The example below was run for the Event on June 16, 2025 by (1001) Gaussia. It was a bright 9.9 magnitude star in good conditions, using a Watec 910hx PAL video camera. I used 1/50s integrations, which is 1 interlaced field duration, and I "analyzed in field mode" in PyMovie. The D took 3+ integrations to complete to the bottom, and the R was similar, so I decided it needed something other than the square wave model to do it right. The square wave model tends to put the nominal green lined "D" very near the point of full drop occultation, and the "R" much closer to the point of near full returned to brightness, in my experience. Gradual D and R's should use a different model.
* Open your .csv file in PyOTE. Select the reference star. Select the metric interval of un-occulted light curve on the target, as per usual. Optimize the flatness by progressively raising the smoothing length till the metric has reached a minimum. Now alter the "x-axis" (which is time offset) and see if that improves (lowers) the metric any further. Now write down these numbers; the smoothing interval and the x-offset. Why? Because if you're like me, you'll likely take several attempts at Other Models before getting it done, and you may have to kill PyOTE and start over. You'll want to get back to the Other Models tab quickly.
* I assume you now have your optimally calibrated target light curve. Now click on the Other Models tab and you'll see this screen (Fig 1)...
|
Fig 1. The Other Models screen before entering values |
Fig 2. The OW Cloud page for my Gaussia event, with needed data highlighted |
* It's important that you do these steps in the proper order. I found that when I tried to go back and then forward, the software would not let me go forward again. Failing to do these steps in exactly this order may leave you stuck and forced to re-start PyOTE. If you do need to do this, it's a good idea to rename your 'event' on the Other Models first entry box with a new name, so you can avoid it pulling up old values and perhaps being stuck again.
* Now you need to fill in the parameters of the event that are needed before PyOTE can help you converge on the most appropriate solution within the most appropriate model. You can find the data you need mostly in OW Cloud on the webpage for your event. (Fig 2).
-- click on the box "Name of/for Current Data Set" and give a name to this solution you're going to try to achieve. I chose "Gaussia2" here. I called my solutions(s) "Edge1"
-- The cursor should now be positioned on "Asteroid diameter". You can choose to do this in km, or milliarcseconds (mas). You can see here it's 42.46 mas for my event.
-- Now enter Asteroid Speed. First you'll have to do a little high school math. OWc gives both the RA and Dec speeds separately. You'll have to combined these X^2+Y^2=Z^2 . Z here is the sky plane velocity you need to enter. The speeds in OWc are in arcsec/hour or "/hr. To convert this to mas/sec you'll see ("/hr) x 1000/3600 = mas/sec. So for my example, that will be 26.29 "/hr = 7.30 mas/sec
-- Now enter the shadow speed. You can get that since you know the duration and diameter of the asteroid and you also will see the shadow diameter on Earth.
* You must have all the boxes entered with numbers. Your goal is to NOT see an error message that it could not convert a string to a numeral. If you get that, you'll have to re-start PyOTE and give a new name to the next analysis. Don't go on, do not enter the "Miss Distance" until the boxes above it are all filled.
* To get the star diameter... that's a bit tricky, because you'll probably not find the star diameter in the OWc webpage or perhaps anywhere. But it must start with some value to iterate from. My asteriod was 42.4 mas in diameter and the predicted maximum duration of my occultation was 5.8s; so that's the scale I used; The gradual duration of my D and R were about 3 points, or 3 Watec PAL interlaced fields, 50 fields/sec, so that's 0.06 s for the diameter of my star, roughly. So, 0.06s x 42.4 mas/5.8s = 0.44 mas for the rough diameter of the star. I'd multiply that by .6 to get a good first estimate.
* Under "Miss distance" just enter 0 (zero) This is a number that will be iterated if it's relevant. For complete occultations, it won't be relevant. It will now, after a few seconds, automatically fill in the other boxes above for diameter and speed etc. Now see the Baseline ADU boxes colored in blue. PyOTE wants to find the mean un-occulted level of the target star; the Baseline ADU.
* Here's how to get PyOTE to fill in the "Baseline ADU". You click on periods of time that best represent the unocculted level at the time off the occultation. More interval is better, but don't include areas where there's clearly aerosol or cloud dimming the star. My Gaussia light curve is very well behaved; no drifting aerosols or other obscurations. The target star stays constant except for point-to-point noise and the occultation. So, I clicked on two points that pretty much included all of the pre-occultation period. You'll see the two points as red dots. Select 2 points only. Then click select, and you'll see the points between your red dots turn color to orange. Now, the other half of my light curve was also well-behaved, so I then clicked on the other half (un-occulted) with two more points, and then again hit Select. If you have periods of obscuration but which don't affect the event itself, you'll want to avoid putting those into your "selected" point intervals. Choose points which best reflect the level that affected the occultation itself, since the goal is to help PyOTE fit your points given the expected magnitude drop.
* Now click Calc and it'll determine the mean value of the unocculted data points you included. For my data, that value=1008.5 and will now appear, after a few seconds, in the box for Baseline ADU.
*Now up pops a box asking you to enter the Magnitude Drop. For my Gaussia event here, that was 5.90 magnitudes (=avg of the V drop and R drop)
* Now the boxes below "magnitude drop" should be edit-able. You might want to click on PyOTE's advice for what model to choose.
* I then clicked on the model I knew I wanted to use: Edge-on-Disk, which is best for non-instantaneous events but in which you have small stars hitting asteroids 10x larger or more., and for which you don't see the tell-tale sharp spike at the start of the D and end of the R that is characteristic of significant Fresnel diffraction.
* For Edge-on-Disk, the Limb Angle now comes into play. This is the angle the star hits the surface of the asteroid, angled from the surface tangent on the asteroid. So, that angle is 90 degrees for a central occultation. A good guess for the "Limb angle" will be Limb angle = Arcsin (Event Duration/Max predicted event duration) where "duration" refers to how long the occultation was predicted, and observed, to last. For my event, I calculated that to be 44.98 degrees for my event. The best converged solution for that angle may be different at the D and R for oblong asteroids. So, this Limb Angle value will be determined as part of the iterations.
* You should now see a pop up that gives the name of your csv file, and hopefully you will not see any error messages about not being able to read a box and convert to a number. That means you can begin the iteration to solution. In the area below the "Miss Distance" you will see the boxes no longer grayed out, and instead are available to be clicked. You'll also see the "Fit Model to Observation Points" highlighted in yellow. (If it's not, and the other boxes in that list are not available to be clicked, then you must have bad data in your earlier entries. Restart)
* PyOTE will iterate a solution given the fixed numbers in your Star Diameter and Chord Estimate, to the range of data you are now going to specify. You want to only include data from just before the D to just after the R. Any data affected by the occultation, but no more. So click on the "Set limits to metric calculation" box and then click 2 points on your light curve enclosing the occultation and click the box again.
* Now click the yellowed "Fit Model to Observation Points" box and it will take a minute or so to make a first attempt at a solution, showing you the resulting light curve in red.
-- If the fit is bad, you'll want to change your star diameter and / or chord duration. You can also try iterating manually, by just clicking "example light curve" which will show you what the light curve is for your chosen parameters. If the D and R slope of the red curve are too shallow, try a smaller star diameter. If the observation points are inside the red curve, shorten the duration. If outside the red curve, lengthen the duration. At the end of its iterating, you'll again see the "fit to observations" button turn yellow again, and the D and R times will show at bottom right.