-
Notifications
You must be signed in to change notification settings - Fork 446
Add EAM-generated dust deposition capability to ocean #7721
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
base: master
Are you sure you want to change the base?
Conversation
|
@maltrud : could you add the new stream fields to the buildnml? --- a/components/mpas-ocean/cime_config/buildnml
|
|
@njeffery great idea--will do. |
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.
@maltrud : Should we create a shared constant for the 55.845_RKIND?
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.
@njeffery this is the value used in MaRBL--I don't think it is capable of using shared constants. but it does make sense to use the same value for ocean and ice (and atmosphere too I guess). should we ask Yan what EAM uses? I doubt they'll change it if it's different, but we should check.
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.
Good idea! Let's coordinate with Yan and find out where the EAM constant is.
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.
@yfenganl : we'd like to use a consistent iron molar mass constant across components. Where does EAM access the 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.
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.
@yfenganl -- if you're OK with this solution, could you officially resolve the conversation (button below)?
|
I've run a fully-coupled test and all looks good. Here are some figures: |
njeffery
left a comment
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.
Approved after running a fully coupled test and verifying ocean and sea ice dust/iron concentrations. The iron molar mass is the same in ocean/seaice. Would be good to make this a shared constant across all components.
mark-petersen
left a comment
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 tested MPAS-O standalone with the compass nightly suite on perlmutter with gnu and it passes compile and run, but that does not compile in the coupled code.
I also ran a smoke test with E3SM using
./create_test SMS_Ld3.T62_oQU240.GMPAS-NYF.pm-cpu_gnu -p m4572 -q debug --walltime 00:30:00
and it has a compile error at
/pscratch/sd/m/mpeterse/e3sm_scratch/pm-cpu/SMS_Ld3.T62_oQU240.GMPAS-NYF.pm-cpu_gnu.20251003_095213_nlxhjj/bld/cmake-bld/core_ocean/shared/mpas_ocn_tracer_ecosys.f90:2868:69:
2868 | if (.not. config_use_ecosysTracers_atm_dust_from_coupler) then
| 1
Error: Symbol ‘config_use_ecosystracers_atm_dust_from_coupler’ at (1) has no IMPLICIT type
/pscratch/sd/m/mpeterse/e3sm_scratch/pm-cpu/SMS_Ld3.T62_oQU240.GMPAS-NYF.pm-cpu_gnu.20251003_095213_nlxhjj/bld/cmake-bld/core_ocean/shared/mpas_ocn_tracer_ecosys.f90:2814:57:
2814 | if (config_use_ecosysTracers_iron_solubility_file) then
| 1
Error: Symbol ‘config_use_ecosystracers_iron_solubility_file’ at (1) has no IMPLICIT type
/pscratch/sd/m/mpeterse/e3sm_scratch/pm-cpu/SMS_Ld3.T62_oQU240.GMPAS-NYF.pm-cpu_gnu.20251003_095213_nlxhjj/bld/cmake-bld/core_ocean/shared/mpas_ocn_tracer_ecosys.f90:2464:56:
2464 | if (config_use_ecosysTracers_atm_dust_from_coupler .and. &
| 1
Error: Symbol ‘config_use_ecosystracers_atm_dust_from_coupler’ at (1) has no IMPLICIT type
/pscratch/sd/m/mpeterse/e3sm_scratch/pm-cpu/SMS_Ld3.T62_oQU240.GMPAS-NYF.pm-cpu_gnu.20251003_095213_nlxhjj/bld/cmake-bld/core_ocean/shared/mpas_ocn_tracer_ecosys.f90:2465:61:
2465 | .not. config_use_ecosysTracers_iron_solubility_file) then
| 1
Error: Symbol ‘config_use_ecosystracers_iron_solubility_file’ at (1) has no IMPLICIT type
so something is wrong with the declarations of those variables.
|
BTW, on the previous E3SM test, I had to rebase on the head of master to get through the setup on perlmutter. Submitting a job from the head of this PR, there is a library mismatch: |
mark-petersen
left a comment
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.
Never mind. It did pass the smoke test. I've seen this error before, so I'll leave the previous message up there. When you add new config flags, it is best to start with a new repo directory. When I use an old repo directory, there must be some temporary files that remain and then we get errors that the config flags have not been declared.
|
I added the shared constant and updated ocean streams changes and pushed to the branch. I did a local merge of master with the branch and it passed all except NML since we added new namelist variables. I think it's ready for the next step. SMS_D_Ld1.ne30pg2_r05_IcoswISC30E3r5.WCYCL1850.chrysalis_intel.allactive-wcprod (Overall: NLFAIL) details: |
|
@maltrud -- I ran the semi-automated scripts to make the bld files consistent with what's in Registry. Most of the changes are in ordering of the new configs, but some of the documentation you added to namelist_definition_mpaso.xml will get lost. If any of it is important, please change the descriptions in Registry and I'll rerun the scripts |
|
@maltrud -- since this is a stealth feature, we need to add a stealth test with this PR. I'm working on a testdef that just changes the values of these two new configs: Is that all that needs to be done? Does this need to be a marine BGC run in order for this to work? |
Currently, the atmospheric dust and iron deposition to the surface ocean is specified to be a monthly climatology that has been used for all E3SM ocean BGC cases for the past decade. This PR now allows the use of a climatology generated by EAM from archival simulations with prognostic dust deposition and time-variable solubility for iron in dust, which requires extra fields to be read in. In addition, the wet and dry dust flux that EAM sends through the coupler can now also be used by the ocean in fully coupled runs so only the solubility is required to be read in from a file.
[NML]
[BFB] - stealth feature