Elite Observatory - Search your journal for potentially interesting objects, or notify you of new ones on the fly while exploring!

RE: Flattening, one formula to estimate the flattening coefficient (assuming uniform density and various other factors is:
O16Rb05.png


Where w is (2 * PI / rotation period), r is mean radius and M is body mass (seconds, meters and kg). Oh, and G is the gravitational constant. This factor (f) can then be used to calculate the equatorial radius and polar radius as this:
FR6E8i4.png


Finally, you can compare this difference between the radii as a ratio of the equatorial radius. I've put this into a copy of the spreadsheet pasted earlier and sorted on this ratio. Results are promising:
Oblated Gas Giants

I'd say if you considered everything with a ratio of under 12, it'd be pretty close (or perhaps 10). Only 2 of the extreme ones are missed, and there's likely something else going on there (I think close binary orbits affect things, for example). Worth pointing out that the spreadsheet is (mostly) not journal data - journal data would help accuracy of calculations. I expect this would be quite a challenge to put in custom XML though, perhaps it's something Vithigar can build in (or maybe I could).
Would these be correct simplified versions of the spreadsheet formulas with journal data? I'm especially fuzzy on the 5/4 part. If I don't get this right, then there's no point in attempting to get it into XML.

f= 5((6.28/RP)^2*R^3)/4((3.986*10^14)*EM)

re= R(1+(f/3))/1000

rp= R((1-2f)/3))/1000

EDIT: If those are correct, then this is what has to get turned into the XML logic as the ratio re/(re-rp): (R(1+((5((6.28/RP)2*R3)/4((3.986*10^14)*EM))/3))/1000)/((R(1+((5((6.28/RP)2*R3)/4((3.986*10^14)*EM))/3))/1000)-(R((1-2(5((6.28/RP)2*R3)/4((3.986*10^14)*EM)))/3))/1000))

Um...right. One function at a time, I suppose. Can we even do cubes with only first and second values? Where's that crazy math post? (Found it)
Is there a tool that color codes XML...levels?...nests? So it looks like this?
 
Last edited:
Would these be correct simplified versions of the spreadsheet formulas with journal data? I'm especially fuzzy on the 5/4 part. If I don't get this right, then there's no point in attempting to get it into XML.

f= 5((6.28/RP)^2*R^3)/4((3.986*10^14)*EM)

re= R(1+(f/3))/1000

rp= R((1-2f)/3))/1000

EDIT: If those are correct, then this is what has to get turned into the XML logic as the ratio re/(re-rp): (R(1+((5((6.28/RP)2*R3)/4((3.986*1014)*EM))/3))/1000)/((R(1+((5((6.28/RP)2*R3)/4((3.986*1014)*EM))/3))/1000)-(R((1-2(5((6.28/RP)2*R3)/4((3.986*1014)*EM)))/3))/1000))

Um...right. One function at a time, I suppose. Can we even do cubes with only first and second values? Where's that crazy math post? (Found it)
Is there a tool that color codes XML...levels?...nests? So it looks like this?
Leave it with me a bit, when I get a bit of time I’ll see if I can add it into Observatory directly. The XML required to reproduce that formula makes my brain melt.
 
Give this a spin:

XML:
<Criteria Comparator="And">
    <!-- Only check this against gas giants -->
    <Criteria Comparator="Equal" Value="1">
        <Operation Operator="Add">
            <FirstValue Type="Operation">
                <Operation Operator="Add">
                    <FirstValue Type="Operation">
                        <Operation Operator="Add">
                            <FirstValue Type="EventData">PlanetClass:Sudarsky class I gas giant</FirstValue>
                            <SecondValue Type="EventData">PlanetClass:Sudarsky class II gas giant</SecondValue>
                        </Operation>
                    </FirstValue>
                    <SecondValue Type="Operation">
                        <Operation Operator="Add">
                            <FirstValue Type="EventData">PlanetClass:Sudarsky class III gas giant</FirstValue>
                            <SecondValue Type="EventData">PlanetClass:Sudarsky class IV gas giant</SecondValue>
                        </Operation>
                    </SecondValue>
                </Operation>
            </FirstValue>
            <SecondValue Type="Operation">
                <Operation Operator="Add">
                    <FirstValue Type="Operation">
                        <Operation Operator="Add">
                            <FirstValue Type="EventData">PlanetClass:Sudarsky class V gas giant</FirstValue>
                            <SecondValue Type="EventData">PlanetClass:Gas giant with water based life</SecondValue>
                        </Operation>
                    </FirstValue>
                    <SecondValue Type="Operation">
                        <Operation Operator="Add">
                            <FirstValue Type="EventData">PlanetClass:Gas giant with ammonia based life</FirstValue>
                            <SecondValue Type="Operation">
                                <Operation Operator="Add">
                                    <FirstValue Type="EventData">PlanetClass:Helium rich gas giant</FirstValue>
                                    <SecondValue Type="EventData">PlanetClass:Water giant</SecondValue>
                                </Operation>
                            </SecondValue>
                        </Operation>
                    </SecondValue>
                </Operation>
            </SecondValue>
        </Operation>
    </Criteria>
    <!-- The 5 here can be tweaked depending on how oblate you want to trigger the check -->
    <Criteria Comparator="Greater" Value="5">
        <Operation Operator="Divide">
            <FirstValue Type="Operation">
                <Operation Operator="Multiply">
                    <!-- (2 * pi / rotation period)^2 -->
                    <FirstValue Type="Operation">
                        <Operation Operator="Multiply">
                            <FirstValue Type="Operation">
                                <Operation Operator="Divide">
                                    <FirstValue Type="Number">6.28</FirstValue>
                                    <SecondValue Type="EventData">RotationPeriod</SecondValue>
                                </Operation>
                            </FirstValue>
                            <SecondValue Type="Operation">
                                <Operation Operator="Divide">
                                    <FirstValue Type="Number">6.28</FirstValue>
                                    <SecondValue Type="EventData">RotationPeriod</SecondValue>
                                </Operation>
                            </SecondValue>
                        </Operation>
                    </FirstValue>
                    <!-- radius cubed -->
                    <SecondValue Type="Operation">
                        <Operation Operator="Multiply">
                            <FirstValue Type="Operation">
                                <Operation Operator="Multiply">
                                    <FirstValue Type="EventData">Radius</FirstValue>
                                    <SecondValue Type="EventData">Radius</SecondValue>
                                </Operation>
                            </FirstValue>
                            <SecondValue Type="EventData">Radius</SecondValue>
                        </Operation>
                    </SecondValue>
                </Operation>
            </FirstValue>
            <!-- Gravitational constant * Mass, shifted a few orders of magnitude to get simpler numbers to use as threshold -->
            <SecondValue Type="Operation">
                <Operation Operator="Multiply">
                    <FirstValue Type="Number">3985760580000</FirstValue>
                    <SecondValue Type="EventData">MassEM</SecondValue>
                </Operation>
            </SecondValue>
        </Operation>
    </Criteria>
    <Description>Oblate Gas Giant?</Description>
</Criteria>

I used @MattG 's formula, omitting the calculation for polar and equatorial radius because it's an unnecessary extra step. The ratio of the radii is directly proportional to the flattening coefficient so you can just check against that. I also made some adjustments to streamline the math used (Why multiply by 5/4? Just check for a value that's 20% smaller. Also collapsed 2π to 6.28, we don't need to add extra layers of xml for that.) and shifted the magnitude of the final output slightly so that it generates more intuitive numbers to use as thresholds. (G, the conversion from earth masses to kilograms, and the magnitude shift are all collapsed into the single constant 3985760580000).

At first used 10 as a threshold but that was too strict and missed a recent oblate body that I knew I'd found so I lowered it to 5. My initial spot check of the results seems good, but I only looked at a couple of bodies. Further tweaking might be required.
 
Last edited:
It seems the right way, (y)
1578256734653.png

v9sRf8j.jpg

Note: With the regional configuration of Spain it is necessary to modify these values in XML.
1578259203404.png
 
Last edited:
I used @MattG 's formula, omitting the calculation for polar and equatorial radius because it's an unnecessary extra step. The ratio of the radii is directly proportional to the flattening coefficient so you can just check against that. I also made some adjustments to streamline the math used (Why multiply by 5/4? Just check for a value that's 20% smaller. Also collapsed 2π to 6.28, we don't need to add extra layers of xml for that.) and shifted the magnitude of the final output slightly so that it generates more intuitive numbers to use as thresholds. (G, the conversion from earth masses to kilograms, and the magnitude shift are all collapsed into the single constant 3985760580000).

The original formula was for estimating equatorial bulge, hence the added steps. As we only care about the factor itself, you can ignore the 5/4 bit too.

Good job with the XML (y):)
 
It complains and fails to load the config because of the "squared" character in this comment line:

Code:
<!-- (2 * pi / rotation period)² -->

And this one:

Code:
<!-- radius³ -->

Removing them seems to make it happy.
 
Last edited:
It complains and fails to load the config because of the "squared" character in this comment line:

Code:
<!-- (2 * pi / rotation period)² -->

And this one:

Code:
<!-- radius³ -->

Removing them seems to make it happy.
Must have something to do with the character encoding of your browser/text editor/filesystem/godknowswhat. It was fine for myself and (presumably) 3navis, regional number formatting notwithstanding.

Regardless, I'll remove them from my snippet just to avoid such things in the future.
 
Yeah, I pasted the code in using Vim, which should be pretty good at honoring text encoding. But who knows, I'm sure things vary quite a lot. I'm pretty used to strange characters throwing errors in my linux programs, so it didn't really surprise me. :D (EDIT: To be clear, this was all still in Windows, using the windows version of Vim).
 
Any chance of compiling people's custom criteria into the first post of the thread? With as much as Observatory comes up, it'd be nice for people to have it all handy from the get-go.
Here are mine:
really large landables (radius > 20,000 km)
really heavy gravity landables (over 5 g)
terraformable metal rich bodies
moons of ELWs
Code:
    <Criteria Comparator="And">
        <Criteria Comparator="Greater" Value="20000000">
            <Operation Operator="None">
                <FirstValue Type="EventData">Radius</FirstValue>
            </Operation>
        </Criteria>
        <Criteria Comparator="Equal" Value="1">
            <Operation Operator="None">
                <FirstValue Type="EventData">Landable</FirstValue>
            </Operation>
        </Criteria>
        <Description>Huge landable</Description>
        <Detail>
            <Item>Radius</Item>
            <Item>Landable</Item>
        </Detail>
    </Criteria>   

    <Criteria Comparator="And">
        <Criteria Comparator="Greater" Value="49">
            <Operation Operator="None">
                <FirstValue Type="EventData">SurfaceGravity</FirstValue>
            </Operation>
        </Criteria>
        <Criteria Comparator="Equal" Value="1">
            <Operation Operator="None">
                <FirstValue Type="EventData">Landable</FirstValue>
            </Operation>
        </Criteria>
        <Description>Heavy landable</Description>
        <Detail>
            <Item>SurfaceGravity</Item>
            <Item>Landable</Item>
        </Detail>
    </Criteria>   

    <Criteria Comparator="And">
        <Criteria Comparator="Equal" Value="1">
            <Operation Operator="None">
                <FirstValue Type="EventData">PlanetClass:Metal rich body</FirstValue>
            </Operation>
        </Criteria>
        <Criteria Comparator="Equal" Value="1">
            <Operation Operator="None">
                <FirstValue Type="EventData">TerraformState</FirstValue>
            </Operation>
        </Criteria>
        <Description>Metal rich terraformable</Description>
        <Detail>
            <Item>PlanetClass</Item>
        </Detail>
    </Criteria>   
    
    <Criteria Comparator="Equal" Value="1">
        <Operation Operator="None">
            <FirstValue Type="EventData">Parent:PlanetClass:Earthlike body</FirstValue>
        </Operation>
        <Description>Moon of ELW</Description>
        <Detail>
            <Item>Parent:PlanetClass</Item>
        </Detail>
    </Criteria>
 
Yes, I've been wanting to compile custom xml snippets for a while now just couldn't think of a good place to put them. A spoiler tag in the initial post is as good an idea as any.
 
That is larger radius than the originally set, right? I'm sure I've seen notifications when the radius was at 19.000.

It was set at 18,000 because that was the current drop off point of the 50 reported largest landable bodies at the time it was suggested. Of course we have found more large landables since then so that could probably be increased if desired, but 18,000 is still a good point to start reporting I think.
 
That is larger radius than the originally set, right? I'm sure I've seen notifications when the radius was at 19.000.
It was set at 18,000 because that was the current drop off point of the 50 reported largest landable bodies at the time it was suggested. Of course we have found more large landables since then so that could probably be increased if desired, but 18,000 is still a good point to start reporting I think.
Yeah, the bigger treshold is a personal preference. :)
 
Back
Top Bottom