File:Trappist 1e co2 280ppmv air 2m temperature 1.png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(1,200 × 800 pixels, file size: 411 KB, MIME type: image/png)

Captions

Captions

Trappist 1e co2 280ppmv air 2m temperature

Summary

[edit]
Description
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

    1. 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)


  1. plt.imshow(c)
  1. 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)


  1. plt.imshow(c)
  1. plt.show()

imout = Image.fromarray(c) imout.save("map5555_rot.png")


Pothon3 exoplasim source code


    1. exoplasim planet runner
    2. python 3, exoplasim
  1. basic run settings T21
    1. 17.10.2023 0000.0002a

import math import numpy as np import exoplasim as exo


timestep=30.0 years=30


Sol=1367

    1. basic input params

startemp= 2566 # assumption Earth-like

    1. Trappist 1 d
  1. flux=1.12*1367
  2. rotationperiod=4.05
  3. radius=0.78 ## rel to earth
  4. 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

  1. 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 }




  1. landmap="Alderaan_surf_0129.sra"
  2. topomap="Alderaan_surf_0172.sra"

landmap="sermak_surf_0129.sra" topomap="sermak_surf_0172.sra"

  1. landmap="five_surf_0129.sra"
  2. topomap="five_surf_0172.sra"
  3. landmap=None
  4. topomap=None
  1. relCO2=0.95
  2. relN2=1-relCO2

relCO2=280e-6 relO2=0.21 relN2=1-relCO2-relO2

  1. relCO2=0.95
  2. relO2=0.045
  1. 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]
I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
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.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current10:31, 17 October 2023Thumbnail for version as of 10:31, 17 October 20231,200 × 800 (411 KB)Merikanto (talk | contribs)Update
05:13, 17 October 2023Thumbnail for version as of 05:13, 17 October 20231,200 × 800 (422 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.