source: nappy/trunk/nappy/Plans for re-factoring 2008.txt @ 3350

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/nappy/trunk/nappy/Plans for re-factoring 2008.txt@3350
Revision 3350, 3.2 KB checked in by astephen, 12 years ago (diff)
Line 
1= Changes needed to make Nappy fit for purpose =
2
3 * Need error checking throughout - making it more robust but also checking on read will make Nappy a useful NASA Ames checker replacement.
4
5 * cdms interface should be in a separate part of the stack, not in core classes AND SUB-CLASSES
6
7 * Need to make an egg of it, but in the meantime we also need it installed as:
8
9-------------------
10We need to decide what is required in terms of:
11
12    * actual formats
13    * mappings to/from NetCDF
14    * mapping to/from other formats (if required).
15
16    AS and CK have been analysing the required changes to make Nappy suitable for automated conversion of NetCDF-CF in DCIP to NASA Ames / CSV variant.
17
18        Here is an initial list of issues
19
20    * Put in the option to order variables explicitly, rather than relying on nasa_ames_var_number attributes.
21
22    * Support for 2110 – NX for the quickest changing IV needs to be converted to an auxiliary variable which does not fit nicely into the structure. In principle the second independent variable length changes at each first independent variable value but we may need it fixed.
23
24    * Refactoring to make it clearer and functions shorter but not too short.
25    * Add an option for the learning column.
26    * Proper use of FFI selection.
27    * In cdms2na.py, stopping filling an axis once the start and increment are known may not be enough. May need to populate all of the axis.
28    * Column headings for Excel users, this will clash with the current #End of normal comments# lines.
29    * Is it still right that the 4010 class is the same as 2010?
30    * Does comma separation option work correctly – any consequences for RDATE and DATE which retains some space separation?
31    * float rounding in nappy to get difference between independent variable values - and degree of accuracy (8.3f etc)
32    * cdms2na() needs argument "variable_order" that is a list of the order you want them to appear in 2110.
33    * Need sensible handling of rotated grid data where found (might be wrapper outside of nappy
34    * FFI 2110 is best for 2D columns for Excel etc. - Nappy must support this
35
36
37===============
38localRules.py --> REMOVE COMPLETELY
39localRules/blah - remove this and put stuff in a top-level config file, or even remove altogether.
40
41localRules/aircraft.py - Need to consider how this can be a sub-class of Cdms2NA so that we push all the odd code into separate modules. Need to encapstulate the differences into one or two methods that are small and can be overridden.
42 * decided to dump all aircraft stuff in  an unsupported dir without refactoring in - it will probably never be used!
43
44=================
45
46import nappy  (via nappy_api.py module)
47nappy.convertNAToNC(na_file, nc_file)
48nappy.convertNCToNA(nc_file, na_file)
49
50================
51
52Have I broken textParser.py's main function - is it same in old and new - need a test for it!
53
54=====
55
56_readData[12] are crying out for useful names
57
58Should we leave in the interactive time units checker in na_to_cdms.py - ask Charles
59
60Unit tests
61==========
62
631001 appears to be done. Others are there as stubs but all need writing.
64
65We then need a set of nc_interface tests as well! Need NetCDF files to convert the other way as well. Need to be small.
Note: See TracBrowser for help on using the repository browser.