File:Beringia chelsa trace zagoskin tjuly 14500BP 1.png
Original file (1,168 × 784 pixels, file size: 506 KB, MIME type: image/png)
Captions
Summary
[edit]DescriptionBeringia chelsa trace zagoskin tjuly 14500BP 1.png |
English: July temperature of Eastern Beringia, 14500 BP. |
Date | |
Source | Own work |
Author | Merikanto |
Camera location | 65° 00′ 00″ N, 150° 00′ 00″ E | View this and other nearby images on: OpenStreetMap | 65.000000; 150.000000 |
---|
This image is based on Trace 21 Chelsa 1.2 dataset and paleotemperature of Zagoskin Lake.
Data is downloaded from server and processed further with script. Temperature offset is estimated visually from output of image renderings.
Vusualization with Panoply.
The source of raster data to produce this image is
CHELSA trace dataset.
https://chelsa-climate.org/ https://envicloud.wsl.ch/#/?prefix=chelsa%2Fchelsa_V1
Data is downloader via script, processed further and visualized with
Nasa Panoply netcdf Viewer.
Karger, D.N., Conrad, O., Böhner, J., Kawohl, T., Kreft, H., Soria-Auza, R.W., Zimmermann, N.E., Linder, P., Kessler, M. (2017). Climatologies at high resolution for the Earth land surface areas. Scientific Data. 4 170122. https://doi.org/10.1038/sdata.2017.122
Karger D.N., Conrad, O., Böhner, J., Kawohl, T., Kreft, H., Soria-Auza, R.W., Zimmermann, N.E,, Linder, H.P., Kessler, M.. Data from: Climatologies at high resolution for the earth’s land surface areas. Dryad Digital Repository.http://dx.doi.org/doi:10.5061/dryad.kd1d4
Paleotemperature data is Kurek et al 2009:
WDC PALEO CONTRIBUTION SERIES CITATION:
Kurek, J., et al. 2009.
Western Alaska 39KYr Midge-Inferred July Temperatures.
IGBP PAGES/World Data Center for Paleoclimatology
Data Contribution Series # 2009-113.
NOAA/NCDC Paleoclimatology Program, Boulder CO, USA.
ORIGINAL REFERENCE:
Kurek, J., L.C. Cwynar, T.A. Ager, M.B. Abbott, and M.E. Edwards. 2009.
Late Quaternary paleoclimate of western Alaska inferred from fossil
chironomids and its relation to vegetation histories.
Quaternary Science Reviews, Vol. 28, pp. 799-811.
doi:10.1016/j.quascirev.2008.12.001
Old chelsa downloader
- Chelsa climate 1.2 data fetch retrieve get
- only some global datasets, paleoclimatology, not future nor accurate
- climatologies timeseries lgm trace exchelsa cruts
- 16.2.2021
- v 0000.0004
-
import numpy
import scipy
import matplotlib.pyplot as plt
import requests
import os
def create_dirs():
path1 = "chelsa"
try:
os.rmdir(path1)
except OSError:
print(" ")
try:
os.mkdir(path1)
except OSError:
print ("Creation of the directory %s failed" % path1)
else:
print ("Created the directory %s " % path1)
return(0)
def get_chelsa_bio():
urlbio1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/climatologies/bio/"
for n in range(1,20):
ns=str(n)
ns=ns.zfill(2)
bioname1="./chelsa/CHELSA_bio10_"+ns+".tif"
url1=urlbio1+bioname1
print(url1)
r1 = requests.get(url1)
with open(bioname1, "wb") as code:
code.write(r1.content)
return(0);
def get_chelsa_exchelsa(variable1):
print("Exchelsa ", variable1)
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/exchelsa/pet/CHELSA_pet_10_1979-2013.tif
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/exchelsa/"
base1="CHELSA_"
base2="_1979-2013.tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,13):
geturl1=urlbase1+variable1+"/"+base1+variable1+"_"+str(n)+base2
filename1="./chelsa/"+base1+variable1+"_"+str(n)+base2
print(geturl1)
r1 = requests.get(geturl1, headers=headers1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_climatologies_var(variable1, variable2):
#urlbio2="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/climatologies/tmean/CHELSA_temp10_01_1979-2013_V1.2_land.tif"
print("Climatologies ", variable1, variable2)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/climatologies/"
base1="CHELSA_"
base2="_1979-2013_V1.2_land.tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,13):
geturl1=urlbase1+variable1+"/"+base1+variable2+"_"+str(n).zfill(2)+base2
filename1="./chelsa/"+base1+variable2+"_"+str(n).zfill(2)+base2
print(geturl1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_climatologies_bio():
print("Climatologies bio ")
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/climatologies/bio/CHELSA_bio10_01.tif
variable1="bio"
variable2="bio10"
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/climatologies/"
base1="CHELSA_"
base2=".tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,20):
geturl1=urlbase1+variable1+"/"+base1+variable2+"_"+str(n).zfill(2)+base2
filename1="./chelsa/"+base1+variable2+"_"+str(n).zfill(2)+base2
print(geturl1)
print(filename1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_cruts(year1, variable1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/chelsa_cruts/tmax/CHELSAcruts_tmax_10_1901_V.1.0.tif
print("Clhelsa cruts ", year1, variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/chelsa_cruts/"
prefix1="CHELSAcruts_"
suffix1="_V.1.0.tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,13):
geturl1=urlbase1+variable1+"/"+prefix1+variable1+"_"+str(n)+"_"+str(year1)+suffix1
filename1="./chelsa/"+prefix1+variable1+"_"+str(n)+"_"+str(year1)+suffix1
print(geturl1)
print(filename1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
def get_chelsa_lgm_simulation_variable(simulation1, variable1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/pmip3/tmean/CHELSA_PMIP_CCSM4_tmean_01.tif
print("Last Glacial Maximum simulation ", simulation1,variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/pmip3/"
base1="CHELSA_PMIP"
base2=".tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,13):
geturl1=urlbase1+variable1+"/"+base1+"_"+simulation1+"_"+variable1+"_"+str(n).zfill(2)+base2
filename1="./chelsa/"+base1+"_"+simulation1+"_"+variable1+"_"+str(n).zfill(2)+base2
print(geturl1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_lgm_simulation_bio(simulation1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/pmip3/bioclim/CHELSA_PMIP_CCSM4_BIO_01.tif
variable1="bioclim"
variable2="BIO"
print("Last Glacial Maximum simulation ", simulation1,variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/pmip3/"
base1="CHELSA_PMIP"
base2=".tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,20):
geturl1=urlbase1+variable1+"/"+base1+"_"+simulation1+"_"+variable2+"_"+str(n).zfill(2)+base2
filename1="./chelsa/"+base1+"_"+simulation1+"_"+variable2+"_"+str(n).zfill(2)+base2
print(geturl1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_lgm_simulation_bio(simulation1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/pmip3/bioclim/CHELSA_PMIP_CCSM4_BIO_01.tif
variable1="bioclim"
variable2="BIO"
print("Last Glacial Maximum simulation ", simulation1,variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/pmip3/"
base1="CHELSA_PMIP"
base2=".tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,20):
geturl1=urlbase1+variable1+"/"+base1+"_"+simulation1+"_"+variable2+"_"+str(n).zfill(2)+base2
filename1="./chelsa/"+base1+"_"+simulation1+"_"+variable2+"_"+str(n).zfill(2)+base2
print(geturl1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_lgm_simulation_dem():
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
geturl1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/pmip3/DEM/high_longlat.tif"
filename1="./chelsa/high_lonlat.tif"
print(geturl1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_trace_variable(slice1, variable1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/chelsa_trace/tasmax/CHELSAtrace_tasmax_10_-100_V1.0.tif
variable2=variable1
print("Trace1 variable ", slice1*100,variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/chelsa_trace/"
base1="CHELSAtrace"
base2="_V1.0.tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,13):
geturl1=urlbase1+variable1+"/"+base1+"_"+variable2+"_"+str(n)+"_-"+str(slice1)+base2
filename1="./chelsa/"+base1+"_"+variable2+"_"+str(n)+"_-"+str(slice1)+base2
print(geturl1)
print(filename1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_trace_bio(slice1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/chelsa_trace/bio/CHELSA_bio01_-100_V1.2.1.tif
variable1="bio"
variable2=variable1
print("Trace1 variable ", slice1*100,variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/chelsa_trace/"
base1="CHELSA"
base2="_V1.2.1.tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,20):
geturl1=urlbase1+variable1+"/"+base1+"_"+variable2+str(n).zfill(2)+"_-"+str(slice1)+base2
filename1="./chelsa/"+base1+"_"+variable2+str(n).zfill(2)+"_-"+str(slice1)+base2
print(geturl1)
print(filename1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_trace_orog(slice1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/chelsa_trace/orog/glacier_plus_dem_0_V1.2.tif
variable1="orog"
variable2=variable1
print("Trace1 variable ", slice1*100,variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/chelsa_trace/"
base1="glacier_plus_dem"
base2="_V1.2.tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,2):
geturl1=urlbase1+variable1+"/"+base1+"_"+str(slice1)+base2
filename1="./chelsa/"+base1+"_"+str(slice1)+base2
print(geturl1)
print(filename1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_timeseries_variable(year1, variable1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/timeseries/tmean/CHELSA_tmean_1979_01_V1.2.1.tif
variable2=variable1
print("Timeseries variable ", year1,variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/timeseries/"
base1="CHELSA"
base2="_V1.2.1.tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,13):
geturl1=urlbase1+variable1+"/"+base1+"_"+variable2+"_"+str(year1)+"_"+str(n).zfill(2)+base2
filename1="./chelsa/"+base1+"_"+variable2+"_"+str(year1)+"_"+str(n).zfill(2)+base2
print(geturl1)
print(filename1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_timeseries_bio(year1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/timeseries/bio/CHELSA_bio03_1998_V1.2.1.tif
variable1="bio"
variable2=variable1
print("Timeseries bio", year1,variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/timeseries/"
base1="CHELSA"
base2="_V1.2.1.tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,20):
geturl1=urlbase1+variable1+"/"+base1+"_"+variable2+str(n).zfill(2)+"_"+str(year1)+base2
filename1="./chelsa/"+base1+"_"+variable2+str(n).zfill(2)+"_"+str(year1)+base2
print(geturl1)
print(filename1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
def get_chelsa_timeseries_annual_variable(variable1, year1):
#https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/timeseries/gdd5/CHELSA_gdd5_1979_V1.2.1.tif
variable2=variable1
print("Timeseries annual variable ", year1,variable1)
urlbase1="https://os.zhdk.cloud.switch.ch/envicloud/chelsa/chelsa_V1/timeseries/"
base1="CHELSA"
base2="_V1.2.1.tif"
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
for n in range(1,2):
geturl1=urlbase1+variable1+"/"+base1+"_"+variable2+"_"+str(year1)+base2
filename1="./chelsa/"+base1+"_"+variable2+"_"+str(year1)+base2
print(geturl1)
print(filename1)
r1 = requests.get(geturl1, headers=headers1)
if(r1==0):
printf("Chelsa loading error")
return(-1)
with open(filename1, "wb") as code:
code.write(r1.content)
return(0)
-
create_dirs()
- get_chelsa_bio()
- get_chelsa_exchelsa("pet")
- get_chelsa_climatologies_var("tmean", "temp10")
- get_chelsa_climatologies_bio()
- get_chelsa_cruts(1969, "tmax")
- get_chelsa_timeseries_variable(1992, "tmean")
- get_chelsa_timeseries_bio(1992)
- get_chelsa_timeseries_annual_variable("gdd5", 1992)
- get_chelsa_lgm_simulation_variable("IPSL", "prec")
- get_chelsa_lgm_simulation_bio("CCSM4")
- get_chelsa_lgm_simulation_dem()
- 145 is 145000 years ago
get_chelsa_trace_variable(145, "tasmax")
get_chelsa_trace_variable(145, "tasmin")
get_chelsa_trace_variable(145, "prec")
get_chelsa_trace_bio(145)
get_chelsa_trace_orog(145)
print(".")
Code raster cutter
rem min, max temperature raster cut, to mean, to netcdf
rem NOTE must have GDAL tools
rem must change gdal_calc settings
del *.nc
del *.tif
rem europe
set lon1=-30
set lon2=60
set lat1=30
set lat2=70
rem Beringia
set lon1=-180
set lon2=-120
set lat1=50
set lat2=80
set indata1=".\chelsa\CHELSAtrace_tasmax_7_-145_V1.0.tif"
set indata2=".\chelsa\CHELSAtrace_tasmin_7_-145_V1.0.tif"
gdalwarp -te %lon1% %lat1% %lon2% %lat2% %indata1% tempmin1.tif
gdalwarp -te %lon1% %lat1% %lon2% %lat2% %indata2% tempmax1.tif
gdal_translate -of netcdf tempmin1.tif tempmin1.nc
gdal_translate -of netcdf tempmax1.tif tempmax1.nc
rem C:\OSGeo4W64\apps\Python37\Scripts\gdal_calc
rem gdal_calc.py -A tempmin1.tif -B tempmax1.tif --outfile=tempmean1.tiff --calc="(A+B)/2"
rem C:\OSGeo4W64\apps\Python37\Scripts\gdal_calc.bat -A tempmin1.tif -B tempmax1.tif --outfile=.\tempmean1.tif --calc="(A+B)/2"
python C:\Users\himot\AppData\Local\Programs\Python\Python38\Scripts\gdal_calc.py -A tempmin1.tif -B tempmax1.tif --outfile=tempmean1.tif --calc="(A+B)/2"
python C:\Users\himot\AppData\Local\Programs\Python\Python38\Scripts\gdal_calc.py -A tempmean1.tif --outfile=tempmean2.tif --calc="(A-2731.6)/10"
gdal_translate -of netcdf tempmean2.tif tempmean2.nc
rem attempt temparature correct , data from paleotemperature proxy
python C:\Users\himot\AppData\Local\Programs\Python\Python38\Scripts\gdal_calc.py -A tempmean2.tif --outfile=tempmean3.tif --calc="A-7.0"
gdal_translate -of netcdf tempmean3.tif tempmean3.nc
Licensing
[edit]
I, the copyright holder of this work, hereby publish it under the following license:
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
https://creativecommons.org/licenses/by-sa/4.0CC BY-SA 4.0 Creative Commons Attribution-Share Alike 4.0 truetrue
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 15:33, 16 February 2021 | 1,168 × 784 (506 KB) | Merikanto (talk | contribs) | Uploaded own work with UploadWizard |
You cannot overwrite this file.
File usage on Commons
The following page uses this file: