1 of 13

UFS Exchange Grid Implementation Update

Ufuk Turuncoglu, Mariana Vertenstein, Denise Worthen, Rocky Dunlap, Bob Oehmke

The CMEPS Mediator is developed collaboratively:

NCAR, ESMF, NOAA/EMC, NOAA/GFDL

14 Jan. 2022, UFS Weather Model Infrastructure Development Meeting

This work is supported by the UFS R2O project, Hurricane Supplemental, and National Science Foundation

2 of 13

Surface fluxes: atmosphere vs. exchange grid

2

Ocean

Grid

Atmosphere

Grid

1

2

3

4

2 - Flux computation

Satm = Socn*w + Socn*w + Socn*w + Socn*w

Fatm = calc_flux(Satm)

1 - Interpolation

2 - Interpolation

Fatm = Focn*w + Focn*w + Focn*w + Focn*w

1 - Flux computation

Focn = calc_flux(Socn)

Focn = calc_flux(Socn)

Focn = calc_flux(Socn)

Focn = calc_flux(Socn)

Regrid

  • Fluxes (F) are computed at finest possible grid resolution
    • Avoids computing fluxes using average of�state (S) variable
    • The flux computation could be easily done in the selected component grid (atm, ocn etc.)

atmosphere

exchange grid

3 of 13

UFS S2S configuration (w/o wave)

3

4 of 13

UFS S2S configuration (w/o wave) but gets fluxes from CMEPS

4

5 of 13

Base configuration for the implementation of XGrid

5

  • Used UFS configurations: cpld_control_c96_p7
    • CCPP suite that is used by S2S configuration is slightly modified to reduce the complexity that arises due to the new NSST scheme

    • In this project, we are only interested in atmosphere-ocean fluxes

suite_FV3_GFS_v16_coupled_nsstNoahmpUGWPv1.xml

modified based on previously used suite file in S2S�suite_FV3_GFS_2017_coupled.xml

6 of 13

Technical details

6

  • CMEPS - feature/xgrid_dev branch (see difference in here)
    • CCPP way of atmosphere-ocean flux calculation is implemented in CMEPS to allow comparison with the fluxes calculated by �FV3 CCPP/physics.
    • mediator/med_phases_aofluxes_mod.F90�ufs/flux_atmocn_ccpp_mod.F90�mediator/esmFldsExchange_nems_mod.F90
    • It explicitly calls CCPP/suite surface �iteration steps to calculate latent, �sensible heat fluxes, upward longwave �radiation and momentum fluxes
    • The changes are isolated with new coupling mode (nems_frac_aoflux) and option for used atmosphere-ocean scheme (aoflux_code), which could be “cesm” or “ccpp”
    • CMEPS-interface is modified to build required modules in CCPP/physics

GFS_surface_composites_pre_run

sfc_diff_run

GFS_surface_loop_control_part1_run

sfc_ocean_run

GFS_surface_loop_control_part2_run

GFS_surface_composites_post_run

x 2

7 of 13

Technical Details

7

  • CMEPS - cont.
    • The initial validation indicates that CMEPS/CCPP flux calculation reproduce fluxes in a well agreement with FV3/CCPP (some plots can be seen at the end of the presentation)
    • Issues with the current CCPP aoflux scheme implementation
      • There is no tight integration between CMEPS and CCPP/physics
      • It is not flexible enough to adapt other ways of calculating surface fluxes
      • It requires manual editing of ufs/flux_atmocn_ccpp_mod.F90 when there is a change in CCPP/physics (i.e. introducing or removing new arguments to calls). It is hard to maintain with fast envolvin development in CCPP/physics side
    • Possible solutions,
      • CMEPS as a host model for CCPP?
      • It will be discussed in CCPP developers meeting on Jan, 18.

8 of 13

Technical Details

8

  • FV3 - feature/xgrid_dev branch (see difference in here)
    • atmos_model.F90 and cpl/module_cplfields.F90 are modified to accept fluxes from mediator. New set of import fields are defined for flux components (i.e. latent heat, sensible heat fluxes)
    • ccpp/data/GFS_typedefs.{F90,meta} files are also modified to pass the fluxes that are calculated by CMEPS to CCPP/physics layer
    • A new input.nml option is introduced to control usage of mediator fluxes. The default value of use_med_flux is set to .false. to not to change the default behaviour.
    • CCPP/physics is also modified to use fluxes that are sent by CMEPS

9 of 13

Technical Details

9

  • CCPP/physics - feature/xgrid_dev branch (see difference in here)
    • Three files are modified to use data provided by CMEPS (protected by use_med_flux)
      • physics/dcyc2.{f,meta} for upward longwave radiation
      • physics/sfc_ocean.{F,meta} for latent and sensible heat fluxes
      • physics/GFS_PBL_generic.{F90,meta} for latent and sensible heat fluxes and momentum flux components
    • Open question: Do we need to modify physics/sfc_ocean.F since physics/GFS_PBL_generic.F90 also do the same for latent and sensible heat fluxes?
      • Maybe physics/GFS_PBL_generic.F90 just need to use momentum fluxes but not latent and sensible heat flux since we could loose sea spray effect which is applied in physics/sfc_ocean.F
    • Open question: Rather than modifying physics/sfc_ocean.F we could also create another file like physics/sfc_ocean_ext.F to handle CMEPS fluxes but this needs a new suite file

10 of 13

Results

10

  • All the components are updated to recent version of the UFS model (Jan, 5 - 0f047b2)
  • In the existing implementation, CMEPS could calculate fluxes in
    • atmosphere grid (agrid)
    • ocean grid (ogrid)
    • exchange grid (xgrid)
  • by supporting two different flux scheme (cesm - used with UFS data atmosphere configurations and also ccpp)
  • The initial implementation is validated using different configurations of cpld_control_c96_p7
  • The validation is still continue
    • New tests: higher-resolution and long simulations (we just tested new implementation with couple of days length simulations), restart configuration
  • Plan to create new RT that uses fluxes from CMEPS computed on exchange grid

11 of 13

Results: ref vs. agrid

11

One-day simulation with cpld_control_c96_p7 RT (using sfc_ocean, fast = slow coupling time step)

Comparison of FV3/CCPP vs. CMEPS/CCPP fluxes on atmospheric model grid (agrid)

The time-series shows the single grid point (over open ocean and not icy region)

Latent Heat

Sensible Heat

12 of 13

Results: ref vs. agrid

12

Latent Heat

  • The difference is in the range of computing platform change (see previous presentation in here)
  • Icy tiles (3 and 6) is not part of validation especially over icy regions since we are only calculating atmosphere-ocean fluxes.
  • All fluxes are in good agreement with reference simulation

13 of 13

Results: agrid vs. xgrid (fully coupled)

13

There is no significant spatial and temporal difference at C96. The difference might be more apparent in higher resolutions and extremes. More tests and validation are needed !!!

The CMPES does not include recent fix in CMEPS related with exchange grid (see PR 262) yet.