diff --git a/downloadversionIRdata.py b/downloadversionIRdata.py index 6861b09314821f25766ef005f1dc6d94a548cbdd..741c100c5fbd8edecfc06508a47b4b8619642dcb 100644 --- a/downloadversionIRdata.py +++ b/downloadversionIRdata.py @@ -4,7 +4,7 @@ Created on Wed Oct 25 15:51:46 2017 updated on Tue Aug 21 10:20:00 2018 last update on Fr Nov 23 15:37:00 2018 -Version: 3.2.2 +Version: 3.2.3 (Numbering: #of big changes(OP1.2a download V1, OP1.2b download V2, heatflux V3) . #of updates to add functionalities . #number of updates for bug fixes ) @author: holn """ @@ -149,7 +149,7 @@ def download_LUT(port,time,exposure=0,emissivity=0,camera_filter=0,version=0, ve print("download_LUT: Error! Camera unknown, stopping here.") raise Exception if version==0: - version=get_latest_version(portpathdict[OP]["AEF"+str(port)]+"LUT_DATASTREAM") + version=get_latest_version(portpathdict[OP]["AEF"+str(port)]+"LUT_DATASTREAM",t_from=time) if verbose>0: print("download_LUT: LUT V"+str(version)+" is used") #time=int(fu.TimeToNs([2017,9,26],[8,0,0,0])) @@ -214,7 +214,7 @@ def download_NUC_by_times(port,starttime,stoptime,exposure,version=0): larchivepath=archivepath+project+"/"+portpathdict[OP]["AEF"+str(port)]+"NUC_" # NUC_parlog=AKF_1.read_restdb_old(archivepath+"PARLOG/V"+str(version)+"/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) if version==0: - version=get_latest_version(portpathdict[OP]["AEF"+str(port)]+"NUC_DATASTREAM") + version=get_latest_version(portpathdict[OP]["AEF"+str(port)]+"NUC_DATASTREAM",t_from=starttime) try: res = urllib.request.urlopen(larchivepath+"PARLOG/V"+str(version)+"/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) signal_list = json.loads(res.read().decode('utf-8')) @@ -490,7 +490,7 @@ def download_background_by_times(port,starttime,stoptime,exposure,camera_filter= stream=portpathdict[OP]["AEF"+str(port)]+"background_" larchivepath=archivepath+project+"/"+portpathdict[OP]["AEF"+str(port)]+"background_" if version==0: - version=get_latest_version(stream+"DATASTREAM") + version=get_latest_version(stream+"DATASTREAM",t_from=starttime) try: res = urllib.request.urlopen(larchivepath+"PARLOG/V"+str(version)+"/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) signal_list = json.loads(res.read().decode('utf-8')) @@ -1138,7 +1138,7 @@ def download_raw_parlog_by_times(port,starttime,stoptime,version=0): """ OP=IR_tools.get_OP_by_time(time_ns=stoptime) if version==0: - version=get_latest_version(portpathdict[OP]["AEF"+str(port)]+"raw_PARLOG") + version=get_latest_version(portpathdict[OP]["AEF"+str(port)]+"raw_PARLOG",t_from=starttime) larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(port)]+"raw_PARLOG/V"+str(version) try: res = urllib.request.urlopen(larchivepath+"/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) @@ -1175,7 +1175,7 @@ def get_INFRATEC_filter_by_times(starttime,stoptime,port=50,version=0): """ OP=IR_tools.get_OP_by_time(time_ns=starttime) if version==0: - version=get_latest_version(portpathdict[OP]["AEF"+str(port)]+"raw_PARLOG") + version=get_latest_version(portpathdict[OP]["AEF"+str(port)]+"raw_PARLOG",t_from=starttime) larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(port)]+"raw_PARLOG/V"+str(version) try: res = urllib.request.urlopen(larchivepath+"/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) @@ -1216,7 +1216,7 @@ def get_exposure_by_times(port,starttime,stoptime,version=0): larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(port)]+"meta_" stream=portpathdict[OP]["AEF"+str(port)]+"meta_" if version==0: - version=get_latest_version(stream+"DATASTREAM") + version=get_latest_version(stream+"DATASTREAM",t_from=starttime) return read_restdb(larchivepath+"DATASTREAM/V"+str(version)+"/3/exposuretime"+"/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) def get_camera_temp_by_program(port,program,version=0): @@ -1241,7 +1241,7 @@ def get_camera_temp_by_times(port,starttime,stoptime,version=0): stream=portpathdict[OP]["AEF"+str(port)]+"meta_" larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(port)]+"meta_" if version==0: - version=get_latest_version(stream+"DATASTREAM") + version=get_latest_version(stream+"DATASTREAM",t_from=starttime) dummy=read_restdb(larchivepath+"DATASTREAM/V"+str(version)+"/1/cameratemperature/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) if dummy[0]: return dummy @@ -1270,7 +1270,7 @@ def get_sensor_temp_by_times(port,starttime,stoptime,version=0): stream=portpathdict[OP]["AEF"+str(port)]+"meta_" larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(port)]+"meta_" if version==0: - version=get_latest_version(stream+"DATASTREAM") + version=get_latest_version(stream+"DATASTREAM",t_from=starttime) return read_restdb(larchivepath+"DATASTREAM/V"+str(version)+"/0/sensortemperature/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) def get_camera_framerate_by_program(port,program,version=0): @@ -1296,7 +1296,7 @@ def get_camera_framerate_by_times(port,starttime,stoptime,version=0): stream=portpathdict[OP]["AEF"+str(port)]+"meta_" larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(port)]+"meta_" if version==0: - version=get_latest_version(stream+"DATASTREAM") + version=get_latest_version(stream+"DATASTREAM",t_from=starttime) return read_restdb(larchivepath+"DATASTREAM/V"+str(version)+"/2/framerate/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) @@ -1322,7 +1322,7 @@ def get_frametype_by_times(port,starttime,stoptime,version=0): stream=portpathdict[OP]["AEF"+str(port)]+"meta_" larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(port)]+"meta_" if version==0: - version=get_latest_version(stream+"DATASTREAM") + version=get_latest_version(stream+"DATASTREAM",t_from=starttime) return read_restdb(larchivepath+"DATASTREAM/V"+str(version)+"/5/frametype/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) def get_framenumber_by_program(port,program,version=0): @@ -1347,7 +1347,7 @@ def get_framenumber_by_times(port,starttime,stoptime,version=0): stream=portpathdict[OP]["AEF"+str(port)]+"meta_" larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(port)]+"meta_" if version==0: - version=get_latest_version(stream+"DATASTREAM") + version=get_latest_version(stream+"DATASTREAM",t_from=starttime) return read_restdb(larchivepath+"DATASTREAM/V"+str(version)+"/4/framenumber/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) def get_average_divertor_TC_for_camtemp(port,starttime,endtime,part="all",TC=0): @@ -1870,7 +1870,7 @@ def get_temp_from_raw_by_program_fullthreads(portnr,program,time_window=0,emi=0. success=True OP=IR_tools.get_OP_by_time(time_ns=starttime) if version==0: - version=get_latest_version(portpathdict[OP]["AEF"+str(portnr)]+"raw_DATASTREAM") + version=get_latest_version(portpathdict[OP]["AEF"+str(portnr)]+"raw_DATASTREAM",program=program) larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(portnr)]+"raw_DATASTREAM/V"+str(version)+"/0/raw" if type(time_window)==list: tstart=time_window[0] @@ -2014,7 +2014,7 @@ def get_nuced_raw_by_program_fullthreads(portnr,program,time_window=0,emi=0.8, if verbose>0: print('get_nuced_raw_by_program_fullthreads: prepare loading images by threads') if version==0: - version=get_latest_version(portpathdict[OP]["AEF"+str(portnr)]+"raw_DATASTREAM") + version=get_latest_version(portpathdict[OP]["AEF"+str(portnr)]+"raw_DATASTREAM",t_from=starttime) larchivepath=archivepath+"W7X/"+portpathdict[OP]["AEF"+str(portnr)]+"raw_DATASTREAM/V"+str(version)+"/0/raw" if type(time_window)==list: tstart=time_window[0] @@ -2543,7 +2543,7 @@ def estimate_offset(port,program,plot_it=False,verbose=0): return -1 def download_heatflux_by_program(port,program,time_window=0,threads=1,testmode=False, - version=0,verbose=0,givealpha=False,request=True): + version=0,verbose=0,givealpha=False,request=True,moffset=0): """ port: string or integer program: string @@ -2577,13 +2577,13 @@ def download_heatflux_by_program(port,program,time_window=0,threads=1,testmode=F tstart=tstart-1.1e9 return download_heatflux_by_times(port=port,tstart=tstart,tend=tend,time_window=0, testmode=testmode,version=version,verbose=verbose, - request=request) + request=request,moffset=moffset) else: print("download_heatflux_by_program: Error! program not found") return False,0,-1 def download_heatflux_by_times(port,tstart,tend,time_window=0,threads=1,testmode=False, - version=0,verbose=0,request=True): + version=0,verbose=0,request=True,moffset=0): """ port: string or integer tstart: int64 timestamp in ns from which point the download should start @@ -2643,7 +2643,7 @@ def download_heatflux_by_times(port,tstart,tend,time_window=0,threads=1,testmode if verbose>0: print(now,"download_heatflux_by_times: heat flux data is not available") if request: - f=open(heatflux_requestlist_path+str(now.year)+str(now.month)+"_q_requests.txt",'a') + f=open(heatflux_requestlist_path+str(now.year)+str(now.month+moffset)+"_q_requests.txt",'a') try: programid=AKF_2.get_program_id(tstart) except Exception as E: @@ -2669,7 +2669,7 @@ def download_heatflux_mapping_reference(timepoint=None,version=0,testmode=False, base=archivepath # OP=IR_tools.get_OP_by_time(time_ns=timepoint) if version==0: - version=get_latest_version("QRT_IRCAM/Mapping_reference_DATASTREAM",project=project_ana,Test=testmode) + version=get_latest_version("QRT_IRCAM/Mapping_reference_DATASTREAM",project=project_ana,Test=testmode,t_from=timepoint) larchivepath=base+project_ana+"/"+"QRT_IRCAM/Mapping_reference_DATASTREAM/V"+str(version)+"/0/reference" ### test for the testsample### # if version==0: @@ -3419,25 +3419,26 @@ if __name__=='__main__': print("local function calling") #%% temperature download and plotting example - port=50#"AEF50"#"AEF51" - prog='20170927.020'#"20181011.036"#"20181016.037"#"20180920.042"#"20171109.021"#"20181010.036" - status,time,images,valid=get_temp_from_raw_by_program(port,prog,time_window=[0,4],emi=0.80,T_version=2,version=0,threads=4,give_ERROR=False,use_firstframe_as_background=False,verbose=5) + port=51#"AEF50"#"AEF51"'20171114.053'# + prog="20180906.012"#"20181011.033"#'20171122.035'#'20181011.010'#'20180823.037'#'20170927.020'#"20181011.036"#"20181016.037"#"20180920.042"#"20171109.021"#"20181010.036" + status,time,images,valid=get_temp_from_raw_by_program(port,prog,time_window=[6,6.1],emi=0.80,T_version=2,version=0,threads=1,give_ERROR=False,use_firstframe_as_background=False,verbose=5) # status2,time2,images2=download_raw_images_by_program(port,prog,time_window=0.02,verbose=5) # bla=get_calib_data(50,program=prog,verbose=5) # success,t,s,profile=extract_temperature_profile_from_DL(port,np.asarray(time-time[0])/1e9,images,profile="TM3h_5_5",verbose=10,reference_time=time[0]) if status: plt.figure() - plt.imshow(images[0],vmin=330,vmax=1000,cmap=exJet) + plt.imshow(images[-1],vmin=330,vmax=1000,cmap=exJet) cb=plt.colorbar() cb.set_label("temperature in K",rotation=270,labelpad=20,fontsize=20) cb.ax.tick_params(labelsize=20) + plt.title("AEF{0}".format(port)) #%% heatflux test # port=10 # prog="20180904.015" # -# for prog in ["20180823.016","20180918.045","20181016.037","20181009.024","20181016.016"]:#"20171207.024","20180814.024","20181016.016","20181010.036"]: +# for prog in ["20171207.016"]:#"20180821.012"]:#"20180823.016","20180918.045","20181016.037","20181009.024","20181016.016"]:#"20171207.024","20180814.024","20181016.016","20181010.036"]: # for port in [10,11,20,21,30,31,40,41,50,51]: -# status,time,images=download_heatflux_by_program(port,prog,time_window=4,threads=4,version=2,verbose=3,givealpha=False,request=True) +# status,time,images=download_heatflux_by_program(port,prog,time_window=0.9,threads=4,version=2,verbose=3,givealpha=False,request=True) ## status,time,load,error=download_divertor_load(port,targetmodule=['all','tm1h'],program=prog,verbose=5,version=3) # if status: # print(prog,port,"OK") @@ -3448,9 +3449,10 @@ if __name__=='__main__': # status,mapping=download_heatflux_mapping_reference(verbose=4) # test=get_heatflux_profile(20,1605,timepoint=1,program="20171109.008",verbose=4) #%% loads test -# port=21 -# prog="20171114.052" -# status,time,load,error=download_divertor_load(port,targetmodule=['all','tm1h'],program=prog,verbose=5,debug=True) +# port=10 +# prog="20171207.016"#"20181011.015"#"20171114.052" +# for port in [10,11,20,21,30,31,40,41,50,51]: +# status,time,load,error=download_divertor_load(port,targetmodule=['all','tm1h'],program=prog,verbose=5) #%% scene model test # port=10 # exist,model=download_scene_model(port) diff --git a/plot_heatflux_example.py b/plot_heatflux_example.py index 195f9c86858aeb988310acf3aa575c5290dfcd35..e8b79680c062725cf8248932ceb3af5fbd3f08fd 100644 --- a/plot_heatflux_example.py +++ b/plot_heatflux_example.py @@ -9,8 +9,8 @@ import downloadversionIRdata as IR import matplotlib.pyplot as plt import datetime -port=10 # 20 -program="20171207.022" # "20181004.012" +port=51 # 20 +program="20180927.017"#"20180904.007"#"20171207.022" # "20181004.012" if __name__=='__main__':