Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
chengcli committed Mar 19, 2024
1 parent 377d1df commit af10155
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 16 deletions.
20 changes: 10 additions & 10 deletions examples/2024-FDing-jupiter-rt/run_ktable_jup.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,23 @@ def create_rfm_atmosphere(nlyr: int) -> dict:
atm = {}

data = Dataset("jupiter1d-main.nc", "r")
# km
atm["HGT"] = (data["x1f"][:-1] + data["x1f"][1:]) / (2.0 * 1.0e3)
# m
atm["HGT"] = (data["x1f"][:-1] + data["x1f"][1:]) / 2.0

# mbar
atm["PRE"] = data["press"][0, :, 0, 0] / 100.0
# pa
atm["PRE"] = data["press"][0, :, 0, 0]

# K
atm["TEM"] = data["temp"][0, :, 0, 0]

# ppmv
atm["H2O"] = data["vapor1"][0, :, 0, 0] / 18.0 * 2.2 * 1.0e6
# mole fraction
atm["H2O"] = data["vapor1"][0, :, 0, 0] / 18.0 * 2.2

# ppmv
atm["NH3"] = data["vapor2"][0, :, 0, 0] / 17.0 * 2.2 * 1.0e6
# mole fraction
atm["NH3"] = data["vapor2"][0, :, 0, 0] / 17.0 * 2.2

# ppmv
atm["H2"] = 1.0e6 - atm["H2O"] - atm["NH3"]
# mole fraction
atm["H2"] = 1.0 - atm["H2O"] - atm["NH3"]

return atm

Expand Down
12 changes: 6 additions & 6 deletions tools/rfmlib.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,20 @@ def write_rfm_atm(atm: dict) -> None:
with open("rfm.atm", "w") as file:
file.write("%d\n" % num_layers)
file.write("*HGT [km]\n")
for i in range(num_layers):
file.write("%.8g " % atm["HGT"][i])
for i in range(num_layers): # m -> km
file.write("%.8g " % (atm["HGT"][i] / 1.0e3,))
file.write("\n*PRE [mb]\n")
for i in range(num_layers):
file.write("%.8g " % atm["PRE"][i])
for i in range(num_layers): # pa -> mb
file.write("%.8g " % (atm["PRE"][i] / 100.0,))
file.write("\n*TEM [K]\n")
for i in range(num_layers):
file.write("%.8g " % atm["TEM"][i])
for name, val in atm.items():
if name in ["HGT", "PRE", "TEM"]:
continue
file.write("\n*" + name + " [ppmv]\n")
for j in range(num_layers):
file.write("%.8g " % val[j])
for j in range(num_layers): # mol/mol -> ppmv
file.write("%.8g " % (val[j] * 1.0e6,))
file.write("\n*END")
print("# rfm.atm written.")

Expand Down

0 comments on commit af10155

Please sign in to comment.