Use version control | Use credible solvers | Explicitly list your limitations |
Report appropriately | Document your code | Provide examples of use |
Practice what you preach | Develop with the end user in mind | Attempt validation within context |
Follow discipline-specific guidelines | Attempt verification within context | Attempt uncertainty (error) estimation |
Make sure your results are reproducible | Define your evaluation metrics in advance | Conform to discipline-specific standards |
Be a discipline-independent/ specific example | Learn from discipline-independent examples | Use appropriate data (input, validation, verification) |
Define the context the model is intended to be used for | Perform appropriate level of sensitivity analysis within context of use | Use consistent terminology or define your terminology |
Get it reviewed by independent users/developers/members | Provide user instructions whenever possible and applicable | Use traceable data that can be traced back to the origin |
Disseminate whenever possible (source code, test suite, data, etc.) | Use competition of multiple implementations to check and balance each other | Â |