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

'Gamma_get_sm' turned off in MEGANV2.1 CLM4.5

HazelMooney

Hazel Mooney
New Member
Model: cesm2.2.0 clm 4.5 meganv2.1
Enquiry: soil moisture activity factor


Describe your problem or question:
I have been investigating activity factors for my model runs using CLM4.5. Soil moisture is constant throughout and in the fortran code VOCEmissionMod.F90 we see that the soil moisture activity factor algorithms are commented out, and the activity factor is instead specified at gamma_sm = 1.0_r8
See screenshots attached. I have been unable to find guidance online as to why the calculation has been commented out in this version of the model, can you provide any guidance or references to help me understand this?
soil-moisture_1.PNG

get_gamma_sm.PNG
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I don't know the history of that commented out code. I do know that MEGAN was recently updated and a new drought stress algorithm was implemented per this PR:


In it, gamma_sm was been changed to a function of btran:

gamma_sm = get_gamma_SM(btran(p))

However, there has been further conversation about low isoprene emissions perhaps partly as a result of that as indicated by the discussion in this issue:

 

HazelMooney

Hazel Mooney
New Member
I don't know the history of that commented out code. I do know that MEGAN was recently updated and a new drought stress algorithm was implemented per this PR:


In it, gamma_sm was been changed to a function of btran:

gamma_sm = get_gamma_SM(btran(p))

However, there has been further conversation about low isoprene emissions perhaps partly as a result of that as indicated by the discussion in this issue:

Thank you for your reply. I am aware of the wider concerns regarding soil moisture and isoprene.

Due to the code being commented out, i am trying to turn it on to test it out, as per below:

! Activity factor for soil moisture: all species (commented out for now)
gamma_sm = get_gamma_SM(clayfrac(p), sandfrac(p), h2osoi_vol(c,:), h2osoi_ice(c,:), &
col%dz(c,:), soilstate_inst%bsw_col(c,:), watsat(c,:), sucsat(c,:), root_depth(patch%itype(p)))
!gamma_sm = 1.0_r8


Can you advise on using a modified VOCEmissionsModule.F90 file?

So far, i have copied the file to the /SourceMods/src.clm/ directory of my case, and then modified the SM code as shown above
However, at build, i am getting these errors for all of the required variables for the equation

error #6404: This name does not have a type, and must have an explicit type. [CLAYFRAC] gamma_sm = get_gamma_SM(clayfrac(p), sandfrac(p), h2osoi_vol(c,:), h2osoi_ice(c,:), &

i also see error #6200: A colon (:) is not valid in this context. gamma_sm = get_gamma_SM(clayfrac(p), sandfrac(p), h2osoi_vol(c,:), h2osoi_ice(c,:), &

error #6460: This is not a field name that is defined in the encompassing structure. [DZ] col%dz(c,:), soilstate_inst%bsw_col(c,:), watsat(c,:), sucsat(c,:), root_depth(patch%itype(p)))
 

HazelMooney

Hazel Mooney
New Member
Thank you for your reply. I am aware of the wider concerns regarding soil moisture and isoprene.

Due to the code being commented out, i am trying to turn it on to test it out, as per below:

! Activity factor for soil moisture: all species (commented out for now)
gamma_sm = get_gamma_SM(clayfrac(p), sandfrac(p), h2osoi_vol(c,:), h2osoi_ice(c,:), &
col%dz(c,:), soilstate_inst%bsw_col(c,:), watsat(c,:), sucsat(c,:), root_depth(patch%itype(p)))
!gamma_sm = 1.0_r8


Can you advise on using a modified VOCEmissionsModule.F90 file?

So far, i have copied the file to the /SourceMods/src.clm/ directory of my case, and then modified the SM code as shown above
However, at build, i am getting these errors for all of the required variables for the equation

error #6404: This name does not have a type, and must have an explicit type. [CLAYFRAC] gamma_sm = get_gamma_SM(clayfrac(p), sandfrac(p), h2osoi_vol(c,:), h2osoi_ice(c,:), &

i also see error #6200: A colon (:) is not valid in this context. gamma_sm = get_gamma_SM(clayfrac(p), sandfrac(p), h2osoi_vol(c,:), h2osoi_ice(c,:), &

error #6460: This is not a field name that is defined in the encompassing structure. [DZ] col%dz(c,:), soilstate_inst%bsw_col(c,:), watsat(c,:), sucsat(c,:), root_depth(patch%itype(p)))
To add to the above, i have now identified that several of the required variables are not presently in vocemiss_inst
Can you advise who might be best to speak to about this soil moisture calculation being turned off in this version?

dz => col%dz , & ! Input: [real(r8) (:,:) ] depth of layer (m)

bsw => soilstate_inst%bsw_col , & ! Input: [real(r8) (:,:) ] Clapp and Hornberger "b" (nlevgrnd)

clayfrac => soilstate_inst%clayfrac_col , & ! Input: [real(r8) (:) ] fraction of soil that is clay

sandfrac => soilstate_inst%sandfrac_col , & ! Input: [real(r8) (:) ] fraction of soil that is sand

watsat => soilstate_inst%watsat_col , & ! Input: [real(r8) (:,:) ] volumetric soil water at saturation (porosity) (nlevgrnd)

sucsat => soilstate_inst%sucsat_col , & ! Input: [real(r8) (:,:) ] minimum soil suction (mm) (nlevgrnd)

h2osoi_vol => waterstate_inst%h2osoi_vol_col , & ! Input: [real(r8) (:,:) ] volumetric soil water (m3/m3)

h2osoi_ice => waterstate_inst%h2osoi_ice_col , & ! Input: [real(r8) (:,:) ] ice soil content (kg/m3)
 

slevis

Moderator
Staff member
I think your best bet is still to investigate the links that @oleson suggested above and look for possible contacts there.
 
Top