Skip to content
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

create flux correction factor in component caps #84

Closed
mvertens opened this issue Jul 30, 2020 · 5 comments
Closed

create flux correction factor in component caps #84

mvertens opened this issue Jul 30, 2020 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@mvertens
Copy link
Collaborator

Most component caps have meshes read in and independently the component itself will generate its internal grid. In cpl7, area correction factors were applied in the coupler to account for differences between areas obtained from the mapping files and areas that the component itself were using. A similar correction factor needs to be implemented in the component caps for fluxes. This can simply be done by extracting the areas from the mesh file and creating a scaling factor from that.

@mvertens mvertens added the enhancement New feature or request label Jul 30, 2020
@billsacks
Copy link
Member

#137 seems to be a duplicate of this. I am closing #137 and copying the comments from #137 below:

Based on discussions with @mvertens , CMEPS is not yet doing area correction for conservative mapping - i.e., correcting for differences between a component's internal areas and the areas computed by ESMF when generating mapping weights. According to @oehmke in a discussion this morning, area correction could be applied automatically by ESMF by specifying the add_user_areas argument when creating the mesh. (Then we wouldn't need to do a manual area correction like we do in CPL7.)

Things get messy for glc <-> lnd mapping, though (which is what I've been discussing with @mvertens ): For the glc -> lnd mapping, we map some states conservatively, and do not want to apply area correction to those; in fact, I believe that it's important that we not apply the area correction to the ice fraction (and I think we don't want to do so for the topographic height either). However, we still want fluxes from glc to use the area correction.

Similar complications may exist for the mapping of component fractions – for example, ocean fraction mapped to the atmosphere grid. My intuition is that we do not want to apply an area correction to these.

So to handle this all correctly, we may need to specify which fields do (not) get the area correction – either by applying this area correction only to fluxes (as is done for mct) or using some other, more field-by-field approach.

I'm not positive, but I think it's also important that area correction only be applied to fields that are expressed per-unit-area (as is typically the case for fluxes). I don't think you want to do area correction on a state like temperature, even if you're mapping it conservatively, because it could lead to an increase or decrease in temperature in the receiving component relative to the sending component. (In contrast, doing the area correction on fluxes just adjusts for the fact that "per-m^2" means something different in the two places.)

@mvertens
Copy link
Collaborator Author

mvertens commented Nov 4, 2021

@billsacks - CMEPS is definitely doing area correction for conservative mapping and this has been carefully validated across the system. I'm not sure what to say about the glc->lnd mapping. I thought we had discussed this a while ago and decided that we were handling this in CMEPS correctly.

@billsacks
Copy link
Member

Checking some components, it looks to me like this might have been partially implemented. I see area correction factors applied in some places in CAM's atm_import_export, but I don't see anything like that in CTSM's lnd_import_export or CISM's glc_import_export. I'm wondering if some other changes are still needed here.

@mvertens
Copy link
Collaborator Author

mvertens commented Nov 10, 2021 via email

@billsacks
Copy link
Member

From talking with @mvertens it sounds like the only remaining need is for CISM. So I'm going to close this issue and open an issue in the CISM-wrapper repository.

Repository owner moved this from Needs Prioritization to Done in CESM: infrastructure / cross-component SE priorities Nov 10, 2021
jedwards4b added a commit to jedwards4b/CMEPS that referenced this issue Jun 9, 2022
### Description of changes
Add back stream files for docn_mode=='som_aquap'  PR ESCOMP#71 broke several compsets.  

### Specific notes

Contributors other than yourself, if any:

CMEPS Issues Fixed (include github issue #):

Are there dependencies on other component PRs
 - [ ] CIME (list)
 - [ ] CMEPS (list) 

Are changes expected to change answers?
 - [X] bit for bit
 - [ ] different at roundoff level
 - [ ] more substantial 

Any User Interface Changes (namelist or namelist defaults changes)?
 - [ ] Yes
 - [X] No

Testing performed:
- [X] (required) aux_cdeps
   - machines and compilers: cheyenne, intel 
   - details (e.g. failed tests): ALL pass also tested with PR#73 merged.
   
- [ ] (optional) CESM prealpha test
   - machines and compilers
   - details (e.g. failed tests):

Hashes used for testing:
- [X] CIME
  - repository to check out: https://github.com/ESCOMP/CESM.git
  - branch: master
  - hash: 296aeaf4a
- [X] CMEPS
  - repository to check out: https://github.com/ESCOMP/CESM.git
  - branch: master 
  - hash:c0c2001
- [ ] CESM
  - repository to check out: https://github.com/ESCOMP/CESM.git
  - branch: 
  - hash:
uturuncoglu pushed a commit to uturuncoglu/CMEPS that referenced this issue Apr 6, 2023
* Corrected type for 2-m dewpoint.

* Corrected type of variables diag_flux and diag_log.

* Match von_karman_constant name with Physcons.

---------

Co-authored-by: tanyasmirnova <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done (or no longer holding things up)
Development

No branches or pull requests

3 participants