Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jigsaw Target Body - Mean Radius failure #4111

Closed
lwellerastro opened this issue Nov 5, 2020 · 6 comments
Closed

Jigsaw Target Body - Mean Radius failure #4111

lwellerastro opened this issue Nov 5, 2020 · 6 comments
Labels
bug Something isn't working Products Issues which are impacting the products group
Milestone

Comments

@lwellerastro
Copy link
Contributor

ISIS version(s) affected: 3.10.2 (also older version 3.8.1 and newer 4.2.0)
I'm doing on all of my work under 3.10.2 since this has been a complicated multi-year project. But confirmed more current version fails knowing that I will likely have to run it there if a bug is fixed.

Description
Jigsaw fails with the following error when solving for mean radius of a global network of Europa (consisting of Galileo and Voyager images):

CHOLMOD warning: matrix not positive definite. file: ../Supernodal/t_cholmod_super_numeric.c line: 911

solve failed!

The above only goes to screen and not to the print file.

How to reproduce

jigsaw froml=GalileoVoyager_Europa_Merged.lis cnet=GalileoVoyager_Europa_Merged.net \
        onet=JigOut_MeanRadius_GalileoVoyager_Europa_Merged.net \
        radius=no update=no errorprop=yes \
        sigma0=1.0e-10 maxits=10 \
        solvetargetbody=yes tbparameters=EuropaTargetBodyParameters_MeanRadius.pvl \
        camsolve=angles twist=yes \
        spsolve=none \
        camera_angles_sigma=1 \
        point_radius_sigma=500 \
        file_prefix=MeanRadius_AngTwist_GlobalMerged

It fails after the 6th iteration, but is complete rubish before that (sigma0's are off the charts). For some reason output files are generated, but it's garbage.

The triaxial run input/output is there for comparison.

This is not a massive network and this runs very quickly: 694 images, 51323 points, 135779 measures and is dominated by Galileo data.

The image list, network and pvl file are under /work/users/lweller/Isis3Tests/Jigsaw/TargetBody/Radius/. FYI - Images are stored under two different locations /work/projects/EuropaBasemap/lweller/ since there are two datasets here.

Additional context
I can successfully solve for triaxial radius for the same network. See EuropaTargetBodyParameters_TriaxialRadius.pvl in the same directory which is identical to the MeanRadius version except for what is being solved for.

I am using the same methods that were used for Enceladus which had successful run for both radius solutions. I initially had problems solving for mean radius with that data set, but it worked when MeanRadiusSigma was set to something other than 0 which is what it is set to in the template Ken originally provided. I have a sigma set for Europa but that doesn't seem to help.

A standard bundle (radius=true camsolve=angles twist=yes same constraints as above) produces good results. This is a very massaged network and is the merger of a near global galileo only network, a global voyager network and a smaller galileo-voyager connector network that were all independently cleaned before merging.

Note that I when I try to solve for mean radius for the voyager only network, jigsaw fails, but with a slightly different error:

    Program = jigsaw
    Class   = "PROGRAMMER ERROR"
    Code    = 3
    Message = "Negative distances are not supported, the value
               [-4038.2499291829 meters] cannot be stored in the Distance
               class"
    File    = Distance.cpp
    Line    = 503

I can solve for triaxial radius though.

If this is useful (maybe distracting, so ok to ignore), that network is under /work/users/lweller/Isis3Tests/Jigsaw/TargetBody/Radius/VoyagerNetwork/. This one gets through 1 iteration before failing and no bundleout output is generated.

@lwellerastro lwellerastro added the Products Issues which are impacting the products group label Nov 5, 2020
@jessemapel jessemapel added the bug Something isn't working label Nov 6, 2020
@lwellerastro
Copy link
Contributor Author

An incorrect MeanRadiusValue in the target body pvl was causing this failure. It turns out that in addition to Jupiter's satellite Europa the is an asteroid named (52) Europa and I picked up its radius value by accident. Argh! But I can solve for target body now, so yay!

@jessemapel
Copy link
Contributor

There should probably be a better error message here. It may be worth looking into how this snowballs into a non-positive definite matrix.

@lwellerastro
Copy link
Contributor Author

ok, that's fair. Plus it might lend some insight into the mystery of what it is actually doing.

The mean radius of the asteroid 157500.0 meters and 1560800 meters for Europa, so perhaps starting at a value that was really beyond the reality of the target made it puke.

@acpaquette
Copy link
Collaborator

@lwellerastro I think this can be closed?

@lwellerastro
Copy link
Contributor Author

Sure. I don't know what all is changing, but if there is some informative warning (if possible), then yes!

@jessemapel
Copy link
Contributor

Yep, we added a warning if any point radius is < half or > double your input mean radius. It should help with gross errors like you encountered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Products Issues which are impacting the products group
Projects
None yet
Development

No branches or pull requests

4 participants