Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

How to increase vertical resolution and extend CAM4/CAM5 into the middle mesosphere

Hi all,

I am using CESM1.2.2 and I'm trying to understand the changes in Brewer-Dobson Circulation using WACCM (with CAM4) in a warmer climate.
For the next phase of my project I want to use CAM4/CAM5 to see how different the circulation is in these models from that of WACCM. To do that I want to extend the model top approximately to 60km and increase the vertical resolution above 100hPa.

Can anyone please suggest how to do that?
Thank you,
Deepashree
 

islas

Moderator
Staff member
Hi Deepashree,

You can do this by changing the CAM initial conditions file that you start the model from and also adding -nlev=?? to CAM_CONFIG_OPTS in env_build.xml where ?? will be the number of levels that you're using. It's probably best to use a WACCM initial condition and interpolate it onto the grid that you want. You'll need to define the hybrid coefficients (hyam, hybm, hyai, hybi) for the levels that you want and interpolate onto the pressure levels that they represent. There are some instructions for changing the vertical resolution for idealized physics configurations here Dynamical Core | Held Suarez. So you can partially follow this, but this is for the special case of initializing from an isothermal atmosphere with zero winds, so it's not totally relevant.

You should be aware that the stratospheric circulation probably won't look good without some tuning. Some of the parameters you may need to consider are:

tau_0_ubc: if True, this dumps the gravity wave momentum at the model lid, if false, that's not the case. With an 80km top, this needs to be True, with a 40km top, it needs to be false. I'm not sure what the optimum will be for 60km.

effgw_beres: controls the efficiency with which gravity waves are generated from convection. This is a tuning knob for the QBO.

use_gw_front: turns on and off the frontal gravity wave scheme.

You will likely need to mess around with these and possibly others to get a reasonable looking climate.

Best wishes,
Isla
 
Hi Deepashree,

You can do this by changing the CAM initial conditions file that you start the model from and also adding -nlev=?? to CAM_CONFIG_OPTS in env_build.xml where ?? will be the number of levels that you're using. It's probably best to use a WACCM initial condition and interpolate it onto the grid that you want. You'll need to define the hybrid coefficients (hyam, hybm, hyai, hybi) for the levels that you want and interpolate onto the pressure levels that they represent. There are some instructions for changing the vertical resolution for idealized physics configurations here Dynamical Core | Held Suarez. So you can partially follow this, but this is for the special case of initializing from an isothermal atmosphere with zero winds, so it's not totally relevant.

You should be aware that the stratospheric circulation probably won't look good without some tuning. Some of the parameters you may need to consider are:

tau_0_ubc: if True, this dumps the gravity wave momentum at the model lid, if false, that's not the case. With an 80km top, this needs to be True, with a 40km top, it needs to be false. I'm not sure what the optimum will be for 60km.

effgw_beres: controls the efficiency with which gravity waves are generated from convection. This is a tuning knob for the QBO.

use_gw_front: turns on and off the frontal gravity wave scheme.

You will likely need to mess around with these and possibly others to get a reasonable looking climate.

Best wishes,
Isla
Hi Isla,

Thank you so much for your suggestion!
I used the IC file from WACCM (for the compset F1850W) and extracted the variables (same variables as in ~/inputdata/atm/cam/inic/fv/cami_0000-01-01_1.9x2.5_L26_c070408.nc file) up to 0.02956hPa using nco. I thought it would be easier since it already has hyam and hybm values in the file. This way I get 49 levels in the new IC file.

Then I changed CAM4 vertical levels using CAM_CONFIG_OPTS to "-nlev=49" following the link you provided. Thanks!
I could build the case successfully after this. However, when I submit the case the model fails and I get this error:

hycoef_read:ERROR: file ilev does not match model plevp (file, model):
49 50

I don't understand what does this mean (I tried changing nlev to 50, it doesn't work). All variables eg, lev, ilev, hyam etc have same shape of 49.
Do you have any suggestions?

Thanks again,
Deepashree
 
Hi Deepashree,

You can do this by changing the CAM initial conditions file that you start the model from and also adding -nlev=?? to CAM_CONFIG_OPTS in env_build.xml where ?? will be the number of levels that you're using. It's probably best to use a WACCM initial condition and interpolate it onto the grid that you want. You'll need to define the hybrid coefficients (hyam, hybm, hyai, hybi) for the levels that you want and interpolate onto the pressure levels that they represent. There are some instructions for changing the vertical resolution for idealized physics configurations here Dynamical Core | Held Suarez. So you can partially follow this, but this is for the special case of initializing from an isothermal atmosphere with zero winds, so it's not totally relevant.

You should be aware that the stratospheric circulation probably won't look good without some tuning. Some of the parameters you may need to consider are:

tau_0_ubc: if True, this dumps the gravity wave momentum at the model lid, if false, that's not the case. With an 80km top, this needs to be True, with a 40km top, it needs to be false. I'm not sure what the optimum will be for 60km.

effgw_beres: controls the efficiency with which gravity waves are generated from convection. This is a tuning knob for the QBO.

use_gw_front: turns on and off the frontal gravity wave scheme.

You will likely need to mess around with these and possibly others to get a reasonable looking climate.

Best wishes,
Isla
I could figure out the problem in the IC file and now the model works with the new IC file.

However, I couldn't find the parameters i.e., tau_o_ubc, effgw_beres or use_gw_front in CAM component namelist (CESM Component Models Namelist Definitions).
Only variable I could find that's related to gravity wave drag is fcrit2. If it equivalent to tau_o_ubc or any of these parameters?

Please let me know,
Deepashree
 

islas

Moderator
Staff member
Hi Deepashree,

Glad you figured out the IC file. There should be one more hyai/hybi value than there is for hyam/hybm since the "i" ones represent the model interfaces. Sorry - I didn't notice that you were using CESM1. I am less familiar with the tuning parameters for CESM1. I will try to get someone else who knows more about that to respond to this.

Isla
 

islas

Moderator
Staff member
Hi Deepashree,

I asked Yaga Richter about this. She had set up a 46L model with CESM1 that was used in this paper: Effects of stratospheric variability on El Niño teleconnections - IOPscience. This may have what you require, but you should remember that it's not officially supported. It sounds like you have to take gw_drag.F90 from WACCM and put it in your SourceMods and set the following things in that module...

effgw_oro = 0.0625_r8
effgw_spec = 1.0_r8
taubgnd = 1.5_r8
frontgfc = 1.25e-15_r8

as well as:
! Set tau at the top of the model to zero
tau(:,:,0) = 0.0_r8

But if you use a slightly different grid or model top, the optimum tuning parameters may be different.

Best wishes,
Isla
 
Hi Deepashree,

I asked Yaga Richter about this. She had set up a 46L model with CESM1 that was used in this paper: Effects of stratospheric variability on El Niño teleconnections - IOPscience. This may have what you require, but you should remember that it's not officially supported. It sounds like you have to take gw_drag.F90 from WACCM and put it in your SourceMods and set the following things in that module...

effgw_oro = 0.0625_r8
effgw_spec = 1.0_r8
taubgnd = 1.5_r8
frontgfc = 1.25e-15_r8

as well as:
! Set tau at the top of the model to zero
tau(:,:,0) = 0.0_r8

But if you use a slightly different grid or model top, the optimum tuning parameters may be different.

Best wishes,
Isla
Hi Isla,
Thank you so much for your response!
It helped me a lot,
Deepashree
 
Top