-
Notifications
You must be signed in to change notification settings - Fork 15
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 SetVm in ESMF/UFS/Aerosol_Cap.F90 for ESMF managed threading capability. #165
Comments
@junwang-noaa I'm sure we can add those lines - but it may take some time before it appears in a release. At first glance, it would appear that SetVM is not used, so I don't really see why these lines would matter. Is it anticipation of further changes where SetVM is used? In which case, maybe it is better to wait for those? |
@tclune This is the exact question I had. Here is the answer from Gerhard: "we do still need the public SetVM for GOCART. The reason is that it is through this mechanism the GOCART code runs on exactly the same PETs as the threaded FV3 FCST component. This is important for the reference sharing between FCST and GOCART. It would not otherwise work under the ESMF-managed setup, where each component decides independently of how to use the PEs provided by the parent component. |
@tclune The SetVM is unsed under UFS. Notice that the GOCART cap change use associates SetVM with the generic version from NUOPC_Model, and makes it public. This is how the UFS driver can access it. This generic SetVM looks at the defined NUOPC attributes, to handle the resource management for the component. |
OK - so you are saying that the Aerosol_Cap is simply re-exporting a NUOPC entity so that some other layer (GOCART CAP) has access. Wouldn't it make more sense to put the USE statement in GOCART CAP instead? Seems odd to put it in a module that does not do anything with it. |
It's the UFS driver that does something with it. I don't expect the GOCART CAP wanting to access it, at least not for now. It's along the path of how GOCART is accessed as a NUOPC component under UFS, so it sits in GOCART's NUOPC cap. |
@junwang-noaa Please see #166 |
@mathomp4 Great, thank you! |
Fixes #165. Add SetVM to UFS Aerosol Cap
We are adding the ESMF managed threading in UFS weather model. Two lines of code need to be added to ESMF/UFS/Aerosol_Cap.F90.
Could these two lines be added in the GOCART code? We expect no impact on the GOCART that does not use the ESMF managed threading. Thanks.
The text was updated successfully, but these errors were encountered: