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

Move the soil erodibility dataset dust emission source function from CAM to CTSM #1836

Open
dmleung opened this issue Aug 28, 2022 · 2 comments
Labels
code health improving internal code structure to make easier to maintain (sustainability) enhancement new capability or improved behavior of existing capability

Comments

@dmleung
Copy link
Contributor

dmleung commented Aug 28, 2022

Hi this is Danny, a PhD student at UCLA working with Prof. Jasper Kok @jfkok. In issue #1604 we proposed to add a new dust emission scheme improving the dust mobilization parameterizations in CLM. Although a new scheme will be added as in PR #1712, CLM people decided to keep the existing emission scheme by Zender et al. (2003a, b).

One issue is that the (time-constant) soil erodibility source function employed by Zender's scheme has always been read in and applied to the CAM emission flux instead of to the CLM emission flux, likely due to some historical reasons. However, conceptually, how soil erodibility and other land-surface characteristics affect the emission strength should be part of the land processes, and we believe it should be read in and applied in CLM instead of CAM. Historically CLM has created a variable for the Zender source function called mbl_bsn_fct, but it has always been set as 1 as a place holder and it is conceptually the same variable as the soil_erod in CAM. Here we request moving the soil erodibility map from CAM to CLM into mbl_bsn_fct, coming as part of either the surface dataset or the stream file.

The modification will make the CLM dust emission scheme more conceptually complete, and will also eliminate conceptually overlapping variables among CLM and CAM.

@dmleung proposed the modification. @dlawrenncar, @lkemmons, @L3atm, and software engineers including @ekluzek and @fvitt agreed about the decision.
@dmleung will work on this issue in both CLM and CAM. The same issue is also posted on CAM github ESCOMP/CAM#651.

Thank you,
Danny

Files to be changed:
clm/src/biogeochem/DUSTMod.F90
clm/bld/namelist_files/namelist_defaults_ctsm.xml
clm/bld/namelist_files/namelist_definition_ctsm.xml
cam/bld/namelist_files/namelist_defaults_cam.xml
cam/bld/namelist_files/namelist_definitions.xml
cam/src/chemistry/modal_aero/dust_model.F90
cam/src/chemistry/aerosol/soil_erod_mod.F90
Some of the below files will also be changed for adding the namelist variables and reading in the soil erodibility dataset:
clm/src/biogeophys/SoilStateType.F90
clm/src/biogeophys/SoilStateInitTimeConstMod.F90
clm/src/main/controlMod.F90
clm/src/main/clm_varctl.F90

P.S.

  1. Subsequently, some CAM output fields, e.g., LND_MBL (Zender's source function) and DSTSFMBL (emission flux) will be cleared up. For instance, LND_MBL might become a CLM output instead of CAM output.
  2. Path of the original soil erodibility data read in by CAM: soil_erod_file='/glade/p/cesmdata/cseg/inputdata/atm/cam/dst/dst_source2x2tunedcam6-2x2-04062017.nc'
  3. The CAM soil erodibility file is 2x2 and is interpolated using the function lininterp to other resolutions. CLM will thus need to do the same (a stream file might be more capable of performing the interpolation).
@dmleung dmleung changed the title Request to move the dust emission source function and global tuning factor from CAM to CTSM Move the dust emission source function and global tuning factor from CAM to CTSM Aug 29, 2022
@ekluzek ekluzek added enhancement new capability or improved behavior of existing capability code health improving internal code structure to make easier to maintain (sustainability) next this should get some attention in the next week or two. Normally each Thursday SE meeting. labels Aug 29, 2022
@billsacks billsacks removed the next this should get some attention in the next week or two. Normally each Thursday SE meeting. label Sep 1, 2022
@ekluzek ekluzek changed the title Move the dust emission source function and global tuning factor from CAM to CTSM Move the dust emission source function from CAM to CTSM Apr 3, 2023
@ekluzek ekluzek changed the title Move the dust emission source function from CAM to CTSM Move the soil erodibility dataset dust emission source function from CAM to CTSM Apr 3, 2023
@ekluzek
Copy link
Collaborator

ekluzek commented Apr 3, 2023

We had planned to also move the global tuning factor, but have decided to leave that in CAM. I will make a new issue for expanding that based on the new scheme and an up and coming prescribed emission mode.

@ekluzek
Copy link
Collaborator

ekluzek commented Sep 9, 2023

I decided to split this up into two segments. The first is #1967 which I have a time estimate of 32 hours. The second is to update the CMEPS external tag to handle the namelist being set in it rather than in CTSM. So CMEPS is updated and the CTSM namelist item is removed and replaced with the one in CMEPS.

So tasks for it are:

  1. Create a branch and PR for this work 3
  2. Bring Move the dust emission source function soil erodibility for the Zender scheme from CAM to CTSM #1967 to master
  3. Do the work in CMEPS to create a CMEPS tag (Add dust_emission_method to drv_flds_in CMEPS#353) estimate there: 35, 67, 75 (this is started)
  4. Create new branch for move of CTSM namelist items to CMEPS
  5. Remove the CTSM namelist control item, but handle it in drv_flds_in, add namelist testing 3-8
  6. Change the control in the code from the CTSM namelist to the CMEPS namelist and call the shared code for it 2-5
  7. Run testing, respond to issues 2-4
  8. Get the tag scheduled, respond to review issues 1-3
  9. Merge to latest 1
  10. Run testing respond to issues 1-3
  11. Make the tag 1

Estimate:

Min: 14+35 = 49
Avg: 28+67= 95
Max: 32+75= 107

Estimate from average of above: 72

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code health improving internal code structure to make easier to maintain (sustainability) enhancement new capability or improved behavior of existing capability
Projects
None yet
Development

No branches or pull requests

3 participants