#!/usr/bin/python import cgi import cgitb; cgitb.enable() # nicely formatted errors messages to the web user... import os # to enable ls import string import glob # to customize order in listboxes flightlist=['201008','201007' , '201009', '201010', '201101','201103','201104','201105']; flightdict={ '201008':'201008','201007':'201007','201009':'201009','201010':'201010', '201101':'201101','201103':'201103','201104':'201104','201105':'201105'} #Months monthlist=['1','2' , '3', '4', '5','6','7','8','9','10','11','12']; monthdict={ '1':'01','2':'02','3':'03','4':'04', '5':'05','6':'06','7':'07','8':'08','9':'09','10':'10','11':'11','12':'12'} #Receptors receptlist=['BAL_NOA', 'CHL_ECA','ETL_ECA','FSD_ECA','LLB_ECA','TTA_ING', 'MHD_ING', 'MHD_AGA','PAL_FMI', 'YAK_JRS','ZEP_NIL','ZEP_NOA', 'BIR_NIL']; receptdict={'TTA_ING':'TTA_ING','MHD_ING':'MHD_ING', 'MHD_AGA':'MHD_AGA','PAL_FMI':'PAL_FMI', 'ZEP_NIL':'ZEP_NIL', 'BIR_NIL':'BIR_NIL'} # to customize order in listboxes tracerlist=['CH4','-'] tracerdict={'CH4':'CH4','-':'-'} # to translate internal level names to user readable names #productlist=['Footprint','Total Column','Retroplume','BC contr.','BB-BC contr.','Age Spec', 'Emission prior'] productlist=['Map observations','Footprint','Emission', 'Error', 'Time series'] productdict={} #productdict['Retroplume']={'fieldtype':'Product','fnam':'_retroplume','subcat':['regional','global']} productdict['Map observations']={'fieldtype':'Product','fnam':'_map','subcat':['-']} productdict['Footprint']={'fieldtype':'Product','fnam':'_footprint','subcat':['global','regional']} #productdict['Total Column']={'fieldtype':'Product','fnam':'_column','subcat':['global','regional']} #productdict['BC contr.']={'fieldtype':'Product','fnam':'_bc','subcat':['regional','global']} #productdict['BB-BC contr.']={'fieldtype':'Product','fnam':'_fire_bc','subcat':['regional','global']} #productdict['Age Spec']={'fieldtype':'Spectrum','fnam':'AGESPECTRUM_','fnam_dat':'agespectrum_','subcat':['TOTAL','fire']} #productdict['Continent Spec']={'fieldtype':'Spectrum','fnam':'CONTINENTS_','fnam_dat':'continentspectrum','subcat':['TOTAL']} productdict['Emission']={'fieldtype':'','fnam':'_em_prior','subcat':['prior','posterior', 'difference']} productdict['Error']={'fieldtype':'','fnam':'_er_post','subcat':['prior','posterior','reduction']} productdict['Time series']={'fieldtype':'','fnam':'_er_post','subcat':['-']} spectrumlist=['_bc_a','_bc_w','_bc_d'] # get the parameters into variable form form = cgi.FieldStorage() # get parameters into local variables # f_timeind goes from 0 to 23 if form.has_key('timeind'): f_timeind=(int(form["timeind"].value)) else: f_timeind=1 if form.has_key('flight'): f_flighttype = form["flight"].value else: f_flighttype = flightlist[0] if form.has_key('recept'): f_recept = form["recept"].value else: f_recept = receptlist[0] if form.has_key('product'): f_producttype = form["product"].value else: f_producttype = productlist[0] if form.has_key('productsubcat') and form['productsubcat'].value in productdict[f_producttype]['subcat']: f_productsubcat = form["productsubcat"].value else: f_productsubcat = productdict[f_producttype]['subcat'][0] if form.has_key('tracer'): f_tracertype = form["tracer"].value else: f_tracertype=tracerlist[0] #if form.has_key('region'): # f_region = form["region"].value #else: # f_region=regionlist[0] if form.has_key('action'): f_action = form["action"].value else: f_action = "" #timedictlen=int(file('/viper/home/christine/public_html/ICOS2/'+str(f_flighttype)+ '/releasenumber_for_this_flight').readline().split("/")[0]) timedictlen=int(file('/viper/home/christine/public_html/ICOS2/201007/'+'/releasenumber_for_this_flight').readline().split("/")[0]) #timedictlen=int(file('/viper/home/christine/public_html/ICOS2/201007/'+str(f_recept) + '/releasenumber_for_this_flight').readline().split("/")[0]) #timedictlen=int(file('../ICOS2/201007/'+str(f_recept) + '/releasenumber_for_this_flight').readline().split("/")[0]) timedict=range(1,timedictlen+1) # process timestep navigation buttons if f_action == "FIRST": f_timeind=0 elif f_action == "-20" and f_timeind > 9: f_timeind=f_timeind-20 elif f_action == "PREV" and f_timeind > 0: f_timeind=f_timeind-1 elif f_action == "LAST": f_timeind=len(timedict)-1 elif f_action == "NEXT" and f_timeind < len(timedict)-1: f_timeind=f_timeind+1 elif f_action == "+20" and (f_timeind+20)<=len(timedict): f_timeind=f_timeind+20 if f_action == "VIEW PLOT": f_viewdata=0 else: f_viewdata=1 if f_action == "VIEW DATA": f_viewdata=1 else: f_viewdata=0 #filenameprefix= '/home/christine/public_html/ICOS2/'+str(f_flighttype) +'/'+str(f_recept) filenameprefix= str(f_flighttype) +'/'+str(f_recept) if f_producttype == 'Retroplume': filenametracer = '' else: filenametracer = str(tracerdict[f_tracertype]) if f_timeind > len(timedict): f_timeind=len(timedict)-1 if productdict[f_producttype]['fieldtype'] == 'Spectrum': filename = filenameprefix + str(productdict[f_producttype]['fnam']) + str(f_productsubcat) + str(tracerdict[f_tracertype]) + '.gif' if str(productdict[f_producttype]['fnam_dat'])=='continentspectrum': filename_dat_1 = filenameprefix + str(productdict[f_producttype]['fnam_dat']) else: if str(f_productsubcat)=='fire': filename_dat_1 = filenameprefix + str(productdict[f_producttype]['fnam_dat']) + 'TOTAL_' + str(f_productsubcat) else: filename_dat_1 = filenameprefix + str(productdict[f_producttype]['fnam_dat']) + str(f_productsubcat) filename_dat_2 = '_' + str(f_flighttype) + '.dat' elif f_producttype=='Emission': if f_productsubcat == 'prior': filename = str(f_flighttype) +'/FLEXINVERT/emis_prior.jpg' if f_productsubcat == 'posterior': filename = str(f_flighttype) +'/FLEXINVERT/emis_post.jpg' if f_productsubcat == 'difference': filename = str(f_flighttype) +'/FLEXINVERT/emis_dif.jpg' elif f_producttype=='Error' : if f_productsubcat == 'prior': filename = str(f_flighttype) +'/FLEXINVERT/error_prior.jpg' if f_productsubcat == 'posterior': filename = str(f_flighttype) +'/FLEXINVERT/error_post.jpg' if f_productsubcat == 'reduction': filename = str(f_flighttype) +'/FLEXINVERT/error_red.jpg' elif f_producttype=='Time series': filename = str(f_flighttype) +'/FLEXINVERT/'+ str(f_recept)+'_series.jpg' elif f_producttype=='Map observations': filename = str(f_flighttype) +'/FLEXINVERT/'+ 'stat_map.jpg' else: # filename = filenameprefix +'/fp_' + filenametracer + '_glob/gmeta_' + str(timedict[f_timeind]).zfill(3) + '.gif' if f_productsubcat == 'regional': filename = filenameprefix +'/fp_sfc_reg/gmeta_' + str(timedict[f_timeind]).zfill(3) + '.gif' else: filename = filenameprefix +'/fp_sfc_glob/gmeta_' + str(timedict[f_timeind]).zfill(3) + '.gif' # display the page print "Content-Type: text/HTML" print print "