File:Trappist 1e co2 280ppmv air 2m temperature 1.png
Original file (1,200 × 800 pixels, file size: 411 KB, MIME type: image/png)
Captions
Summary
[edit]DescriptionTrappist 1e co2 280ppmv air 2m temperature 1.png |
English: Trappist 1e co2 280ppmv air 2m temperature |
Date | |
Source | Own work |
Author | Merikanto |
Python 3 source code to create data for simulation
Sources of basic asumptions
https://phl.upr.edu/projects/habitable-exoplanets-catalog
https://en.wikipedia.org/wiki/TRAPPIST-1
You must first prepare input bitmap
Note: Input png map must be dimensions that have multiples to 32 if you use T21 reso tex 1280x640
You can do map with some utility, that you find suitable.
Quite basic map can done with
https://topps.diku.dk/torbenm/maps.msp
settings
seed 602928
Projection square
Colour map Grayscale
x non linear altitude scaling
x make more wrinky maps
water line -0.02
... and so on
180 degrees rotate 1280x640 .bmp map with Python too png:
Then must enhance color contrast
Now you can convert .bmp to .sgra with koppenpasta Image2sra utility (tex "Image2sra_2.0.3.py" --> "python Image2sra_2.0.3.py") or other program, that can do that
Sealevel maybe 60 - 128 of 256/255 Max height tex 3000 m
This is for Panoply overlay only, not input to
Brief simple Python3 PIL, numpy script
- rotate 1280 z 640 and mask 180 deg
from PIL import Image
import os
import numpy as np
import matplotlib.pyplot as plt
imin=Image.open("LandMaskOriginal.png")
a = np.asarray(imin)
b=a[0]
c=np.roll(a, 640, axis=1)
- plt.imshow(c)
- plt.show()
imout = Image.fromarray(c)
imout.save("landmask.png")
imin=Image.open("map55555.bmp")
a = np.asarray(imin)
b=a[0]
c=np.roll(a, 640, axis=1)
- plt.imshow(c)
- plt.show()
imout = Image.fromarray(c)
imout.save("map5555_rot.png")
Pothon3 exoplasim source code
-
- exoplasim planet runner
- python 3, exoplasim
- basic run settings T21
-
- 17.10.2023 0000.0002a
-
import math
import numpy as np
import exoplasim as exo
timestep=30.0
years=30
Sol=1367
- basic input params
startemp= 2566 # assumption Earth-like
- Trappist 1 d
- flux=1.12*1367
- rotationperiod=4.05
- radius=0.78 ## rel to earth
- mass=0.39
flux=0.65*1367
rotationperiod=6.1
radius=0.92 ## rel to earth
mass=0.69
eccentricity=0
obliquity=0
fixedorbit=True
synchronous=True
substellarlon=180
- substellarlon=0
aquaplanet=False
desertplanet=False
vegetation=2 ## 0 no 1 static 2 dynamic
stormclim=False
aerosol=False
co2weathering=False
outgassing=0
evolveco2=False
maxsnow=-1 ## False ?
ozone=False
vegaccel=1
seaice=False
wetsoil=False
year=rotationperiod
glaciers1= {
"toggle": True,
"mindepth":2,
"initialh":-1
}
- landmap="Alderaan_surf_0129.sra"
- topomap="Alderaan_surf_0172.sra"
landmap="sermak_surf_0129.sra"
topomap="sermak_surf_0172.sra"
- landmap="five_surf_0129.sra"
- topomap="five_surf_0172.sra"
- landmap=None
- topomap=None
- relCO2=0.95
- relN2=1-relCO2
relCO2=280e-6
relO2=0.21
relN2=1-relCO2-relO2
- relCO2=0.95
- relO2=0.045
- relN2=1-relCO2-relO2
density=mass/np.power(radius,3)*5.519
vesc=np.sqrt(mass/radius)*11.186
geese=mass/(radius*radius)
geeseg=geese*9.80665
patm=geese*mass*radius*radius ## estimation
gravity=geeseg
pressure=patm
pN2=pressure*relN2
pCO2=pressure*relCO2
pO2=pressure*relO2
print(" insol ",round(flux,2) )
print(" mass ",round(mass,2) )
print(" radius ",round(radius,2) )
print(" density ",round(density,2) )
print(" vesc ",round(vesc,2) )
print(" gee_e ",round(geese,2) )
print(" Patm ",round(patm,6) )
planeta = exo.Model(workdir="planeta_run",modelname="Planeta",ncpus=4,resolution="T21",outputtype=".nc")
planeta.configure(year=year, wetsoil=wetsoil,pO2=pO2, ozone=ozone, vegaccel=vegaccel, seaice=seaice, glaciers=glaciers1, maxsnow=maxsnow, evolveco2=evolveco2, outgassing=outgassing, co2weathering=co2weathering, vegetation=vegetation, stormclim=stormclim, aerosol=aerosol,landmap=landmap, topomap=topomap,startemp=startemp, flux=flux, eccentricity=eccentricity,obliquity=obliquity,fixedorbit=fixedorbit,synchronous=synchronous,substellarlon=substellarlon,rotationperiod=rotationperiod,radius=radius,gravity=gravity,aquaplanet=aquaplanet,desertplanet=desertplanet,pN2=pN2,pCO2=pCO2,timestep=timestep,snapshots=False,physicsfilter="gp|exp|sp")
print(" Run ...")
planeta.run(years=years,crashifbroken=True)
planeta.exportcfg()
planeta.run(years=years,crashifbroken=True)
planeta.finalize("Planeta",allyears=True,keeprestarts=True)
planeta.save()
Licensing
[edit]- 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.
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 10:31, 17 October 2023 | 1,200 × 800 (411 KB) | Merikanto (talk | contribs) | Update | |
05:13, 17 October 2023 | 1,200 × 800 (422 KB) | Merikanto (talk | contribs) | Uploaded own work with UploadWizard |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.