E3SM-Ocean-Discussion / E3SM

Ocean discussion repository, for ocean issues and longer-term pull requests for E3SM source code. Please make pull requests that are ready to merge into https://github.com/E3SM-Project/E3SM
https://e3sm.org
Other
1 stars 0 forks source link

Add freshwater tracers #108

Open cbegeman opened 4 months ago

cbegeman commented 4 months ago

This PR adds a freshwater tracer group that tracks the concentration of all surface mass fluxes to the ocean. The nonlocal flux term is not included because it would require a new nonLocalSurfaceTracerFlux struct array to separate the salinity flux into its constituent mass source terms. That term is also not included for other passive tracers.

cbegeman commented 4 months ago

@jonbob When you have time, would you be willing to take a look at this PR and let me know if you see any obvious issues why E3SM builds would fail while MPAS-O builds are successful? I imagine I might have missed something that your namelist-related scripts would pick up.

Here's the build log if that's helpful. I didn't see anything that looked informative to me. /lcrc/group/e3sm/ac.cbegeman/scratch/chrys/SMS_Lm1_P2048.ne30pg2_ECwISC30to60E2r1.CRYO1850-DISMF.chrysalis_intel.G.20240702_105706_xqyt5o/bld/e3sm.bldlog.240702-110049

Thank you so much!

cbegeman commented 4 months ago

@irenavankova Here's the branch in case you'd like to start taking a look at it.

darincomeau commented 4 months ago

@cbegeman I see this in the bld log:

/lcrc/group/e3sm/ac.cbegeman/scratch/chrys/SMS_Lm1_P2048.ne30pg2_ECwISC30to60E2r1.CRYO1850-DISMF.chrysalis_intel.G.20240702_105706_xqyt5o/bld/cmake-bld/core_ocean/shared/mpas_ocn_subgrid.f90(550): 
error #6404: This name does not have a type, and must have an explicit type.   [CONFIG_USE_SUBGRID_WETTING_DRYING]

I don't see that config option anywhere in this PR, are you perhaps running this on top of a different branch?

jonbob commented 4 months ago

good catch, @darincomeau. Let me see if running the scripts to make bld files helps

jonbob commented 4 months ago

@cbegeman -- the problem is that we haven't brought the wetting_drying namelist into E3SM yet, so the

config_use_subgrid_wetting_drying

namelist setting isn't currently available. We can bring it in, but it might take some discussion

cbegeman commented 4 months ago

Thanks, @darincomeau and @jonbob! This PR doesn't depend on wetting and drying at all. How can I get around this? Is there a particular commit/tag I should rebase this onto?

xylar commented 4 months ago

@cbegeman, it looks like that's the base case you're trying to compare this branch to (based on the .G. in the name). So this is with master, right?

Could it be that the test case you're trying to run isn't a good choice? SMS_Lm1_P2048.ne30pg2_ECwISC30to60E2r1.CRYO1850-DISMF.chrysalis_intel? I think we want to be testing with E3SM v3 grids. Even if so, we probably want to know why this test case is broken and fix it.

xylar commented 4 months ago

I've been using:

SMS_D_P480_Ld1.ne30pg2_r05_IcoswISC30E3r5.CRYO1850-DISMF.chrysalis_intel
xylar commented 4 months ago

For what it's worth, I was able to build e3sm.exe for SMS_Lm1_P2048.ne30pg2_ECwISC30to60E2r1.CRYO1850-DISMF.chrysalis_intel with the current master:

/lcrc/group/e3sm/ac.xylar/scratch/chrys/SMS_Lm1_P2048.ne30pg2_ECwISC30to60E2r1.CRYO1850-DISMF.chrysalis_intel.G.20240712_102150_3q1ix1/bld

@cbegeman, it might be worth giving it another try.

cbegeman commented 4 months ago

@jonbob I'm not seeing the new tracer group config options appear in the namelist for e3sm cases. When you have a chance, can you give this branch a look and see if I've missed anything in the e3sm build namelists/scripts?

jonbob commented 4 months ago

@cbegeman -- I'll look now. Oh, you have to add the new group to the groups list in build-namelist

irenavankova commented 4 months ago

Past line 1819 in build-namelist add a new line tracer_forcing_freshwatertracers

cbegeman commented 4 months ago

Thanks for pointing this fix out @irenavankova! https://github.com/E3SM-Ocean-Discussion/E3SM/pull/108/commits/81f93b27a3a27e0c22ea9266f3af1e0a5d123c79

irenavankova commented 2 months ago

@cbegeman, the subglacial runoff is in master now. Do you want me to add the subglacial tracers to this pull request before moving it on?

irenavankova commented 2 months ago

The branch I used for the gcase runs with subglacial runoff tracers is here:

https://github.com/E3SM-Project/E3SM/compare/master...irenavankova:E3SM:sgr_tracers

Probably a bit messy, so let me know if you want me to pick out something specific

cbegeman commented 2 months ago

@cbegeman, the subglacial runoff is in master now. Do you want me to add the subglacial tracers to this pull request before moving it on?

@irenavankova I'll rebase this branch then compare the code against your branch. I'll let you know if I have any questions or issues. Thanks!

cbegeman commented 2 months ago

@irenavankova Can you rerun one of your isomip_plus configurations with subglacial fluxes with this new branch to test that capability? As far as I can tell, there's not an easy way to turn sgr on in this test case. I have rerun an isomip_plus case and it seems to be working as expected for ismf.

irenavankova commented 2 months ago

I ll rerun it, I have a compass branch modified for that. It might not be till tomorrow though.

cbegeman commented 2 months ago

@irenavankova No rush! Thanks!

irenavankova commented 1 month ago

@cbegeman, the isomip case with subglacial tracers runs fine on your branch.

Here is subglacial freshwater tracer in the top layer (first month average):

Screenshot 2024-10-07 at 18 00 59

And here the associated landice freshwater tracer:

Screenshot 2024-10-07 at 18 01 11