Skip to content
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

implementation of new orographic drag parameterization scheme to alleviate wind bias in E3SM #6667

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

jinboxie
Copy link
Contributor

@jinboxie jinboxie commented Oct 7, 2024

Add a new suite of orographic drag parameterization schemes into EAM. It includes 4 components all combined in one module (i.e. subroutine gwdo2d). The schemes include orographic gravity wave drag (oGWD, Xie et al.,2020), flow-blocking drag (FBD, Xie et al.,2020), small-scale GWD (sGWD, Tsiringakis et al.,2017), and turbulent-scale orographic form drag (TOFD, Beljaars et al., 2004).
The scheme is distributed by the interface named gwdo_gsd.
The oGWD, FBD, and sGWD are implemented in gw_drag.F90, while TOFD is implemented in clubb_intr.F90 to join the vertical diffusion process. Another change is in the startup_initialconds.F90/gw_drag.F90 where the new topographic parameters (OA, OC, OL) are input into the model.

Although it is possible to turn each new scheme on/off individually, the only validated config is to have them all on (and the original scheme off).

(formation of the additional topographic parameters are documented here).

[BFB]


The results tested in E3SMv2/v3 documented here. The overall 5-yr F2010 results between CTL run (default E3SMv3) and 3GWD-3FBD-sGWD-TOFD run (experimental run using new schemes) show that the new schemes help to alleviate the 10-m wind speed bias compared to ERA5 in E3SMv3.

The coupled simulation has run past over 10 years and the results are documented here.


The namelist control is added for the 4 schemes. The 4 schemes are separately control by namelist variables
use_od_ls (oGWD)
use_od_bl (FBD)
use_od_ss (sGWD)
use_od_fd (TOFD)
tunable parameters in the schemes are also controllable via namelist, e.g.
ncleff_ls (oGWD)
ncd_bl (FBD)
sncleff_ss (sGWD).


The code has passed all the tests in the "e3sm_atm_developer" & "e3sm_atm_integration" suites with new scheme closed and topo file modified.
The code has also passed all the test in the "e3sm_atm_orodrag" where the v3 default GWD is turned off (use_gw_oro=.false.) and the new schemes turned on
(use_od_ls=.true.
use_od_bl=.true.
use_od_ss=.true.
use_od_fd=.true.).
The e3sm_atm_orodrag is a suite of new tests for development of the new schemes in e3sm.


image

image
Figure 1 5-yr F2010 simulation for E3SMv3 (0001-0005) vs ERA5 climatology (1979-2019) for 10-m wind speed (a-b) and 2-m temperature (c-d).


Further task lists before merging

  • Do a 10-yr long coupled run.
  • Add warnings for selections of drag schemes in the model.
  • Separate the topo data generation workflow from the original topo tools in E3SM
  • Pass the stealth test for orographic drag schemes.
  • Test if the new topo data may impact the results compared with default E3SM baseline.

	1. A new toolkit for generation of the topographic file
	   for new orographic drag schemes is included in
	   code/components/eam/tools/topo_tool/.

		new file:   orographic_drag_toolkit/Makefile
		new file:   orographic_drag_toolkit/README
		new file:   orographic_drag_toolkit/Tempest-remap_generation.sh
		new file:   orographic_drag_toolkit/cube_to_target.F90
		new file:   orographic_drag_toolkit/make.ncl
		new file:   orographic_drag_toolkit/ogwd_sub.F90
		new file:   orographic_drag_toolkit/reconstruct.F90
		new file:   orographic_drag_toolkit/remap.F90
		new file:   orographic_drag_toolkit/run.sh
		new file:   orographic_drag_toolkit/shr_kind_mod.F90
		new file:   orographic_drag_toolkit/transform.F90
[BFB]
	1. The new orographic drag schemes is implemented into physics
	   package. It includes nonlinear orographic gravity wave drag
	   (oGWD), flow-blocking drag (FBD), small-scale GWD (sGWD),
	   turbulent orographic form drag (TOFD). The code modifications
	   are in physics, clubb, and control of eam (for input of the
	   new topo file).

	2. A new topo file including new topo parameters is input into
	   the model. namelist_defaults_eam.xml is modified to add the
	   new topo file.

	3. See #PR 6665 for more info.

	modified:   bld/namelist_files/namelist_defaults_eam.xml
	modified:   src/control/startup_initialconds.F90
	modified:   src/physics/cam/clubb_intr.F90
	modified:   src/physics/cam/comsrf.F90
	modified:   src/physics/cam/gw_common.F90
	modified:   src/physics/cam/gw_drag.F90
	modified:   src/physics/cam/hb_diff.F90
	modified:   src/physics/cam/physics_types.F90
	modified:   src/physics/cam/physpkg.F90
	modified:   src/physics/cam/ppgrid.F90
	modified:   src/physics/clubb/advance_windm_edsclrm_module.F90

[Non-BFB]
Copy link

github-actions bot commented Oct 7, 2024

PR Preview Action v1.4.8
🚀 Deployed preview to https://E3SM-Project.github.io/E3SM/pr-preview/pr-6667/
on branch gh-pages at 2024-11-26 19:10 UTC

@oksanaguba
Copy link
Contributor

oksanaguba commented Oct 14, 2024

A few questions, please -- are these drags energy conserving? I assume at least the one in clubb is not (from reading the code)? Should we run some checks to confirm this?

Separately, if these are topo drag parameterizations, why does this PR introduce changes in the topo tool? In other words, how/why are these parameterizations affecting topo generation?

Were these parameterizations tuned to show smaller bias? I assume only one was used to report smaller biases as above, what about the other 3? (unless they all run together?) UPDATE -- it seems they ran together.

If i knew that this code base (physpkg.F90, etc) is to be used for a while, i would suggest for you to remove the code from clubb_intr and make is a separate module/routine. You can then use that new code to add another forcing term to cam_in structure to be "absorbed/diffused" by clubb. This is to separate clubb interface code from clearly a different parameterization.

thanks!

@jinboxie
Copy link
Contributor Author

jinboxie commented Oct 15, 2024

A few questions, please -- are these drags energy conserving? I assume at least the one in clubb is not (from reading the code)? Should we run some checks to confirm this?

Separately, if these are topo drag parameterizations, why does this PR introduce changes in the topo tool? In other words, how/why are these parameterizations affecting topo generation?

Were these parameterizations tuned to show smaller bias? I assume only one was used to report smaller biases as above, what about the other 3? (unless they all run together?) UPDATE -- it seems they ran together.

If i knew that this code base (physpkg.F90, etc) is to be used for a while, i would suggest for you to remove the code from clubb_intr and make is a separate module/routine. You can then use that new code to add another forcing term to cam_in structure to be "absorbed/diffused" by clubb. This is to separate clubb interface code from clearly a different parameterization.

thanks!

Hi Oksana @oksanaguba ,
Thank you for the questions!
In terms of the energy conserving, I'm not sure I understand this correctly. Did you mean the fixer that gw energy fixer that was implemented in gw_drag.F90? I'm not familiar with this part, could you maybe clarify on how to test it?

The introduction of changes in topo tool (creation of a separate folder for generation of additional topographic parameter) does not affect the current topo generation. It is used to generate additional topographic parameters (such as orographic asymmetry, effective orographic length) that are needed for the new OGWD parameterization. The process is documented here.

For implementation of turbulent orographic form drag (TOFD, the turbulent mountain stress (TMS) equivalent) into the CLUBB intr. I was following the previous implementation of TMS. What we input into the clubb_intr is an interface that utilizes the module of the new schemes (with only TOFD opened, others closed here. The other 3 schemes are opened in gw_drag.F90).
(Note that the 4 schemes are modulized, and easily distributed through opening and closing flags with an interface).

Unlike TMS, the TOFD can generate a profile rather than a single-level surface stress. We had to find a way to input this forcing profile of TOFD into the clubb to join the vertical diffusion (or maybe what you meant by "absorbed" by clubb?).
So we are currently following TMS's positioning in clubb_intr, the minor difference is that TMS is inputting surface wind forcing (upwp_sfc, vpwp_sfc) while we are inputting wind profile forcing terms (um_forcing, vm_forcing) into clubb at the clubb_intr.

So in this code, I was inputting an interface for the calculation of the TOFD into clubb_intr while the module is somewhere else in physics folder. I was wondering if you'd meant to put this interface of the new scheme out in physpkg.F90 instead?
Thanks!

Jinbo

            1. The new orographic drag schemes are added with namelist
               variables to turn on/off the schemes in E3SM.

            2. The correspondent model files are modified in the namelist
               defaults.

            3. Some bugs are modified.

            See #PR 6667 for more info.

	modified:   components/eam/bld/build-namelist
	modified:   components/eam/bld/namelist_files/namelist_defaults_eam.xml
	modified:   components/eam/bld/namelist_files/namelist_definition.xml
	modified:   components/eam/src/physics/cam/clubb_intr.F90
	modified:   components/eam/src/physics/cam/comsrf.F90
	modified:   components/eam/src/physics/cam/gw_common.F90
	modified:   components/eam/src/physics/cam/gw_drag.F90
	modified:   components/eam/src/physics/cam/hb_diff.F90
	modified:   components/eam/src/physics/cam/phys_control.F90
	modified:   components/eam/src/physics/cam/physpkg.F90
	modified:   components/eam/src/physics/cam/ppgrid.F90

[Non-BFB]
@jinboxie
Copy link
Contributor Author

jinboxie commented Oct 23, 2024

@mt5555
Hi Mark,
I have a question in terms of the topography file. The current implemented scheme involves use of additional topographic parameters that are added in the topo file, (generation method documented here). Take ne30pg2 as an example (USGS-gtopo30_ne30np4pg2_x6t-SGH_forOroDrag.c20241001.nc in replacement of USGS-gtopo30_ne30np4pg2_x6t-SGH.c20210614.nc), the original variables such as PHIS, SGH, SGH30 are the same, except for addition of parameters such as orographic asymmetry (OA), orographic convexity (OC), etc. These are needed when new scheme is open while not needed when the default GWD is used.
I was wondering if I can update the file in the namelist like this (replacing the default used topo file, the new topo data is on chrysalis input directory and shared over other servers), or would you suggest alternative options?
Jinbo

@rljacob
Copy link
Member

rljacob commented Oct 31, 2024

Someone needs to approve this.

@@ -0,0 +1,2550 @@
!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we adding a second version of cube_to_target?
This seems like a recipe for diverging versions where one is working and the other is broken, right?
I feel like we should only ever have a single version.

Copy link
Contributor Author

@jinboxie jinboxie Nov 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a suite of toolkit for generation of additional topographic parameters for the new scheme (documented here).
The derivation code is developed before also based on cube_to_target. We'd want to make an independent workflow so as to be separate from the topo generation workflow now maintained by Mark's @mt5555.
As documented in the confluence (here), we'd generate the additional topographic parameters and append them to the topo data that was generated by the default topo workflow in E3SM.

Copy link
Contributor

@whannah1 whannah1 Nov 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you should name the tool something else then - having two tools with the same name is definitely going to lead to confusion.

But also - if these quantities need to be appending to a topo file, why not enhance the existing cube_to_target tool to produce the quantities and not make more steps for people to work through when they create new grids? You could add a flag to enable the feature so it is in "stealth mode". This seems like it's going to make everything harder to maintain rather than working within the existing workflows.

@jinboxie
Copy link
Contributor Author

jinboxie commented Nov 15, 2024

A few things the PR doesn't make clear. Its adds 4 new schemes so there's a total of 5 if we include the original one? This is BFB and STEALTH since the original schemes is left on? Are the 4 schemes each switchable on/off? It looks like the 10-year sim was done with all of them on?

Hi Rob @rljacob , the current default orographic drag in E3SM includes two components: orographic gravity wave drag (oGWD) and turbulent mountain stress (TMS, currently turned off in E3SM).

My schemes include four components, two of which are oGWD and TOFD (TMS equivalent scheme), two of which are added (flow-blocking drag [FBD] and small-scale GWD [sGWD]). As the new schemes are currently an option in the model (turned off) and the original scheme is turned on, the current PR is BFB.

The 4 schemes are easily turned on/off by using namelist options use_od_ls (oGWD), use_od_bl (FBD), use_od_ss (sGWD), use_od_fd (TOFD). The switching of schemes is recommeded to be new oGWD vs old oGWD, TOFD vs TMS, we specifically added warning and endrun in clubb_intr.F90 and gw_drag.F90 if both new/old oGWD are turned on or both TOFD/TMS are turned on. FBD and sGWD are free to turn on/off to supplement the simulations result.

We have a full document of testing results using several components for JJA, 5-yr AMIP simulations of different configurations documented here. After testing, it is recommended to open the 4 schemes in replacement of current default oGWD scheme for better results on surface wind.

The coupled 10-yr simulation is for the stability run testing and we thus used the optimized configuration of 4 schemes turned on (default oGWD turned off) for testing.

@whannah1
Copy link
Contributor

whannah1 commented Nov 15, 2024

Are the 4 schemes each switchable on/off?

Yes - the test mods makes it clear how we would enable them and disable the old appraoch.

@jinboxie jinboxie force-pushed the jinboxie/atm/e3smv3_oro_merge branch from 57a397e to 2908b2d Compare November 19, 2024 22:39
whannah1 and others added 9 commits November 19, 2024 20:46
put data in pbuf rather than state and isolate orodrag register/init methods in od_common
	new file:   docs/figures/orodrag.png
	new file:   docs/tech-guide/orodrag.md
	modified:   docs/user-guide/namelist_parameters.md
[BFB]
Make sure figure is displayed.  Add to top level menu.  Fix linting errors.
	modified:   components/eam/docs/tech-guide/orodrag.md
	modified:   components/eam/docs/user-guide/namelist_parameters.md
	modified:   docs/refs/eam.bib
[BFB]
@rljacob rljacob force-pushed the jinboxie/atm/e3smv3_oro_merge branch from a20bb79 to 84d4934 Compare November 20, 2024 02:48
@rljacob
Copy link
Member

rljacob commented Nov 21, 2024

Notes: atm group will review results. Want group lead approval

@whannah1 whannah1 force-pushed the jinboxie/atm/e3smv3_oro_merge branch from 327c3e0 to d7b2e49 Compare November 21, 2024 20:32
	modified:   tech-guide/orodrag.md
	modified:   user-guide/namelist_parameters.md
[BFB]

## Overview

The orographic drag schemes includes two main options: the default Gravity Wave Drag scheme of McFarlane (1987)[@mcfarlane_the_1987] and a new suite of orographic drag parameterization schemes. The new suite includes 4 components all combined in one module (i.e. subroutine gwdo2d). The schemes include orographic gravity wave drag (oGWD, Xie et al.,2020)[@xie_an_2020], flow-blocking drag (FBD, Xie et al.,2020)[@xie_an_2020], small-scale GWD (sGWD, Tsiringakis et al.,2017)[@tsiringakis_small_2020], and turbulent-scale orographic form drag (TOFD, Beljaars et al., 2004)[@beljaars_a_2020]. The oGWD and TOFD schemes are used to replace the default oGWD (McFarlane, 1987)[@mcfarlane_the_1987] and Turbulent Mountain Stress (TMS, documented on Richter et al., 2010)[@richter_the_2010] module in EAM, while the FBD and sGWD are added enhanced drag schemes. Each of the schemes are used to predict and add enhanced drags from surface to high level that would help decelerate the wind especially over the mountainous regions among the globe. The oGWD, FBD, and sGWD are implemented in gw_drag.F90, while TOFD is implemented in clubb_intr.F90 to join the vertical diffusion process. There are also new topographic parameters (orographic asymmetry [OA], orographic convexity [OC], effective orographic length [OL]) are input into the model for the new oGWD and FBD scheme implmented. The conceptual location of each scheme is illustrate below. Currently, only the scheme of McFarlane (1987) is opened as default in E3SMv3.0.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't catch this the first time around:
The conceptual location of each scheme is illustrate below.
should be
The conceptual location of each scheme is illustrated below.

And suggest rewording
Currently, only the scheme of McFarlane (1987) is opened as default in E3SMv3.0.
to
Currently, only the scheme of McFarlane (1987) is turned on by default in E3SMv3.0.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Chris, I may try to change to "The concept of each scheme is illustrate below." How is that?


### Default oGWD scheme

The current default oGWD scheme in E3SMv3.0 is from McFarlane (1987)[@mcfarlane_the_1987]. It is a linear orographic gravity wave drag scheme that parameterizes the subgrid process of vertical propagation of gravity wave originating from orographic source. The output from this scheme is a vertical profile of drag (or deceleration terms) when gravity wave breaks at higher levels and deposits momemtum flux to that level. This scheme is shown to have improve the excessive westerly wind bias in the extratropics and the wind bias in the polar region. This scheme is turned on by default in E3SMv3.0.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace
This scheme is shown to have improve
with
This scheme is shown to improve

	modified:   orodrag.md
[BFB]
Copy link
Contributor

@crterai crterai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @jinboxie for addressing my comments on the documentation. The PR looks good to me. I've asked @shaochengx to review and provide group lead approval.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Atmosphere BFB PR leaves answers BFB Stealth PR has feature which, if turned on, could change climate. fka FCC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants