-
Notifications
You must be signed in to change notification settings - Fork 142
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
cam6_4_028: Dust emissions #1104
Conversation
modified: bld/namelist_files/namelist_definition.xml modified: src/chemistry/modal_aero/dust_model.F90
modified: src/chemistry/bulk_aero/dust_model.F90 modified: src/chemistry/modal_aero/dust_model.F90
@ekluzek This is the new CAM PR for the new dust emission scheme coming into CTSM. We need to think about how to coordinate namelist settings when the new scheme is turned on... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fvitt thanks for working on this. I suppose this was just back porting the previous PR that was done before the dust emission namelist was worked out in CMEPS.
The namelist read needs to be redone so that it uses the dust emission settings in the drv_flds_in namelist file and uses the components/cmeps/cesm/nuopc_cap_share/shr_dust_emis_mod.F90 module to determine if CAM needs to modify dust emissions from CLM with the soil erodibility file.
What needs to happen in CAM will be similar to what happens in the CTSM branch being pointed to.
modified: src/chemistry/bulk_aero/dust_model.F90 modified: src/chemistry/modal_aero/dust_model.F90 modified: bld/namelist_files/namelist_definition.xml
For CAM I think you should do the following when coupled to CAM: Set the XML variable: dust_emis_method=="Zender_2003" for all CAM physics versions other than CAM7 which will be Later you could let CTSM control these, but initially I think you should transition to above. This does mean if you had clm5_0 physics, with cam7.0 -- it would still get you Leung_2023 which is a little confusing from CTSM's perspective. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fvitt thanks for the updates. I ask for a couple changes.
I think you also need to add the new fields to the namelist_defintion file for drv_flds, unless I'm missing something. And you need to add a call for the shr_dust_emis_readnl() (CTSM has this in lnd_import_export.F90).
modified: src/chemistry/bulk_aero/dust_model.F90 modified: src/chemistry/modal_aero/dust_model.F90
modified: bld/build-namelist modified: bld/namelist_files/namelist_defaults_cam.xml modified: bld/namelist_files/namelist_definition.xml
modified: bld/build-namelist modified: src/chemistry/bulk_aero/dust_model.F90 modified: src/chemistry/modal_aero/dust_model.F90
@fvitt note, the CTSM tag that allows CAM and CTSM to work together on dust emission settings is complete and it's ctsm5.2.017. It doesn't yet allow turning on Leung_2023, but it uses the new XML variable LND_SETS_DUST_EMIS_DRV_FLDS to determine if CTSM or CAM are doing the dust settings and uses the dust_emis_inparm namelist in drv_flds_in to determine the dust settings and when Zender_2003 is on, to determine if CAM or CTSM will be setting the Zender soil erodibility file. |
@ekluzek Is there a CTSM tag for the Leung_2023 scheme, or is this still in progress? |
@fvitt the CTSM tag with Leung is still in process, but it's and will be ctsm5.2.019. It is almost completed. I plan to have it completed over the weekend before Derecho goes down on Monday. |
Ok the needed CTSM tag is done ctsm5.2.019 |
@ekluzek
Why is this ERROR needed for the old Zender method? I see I can add -ignore_warnings option to CLM_BLDNML_OPTS to get around this. I don't see how to append to CLM_BLDNML_OPTS automatically from the CAM side. |
@ekluzek
|
@fvitt the thing that is missing here is that when you are running CAM you need CAM to specify the namelist settings and NOT have CLM modify any of them. The problem seems to be having them both trying to mess with them at the same time. So you need to set the XML variable LND_SETS_DUST_EMIS_DRV_FLDS to false
I'm not sure where that should go in CAM, but for now it should always be done for CAM compsets that use CLM. |
@ekluzek |
@fvitt thanks for pointing that out. I'll try checking out this branch and reproduce it to figure out what's wrong. |
modified: .gitmodules modified: bld/build-namelist modified: bld/namelist_files/namelist_defaults_cam.xml modified: cime_config/config_compsets.xml
@ekluzek I just pushed up my latest changes. Try to build namelists for FHIST and FLTHIST compsets. Thanks. |
@fvitt thanks for pointing this out. I've replicated the problem with your branch. I also see what's going on, and why I didn't think of this issue before. I'll have to think about how to fix it though. I'll add an issue on the CTSM side regarding this. We'll include it in an upcoming CTSM tag and I'll update this when we have that. A workaround that I verified is you can add this to your user_nl_clm for CAM: use_prigent_roughness = .false. You could add that temporarily while we get a CTSM tag with a fix and then remove it when we get the CTSM in place for CAM to use. |
The problem with this is I don't see a way to set this namelist in |
Hmmm. That's not something I can explain by any of the code changes that have happened. Danny has also been doing his own F cases while we've gone along. Before diving into this -- can you let me know about what period it's all zeros? Is that the first time-step for example? If you run longer does it become non-zero after awhile? Zero is valid, it would just be unusual over the entire globe, but maybe possible, but over time it obviously needs to be non-zero. |
I ran for a day and output fluxes each time step. Fluxes seem to zeros all time steps everywhere. |
modified: bld/build-namelist
modified: bld/build-namelist modified: src/chemistry/modal_aero/dust_model.F90
@ekluzek I fixed a bug on the CAM side. The Leung dust emissions schemes seems to be working now. |
<!-- dust emissions method --> | ||
<dust_emis_method>Zender_2003</dust_emis_method> | ||
<dust_emis_method phys='cam7'>Leung_2023</dust_emis_method> | ||
<zender_soil_erod_source>atm</zender_soil_erod_source> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could these lines get spread out a little more for readability? Also, just a reminder that cam7 is going to default to the old setting for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Default is now Zender_2003
for all configurations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cacraigucar I assume that means there will be a follow on CAM tag where Leung is turned on for CAM7? Or will we just be in experimental mode for awhile and then change the default much later? Just curious how this is going to go...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ekluzek - When(if) the scientists tell us that they want to change the default setting, we will do so. This will be part of the tunings that will be happening and I suspect that we'll be adjusting quite a few settings/defaults, not just this one.
.gitmodules
Outdated
url = https://github.com/ekluzek/CTSM | ||
fxtag = 786252bb0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a reminder (more for me than you) to update this to the official CTSM tag when it is ready
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can now be replaced with ctsm5.2.027
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @ekluzek
Updating to from ctsm5.2.009 to ctsm5.2.027 changes answers for the F compsets, even when Zender scheme is used. Is this expected? I see several namelist changes in lnd_in.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is expected. There's several rounds of answer changes between 009 and 027. I can map out what they are if you like and that would help.
Is it OK for your CAM tag to have CLM answer changes in it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We typically update answer changing externals for CAM runs in their own tag, so I'd like to pull it in separate. @fvitt - would you be willing to do this, or do we need to do this on the AMP side?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The exception to this is if @fvitt has independently already run the regression tests with his changes and they are BFB except for the test(s) which use the dust. If this has been done, he can document in the ChangeLog that he has independently tested that "the code changes were independently tested and were non-answer changing for all but the dust configurations. All answer changes to non-dust runs are due to updating CLM". If these tests haven't been run, then it probably makes sense to just split it into two CAM tags.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cacraigucar Yes I can do the update of CTSM in a separate CAM tag.
@ekluzek Can you provide a summary of the ctsm changes that affect F compsets?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's the list of things I expected to affect CAM F compsets in a substantial way:
- ctsm5.2.016 -- changes answers for clm6_0 for crop grid cells
- ctsm5.2.020 -- changes answers for all physics options for MEGAN BGVOC's which will affect CAM-Chem simulations
- ctsm5.2.026 -- change answers for clm6_0 over urban grid cells
There's a few others that still might affect CAM F compsets, but I expect them to be much smaller. Go to the bottom of this wiki page to see a full description of CTSM answer changing tags:
modified: .gitmodules modified: bld/namelist_files/namelist_defaults_cam.xml modified: bld/namelist_files/namelist_definition.xml
modified: cime_config/testdefs/testlist_cam.xml new file: cime_config/testdefs/testmods_dirs/cam/outfrq9s_Leung_dust/shell_commands new file: cime_config/testdefs/testmods_dirs/cam/outfrq9s_Leung_dust/user_nl_cam new file: cime_config/testdefs/testmods_dirs/cam/outfrq9s_Leung_dust/user_nl_clm
<!-- dust emissions method --> | ||
<dust_emis_method>Zender_2003</dust_emis_method> | ||
<dust_emis_method phys='cam7'>Leung_2023</dust_emis_method> | ||
<zender_soil_erod_source>atm</zender_soil_erod_source> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ekluzek - When(if) the scientists tell us that they want to change the default setting, we will do so. This will be part of the tunings that will be happening and I suspect that we'll be adjusting quite a few settings/defaults, not just this one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of my suggestions were appropriately handled. So this is good to go from my perspective. Thanks for working on this and getting it done @fvitt!
modified: cime_config/testdefs/testlist_cam.xml
…raft modified: doc/ChangeLog modified: src/chemistry/bulk_aero/dust_model.F90
modified: bld/namelist_files/use_cases/sd_waccm_ma_cam4.xml
@ekluzek
|
modified: cime_config/config_compsets.xml modified: bld/namelist_files/use_cases/sd_waccm_ma_cam4.xml
@@ -906,7 +906,7 @@ | |||
|
|||
<entry id="LND_SETS_DUST_EMIS_DRV_FLDS"> | |||
<values match="first"> | |||
<value compset="_CAM.*_CLM">FALSE</value> | |||
<value compset="_CAM7.*_CLM6">FALSE</value> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fvitt I was concerned about this at first in case it meant that the CAM Zender soil erodibility files were NOT being used. But, it looks like that is NOT the case. So this should be fine. I'm looking at it more closely. I'm glad you figured this workaround out.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is also probably fine since longer term we want to always make this TRUE and even remove it entirely. So that just brings us closer to the long term solution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only bad thing here is that it means that the way you change dust emission settings will be different for the CAM7 with CAM6 than for anything else. But, it's unlikely that people will be messing with the dust settings for previous CAM physics.
@@ -79,7 +79,10 @@ | |||
|
|||
<!-- turn on clm MEGAN VOC emis --> | |||
<megan_mapped_emisfctrs>.false.</megan_mapped_emisfctrs> | |||
<megan_specifier>'CH2O = formaldehyde','CO = carbon_monoxide'</megan_specifier> | |||
<megan_specifier> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm surprised you had to do this. But, of course it's a change that's perfectly fine to do. I'll see if I can look into why you had to change it...
Merge pull request ESCOMP#1104 from fvitt/dust_emissions cam6_4_028: Dust emissions ESCOMP commit: d125217
Merge pull request ESCOMP#1104 from fvitt/dust_emissions cam6_4_028: Dust emissions ESCOMP commit: d125217
Mods needed for the new dust scheme
closes #651
closes #141