Does anyone have built ufs-weather-model with GFS.v16 on AWS?

My name is Shuxia Zhang, a new user that just starts using the ufs-weather-model.

I ran into difficulty on AWS parallelcluster with building the ufs-weather-model with GFS v16 (downloaded from  https://github.com/ufs-community/ufs-weather-model/tree/production/GFS.v16)  although the build with GFS v15 went well. 

The major compiler components used are: gcc-11.3.0, cmake version 3.20.0, Intel/compiler/2022.0.2

The error messages are enclosed below. We would appreciate any comments and/suggestions about how to fix the errors or what should be done in order to build ufs-weather-model with GFS.v16 on AWS.  

Shuxia

 

[ 93%] Building Fortran object FV3/CMakeFiles/fv3atm.dir/io/module_wrt_grid_comp.F90.o
/fsx/src-gfsv16/ufs-weather-model/FV3/cpl/module_cplfields.F90(550): error #6632: Keyword arguments are invalid without an 
explicit interface.   [RC]
    call ESMF_InfoGetFromHost(array, info, rc=localrc)
-------------------------------------------^
/fsx/src-gfsv16/ufs-weather-model/FV3/cpl/module_cplfields.F90(552): error #6632: Keyword arguments are invalid without an 
explicit interface.   [RC]
    call ESMF_InfoSet(info, key, values, rc=localrc)
-----------------------------------------^
compilation aborted for /fsx/src-gfsv16/ufs-weather-model/FV3/cpl/module_cplfields.F90 (code 1)
make[2]: *** [FV3/CMakeFiles/fv3atm.dir/cpl/module_cplfields.F90.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/fsx/src-gfsv16/ufs-weather-model/FV3/io/module_wrt_grid_comp.F90(308): error #6632: Keyword arguments are invalid without 
an explicit interface.   [INFO]
      call ESMF_InfoGetFromHost(imp_state_write, info=info, rc=rc)
-------------------------------------------------^
/fsx/src-gfsv16/ufs-weather-model/FV3/io/module_wrt_grid_comp.F90(308): error #6632: Keyword arguments are invalid without 
an explicit interface.   [RC]
      call ESMF_InfoGetFromHost(imp_state_write, info=info, rc=rc)
------------------------------------------------------------^
......


/fsx/src-gfsv16/ufs-weather-model/FV3/io/module_wrt_grid_comp.F90(1000): error #6632: Keyword arguments are invalid without an explicit interface.   [VALUES]
                call ESMF_InfoSet(info, key="ungriddedUBound", values=ungriddedUBound, rc=rc)
---------------------------------------------------------------^
/fsx/src-gfsv16/ufs-weather-model/FV3/io/module_wrt_grid_comp.F90(1000): error #6632: Keyword arguments are invalid without an explicit interface.   [RC]
                call ESMF_InfoSet(info, key="ungriddedUBound", values=ungriddedUBound, rc=rc)
---------------------------------------------------------------------------------------^
/fsx/src-gfsv16/ufs-weather-model/FV3/io/module_wrt_grid_comp.F90(1493): error #6632: Keyword arguments are invalid without an explicit interface.   [INFO]
      call ESMF_InfoGetFromHost(imp_state_write, info=info, rc=rc)
-------------------------------------------------^
/fsx/src-gfsv16/ufs-weather-model/FV3/io/module_wrt_grid_comp.F90(1493): error #6632: Keyword arguments are invalid without an explicit interface.   [RC]
      call ESMF_InfoGetFromHost(imp_state_write, info=info, rc=rc)
------------------------------------------------------------^
/fsx/src-gfsv16/ufs-weather-model/FV3/io/module_wrt_grid_comp.F90(1495): error #6632: Keyword arguments are invalid without an explicit interface.   [KEY]
      call ESMF_InfoGetAlloc(info, key="is_moving", values=is_moving, rc=rc)
-----------------------------------^
/fsx/src-gfsv16/ufs-weather-model/FV3/io/module_wrt_grid_comp.F90(1495): error #6632: Keyword arguments are invalid without an explicit interface.   [VALUES]
      call ESMF_InfoGetAlloc(info, key="is_moving", values=is_moving, rc=rc)

/tmp/ifortGetsX1.i90(4144): catastrophic error: Too many errors, exiting
compilation aborted for /fsx/src-gfsv16/ufs-weather-model/FV3/io/module_wrt_grid_comp.F90 (code 1)
make[2]: *** [FV3/CMakeFiles/fv3atm.dir/io/module_wrt_grid_comp.F90.o] Error 1
make[1]: *** [FV3/CMakeFiles/fv3atm.dir/all] Error 2
make: *** [all] Error 2

Hi Shuxia!

Sorry it took so long to respond.  I'll get in touch with the development team for you and see what they say about the issue you're having, and respond back here when we've come up with something.  Thanks!

Shawn Cebula

 

That looks like you probably have an old version of ESMF that you are building against. I am not sure exactly which version you need for that snapshot, but the modulefile that was checked in for Hera fairly recently indicates version 8.0.1.

 

Hi Mark,

The ESMF used in my build was version 8.0.0. 

I will try again with ESMF >= 8.0.1.

Thanks for the response.

Shuxia

 

Hi Mark and UFS colleagues,

I have made good progress lately with FV3GFSv16 and would like to share my learning experience in building the ufs_model and chgres.  (The latter is needed for the initialization of the former.)

Mark's comment on using the newer version of ESMF definitely pointed us to the right direction for building FV3/GFSv16. I have been able to get it built using the ESMF8.3.0, but got the same errors with ESMF8.0.1 and ESMF8.1.0.

One important lesson I learned, however, is associated with chgres. I was able to build it with ESMF8.3.0. But chgres_cube could not get the right number of MPI ranks at the run time.  Withe ESMF8.1.0, chgres_cube failed with geberating grids. Then I tried the build of ufs-utils.fd with ESMF8.0.0. Surprisingly,  it ran and generated the expected outputs as described in chgres_cube Documentation (https://ufs-utils.readthedocs.io/en/latest/chgres_cube.html).

Compared to the initialization of GFSv15,  chgres_cube v16 consumes twice of computing resources as the vertical layers double in the FV3/GFSv16 model. 

Engelhart is one of the few early UFS users on Cloud (AWS). Certainly, both FV3/GFSv16 and AWS cloud are pretty new systems to our UFS community. We all grow together. Feel free to provide any feedback/critics. Thanks much!

Shuxia Zhang