add namelist option for dust emission scheme#8342
Conversation
|
| //----------------------------------------------------------------- | ||
| // This data is time-independent, we read all data here for the | ||
| // entire simulation | ||
| soilErodibilityFunc::update_soil_erodibility_data_from_file( |
There was a problem hiding this comment.
@mingxuanwupnnl, this call only populates soil_erodibility_. Is that correct? If so, we can skip the computation and just set soil_erodibility_ to 1.
if (dust_emis_scheme == 1) {
soilErodibilityFunc::update_soil_erodibility_data_from_file(...);
} else if (dust_emis_scheme == 2) {
Kokkos::deep_copy(soil_erodibility_, 1.0);
}
There was a problem hiding this comment.
Yes, this works too:
soilErodibilityFunc::update_soil_erodibility_data_from_file(...);
if (dust_emis_scheme == 2) Kokkos::deep_copy(soil_erodibility_, 1.0);
I don't know which way is better from the software engineering perspective
| <!-- scale factors (applied to data read from file) --> | ||
| <srf_emis_scale_factor_for_dms type="real" doc="Surface emissions scale factor for DMS">1.0</srf_emis_scale_factor_for_dms> | ||
|
|
||
| <dust_emis_scheme type="integer" doc="Dust emission scheme, 1: Zender et al. (2003), 2: Kok et al. (2014)">1</dust_emis_scheme> |
There was a problem hiding this comment.
I wonder if, instead of type="integer", we could use type="string" and labels instead of 1 or 2. In the code, we can then use an enum.
There was a problem hiding this comment.
we used integer for this option in v3. I'd prefer the consistency, if no other differences. I suspect the option 1 will be used often, as it is more of a backup.
Add a namelist option for dust emission scheme, 1 being the default Zender et al. (2003), 2 being Kok et al. (2014).
There are a few issues here.
Currently, we don't have tuning factor for dust and sea salt emission in namelist. They are fixed and hardcoded in MAMxx.
If we switch to K14 scheme, it need a different tuning factor.
I reset soil_erodibility to be one, in that case, it will be always larger than the threshold in dust emission calculation. We can also pass the emission option to dust_emis and change the if statement
if (soil_erodibility >= soil_erod_threshold) {initial test show large amount of dust emission in the Antarctic costal regions. Need to check land soil moisture/land inital condition
DUEM.tiff