Skip to content

Commit

Permalink
removing dxy from GOCART dust emission schemes (#1431)
Browse files Browse the repository at this point in the history
TYPE: enhancement

KEYWORDS: GOCART, dust emission, dust_opt, WRF-Chem

SOURCE: Alexander Ukhov (KAUST)

DESCRIPTION OF CHANGES:
This PR affects dust emission schemes (dust_opt=1,3,4) coupled with GOCART
aerosol module.

Current implementation of dust_opt=1,3 calculates air mass in the grid box using
cell area and height, and air density, however a more elegant solution is now implemented
(by analogy with dust_opt=4). This solution only requires height of the lowest model layer.
Another issue have been also resolved when using dust_opt=1. Due to incorrect
indexing in the tile loop dust emissions diagnostics (variables EDUST1…5) were zero
near the boundaries of the domain.
Each emission scheme (dust_opt=1,3,4) reported instantaneous dust emissions diagnostics
(variables EDUST1…5) in different units: dust_opt=1 [kg/cell/dt], dust_opt=3 [gram/m^2/s],
dust_opt=4 [ug/m^2/s]. For user convenience this discrepancy also has been fixed.
now EDUST1..5 variables store accumulated dust emissions [kg/m^2] for dust_opt=1,3,4.
For example, this can be useful when is necessary to estimate dust mass balance. In this
case accumulated dust emission needs to be multiplied by cell area (m^2), see Appendix of [1].
Code clean-up has been also done in dust_opt=1,3.
LIST OF MODIFIED FILES:
M Registry/registry.chem
M chem/emissions_driver.F
M chem/module_gocart_dust.F
M chem/module_gocart_dust_afwa.F
M chem/module_qf03.F
M chem/module_uoc_dust.F

TESTS CONDUCTED:

To demonstrate correctness of the implemented changes a numerical simulations of the dust
over the Middle East (chem_opt=301 with dust_opt=1,3,4, 100km resolution) with and without changes has been run.
  • Loading branch information
saneku authored Mar 24, 2021
1 parent 0d93150 commit 6273be2
Show file tree
Hide file tree
Showing 6 changed files with 160 additions and 250 deletions.
14 changes: 7 additions & 7 deletions Registry/registry.chem
Original file line number Diff line number Diff line change
Expand Up @@ -314,11 +314,11 @@ state real e_hum i+jf emis_ant 1 Z i5 "E_H

# dust and seas emission arrays
state real - i{dust}jf emis_dust - - - - "Dust Emissions" ""
state real edust1 i{dust}jf emis_dust 1 Z - "EDUST1" "DUST emissions bin1" ""
state real edust2 i{dust}jf emis_dust 1 Z - "EDUST2" "DUST emissions bin2" ""
state real edust3 i{dust}jf emis_dust 1 Z - "EDUST3" "DUST emissions bin3" ""
state real edust4 i{dust}jf emis_dust 1 Z - "EDUST4" "DUST emissions bin4" ""
state real edust5 i{dust}jf emis_dust 1 Z - "EDUST5" "DUST emissions bin5" ""
state real edust1 i{dust}jf emis_dust 1 Z - "EDUST1" "Accumulated DUST emissions bin1" "kg/m2"
state real edust2 i{dust}jf emis_dust 1 Z - "EDUST2" "Accumulated DUST emissions bin2" "kg/m2"
state real edust3 i{dust}jf emis_dust 1 Z - "EDUST3" "Accumulated DUST emissions bin3" "kg/m2"
state real edust4 i{dust}jf emis_dust 1 Z - "EDUST4" "Accumulated DUST emissions bin4" "kg/m2"
state real edust5 i{dust}jf emis_dust 1 Z - "EDUST5" "Accumulated DUST emissions bin5" "kg/m2"
state real - i{dust}jf emis_seas - - - - "Sea-Salt Emissions" ""
state real eseas1 i{dust}jf emis_seas 1 Z - "ESEAS1" "Sea-Salt emissions bin1 " ""
state real eseas2 i{dust}jf emis_seas 1 Z - "ESEAS2" "Sea-Salt emissions bin2 " ""
Expand Down Expand Up @@ -684,8 +684,8 @@ state real sandfrac ij misc 1 - i01r "SAND
state real clayfrac_nga ij misc 1 - i01r "CLAYFRAC_NGA" "Clay fraction in each grid cell (0-1)" "none"
state real sandfrac_nga ij misc 1 - i01r "SANDFRAC_NGA" "Sand fraction in each grid cell (0-1)" "none"
state real afwa_dustloft ij misc 1 - h02 "AFWA_DUSTLOFT" "AFWA Diagnostic dust lofting potential (U10-U10t)" "m s^-1"
state real tot_dust ikj misc 1 - h02 "TOT_DUST" "Total dust concentration (0.1-20 um)" "ug m^-3"
state real tot_edust ij misc 1 - h02 "TOT_EDUST" "Total dust emission flux (0.1-20 um)" "g m^-2 s^-1"
state real tot_dust ikj misc 1 - h02 "TOT_DUST" "Total dust concentration (0.2-20 um)" "ug m^-3"
state real tot_edust ij misc 1 - h02 "TOT_EDUST" "Total accumulated dust emission (0.2-20 um)" "kg m^-2"
state real vis_dust ikj misc 1 - h02 "VIS_DUST" "Visibility due to dust only" "m"

# These 3D arrays are output from the SOA module for different purposes
Expand Down
19 changes: 11 additions & 8 deletions chem/emissions_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
! Saulo Freitas (CPTEC), and Georg Grell
!
!
! A. Ukhov, 11 March 2021, remove unused parameters in gocart_dust_driver(),
! gocart_dust_afwa_driver(), and uoc_dust_driver() subroutines.

MODULE module_emissions_driver
IMPLICIT NONE
CONTAINS
Expand Down Expand Up @@ -721,18 +724,18 @@ subroutine emissions_driver(id,ktau,dtstep,DX, &
dust_select: SELECT CASE(config_flags%dust_opt)
CASE (DUSTGOCART)
CALL wrf_debug(15,'Gocart dust emissions')
call gocart_dust_driver(ktau,dtstep,config_flags,julday,alt,t_phy,moist,u_phy, &
v_phy,chem,rho_phy,dz8w,smois,u10,v10,p8w,erod,dustin, &
ivgtyp,isltyp,vegfra,xland,xlat,xlong,gsw,dx,g,emis_dust, &
call gocart_dust_driver(dtstep,config_flags,alt,t_phy,u_phy, &
v_phy,chem,rho_phy,dz8w,smois,u10,v10,erod,dustin, &
isltyp,xland,g,emis_dust, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte )
CASE (DUSTGOCARTAFWA)
CALL wrf_debug(15,'AFWA modified Gocart dust emissions')
call gocart_dust_afwa_driver(ktau,dtstep,config_flags,julday,alt,t_phy,moist,u_phy, &
v_phy,chem,rho_phy,dz8w,smois,u10,v10,p8w,erod,erod_dri,dustin,snowh,zs, &
ivgtyp,isltyp,vegfra,lai_vegmask,xland,xlat,xlong,gsw,dx,g,emis_dust, &
ust,znt,clayfrac,sandfrac,clayfrac_nga,sandfrac_nga,afwa_dustloft, &!EDH
call gocart_dust_afwa_driver(dtstep,config_flags,alt, &
chem,rho_phy,smois,u10,v10,p8w,dz8w,erod,erod_dri,dustin,snowh, &
isltyp,vegfra,lai_vegmask,xland,dx,g,emis_dust, &
ust,znt,clayfrac,sandfrac,clayfrac_nga,sandfrac_nga,afwa_dustloft,&!EDH
tot_dust,tot_edust,vis_dust,dust_alpha,dust_gamma,dust_smtune,dust_ustune, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
Expand All @@ -750,7 +753,7 @@ subroutine emissions_driver(id,ktau,dtstep,DX, &
CASE DEFAULT
imod = 2
END SELECT scheme_select
call uoc_dust_driver (ktau,dtstep,config_flags, &
call uoc_dust_driver (dtstep,config_flags, &
chem,rho_phy,dz8w,smois,ust, isltyp,vegfra,g,emis_dust, &
ust_t, imod, rough_cor, smois_cor, soil_top_cat, erod, &
ids,ide, jds,jde, kds,kde, &
Expand Down
Loading

0 comments on commit 6273be2

Please sign in to comment.