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

Hourly ozone data from the atmosphere is not being read by CLM5

Jyoti Singh

Jyoti Singh
Member
I have created two cases to run CLM5 to see the impact of ground ozone on crops and plants. I am using
Code:
ctsm5.1.dev113
in which Adriana Foster has added the capability using which CLM can read ozone data from the atmosphere. I have two cases
Code:
/glade/work/jyotis/O3_CLM5/O3_cases/b.e21.BW.f09_g17.SSP245-TSMLT-GAUSS-DEFAULT.006_hourlyO3
and
Code:
/glade/work/jyotis/O3_CLM5/O3_cases/ctsm5.1.dev113_b.e21.BWSSP245cmip6.f09_g17.CMIP6-SSP2-4.5-WACCM.2060-2065.hourlyO3
. To compute the ozone damage the I added o3_veg_stress_method= 'stress_lombardozzi2015' in user_nl_clm and hourly ozone data is added in

user_nl_datm_streams. Both cases ran successfully without any errors. However, later upon checking the value of history variables O3UPTAKESUN, O3UPTAKESHA, and ATM_O3 was found to be zero. Hence, CLM5 is not taking the atmospheric ozone as input.

I am not sure where might be the problem.
 

slevis

Moderator
I checked with Adrianna Foster and got this response.

A. Foster wrote:
-------------------
I’m not sure but it’s possible we can’t utilize hourly ozone data. What I set up was for monthly (I think?). [...] It’s also possible they did not set up their DATM streams correctly.

Can you ask them to run a case using the default ozone? So set the o3-veg-stress as they have it now but don’t include a DATM streams update.
 

Jyoti Singh

Jyoti Singh
Member
It might be possible that the ozone damage script is not set up for hourly ozone input but I got no error so I couldn't figure it out earlier. How can we make it possible to read hourly ozone input? Here is the DATM stream for ozone for the case /glade/work/jyotis/O3_CLM5/O3_cases/b.e21.BW.f09_g17.SSP245-TSMLT-GAUSS-DEFAULT.006_hourlyO3:

Code:
preso3.SSP2-4.5:datafiles=/glade/work/jyotis/O3_CLM5/SRF_O3_files/b.e21.BW.f09_g17.SSP245-TSMLT-GAUSS-DEFAULT.006/b.e21.BW.f09_g17.SSP245-TSMLT-GAUSS-DEFAULT.006.cam.h4.O3_SRF.2055010100-2065010100.cdf5.nc
preso3.SSP2-4.5:datavars=O3_SRF Sa_o3
preso3.SSP2-4.5:year_first=2055
preso3.SSP2-4.5:year_last=2064
preso3.SSP2-4.5:year_align=2060
 

Jyoti Singh

Jyoti Singh
Member
The history ozone variable added after Adriana's development was ATM_O3 however the the ozone damage takes ground ozone into account (O3_SRF) to compute the damage to plants. Do you think this might be the reason that CLM is not able to read ozone data?
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
It looks like you are running in CPLHIST mode. My understanding from talking with Adriana Foster is that it is not set up to run in CPLHIST mode, only CLMNCEP mode.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I should note that CLMNCEP is the value assigned to the "datamode" variable that appears in your datm_in file. It is generic and can refer to a number of different kinds of supported forcing. Our default global forcing is GSWP3V1, which you can invoke by

./xmlchange DATM_MODE=CLMGSWP3v1

or better yet by specifying it in your create_newcase command, e.g., like I think you were doing in your previous global land-only case:

--compset SSP245_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV_SESP
 
Top