示例#1
0
 def test_eofs(self):
     pres = np.arange(1, 300)
     casts = [Cast(pres, zunits="dbar", zname="pres",
                   theta=np.sin(pres*i*np.pi/300))
              for i in range(3)]
     cc = CastCollection(casts)
     structures, lamb, eofs = cc.eofs("theta")
     self.assertAlmostEqual(np.mean(np.abs(structures["theta_eof1"])), 0.634719360307)
     self.assertAlmostEqual(np.mean(np.abs(structures["theta_eof2"])), 0.363733575635)
     self.assertAlmostEqual(np.mean(np.abs(structures["theta_eof3"])), 0.350665870142)
     self.assertTrue(np.allclose(lamb, [87.27018523, 40.37800904, 2.02016724]))
     return