From a5a69dfdb9658bfbc0924738ccfe16f970475efd Mon Sep 17 00:00:00 2001 From: marioggil Date: Thu, 2 Nov 2023 12:41:41 -0500 Subject: [PATCH] Change to verificate image and generate all videos --- .gitignore | 3 ++- 2nc2image/ExtractImage.py | 2 +- 2nc2image/Verif.py | 21 +++++++++++++++++++++ 3image2video/0ColormapNoaa.py | 22 +++++----------------- 3image2video/0colormap.py | 32 ++++++++------------------------ 3image2video/SoloVideo.py | 34 ++++++++++++++++++++++++++++++++++ 3image2video/verif.py | 32 ++++++++++++++++++++++++++++++++ 7 files changed, 103 insertions(+), 43 deletions(-) create mode 100644 2nc2image/Verif.py create mode 100644 3image2video/SoloVideo.py create mode 100644 3image2video/verif.py diff --git a/.gitignore b/.gitignore index a7a1f72..9a2f943 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,5 @@ Data/* DataF/* DataOriginal/* -DataVieja/* \ No newline at end of file +DataVieja/* +3image2video/Videos.zip diff --git a/2nc2image/ExtractImage.py b/2nc2image/ExtractImage.py index 8fd728d..bf1ec48 100644 --- a/2nc2image/ExtractImage.py +++ b/2nc2image/ExtractImage.py @@ -202,7 +202,7 @@ def ProcessAllImage(ssp,model,Colorpalete,ExportDirectory,DataDirectory): ssp=["ssp245","ssp370","ssp585"] model=("BCC-CSM2-MR","CESM2","CanESM5","EC-Earth3","IPSL-CM6A-LR","MIROC6","MRI-ESM2-0","NorESM2-MM")#,"ensemble5","ensemble8") -Colorpalete=["RdYlBu",'Spectral','ocean',"coolwarm",] +Colorpalete=["RdYlBu",'Spectral','ocean',"coolwarm"] ExportDirectory="img/" DataDirectory="../Data/" diff --git a/2nc2image/Verif.py b/2nc2image/Verif.py new file mode 100644 index 0000000..c734333 --- /dev/null +++ b/2nc2image/Verif.py @@ -0,0 +1,21 @@ +import os +import glob +ssp=["ssp245","ssp370","ssp585"] +model=("BCC-CSM2-MR","CESM2","CanESM5","EC-Earth3","IPSL-CM6A-LR","MIROC6","MRI-ESM2-0","NorESM2-MM","ensemble5","ensemble8") +Colorpalete=["RdYlBu",'Spectral','ocean',"coolwarm","noaa"] +ExportDirectory="img/" +DataDirectory="../Data/" +listEval=[] +for i in ssp: + for j in model: + Var="DHW" + ff=DataDirectory+"%s_%s_%s_DHW.nc"%(Var,i,j) + for CM in Colorpalete: + for countyear in range(115): + year=1986 + Evaluado=ExportDirectory+"%s_%s"%(CM,ff.split("/")[-1].replace(".nc","_%s.png"%(year+countyear))) + listEval.append(Evaluado) +A1=set(listEval) +for name in glob.glob(ExportDirectory+"*.png"): + if name not in A1: + print(name) diff --git a/3image2video/0ColormapNoaa.py b/3image2video/0ColormapNoaa.py index 2b42b43..72bf3a2 100644 --- a/3image2video/0ColormapNoaa.py +++ b/3image2video/0ColormapNoaa.py @@ -1,9 +1,11 @@ import xarray as xr from PIL import Image, ImageDraw, ImageFont import os -import os import moviepy.video.io.ImageSequenceClip - +Var="DHW" +ssp=("ssp245","ssp370","ssp585") +model=("BCC-CSM2-MR","CESM2","CanESM5","IPSL-CM6A-LR","MIROC6","NorESM2-MM","MRI-ESM2-0","EC-Earth3","ensemble5","ensemble8") +Colormaps=['noaa'] def calculategetValuesColormap(nc2,year):#* """ Calculate values of colormap @@ -45,7 +47,6 @@ def textdraw(back_im,text,x,y,color,size=18,colormap=False): def ProcessAllImage(ssp,model,Colormap): cc=0 - Var="DHW" for i in ssp: for j in model: ff="../Data/%s_%s_%s_DHW.nc"%(Var,i,j) @@ -98,7 +99,7 @@ def ProcessAllImage(ssp,model,Colormap): for year in range(1986,2101): ListY.append('./SinCoralN/%s_%s_%s_%s_DHW_%s.png'%(Colormap,Var,i,j,year)) movie_clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(ListY, 2) - movie_clip.write_videofile("Videos/Animated_%s_%s_%s_%s_OFF"%(Colormap,Var,i,j)+".avi",codec="rawvideo") + movie_clip.write_videofile("Videos/Animated_%s_%s_%s_%s_OFF"%(Colormap,Var,i,j)+".webm") @@ -107,22 +108,9 @@ def ProcessAllImage(ssp,model,Colormap): #break #break #break - - -ssp=("ssp245","ssp370","ssp585") -#model=("ensemble5","ensemble8") -model=("ensemble5","ensemble8","BCC-CSM2-MR","CESM2","CanESM5","EC-Earth3","IPSL-CM6A-LR","MIROC6","MRI-ESM2-0","NorESM2-MM") -Colormaps=["noaa"] for Colormap in Colormaps: ProcessAllImage(ssp,model,Colormap) - -import moviepy.video.io.ImageSequenceClip - -Var="DHW" -ssp=("ssp245","ssp370","ssp585") -model=("ensemble5","ensemble8","BCC-CSM2-MR","CESM2","CanESM5","EC-Earth3","IPSL-CM6A-LR","MIROC6","MRI-ESM2-0","NorESM2-MM") -Colormaps=["noaa"] for Colormap in Colormaps: for i in ssp: for j in model: diff --git a/3image2video/0colormap.py b/3image2video/0colormap.py index 4495d59..6a645f5 100644 --- a/3image2video/0colormap.py +++ b/3image2video/0colormap.py @@ -2,7 +2,10 @@ import xarray as xr from PIL import Image, ImageDraw, ImageFont import os import moviepy.video.io.ImageSequenceClip - +Var="DHW" +ssp=("ssp245","ssp370","ssp585") +model=("BCC-CSM2-MR","CESM2","CanESM5","IPSL-CM6A-LR","MIROC6","NorESM2-MM","MRI-ESM2-0","EC-Earth3","ensemble5","ensemble8") +Colormaps=['Spectral','ocean',"coolwarm","RdYlBu"] def calculategetValuesColormap(nc2,year):#* """ Calculate values of colormap @@ -53,18 +56,14 @@ def ProcessAllImage(ssp,model,Colormap): Var="DHW" for i in ssp: for j in model: - ff="../Data/%s_%s_%s_DHW.nc"%(Var,i,j) - print(ff) + nc = xr.open_dataset(ff, decode_coords="all") try: - print(ff) - nc = xr.open_dataset(ff, decode_coords="all") + print(ff) except: pass for countyear in range(len(nc.time)): - - #try: nc2=nc.DHW_q99 year=int(nc.time[countyear].values) @@ -73,7 +72,6 @@ def ProcessAllImage(ssp,model,Colormap): if isFile: print(" Ya existe "+ path) continue - #print(ff,year) Min,Max,q1,q50,q25,q75,q99=calculategetValuesColormap(nc2,year) #print(Min,Max,q1,q50,q25,q75,q99) @@ -114,8 +112,6 @@ def ProcessAllImage(ssp,model,Colormap): x4=(x+x2)/2 back_im=textdraw(back_im,str(q25),x4,y,(205, 205, 205),12,True) back_im.save('SinCoralN/%s_%s_%s_%s_DHW_%s.png'%(Colormap,Var,i,j,year), quality=95) - - ListY=[] path="Videos/Animated_%s_%s_%s_%s_OFF"%(Colormap,Var,i,j)+".webm" isFile = os.path.isfile(path) @@ -126,24 +122,16 @@ def ProcessAllImage(ssp,model,Colormap): ListY.append('./SinCoralN/%s_%s_%s_%s_DHW_%s.png'%(Colormap,Var,i,j,year)) movie_clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(ListY, 2) movie_clip.write_videofile("./Videos/Animated_%s_%s_%s_%s_OFF"%(Colormap,Var,i,j)+".webm") - #except: # print(3432) #break #break #break - - -ssp=("ssp245","ssp370","ssp585") -model=("BCC-CSM2-MR","CESM2","CanESM5","EC-Earth3","IPSL-CM6A-LR","MIROC6","MRI-ESM2-0","NorESM2-MM","ensemble5","ensemble8",) -Colormaps=['Spectral','ocean',"coolwarm","RdYlBu"] for Colormap in Colormaps: ProcessAllImage(ssp,model,Colormap) -import xarray as xr -from PIL import Image, ImageDraw, ImageFont -import os + # for e in os.walk('./SinCoralN'): @@ -183,11 +171,7 @@ for file in e[2]: final2.save("./ConCoralN/"+file, quality=95) -import moviepy.video.io.ImageSequenceClip -Var="DHW" -ssp=("ssp245","ssp370","ssp585") -model=("BCC-CSM2-MR","CESM2","CanESM5","IPSL-CM6A-LR","MIROC6","NorESM2-MM","MRI-ESM2-0","EC-Earth3") -Colormaps=['Spectral','ocean',"coolwarm","RdYlBu"] + for Colormap in Colormaps: for i in ssp: for j in model: diff --git a/3image2video/SoloVideo.py b/3image2video/SoloVideo.py new file mode 100644 index 0000000..a9c23c1 --- /dev/null +++ b/3image2video/SoloVideo.py @@ -0,0 +1,34 @@ +import moviepy.video.io.ImageSequenceClip +import os +Var="DHW" +ssp=("ssp585") +model=("BCC-CSM2-MR","CESM2","CanESM5","IPSL-CM6A-LR","MIROC6","NorESM2-MM","MRI-ESM2-0","EC-Earth3","ensemble5","ensemble8") +Colormaps=["RdYlBu"]#'Spectral','ocean',"coolwarm", +for Colormap in Colormaps: + for i in ssp: + for j in model: + ListY=[] + path="Videos/Animated_%s_%s_%s_%s_ON"%(Colormap,Var,i,j)+".webm" + isFile = os.path.isfile(path) + if isFile: + print(" Ya existe "+ path) + continue + for year in range(1986,2101): + ListY.append('./ConCoralN/%s_%s_%s_%s_DHW_%s.png'%(Colormap,Var,i,j,year)) + print("%s_%s_%s_%s_ON"%(Colormap,Var,i,j)) + movie_clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(ListY, 2) + movie_clip.write_videofile(path) + +Var="DHW" +ssp=("ssp245","ssp370","ssp585") +model=("ensemble5","ensemble8","BCC-CSM2-MR","CESM2","CanESM5","EC-Earth3","IPSL-CM6A-LR","MIROC6","MRI-ESM2-0","NorESM2-MM") +Colormaps=["noaa"] +for Colormap in Colormaps: + for i in ssp: + for j in model: + ListY=[] + for year in range(1986,2101): + ListY.append('ConCoralN/%s_%s_%s_%s_DHW_%s.png'%(Colormap,Var,i,j,year)) + movie_clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(ListY, 2) + movie_clip.write_videofile("Videos/Animated_%s_%s_%s_%s_ON"%(Colormap,Var,i,j)+".webm") + diff --git a/3image2video/verif.py b/3image2video/verif.py new file mode 100644 index 0000000..b95eb73 --- /dev/null +++ b/3image2video/verif.py @@ -0,0 +1,32 @@ +import os +import glob +ssp=["ssp245","ssp370","ssp585"] +model=("BCC-CSM2-MR","CESM2","CanESM5","EC-Earth3","IPSL-CM6A-LR","MIROC6","MRI-ESM2-0","NorESM2-MM","ensemble5","ensemble8") +Colorpalete=["RdYlBu",'Spectral','ocean',"coolwarm","noaa"] + +ExportDirectory="/media/mario/723054df-b11b-4b93-a42e-c71cfc03fbfc/mario/Documentos/Ocean/ScuenciaOrganizadaPre/3image2video/Videos/" +DataDirectory="../Data/" +listEval=[] +for i in ssp: + for j in model: + Var="DHW" + ff=DataDirectory+"%s_%s_%s.nc"%(Var,i,j) + for CM in Colorpalete: + for countyear in ["ON","OFF"]: + + Evaluado=ExportDirectory+"Animated_%s_%s"%(CM,ff.split("/")[-1].replace(".nc","_%s.webm"%(countyear))) + #print(Evaluado) + listEval.append(Evaluado) +A1=set(listEval) +print("Videos no esperados") +VideosQueestan=[] +for name in glob.glob(ExportDirectory+"*.webm"): + VideosQueestan.append(name) + if name not in A1: + print(name) + pass +print("videos que faltan") +for name in A1: + if name not in VideosQueestan: + print(name) + pass \ No newline at end of file