General considerations for new work#
Which repository does this code belong to?#
Code that isn’t related to ancillary generation (e.g. general purpose utilities) or code that cannot be released under the same licence as ANTS should be in a different repository. See Code Repositories.
Where should code be added?#
Code that can be used across multiple ancillary generation routines. Only on structured grids
Specific science code. This is usually specific to an ancillary, e.g. Leaf area index. This code usually requires an additional science review.
If an application is for a specific project, it should go into the
Projects directory, otherwise code should go into the Apps
directory, choosing or creating a suitable sub-directory depending
on the ancillary being created.
Please consult miao@metoffice.gov.uk if you are considering the
Models directory
Run once scripts for generating master
files that will be stored in $ANCILDIR/atmos/master (or similar central
location). This is used as a record for what was done.
Please consult miao@metoffice.gov.uk if you are considering the
ancillary-file-data-preparation repository.
Code that can be used across multiple ancillary generation routines on unstructured grids.
Specific science code. This is usually specific to an ancillary, e.g. Leaf area index. Only code that uses unstructured grids. If pre-processing is required on structured grids, that part of the code would go in ancillary-file-science
Is the planned development going to be in python?#
If it is another language, it will not be accepted into ANTS and related code repositories. repositories. An exception may be made for bash shell scripts on a case by case basis - but see the guidance on shell style requirements.
Python 2 or IDL code will not be accepted. ANTS is a python based ecosystem and the team supporting it are unable to support other languages.
Does the change mean a change in the dependencies required in ANTS environments?#
For example, additional packages or new constraints on minimum versions of packages? This should be clearly documented on the issue.
Please contact the MIAO team if the issue being worked on requires a change in the environment (adding, removing, or updating a dependency). There are technical, process, and scientific consistency reasons why a change in environment may not be accepted, so having this conversation early in the process reduces the risk of wasting effort.