Changeset 4698 for nappy


Ignore:
Timestamp:
22/12/08 21:14:51 (11 years ago)
Author:
astephen
Message:

Various changes to get DCIP data writing cleanly to CSV files.

Location:
nappy/trunk/nappy
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • nappy/trunk/nappy/cdms_utils/axis_utils.py

    r4693 r4698  
    4040 
    4141    # Check units 
    42     print ax1.id, ax2.id 
    43     if hasattr(ax1, "units"): 
     42    if hasattr(ax1, "units") and hasattr(ax2, "units"): 
    4443        if ax1.units != ax2.units: return False 
    4544     
  • nappy/trunk/nappy/nc_interface/cdms_to_na.py

    r4693 r4698  
    7878        """ 
    7979        if self.converted == True: 
    80             print "Already converted to NA dictionary objects." 
    8180            return self.na_dict_list 
    8281         
  • nappy/trunk/nappy/nc_interface/na_content_collector.py

    r4693 r4698  
    7676        #    [ordered_vars,  auxiliary_vars,   rank_zero_vars] 
    7777        self.var_ids = None 
    78         self.globals = dict(global_attributes)   
     78        self.globals = dict(global_attributes) 
    7979        self.requested_ffi = requested_ffi 
    8080 
     
    140140                self.rank_zero_var_ids.append(var.id) 
    141141                continue 
    142             
     142 
    143143            # Update highest if highest found or if equals highest with bigger size 
    144144            try: 
     
    223223                # OK, I think the current variable is compatible to write with the best variable along with a NASA Ames file  
    224224                vars_for_na.append(var) 
    225                  
     225 
    226226        # Send vars_for_na AND aux_vars_for_na to a method to check if they have previously been mapped  
    227227        # from NASA Ames. In which case we'll write them back in the order they were initially read from the input file. 
     
    274274                aux_vars_for_na.append(var) 
    275275 
    276         aux_vars_for_na = aux_vars_for_na + other_aux_vars       
     276        aux_vars_for_na = aux_vars_for_na + other_aux_vars 
    277277        return (vars_for_na, aux_vars_for_na) 
    278278 
     
    508508                if key == "history": 
    509509                    time_string = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) 
    510                     history = "History:\t%s - Converted to NASA Ames format using nappy-%s.\n\t%s" % \ 
     510                    history = "History:  %s - Converted to NASA Ames format using nappy-%s.\n  %s" % \ 
    511511                                                 (time_string, version, self.globals[key]) 
    512512                    history = history.split("\n")  
    513513                    self.history = [] 
    514514                    for h in history: 
    515                         if h[:8] != "History:" and h[:1] != "\t":  
    516                             h = "\t" + h 
     515                        if h[:8] != "History:" and h[:1] != "  ":  
     516                            h = "  " + h 
    517517                        self.history.append(h)  
    518518                     
     
    526526                    else: 
    527527                        self.na_dict["ONAME"] = self.globals[key] 
    528                         self.na_dict["ORG"] = self.globals[key]             
     528                        self.na_dict["ORG"] = self.globals[key] 
    529529                    # NOTE: should probably do the following search and replace on all string lines 
    530530                    self.na_dict["ONAME"] = self.na_dict["ONAME"].replace("\n", "  ") 
    531531                    self.na_dict["ORG"] = self.na_dict["ORG"].replace("\n", "  ") 
    532                                      
     532 
    533533                elif key == "comment": 
    534534                    # Need to work out if they are actually comments from NASA Ames in the first place 
     
    547547                            normal_comm_flag = 1 
    548548                        elif line.find(hp["nc_end"]) > -1: 
    549                             normal_comm_flag = None      
     549                            normal_comm_flag = None 
    550550                        elif special_comm_flag == 1: 
    551551                            special_comments.append(line) 
     
    555555                            pass 
    556556                        else: 
    557                             normal_comments.append(line)             
    558                      
    559                     self.extra_comments = [special_comments, normal_comments, []]                    
    560                                      
     557                            normal_comments.append(line)     
     558 
     559                    self.extra_comments = [special_comments, normal_comments, []]     
     560 
    561561                elif key == "first_valid_date_of_data": 
    562562                    self.na_dict["DATE"] = self.globals[key] 
    563                  
     563 
    564564                elif key in ("Conventions", "references"): 
    565565                    #convention_or_reference_comments.append("%s:   %s" % (key, self.globals[key])) 
     
    587587        if len(NCOM) > 0:   NCOM.append("") 
    588588 
    589         # Use third item in self.extra_comments and adds to NCOM         
     589        # Use third item in self.extra_comments and adds to NCOM 
    590590        if len(self.extra_comments[2]) > 0: 
    591591            for excom in self.extra_comments[2]: 
    592592                NCOM.append(excom) 
    593          
     593 
    594594        if len(self.extra_comments[1]) > 0:   
    595595            NCOM.append(hp["addl_globals"]) 
     
    630630 
    631631        for var in self.rank_zero_vars: 
    632             rank_zero_vars_string.append("\tVariable %s: %s" % (var.id, nappy.cdms_utils.var_utils.getBestName(var))) 
     632            rank_zero_vars_string.append("  Variable %s: %s" % (var.id, nappy.cdms_utils.var_utils.getBestName(var))) 
    633633 
    634634            for att in var.attributes.keys(): 
     
    637637                if type(value) in (type("s"), type(1.0), type(1)): 
    638638 
    639                     rank_zero_vars_string.append("\t\t%s = %s" % (att, var.attributes[att])) 
     639                    rank_zero_vars_string.append("    %s = %s" % (att, var.attributes[att])) 
    640640 
    641641        if len(rank_zero_vars_string) > 0: 
     
    659659 
    660660                    if spec_comm_flag == None: 
    661                         SCOM = [hp["sc_start"]] + rank_zero_vars_string 
     661                        SCOM = [hp["sc_start"]] + rank_zero_vars_string 
    662662                        SCOM.append(hp["addl_vatts"]) 
    663663                        SCOM.append(hp["ncatts_start"]) 
     
    666666 
    667667                    if var_name_written == False: 
    668                         SCOM.append("\tVariable %s: %s" % (var.id, name)) 
     668                        SCOM.append("  Variable %s: %s" % (var.id, name)) 
    669669                        var_name_written = True 
    670670 
    671                     SCOM.append("\t\t%s = %s" % (scom, value)) 
     671                    SCOM.append("    %s = %s" % (scom, value)) 
    672672 
    673673        if var_comm_flag == 1:   
     
    686686                for line in lines: 
    687687                    if line != lines[0]:  
    688                         line = "\t" + line 
     688                        line = "  " + line 
    689689 
    690690                    NCOM_cleaned.append(line) 
    691                  
     691 
    692692        for c in SCOM: 
    693             if c.strip() not in ("", " ", "  "):                 
     693            if c.strip() not in ("", " ", "  "): 
    694694                # Replace new lines within one attribute with a newline and tab so easier to read 
    695695                lines = c.split("\n") 
    696696                for line in lines: 
    697697                    if line != lines[0]:  
    698                         line = "\t" + line 
     698                        line = "  " + line 
    699699 
    700700                    SCOM_cleaned.append(line) 
     
    719719        if not self.na_dict.has_key("RDATE"): 
    720720            self.na_dict["RDATE"] = time_now 
    721          
     721 
    722722        if self.ax0.isTime(): 
    723723            # Get first date in list 
Note: See TracChangeset for help on using the changeset viewer.