-
Notifications
You must be signed in to change notification settings - Fork 79
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
Refactor nems field exchange; set default masks for mapping in med_internalstate #279
Refactor nems field exchange; set default masks for mapping in med_internalstate #279
Conversation
* add local flag to control whether to write the dststatus file for a particular RH. This prevents writing a dststatus file for consf_aofrac which contains garbage (since the RH is a copy, and dststatus field is not set) or a dststatus file for mapcopy
* sending only cpl_scalars back in export gave mediator error ESMF_GeomBaseGet Value unrecognized or out of range med_methods_mod.F90:424
* updates CMEPS with latests changes from ESCOMP, including - xgrid capablility (cesm only) - refactored accumulation field bundles - cleaned up med.F90 for mesh creation - refactored mediatory history functionality
* this is running but not sure of right setting here
* moved files into ufs * implemented different interface for ufs flux_atmocn_mod * add compile fixes for ufs * removed reference to util and replaced with ufs * clean up of Makefile * removed references to use of med_kind_mod and introduced ufs_kind_mod * removed unneeded files needed by ufs * Optional tiled history files for ATM (ESCOMP#257)
* mapping is done in prep-atm; this mapping is unneeded
tidy up; changes for hafs tests to work. switch dst/src masking back for hafs mode. This is not required if wmesmf can read correct values (water=1,land=0) from config file revert extraneous changes
call FldsExchange_nems twice, once for advertise and once for initialize
@uturuncoglu I ran the UFS HAFS regression tests and they all passed. Also, I will make a PR back to UWM with these changes. That will also bring back any other update that has been made since I last updated the EMC fork (Feb 3). |
@DeniseWorthen that is great. Do I need to create PR to authoritative repo or NOA-EMC fork? I could not be sure. Of course, it would be draft, at this point. |
@uturuncoglu I'm not 100% sure where in CMEPS your xgrid work touches. Do you need changes in FldsExchange_nems? I'm happy to work w/ you at getting those put in now (even if not functional) if that saves effort. |
Yes, there are some mods in |
@uturuncoglu @denise - this must be tested with cesm as well. We need to fire off the prealpha tests using cesm2_3_beta08 as a baseline. @uturuncoglu - are you willing to do this? If not I can take this on. |
@mvertens sure. I could run it and let you know. |
Thank you! You will need to merge in the latest cmeps master into this PR to have this working - but that should be part of the testing. |
@mvertens i checkout CMEPS master and merge with @DeniseWorthen branch. So, it would be fine at this point. |
@uturuncoglu - that sounds great. Thank you. |
@mvertens it will take longer than I thought. I have an issue with my disk quota since I am keeping all 35-days long runs for exchange grid work. I'll try to solve them first and start tests again. |
@uturuncoglu - no problem. Thank you so much for doing this!!! Let me know if you want me to take this on if it gets too complicated on your end. |
@uturuncoglu There is nothing time-critical in this PR on my side, it is just work I started on as part of the Wave coupling and I thought I'd take the time to get it committed. If it is easier to proceed on the X-grid changes w/o the changes in this PR, that is fine too. We can always circle back to it. |
@DeniseWorthen Thanks. No, that is fine for me. I think this must go first and then I could make required modifications for the exchange grid. I'll update all once I run CESM pre-alpha tests. |
@mvertens @DeniseWorthen I run all tests and here is the list of failed test and their error logs (I run them separately with create_test again after running full test suite and cleaning my scratch since some of them was failing with disk quota and to be sure). At this point, I don't think the errors caused by the changes in this PR. So, it seems it is safe to marge this PR but let me know what do you think? DAE_N2_D_Lh12_Vnuopc.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_intel.clm-DA_multidrv
ERP_D_Ln9_Vnuopc.C48_C48_mg17.QPC6.cheyenne_intel.cam-outfrq9s
The details build log is in ERP_D_Ln9_Vnuopc.f09_f09_mg17.FSD.cheyenne_intel.cam-outfrq9s_contrail
I also run this by activating ESMF PET log but there is no any error in there. So, this requires further investigation. SMS_D_Ln9_Vnuopc.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCnudged.cheyenne_intel.cam-outfrq9s_refined_camchem
The full log can be seen in |
@mvertens Let me know if you want me to do more test? How do you want to proceed with this PR? |
@fischer-ncar @jedwards4b - are these expected fails for beta08? I think its fine to proceed with accepting and merging these PRs - but wanted to verify this first. |
For cesm2_3_beta08 These two tests failed. |
@mvertens Please don't merge. Adding comp_present conditionals appears to resolve the issue w/ the ATM-WAV configuration, so I may want to make further changes to this PR branch. |
* add check that both components at field advertise are present
@mvertens This is ready for any final testing on your end. The additional checks for the presence of components allows me to run ATM-WAV only coupling for UWM. I ran all tests for UWM and all baselines passed. |
@uturuncoglu - are you comfortable with my merging this PR? |
@mvertens It looks fine to me since those errors was not related with the PR but need to be investigated in the near future (not expected ones). |
@uturuncoglu - thank you. Actually - those failures are not errors - but newly asked output from the mediator to the wav. |
* add new flux computation for UFS model and add new coupling mode for exchange grid implementation * fix area field for new flux algorithm * send fluxes to atmospheric model * initial implementation for sending fluxes to UFS ATM * update CCPP host model * fix latent and sensible heat fluxes and clean code * add new coupling mode for side by side flux comparison * fix CCPP host model for latent and sensible heat fluxes * fix aoflux calculation on agrid and add missing error checks * add option to write meshes and update code that retrieve area information from xgrid * update ccpp host based on recent changes in ccpp framework * fix for providing cell area to CCPP host model * make ccpp physics options configurable * Refactor nems field exchange; set default masks for mapping in med_internalstate (ESCOMP#279) Refactors esmFldsExchange_nems.F90 to use separate advertise and initialize phases and to check that a component is present before advertising a field to or from that component. Implements default src and dst mask values in place of the code currently in med_map_mod.F90. Fixes #63 and #64. * use mesh file instead of grid name (ESCOMP#285) This was done so that vertical component used in grid name does not affect tests. Co-authored-by: Dom Heinzeller <climbfuji@ymail.com> Co-authored-by: Francis Vitt <fvitt@ucar.edu> Co-authored-by: Courtney Peverley <courtneyp@izumi.cgd.ucar.edu> Co-authored-by: Jim Edwards <jedwards@ucar.edu> Co-authored-by: mvertens <mvertens@users.noreply.github.com> Co-authored-by: Denise Worthen <denise.worthen@noaa.gov> Co-authored-by: Mariana Vertenstein <mvertens@ucar.edu> Co-authored-by: Ufuk Turuncoglu <ufuk.turuncoglu@noaa.gov>
Description of changes
Refactors
esmFldsExchange_nems.F90
to use separate advertise and initialize phases and to check that a component is present before advertising a field to or from that component. Implements default src and dst mask values in place of the code currently inmed_map_mod.F90
Specific notes
Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial)
No
Any User Interface Changes (namelist or namelist defaults changes)?
No
Testing performed
Testing performed if application target is CESM:
Testing performed if application target is UFS-coupled:
Testing performed if application target is UFS-HAFS:
Hashes used for testing: