Search in sources :

Example 1 with LoveNumbers

use of org.orekit.utils.LoveNumbers in project Orekit by CS-SI.

the class SolidTidesFieldTest method testConventions2010.

@Test
public void testConventions2010() throws OrekitException, NoSuchFieldException, IllegalAccessException {
    UT1Scale ut1 = TimeScalesFactory.getUT1(IERSConventions.IERS_2010, true);
    SolidTidesField tidesField = new SolidTidesField(IERSConventions.IERS_2010.getLoveNumbers(), IERSConventions.IERS_2010.getTideFrequencyDependenceFunction(ut1), IERSConventions.IERS_2010.getPermanentTide(), IERSConventions.IERS_2010.getSolidPoleTide(ut1.getEOPHistory()), FramesFactory.getITRF(IERSConventions.IERS_2010, false), Constants.WGS84_EARTH_EQUATORIAL_RADIUS, Constants.WGS84_EARTH_MU, TideSystem.ZERO_TIDE, CelestialBodyFactory.getSun(), CelestialBodyFactory.getMoon());
    Field fieldReal = tidesField.getClass().getDeclaredField("love");
    fieldReal.setAccessible(true);
    LoveNumbers love = (LoveNumbers) fieldReal.get(tidesField);
    Assert.assertEquals(-0.00000, love.getImaginary(2, 0), 1.0e-10);
    Assert.assertEquals(-0.00144, love.getImaginary(2, 1), 1.0e-10);
    Assert.assertEquals(-0.00130, love.getImaginary(2, 2), 1.0e-10);
    Assert.assertEquals(0.0, love.getImaginary(3, 0), 1.0e-10);
    Assert.assertEquals(0.0, love.getImaginary(3, 1), 1.0e-10);
    Assert.assertEquals(0.0, love.getImaginary(3, 2), 1.0e-10);
    Assert.assertEquals(0.0, love.getImaginary(3, 3), 1.0e-10);
    Assert.assertEquals(-0.00089, love.getPlus(2, 0), 1.0e-10);
    Assert.assertEquals(-0.00080, love.getPlus(2, 1), 1.0e-10);
    Assert.assertEquals(-0.00057, love.getPlus(2, 2), 1.0e-10);
    Assert.assertEquals(0.0, love.getPlus(3, 0), 1.0e-10);
    Assert.assertEquals(0.0, love.getPlus(3, 1), 1.0e-10);
    Assert.assertEquals(0.0, love.getPlus(3, 2), 1.0e-10);
    Assert.assertEquals(0.0, love.getPlus(3, 3), 1.0e-10);
}
Also used : Field(java.lang.reflect.Field) LoveNumbers(org.orekit.utils.LoveNumbers) UT1Scale(org.orekit.time.UT1Scale) Test(org.junit.Test)

Example 2 with LoveNumbers

use of org.orekit.utils.LoveNumbers in project Orekit by CS-SI.

the class SolidTidesFieldTest method testConventions2003.

@Test
public void testConventions2003() throws OrekitException, NoSuchFieldException, IllegalAccessException {
    UT1Scale ut1 = TimeScalesFactory.getUT1(IERSConventions.IERS_2010, false);
    SolidTidesField tidesField = new SolidTidesField(IERSConventions.IERS_2003.getLoveNumbers(), IERSConventions.IERS_2003.getTideFrequencyDependenceFunction(ut1), IERSConventions.IERS_2003.getPermanentTide(), IERSConventions.IERS_2003.getSolidPoleTide(ut1.getEOPHistory()), FramesFactory.getITRF(IERSConventions.IERS_2003, false), Constants.WGS84_EARTH_EQUATORIAL_RADIUS, Constants.WGS84_EARTH_MU, TideSystem.ZERO_TIDE, CelestialBodyFactory.getSun(), CelestialBodyFactory.getMoon());
    Field fieldReal = tidesField.getClass().getDeclaredField("love");
    fieldReal.setAccessible(true);
    LoveNumbers love = (LoveNumbers) fieldReal.get(tidesField);
    Assert.assertEquals(0.30190, love.getReal(2, 0), 1.0e-10);
    Assert.assertEquals(0.29830, love.getReal(2, 1), 1.0e-10);
    Assert.assertEquals(0.30102, love.getReal(2, 2), 1.0e-10);
    Assert.assertEquals(0.093, love.getReal(3, 0), 1.0e-10);
    Assert.assertEquals(0.093, love.getReal(3, 1), 1.0e-10);
    Assert.assertEquals(0.093, love.getReal(3, 2), 1.0e-10);
    Assert.assertEquals(0.094, love.getReal(3, 3), 1.0e-10);
    Assert.assertEquals(-0.00000, love.getImaginary(2, 0), 1.0e-10);
    Assert.assertEquals(-0.00144, love.getImaginary(2, 1), 1.0e-10);
    Assert.assertEquals(-0.00130, love.getImaginary(2, 2), 1.0e-10);
    Assert.assertEquals(0.0, love.getImaginary(3, 0), 1.0e-10);
    Assert.assertEquals(0.0, love.getImaginary(3, 1), 1.0e-10);
    Assert.assertEquals(0.0, love.getImaginary(3, 2), 1.0e-10);
    Assert.assertEquals(0.0, love.getImaginary(3, 3), 1.0e-10);
    Assert.assertEquals(-0.00089, love.getPlus(2, 0), 1.0e-10);
    Assert.assertEquals(-0.00080, love.getPlus(2, 1), 1.0e-10);
    Assert.assertEquals(-0.00057, love.getPlus(2, 2), 1.0e-10);
    Assert.assertEquals(0.0, love.getPlus(3, 0), 1.0e-10);
    Assert.assertEquals(0.0, love.getPlus(3, 1), 1.0e-10);
    Assert.assertEquals(0.0, love.getPlus(3, 2), 1.0e-10);
    Assert.assertEquals(0.0, love.getPlus(3, 3), 1.0e-10);
}
Also used : Field(java.lang.reflect.Field) LoveNumbers(org.orekit.utils.LoveNumbers) UT1Scale(org.orekit.time.UT1Scale) Test(org.junit.Test)

Aggregations

Field (java.lang.reflect.Field)2 Test (org.junit.Test)2 UT1Scale (org.orekit.time.UT1Scale)2 LoveNumbers (org.orekit.utils.LoveNumbers)2