Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Column models with elevated surface #39

Open
brian-rose opened this issue Aug 31, 2016 · 4 comments
Open

Column models with elevated surface #39

brian-rose opened this issue Aug 31, 2016 · 4 comments

Comments

@brian-rose
Copy link
Collaborator

Currently there is no simple way to create a domain (single column or otherwise) with a vertical pressure axis that begins at some lower surface pressure, e.g. column over high elevation.

@brian-rose
Copy link
Collaborator Author

Here is one way to do this. Basically we create a default axis and then modify it, as follows:

import numpy as np
import climlab
def make_column(num_lev=20, ps=const.ps, water_depth=5.):
    state = climlab.column_state(num_lev=num_lev, num_lat=1, water_depth=water_depth)
    lev = state.Tatm.domain.lev
    lev.bounds = np.linspace(0., ps, num_lev+1)
    lev.points = lev.bounds[:-1] + np.diff(lev.bounds)/2.
    lev.delta = np.abs(np.diff(lev.bounds))
    return state

Then for example we can create a vertical axis with 10 equally-spaced pressure levels and surface pressure of 300 hPa:

state = make_column(num_lev=10, ps=300.)

@brian-rose
Copy link
Collaborator Author

This should be easier and better documented.

The climlab.column_state convenience method should accept surface pressure as input argument.

There should also be a switch for "equally spaced in pressure" vs. "equally spaced in log-pressure" (basically vertical height).

@MengZuo
Copy link

MengZuo commented Dec 7, 2023

Hi, Brian. I have recently been learning how to use the RCE model and encountered some issues when trying to modify the surface air pressure.

My purpose is to set the surface air pressure to 700hPa and analyze the elevated heating effect.
But when I modify the surface air pressure as the way you mentioned above, the vertical structure of temperature seems wrong above 200hPa (please see the attached file).
ta_default_h2o_modify.pdf

I think this may be related to the water vapor value set in the model. I tried to use the water vapor data from CESM output (cpl_1850_f19.cam.h0.nc) and the water vapor value given by climlab (h2o = climlab.radiation.ManabeWaterVapor(state=state, name='H2O')) to simulate the temperature profile under RCE state, and found that there was a difference between them above 200hPa. I wonder if you have found this problem, looking forward to your reply, thank you!

@brian-rose
Copy link
Collaborator Author

Hi @MengZuo, I have not had time to look at this, but you should be aware that the ManabeWaterVapor process uses the default surface pressure of 1000 hPa to scale the relative humidity profile:

You may need to implement your own solution here.

Related to #120 and #123

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants