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);
}
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);
}
Aggregations