-
Notifications
You must be signed in to change notification settings - Fork 8
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
Add new test for mirroring with nested states #7
Add new test for mirroring with nested states #7
Conversation
@theurich I add a new simple prototype app for testing new option for mirroring. In this case, ocean component sends sst and atmosphere model extracts the nested state to reach the field provided by ocean component. I used existing miroring test in here but I remove lots of things from it to make it simple and understandable. |
@theurich this works without any issue in one processor but it seems handing if I use multiple. I could not understand way but if you have any idea or seeing anything missing just let me know. I'll also try to fix it. |
@theurich Okay. It is working if I comment following lines from the esm.F90.
I am not sure this part is necessary. Do we want to also test this with threading. Since editing mirroring test is testing threading maybe it would be nice to see this simple. Anyway, let me know what you think. |
@theurich Okay. I removed unnecessary things and i also run all the apps (using Intel compiler on Hercules) in my end and here is the results.
Some of tests are failing with following error,
The ESMf version that I am testing with does not have your fix (related with the info at FV3). So, maybe we are getting error because of it. Or maybe this leading to the edge case that you mentioned in the call. Any idea? I could also test again once you merge your fix. |
@theurich I think ESMX are fine since the make is having hard time to find ESMX_Builder. I am not sure why but in my installation esmf.mk file was showing wrong path: ESMF_APPSDIR=/work2/noaa/nems/tufuk/COP/esmf/apps/appsO/Linux.intel.64.intelmpi.default Once I fixed it it was fine. |
1 similar comment
@theurich I think ESMX are fine since the make is having hard time to find ESMX_Builder. I am not sure why but in my installation esmf.mk file was showing wrong path: ESMF_APPSDIR=/work2/noaa/nems/tufuk/COP/esmf/apps/appsO/Linux.intel.64.intelmpi.default Once I fixed it it was fine. |
For ESMX_Builder, if you use an |
Okay but in my case, esmf.mk is pointing to wrong directory for the ESMX_Builder. I had to go and fix it manually and change it from
So, maybe there is something wrong in there but let me double check. |
So you were using |
@theurich Okay. That makes sense. That was my fault. Thanks. |
@uturuncoglu Once you have esmf-org/esmf#241 updated against |
... and also good to update this branch against the proto |
@theurich I am also updating in here. |
Sorry, I meant to tag @uturuncoglu! |
@theurich Okay. that makes sense. BTW, in the particular test, ATM has two sub-component DYN and PHYS. So, maybe this is hitting to another edge case. Also, ESMX tests are faling too with something strange error. For example,
I have also failure in |
@theurich There is the full list of failures for your reference,
|
I am building your ESMF branch locally, and then will see if I can reproduce these failures... |
@theurich Okay. I am also building develop in my end to double check ESMX errors. |
@theurich JFYI, |
@uturuncoglu I am pretty sure the ESMX failures you are seeing likely are an issue on your setup. They all pass for me (for both develop and also your ESMF branch). Also develop passed last night cleanly (including the ESMX tests), so I don't think it is a general problem. I see the |
@theurich Just to be sure that this is related with the StateReconcile work. I roll back to the esmf version that has mods for new metadata but not StateReconcile work. I was not trying to tun NUOPC app prototypes before merging state reconcile work. Anyway, the last commit that I have in this ESMF version is,
and then I run newly added app proto ( |
@uturuncoglu Yes, that does make sense.... it turns out to be a combination of both: StateReconcile() optimization and the mirror changes. In fact we are hitting exactly the edge case in State level Info reconciliation that is no longer supported in the optimized StateReconcile(). However, I am working on a solution for this now. I plan to open a PR into your PR branch once I have the changes ready.... so you can review, and we can discuss. |
@theurich Okay. Sure. Thanks. |
@uturuncoglu The code under esmf-org/esmf#328 passes both the |
@theurich It seems that we do not need to change anything in the proto code except if we change the name of the transfer attribute that needs to be consistent with the proto app. Right? |
Yes, that is correct. For now I wanted your prototype to keep working without any change. Once we decide on the renamed transfer option, we can adjust your proto code. |
when identifying the fields in nested state during output.
@uturuncoglu I pushed some small changes into your new prototype app. The two main items are:
|
@theurich Thanks for your help. It looks good to me. We could discuss the next step about both PR in the core call. |
@uturuncoglu I made the updates. Please review. |
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.
It looks good to me. Probably, you already run on your end but let me know if you want me to test too.
Yes I tested. The other thing though that would be nice if you could test is your actual use case code. As we know, it will need a little updating. It will be nice to have that working with the |
@theurich Okay. Let me test it. Update you soon. |
@theurich The real application is also running without any issue. |
Perfect... I'll go ahead and merge the PR. |
This PR aims to add new NUOPC application prototype to test new mirroring option
transferAllAsNests
.