-
Notifications
You must be signed in to change notification settings - Fork 88
Issues masking fields in the CMEPS mediator #563
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
Comments
@miguelsolanocordoba - which mode are your using -
|
@miguelsolanocordoba The only mapfillv_bilnr use that I am aware of in CMEPS is for the UFS HAFs application. That is a regional application with specific uses because of non-overlapping domains (non-overlapping in this case is not just that the land mask doesn't match---the domains themselves extend out past each other). So it would be helpful to understand which field exchange you are using, if your domains are global, if your ATM and WAV land masks match (or you need to fill in non-mapped points with nstod) etc. |
Thanks for the quick reply @mvertens and @DeniseWorthen. We used the UFS HAFs application as our starting point, so we follow their application closely (i.e. we essentially use the esmFldsExchange_hafs_mod.F90 routine). Here is some of the information they are asking for:
Seems like the solution here is to fill non-mapped points with nstod, correct? Could you provide more details on how that would get implemented? Let me know if I missed any details, or if more information would be helpful. |
@miguelsolanocordoba Thanks for the additional information. Obviously details matter, and I don't know anything about FV3-SHieLD. But for UFS, we have a regularly tested configuration of global ATM-WAV only, with a C96 ATM and a 1-deg rectilinear WW3 domain, which sounds somewhat comparable. For that configuration we send 10m winds and bottom temperature to WAV and z0 to ATM (I don't believe CESM has any configuration where WAV -> ATM). We're mapping to WAV with bilinear and from WAV with bilinear+nstod. Our ATM-WAV configuration is global and so uses the |
Background
The weather team at Sofar Ocean has been working on a coupled atmosphere-wave model application, based on FV3-SHiELD for the atmosphere/land and WaveWatchIII for the wave component (as a start - we are working on adding MOM6 as the ocean component). For atmosphere-wave coupling, we are passing surface neutral winds, air-density and air-sea temperature differences from atmos to waves, and the Charnock paramter from waves to atmosphere. We were previously using a simple ESMF/NUOPC mediator, but quickly ran into the issue of only being able to run coupled at the atmosphere step (2.5min for our global model), so we decided to move to CMEPS as our mediator. We've had some success with the new coupling (we can now run at lower coupling frequencies, among other advantages), but have 1 outstanding masking issue (explained below).
Description
I noticed that some of the default masking options are changed depending on application specific uses:
It seems odd to hard-code some of these "default" values, as pointed out in this (still open) issue: #93
Nevertheless, I modified our forked CMEPS branch to take in the srcMaskValues and dstMaskValues at runtime in the configuration file (*.config), to allow for further testing. Using the default mask (ispval) or masking land in the (source) wave model doesn't work.
For some unknown reason, we can't seem to mask fields over land in the mediator and it seems some NaN values are getting passed in the Charnock paramter values to the atmosphere, which is causing it to blow-up. We could "hack" these values if necessary, but I was wondering if anyone had run into this issue before? What would be the proper way to mask sea/land/ice values in the mediator for an atmosphere-wave configuration?
Thanks in advance for any feedback.
The text was updated successfully, but these errors were encountered: