-
Notifications
You must be signed in to change notification settings - Fork 371
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
Introduce MOAB coupler interfaces and update moab driver #5979
Conversation
really bad habit of copy and paste
lat, lon, mask are set hgt is left default
instead of doing mapper_Sl2a%intx_mbid = mbintxla I was doing mapper_Sl2a%src_mbid = mbintxla which overwrote important stuff
…rearrange will use same logic now for MOAB.
Turn off domain check for the MOAB case and add log messages about aream and areacor sections of init.
Change VECT_MAP default from cart3d to none Need to see if that should be the default in production settings as well.
Put back the abort calls for any nonzero error in the MOAB seq_map_map section. Don not set valid_context to false.
used in debug mode only
Add moab parts to mapper_SFo2i. Only 2i mapper we need for now.
for atm add more counters in debug mode intial state export was missing for rof, ocn, ice
Comment out abort in copy portion of moab seq_map_map. Temporary until atm_import branch is merged.
Adjust num_moab_export values. first use in cime_init will be 00. Second use in cime_init for atm will be 01.
Add a FlxAlb2Atm h5m file for MOABDEBUG from prep_aoflux_calc_xao_ax
need to use branch moab : iulian07/check_existing_pargraph
Move writing of h5m files to end of seq_frac_init since each fraction set is modified throughout the routine. reallocated a TagValues array and make sure init value is 0._r8
Move a seq_map call to the correct place and remove some code no longer needed now that seq_map_map works for MOAB. Start to introduce mbofxid
Add mapper_Fof2a and mapper_Sof2a which will map from the flux copy of the ocean mesh to atmosphere for MOAB. Also initialize them for MCT so seq_map_map doesn't need any changes.
Use new mapper_Fof2a and mapper_Sof2a to map the xao fluxes. These are needed for MOAB to operate on the correct mesh. Also output a .h5m file of the ocean flux mesh.
it is different from ocean cplid ocn(1)%cplcompid + 1000 xao_omct is like an AV, it needs to live longer
otherwise communication does not work
Add code to set the calculated lfrac on the MOAB atm mesh. Also remove some commented out/blocked out code.
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.
River-related changes look good.
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.
Looks good from a visual inspection
also, replace MOABCOMP with MOABDEBUG in seq_map_map
l2racc_lm_cnt should have been read from file
@wlin7 if you want any changes, let me know before Wednesday. I'm going to merge it then. |
two major issues: 1) atm import moab had to comment a line, it was commented in mct import after we did moab import 2) factoring during atm second init call that was always missing
This reverts commit 9ef740a.
This reverts commit a0d1b67.
Update moab driver config settings with latest from mct driver.
Remove extra MOABDEBUG blocks used for restart debugging.
Add FAN coupler pieces to moab-coupler since ELM now expects it.
it is used for normalization in mapping routines how we did not get affected ? It was missing Also, it made the tag Faxa_swvdf non-existent on river model or not?
Add fix to surface pressure coupling in the moab import. This will be needed for the model to build after merging.
Update salt flux in moab sea-ice export which is necessary for model to build moab-cases after merge.
Update driver moab with developments from the mct coupler that will be needed when merged.
Commit d080e69 changed the values exported out of the ocean for dhdx and dhdy of ssh. Make those changes in the moab export routine. Needed for merge to work.
merged to next |
Mosart tests that use the USRDAT grid rely on testmods to actually define the grid/domain. Add definitions of frivinp_mesh. Also fix some old-style xmlchange commands.
Second merge to next to fix some Mosart tests that failed
For the record here are the files that merged cleanly ("Changes to be committed"), files that had to have conflicts fixed ("Unmerged paths"), and files that needed further modification ("Changes not staged") to work with the new build system.
All the files in the last two groups were "git added", after doing a few tests, and then "git commit" completed the merge. I used the git rerere cache which helped a lot in doing the merge to next a couple of times and the merge to master. |
Congrats! This was a big change |
Do you want me to take a second look at any of those cmake conflicts? |
Thanks! You don't have to look at anything. You had already shown how to fix it in https://github.com/rljacob/E3SM/tree/jgfouca/moab_fixes. What I didn't try was adding those changes to my branch so I wouldn't have to do it during the merge. This branch only had some of your build changes so wasn't sure it would work. |
…#6134) Fix MPAS standalone compile issues These two small changes allow MPAS components to compile in stand-alone mode. It should not affect E3SM compile or simulations. The fixes are: * A missing endif was added to the Makefile * A redundant corelist declaration was removed from mpas.F because it was added to mpas_subdriver.F in PR Introduce MOAB coupler interfaces and update moab driver #5979, and the subdriver is used by mpas.F. These fixes should work for ocean, sea ice, and MALI cores. Fixes #6133 Fixes #6138 [BFB]
Fix MPAS standalone compile issues These two small changes allow MPAS components to compile in stand-alone mode. It should not affect E3SM compile or simulations. The fixes are: * A missing endif was added to the Makefile * A redundant corelist declaration was removed from mpas.F because it was added to mpas_subdriver.F in PR Introduce MOAB coupler interfaces and update moab driver #5979, and the subdriver is used by mpas.F. These fixes should work for ocean, sea ice, and MALI cores. Fixes #6133 Fixes #6138 [BFB]
Add interfaces to driver-moab in WaterCycle components: EAM, ELM, MOSART, MPAS-Ocean, MPAS-SeaIce. Summary of changes is below.
MOAB interfaces and support routines in components are isolated with a "HAVE_MOAB" ifdef that will be automatically defined if the MOAB coupler is chosen. This allows components to use either mct or moab couplers for now. Choice is made during create_newcase. There are also cpp defines for debugging. MOABDEBUG will output .h5m files throughout the coupling processs and additional log info (very slow). MOABCOMP will calculate diffs between MCT and MOAB coupling fields. These defines need to be set by hand if you wish to use them. These will be removed later. When using default driver-mct, there is no impact on answers and no dependency on MOAB.
Also bring in latest version of driver-moab which is feature-complete for the watercycle case. All maps (except r2o) are calculated online. Merging, fluxes and all other coupler calculations are performed with moab data structures. Currently includes MCT-scaffolding for verification (data moving between components follows both MCT- and MOAB- paths; offline maps still read by MCT; all mct-based datatypes still present).
[BFB]
Build system mods
EAM mods
ELM MODS
MOSART MODS
MPAS MODS