Exemplo n.º 1
0
def create_ch09table(request):
    '''Generates information from 'new' ch 09 related questions
    
    '''
    #get real models
    models = getModels(pubonly=True)
    #generate information for ar5 table 1
    ch09tableinfo = ch09table(models)

    # set up my urls ...
    urls = {}
    urls['home'] = reverse('cmip5q.explorer.views_ar5.home', args=())
    urls['ch09csv'] = reverse('cmip5q.explorer.views_ar5.ch09csv', args=())
    urls['ch09bib'] = reverse('cmip5q.explorer.views_ar5.ch09bib', args=())

    return render_to_response('explorer/ar5/ch09table.html',
                              {'ch09table': ch09tableinfo,
                               'urls': urls})
Exemplo n.º 2
0
def ch09csv(request):
    '''
    Generates csv representation of ar5 table 1
    '''
    
    #get date for csv file title
    now = datetime.datetime.now()
    filename = 'ar5csv_Tuning_%d_%d_%d.csv' % (now.day, now.month, now.year) 
    # Create the HttpResponse object with the appropriate CSV header.
    response = HttpResponse(mimetype='text/csv')
    response['Content-Disposition'] = 'attachment; filename=%s' % filename

    #----- Ch 09 (Models) -----    
    #get real models
    models = getModels(pubonly=True)
    #generate information for ar5 table 1
    ch09tableinfo = ch09table(models)

    writer = csv.writer(response)

    #write column headings
    writer.writerow(['Model ID',

                     'Institution',
                     
                     'Model Assembly',
                     
                     'Mean State Global Metrics',
                     
                     'Observed Trends Metrics',
                     
                     'Mean State Regional Metrics',
                     
                     'Temporal Variability Metrics',
                     
                     'Adjusted Parameters',
                     
                     'Other Model Tuning?',
                     
                     'Integral Conservation',
                     
                     'Specific Tuning',
                     
                     'Flux Correction Used?',
                     
                     'Flux Correction Fields',
                     
                     'Flux Correction Methods',                     
                     
                     ])

    #write out each row of information in turn
    for row in ch09tableinfo:
        
        # write out list values into strings before entering in csv table
        meanstateglobmets = []
        for met in row.meanstateglobmets:
            meanstateglobmets.append(met+'; ')
        meanstateglobmets = "".join(meanstateglobmets)
        
        obstrendsmets = []
        for met in row.obstrendsmets:
            obstrendsmets.append(met+'; ')
        obstrendsmets = "".join(obstrendsmets)
        
        meanstateregmets = []
        for met in row.meanstateregmets:
            meanstateregmets.append(met+'; ')
        meanstateregmets = "".join(meanstateregmets)
    
        tempvarmets = []
        for met in row.tempvarmets:
            tempvarmets.append(met+'; ')
        tempvarmets = "".join(tempvarmets)
        
        adjparams = []
        for met in row.adjparams:
            adjparams.append(met+'; ')
        adjparams = "".join(adjparams)
        
        intconservation = []
        for met in row.intconservation:
            intconservation.append(met+'; ')
        intconservation = "".join(intconservation)
        
        fluxcorrfields = []
        for met in row.fluxcorrfields:
            fluxcorrfields.append(met+'; ')
        fluxcorrfields = "".join(fluxcorrfields)
        
        
        writer.writerow([row.abbrev, 
                         
                         row.centre.name,
                         
                         row.modelassembly,
                         
                         meanstateglobmets,
                         
                         obstrendsmets,
                         
                         meanstateregmets,
                         
                         tempvarmets,
                         
                         adjparams,
                         
                         row.othmodtuning,
                         
                         intconservation,
                         
                         row.spectuning,
                         
                         row.fluxcorrused,
                         
                         fluxcorrfields,
                         
                         row.fluxcorrmeth,
                         
                         ])
    
    return response